]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
backup restore: Fix syntax for bwlimit example
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
56122987
DM
1var pveapi = [
2 {
56122987 3 "children" : [
5d9c884c
DM
4 {
5 "children" : [
6 {
7 "info" : {
8 "DELETE" : {
9 "description" : "Mark replication job for removal.",
10 "method" : "DELETE",
11 "name" : "delete",
12 "parameters" : {
13 "additionalProperties" : 0,
14 "properties" : {
15 "force" : {
16 "default" : 0,
17 "description" : "Will remove the jobconfig entry, but will not cleanup.",
18 "optional" : 1,
19 "type" : "boolean",
20 "typetext" : "<boolean>"
21 },
22 "id" : {
23 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
24 "format" : "pve-replication-job-id",
25 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
26 "type" : "string"
27 },
28 "keep" : {
29 "default" : 0,
30 "description" : "Keep replicated data at target (do not remove).",
31 "optional" : 1,
32 "type" : "boolean",
33 "typetext" : "<boolean>"
34 }
35 }
36 },
37 "permissions" : {
38 "check" : [
39 "perm",
40 "/storage",
41 [
42 "Datastore.Allocate"
43 ]
44 ]
45 },
46 "protected" : 1,
47 "returns" : {
48 "type" : "null"
49 }
50 },
51 "GET" : {
52 "description" : "Read replication job configuration.",
53 "method" : "GET",
54 "name" : "read",
55 "parameters" : {
56 "additionalProperties" : 0,
57 "properties" : {
58 "id" : {
59 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
60 "format" : "pve-replication-job-id",
61 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
62 "type" : "string"
63 }
64 }
65 },
66 "permissions" : {
67 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
68 "user" : "all"
69 },
70 "returns" : {
71 "type" : "object"
72 }
73 },
74 "PUT" : {
75 "description" : "Update replication job configuration.",
76 "method" : "PUT",
77 "name" : "update",
78 "parameters" : {
79 "additionalProperties" : 0,
80 "properties" : {
81 "comment" : {
82 "description" : "Description.",
83 "maxLength" : 4096,
84 "optional" : 1,
85 "type" : "string",
86 "typetext" : "<string>"
87 },
88 "delete" : {
89 "description" : "A list of settings you want to delete.",
90 "format" : "pve-configid-list",
91 "maxLength" : 4096,
92 "optional" : 1,
93 "type" : "string",
94 "typetext" : "<string>"
95 },
96 "digest" : {
97 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
98 "maxLength" : 40,
99 "optional" : 1,
100 "type" : "string",
101 "typetext" : "<string>"
102 },
103 "disable" : {
104 "description" : "Flag to disable/deactivate the entry.",
105 "optional" : 1,
106 "type" : "boolean",
107 "typetext" : "<boolean>"
108 },
109 "id" : {
110 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
111 "format" : "pve-replication-job-id",
112 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
113 "type" : "string"
114 },
115 "rate" : {
116 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
117 "minimum" : 1,
118 "optional" : 1,
119 "type" : "number",
120 "typetext" : "<number> (1 - N)"
121 },
122 "remove_job" : {
123 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
124 "enum" : [
125 "local",
126 "full"
127 ],
128 "optional" : 1,
129 "type" : "string"
130 },
131 "schedule" : {
132 "default" : "*/15",
133 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
134 "format" : "pve-calendar-event",
135 "maxLength" : 128,
136 "optional" : 1,
137 "type" : "string",
138 "typetext" : "<string>"
a9a8e3d1
DM
139 },
140 "source" : {
141 "description" : "Source of the replication.",
142 "format" : "pve-node",
143 "optional" : 1,
144 "type" : "string",
145 "typetext" : "<string>"
5d9c884c
DM
146 }
147 },
148 "type" : "object"
149 },
150 "permissions" : {
151 "check" : [
152 "perm",
153 "/storage",
154 [
155 "Datastore.Allocate"
156 ]
157 ]
158 },
159 "protected" : 1,
160 "returns" : {
161 "type" : "null"
162 }
163 }
164 },
165 "leaf" : 1,
166 "path" : "/cluster/replication/{id}",
167 "text" : "{id}"
168 }
169 ],
170 "info" : {
171 "GET" : {
172 "description" : "List replication jobs.",
173 "method" : "GET",
174 "name" : "index",
175 "parameters" : {
176 "additionalProperties" : 0
177 },
178 "permissions" : {
179 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
180 "user" : "all"
181 },
182 "returns" : {
183 "items" : {
184 "properties" : {},
185 "type" : "object"
186 },
187 "links" : [
188 {
189 "href" : "{id}",
190 "rel" : "child"
191 }
192 ],
193 "type" : "array"
194 }
195 },
196 "POST" : {
197 "description" : "Create a new replication job",
198 "method" : "POST",
199 "name" : "create",
200 "parameters" : {
201 "additionalProperties" : 0,
202 "properties" : {
203 "comment" : {
204 "description" : "Description.",
205 "maxLength" : 4096,
206 "optional" : 1,
207 "type" : "string",
208 "typetext" : "<string>"
209 },
210 "disable" : {
211 "description" : "Flag to disable/deactivate the entry.",
212 "optional" : 1,
213 "type" : "boolean",
214 "typetext" : "<boolean>"
215 },
216 "id" : {
217 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
218 "format" : "pve-replication-job-id",
219 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
220 "type" : "string"
221 },
222 "rate" : {
223 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
224 "minimum" : 1,
225 "optional" : 1,
226 "type" : "number",
227 "typetext" : "<number> (1 - N)"
228 },
229 "remove_job" : {
230 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
231 "enum" : [
232 "local",
233 "full"
234 ],
235 "optional" : 1,
236 "type" : "string"
237 },
238 "schedule" : {
239 "default" : "*/15",
240 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
241 "format" : "pve-calendar-event",
242 "maxLength" : 128,
243 "optional" : 1,
244 "type" : "string",
245 "typetext" : "<string>"
246 },
a9a8e3d1
DM
247 "source" : {
248 "description" : "Source of the replication.",
249 "format" : "pve-node",
250 "optional" : 1,
251 "type" : "string",
252 "typetext" : "<string>"
253 },
5d9c884c
DM
254 "target" : {
255 "description" : "Target node.",
256 "format" : "pve-node",
257 "optional" : 0,
258 "type" : "string",
259 "typetext" : "<string>"
260 },
261 "type" : {
262 "description" : "Section type.",
263 "enum" : [
264 "local"
265 ],
266 "type" : "string"
267 }
268 },
269 "type" : "object"
270 },
271 "permissions" : {
272 "check" : [
273 "perm",
274 "/storage",
275 [
276 "Datastore.Allocate"
277 ]
278 ]
279 },
280 "protected" : 1,
281 "returns" : {
282 "type" : "null"
283 }
284 }
285 },
286 "leaf" : 0,
287 "path" : "/cluster/replication",
288 "text" : "replication"
289 },
32d876b5
DM
290 {
291 "children" : [
292 {
27a7acb2
DM
293 "children" : [
294 {
295 "info" : {
296 "DELETE" : {
297 "description" : "Removes a node from the cluster configuration.",
298 "method" : "DELETE",
299 "name" : "delnode",
300 "parameters" : {
301 "additionalProperties" : 0,
302 "properties" : {
303 "node" : {
304 "description" : "The cluster node name.",
305 "format" : "pve-node",
306 "type" : "string",
307 "typetext" : "<string>"
308 }
309 }
310 },
311 "protected" : 1,
312 "returns" : {
313 "type" : "null"
314 }
315 },
316 "POST" : {
e2d681b3 317 "description" : "Adds a node to the cluster configuration. This call is for internal use.",
27a7acb2
DM
318 "method" : "POST",
319 "name" : "addnode",
320 "parameters" : {
321 "additionalProperties" : 0,
322 "properties" : {
323 "force" : {
324 "description" : "Do not throw error if node already exists.",
325 "optional" : 1,
326 "type" : "boolean",
327 "typetext" : "<boolean>"
328 },
1e3f8156
TL
329 "link[n]" : {
330 "description" : "Address and priority information of a single corosync link.",
331 "format" : {
332 "address" : {
333 "default_key" : 1,
334 "description" : "Hostname (or IP) of this corosync link address.",
335 "format" : "address",
336 "format_description" : "IP",
337 "type" : "string"
338 },
339 "priority" : {
340 "default" : 0,
341 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
342 "maximum" : 255,
343 "minimum" : 0,
344 "optional" : 1,
345 "type" : "integer"
346 }
347 },
348 "optional" : 1,
349 "type" : "string",
350 "typetext" : "[address=]<IP> [,priority=<integer>]"
351 },
27a7acb2
DM
352 "node" : {
353 "description" : "The cluster node name.",
354 "format" : "pve-node",
355 "type" : "string",
356 "typetext" : "<string>"
357 },
358 "nodeid" : {
359 "description" : "Node id for this node.",
360 "minimum" : 1,
361 "optional" : 1,
362 "type" : "integer",
363 "typetext" : "<integer> (1 - N)"
364 },
27a7acb2
DM
365 "votes" : {
366 "description" : "Number of votes for this node",
367 "minimum" : 0,
368 "optional" : 1,
369 "type" : "integer",
370 "typetext" : "<integer> (0 - N)"
371 }
372 }
373 },
374 "protected" : 1,
375 "returns" : {
376 "properties" : {
377 "corosync_authkey" : {
378 "type" : "string"
379 },
380 "corosync_conf" : {
381 "type" : "string"
382 }
383 },
384 "type" : "object"
385 }
386 }
387 },
388 "leaf" : 1,
389 "path" : "/cluster/config/nodes/{node}",
390 "text" : "{node}"
391 }
392 ],
32d876b5
DM
393 "info" : {
394 "GET" : {
395 "description" : "Corosync node list.",
396 "method" : "GET",
397 "name" : "nodes",
398 "parameters" : {
399 "additionalProperties" : 0
400 },
5d9c884c
DM
401 "permissions" : {
402 "check" : [
403 "perm",
404 "/",
405 [
406 "Sys.Audit"
407 ]
408 ]
409 },
32d876b5
DM
410 "returns" : {
411 "items" : {
412 "properties" : {
413 "node" : {
414 "type" : "string"
415 }
416 },
417 "type" : "object"
418 },
419 "links" : [
420 {
421 "href" : "{node}",
422 "rel" : "child"
423 }
424 ],
425 "type" : "array"
426 }
427 }
428 },
27a7acb2 429 "leaf" : 0,
32d876b5
DM
430 "path" : "/cluster/config/nodes",
431 "text" : "nodes"
432 },
27a7acb2
DM
433 {
434 "info" : {
435 "GET" : {
436 "description" : "Get information needed to join this cluster over the connected node.",
437 "method" : "GET",
438 "name" : "join_info",
439 "parameters" : {
440 "additionalProperties" : 0,
441 "properties" : {
442 "node" : {
443 "default" : "current connected node",
444 "description" : "The node for which the joinee gets the nodeinfo. ",
445 "format" : "pve-node",
446 "optional" : 1,
447 "type" : "string",
448 "typetext" : "<string>"
449 }
450 }
451 },
a9a8e3d1
DM
452 "permissions" : {
453 "check" : [
454 "perm",
455 "/",
456 [
457 "Sys.Audit"
458 ]
459 ]
460 },
27a7acb2
DM
461 "returns" : {
462 "additionalProperties" : 0,
463 "properties" : {
464 "config_digest" : {
465 "type" : "string"
466 },
467 "nodelist" : {
468 "items" : {
469 "additionalProperties" : 1,
470 "properties" : {
471 "name" : {
472 "description" : "The cluster node name.",
473 "format" : "pve-node",
474 "type" : "string"
475 },
476 "nodeid" : {
477 "description" : "Node id for this node.",
478 "minimum" : 1,
479 "optional" : 1,
480 "type" : "integer"
481 },
482 "pve_addr" : {
483 "format" : "ip",
484 "type" : "string"
485 },
486 "pve_fp" : {
487 "description" : "Certificate SHA 256 fingerprint.",
488 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
489 "type" : "string"
490 },
491 "quorum_votes" : {
492 "minimum" : 0,
493 "type" : "integer"
494 },
495 "ring0_addr" : {
1e3f8156
TL
496 "description" : "Address and priority information of a single corosync link.",
497 "format" : {
498 "address" : {
499 "default_key" : 1,
500 "description" : "Hostname (or IP) of this corosync link address.",
501 "format" : "address",
502 "format_description" : "IP",
503 "type" : "string"
504 },
505 "priority" : {
506 "default" : 0,
507 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
508 "maximum" : 255,
509 "minimum" : 0,
510 "optional" : 1,
511 "type" : "integer"
512 }
513 },
27a7acb2
DM
514 "optional" : 1,
515 "type" : "string"
516 }
517 },
518 "type" : "object"
519 },
520 "type" : "array"
521 },
522 "preferred_node" : {
523 "description" : "The cluster node name.",
524 "format" : "pve-node",
525 "type" : "string"
526 },
527 "totem" : {
528 "type" : "object"
529 }
530 },
531 "type" : "object"
532 }
533 },
534 "POST" : {
535 "description" : "Joins this node into an existing cluster.",
536 "method" : "POST",
537 "name" : "join",
538 "parameters" : {
539 "additionalProperties" : 0,
540 "properties" : {
541 "fingerprint" : {
542 "description" : "Certificate SHA 256 fingerprint.",
543 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
544 "type" : "string"
545 },
546 "force" : {
547 "description" : "Do not throw error if node already exists.",
548 "optional" : 1,
549 "type" : "boolean",
550 "typetext" : "<boolean>"
551 },
552 "hostname" : {
553 "description" : "Hostname (or IP) of an existing cluster member.",
554 "type" : "string",
555 "typetext" : "<string>"
556 },
1e3f8156
TL
557 "link[n]" : {
558 "default" : "IP resolved by node's hostname",
559 "description" : "Address and priority information of a single corosync link.",
560 "format" : {
561 "address" : {
562 "default_key" : 1,
563 "description" : "Hostname (or IP) of this corosync link address.",
564 "format" : "address",
565 "format_description" : "IP",
566 "type" : "string"
567 },
568 "priority" : {
569 "default" : 0,
570 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
571 "maximum" : 255,
572 "minimum" : 0,
573 "optional" : 1,
574 "type" : "integer"
575 }
576 },
577 "optional" : 1,
578 "type" : "string",
579 "typetext" : "[address=]<IP> [,priority=<integer>]"
580 },
27a7acb2
DM
581 "nodeid" : {
582 "description" : "Node id for this node.",
583 "minimum" : 1,
584 "optional" : 1,
585 "type" : "integer",
586 "typetext" : "<integer> (1 - N)"
587 },
588 "password" : {
589 "description" : "Superuser (root) password of peer node.",
590 "maxLength" : 128,
591 "type" : "string",
592 "typetext" : "<string>"
593 },
27a7acb2
DM
594 "votes" : {
595 "description" : "Number of votes for this node",
596 "minimum" : 0,
597 "optional" : 1,
598 "type" : "integer",
599 "typetext" : "<integer> (0 - N)"
600 }
601 }
602 },
603 "protected" : 1,
604 "returns" : {
605 "type" : "string"
606 }
607 }
608 },
609 "leaf" : 1,
610 "path" : "/cluster/config/join",
611 "text" : "join"
612 },
32d876b5
DM
613 {
614 "info" : {
615 "GET" : {
616 "description" : "Get corosync totem protocol settings.",
617 "method" : "GET",
618 "name" : "totem",
619 "parameters" : {
620 "additionalProperties" : 0
621 },
5d9c884c
DM
622 "permissions" : {
623 "check" : [
624 "perm",
625 "/",
626 [
627 "Sys.Audit"
628 ]
629 ]
630 },
32d876b5 631 "returns" : {
32d876b5
DM
632 "type" : "object"
633 }
634 }
635 },
636 "leaf" : 1,
637 "path" : "/cluster/config/totem",
638 "text" : "totem"
9226ccbc
TL
639 },
640 {
641 "info" : {
642 "GET" : {
643 "description" : "Get QDevice status",
644 "method" : "GET",
645 "name" : "status",
646 "parameters" : {
647 "additionalProperties" : 0
648 },
649 "permissions" : {
650 "check" : [
651 "perm",
652 "/",
653 [
654 "Sys.Audit"
655 ]
656 ]
657 },
658 "returns" : {
659 "type" : "object"
660 }
661 }
662 },
663 "leaf" : 1,
664 "path" : "/cluster/config/qdevice",
665 "text" : "qdevice"
32d876b5
DM
666 }
667 ],
668 "info" : {
669 "GET" : {
670 "description" : "Directory index.",
671 "method" : "GET",
672 "name" : "index",
673 "parameters" : {
674 "additionalProperties" : 0
675 },
5d9c884c
DM
676 "permissions" : {
677 "check" : [
678 "perm",
679 "/",
680 [
681 "Sys.Audit"
682 ]
683 ]
684 },
32d876b5
DM
685 "returns" : {
686 "items" : {
687 "properties" : {},
688 "type" : "object"
689 },
690 "links" : [
691 {
692 "href" : "{name}",
693 "rel" : "child"
694 }
695 ],
696 "type" : "array"
697 }
27a7acb2
DM
698 },
699 "POST" : {
700 "description" : "Generate new cluster configuration.",
701 "method" : "POST",
702 "name" : "create",
703 "parameters" : {
704 "additionalProperties" : 0,
705 "properties" : {
27a7acb2
DM
706 "clustername" : {
707 "description" : "The name of the cluster.",
708 "format" : "pve-node",
709 "maxLength" : 15,
710 "type" : "string",
711 "typetext" : "<string>"
712 },
1e3f8156
TL
713 "link[n]" : {
714 "description" : "Address and priority information of a single corosync link.",
715 "format" : {
716 "address" : {
717 "default_key" : 1,
718 "description" : "Hostname (or IP) of this corosync link address.",
719 "format" : "address",
720 "format_description" : "IP",
721 "type" : "string"
722 },
723 "priority" : {
724 "default" : 0,
725 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
726 "maximum" : 255,
727 "minimum" : 0,
728 "optional" : 1,
729 "type" : "integer"
730 }
731 },
732 "optional" : 1,
733 "type" : "string",
734 "typetext" : "[address=]<IP> [,priority=<integer>]"
735 },
27a7acb2
DM
736 "nodeid" : {
737 "description" : "Node id for this node.",
738 "minimum" : 1,
739 "optional" : 1,
740 "type" : "integer",
741 "typetext" : "<integer> (1 - N)"
742 },
27a7acb2
DM
743 "votes" : {
744 "description" : "Number of votes for this node.",
745 "minimum" : 1,
746 "optional" : 1,
747 "type" : "integer",
748 "typetext" : "<integer> (1 - N)"
749 }
750 }
751 },
752 "protected" : 1,
753 "returns" : {
754 "type" : "string"
755 }
32d876b5
DM
756 }
757 },
758 "leaf" : 0,
759 "path" : "/cluster/config",
760 "text" : "config"
761 },
56122987 762 {
56122987
DM
763 "children" : [
764 {
56122987
DM
765 "children" : [
766 {
44660702
DM
767 "children" : [
768 {
769 "info" : {
770 "DELETE" : {
771 "description" : "Delete rule.",
772 "method" : "DELETE",
773 "name" : "delete_rule",
774 "parameters" : {
775 "additionalProperties" : 0,
776 "properties" : {
777 "digest" : {
778 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
779 "maxLength" : 40,
780 "optional" : 1,
013dc89f
DM
781 "type" : "string",
782 "typetext" : "<string>"
44660702
DM
783 },
784 "group" : {
785 "description" : "Security Group name.",
4bd7df8b 786 "maxLength" : 18,
44660702
DM
787 "minLength" : 2,
788 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
789 "type" : "string"
790 },
791 "pos" : {
792 "description" : "Update rule at position <pos>.",
793 "minimum" : 0,
794 "optional" : 1,
4bd7df8b 795 "type" : "integer",
013dc89f 796 "typetext" : "<integer> (0 - N)"
44660702
DM
797 }
798 }
799 },
800 "permissions" : {
801 "check" : [
802 "perm",
803 "/",
804 [
805 "Sys.Modify"
806 ]
807 ]
808 },
809 "protected" : 1,
810 "proxyto" : null,
811 "returns" : {
812 "type" : "null"
7aacca6f
DM
813 }
814 },
44660702
DM
815 "GET" : {
816 "description" : "Get single rule data.",
817 "method" : "GET",
818 "name" : "get_rule",
819 "parameters" : {
820 "additionalProperties" : 0,
821 "properties" : {
822 "group" : {
823 "description" : "Security Group name.",
4bd7df8b 824 "maxLength" : 18,
44660702
DM
825 "minLength" : 2,
826 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
827 "type" : "string"
828 },
829 "pos" : {
830 "description" : "Update rule at position <pos>.",
831 "minimum" : 0,
832 "optional" : 1,
4bd7df8b 833 "type" : "integer",
013dc89f 834 "typetext" : "<integer> (0 - N)"
44660702 835 }
7aacca6f 836 }
56122987 837 },
44660702
DM
838 "permissions" : {
839 "check" : [
840 "perm",
841 "/",
842 [
843 "Sys.Audit"
844 ]
845 ]
846 },
847 "proxyto" : null,
848 "returns" : {
849 "properties" : {
e2d681b3
TL
850 "action" : {
851 "type" : "string"
852 },
853 "comment" : {
854 "optional" : 1,
855 "type" : "string"
856 },
857 "dest" : {
858 "optional" : 1,
859 "type" : "string"
860 },
861 "dport" : {
862 "optional" : 1,
863 "type" : "string"
864 },
865 "enable" : {
866 "optional" : 1,
867 "type" : "integer"
868 },
869 "iface" : {
870 "optional" : 1,
871 "type" : "string"
872 },
873 "ipversion" : {
874 "optional" : 1,
875 "type" : "integer"
876 },
95895385
TL
877 "log" : {
878 "description" : "Log level for firewall rule",
879 "enum" : [
880 "emerg",
881 "alert",
882 "crit",
883 "err",
884 "warning",
885 "notice",
886 "info",
887 "debug",
888 "nolog"
889 ],
890 "optional" : 1,
891 "type" : "string"
892 },
e2d681b3
TL
893 "macro" : {
894 "optional" : 1,
5f26e15b 895 "type" : "string"
e2d681b3 896 },
44660702
DM
897 "pos" : {
898 "type" : "integer"
e2d681b3
TL
899 },
900 "proto" : {
901 "optional" : 1,
902 "type" : "string"
903 },
904 "source" : {
905 "optional" : 1,
906 "type" : "string"
907 },
908 "sport" : {
909 "optional" : 1,
910 "type" : "string"
911 },
912 "type" : {
913 "type" : "string"
44660702
DM
914 }
915 },
916 "type" : "object"
56122987 917 }
44660702 918 },
7aacca6f 919 "PUT" : {
44660702
DM
920 "description" : "Modify rule data.",
921 "method" : "PUT",
922 "name" : "update_rule",
7aacca6f
DM
923 "parameters" : {
924 "additionalProperties" : 0,
925 "properties" : {
44660702
DM
926 "action" : {
927 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 928 "maxLength" : 20,
44660702 929 "minLength" : 2,
7aacca6f 930 "optional" : 1,
44660702 931 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
932 "type" : "string"
933 },
44660702 934 "comment" : {
e94f0d56 935 "description" : "Descriptive comment.",
7aacca6f 936 "optional" : 1,
013dc89f
DM
937 "type" : "string",
938 "typetext" : "<string>"
7aacca6f 939 },
44660702
DM
940 "delete" : {
941 "description" : "A list of settings you want to delete.",
942 "format" : "pve-configid-list",
7aacca6f 943 "optional" : 1,
013dc89f
DM
944 "type" : "string",
945 "typetext" : "<string>"
7aacca6f 946 },
44660702
DM
947 "dest" : {
948 "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.",
949 "format" : "pve-fw-addr-spec",
7aacca6f 950 "optional" : 1,
013dc89f
DM
951 "type" : "string",
952 "typetext" : "<string>"
7aacca6f
DM
953 },
954 "digest" : {
955 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 956 "maxLength" : 40,
7aacca6f 957 "optional" : 1,
013dc89f
DM
958 "type" : "string",
959 "typetext" : "<string>"
7aacca6f 960 },
44660702
DM
961 "dport" : {
962 "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.",
963 "format" : "pve-fw-dport-spec",
7aacca6f 964 "optional" : 1,
013dc89f
DM
965 "type" : "string",
966 "typetext" : "<string>"
7aacca6f 967 },
44660702 968 "enable" : {
e94f0d56 969 "description" : "Flag to enable/disable a rule.",
44660702 970 "minimum" : 0,
7aacca6f 971 "optional" : 1,
4bd7df8b 972 "type" : "integer",
013dc89f 973 "typetext" : "<integer> (0 - N)"
7aacca6f 974 },
44660702
DM
975 "group" : {
976 "description" : "Security Group name.",
4bd7df8b 977 "maxLength" : 18,
44660702
DM
978 "minLength" : 2,
979 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
980 "type" : "string"
981 },
982 "iface" : {
983 "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.",
984 "format" : "pve-iface",
985 "maxLength" : 20,
986 "minLength" : 2,
7aacca6f 987 "optional" : 1,
013dc89f
DM
988 "type" : "string",
989 "typetext" : "<string>"
7aacca6f 990 },
95895385
TL
991 "log" : {
992 "description" : "Log level for firewall rule.",
993 "enum" : [
994 "emerg",
995 "alert",
996 "crit",
997 "err",
998 "warning",
999 "notice",
1000 "info",
1001 "debug",
1002 "nolog"
1003 ],
1004 "optional" : 1,
1005 "type" : "string"
1006 },
44660702 1007 "macro" : {
e94f0d56 1008 "description" : "Use predefined standard macro.",
44660702
DM
1009 "maxLength" : 128,
1010 "optional" : 1,
013dc89f
DM
1011 "type" : "string",
1012 "typetext" : "<string>"
7aacca6f
DM
1013 },
1014 "moveto" : {
1015 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 1016 "minimum" : 0,
7aacca6f 1017 "optional" : 1,
4bd7df8b 1018 "type" : "integer",
013dc89f 1019 "typetext" : "<integer> (0 - N)"
7aacca6f 1020 },
44660702
DM
1021 "pos" : {
1022 "description" : "Update rule at position <pos>.",
1023 "minimum" : 0,
1024 "optional" : 1,
4bd7df8b 1025 "type" : "integer",
013dc89f 1026 "typetext" : "<integer> (0 - N)"
7aacca6f 1027 },
44660702
DM
1028 "proto" : {
1029 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1030 "format" : "pve-fw-protocol-spec",
7aacca6f 1031 "optional" : 1,
013dc89f
DM
1032 "type" : "string",
1033 "typetext" : "<string>"
44660702
DM
1034 },
1035 "source" : {
1036 "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.",
1037 "format" : "pve-fw-addr-spec",
1038 "optional" : 1,
013dc89f
DM
1039 "type" : "string",
1040 "typetext" : "<string>"
44660702
DM
1041 },
1042 "sport" : {
1043 "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.",
1044 "format" : "pve-fw-sport-spec",
1045 "optional" : 1,
013dc89f
DM
1046 "type" : "string",
1047 "typetext" : "<string>"
7aacca6f
DM
1048 },
1049 "type" : {
e94f0d56 1050 "description" : "Rule type.",
7aacca6f
DM
1051 "enum" : [
1052 "in",
1053 "out",
1054 "group"
1055 ],
1056 "optional" : 1,
1057 "type" : "string"
1058 }
1059 }
1060 },
7aacca6f
DM
1061 "permissions" : {
1062 "check" : [
1063 "perm",
1064 "/",
1065 [
1066 "Sys.Modify"
1067 ]
1068 ]
1069 },
44660702 1070 "protected" : 1,
7aacca6f
DM
1071 "proxyto" : null,
1072 "returns" : {
1073 "type" : "null"
1074 }
7aacca6f
DM
1075 }
1076 },
44660702 1077 "leaf" : 1,
7aacca6f 1078 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 1079 "text" : "{pos}"
7aacca6f
DM
1080 }
1081 ],
44660702
DM
1082 "info" : {
1083 "DELETE" : {
1084 "description" : "Delete security group.",
1085 "method" : "DELETE",
1086 "name" : "delete_security_group",
1087 "parameters" : {
1088 "additionalProperties" : 0,
1089 "properties" : {
1090 "group" : {
1091 "description" : "Security Group name.",
4bd7df8b 1092 "maxLength" : 18,
44660702
DM
1093 "minLength" : 2,
1094 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1095 "type" : "string"
1096 }
56122987 1097 }
7aacca6f 1098 },
44660702
DM
1099 "permissions" : {
1100 "check" : [
1101 "perm",
1102 "/",
1103 [
1104 "Sys.Modify"
1105 ]
7aacca6f 1106 ]
56122987 1107 },
44660702
DM
1108 "protected" : 1,
1109 "returns" : {
1110 "type" : "null"
56122987 1111 }
7aacca6f 1112 },
7aacca6f 1113 "GET" : {
44660702 1114 "description" : "List rules.",
7aacca6f 1115 "method" : "GET",
44660702
DM
1116 "name" : "get_rules",
1117 "parameters" : {
1118 "additionalProperties" : 0,
7aacca6f 1119 "properties" : {
44660702
DM
1120 "group" : {
1121 "description" : "Security Group name.",
4bd7df8b 1122 "maxLength" : 18,
44660702
DM
1123 "minLength" : 2,
1124 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1125 "type" : "string"
7aacca6f 1126 }
44660702 1127 }
7aacca6f
DM
1128 },
1129 "permissions" : {
1130 "check" : [
1131 "perm",
1132 "/",
1133 [
1134 "Sys.Audit"
1135 ]
1136 ]
1137 },
44660702
DM
1138 "proxyto" : null,
1139 "returns" : {
1140 "items" : {
1141 "properties" : {
1142 "pos" : {
1143 "type" : "integer"
1144 }
1145 },
1146 "type" : "object"
1147 },
1148 "links" : [
1149 {
1150 "href" : "{pos}",
1151 "rel" : "child"
1152 }
1153 ],
1154 "type" : "array"
1155 }
1156 },
1157 "POST" : {
1158 "description" : "Create new rule.",
1159 "method" : "POST",
1160 "name" : "create_rule",
7aacca6f
DM
1161 "parameters" : {
1162 "additionalProperties" : 0,
1163 "properties" : {
44660702
DM
1164 "action" : {
1165 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1166 "maxLength" : 20,
56122987 1167 "minLength" : 2,
44660702
DM
1168 "optional" : 0,
1169 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1170 "type" : "string"
56122987 1171 },
44660702 1172 "comment" : {
e94f0d56 1173 "description" : "Descriptive comment.",
56122987 1174 "optional" : 1,
013dc89f
DM
1175 "type" : "string",
1176 "typetext" : "<string>"
56122987 1177 },
44660702
DM
1178 "dest" : {
1179 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
56122987
DM
1180 "format" : "pve-fw-addr-spec",
1181 "optional" : 1,
013dc89f
DM
1182 "type" : "string",
1183 "typetext" : "<string>"
56122987 1184 },
44660702
DM
1185 "digest" : {
1186 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1187 "maxLength" : 40,
7aacca6f 1188 "optional" : 1,
013dc89f
DM
1189 "type" : "string",
1190 "typetext" : "<string>"
56122987 1191 },
44660702
DM
1192 "dport" : {
1193 "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.",
1194 "format" : "pve-fw-dport-spec",
56122987 1195 "optional" : 1,
013dc89f
DM
1196 "type" : "string",
1197 "typetext" : "<string>"
56122987 1198 },
7aacca6f 1199 "enable" : {
e94f0d56 1200 "description" : "Flag to enable/disable a rule.",
44660702 1201 "minimum" : 0,
7aacca6f 1202 "optional" : 1,
4bd7df8b 1203 "type" : "integer",
013dc89f 1204 "typetext" : "<integer> (0 - N)"
56122987 1205 },
44660702
DM
1206 "group" : {
1207 "description" : "Security Group name.",
4bd7df8b 1208 "maxLength" : 18,
44660702 1209 "minLength" : 2,
7aacca6f 1210 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1211 "type" : "string"
1212 },
1213 "iface" : {
1214 "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.",
1215 "format" : "pve-iface",
1216 "maxLength" : 20,
7aacca6f 1217 "minLength" : 2,
44660702 1218 "optional" : 1,
013dc89f
DM
1219 "type" : "string",
1220 "typetext" : "<string>"
56122987 1221 },
95895385
TL
1222 "log" : {
1223 "description" : "Log level for firewall rule.",
1224 "enum" : [
1225 "emerg",
1226 "alert",
1227 "crit",
1228 "err",
1229 "warning",
1230 "notice",
1231 "info",
1232 "debug",
1233 "nolog"
1234 ],
1235 "optional" : 1,
1236 "type" : "string"
1237 },
7aacca6f 1238 "macro" : {
e94f0d56 1239 "description" : "Use predefined standard macro.",
44660702 1240 "maxLength" : 128,
7aacca6f 1241 "optional" : 1,
013dc89f
DM
1242 "type" : "string",
1243 "typetext" : "<string>"
7aacca6f
DM
1244 },
1245 "pos" : {
1246 "description" : "Update rule at position <pos>.",
44660702 1247 "minimum" : 0,
56122987 1248 "optional" : 1,
4bd7df8b 1249 "type" : "integer",
013dc89f 1250 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1251 },
1252 "proto" : {
1253 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1254 "format" : "pve-fw-protocol-spec",
7aacca6f 1255 "optional" : 1,
013dc89f
DM
1256 "type" : "string",
1257 "typetext" : "<string>"
44660702
DM
1258 },
1259 "source" : {
1260 "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.",
1261 "format" : "pve-fw-addr-spec",
1262 "optional" : 1,
013dc89f
DM
1263 "type" : "string",
1264 "typetext" : "<string>"
44660702
DM
1265 },
1266 "sport" : {
1267 "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.",
1268 "format" : "pve-fw-sport-spec",
1269 "optional" : 1,
013dc89f
DM
1270 "type" : "string",
1271 "typetext" : "<string>"
44660702
DM
1272 },
1273 "type" : {
e94f0d56 1274 "description" : "Rule type.",
44660702
DM
1275 "enum" : [
1276 "in",
1277 "out",
1278 "group"
1279 ],
1280 "optional" : 0,
1281 "type" : "string"
56122987 1282 }
44660702 1283 }
56122987 1284 },
56122987
DM
1285 "permissions" : {
1286 "check" : [
1287 "perm",
1288 "/",
1289 [
1290 "Sys.Modify"
1291 ]
1292 ]
1293 },
44660702
DM
1294 "protected" : 1,
1295 "proxyto" : null,
56122987
DM
1296 "returns" : {
1297 "type" : "null"
7aacca6f 1298 }
44660702
DM
1299 }
1300 },
1301 "leaf" : 0,
1302 "path" : "/cluster/firewall/groups/{group}",
1303 "text" : "{group}"
1304 }
1305 ],
1306 "info" : {
1307 "GET" : {
1308 "description" : "List security groups.",
1309 "method" : "GET",
1310 "name" : "list_security_groups",
1311 "parameters" : {
1312 "additionalProperties" : 0
1313 },
1314 "permissions" : {
1315 "user" : "all"
1316 },
1317 "returns" : {
1318 "items" : {
1319 "properties" : {
1320 "comment" : {
1321 "optional" : 1,
1322 "type" : "string"
1323 },
1324 "digest" : {
1325 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1326 "maxLength" : 40,
1327 "optional" : 0,
1328 "type" : "string"
1329 },
1330 "group" : {
1331 "description" : "Security Group name.",
4bd7df8b 1332 "maxLength" : 18,
44660702
DM
1333 "minLength" : 2,
1334 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1335 "type" : "string"
1336 }
1337 },
1338 "type" : "object"
56122987 1339 },
44660702
DM
1340 "links" : [
1341 {
1342 "href" : "{group}",
1343 "rel" : "child"
1344 }
1345 ],
1346 "type" : "array"
1347 }
1348 },
1349 "POST" : {
1350 "description" : "Create new security group.",
1351 "method" : "POST",
1352 "name" : "create_security_group",
1353 "parameters" : {
1354 "additionalProperties" : 0,
1355 "properties" : {
1356 "comment" : {
1357 "optional" : 1,
013dc89f
DM
1358 "type" : "string",
1359 "typetext" : "<string>"
44660702
DM
1360 },
1361 "digest" : {
1362 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1363 "maxLength" : 40,
1364 "optional" : 1,
013dc89f
DM
1365 "type" : "string",
1366 "typetext" : "<string>"
44660702
DM
1367 },
1368 "group" : {
1369 "description" : "Security Group name.",
4bd7df8b 1370 "maxLength" : 18,
44660702
DM
1371 "minLength" : 2,
1372 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1373 "type" : "string"
1374 },
1375 "rename" : {
1376 "description" : "Rename/update an existing security group. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing group.",
4bd7df8b 1377 "maxLength" : 18,
44660702
DM
1378 "minLength" : 2,
1379 "optional" : 1,
1380 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1381 "type" : "string"
1382 }
1383 }
1384 },
1385 "permissions" : {
1386 "check" : [
1387 "perm",
1388 "/",
1389 [
1390 "Sys.Modify"
1391 ]
1392 ]
1393 },
1394 "protected" : 1,
1395 "returns" : {
1396 "type" : "null"
1397 }
1398 }
1399 },
1400 "leaf" : 0,
1401 "path" : "/cluster/firewall/groups",
1402 "text" : "groups"
1403 },
1404 {
1405 "children" : [
1406 {
1407 "info" : {
7aacca6f 1408 "DELETE" : {
44660702
DM
1409 "description" : "Delete rule.",
1410 "method" : "DELETE",
1411 "name" : "delete_rule",
1412 "parameters" : {
1413 "additionalProperties" : 0,
1414 "properties" : {
1415 "digest" : {
1416 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1417 "maxLength" : 40,
1418 "optional" : 1,
013dc89f
DM
1419 "type" : "string",
1420 "typetext" : "<string>"
44660702
DM
1421 },
1422 "pos" : {
1423 "description" : "Update rule at position <pos>.",
1424 "minimum" : 0,
1425 "optional" : 1,
4bd7df8b 1426 "type" : "integer",
013dc89f 1427 "typetext" : "<integer> (0 - N)"
44660702
DM
1428 }
1429 }
1430 },
56122987
DM
1431 "permissions" : {
1432 "check" : [
1433 "perm",
1434 "/",
1435 [
7aacca6f 1436 "Sys.Modify"
56122987
DM
1437 ]
1438 ]
1439 },
44660702 1440 "protected" : 1,
56122987
DM
1441 "proxyto" : null,
1442 "returns" : {
7aacca6f 1443 "type" : "null"
44660702
DM
1444 }
1445 },
1446 "GET" : {
1447 "description" : "Get single rule data.",
1448 "method" : "GET",
1449 "name" : "get_rule",
56122987
DM
1450 "parameters" : {
1451 "additionalProperties" : 0,
1452 "properties" : {
1453 "pos" : {
7aacca6f 1454 "description" : "Update rule at position <pos>.",
44660702 1455 "minimum" : 0,
56122987 1456 "optional" : 1,
4bd7df8b 1457 "type" : "integer",
013dc89f 1458 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1459 }
1460 }
1461 },
7aacca6f
DM
1462 "permissions" : {
1463 "check" : [
1464 "perm",
1465 "/",
1466 [
1467 "Sys.Audit"
1468 ]
1469 ]
56122987 1470 },
44660702
DM
1471 "proxyto" : null,
1472 "returns" : {
7aacca6f 1473 "properties" : {
e2d681b3
TL
1474 "action" : {
1475 "type" : "string"
1476 },
1477 "comment" : {
1478 "optional" : 1,
1479 "type" : "string"
1480 },
1481 "dest" : {
1482 "optional" : 1,
1483 "type" : "string"
1484 },
1485 "dport" : {
1486 "optional" : 1,
1487 "type" : "string"
1488 },
1489 "enable" : {
1490 "optional" : 1,
1491 "type" : "integer"
1492 },
1493 "iface" : {
1494 "optional" : 1,
1495 "type" : "string"
1496 },
1497 "ipversion" : {
1498 "optional" : 1,
1499 "type" : "integer"
1500 },
95895385
TL
1501 "log" : {
1502 "description" : "Log level for firewall rule",
1503 "enum" : [
1504 "emerg",
1505 "alert",
1506 "crit",
1507 "err",
1508 "warning",
1509 "notice",
1510 "info",
1511 "debug",
1512 "nolog"
1513 ],
1514 "optional" : 1,
1515 "type" : "string"
1516 },
e2d681b3
TL
1517 "macro" : {
1518 "optional" : 1,
5f26e15b 1519 "type" : "string"
e2d681b3 1520 },
44660702
DM
1521 "pos" : {
1522 "type" : "integer"
e2d681b3
TL
1523 },
1524 "proto" : {
1525 "optional" : 1,
1526 "type" : "string"
1527 },
1528 "source" : {
1529 "optional" : 1,
1530 "type" : "string"
1531 },
1532 "sport" : {
1533 "optional" : 1,
1534 "type" : "string"
1535 },
1536 "type" : {
1537 "type" : "string"
7aacca6f 1538 }
44660702
DM
1539 },
1540 "type" : "object"
1541 }
56122987 1542 },
44660702
DM
1543 "PUT" : {
1544 "description" : "Modify rule data.",
1545 "method" : "PUT",
1546 "name" : "update_rule",
7aacca6f
DM
1547 "parameters" : {
1548 "additionalProperties" : 0,
1549 "properties" : {
44660702
DM
1550 "action" : {
1551 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1552 "maxLength" : 20,
1553 "minLength" : 2,
1554 "optional" : 1,
1555 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1556 "type" : "string"
7aacca6f 1557 },
44660702 1558 "comment" : {
e94f0d56 1559 "description" : "Descriptive comment.",
44660702 1560 "optional" : 1,
013dc89f
DM
1561 "type" : "string",
1562 "typetext" : "<string>"
7aacca6f 1563 },
44660702
DM
1564 "delete" : {
1565 "description" : "A list of settings you want to delete.",
1566 "format" : "pve-configid-list",
1567 "optional" : 1,
013dc89f
DM
1568 "type" : "string",
1569 "typetext" : "<string>"
44660702
DM
1570 },
1571 "dest" : {
1572 "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.",
1573 "format" : "pve-fw-addr-spec",
1574 "optional" : 1,
013dc89f
DM
1575 "type" : "string",
1576 "typetext" : "<string>"
44660702
DM
1577 },
1578 "digest" : {
1579 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1580 "maxLength" : 40,
1581 "optional" : 1,
013dc89f
DM
1582 "type" : "string",
1583 "typetext" : "<string>"
44660702
DM
1584 },
1585 "dport" : {
1586 "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.",
1587 "format" : "pve-fw-dport-spec",
1588 "optional" : 1,
013dc89f
DM
1589 "type" : "string",
1590 "typetext" : "<string>"
44660702
DM
1591 },
1592 "enable" : {
e94f0d56 1593 "description" : "Flag to enable/disable a rule.",
44660702
DM
1594 "minimum" : 0,
1595 "optional" : 1,
4bd7df8b 1596 "type" : "integer",
013dc89f 1597 "typetext" : "<integer> (0 - N)"
44660702
DM
1598 },
1599 "iface" : {
1600 "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.",
1601 "format" : "pve-iface",
1602 "maxLength" : 20,
7aacca6f 1603 "minLength" : 2,
44660702 1604 "optional" : 1,
013dc89f
DM
1605 "type" : "string",
1606 "typetext" : "<string>"
7aacca6f 1607 },
95895385
TL
1608 "log" : {
1609 "description" : "Log level for firewall rule.",
1610 "enum" : [
1611 "emerg",
1612 "alert",
1613 "crit",
1614 "err",
1615 "warning",
1616 "notice",
1617 "info",
1618 "debug",
1619 "nolog"
1620 ],
1621 "optional" : 1,
1622 "type" : "string"
1623 },
44660702 1624 "macro" : {
e94f0d56 1625 "description" : "Use predefined standard macro.",
44660702
DM
1626 "maxLength" : 128,
1627 "optional" : 1,
013dc89f
DM
1628 "type" : "string",
1629 "typetext" : "<string>"
44660702
DM
1630 },
1631 "moveto" : {
1632 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1633 "minimum" : 0,
1634 "optional" : 1,
4bd7df8b 1635 "type" : "integer",
013dc89f 1636 "typetext" : "<integer> (0 - N)"
44660702
DM
1637 },
1638 "pos" : {
1639 "description" : "Update rule at position <pos>.",
1640 "minimum" : 0,
1641 "optional" : 1,
4bd7df8b 1642 "type" : "integer",
013dc89f 1643 "typetext" : "<integer> (0 - N)"
44660702
DM
1644 },
1645 "proto" : {
1646 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1647 "format" : "pve-fw-protocol-spec",
1648 "optional" : 1,
013dc89f
DM
1649 "type" : "string",
1650 "typetext" : "<string>"
44660702
DM
1651 },
1652 "source" : {
1653 "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.",
1654 "format" : "pve-fw-addr-spec",
1655 "optional" : 1,
013dc89f
DM
1656 "type" : "string",
1657 "typetext" : "<string>"
44660702
DM
1658 },
1659 "sport" : {
1660 "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.",
1661 "format" : "pve-fw-sport-spec",
1662 "optional" : 1,
013dc89f
DM
1663 "type" : "string",
1664 "typetext" : "<string>"
44660702
DM
1665 },
1666 "type" : {
e94f0d56 1667 "description" : "Rule type.",
44660702
DM
1668 "enum" : [
1669 "in",
1670 "out",
1671 "group"
1672 ],
1673 "optional" : 1,
1674 "type" : "string"
7aacca6f 1675 }
56122987
DM
1676 }
1677 },
7aacca6f
DM
1678 "permissions" : {
1679 "check" : [
1680 "perm",
1681 "/",
1682 [
1683 "Sys.Modify"
1684 ]
1685 ]
1686 },
44660702
DM
1687 "protected" : 1,
1688 "proxyto" : null,
1689 "returns" : {
1690 "type" : "null"
1691 }
7aacca6f 1692 }
56122987 1693 },
44660702
DM
1694 "leaf" : 1,
1695 "path" : "/cluster/firewall/rules/{pos}",
1696 "text" : "{pos}"
7aacca6f
DM
1697 }
1698 ],
7aacca6f 1699 "info" : {
44660702
DM
1700 "GET" : {
1701 "description" : "List rules.",
1702 "method" : "GET",
1703 "name" : "get_rules",
7aacca6f 1704 "parameters" : {
44660702 1705 "additionalProperties" : 0
7aacca6f
DM
1706 },
1707 "permissions" : {
1708 "check" : [
1709 "perm",
1710 "/",
1711 [
44660702 1712 "Sys.Audit"
7aacca6f
DM
1713 ]
1714 ]
1715 },
44660702 1716 "proxyto" : null,
7aacca6f 1717 "returns" : {
7aacca6f
DM
1718 "items" : {
1719 "properties" : {
44660702
DM
1720 "pos" : {
1721 "type" : "integer"
7aacca6f
DM
1722 }
1723 },
1724 "type" : "object"
56122987 1725 },
7aacca6f
DM
1726 "links" : [
1727 {
44660702 1728 "href" : "{pos}",
7aacca6f
DM
1729 "rel" : "child"
1730 }
44660702
DM
1731 ],
1732 "type" : "array"
7aacca6f 1733 }
44660702 1734 },
7aacca6f 1735 "POST" : {
44660702 1736 "description" : "Create new rule.",
7aacca6f 1737 "method" : "POST",
44660702 1738 "name" : "create_rule",
7aacca6f
DM
1739 "parameters" : {
1740 "additionalProperties" : 0,
1741 "properties" : {
44660702
DM
1742 "action" : {
1743 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1744 "maxLength" : 20,
7aacca6f 1745 "minLength" : 2,
44660702
DM
1746 "optional" : 0,
1747 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1748 "type" : "string"
7aacca6f
DM
1749 },
1750 "comment" : {
e94f0d56 1751 "description" : "Descriptive comment.",
7aacca6f 1752 "optional" : 1,
013dc89f
DM
1753 "type" : "string",
1754 "typetext" : "<string>"
44660702
DM
1755 },
1756 "dest" : {
1757 "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.",
1758 "format" : "pve-fw-addr-spec",
1759 "optional" : 1,
013dc89f
DM
1760 "type" : "string",
1761 "typetext" : "<string>"
44660702
DM
1762 },
1763 "digest" : {
1764 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1765 "maxLength" : 40,
1766 "optional" : 1,
013dc89f
DM
1767 "type" : "string",
1768 "typetext" : "<string>"
44660702
DM
1769 },
1770 "dport" : {
1771 "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.",
1772 "format" : "pve-fw-dport-spec",
1773 "optional" : 1,
013dc89f
DM
1774 "type" : "string",
1775 "typetext" : "<string>"
44660702
DM
1776 },
1777 "enable" : {
e94f0d56 1778 "description" : "Flag to enable/disable a rule.",
44660702
DM
1779 "minimum" : 0,
1780 "optional" : 1,
4bd7df8b 1781 "type" : "integer",
013dc89f 1782 "typetext" : "<integer> (0 - N)"
44660702
DM
1783 },
1784 "iface" : {
1785 "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.",
1786 "format" : "pve-iface",
1787 "maxLength" : 20,
1788 "minLength" : 2,
1789 "optional" : 1,
013dc89f
DM
1790 "type" : "string",
1791 "typetext" : "<string>"
44660702 1792 },
95895385
TL
1793 "log" : {
1794 "description" : "Log level for firewall rule.",
1795 "enum" : [
1796 "emerg",
1797 "alert",
1798 "crit",
1799 "err",
1800 "warning",
1801 "notice",
1802 "info",
1803 "debug",
1804 "nolog"
1805 ],
1806 "optional" : 1,
1807 "type" : "string"
1808 },
44660702 1809 "macro" : {
e94f0d56 1810 "description" : "Use predefined standard macro.",
44660702
DM
1811 "maxLength" : 128,
1812 "optional" : 1,
013dc89f
DM
1813 "type" : "string",
1814 "typetext" : "<string>"
44660702
DM
1815 },
1816 "pos" : {
1817 "description" : "Update rule at position <pos>.",
1818 "minimum" : 0,
1819 "optional" : 1,
4bd7df8b 1820 "type" : "integer",
013dc89f 1821 "typetext" : "<integer> (0 - N)"
44660702
DM
1822 },
1823 "proto" : {
1824 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1825 "format" : "pve-fw-protocol-spec",
1826 "optional" : 1,
013dc89f
DM
1827 "type" : "string",
1828 "typetext" : "<string>"
44660702
DM
1829 },
1830 "source" : {
1831 "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.",
1832 "format" : "pve-fw-addr-spec",
1833 "optional" : 1,
013dc89f
DM
1834 "type" : "string",
1835 "typetext" : "<string>"
44660702
DM
1836 },
1837 "sport" : {
1838 "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.",
1839 "format" : "pve-fw-sport-spec",
1840 "optional" : 1,
013dc89f
DM
1841 "type" : "string",
1842 "typetext" : "<string>"
44660702
DM
1843 },
1844 "type" : {
e94f0d56 1845 "description" : "Rule type.",
44660702
DM
1846 "enum" : [
1847 "in",
1848 "out",
1849 "group"
1850 ],
1851 "optional" : 0,
1852 "type" : "string"
7aacca6f
DM
1853 }
1854 }
1855 },
1856 "permissions" : {
1857 "check" : [
1858 "perm",
1859 "/",
1860 [
1861 "Sys.Modify"
1862 ]
1863 ]
1864 },
44660702
DM
1865 "protected" : 1,
1866 "proxyto" : null,
7aacca6f 1867 "returns" : {
44660702
DM
1868 "type" : "null"
1869 }
1870 }
1871 },
1872 "leaf" : 0,
1873 "path" : "/cluster/firewall/rules",
1874 "text" : "rules"
1875 },
1876 {
1877 "children" : [
1878 {
1879 "children" : [
1880 {
1881 "info" : {
1882 "DELETE" : {
1883 "description" : "Remove IP or Network from IPSet.",
1884 "method" : "DELETE",
1885 "name" : "remove_ip",
1886 "parameters" : {
1887 "additionalProperties" : 0,
1888 "properties" : {
1889 "cidr" : {
1890 "description" : "Network/IP specification in CIDR format.",
1891 "format" : "IPorCIDRorAlias",
013dc89f
DM
1892 "type" : "string",
1893 "typetext" : "<string>"
44660702
DM
1894 },
1895 "digest" : {
1896 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1897 "maxLength" : 40,
1898 "optional" : 1,
013dc89f
DM
1899 "type" : "string",
1900 "typetext" : "<string>"
44660702
DM
1901 },
1902 "name" : {
1903 "description" : "IP set name.",
1904 "maxLength" : 64,
1905 "minLength" : 2,
1906 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1907 "type" : "string"
1908 }
1909 }
1910 },
1911 "permissions" : {
1912 "check" : [
1913 "perm",
1914 "/",
1915 [
1916 "Sys.Modify"
1917 ]
1918 ]
1919 },
1920 "protected" : 1,
1921 "returns" : {
1922 "type" : "null"
1923 }
7aacca6f 1924 },
44660702
DM
1925 "GET" : {
1926 "description" : "Read IP or Network settings from IPSet.",
1927 "method" : "GET",
1928 "name" : "read_ip",
1929 "parameters" : {
1930 "additionalProperties" : 0,
1931 "properties" : {
1932 "cidr" : {
1933 "description" : "Network/IP specification in CIDR format.",
1934 "format" : "IPorCIDRorAlias",
013dc89f
DM
1935 "type" : "string",
1936 "typetext" : "<string>"
44660702
DM
1937 },
1938 "name" : {
1939 "description" : "IP set name.",
1940 "maxLength" : 64,
1941 "minLength" : 2,
1942 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1943 "type" : "string"
1944 }
1945 }
1946 },
1947 "permissions" : {
1948 "check" : [
1949 "perm",
1950 "/",
1951 [
1952 "Sys.Audit"
1953 ]
1954 ]
1955 },
1956 "protected" : 1,
1957 "returns" : {
1958 "type" : "object"
1959 }
7aacca6f 1960 },
44660702
DM
1961 "PUT" : {
1962 "description" : "Update IP or Network settings",
1963 "method" : "PUT",
1964 "name" : "update_ip",
1965 "parameters" : {
1966 "additionalProperties" : 0,
1967 "properties" : {
1968 "cidr" : {
1969 "description" : "Network/IP specification in CIDR format.",
1970 "format" : "IPorCIDRorAlias",
013dc89f
DM
1971 "type" : "string",
1972 "typetext" : "<string>"
44660702
DM
1973 },
1974 "comment" : {
1975 "optional" : 1,
013dc89f
DM
1976 "type" : "string",
1977 "typetext" : "<string>"
44660702
DM
1978 },
1979 "digest" : {
1980 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1981 "maxLength" : 40,
1982 "optional" : 1,
013dc89f
DM
1983 "type" : "string",
1984 "typetext" : "<string>"
44660702
DM
1985 },
1986 "name" : {
1987 "description" : "IP set name.",
1988 "maxLength" : 64,
1989 "minLength" : 2,
1990 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1991 "type" : "string"
1992 },
1993 "nomatch" : {
1994 "optional" : 1,
013dc89f
DM
1995 "type" : "boolean",
1996 "typetext" : "<boolean>"
44660702
DM
1997 }
1998 }
1999 },
2000 "permissions" : {
2001 "check" : [
2002 "perm",
2003 "/",
2004 [
2005 "Sys.Modify"
2006 ]
2007 ]
2008 },
2009 "protected" : 1,
2010 "returns" : {
2011 "type" : "null"
2012 }
7aacca6f
DM
2013 }
2014 },
44660702
DM
2015 "leaf" : 1,
2016 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
2017 "text" : "{cidr}"
7aacca6f 2018 }
44660702 2019 ],
7aacca6f
DM
2020 "info" : {
2021 "DELETE" : {
44660702
DM
2022 "description" : "Delete IPSet",
2023 "method" : "DELETE",
2024 "name" : "delete_ipset",
56122987 2025 "parameters" : {
44660702 2026 "additionalProperties" : 0,
56122987
DM
2027 "properties" : {
2028 "name" : {
44660702 2029 "description" : "IP set name.",
56122987 2030 "maxLength" : 64,
44660702 2031 "minLength" : 2,
56122987 2032 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 2033 "type" : "string"
56122987 2034 }
44660702 2035 }
7aacca6f 2036 },
56122987
DM
2037 "permissions" : {
2038 "check" : [
2039 "perm",
2040 "/",
2041 [
2042 "Sys.Modify"
2043 ]
2044 ]
2045 },
7aacca6f
DM
2046 "protected" : 1,
2047 "returns" : {
2048 "type" : "null"
44660702 2049 }
7aacca6f 2050 },
44660702
DM
2051 "GET" : {
2052 "description" : "List IPSet content",
2053 "method" : "GET",
2054 "name" : "get_ipset",
56122987
DM
2055 "parameters" : {
2056 "additionalProperties" : 0,
2057 "properties" : {
7aacca6f 2058 "name" : {
44660702 2059 "description" : "IP set name.",
7aacca6f 2060 "maxLength" : 64,
7aacca6f 2061 "minLength" : 2,
44660702 2062 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 2063 "type" : "string"
56122987 2064 }
7aacca6f 2065 }
56122987 2066 },
56122987
DM
2067 "permissions" : {
2068 "check" : [
2069 "perm",
2070 "/",
2071 [
44660702 2072 "Sys.Audit"
56122987
DM
2073 ]
2074 ]
44660702
DM
2075 },
2076 "returns" : {
2077 "items" : {
2078 "properties" : {
2079 "cidr" : {
2080 "type" : "string"
2081 },
2082 "comment" : {
2083 "optional" : 1,
2084 "type" : "string"
2085 },
2086 "digest" : {
2087 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2088 "maxLength" : 40,
2089 "optional" : 0,
2090 "type" : "string"
2091 },
2092 "nomatch" : {
2093 "optional" : 1,
2094 "type" : "boolean"
2095 }
2096 },
2097 "type" : "object"
2098 },
2099 "links" : [
2100 {
2101 "href" : "{cidr}",
2102 "rel" : "child"
2103 }
2104 ],
2105 "type" : "array"
7aacca6f
DM
2106 }
2107 },
44660702
DM
2108 "POST" : {
2109 "description" : "Add IP or Network to IPSet.",
2110 "method" : "POST",
2111 "name" : "create_ip",
56122987
DM
2112 "parameters" : {
2113 "additionalProperties" : 0,
2114 "properties" : {
44660702
DM
2115 "cidr" : {
2116 "description" : "Network/IP specification in CIDR format.",
2117 "format" : "IPorCIDRorAlias",
013dc89f
DM
2118 "type" : "string",
2119 "typetext" : "<string>"
44660702
DM
2120 },
2121 "comment" : {
2122 "optional" : 1,
013dc89f
DM
2123 "type" : "string",
2124 "typetext" : "<string>"
44660702
DM
2125 },
2126 "name" : {
2127 "description" : "IP set name.",
2128 "maxLength" : 64,
2129 "minLength" : 2,
2130 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2131 "type" : "string"
2132 },
2133 "nomatch" : {
2134 "optional" : 1,
013dc89f
DM
2135 "type" : "boolean",
2136 "typetext" : "<boolean>"
56122987
DM
2137 }
2138 }
2139 },
56122987
DM
2140 "permissions" : {
2141 "check" : [
2142 "perm",
2143 "/",
2144 [
44660702 2145 "Sys.Modify"
56122987
DM
2146 ]
2147 ]
2148 },
44660702 2149 "protected" : 1,
56122987 2150 "returns" : {
44660702
DM
2151 "type" : "null"
2152 }
56122987
DM
2153 }
2154 },
44660702
DM
2155 "leaf" : 0,
2156 "path" : "/cluster/firewall/ipset/{name}",
2157 "text" : "{name}"
56122987
DM
2158 }
2159 ],
56122987 2160 "info" : {
44660702
DM
2161 "GET" : {
2162 "description" : "List IPSets",
2163 "method" : "GET",
2164 "name" : "ipset_index",
56122987 2165 "parameters" : {
7aacca6f 2166 "additionalProperties" : 0
56122987 2167 },
56122987
DM
2168 "permissions" : {
2169 "check" : [
2170 "perm",
2171 "/",
2172 [
7aacca6f 2173 "Sys.Audit"
56122987
DM
2174 ]
2175 ]
2176 },
56122987
DM
2177 "returns" : {
2178 "items" : {
2179 "properties" : {
44660702
DM
2180 "comment" : {
2181 "optional" : 1,
2182 "type" : "string"
56122987 2183 },
44660702
DM
2184 "digest" : {
2185 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2186 "maxLength" : 40,
2187 "optional" : 0,
2188 "type" : "string"
2189 },
2190 "name" : {
2191 "description" : "IP set name.",
2192 "maxLength" : 64,
2193 "minLength" : 2,
2194 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 2195 "type" : "string"
56122987
DM
2196 }
2197 },
2198 "type" : "object"
44660702
DM
2199 },
2200 "links" : [
2201 {
2202 "href" : "{name}",
2203 "rel" : "child"
2204 }
2205 ],
2206 "type" : "array"
56122987 2207 }
44660702
DM
2208 },
2209 "POST" : {
2210 "description" : "Create new IPSet",
2211 "method" : "POST",
2212 "name" : "create_ipset",
7aacca6f
DM
2213 "parameters" : {
2214 "additionalProperties" : 0,
2215 "properties" : {
44660702
DM
2216 "comment" : {
2217 "optional" : 1,
013dc89f
DM
2218 "type" : "string",
2219 "typetext" : "<string>"
44660702
DM
2220 },
2221 "digest" : {
2222 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2223 "maxLength" : 40,
2224 "optional" : 1,
013dc89f
DM
2225 "type" : "string",
2226 "typetext" : "<string>"
44660702
DM
2227 },
2228 "name" : {
2229 "description" : "IP set name.",
2230 "maxLength" : 64,
2231 "minLength" : 2,
2232 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2233 "type" : "string"
2234 },
2235 "rename" : {
2236 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2237 "maxLength" : 64,
2238 "minLength" : 2,
2239 "optional" : 1,
2240 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2241 "type" : "string"
7aacca6f
DM
2242 }
2243 }
2244 },
56122987
DM
2245 "permissions" : {
2246 "check" : [
2247 "perm",
2248 "/",
2249 [
44660702 2250 "Sys.Modify"
56122987
DM
2251 ]
2252 ]
2253 },
44660702 2254 "protected" : 1,
56122987 2255 "returns" : {
44660702
DM
2256 "type" : "null"
2257 }
56122987 2258 }
7aacca6f 2259 },
44660702
DM
2260 "leaf" : 0,
2261 "path" : "/cluster/firewall/ipset",
2262 "text" : "ipset"
2263 },
56122987 2264 {
44660702
DM
2265 "children" : [
2266 {
2267 "info" : {
2268 "DELETE" : {
2269 "description" : "Remove IP or Network alias.",
2270 "method" : "DELETE",
2271 "name" : "remove_alias",
2272 "parameters" : {
2273 "additionalProperties" : 0,
2274 "properties" : {
2275 "digest" : {
2276 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2277 "maxLength" : 40,
2278 "optional" : 1,
013dc89f
DM
2279 "type" : "string",
2280 "typetext" : "<string>"
44660702
DM
2281 },
2282 "name" : {
2283 "description" : "Alias name.",
2284 "maxLength" : 64,
2285 "minLength" : 2,
2286 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2287 "type" : "string"
2288 }
2289 }
2290 },
2291 "permissions" : {
2292 "check" : [
2293 "perm",
2294 "/",
2295 [
2296 "Sys.Modify"
2297 ]
2298 ]
2299 },
2300 "protected" : 1,
2301 "returns" : {
2302 "type" : "null"
2303 }
2304 },
2305 "GET" : {
2306 "description" : "Read alias.",
2307 "method" : "GET",
2308 "name" : "read_alias",
2309 "parameters" : {
2310 "additionalProperties" : 0,
2311 "properties" : {
2312 "name" : {
2313 "description" : "Alias name.",
2314 "maxLength" : 64,
2315 "minLength" : 2,
2316 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2317 "type" : "string"
2318 }
2319 }
2320 },
2321 "permissions" : {
2322 "check" : [
2323 "perm",
2324 "/",
2325 [
2326 "Sys.Audit"
2327 ]
2328 ]
2329 },
2330 "returns" : {
2331 "type" : "object"
2332 }
2333 },
2334 "PUT" : {
2335 "description" : "Update IP or Network alias.",
2336 "method" : "PUT",
2337 "name" : "update_alias",
2338 "parameters" : {
2339 "additionalProperties" : 0,
2340 "properties" : {
2341 "cidr" : {
2342 "description" : "Network/IP specification in CIDR format.",
2343 "format" : "IPorCIDR",
013dc89f
DM
2344 "type" : "string",
2345 "typetext" : "<string>"
44660702
DM
2346 },
2347 "comment" : {
2348 "optional" : 1,
013dc89f
DM
2349 "type" : "string",
2350 "typetext" : "<string>"
44660702
DM
2351 },
2352 "digest" : {
2353 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2354 "maxLength" : 40,
2355 "optional" : 1,
013dc89f
DM
2356 "type" : "string",
2357 "typetext" : "<string>"
44660702
DM
2358 },
2359 "name" : {
2360 "description" : "Alias name.",
2361 "maxLength" : 64,
2362 "minLength" : 2,
2363 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2364 "type" : "string"
2365 },
2366 "rename" : {
2367 "description" : "Rename an existing alias.",
2368 "maxLength" : 64,
2369 "minLength" : 2,
2370 "optional" : 1,
2371 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2372 "type" : "string"
2373 }
2374 }
2375 },
2376 "permissions" : {
2377 "check" : [
2378 "perm",
2379 "/",
2380 [
2381 "Sys.Modify"
2382 ]
2383 ]
2384 },
2385 "protected" : 1,
2386 "returns" : {
2387 "type" : "null"
2388 }
2389 }
2390 },
2391 "leaf" : 1,
2392 "path" : "/cluster/firewall/aliases/{name}",
2393 "text" : "{name}"
2394 }
2395 ],
2396 "info" : {
2397 "GET" : {
2398 "description" : "List aliases",
2399 "method" : "GET",
2400 "name" : "get_aliases",
2401 "parameters" : {
2402 "additionalProperties" : 0
2403 },
2404 "permissions" : {
2405 "check" : [
2406 "perm",
2407 "/",
2408 [
2409 "Sys.Audit"
2410 ]
2411 ]
2412 },
2413 "returns" : {
2414 "items" : {
2415 "properties" : {
2416 "cidr" : {
2417 "type" : "string"
2418 },
2419 "comment" : {
2420 "optional" : 1,
2421 "type" : "string"
2422 },
2423 "digest" : {
2424 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2425 "maxLength" : 40,
2426 "optional" : 0,
2427 "type" : "string"
2428 },
2429 "name" : {
2430 "type" : "string"
2431 }
2432 },
2433 "type" : "object"
2434 },
2435 "links" : [
2436 {
2437 "href" : "{name}",
2438 "rel" : "child"
2439 }
2440 ],
2441 "type" : "array"
2442 }
2443 },
2444 "POST" : {
2445 "description" : "Create IP or Network Alias.",
2446 "method" : "POST",
2447 "name" : "create_alias",
56122987
DM
2448 "parameters" : {
2449 "additionalProperties" : 0,
2450 "properties" : {
44660702
DM
2451 "cidr" : {
2452 "description" : "Network/IP specification in CIDR format.",
2453 "format" : "IPorCIDR",
013dc89f
DM
2454 "type" : "string",
2455 "typetext" : "<string>"
44660702
DM
2456 },
2457 "comment" : {
2458 "optional" : 1,
013dc89f
DM
2459 "type" : "string",
2460 "typetext" : "<string>"
44660702
DM
2461 },
2462 "name" : {
2463 "description" : "Alias name.",
2464 "maxLength" : 64,
2465 "minLength" : 2,
2466 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2467 "type" : "string"
56122987
DM
2468 }
2469 }
2470 },
56122987
DM
2471 "permissions" : {
2472 "check" : [
2473 "perm",
2474 "/",
2475 [
2476 "Sys.Modify"
2477 ]
2478 ]
2479 },
44660702 2480 "protected" : 1,
56122987
DM
2481 "returns" : {
2482 "type" : "null"
2483 }
44660702
DM
2484 }
2485 },
2486 "leaf" : 0,
2487 "path" : "/cluster/firewall/aliases",
2488 "text" : "aliases"
2489 },
2490 {
2491 "info" : {
2492 "GET" : {
2493 "description" : "Get Firewall options.",
2494 "method" : "GET",
2495 "name" : "get_options",
2496 "parameters" : {
2497 "additionalProperties" : 0
7aacca6f 2498 },
56122987
DM
2499 "permissions" : {
2500 "check" : [
2501 "perm",
2502 "/",
2503 [
44660702 2504 "Sys.Audit"
56122987
DM
2505 ]
2506 ]
2507 },
44660702 2508 "returns" : {
56122987 2509 "properties" : {
5da3d723
TL
2510 "ebtables" : {
2511 "default" : 1,
2512 "description" : "Enable ebtables rules cluster wide.",
2513 "optional" : 1,
2514 "type" : "boolean"
2515 },
44660702
DM
2516 "enable" : {
2517 "description" : "Enable or disable the firewall cluster wide.",
2518 "minimum" : 0,
56122987 2519 "optional" : 1,
7aacca6f 2520 "type" : "integer"
56122987 2521 },
95895385
TL
2522 "log_ratelimit" : {
2523 "description" : "Log ratelimiting settings",
2524 "format" : {
2525 "burst" : {
2526 "default" : 5,
2527 "description" : "Inital burst of packages which will get logged",
2528 "minimum" : 0,
2529 "optional" : 1,
2530 "type" : "integer"
2531 },
2532 "enable" : {
2533 "default" : "1",
2534 "default_key" : 1,
2535 "description" : "Enable or disable log rate limiting",
2536 "type" : "boolean"
2537 },
2538 "rate" : {
2539 "default" : "1/second",
2540 "description" : "Frequency with which the burst bucket gets refilled",
2541 "format_description" : "rate",
2542 "optional" : 1,
2543 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2544 "type" : "string"
2545 }
2546 },
2547 "optional" : 1,
2548 "type" : "string"
2549 },
44660702
DM
2550 "policy_in" : {
2551 "description" : "Input policy.",
2552 "enum" : [
2553 "ACCEPT",
2554 "REJECT",
2555 "DROP"
2556 ],
56122987 2557 "optional" : 1,
44660702 2558 "type" : "string"
7aacca6f 2559 },
44660702
DM
2560 "policy_out" : {
2561 "description" : "Output policy.",
2562 "enum" : [
2563 "ACCEPT",
2564 "REJECT",
2565 "DROP"
2566 ],
7aacca6f 2567 "optional" : 1,
44660702
DM
2568 "type" : "string"
2569 }
2570 },
2571 "type" : "object"
2572 }
2573 },
2574 "PUT" : {
2575 "description" : "Set Firewall options.",
2576 "method" : "PUT",
2577 "name" : "set_options",
2578 "parameters" : {
2579 "additionalProperties" : 0,
2580 "properties" : {
2581 "delete" : {
2582 "description" : "A list of settings you want to delete.",
2583 "format" : "pve-configid-list",
56122987 2584 "optional" : 1,
013dc89f
DM
2585 "type" : "string",
2586 "typetext" : "<string>"
56122987 2587 },
44660702
DM
2588 "digest" : {
2589 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2590 "maxLength" : 40,
56122987 2591 "optional" : 1,
013dc89f
DM
2592 "type" : "string",
2593 "typetext" : "<string>"
56122987 2594 },
5da3d723
TL
2595 "ebtables" : {
2596 "default" : 1,
2597 "description" : "Enable ebtables rules cluster wide.",
2598 "optional" : 1,
2599 "type" : "boolean",
2600 "typetext" : "<boolean>"
2601 },
44660702
DM
2602 "enable" : {
2603 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2604 "minimum" : 0,
56122987 2605 "optional" : 1,
4bd7df8b 2606 "type" : "integer",
013dc89f 2607 "typetext" : "<integer> (0 - N)"
56122987 2608 },
95895385
TL
2609 "log_ratelimit" : {
2610 "description" : "Log ratelimiting settings",
2611 "format" : {
2612 "burst" : {
2613 "default" : 5,
2614 "description" : "Inital burst of packages which will get logged",
2615 "minimum" : 0,
2616 "optional" : 1,
2617 "type" : "integer"
2618 },
2619 "enable" : {
2620 "default" : "1",
2621 "default_key" : 1,
2622 "description" : "Enable or disable log rate limiting",
2623 "type" : "boolean"
2624 },
2625 "rate" : {
2626 "default" : "1/second",
2627 "description" : "Frequency with which the burst bucket gets refilled",
2628 "format_description" : "rate",
2629 "optional" : 1,
2630 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2631 "type" : "string"
2632 }
2633 },
2634 "optional" : 1,
2635 "type" : "string",
2636 "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]"
2637 },
44660702
DM
2638 "policy_in" : {
2639 "description" : "Input policy.",
56122987 2640 "enum" : [
44660702
DM
2641 "ACCEPT",
2642 "REJECT",
2643 "DROP"
56122987 2644 ],
56122987 2645 "optional" : 1,
44660702 2646 "type" : "string"
56122987 2647 },
44660702
DM
2648 "policy_out" : {
2649 "description" : "Output policy.",
56122987 2650 "enum" : [
44660702
DM
2651 "ACCEPT",
2652 "REJECT",
2653 "DROP"
56122987 2654 ],
7aacca6f 2655 "optional" : 1,
44660702 2656 "type" : "string"
56122987 2657 }
44660702
DM
2658 }
2659 },
2660 "permissions" : {
2661 "check" : [
2662 "perm",
2663 "/",
2664 [
2665 "Sys.Modify"
2666 ]
2667 ]
7aacca6f
DM
2668 },
2669 "protected" : 1,
44660702
DM
2670 "returns" : {
2671 "type" : "null"
2672 }
2673 }
2674 },
2675 "leaf" : 1,
2676 "path" : "/cluster/firewall/options",
2677 "text" : "options"
2678 },
2679 {
2680 "info" : {
7aacca6f 2681 "GET" : {
44660702 2682 "description" : "List available macros",
7aacca6f 2683 "method" : "GET",
44660702
DM
2684 "name" : "get_macros",
2685 "parameters" : {
2686 "additionalProperties" : 0
7aacca6f 2687 },
44660702
DM
2688 "permissions" : {
2689 "user" : "all"
2690 },
2691 "returns" : {
2692 "items" : {
2693 "properties" : {
2694 "descr" : {
2695 "description" : "More verbose description (if available).",
2696 "type" : "string"
2697 },
2698 "macro" : {
2699 "description" : "Macro name.",
2700 "type" : "string"
2701 }
2702 },
2703 "type" : "object"
2704 },
2705 "type" : "array"
2706 }
2707 }
2708 },
2709 "leaf" : 1,
2710 "path" : "/cluster/firewall/macros",
2711 "text" : "macros"
2712 },
2713 {
2714 "info" : {
2715 "GET" : {
2716 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2717 "method" : "GET",
2718 "name" : "refs",
7aacca6f 2719 "parameters" : {
44660702 2720 "additionalProperties" : 0,
7aacca6f 2721 "properties" : {
44660702
DM
2722 "type" : {
2723 "description" : "Only list references of specified type.",
2724 "enum" : [
2725 "alias",
2726 "ipset"
2727 ],
2728 "optional" : 1,
2729 "type" : "string"
7aacca6f 2730 }
44660702 2731 }
7aacca6f
DM
2732 },
2733 "permissions" : {
2734 "check" : [
2735 "perm",
2736 "/",
2737 [
2738 "Sys.Audit"
2739 ]
2740 ]
2741 },
44660702
DM
2742 "returns" : {
2743 "items" : {
2744 "properties" : {
2745 "comment" : {
2746 "optional" : 1,
2747 "type" : "string"
2748 },
2749 "name" : {
2750 "type" : "string"
2751 },
2752 "ref" : {
2753 "type" : "string"
2754 },
2755 "type" : {
2756 "enum" : [
2757 "alias",
2758 "ipset"
2759 ],
2760 "type" : "string"
2761 }
2762 },
2763 "type" : "object"
2764 },
2765 "type" : "array"
2766 }
56122987
DM
2767 }
2768 },
7aacca6f 2769 "leaf" : 1,
44660702
DM
2770 "path" : "/cluster/firewall/refs",
2771 "text" : "refs"
56122987
DM
2772 }
2773 ],
56122987 2774 "info" : {
44660702
DM
2775 "GET" : {
2776 "description" : "Directory index.",
2777 "method" : "GET",
2778 "name" : "index",
56122987 2779 "parameters" : {
56122987
DM
2780 "additionalProperties" : 0
2781 },
44660702
DM
2782 "permissions" : {
2783 "user" : "all"
2784 },
56122987 2785 "returns" : {
44660702
DM
2786 "items" : {
2787 "properties" : {},
2788 "type" : "object"
2789 },
7aacca6f
DM
2790 "links" : [
2791 {
44660702
DM
2792 "href" : "{name}",
2793 "rel" : "child"
7aacca6f
DM
2794 }
2795 ],
7aacca6f 2796 "type" : "array"
7aacca6f 2797 }
56122987
DM
2798 }
2799 },
44660702
DM
2800 "leaf" : 0,
2801 "path" : "/cluster/firewall",
2802 "text" : "firewall"
7aacca6f
DM
2803 },
2804 {
56122987
DM
2805 "children" : [
2806 {
56122987 2807 "info" : {
44660702
DM
2808 "DELETE" : {
2809 "description" : "Delete vzdump backup job definition.",
2810 "method" : "DELETE",
2811 "name" : "delete_job",
2812 "parameters" : {
2813 "additionalProperties" : 0,
2814 "properties" : {
2815 "id" : {
2816 "description" : "The job ID.",
2817 "maxLength" : 50,
013dc89f
DM
2818 "type" : "string",
2819 "typetext" : "<string>"
44660702
DM
2820 }
2821 }
2822 },
2823 "permissions" : {
2824 "check" : [
2825 "perm",
2826 "/",
2827 [
2828 "Sys.Modify"
2829 ]
2830 ]
2831 },
2832 "protected" : 1,
56122987
DM
2833 "returns" : {
2834 "type" : "null"
44660702
DM
2835 }
2836 },
2837 "GET" : {
2838 "description" : "Read vzdump backup job definition.",
2839 "method" : "GET",
2840 "name" : "read_job",
2841 "parameters" : {
2842 "additionalProperties" : 0,
2843 "properties" : {
2844 "id" : {
2845 "description" : "The job ID.",
2846 "maxLength" : 50,
013dc89f
DM
2847 "type" : "string",
2848 "typetext" : "<string>"
44660702
DM
2849 }
2850 }
56122987 2851 },
7aacca6f
DM
2852 "permissions" : {
2853 "check" : [
2854 "perm",
2855 "/",
2856 [
44660702 2857 "Sys.Audit"
7aacca6f
DM
2858 ]
2859 ]
2860 },
44660702
DM
2861 "returns" : {
2862 "type" : "object"
2863 }
2864 },
2865 "PUT" : {
2866 "description" : "Update vzdump backup job definition.",
2867 "method" : "PUT",
2868 "name" : "update_job",
56122987 2869 "parameters" : {
44660702 2870 "additionalProperties" : 0,
56122987 2871 "properties" : {
44660702
DM
2872 "all" : {
2873 "default" : 0,
2874 "description" : "Backup all known guest systems on this host.",
7aacca6f 2875 "optional" : 1,
013dc89f
DM
2876 "type" : "boolean",
2877 "typetext" : "<boolean>"
7aacca6f 2878 },
44660702
DM
2879 "bwlimit" : {
2880 "default" : 0,
2881 "description" : "Limit I/O bandwidth (KBytes per second).",
2882 "minimum" : 0,
2883 "optional" : 1,
4bd7df8b 2884 "type" : "integer",
013dc89f 2885 "typetext" : "<integer> (0 - N)"
44660702
DM
2886 },
2887 "compress" : {
2888 "default" : "0",
2889 "description" : "Compress dump file.",
7aacca6f 2890 "enum" : [
44660702
DM
2891 "0",
2892 "1",
2893 "gzip",
2894 "lzo"
7aacca6f 2895 ],
44660702
DM
2896 "optional" : 1,
2897 "type" : "string"
7aacca6f 2898 },
44660702
DM
2899 "delete" : {
2900 "description" : "A list of settings you want to delete.",
2901 "format" : "pve-configid-list",
7aacca6f 2902 "optional" : 1,
013dc89f
DM
2903 "type" : "string",
2904 "typetext" : "<string>"
56122987 2905 },
44660702
DM
2906 "dow" : {
2907 "description" : "Day of week selection.",
2908 "format" : "pve-day-of-week-list",
7aacca6f 2909 "optional" : 1,
013dc89f
DM
2910 "type" : "string",
2911 "typetext" : "<string>"
56122987 2912 },
44660702
DM
2913 "dumpdir" : {
2914 "description" : "Store resulting files to specified directory.",
56122987 2915 "optional" : 1,
013dc89f
DM
2916 "type" : "string",
2917 "typetext" : "<string>"
56122987 2918 },
44660702
DM
2919 "enabled" : {
2920 "default" : "1",
2921 "description" : "Enable or disable the job.",
2922 "optional" : 1,
013dc89f
DM
2923 "type" : "boolean",
2924 "typetext" : "<boolean>"
44660702
DM
2925 },
2926 "exclude" : {
2927 "description" : "Exclude specified guest systems (assumes --all)",
2928 "format" : "pve-vmid-list",
2929 "optional" : 1,
013dc89f
DM
2930 "type" : "string",
2931 "typetext" : "<string>"
44660702
DM
2932 },
2933 "exclude-path" : {
2934 "description" : "Exclude certain files/directories (shell globs).",
2935 "format" : "string-alist",
2936 "optional" : 1,
013dc89f
DM
2937 "type" : "string",
2938 "typetext" : "<string>"
44660702
DM
2939 },
2940 "id" : {
2941 "description" : "The job ID.",
2942 "maxLength" : 50,
013dc89f
DM
2943 "type" : "string",
2944 "typetext" : "<string>"
44660702
DM
2945 },
2946 "ionice" : {
2947 "default" : 7,
2948 "description" : "Set CFQ ionice priority.",
2949 "maximum" : 8,
2950 "minimum" : 0,
2951 "optional" : 1,
4bd7df8b 2952 "type" : "integer",
013dc89f 2953 "typetext" : "<integer> (0 - 8)"
44660702
DM
2954 },
2955 "lockwait" : {
2956 "default" : 180,
2957 "description" : "Maximal time to wait for the global lock (minutes).",
2958 "minimum" : 0,
2959 "optional" : 1,
4bd7df8b 2960 "type" : "integer",
013dc89f 2961 "typetext" : "<integer> (0 - N)"
44660702
DM
2962 },
2963 "mailnotification" : {
2964 "default" : "always",
2965 "description" : "Specify when to send an email",
56122987 2966 "enum" : [
44660702
DM
2967 "always",
2968 "failure"
56122987 2969 ],
44660702
DM
2970 "optional" : 1,
2971 "type" : "string"
2972 },
2973 "mailto" : {
2974 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2975 "format" : "string-list",
2976 "optional" : 1,
013dc89f
DM
2977 "type" : "string",
2978 "typetext" : "<string>"
44660702
DM
2979 },
2980 "maxfiles" : {
2981 "default" : 1,
2982 "description" : "Maximal number of backup files per guest system.",
2983 "minimum" : 1,
2984 "optional" : 1,
4bd7df8b 2985 "type" : "integer",
013dc89f 2986 "typetext" : "<integer> (1 - N)"
44660702
DM
2987 },
2988 "mode" : {
2989 "default" : "snapshot",
2990 "description" : "Backup mode.",
2991 "enum" : [
2992 "snapshot",
2993 "suspend",
2994 "stop"
2995 ],
2996 "optional" : 1,
2997 "type" : "string"
2998 },
2999 "node" : {
3000 "description" : "Only run if executed on this node.",
3001 "format" : "pve-node",
3002 "optional" : 1,
013dc89f
DM
3003 "type" : "string",
3004 "typetext" : "<string>"
44660702
DM
3005 },
3006 "pigz" : {
3007 "default" : 0,
3008 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3009 "optional" : 1,
013dc89f
DM
3010 "type" : "integer",
3011 "typetext" : "<integer>"
44660702 3012 },
9226ccbc
TL
3013 "pool" : {
3014 "description" : "Backup all known guest systems included in the specified pool.",
3015 "optional" : 1,
3016 "type" : "string",
3017 "typetext" : "<string>"
3018 },
44660702
DM
3019 "quiet" : {
3020 "default" : 0,
3021 "description" : "Be quiet.",
3022 "optional" : 1,
013dc89f
DM
3023 "type" : "boolean",
3024 "typetext" : "<boolean>"
44660702
DM
3025 },
3026 "remove" : {
3027 "default" : 1,
3028 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3029 "optional" : 1,
013dc89f
DM
3030 "type" : "boolean",
3031 "typetext" : "<boolean>"
44660702
DM
3032 },
3033 "script" : {
3034 "description" : "Use specified hook script.",
3035 "optional" : 1,
013dc89f
DM
3036 "type" : "string",
3037 "typetext" : "<string>"
44660702
DM
3038 },
3039 "size" : {
3040 "default" : 1024,
3041 "description" : "Unused, will be removed in a future release.",
3042 "minimum" : 500,
3043 "optional" : 1,
4bd7df8b 3044 "type" : "integer",
013dc89f 3045 "typetext" : "<integer> (500 - N)"
44660702
DM
3046 },
3047 "starttime" : {
3048 "description" : "Job Start time.",
3049 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 3050 "type" : "string",
44660702 3051 "typetext" : "HH:MM"
7aacca6f 3052 },
44660702
DM
3053 "stdexcludes" : {
3054 "default" : 1,
3055 "description" : "Exclude temporary files and logs.",
3056 "optional" : 1,
013dc89f
DM
3057 "type" : "boolean",
3058 "typetext" : "<boolean>"
44660702
DM
3059 },
3060 "stop" : {
3061 "default" : 0,
1e3f8156 3062 "description" : "Stop running backup jobs on this host.",
44660702 3063 "optional" : 1,
013dc89f
DM
3064 "type" : "boolean",
3065 "typetext" : "<boolean>"
44660702
DM
3066 },
3067 "stopwait" : {
3068 "default" : 10,
3069 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3070 "minimum" : 0,
3071 "optional" : 1,
4bd7df8b 3072 "type" : "integer",
013dc89f 3073 "typetext" : "<integer> (0 - N)"
44660702
DM
3074 },
3075 "storage" : {
3076 "description" : "Store resulting file to this storage.",
3077 "format" : "pve-storage-id",
3078 "optional" : 1,
013dc89f
DM
3079 "type" : "string",
3080 "typetext" : "<string>"
56122987 3081 },
44660702
DM
3082 "tmpdir" : {
3083 "description" : "Store temporary files to specified directory.",
3084 "optional" : 1,
013dc89f
DM
3085 "type" : "string",
3086 "typetext" : "<string>"
44660702
DM
3087 },
3088 "vmid" : {
3089 "description" : "The ID of the guest system you want to backup.",
3090 "format" : "pve-vmid-list",
3091 "optional" : 1,
013dc89f
DM
3092 "type" : "string",
3093 "typetext" : "<string>"
56122987 3094 }
44660702 3095 }
56122987
DM
3096 },
3097 "permissions" : {
3098 "check" : [
3099 "perm",
3100 "/",
3101 [
44660702 3102 "Sys.Modify"
56122987
DM
3103 ]
3104 ]
3105 },
44660702
DM
3106 "protected" : 1,
3107 "returns" : {
3108 "type" : "null"
7aacca6f 3109 }
56122987
DM
3110 }
3111 },
44660702
DM
3112 "leaf" : 1,
3113 "path" : "/cluster/backup/{id}",
3114 "text" : "{id}"
3115 }
3116 ],
3117 "info" : {
3118 "GET" : {
3119 "description" : "List vzdump backup schedule.",
3120 "method" : "GET",
3121 "name" : "index",
3122 "parameters" : {
3123 "additionalProperties" : 0
3124 },
3125 "permissions" : {
3126 "check" : [
3127 "perm",
3128 "/",
3129 [
3130 "Sys.Audit"
3131 ]
3132 ]
3133 },
3134 "returns" : {
3135 "items" : {
3136 "properties" : {
3137 "id" : {
1c532546
TL
3138 "description" : "The job ID.",
3139 "maxLength" : 50,
44660702
DM
3140 "type" : "string"
3141 }
3142 },
3143 "type" : "object"
3144 },
3145 "links" : [
3146 {
3147 "href" : "{id}",
3148 "rel" : "child"
3149 }
3150 ],
3151 "type" : "array"
3152 }
3153 },
3154 "POST" : {
3155 "description" : "Create new vzdump backup job.",
3156 "method" : "POST",
3157 "name" : "create_job",
3158 "parameters" : {
3159 "additionalProperties" : 0,
3160 "properties" : {
3161 "all" : {
3162 "default" : 0,
3163 "description" : "Backup all known guest systems on this host.",
3164 "optional" : 1,
013dc89f
DM
3165 "type" : "boolean",
3166 "typetext" : "<boolean>"
44660702
DM
3167 },
3168 "bwlimit" : {
3169 "default" : 0,
3170 "description" : "Limit I/O bandwidth (KBytes per second).",
3171 "minimum" : 0,
3172 "optional" : 1,
4bd7df8b 3173 "type" : "integer",
013dc89f 3174 "typetext" : "<integer> (0 - N)"
44660702
DM
3175 },
3176 "compress" : {
3177 "default" : "0",
3178 "description" : "Compress dump file.",
3179 "enum" : [
3180 "0",
3181 "1",
3182 "gzip",
3183 "lzo"
3184 ],
3185 "optional" : 1,
3186 "type" : "string"
3187 },
3188 "dow" : {
3189 "default" : "mon,tue,wed,thu,fri,sat,sun",
3190 "description" : "Day of week selection.",
3191 "format" : "pve-day-of-week-list",
3192 "optional" : 1,
013dc89f
DM
3193 "type" : "string",
3194 "typetext" : "<string>"
44660702
DM
3195 },
3196 "dumpdir" : {
3197 "description" : "Store resulting files to specified directory.",
3198 "optional" : 1,
013dc89f
DM
3199 "type" : "string",
3200 "typetext" : "<string>"
44660702
DM
3201 },
3202 "enabled" : {
3203 "default" : "1",
3204 "description" : "Enable or disable the job.",
3205 "optional" : 1,
013dc89f
DM
3206 "type" : "boolean",
3207 "typetext" : "<boolean>"
44660702
DM
3208 },
3209 "exclude" : {
3210 "description" : "Exclude specified guest systems (assumes --all)",
3211 "format" : "pve-vmid-list",
3212 "optional" : 1,
013dc89f
DM
3213 "type" : "string",
3214 "typetext" : "<string>"
44660702
DM
3215 },
3216 "exclude-path" : {
3217 "description" : "Exclude certain files/directories (shell globs).",
3218 "format" : "string-alist",
3219 "optional" : 1,
013dc89f
DM
3220 "type" : "string",
3221 "typetext" : "<string>"
44660702
DM
3222 },
3223 "ionice" : {
3224 "default" : 7,
3225 "description" : "Set CFQ ionice priority.",
3226 "maximum" : 8,
3227 "minimum" : 0,
3228 "optional" : 1,
4bd7df8b 3229 "type" : "integer",
013dc89f 3230 "typetext" : "<integer> (0 - 8)"
44660702
DM
3231 },
3232 "lockwait" : {
3233 "default" : 180,
3234 "description" : "Maximal time to wait for the global lock (minutes).",
3235 "minimum" : 0,
3236 "optional" : 1,
4bd7df8b 3237 "type" : "integer",
013dc89f 3238 "typetext" : "<integer> (0 - N)"
44660702
DM
3239 },
3240 "mailnotification" : {
3241 "default" : "always",
3242 "description" : "Specify when to send an email",
3243 "enum" : [
3244 "always",
3245 "failure"
3246 ],
3247 "optional" : 1,
3248 "type" : "string"
3249 },
3250 "mailto" : {
3251 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3252 "format" : "string-list",
3253 "optional" : 1,
013dc89f
DM
3254 "type" : "string",
3255 "typetext" : "<string>"
44660702
DM
3256 },
3257 "maxfiles" : {
3258 "default" : 1,
3259 "description" : "Maximal number of backup files per guest system.",
3260 "minimum" : 1,
3261 "optional" : 1,
4bd7df8b 3262 "type" : "integer",
013dc89f 3263 "typetext" : "<integer> (1 - N)"
44660702
DM
3264 },
3265 "mode" : {
3266 "default" : "snapshot",
3267 "description" : "Backup mode.",
3268 "enum" : [
3269 "snapshot",
3270 "suspend",
3271 "stop"
3272 ],
3273 "optional" : 1,
3274 "type" : "string"
3275 },
3276 "node" : {
3277 "description" : "Only run if executed on this node.",
3278 "format" : "pve-node",
3279 "optional" : 1,
013dc89f
DM
3280 "type" : "string",
3281 "typetext" : "<string>"
44660702
DM
3282 },
3283 "pigz" : {
3284 "default" : 0,
3285 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3286 "optional" : 1,
013dc89f
DM
3287 "type" : "integer",
3288 "typetext" : "<integer>"
44660702 3289 },
9226ccbc
TL
3290 "pool" : {
3291 "description" : "Backup all known guest systems included in the specified pool.",
3292 "optional" : 1,
3293 "type" : "string",
3294 "typetext" : "<string>"
3295 },
44660702
DM
3296 "quiet" : {
3297 "default" : 0,
3298 "description" : "Be quiet.",
3299 "optional" : 1,
013dc89f
DM
3300 "type" : "boolean",
3301 "typetext" : "<boolean>"
44660702
DM
3302 },
3303 "remove" : {
3304 "default" : 1,
3305 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3306 "optional" : 1,
013dc89f
DM
3307 "type" : "boolean",
3308 "typetext" : "<boolean>"
44660702
DM
3309 },
3310 "script" : {
3311 "description" : "Use specified hook script.",
3312 "optional" : 1,
013dc89f
DM
3313 "type" : "string",
3314 "typetext" : "<string>"
44660702
DM
3315 },
3316 "size" : {
3317 "default" : 1024,
3318 "description" : "Unused, will be removed in a future release.",
3319 "minimum" : 500,
3320 "optional" : 1,
4bd7df8b 3321 "type" : "integer",
013dc89f 3322 "typetext" : "<integer> (500 - N)"
44660702
DM
3323 },
3324 "starttime" : {
3325 "description" : "Job Start time.",
3326 "pattern" : "\\d{1,2}:\\d{1,2}",
3327 "type" : "string",
3328 "typetext" : "HH:MM"
3329 },
3330 "stdexcludes" : {
3331 "default" : 1,
3332 "description" : "Exclude temporary files and logs.",
3333 "optional" : 1,
013dc89f
DM
3334 "type" : "boolean",
3335 "typetext" : "<boolean>"
44660702
DM
3336 },
3337 "stop" : {
3338 "default" : 0,
1e3f8156 3339 "description" : "Stop running backup jobs on this host.",
44660702 3340 "optional" : 1,
013dc89f
DM
3341 "type" : "boolean",
3342 "typetext" : "<boolean>"
44660702
DM
3343 },
3344 "stopwait" : {
3345 "default" : 10,
3346 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3347 "minimum" : 0,
3348 "optional" : 1,
4bd7df8b 3349 "type" : "integer",
013dc89f 3350 "typetext" : "<integer> (0 - N)"
44660702
DM
3351 },
3352 "storage" : {
3353 "description" : "Store resulting file to this storage.",
3354 "format" : "pve-storage-id",
3355 "optional" : 1,
013dc89f
DM
3356 "type" : "string",
3357 "typetext" : "<string>"
44660702
DM
3358 },
3359 "tmpdir" : {
3360 "description" : "Store temporary files to specified directory.",
3361 "optional" : 1,
013dc89f
DM
3362 "type" : "string",
3363 "typetext" : "<string>"
44660702
DM
3364 },
3365 "vmid" : {
3366 "description" : "The ID of the guest system you want to backup.",
3367 "format" : "pve-vmid-list",
3368 "optional" : 1,
013dc89f
DM
3369 "type" : "string",
3370 "typetext" : "<string>"
44660702
DM
3371 }
3372 }
3373 },
3374 "permissions" : {
3375 "check" : [
3376 "perm",
3377 "/",
3378 [
3379 "Sys.Modify"
3380 ]
de0983cb
DM
3381 ],
3382 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3383 },
3384 "protected" : 1,
3385 "returns" : {
3386 "type" : "null"
3387 }
3388 }
3389 },
3390 "leaf" : 0,
3391 "path" : "/cluster/backup",
3392 "text" : "backup"
3393 },
3394 {
3395 "children" : [
3396 {
3397 "children" : [
3398 {
3399 "children" : [
56122987 3400 {
56122987
DM
3401 "info" : {
3402 "POST" : {
44660702
DM
3403 "description" : "Request resource migration (online) to another node.",
3404 "method" : "POST",
3405 "name" : "migrate",
56122987 3406 "parameters" : {
7aacca6f 3407 "additionalProperties" : 0,
56122987
DM
3408 "properties" : {
3409 "node" : {
95895385 3410 "description" : "Target node.",
44660702 3411 "format" : "pve-node",
013dc89f
DM
3412 "type" : "string",
3413 "typetext" : "<string>"
56122987
DM
3414 },
3415 "sid" : {
44660702 3416 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
56122987 3417 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3418 "type" : "string",
44660702 3419 "typetext" : "<type>:<name>"
56122987 3420 }
7aacca6f 3421 }
56122987 3422 },
56122987
DM
3423 "permissions" : {
3424 "check" : [
3425 "perm",
3426 "/",
3427 [
3428 "Sys.Console"
3429 ]
3430 ]
3431 },
7aacca6f 3432 "protected" : 1,
7aacca6f
DM
3433 "returns" : {
3434 "type" : "null"
44660702 3435 }
56122987 3436 }
44660702
DM
3437 },
3438 "leaf" : 1,
3439 "path" : "/cluster/ha/resources/{sid}/migrate",
3440 "text" : "migrate"
3441 },
3442 {
3443 "info" : {
3444 "POST" : {
3445 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3446 "method" : "POST",
3447 "name" : "relocate",
3448 "parameters" : {
3449 "additionalProperties" : 0,
3450 "properties" : {
3451 "node" : {
95895385 3452 "description" : "Target node.",
44660702 3453 "format" : "pve-node",
013dc89f
DM
3454 "type" : "string",
3455 "typetext" : "<string>"
44660702
DM
3456 },
3457 "sid" : {
3458 "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).",
3459 "format" : "pve-ha-resource-or-vm-id",
3460 "type" : "string",
3461 "typetext" : "<type>:<name>"
3462 }
3463 }
3464 },
3465 "permissions" : {
3466 "check" : [
3467 "perm",
3468 "/",
3469 [
3470 "Sys.Console"
3471 ]
3472 ]
3473 },
3474 "protected" : 1,
3475 "returns" : {
3476 "type" : "null"
3477 }
3478 }
3479 },
3480 "leaf" : 1,
3481 "path" : "/cluster/ha/resources/{sid}/relocate",
3482 "text" : "relocate"
3483 }
3484 ],
3485 "info" : {
3486 "DELETE" : {
3487 "description" : "Delete resource configuration.",
3488 "method" : "DELETE",
3489 "name" : "delete",
7aacca6f 3490 "parameters" : {
44660702 3491 "additionalProperties" : 0,
7aacca6f
DM
3492 "properties" : {
3493 "sid" : {
3494 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
44660702 3495 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3496 "type" : "string",
44660702
DM
3497 "typetext" : "<type>:<name>"
3498 }
3499 }
3500 },
3501 "permissions" : {
3502 "check" : [
3503 "perm",
3504 "/",
3505 [
3506 "Sys.Console"
3507 ]
3508 ]
3509 },
3510 "protected" : 1,
3511 "returns" : {
3512 "type" : "null"
3513 }
3514 },
3515 "GET" : {
3516 "description" : "Read resource configuration.",
3517 "method" : "GET",
3518 "name" : "read",
3519 "parameters" : {
3520 "additionalProperties" : 0,
3521 "properties" : {
3522 "sid" : {
3523 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
7aacca6f 3524 "format" : "pve-ha-resource-or-vm-id",
44660702 3525 "type" : "string",
7aacca6f
DM
3526 "typetext" : "<type>:<name>"
3527 }
44660702 3528 }
7aacca6f
DM
3529 },
3530 "permissions" : {
3531 "check" : [
3532 "perm",
3533 "/",
3534 [
3535 "Sys.Audit"
3536 ]
3537 ]
3538 },
5f26e15b
TL
3539 "returns" : {
3540 "properties" : {
3541 "comment" : {
3542 "description" : "Description.",
3543 "optional" : 1,
3544 "type" : "string"
3545 },
3546 "digest" : {
3547 "description" : "Can be used to prevent concurrent modifications.",
3548 "type" : "string"
3549 },
3550 "group" : {
3551 "description" : "The HA group identifier.",
3552 "format" : "pve-configid",
3553 "optional" : 1,
3554 "type" : "string"
3555 },
3556 "max_relocate" : {
3557 "description" : "Maximal number of service relocate tries when a service failes to start.",
3558 "optional" : 1,
3559 "type" : "integer"
3560 },
3561 "max_restart" : {
3562 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3563 "optional" : 1,
3564 "type" : "integer"
3565 },
3566 "sid" : {
3567 "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).",
3568 "format" : "pve-ha-resource-or-vm-id",
3569 "type" : "string",
3570 "typetext" : "<type>:<name>"
3571 },
3572 "state" : {
3573 "description" : "Requested resource state.",
3574 "enum" : [
3575 "started",
3576 "stopped",
3577 "enabled",
3578 "disabled",
3579 "ignored"
3580 ],
3581 "optional" : 1,
3582 "type" : "string"
3583 },
3584 "type" : {
3585 "description" : "The type of the resources.",
3586 "type" : "string"
3587 }
3588 },
3589 "type" : "object"
3590 }
7aacca6f 3591 },
56122987 3592 "PUT" : {
44660702 3593 "description" : "Update resource configuration.",
7aacca6f 3594 "method" : "PUT",
44660702 3595 "name" : "update",
56122987
DM
3596 "parameters" : {
3597 "additionalProperties" : 0,
3598 "properties" : {
44660702
DM
3599 "comment" : {
3600 "description" : "Description.",
3601 "maxLength" : 4096,
56122987 3602 "optional" : 1,
013dc89f
DM
3603 "type" : "string",
3604 "typetext" : "<string>"
56122987 3605 },
7aacca6f
DM
3606 "delete" : {
3607 "description" : "A list of settings you want to delete.",
7aacca6f 3608 "format" : "pve-configid-list",
44660702
DM
3609 "maxLength" : 4096,
3610 "optional" : 1,
013dc89f
DM
3611 "type" : "string",
3612 "typetext" : "<string>"
56122987 3613 },
44660702
DM
3614 "digest" : {
3615 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3616 "maxLength" : 40,
3617 "optional" : 1,
013dc89f
DM
3618 "type" : "string",
3619 "typetext" : "<string>"
56122987 3620 },
44660702
DM
3621 "group" : {
3622 "description" : "The HA group identifier.",
3623 "format" : "pve-configid",
7aacca6f 3624 "optional" : 1,
013dc89f
DM
3625 "type" : "string",
3626 "typetext" : "<string>"
56122987
DM
3627 },
3628 "max_relocate" : {
7aacca6f 3629 "default" : 1,
56122987 3630 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3631 "minimum" : 0,
3632 "optional" : 1,
4bd7df8b 3633 "type" : "integer",
013dc89f 3634 "typetext" : "<integer> (0 - N)"
7aacca6f 3635 },
44660702
DM
3636 "max_restart" : {
3637 "default" : 1,
3638 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3639 "minimum" : 0,
7aacca6f 3640 "optional" : 1,
4bd7df8b 3641 "type" : "integer",
013dc89f 3642 "typetext" : "<integer> (0 - N)"
44660702
DM
3643 },
3644 "sid" : {
3645 "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).",
3646 "format" : "pve-ha-resource-or-vm-id",
3647 "type" : "string",
3648 "typetext" : "<type>:<name>"
7aacca6f
DM
3649 },
3650 "state" : {
f13c1238
DM
3651 "default" : "started",
3652 "description" : "Requested resource state.",
7aacca6f 3653 "enum" : [
f13c1238
DM
3654 "started",
3655 "stopped",
7aacca6f 3656 "enabled",
2489d6df
WB
3657 "disabled",
3658 "ignored"
7aacca6f 3659 ],
7aacca6f 3660 "optional" : 1,
f13c1238 3661 "type" : "string",
2489d6df 3662 "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n"
56122987 3663 }
44660702
DM
3664 },
3665 "type" : "object"
56122987 3666 },
56122987
DM
3667 "permissions" : {
3668 "check" : [
3669 "perm",
3670 "/",
3671 [
3672 "Sys.Console"
3673 ]
3674 ]
3675 },
7aacca6f 3676 "protected" : 1,
56122987
DM
3677 "returns" : {
3678 "type" : "null"
3679 }
3680 }
3681 },
44660702 3682 "leaf" : 0,
7aacca6f 3683 "path" : "/cluster/ha/resources/{sid}",
44660702 3684 "text" : "{sid}"
56122987
DM
3685 }
3686 ],
7aacca6f
DM
3687 "info" : {
3688 "GET" : {
44660702
DM
3689 "description" : "List HA resources.",
3690 "method" : "GET",
3691 "name" : "index",
7aacca6f 3692 "parameters" : {
44660702
DM
3693 "additionalProperties" : 0,
3694 "properties" : {
3695 "type" : {
3696 "description" : "Only list resources of specific type",
3697 "enum" : [
3698 "ct",
3699 "vm"
3700 ],
3701 "optional" : 1,
3702 "type" : "string"
3703 }
3704 }
7aacca6f 3705 },
7aacca6f
DM
3706 "permissions" : {
3707 "check" : [
3708 "perm",
3709 "/",
3710 [
3711 "Sys.Audit"
3712 ]
3713 ]
3714 },
7aacca6f 3715 "returns" : {
7aacca6f 3716 "items" : {
7aacca6f 3717 "properties" : {
44660702 3718 "sid" : {
7aacca6f
DM
3719 "type" : "string"
3720 }
44660702
DM
3721 },
3722 "type" : "object"
7aacca6f
DM
3723 },
3724 "links" : [
3725 {
44660702 3726 "href" : "{sid}",
7aacca6f
DM
3727 "rel" : "child"
3728 }
44660702
DM
3729 ],
3730 "type" : "array"
7aacca6f
DM
3731 }
3732 },
3733 "POST" : {
44660702 3734 "description" : "Create a new HA resource.",
7aacca6f 3735 "method" : "POST",
44660702 3736 "name" : "create",
7aacca6f 3737 "parameters" : {
44660702 3738 "additionalProperties" : 0,
7aacca6f
DM
3739 "properties" : {
3740 "comment" : {
7aacca6f 3741 "description" : "Description.",
44660702 3742 "maxLength" : 4096,
7aacca6f 3743 "optional" : 1,
013dc89f
DM
3744 "type" : "string",
3745 "typetext" : "<string>"
7aacca6f 3746 },
44660702
DM
3747 "group" : {
3748 "description" : "The HA group identifier.",
3749 "format" : "pve-configid",
7aacca6f 3750 "optional" : 1,
013dc89f
DM
3751 "type" : "string",
3752 "typetext" : "<string>"
7aacca6f 3753 },
44660702
DM
3754 "max_relocate" : {
3755 "default" : 1,
3756 "description" : "Maximal number of service relocate tries when a service failes to start.",
3757 "minimum" : 0,
7aacca6f 3758 "optional" : 1,
4bd7df8b 3759 "type" : "integer",
013dc89f 3760 "typetext" : "<integer> (0 - N)"
7aacca6f 3761 },
44660702
DM
3762 "max_restart" : {
3763 "default" : 1,
3764 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3765 "minimum" : 0,
3766 "optional" : 1,
4bd7df8b 3767 "type" : "integer",
013dc89f 3768 "typetext" : "<integer> (0 - N)"
44660702
DM
3769 },
3770 "sid" : {
3771 "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).",
3772 "format" : "pve-ha-resource-or-vm-id",
3773 "type" : "string",
3774 "typetext" : "<type>:<name>"
3775 },
3776 "state" : {
f13c1238
DM
3777 "default" : "started",
3778 "description" : "Requested resource state.",
7aacca6f 3779 "enum" : [
f13c1238
DM
3780 "started",
3781 "stopped",
44660702 3782 "enabled",
2489d6df
WB
3783 "disabled",
3784 "ignored"
7aacca6f 3785 ],
7aacca6f 3786 "optional" : 1,
f13c1238 3787 "type" : "string",
2489d6df 3788 "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n"
7aacca6f 3789 },
44660702
DM
3790 "type" : {
3791 "description" : "Resource type.",
3792 "enum" : [
3793 "ct",
3794 "vm"
3795 ],
3796 "optional" : 1,
3797 "type" : "string"
3798 }
7aacca6f 3799 },
44660702 3800 "type" : "object"
7aacca6f
DM
3801 },
3802 "permissions" : {
3803 "check" : [
3804 "perm",
3805 "/",
3806 [
3807 "Sys.Console"
3808 ]
3809 ]
3810 },
44660702
DM
3811 "protected" : 1,
3812 "returns" : {
3813 "type" : "null"
3814 }
7aacca6f
DM
3815 }
3816 },
44660702
DM
3817 "leaf" : 0,
3818 "path" : "/cluster/ha/resources",
3819 "text" : "resources"
3820 },
3821 {
56122987
DM
3822 "children" : [
3823 {
56122987 3824 "info" : {
44660702
DM
3825 "DELETE" : {
3826 "description" : "Delete ha group configuration.",
3827 "method" : "DELETE",
3828 "name" : "delete",
56122987 3829 "parameters" : {
7aacca6f 3830 "additionalProperties" : 0,
56122987 3831 "properties" : {
7aacca6f
DM
3832 "group" : {
3833 "description" : "The HA group identifier.",
44660702 3834 "format" : "pve-configid",
013dc89f
DM
3835 "type" : "string",
3836 "typetext" : "<string>"
56122987 3837 }
7aacca6f 3838 }
56122987 3839 },
56122987
DM
3840 "permissions" : {
3841 "check" : [
3842 "perm",
3843 "/",
3844 [
7aacca6f 3845 "Sys.Console"
56122987
DM
3846 ]
3847 ]
3848 },
44660702 3849 "protected" : 1,
7aacca6f
DM
3850 "returns" : {
3851 "type" : "null"
56122987
DM
3852 }
3853 },
44660702
DM
3854 "GET" : {
3855 "description" : "Read ha group configuration.",
3856 "method" : "GET",
3857 "name" : "read",
56122987 3858 "parameters" : {
44660702 3859 "additionalProperties" : 0,
56122987
DM
3860 "properties" : {
3861 "group" : {
3862 "description" : "The HA group identifier.",
44660702 3863 "format" : "pve-configid",
013dc89f
DM
3864 "type" : "string",
3865 "typetext" : "<string>"
56122987 3866 }
44660702 3867 }
56122987 3868 },
56122987
DM
3869 "permissions" : {
3870 "check" : [
3871 "perm",
3872 "/",
3873 [
44660702 3874 "Sys.Audit"
56122987
DM
3875 ]
3876 ]
3877 },
44660702 3878 "returns" : {}
7aacca6f 3879 },
44660702
DM
3880 "PUT" : {
3881 "description" : "Update ha group configuration.",
3882 "method" : "PUT",
3883 "name" : "update",
7aacca6f 3884 "parameters" : {
44660702 3885 "additionalProperties" : 0,
7aacca6f 3886 "properties" : {
44660702
DM
3887 "comment" : {
3888 "description" : "Description.",
3889 "maxLength" : 4096,
3890 "optional" : 1,
013dc89f
DM
3891 "type" : "string",
3892 "typetext" : "<string>"
44660702
DM
3893 },
3894 "delete" : {
3895 "description" : "A list of settings you want to delete.",
3896 "format" : "pve-configid-list",
3897 "maxLength" : 4096,
3898 "optional" : 1,
013dc89f
DM
3899 "type" : "string",
3900 "typetext" : "<string>"
44660702
DM
3901 },
3902 "digest" : {
3903 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3904 "maxLength" : 40,
3905 "optional" : 1,
013dc89f
DM
3906 "type" : "string",
3907 "typetext" : "<string>"
44660702 3908 },
7aacca6f
DM
3909 "group" : {
3910 "description" : "The HA group identifier.",
44660702 3911 "format" : "pve-configid",
013dc89f
DM
3912 "type" : "string",
3913 "typetext" : "<string>"
44660702
DM
3914 },
3915 "nodes" : {
f13c1238 3916 "description" : "List of cluster node names with optional priority.",
44660702
DM
3917 "format" : "pve-ha-group-node-list",
3918 "optional" : 1,
7aacca6f 3919 "type" : "string",
f13c1238
DM
3920 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3921 "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
44660702
DM
3922 },
3923 "nofailback" : {
3924 "default" : 0,
3925 "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.",
3926 "optional" : 1,
013dc89f
DM
3927 "type" : "boolean",
3928 "typetext" : "<boolean>"
44660702
DM
3929 },
3930 "restricted" : {
3931 "default" : 0,
c4808e75 3932 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3933 "optional" : 1,
013dc89f 3934 "type" : "boolean",
c4808e75
DM
3935 "typetext" : "<boolean>",
3936 "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
7aacca6f
DM
3937 }
3938 },
44660702 3939 "type" : "object"
7aacca6f 3940 },
7aacca6f
DM
3941 "permissions" : {
3942 "check" : [
3943 "perm",
3944 "/",
3945 [
44660702 3946 "Sys.Console"
7aacca6f
DM
3947 ]
3948 ]
3949 },
44660702
DM
3950 "protected" : 1,
3951 "returns" : {
3952 "type" : "null"
3953 }
56122987
DM
3954 }
3955 },
3956 "leaf" : 1,
44660702
DM
3957 "path" : "/cluster/ha/groups/{group}",
3958 "text" : "{group}"
56122987 3959 }
44660702
DM
3960 ],
3961 "info" : {
3962 "GET" : {
3963 "description" : "Get HA groups.",
3964 "method" : "GET",
3965 "name" : "index",
3966 "parameters" : {
3967 "additionalProperties" : 0
3968 },
3969 "permissions" : {
3970 "check" : [
3971 "perm",
3972 "/",
3973 [
3974 "Sys.Audit"
3975 ]
3976 ]
3977 },
3978 "returns" : {
3979 "items" : {
3980 "properties" : {
3981 "group" : {
3982 "type" : "string"
3983 }
3984 },
3985 "type" : "object"
3986 },
3987 "links" : [
3988 {
3989 "href" : "{group}",
3990 "rel" : "child"
3991 }
3992 ],
3993 "type" : "array"
3994 }
3995 },
3996 "POST" : {
3997 "description" : "Create a new HA group.",
3998 "method" : "POST",
3999 "name" : "create",
4000 "parameters" : {
4001 "additionalProperties" : 0,
4002 "properties" : {
4003 "comment" : {
4004 "description" : "Description.",
4005 "maxLength" : 4096,
4006 "optional" : 1,
013dc89f
DM
4007 "type" : "string",
4008 "typetext" : "<string>"
44660702
DM
4009 },
4010 "group" : {
4011 "description" : "The HA group identifier.",
4012 "format" : "pve-configid",
013dc89f
DM
4013 "type" : "string",
4014 "typetext" : "<string>"
44660702
DM
4015 },
4016 "nodes" : {
f13c1238 4017 "description" : "List of cluster node names with optional priority.",
44660702
DM
4018 "format" : "pve-ha-group-node-list",
4019 "optional" : 0,
4020 "type" : "string",
f13c1238
DM
4021 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4022 "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
44660702
DM
4023 },
4024 "nofailback" : {
4025 "default" : 0,
4026 "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.",
4027 "optional" : 1,
013dc89f
DM
4028 "type" : "boolean",
4029 "typetext" : "<boolean>"
44660702
DM
4030 },
4031 "restricted" : {
4032 "default" : 0,
c4808e75 4033 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4034 "optional" : 1,
013dc89f 4035 "type" : "boolean",
c4808e75
DM
4036 "typetext" : "<boolean>",
4037 "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
44660702
DM
4038 },
4039 "type" : {
4040 "description" : "Group type.",
4041 "enum" : [
4042 "group"
4043 ],
4044 "optional" : 1,
4045 "type" : "string"
4046 }
4047 },
4048 "type" : "object"
4049 },
4050 "permissions" : {
4051 "check" : [
4052 "perm",
4053 "/",
4054 [
4055 "Sys.Console"
4056 ]
4057 ]
4058 },
4059 "protected" : 1,
4060 "returns" : {
4061 "type" : "null"
4062 }
4063 }
4064 },
4065 "leaf" : 0,
4066 "path" : "/cluster/ha/groups",
4067 "text" : "groups"
7aacca6f
DM
4068 },
4069 {
7aacca6f
DM
4070 "children" : [
4071 {
4072 "info" : {
4073 "GET" : {
56122987 4074 "description" : "Get HA manger status.",
44660702 4075 "method" : "GET",
7aacca6f 4076 "name" : "status",
44660702
DM
4077 "parameters" : {
4078 "additionalProperties" : 0
4079 },
56122987
DM
4080 "permissions" : {
4081 "check" : [
4082 "perm",
4083 "/",
4084 [
4085 "Sys.Audit"
4086 ]
4087 ]
7aacca6f 4088 },
44660702
DM
4089 "returns" : {
4090 "type" : "array"
56122987
DM
4091 }
4092 }
7aacca6f 4093 },
7aacca6f 4094 "leaf" : 1,
44660702
DM
4095 "path" : "/cluster/ha/status/current",
4096 "text" : "current"
56122987
DM
4097 },
4098 {
4099 "info" : {
4100 "GET" : {
7aacca6f 4101 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
4102 "method" : "GET",
4103 "name" : "manager_status",
7aacca6f
DM
4104 "parameters" : {
4105 "additionalProperties" : 0
4106 },
56122987
DM
4107 "permissions" : {
4108 "check" : [
4109 "perm",
4110 "/",
4111 [
4112 "Sys.Audit"
4113 ]
4114 ]
44660702
DM
4115 },
4116 "returns" : {
4117 "type" : "object"
7aacca6f 4118 }
56122987
DM
4119 }
4120 },
56122987 4121 "leaf" : 1,
44660702
DM
4122 "path" : "/cluster/ha/status/manager_status",
4123 "text" : "manager_status"
56122987
DM
4124 }
4125 ],
56122987
DM
4126 "info" : {
4127 "GET" : {
44660702 4128 "description" : "Directory index.",
7aacca6f 4129 "method" : "GET",
44660702
DM
4130 "name" : "index",
4131 "parameters" : {
4132 "additionalProperties" : 0
4133 },
4134 "permissions" : {
4135 "user" : "all"
4136 },
56122987 4137 "returns" : {
56122987
DM
4138 "items" : {
4139 "properties" : {},
4140 "type" : "object"
4141 },
4142 "links" : [
4143 {
44660702
DM
4144 "href" : "{name}",
4145 "rel" : "child"
56122987 4146 }
7aacca6f
DM
4147 ],
4148 "type" : "array"
44660702 4149 }
56122987 4150 }
7aacca6f 4151 },
44660702 4152 "leaf" : 0,
7aacca6f 4153 "path" : "/cluster/ha/status",
44660702 4154 "text" : "status"
56122987
DM
4155 }
4156 ],
56122987
DM
4157 "info" : {
4158 "GET" : {
7aacca6f 4159 "description" : "Directory index.",
44660702
DM
4160 "method" : "GET",
4161 "name" : "index",
4162 "parameters" : {
4163 "additionalProperties" : 0
4164 },
7aacca6f
DM
4165 "permissions" : {
4166 "check" : [
4167 "perm",
4168 "/",
4169 [
4170 "Sys.Audit"
4171 ]
4172 ]
4173 },
56122987 4174 "returns" : {
56122987 4175 "items" : {
7aacca6f
DM
4176 "properties" : {
4177 "id" : {
4178 "type" : "string"
4179 }
44660702
DM
4180 },
4181 "type" : "object"
7aacca6f
DM
4182 },
4183 "links" : [
4184 {
4185 "href" : "{id}",
4186 "rel" : "child"
4187 }
44660702
DM
4188 ],
4189 "type" : "array"
7aacca6f
DM
4190 }
4191 }
44660702
DM
4192 },
4193 "leaf" : 0,
4194 "path" : "/cluster/ha",
4195 "text" : "ha"
7aacca6f 4196 },
a9a8e3d1
DM
4197 {
4198 "children" : [
4199 {
4200 "children" : [
4201 {
4202 "info" : {
4203 "DELETE" : {
4204 "description" : "Deactivate existing ACME account at CA.",
4205 "method" : "DELETE",
4206 "name" : "deactivate_account",
4207 "parameters" : {
4208 "additionalProperties" : 0,
4209 "properties" : {
4210 "name" : {
4211 "default" : "default",
4212 "description" : "ACME account config file name.",
4213 "format" : "pve-configid",
4214 "format_description" : "name",
4215 "optional" : 1,
4216 "type" : "string",
4217 "typetext" : "<name>"
4218 }
4219 }
4220 },
4221 "protected" : 1,
4222 "returns" : {
4223 "type" : "string"
4224 }
4225 },
4226 "GET" : {
4227 "description" : "Return existing ACME account information.",
4228 "method" : "GET",
4229 "name" : "get_account",
4230 "parameters" : {
4231 "additionalProperties" : 0,
4232 "properties" : {
4233 "name" : {
4234 "default" : "default",
4235 "description" : "ACME account config file name.",
4236 "format" : "pve-configid",
4237 "format_description" : "name",
4238 "optional" : 1,
4239 "type" : "string",
4240 "typetext" : "<name>"
4241 }
4242 }
4243 },
4244 "protected" : 1,
4245 "returns" : {
4246 "additionalProperties" : 0,
4247 "properties" : {
4248 "account" : {
4249 "optional" : 1,
4d47f125 4250 "renderer" : "yaml",
a9a8e3d1
DM
4251 "type" : "object"
4252 },
4253 "directory" : {
4254 "description" : "URL of ACME CA directory endpoint.",
4255 "optional" : 1,
4256 "pattern" : "^https?://.*",
4257 "type" : "string"
4258 },
4259 "location" : {
4260 "optional" : 1,
4261 "type" : "string"
4262 },
4263 "tos" : {
4264 "optional" : 1,
4265 "type" : "string"
4266 }
4267 },
4268 "type" : "object"
4269 }
4270 },
4271 "PUT" : {
4272 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
4273 "method" : "PUT",
4274 "name" : "update_account",
4275 "parameters" : {
4276 "additionalProperties" : 0,
4277 "properties" : {
4278 "contact" : {
4279 "description" : "Contact email addresses.",
4280 "format" : "email-list",
4281 "optional" : 1,
4282 "type" : "string",
4283 "typetext" : "<string>"
4284 },
4285 "name" : {
4286 "default" : "default",
4287 "description" : "ACME account config file name.",
4288 "format" : "pve-configid",
4289 "format_description" : "name",
4290 "optional" : 1,
4291 "type" : "string",
4292 "typetext" : "<name>"
4293 }
4294 }
4295 },
4296 "protected" : 1,
4297 "returns" : {
4298 "type" : "string"
4299 }
4300 }
4301 },
4302 "leaf" : 1,
4303 "path" : "/cluster/acme/account/{name}",
4304 "text" : "{name}"
4305 }
4306 ],
4307 "info" : {
4308 "GET" : {
4309 "description" : "ACMEAccount index.",
4310 "method" : "GET",
4311 "name" : "account_index",
4312 "parameters" : {
4313 "additionalProperties" : 0
4314 },
4315 "permissions" : {
4316 "user" : "all"
4317 },
4318 "protected" : 1,
4319 "returns" : {
4320 "items" : {
4321 "properties" : {},
4322 "type" : "object"
4323 },
4324 "links" : [
4325 {
4326 "href" : "{name}",
4327 "rel" : "child"
4328 }
4329 ],
4330 "type" : "array"
4331 }
4332 },
4333 "POST" : {
4334 "description" : "Register a new ACME account with CA.",
4335 "method" : "POST",
4336 "name" : "register_account",
4337 "parameters" : {
4338 "additionalProperties" : 0,
4339 "properties" : {
4340 "contact" : {
4341 "description" : "Contact email addresses.",
4342 "format" : "email-list",
4343 "type" : "string",
4344 "typetext" : "<string>"
4345 },
4346 "directory" : {
4347 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4348 "description" : "URL of ACME CA directory endpoint.",
4349 "optional" : 1,
4350 "pattern" : "^https?://.*",
4351 "type" : "string"
4352 },
4353 "name" : {
4354 "default" : "default",
4355 "description" : "ACME account config file name.",
4356 "format" : "pve-configid",
4357 "format_description" : "name",
4358 "optional" : 1,
4359 "type" : "string",
4360 "typetext" : "<name>"
4361 },
4362 "tos_url" : {
4363 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
4364 "optional" : 1,
4365 "type" : "string",
4366 "typetext" : "<string>"
4367 }
4368 }
4369 },
4370 "protected" : 1,
4371 "returns" : {
4372 "type" : "string"
4373 }
4374 }
4375 },
4376 "leaf" : 0,
4377 "path" : "/cluster/acme/account",
4378 "text" : "account"
4379 },
4380 {
4381 "info" : {
4382 "GET" : {
4383 "description" : "Retrieve ACME TermsOfService URL from CA.",
4384 "method" : "GET",
4385 "name" : "get_tos",
4386 "parameters" : {
4387 "additionalProperties" : 0,
4388 "properties" : {
4389 "directory" : {
4390 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4391 "description" : "URL of ACME CA directory endpoint.",
4392 "optional" : 1,
4393 "pattern" : "^https?://.*",
4394 "type" : "string"
4395 }
4396 }
4397 },
5da3d723
TL
4398 "permissions" : {
4399 "user" : "all"
4400 },
a9a8e3d1
DM
4401 "returns" : {
4402 "description" : "ACME TermsOfService URL.",
5c1699e5 4403 "optional" : 1,
a9a8e3d1
DM
4404 "type" : "string"
4405 }
4406 }
4407 },
4408 "leaf" : 1,
4409 "path" : "/cluster/acme/tos",
4410 "text" : "tos"
4411 },
4412 {
4413 "info" : {
4414 "GET" : {
4415 "description" : "Get named known ACME directory endpoints.",
4416 "method" : "GET",
4417 "name" : "get_directories",
4418 "parameters" : {
4419 "additionalProperties" : 0
4420 },
5da3d723
TL
4421 "permissions" : {
4422 "user" : "all"
4423 },
a9a8e3d1
DM
4424 "returns" : {
4425 "items" : {
4426 "additionalProperties" : 0,
4427 "properties" : {
4428 "name" : {
4429 "type" : "string"
4430 },
4431 "url" : {
4432 "description" : "URL of ACME CA directory endpoint.",
4433 "pattern" : "^https?://.*",
4434 "type" : "string"
4435 }
4436 },
4437 "type" : "object"
4438 },
4439 "type" : "array"
4440 }
4441 }
4442 },
4443 "leaf" : 1,
4444 "path" : "/cluster/acme/directories",
4445 "text" : "directories"
4446 }
4447 ],
4448 "info" : {
4449 "GET" : {
4450 "description" : "ACMEAccount index.",
4451 "method" : "GET",
4452 "name" : "index",
4453 "parameters" : {
4454 "additionalProperties" : 0
4455 },
4456 "permissions" : {
4457 "user" : "all"
4458 },
4459 "returns" : {
4460 "items" : {
4461 "properties" : {},
4462 "type" : "object"
4463 },
4464 "links" : [
4465 {
4466 "href" : "{name}",
4467 "rel" : "child"
4468 }
4469 ],
4470 "type" : "array"
4471 }
4472 }
4473 },
4474 "leaf" : 0,
4475 "path" : "/cluster/acme",
4476 "text" : "acme"
4477 },
1c532546
TL
4478 {
4479 "children" : [
4480 {
4481 "info" : {
4482 "GET" : {
4483 "description" : "Get ceph metadata.",
4484 "method" : "GET",
4485 "name" : "metadata",
4486 "parameters" : {
4487 "additionalProperties" : 0
4488 },
4489 "permissions" : {
4490 "check" : [
4491 "perm",
4492 "/",
4493 [
4494 "Sys.Audit",
4495 "Datastore.Audit"
4496 ],
4497 "any",
4498 1
4499 ]
4500 },
4501 "protected" : 1,
4502 "returns" : {
4503 "type" : "object"
4504 }
4505 }
4506 },
4507 "leaf" : 1,
4508 "path" : "/cluster/ceph/metadata",
4509 "text" : "metadata"
4510 },
4511 {
4512 "info" : {
4513 "GET" : {
4514 "description" : "Get ceph status.",
4515 "method" : "GET",
4516 "name" : "status",
4517 "parameters" : {
4518 "additionalProperties" : 0
4519 },
4520 "permissions" : {
4521 "check" : [
4522 "perm",
4523 "/",
4524 [
4525 "Sys.Audit",
4526 "Datastore.Audit"
4527 ],
4528 "any",
4529 1
4530 ]
4531 },
4532 "protected" : 1,
4533 "returns" : {
4534 "type" : "object"
4535 }
4536 }
4537 },
4538 "leaf" : 1,
4539 "path" : "/cluster/ceph/status",
4540 "text" : "status"
4541 },
4542 {
4543 "children" : [
4544 {
4545 "info" : {
4546 "GET" : {
4547 "description" : "Get the status of a specific ceph flag.",
4548 "method" : "GET",
4549 "name" : "get_flag",
4550 "parameters" : {
4551 "additionalProperties" : 0,
4552 "properties" : {
4553 "flag" : {
4554 "description" : "The name of the flag name to get.",
4555 "enum" : [
4556 "nobackfill",
4557 "nodeep-scrub",
4558 "nodown",
4559 "noin",
4560 "noout",
4561 "norebalance",
4562 "norecover",
4563 "noscrub",
4564 "notieragent",
4565 "noup",
4566 "pause"
4567 ],
4568 "type" : "string"
4569 }
4570 }
4571 },
4572 "permissions" : {
4573 "check" : [
4574 "perm",
4575 "/",
4576 [
4577 "Sys.Audit"
4578 ]
4579 ]
4580 },
4581 "protected" : 1,
4582 "returns" : {
4583 "type" : "boolean"
4584 }
4585 },
4586 "PUT" : {
4587 "description" : "Set or clear (unset) a specific ceph flag",
4588 "method" : "PUT",
4589 "name" : "update_flag",
4590 "parameters" : {
4591 "additionalProperties" : 0,
4592 "properties" : {
4593 "flag" : {
4594 "description" : "The ceph flag to update",
4595 "enum" : [
4596 "nobackfill",
4597 "nodeep-scrub",
4598 "nodown",
4599 "noin",
4600 "noout",
4601 "norebalance",
4602 "norecover",
4603 "noscrub",
4604 "notieragent",
4605 "noup",
4606 "pause"
4607 ],
4608 "type" : "string"
4609 },
4610 "value" : {
4611 "description" : "The new value of the flag",
4612 "type" : "boolean",
4613 "typetext" : "<boolean>"
4614 }
4615 }
4616 },
4617 "permissions" : {
4618 "check" : [
4619 "perm",
4620 "/",
4621 [
4622 "Sys.Modify"
4623 ]
4624 ]
4625 },
4626 "protected" : 1,
4627 "returns" : {
4628 "type" : "null"
4629 }
4630 }
4631 },
4632 "leaf" : 1,
4633 "path" : "/cluster/ceph/flags/{flag}",
4634 "text" : "{flag}"
4635 }
4636 ],
4637 "info" : {
4638 "GET" : {
4639 "description" : "get the status of all ceph flags",
4640 "method" : "GET",
4641 "name" : "get_all_flags",
4642 "parameters" : {
4643 "additionalProperties" : 0
4644 },
4645 "permissions" : {
4646 "check" : [
4647 "perm",
4648 "/",
4649 [
4650 "Sys.Audit"
4651 ]
4652 ]
4653 },
4654 "protected" : 1,
4655 "returns" : {
4656 "items" : {
4657 "additionalProperties" : 1,
4658 "properties" : {
4659 "name" : {
4660 "description" : "Flag name.",
4661 "enum" : [
4662 "nobackfill",
4663 "nodeep-scrub",
4664 "nodown",
4665 "noin",
4666 "noout",
4667 "norebalance",
4668 "norecover",
4669 "noscrub",
4670 "notieragent",
4671 "noup",
4672 "pause"
4673 ],
4674 "type" : "string"
4675 }
4676 },
4677 "type" : "object"
4678 },
4679 "links" : [
4680 {
4681 "href" : "{name}",
4682 "rel" : "child"
4683 }
4684 ],
4685 "type" : "array"
4686 }
4687 },
4688 "PUT" : {
4689 "description" : "Set/Unset multiple ceph flags at once.",
4690 "method" : "PUT",
4691 "name" : "set_flags",
4692 "parameters" : {
4693 "additionalProperties" : 0,
4694 "properties" : {
4695 "nobackfill" : {
4696 "description" : "Backfilling of PGs is suspended.",
4697 "optional" : 1,
4698 "type" : "boolean",
4699 "typetext" : "<boolean>"
4700 },
4701 "nodeep-scrub" : {
4702 "description" : "Deep Scrubbing is disabled.",
4703 "optional" : 1,
4704 "type" : "boolean",
4705 "typetext" : "<boolean>"
4706 },
4707 "nodown" : {
4708 "description" : "OSD failure reports are being ignored, such that the monitors will not mark OSDs down.",
4709 "optional" : 1,
4710 "type" : "boolean",
4711 "typetext" : "<boolean>"
4712 },
4713 "noin" : {
4714 "description" : "OSDs that were previously marked out will not be marked back in when they start.",
4715 "optional" : 1,
4716 "type" : "boolean",
4717 "typetext" : "<boolean>"
4718 },
4719 "noout" : {
4720 "description" : "OSDs will not automatically be marked out after the configured interval.",
4721 "optional" : 1,
4722 "type" : "boolean",
4723 "typetext" : "<boolean>"
4724 },
4725 "norebalance" : {
4726 "description" : "Rebalancing of PGs is suspended.",
4727 "optional" : 1,
4728 "type" : "boolean",
4729 "typetext" : "<boolean>"
4730 },
4731 "norecover" : {
4732 "description" : "Recovery of PGs is suspended.",
4733 "optional" : 1,
4734 "type" : "boolean",
4735 "typetext" : "<boolean>"
4736 },
4737 "noscrub" : {
4738 "description" : "Scrubbing is disabled.",
4739 "optional" : 1,
4740 "type" : "boolean",
4741 "typetext" : "<boolean>"
4742 },
4743 "notieragent" : {
4744 "description" : "Cache tiering activity is suspended.",
4745 "optional" : 1,
4746 "type" : "boolean",
4747 "typetext" : "<boolean>"
4748 },
4749 "noup" : {
4750 "description" : "OSDs are not allowed to start.",
4751 "optional" : 1,
4752 "type" : "boolean",
4753 "typetext" : "<boolean>"
4754 },
4755 "pause" : {
4756 "description" : "Pauses read and writes.",
4757 "optional" : 1,
4758 "type" : "boolean",
4759 "typetext" : "<boolean>"
4760 }
4761 }
4762 },
4763 "permissions" : {
4764 "check" : [
4765 "perm",
4766 "/",
4767 [
4768 "Sys.Modify"
4769 ]
4770 ]
4771 },
4772 "protected" : 1,
4773 "returns" : {
4774 "type" : "string"
4775 }
4776 }
4777 },
4778 "leaf" : 0,
4779 "path" : "/cluster/ceph/flags",
4780 "text" : "flags"
4781 }
4782 ],
4783 "info" : {
4784 "GET" : {
4785 "description" : "Cluster ceph index.",
4786 "method" : "GET",
4787 "name" : "cephindex",
4788 "parameters" : {
4789 "additionalProperties" : 0
4790 },
4791 "permissions" : {
4792 "user" : "all"
4793 },
4794 "returns" : {
4795 "items" : {
4796 "properties" : {},
4797 "type" : "object"
4798 },
4799 "links" : [
4800 {
4801 "href" : "{name}",
4802 "rel" : "child"
4803 }
4804 ],
4805 "type" : "array"
4806 }
4807 }
4808 },
4809 "leaf" : 0,
4810 "path" : "/cluster/ceph",
4811 "text" : "ceph"
4812 },
7aacca6f 4813 {
7aacca6f
DM
4814 "info" : {
4815 "GET" : {
4816 "description" : "Read cluster log",
44660702
DM
4817 "method" : "GET",
4818 "name" : "log",
56122987 4819 "parameters" : {
7aacca6f 4820 "additionalProperties" : 0,
56122987
DM
4821 "properties" : {
4822 "max" : {
7aacca6f 4823 "description" : "Maximum number of entries.",
44660702
DM
4824 "minimum" : 1,
4825 "optional" : 1,
4bd7df8b 4826 "type" : "integer",
013dc89f 4827 "typetext" : "<integer> (1 - N)"
56122987 4828 }
7aacca6f 4829 }
56122987 4830 },
44660702
DM
4831 "permissions" : {
4832 "user" : "all"
4833 },
7aacca6f 4834 "returns" : {
7aacca6f 4835 "items" : {
44660702
DM
4836 "properties" : {},
4837 "type" : "object"
4838 },
4839 "type" : "array"
7aacca6f 4840 }
56122987 4841 }
44660702
DM
4842 },
4843 "leaf" : 1,
4844 "path" : "/cluster/log",
4845 "text" : "log"
56122987
DM
4846 },
4847 {
56122987
DM
4848 "info" : {
4849 "GET" : {
44660702 4850 "description" : "Resources index (cluster wide).",
7aacca6f 4851 "method" : "GET",
7aacca6f 4852 "name" : "resources",
56122987
DM
4853 "parameters" : {
4854 "additionalProperties" : 0,
4855 "properties" : {
4856 "type" : {
4857 "enum" : [
4858 "vm",
4859 "storage",
1c532546
TL
4860 "node",
4861 "sdn"
44660702
DM
4862 ],
4863 "optional" : 1,
4864 "type" : "string"
56122987
DM
4865 }
4866 }
4867 },
44660702
DM
4868 "permissions" : {
4869 "user" : "all"
4870 },
4871 "returns" : {
4872 "items" : {
4d47f125
TL
4873 "properties" : {
4874 "cpu" : {
4875 "description" : "CPU utilization (when type in node,qemu,lxc).",
4876 "optional" : 1,
4877 "renderer" : "fraction_as_percentage",
4878 "type" : "number"
4879 },
4880 "disk" : {
4881 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
4882 "optional" : 1,
4883 "renderer" : "bytes",
4884 "type" : "string"
4885 },
4886 "hastate" : {
4887 "description" : "HA service status (for HA managed VMs).",
4888 "optional" : 1,
4889 "type" : "string"
4890 },
4891 "id" : {
4892 "type" : "string"
4893 },
4894 "level" : {
4895 "description" : "Support level (when type == node).",
4896 "optional" : 1,
4897 "type" : "string"
4898 },
4899 "maxcpu" : {
4900 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
4901 "optional" : 1,
4902 "type" : "number"
4903 },
4904 "maxdisk" : {
4905 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
4906 "optional" : 1,
4907 "renderer" : "bytes",
4908 "type" : "integer"
4909 },
4910 "maxmem" : {
4911 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
4912 "optional" : 1,
4913 "renderer" : "bytes",
4914 "type" : "integer"
4915 },
4916 "mem" : {
4917 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
4918 "optional" : 1,
4919 "renderer" : "bytes",
4920 "type" : "string"
4921 },
4922 "node" : {
4923 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
4924 "format" : "pve-node",
4925 "optional" : 1,
4926 "type" : "string"
4927 },
4928 "pool" : {
4929 "description" : "The pool name (when type in pool,qemu,lxc).",
4930 "optional" : 1,
4931 "type" : "string"
4932 },
4933 "status" : {
4934 "description" : "Resource type dependent status.",
4935 "optional" : 1,
4936 "type" : "string"
4937 },
4938 "storage" : {
4939 "description" : "The storage identifier (when type == storage).",
4940 "format" : "pve-storage-id",
4941 "optional" : 1,
4942 "type" : "string"
4943 },
4944 "type" : {
4945 "description" : "Resource type.",
4946 "enum" : [
4947 "node",
4948 "storage",
4949 "pool",
4950 "qemu",
4951 "lxc",
1c532546
TL
4952 "openvz",
4953 "sdn"
4d47f125
TL
4954 ],
4955 "type" : "string"
4956 },
4957 "uptime" : {
4958 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
4959 "optional" : 1,
4960 "renderer" : "duration",
4961 "type" : "integer"
4962 }
4963 },
44660702
DM
4964 "type" : "object"
4965 },
4966 "type" : "array"
4967 }
56122987
DM
4968 }
4969 },
7aacca6f 4970 "leaf" : 1,
44660702
DM
4971 "path" : "/cluster/resources",
4972 "text" : "resources"
56122987
DM
4973 },
4974 {
56122987
DM
4975 "info" : {
4976 "GET" : {
7aacca6f 4977 "description" : "List recent tasks (cluster wide).",
44660702 4978 "method" : "GET",
7aacca6f 4979 "name" : "tasks",
56122987
DM
4980 "parameters" : {
4981 "additionalProperties" : 0
4982 },
44660702
DM
4983 "permissions" : {
4984 "user" : "all"
4985 },
56122987
DM
4986 "returns" : {
4987 "items" : {
4988 "properties" : {
4989 "upid" : {
4990 "type" : "string"
4991 }
44660702
DM
4992 },
4993 "type" : "object"
4994 },
4995 "type" : "array"
7aacca6f 4996 }
56122987
DM
4997 }
4998 },
7aacca6f 4999 "leaf" : 1,
44660702
DM
5000 "path" : "/cluster/tasks",
5001 "text" : "tasks"
56122987
DM
5002 },
5003 {
56122987 5004 "info" : {
7aacca6f 5005 "GET" : {
44660702
DM
5006 "description" : "Get datacenter options.",
5007 "method" : "GET",
5008 "name" : "get_options",
56122987 5009 "parameters" : {
7aacca6f
DM
5010 "additionalProperties" : 0
5011 },
5012 "permissions" : {
5013 "check" : [
5014 "perm",
5015 "/",
5016 [
5017 "Sys.Audit"
5018 ]
5019 ]
5020 },
7aacca6f 5021 "returns" : {
44660702 5022 "type" : "object"
7aacca6f
DM
5023 }
5024 },
5025 "PUT" : {
44660702
DM
5026 "description" : "Set datacenter options.",
5027 "method" : "PUT",
7aacca6f
DM
5028 "name" : "set_options",
5029 "parameters" : {
5030 "additionalProperties" : 0,
5031 "properties" : {
27a7acb2
DM
5032 "bwlimit" : {
5033 "description" : "Set bandwidth/io limits various operations.",
5034 "format" : {
5035 "clone" : {
95895385 5036 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
5037 "format_description" : "LIMIT",
5038 "minimum" : "0",
5039 "optional" : 1,
5040 "type" : "number"
5041 },
5042 "default" : {
95895385 5043 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
5044 "format_description" : "LIMIT",
5045 "minimum" : "0",
5046 "optional" : 1,
5047 "type" : "number"
5048 },
5049 "migration" : {
95895385 5050 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
5051 "format_description" : "LIMIT",
5052 "minimum" : "0",
5053 "optional" : 1,
5054 "type" : "number"
5055 },
5056 "move" : {
95895385 5057 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
5058 "format_description" : "LIMIT",
5059 "minimum" : "0",
5060 "optional" : 1,
5061 "type" : "number"
5062 },
5063 "restore" : {
95895385 5064 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
5065 "format_description" : "LIMIT",
5066 "minimum" : "0",
5067 "optional" : 1,
5068 "type" : "number"
5069 }
5070 },
5071 "optional" : 1,
5072 "type" : "string",
5073 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
5074 },
56122987 5075 "console" : {
a9a8e3d1 5076 "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC; deprecated and maps to html5), an external virt-viewer comtatible application (SPICE), an HTML5 based vnc viewer (noVNC), or an HTML5 based console client (xtermjs). If the selected viewer is not available (e.g. SPICE not activated for the VM), the fallback is noVNC.",
56122987
DM
5077 "enum" : [
5078 "applet",
5079 "vv",
a9a8e3d1
DM
5080 "html5",
5081 "xtermjs"
44660702
DM
5082 ],
5083 "optional" : 1,
5084 "type" : "string"
56122987 5085 },
7aacca6f 5086 "delete" : {
7aacca6f 5087 "description" : "A list of settings you want to delete.",
44660702 5088 "format" : "pve-configid-list",
7aacca6f 5089 "optional" : 1,
013dc89f
DM
5090 "type" : "string",
5091 "typetext" : "<string>"
7aacca6f 5092 },
44660702
DM
5093 "email_from" : {
5094 "description" : "Specify email address to send notification from (default is root@$hostname)",
5095 "format" : "email-opt",
7aacca6f 5096 "optional" : 1,
013dc89f
DM
5097 "type" : "string",
5098 "typetext" : "<string>"
44660702
DM
5099 },
5100 "fencing" : {
5101 "default" : "watchdog",
5102 "description" : "Set the fencing mode of the HA cluster. Hardware mode needs a valid configuration of fence devices in /etc/pve/ha/fence.cfg. With both all two modes are used.\n\nWARNING: 'hardware' and 'both' are EXPERIMENTAL & WIP",
7aacca6f 5103 "enum" : [
44660702
DM
5104 "watchdog",
5105 "hardware",
5106 "both"
7aacca6f 5107 ],
44660702
DM
5108 "optional" : 1,
5109 "type" : "string"
5110 },
5f26e15b
TL
5111 "ha" : {
5112 "description" : "Cluster wide HA settings.",
5113 "format" : {
5114 "shutdown_policy" : {
5115 "default" : "conditional",
5c1699e5 5116 "description" : "The policy for HA services on node shutdown. 'freeze' disables auto-recovery, 'failover' ensures recovery, 'conditional' recovers on poweroff and freezes on reboot. 'migrate' will migrate running services to other nodes, if possible. With 'freeze' or 'failover', HA Services will always get stopped first on shutdown.",
5f26e15b
TL
5117 "enum" : [
5118 "freeze",
5119 "failover",
5c1699e5
TL
5120 "conditional",
5121 "migrate"
5f26e15b
TL
5122 ],
5123 "type" : "string",
5c1699e5 5124 "verbose_description" : "Describes the policy for handling HA services on poweroff or reboot of a node. Freeze will always freeze services which are still located on the node on shutdown, those services won't be recovered by the HA manager. Failover will not mark the services as frozen and thus the services will get recovered to other nodes, if the shutdown node does not come up again quickly (< 1min). 'conditional' chooses automatically depending on the type of shutdown, i.e., on a reboot the service will be frozen but on a poweroff the service will stay as is, and thus get recovered after about 2 minutes. Migrate will try to move all running services to another node on both, rebootand shutdown. The poweroff process will only continue once no running services are located on the node anymore. If the node comes up again, the service will be moved back to the previously powered-off node, at least if no other migration, reloaction or recovery took place."
5f26e15b
TL
5125 }
5126 },
5127 "optional" : 1,
5128 "type" : "string",
5c1699e5 5129 "typetext" : "shutdown_policy=<enum>"
5f26e15b 5130 },
44660702
DM
5131 "http_proxy" : {
5132 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
5133 "optional" : 1,
5134 "pattern" : "http://.*",
5135 "type" : "string"
7aacca6f 5136 },
56122987 5137 "keyboard" : {
44660702 5138 "description" : "Default keybord layout for vnc server.",
56122987 5139 "enum" : [
44660702
DM
5140 "de",
5141 "de-ch",
7aacca6f 5142 "da",
56122987 5143 "en-gb",
44660702
DM
5144 "en-us",
5145 "es",
5146 "fi",
5147 "fr",
5148 "fr-be",
5149 "fr-ca",
5150 "fr-ch",
5151 "hu",
7aacca6f 5152 "is",
44660702
DM
5153 "it",
5154 "ja",
5155 "lt",
56122987 5156 "mk",
7aacca6f 5157 "nl",
56122987 5158 "no",
44660702 5159 "pl",
7aacca6f 5160 "pt",
44660702
DM
5161 "pt-br",
5162 "sv",
5163 "sl",
5164 "tr"
56122987 5165 ],
56122987
DM
5166 "optional" : 1,
5167 "type" : "string"
5168 },
44660702
DM
5169 "language" : {
5170 "description" : "Default GUI language.",
5171 "enum" : [
4d47f125 5172 "ca",
1c532546
TL
5173 "da",
5174 "de",
44660702 5175 "en",
1c532546 5176 "es",
4d47f125 5177 "eu",
1c532546 5178 "fa",
4d47f125 5179 "fr",
1c532546 5180 "he",
4d47f125 5181 "it",
4d47f125
TL
5182 "ja",
5183 "nb",
5184 "nn",
4d47f125
TL
5185 "pl",
5186 "pt_BR",
5187 "ru",
5188 "sl",
5189 "sv",
1c532546
TL
5190 "tr",
5191 "zh_CN",
5192 "zh_TW"
44660702 5193 ],
56122987 5194 "optional" : 1,
44660702 5195 "type" : "string"
56122987 5196 },
4bd7df8b
DM
5197 "mac_prefix" : {
5198 "description" : "Prefix for autogenerated MAC addresses.",
95895385 5199 "format" : "mac-prefix",
4bd7df8b 5200 "optional" : 1,
95895385
TL
5201 "type" : "string",
5202 "typetext" : "<string>"
4bd7df8b 5203 },
44660702
DM
5204 "max_workers" : {
5205 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
5206 "minimum" : 1,
56122987 5207 "optional" : 1,
4bd7df8b 5208 "type" : "integer",
013dc89f 5209 "typetext" : "<integer> (1 - N)"
56122987 5210 },
de0983cb
DM
5211 "migration" : {
5212 "description" : "For cluster wide migration settings.",
5213 "format" : {
5214 "network" : {
5215 "description" : "CIDR of the (sub) network that is used for migration.",
5216 "format" : "CIDR",
5217 "format_description" : "CIDR",
5218 "optional" : 1,
5219 "type" : "string"
5220 },
5221 "type" : {
5222 "default" : "secure",
5223 "default_key" : 1,
5224 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
5225 "enum" : [
5226 "secure",
5227 "insecure"
5228 ],
5229 "type" : "string"
5230 }
5231 },
5232 "optional" : 1,
5233 "type" : "string",
5234 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
5235 },
7aacca6f 5236 "migration_unsecure" : {
de0983cb 5237 "description" : "Migration is secure using SSH tunnel by default. For secure private networks you can disable it to speed up migration. Deprecated, use the 'migration' property instead!",
56122987 5238 "optional" : 1,
013dc89f
DM
5239 "type" : "boolean",
5240 "typetext" : "<boolean>"
95895385
TL
5241 },
5242 "u2f" : {
5243 "description" : "u2f",
5244 "format" : {
5245 "appid" : {
5246 "description" : "U2F AppId URL override. Defaults to the origin.",
5247 "format_description" : "APPID",
5248 "optional" : 1,
5249 "type" : "string"
5250 },
5251 "origin" : {
5252 "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.",
5253 "format_description" : "URL",
5254 "optional" : 1,
5255 "type" : "string"
5256 }
5257 },
5258 "optional" : 1,
5259 "type" : "string",
5260 "typetext" : "[appid=<APPID>] [,origin=<URL>]"
56122987
DM
5261 }
5262 }
5263 },
44660702
DM
5264 "permissions" : {
5265 "check" : [
5266 "perm",
5267 "/",
5268 [
5269 "Sys.Modify"
5270 ]
5271 ]
5272 },
56122987 5273 "protected" : 1,
7aacca6f
DM
5274 "returns" : {
5275 "type" : "null"
44660702 5276 }
7aacca6f
DM
5277 }
5278 },
44660702
DM
5279 "leaf" : 1,
5280 "path" : "/cluster/options",
7aacca6f
DM
5281 "text" : "options"
5282 },
5283 {
7aacca6f 5284 "info" : {
56122987 5285 "GET" : {
1e3f8156 5286 "description" : "Get cluster status information.",
44660702
DM
5287 "method" : "GET",
5288 "name" : "get_status",
56122987
DM
5289 "parameters" : {
5290 "additionalProperties" : 0
5291 },
56122987
DM
5292 "permissions" : {
5293 "check" : [
5294 "perm",
5295 "/",
5296 [
5297 "Sys.Audit"
5298 ]
5299 ]
5300 },
7aacca6f 5301 "protected" : 1,
56122987 5302 "returns" : {
56122987 5303 "items" : {
56122987
DM
5304 "properties" : {
5305 "type" : {
5306 "type" : "string"
5307 }
44660702
DM
5308 },
5309 "type" : "object"
7aacca6f
DM
5310 },
5311 "type" : "array"
56122987
DM
5312 }
5313 }
5314 },
44660702 5315 "leaf" : 1,
7aacca6f 5316 "path" : "/cluster/status",
44660702 5317 "text" : "status"
56122987
DM
5318 },
5319 {
56122987
DM
5320 "info" : {
5321 "GET" : {
56122987 5322 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
5323 "method" : "GET",
5324 "name" : "nextid",
56122987 5325 "parameters" : {
44660702 5326 "additionalProperties" : 0,
56122987
DM
5327 "properties" : {
5328 "vmid" : {
44660702 5329 "description" : "The (unique) ID of the VM.",
56122987 5330 "format" : "pve-vmid",
7aacca6f 5331 "minimum" : 1,
7aacca6f 5332 "optional" : 1,
4bd7df8b 5333 "type" : "integer",
013dc89f 5334 "typetext" : "<integer> (1 - N)"
56122987 5335 }
44660702 5336 }
56122987 5337 },
7aacca6f
DM
5338 "permissions" : {
5339 "user" : "all"
44660702
DM
5340 },
5341 "returns" : {
5342 "description" : "The next free VMID.",
5343 "type" : "integer"
7aacca6f 5344 }
56122987
DM
5345 }
5346 },
7aacca6f 5347 "leaf" : 1,
44660702
DM
5348 "path" : "/cluster/nextid",
5349 "text" : "nextid"
56122987
DM
5350 }
5351 ],
44660702
DM
5352 "info" : {
5353 "GET" : {
5354 "description" : "Cluster index.",
5355 "method" : "GET",
5356 "name" : "index",
5357 "parameters" : {
5358 "additionalProperties" : 0
5359 },
5360 "permissions" : {
5361 "user" : "all"
5362 },
5363 "returns" : {
5364 "items" : {
5365 "properties" : {},
5366 "type" : "object"
5367 },
5368 "links" : [
5369 {
5370 "href" : "{name}",
5371 "rel" : "child"
5372 }
5373 ],
5374 "type" : "array"
5375 }
5376 }
5377 },
5378 "leaf" : 0,
5379 "path" : "/cluster",
7aacca6f 5380 "text" : "cluster"
56122987
DM
5381 },
5382 {
56122987
DM
5383 "children" : [
5384 {
7aacca6f
DM
5385 "children" : [
5386 {
5387 "children" : [
5388 {
56122987
DM
5389 "children" : [
5390 {
56122987
DM
5391 "children" : [
5392 {
5393 "children" : [
5394 {
56122987
DM
5395 "info" : {
5396 "DELETE" : {
44660702 5397 "description" : "Delete rule.",
7aacca6f 5398 "method" : "DELETE",
44660702 5399 "name" : "delete_rule",
56122987 5400 "parameters" : {
44660702 5401 "additionalProperties" : 0,
56122987 5402 "properties" : {
44660702
DM
5403 "digest" : {
5404 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5405 "maxLength" : 40,
5406 "optional" : 1,
013dc89f
DM
5407 "type" : "string",
5408 "typetext" : "<string>"
44660702 5409 },
56122987 5410 "node" : {
7aacca6f 5411 "description" : "The cluster node name.",
44660702 5412 "format" : "pve-node",
013dc89f
DM
5413 "type" : "string",
5414 "typetext" : "<string>"
7aacca6f 5415 },
56122987 5416 "pos" : {
7aacca6f 5417 "description" : "Update rule at position <pos>.",
44660702 5418 "minimum" : 0,
56122987 5419 "optional" : 1,
4bd7df8b 5420 "type" : "integer",
013dc89f 5421 "typetext" : "<integer> (0 - N)"
44660702
DM
5422 },
5423 "vmid" : {
5424 "description" : "The (unique) ID of the VM.",
5425 "format" : "pve-vmid",
5426 "minimum" : 1,
4bd7df8b 5427 "type" : "integer",
013dc89f 5428 "typetext" : "<integer> (1 - N)"
56122987 5429 }
44660702 5430 }
7aacca6f 5431 },
56122987
DM
5432 "permissions" : {
5433 "check" : [
5434 "perm",
5435 "/vms/{vmid}",
5436 [
5437 "VM.Config.Network"
5438 ]
5439 ]
5440 },
44660702
DM
5441 "protected" : 1,
5442 "proxyto" : null,
56122987
DM
5443 "returns" : {
5444 "type" : "null"
44660702
DM
5445 }
5446 },
5447 "GET" : {
5448 "description" : "Get single rule data.",
5449 "method" : "GET",
5450 "name" : "get_rule",
5451 "parameters" : {
5452 "additionalProperties" : 0,
5453 "properties" : {
5454 "node" : {
5455 "description" : "The cluster node name.",
5456 "format" : "pve-node",
013dc89f
DM
5457 "type" : "string",
5458 "typetext" : "<string>"
44660702
DM
5459 },
5460 "pos" : {
5461 "description" : "Update rule at position <pos>.",
5462 "minimum" : 0,
5463 "optional" : 1,
4bd7df8b 5464 "type" : "integer",
013dc89f 5465 "typetext" : "<integer> (0 - N)"
44660702
DM
5466 },
5467 "vmid" : {
5468 "description" : "The (unique) ID of the VM.",
5469 "format" : "pve-vmid",
5470 "minimum" : 1,
4bd7df8b 5471 "type" : "integer",
013dc89f 5472 "typetext" : "<integer> (1 - N)"
44660702
DM
5473 }
5474 }
56122987 5475 },
56122987
DM
5476 "permissions" : {
5477 "check" : [
5478 "perm",
5479 "/vms/{vmid}",
5480 [
44660702 5481 "VM.Audit"
56122987
DM
5482 ]
5483 ]
5484 },
56122987 5485 "proxyto" : null,
44660702
DM
5486 "returns" : {
5487 "properties" : {
e2d681b3
TL
5488 "action" : {
5489 "type" : "string"
5490 },
5491 "comment" : {
5492 "optional" : 1,
5493 "type" : "string"
5494 },
5495 "dest" : {
5496 "optional" : 1,
5497 "type" : "string"
5498 },
5499 "dport" : {
5500 "optional" : 1,
5501 "type" : "string"
5502 },
5503 "enable" : {
5504 "optional" : 1,
5505 "type" : "integer"
5506 },
5507 "iface" : {
5508 "optional" : 1,
5509 "type" : "string"
5510 },
5511 "ipversion" : {
5512 "optional" : 1,
5513 "type" : "integer"
5514 },
95895385
TL
5515 "log" : {
5516 "description" : "Log level for firewall rule",
5517 "enum" : [
5518 "emerg",
5519 "alert",
5520 "crit",
5521 "err",
5522 "warning",
5523 "notice",
5524 "info",
5525 "debug",
5526 "nolog"
5527 ],
5528 "optional" : 1,
5529 "type" : "string"
5530 },
e2d681b3
TL
5531 "macro" : {
5532 "optional" : 1,
5f26e15b 5533 "type" : "string"
e2d681b3 5534 },
44660702
DM
5535 "pos" : {
5536 "type" : "integer"
e2d681b3
TL
5537 },
5538 "proto" : {
5539 "optional" : 1,
5540 "type" : "string"
5541 },
5542 "source" : {
5543 "optional" : 1,
5544 "type" : "string"
5545 },
5546 "sport" : {
5547 "optional" : 1,
5548 "type" : "string"
5549 },
5550 "type" : {
5551 "type" : "string"
44660702
DM
5552 }
5553 },
5554 "type" : "object"
5555 }
5556 },
5557 "PUT" : {
7aacca6f
DM
5558 "description" : "Modify rule data.",
5559 "method" : "PUT",
44660702 5560 "name" : "update_rule",
56122987 5561 "parameters" : {
44660702 5562 "additionalProperties" : 0,
56122987 5563 "properties" : {
44660702
DM
5564 "action" : {
5565 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
5566 "maxLength" : 20,
5567 "minLength" : 2,
56122987 5568 "optional" : 1,
44660702 5569 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
5570 "type" : "string"
5571 },
7aacca6f 5572 "comment" : {
e94f0d56 5573 "description" : "Descriptive comment.",
7aacca6f 5574 "optional" : 1,
013dc89f
DM
5575 "type" : "string",
5576 "typetext" : "<string>"
7aacca6f
DM
5577 },
5578 "delete" : {
7aacca6f 5579 "description" : "A list of settings you want to delete.",
44660702
DM
5580 "format" : "pve-configid-list",
5581 "optional" : 1,
013dc89f
DM
5582 "type" : "string",
5583 "typetext" : "<string>"
7aacca6f
DM
5584 },
5585 "dest" : {
44660702 5586 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
7aacca6f 5587 "format" : "pve-fw-addr-spec",
56122987 5588 "optional" : 1,
013dc89f
DM
5589 "type" : "string",
5590 "typetext" : "<string>"
56122987 5591 },
7aacca6f 5592 "digest" : {
44660702 5593 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 5594 "maxLength" : 40,
56122987 5595 "optional" : 1,
013dc89f
DM
5596 "type" : "string",
5597 "typetext" : "<string>"
44660702
DM
5598 },
5599 "dport" : {
5600 "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.",
5601 "format" : "pve-fw-dport-spec",
5602 "optional" : 1,
013dc89f
DM
5603 "type" : "string",
5604 "typetext" : "<string>"
56122987 5605 },
7aacca6f 5606 "enable" : {
e94f0d56 5607 "description" : "Flag to enable/disable a rule.",
44660702 5608 "minimum" : 0,
56122987 5609 "optional" : 1,
4bd7df8b 5610 "type" : "integer",
013dc89f 5611 "typetext" : "<integer> (0 - N)"
7aacca6f 5612 },
44660702
DM
5613 "iface" : {
5614 "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.",
5615 "format" : "pve-iface",
5616 "maxLength" : 20,
7aacca6f 5617 "minLength" : 2,
56122987 5618 "optional" : 1,
013dc89f
DM
5619 "type" : "string",
5620 "typetext" : "<string>"
56122987 5621 },
95895385
TL
5622 "log" : {
5623 "description" : "Log level for firewall rule.",
5624 "enum" : [
5625 "emerg",
5626 "alert",
5627 "crit",
5628 "err",
5629 "warning",
5630 "notice",
5631 "info",
5632 "debug",
5633 "nolog"
5634 ],
5635 "optional" : 1,
5636 "type" : "string"
5637 },
44660702 5638 "macro" : {
e94f0d56 5639 "description" : "Use predefined standard macro.",
44660702 5640 "maxLength" : 128,
56122987 5641 "optional" : 1,
013dc89f
DM
5642 "type" : "string",
5643 "typetext" : "<string>"
56122987 5644 },
44660702
DM
5645 "moveto" : {
5646 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
5647 "minimum" : 0,
56122987 5648 "optional" : 1,
4bd7df8b 5649 "type" : "integer",
013dc89f 5650 "typetext" : "<integer> (0 - N)"
56122987 5651 },
44660702
DM
5652 "node" : {
5653 "description" : "The cluster node name.",
5654 "format" : "pve-node",
013dc89f
DM
5655 "type" : "string",
5656 "typetext" : "<string>"
44660702
DM
5657 },
5658 "pos" : {
5659 "description" : "Update rule at position <pos>.",
5660 "minimum" : 0,
5661 "optional" : 1,
4bd7df8b 5662 "type" : "integer",
013dc89f 5663 "typetext" : "<integer> (0 - N)"
56122987 5664 },
44660702
DM
5665 "proto" : {
5666 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5667 "format" : "pve-fw-protocol-spec",
5668 "optional" : 1,
013dc89f
DM
5669 "type" : "string",
5670 "typetext" : "<string>"
7aacca6f 5671 },
44660702
DM
5672 "source" : {
5673 "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.",
5674 "format" : "pve-fw-addr-spec",
56122987 5675 "optional" : 1,
013dc89f
DM
5676 "type" : "string",
5677 "typetext" : "<string>"
56122987
DM
5678 },
5679 "sport" : {
5680 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
44660702
DM
5681 "format" : "pve-fw-sport-spec",
5682 "optional" : 1,
013dc89f
DM
5683 "type" : "string",
5684 "typetext" : "<string>"
44660702
DM
5685 },
5686 "type" : {
e94f0d56 5687 "description" : "Rule type.",
44660702
DM
5688 "enum" : [
5689 "in",
5690 "out",
5691 "group"
5692 ],
56122987 5693 "optional" : 1,
56122987 5694 "type" : "string"
44660702
DM
5695 },
5696 "vmid" : {
5697 "description" : "The (unique) ID of the VM.",
5698 "format" : "pve-vmid",
5699 "minimum" : 1,
4bd7df8b 5700 "type" : "integer",
013dc89f 5701 "typetext" : "<integer> (1 - N)"
56122987 5702 }
44660702 5703 }
56122987 5704 },
56122987
DM
5705 "permissions" : {
5706 "check" : [
5707 "perm",
5708 "/vms/{vmid}",
5709 [
44660702 5710 "VM.Config.Network"
56122987
DM
5711 ]
5712 ]
7aacca6f 5713 },
44660702 5714 "protected" : 1,
7aacca6f 5715 "proxyto" : null,
7aacca6f 5716 "returns" : {
44660702
DM
5717 "type" : "null"
5718 }
56122987 5719 }
7aacca6f 5720 },
44660702 5721 "leaf" : 1,
7aacca6f 5722 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 5723 "text" : "{pos}"
56122987
DM
5724 }
5725 ],
56122987 5726 "info" : {
44660702
DM
5727 "GET" : {
5728 "description" : "List rules.",
5729 "method" : "GET",
5730 "name" : "get_rules",
5731 "parameters" : {
5732 "additionalProperties" : 0,
5733 "properties" : {
5734 "node" : {
5735 "description" : "The cluster node name.",
5736 "format" : "pve-node",
013dc89f
DM
5737 "type" : "string",
5738 "typetext" : "<string>"
44660702
DM
5739 },
5740 "vmid" : {
5741 "description" : "The (unique) ID of the VM.",
5742 "format" : "pve-vmid",
5743 "minimum" : 1,
4bd7df8b 5744 "type" : "integer",
013dc89f 5745 "typetext" : "<integer> (1 - N)"
44660702
DM
5746 }
5747 }
56122987 5748 },
56122987
DM
5749 "permissions" : {
5750 "check" : [
5751 "perm",
5752 "/vms/{vmid}",
5753 [
44660702 5754 "VM.Audit"
56122987
DM
5755 ]
5756 ]
7aacca6f 5757 },
44660702
DM
5758 "proxyto" : null,
5759 "returns" : {
5760 "items" : {
5761 "properties" : {
5762 "pos" : {
5763 "type" : "integer"
5764 }
5765 },
5766 "type" : "object"
5767 },
5768 "links" : [
5769 {
5770 "href" : "{pos}",
5771 "rel" : "child"
5772 }
5773 ],
5774 "type" : "array"
5775 }
5776 },
5777 "POST" : {
5778 "description" : "Create new rule.",
7aacca6f 5779 "method" : "POST",
44660702 5780 "name" : "create_rule",
56122987 5781 "parameters" : {
44660702 5782 "additionalProperties" : 0,
56122987 5783 "properties" : {
44660702
DM
5784 "action" : {
5785 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
5786 "maxLength" : 20,
5787 "minLength" : 2,
5788 "optional" : 0,
5789 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5790 "type" : "string"
56122987 5791 },
44660702 5792 "comment" : {
e94f0d56 5793 "description" : "Descriptive comment.",
56122987 5794 "optional" : 1,
013dc89f
DM
5795 "type" : "string",
5796 "typetext" : "<string>"
56122987 5797 },
44660702
DM
5798 "dest" : {
5799 "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.",
5800 "format" : "pve-fw-addr-spec",
5801 "optional" : 1,
013dc89f
DM
5802 "type" : "string",
5803 "typetext" : "<string>"
56122987 5804 },
44660702
DM
5805 "digest" : {
5806 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5807 "maxLength" : 40,
56122987 5808 "optional" : 1,
013dc89f
DM
5809 "type" : "string",
5810 "typetext" : "<string>"
56122987 5811 },
7aacca6f
DM
5812 "dport" : {
5813 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
44660702 5814 "format" : "pve-fw-dport-spec",
7aacca6f 5815 "optional" : 1,
013dc89f
DM
5816 "type" : "string",
5817 "typetext" : "<string>"
56122987
DM
5818 },
5819 "enable" : {
e94f0d56 5820 "description" : "Flag to enable/disable a rule.",
56122987 5821 "minimum" : 0,
44660702 5822 "optional" : 1,
4bd7df8b 5823 "type" : "integer",
013dc89f 5824 "typetext" : "<integer> (0 - N)"
56122987 5825 },
44660702
DM
5826 "iface" : {
5827 "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.",
5828 "format" : "pve-iface",
5829 "maxLength" : 20,
7aacca6f 5830 "minLength" : 2,
44660702 5831 "optional" : 1,
013dc89f
DM
5832 "type" : "string",
5833 "typetext" : "<string>"
56122987 5834 },
95895385
TL
5835 "log" : {
5836 "description" : "Log level for firewall rule.",
5837 "enum" : [
5838 "emerg",
5839 "alert",
5840 "crit",
5841 "err",
5842 "warning",
5843 "notice",
5844 "info",
5845 "debug",
5846 "nolog"
5847 ],
5848 "optional" : 1,
5849 "type" : "string"
5850 },
44660702 5851 "macro" : {
e94f0d56 5852 "description" : "Use predefined standard macro.",
44660702 5853 "maxLength" : 128,
56122987 5854 "optional" : 1,
013dc89f
DM
5855 "type" : "string",
5856 "typetext" : "<string>"
7aacca6f 5857 },
44660702
DM
5858 "node" : {
5859 "description" : "The cluster node name.",
5860 "format" : "pve-node",
013dc89f
DM
5861 "type" : "string",
5862 "typetext" : "<string>"
44660702
DM
5863 },
5864 "pos" : {
5865 "description" : "Update rule at position <pos>.",
5866 "minimum" : 0,
5867 "optional" : 1,
4bd7df8b 5868 "type" : "integer",
013dc89f 5869 "typetext" : "<integer> (0 - N)"
44660702
DM
5870 },
5871 "proto" : {
5872 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5873 "format" : "pve-fw-protocol-spec",
7aacca6f 5874 "optional" : 1,
013dc89f
DM
5875 "type" : "string",
5876 "typetext" : "<string>"
7aacca6f
DM
5877 },
5878 "source" : {
5879 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
44660702 5880 "format" : "pve-fw-addr-spec",
7aacca6f 5881 "optional" : 1,
013dc89f
DM
5882 "type" : "string",
5883 "typetext" : "<string>"
7aacca6f 5884 },
44660702
DM
5885 "sport" : {
5886 "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.",
5887 "format" : "pve-fw-sport-spec",
7aacca6f 5888 "optional" : 1,
013dc89f
DM
5889 "type" : "string",
5890 "typetext" : "<string>"
7aacca6f 5891 },
44660702 5892 "type" : {
e94f0d56 5893 "description" : "Rule type.",
44660702
DM
5894 "enum" : [
5895 "in",
5896 "out",
5897 "group"
5898 ],
5899 "optional" : 0,
5900 "type" : "string"
7aacca6f 5901 },
7aacca6f 5902 "vmid" : {
44660702 5903 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
5904 "format" : "pve-vmid",
5905 "minimum" : 1,
4bd7df8b 5906 "type" : "integer",
013dc89f 5907 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5908 }
5909 }
5910 },
56122987
DM
5911 "permissions" : {
5912 "check" : [
5913 "perm",
5914 "/vms/{vmid}",
5915 [
44660702 5916 "VM.Config.Network"
56122987
DM
5917 ]
5918 ]
5919 },
44660702
DM
5920 "protected" : 1,
5921 "proxyto" : null,
56122987 5922 "returns" : {
44660702
DM
5923 "type" : "null"
5924 }
56122987
DM
5925 }
5926 },
44660702 5927 "leaf" : 0,
7aacca6f 5928 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 5929 "text" : "rules"
56122987
DM
5930 },
5931 {
5932 "children" : [
5933 {
56122987 5934 "info" : {
44660702
DM
5935 "DELETE" : {
5936 "description" : "Remove IP or Network alias.",
5937 "method" : "DELETE",
5938 "name" : "remove_alias",
56122987 5939 "parameters" : {
44660702 5940 "additionalProperties" : 0,
56122987 5941 "properties" : {
44660702
DM
5942 "digest" : {
5943 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5944 "maxLength" : 40,
5945 "optional" : 1,
013dc89f
DM
5946 "type" : "string",
5947 "typetext" : "<string>"
56122987
DM
5948 },
5949 "name" : {
56122987 5950 "description" : "Alias name.",
44660702 5951 "maxLength" : 64,
7aacca6f 5952 "minLength" : 2,
44660702 5953 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
5954 "type" : "string"
5955 },
7aacca6f 5956 "node" : {
44660702 5957 "description" : "The cluster node name.",
7aacca6f 5958 "format" : "pve-node",
013dc89f
DM
5959 "type" : "string",
5960 "typetext" : "<string>"
44660702
DM
5961 },
5962 "vmid" : {
5963 "description" : "The (unique) ID of the VM.",
5964 "format" : "pve-vmid",
5965 "minimum" : 1,
4bd7df8b 5966 "type" : "integer",
013dc89f 5967 "typetext" : "<integer> (1 - N)"
56122987 5968 }
44660702 5969 }
56122987 5970 },
7aacca6f
DM
5971 "permissions" : {
5972 "check" : [
5973 "perm",
5974 "/vms/{vmid}",
5975 [
5976 "VM.Config.Network"
5977 ]
5978 ]
56122987 5979 },
44660702
DM
5980 "protected" : 1,
5981 "returns" : {
5982 "type" : "null"
5983 }
5984 },
5985 "GET" : {
5986 "description" : "Read alias.",
5987 "method" : "GET",
5988 "name" : "read_alias",
56122987 5989 "parameters" : {
44660702 5990 "additionalProperties" : 0,
56122987 5991 "properties" : {
56122987 5992 "name" : {
7aacca6f 5993 "description" : "Alias name.",
44660702 5994 "maxLength" : 64,
56122987 5995 "minLength" : 2,
44660702 5996 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 5997 "type" : "string"
7aacca6f
DM
5998 },
5999 "node" : {
6000 "description" : "The cluster node name.",
44660702 6001 "format" : "pve-node",
013dc89f
DM
6002 "type" : "string",
6003 "typetext" : "<string>"
44660702
DM
6004 },
6005 "vmid" : {
6006 "description" : "The (unique) ID of the VM.",
6007 "format" : "pve-vmid",
6008 "minimum" : 1,
4bd7df8b 6009 "type" : "integer",
013dc89f 6010 "typetext" : "<integer> (1 - N)"
56122987 6011 }
44660702 6012 }
56122987 6013 },
44660702
DM
6014 "permissions" : {
6015 "check" : [
6016 "perm",
6017 "/vms/{vmid}",
6018 [
6019 "VM.Audit"
6020 ]
6021 ]
56122987 6022 },
44660702
DM
6023 "returns" : {
6024 "type" : "object"
6025 }
7aacca6f 6026 },
44660702
DM
6027 "PUT" : {
6028 "description" : "Update IP or Network alias.",
6029 "method" : "PUT",
6030 "name" : "update_alias",
56122987
DM
6031 "parameters" : {
6032 "additionalProperties" : 0,
6033 "properties" : {
44660702
DM
6034 "cidr" : {
6035 "description" : "Network/IP specification in CIDR format.",
6036 "format" : "IPorCIDR",
013dc89f
DM
6037 "type" : "string",
6038 "typetext" : "<string>"
44660702
DM
6039 },
6040 "comment" : {
6041 "optional" : 1,
013dc89f
DM
6042 "type" : "string",
6043 "typetext" : "<string>"
56122987
DM
6044 },
6045 "digest" : {
44660702 6046 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
6047 "maxLength" : 40,
6048 "optional" : 1,
013dc89f
DM
6049 "type" : "string",
6050 "typetext" : "<string>"
56122987 6051 },
7aacca6f 6052 "name" : {
44660702 6053 "description" : "Alias name.",
56122987
DM
6054 "maxLength" : 64,
6055 "minLength" : 2,
6056 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 6057 "type" : "string"
7aacca6f
DM
6058 },
6059 "node" : {
7aacca6f 6060 "description" : "The cluster node name.",
44660702 6061 "format" : "pve-node",
013dc89f
DM
6062 "type" : "string",
6063 "typetext" : "<string>"
44660702
DM
6064 },
6065 "rename" : {
6066 "description" : "Rename an existing alias.",
6067 "maxLength" : 64,
6068 "minLength" : 2,
6069 "optional" : 1,
6070 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6071 "type" : "string"
6072 },
6073 "vmid" : {
6074 "description" : "The (unique) ID of the VM.",
6075 "format" : "pve-vmid",
6076 "minimum" : 1,
4bd7df8b 6077 "type" : "integer",
013dc89f 6078 "typetext" : "<integer> (1 - N)"
56122987
DM
6079 }
6080 }
6081 },
7aacca6f
DM
6082 "permissions" : {
6083 "check" : [
6084 "perm",
6085 "/vms/{vmid}",
6086 [
6087 "VM.Config.Network"
6088 ]
6089 ]
6090 },
6091 "protected" : 1,
7aacca6f
DM
6092 "returns" : {
6093 "type" : "null"
44660702 6094 }
56122987
DM
6095 }
6096 },
44660702 6097 "leaf" : 1,
7aacca6f 6098 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 6099 "text" : "{name}"
56122987
DM
6100 }
6101 ],
6102 "info" : {
44660702
DM
6103 "GET" : {
6104 "description" : "List aliases",
6105 "method" : "GET",
6106 "name" : "get_aliases",
56122987 6107 "parameters" : {
44660702 6108 "additionalProperties" : 0,
56122987 6109 "properties" : {
7aacca6f 6110 "node" : {
7aacca6f 6111 "description" : "The cluster node name.",
44660702 6112 "format" : "pve-node",
013dc89f
DM
6113 "type" : "string",
6114 "typetext" : "<string>"
56122987 6115 },
44660702
DM
6116 "vmid" : {
6117 "description" : "The (unique) ID of the VM.",
6118 "format" : "pve-vmid",
6119 "minimum" : 1,
4bd7df8b 6120 "type" : "integer",
013dc89f 6121 "typetext" : "<integer> (1 - N)"
56122987 6122 }
44660702 6123 }
56122987 6124 },
56122987
DM
6125 "permissions" : {
6126 "check" : [
6127 "perm",
6128 "/vms/{vmid}",
6129 [
44660702 6130 "VM.Audit"
56122987
DM
6131 ]
6132 ]
6133 },
56122987
DM
6134 "returns" : {
6135 "items" : {
6136 "properties" : {
44660702 6137 "cidr" : {
56122987
DM
6138 "type" : "string"
6139 },
44660702
DM
6140 "comment" : {
6141 "optional" : 1,
7aacca6f 6142 "type" : "string"
56122987
DM
6143 },
6144 "digest" : {
56122987 6145 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 6146 "maxLength" : 40,
56122987
DM
6147 "optional" : 0,
6148 "type" : "string"
6149 },
44660702 6150 "name" : {
56122987
DM
6151 "type" : "string"
6152 }
44660702
DM
6153 },
6154 "type" : "object"
56122987 6155 },
56122987
DM
6156 "links" : [
6157 {
6158 "href" : "{name}",
6159 "rel" : "child"
6160 }
44660702
DM
6161 ],
6162 "type" : "array"
6163 }
6164 },
6165 "POST" : {
6166 "description" : "Create IP or Network Alias.",
6167 "method" : "POST",
6168 "name" : "create_alias",
56122987 6169 "parameters" : {
7aacca6f 6170 "additionalProperties" : 0,
56122987 6171 "properties" : {
44660702
DM
6172 "cidr" : {
6173 "description" : "Network/IP specification in CIDR format.",
6174 "format" : "IPorCIDR",
013dc89f
DM
6175 "type" : "string",
6176 "typetext" : "<string>"
44660702
DM
6177 },
6178 "comment" : {
6179 "optional" : 1,
013dc89f
DM
6180 "type" : "string",
6181 "typetext" : "<string>"
44660702
DM
6182 },
6183 "name" : {
6184 "description" : "Alias name.",
6185 "maxLength" : 64,
6186 "minLength" : 2,
6187 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6188 "type" : "string"
56122987
DM
6189 },
6190 "node" : {
7aacca6f 6191 "description" : "The cluster node name.",
44660702 6192 "format" : "pve-node",
013dc89f
DM
6193 "type" : "string",
6194 "typetext" : "<string>"
44660702
DM
6195 },
6196 "vmid" : {
6197 "description" : "The (unique) ID of the VM.",
6198 "format" : "pve-vmid",
6199 "minimum" : 1,
4bd7df8b 6200 "type" : "integer",
013dc89f 6201 "typetext" : "<integer> (1 - N)"
56122987 6202 }
7aacca6f 6203 }
56122987 6204 },
44660702
DM
6205 "permissions" : {
6206 "check" : [
6207 "perm",
6208 "/vms/{vmid}",
6209 [
6210 "VM.Config.Network"
6211 ]
6212 ]
6213 },
6214 "protected" : 1,
6215 "returns" : {
6216 "type" : "null"
6217 }
56122987 6218 }
44660702
DM
6219 },
6220 "leaf" : 0,
6221 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
6222 "text" : "aliases"
56122987
DM
6223 },
6224 {
56122987
DM
6225 "children" : [
6226 {
7aacca6f
DM
6227 "children" : [
6228 {
6229 "info" : {
6230 "DELETE" : {
44660702 6231 "description" : "Remove IP or Network from IPSet.",
7aacca6f 6232 "method" : "DELETE",
44660702 6233 "name" : "remove_ip",
7aacca6f 6234 "parameters" : {
44660702 6235 "additionalProperties" : 0,
7aacca6f 6236 "properties" : {
44660702
DM
6237 "cidr" : {
6238 "description" : "Network/IP specification in CIDR format.",
6239 "format" : "IPorCIDRorAlias",
013dc89f
DM
6240 "type" : "string",
6241 "typetext" : "<string>"
44660702
DM
6242 },
6243 "digest" : {
6244 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6245 "maxLength" : 40,
6246 "optional" : 1,
013dc89f
DM
6247 "type" : "string",
6248 "typetext" : "<string>"
44660702 6249 },
7aacca6f 6250 "name" : {
7aacca6f 6251 "description" : "IP set name.",
44660702
DM
6252 "maxLength" : 64,
6253 "minLength" : 2,
7aacca6f 6254 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 6255 "type" : "string"
7aacca6f
DM
6256 },
6257 "node" : {
6258 "description" : "The cluster node name.",
44660702 6259 "format" : "pve-node",
013dc89f
DM
6260 "type" : "string",
6261 "typetext" : "<string>"
7aacca6f
DM
6262 },
6263 "vmid" : {
44660702 6264 "description" : "The (unique) ID of the VM.",
7aacca6f 6265 "format" : "pve-vmid",
44660702 6266 "minimum" : 1,
4bd7df8b 6267 "type" : "integer",
013dc89f 6268 "typetext" : "<integer> (1 - N)"
7aacca6f 6269 }
44660702 6270 }
7aacca6f 6271 },
7aacca6f
DM
6272 "permissions" : {
6273 "check" : [
6274 "perm",
6275 "/vms/{vmid}",
6276 [
6277 "VM.Config.Network"
6278 ]
6279 ]
6280 },
6281 "protected" : 1,
44660702
DM
6282 "returns" : {
6283 "type" : "null"
6284 }
56122987 6285 },
44660702
DM
6286 "GET" : {
6287 "description" : "Read IP or Network settings from IPSet.",
6288 "method" : "GET",
6289 "name" : "read_ip",
7aacca6f 6290 "parameters" : {
44660702 6291 "additionalProperties" : 0,
7aacca6f 6292 "properties" : {
7aacca6f 6293 "cidr" : {
44660702 6294 "description" : "Network/IP specification in CIDR format.",
7aacca6f 6295 "format" : "IPorCIDRorAlias",
013dc89f
DM
6296 "type" : "string",
6297 "typetext" : "<string>"
7aacca6f
DM
6298 },
6299 "name" : {
7aacca6f 6300 "description" : "IP set name.",
44660702 6301 "maxLength" : 64,
7aacca6f 6302 "minLength" : 2,
44660702
DM
6303 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6304 "type" : "string"
7aacca6f 6305 },
44660702
DM
6306 "node" : {
6307 "description" : "The cluster node name.",
6308 "format" : "pve-node",
013dc89f
DM
6309 "type" : "string",
6310 "typetext" : "<string>"
7aacca6f 6311 },
44660702
DM
6312 "vmid" : {
6313 "description" : "The (unique) ID of the VM.",
6314 "format" : "pve-vmid",
6315 "minimum" : 1,
4bd7df8b 6316 "type" : "integer",
013dc89f 6317 "typetext" : "<integer> (1 - N)"
7aacca6f 6318 }
44660702 6319 }
7aacca6f 6320 },
44660702
DM
6321 "permissions" : {
6322 "check" : [
6323 "perm",
6324 "/vms/{vmid}",
6325 [
6326 "VM.Audit"
6327 ]
6328 ]
6329 },
6330 "protected" : 1,
7aacca6f 6331 "returns" : {
44660702 6332 "type" : "object"
7aacca6f 6333 }
56122987 6334 },
44660702
DM
6335 "PUT" : {
6336 "description" : "Update IP or Network settings",
6337 "method" : "PUT",
6338 "name" : "update_ip",
7aacca6f
DM
6339 "parameters" : {
6340 "additionalProperties" : 0,
6341 "properties" : {
44660702
DM
6342 "cidr" : {
6343 "description" : "Network/IP specification in CIDR format.",
6344 "format" : "IPorCIDRorAlias",
013dc89f
DM
6345 "type" : "string",
6346 "typetext" : "<string>"
44660702
DM
6347 },
6348 "comment" : {
6349 "optional" : 1,
013dc89f
DM
6350 "type" : "string",
6351 "typetext" : "<string>"
44660702
DM
6352 },
6353 "digest" : {
6354 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6355 "maxLength" : 40,
6356 "optional" : 1,
013dc89f
DM
6357 "type" : "string",
6358 "typetext" : "<string>"
44660702 6359 },
7aacca6f 6360 "name" : {
7aacca6f 6361 "description" : "IP set name.",
44660702 6362 "maxLength" : 64,
7aacca6f 6363 "minLength" : 2,
44660702
DM
6364 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6365 "type" : "string"
7aacca6f
DM
6366 },
6367 "node" : {
7aacca6f 6368 "description" : "The cluster node name.",
44660702 6369 "format" : "pve-node",
013dc89f
DM
6370 "type" : "string",
6371 "typetext" : "<string>"
7aacca6f 6372 },
44660702
DM
6373 "nomatch" : {
6374 "optional" : 1,
013dc89f
DM
6375 "type" : "boolean",
6376 "typetext" : "<boolean>"
7aacca6f
DM
6377 },
6378 "vmid" : {
6379 "description" : "The (unique) ID of the VM.",
44660702 6380 "format" : "pve-vmid",
7aacca6f 6381 "minimum" : 1,
4bd7df8b 6382 "type" : "integer",
013dc89f 6383 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
6384 }
6385 }
6386 },
6387 "permissions" : {
6388 "check" : [
6389 "perm",
6390 "/vms/{vmid}",
6391 [
44660702 6392 "VM.Config.Network"
7aacca6f
DM
6393 ]
6394 ]
6395 },
7aacca6f 6396 "protected" : 1,
7aacca6f 6397 "returns" : {
44660702 6398 "type" : "null"
7aacca6f 6399 }
56122987 6400 }
7aacca6f 6401 },
7aacca6f 6402 "leaf" : 1,
44660702
DM
6403 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
6404 "text" : "{cidr}"
7aacca6f 6405 }
44660702
DM
6406 ],
6407 "info" : {
6408 "DELETE" : {
6409 "description" : "Delete IPSet",
6410 "method" : "DELETE",
6411 "name" : "delete_ipset",
6412 "parameters" : {
6413 "additionalProperties" : 0,
6414 "properties" : {
6415 "name" : {
6416 "description" : "IP set name.",
6417 "maxLength" : 64,
6418 "minLength" : 2,
6419 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6420 "type" : "string"
6421 },
6422 "node" : {
6423 "description" : "The cluster node name.",
6424 "format" : "pve-node",
013dc89f
DM
6425 "type" : "string",
6426 "typetext" : "<string>"
44660702
DM
6427 },
6428 "vmid" : {
6429 "description" : "The (unique) ID of the VM.",
6430 "format" : "pve-vmid",
6431 "minimum" : 1,
4bd7df8b 6432 "type" : "integer",
013dc89f 6433 "typetext" : "<integer> (1 - N)"
44660702
DM
6434 }
6435 }
7aacca6f 6436 },
44660702
DM
6437 "permissions" : {
6438 "check" : [
6439 "perm",
6440 "/vms/{vmid}",
6441 [
6442 "VM.Config.Network"
6443 ]
6444 ]
7aacca6f 6445 },
44660702
DM
6446 "protected" : 1,
6447 "returns" : {
6448 "type" : "null"
6449 }
6450 },
6451 "GET" : {
6452 "description" : "List IPSet content",
6453 "method" : "GET",
6454 "name" : "get_ipset",
6455 "parameters" : {
6456 "additionalProperties" : 0,
6457 "properties" : {
6458 "name" : {
6459 "description" : "IP set name.",
6460 "maxLength" : 64,
6461 "minLength" : 2,
6462 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6463 "type" : "string"
6464 },
6465 "node" : {
6466 "description" : "The cluster node name.",
6467 "format" : "pve-node",
013dc89f
DM
6468 "type" : "string",
6469 "typetext" : "<string>"
44660702
DM
6470 },
6471 "vmid" : {
6472 "description" : "The (unique) ID of the VM.",
6473 "format" : "pve-vmid",
6474 "minimum" : 1,
4bd7df8b 6475 "type" : "integer",
013dc89f 6476 "typetext" : "<integer> (1 - N)"
44660702
DM
6477 }
6478 }
7aacca6f 6479 },
44660702
DM
6480 "permissions" : {
6481 "check" : [
6482 "perm",
6483 "/vms/{vmid}",
6484 [
6485 "VM.Audit"
6486 ]
6487 ]
7aacca6f 6488 },
44660702
DM
6489 "returns" : {
6490 "items" : {
6491 "properties" : {
6492 "cidr" : {
6493 "type" : "string"
6494 },
6495 "comment" : {
6496 "optional" : 1,
6497 "type" : "string"
6498 },
6499 "digest" : {
6500 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6501 "maxLength" : 40,
6502 "optional" : 0,
6503 "type" : "string"
6504 },
6505 "nomatch" : {
6506 "optional" : 1,
6507 "type" : "boolean"
6508 }
6509 },
6510 "type" : "object"
6511 },
6512 "links" : [
6513 {
6514 "href" : "{cidr}",
6515 "rel" : "child"
6516 }
6517 ],
6518 "type" : "array"
56122987
DM
6519 }
6520 },
44660702
DM
6521 "POST" : {
6522 "description" : "Add IP or Network to IPSet.",
6523 "method" : "POST",
6524 "name" : "create_ip",
6525 "parameters" : {
6526 "additionalProperties" : 0,
6527 "properties" : {
6528 "cidr" : {
6529 "description" : "Network/IP specification in CIDR format.",
6530 "format" : "IPorCIDRorAlias",
013dc89f
DM
6531 "type" : "string",
6532 "typetext" : "<string>"
44660702
DM
6533 },
6534 "comment" : {
6535 "optional" : 1,
013dc89f
DM
6536 "type" : "string",
6537 "typetext" : "<string>"
44660702
DM
6538 },
6539 "name" : {
6540 "description" : "IP set name.",
6541 "maxLength" : 64,
6542 "minLength" : 2,
6543 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6544 "type" : "string"
6545 },
6546 "node" : {
6547 "description" : "The cluster node name.",
6548 "format" : "pve-node",
013dc89f
DM
6549 "type" : "string",
6550 "typetext" : "<string>"
44660702
DM
6551 },
6552 "nomatch" : {
6553 "optional" : 1,
013dc89f
DM
6554 "type" : "boolean",
6555 "typetext" : "<boolean>"
44660702
DM
6556 },
6557 "vmid" : {
6558 "description" : "The (unique) ID of the VM.",
6559 "format" : "pve-vmid",
6560 "minimum" : 1,
4bd7df8b 6561 "type" : "integer",
013dc89f 6562 "typetext" : "<integer> (1 - N)"
44660702
DM
6563 }
6564 }
6565 },
6566 "permissions" : {
6567 "check" : [
6568 "perm",
6569 "/vms/{vmid}",
6570 [
6571 "VM.Config.Network"
6572 ]
6573 ]
6574 },
6575 "protected" : 1,
6576 "returns" : {
6577 "type" : "null"
6578 }
6579 }
6580 },
6581 "leaf" : 0,
6582 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
6583 "text" : "{name}"
6584 }
6585 ],
6586 "info" : {
6587 "GET" : {
6588 "description" : "List IPSets",
6589 "method" : "GET",
6590 "name" : "ipset_index",
6591 "parameters" : {
6592 "additionalProperties" : 0,
6593 "properties" : {
6594 "node" : {
6595 "description" : "The cluster node name.",
6596 "format" : "pve-node",
013dc89f
DM
6597 "type" : "string",
6598 "typetext" : "<string>"
44660702
DM
6599 },
6600 "vmid" : {
6601 "description" : "The (unique) ID of the VM.",
6602 "format" : "pve-vmid",
6603 "minimum" : 1,
4bd7df8b 6604 "type" : "integer",
013dc89f 6605 "typetext" : "<integer> (1 - N)"
44660702
DM
6606 }
6607 }
56122987
DM
6608 },
6609 "permissions" : {
6610 "check" : [
6611 "perm",
6612 "/vms/{vmid}",
6613 [
44660702 6614 "VM.Audit"
56122987
DM
6615 ]
6616 ]
6617 },
7aacca6f 6618 "returns" : {
7aacca6f
DM
6619 "items" : {
6620 "properties" : {
7aacca6f
DM
6621 "comment" : {
6622 "optional" : 1,
6623 "type" : "string"
6624 },
6625 "digest" : {
7aacca6f 6626 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
6627 "maxLength" : 40,
6628 "optional" : 0,
6629 "type" : "string"
6630 },
6631 "name" : {
6632 "description" : "IP set name.",
6633 "maxLength" : 64,
6634 "minLength" : 2,
6635 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6636 "type" : "string"
7aacca6f
DM
6637 }
6638 },
6639 "type" : "object"
6640 },
6641 "links" : [
6642 {
44660702
DM
6643 "href" : "{name}",
6644 "rel" : "child"
7aacca6f 6645 }
44660702
DM
6646 ],
6647 "type" : "array"
6648 }
6649 },
6650 "POST" : {
6651 "description" : "Create new IPSet",
6652 "method" : "POST",
6653 "name" : "create_ipset",
56122987
DM
6654 "parameters" : {
6655 "additionalProperties" : 0,
6656 "properties" : {
44660702
DM
6657 "comment" : {
6658 "optional" : 1,
013dc89f
DM
6659 "type" : "string",
6660 "typetext" : "<string>"
56122987 6661 },
44660702
DM
6662 "digest" : {
6663 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6664 "maxLength" : 40,
6665 "optional" : 1,
013dc89f
DM
6666 "type" : "string",
6667 "typetext" : "<string>"
44660702
DM
6668 },
6669 "name" : {
6670 "description" : "IP set name.",
6671 "maxLength" : 64,
6672 "minLength" : 2,
6673 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6674 "type" : "string"
6675 },
6676 "node" : {
6677 "description" : "The cluster node name.",
6678 "format" : "pve-node",
013dc89f
DM
6679 "type" : "string",
6680 "typetext" : "<string>"
44660702
DM
6681 },
6682 "rename" : {
6683 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
6684 "maxLength" : 64,
6685 "minLength" : 2,
6686 "optional" : 1,
6687 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6688 "type" : "string"
6689 },
6690 "vmid" : {
6691 "description" : "The (unique) ID of the VM.",
6692 "format" : "pve-vmid",
6693 "minimum" : 1,
4bd7df8b 6694 "type" : "integer",
013dc89f 6695 "typetext" : "<integer> (1 - N)"
44660702
DM
6696 }
6697 }
6698 },
7aacca6f
DM
6699 "permissions" : {
6700 "check" : [
6701 "perm",
6702 "/vms/{vmid}",
6703 [
6704 "VM.Config.Network"
6705 ]
6706 ]
6707 },
44660702 6708 "protected" : 1,
56122987 6709 "returns" : {
7aacca6f 6710 "type" : "null"
44660702
DM
6711 }
6712 }
6713 },
6714 "leaf" : 0,
6715 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
6716 "text" : "ipset"
6717 },
6718 {
6719 "info" : {
6720 "GET" : {
6721 "description" : "Get VM firewall options.",
6722 "method" : "GET",
6723 "name" : "get_options",
7aacca6f
DM
6724 "parameters" : {
6725 "additionalProperties" : 0,
56122987 6726 "properties" : {
7aacca6f
DM
6727 "node" : {
6728 "description" : "The cluster node name.",
44660702 6729 "format" : "pve-node",
013dc89f
DM
6730 "type" : "string",
6731 "typetext" : "<string>"
7aacca6f 6732 },
44660702
DM
6733 "vmid" : {
6734 "description" : "The (unique) ID of the VM.",
6735 "format" : "pve-vmid",
6736 "minimum" : 1,
4bd7df8b 6737 "type" : "integer",
013dc89f 6738 "typetext" : "<integer> (1 - N)"
44660702
DM
6739 }
6740 }
6741 },
6742 "permissions" : {
6743 "check" : [
6744 "perm",
6745 "/vms/{vmid}",
6746 [
6747 "VM.Audit"
6748 ]
6749 ]
6750 },
6751 "proxyto" : "node",
6752 "returns" : {
6753 "properties" : {
6754 "dhcp" : {
5c1699e5 6755 "default" : 0,
44660702 6756 "description" : "Enable DHCP.",
56122987 6757 "optional" : 1,
44660702 6758 "type" : "boolean"
56122987 6759 },
44660702 6760 "enable" : {
5c1699e5 6761 "default" : 0,
44660702 6762 "description" : "Enable/disable firewall rules.",
7aacca6f 6763 "optional" : 1,
44660702 6764 "type" : "boolean"
56122987 6765 },
44660702
DM
6766 "ipfilter" : {
6767 "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
7aacca6f 6768 "optional" : 1,
44660702 6769 "type" : "boolean"
7aacca6f 6770 },
56122987 6771 "log_level_in" : {
7aacca6f 6772 "description" : "Log level for incoming traffic.",
56122987
DM
6773 "enum" : [
6774 "emerg",
6775 "alert",
6776 "crit",
6777 "err",
6778 "warning",
6779 "notice",
6780 "info",
6781 "debug",
6782 "nolog"
6783 ],
56122987
DM
6784 "optional" : 1,
6785 "type" : "string"
6786 },
44660702
DM
6787 "log_level_out" : {
6788 "description" : "Log level for outgoing traffic.",
6789 "enum" : [
6790 "emerg",
6791 "alert",
6792 "crit",
6793 "err",
6794 "warning",
6795 "notice",
6796 "info",
6797 "debug",
6798 "nolog"
6799 ],
6800 "optional" : 1,
6801 "type" : "string"
6802 },
6803 "macfilter" : {
5c1699e5 6804 "default" : 0,
44660702 6805 "description" : "Enable/disable MAC address filter.",
56122987 6806 "optional" : 1,
7aacca6f 6807 "type" : "boolean"
56122987
DM
6808 },
6809 "ndp" : {
5c1699e5
TL
6810 "default" : 0,
6811 "description" : "Enable NDP (Neighbor Discovery Protocol).",
56122987 6812 "optional" : 1,
44660702 6813 "type" : "boolean"
56122987
DM
6814 },
6815 "policy_in" : {
56122987
DM
6816 "description" : "Input policy.",
6817 "enum" : [
6818 "ACCEPT",
6819 "REJECT",
6820 "DROP"
44660702
DM
6821 ],
6822 "optional" : 1,
6823 "type" : "string"
56122987 6824 },
44660702
DM
6825 "policy_out" : {
6826 "description" : "Output policy.",
6827 "enum" : [
6828 "ACCEPT",
6829 "REJECT",
6830 "DROP"
6831 ],
6832 "optional" : 1,
6833 "type" : "string"
6834 },
6835 "radv" : {
6836 "description" : "Allow sending Router Advertisement.",
6837 "optional" : 1,
6838 "type" : "boolean"
6839 }
6840 },
6841 "type" : "object"
6842 }
6843 },
6844 "PUT" : {
6845 "description" : "Set Firewall options.",
6846 "method" : "PUT",
6847 "name" : "set_options",
6848 "parameters" : {
6849 "additionalProperties" : 0,
6850 "properties" : {
6851 "delete" : {
6852 "description" : "A list of settings you want to delete.",
6853 "format" : "pve-configid-list",
6854 "optional" : 1,
013dc89f
DM
6855 "type" : "string",
6856 "typetext" : "<string>"
44660702
DM
6857 },
6858 "dhcp" : {
5c1699e5 6859 "default" : 0,
44660702 6860 "description" : "Enable DHCP.",
7aacca6f 6861 "optional" : 1,
013dc89f
DM
6862 "type" : "boolean",
6863 "typetext" : "<boolean>"
7aacca6f
DM
6864 },
6865 "digest" : {
6866 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 6867 "maxLength" : 40,
7aacca6f 6868 "optional" : 1,
013dc89f
DM
6869 "type" : "string",
6870 "typetext" : "<string>"
7aacca6f
DM
6871 },
6872 "enable" : {
5c1699e5 6873 "default" : 0,
7aacca6f 6874 "description" : "Enable/disable firewall rules.",
56122987 6875 "optional" : 1,
013dc89f
DM
6876 "type" : "boolean",
6877 "typetext" : "<boolean>"
7aacca6f 6878 },
44660702
DM
6879 "ipfilter" : {
6880 "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.",
6881 "optional" : 1,
013dc89f
DM
6882 "type" : "boolean",
6883 "typetext" : "<boolean>"
44660702
DM
6884 },
6885 "log_level_in" : {
6886 "description" : "Log level for incoming traffic.",
56122987
DM
6887 "enum" : [
6888 "emerg",
6889 "alert",
6890 "crit",
6891 "err",
6892 "warning",
6893 "notice",
6894 "info",
6895 "debug",
6896 "nolog"
7aacca6f 6897 ],
7aacca6f 6898 "optional" : 1,
44660702 6899 "type" : "string"
7aacca6f 6900 },
44660702
DM
6901 "log_level_out" : {
6902 "description" : "Log level for outgoing traffic.",
56122987
DM
6903 "enum" : [
6904 "emerg",
6905 "alert",
6906 "crit",
6907 "err",
6908 "warning",
6909 "notice",
6910 "info",
6911 "debug",
6912 "nolog"
6913 ],
56122987 6914 "optional" : 1,
44660702 6915 "type" : "string"
56122987
DM
6916 },
6917 "macfilter" : {
5c1699e5 6918 "default" : 0,
56122987 6919 "description" : "Enable/disable MAC address filter.",
7aacca6f 6920 "optional" : 1,
013dc89f
DM
6921 "type" : "boolean",
6922 "typetext" : "<boolean>"
56122987 6923 },
44660702 6924 "ndp" : {
5c1699e5
TL
6925 "default" : 0,
6926 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702 6927 "optional" : 1,
013dc89f
DM
6928 "type" : "boolean",
6929 "typetext" : "<boolean>"
44660702
DM
6930 },
6931 "node" : {
6932 "description" : "The cluster node name.",
6933 "format" : "pve-node",
013dc89f
DM
6934 "type" : "string",
6935 "typetext" : "<string>"
44660702 6936 },
56122987 6937 "policy_in" : {
44660702 6938 "description" : "Input policy.",
56122987
DM
6939 "enum" : [
6940 "ACCEPT",
6941 "REJECT",
6942 "DROP"
7aacca6f 6943 ],
56122987 6944 "optional" : 1,
7aacca6f 6945 "type" : "string"
56122987 6946 },
44660702
DM
6947 "policy_out" : {
6948 "description" : "Output policy.",
6949 "enum" : [
6950 "ACCEPT",
6951 "REJECT",
6952 "DROP"
6953 ],
56122987 6954 "optional" : 1,
44660702 6955 "type" : "string"
56122987 6956 },
44660702
DM
6957 "radv" : {
6958 "description" : "Allow sending Router Advertisement.",
56122987 6959 "optional" : 1,
013dc89f
DM
6960 "type" : "boolean",
6961 "typetext" : "<boolean>"
7aacca6f
DM
6962 },
6963 "vmid" : {
6964 "description" : "The (unique) ID of the VM.",
44660702 6965 "format" : "pve-vmid",
7aacca6f 6966 "minimum" : 1,
4bd7df8b 6967 "type" : "integer",
013dc89f 6968 "typetext" : "<integer> (1 - N)"
56122987
DM
6969 }
6970 }
6971 },
56122987
DM
6972 "permissions" : {
6973 "check" : [
6974 "perm",
6975 "/vms/{vmid}",
6976 [
44660702 6977 "VM.Config.Network"
56122987
DM
6978 ]
6979 ]
7aacca6f 6980 },
44660702 6981 "protected" : 1,
7aacca6f 6982 "proxyto" : "node",
44660702
DM
6983 "returns" : {
6984 "type" : "null"
6985 }
56122987
DM
6986 }
6987 },
44660702 6988 "leaf" : 1,
7aacca6f 6989 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 6990 "text" : "options"
56122987
DM
6991 },
6992 {
56122987
DM
6993 "info" : {
6994 "GET" : {
44660702
DM
6995 "description" : "Read firewall log",
6996 "method" : "GET",
6997 "name" : "log",
6998 "parameters" : {
6999 "additionalProperties" : 0,
7000 "properties" : {
7001 "limit" : {
7002 "minimum" : 0,
7003 "optional" : 1,
4bd7df8b 7004 "type" : "integer",
013dc89f 7005 "typetext" : "<integer> (0 - N)"
56122987 7006 },
44660702
DM
7007 "node" : {
7008 "description" : "The cluster node name.",
7009 "format" : "pve-node",
013dc89f
DM
7010 "type" : "string",
7011 "typetext" : "<string>"
44660702
DM
7012 },
7013 "start" : {
7014 "minimum" : 0,
7015 "optional" : 1,
4bd7df8b 7016 "type" : "integer",
013dc89f 7017 "typetext" : "<integer> (0 - N)"
44660702
DM
7018 },
7019 "vmid" : {
7020 "description" : "The (unique) ID of the VM.",
7021 "format" : "pve-vmid",
7022 "minimum" : 1,
4bd7df8b 7023 "type" : "integer",
013dc89f 7024 "typetext" : "<integer> (1 - N)"
44660702
DM
7025 }
7026 }
7aacca6f 7027 },
7aacca6f
DM
7028 "permissions" : {
7029 "check" : [
7030 "perm",
7031 "/vms/{vmid}",
7032 [
7033 "VM.Console"
7034 ]
7035 ]
56122987 7036 },
7aacca6f 7037 "protected" : 1,
44660702
DM
7038 "proxyto" : "node",
7039 "returns" : {
7040 "items" : {
7041 "properties" : {
7042 "n" : {
7043 "description" : "Line number",
7044 "type" : "integer"
7045 },
7046 "t" : {
7047 "description" : "Line text",
7048 "type" : "string"
7049 }
56122987 7050 },
44660702 7051 "type" : "object"
7aacca6f 7052 },
44660702 7053 "type" : "array"
7aacca6f
DM
7054 }
7055 }
7056 },
44660702 7057 "leaf" : 1,
7aacca6f 7058 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 7059 "text" : "log"
7aacca6f
DM
7060 },
7061 {
7aacca6f
DM
7062 "info" : {
7063 "GET" : {
7064 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
7065 "method" : "GET",
7066 "name" : "refs",
56122987 7067 "parameters" : {
44660702 7068 "additionalProperties" : 0,
56122987
DM
7069 "properties" : {
7070 "node" : {
7aacca6f 7071 "description" : "The cluster node name.",
44660702 7072 "format" : "pve-node",
013dc89f
DM
7073 "type" : "string",
7074 "typetext" : "<string>"
56122987
DM
7075 },
7076 "type" : {
56122987
DM
7077 "description" : "Only list references of specified type.",
7078 "enum" : [
7079 "alias",
7080 "ipset"
7aacca6f 7081 ],
44660702
DM
7082 "optional" : 1,
7083 "type" : "string"
7084 },
7085 "vmid" : {
7086 "description" : "The (unique) ID of the VM.",
7087 "format" : "pve-vmid",
7088 "minimum" : 1,
4bd7df8b 7089 "type" : "integer",
013dc89f 7090 "typetext" : "<integer> (1 - N)"
56122987 7091 }
44660702
DM
7092 }
7093 },
7094 "permissions" : {
7095 "check" : [
7096 "perm",
7097 "/vms/{vmid}",
7098 [
7099 "VM.Audit"
7100 ]
7101 ]
56122987
DM
7102 },
7103 "returns" : {
56122987
DM
7104 "items" : {
7105 "properties" : {
44660702
DM
7106 "comment" : {
7107 "optional" : 1,
56122987
DM
7108 "type" : "string"
7109 },
7110 "name" : {
7111 "type" : "string"
7112 },
44660702
DM
7113 "type" : {
7114 "enum" : [
7115 "alias",
7116 "ipset"
7117 ],
7aacca6f 7118 "type" : "string"
56122987
DM
7119 }
7120 },
7121 "type" : "object"
7aacca6f
DM
7122 },
7123 "type" : "array"
7124 }
56122987 7125 }
44660702
DM
7126 },
7127 "leaf" : 1,
7128 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
7129 "text" : "refs"
56122987
DM
7130 }
7131 ],
56122987
DM
7132 "info" : {
7133 "GET" : {
44660702 7134 "description" : "Directory index.",
56122987 7135 "method" : "GET",
44660702 7136 "name" : "index",
56122987 7137 "parameters" : {
44660702 7138 "additionalProperties" : 0,
56122987
DM
7139 "properties" : {
7140 "node" : {
7141 "description" : "The cluster node name.",
44660702 7142 "format" : "pve-node",
013dc89f
DM
7143 "type" : "string",
7144 "typetext" : "<string>"
56122987
DM
7145 },
7146 "vmid" : {
44660702 7147 "description" : "The (unique) ID of the VM.",
56122987
DM
7148 "format" : "pve-vmid",
7149 "minimum" : 1,
4bd7df8b 7150 "type" : "integer",
013dc89f 7151 "typetext" : "<integer> (1 - N)"
56122987 7152 }
44660702 7153 }
56122987 7154 },
56122987 7155 "permissions" : {
27a7acb2
DM
7156 "user" : "all"
7157 },
7158 "returns" : {
7159 "items" : {
7160 "properties" : {},
7161 "type" : "object"
7162 },
7163 "links" : [
7164 {
7165 "href" : "{name}",
7166 "rel" : "child"
7167 }
7168 ],
7169 "type" : "array"
7170 }
7171 }
7172 },
7173 "leaf" : 0,
7174 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
7175 "text" : "firewall"
7176 },
7177 {
7178 "children" : [
7179 {
7180 "info" : {
7181 "POST" : {
7182 "description" : "Execute fsfreeze-freeze.",
7183 "method" : "POST",
7184 "name" : "fsfreeze-freeze",
7185 "parameters" : {
7186 "additionalProperties" : 0,
7187 "properties" : {
7188 "node" : {
7189 "description" : "The cluster node name.",
7190 "format" : "pve-node",
7191 "type" : "string",
7192 "typetext" : "<string>"
7193 },
7194 "vmid" : {
7195 "description" : "The (unique) ID of the VM.",
7196 "format" : "pve-vmid",
7197 "minimum" : 1,
7198 "type" : "integer",
7199 "typetext" : "<integer> (1 - N)"
7200 }
7201 }
7202 },
7203 "permissions" : {
7204 "check" : [
7205 "perm",
7206 "/vms/{vmid}",
7207 [
7208 "VM.Monitor"
7209 ]
7210 ]
7211 },
7212 "protected" : 1,
7213 "proxyto" : "node",
7214 "returns" : {
7215 "description" : "Returns an object with a single `result` property.",
7216 "type" : "object"
7217 }
7218 }
7219 },
7220 "leaf" : 1,
7221 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
7222 "text" : "fsfreeze-freeze"
7223 },
7224 {
7225 "info" : {
7226 "POST" : {
7227 "description" : "Execute fsfreeze-status.",
7228 "method" : "POST",
7229 "name" : "fsfreeze-status",
7230 "parameters" : {
7231 "additionalProperties" : 0,
7232 "properties" : {
7233 "node" : {
7234 "description" : "The cluster node name.",
7235 "format" : "pve-node",
7236 "type" : "string",
7237 "typetext" : "<string>"
7238 },
7239 "vmid" : {
7240 "description" : "The (unique) ID of the VM.",
7241 "format" : "pve-vmid",
7242 "minimum" : 1,
7243 "type" : "integer",
7244 "typetext" : "<integer> (1 - N)"
7245 }
7246 }
7247 },
7248 "permissions" : {
7249 "check" : [
7250 "perm",
7251 "/vms/{vmid}",
7252 [
7253 "VM.Monitor"
7254 ]
7255 ]
7256 },
7257 "protected" : 1,
7258 "proxyto" : "node",
7259 "returns" : {
7260 "description" : "Returns an object with a single `result` property.",
7261 "type" : "object"
7262 }
7263 }
7264 },
7265 "leaf" : 1,
7266 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
7267 "text" : "fsfreeze-status"
7268 },
7269 {
7270 "info" : {
7271 "POST" : {
7272 "description" : "Execute fsfreeze-thaw.",
7273 "method" : "POST",
7274 "name" : "fsfreeze-thaw",
7275 "parameters" : {
7276 "additionalProperties" : 0,
7277 "properties" : {
7278 "node" : {
7279 "description" : "The cluster node name.",
7280 "format" : "pve-node",
7281 "type" : "string",
7282 "typetext" : "<string>"
7283 },
7284 "vmid" : {
7285 "description" : "The (unique) ID of the VM.",
7286 "format" : "pve-vmid",
7287 "minimum" : 1,
7288 "type" : "integer",
7289 "typetext" : "<integer> (1 - N)"
7290 }
7291 }
7292 },
7293 "permissions" : {
7294 "check" : [
7295 "perm",
7296 "/vms/{vmid}",
7297 [
7298 "VM.Monitor"
7299 ]
7300 ]
7301 },
7302 "protected" : 1,
7303 "proxyto" : "node",
7304 "returns" : {
7305 "description" : "Returns an object with a single `result` property.",
7306 "type" : "object"
7307 }
7308 }
7309 },
7310 "leaf" : 1,
7311 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
7312 "text" : "fsfreeze-thaw"
7313 },
7314 {
7315 "info" : {
7316 "POST" : {
7317 "description" : "Execute fstrim.",
7318 "method" : "POST",
7319 "name" : "fstrim",
7320 "parameters" : {
7321 "additionalProperties" : 0,
7322 "properties" : {
7323 "node" : {
7324 "description" : "The cluster node name.",
7325 "format" : "pve-node",
7326 "type" : "string",
7327 "typetext" : "<string>"
7328 },
7329 "vmid" : {
7330 "description" : "The (unique) ID of the VM.",
7331 "format" : "pve-vmid",
7332 "minimum" : 1,
7333 "type" : "integer",
7334 "typetext" : "<integer> (1 - N)"
7335 }
7336 }
7337 },
7338 "permissions" : {
7339 "check" : [
7340 "perm",
7341 "/vms/{vmid}",
7342 [
7343 "VM.Monitor"
7344 ]
7345 ]
7346 },
7347 "protected" : 1,
7348 "proxyto" : "node",
7349 "returns" : {
7350 "description" : "Returns an object with a single `result` property.",
7351 "type" : "object"
7352 }
7353 }
7354 },
7355 "leaf" : 1,
7356 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
7357 "text" : "fstrim"
7358 },
7359 {
7360 "info" : {
7361 "GET" : {
7362 "description" : "Execute get-fsinfo.",
7363 "method" : "GET",
7364 "name" : "get-fsinfo",
7365 "parameters" : {
7366 "additionalProperties" : 0,
7367 "properties" : {
7368 "node" : {
7369 "description" : "The cluster node name.",
7370 "format" : "pve-node",
7371 "type" : "string",
7372 "typetext" : "<string>"
7373 },
7374 "vmid" : {
7375 "description" : "The (unique) ID of the VM.",
7376 "format" : "pve-vmid",
7377 "minimum" : 1,
7378 "type" : "integer",
7379 "typetext" : "<integer> (1 - N)"
7380 }
7381 }
7382 },
7383 "permissions" : {
7384 "check" : [
7385 "perm",
7386 "/vms/{vmid}",
7387 [
7388 "VM.Monitor"
7389 ]
7390 ]
7391 },
7392 "protected" : 1,
7393 "proxyto" : "node",
7394 "returns" : {
7395 "description" : "Returns an object with a single `result` property.",
7396 "type" : "object"
7397 }
7398 }
7399 },
7400 "leaf" : 1,
7401 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
7402 "text" : "get-fsinfo"
7403 },
7404 {
7405 "info" : {
7406 "GET" : {
7407 "description" : "Execute get-host-name.",
7408 "method" : "GET",
7409 "name" : "get-host-name",
7410 "parameters" : {
7411 "additionalProperties" : 0,
7412 "properties" : {
7413 "node" : {
7414 "description" : "The cluster node name.",
7415 "format" : "pve-node",
7416 "type" : "string",
7417 "typetext" : "<string>"
7418 },
7419 "vmid" : {
7420 "description" : "The (unique) ID of the VM.",
7421 "format" : "pve-vmid",
7422 "minimum" : 1,
7423 "type" : "integer",
7424 "typetext" : "<integer> (1 - N)"
7425 }
7426 }
7427 },
7428 "permissions" : {
7429 "check" : [
7430 "perm",
7431 "/vms/{vmid}",
7432 [
7433 "VM.Monitor"
7434 ]
7435 ]
7436 },
7437 "protected" : 1,
7438 "proxyto" : "node",
7439 "returns" : {
7440 "description" : "Returns an object with a single `result` property.",
7441 "type" : "object"
7442 }
7443 }
7444 },
7445 "leaf" : 1,
7446 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
7447 "text" : "get-host-name"
7448 },
7449 {
7450 "info" : {
7451 "GET" : {
7452 "description" : "Execute get-memory-block-info.",
7453 "method" : "GET",
7454 "name" : "get-memory-block-info",
7455 "parameters" : {
7456 "additionalProperties" : 0,
7457 "properties" : {
7458 "node" : {
7459 "description" : "The cluster node name.",
7460 "format" : "pve-node",
7461 "type" : "string",
7462 "typetext" : "<string>"
7463 },
7464 "vmid" : {
7465 "description" : "The (unique) ID of the VM.",
7466 "format" : "pve-vmid",
7467 "minimum" : 1,
7468 "type" : "integer",
7469 "typetext" : "<integer> (1 - N)"
7470 }
7471 }
7472 },
7473 "permissions" : {
7474 "check" : [
7475 "perm",
7476 "/vms/{vmid}",
7477 [
7478 "VM.Monitor"
7479 ]
7480 ]
7481 },
7482 "protected" : 1,
7483 "proxyto" : "node",
7484 "returns" : {
7485 "description" : "Returns an object with a single `result` property.",
7486 "type" : "object"
7487 }
7488 }
7489 },
7490 "leaf" : 1,
7491 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
7492 "text" : "get-memory-block-info"
7493 },
7494 {
7495 "info" : {
7496 "GET" : {
7497 "description" : "Execute get-memory-blocks.",
7498 "method" : "GET",
7499 "name" : "get-memory-blocks",
7500 "parameters" : {
7501 "additionalProperties" : 0,
7502 "properties" : {
7503 "node" : {
7504 "description" : "The cluster node name.",
7505 "format" : "pve-node",
7506 "type" : "string",
7507 "typetext" : "<string>"
7508 },
7509 "vmid" : {
7510 "description" : "The (unique) ID of the VM.",
7511 "format" : "pve-vmid",
7512 "minimum" : 1,
7513 "type" : "integer",
7514 "typetext" : "<integer> (1 - N)"
7515 }
7516 }
7517 },
7518 "permissions" : {
7519 "check" : [
7520 "perm",
7521 "/vms/{vmid}",
7522 [
7523 "VM.Monitor"
7524 ]
7525 ]
7526 },
7527 "protected" : 1,
7528 "proxyto" : "node",
7529 "returns" : {
7530 "description" : "Returns an object with a single `result` property.",
7531 "type" : "object"
7532 }
7533 }
7534 },
7535 "leaf" : 1,
7536 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
7537 "text" : "get-memory-blocks"
7538 },
7539 {
7540 "info" : {
7541 "GET" : {
7542 "description" : "Execute get-osinfo.",
7543 "method" : "GET",
7544 "name" : "get-osinfo",
7545 "parameters" : {
7546 "additionalProperties" : 0,
7547 "properties" : {
7548 "node" : {
7549 "description" : "The cluster node name.",
7550 "format" : "pve-node",
7551 "type" : "string",
7552 "typetext" : "<string>"
7553 },
7554 "vmid" : {
7555 "description" : "The (unique) ID of the VM.",
7556 "format" : "pve-vmid",
7557 "minimum" : 1,
7558 "type" : "integer",
7559 "typetext" : "<integer> (1 - N)"
7560 }
7561 }
7562 },
7563 "permissions" : {
7564 "check" : [
7565 "perm",
7566 "/vms/{vmid}",
7567 [
7568 "VM.Monitor"
7569 ]
7570 ]
7571 },
7572 "protected" : 1,
7573 "proxyto" : "node",
7574 "returns" : {
7575 "description" : "Returns an object with a single `result` property.",
7576 "type" : "object"
7577 }
7578 }
7579 },
7580 "leaf" : 1,
7581 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
7582 "text" : "get-osinfo"
7583 },
7584 {
7585 "info" : {
7586 "GET" : {
7587 "description" : "Execute get-time.",
7588 "method" : "GET",
7589 "name" : "get-time",
7590 "parameters" : {
7591 "additionalProperties" : 0,
7592 "properties" : {
7593 "node" : {
7594 "description" : "The cluster node name.",
7595 "format" : "pve-node",
7596 "type" : "string",
7597 "typetext" : "<string>"
7598 },
7599 "vmid" : {
7600 "description" : "The (unique) ID of the VM.",
7601 "format" : "pve-vmid",
7602 "minimum" : 1,
7603 "type" : "integer",
7604 "typetext" : "<integer> (1 - N)"
7605 }
7606 }
7607 },
7608 "permissions" : {
7609 "check" : [
7610 "perm",
7611 "/vms/{vmid}",
7612 [
7613 "VM.Monitor"
7614 ]
7615 ]
7616 },
7617 "protected" : 1,
7618 "proxyto" : "node",
7619 "returns" : {
7620 "description" : "Returns an object with a single `result` property.",
7621 "type" : "object"
7622 }
7623 }
7624 },
7625 "leaf" : 1,
7626 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
7627 "text" : "get-time"
7628 },
7629 {
7630 "info" : {
7631 "GET" : {
7632 "description" : "Execute get-timezone.",
7633 "method" : "GET",
7634 "name" : "get-timezone",
7635 "parameters" : {
7636 "additionalProperties" : 0,
7637 "properties" : {
7638 "node" : {
7639 "description" : "The cluster node name.",
7640 "format" : "pve-node",
7641 "type" : "string",
7642 "typetext" : "<string>"
7643 },
7644 "vmid" : {
7645 "description" : "The (unique) ID of the VM.",
7646 "format" : "pve-vmid",
7647 "minimum" : 1,
7648 "type" : "integer",
7649 "typetext" : "<integer> (1 - N)"
7650 }
7651 }
7652 },
7653 "permissions" : {
7654 "check" : [
7655 "perm",
7656 "/vms/{vmid}",
7657 [
7658 "VM.Monitor"
7659 ]
7660 ]
7661 },
7662 "protected" : 1,
7663 "proxyto" : "node",
7664 "returns" : {
7665 "description" : "Returns an object with a single `result` property.",
7666 "type" : "object"
7667 }
7668 }
7669 },
7670 "leaf" : 1,
7671 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
7672 "text" : "get-timezone"
7673 },
7674 {
7675 "info" : {
7676 "GET" : {
7677 "description" : "Execute get-users.",
7678 "method" : "GET",
7679 "name" : "get-users",
7680 "parameters" : {
7681 "additionalProperties" : 0,
7682 "properties" : {
7683 "node" : {
7684 "description" : "The cluster node name.",
7685 "format" : "pve-node",
7686 "type" : "string",
7687 "typetext" : "<string>"
7688 },
7689 "vmid" : {
7690 "description" : "The (unique) ID of the VM.",
7691 "format" : "pve-vmid",
7692 "minimum" : 1,
7693 "type" : "integer",
7694 "typetext" : "<integer> (1 - N)"
7695 }
7696 }
7697 },
7698 "permissions" : {
7699 "check" : [
7700 "perm",
7701 "/vms/{vmid}",
7702 [
7703 "VM.Monitor"
7704 ]
7705 ]
7706 },
7707 "protected" : 1,
7708 "proxyto" : "node",
7709 "returns" : {
7710 "description" : "Returns an object with a single `result` property.",
7711 "type" : "object"
7712 }
7713 }
7714 },
7715 "leaf" : 1,
7716 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
7717 "text" : "get-users"
7718 },
7719 {
7720 "info" : {
7721 "GET" : {
7722 "description" : "Execute get-vcpus.",
7723 "method" : "GET",
7724 "name" : "get-vcpus",
7725 "parameters" : {
7726 "additionalProperties" : 0,
7727 "properties" : {
7728 "node" : {
7729 "description" : "The cluster node name.",
7730 "format" : "pve-node",
7731 "type" : "string",
7732 "typetext" : "<string>"
7733 },
7734 "vmid" : {
7735 "description" : "The (unique) ID of the VM.",
7736 "format" : "pve-vmid",
7737 "minimum" : 1,
7738 "type" : "integer",
7739 "typetext" : "<integer> (1 - N)"
7740 }
7741 }
7742 },
7743 "permissions" : {
7744 "check" : [
7745 "perm",
7746 "/vms/{vmid}",
7747 [
7748 "VM.Monitor"
7749 ]
7750 ]
7751 },
7752 "protected" : 1,
7753 "proxyto" : "node",
7754 "returns" : {
7755 "description" : "Returns an object with a single `result` property.",
7756 "type" : "object"
7757 }
7758 }
7759 },
7760 "leaf" : 1,
7761 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
7762 "text" : "get-vcpus"
7763 },
7764 {
7765 "info" : {
7766 "GET" : {
7767 "description" : "Execute info.",
7768 "method" : "GET",
7769 "name" : "info",
7770 "parameters" : {
7771 "additionalProperties" : 0,
7772 "properties" : {
7773 "node" : {
7774 "description" : "The cluster node name.",
7775 "format" : "pve-node",
7776 "type" : "string",
7777 "typetext" : "<string>"
7778 },
7779 "vmid" : {
7780 "description" : "The (unique) ID of the VM.",
7781 "format" : "pve-vmid",
7782 "minimum" : 1,
7783 "type" : "integer",
7784 "typetext" : "<integer> (1 - N)"
7785 }
7786 }
7787 },
7788 "permissions" : {
7789 "check" : [
7790 "perm",
7791 "/vms/{vmid}",
7792 [
7793 "VM.Monitor"
7794 ]
7795 ]
7796 },
7797 "protected" : 1,
7798 "proxyto" : "node",
7799 "returns" : {
7800 "description" : "Returns an object with a single `result` property.",
7801 "type" : "object"
7802 }
7803 }
7804 },
7805 "leaf" : 1,
7806 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
7807 "text" : "info"
7808 },
7809 {
7810 "info" : {
7811 "GET" : {
7812 "description" : "Execute network-get-interfaces.",
7813 "method" : "GET",
7814 "name" : "network-get-interfaces",
7815 "parameters" : {
7816 "additionalProperties" : 0,
7817 "properties" : {
7818 "node" : {
7819 "description" : "The cluster node name.",
7820 "format" : "pve-node",
7821 "type" : "string",
7822 "typetext" : "<string>"
7823 },
7824 "vmid" : {
7825 "description" : "The (unique) ID of the VM.",
7826 "format" : "pve-vmid",
7827 "minimum" : 1,
7828 "type" : "integer",
7829 "typetext" : "<integer> (1 - N)"
7830 }
7831 }
7832 },
7833 "permissions" : {
7834 "check" : [
7835 "perm",
7836 "/vms/{vmid}",
7837 [
7838 "VM.Monitor"
7839 ]
7840 ]
7841 },
7842 "protected" : 1,
7843 "proxyto" : "node",
7844 "returns" : {
7845 "description" : "Returns an object with a single `result` property.",
7846 "type" : "object"
7847 }
7848 }
7849 },
7850 "leaf" : 1,
7851 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
7852 "text" : "network-get-interfaces"
7853 },
7854 {
7855 "info" : {
7856 "POST" : {
7857 "description" : "Execute ping.",
7858 "method" : "POST",
7859 "name" : "ping",
7860 "parameters" : {
7861 "additionalProperties" : 0,
7862 "properties" : {
7863 "node" : {
7864 "description" : "The cluster node name.",
7865 "format" : "pve-node",
7866 "type" : "string",
7867 "typetext" : "<string>"
7868 },
7869 "vmid" : {
7870 "description" : "The (unique) ID of the VM.",
7871 "format" : "pve-vmid",
7872 "minimum" : 1,
7873 "type" : "integer",
7874 "typetext" : "<integer> (1 - N)"
7875 }
7876 }
7877 },
7878 "permissions" : {
7879 "check" : [
7880 "perm",
7881 "/vms/{vmid}",
7882 [
7883 "VM.Monitor"
7884 ]
7885 ]
7886 },
7887 "protected" : 1,
7888 "proxyto" : "node",
7889 "returns" : {
7890 "description" : "Returns an object with a single `result` property.",
7891 "type" : "object"
7892 }
7893 }
7894 },
7895 "leaf" : 1,
7896 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
7897 "text" : "ping"
7898 },
7899 {
7900 "info" : {
7901 "POST" : {
7902 "description" : "Execute shutdown.",
7903 "method" : "POST",
7904 "name" : "shutdown",
7905 "parameters" : {
7906 "additionalProperties" : 0,
7907 "properties" : {
7908 "node" : {
7909 "description" : "The cluster node name.",
7910 "format" : "pve-node",
7911 "type" : "string",
7912 "typetext" : "<string>"
7913 },
7914 "vmid" : {
7915 "description" : "The (unique) ID of the VM.",
7916 "format" : "pve-vmid",
7917 "minimum" : 1,
7918 "type" : "integer",
7919 "typetext" : "<integer> (1 - N)"
7920 }
7921 }
7922 },
7923 "permissions" : {
7924 "check" : [
7925 "perm",
7926 "/vms/{vmid}",
7927 [
7928 "VM.Monitor"
7929 ]
7930 ]
7931 },
7932 "protected" : 1,
7933 "proxyto" : "node",
7934 "returns" : {
7935 "description" : "Returns an object with a single `result` property.",
7936 "type" : "object"
7937 }
7938 }
7939 },
7940 "leaf" : 1,
7941 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
7942 "text" : "shutdown"
7943 },
7944 {
7945 "info" : {
7946 "POST" : {
7947 "description" : "Execute suspend-disk.",
7948 "method" : "POST",
7949 "name" : "suspend-disk",
7950 "parameters" : {
7951 "additionalProperties" : 0,
7952 "properties" : {
7953 "node" : {
7954 "description" : "The cluster node name.",
7955 "format" : "pve-node",
7956 "type" : "string",
7957 "typetext" : "<string>"
7958 },
7959 "vmid" : {
7960 "description" : "The (unique) ID of the VM.",
7961 "format" : "pve-vmid",
7962 "minimum" : 1,
7963 "type" : "integer",
7964 "typetext" : "<integer> (1 - N)"
7965 }
7966 }
7967 },
7968 "permissions" : {
7969 "check" : [
7970 "perm",
7971 "/vms/{vmid}",
7972 [
7973 "VM.Monitor"
7974 ]
7975 ]
7976 },
7977 "protected" : 1,
7978 "proxyto" : "node",
7979 "returns" : {
7980 "description" : "Returns an object with a single `result` property.",
7981 "type" : "object"
7982 }
7983 }
7984 },
7985 "leaf" : 1,
7986 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
7987 "text" : "suspend-disk"
7988 },
7989 {
7990 "info" : {
7991 "POST" : {
7992 "description" : "Execute suspend-hybrid.",
7993 "method" : "POST",
7994 "name" : "suspend-hybrid",
7995 "parameters" : {
7996 "additionalProperties" : 0,
7997 "properties" : {
7998 "node" : {
7999 "description" : "The cluster node name.",
8000 "format" : "pve-node",
8001 "type" : "string",
8002 "typetext" : "<string>"
8003 },
8004 "vmid" : {
8005 "description" : "The (unique) ID of the VM.",
8006 "format" : "pve-vmid",
8007 "minimum" : 1,
8008 "type" : "integer",
8009 "typetext" : "<integer> (1 - N)"
8010 }
8011 }
8012 },
8013 "permissions" : {
8014 "check" : [
8015 "perm",
8016 "/vms/{vmid}",
8017 [
8018 "VM.Monitor"
8019 ]
8020 ]
8021 },
8022 "protected" : 1,
8023 "proxyto" : "node",
8024 "returns" : {
8025 "description" : "Returns an object with a single `result` property.",
8026 "type" : "object"
8027 }
8028 }
8029 },
8030 "leaf" : 1,
8031 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
8032 "text" : "suspend-hybrid"
8033 },
8034 {
8035 "info" : {
8036 "POST" : {
8037 "description" : "Execute suspend-ram.",
8038 "method" : "POST",
8039 "name" : "suspend-ram",
8040 "parameters" : {
8041 "additionalProperties" : 0,
8042 "properties" : {
8043 "node" : {
8044 "description" : "The cluster node name.",
8045 "format" : "pve-node",
8046 "type" : "string",
8047 "typetext" : "<string>"
8048 },
8049 "vmid" : {
8050 "description" : "The (unique) ID of the VM.",
8051 "format" : "pve-vmid",
8052 "minimum" : 1,
8053 "type" : "integer",
8054 "typetext" : "<integer> (1 - N)"
8055 }
8056 }
8057 },
8058 "permissions" : {
8059 "check" : [
8060 "perm",
8061 "/vms/{vmid}",
8062 [
8063 "VM.Monitor"
8064 ]
8065 ]
8066 },
8067 "protected" : 1,
8068 "proxyto" : "node",
8069 "returns" : {
8070 "description" : "Returns an object with a single `result` property.",
8071 "type" : "object"
8072 }
8073 }
8074 },
8075 "leaf" : 1,
8076 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
8077 "text" : "suspend-ram"
4d47f125
TL
8078 },
8079 {
8080 "info" : {
8081 "POST" : {
8082 "description" : "Sets the password for the given user to the given password",
8083 "method" : "POST",
8084 "name" : "set-user-password",
8085 "parameters" : {
8086 "additionalProperties" : 0,
8087 "properties" : {
8088 "crypted" : {
8089 "default" : 0,
8090 "description" : "set to 1 if the password has already been passed through crypt()",
8091 "optional" : 1,
8092 "type" : "boolean",
8093 "typetext" : "<boolean>"
8094 },
8095 "node" : {
8096 "description" : "The cluster node name.",
8097 "format" : "pve-node",
8098 "type" : "string",
8099 "typetext" : "<string>"
8100 },
8101 "password" : {
8102 "description" : "The new password.",
1c532546 8103 "maxLength" : 1024,
4d47f125
TL
8104 "minLength" : 5,
8105 "type" : "string",
8106 "typetext" : "<string>"
8107 },
8108 "username" : {
8109 "description" : "The user to set the password for.",
8110 "type" : "string",
8111 "typetext" : "<string>"
8112 },
8113 "vmid" : {
8114 "description" : "The (unique) ID of the VM.",
8115 "format" : "pve-vmid",
8116 "minimum" : 1,
8117 "type" : "integer",
8118 "typetext" : "<integer> (1 - N)"
8119 }
8120 }
27a7acb2 8121 },
4d47f125
TL
8122 "permissions" : {
8123 "check" : [
8124 "perm",
8125 "/vms/{vmid}",
8126 [
8127 "VM.Monitor"
8128 ]
8129 ]
8130 },
8131 "protected" : 1,
8132 "proxyto" : "node",
8133 "returns" : {
8134 "description" : "Returns an object with a single `result` property.",
8135 "type" : "object"
27a7acb2
DM
8136 }
8137 }
8138 },
4d47f125
TL
8139 "leaf" : 1,
8140 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
8141 "text" : "set-user-password"
27a7acb2 8142 },
4d47f125
TL
8143 {
8144 "info" : {
8145 "POST" : {
8146 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
8147 "method" : "POST",
8148 "name" : "exec",
8149 "parameters" : {
8150 "additionalProperties" : 0,
8151 "properties" : {
8152 "command" : {
8153 "description" : "The command as a list of program + arguments",
8154 "format" : "string-alist",
8155 "type" : "string",
8156 "typetext" : "<string>"
8157 },
8158 "node" : {
8159 "description" : "The cluster node name.",
8160 "format" : "pve-node",
8161 "type" : "string",
8162 "typetext" : "<string>"
8163 },
8164 "vmid" : {
8165 "description" : "The (unique) ID of the VM.",
8166 "format" : "pve-vmid",
8167 "minimum" : 1,
8168 "type" : "integer",
8169 "typetext" : "<integer> (1 - N)"
8170 }
8171 }
27a7acb2 8172 },
4d47f125
TL
8173 "permissions" : {
8174 "check" : [
8175 "perm",
8176 "/vms/{vmid}",
8177 [
8178 "VM.Monitor"
8179 ]
8180 ]
27a7acb2 8181 },
4d47f125
TL
8182 "protected" : 1,
8183 "proxyto" : "node",
8184 "returns" : {
8185 "properties" : {
8186 "pid" : {
8187 "description" : "The PID of the process started by the guest-agent.",
8188 "type" : "integer"
8189 }
8190 },
8191 "type" : "object"
27a7acb2
DM
8192 }
8193 }
8194 },
4d47f125
TL
8195 "leaf" : 1,
8196 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
8197 "text" : "exec"
8198 },
8199 {
8200 "info" : {
8201 "GET" : {
8202 "description" : "Gets the status of the given pid started by the guest-agent",
8203 "method" : "GET",
8204 "name" : "exec-status",
8205 "parameters" : {
8206 "additionalProperties" : 0,
8207 "properties" : {
8208 "node" : {
8209 "description" : "The cluster node name.",
8210 "format" : "pve-node",
8211 "type" : "string",
8212 "typetext" : "<string>"
8213 },
8214 "pid" : {
8215 "description" : "The PID to query",
8216 "type" : "integer",
8217 "typetext" : "<integer>"
8218 },
8219 "vmid" : {
8220 "description" : "The (unique) ID of the VM.",
8221 "format" : "pve-vmid",
8222 "minimum" : 1,
8223 "type" : "integer",
8224 "typetext" : "<integer> (1 - N)"
8225 }
8226 }
56122987 8227 },
4d47f125
TL
8228 "permissions" : {
8229 "check" : [
8230 "perm",
8231 "/vms/{vmid}",
8232 [
8233 "VM.Monitor"
8234 ]
8235 ]
56122987 8236 },
4d47f125
TL
8237 "protected" : 1,
8238 "proxyto" : "node",
8239 "returns" : {
8240 "properties" : {
8241 "err-data" : {
8242 "description" : "stderr of the process",
8243 "optional" : 1,
8244 "type" : "string"
8245 },
8246 "err-truncated" : {
8247 "description" : "true if stderr was not fully captured",
8248 "optional" : 1,
8249 "type" : "boolean"
8250 },
8251 "exitcode" : {
8252 "description" : "process exit code if it was normally terminated.",
8253 "optional" : 1,
8254 "type" : "integer"
8255 },
8256 "exited" : {
8257 "description" : "Tells if the given command has exited yet.",
8258 "type" : "boolean"
8259 },
8260 "out-data" : {
8261 "description" : "stdout of the process",
8262 "optional" : 1,
8263 "type" : "string"
8264 },
8265 "out-truncated" : {
8266 "description" : "true if stdout was not fully captured",
8267 "optional" : 1,
8268 "type" : "boolean"
8269 },
8270 "signal" : {
8271 "description" : "signal number or exception code if the process was abnormally terminated.",
8272 "optional" : 1,
8273 "type" : "integer"
8274 }
8275 },
8276 "type" : "object"
56122987
DM
8277 }
8278 }
8279 },
4d47f125
TL
8280 "leaf" : 1,
8281 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
8282 "text" : "exec-status"
8283 },
8284 {
8285 "info" : {
8286 "GET" : {
8287 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
8288 "method" : "GET",
8289 "name" : "file-read",
8290 "parameters" : {
8291 "additionalProperties" : 0,
8292 "properties" : {
8293 "file" : {
8294 "description" : "The path to the file",
8295 "type" : "string",
8296 "typetext" : "<string>"
8297 },
8298 "node" : {
8299 "description" : "The cluster node name.",
8300 "format" : "pve-node",
8301 "type" : "string",
8302 "typetext" : "<string>"
8303 },
8304 "vmid" : {
8305 "description" : "The (unique) ID of the VM.",
8306 "format" : "pve-vmid",
8307 "minimum" : 1,
8308 "type" : "integer",
8309 "typetext" : "<integer> (1 - N)"
8310 }
8311 }
8312 },
8313 "permissions" : {
8314 "check" : [
8315 "perm",
8316 "/vms/{vmid}",
8317 [
8318 "VM.Monitor"
8319 ]
8320 ]
8321 },
8322 "protected" : 1,
8323 "proxyto" : "node",
8324 "returns" : {
8325 "description" : "Returns an object with a `content` property.",
8326 "properties" : {
8327 "content" : {
8328 "description" : "The content of the file, maximum 16777216",
8329 "type" : "string"
8330 },
8331 "truncated" : {
8332 "description" : "If set to 1, the output is truncated and not complete",
8333 "optional" : 1,
8334 "type" : "boolean"
8335 }
8336 },
8337 "type" : "object"
8338 }
8339 }
56122987 8340 },
4d47f125
TL
8341 "leaf" : 1,
8342 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
8343 "text" : "file-read"
8344 },
8345 {
8346 "info" : {
8347 "POST" : {
8348 "description" : "Writes the given file via guest agent.",
8349 "method" : "POST",
8350 "name" : "file-write",
8351 "parameters" : {
8352 "additionalProperties" : 0,
8353 "properties" : {
8354 "content" : {
8355 "description" : "The content to write into the file.",
8356 "maxLength" : 61440,
8357 "type" : "string",
8358 "typetext" : "<string>"
8359 },
8360 "file" : {
8361 "description" : "The path to the file.",
8362 "type" : "string",
8363 "typetext" : "<string>"
8364 },
8365 "node" : {
8366 "description" : "The cluster node name.",
8367 "format" : "pve-node",
8368 "type" : "string",
8369 "typetext" : "<string>"
8370 },
8371 "vmid" : {
8372 "description" : "The (unique) ID of the VM.",
8373 "format" : "pve-vmid",
8374 "minimum" : 1,
8375 "type" : "integer",
8376 "typetext" : "<integer> (1 - N)"
8377 }
8378 }
8379 },
8380 "permissions" : {
8381 "check" : [
8382 "perm",
8383 "/vms/{vmid}",
8384 [
8385 "VM.Monitor"
8386 ]
8387 ]
8388 },
8389 "protected" : 1,
8390 "proxyto" : "node",
8391 "returns" : {
8392 "type" : "null"
7aacca6f 8393 }
4d47f125
TL
8394 }
8395 },
8396 "leaf" : 1,
8397 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
8398 "text" : "file-write"
56122987 8399 }
4d47f125 8400 ],
7aacca6f 8401 "info" : {
56122987 8402 "GET" : {
4d47f125 8403 "description" : "Qemu Agent command index.",
44660702 8404 "method" : "GET",
4d47f125 8405 "name" : "index",
56122987 8406 "parameters" : {
4d47f125 8407 "additionalProperties" : 1,
56122987
DM
8408 "properties" : {
8409 "node" : {
44660702 8410 "description" : "The cluster node name.",
56122987 8411 "format" : "pve-node",
013dc89f
DM
8412 "type" : "string",
8413 "typetext" : "<string>"
56122987 8414 },
7aacca6f 8415 "vmid" : {
7aacca6f
DM
8416 "description" : "The (unique) ID of the VM.",
8417 "format" : "pve-vmid",
44660702 8418 "minimum" : 1,
4bd7df8b 8419 "type" : "integer",
013dc89f 8420 "typetext" : "<integer> (1 - N)"
56122987 8421 }
44660702 8422 }
56122987 8423 },
56122987 8424 "permissions" : {
4d47f125 8425 "user" : "all"
56122987 8426 },
4d47f125 8427 "proxyto" : "node",
7aacca6f 8428 "returns" : {
4d47f125 8429 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 8430 "items" : {
44660702
DM
8431 "properties" : {},
8432 "type" : "object"
8433 },
4d47f125
TL
8434 "links" : [
8435 {
8436 "href" : "{name}",
8437 "rel" : "child"
8438 }
8439 ],
44660702 8440 "type" : "array"
7aacca6f 8441 }
4d47f125
TL
8442 },
8443 "POST" : {
8444 "description" : "Execute Qemu Guest Agent commands.",
8445 "method" : "POST",
8446 "name" : "agent",
44660702
DM
8447 "parameters" : {
8448 "additionalProperties" : 0,
8449 "properties" : {
4d47f125
TL
8450 "command" : {
8451 "description" : "The QGA command.",
8452 "enum" : [
8453 "fsfreeze-freeze",
8454 "fsfreeze-status",
8455 "fsfreeze-thaw",
8456 "fstrim",
8457 "get-fsinfo",
8458 "get-host-name",
8459 "get-memory-block-info",
8460 "get-memory-blocks",
8461 "get-osinfo",
8462 "get-time",
8463 "get-timezone",
8464 "get-users",
8465 "get-vcpus",
8466 "info",
8467 "network-get-interfaces",
8468 "ping",
8469 "shutdown",
8470 "suspend-disk",
8471 "suspend-hybrid",
8472 "suspend-ram"
8473 ],
8474 "type" : "string"
8475 },
8476 "node" : {
8477 "description" : "The cluster node name.",
8478 "format" : "pve-node",
8479 "type" : "string",
8480 "typetext" : "<string>"
8481 },
8482 "vmid" : {
8483 "description" : "The (unique) ID of the VM.",
8484 "format" : "pve-vmid",
8485 "minimum" : 1,
8486 "type" : "integer",
8487 "typetext" : "<integer> (1 - N)"
8488 }
8489 }
8490 },
8491 "permissions" : {
8492 "check" : [
8493 "perm",
8494 "/vms/{vmid}",
8495 [
8496 "VM.Monitor"
8497 ]
8498 ]
8499 },
8500 "protected" : 1,
8501 "proxyto" : "node",
8502 "returns" : {
8503 "description" : "Returns an object with a single `result` property.",
8504 "type" : "object"
8505 }
8506 }
8507 },
8508 "leaf" : 0,
8509 "path" : "/nodes/{node}/qemu/{vmid}/agent",
8510 "text" : "agent"
8511 },
8512 {
8513 "info" : {
8514 "GET" : {
8515 "description" : "Read VM RRD statistics (returns PNG)",
8516 "method" : "GET",
8517 "name" : "rrd",
8518 "parameters" : {
8519 "additionalProperties" : 0,
8520 "properties" : {
8521 "cf" : {
8522 "description" : "The RRD consolidation function",
8523 "enum" : [
8524 "AVERAGE",
8525 "MAX"
8526 ],
44660702 8527 "optional" : 1,
4d47f125
TL
8528 "type" : "string"
8529 },
8530 "ds" : {
8531 "description" : "The list of datasources you want to display.",
8532 "format" : "pve-configid-list",
8533 "type" : "string",
8534 "typetext" : "<string>"
44660702
DM
8535 },
8536 "node" : {
8537 "description" : "The cluster node name.",
8538 "format" : "pve-node",
013dc89f
DM
8539 "type" : "string",
8540 "typetext" : "<string>"
44660702 8541 },
4d47f125
TL
8542 "timeframe" : {
8543 "description" : "Specify the time frame you are interested in.",
8544 "enum" : [
8545 "hour",
8546 "day",
8547 "week",
8548 "month",
8549 "year"
8550 ],
8551 "type" : "string"
8552 },
44660702
DM
8553 "vmid" : {
8554 "description" : "The (unique) ID of the VM.",
8555 "format" : "pve-vmid",
8556 "minimum" : 1,
4bd7df8b 8557 "type" : "integer",
013dc89f 8558 "typetext" : "<integer> (1 - N)"
44660702
DM
8559 }
8560 }
7aacca6f 8561 },
56122987
DM
8562 "permissions" : {
8563 "check" : [
8564 "perm",
8565 "/vms/{vmid}",
8566 [
44660702
DM
8567 "VM.Audit"
8568 ]
56122987
DM
8569 ]
8570 },
4d47f125 8571 "protected" : 1,
44660702
DM
8572 "returns" : {
8573 "properties" : {
4d47f125 8574 "filename" : {
44660702
DM
8575 "type" : "string"
8576 }
8577 },
8578 "type" : "object"
8579 }
4d47f125
TL
8580 }
8581 },
8582 "leaf" : 1,
8583 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
8584 "text" : "rrd"
8585 },
8586 {
8587 "info" : {
8588 "GET" : {
8589 "description" : "Read VM RRD statistics",
8590 "method" : "GET",
8591 "name" : "rrddata",
8592 "parameters" : {
8593 "additionalProperties" : 0,
8594 "properties" : {
8595 "cf" : {
8596 "description" : "The RRD consolidation function",
8597 "enum" : [
8598 "AVERAGE",
8599 "MAX"
8600 ],
8601 "optional" : 1,
8602 "type" : "string"
8603 },
8604 "node" : {
8605 "description" : "The cluster node name.",
8606 "format" : "pve-node",
8607 "type" : "string",
8608 "typetext" : "<string>"
8609 },
8610 "timeframe" : {
8611 "description" : "Specify the time frame you are interested in.",
8612 "enum" : [
8613 "hour",
8614 "day",
8615 "week",
8616 "month",
8617 "year"
8618 ],
8619 "type" : "string"
8620 },
8621 "vmid" : {
8622 "description" : "The (unique) ID of the VM.",
8623 "format" : "pve-vmid",
8624 "minimum" : 1,
8625 "type" : "integer",
8626 "typetext" : "<integer> (1 - N)"
8627 }
8628 }
8629 },
8630 "permissions" : {
8631 "check" : [
8632 "perm",
8633 "/vms/{vmid}",
8634 [
8635 "VM.Audit"
8636 ]
8637 ]
8638 },
8639 "protected" : 1,
8640 "returns" : {
8641 "items" : {
8642 "properties" : {},
8643 "type" : "object"
8644 },
8645 "type" : "array"
8646 }
8647 }
8648 },
8649 "leaf" : 1,
8650 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
8651 "text" : "rrddata"
8652 },
8653 {
8654 "info" : {
8655 "GET" : {
8656 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
8657 "method" : "GET",
8658 "name" : "vm_config",
56122987 8659 "parameters" : {
44660702 8660 "additionalProperties" : 0,
4d47f125
TL
8661 "properties" : {
8662 "current" : {
8663 "default" : 0,
8664 "description" : "Get current values (instead of pending values).",
8665 "optional" : 1,
8666 "type" : "boolean",
8667 "typetext" : "<boolean>"
8668 },
8669 "node" : {
8670 "description" : "The cluster node name.",
8671 "format" : "pve-node",
8672 "type" : "string",
8673 "typetext" : "<string>"
8674 },
5f26e15b
TL
8675 "snapshot" : {
8676 "description" : "Fetch config values from given snapshot.",
8677 "format" : "pve-configid",
8678 "maxLength" : 40,
8679 "optional" : 1,
8680 "type" : "string",
8681 "typetext" : "<string>"
8682 },
4d47f125
TL
8683 "vmid" : {
8684 "description" : "The (unique) ID of the VM.",
8685 "format" : "pve-vmid",
8686 "minimum" : 1,
8687 "type" : "integer",
8688 "typetext" : "<integer> (1 - N)"
8689 }
8690 }
8691 },
8692 "permissions" : {
8693 "check" : [
8694 "perm",
8695 "/vms/{vmid}",
8696 [
8697 "VM.Audit"
8698 ]
8699 ]
8700 },
8701 "proxyto" : "node",
8702 "returns" : {
8703 "description" : "The current VM configuration.",
56122987 8704 "properties" : {
44660702
DM
8705 "acpi" : {
8706 "default" : 1,
8707 "description" : "Enable/disable ACPI.",
8708 "optional" : 1,
4d47f125 8709 "type" : "boolean"
44660702
DM
8710 },
8711 "agent" : {
4d47f125
TL
8712 "description" : "Enable/disable Qemu GuestAgent and its properties.",
8713 "format" : {
8714 "enabled" : {
8715 "default" : 0,
8716 "default_key" : 1,
8717 "description" : "Enable/disable Qemu GuestAgent.",
8718 "type" : "boolean"
8719 },
8720 "fstrim_cloned_disks" : {
8721 "default" : 0,
8722 "description" : "Run fstrim after cloning/moving a disk.",
8723 "optional" : 1,
8724 "type" : "boolean"
5c1699e5
TL
8725 },
8726 "type" : {
8727 "default" : "virtio",
8728 "description" : "Select the agent type",
8729 "enum" : [
8730 "virtio",
8731 "isa"
8732 ],
8733 "optional" : 1,
8734 "type" : "string"
4d47f125
TL
8735 }
8736 },
7aacca6f 8737 "optional" : 1,
4d47f125 8738 "type" : "string"
7aacca6f 8739 },
e2d681b3
TL
8740 "arch" : {
8741 "description" : "Virtual processor architecture. Defaults to the host.",
8742 "enum" : [
8743 "x86_64",
8744 "aarch64"
8745 ],
8746 "optional" : 1,
8747 "type" : "string"
8748 },
44660702 8749 "args" : {
c2993fe5 8750 "description" : "Arbitrary arguments passed to kvm.",
44660702 8751 "optional" : 1,
c2993fe5
DM
8752 "type" : "string",
8753 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
7aacca6f 8754 },
1c532546
TL
8755 "audio0" : {
8756 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
8757 "format" : {
8758 "device" : {
8759 "description" : "Configure an audio device.",
8760 "enum" : [
8761 "ich9-intel-hda",
8762 "intel-hda",
8763 "AC97"
8764 ],
8765 "type" : "string"
8766 },
8767 "driver" : {
8768 "default" : "spice",
8769 "description" : "Driver backend for the audio device.",
8770 "enum" : [
8771 "spice"
8772 ],
8773 "optional" : 1,
8774 "type" : "string"
8775 }
8776 },
8777 "optional" : 1,
8778 "type" : "string"
8779 },
44660702
DM
8780 "autostart" : {
8781 "default" : 0,
8782 "description" : "Automatic restart after crash (currently ignored).",
56122987 8783 "optional" : 1,
4d47f125 8784 "type" : "boolean"
56122987 8785 },
4d47f125
TL
8786 "balloon" : {
8787 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
8788 "minimum" : 0,
7aacca6f 8789 "optional" : 1,
4d47f125 8790 "type" : "integer"
7aacca6f 8791 },
44660702
DM
8792 "bios" : {
8793 "default" : "seabios",
8794 "description" : "Select BIOS implementation.",
8795 "enum" : [
8796 "seabios",
8797 "ovmf"
8798 ],
56122987 8799 "optional" : 1,
44660702 8800 "type" : "string"
7aacca6f 8801 },
44660702
DM
8802 "boot" : {
8803 "default" : "cdn",
8804 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
8805 "optional" : 1,
8806 "pattern" : "[acdn]{1,4}",
8807 "type" : "string"
8808 },
8809 "bootdisk" : {
8810 "description" : "Enable booting from specified disk.",
8811 "format" : "pve-qm-bootdisk",
8812 "optional" : 1,
8813 "pattern" : "(ide|sata|scsi|virtio)\\d+",
8814 "type" : "string"
8815 },
8816 "cdrom" : {
8817 "description" : "This is an alias for option -ide2",
de0983cb 8818 "format" : "pve-qm-ide",
44660702 8819 "optional" : 1,
7aacca6f 8820 "type" : "string",
013dc89f 8821 "typetext" : "<volume>"
44660702 8822 },
95895385
TL
8823 "cicustom" : {
8824 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
8825 "format" : "pve-qm-cicustom",
8826 "optional" : 1,
8827 "type" : "string"
8828 },
27a7acb2
DM
8829 "cipassword" : {
8830 "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
8831 "optional" : 1,
4d47f125 8832 "type" : "string"
27a7acb2
DM
8833 },
8834 "citype" : {
8835 "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
8836 "enum" : [
8837 "configdrive2",
8838 "nocloud"
8839 ],
8840 "optional" : 1,
8841 "type" : "string"
8842 },
8843 "ciuser" : {
8844 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
8845 "optional" : 1,
4d47f125 8846 "type" : "string"
27a7acb2 8847 },
44660702
DM
8848 "cores" : {
8849 "default" : 1,
8850 "description" : "The number of cores per socket.",
8851 "minimum" : 1,
7aacca6f 8852 "optional" : 1,
4d47f125 8853 "type" : "integer"
7aacca6f 8854 },
44660702
DM
8855 "cpu" : {
8856 "description" : "Emulated CPU type.",
56122987 8857 "format" : {
44660702
DM
8858 "cputype" : {
8859 "default" : "kvm64",
7aacca6f 8860 "default_key" : 1,
44660702 8861 "description" : "Emulated CPU type.",
56122987 8862 "enum" : [
44660702
DM
8863 "486",
8864 "athlon",
f004f5b9 8865 "Broadwell",
35a75dd3 8866 "Broadwell-IBRS",
f004f5b9 8867 "Broadwell-noTSX",
35a75dd3 8868 "Broadwell-noTSX-IBRS",
1c532546 8869 "Cascadelake-Server",
f004f5b9 8870 "Conroe",
44660702 8871 "core2duo",
f004f5b9 8872 "coreduo",
27a7acb2
DM
8873 "EPYC",
8874 "EPYC-IBPB",
f004f5b9 8875 "Haswell",
35a75dd3 8876 "Haswell-IBRS",
f004f5b9 8877 "Haswell-noTSX",
35a75dd3 8878 "Haswell-noTSX-IBRS",
f004f5b9
DM
8879 "host",
8880 "IvyBridge",
35a75dd3 8881 "IvyBridge-IBRS",
1c532546 8882 "KnightsMill",
44660702
DM
8883 "kvm32",
8884 "kvm64",
35a75dd3 8885 "max",
44660702 8886 "Nehalem",
35a75dd3 8887 "Nehalem-IBRS",
44660702
DM
8888 "Opteron_G1",
8889 "Opteron_G2",
8890 "Opteron_G3",
8891 "Opteron_G4",
8892 "Opteron_G5",
f004f5b9
DM
8893 "Penryn",
8894 "pentium",
8895 "pentium2",
8896 "pentium3",
8897 "phenom",
8898 "qemu32",
8899 "qemu64",
8900 "SandyBridge",
35a75dd3 8901 "SandyBridge-IBRS",
5d9c884c 8902 "Skylake-Client",
35a75dd3
DM
8903 "Skylake-Client-IBRS",
8904 "Skylake-Server",
8905 "Skylake-Server-IBRS",
8906 "Westmere",
8907 "Westmere-IBRS"
56122987 8908 ],
56122987
DM
8909 "type" : "string"
8910 },
35a75dd3 8911 "flags" : {
1c532546 8912 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
35a75dd3
DM
8913 "format_description" : "+FLAG[;-FLAG...]",
8914 "optional" : 1,
1c532546 8915 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
35a75dd3
DM
8916 "type" : "string"
8917 },
44660702
DM
8918 "hidden" : {
8919 "default" : 0,
8920 "description" : "Do not identify as a KVM virtual machine.",
56122987 8921 "optional" : 1,
44660702 8922 "type" : "boolean"
5f26e15b
TL
8923 },
8924 "hv-vendor-id" : {
8925 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
8926 "format_description" : "vendor-id",
8927 "optional" : 1,
8928 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
8929 "type" : "string"
44660702
DM
8930 }
8931 },
8932 "optional" : 1,
4d47f125 8933 "type" : "string"
44660702
DM
8934 },
8935 "cpulimit" : {
8936 "default" : 0,
c2993fe5 8937 "description" : "Limit of CPU usage.",
44660702
DM
8938 "maximum" : 128,
8939 "minimum" : 0,
8940 "optional" : 1,
c2993fe5
DM
8941 "type" : "number",
8942 "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
44660702
DM
8943 },
8944 "cpuunits" : {
de0983cb 8945 "default" : 1024,
c2993fe5 8946 "description" : "CPU weight for a VM.",
2489d6df
WB
8947 "maximum" : 262144,
8948 "minimum" : 2,
44660702 8949 "optional" : 1,
c2993fe5 8950 "type" : "integer",
2489d6df 8951 "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
44660702 8952 },
44660702
DM
8953 "description" : {
8954 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
8955 "optional" : 1,
4d47f125 8956 "type" : "string"
44660702
DM
8957 },
8958 "digest" : {
4d47f125
TL
8959 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
8960 "type" : "string"
44660702 8961 },
4d47f125
TL
8962 "efidisk0" : {
8963 "description" : "Configure a Disk for storing EFI vars",
8964 "format" : {
8965 "file" : {
8966 "default_key" : 1,
8967 "description" : "The drive's backing volume.",
8968 "format" : "pve-volume-id-or-qm-path",
8969 "format_description" : "volume",
8970 "type" : "string"
8971 },
8972 "format" : {
8973 "description" : "The drive's backing file's data format.",
8974 "enum" : [
8975 "raw",
8976 "cow",
8977 "qcow",
8978 "qed",
8979 "qcow2",
8980 "vmdk",
8981 "cloop"
8982 ],
8983 "optional" : 1,
8984 "type" : "string"
8985 },
8986 "size" : {
8987 "description" : "Disk size. This is purely informational and has no effect.",
8988 "format" : "disk-size",
8989 "format_description" : "DiskSize",
8990 "optional" : 1,
8991 "type" : "string"
8992 },
8993 "volume" : {
8994 "alias" : "file"
8995 }
8996 },
44660702 8997 "optional" : 1,
4d47f125 8998 "type" : "string"
44660702
DM
8999 },
9000 "freeze" : {
9001 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
9002 "optional" : 1,
4d47f125 9003 "type" : "boolean"
44660702 9004 },
5f26e15b
TL
9005 "hookscript" : {
9006 "description" : "Script that will be executed during various steps in the vms lifetime.",
9007 "format" : "pve-volume-id",
9008 "optional" : 1,
9009 "type" : "string"
9010 },
44660702 9011 "hostpci[n]" : {
c2993fe5 9012 "description" : "Map host PCI devices into guest.",
44660702
DM
9013 "format" : "pve-qm-hostpci",
9014 "optional" : 1,
57b78691 9015 "type" : "string",
bb4c8cf8 9016 "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702
DM
9017 },
9018 "hotplug" : {
9019 "default" : "network,disk,usb",
9020 "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'.",
9021 "format" : "pve-hotplug-features",
9022 "optional" : 1,
4d47f125 9023 "type" : "string"
44660702 9024 },
4bd7df8b
DM
9025 "hugepages" : {
9026 "description" : "Enable/disable hugepages memory.",
9027 "enum" : [
9028 "any",
9029 "2",
9030 "1024"
9031 ],
9032 "optional" : 1,
9033 "type" : "string"
9034 },
44660702
DM
9035 "ide[n]" : {
9036 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
9037 "format" : {
9038 "aio" : {
9039 "description" : "AIO type to use.",
9040 "enum" : [
9041 "native",
9042 "threads"
56122987 9043 ],
56122987 9044 "optional" : 1,
44660702 9045 "type" : "string"
56122987 9046 },
44660702
DM
9047 "backup" : {
9048 "description" : "Whether the drive should be included when making backups.",
56122987 9049 "optional" : 1,
44660702 9050 "type" : "boolean"
56122987 9051 },
7aacca6f 9052 "bps" : {
de0983cb 9053 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
9054 "format_description" : "bps",
9055 "optional" : 1,
9056 "type" : "integer"
9057 },
de0983cb
DM
9058 "bps_max_length" : {
9059 "description" : "Maximum length of I/O bursts in seconds.",
9060 "format_description" : "seconds",
9061 "minimum" : 1,
9062 "optional" : 1,
9063 "type" : "integer"
9064 },
44660702 9065 "bps_rd" : {
de0983cb 9066 "description" : "Maximum read speed in bytes per second.",
44660702 9067 "format_description" : "bps",
56122987 9068 "optional" : 1,
44660702 9069 "type" : "integer"
56122987 9070 },
de0983cb 9071 "bps_rd_length" : {
5d9c884c
DM
9072 "alias" : "bps_rd_max_length"
9073 },
9074 "bps_rd_max_length" : {
de0983cb
DM
9075 "description" : "Maximum length of read I/O bursts in seconds.",
9076 "format_description" : "seconds",
9077 "minimum" : 1,
9078 "optional" : 1,
9079 "type" : "integer"
9080 },
44660702 9081 "bps_wr" : {
de0983cb 9082 "description" : "Maximum write speed in bytes per second.",
44660702
DM
9083 "format_description" : "bps",
9084 "optional" : 1,
9085 "type" : "integer"
9086 },
de0983cb 9087 "bps_wr_length" : {
5d9c884c
DM
9088 "alias" : "bps_wr_max_length"
9089 },
9090 "bps_wr_max_length" : {
de0983cb
DM
9091 "description" : "Maximum length of write I/O bursts in seconds.",
9092 "format_description" : "seconds",
9093 "minimum" : 1,
9094 "optional" : 1,
9095 "type" : "integer"
9096 },
44660702
DM
9097 "cache" : {
9098 "description" : "The drive's cache mode",
9099 "enum" : [
9100 "none",
9101 "writethrough",
9102 "writeback",
9103 "unsafe",
9104 "directsync"
9105 ],
44660702
DM
9106 "optional" : 1,
9107 "type" : "string"
9108 },
9109 "cyls" : {
9110 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
9111 "optional" : 1,
9112 "type" : "integer"
9113 },
9114 "detect_zeroes" : {
9115 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9116 "optional" : 1,
9117 "type" : "boolean"
9118 },
9119 "discard" : {
9120 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9121 "enum" : [
9122 "ignore",
9123 "on"
9124 ],
56122987 9125 "optional" : 1,
44660702
DM
9126 "type" : "string"
9127 },
9128 "file" : {
9129 "default_key" : 1,
9130 "description" : "The drive's backing volume.",
9131 "format" : "pve-volume-id-or-qm-path",
9132 "format_description" : "volume",
9133 "type" : "string"
56122987 9134 },
7aacca6f 9135 "format" : {
7aacca6f 9136 "description" : "The drive's backing file's data format.",
56122987 9137 "enum" : [
7aacca6f
DM
9138 "raw",
9139 "cow",
9140 "qcow",
9141 "qed",
9142 "qcow2",
9143 "vmdk",
9144 "cloop"
56122987
DM
9145 ],
9146 "optional" : 1,
56122987
DM
9147 "type" : "string"
9148 },
44660702
DM
9149 "heads" : {
9150 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
9151 "optional" : 1,
9152 "type" : "integer"
7aacca6f 9153 },
44660702 9154 "iops" : {
de0983cb 9155 "description" : "Maximum r/w I/O in operations per second.",
44660702 9156 "format_description" : "iops",
56122987 9157 "optional" : 1,
44660702 9158 "type" : "integer"
56122987 9159 },
44660702 9160 "iops_max" : {
de0983cb 9161 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9162 "format_description" : "iops",
56122987 9163 "optional" : 1,
44660702 9164 "type" : "integer"
56122987 9165 },
de0983cb
DM
9166 "iops_max_length" : {
9167 "description" : "Maximum length of I/O bursts in seconds.",
9168 "format_description" : "seconds",
9169 "minimum" : 1,
9170 "optional" : 1,
9171 "type" : "integer"
9172 },
44660702 9173 "iops_rd" : {
de0983cb 9174 "description" : "Maximum read I/O in operations per second.",
44660702
DM
9175 "format_description" : "iops",
9176 "optional" : 1,
9177 "type" : "integer"
9178 },
de0983cb 9179 "iops_rd_length" : {
5d9c884c 9180 "alias" : "iops_rd_max_length"
de0983cb 9181 },
44660702 9182 "iops_rd_max" : {
de0983cb 9183 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 9184 "format_description" : "iops",
44660702
DM
9185 "optional" : 1,
9186 "type" : "integer"
9187 },
5d9c884c
DM
9188 "iops_rd_max_length" : {
9189 "description" : "Maximum length of read I/O bursts in seconds.",
9190 "format_description" : "seconds",
9191 "minimum" : 1,
9192 "optional" : 1,
9193 "type" : "integer"
9194 },
44660702 9195 "iops_wr" : {
de0983cb 9196 "description" : "Maximum write I/O in operations per second.",
44660702 9197 "format_description" : "iops",
56122987 9198 "optional" : 1,
7aacca6f 9199 "type" : "integer"
56122987 9200 },
de0983cb 9201 "iops_wr_length" : {
5d9c884c 9202 "alias" : "iops_wr_max_length"
de0983cb 9203 },
44660702 9204 "iops_wr_max" : {
de0983cb 9205 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9206 "format_description" : "iops",
7aacca6f 9207 "optional" : 1,
44660702 9208 "type" : "integer"
56122987 9209 },
5d9c884c
DM
9210 "iops_wr_max_length" : {
9211 "description" : "Maximum length of write I/O bursts in seconds.",
9212 "format_description" : "seconds",
9213 "minimum" : 1,
9214 "optional" : 1,
9215 "type" : "integer"
9216 },
44660702 9217 "mbps" : {
de0983cb 9218 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
9219 "format_description" : "mbps",
9220 "optional" : 1,
9221 "type" : "number"
9222 },
9223 "mbps_max" : {
de0983cb 9224 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9225 "format_description" : "mbps",
9226 "optional" : 1,
9227 "type" : "number"
9228 },
9229 "mbps_rd" : {
de0983cb 9230 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
9231 "format_description" : "mbps",
9232 "optional" : 1,
9233 "type" : "number"
9234 },
9235 "mbps_rd_max" : {
de0983cb 9236 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9237 "format_description" : "mbps",
9238 "optional" : 1,
9239 "type" : "number"
9240 },
9241 "mbps_wr" : {
de0983cb 9242 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
9243 "format_description" : "mbps",
9244 "optional" : 1,
9245 "type" : "number"
9246 },
9247 "mbps_wr_max" : {
de0983cb 9248 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 9249 "format_description" : "mbps",
56122987 9250 "optional" : 1,
44660702 9251 "type" : "number"
56122987 9252 },
7aacca6f 9253 "media" : {
7aacca6f 9254 "default" : "disk",
7aacca6f
DM
9255 "description" : "The drive's media type.",
9256 "enum" : [
9257 "cdrom",
9258 "disk"
44660702 9259 ],
44660702
DM
9260 "optional" : 1,
9261 "type" : "string"
56122987 9262 },
44660702
DM
9263 "model" : {
9264 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
9265 "format" : "urlencoded",
9266 "format_description" : "model",
9267 "maxLength" : 120,
56122987 9268 "optional" : 1,
44660702 9269 "type" : "string"
56122987 9270 },
5d9c884c
DM
9271 "replicate" : {
9272 "default" : 1,
9273 "description" : "Whether the drive should considered for replication jobs.",
9274 "optional" : 1,
9275 "type" : "boolean"
9276 },
44660702
DM
9277 "rerror" : {
9278 "description" : "Read error action.",
9279 "enum" : [
9280 "ignore",
9281 "report",
9282 "stop"
9283 ],
56122987 9284 "optional" : 1,
44660702
DM
9285 "type" : "string"
9286 },
9287 "secs" : {
9288 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9289 "optional" : 1,
9290 "type" : "integer"
9291 },
9292 "serial" : {
9293 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9294 "format" : "urlencoded",
9295 "format_description" : "serial",
9296 "maxLength" : 60,
9297 "optional" : 1,
9298 "type" : "string"
9299 },
27a7acb2
DM
9300 "shared" : {
9301 "default" : 0,
9302 "description" : "Mark this locally-managed volume as available on all nodes",
9303 "optional" : 1,
9304 "type" : "boolean",
9305 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
9306 },
44660702
DM
9307 "size" : {
9308 "description" : "Disk size. This is purely informational and has no effect.",
9309 "format" : "disk-size",
f004f5b9 9310 "format_description" : "DiskSize",
44660702
DM
9311 "optional" : 1,
9312 "type" : "string"
9313 },
9314 "snapshot" : {
27a7acb2 9315 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
44660702
DM
9316 "optional" : 1,
9317 "type" : "boolean"
9318 },
25203dc1
NC
9319 "ssd" : {
9320 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9321 "optional" : 1,
9322 "type" : "boolean"
9323 },
44660702
DM
9324 "trans" : {
9325 "description" : "Force disk geometry bios translation mode.",
9326 "enum" : [
9327 "none",
9328 "lba",
9329 "auto"
9330 ],
44660702
DM
9331 "optional" : 1,
9332 "type" : "string"
9333 },
9334 "volume" : {
9335 "alias" : "file"
9336 },
9337 "werror" : {
9338 "description" : "Write error action.",
9339 "enum" : [
9340 "enospc",
9341 "ignore",
9342 "report",
9343 "stop"
9344 ],
44660702
DM
9345 "optional" : 1,
9346 "type" : "string"
95895385
TL
9347 },
9348 "wwn" : {
9349 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
9350 "format_description" : "wwn",
9351 "optional" : 1,
9352 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
9353 "type" : "string"
56122987
DM
9354 }
9355 },
44660702 9356 "optional" : 1,
4d47f125 9357 "type" : "string"
27a7acb2
DM
9358 },
9359 "ipconfig[n]" : {
9360 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
9361 "format" : "pve-qm-ipconfig",
9362 "optional" : 1,
4d47f125 9363 "type" : "string"
56122987 9364 },
95895385
TL
9365 "ivshmem" : {
9366 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
9367 "format" : {
9368 "name" : {
9369 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
9370 "format_description" : "string",
9371 "optional" : 1,
9372 "pattern" : "[a-zA-Z0-9\\-]+",
9373 "type" : "string"
9374 },
9375 "size" : {
9376 "description" : "The size of the file in MB.",
9377 "minimum" : 1,
9378 "type" : "integer"
9379 }
9380 },
9381 "optional" : 1,
9382 "type" : "string"
9383 },
44660702 9384 "keyboard" : {
35a75dd3 9385 "default" : null,
5da3d723 9386 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
44660702
DM
9387 "enum" : [
9388 "de",
9389 "de-ch",
9390 "da",
9391 "en-gb",
9392 "en-us",
9393 "es",
9394 "fi",
9395 "fr",
9396 "fr-be",
9397 "fr-ca",
9398 "fr-ch",
9399 "hu",
9400 "is",
9401 "it",
9402 "ja",
9403 "lt",
9404 "mk",
9405 "nl",
9406 "no",
9407 "pl",
9408 "pt",
9409 "pt-br",
9410 "sv",
9411 "sl",
9412 "tr"
9413 ],
56122987 9414 "optional" : 1,
44660702
DM
9415 "type" : "string"
9416 },
9417 "kvm" : {
7aacca6f 9418 "default" : 1,
44660702
DM
9419 "description" : "Enable/disable KVM hardware virtualization.",
9420 "optional" : 1,
4d47f125 9421 "type" : "boolean"
56122987 9422 },
44660702
DM
9423 "localtime" : {
9424 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 9425 "optional" : 1,
4d47f125 9426 "type" : "boolean"
56122987 9427 },
44660702
DM
9428 "lock" : {
9429 "description" : "Lock/unlock the VM.",
9430 "enum" : [
44660702 9431 "backup",
5f26e15b
TL
9432 "clone",
9433 "create",
9434 "migrate",
9435 "rollback",
44660702 9436 "snapshot",
95895385
TL
9437 "snapshot-delete",
9438 "suspending",
9439 "suspended"
44660702 9440 ],
7aacca6f 9441 "optional" : 1,
44660702
DM
9442 "type" : "string"
9443 },
9444 "machine" : {
4d47f125 9445 "description" : "Specifies the Qemu machine type.",
44660702
DM
9446 "maxLength" : 40,
9447 "optional" : 1,
5c1699e5 9448 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
9449 "type" : "string"
9450 },
9451 "memory" : {
9452 "default" : 512,
9453 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
9454 "minimum" : 16,
9455 "optional" : 1,
4d47f125 9456 "type" : "integer"
44660702
DM
9457 },
9458 "migrate_downtime" : {
9459 "default" : 0.1,
9460 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
9461 "minimum" : 0,
9462 "optional" : 1,
4d47f125 9463 "type" : "number"
44660702
DM
9464 },
9465 "migrate_speed" : {
9466 "default" : 0,
9467 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
9468 "minimum" : 0,
9469 "optional" : 1,
4d47f125 9470 "type" : "integer"
44660702
DM
9471 },
9472 "name" : {
9473 "description" : "Set a name for the VM. Only used on the configuration web interface.",
9474 "format" : "dns-name",
9475 "optional" : 1,
4d47f125 9476 "type" : "string"
44660702 9477 },
27a7acb2
DM
9478 "nameserver" : {
9479 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
9480 "format" : "address-list",
9481 "optional" : 1,
4d47f125 9482 "type" : "string"
27a7acb2 9483 },
44660702 9484 "net[n]" : {
c2993fe5 9485 "description" : "Specify network devices.",
f004f5b9
DM
9486 "format" : {
9487 "bridge" : {
c2993fe5 9488 "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2 Gateway\n 10.0.2.3 DNS Server\n 10.0.2.4 SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
f004f5b9
DM
9489 "format_description" : "bridge",
9490 "optional" : 1,
9491 "type" : "string"
9492 },
9493 "e1000" : {
9494 "alias" : "macaddr",
9495 "keyAlias" : "model"
9496 },
9497 "e1000-82540em" : {
9498 "alias" : "macaddr",
9499 "keyAlias" : "model"
9500 },
9501 "e1000-82544gc" : {
9502 "alias" : "macaddr",
9503 "keyAlias" : "model"
9504 },
9505 "e1000-82545em" : {
9506 "alias" : "macaddr",
9507 "keyAlias" : "model"
9508 },
9509 "firewall" : {
9510 "description" : "Whether this interface should be protected by the firewall.",
9511 "optional" : 1,
9512 "type" : "boolean"
9513 },
9514 "i82551" : {
9515 "alias" : "macaddr",
9516 "keyAlias" : "model"
9517 },
9518 "i82557b" : {
9519 "alias" : "macaddr",
9520 "keyAlias" : "model"
9521 },
9522 "i82559er" : {
9523 "alias" : "macaddr",
9524 "keyAlias" : "model"
9525 },
9526 "link_down" : {
c2993fe5 9527 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
9528 "optional" : 1,
9529 "type" : "boolean"
9530 },
9531 "macaddr" : {
c2993fe5 9532 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 9533 "format" : "mac-addr",
f004f5b9 9534 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 9535 "optional" : 1,
95895385
TL
9536 "type" : "string",
9537 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
9538 },
9539 "model" : {
9540 "default_key" : 1,
c2993fe5 9541 "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
f004f5b9
DM
9542 "enum" : [
9543 "rtl8139",
9544 "ne2k_pci",
9545 "e1000",
9546 "pcnet",
9547 "virtio",
9548 "ne2k_isa",
9549 "i82551",
9550 "i82557b",
9551 "i82559er",
9552 "vmxnet3",
9553 "e1000-82540em",
9554 "e1000-82544gc",
9555 "e1000-82545em"
9556 ],
f004f5b9
DM
9557 "type" : "string"
9558 },
9559 "ne2k_isa" : {
9560 "alias" : "macaddr",
9561 "keyAlias" : "model"
9562 },
9563 "ne2k_pci" : {
9564 "alias" : "macaddr",
9565 "keyAlias" : "model"
9566 },
9567 "pcnet" : {
9568 "alias" : "macaddr",
9569 "keyAlias" : "model"
9570 },
9571 "queues" : {
9572 "description" : "Number of packet queues to be used on the device.",
9573 "maximum" : 16,
9574 "minimum" : 0,
9575 "optional" : 1,
9576 "type" : "integer"
9577 },
9578 "rate" : {
c2993fe5 9579 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
9580 "minimum" : 0,
9581 "optional" : 1,
9582 "type" : "number"
9583 },
9584 "rtl8139" : {
9585 "alias" : "macaddr",
9586 "keyAlias" : "model"
9587 },
9588 "tag" : {
9589 "description" : "VLAN tag to apply to packets on this interface.",
9590 "maximum" : 4094,
c2993fe5 9591 "minimum" : 1,
f004f5b9
DM
9592 "optional" : 1,
9593 "type" : "integer"
9594 },
9595 "trunks" : {
9596 "description" : "VLAN trunks to pass through this interface.",
9597 "format_description" : "vlanid[;vlanid...]",
9598 "optional" : 1,
9599 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
9600 "type" : "string"
9601 },
9602 "virtio" : {
9603 "alias" : "macaddr",
9604 "keyAlias" : "model"
9605 },
9606 "vmxnet3" : {
9607 "alias" : "macaddr",
9608 "keyAlias" : "model"
9609 }
9610 },
44660702 9611 "optional" : 1,
4d47f125 9612 "type" : "string"
44660702
DM
9613 },
9614 "numa" : {
9615 "default" : 0,
9616 "description" : "Enable/disable NUMA.",
9617 "optional" : 1,
4d47f125 9618 "type" : "boolean"
44660702
DM
9619 },
9620 "numa[n]" : {
c2993fe5 9621 "description" : "NUMA topology.",
56122987 9622 "format" : {
7aacca6f 9623 "cpus" : {
c2993fe5 9624 "description" : "CPUs accessing this NUMA node.",
44660702
DM
9625 "format_description" : "id[-id];...",
9626 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
9627 "type" : "string"
7aacca6f
DM
9628 },
9629 "hostnodes" : {
c2993fe5 9630 "description" : "Host NUMA nodes to use.",
44660702 9631 "format_description" : "id[-id];...",
7aacca6f 9632 "optional" : 1,
7aacca6f 9633 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 9634 "type" : "string"
7aacca6f 9635 },
44660702 9636 "memory" : {
c2993fe5 9637 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 9638 "optional" : 1,
44660702
DM
9639 "type" : "number"
9640 },
9641 "policy" : {
c2993fe5 9642 "description" : "NUMA allocation policy.",
7aacca6f
DM
9643 "enum" : [
9644 "preferred",
9645 "bind",
9646 "interleave"
9647 ],
44660702
DM
9648 "optional" : 1,
9649 "type" : "string"
56122987 9650 }
44660702 9651 },
56122987 9652 "optional" : 1,
4d47f125 9653 "type" : "string"
56122987 9654 },
44660702 9655 "onboot" : {
7aacca6f 9656 "default" : 0,
44660702
DM
9657 "description" : "Specifies whether a VM will be started during system bootup.",
9658 "optional" : 1,
4d47f125 9659 "type" : "boolean"
7aacca6f
DM
9660 },
9661 "ostype" : {
c2993fe5 9662 "description" : "Specify guest operating system.",
7aacca6f
DM
9663 "enum" : [
9664 "other",
9665 "wxp",
9666 "w2k",
9667 "w2k3",
9668 "w2k8",
9669 "wvista",
9670 "win7",
9671 "win8",
32d876b5 9672 "win10",
7aacca6f
DM
9673 "l24",
9674 "l26",
9675 "solaris"
9676 ],
7aacca6f 9677 "optional" : 1,
c2993fe5 9678 "type" : "string",
5c1699e5 9679 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 9680 },
44660702 9681 "parallel[n]" : {
c2993fe5 9682 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 9683 "optional" : 1,
44660702 9684 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
9685 "type" : "string",
9686 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f
DM
9687 },
9688 "protection" : {
9689 "default" : 0,
c2993fe5 9690 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 9691 "optional" : 1,
4d47f125 9692 "type" : "boolean"
7aacca6f 9693 },
44660702
DM
9694 "reboot" : {
9695 "default" : 1,
9696 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 9697 "optional" : 1,
4d47f125 9698 "type" : "boolean"
44660702
DM
9699 },
9700 "sata[n]" : {
9701 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 9702 "format" : {
44660702
DM
9703 "aio" : {
9704 "description" : "AIO type to use.",
7aacca6f 9705 "enum" : [
44660702
DM
9706 "native",
9707 "threads"
7aacca6f 9708 ],
44660702
DM
9709 "optional" : 1,
9710 "type" : "string"
7aacca6f 9711 },
44660702
DM
9712 "backup" : {
9713 "description" : "Whether the drive should be included when making backups.",
56122987 9714 "optional" : 1,
7aacca6f 9715 "type" : "boolean"
44660702
DM
9716 },
9717 "bps" : {
de0983cb 9718 "description" : "Maximum r/w speed in bytes per second.",
44660702 9719 "format_description" : "bps",
7aacca6f 9720 "optional" : 1,
44660702 9721 "type" : "integer"
56122987 9722 },
de0983cb
DM
9723 "bps_max_length" : {
9724 "description" : "Maximum length of I/O bursts in seconds.",
9725 "format_description" : "seconds",
9726 "minimum" : 1,
9727 "optional" : 1,
9728 "type" : "integer"
9729 },
44660702 9730 "bps_rd" : {
de0983cb 9731 "description" : "Maximum read speed in bytes per second.",
44660702 9732 "format_description" : "bps",
56122987 9733 "optional" : 1,
44660702 9734 "type" : "integer"
56122987 9735 },
de0983cb 9736 "bps_rd_length" : {
5d9c884c
DM
9737 "alias" : "bps_rd_max_length"
9738 },
9739 "bps_rd_max_length" : {
de0983cb
DM
9740 "description" : "Maximum length of read I/O bursts in seconds.",
9741 "format_description" : "seconds",
9742 "minimum" : 1,
9743 "optional" : 1,
9744 "type" : "integer"
9745 },
44660702 9746 "bps_wr" : {
de0983cb 9747 "description" : "Maximum write speed in bytes per second.",
44660702 9748 "format_description" : "bps",
56122987 9749 "optional" : 1,
44660702 9750 "type" : "integer"
56122987 9751 },
de0983cb 9752 "bps_wr_length" : {
5d9c884c
DM
9753 "alias" : "bps_wr_max_length"
9754 },
9755 "bps_wr_max_length" : {
de0983cb
DM
9756 "description" : "Maximum length of write I/O bursts in seconds.",
9757 "format_description" : "seconds",
9758 "minimum" : 1,
9759 "optional" : 1,
9760 "type" : "integer"
9761 },
56122987 9762 "cache" : {
44660702 9763 "description" : "The drive's cache mode",
56122987
DM
9764 "enum" : [
9765 "none",
9766 "writethrough",
9767 "writeback",
9768 "unsafe",
9769 "directsync"
9770 ],
56122987 9771 "optional" : 1,
44660702 9772 "type" : "string"
56122987 9773 },
44660702
DM
9774 "cyls" : {
9775 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 9776 "optional" : 1,
44660702 9777 "type" : "integer"
7aacca6f
DM
9778 },
9779 "detect_zeroes" : {
9780 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 9781 "optional" : 1,
44660702 9782 "type" : "boolean"
56122987 9783 },
44660702
DM
9784 "discard" : {
9785 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9786 "enum" : [
9787 "ignore",
9788 "on"
9789 ],
56122987 9790 "optional" : 1,
44660702 9791 "type" : "string"
7aacca6f 9792 },
44660702
DM
9793 "file" : {
9794 "default_key" : 1,
9795 "description" : "The drive's backing volume.",
9796 "format" : "pve-volume-id-or-qm-path",
9797 "format_description" : "volume",
9798 "type" : "string"
56122987 9799 },
7aacca6f 9800 "format" : {
44660702 9801 "description" : "The drive's backing file's data format.",
7aacca6f
DM
9802 "enum" : [
9803 "raw",
9804 "cow",
9805 "qcow",
9806 "qed",
9807 "qcow2",
9808 "vmdk",
9809 "cloop"
9810 ],
7aacca6f 9811 "optional" : 1,
44660702 9812 "type" : "string"
56122987 9813 },
7aacca6f 9814 "heads" : {
7aacca6f 9815 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9816 "optional" : 1,
7aacca6f 9817 "type" : "integer"
56122987 9818 },
44660702 9819 "iops" : {
de0983cb 9820 "description" : "Maximum r/w I/O in operations per second.",
44660702 9821 "format_description" : "iops",
56122987 9822 "optional" : 1,
44660702 9823 "type" : "integer"
56122987 9824 },
44660702 9825 "iops_max" : {
de0983cb 9826 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9827 "format_description" : "iops",
56122987 9828 "optional" : 1,
44660702 9829 "type" : "integer"
56122987 9830 },
de0983cb
DM
9831 "iops_max_length" : {
9832 "description" : "Maximum length of I/O bursts in seconds.",
9833 "format_description" : "seconds",
9834 "minimum" : 1,
9835 "optional" : 1,
9836 "type" : "integer"
9837 },
44660702 9838 "iops_rd" : {
de0983cb 9839 "description" : "Maximum read I/O in operations per second.",
44660702 9840 "format_description" : "iops",
7aacca6f 9841 "optional" : 1,
44660702 9842 "type" : "integer"
56122987 9843 },
de0983cb 9844 "iops_rd_length" : {
5d9c884c 9845 "alias" : "iops_rd_max_length"
de0983cb 9846 },
44660702 9847 "iops_rd_max" : {
de0983cb 9848 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9849 "format_description" : "iops",
56122987 9850 "optional" : 1,
44660702 9851 "type" : "integer"
7aacca6f 9852 },
5d9c884c
DM
9853 "iops_rd_max_length" : {
9854 "description" : "Maximum length of read I/O bursts in seconds.",
9855 "format_description" : "seconds",
9856 "minimum" : 1,
9857 "optional" : 1,
9858 "type" : "integer"
9859 },
44660702 9860 "iops_wr" : {
de0983cb 9861 "description" : "Maximum write I/O in operations per second.",
44660702 9862 "format_description" : "iops",
56122987 9863 "optional" : 1,
44660702 9864 "type" : "integer"
56122987 9865 },
de0983cb 9866 "iops_wr_length" : {
5d9c884c 9867 "alias" : "iops_wr_max_length"
de0983cb 9868 },
56122987 9869 "iops_wr_max" : {
de0983cb 9870 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9871 "format_description" : "iops",
56122987 9872 "optional" : 1,
44660702 9873 "type" : "integer"
56122987 9874 },
5d9c884c
DM
9875 "iops_wr_max_length" : {
9876 "description" : "Maximum length of write I/O bursts in seconds.",
9877 "format_description" : "seconds",
9878 "minimum" : 1,
9879 "optional" : 1,
9880 "type" : "integer"
9881 },
44660702 9882 "mbps" : {
de0983cb 9883 "description" : "Maximum r/w speed in megabytes per second.",
44660702 9884 "format_description" : "mbps",
56122987 9885 "optional" : 1,
44660702 9886 "type" : "number"
56122987 9887 },
44660702 9888 "mbps_max" : {
de0983cb 9889 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9890 "format_description" : "mbps",
9891 "optional" : 1,
9892 "type" : "number"
56122987 9893 },
44660702 9894 "mbps_rd" : {
de0983cb 9895 "description" : "Maximum read speed in megabytes per second.",
44660702 9896 "format_description" : "mbps",
56122987 9897 "optional" : 1,
44660702 9898 "type" : "number"
56122987 9899 },
44660702 9900 "mbps_rd_max" : {
de0983cb 9901 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9902 "format_description" : "mbps",
56122987 9903 "optional" : 1,
44660702 9904 "type" : "number"
56122987 9905 },
44660702 9906 "mbps_wr" : {
de0983cb 9907 "description" : "Maximum write speed in megabytes per second.",
56122987 9908 "format_description" : "mbps",
44660702
DM
9909 "optional" : 1,
9910 "type" : "number"
56122987 9911 },
44660702 9912 "mbps_wr_max" : {
de0983cb 9913 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9914 "format_description" : "mbps",
9915 "optional" : 1,
9916 "type" : "number"
7aacca6f 9917 },
44660702
DM
9918 "media" : {
9919 "default" : "disk",
9920 "description" : "The drive's media type.",
9921 "enum" : [
9922 "cdrom",
9923 "disk"
9924 ],
56122987 9925 "optional" : 1,
44660702
DM
9926 "type" : "string"
9927 },
5d9c884c
DM
9928 "replicate" : {
9929 "default" : 1,
9930 "description" : "Whether the drive should considered for replication jobs.",
9931 "optional" : 1,
9932 "type" : "boolean"
9933 },
44660702
DM
9934 "rerror" : {
9935 "description" : "Read error action.",
7aacca6f 9936 "enum" : [
44660702
DM
9937 "ignore",
9938 "report",
9939 "stop"
9940 ],
7aacca6f 9941 "optional" : 1,
44660702 9942 "type" : "string"
56122987 9943 },
44660702
DM
9944 "secs" : {
9945 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9946 "optional" : 1,
44660702 9947 "type" : "integer"
56122987 9948 },
44660702
DM
9949 "serial" : {
9950 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9951 "format" : "urlencoded",
9952 "format_description" : "serial",
9953 "maxLength" : 60,
56122987 9954 "optional" : 1,
44660702 9955 "type" : "string"
56122987 9956 },
27a7acb2
DM
9957 "shared" : {
9958 "default" : 0,
9959 "description" : "Mark this locally-managed volume as available on all nodes",
9960 "optional" : 1,
9961 "type" : "boolean",
9962 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
9963 },
44660702
DM
9964 "size" : {
9965 "description" : "Disk size. This is purely informational and has no effect.",
9966 "format" : "disk-size",
f004f5b9 9967 "format_description" : "DiskSize",
44660702
DM
9968 "optional" : 1,
9969 "type" : "string"
9970 },
9971 "snapshot" : {
27a7acb2 9972 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 9973 "optional" : 1,
44660702
DM
9974 "type" : "boolean"
9975 },
25203dc1
NC
9976 "ssd" : {
9977 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9978 "optional" : 1,
9979 "type" : "boolean"
9980 },
44660702
DM
9981 "trans" : {
9982 "description" : "Force disk geometry bios translation mode.",
56122987 9983 "enum" : [
7aacca6f
DM
9984 "none",
9985 "lba",
9986 "auto"
56122987 9987 ],
44660702
DM
9988 "optional" : 1,
9989 "type" : "string"
56122987 9990 },
7aacca6f
DM
9991 "volume" : {
9992 "alias" : "file"
56122987 9993 },
44660702
DM
9994 "werror" : {
9995 "description" : "Write error action.",
9996 "enum" : [
9997 "enospc",
9998 "ignore",
9999 "report",
10000 "stop"
10001 ],
7aacca6f 10002 "optional" : 1,
44660702 10003 "type" : "string"
95895385
TL
10004 },
10005 "wwn" : {
10006 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
10007 "format_description" : "wwn",
10008 "optional" : 1,
10009 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
10010 "type" : "string"
44660702
DM
10011 }
10012 },
10013 "optional" : 1,
4d47f125 10014 "type" : "string"
44660702
DM
10015 },
10016 "scsi[n]" : {
10017 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
10018 "format" : {
56122987 10019 "aio" : {
56122987
DM
10020 "description" : "AIO type to use.",
10021 "enum" : [
10022 "native",
10023 "threads"
10024 ],
7aacca6f 10025 "optional" : 1,
44660702 10026 "type" : "string"
56122987 10027 },
44660702
DM
10028 "backup" : {
10029 "description" : "Whether the drive should be included when making backups.",
56122987 10030 "optional" : 1,
44660702 10031 "type" : "boolean"
56122987 10032 },
44660702 10033 "bps" : {
de0983cb 10034 "description" : "Maximum r/w speed in bytes per second.",
44660702 10035 "format_description" : "bps",
56122987 10036 "optional" : 1,
44660702 10037 "type" : "integer"
56122987 10038 },
de0983cb
DM
10039 "bps_max_length" : {
10040 "description" : "Maximum length of I/O bursts in seconds.",
10041 "format_description" : "seconds",
10042 "minimum" : 1,
10043 "optional" : 1,
10044 "type" : "integer"
10045 },
44660702 10046 "bps_rd" : {
de0983cb 10047 "description" : "Maximum read speed in bytes per second.",
44660702 10048 "format_description" : "bps",
56122987 10049 "optional" : 1,
44660702 10050 "type" : "integer"
56122987 10051 },
de0983cb 10052 "bps_rd_length" : {
5d9c884c
DM
10053 "alias" : "bps_rd_max_length"
10054 },
10055 "bps_rd_max_length" : {
de0983cb
DM
10056 "description" : "Maximum length of read I/O bursts in seconds.",
10057 "format_description" : "seconds",
10058 "minimum" : 1,
10059 "optional" : 1,
10060 "type" : "integer"
10061 },
7aacca6f 10062 "bps_wr" : {
de0983cb 10063 "description" : "Maximum write speed in bytes per second.",
7aacca6f 10064 "format_description" : "bps",
56122987 10065 "optional" : 1,
44660702 10066 "type" : "integer"
56122987 10067 },
de0983cb 10068 "bps_wr_length" : {
5d9c884c
DM
10069 "alias" : "bps_wr_max_length"
10070 },
10071 "bps_wr_max_length" : {
de0983cb
DM
10072 "description" : "Maximum length of write I/O bursts in seconds.",
10073 "format_description" : "seconds",
10074 "minimum" : 1,
10075 "optional" : 1,
10076 "type" : "integer"
10077 },
44660702
DM
10078 "cache" : {
10079 "description" : "The drive's cache mode",
7aacca6f 10080 "enum" : [
44660702
DM
10081 "none",
10082 "writethrough",
10083 "writeback",
10084 "unsafe",
10085 "directsync"
7aacca6f 10086 ],
56122987 10087 "optional" : 1,
44660702 10088 "type" : "string"
56122987 10089 },
44660702
DM
10090 "cyls" : {
10091 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 10092 "optional" : 1,
44660702 10093 "type" : "integer"
56122987 10094 },
44660702
DM
10095 "detect_zeroes" : {
10096 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 10097 "optional" : 1,
44660702 10098 "type" : "boolean"
56122987 10099 },
44660702
DM
10100 "discard" : {
10101 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10102 "enum" : [
10103 "ignore",
10104 "on"
10105 ],
7aacca6f 10106 "optional" : 1,
44660702 10107 "type" : "string"
56122987 10108 },
44660702
DM
10109 "file" : {
10110 "default_key" : 1,
10111 "description" : "The drive's backing volume.",
10112 "format" : "pve-volume-id-or-qm-path",
10113 "format_description" : "volume",
10114 "type" : "string"
56122987 10115 },
7aacca6f 10116 "format" : {
44660702 10117 "description" : "The drive's backing file's data format.",
56122987 10118 "enum" : [
7aacca6f
DM
10119 "raw",
10120 "cow",
10121 "qcow",
10122 "qed",
10123 "qcow2",
10124 "vmdk",
10125 "cloop"
10126 ],
44660702
DM
10127 "optional" : 1,
10128 "type" : "string"
56122987 10129 },
44660702
DM
10130 "heads" : {
10131 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10132 "optional" : 1,
7aacca6f 10133 "type" : "integer"
56122987 10134 },
44660702 10135 "iops" : {
de0983cb 10136 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 10137 "format_description" : "iops",
44660702
DM
10138 "optional" : 1,
10139 "type" : "integer"
7aacca6f 10140 },
44660702 10141 "iops_max" : {
de0983cb 10142 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10143 "format_description" : "iops",
56122987 10144 "optional" : 1,
44660702 10145 "type" : "integer"
7aacca6f 10146 },
de0983cb
DM
10147 "iops_max_length" : {
10148 "description" : "Maximum length of I/O bursts in seconds.",
10149 "format_description" : "seconds",
10150 "minimum" : 1,
10151 "optional" : 1,
10152 "type" : "integer"
10153 },
44660702 10154 "iops_rd" : {
de0983cb 10155 "description" : "Maximum read I/O in operations per second.",
44660702 10156 "format_description" : "iops",
7aacca6f 10157 "optional" : 1,
44660702 10158 "type" : "integer"
56122987 10159 },
de0983cb 10160 "iops_rd_length" : {
5d9c884c 10161 "alias" : "iops_rd_max_length"
de0983cb 10162 },
44660702 10163 "iops_rd_max" : {
de0983cb 10164 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
10165 "format_description" : "iops",
10166 "optional" : 1,
10167 "type" : "integer"
10168 },
5d9c884c
DM
10169 "iops_rd_max_length" : {
10170 "description" : "Maximum length of read I/O bursts in seconds.",
10171 "format_description" : "seconds",
10172 "minimum" : 1,
10173 "optional" : 1,
10174 "type" : "integer"
10175 },
44660702 10176 "iops_wr" : {
de0983cb 10177 "description" : "Maximum write I/O in operations per second.",
44660702 10178 "format_description" : "iops",
56122987 10179 "optional" : 1,
44660702
DM
10180 "type" : "integer"
10181 },
de0983cb 10182 "iops_wr_length" : {
5d9c884c 10183 "alias" : "iops_wr_max_length"
de0983cb 10184 },
44660702 10185 "iops_wr_max" : {
de0983cb 10186 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
10187 "format_description" : "iops",
10188 "optional" : 1,
10189 "type" : "integer"
56122987 10190 },
5d9c884c
DM
10191 "iops_wr_max_length" : {
10192 "description" : "Maximum length of write I/O bursts in seconds.",
10193 "format_description" : "seconds",
10194 "minimum" : 1,
10195 "optional" : 1,
10196 "type" : "integer"
10197 },
7aacca6f 10198 "iothread" : {
7aacca6f 10199 "description" : "Whether to use iothreads for this drive",
56122987 10200 "optional" : 1,
56122987
DM
10201 "type" : "boolean"
10202 },
44660702 10203 "mbps" : {
de0983cb 10204 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
10205 "format_description" : "mbps",
10206 "optional" : 1,
10207 "type" : "number"
10208 },
10209 "mbps_max" : {
de0983cb 10210 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
10211 "format_description" : "mbps",
10212 "optional" : 1,
10213 "type" : "number"
10214 },
10215 "mbps_rd" : {
de0983cb 10216 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
10217 "format_description" : "mbps",
10218 "optional" : 1,
10219 "type" : "number"
10220 },
10221 "mbps_rd_max" : {
de0983cb 10222 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
10223 "format_description" : "mbps",
10224 "optional" : 1,
10225 "type" : "number"
10226 },
10227 "mbps_wr" : {
de0983cb 10228 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
10229 "format_description" : "mbps",
10230 "optional" : 1,
10231 "type" : "number"
10232 },
10233 "mbps_wr_max" : {
de0983cb 10234 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
10235 "format_description" : "mbps",
10236 "optional" : 1,
10237 "type" : "number"
10238 },
7aacca6f 10239 "media" : {
44660702
DM
10240 "default" : "disk",
10241 "description" : "The drive's media type.",
7aacca6f
DM
10242 "enum" : [
10243 "cdrom",
10244 "disk"
10245 ],
56122987 10246 "optional" : 1,
44660702
DM
10247 "type" : "string"
10248 },
10249 "queues" : {
10250 "description" : "Number of queues.",
44660702
DM
10251 "minimum" : 2,
10252 "optional" : 1,
10253 "type" : "integer"
10254 },
5d9c884c
DM
10255 "replicate" : {
10256 "default" : 1,
10257 "description" : "Whether the drive should considered for replication jobs.",
10258 "optional" : 1,
10259 "type" : "boolean"
10260 },
10261 "rerror" : {
10262 "description" : "Read error action.",
10263 "enum" : [
10264 "ignore",
10265 "report",
10266 "stop"
10267 ],
10268 "optional" : 1,
10269 "type" : "string"
10270 },
52e44c50
FG
10271 "scsiblock" : {
10272 "default" : 0,
10273 "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
10274 "optional" : 1,
10275 "type" : "boolean"
10276 },
44660702
DM
10277 "secs" : {
10278 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10279 "optional" : 1,
10280 "type" : "integer"
10281 },
10282 "serial" : {
10283 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10284 "format" : "urlencoded",
10285 "format_description" : "serial",
10286 "maxLength" : 60,
10287 "optional" : 1,
10288 "type" : "string"
10289 },
27a7acb2
DM
10290 "shared" : {
10291 "default" : 0,
10292 "description" : "Mark this locally-managed volume as available on all nodes",
10293 "optional" : 1,
10294 "type" : "boolean",
10295 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
10296 },
44660702
DM
10297 "size" : {
10298 "description" : "Disk size. This is purely informational and has no effect.",
10299 "format" : "disk-size",
f004f5b9 10300 "format_description" : "DiskSize",
44660702
DM
10301 "optional" : 1,
10302 "type" : "string"
56122987 10303 },
7aacca6f 10304 "snapshot" : {
27a7acb2 10305 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
7aacca6f 10306 "optional" : 1,
44660702 10307 "type" : "boolean"
7aacca6f 10308 },
25203dc1
NC
10309 "ssd" : {
10310 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
10311 "optional" : 1,
10312 "type" : "boolean"
10313 },
44660702
DM
10314 "trans" : {
10315 "description" : "Force disk geometry bios translation mode.",
10316 "enum" : [
10317 "none",
10318 "lba",
10319 "auto"
10320 ],
44660702
DM
10321 "optional" : 1,
10322 "type" : "string"
10323 },
10324 "volume" : {
10325 "alias" : "file"
10326 },
10327 "werror" : {
10328 "description" : "Write error action.",
10329 "enum" : [
10330 "enospc",
10331 "ignore",
10332 "report",
10333 "stop"
10334 ],
56122987 10335 "optional" : 1,
44660702 10336 "type" : "string"
95895385
TL
10337 },
10338 "wwn" : {
10339 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
10340 "format_description" : "wwn",
10341 "optional" : 1,
10342 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
10343 "type" : "string"
56122987 10344 }
44660702 10345 },
7aacca6f 10346 "optional" : 1,
4d47f125 10347 "type" : "string"
44660702
DM
10348 },
10349 "scsihw" : {
10350 "default" : "lsi",
c2993fe5 10351 "description" : "SCSI controller model",
7aacca6f 10352 "enum" : [
44660702
DM
10353 "lsi",
10354 "lsi53c810",
10355 "virtio-scsi-pci",
10356 "virtio-scsi-single",
10357 "megasas",
10358 "pvscsi"
7aacca6f 10359 ],
44660702
DM
10360 "optional" : 1,
10361 "type" : "string"
56122987 10362 },
27a7acb2
DM
10363 "searchdomain" : {
10364 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
10365 "optional" : 1,
4d47f125 10366 "type" : "string"
27a7acb2 10367 },
44660702 10368 "serial[n]" : {
c2993fe5 10369 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 10370 "optional" : 1,
44660702 10371 "pattern" : "(/dev/.+|socket)",
c2993fe5 10372 "type" : "string",
57b78691 10373 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 10374 },
44660702
DM
10375 "shares" : {
10376 "default" : 1000,
5da3d723 10377 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
44660702
DM
10378 "maximum" : 50000,
10379 "minimum" : 0,
56122987 10380 "optional" : 1,
4d47f125 10381 "type" : "integer"
56122987 10382 },
44660702
DM
10383 "smbios1" : {
10384 "description" : "Specify SMBIOS type 1 fields.",
10385 "format" : "pve-qm-smbios1",
1e3f8156 10386 "maxLength" : 512,
56122987 10387 "optional" : 1,
4d47f125 10388 "type" : "string"
56122987 10389 },
44660702
DM
10390 "smp" : {
10391 "default" : 1,
10392 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 10393 "minimum" : 1,
7aacca6f 10394 "optional" : 1,
4d47f125 10395 "type" : "integer"
7aacca6f 10396 },
44660702
DM
10397 "sockets" : {
10398 "default" : 1,
10399 "description" : "The number of CPU sockets.",
10400 "minimum" : 1,
7aacca6f 10401 "optional" : 1,
4d47f125 10402 "type" : "integer"
56122987 10403 },
1c532546
TL
10404 "spice_enhancements" : {
10405 "description" : "Configure additional enhancements for SPICE.",
10406 "format" : {
10407 "foldersharing" : {
10408 "default" : "0",
10409 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
10410 "optional" : 1,
10411 "type" : "boolean"
10412 },
10413 "videostreaming" : {
10414 "default" : "off",
10415 "description" : "Enable video streaming. Uses compression for detected video streams.",
10416 "enum" : [
10417 "off",
10418 "all",
10419 "filter"
10420 ],
10421 "optional" : 1,
10422 "type" : "string"
10423 }
10424 },
10425 "optional" : 1,
10426 "type" : "string"
10427 },
27a7acb2
DM
10428 "sshkeys" : {
10429 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
10430 "format" : "urlencoded",
10431 "optional" : 1,
4d47f125 10432 "type" : "string"
27a7acb2 10433 },
44660702
DM
10434 "startdate" : {
10435 "default" : "now",
10436 "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
7aacca6f 10437 "optional" : 1,
44660702 10438 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 10439 "type" : "string",
44660702 10440 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 10441 },
7aacca6f 10442 "startup" : {
7aacca6f 10443 "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
44660702 10444 "format" : "pve-startup-order",
56122987 10445 "optional" : 1,
44660702
DM
10446 "type" : "string",
10447 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 10448 },
44660702 10449 "tablet" : {
7aacca6f 10450 "default" : 1,
c2993fe5 10451 "description" : "Enable/disable the USB tablet device.",
7aacca6f 10452 "optional" : 1,
c2993fe5
DM
10453 "type" : "boolean",
10454 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
56122987 10455 },
5c1699e5
TL
10456 "tags" : {
10457 "description" : "Tags of the VM. This is only meta information.",
10458 "format" : "pve-tag-list",
10459 "optional" : 1,
10460 "type" : "string"
10461 },
44660702
DM
10462 "tdf" : {
10463 "default" : 0,
10464 "description" : "Enable/disable time drift fix.",
7aacca6f 10465 "optional" : 1,
4d47f125 10466 "type" : "boolean"
7aacca6f 10467 },
44660702
DM
10468 "template" : {
10469 "default" : 0,
10470 "description" : "Enable/disable Template.",
7aacca6f 10471 "optional" : 1,
4d47f125 10472 "type" : "boolean"
7aacca6f 10473 },
44660702 10474 "unused[n]" : {
c2993fe5 10475 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 10476 "format" : "pve-volume-id",
7aacca6f 10477 "optional" : 1,
4d47f125 10478 "type" : "string"
7aacca6f 10479 },
44660702 10480 "usb[n]" : {
c2993fe5 10481 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
10482 "format" : {
10483 "host" : {
10484 "default_key" : 1,
c2993fe5 10485 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
10486 "format" : "pve-qm-usb-device",
10487 "format_description" : "HOSTUSBDEVICE|spice",
10488 "type" : "string"
10489 },
10490 "usb3" : {
c2993fe5 10491 "default" : 0,
1c532546 10492 "description" : "Specifies whether if given host option is a USB3 device or port.",
44660702
DM
10493 "optional" : 1,
10494 "type" : "boolean"
10495 }
10496 },
7aacca6f 10497 "optional" : 1,
4d47f125 10498 "type" : "string"
56122987 10499 },
44660702
DM
10500 "vcpus" : {
10501 "default" : 0,
10502 "description" : "Number of hotplugged vcpus.",
10503 "minimum" : 1,
56122987 10504 "optional" : 1,
4d47f125 10505 "type" : "integer"
56122987 10506 },
44660702 10507 "vga" : {
e2d681b3
TL
10508 "description" : "Configure the VGA hardware.",
10509 "format" : {
10510 "memory" : {
10511 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
10512 "maximum" : 512,
10513 "minimum" : 4,
10514 "optional" : 1,
10515 "type" : "integer"
10516 },
10517 "type" : {
10518 "default" : "std",
10519 "default_key" : 1,
10520 "description" : "Select the VGA type.",
10521 "enum" : [
10522 "cirrus",
10523 "qxl",
10524 "qxl2",
10525 "qxl3",
10526 "qxl4",
5f26e15b 10527 "none",
e2d681b3
TL
10528 "serial0",
10529 "serial1",
10530 "serial2",
10531 "serial3",
10532 "std",
10533 "virtio",
10534 "vmware"
10535 ],
10536 "optional" : 1,
10537 "type" : "string"
10538 }
10539 },
56122987 10540 "optional" : 1,
c2993fe5 10541 "type" : "string",
e2d681b3 10542 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
56122987 10543 },
44660702
DM
10544 "virtio[n]" : {
10545 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 10546 "format" : {
44660702
DM
10547 "aio" : {
10548 "description" : "AIO type to use.",
56122987 10549 "enum" : [
44660702
DM
10550 "native",
10551 "threads"
56122987 10552 ],
56122987
DM
10553 "optional" : 1,
10554 "type" : "string"
10555 },
44660702
DM
10556 "backup" : {
10557 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10558 "optional" : 1,
10559 "type" : "boolean"
7aacca6f 10560 },
44660702 10561 "bps" : {
de0983cb 10562 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
10563 "format_description" : "bps",
10564 "optional" : 1,
10565 "type" : "integer"
56122987 10566 },
de0983cb
DM
10567 "bps_max_length" : {
10568 "description" : "Maximum length of I/O bursts in seconds.",
10569 "format_description" : "seconds",
10570 "minimum" : 1,
10571 "optional" : 1,
10572 "type" : "integer"
10573 },
44660702 10574 "bps_rd" : {
de0983cb 10575 "description" : "Maximum read speed in bytes per second.",
44660702 10576 "format_description" : "bps",
56122987 10577 "optional" : 1,
44660702 10578 "type" : "integer"
56122987 10579 },
de0983cb 10580 "bps_rd_length" : {
5d9c884c
DM
10581 "alias" : "bps_rd_max_length"
10582 },
10583 "bps_rd_max_length" : {
de0983cb
DM
10584 "description" : "Maximum length of read I/O bursts in seconds.",
10585 "format_description" : "seconds",
10586 "minimum" : 1,
10587 "optional" : 1,
10588 "type" : "integer"
10589 },
44660702 10590 "bps_wr" : {
de0983cb 10591 "description" : "Maximum write speed in bytes per second.",
44660702 10592 "format_description" : "bps",
56122987 10593 "optional" : 1,
44660702
DM
10594 "type" : "integer"
10595 },
de0983cb 10596 "bps_wr_length" : {
5d9c884c
DM
10597 "alias" : "bps_wr_max_length"
10598 },
10599 "bps_wr_max_length" : {
de0983cb
DM
10600 "description" : "Maximum length of write I/O bursts in seconds.",
10601 "format_description" : "seconds",
10602 "minimum" : 1,
10603 "optional" : 1,
10604 "type" : "integer"
10605 },
44660702
DM
10606 "cache" : {
10607 "description" : "The drive's cache mode",
56122987 10608 "enum" : [
44660702
DM
10609 "none",
10610 "writethrough",
10611 "writeback",
10612 "unsafe",
10613 "directsync"
56122987 10614 ],
56122987 10615 "optional" : 1,
44660702 10616 "type" : "string"
56122987 10617 },
44660702
DM
10618 "cyls" : {
10619 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 10620 "optional" : 1,
44660702 10621 "type" : "integer"
7aacca6f 10622 },
44660702
DM
10623 "detect_zeroes" : {
10624 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10625 "optional" : 1,
10626 "type" : "boolean"
7aacca6f 10627 },
44660702
DM
10628 "discard" : {
10629 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10630 "enum" : [
10631 "ignore",
10632 "on"
10633 ],
56122987 10634 "optional" : 1,
44660702 10635 "type" : "string"
56122987
DM
10636 },
10637 "file" : {
7aacca6f 10638 "default_key" : 1,
44660702 10639 "description" : "The drive's backing volume.",
7aacca6f 10640 "format" : "pve-volume-id-or-qm-path",
44660702
DM
10641 "format_description" : "volume",
10642 "type" : "string"
7aacca6f
DM
10643 },
10644 "format" : {
7aacca6f
DM
10645 "description" : "The drive's backing file's data format.",
10646 "enum" : [
10647 "raw",
10648 "cow",
10649 "qcow",
10650 "qed",
10651 "qcow2",
10652 "vmdk",
10653 "cloop"
56122987
DM
10654 ],
10655 "optional" : 1,
56122987
DM
10656 "type" : "string"
10657 },
44660702
DM
10658 "heads" : {
10659 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10660 "optional" : 1,
44660702 10661 "type" : "integer"
56122987 10662 },
44660702 10663 "iops" : {
de0983cb 10664 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 10665 "format_description" : "iops",
56122987 10666 "optional" : 1,
44660702 10667 "type" : "integer"
56122987 10668 },
44660702 10669 "iops_max" : {
de0983cb 10670 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10671 "format_description" : "iops",
56122987 10672 "optional" : 1,
56122987
DM
10673 "type" : "integer"
10674 },
de0983cb
DM
10675 "iops_max_length" : {
10676 "description" : "Maximum length of I/O bursts in seconds.",
10677 "format_description" : "seconds",
10678 "minimum" : 1,
10679 "optional" : 1,
10680 "type" : "integer"
10681 },
44660702 10682 "iops_rd" : {
de0983cb 10683 "description" : "Maximum read I/O in operations per second.",
44660702 10684 "format_description" : "iops",
56122987 10685 "optional" : 1,
44660702 10686 "type" : "integer"
56122987 10687 },
de0983cb 10688 "iops_rd_length" : {
5d9c884c 10689 "alias" : "iops_rd_max_length"
de0983cb 10690 },
44660702 10691 "iops_rd_max" : {
de0983cb 10692 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10693 "format_description" : "iops",
7aacca6f 10694 "optional" : 1,
44660702 10695 "type" : "integer"
56122987 10696 },
5d9c884c
DM
10697 "iops_rd_max_length" : {
10698 "description" : "Maximum length of read I/O bursts in seconds.",
10699 "format_description" : "seconds",
10700 "minimum" : 1,
10701 "optional" : 1,
10702 "type" : "integer"
10703 },
44660702 10704 "iops_wr" : {
de0983cb 10705 "description" : "Maximum write I/O in operations per second.",
44660702 10706 "format_description" : "iops",
7aacca6f 10707 "optional" : 1,
44660702 10708 "type" : "integer"
56122987 10709 },
de0983cb 10710 "iops_wr_length" : {
5d9c884c 10711 "alias" : "iops_wr_max_length"
de0983cb 10712 },
44660702 10713 "iops_wr_max" : {
de0983cb 10714 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 10715 "format_description" : "iops",
56122987
DM
10716 "optional" : 1,
10717 "type" : "integer"
10718 },
5d9c884c
DM
10719 "iops_wr_max_length" : {
10720 "description" : "Maximum length of write I/O bursts in seconds.",
10721 "format_description" : "seconds",
10722 "minimum" : 1,
10723 "optional" : 1,
10724 "type" : "integer"
10725 },
44660702
DM
10726 "iothread" : {
10727 "description" : "Whether to use iothreads for this drive",
44660702
DM
10728 "optional" : 1,
10729 "type" : "boolean"
10730 },
10731 "mbps" : {
de0983cb 10732 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 10733 "format_description" : "mbps",
44660702
DM
10734 "optional" : 1,
10735 "type" : "number"
10736 },
10737 "mbps_max" : {
de0983cb 10738 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
10739 "format_description" : "mbps",
10740 "optional" : 1,
10741 "type" : "number"
7aacca6f 10742 },
44660702 10743 "mbps_rd" : {
de0983cb 10744 "description" : "Maximum read speed in megabytes per second.",
44660702 10745 "format_description" : "mbps",
56122987 10746 "optional" : 1,
44660702 10747 "type" : "number"
56122987 10748 },
44660702 10749 "mbps_rd_max" : {
de0983cb 10750 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 10751 "format_description" : "mbps",
7aacca6f 10752 "optional" : 1,
44660702 10753 "type" : "number"
56122987 10754 },
44660702 10755 "mbps_wr" : {
de0983cb 10756 "description" : "Maximum write speed in megabytes per second.",
44660702 10757 "format_description" : "mbps",
56122987 10758 "optional" : 1,
44660702 10759 "type" : "number"
56122987 10760 },
44660702 10761 "mbps_wr_max" : {
de0983cb 10762 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 10763 "format_description" : "mbps",
56122987 10764 "optional" : 1,
44660702 10765 "type" : "number"
56122987
DM
10766 },
10767 "media" : {
7aacca6f 10768 "default" : "disk",
44660702 10769 "description" : "The drive's media type.",
56122987
DM
10770 "enum" : [
10771 "cdrom",
10772 "disk"
10773 ],
44660702
DM
10774 "optional" : 1,
10775 "type" : "string"
56122987 10776 },
5d9c884c
DM
10777 "replicate" : {
10778 "default" : 1,
10779 "description" : "Whether the drive should considered for replication jobs.",
10780 "optional" : 1,
10781 "type" : "boolean"
10782 },
7aacca6f 10783 "rerror" : {
44660702 10784 "description" : "Read error action.",
56122987 10785 "enum" : [
7aacca6f
DM
10786 "ignore",
10787 "report",
10788 "stop"
56122987 10789 ],
56122987 10790 "optional" : 1,
44660702 10791 "type" : "string"
56122987 10792 },
44660702
DM
10793 "secs" : {
10794 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10795 "optional" : 1,
10796 "type" : "integer"
10797 },
10798 "serial" : {
10799 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10800 "format" : "urlencoded",
10801 "format_description" : "serial",
10802 "maxLength" : 60,
56122987 10803 "optional" : 1,
7aacca6f 10804 "type" : "string"
56122987 10805 },
27a7acb2
DM
10806 "shared" : {
10807 "default" : 0,
10808 "description" : "Mark this locally-managed volume as available on all nodes",
10809 "optional" : 1,
10810 "type" : "boolean",
10811 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
10812 },
44660702
DM
10813 "size" : {
10814 "description" : "Disk size. This is purely informational and has no effect.",
10815 "format" : "disk-size",
f004f5b9 10816 "format_description" : "DiskSize",
56122987 10817 "optional" : 1,
44660702 10818 "type" : "string"
56122987 10819 },
44660702 10820 "snapshot" : {
27a7acb2 10821 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 10822 "optional" : 1,
44660702 10823 "type" : "boolean"
56122987 10824 },
44660702
DM
10825 "trans" : {
10826 "description" : "Force disk geometry bios translation mode.",
10827 "enum" : [
10828 "none",
10829 "lba",
10830 "auto"
10831 ],
44660702
DM
10832 "optional" : 1,
10833 "type" : "string"
10834 },
10835 "volume" : {
10836 "alias" : "file"
10837 },
10838 "werror" : {
10839 "description" : "Write error action.",
10840 "enum" : [
10841 "enospc",
10842 "ignore",
10843 "report",
10844 "stop"
10845 ],
56122987 10846 "optional" : 1,
44660702 10847 "type" : "string"
56122987 10848 }
44660702 10849 },
56122987 10850 "optional" : 1,
4d47f125 10851 "type" : "string"
56122987 10852 },
4d47f125
TL
10853 "vmgenid" : {
10854 "default" : "1 (autogenerated)",
10855 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
10856 "format_description" : "UUID",
10857 "optional" : 1,
10858 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
10859 "type" : "string",
10860 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
56122987 10861 },
2489d6df
WB
10862 "vmstatestorage" : {
10863 "description" : "Default storage for VM state volumes/files.",
10864 "format" : "pve-storage-id",
10865 "optional" : 1,
4d47f125 10866 "type" : "string"
2489d6df 10867 },
44660702 10868 "watchdog" : {
c2993fe5 10869 "description" : "Create a virtual hardware watchdog device.",
44660702 10870 "format" : "pve-qm-watchdog",
56122987 10871 "optional" : 1,
c2993fe5
DM
10872 "type" : "string",
10873 "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
56122987 10874 }
4d47f125
TL
10875 },
10876 "type" : "object"
44660702 10877 }
56122987 10878 },
4d47f125
TL
10879 "POST" : {
10880 "description" : "Set virtual machine options (asynchrounous API).",
10881 "method" : "POST",
10882 "name" : "update_vm_async",
56122987 10883 "parameters" : {
7aacca6f 10884 "additionalProperties" : 0,
56122987 10885 "properties" : {
44660702
DM
10886 "acpi" : {
10887 "default" : 1,
10888 "description" : "Enable/disable ACPI.",
7aacca6f 10889 "optional" : 1,
013dc89f
DM
10890 "type" : "boolean",
10891 "typetext" : "<boolean>"
7aacca6f 10892 },
44660702 10893 "agent" : {
4d47f125
TL
10894 "description" : "Enable/disable Qemu GuestAgent and its properties.",
10895 "format" : {
10896 "enabled" : {
10897 "default" : 0,
10898 "default_key" : 1,
10899 "description" : "Enable/disable Qemu GuestAgent.",
10900 "type" : "boolean"
10901 },
10902 "fstrim_cloned_disks" : {
10903 "default" : 0,
10904 "description" : "Run fstrim after cloning/moving a disk.",
10905 "optional" : 1,
10906 "type" : "boolean"
5c1699e5
TL
10907 },
10908 "type" : {
10909 "default" : "virtio",
10910 "description" : "Select the agent type",
10911 "enum" : [
10912 "virtio",
10913 "isa"
10914 ],
10915 "optional" : 1,
10916 "type" : "string"
4d47f125
TL
10917 }
10918 },
7aacca6f 10919 "optional" : 1,
4d47f125 10920 "type" : "string",
5c1699e5 10921 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 10922 },
e2d681b3
TL
10923 "arch" : {
10924 "description" : "Virtual processor architecture. Defaults to the host.",
10925 "enum" : [
10926 "x86_64",
10927 "aarch64"
10928 ],
10929 "optional" : 1,
10930 "type" : "string"
10931 },
44660702 10932 "args" : {
c2993fe5 10933 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 10934 "optional" : 1,
c2993fe5 10935 "type" : "string",
013dc89f 10936 "typetext" : "<string>",
c2993fe5 10937 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
7aacca6f 10938 },
1c532546
TL
10939 "audio0" : {
10940 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
10941 "format" : {
10942 "device" : {
10943 "description" : "Configure an audio device.",
10944 "enum" : [
10945 "ich9-intel-hda",
10946 "intel-hda",
10947 "AC97"
10948 ],
10949 "type" : "string"
10950 },
10951 "driver" : {
10952 "default" : "spice",
10953 "description" : "Driver backend for the audio device.",
10954 "enum" : [
10955 "spice"
10956 ],
10957 "optional" : 1,
10958 "type" : "string"
10959 }
10960 },
10961 "optional" : 1,
10962 "type" : "string",
10963 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
10964 },
44660702
DM
10965 "autostart" : {
10966 "default" : 0,
10967 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 10968 "optional" : 1,
013dc89f
DM
10969 "type" : "boolean",
10970 "typetext" : "<boolean>"
7aacca6f 10971 },
4d47f125
TL
10972 "background_delay" : {
10973 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
10974 "maximum" : 30,
10975 "minimum" : 1,
10976 "optional" : 1,
10977 "type" : "integer",
10978 "typetext" : "<integer> (1 - 30)"
10979 },
44660702
DM
10980 "balloon" : {
10981 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
10982 "minimum" : 0,
10983 "optional" : 1,
4bd7df8b 10984 "type" : "integer",
013dc89f 10985 "typetext" : "<integer> (0 - N)"
44660702
DM
10986 },
10987 "bios" : {
10988 "default" : "seabios",
10989 "description" : "Select BIOS implementation.",
7aacca6f 10990 "enum" : [
44660702
DM
10991 "seabios",
10992 "ovmf"
7aacca6f 10993 ],
56122987 10994 "optional" : 1,
7aacca6f
DM
10995 "type" : "string"
10996 },
44660702
DM
10997 "boot" : {
10998 "default" : "cdn",
10999 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 11000 "optional" : 1,
44660702
DM
11001 "pattern" : "[acdn]{1,4}",
11002 "type" : "string"
56122987 11003 },
44660702
DM
11004 "bootdisk" : {
11005 "description" : "Enable booting from specified disk.",
11006 "format" : "pve-qm-bootdisk",
11007 "optional" : 1,
11008 "pattern" : "(ide|sata|scsi|virtio)\\d+",
11009 "type" : "string"
11010 },
11011 "cdrom" : {
11012 "description" : "This is an alias for option -ide2",
de0983cb 11013 "format" : "pve-qm-ide",
56122987 11014 "optional" : 1,
7aacca6f 11015 "type" : "string",
013dc89f 11016 "typetext" : "<volume>"
44660702 11017 },
95895385
TL
11018 "cicustom" : {
11019 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
11020 "format" : "pve-qm-cicustom",
11021 "optional" : 1,
11022 "type" : "string",
11023 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
11024 },
27a7acb2
DM
11025 "cipassword" : {
11026 "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
11027 "optional" : 1,
11028 "type" : "string",
11029 "typetext" : "<string>"
11030 },
11031 "citype" : {
11032 "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
11033 "enum" : [
11034 "configdrive2",
11035 "nocloud"
11036 ],
11037 "optional" : 1,
11038 "type" : "string"
11039 },
11040 "ciuser" : {
11041 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
11042 "optional" : 1,
11043 "type" : "string",
11044 "typetext" : "<string>"
11045 },
44660702
DM
11046 "cores" : {
11047 "default" : 1,
11048 "description" : "The number of cores per socket.",
11049 "minimum" : 1,
11050 "optional" : 1,
4bd7df8b 11051 "type" : "integer",
013dc89f 11052 "typetext" : "<integer> (1 - N)"
44660702
DM
11053 },
11054 "cpu" : {
11055 "description" : "Emulated CPU type.",
11056 "format" : {
11057 "cputype" : {
11058 "default" : "kvm64",
11059 "default_key" : 1,
11060 "description" : "Emulated CPU type.",
11061 "enum" : [
11062 "486",
11063 "athlon",
f004f5b9 11064 "Broadwell",
35a75dd3 11065 "Broadwell-IBRS",
f004f5b9 11066 "Broadwell-noTSX",
35a75dd3 11067 "Broadwell-noTSX-IBRS",
1c532546 11068 "Cascadelake-Server",
f004f5b9 11069 "Conroe",
44660702 11070 "core2duo",
f004f5b9 11071 "coreduo",
27a7acb2
DM
11072 "EPYC",
11073 "EPYC-IBPB",
f004f5b9 11074 "Haswell",
35a75dd3 11075 "Haswell-IBRS",
f004f5b9 11076 "Haswell-noTSX",
35a75dd3 11077 "Haswell-noTSX-IBRS",
f004f5b9
DM
11078 "host",
11079 "IvyBridge",
35a75dd3 11080 "IvyBridge-IBRS",
1c532546 11081 "KnightsMill",
44660702
DM
11082 "kvm32",
11083 "kvm64",
35a75dd3 11084 "max",
44660702 11085 "Nehalem",
35a75dd3 11086 "Nehalem-IBRS",
44660702
DM
11087 "Opteron_G1",
11088 "Opteron_G2",
11089 "Opteron_G3",
11090 "Opteron_G4",
11091 "Opteron_G5",
f004f5b9
DM
11092 "Penryn",
11093 "pentium",
11094 "pentium2",
11095 "pentium3",
11096 "phenom",
11097 "qemu32",
11098 "qemu64",
11099 "SandyBridge",
35a75dd3 11100 "SandyBridge-IBRS",
5d9c884c 11101 "Skylake-Client",
35a75dd3
DM
11102 "Skylake-Client-IBRS",
11103 "Skylake-Server",
11104 "Skylake-Server-IBRS",
11105 "Westmere",
11106 "Westmere-IBRS"
44660702 11107 ],
44660702
DM
11108 "type" : "string"
11109 },
35a75dd3 11110 "flags" : {
1c532546 11111 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
35a75dd3
DM
11112 "format_description" : "+FLAG[;-FLAG...]",
11113 "optional" : 1,
1c532546 11114 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
35a75dd3
DM
11115 "type" : "string"
11116 },
44660702
DM
11117 "hidden" : {
11118 "default" : 0,
11119 "description" : "Do not identify as a KVM virtual machine.",
11120 "optional" : 1,
11121 "type" : "boolean"
5f26e15b
TL
11122 },
11123 "hv-vendor-id" : {
11124 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
11125 "format_description" : "vendor-id",
11126 "optional" : 1,
11127 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
11128 "type" : "string"
44660702
DM
11129 }
11130 },
11131 "optional" : 1,
4bd7df8b 11132 "type" : "string",
5f26e15b 11133 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
44660702
DM
11134 },
11135 "cpulimit" : {
11136 "default" : 0,
c2993fe5 11137 "description" : "Limit of CPU usage.",
44660702
DM
11138 "maximum" : 128,
11139 "minimum" : 0,
11140 "optional" : 1,
c2993fe5 11141 "type" : "number",
013dc89f 11142 "typetext" : "<number> (0 - 128)",
c2993fe5 11143 "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
44660702
DM
11144 },
11145 "cpuunits" : {
de0983cb 11146 "default" : 1024,
c2993fe5 11147 "description" : "CPU weight for a VM.",
2489d6df
WB
11148 "maximum" : 262144,
11149 "minimum" : 2,
44660702 11150 "optional" : 1,
c2993fe5 11151 "type" : "integer",
2489d6df
WB
11152 "typetext" : "<integer> (2 - 262144)",
11153 "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
44660702
DM
11154 },
11155 "delete" : {
11156 "description" : "A list of settings you want to delete.",
11157 "format" : "pve-configid-list",
11158 "optional" : 1,
013dc89f
DM
11159 "type" : "string",
11160 "typetext" : "<string>"
44660702
DM
11161 },
11162 "description" : {
11163 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
11164 "optional" : 1,
013dc89f
DM
11165 "type" : "string",
11166 "typetext" : "<string>"
44660702
DM
11167 },
11168 "digest" : {
11169 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
11170 "maxLength" : 40,
11171 "optional" : 1,
013dc89f
DM
11172 "type" : "string",
11173 "typetext" : "<string>"
44660702 11174 },
4d47f125
TL
11175 "efidisk0" : {
11176 "description" : "Configure a Disk for storing EFI vars",
11177 "format" : {
11178 "file" : {
11179 "default_key" : 1,
11180 "description" : "The drive's backing volume.",
11181 "format" : "pve-volume-id-or-qm-path",
11182 "format_description" : "volume",
11183 "type" : "string"
11184 },
11185 "format" : {
11186 "description" : "The drive's backing file's data format.",
11187 "enum" : [
11188 "raw",
11189 "cow",
11190 "qcow",
11191 "qed",
11192 "qcow2",
11193 "vmdk",
11194 "cloop"
11195 ],
11196 "optional" : 1,
11197 "type" : "string"
11198 },
11199 "size" : {
11200 "description" : "Disk size. This is purely informational and has no effect.",
11201 "format" : "disk-size",
11202 "format_description" : "DiskSize",
11203 "optional" : 1,
11204 "type" : "string"
11205 },
11206 "volume" : {
11207 "alias" : "file"
11208 }
11209 },
11210 "optional" : 1,
11211 "type" : "string",
11212 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
11213 },
44660702
DM
11214 "force" : {
11215 "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.",
11216 "optional" : 1,
11217 "requires" : "delete",
013dc89f
DM
11218 "type" : "boolean",
11219 "typetext" : "<boolean>"
44660702
DM
11220 },
11221 "freeze" : {
11222 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
11223 "optional" : 1,
013dc89f
DM
11224 "type" : "boolean",
11225 "typetext" : "<boolean>"
44660702 11226 },
5f26e15b
TL
11227 "hookscript" : {
11228 "description" : "Script that will be executed during various steps in the vms lifetime.",
11229 "format" : "pve-volume-id",
11230 "optional" : 1,
11231 "type" : "string",
11232 "typetext" : "<string>"
11233 },
44660702 11234 "hostpci[n]" : {
c2993fe5 11235 "description" : "Map host PCI devices into guest.",
44660702
DM
11236 "format" : "pve-qm-hostpci",
11237 "optional" : 1,
57b78691 11238 "type" : "string",
e2d681b3 11239 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 11240 "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 11241 },
7aacca6f 11242 "hotplug" : {
7aacca6f 11243 "default" : "network,disk,usb",
44660702
DM
11244 "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'.",
11245 "format" : "pve-hotplug-features",
56122987 11246 "optional" : 1,
013dc89f
DM
11247 "type" : "string",
11248 "typetext" : "<string>"
56122987 11249 },
4bd7df8b
DM
11250 "hugepages" : {
11251 "description" : "Enable/disable hugepages memory.",
11252 "enum" : [
11253 "any",
11254 "2",
11255 "1024"
11256 ],
11257 "optional" : 1,
11258 "type" : "string"
11259 },
56122987 11260 "ide[n]" : {
7aacca6f 11261 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 11262 "format" : {
44660702
DM
11263 "aio" : {
11264 "description" : "AIO type to use.",
11265 "enum" : [
11266 "native",
11267 "threads"
11268 ],
56122987 11269 "optional" : 1,
44660702 11270 "type" : "string"
56122987 11271 },
44660702
DM
11272 "backup" : {
11273 "description" : "Whether the drive should be included when making backups.",
44660702
DM
11274 "optional" : 1,
11275 "type" : "boolean"
11276 },
11277 "bps" : {
de0983cb 11278 "description" : "Maximum r/w speed in bytes per second.",
44660702 11279 "format_description" : "bps",
56122987 11280 "optional" : 1,
44660702 11281 "type" : "integer"
56122987 11282 },
de0983cb
DM
11283 "bps_max_length" : {
11284 "description" : "Maximum length of I/O bursts in seconds.",
11285 "format_description" : "seconds",
11286 "minimum" : 1,
11287 "optional" : 1,
11288 "type" : "integer"
11289 },
44660702 11290 "bps_rd" : {
de0983cb 11291 "description" : "Maximum read speed in bytes per second.",
44660702 11292 "format_description" : "bps",
56122987 11293 "optional" : 1,
44660702 11294 "type" : "integer"
56122987 11295 },
de0983cb 11296 "bps_rd_length" : {
5d9c884c
DM
11297 "alias" : "bps_rd_max_length"
11298 },
11299 "bps_rd_max_length" : {
de0983cb
DM
11300 "description" : "Maximum length of read I/O bursts in seconds.",
11301 "format_description" : "seconds",
11302 "minimum" : 1,
11303 "optional" : 1,
11304 "type" : "integer"
11305 },
7aacca6f 11306 "bps_wr" : {
de0983cb 11307 "description" : "Maximum write speed in bytes per second.",
44660702
DM
11308 "format_description" : "bps",
11309 "optional" : 1,
11310 "type" : "integer"
7aacca6f 11311 },
de0983cb 11312 "bps_wr_length" : {
5d9c884c
DM
11313 "alias" : "bps_wr_max_length"
11314 },
11315 "bps_wr_max_length" : {
de0983cb
DM
11316 "description" : "Maximum length of write I/O bursts in seconds.",
11317 "format_description" : "seconds",
11318 "minimum" : 1,
11319 "optional" : 1,
11320 "type" : "integer"
11321 },
44660702
DM
11322 "cache" : {
11323 "description" : "The drive's cache mode",
11324 "enum" : [
11325 "none",
11326 "writethrough",
11327 "writeback",
11328 "unsafe",
11329 "directsync"
11330 ],
56122987 11331 "optional" : 1,
44660702
DM
11332 "type" : "string"
11333 },
11334 "cyls" : {
11335 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11336 "optional" : 1,
11337 "type" : "integer"
11338 },
11339 "detect_zeroes" : {
11340 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11341 "optional" : 1,
11342 "type" : "boolean"
56122987 11343 },
7aacca6f 11344 "discard" : {
7aacca6f 11345 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 11346 "enum" : [
7aacca6f
DM
11347 "ignore",
11348 "on"
56122987
DM
11349 ],
11350 "optional" : 1,
44660702 11351 "type" : "string"
7aacca6f 11352 },
44660702
DM
11353 "file" : {
11354 "default_key" : 1,
11355 "description" : "The drive's backing volume.",
11356 "format" : "pve-volume-id-or-qm-path",
11357 "format_description" : "volume",
11358 "type" : "string"
7aacca6f
DM
11359 },
11360 "format" : {
44660702 11361 "description" : "The drive's backing file's data format.",
7aacca6f
DM
11362 "enum" : [
11363 "raw",
11364 "cow",
11365 "qcow",
11366 "qed",
11367 "qcow2",
11368 "vmdk",
11369 "cloop"
11370 ],
7aacca6f 11371 "optional" : 1,
44660702 11372 "type" : "string"
56122987 11373 },
7aacca6f 11374 "heads" : {
44660702 11375 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11376 "optional" : 1,
44660702 11377 "type" : "integer"
7aacca6f 11378 },
44660702 11379 "iops" : {
de0983cb 11380 "description" : "Maximum r/w I/O in operations per second.",
44660702 11381 "format_description" : "iops",
7aacca6f 11382 "optional" : 1,
44660702 11383 "type" : "integer"
56122987 11384 },
44660702 11385 "iops_max" : {
de0983cb 11386 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11387 "format_description" : "iops",
56122987 11388 "optional" : 1,
44660702 11389 "type" : "integer"
56122987 11390 },
de0983cb
DM
11391 "iops_max_length" : {
11392 "description" : "Maximum length of I/O bursts in seconds.",
11393 "format_description" : "seconds",
11394 "minimum" : 1,
11395 "optional" : 1,
11396 "type" : "integer"
11397 },
44660702 11398 "iops_rd" : {
de0983cb 11399 "description" : "Maximum read I/O in operations per second.",
44660702 11400 "format_description" : "iops",
56122987 11401 "optional" : 1,
44660702 11402 "type" : "integer"
7aacca6f 11403 },
de0983cb 11404 "iops_rd_length" : {
5d9c884c 11405 "alias" : "iops_rd_max_length"
de0983cb 11406 },
44660702 11407 "iops_rd_max" : {
de0983cb 11408 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11409 "format_description" : "iops",
7aacca6f 11410 "optional" : 1,
44660702 11411 "type" : "integer"
7aacca6f 11412 },
5d9c884c
DM
11413 "iops_rd_max_length" : {
11414 "description" : "Maximum length of read I/O bursts in seconds.",
11415 "format_description" : "seconds",
11416 "minimum" : 1,
11417 "optional" : 1,
11418 "type" : "integer"
11419 },
44660702 11420 "iops_wr" : {
de0983cb 11421 "description" : "Maximum write I/O in operations per second.",
44660702 11422 "format_description" : "iops",
7aacca6f 11423 "optional" : 1,
44660702 11424 "type" : "integer"
56122987 11425 },
de0983cb 11426 "iops_wr_length" : {
5d9c884c 11427 "alias" : "iops_wr_max_length"
de0983cb 11428 },
44660702 11429 "iops_wr_max" : {
de0983cb 11430 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11431 "format_description" : "iops",
7aacca6f 11432 "optional" : 1,
44660702 11433 "type" : "integer"
7aacca6f 11434 },
5d9c884c
DM
11435 "iops_wr_max_length" : {
11436 "description" : "Maximum length of write I/O bursts in seconds.",
11437 "format_description" : "seconds",
11438 "minimum" : 1,
11439 "optional" : 1,
11440 "type" : "integer"
11441 },
7aacca6f 11442 "mbps" : {
de0983cb 11443 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 11444 "format_description" : "mbps",
7aacca6f 11445 "optional" : 1,
44660702 11446 "type" : "number"
7aacca6f 11447 },
44660702 11448 "mbps_max" : {
de0983cb 11449 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11450 "format_description" : "mbps",
7aacca6f 11451 "optional" : 1,
44660702 11452 "type" : "number"
7aacca6f 11453 },
44660702 11454 "mbps_rd" : {
de0983cb 11455 "description" : "Maximum read speed in megabytes per second.",
44660702 11456 "format_description" : "mbps",
7aacca6f 11457 "optional" : 1,
44660702 11458 "type" : "number"
7aacca6f 11459 },
44660702 11460 "mbps_rd_max" : {
de0983cb 11461 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11462 "format_description" : "mbps",
11463 "optional" : 1,
11464 "type" : "number"
7aacca6f 11465 },
44660702 11466 "mbps_wr" : {
de0983cb 11467 "description" : "Maximum write speed in megabytes per second.",
44660702 11468 "format_description" : "mbps",
7aacca6f 11469 "optional" : 1,
44660702
DM
11470 "type" : "number"
11471 },
11472 "mbps_wr_max" : {
de0983cb 11473 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11474 "format_description" : "mbps",
11475 "optional" : 1,
11476 "type" : "number"
11477 },
11478 "media" : {
11479 "default" : "disk",
11480 "description" : "The drive's media type.",
56122987 11481 "enum" : [
44660702
DM
11482 "cdrom",
11483 "disk"
56122987 11484 ],
44660702
DM
11485 "optional" : 1,
11486 "type" : "string"
56122987 11487 },
7aacca6f 11488 "model" : {
44660702 11489 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 11490 "format" : "urlencoded",
7aacca6f 11491 "format_description" : "model",
44660702 11492 "maxLength" : 120,
56122987 11493 "optional" : 1,
44660702 11494 "type" : "string"
56122987 11495 },
5d9c884c
DM
11496 "replicate" : {
11497 "default" : 1,
11498 "description" : "Whether the drive should considered for replication jobs.",
11499 "optional" : 1,
11500 "type" : "boolean"
11501 },
44660702
DM
11502 "rerror" : {
11503 "description" : "Read error action.",
11504 "enum" : [
11505 "ignore",
11506 "report",
11507 "stop"
11508 ],
56122987 11509 "optional" : 1,
44660702 11510 "type" : "string"
56122987 11511 },
44660702
DM
11512 "secs" : {
11513 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
11514 "optional" : 1,
11515 "type" : "integer"
56122987 11516 },
44660702
DM
11517 "serial" : {
11518 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11519 "format" : "urlencoded",
11520 "format_description" : "serial",
11521 "maxLength" : 60,
56122987 11522 "optional" : 1,
44660702 11523 "type" : "string"
56122987 11524 },
27a7acb2
DM
11525 "shared" : {
11526 "default" : 0,
11527 "description" : "Mark this locally-managed volume as available on all nodes",
11528 "optional" : 1,
11529 "type" : "boolean",
11530 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
11531 },
44660702
DM
11532 "size" : {
11533 "description" : "Disk size. This is purely informational and has no effect.",
11534 "format" : "disk-size",
f004f5b9 11535 "format_description" : "DiskSize",
56122987 11536 "optional" : 1,
44660702 11537 "type" : "string"
56122987 11538 },
44660702 11539 "snapshot" : {
27a7acb2 11540 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 11541 "optional" : 1,
44660702 11542 "type" : "boolean"
56122987 11543 },
25203dc1
NC
11544 "ssd" : {
11545 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11546 "optional" : 1,
11547 "type" : "boolean"
11548 },
44660702
DM
11549 "trans" : {
11550 "description" : "Force disk geometry bios translation mode.",
11551 "enum" : [
11552 "none",
11553 "lba",
11554 "auto"
11555 ],
56122987 11556 "optional" : 1,
44660702
DM
11557 "type" : "string"
11558 },
11559 "volume" : {
11560 "alias" : "file"
56122987 11561 },
7aacca6f 11562 "werror" : {
44660702 11563 "description" : "Write error action.",
7aacca6f
DM
11564 "enum" : [
11565 "enospc",
11566 "ignore",
11567 "report",
11568 "stop"
11569 ],
56122987 11570 "optional" : 1,
44660702 11571 "type" : "string"
95895385
TL
11572 },
11573 "wwn" : {
11574 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
11575 "format_description" : "wwn",
11576 "optional" : 1,
11577 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
11578 "type" : "string"
7aacca6f 11579 }
44660702
DM
11580 },
11581 "optional" : 1,
4bd7df8b 11582 "type" : "string",
95895385 11583 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
11584 },
11585 "ipconfig[n]" : {
11586 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
11587 "format" : "pve-qm-ipconfig",
11588 "optional" : 1,
11589 "type" : "string",
11590 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 11591 },
95895385
TL
11592 "ivshmem" : {
11593 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
11594 "format" : {
11595 "name" : {
11596 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
11597 "format_description" : "string",
11598 "optional" : 1,
11599 "pattern" : "[a-zA-Z0-9\\-]+",
11600 "type" : "string"
11601 },
11602 "size" : {
11603 "description" : "The size of the file in MB.",
11604 "minimum" : 1,
11605 "type" : "integer"
11606 }
11607 },
11608 "optional" : 1,
11609 "type" : "string",
11610 "typetext" : "size=<integer> [,name=<string>]"
11611 },
44660702 11612 "keyboard" : {
35a75dd3 11613 "default" : null,
5da3d723 11614 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
44660702
DM
11615 "enum" : [
11616 "de",
11617 "de-ch",
11618 "da",
11619 "en-gb",
11620 "en-us",
11621 "es",
11622 "fi",
11623 "fr",
11624 "fr-be",
11625 "fr-ca",
11626 "fr-ch",
11627 "hu",
11628 "is",
11629 "it",
11630 "ja",
11631 "lt",
11632 "mk",
11633 "nl",
11634 "no",
11635 "pl",
11636 "pt",
11637 "pt-br",
11638 "sv",
11639 "sl",
11640 "tr"
11641 ],
7aacca6f 11642 "optional" : 1,
44660702 11643 "type" : "string"
7aacca6f 11644 },
44660702 11645 "kvm" : {
7aacca6f 11646 "default" : 1,
44660702 11647 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 11648 "optional" : 1,
013dc89f
DM
11649 "type" : "boolean",
11650 "typetext" : "<boolean>"
7aacca6f 11651 },
44660702
DM
11652 "localtime" : {
11653 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 11654 "optional" : 1,
013dc89f
DM
11655 "type" : "boolean",
11656 "typetext" : "<boolean>"
7aacca6f 11657 },
44660702
DM
11658 "lock" : {
11659 "description" : "Lock/unlock the VM.",
11660 "enum" : [
44660702 11661 "backup",
5f26e15b
TL
11662 "clone",
11663 "create",
11664 "migrate",
11665 "rollback",
44660702 11666 "snapshot",
95895385
TL
11667 "snapshot-delete",
11668 "suspending",
11669 "suspended"
44660702 11670 ],
7aacca6f 11671 "optional" : 1,
44660702 11672 "type" : "string"
7aacca6f 11673 },
44660702 11674 "machine" : {
4d47f125 11675 "description" : "Specifies the Qemu machine type.",
44660702 11676 "maxLength" : 40,
7aacca6f 11677 "optional" : 1,
5c1699e5 11678 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702 11679 "type" : "string"
7aacca6f 11680 },
44660702
DM
11681 "memory" : {
11682 "default" : 512,
11683 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
11684 "minimum" : 16,
7aacca6f 11685 "optional" : 1,
4bd7df8b 11686 "type" : "integer",
013dc89f 11687 "typetext" : "<integer> (16 - N)"
7aacca6f 11688 },
44660702
DM
11689 "migrate_downtime" : {
11690 "default" : 0.1,
11691 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
11692 "minimum" : 0,
7aacca6f 11693 "optional" : 1,
4bd7df8b 11694 "type" : "number",
013dc89f 11695 "typetext" : "<number> (0 - N)"
7aacca6f 11696 },
44660702 11697 "migrate_speed" : {
7aacca6f 11698 "default" : 0,
44660702
DM
11699 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
11700 "minimum" : 0,
11701 "optional" : 1,
4bd7df8b 11702 "type" : "integer",
013dc89f 11703 "typetext" : "<integer> (0 - N)"
7aacca6f 11704 },
44660702
DM
11705 "name" : {
11706 "description" : "Set a name for the VM. Only used on the configuration web interface.",
11707 "format" : "dns-name",
7aacca6f 11708 "optional" : 1,
013dc89f
DM
11709 "type" : "string",
11710 "typetext" : "<string>"
7aacca6f 11711 },
27a7acb2
DM
11712 "nameserver" : {
11713 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
11714 "format" : "address-list",
11715 "optional" : 1,
11716 "type" : "string",
11717 "typetext" : "<string>"
11718 },
44660702 11719 "net[n]" : {
c2993fe5 11720 "description" : "Specify network devices.",
f004f5b9
DM
11721 "format" : {
11722 "bridge" : {
c2993fe5 11723 "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2 Gateway\n 10.0.2.3 DNS Server\n 10.0.2.4 SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
f004f5b9
DM
11724 "format_description" : "bridge",
11725 "optional" : 1,
11726 "type" : "string"
11727 },
11728 "e1000" : {
11729 "alias" : "macaddr",
11730 "keyAlias" : "model"
11731 },
11732 "e1000-82540em" : {
11733 "alias" : "macaddr",
11734 "keyAlias" : "model"
11735 },
11736 "e1000-82544gc" : {
11737 "alias" : "macaddr",
11738 "keyAlias" : "model"
11739 },
11740 "e1000-82545em" : {
11741 "alias" : "macaddr",
11742 "keyAlias" : "model"
11743 },
11744 "firewall" : {
11745 "description" : "Whether this interface should be protected by the firewall.",
11746 "optional" : 1,
11747 "type" : "boolean"
11748 },
11749 "i82551" : {
11750 "alias" : "macaddr",
11751 "keyAlias" : "model"
11752 },
11753 "i82557b" : {
11754 "alias" : "macaddr",
11755 "keyAlias" : "model"
11756 },
11757 "i82559er" : {
11758 "alias" : "macaddr",
11759 "keyAlias" : "model"
11760 },
11761 "link_down" : {
c2993fe5 11762 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
11763 "optional" : 1,
11764 "type" : "boolean"
11765 },
11766 "macaddr" : {
c2993fe5 11767 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 11768 "format" : "mac-addr",
f004f5b9 11769 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 11770 "optional" : 1,
95895385
TL
11771 "type" : "string",
11772 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
11773 },
11774 "model" : {
11775 "default_key" : 1,
c2993fe5 11776 "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
f004f5b9
DM
11777 "enum" : [
11778 "rtl8139",
11779 "ne2k_pci",
11780 "e1000",
11781 "pcnet",
11782 "virtio",
11783 "ne2k_isa",
11784 "i82551",
11785 "i82557b",
11786 "i82559er",
11787 "vmxnet3",
11788 "e1000-82540em",
11789 "e1000-82544gc",
11790 "e1000-82545em"
11791 ],
f004f5b9
DM
11792 "type" : "string"
11793 },
11794 "ne2k_isa" : {
11795 "alias" : "macaddr",
11796 "keyAlias" : "model"
11797 },
11798 "ne2k_pci" : {
11799 "alias" : "macaddr",
11800 "keyAlias" : "model"
11801 },
11802 "pcnet" : {
11803 "alias" : "macaddr",
11804 "keyAlias" : "model"
11805 },
11806 "queues" : {
11807 "description" : "Number of packet queues to be used on the device.",
11808 "maximum" : 16,
11809 "minimum" : 0,
11810 "optional" : 1,
11811 "type" : "integer"
11812 },
11813 "rate" : {
c2993fe5 11814 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
11815 "minimum" : 0,
11816 "optional" : 1,
11817 "type" : "number"
11818 },
11819 "rtl8139" : {
11820 "alias" : "macaddr",
11821 "keyAlias" : "model"
11822 },
11823 "tag" : {
11824 "description" : "VLAN tag to apply to packets on this interface.",
11825 "maximum" : 4094,
c2993fe5 11826 "minimum" : 1,
f004f5b9
DM
11827 "optional" : 1,
11828 "type" : "integer"
11829 },
11830 "trunks" : {
11831 "description" : "VLAN trunks to pass through this interface.",
11832 "format_description" : "vlanid[;vlanid...]",
11833 "optional" : 1,
11834 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11835 "type" : "string"
11836 },
11837 "virtio" : {
11838 "alias" : "macaddr",
11839 "keyAlias" : "model"
11840 },
11841 "vmxnet3" : {
11842 "alias" : "macaddr",
11843 "keyAlias" : "model"
11844 }
11845 },
7aacca6f 11846 "optional" : 1,
4bd7df8b 11847 "type" : "string",
013dc89f 11848 "typetext" : "[model=]<enum> [,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>]"
7aacca6f 11849 },
44660702
DM
11850 "node" : {
11851 "description" : "The cluster node name.",
11852 "format" : "pve-node",
013dc89f
DM
11853 "type" : "string",
11854 "typetext" : "<string>"
44660702
DM
11855 },
11856 "numa" : {
11857 "default" : 0,
11858 "description" : "Enable/disable NUMA.",
7aacca6f 11859 "optional" : 1,
013dc89f
DM
11860 "type" : "boolean",
11861 "typetext" : "<boolean>"
7aacca6f 11862 },
44660702 11863 "numa[n]" : {
c2993fe5 11864 "description" : "NUMA topology.",
44660702
DM
11865 "format" : {
11866 "cpus" : {
c2993fe5 11867 "description" : "CPUs accessing this NUMA node.",
44660702
DM
11868 "format_description" : "id[-id];...",
11869 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11870 "type" : "string"
11871 },
11872 "hostnodes" : {
c2993fe5 11873 "description" : "Host NUMA nodes to use.",
44660702
DM
11874 "format_description" : "id[-id];...",
11875 "optional" : 1,
11876 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11877 "type" : "string"
11878 },
11879 "memory" : {
c2993fe5 11880 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
11881 "optional" : 1,
11882 "type" : "number"
11883 },
11884 "policy" : {
c2993fe5 11885 "description" : "NUMA allocation policy.",
44660702
DM
11886 "enum" : [
11887 "preferred",
11888 "bind",
11889 "interleave"
11890 ],
44660702
DM
11891 "optional" : 1,
11892 "type" : "string"
11893 }
11894 },
7aacca6f 11895 "optional" : 1,
4bd7df8b
DM
11896 "type" : "string",
11897 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 11898 },
44660702
DM
11899 "onboot" : {
11900 "default" : 0,
11901 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 11902 "optional" : 1,
013dc89f
DM
11903 "type" : "boolean",
11904 "typetext" : "<boolean>"
7aacca6f 11905 },
44660702 11906 "ostype" : {
c2993fe5 11907 "description" : "Specify guest operating system.",
44660702
DM
11908 "enum" : [
11909 "other",
11910 "wxp",
11911 "w2k",
11912 "w2k3",
11913 "w2k8",
11914 "wvista",
11915 "win7",
11916 "win8",
32d876b5 11917 "win10",
44660702
DM
11918 "l24",
11919 "l26",
11920 "solaris"
11921 ],
7aacca6f 11922 "optional" : 1,
c2993fe5 11923 "type" : "string",
5c1699e5 11924 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
7aacca6f 11925 },
44660702 11926 "parallel[n]" : {
c2993fe5 11927 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 11928 "optional" : 1,
44660702 11929 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
11930 "type" : "string",
11931 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 11932 },
44660702
DM
11933 "protection" : {
11934 "default" : 0,
c2993fe5 11935 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 11936 "optional" : 1,
013dc89f
DM
11937 "type" : "boolean",
11938 "typetext" : "<boolean>"
7aacca6f 11939 },
44660702
DM
11940 "reboot" : {
11941 "default" : 1,
11942 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 11943 "optional" : 1,
013dc89f
DM
11944 "type" : "boolean",
11945 "typetext" : "<boolean>"
7aacca6f 11946 },
44660702
DM
11947 "revert" : {
11948 "description" : "Revert a pending change.",
11949 "format" : "pve-configid-list",
7aacca6f 11950 "optional" : 1,
013dc89f
DM
11951 "type" : "string",
11952 "typetext" : "<string>"
7aacca6f 11953 },
44660702
DM
11954 "sata[n]" : {
11955 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 11956 "format" : {
44660702
DM
11957 "aio" : {
11958 "description" : "AIO type to use.",
11959 "enum" : [
11960 "native",
11961 "threads"
11962 ],
44660702
DM
11963 "optional" : 1,
11964 "type" : "string"
11965 },
11966 "backup" : {
11967 "description" : "Whether the drive should be included when making backups.",
44660702
DM
11968 "optional" : 1,
11969 "type" : "boolean"
11970 },
11971 "bps" : {
de0983cb 11972 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 11973 "format_description" : "bps",
7aacca6f
DM
11974 "optional" : 1,
11975 "type" : "integer"
56122987 11976 },
de0983cb
DM
11977 "bps_max_length" : {
11978 "description" : "Maximum length of I/O bursts in seconds.",
11979 "format_description" : "seconds",
11980 "minimum" : 1,
11981 "optional" : 1,
11982 "type" : "integer"
11983 },
44660702 11984 "bps_rd" : {
de0983cb 11985 "description" : "Maximum read speed in bytes per second.",
44660702 11986 "format_description" : "bps",
7aacca6f 11987 "optional" : 1,
44660702 11988 "type" : "integer"
7aacca6f 11989 },
de0983cb 11990 "bps_rd_length" : {
5d9c884c
DM
11991 "alias" : "bps_rd_max_length"
11992 },
11993 "bps_rd_max_length" : {
de0983cb
DM
11994 "description" : "Maximum length of read I/O bursts in seconds.",
11995 "format_description" : "seconds",
11996 "minimum" : 1,
11997 "optional" : 1,
11998 "type" : "integer"
11999 },
44660702 12000 "bps_wr" : {
de0983cb 12001 "description" : "Maximum write speed in bytes per second.",
44660702 12002 "format_description" : "bps",
7aacca6f 12003 "optional" : 1,
44660702 12004 "type" : "integer"
7aacca6f 12005 },
de0983cb 12006 "bps_wr_length" : {
5d9c884c
DM
12007 "alias" : "bps_wr_max_length"
12008 },
12009 "bps_wr_max_length" : {
de0983cb
DM
12010 "description" : "Maximum length of write I/O bursts in seconds.",
12011 "format_description" : "seconds",
12012 "minimum" : 1,
12013 "optional" : 1,
12014 "type" : "integer"
12015 },
44660702
DM
12016 "cache" : {
12017 "description" : "The drive's cache mode",
12018 "enum" : [
12019 "none",
12020 "writethrough",
12021 "writeback",
12022 "unsafe",
12023 "directsync"
12024 ],
7aacca6f 12025 "optional" : 1,
44660702 12026 "type" : "string"
7aacca6f 12027 },
44660702
DM
12028 "cyls" : {
12029 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 12030 "optional" : 1,
44660702 12031 "type" : "integer"
7aacca6f 12032 },
44660702
DM
12033 "detect_zeroes" : {
12034 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 12035 "optional" : 1,
44660702 12036 "type" : "boolean"
7aacca6f 12037 },
44660702
DM
12038 "discard" : {
12039 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12040 "enum" : [
12041 "ignore",
12042 "on"
12043 ],
7aacca6f 12044 "optional" : 1,
44660702
DM
12045 "type" : "string"
12046 },
12047 "file" : {
12048 "default_key" : 1,
12049 "description" : "The drive's backing volume.",
12050 "format" : "pve-volume-id-or-qm-path",
12051 "format_description" : "volume",
12052 "type" : "string"
7aacca6f
DM
12053 },
12054 "format" : {
7aacca6f 12055 "description" : "The drive's backing file's data format.",
56122987
DM
12056 "enum" : [
12057 "raw",
12058 "cow",
12059 "qcow",
12060 "qed",
12061 "qcow2",
12062 "vmdk",
12063 "cloop"
12064 ],
12065 "optional" : 1,
7aacca6f 12066 "type" : "string"
56122987 12067 },
7aacca6f 12068 "heads" : {
7aacca6f 12069 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12070 "optional" : 1,
12071 "type" : "integer"
56122987 12072 },
44660702 12073 "iops" : {
de0983cb 12074 "description" : "Maximum r/w I/O in operations per second.",
44660702 12075 "format_description" : "iops",
56122987 12076 "optional" : 1,
44660702 12077 "type" : "integer"
7aacca6f 12078 },
44660702 12079 "iops_max" : {
de0983cb 12080 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12081 "format_description" : "iops",
7aacca6f 12082 "optional" : 1,
44660702 12083 "type" : "integer"
56122987 12084 },
de0983cb
DM
12085 "iops_max_length" : {
12086 "description" : "Maximum length of I/O bursts in seconds.",
12087 "format_description" : "seconds",
12088 "minimum" : 1,
12089 "optional" : 1,
12090 "type" : "integer"
12091 },
44660702 12092 "iops_rd" : {
de0983cb 12093 "description" : "Maximum read I/O in operations per second.",
44660702 12094 "format_description" : "iops",
56122987 12095 "optional" : 1,
44660702 12096 "type" : "integer"
7aacca6f 12097 },
de0983cb 12098 "iops_rd_length" : {
5d9c884c 12099 "alias" : "iops_rd_max_length"
de0983cb 12100 },
44660702 12101 "iops_rd_max" : {
de0983cb 12102 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12103 "format_description" : "iops",
56122987 12104 "optional" : 1,
44660702 12105 "type" : "integer"
56122987 12106 },
5d9c884c
DM
12107 "iops_rd_max_length" : {
12108 "description" : "Maximum length of read I/O bursts in seconds.",
12109 "format_description" : "seconds",
12110 "minimum" : 1,
12111 "optional" : 1,
12112 "type" : "integer"
12113 },
44660702 12114 "iops_wr" : {
de0983cb 12115 "description" : "Maximum write I/O in operations per second.",
44660702
DM
12116 "format_description" : "iops",
12117 "optional" : 1,
12118 "type" : "integer"
56122987 12119 },
de0983cb 12120 "iops_wr_length" : {
5d9c884c 12121 "alias" : "iops_wr_max_length"
de0983cb 12122 },
44660702 12123 "iops_wr_max" : {
de0983cb 12124 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12125 "format_description" : "iops",
12126 "optional" : 1,
12127 "type" : "integer"
12128 },
5d9c884c
DM
12129 "iops_wr_max_length" : {
12130 "description" : "Maximum length of write I/O bursts in seconds.",
12131 "format_description" : "seconds",
12132 "minimum" : 1,
12133 "optional" : 1,
12134 "type" : "integer"
12135 },
44660702 12136 "mbps" : {
de0983cb 12137 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12138 "format_description" : "mbps",
12139 "optional" : 1,
12140 "type" : "number"
12141 },
12142 "mbps_max" : {
de0983cb 12143 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12144 "format_description" : "mbps",
12145 "optional" : 1,
12146 "type" : "number"
12147 },
12148 "mbps_rd" : {
de0983cb 12149 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12150 "format_description" : "mbps",
12151 "optional" : 1,
12152 "type" : "number"
12153 },
12154 "mbps_rd_max" : {
de0983cb 12155 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12156 "format_description" : "mbps",
12157 "optional" : 1,
12158 "type" : "number"
12159 },
12160 "mbps_wr" : {
de0983cb 12161 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12162 "format_description" : "mbps",
12163 "optional" : 1,
12164 "type" : "number"
12165 },
12166 "mbps_wr_max" : {
de0983cb 12167 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12168 "format_description" : "mbps",
12169 "optional" : 1,
12170 "type" : "number"
12171 },
12172 "media" : {
12173 "default" : "disk",
12174 "description" : "The drive's media type.",
12175 "enum" : [
12176 "cdrom",
12177 "disk"
12178 ],
56122987 12179 "optional" : 1,
44660702
DM
12180 "type" : "string"
12181 },
5d9c884c
DM
12182 "replicate" : {
12183 "default" : 1,
12184 "description" : "Whether the drive should considered for replication jobs.",
12185 "optional" : 1,
12186 "type" : "boolean"
12187 },
44660702 12188 "rerror" : {
7aacca6f
DM
12189 "description" : "Read error action.",
12190 "enum" : [
12191 "ignore",
12192 "report",
12193 "stop"
44660702 12194 ],
56122987 12195 "optional" : 1,
44660702 12196 "type" : "string"
56122987 12197 },
7aacca6f 12198 "secs" : {
44660702 12199 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12200 "optional" : 1,
44660702 12201 "type" : "integer"
56122987 12202 },
44660702
DM
12203 "serial" : {
12204 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12205 "format" : "urlencoded",
12206 "format_description" : "serial",
12207 "maxLength" : 60,
56122987 12208 "optional" : 1,
44660702 12209 "type" : "string"
56122987 12210 },
27a7acb2
DM
12211 "shared" : {
12212 "default" : 0,
12213 "description" : "Mark this locally-managed volume as available on all nodes",
12214 "optional" : 1,
12215 "type" : "boolean",
12216 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
12217 },
44660702
DM
12218 "size" : {
12219 "description" : "Disk size. This is purely informational and has no effect.",
12220 "format" : "disk-size",
f004f5b9 12221 "format_description" : "DiskSize",
56122987 12222 "optional" : 1,
44660702 12223 "type" : "string"
56122987
DM
12224 },
12225 "snapshot" : {
27a7acb2 12226 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 12227 "optional" : 1,
44660702 12228 "type" : "boolean"
56122987 12229 },
25203dc1
NC
12230 "ssd" : {
12231 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12232 "optional" : 1,
12233 "type" : "boolean"
12234 },
56122987 12235 "trans" : {
7aacca6f 12236 "description" : "Force disk geometry bios translation mode.",
56122987
DM
12237 "enum" : [
12238 "none",
12239 "lba",
12240 "auto"
12241 ],
12242 "optional" : 1,
44660702 12243 "type" : "string"
56122987 12244 },
44660702
DM
12245 "volume" : {
12246 "alias" : "file"
56122987 12247 },
7aacca6f 12248 "werror" : {
44660702 12249 "description" : "Write error action.",
56122987 12250 "enum" : [
7aacca6f 12251 "enospc",
56122987 12252 "ignore",
7aacca6f
DM
12253 "report",
12254 "stop"
12255 ],
7aacca6f 12256 "optional" : 1,
44660702 12257 "type" : "string"
95895385
TL
12258 },
12259 "wwn" : {
12260 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
12261 "format_description" : "wwn",
12262 "optional" : 1,
12263 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
12264 "type" : "string"
44660702
DM
12265 }
12266 },
12267 "optional" : 1,
4bd7df8b 12268 "type" : "string",
95895385 12269 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
12270 },
12271 "scsi[n]" : {
12272 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
12273 "format" : {
12274 "aio" : {
7aacca6f 12275 "description" : "AIO type to use.",
56122987
DM
12276 "enum" : [
12277 "native",
12278 "threads"
44660702 12279 ],
56122987 12280 "optional" : 1,
44660702 12281 "type" : "string"
56122987 12282 },
7aacca6f 12283 "backup" : {
7aacca6f 12284 "description" : "Whether the drive should be included when making backups.",
7aacca6f 12285 "optional" : 1,
44660702 12286 "type" : "boolean"
56122987 12287 },
44660702 12288 "bps" : {
de0983cb 12289 "description" : "Maximum r/w speed in bytes per second.",
44660702 12290 "format_description" : "bps",
7aacca6f 12291 "optional" : 1,
44660702 12292 "type" : "integer"
7aacca6f 12293 },
de0983cb
DM
12294 "bps_max_length" : {
12295 "description" : "Maximum length of I/O bursts in seconds.",
12296 "format_description" : "seconds",
12297 "minimum" : 1,
12298 "optional" : 1,
12299 "type" : "integer"
12300 },
44660702 12301 "bps_rd" : {
de0983cb 12302 "description" : "Maximum read speed in bytes per second.",
44660702 12303 "format_description" : "bps",
56122987 12304 "optional" : 1,
44660702 12305 "type" : "integer"
56122987 12306 },
de0983cb 12307 "bps_rd_length" : {
5d9c884c
DM
12308 "alias" : "bps_rd_max_length"
12309 },
12310 "bps_rd_max_length" : {
de0983cb
DM
12311 "description" : "Maximum length of read I/O bursts in seconds.",
12312 "format_description" : "seconds",
12313 "minimum" : 1,
12314 "optional" : 1,
12315 "type" : "integer"
12316 },
44660702 12317 "bps_wr" : {
de0983cb 12318 "description" : "Maximum write speed in bytes per second.",
44660702 12319 "format_description" : "bps",
56122987 12320 "optional" : 1,
44660702 12321 "type" : "integer"
56122987 12322 },
de0983cb 12323 "bps_wr_length" : {
5d9c884c
DM
12324 "alias" : "bps_wr_max_length"
12325 },
12326 "bps_wr_max_length" : {
de0983cb
DM
12327 "description" : "Maximum length of write I/O bursts in seconds.",
12328 "format_description" : "seconds",
12329 "minimum" : 1,
12330 "optional" : 1,
12331 "type" : "integer"
12332 },
44660702
DM
12333 "cache" : {
12334 "description" : "The drive's cache mode",
12335 "enum" : [
12336 "none",
12337 "writethrough",
12338 "writeback",
12339 "unsafe",
12340 "directsync"
12341 ],
56122987 12342 "optional" : 1,
44660702
DM
12343 "type" : "string"
12344 },
12345 "cyls" : {
12346 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12347 "optional" : 1,
12348 "type" : "integer"
12349 },
12350 "detect_zeroes" : {
12351 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12352 "optional" : 1,
12353 "type" : "boolean"
12354 },
12355 "discard" : {
12356 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12357 "enum" : [
12358 "ignore",
12359 "on"
12360 ],
44660702
DM
12361 "optional" : 1,
12362 "type" : "string"
12363 },
12364 "file" : {
12365 "default_key" : 1,
12366 "description" : "The drive's backing volume.",
12367 "format" : "pve-volume-id-or-qm-path",
12368 "format_description" : "volume",
12369 "type" : "string"
56122987 12370 },
7aacca6f 12371 "format" : {
44660702 12372 "description" : "The drive's backing file's data format.",
7aacca6f
DM
12373 "enum" : [
12374 "raw",
12375 "cow",
12376 "qcow",
12377 "qed",
12378 "qcow2",
12379 "vmdk",
12380 "cloop"
12381 ],
56122987 12382 "optional" : 1,
44660702 12383 "type" : "string"
56122987 12384 },
44660702
DM
12385 "heads" : {
12386 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12387 "optional" : 1,
44660702 12388 "type" : "integer"
56122987 12389 },
44660702 12390 "iops" : {
de0983cb 12391 "description" : "Maximum r/w I/O in operations per second.",
44660702 12392 "format_description" : "iops",
7aacca6f 12393 "optional" : 1,
44660702 12394 "type" : "integer"
56122987 12395 },
44660702 12396 "iops_max" : {
de0983cb 12397 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 12398 "format_description" : "iops",
7aacca6f 12399 "optional" : 1,
44660702 12400 "type" : "integer"
56122987 12401 },
de0983cb
DM
12402 "iops_max_length" : {
12403 "description" : "Maximum length of I/O bursts in seconds.",
12404 "format_description" : "seconds",
12405 "minimum" : 1,
12406 "optional" : 1,
12407 "type" : "integer"
12408 },
44660702 12409 "iops_rd" : {
de0983cb 12410 "description" : "Maximum read I/O in operations per second.",
44660702 12411 "format_description" : "iops",
56122987 12412 "optional" : 1,
44660702 12413 "type" : "integer"
56122987 12414 },
de0983cb 12415 "iops_rd_length" : {
5d9c884c 12416 "alias" : "iops_rd_max_length"
de0983cb 12417 },
44660702 12418 "iops_rd_max" : {
de0983cb 12419 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12420 "format_description" : "iops",
56122987 12421 "optional" : 1,
44660702 12422 "type" : "integer"
56122987 12423 },
5d9c884c
DM
12424 "iops_rd_max_length" : {
12425 "description" : "Maximum length of read I/O bursts in seconds.",
12426 "format_description" : "seconds",
12427 "minimum" : 1,
12428 "optional" : 1,
12429 "type" : "integer"
12430 },
44660702 12431 "iops_wr" : {
de0983cb 12432 "description" : "Maximum write I/O in operations per second.",
44660702 12433 "format_description" : "iops",
56122987 12434 "optional" : 1,
44660702 12435 "type" : "integer"
56122987 12436 },
de0983cb 12437 "iops_wr_length" : {
5d9c884c 12438 "alias" : "iops_wr_max_length"
de0983cb 12439 },
44660702 12440 "iops_wr_max" : {
de0983cb 12441 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 12442 "format_description" : "iops",
44660702
DM
12443 "optional" : 1,
12444 "type" : "integer"
7aacca6f 12445 },
5d9c884c
DM
12446 "iops_wr_max_length" : {
12447 "description" : "Maximum length of write I/O bursts in seconds.",
12448 "format_description" : "seconds",
12449 "minimum" : 1,
12450 "optional" : 1,
12451 "type" : "integer"
12452 },
7aacca6f 12453 "iothread" : {
44660702 12454 "description" : "Whether to use iothreads for this drive",
56122987 12455 "optional" : 1,
44660702 12456 "type" : "boolean"
56122987 12457 },
44660702 12458 "mbps" : {
de0983cb 12459 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12460 "format_description" : "mbps",
56122987 12461 "optional" : 1,
44660702 12462 "type" : "number"
56122987 12463 },
44660702 12464 "mbps_max" : {
de0983cb 12465 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12466 "format_description" : "mbps",
56122987 12467 "optional" : 1,
44660702 12468 "type" : "number"
56122987 12469 },
44660702 12470 "mbps_rd" : {
de0983cb 12471 "description" : "Maximum read speed in megabytes per second.",
44660702 12472 "format_description" : "mbps",
7aacca6f 12473 "optional" : 1,
44660702 12474 "type" : "number"
56122987 12475 },
44660702 12476 "mbps_rd_max" : {
de0983cb 12477 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12478 "format_description" : "mbps",
7aacca6f 12479 "optional" : 1,
44660702 12480 "type" : "number"
7aacca6f 12481 },
44660702 12482 "mbps_wr" : {
de0983cb 12483 "description" : "Maximum write speed in megabytes per second.",
44660702 12484 "format_description" : "mbps",
56122987 12485 "optional" : 1,
44660702 12486 "type" : "number"
56122987 12487 },
44660702 12488 "mbps_wr_max" : {
de0983cb 12489 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12490 "format_description" : "mbps",
56122987 12491 "optional" : 1,
44660702
DM
12492 "type" : "number"
12493 },
12494 "media" : {
12495 "default" : "disk",
12496 "description" : "The drive's media type.",
7aacca6f 12497 "enum" : [
44660702
DM
12498 "cdrom",
12499 "disk"
7aacca6f 12500 ],
56122987 12501 "optional" : 1,
44660702 12502 "type" : "string"
56122987 12503 },
7aacca6f 12504 "queues" : {
44660702 12505 "description" : "Number of queues.",
7aacca6f 12506 "minimum" : 2,
7aacca6f
DM
12507 "optional" : 1,
12508 "type" : "integer"
56122987 12509 },
5d9c884c
DM
12510 "replicate" : {
12511 "default" : 1,
12512 "description" : "Whether the drive should considered for replication jobs.",
12513 "optional" : 1,
12514 "type" : "boolean"
12515 },
12516 "rerror" : {
12517 "description" : "Read error action.",
12518 "enum" : [
12519 "ignore",
12520 "report",
12521 "stop"
12522 ],
12523 "optional" : 1,
12524 "type" : "string"
12525 },
52e44c50
FG
12526 "scsiblock" : {
12527 "default" : 0,
12528 "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
12529 "optional" : 1,
12530 "type" : "boolean"
12531 },
44660702
DM
12532 "secs" : {
12533 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12534 "optional" : 1,
44660702 12535 "type" : "integer"
56122987 12536 },
44660702
DM
12537 "serial" : {
12538 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12539 "format" : "urlencoded",
12540 "format_description" : "serial",
12541 "maxLength" : 60,
56122987 12542 "optional" : 1,
44660702 12543 "type" : "string"
56122987 12544 },
27a7acb2
DM
12545 "shared" : {
12546 "default" : 0,
12547 "description" : "Mark this locally-managed volume as available on all nodes",
12548 "optional" : 1,
12549 "type" : "boolean",
12550 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
12551 },
44660702
DM
12552 "size" : {
12553 "description" : "Disk size. This is purely informational and has no effect.",
12554 "format" : "disk-size",
f004f5b9 12555 "format_description" : "DiskSize",
44660702
DM
12556 "optional" : 1,
12557 "type" : "string"
12558 },
12559 "snapshot" : {
27a7acb2 12560 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 12561 "optional" : 1,
44660702
DM
12562 "type" : "boolean"
12563 },
25203dc1
NC
12564 "ssd" : {
12565 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12566 "optional" : 1,
12567 "type" : "boolean"
12568 },
44660702
DM
12569 "trans" : {
12570 "description" : "Force disk geometry bios translation mode.",
56122987 12571 "enum" : [
44660702
DM
12572 "none",
12573 "lba",
12574 "auto"
56122987 12575 ],
44660702
DM
12576 "optional" : 1,
12577 "type" : "string"
12578 },
12579 "volume" : {
12580 "alias" : "file"
56122987 12581 },
7aacca6f 12582 "werror" : {
7aacca6f
DM
12583 "description" : "Write error action.",
12584 "enum" : [
12585 "enospc",
12586 "ignore",
12587 "report",
12588 "stop"
44660702 12589 ],
56122987 12590 "optional" : 1,
7aacca6f 12591 "type" : "string"
95895385
TL
12592 },
12593 "wwn" : {
12594 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
12595 "format_description" : "wwn",
12596 "optional" : 1,
12597 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
12598 "type" : "string"
56122987 12599 }
44660702 12600 },
56122987 12601 "optional" : 1,
4bd7df8b 12602 "type" : "string",
95895385 12603 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987
DM
12604 },
12605 "scsihw" : {
44660702 12606 "default" : "lsi",
c2993fe5 12607 "description" : "SCSI controller model",
56122987
DM
12608 "enum" : [
12609 "lsi",
12610 "lsi53c810",
12611 "virtio-scsi-pci",
12612 "virtio-scsi-single",
12613 "megasas",
12614 "pvscsi"
12615 ],
12616 "optional" : 1,
56122987
DM
12617 "type" : "string"
12618 },
27a7acb2
DM
12619 "searchdomain" : {
12620 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
12621 "optional" : 1,
12622 "type" : "string",
12623 "typetext" : "<string>"
12624 },
44660702 12625 "serial[n]" : {
c2993fe5 12626 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 12627 "optional" : 1,
44660702 12628 "pattern" : "(/dev/.+|socket)",
c2993fe5 12629 "type" : "string",
57b78691 12630 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 12631 },
44660702
DM
12632 "shares" : {
12633 "default" : 1000,
5da3d723 12634 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
44660702
DM
12635 "maximum" : 50000,
12636 "minimum" : 0,
7aacca6f 12637 "optional" : 1,
4bd7df8b 12638 "type" : "integer",
013dc89f 12639 "typetext" : "<integer> (0 - 50000)"
56122987 12640 },
7aacca6f
DM
12641 "skiplock" : {
12642 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 12643 "optional" : 1,
013dc89f
DM
12644 "type" : "boolean",
12645 "typetext" : "<boolean>"
56122987 12646 },
44660702
DM
12647 "smbios1" : {
12648 "description" : "Specify SMBIOS type 1 fields.",
12649 "format" : "pve-qm-smbios1",
1e3f8156 12650 "maxLength" : 512,
56122987 12651 "optional" : 1,
4bd7df8b 12652 "type" : "string",
1e3f8156 12653 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
56122987 12654 },
44660702
DM
12655 "smp" : {
12656 "default" : 1,
12657 "description" : "The number of CPUs. Please use option -sockets instead.",
12658 "minimum" : 1,
56122987 12659 "optional" : 1,
4bd7df8b 12660 "type" : "integer",
013dc89f 12661 "typetext" : "<integer> (1 - N)"
56122987 12662 },
44660702
DM
12663 "sockets" : {
12664 "default" : 1,
12665 "description" : "The number of CPU sockets.",
12666 "minimum" : 1,
56122987 12667 "optional" : 1,
4bd7df8b 12668 "type" : "integer",
013dc89f 12669 "typetext" : "<integer> (1 - N)"
56122987 12670 },
1c532546
TL
12671 "spice_enhancements" : {
12672 "description" : "Configure additional enhancements for SPICE.",
12673 "format" : {
12674 "foldersharing" : {
12675 "default" : "0",
12676 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
12677 "optional" : 1,
12678 "type" : "boolean"
12679 },
12680 "videostreaming" : {
12681 "default" : "off",
12682 "description" : "Enable video streaming. Uses compression for detected video streams.",
12683 "enum" : [
12684 "off",
12685 "all",
12686 "filter"
12687 ],
12688 "optional" : 1,
12689 "type" : "string"
12690 }
12691 },
12692 "optional" : 1,
12693 "type" : "string",
12694 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
12695 },
27a7acb2
DM
12696 "sshkeys" : {
12697 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
12698 "format" : "urlencoded",
12699 "optional" : 1,
12700 "type" : "string",
12701 "typetext" : "<string>"
12702 },
44660702
DM
12703 "startdate" : {
12704 "default" : "now",
12705 "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'.",
12706 "optional" : 1,
12707 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 12708 "type" : "string",
44660702
DM
12709 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
12710 },
12711 "startup" : {
12712 "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.",
12713 "format" : "pve-startup-order",
7aacca6f 12714 "optional" : 1,
44660702
DM
12715 "type" : "string",
12716 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 12717 },
44660702
DM
12718 "tablet" : {
12719 "default" : 1,
c2993fe5 12720 "description" : "Enable/disable the USB tablet device.",
7aacca6f 12721 "optional" : 1,
c2993fe5 12722 "type" : "boolean",
013dc89f 12723 "typetext" : "<boolean>",
c2993fe5 12724 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
7aacca6f 12725 },
5c1699e5
TL
12726 "tags" : {
12727 "description" : "Tags of the VM. This is only meta information.",
12728 "format" : "pve-tag-list",
12729 "optional" : 1,
12730 "type" : "string",
12731 "typetext" : "<string>"
12732 },
44660702
DM
12733 "tdf" : {
12734 "default" : 0,
12735 "description" : "Enable/disable time drift fix.",
7aacca6f 12736 "optional" : 1,
013dc89f
DM
12737 "type" : "boolean",
12738 "typetext" : "<boolean>"
7aacca6f 12739 },
44660702
DM
12740 "template" : {
12741 "default" : 0,
12742 "description" : "Enable/disable Template.",
7aacca6f 12743 "optional" : 1,
013dc89f
DM
12744 "type" : "boolean",
12745 "typetext" : "<boolean>"
7aacca6f 12746 },
44660702 12747 "unused[n]" : {
c2993fe5 12748 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 12749 "format" : "pve-volume-id",
7aacca6f 12750 "optional" : 1,
013dc89f
DM
12751 "type" : "string",
12752 "typetext" : "<string>"
7aacca6f 12753 },
44660702 12754 "usb[n]" : {
c2993fe5 12755 "description" : "Configure an USB device (n is 0 to 4).",
56122987 12756 "format" : {
44660702
DM
12757 "host" : {
12758 "default_key" : 1,
c2993fe5 12759 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
12760 "format" : "pve-qm-usb-device",
12761 "format_description" : "HOSTUSBDEVICE|spice",
12762 "type" : "string"
7aacca6f 12763 },
44660702 12764 "usb3" : {
c2993fe5 12765 "default" : 0,
1c532546 12766 "description" : "Specifies whether if given host option is a USB3 device or port.",
7aacca6f 12767 "optional" : 1,
44660702 12768 "type" : "boolean"
7aacca6f 12769 }
44660702 12770 },
7aacca6f 12771 "optional" : 1,
4bd7df8b
DM
12772 "type" : "string",
12773 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 12774 },
44660702 12775 "vcpus" : {
7aacca6f 12776 "default" : 0,
44660702
DM
12777 "description" : "Number of hotplugged vcpus.",
12778 "minimum" : 1,
7aacca6f 12779 "optional" : 1,
4bd7df8b 12780 "type" : "integer",
013dc89f 12781 "typetext" : "<integer> (1 - N)"
7aacca6f 12782 },
44660702 12783 "vga" : {
e2d681b3
TL
12784 "description" : "Configure the VGA hardware.",
12785 "format" : {
12786 "memory" : {
12787 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
12788 "maximum" : 512,
12789 "minimum" : 4,
12790 "optional" : 1,
12791 "type" : "integer"
12792 },
12793 "type" : {
12794 "default" : "std",
12795 "default_key" : 1,
12796 "description" : "Select the VGA type.",
12797 "enum" : [
12798 "cirrus",
12799 "qxl",
12800 "qxl2",
12801 "qxl3",
12802 "qxl4",
5f26e15b 12803 "none",
e2d681b3
TL
12804 "serial0",
12805 "serial1",
12806 "serial2",
12807 "serial3",
12808 "std",
12809 "virtio",
12810 "vmware"
12811 ],
12812 "optional" : 1,
12813 "type" : "string"
12814 }
12815 },
7aacca6f 12816 "optional" : 1,
c2993fe5 12817 "type" : "string",
e2d681b3
TL
12818 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
12819 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
7aacca6f 12820 },
44660702
DM
12821 "virtio[n]" : {
12822 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 12823 "format" : {
7aacca6f 12824 "aio" : {
7aacca6f 12825 "description" : "AIO type to use.",
56122987 12826 "enum" : [
7aacca6f
DM
12827 "native",
12828 "threads"
7aacca6f 12829 ],
44660702
DM
12830 "optional" : 1,
12831 "type" : "string"
56122987 12832 },
44660702
DM
12833 "backup" : {
12834 "description" : "Whether the drive should be included when making backups.",
56122987 12835 "optional" : 1,
44660702 12836 "type" : "boolean"
7aacca6f 12837 },
44660702 12838 "bps" : {
de0983cb 12839 "description" : "Maximum r/w speed in bytes per second.",
44660702 12840 "format_description" : "bps",
7aacca6f 12841 "optional" : 1,
44660702 12842 "type" : "integer"
56122987 12843 },
de0983cb
DM
12844 "bps_max_length" : {
12845 "description" : "Maximum length of I/O bursts in seconds.",
12846 "format_description" : "seconds",
12847 "minimum" : 1,
12848 "optional" : 1,
12849 "type" : "integer"
12850 },
56122987 12851 "bps_rd" : {
de0983cb 12852 "description" : "Maximum read speed in bytes per second.",
44660702 12853 "format_description" : "bps",
56122987 12854 "optional" : 1,
7aacca6f 12855 "type" : "integer"
56122987 12856 },
de0983cb 12857 "bps_rd_length" : {
5d9c884c
DM
12858 "alias" : "bps_rd_max_length"
12859 },
12860 "bps_rd_max_length" : {
de0983cb
DM
12861 "description" : "Maximum length of read I/O bursts in seconds.",
12862 "format_description" : "seconds",
12863 "minimum" : 1,
12864 "optional" : 1,
12865 "type" : "integer"
12866 },
44660702 12867 "bps_wr" : {
de0983cb 12868 "description" : "Maximum write speed in bytes per second.",
44660702 12869 "format_description" : "bps",
56122987 12870 "optional" : 1,
7aacca6f 12871 "type" : "integer"
56122987 12872 },
de0983cb 12873 "bps_wr_length" : {
5d9c884c
DM
12874 "alias" : "bps_wr_max_length"
12875 },
12876 "bps_wr_max_length" : {
de0983cb
DM
12877 "description" : "Maximum length of write I/O bursts in seconds.",
12878 "format_description" : "seconds",
12879 "minimum" : 1,
12880 "optional" : 1,
12881 "type" : "integer"
12882 },
7aacca6f 12883 "cache" : {
44660702 12884 "description" : "The drive's cache mode",
7aacca6f
DM
12885 "enum" : [
12886 "none",
12887 "writethrough",
12888 "writeback",
12889 "unsafe",
12890 "directsync"
12891 ],
56122987 12892 "optional" : 1,
44660702 12893 "type" : "string"
7aacca6f 12894 },
44660702
DM
12895 "cyls" : {
12896 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12897 "optional" : 1,
12898 "type" : "integer"
12899 },
12900 "detect_zeroes" : {
12901 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12902 "optional" : 1,
12903 "type" : "boolean"
12904 },
12905 "discard" : {
12906 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 12907 "enum" : [
44660702
DM
12908 "ignore",
12909 "on"
56122987
DM
12910 ],
12911 "optional" : 1,
44660702 12912 "type" : "string"
56122987 12913 },
44660702
DM
12914 "file" : {
12915 "default_key" : 1,
12916 "description" : "The drive's backing volume.",
12917 "format" : "pve-volume-id-or-qm-path",
12918 "format_description" : "volume",
12919 "type" : "string"
12920 },
12921 "format" : {
12922 "description" : "The drive's backing file's data format.",
12923 "enum" : [
12924 "raw",
12925 "cow",
12926 "qcow",
12927 "qed",
12928 "qcow2",
12929 "vmdk",
12930 "cloop"
12931 ],
56122987 12932 "optional" : 1,
44660702 12933 "type" : "string"
56122987 12934 },
44660702
DM
12935 "heads" : {
12936 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12937 "optional" : 1,
12938 "type" : "integer"
12939 },
12940 "iops" : {
de0983cb 12941 "description" : "Maximum r/w I/O in operations per second.",
44660702 12942 "format_description" : "iops",
56122987 12943 "optional" : 1,
44660702
DM
12944 "type" : "integer"
12945 },
12946 "iops_max" : {
de0983cb 12947 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
12948 "format_description" : "iops",
12949 "optional" : 1,
12950 "type" : "integer"
56122987 12951 },
de0983cb
DM
12952 "iops_max_length" : {
12953 "description" : "Maximum length of I/O bursts in seconds.",
12954 "format_description" : "seconds",
12955 "minimum" : 1,
12956 "optional" : 1,
12957 "type" : "integer"
12958 },
7aacca6f 12959 "iops_rd" : {
de0983cb 12960 "description" : "Maximum read I/O in operations per second.",
7aacca6f 12961 "format_description" : "iops",
7aacca6f 12962 "optional" : 1,
44660702 12963 "type" : "integer"
56122987 12964 },
de0983cb 12965 "iops_rd_length" : {
5d9c884c 12966 "alias" : "iops_rd_max_length"
de0983cb 12967 },
44660702 12968 "iops_rd_max" : {
de0983cb 12969 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12970 "format_description" : "iops",
12971 "optional" : 1,
12972 "type" : "integer"
12973 },
5d9c884c
DM
12974 "iops_rd_max_length" : {
12975 "description" : "Maximum length of read I/O bursts in seconds.",
12976 "format_description" : "seconds",
12977 "minimum" : 1,
12978 "optional" : 1,
12979 "type" : "integer"
12980 },
44660702 12981 "iops_wr" : {
de0983cb 12982 "description" : "Maximum write I/O in operations per second.",
44660702
DM
12983 "format_description" : "iops",
12984 "optional" : 1,
12985 "type" : "integer"
12986 },
de0983cb 12987 "iops_wr_length" : {
5d9c884c 12988 "alias" : "iops_wr_max_length"
de0983cb 12989 },
44660702 12990 "iops_wr_max" : {
de0983cb 12991 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12992 "format_description" : "iops",
12993 "optional" : 1,
12994 "type" : "integer"
12995 },
5d9c884c
DM
12996 "iops_wr_max_length" : {
12997 "description" : "Maximum length of write I/O bursts in seconds.",
12998 "format_description" : "seconds",
12999 "minimum" : 1,
13000 "optional" : 1,
13001 "type" : "integer"
13002 },
44660702
DM
13003 "iothread" : {
13004 "description" : "Whether to use iothreads for this drive",
44660702
DM
13005 "optional" : 1,
13006 "type" : "boolean"
13007 },
13008 "mbps" : {
de0983cb 13009 "description" : "Maximum r/w speed in megabytes per second.",
44660702 13010 "format_description" : "mbps",
7aacca6f 13011 "optional" : 1,
44660702 13012 "type" : "number"
7aacca6f
DM
13013 },
13014 "mbps_max" : {
de0983cb 13015 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 13016 "format_description" : "mbps",
56122987 13017 "optional" : 1,
44660702 13018 "type" : "number"
56122987 13019 },
44660702 13020 "mbps_rd" : {
de0983cb 13021 "description" : "Maximum read speed in megabytes per second.",
44660702 13022 "format_description" : "mbps",
56122987 13023 "optional" : 1,
44660702 13024 "type" : "number"
56122987 13025 },
44660702 13026 "mbps_rd_max" : {
de0983cb 13027 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
13028 "format_description" : "mbps",
13029 "optional" : 1,
13030 "type" : "number"
13031 },
13032 "mbps_wr" : {
de0983cb 13033 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
13034 "format_description" : "mbps",
13035 "optional" : 1,
13036 "type" : "number"
13037 },
13038 "mbps_wr_max" : {
de0983cb 13039 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13040 "format_description" : "mbps",
13041 "optional" : 1,
13042 "type" : "number"
13043 },
13044 "media" : {
13045 "default" : "disk",
13046 "description" : "The drive's media type.",
56122987 13047 "enum" : [
44660702
DM
13048 "cdrom",
13049 "disk"
56122987
DM
13050 ],
13051 "optional" : 1,
44660702 13052 "type" : "string"
56122987 13053 },
5d9c884c
DM
13054 "replicate" : {
13055 "default" : 1,
13056 "description" : "Whether the drive should considered for replication jobs.",
13057 "optional" : 1,
13058 "type" : "boolean"
13059 },
44660702
DM
13060 "rerror" : {
13061 "description" : "Read error action.",
13062 "enum" : [
13063 "ignore",
13064 "report",
13065 "stop"
13066 ],
56122987 13067 "optional" : 1,
44660702 13068 "type" : "string"
56122987 13069 },
44660702
DM
13070 "secs" : {
13071 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 13072 "optional" : 1,
44660702 13073 "type" : "integer"
56122987 13074 },
7aacca6f
DM
13075 "serial" : {
13076 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 13077 "format" : "urlencoded",
44660702 13078 "format_description" : "serial",
7aacca6f 13079 "maxLength" : 60,
44660702
DM
13080 "optional" : 1,
13081 "type" : "string"
56122987 13082 },
27a7acb2
DM
13083 "shared" : {
13084 "default" : 0,
13085 "description" : "Mark this locally-managed volume as available on all nodes",
13086 "optional" : 1,
13087 "type" : "boolean",
13088 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
13089 },
44660702
DM
13090 "size" : {
13091 "description" : "Disk size. This is purely informational and has no effect.",
13092 "format" : "disk-size",
f004f5b9 13093 "format_description" : "DiskSize",
44660702
DM
13094 "optional" : 1,
13095 "type" : "string"
56122987 13096 },
44660702 13097 "snapshot" : {
27a7acb2 13098 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 13099 "optional" : 1,
44660702 13100 "type" : "boolean"
56122987 13101 },
44660702
DM
13102 "trans" : {
13103 "description" : "Force disk geometry bios translation mode.",
13104 "enum" : [
13105 "none",
13106 "lba",
13107 "auto"
13108 ],
7aacca6f 13109 "optional" : 1,
44660702 13110 "type" : "string"
7aacca6f 13111 },
44660702
DM
13112 "volume" : {
13113 "alias" : "file"
13114 },
13115 "werror" : {
13116 "description" : "Write error action.",
13117 "enum" : [
13118 "enospc",
13119 "ignore",
13120 "report",
13121 "stop"
13122 ],
7aacca6f 13123 "optional" : 1,
44660702 13124 "type" : "string"
56122987
DM
13125 }
13126 },
7aacca6f 13127 "optional" : 1,
4bd7df8b 13128 "type" : "string",
27a7acb2 13129 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 13130 },
4d47f125
TL
13131 "vmgenid" : {
13132 "default" : "1 (autogenerated)",
13133 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
13134 "format_description" : "UUID",
13135 "optional" : 1,
13136 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
13137 "type" : "string",
13138 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
13139 },
44660702
DM
13140 "vmid" : {
13141 "description" : "The (unique) ID of the VM.",
13142 "format" : "pve-vmid",
13143 "minimum" : 1,
4bd7df8b 13144 "type" : "integer",
013dc89f 13145 "typetext" : "<integer> (1 - N)"
56122987 13146 },
2489d6df
WB
13147 "vmstatestorage" : {
13148 "description" : "Default storage for VM state volumes/files.",
13149 "format" : "pve-storage-id",
13150 "optional" : 1,
13151 "type" : "string",
13152 "typetext" : "<string>"
13153 },
44660702 13154 "watchdog" : {
c2993fe5 13155 "description" : "Create a virtual hardware watchdog device.",
44660702 13156 "format" : "pve-qm-watchdog",
56122987 13157 "optional" : 1,
c2993fe5 13158 "type" : "string",
013dc89f 13159 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 13160 "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
56122987 13161 }
7aacca6f 13162 }
56122987 13163 },
56122987
DM
13164 "permissions" : {
13165 "check" : [
13166 "perm",
13167 "/vms/{vmid}",
13168 [
13169 "VM.Config.Disk",
13170 "VM.Config.CDROM",
13171 "VM.Config.CPU",
13172 "VM.Config.Memory",
13173 "VM.Config.Network",
13174 "VM.Config.HWType",
13175 "VM.Config.Options"
13176 ],
13177 "any",
13178 1
13179 ]
13180 },
44660702 13181 "protected" : 1,
7aacca6f 13182 "proxyto" : "node",
56122987 13183 "returns" : {
4d47f125
TL
13184 "optional" : 1,
13185 "type" : "string"
7aacca6f 13186 }
4d47f125
TL
13187 },
13188 "PUT" : {
13189 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
13190 "method" : "PUT",
13191 "name" : "update_vm",
7aacca6f 13192 "parameters" : {
44660702 13193 "additionalProperties" : 0,
7aacca6f 13194 "properties" : {
4d47f125
TL
13195 "acpi" : {
13196 "default" : 1,
13197 "description" : "Enable/disable ACPI.",
13198 "optional" : 1,
13199 "type" : "boolean",
13200 "typetext" : "<boolean>"
7aacca6f 13201 },
4d47f125
TL
13202 "agent" : {
13203 "description" : "Enable/disable Qemu GuestAgent and its properties.",
13204 "format" : {
13205 "enabled" : {
13206 "default" : 0,
13207 "default_key" : 1,
13208 "description" : "Enable/disable Qemu GuestAgent.",
13209 "type" : "boolean"
13210 },
13211 "fstrim_cloned_disks" : {
13212 "default" : 0,
13213 "description" : "Run fstrim after cloning/moving a disk.",
13214 "optional" : 1,
13215 "type" : "boolean"
5c1699e5
TL
13216 },
13217 "type" : {
13218 "default" : "virtio",
13219 "description" : "Select the agent type",
13220 "enum" : [
13221 "virtio",
13222 "isa"
13223 ],
13224 "optional" : 1,
13225 "type" : "string"
4d47f125 13226 }
44660702 13227 },
4d47f125
TL
13228 "optional" : 1,
13229 "type" : "string",
5c1699e5 13230 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
44660702 13231 },
e2d681b3
TL
13232 "arch" : {
13233 "description" : "Virtual processor architecture. Defaults to the host.",
13234 "enum" : [
13235 "x86_64",
13236 "aarch64"
13237 ],
13238 "optional" : 1,
13239 "type" : "string"
13240 },
4d47f125
TL
13241 "args" : {
13242 "description" : "Arbitrary arguments passed to kvm.",
13243 "optional" : 1,
13244 "type" : "string",
13245 "typetext" : "<string>",
13246 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
13247 },
1c532546
TL
13248 "audio0" : {
13249 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
13250 "format" : {
13251 "device" : {
13252 "description" : "Configure an audio device.",
13253 "enum" : [
13254 "ich9-intel-hda",
13255 "intel-hda",
13256 "AC97"
13257 ],
13258 "type" : "string"
13259 },
13260 "driver" : {
13261 "default" : "spice",
13262 "description" : "Driver backend for the audio device.",
13263 "enum" : [
13264 "spice"
13265 ],
13266 "optional" : 1,
13267 "type" : "string"
13268 }
13269 },
13270 "optional" : 1,
13271 "type" : "string",
13272 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
13273 },
4d47f125
TL
13274 "autostart" : {
13275 "default" : 0,
13276 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 13277 "optional" : 1,
013dc89f
DM
13278 "type" : "boolean",
13279 "typetext" : "<boolean>"
7aacca6f 13280 },
4d47f125
TL
13281 "balloon" : {
13282 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
13283 "minimum" : 0,
13284 "optional" : 1,
13285 "type" : "integer",
13286 "typetext" : "<integer> (0 - N)"
13287 },
13288 "bios" : {
13289 "default" : "seabios",
13290 "description" : "Select BIOS implementation.",
13291 "enum" : [
13292 "seabios",
13293 "ovmf"
13294 ],
13295 "optional" : 1,
13296 "type" : "string"
13297 },
13298 "boot" : {
13299 "default" : "cdn",
13300 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
13301 "optional" : 1,
13302 "pattern" : "[acdn]{1,4}",
13303 "type" : "string"
13304 },
13305 "bootdisk" : {
13306 "description" : "Enable booting from specified disk.",
13307 "format" : "pve-qm-bootdisk",
13308 "optional" : 1,
13309 "pattern" : "(ide|sata|scsi|virtio)\\d+",
13310 "type" : "string"
13311 },
13312 "cdrom" : {
13313 "description" : "This is an alias for option -ide2",
13314 "format" : "pve-qm-ide",
13315 "optional" : 1,
13316 "type" : "string",
13317 "typetext" : "<volume>"
13318 },
95895385
TL
13319 "cicustom" : {
13320 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
13321 "format" : "pve-qm-cicustom",
13322 "optional" : 1,
13323 "type" : "string",
13324 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
13325 },
4d47f125
TL
13326 "cipassword" : {
13327 "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
13328 "optional" : 1,
013dc89f
DM
13329 "type" : "string",
13330 "typetext" : "<string>"
44660702 13331 },
4d47f125
TL
13332 "citype" : {
13333 "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
13334 "enum" : [
13335 "configdrive2",
13336 "nocloud"
13337 ],
13338 "optional" : 1,
13339 "type" : "string"
13340 },
13341 "ciuser" : {
13342 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
13343 "optional" : 1,
013dc89f
DM
13344 "type" : "string",
13345 "typetext" : "<string>"
56122987 13346 },
4d47f125
TL
13347 "cores" : {
13348 "default" : 1,
13349 "description" : "The number of cores per socket.",
7aacca6f 13350 "minimum" : 1,
4d47f125 13351 "optional" : 1,
4bd7df8b 13352 "type" : "integer",
013dc89f 13353 "typetext" : "<integer> (1 - N)"
4d47f125
TL
13354 },
13355 "cpu" : {
13356 "description" : "Emulated CPU type.",
13357 "format" : {
13358 "cputype" : {
13359 "default" : "kvm64",
13360 "default_key" : 1,
13361 "description" : "Emulated CPU type.",
13362 "enum" : [
13363 "486",
13364 "athlon",
13365 "Broadwell",
13366 "Broadwell-IBRS",
13367 "Broadwell-noTSX",
13368 "Broadwell-noTSX-IBRS",
1c532546 13369 "Cascadelake-Server",
4d47f125
TL
13370 "Conroe",
13371 "core2duo",
13372 "coreduo",
13373 "EPYC",
13374 "EPYC-IBPB",
13375 "Haswell",
13376 "Haswell-IBRS",
13377 "Haswell-noTSX",
13378 "Haswell-noTSX-IBRS",
13379 "host",
13380 "IvyBridge",
13381 "IvyBridge-IBRS",
1c532546 13382 "KnightsMill",
4d47f125
TL
13383 "kvm32",
13384 "kvm64",
13385 "max",
13386 "Nehalem",
13387 "Nehalem-IBRS",
13388 "Opteron_G1",
13389 "Opteron_G2",
13390 "Opteron_G3",
13391 "Opteron_G4",
13392 "Opteron_G5",
13393 "Penryn",
13394 "pentium",
13395 "pentium2",
13396 "pentium3",
13397 "phenom",
13398 "qemu32",
13399 "qemu64",
13400 "SandyBridge",
13401 "SandyBridge-IBRS",
13402 "Skylake-Client",
13403 "Skylake-Client-IBRS",
13404 "Skylake-Server",
13405 "Skylake-Server-IBRS",
13406 "Westmere",
13407 "Westmere-IBRS"
13408 ],
13409 "type" : "string"
13410 },
13411 "flags" : {
1c532546 13412 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
4d47f125
TL
13413 "format_description" : "+FLAG[;-FLAG...]",
13414 "optional" : 1,
1c532546 13415 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
4d47f125
TL
13416 "type" : "string"
13417 },
13418 "hidden" : {
13419 "default" : 0,
13420 "description" : "Do not identify as a KVM virtual machine.",
13421 "optional" : 1,
13422 "type" : "boolean"
5f26e15b
TL
13423 },
13424 "hv-vendor-id" : {
13425 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
13426 "format_description" : "vendor-id",
13427 "optional" : 1,
13428 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
13429 "type" : "string"
4d47f125
TL
13430 }
13431 },
13432 "optional" : 1,
013dc89f 13433 "type" : "string",
5f26e15b 13434 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
44660702 13435 },
4d47f125
TL
13436 "cpulimit" : {
13437 "default" : 0,
13438 "description" : "Limit of CPU usage.",
13439 "maximum" : 128,
13440 "minimum" : 0,
13441 "optional" : 1,
13442 "type" : "number",
13443 "typetext" : "<number> (0 - 128)",
13444 "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."
13445 },
13446 "cpuunits" : {
13447 "default" : 1024,
13448 "description" : "CPU weight for a VM.",
13449 "maximum" : 262144,
13450 "minimum" : 2,
13451 "optional" : 1,
4bd7df8b 13452 "type" : "integer",
4d47f125
TL
13453 "typetext" : "<integer> (2 - 262144)",
13454 "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
7aacca6f 13455 },
4d47f125
TL
13456 "delete" : {
13457 "description" : "A list of settings you want to delete.",
13458 "format" : "pve-configid-list",
13459 "optional" : 1,
13460 "type" : "string",
13461 "typetext" : "<string>"
13462 },
13463 "description" : {
13464 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
13465 "optional" : 1,
13466 "type" : "string",
13467 "typetext" : "<string>"
13468 },
13469 "digest" : {
13470 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13471 "maxLength" : 40,
44660702 13472 "optional" : 1,
4d47f125
TL
13473 "type" : "string",
13474 "typetext" : "<string>"
13475 },
13476 "efidisk0" : {
13477 "description" : "Configure a Disk for storing EFI vars",
13478 "format" : {
13479 "file" : {
13480 "default_key" : 1,
13481 "description" : "The drive's backing volume.",
13482 "format" : "pve-volume-id-or-qm-path",
13483 "format_description" : "volume",
13484 "type" : "string"
13485 },
13486 "format" : {
13487 "description" : "The drive's backing file's data format.",
13488 "enum" : [
13489 "raw",
13490 "cow",
13491 "qcow",
13492 "qed",
13493 "qcow2",
13494 "vmdk",
13495 "cloop"
13496 ],
13497 "optional" : 1,
13498 "type" : "string"
13499 },
13500 "size" : {
13501 "description" : "Disk size. This is purely informational and has no effect.",
13502 "format" : "disk-size",
13503 "format_description" : "DiskSize",
13504 "optional" : 1,
13505 "type" : "string"
13506 },
13507 "volume" : {
13508 "alias" : "file"
13509 }
13510 },
13511 "optional" : 1,
13512 "type" : "string",
13513 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
13514 },
13515 "force" : {
13516 "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.",
13517 "optional" : 1,
13518 "requires" : "delete",
013dc89f
DM
13519 "type" : "boolean",
13520 "typetext" : "<boolean>"
56122987 13521 },
4d47f125
TL
13522 "freeze" : {
13523 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
13524 "optional" : 1,
13525 "type" : "boolean",
13526 "typetext" : "<boolean>"
7aacca6f 13527 },
5f26e15b
TL
13528 "hookscript" : {
13529 "description" : "Script that will be executed during various steps in the vms lifetime.",
13530 "format" : "pve-volume-id",
13531 "optional" : 1,
13532 "type" : "string",
13533 "typetext" : "<string>"
13534 },
4d47f125
TL
13535 "hostpci[n]" : {
13536 "description" : "Map host PCI devices into guest.",
13537 "format" : "pve-qm-hostpci",
13538 "optional" : 1,
13539 "type" : "string",
e2d681b3 13540 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 13541 "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702 13542 },
4d47f125
TL
13543 "hotplug" : {
13544 "default" : "network,disk,usb",
13545 "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'.",
13546 "format" : "pve-hotplug-features",
13547 "optional" : 1,
35a75dd3
DM
13548 "type" : "string",
13549 "typetext" : "<string>"
13550 },
4d47f125
TL
13551 "hugepages" : {
13552 "description" : "Enable/disable hugepages memory.",
35a75dd3 13553 "enum" : [
4d47f125
TL
13554 "any",
13555 "2",
13556 "1024"
35a75dd3
DM
13557 ],
13558 "optional" : 1,
13559 "type" : "string"
13560 },
4d47f125
TL
13561 "ide[n]" : {
13562 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
13563 "format" : {
13564 "aio" : {
13565 "description" : "AIO type to use.",
13566 "enum" : [
13567 "native",
13568 "threads"
13569 ],
44660702 13570 "optional" : 1,
44660702
DM
13571 "type" : "string"
13572 },
4d47f125
TL
13573 "backup" : {
13574 "description" : "Whether the drive should be included when making backups.",
56122987 13575 "optional" : 1,
4d47f125 13576 "type" : "boolean"
56122987 13577 },
4d47f125
TL
13578 "bps" : {
13579 "description" : "Maximum r/w speed in bytes per second.",
13580 "format_description" : "bps",
de0983cb 13581 "optional" : 1,
4d47f125 13582 "type" : "integer"
de0983cb 13583 },
4d47f125
TL
13584 "bps_max_length" : {
13585 "description" : "Maximum length of I/O bursts in seconds.",
13586 "format_description" : "seconds",
13587 "minimum" : 1,
de0983cb 13588 "optional" : 1,
4d47f125 13589 "type" : "integer"
7aacca6f 13590 },
4d47f125
TL
13591 "bps_rd" : {
13592 "description" : "Maximum read speed in bytes per second.",
13593 "format_description" : "bps",
7aacca6f 13594 "optional" : 1,
4d47f125 13595 "type" : "integer"
56122987 13596 },
4d47f125
TL
13597 "bps_rd_length" : {
13598 "alias" : "bps_rd_max_length"
13599 },
13600 "bps_rd_max_length" : {
13601 "description" : "Maximum length of read I/O bursts in seconds.",
13602 "format_description" : "seconds",
13603 "minimum" : 1,
56122987 13604 "optional" : 1,
4d47f125 13605 "type" : "integer"
56122987 13606 },
4d47f125
TL
13607 "bps_wr" : {
13608 "description" : "Maximum write speed in bytes per second.",
13609 "format_description" : "bps",
52e44c50 13610 "optional" : 1,
4d47f125 13611 "type" : "integer"
52e44c50 13612 },
4d47f125
TL
13613 "bps_wr_length" : {
13614 "alias" : "bps_wr_max_length"
13615 },
13616 "bps_wr_max_length" : {
13617 "description" : "Maximum length of write I/O bursts in seconds.",
13618 "format_description" : "seconds",
44660702 13619 "minimum" : 1,
56122987 13620 "optional" : 1,
4d47f125 13621 "type" : "integer"
56122987 13622 },
4d47f125
TL
13623 "cache" : {
13624 "description" : "The drive's cache mode",
13625 "enum" : [
13626 "none",
13627 "writethrough",
13628 "writeback",
13629 "unsafe",
13630 "directsync"
13631 ],
7aacca6f 13632 "optional" : 1,
4d47f125 13633 "type" : "string"
7aacca6f 13634 },
4d47f125
TL
13635 "cyls" : {
13636 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13637 "optional" : 1,
13638 "type" : "integer"
56122987 13639 },
4d47f125
TL
13640 "detect_zeroes" : {
13641 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 13642 "optional" : 1,
4d47f125 13643 "type" : "boolean"
56122987 13644 },
4d47f125
TL
13645 "discard" : {
13646 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13647 "enum" : [
13648 "ignore",
13649 "on"
13650 ],
56122987 13651 "optional" : 1,
4d47f125 13652 "type" : "string"
7aacca6f 13653 },
4d47f125
TL
13654 "file" : {
13655 "default_key" : 1,
13656 "description" : "The drive's backing volume.",
13657 "format" : "pve-volume-id-or-qm-path",
13658 "format_description" : "volume",
13659 "type" : "string"
56122987 13660 },
4d47f125
TL
13661 "format" : {
13662 "description" : "The drive's backing file's data format.",
13663 "enum" : [
13664 "raw",
13665 "cow",
13666 "qcow",
13667 "qed",
13668 "qcow2",
13669 "vmdk",
13670 "cloop"
13671 ],
7aacca6f 13672 "optional" : 1,
4d47f125 13673 "type" : "string"
7aacca6f 13674 },
4d47f125
TL
13675 "heads" : {
13676 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 13677 "optional" : 1,
4d47f125 13678 "type" : "integer"
56122987 13679 },
4d47f125
TL
13680 "iops" : {
13681 "description" : "Maximum r/w I/O in operations per second.",
13682 "format_description" : "iops",
44660702 13683 "optional" : 1,
4d47f125 13684 "type" : "integer"
44660702 13685 },
4d47f125
TL
13686 "iops_max" : {
13687 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13688 "format_description" : "iops",
44660702 13689 "optional" : 1,
4d47f125 13690 "type" : "integer"
56122987 13691 },
4d47f125
TL
13692 "iops_max_length" : {
13693 "description" : "Maximum length of I/O bursts in seconds.",
13694 "format_description" : "seconds",
13695 "minimum" : 1,
7aacca6f 13696 "optional" : 1,
4d47f125 13697 "type" : "integer"
7aacca6f 13698 },
4d47f125
TL
13699 "iops_rd" : {
13700 "description" : "Maximum read I/O in operations per second.",
13701 "format_description" : "iops",
13702 "optional" : 1,
13703 "type" : "integer"
13704 },
13705 "iops_rd_length" : {
13706 "alias" : "iops_rd_max_length"
13707 },
13708 "iops_rd_max" : {
13709 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13710 "format_description" : "iops",
13711 "optional" : 1,
13712 "type" : "integer"
13713 },
13714 "iops_rd_max_length" : {
13715 "description" : "Maximum length of read I/O bursts in seconds.",
13716 "format_description" : "seconds",
44660702 13717 "minimum" : 1,
4d47f125
TL
13718 "optional" : 1,
13719 "type" : "integer"
7aacca6f 13720 },
4d47f125
TL
13721 "iops_wr" : {
13722 "description" : "Maximum write I/O in operations per second.",
13723 "format_description" : "iops",
44660702 13724 "optional" : 1,
4d47f125 13725 "type" : "integer"
44660702 13726 },
4d47f125
TL
13727 "iops_wr_length" : {
13728 "alias" : "iops_wr_max_length"
13729 },
13730 "iops_wr_max" : {
13731 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13732 "format_description" : "iops",
13733 "optional" : 1,
13734 "type" : "integer"
13735 },
13736 "iops_wr_max_length" : {
13737 "description" : "Maximum length of write I/O bursts in seconds.",
13738 "format_description" : "seconds",
44660702 13739 "minimum" : 1,
44660702 13740 "optional" : 1,
4d47f125 13741 "type" : "integer"
44660702 13742 },
4d47f125
TL
13743 "mbps" : {
13744 "description" : "Maximum r/w speed in megabytes per second.",
13745 "format_description" : "mbps",
13746 "optional" : 1,
13747 "type" : "number"
56122987 13748 },
4d47f125
TL
13749 "mbps_max" : {
13750 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13751 "format_description" : "mbps",
13752 "optional" : 1,
13753 "type" : "number"
13754 },
13755 "mbps_rd" : {
13756 "description" : "Maximum read speed in megabytes per second.",
13757 "format_description" : "mbps",
13758 "optional" : 1,
13759 "type" : "number"
13760 },
13761 "mbps_rd_max" : {
13762 "description" : "Maximum unthrottled read pool in megabytes per second.",
13763 "format_description" : "mbps",
13764 "optional" : 1,
13765 "type" : "number"
13766 },
13767 "mbps_wr" : {
13768 "description" : "Maximum write speed in megabytes per second.",
13769 "format_description" : "mbps",
13770 "optional" : 1,
13771 "type" : "number"
13772 },
13773 "mbps_wr_max" : {
13774 "description" : "Maximum unthrottled write pool in megabytes per second.",
13775 "format_description" : "mbps",
13776 "optional" : 1,
13777 "type" : "number"
13778 },
13779 "media" : {
13780 "default" : "disk",
13781 "description" : "The drive's media type.",
13782 "enum" : [
13783 "cdrom",
13784 "disk"
13785 ],
13786 "optional" : 1,
13787 "type" : "string"
13788 },
13789 "model" : {
13790 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
13791 "format" : "urlencoded",
13792 "format_description" : "model",
13793 "maxLength" : 120,
13794 "optional" : 1,
13795 "type" : "string"
13796 },
13797 "replicate" : {
13798 "default" : 1,
13799 "description" : "Whether the drive should considered for replication jobs.",
13800 "optional" : 1,
13801 "type" : "boolean"
13802 },
13803 "rerror" : {
13804 "description" : "Read error action.",
13805 "enum" : [
13806 "ignore",
13807 "report",
13808 "stop"
13809 ],
13810 "optional" : 1,
13811 "type" : "string"
13812 },
13813 "secs" : {
13814 "description" : "Force the drive's physical geometry to have a specific sector count.",
13815 "optional" : 1,
13816 "type" : "integer"
13817 },
13818 "serial" : {
13819 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13820 "format" : "urlencoded",
13821 "format_description" : "serial",
13822 "maxLength" : 60,
13823 "optional" : 1,
13824 "type" : "string"
13825 },
13826 "shared" : {
13827 "default" : 0,
13828 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 13829 "optional" : 1,
013dc89f 13830 "type" : "boolean",
4d47f125 13831 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
56122987 13832 },
4d47f125
TL
13833 "size" : {
13834 "description" : "Disk size. This is purely informational and has no effect.",
13835 "format" : "disk-size",
13836 "format_description" : "DiskSize",
13837 "optional" : 1,
13838 "type" : "string"
13839 },
13840 "snapshot" : {
13841 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
13842 "optional" : 1,
13843 "type" : "boolean"
13844 },
25203dc1
NC
13845 "ssd" : {
13846 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13847 "optional" : 1,
13848 "type" : "boolean"
13849 },
4d47f125
TL
13850 "trans" : {
13851 "description" : "Force disk geometry bios translation mode.",
13852 "enum" : [
13853 "none",
13854 "lba",
13855 "auto"
13856 ],
13857 "optional" : 1,
13858 "type" : "string"
13859 },
13860 "volume" : {
13861 "alias" : "file"
13862 },
13863 "werror" : {
13864 "description" : "Write error action.",
13865 "enum" : [
13866 "enospc",
13867 "ignore",
13868 "report",
13869 "stop"
13870 ],
13871 "optional" : 1,
13872 "type" : "string"
95895385
TL
13873 },
13874 "wwn" : {
13875 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
13876 "format_description" : "wwn",
13877 "optional" : 1,
13878 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
13879 "type" : "string"
4d47f125
TL
13880 }
13881 },
13882 "optional" : 1,
013dc89f 13883 "type" : "string",
95895385 13884 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702 13885 },
4d47f125
TL
13886 "ipconfig[n]" : {
13887 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
13888 "format" : "pve-qm-ipconfig",
13889 "optional" : 1,
013dc89f 13890 "type" : "string",
4d47f125 13891 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 13892 },
95895385
TL
13893 "ivshmem" : {
13894 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
13895 "format" : {
13896 "name" : {
13897 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
13898 "format_description" : "string",
13899 "optional" : 1,
13900 "pattern" : "[a-zA-Z0-9\\-]+",
13901 "type" : "string"
13902 },
13903 "size" : {
13904 "description" : "The size of the file in MB.",
13905 "minimum" : 1,
13906 "type" : "integer"
13907 }
13908 },
13909 "optional" : 1,
13910 "type" : "string",
13911 "typetext" : "size=<integer> [,name=<string>]"
13912 },
4d47f125
TL
13913 "keyboard" : {
13914 "default" : null,
13915 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
13916 "enum" : [
13917 "de",
13918 "de-ch",
13919 "da",
13920 "en-gb",
13921 "en-us",
13922 "es",
13923 "fi",
13924 "fr",
13925 "fr-be",
13926 "fr-ca",
13927 "fr-ch",
13928 "hu",
13929 "is",
13930 "it",
13931 "ja",
13932 "lt",
13933 "mk",
13934 "nl",
13935 "no",
13936 "pl",
13937 "pt",
13938 "pt-br",
13939 "sv",
13940 "sl",
13941 "tr"
13942 ],
13943 "optional" : 1,
13944 "type" : "string"
44660702 13945 },
4d47f125
TL
13946 "kvm" : {
13947 "default" : 1,
13948 "description" : "Enable/disable KVM hardware virtualization.",
44660702 13949 "optional" : 1,
013dc89f
DM
13950 "type" : "boolean",
13951 "typetext" : "<boolean>"
7aacca6f 13952 },
4d47f125
TL
13953 "localtime" : {
13954 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
13955 "optional" : 1,
13956 "type" : "boolean",
13957 "typetext" : "<boolean>"
13958 },
13959 "lock" : {
13960 "description" : "Lock/unlock the VM.",
56122987 13961 "enum" : [
4d47f125 13962 "backup",
5f26e15b
TL
13963 "clone",
13964 "create",
13965 "migrate",
13966 "rollback",
56122987 13967 "snapshot",
95895385
TL
13968 "snapshot-delete",
13969 "suspending",
13970 "suspended"
56122987 13971 ],
4d47f125 13972 "optional" : 1,
44660702
DM
13973 "type" : "string"
13974 },
4d47f125
TL
13975 "machine" : {
13976 "description" : "Specifies the Qemu machine type.",
13977 "maxLength" : 40,
13978 "optional" : 1,
5c1699e5 13979 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
13980 "type" : "string"
13981 },
13982 "memory" : {
13983 "default" : 512,
13984 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
13985 "minimum" : 16,
13986 "optional" : 1,
13987 "type" : "integer",
13988 "typetext" : "<integer> (16 - N)"
13989 },
13990 "migrate_downtime" : {
13991 "default" : 0.1,
13992 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
13993 "minimum" : 0,
13994 "optional" : 1,
13995 "type" : "number",
13996 "typetext" : "<number> (0 - N)"
13997 },
13998 "migrate_speed" : {
13999 "default" : 0,
14000 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
14001 "minimum" : 0,
14002 "optional" : 1,
14003 "type" : "integer",
14004 "typetext" : "<integer> (0 - N)"
14005 },
14006 "name" : {
14007 "description" : "Set a name for the VM. Only used on the configuration web interface.",
14008 "format" : "dns-name",
14009 "optional" : 1,
013dc89f
DM
14010 "type" : "string",
14011 "typetext" : "<string>"
56122987 14012 },
4d47f125
TL
14013 "nameserver" : {
14014 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
14015 "format" : "address-list",
7aacca6f 14016 "optional" : 1,
013dc89f
DM
14017 "type" : "string",
14018 "typetext" : "<string>"
7aacca6f 14019 },
4d47f125
TL
14020 "net[n]" : {
14021 "description" : "Specify network devices.",
14022 "format" : {
14023 "bridge" : {
14024 "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",
14025 "format_description" : "bridge",
14026 "optional" : 1,
14027 "type" : "string"
14028 },
14029 "e1000" : {
14030 "alias" : "macaddr",
14031 "keyAlias" : "model"
14032 },
14033 "e1000-82540em" : {
14034 "alias" : "macaddr",
14035 "keyAlias" : "model"
14036 },
14037 "e1000-82544gc" : {
14038 "alias" : "macaddr",
14039 "keyAlias" : "model"
14040 },
14041 "e1000-82545em" : {
14042 "alias" : "macaddr",
14043 "keyAlias" : "model"
14044 },
14045 "firewall" : {
14046 "description" : "Whether this interface should be protected by the firewall.",
14047 "optional" : 1,
14048 "type" : "boolean"
14049 },
14050 "i82551" : {
14051 "alias" : "macaddr",
14052 "keyAlias" : "model"
14053 },
14054 "i82557b" : {
14055 "alias" : "macaddr",
14056 "keyAlias" : "model"
14057 },
14058 "i82559er" : {
14059 "alias" : "macaddr",
14060 "keyAlias" : "model"
14061 },
14062 "link_down" : {
14063 "description" : "Whether this interface should be disconnected (like pulling the plug).",
14064 "optional" : 1,
14065 "type" : "boolean"
14066 },
14067 "macaddr" : {
14068 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 14069 "format" : "mac-addr",
4d47f125
TL
14070 "format_description" : "XX:XX:XX:XX:XX:XX",
14071 "optional" : 1,
95895385
TL
14072 "type" : "string",
14073 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
14074 },
14075 "model" : {
14076 "default_key" : 1,
14077 "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'.",
14078 "enum" : [
14079 "rtl8139",
14080 "ne2k_pci",
14081 "e1000",
14082 "pcnet",
14083 "virtio",
14084 "ne2k_isa",
14085 "i82551",
14086 "i82557b",
14087 "i82559er",
14088 "vmxnet3",
14089 "e1000-82540em",
14090 "e1000-82544gc",
14091 "e1000-82545em"
14092 ],
14093 "type" : "string"
14094 },
14095 "ne2k_isa" : {
14096 "alias" : "macaddr",
14097 "keyAlias" : "model"
14098 },
14099 "ne2k_pci" : {
14100 "alias" : "macaddr",
14101 "keyAlias" : "model"
14102 },
14103 "pcnet" : {
14104 "alias" : "macaddr",
14105 "keyAlias" : "model"
14106 },
14107 "queues" : {
14108 "description" : "Number of packet queues to be used on the device.",
14109 "maximum" : 16,
14110 "minimum" : 0,
14111 "optional" : 1,
14112 "type" : "integer"
14113 },
14114 "rate" : {
14115 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
14116 "minimum" : 0,
14117 "optional" : 1,
14118 "type" : "number"
14119 },
14120 "rtl8139" : {
14121 "alias" : "macaddr",
14122 "keyAlias" : "model"
14123 },
14124 "tag" : {
14125 "description" : "VLAN tag to apply to packets on this interface.",
14126 "maximum" : 4094,
14127 "minimum" : 1,
14128 "optional" : 1,
14129 "type" : "integer"
14130 },
14131 "trunks" : {
14132 "description" : "VLAN trunks to pass through this interface.",
14133 "format_description" : "vlanid[;vlanid...]",
14134 "optional" : 1,
14135 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14136 "type" : "string"
14137 },
14138 "virtio" : {
14139 "alias" : "macaddr",
14140 "keyAlias" : "model"
14141 },
14142 "vmxnet3" : {
14143 "alias" : "macaddr",
14144 "keyAlias" : "model"
14145 }
44660702 14146 },
44660702 14147 "optional" : 1,
013dc89f 14148 "type" : "string",
4d47f125 14149 "typetext" : "[model=]<enum> [,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>]"
44660702
DM
14150 },
14151 "node" : {
14152 "description" : "The cluster node name.",
14153 "format" : "pve-node",
013dc89f
DM
14154 "type" : "string",
14155 "typetext" : "<string>"
7aacca6f 14156 },
4d47f125
TL
14157 "numa" : {
14158 "default" : 0,
14159 "description" : "Enable/disable NUMA.",
56122987 14160 "optional" : 1,
4d47f125
TL
14161 "type" : "boolean",
14162 "typetext" : "<boolean>"
56122987 14163 },
4d47f125
TL
14164 "numa[n]" : {
14165 "description" : "NUMA topology.",
14166 "format" : {
14167 "cpus" : {
14168 "description" : "CPUs accessing this NUMA node.",
14169 "format_description" : "id[-id];...",
14170 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14171 "type" : "string"
14172 },
14173 "hostnodes" : {
14174 "description" : "Host NUMA nodes to use.",
14175 "format_description" : "id[-id];...",
14176 "optional" : 1,
14177 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14178 "type" : "string"
14179 },
14180 "memory" : {
14181 "description" : "Amount of memory this NUMA node provides.",
14182 "optional" : 1,
14183 "type" : "number"
14184 },
14185 "policy" : {
14186 "description" : "NUMA allocation policy.",
14187 "enum" : [
14188 "preferred",
14189 "bind",
14190 "interleave"
14191 ],
14192 "optional" : 1,
14193 "type" : "string"
14194 }
14195 },
7aacca6f 14196 "optional" : 1,
013dc89f 14197 "type" : "string",
4d47f125 14198 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 14199 },
4d47f125 14200 "onboot" : {
44660702 14201 "default" : 0,
4d47f125 14202 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 14203 "optional" : 1,
013dc89f
DM
14204 "type" : "boolean",
14205 "typetext" : "<boolean>"
56122987 14206 },
4d47f125
TL
14207 "ostype" : {
14208 "description" : "Specify guest operating system.",
7aacca6f 14209 "enum" : [
4d47f125
TL
14210 "other",
14211 "wxp",
14212 "w2k",
14213 "w2k3",
14214 "w2k8",
14215 "wvista",
14216 "win7",
14217 "win8",
14218 "win10",
14219 "l24",
14220 "l26",
14221 "solaris"
7aacca6f
DM
14222 ],
14223 "optional" : 1,
013dc89f 14224 "type" : "string",
5c1699e5 14225 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
44660702 14226 },
4d47f125
TL
14227 "parallel[n]" : {
14228 "description" : "Map host parallel devices (n is 0 to 2).",
14229 "optional" : 1,
14230 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 14231 "type" : "string",
4d47f125 14232 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702 14233 },
4d47f125
TL
14234 "protection" : {
14235 "default" : 0,
14236 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 14237 "optional" : 1,
013dc89f
DM
14238 "type" : "boolean",
14239 "typetext" : "<boolean>"
44660702 14240 },
4d47f125
TL
14241 "reboot" : {
14242 "default" : 1,
14243 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 14244 "optional" : 1,
013dc89f
DM
14245 "type" : "boolean",
14246 "typetext" : "<boolean>"
56122987 14247 },
4d47f125
TL
14248 "revert" : {
14249 "description" : "Revert a pending change.",
14250 "format" : "pve-configid-list",
14251 "optional" : 1,
013dc89f
DM
14252 "type" : "string",
14253 "typetext" : "<string>"
56122987 14254 },
4d47f125
TL
14255 "sata[n]" : {
14256 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
14257 "format" : {
14258 "aio" : {
14259 "description" : "AIO type to use.",
14260 "enum" : [
14261 "native",
14262 "threads"
14263 ],
14264 "optional" : 1,
14265 "type" : "string"
14266 },
14267 "backup" : {
14268 "description" : "Whether the drive should be included when making backups.",
14269 "optional" : 1,
14270 "type" : "boolean"
14271 },
14272 "bps" : {
14273 "description" : "Maximum r/w speed in bytes per second.",
14274 "format_description" : "bps",
14275 "optional" : 1,
14276 "type" : "integer"
14277 },
14278 "bps_max_length" : {
14279 "description" : "Maximum length of I/O bursts in seconds.",
14280 "format_description" : "seconds",
14281 "minimum" : 1,
14282 "optional" : 1,
14283 "type" : "integer"
14284 },
14285 "bps_rd" : {
14286 "description" : "Maximum read speed in bytes per second.",
14287 "format_description" : "bps",
14288 "optional" : 1,
14289 "type" : "integer"
14290 },
14291 "bps_rd_length" : {
14292 "alias" : "bps_rd_max_length"
14293 },
14294 "bps_rd_max_length" : {
14295 "description" : "Maximum length of read I/O bursts in seconds.",
14296 "format_description" : "seconds",
14297 "minimum" : 1,
14298 "optional" : 1,
14299 "type" : "integer"
14300 },
14301 "bps_wr" : {
14302 "description" : "Maximum write speed in bytes per second.",
14303 "format_description" : "bps",
14304 "optional" : 1,
14305 "type" : "integer"
14306 },
14307 "bps_wr_length" : {
14308 "alias" : "bps_wr_max_length"
14309 },
14310 "bps_wr_max_length" : {
14311 "description" : "Maximum length of write I/O bursts in seconds.",
14312 "format_description" : "seconds",
14313 "minimum" : 1,
14314 "optional" : 1,
14315 "type" : "integer"
14316 },
14317 "cache" : {
14318 "description" : "The drive's cache mode",
14319 "enum" : [
14320 "none",
14321 "writethrough",
14322 "writeback",
14323 "unsafe",
14324 "directsync"
14325 ],
14326 "optional" : 1,
14327 "type" : "string"
14328 },
14329 "cyls" : {
14330 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14331 "optional" : 1,
14332 "type" : "integer"
14333 },
14334 "detect_zeroes" : {
14335 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14336 "optional" : 1,
14337 "type" : "boolean"
14338 },
14339 "discard" : {
14340 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14341 "enum" : [
14342 "ignore",
14343 "on"
14344 ],
14345 "optional" : 1,
14346 "type" : "string"
14347 },
14348 "file" : {
14349 "default_key" : 1,
14350 "description" : "The drive's backing volume.",
14351 "format" : "pve-volume-id-or-qm-path",
14352 "format_description" : "volume",
14353 "type" : "string"
14354 },
14355 "format" : {
14356 "description" : "The drive's backing file's data format.",
14357 "enum" : [
14358 "raw",
14359 "cow",
14360 "qcow",
14361 "qed",
14362 "qcow2",
14363 "vmdk",
14364 "cloop"
14365 ],
14366 "optional" : 1,
14367 "type" : "string"
14368 },
14369 "heads" : {
14370 "description" : "Force the drive's physical geometry to have a specific head count.",
14371 "optional" : 1,
14372 "type" : "integer"
14373 },
14374 "iops" : {
14375 "description" : "Maximum r/w I/O in operations per second.",
14376 "format_description" : "iops",
14377 "optional" : 1,
14378 "type" : "integer"
14379 },
14380 "iops_max" : {
14381 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
14382 "format_description" : "iops",
14383 "optional" : 1,
14384 "type" : "integer"
14385 },
14386 "iops_max_length" : {
14387 "description" : "Maximum length of I/O bursts in seconds.",
14388 "format_description" : "seconds",
14389 "minimum" : 1,
14390 "optional" : 1,
14391 "type" : "integer"
14392 },
14393 "iops_rd" : {
14394 "description" : "Maximum read I/O in operations per second.",
14395 "format_description" : "iops",
14396 "optional" : 1,
14397 "type" : "integer"
14398 },
14399 "iops_rd_length" : {
14400 "alias" : "iops_rd_max_length"
14401 },
14402 "iops_rd_max" : {
14403 "description" : "Maximum unthrottled read I/O pool in operations per second.",
14404 "format_description" : "iops",
14405 "optional" : 1,
14406 "type" : "integer"
14407 },
14408 "iops_rd_max_length" : {
14409 "description" : "Maximum length of read I/O bursts in seconds.",
14410 "format_description" : "seconds",
14411 "minimum" : 1,
14412 "optional" : 1,
14413 "type" : "integer"
14414 },
14415 "iops_wr" : {
14416 "description" : "Maximum write I/O in operations per second.",
14417 "format_description" : "iops",
14418 "optional" : 1,
14419 "type" : "integer"
14420 },
14421 "iops_wr_length" : {
14422 "alias" : "iops_wr_max_length"
14423 },
14424 "iops_wr_max" : {
14425 "description" : "Maximum unthrottled write I/O pool in operations per second.",
14426 "format_description" : "iops",
14427 "optional" : 1,
14428 "type" : "integer"
14429 },
14430 "iops_wr_max_length" : {
14431 "description" : "Maximum length of write I/O bursts in seconds.",
14432 "format_description" : "seconds",
14433 "minimum" : 1,
14434 "optional" : 1,
14435 "type" : "integer"
14436 },
14437 "mbps" : {
14438 "description" : "Maximum r/w speed in megabytes per second.",
14439 "format_description" : "mbps",
14440 "optional" : 1,
14441 "type" : "number"
14442 },
14443 "mbps_max" : {
14444 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
14445 "format_description" : "mbps",
14446 "optional" : 1,
14447 "type" : "number"
14448 },
14449 "mbps_rd" : {
14450 "description" : "Maximum read speed in megabytes per second.",
14451 "format_description" : "mbps",
14452 "optional" : 1,
14453 "type" : "number"
14454 },
14455 "mbps_rd_max" : {
14456 "description" : "Maximum unthrottled read pool in megabytes per second.",
14457 "format_description" : "mbps",
14458 "optional" : 1,
14459 "type" : "number"
14460 },
14461 "mbps_wr" : {
14462 "description" : "Maximum write speed in megabytes per second.",
14463 "format_description" : "mbps",
14464 "optional" : 1,
14465 "type" : "number"
14466 },
14467 "mbps_wr_max" : {
14468 "description" : "Maximum unthrottled write pool in megabytes per second.",
14469 "format_description" : "mbps",
14470 "optional" : 1,
14471 "type" : "number"
14472 },
14473 "media" : {
14474 "default" : "disk",
14475 "description" : "The drive's media type.",
14476 "enum" : [
14477 "cdrom",
14478 "disk"
14479 ],
14480 "optional" : 1,
14481 "type" : "string"
14482 },
14483 "replicate" : {
14484 "default" : 1,
14485 "description" : "Whether the drive should considered for replication jobs.",
14486 "optional" : 1,
14487 "type" : "boolean"
14488 },
14489 "rerror" : {
14490 "description" : "Read error action.",
14491 "enum" : [
14492 "ignore",
14493 "report",
14494 "stop"
14495 ],
14496 "optional" : 1,
14497 "type" : "string"
14498 },
14499 "secs" : {
14500 "description" : "Force the drive's physical geometry to have a specific sector count.",
14501 "optional" : 1,
14502 "type" : "integer"
14503 },
14504 "serial" : {
14505 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14506 "format" : "urlencoded",
14507 "format_description" : "serial",
14508 "maxLength" : 60,
14509 "optional" : 1,
14510 "type" : "string"
14511 },
14512 "shared" : {
14513 "default" : 0,
14514 "description" : "Mark this locally-managed volume as available on all nodes",
14515 "optional" : 1,
14516 "type" : "boolean",
14517 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
14518 },
14519 "size" : {
14520 "description" : "Disk size. This is purely informational and has no effect.",
14521 "format" : "disk-size",
14522 "format_description" : "DiskSize",
14523 "optional" : 1,
14524 "type" : "string"
14525 },
14526 "snapshot" : {
14527 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
14528 "optional" : 1,
14529 "type" : "boolean"
14530 },
25203dc1
NC
14531 "ssd" : {
14532 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14533 "optional" : 1,
14534 "type" : "boolean"
14535 },
4d47f125
TL
14536 "trans" : {
14537 "description" : "Force disk geometry bios translation mode.",
14538 "enum" : [
14539 "none",
14540 "lba",
14541 "auto"
14542 ],
14543 "optional" : 1,
14544 "type" : "string"
14545 },
14546 "volume" : {
14547 "alias" : "file"
14548 },
14549 "werror" : {
14550 "description" : "Write error action.",
14551 "enum" : [
14552 "enospc",
14553 "ignore",
14554 "report",
14555 "stop"
14556 ],
14557 "optional" : 1,
14558 "type" : "string"
95895385
TL
14559 },
14560 "wwn" : {
14561 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14562 "format_description" : "wwn",
14563 "optional" : 1,
14564 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14565 "type" : "string"
4d47f125
TL
14566 }
14567 },
14568 "optional" : 1,
14569 "type" : "string",
95895385 14570 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
14571 },
14572 "scsi[n]" : {
14573 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
14574 "format" : {
14575 "aio" : {
14576 "description" : "AIO type to use.",
14577 "enum" : [
14578 "native",
14579 "threads"
14580 ],
14581 "optional" : 1,
14582 "type" : "string"
14583 },
14584 "backup" : {
14585 "description" : "Whether the drive should be included when making backups.",
14586 "optional" : 1,
14587 "type" : "boolean"
14588 },
14589 "bps" : {
14590 "description" : "Maximum r/w speed in bytes per second.",
14591 "format_description" : "bps",
14592 "optional" : 1,
14593 "type" : "integer"
14594 },
14595 "bps_max_length" : {
14596 "description" : "Maximum length of I/O bursts in seconds.",
14597 "format_description" : "seconds",
14598 "minimum" : 1,
14599 "optional" : 1,
14600 "type" : "integer"
14601 },
14602 "bps_rd" : {
14603 "description" : "Maximum read speed in bytes per second.",
14604 "format_description" : "bps",
14605 "optional" : 1,
14606 "type" : "integer"
14607 },
14608 "bps_rd_length" : {
14609 "alias" : "bps_rd_max_length"
14610 },
14611 "bps_rd_max_length" : {
14612 "description" : "Maximum length of read I/O bursts in seconds.",
14613 "format_description" : "seconds",
14614 "minimum" : 1,
14615 "optional" : 1,
14616 "type" : "integer"
14617 },
14618 "bps_wr" : {
14619 "description" : "Maximum write speed in bytes per second.",
14620 "format_description" : "bps",
14621 "optional" : 1,
14622 "type" : "integer"
14623 },
14624 "bps_wr_length" : {
14625 "alias" : "bps_wr_max_length"
14626 },
14627 "bps_wr_max_length" : {
14628 "description" : "Maximum length of write I/O bursts in seconds.",
14629 "format_description" : "seconds",
14630 "minimum" : 1,
14631 "optional" : 1,
14632 "type" : "integer"
14633 },
14634 "cache" : {
14635 "description" : "The drive's cache mode",
14636 "enum" : [
14637 "none",
14638 "writethrough",
14639 "writeback",
14640 "unsafe",
14641 "directsync"
14642 ],
14643 "optional" : 1,
14644 "type" : "string"
14645 },
14646 "cyls" : {
14647 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14648 "optional" : 1,
14649 "type" : "integer"
14650 },
14651 "detect_zeroes" : {
14652 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14653 "optional" : 1,
14654 "type" : "boolean"
14655 },
14656 "discard" : {
14657 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14658 "enum" : [
14659 "ignore",
14660 "on"
14661 ],
14662 "optional" : 1,
14663 "type" : "string"
14664 },
14665 "file" : {
14666 "default_key" : 1,
14667 "description" : "The drive's backing volume.",
14668 "format" : "pve-volume-id-or-qm-path",
14669 "format_description" : "volume",
14670 "type" : "string"
14671 },
14672 "format" : {
14673 "description" : "The drive's backing file's data format.",
14674 "enum" : [
14675 "raw",
14676 "cow",
14677 "qcow",
14678 "qed",
14679 "qcow2",
14680 "vmdk",
14681 "cloop"
14682 ],
14683 "optional" : 1,
14684 "type" : "string"
14685 },
14686 "heads" : {
14687 "description" : "Force the drive's physical geometry to have a specific head count.",
14688 "optional" : 1,
14689 "type" : "integer"
14690 },
14691 "iops" : {
14692 "description" : "Maximum r/w I/O in operations per second.",
14693 "format_description" : "iops",
14694 "optional" : 1,
14695 "type" : "integer"
14696 },
14697 "iops_max" : {
14698 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
14699 "format_description" : "iops",
14700 "optional" : 1,
14701 "type" : "integer"
14702 },
14703 "iops_max_length" : {
14704 "description" : "Maximum length of I/O bursts in seconds.",
14705 "format_description" : "seconds",
14706 "minimum" : 1,
14707 "optional" : 1,
14708 "type" : "integer"
14709 },
14710 "iops_rd" : {
14711 "description" : "Maximum read I/O in operations per second.",
14712 "format_description" : "iops",
14713 "optional" : 1,
14714 "type" : "integer"
14715 },
14716 "iops_rd_length" : {
14717 "alias" : "iops_rd_max_length"
14718 },
14719 "iops_rd_max" : {
14720 "description" : "Maximum unthrottled read I/O pool in operations per second.",
14721 "format_description" : "iops",
14722 "optional" : 1,
14723 "type" : "integer"
14724 },
14725 "iops_rd_max_length" : {
14726 "description" : "Maximum length of read I/O bursts in seconds.",
14727 "format_description" : "seconds",
14728 "minimum" : 1,
14729 "optional" : 1,
14730 "type" : "integer"
14731 },
14732 "iops_wr" : {
14733 "description" : "Maximum write I/O in operations per second.",
14734 "format_description" : "iops",
14735 "optional" : 1,
14736 "type" : "integer"
14737 },
14738 "iops_wr_length" : {
14739 "alias" : "iops_wr_max_length"
14740 },
14741 "iops_wr_max" : {
14742 "description" : "Maximum unthrottled write I/O pool in operations per second.",
14743 "format_description" : "iops",
14744 "optional" : 1,
14745 "type" : "integer"
14746 },
14747 "iops_wr_max_length" : {
14748 "description" : "Maximum length of write I/O bursts in seconds.",
14749 "format_description" : "seconds",
14750 "minimum" : 1,
14751 "optional" : 1,
14752 "type" : "integer"
14753 },
14754 "iothread" : {
14755 "description" : "Whether to use iothreads for this drive",
14756 "optional" : 1,
14757 "type" : "boolean"
14758 },
14759 "mbps" : {
14760 "description" : "Maximum r/w speed in megabytes per second.",
14761 "format_description" : "mbps",
14762 "optional" : 1,
14763 "type" : "number"
14764 },
14765 "mbps_max" : {
14766 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
14767 "format_description" : "mbps",
14768 "optional" : 1,
14769 "type" : "number"
14770 },
14771 "mbps_rd" : {
14772 "description" : "Maximum read speed in megabytes per second.",
14773 "format_description" : "mbps",
14774 "optional" : 1,
14775 "type" : "number"
14776 },
14777 "mbps_rd_max" : {
14778 "description" : "Maximum unthrottled read pool in megabytes per second.",
14779 "format_description" : "mbps",
14780 "optional" : 1,
14781 "type" : "number"
14782 },
14783 "mbps_wr" : {
14784 "description" : "Maximum write speed in megabytes per second.",
14785 "format_description" : "mbps",
14786 "optional" : 1,
14787 "type" : "number"
14788 },
14789 "mbps_wr_max" : {
14790 "description" : "Maximum unthrottled write pool in megabytes per second.",
14791 "format_description" : "mbps",
14792 "optional" : 1,
14793 "type" : "number"
14794 },
14795 "media" : {
14796 "default" : "disk",
14797 "description" : "The drive's media type.",
14798 "enum" : [
14799 "cdrom",
14800 "disk"
14801 ],
14802 "optional" : 1,
14803 "type" : "string"
14804 },
14805 "queues" : {
14806 "description" : "Number of queues.",
14807 "minimum" : 2,
14808 "optional" : 1,
14809 "type" : "integer"
14810 },
14811 "replicate" : {
14812 "default" : 1,
14813 "description" : "Whether the drive should considered for replication jobs.",
14814 "optional" : 1,
14815 "type" : "boolean"
14816 },
14817 "rerror" : {
14818 "description" : "Read error action.",
14819 "enum" : [
14820 "ignore",
14821 "report",
14822 "stop"
14823 ],
14824 "optional" : 1,
14825 "type" : "string"
14826 },
14827 "scsiblock" : {
14828 "default" : 0,
14829 "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
14830 "optional" : 1,
14831 "type" : "boolean"
14832 },
14833 "secs" : {
14834 "description" : "Force the drive's physical geometry to have a specific sector count.",
14835 "optional" : 1,
14836 "type" : "integer"
14837 },
14838 "serial" : {
14839 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14840 "format" : "urlencoded",
14841 "format_description" : "serial",
14842 "maxLength" : 60,
14843 "optional" : 1,
14844 "type" : "string"
14845 },
14846 "shared" : {
14847 "default" : 0,
14848 "description" : "Mark this locally-managed volume as available on all nodes",
14849 "optional" : 1,
14850 "type" : "boolean",
14851 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
14852 },
14853 "size" : {
14854 "description" : "Disk size. This is purely informational and has no effect.",
14855 "format" : "disk-size",
14856 "format_description" : "DiskSize",
14857 "optional" : 1,
14858 "type" : "string"
14859 },
14860 "snapshot" : {
14861 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
14862 "optional" : 1,
14863 "type" : "boolean"
14864 },
25203dc1
NC
14865 "ssd" : {
14866 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14867 "optional" : 1,
14868 "type" : "boolean"
14869 },
4d47f125
TL
14870 "trans" : {
14871 "description" : "Force disk geometry bios translation mode.",
14872 "enum" : [
14873 "none",
14874 "lba",
14875 "auto"
14876 ],
14877 "optional" : 1,
14878 "type" : "string"
14879 },
14880 "volume" : {
14881 "alias" : "file"
14882 },
14883 "werror" : {
14884 "description" : "Write error action.",
14885 "enum" : [
14886 "enospc",
14887 "ignore",
14888 "report",
14889 "stop"
14890 ],
14891 "optional" : 1,
14892 "type" : "string"
95895385
TL
14893 },
14894 "wwn" : {
14895 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14896 "format_description" : "wwn",
14897 "optional" : 1,
14898 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14899 "type" : "string"
4d47f125
TL
14900 }
14901 },
14902 "optional" : 1,
14903 "type" : "string",
95895385 14904 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
14905 },
14906 "scsihw" : {
14907 "default" : "lsi",
14908 "description" : "SCSI controller model",
14909 "enum" : [
14910 "lsi",
14911 "lsi53c810",
14912 "virtio-scsi-pci",
14913 "virtio-scsi-single",
14914 "megasas",
14915 "pvscsi"
14916 ],
14917 "optional" : 1,
14918 "type" : "string"
14919 },
14920 "searchdomain" : {
14921 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
14922 "optional" : 1,
14923 "type" : "string",
14924 "typetext" : "<string>"
14925 },
14926 "serial[n]" : {
14927 "description" : "Create a serial device inside the VM (n is 0 to 3)",
14928 "optional" : 1,
14929 "pattern" : "(/dev/.+|socket)",
14930 "type" : "string",
14931 "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"
14932 },
14933 "shares" : {
14934 "default" : 1000,
14935 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
14936 "maximum" : 50000,
14937 "minimum" : 0,
14938 "optional" : 1,
14939 "type" : "integer",
14940 "typetext" : "<integer> (0 - 50000)"
14941 },
14942 "skiplock" : {
14943 "description" : "Ignore locks - only root is allowed to use this option.",
14944 "optional" : 1,
14945 "type" : "boolean",
14946 "typetext" : "<boolean>"
14947 },
14948 "smbios1" : {
14949 "description" : "Specify SMBIOS type 1 fields.",
14950 "format" : "pve-qm-smbios1",
1e3f8156 14951 "maxLength" : 512,
4d47f125
TL
14952 "optional" : 1,
14953 "type" : "string",
1e3f8156 14954 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
4d47f125
TL
14955 },
14956 "smp" : {
14957 "default" : 1,
14958 "description" : "The number of CPUs. Please use option -sockets instead.",
14959 "minimum" : 1,
14960 "optional" : 1,
14961 "type" : "integer",
14962 "typetext" : "<integer> (1 - N)"
14963 },
14964 "sockets" : {
14965 "default" : 1,
14966 "description" : "The number of CPU sockets.",
14967 "minimum" : 1,
14968 "optional" : 1,
14969 "type" : "integer",
14970 "typetext" : "<integer> (1 - N)"
14971 },
1c532546
TL
14972 "spice_enhancements" : {
14973 "description" : "Configure additional enhancements for SPICE.",
14974 "format" : {
14975 "foldersharing" : {
14976 "default" : "0",
14977 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
14978 "optional" : 1,
14979 "type" : "boolean"
14980 },
14981 "videostreaming" : {
14982 "default" : "off",
14983 "description" : "Enable video streaming. Uses compression for detected video streams.",
14984 "enum" : [
14985 "off",
14986 "all",
14987 "filter"
14988 ],
14989 "optional" : 1,
14990 "type" : "string"
14991 }
14992 },
14993 "optional" : 1,
14994 "type" : "string",
14995 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
14996 },
4d47f125
TL
14997 "sshkeys" : {
14998 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
14999 "format" : "urlencoded",
15000 "optional" : 1,
15001 "type" : "string",
15002 "typetext" : "<string>"
15003 },
15004 "startdate" : {
15005 "default" : "now",
15006 "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'.",
15007 "optional" : 1,
15008 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
15009 "type" : "string",
15010 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
15011 },
15012 "startup" : {
15013 "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.",
15014 "format" : "pve-startup-order",
15015 "optional" : 1,
15016 "type" : "string",
15017 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
15018 },
15019 "tablet" : {
15020 "default" : 1,
15021 "description" : "Enable/disable the USB tablet device.",
15022 "optional" : 1,
15023 "type" : "boolean",
15024 "typetext" : "<boolean>",
15025 "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)."
15026 },
5c1699e5
TL
15027 "tags" : {
15028 "description" : "Tags of the VM. This is only meta information.",
15029 "format" : "pve-tag-list",
15030 "optional" : 1,
15031 "type" : "string",
15032 "typetext" : "<string>"
15033 },
4d47f125
TL
15034 "tdf" : {
15035 "default" : 0,
15036 "description" : "Enable/disable time drift fix.",
15037 "optional" : 1,
15038 "type" : "boolean",
15039 "typetext" : "<boolean>"
15040 },
15041 "template" : {
15042 "default" : 0,
15043 "description" : "Enable/disable Template.",
15044 "optional" : 1,
15045 "type" : "boolean",
15046 "typetext" : "<boolean>"
15047 },
15048 "unused[n]" : {
15049 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
15050 "format" : "pve-volume-id",
15051 "optional" : 1,
15052 "type" : "string",
15053 "typetext" : "<string>"
15054 },
15055 "usb[n]" : {
15056 "description" : "Configure an USB device (n is 0 to 4).",
15057 "format" : {
15058 "host" : {
15059 "default_key" : 1,
15060 "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",
15061 "format" : "pve-qm-usb-device",
15062 "format_description" : "HOSTUSBDEVICE|spice",
15063 "type" : "string"
15064 },
15065 "usb3" : {
15066 "default" : 0,
1c532546 15067 "description" : "Specifies whether if given host option is a USB3 device or port.",
4d47f125
TL
15068 "optional" : 1,
15069 "type" : "boolean"
15070 }
15071 },
15072 "optional" : 1,
15073 "type" : "string",
15074 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
15075 },
15076 "vcpus" : {
15077 "default" : 0,
15078 "description" : "Number of hotplugged vcpus.",
15079 "minimum" : 1,
15080 "optional" : 1,
15081 "type" : "integer",
15082 "typetext" : "<integer> (1 - N)"
15083 },
15084 "vga" : {
e2d681b3
TL
15085 "description" : "Configure the VGA hardware.",
15086 "format" : {
15087 "memory" : {
15088 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
15089 "maximum" : 512,
15090 "minimum" : 4,
15091 "optional" : 1,
15092 "type" : "integer"
15093 },
15094 "type" : {
15095 "default" : "std",
15096 "default_key" : 1,
15097 "description" : "Select the VGA type.",
15098 "enum" : [
15099 "cirrus",
15100 "qxl",
15101 "qxl2",
15102 "qxl3",
15103 "qxl4",
5f26e15b 15104 "none",
e2d681b3
TL
15105 "serial0",
15106 "serial1",
15107 "serial2",
15108 "serial3",
15109 "std",
15110 "virtio",
15111 "vmware"
15112 ],
15113 "optional" : 1,
15114 "type" : "string"
15115 }
15116 },
4d47f125
TL
15117 "optional" : 1,
15118 "type" : "string",
e2d681b3
TL
15119 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
15120 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
4d47f125
TL
15121 },
15122 "virtio[n]" : {
15123 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
15124 "format" : {
15125 "aio" : {
15126 "description" : "AIO type to use.",
15127 "enum" : [
15128 "native",
15129 "threads"
15130 ],
15131 "optional" : 1,
15132 "type" : "string"
15133 },
15134 "backup" : {
15135 "description" : "Whether the drive should be included when making backups.",
15136 "optional" : 1,
15137 "type" : "boolean"
15138 },
15139 "bps" : {
15140 "description" : "Maximum r/w speed in bytes per second.",
15141 "format_description" : "bps",
15142 "optional" : 1,
15143 "type" : "integer"
15144 },
15145 "bps_max_length" : {
15146 "description" : "Maximum length of I/O bursts in seconds.",
15147 "format_description" : "seconds",
15148 "minimum" : 1,
15149 "optional" : 1,
15150 "type" : "integer"
15151 },
15152 "bps_rd" : {
15153 "description" : "Maximum read speed in bytes per second.",
15154 "format_description" : "bps",
15155 "optional" : 1,
15156 "type" : "integer"
15157 },
15158 "bps_rd_length" : {
15159 "alias" : "bps_rd_max_length"
15160 },
15161 "bps_rd_max_length" : {
15162 "description" : "Maximum length of read I/O bursts in seconds.",
15163 "format_description" : "seconds",
15164 "minimum" : 1,
15165 "optional" : 1,
15166 "type" : "integer"
15167 },
15168 "bps_wr" : {
15169 "description" : "Maximum write speed in bytes per second.",
15170 "format_description" : "bps",
15171 "optional" : 1,
15172 "type" : "integer"
15173 },
15174 "bps_wr_length" : {
15175 "alias" : "bps_wr_max_length"
15176 },
15177 "bps_wr_max_length" : {
15178 "description" : "Maximum length of write I/O bursts in seconds.",
15179 "format_description" : "seconds",
15180 "minimum" : 1,
15181 "optional" : 1,
15182 "type" : "integer"
15183 },
15184 "cache" : {
15185 "description" : "The drive's cache mode",
15186 "enum" : [
15187 "none",
15188 "writethrough",
15189 "writeback",
15190 "unsafe",
15191 "directsync"
15192 ],
15193 "optional" : 1,
15194 "type" : "string"
15195 },
15196 "cyls" : {
15197 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
15198 "optional" : 1,
15199 "type" : "integer"
15200 },
15201 "detect_zeroes" : {
15202 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
15203 "optional" : 1,
15204 "type" : "boolean"
15205 },
15206 "discard" : {
15207 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15208 "enum" : [
15209 "ignore",
15210 "on"
15211 ],
15212 "optional" : 1,
15213 "type" : "string"
15214 },
15215 "file" : {
15216 "default_key" : 1,
15217 "description" : "The drive's backing volume.",
15218 "format" : "pve-volume-id-or-qm-path",
15219 "format_description" : "volume",
15220 "type" : "string"
15221 },
15222 "format" : {
15223 "description" : "The drive's backing file's data format.",
15224 "enum" : [
15225 "raw",
15226 "cow",
15227 "qcow",
15228 "qed",
15229 "qcow2",
15230 "vmdk",
15231 "cloop"
15232 ],
15233 "optional" : 1,
15234 "type" : "string"
15235 },
15236 "heads" : {
15237 "description" : "Force the drive's physical geometry to have a specific head count.",
15238 "optional" : 1,
15239 "type" : "integer"
15240 },
15241 "iops" : {
15242 "description" : "Maximum r/w I/O in operations per second.",
15243 "format_description" : "iops",
15244 "optional" : 1,
15245 "type" : "integer"
15246 },
15247 "iops_max" : {
15248 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
15249 "format_description" : "iops",
15250 "optional" : 1,
15251 "type" : "integer"
15252 },
15253 "iops_max_length" : {
15254 "description" : "Maximum length of I/O bursts in seconds.",
15255 "format_description" : "seconds",
15256 "minimum" : 1,
15257 "optional" : 1,
15258 "type" : "integer"
15259 },
15260 "iops_rd" : {
15261 "description" : "Maximum read I/O in operations per second.",
15262 "format_description" : "iops",
15263 "optional" : 1,
15264 "type" : "integer"
15265 },
15266 "iops_rd_length" : {
15267 "alias" : "iops_rd_max_length"
15268 },
15269 "iops_rd_max" : {
15270 "description" : "Maximum unthrottled read I/O pool in operations per second.",
15271 "format_description" : "iops",
15272 "optional" : 1,
15273 "type" : "integer"
15274 },
15275 "iops_rd_max_length" : {
15276 "description" : "Maximum length of read I/O bursts in seconds.",
15277 "format_description" : "seconds",
15278 "minimum" : 1,
15279 "optional" : 1,
15280 "type" : "integer"
15281 },
15282 "iops_wr" : {
15283 "description" : "Maximum write I/O in operations per second.",
15284 "format_description" : "iops",
15285 "optional" : 1,
15286 "type" : "integer"
15287 },
15288 "iops_wr_length" : {
15289 "alias" : "iops_wr_max_length"
15290 },
15291 "iops_wr_max" : {
15292 "description" : "Maximum unthrottled write I/O pool in operations per second.",
15293 "format_description" : "iops",
15294 "optional" : 1,
15295 "type" : "integer"
15296 },
15297 "iops_wr_max_length" : {
15298 "description" : "Maximum length of write I/O bursts in seconds.",
15299 "format_description" : "seconds",
15300 "minimum" : 1,
15301 "optional" : 1,
15302 "type" : "integer"
15303 },
15304 "iothread" : {
15305 "description" : "Whether to use iothreads for this drive",
15306 "optional" : 1,
15307 "type" : "boolean"
15308 },
15309 "mbps" : {
15310 "description" : "Maximum r/w speed in megabytes per second.",
15311 "format_description" : "mbps",
15312 "optional" : 1,
15313 "type" : "number"
15314 },
15315 "mbps_max" : {
15316 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
15317 "format_description" : "mbps",
15318 "optional" : 1,
15319 "type" : "number"
15320 },
15321 "mbps_rd" : {
15322 "description" : "Maximum read speed in megabytes per second.",
15323 "format_description" : "mbps",
15324 "optional" : 1,
15325 "type" : "number"
15326 },
15327 "mbps_rd_max" : {
15328 "description" : "Maximum unthrottled read pool in megabytes per second.",
15329 "format_description" : "mbps",
15330 "optional" : 1,
15331 "type" : "number"
15332 },
15333 "mbps_wr" : {
15334 "description" : "Maximum write speed in megabytes per second.",
15335 "format_description" : "mbps",
15336 "optional" : 1,
15337 "type" : "number"
15338 },
15339 "mbps_wr_max" : {
15340 "description" : "Maximum unthrottled write pool in megabytes per second.",
15341 "format_description" : "mbps",
15342 "optional" : 1,
15343 "type" : "number"
15344 },
15345 "media" : {
15346 "default" : "disk",
15347 "description" : "The drive's media type.",
15348 "enum" : [
15349 "cdrom",
15350 "disk"
15351 ],
15352 "optional" : 1,
15353 "type" : "string"
15354 },
15355 "replicate" : {
15356 "default" : 1,
15357 "description" : "Whether the drive should considered for replication jobs.",
15358 "optional" : 1,
15359 "type" : "boolean"
15360 },
15361 "rerror" : {
15362 "description" : "Read error action.",
15363 "enum" : [
15364 "ignore",
15365 "report",
15366 "stop"
15367 ],
15368 "optional" : 1,
15369 "type" : "string"
15370 },
15371 "secs" : {
15372 "description" : "Force the drive's physical geometry to have a specific sector count.",
15373 "optional" : 1,
15374 "type" : "integer"
15375 },
15376 "serial" : {
15377 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15378 "format" : "urlencoded",
15379 "format_description" : "serial",
15380 "maxLength" : 60,
15381 "optional" : 1,
15382 "type" : "string"
15383 },
15384 "shared" : {
15385 "default" : 0,
15386 "description" : "Mark this locally-managed volume as available on all nodes",
15387 "optional" : 1,
15388 "type" : "boolean",
15389 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
15390 },
15391 "size" : {
15392 "description" : "Disk size. This is purely informational and has no effect.",
15393 "format" : "disk-size",
15394 "format_description" : "DiskSize",
15395 "optional" : 1,
15396 "type" : "string"
15397 },
15398 "snapshot" : {
15399 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
15400 "optional" : 1,
15401 "type" : "boolean"
15402 },
15403 "trans" : {
15404 "description" : "Force disk geometry bios translation mode.",
15405 "enum" : [
15406 "none",
15407 "lba",
15408 "auto"
15409 ],
15410 "optional" : 1,
15411 "type" : "string"
15412 },
15413 "volume" : {
15414 "alias" : "file"
15415 },
15416 "werror" : {
15417 "description" : "Write error action.",
15418 "enum" : [
15419 "enospc",
15420 "ignore",
15421 "report",
15422 "stop"
15423 ],
15424 "optional" : 1,
15425 "type" : "string"
15426 }
15427 },
15428 "optional" : 1,
15429 "type" : "string",
15430 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
15431 },
15432 "vmgenid" : {
15433 "default" : "1 (autogenerated)",
15434 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
15435 "format_description" : "UUID",
15436 "optional" : 1,
15437 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
15438 "type" : "string",
15439 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
15440 },
15441 "vmid" : {
15442 "description" : "The (unique) ID of the VM.",
15443 "format" : "pve-vmid",
15444 "minimum" : 1,
15445 "type" : "integer",
15446 "typetext" : "<integer> (1 - N)"
15447 },
15448 "vmstatestorage" : {
15449 "description" : "Default storage for VM state volumes/files.",
15450 "format" : "pve-storage-id",
15451 "optional" : 1,
15452 "type" : "string",
15453 "typetext" : "<string>"
15454 },
15455 "watchdog" : {
15456 "description" : "Create a virtual hardware watchdog device.",
15457 "format" : "pve-qm-watchdog",
15458 "optional" : 1,
15459 "type" : "string",
15460 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
15461 "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)"
15462 }
15463 }
15464 },
15465 "permissions" : {
15466 "check" : [
15467 "perm",
15468 "/vms/{vmid}",
15469 [
15470 "VM.Config.Disk",
15471 "VM.Config.CDROM",
15472 "VM.Config.CPU",
15473 "VM.Config.Memory",
15474 "VM.Config.Network",
15475 "VM.Config.HWType",
15476 "VM.Config.Options"
15477 ],
15478 "any",
15479 1
15480 ]
15481 },
15482 "protected" : 1,
15483 "proxyto" : "node",
15484 "returns" : {
15485 "type" : "null"
15486 }
15487 }
15488 },
15489 "leaf" : 1,
15490 "path" : "/nodes/{node}/qemu/{vmid}/config",
15491 "text" : "config"
15492 },
15493 {
15494 "info" : {
15495 "GET" : {
15496 "description" : "Get virtual machine configuration, including pending changes.",
15497 "method" : "GET",
15498 "name" : "vm_pending",
15499 "parameters" : {
15500 "additionalProperties" : 0,
15501 "properties" : {
15502 "node" : {
15503 "description" : "The cluster node name.",
15504 "format" : "pve-node",
15505 "type" : "string",
15506 "typetext" : "<string>"
15507 },
15508 "vmid" : {
15509 "description" : "The (unique) ID of the VM.",
15510 "format" : "pve-vmid",
15511 "minimum" : 1,
15512 "type" : "integer",
15513 "typetext" : "<integer> (1 - N)"
15514 }
15515 }
15516 },
15517 "permissions" : {
15518 "check" : [
15519 "perm",
15520 "/vms/{vmid}",
15521 [
15522 "VM.Audit"
15523 ]
15524 ]
15525 },
15526 "proxyto" : "node",
15527 "returns" : {
15528 "items" : {
15529 "properties" : {
15530 "delete" : {
15531 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
15532 "maximum" : 2,
15533 "minimum" : 0,
15534 "optional" : 1,
15535 "type" : "integer"
15536 },
15537 "key" : {
15538 "description" : "Configuration option name.",
15539 "type" : "string"
15540 },
15541 "pending" : {
15542 "description" : "Pending value.",
15543 "optional" : 1,
15544 "type" : "string"
15545 },
15546 "value" : {
15547 "description" : "Current value.",
15548 "optional" : 1,
15549 "type" : "string"
15550 }
15551 },
15552 "type" : "object"
15553 },
15554 "type" : "array"
15555 }
15556 }
15557 },
15558 "leaf" : 1,
15559 "path" : "/nodes/{node}/qemu/{vmid}/pending",
15560 "text" : "pending"
15561 },
15562 {
15563 "info" : {
15564 "PUT" : {
15565 "description" : "Unlink/delete disk images.",
15566 "method" : "PUT",
15567 "name" : "unlink",
15568 "parameters" : {
15569 "additionalProperties" : 0,
15570 "properties" : {
15571 "force" : {
15572 "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.",
15573 "optional" : 1,
15574 "type" : "boolean",
15575 "typetext" : "<boolean>"
15576 },
15577 "idlist" : {
15578 "description" : "A list of disk IDs you want to delete.",
15579 "format" : "pve-configid-list",
15580 "type" : "string",
15581 "typetext" : "<string>"
15582 },
15583 "node" : {
15584 "description" : "The cluster node name.",
15585 "format" : "pve-node",
15586 "type" : "string",
15587 "typetext" : "<string>"
15588 },
15589 "vmid" : {
15590 "description" : "The (unique) ID of the VM.",
15591 "format" : "pve-vmid",
15592 "minimum" : 1,
15593 "type" : "integer",
15594 "typetext" : "<integer> (1 - N)"
15595 }
15596 }
15597 },
15598 "permissions" : {
15599 "check" : [
15600 "perm",
15601 "/vms/{vmid}",
15602 [
15603 "VM.Config.Disk"
15604 ]
15605 ]
15606 },
15607 "protected" : 1,
15608 "proxyto" : "node",
15609 "returns" : {
15610 "type" : "null"
15611 }
15612 }
15613 },
15614 "leaf" : 1,
15615 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
15616 "text" : "unlink"
15617 },
15618 {
15619 "info" : {
15620 "POST" : {
15621 "description" : "Creates a TCP VNC proxy connections.",
15622 "method" : "POST",
15623 "name" : "vncproxy",
15624 "parameters" : {
15625 "additionalProperties" : 0,
15626 "properties" : {
15627 "node" : {
15628 "description" : "The cluster node name.",
15629 "format" : "pve-node",
15630 "type" : "string",
15631 "typetext" : "<string>"
15632 },
15633 "vmid" : {
15634 "description" : "The (unique) ID of the VM.",
15635 "format" : "pve-vmid",
15636 "minimum" : 1,
15637 "type" : "integer",
15638 "typetext" : "<integer> (1 - N)"
15639 },
15640 "websocket" : {
15641 "description" : "starts websockify instead of vncproxy",
15642 "optional" : 1,
15643 "type" : "boolean",
15644 "typetext" : "<boolean>"
15645 }
15646 }
15647 },
15648 "permissions" : {
15649 "check" : [
15650 "perm",
15651 "/vms/{vmid}",
15652 [
15653 "VM.Console"
15654 ]
15655 ]
15656 },
15657 "protected" : 1,
15658 "returns" : {
15659 "additionalProperties" : 0,
15660 "properties" : {
15661 "cert" : {
15662 "type" : "string"
15663 },
15664 "port" : {
15665 "type" : "integer"
15666 },
15667 "ticket" : {
15668 "type" : "string"
15669 },
15670 "upid" : {
15671 "type" : "string"
15672 },
15673 "user" : {
15674 "type" : "string"
15675 }
15676 }
15677 }
15678 }
15679 },
15680 "leaf" : 1,
15681 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
15682 "text" : "vncproxy"
15683 },
15684 {
15685 "info" : {
15686 "POST" : {
15687 "description" : "Creates a TCP proxy connections.",
15688 "method" : "POST",
15689 "name" : "termproxy",
15690 "parameters" : {
15691 "additionalProperties" : 0,
15692 "properties" : {
15693 "node" : {
15694 "description" : "The cluster node name.",
15695 "format" : "pve-node",
15696 "type" : "string",
15697 "typetext" : "<string>"
15698 },
15699 "serial" : {
15700 "description" : "opens a serial terminal (defaults to display)",
15701 "enum" : [
15702 "serial0",
15703 "serial1",
15704 "serial2",
15705 "serial3"
15706 ],
15707 "optional" : 1,
15708 "type" : "string"
15709 },
15710 "vmid" : {
15711 "description" : "The (unique) ID of the VM.",
15712 "format" : "pve-vmid",
15713 "minimum" : 1,
15714 "type" : "integer",
15715 "typetext" : "<integer> (1 - N)"
15716 }
15717 }
15718 },
15719 "permissions" : {
15720 "check" : [
15721 "perm",
15722 "/vms/{vmid}",
15723 [
15724 "VM.Console"
15725 ]
15726 ]
15727 },
15728 "protected" : 1,
15729 "returns" : {
15730 "additionalProperties" : 0,
15731 "properties" : {
15732 "port" : {
15733 "type" : "integer"
15734 },
15735 "ticket" : {
15736 "type" : "string"
15737 },
15738 "upid" : {
15739 "type" : "string"
15740 },
15741 "user" : {
15742 "type" : "string"
15743 }
15744 }
15745 }
15746 }
15747 },
15748 "leaf" : 1,
15749 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
15750 "text" : "termproxy"
15751 },
15752 {
15753 "info" : {
15754 "GET" : {
15755 "description" : "Opens a weksocket for VNC traffic.",
15756 "method" : "GET",
15757 "name" : "vncwebsocket",
15758 "parameters" : {
15759 "additionalProperties" : 0,
15760 "properties" : {
15761 "node" : {
15762 "description" : "The cluster node name.",
15763 "format" : "pve-node",
15764 "type" : "string",
15765 "typetext" : "<string>"
15766 },
15767 "port" : {
15768 "description" : "Port number returned by previous vncproxy call.",
15769 "maximum" : 5999,
15770 "minimum" : 5900,
15771 "type" : "integer",
15772 "typetext" : "<integer> (5900 - 5999)"
15773 },
15774 "vmid" : {
15775 "description" : "The (unique) ID of the VM.",
15776 "format" : "pve-vmid",
15777 "minimum" : 1,
15778 "type" : "integer",
15779 "typetext" : "<integer> (1 - N)"
15780 },
15781 "vncticket" : {
15782 "description" : "Ticket from previous call to vncproxy.",
15783 "maxLength" : 512,
15784 "type" : "string",
15785 "typetext" : "<string>"
15786 }
15787 }
15788 },
15789 "permissions" : {
15790 "check" : [
15791 "perm",
15792 "/vms/{vmid}",
15793 [
15794 "VM.Console"
15795 ]
15796 ],
15797 "description" : "You also need to pass a valid ticket (vncticket)."
15798 },
15799 "returns" : {
15800 "properties" : {
15801 "port" : {
15802 "type" : "string"
15803 }
15804 },
15805 "type" : "object"
15806 }
15807 }
15808 },
15809 "leaf" : 1,
15810 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
15811 "text" : "vncwebsocket"
15812 },
15813 {
15814 "info" : {
15815 "POST" : {
15816 "description" : "Returns a SPICE configuration to connect to the VM.",
15817 "method" : "POST",
15818 "name" : "spiceproxy",
15819 "parameters" : {
15820 "additionalProperties" : 0,
15821 "properties" : {
15822 "node" : {
15823 "description" : "The cluster node name.",
15824 "format" : "pve-node",
15825 "type" : "string",
15826 "typetext" : "<string>"
15827 },
15828 "proxy" : {
15829 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
15830 "format" : "address",
15831 "optional" : 1,
15832 "type" : "string",
15833 "typetext" : "<string>"
15834 },
15835 "vmid" : {
15836 "description" : "The (unique) ID of the VM.",
15837 "format" : "pve-vmid",
15838 "minimum" : 1,
15839 "type" : "integer",
15840 "typetext" : "<integer> (1 - N)"
15841 }
15842 }
15843 },
15844 "permissions" : {
15845 "check" : [
15846 "perm",
15847 "/vms/{vmid}",
15848 [
15849 "VM.Console"
15850 ]
15851 ]
15852 },
15853 "protected" : 1,
15854 "proxyto" : "node",
15855 "returns" : {
15856 "additionalProperties" : 1,
15857 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
15858 "properties" : {
15859 "host" : {
15860 "type" : "string"
15861 },
15862 "password" : {
15863 "type" : "string"
15864 },
15865 "proxy" : {
15866 "type" : "string"
15867 },
15868 "tls-port" : {
15869 "type" : "integer"
15870 },
15871 "type" : {
15872 "type" : "string"
15873 }
15874 }
15875 }
15876 }
15877 },
15878 "leaf" : 1,
15879 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
15880 "text" : "spiceproxy"
15881 },
15882 {
15883 "children" : [
15884 {
15885 "info" : {
15886 "GET" : {
15887 "description" : "Get virtual machine status.",
15888 "method" : "GET",
15889 "name" : "vm_status",
15890 "parameters" : {
15891 "additionalProperties" : 0,
15892 "properties" : {
15893 "node" : {
15894 "description" : "The cluster node name.",
15895 "format" : "pve-node",
15896 "type" : "string",
15897 "typetext" : "<string>"
15898 },
15899 "vmid" : {
15900 "description" : "The (unique) ID of the VM.",
15901 "format" : "pve-vmid",
15902 "minimum" : 1,
15903 "type" : "integer",
15904 "typetext" : "<integer> (1 - N)"
15905 }
15906 }
15907 },
15908 "permissions" : {
15909 "check" : [
15910 "perm",
15911 "/vms/{vmid}",
15912 [
15913 "VM.Audit"
15914 ]
15915 ]
15916 },
15917 "protected" : 1,
15918 "proxyto" : "node",
15919 "returns" : {
15920 "properties" : {
15921 "agent" : {
15922 "description" : "Qemu GuestAgent enabled in config.",
15923 "optional" : 1,
15924 "type" : "boolean"
15925 },
15926 "cpus" : {
15927 "description" : "Maximum usable CPUs.",
15928 "optional" : 1,
15929 "type" : "number"
15930 },
15931 "ha" : {
15932 "description" : "HA manager service status.",
15933 "type" : "object"
15934 },
95895385
TL
15935 "lock" : {
15936 "description" : "The current config lock, if any.",
15937 "optional" : 1,
15938 "type" : "string"
15939 },
4d47f125
TL
15940 "maxdisk" : {
15941 "description" : "Root disk size in bytes.",
15942 "optional" : 1,
15943 "renderer" : "bytes",
15944 "type" : "integer"
15945 },
15946 "maxmem" : {
15947 "description" : "Maximum memory in bytes.",
15948 "optional" : 1,
15949 "renderer" : "bytes",
15950 "type" : "integer"
15951 },
15952 "name" : {
15953 "description" : "VM name.",
15954 "optional" : 1,
15955 "type" : "string"
15956 },
15957 "pid" : {
15958 "description" : "PID of running qemu process.",
15959 "optional" : 1,
15960 "type" : "integer"
15961 },
15962 "qmpstatus" : {
15963 "description" : "Qemu QMP agent status.",
15964 "optional" : 1,
15965 "type" : "string"
15966 },
15967 "spice" : {
15968 "description" : "Qemu VGA configuration supports spice.",
15969 "optional" : 1,
15970 "type" : "boolean"
15971 },
15972 "status" : {
15973 "description" : "Qemu process status.",
15974 "enum" : [
15975 "stopped",
15976 "running"
15977 ],
15978 "type" : "string"
15979 },
5c1699e5
TL
15980 "tags" : {
15981 "description" : "The current configured tags, if any",
15982 "optional" : 1,
15983 "type" : "string"
15984 },
4d47f125
TL
15985 "uptime" : {
15986 "description" : "Uptime.",
15987 "optional" : 1,
15988 "renderer" : "duration",
15989 "type" : "integer"
15990 },
15991 "vmid" : {
15992 "description" : "The (unique) ID of the VM.",
15993 "format" : "pve-vmid",
15994 "minimum" : 1,
15995 "type" : "integer"
15996 }
15997 },
15998 "type" : "object"
15999 }
16000 }
16001 },
16002 "leaf" : 1,
16003 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
16004 "text" : "current"
16005 },
16006 {
16007 "info" : {
16008 "POST" : {
16009 "description" : "Start virtual machine.",
16010 "method" : "POST",
16011 "name" : "vm_start",
16012 "parameters" : {
16013 "additionalProperties" : 0,
16014 "properties" : {
16015 "machine" : {
16016 "description" : "Specifies the Qemu machine type.",
16017 "maxLength" : 40,
16018 "optional" : 1,
5c1699e5 16019 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
16020 "type" : "string"
16021 },
16022 "migratedfrom" : {
16023 "description" : "The cluster node name.",
16024 "format" : "pve-node",
16025 "optional" : 1,
16026 "type" : "string",
16027 "typetext" : "<string>"
16028 },
16029 "migration_network" : {
16030 "description" : "CIDR of the (sub) network that is used for migration.",
16031 "format" : "CIDR",
16032 "optional" : 1,
16033 "type" : "string",
16034 "typetext" : "<string>"
16035 },
16036 "migration_type" : {
16037 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
16038 "enum" : [
16039 "secure",
16040 "insecure"
16041 ],
16042 "optional" : 1,
16043 "type" : "string"
16044 },
16045 "node" : {
16046 "description" : "The cluster node name.",
16047 "format" : "pve-node",
16048 "type" : "string",
16049 "typetext" : "<string>"
16050 },
16051 "skiplock" : {
16052 "description" : "Ignore locks - only root is allowed to use this option.",
16053 "optional" : 1,
16054 "type" : "boolean",
16055 "typetext" : "<boolean>"
16056 },
16057 "stateuri" : {
16058 "description" : "Some command save/restore state from this location.",
16059 "maxLength" : 128,
16060 "optional" : 1,
16061 "type" : "string",
16062 "typetext" : "<string>"
16063 },
16064 "targetstorage" : {
16065 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
16066 "optional" : 1,
16067 "type" : "string",
16068 "typetext" : "<string>"
16069 },
16070 "vmid" : {
16071 "description" : "The (unique) ID of the VM.",
16072 "format" : "pve-vmid",
16073 "minimum" : 1,
16074 "type" : "integer",
16075 "typetext" : "<integer> (1 - N)"
16076 }
16077 }
16078 },
16079 "permissions" : {
16080 "check" : [
16081 "perm",
16082 "/vms/{vmid}",
16083 [
16084 "VM.PowerMgmt"
16085 ]
16086 ]
16087 },
16088 "protected" : 1,
16089 "proxyto" : "node",
16090 "returns" : {
16091 "type" : "string"
16092 }
16093 }
16094 },
16095 "leaf" : 1,
16096 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
16097 "text" : "start"
16098 },
16099 {
16100 "info" : {
16101 "POST" : {
16102 "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",
16103 "method" : "POST",
16104 "name" : "vm_stop",
16105 "parameters" : {
16106 "additionalProperties" : 0,
16107 "properties" : {
16108 "keepActive" : {
16109 "default" : 0,
16110 "description" : "Do not deactivate storage volumes.",
16111 "optional" : 1,
16112 "type" : "boolean",
16113 "typetext" : "<boolean>"
16114 },
16115 "migratedfrom" : {
16116 "description" : "The cluster node name.",
16117 "format" : "pve-node",
16118 "optional" : 1,
16119 "type" : "string",
16120 "typetext" : "<string>"
16121 },
16122 "node" : {
16123 "description" : "The cluster node name.",
16124 "format" : "pve-node",
16125 "type" : "string",
16126 "typetext" : "<string>"
16127 },
16128 "skiplock" : {
16129 "description" : "Ignore locks - only root is allowed to use this option.",
16130 "optional" : 1,
16131 "type" : "boolean",
16132 "typetext" : "<boolean>"
16133 },
16134 "timeout" : {
16135 "description" : "Wait maximal timeout seconds.",
16136 "minimum" : 0,
16137 "optional" : 1,
16138 "type" : "integer",
16139 "typetext" : "<integer> (0 - N)"
16140 },
16141 "vmid" : {
16142 "description" : "The (unique) ID of the VM.",
16143 "format" : "pve-vmid",
16144 "minimum" : 1,
16145 "type" : "integer",
16146 "typetext" : "<integer> (1 - N)"
16147 }
16148 }
16149 },
16150 "permissions" : {
16151 "check" : [
16152 "perm",
16153 "/vms/{vmid}",
16154 [
16155 "VM.PowerMgmt"
16156 ]
16157 ]
16158 },
16159 "protected" : 1,
16160 "proxyto" : "node",
16161 "returns" : {
16162 "type" : "string"
16163 }
16164 }
16165 },
16166 "leaf" : 1,
16167 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
16168 "text" : "stop"
16169 },
16170 {
16171 "info" : {
16172 "POST" : {
16173 "description" : "Reset virtual machine.",
16174 "method" : "POST",
16175 "name" : "vm_reset",
16176 "parameters" : {
16177 "additionalProperties" : 0,
16178 "properties" : {
16179 "node" : {
16180 "description" : "The cluster node name.",
16181 "format" : "pve-node",
16182 "type" : "string",
16183 "typetext" : "<string>"
16184 },
16185 "skiplock" : {
16186 "description" : "Ignore locks - only root is allowed to use this option.",
16187 "optional" : 1,
16188 "type" : "boolean",
16189 "typetext" : "<boolean>"
16190 },
16191 "vmid" : {
16192 "description" : "The (unique) ID of the VM.",
16193 "format" : "pve-vmid",
16194 "minimum" : 1,
16195 "type" : "integer",
16196 "typetext" : "<integer> (1 - N)"
16197 }
16198 }
16199 },
16200 "permissions" : {
16201 "check" : [
16202 "perm",
16203 "/vms/{vmid}",
16204 [
16205 "VM.PowerMgmt"
16206 ]
16207 ]
16208 },
16209 "protected" : 1,
16210 "proxyto" : "node",
16211 "returns" : {
16212 "type" : "string"
16213 }
16214 }
16215 },
16216 "leaf" : 1,
16217 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
16218 "text" : "reset"
16219 },
16220 {
16221 "info" : {
16222 "POST" : {
16223 "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.",
16224 "method" : "POST",
16225 "name" : "vm_shutdown",
16226 "parameters" : {
16227 "additionalProperties" : 0,
16228 "properties" : {
16229 "forceStop" : {
16230 "default" : 0,
16231 "description" : "Make sure the VM stops.",
16232 "optional" : 1,
16233 "type" : "boolean",
16234 "typetext" : "<boolean>"
16235 },
16236 "keepActive" : {
16237 "default" : 0,
16238 "description" : "Do not deactivate storage volumes.",
16239 "optional" : 1,
16240 "type" : "boolean",
16241 "typetext" : "<boolean>"
16242 },
16243 "node" : {
16244 "description" : "The cluster node name.",
16245 "format" : "pve-node",
16246 "type" : "string",
16247 "typetext" : "<string>"
16248 },
16249 "skiplock" : {
16250 "description" : "Ignore locks - only root is allowed to use this option.",
16251 "optional" : 1,
16252 "type" : "boolean",
16253 "typetext" : "<boolean>"
16254 },
16255 "timeout" : {
16256 "description" : "Wait maximal timeout seconds.",
16257 "minimum" : 0,
16258 "optional" : 1,
16259 "type" : "integer",
16260 "typetext" : "<integer> (0 - N)"
16261 },
16262 "vmid" : {
16263 "description" : "The (unique) ID of the VM.",
16264 "format" : "pve-vmid",
16265 "minimum" : 1,
16266 "type" : "integer",
16267 "typetext" : "<integer> (1 - N)"
16268 }
16269 }
16270 },
16271 "permissions" : {
16272 "check" : [
16273 "perm",
16274 "/vms/{vmid}",
16275 [
16276 "VM.PowerMgmt"
16277 ]
16278 ]
16279 },
16280 "protected" : 1,
16281 "proxyto" : "node",
16282 "returns" : {
16283 "type" : "string"
16284 }
16285 }
16286 },
16287 "leaf" : 1,
16288 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
16289 "text" : "shutdown"
16290 },
1c532546
TL
16291 {
16292 "info" : {
16293 "POST" : {
16294 "description" : "Reboot the VM by shutting it down, and starting it again. Applies pending changes.",
16295 "method" : "POST",
16296 "name" : "vm_reboot",
16297 "parameters" : {
16298 "additionalProperties" : 0,
16299 "properties" : {
16300 "node" : {
16301 "description" : "The cluster node name.",
16302 "format" : "pve-node",
16303 "type" : "string",
16304 "typetext" : "<string>"
16305 },
16306 "timeout" : {
16307 "description" : "Wait maximal timeout seconds for the shutdown.",
16308 "minimum" : 0,
16309 "optional" : 1,
16310 "type" : "integer",
16311 "typetext" : "<integer> (0 - N)"
16312 },
16313 "vmid" : {
16314 "description" : "The (unique) ID of the VM.",
16315 "format" : "pve-vmid",
16316 "minimum" : 1,
16317 "type" : "integer",
16318 "typetext" : "<integer> (1 - N)"
16319 }
16320 }
16321 },
16322 "permissions" : {
16323 "check" : [
16324 "perm",
16325 "/vms/{vmid}",
16326 [
16327 "VM.PowerMgmt"
16328 ]
16329 ]
16330 },
16331 "protected" : 1,
16332 "proxyto" : "node",
16333 "returns" : {
16334 "type" : "string"
16335 }
16336 }
16337 },
16338 "leaf" : 1,
16339 "path" : "/nodes/{node}/qemu/{vmid}/status/reboot",
16340 "text" : "reboot"
16341 },
4d47f125
TL
16342 {
16343 "info" : {
16344 "POST" : {
16345 "description" : "Suspend virtual machine.",
16346 "method" : "POST",
16347 "name" : "vm_suspend",
16348 "parameters" : {
16349 "additionalProperties" : 0,
16350 "properties" : {
16351 "node" : {
16352 "description" : "The cluster node name.",
16353 "format" : "pve-node",
16354 "type" : "string",
16355 "typetext" : "<string>"
16356 },
16357 "skiplock" : {
16358 "description" : "Ignore locks - only root is allowed to use this option.",
16359 "optional" : 1,
16360 "type" : "boolean",
16361 "typetext" : "<boolean>"
16362 },
95895385
TL
16363 "statestorage" : {
16364 "description" : "The storage for the VM state",
16365 "format" : "pve-storage-id",
16366 "optional" : 1,
16367 "requires" : "todisk",
16368 "type" : "string",
16369 "typetext" : "<string>"
16370 },
16371 "todisk" : {
16372 "default" : 0,
16373 "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.",
16374 "optional" : 1,
16375 "type" : "boolean",
16376 "typetext" : "<boolean>"
16377 },
4d47f125
TL
16378 "vmid" : {
16379 "description" : "The (unique) ID of the VM.",
16380 "format" : "pve-vmid",
16381 "minimum" : 1,
16382 "type" : "integer",
16383 "typetext" : "<integer> (1 - N)"
16384 }
16385 }
16386 },
16387 "permissions" : {
16388 "check" : [
16389 "perm",
16390 "/vms/{vmid}",
16391 [
16392 "VM.PowerMgmt"
16393 ]
16394 ]
16395 },
16396 "protected" : 1,
16397 "proxyto" : "node",
16398 "returns" : {
16399 "type" : "string"
16400 }
16401 }
16402 },
16403 "leaf" : 1,
16404 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
16405 "text" : "suspend"
16406 },
16407 {
16408 "info" : {
16409 "POST" : {
16410 "description" : "Resume virtual machine.",
16411 "method" : "POST",
16412 "name" : "vm_resume",
16413 "parameters" : {
16414 "additionalProperties" : 0,
16415 "properties" : {
16416 "nocheck" : {
16417 "optional" : 1,
16418 "type" : "boolean",
16419 "typetext" : "<boolean>"
16420 },
16421 "node" : {
16422 "description" : "The cluster node name.",
16423 "format" : "pve-node",
16424 "type" : "string",
16425 "typetext" : "<string>"
16426 },
16427 "skiplock" : {
16428 "description" : "Ignore locks - only root is allowed to use this option.",
16429 "optional" : 1,
16430 "type" : "boolean",
16431 "typetext" : "<boolean>"
16432 },
16433 "vmid" : {
16434 "description" : "The (unique) ID of the VM.",
16435 "format" : "pve-vmid",
16436 "minimum" : 1,
16437 "type" : "integer",
16438 "typetext" : "<integer> (1 - N)"
16439 }
16440 }
16441 },
16442 "permissions" : {
16443 "check" : [
16444 "perm",
16445 "/vms/{vmid}",
16446 [
16447 "VM.PowerMgmt"
16448 ]
16449 ]
16450 },
16451 "protected" : 1,
16452 "proxyto" : "node",
16453 "returns" : {
16454 "type" : "string"
16455 }
16456 }
16457 },
16458 "leaf" : 1,
16459 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
16460 "text" : "resume"
16461 }
16462 ],
16463 "info" : {
16464 "GET" : {
16465 "description" : "Directory index",
16466 "method" : "GET",
16467 "name" : "vmcmdidx",
16468 "parameters" : {
16469 "additionalProperties" : 0,
16470 "properties" : {
16471 "node" : {
16472 "description" : "The cluster node name.",
16473 "format" : "pve-node",
16474 "type" : "string",
16475 "typetext" : "<string>"
16476 },
16477 "vmid" : {
16478 "description" : "The (unique) ID of the VM.",
16479 "format" : "pve-vmid",
16480 "minimum" : 1,
16481 "type" : "integer",
16482 "typetext" : "<integer> (1 - N)"
16483 }
16484 }
16485 },
16486 "permissions" : {
16487 "user" : "all"
16488 },
16489 "proxyto" : "node",
16490 "returns" : {
16491 "items" : {
16492 "properties" : {
16493 "subdir" : {
16494 "type" : "string"
16495 }
16496 },
16497 "type" : "object"
16498 },
16499 "links" : [
16500 {
16501 "href" : "{subdir}",
16502 "rel" : "child"
16503 }
16504 ],
16505 "type" : "array"
16506 }
16507 }
16508 },
16509 "leaf" : 0,
16510 "path" : "/nodes/{node}/qemu/{vmid}/status",
16511 "text" : "status"
16512 },
16513 {
16514 "info" : {
16515 "PUT" : {
16516 "description" : "Send key event to virtual machine.",
16517 "method" : "PUT",
16518 "name" : "vm_sendkey",
16519 "parameters" : {
16520 "additionalProperties" : 0,
16521 "properties" : {
16522 "key" : {
16523 "description" : "The key (qemu monitor encoding).",
16524 "type" : "string",
16525 "typetext" : "<string>"
16526 },
16527 "node" : {
16528 "description" : "The cluster node name.",
16529 "format" : "pve-node",
16530 "type" : "string",
16531 "typetext" : "<string>"
16532 },
16533 "skiplock" : {
16534 "description" : "Ignore locks - only root is allowed to use this option.",
16535 "optional" : 1,
16536 "type" : "boolean",
16537 "typetext" : "<boolean>"
16538 },
16539 "vmid" : {
16540 "description" : "The (unique) ID of the VM.",
16541 "format" : "pve-vmid",
16542 "minimum" : 1,
16543 "type" : "integer",
16544 "typetext" : "<integer> (1 - N)"
16545 }
16546 }
16547 },
16548 "permissions" : {
16549 "check" : [
16550 "perm",
16551 "/vms/{vmid}",
16552 [
16553 "VM.Console"
16554 ]
16555 ]
16556 },
16557 "protected" : 1,
16558 "proxyto" : "node",
16559 "returns" : {
16560 "type" : "null"
16561 }
16562 }
16563 },
16564 "leaf" : 1,
16565 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
16566 "text" : "sendkey"
16567 },
16568 {
16569 "info" : {
16570 "GET" : {
16571 "description" : "Check if feature for virtual machine is available.",
16572 "method" : "GET",
16573 "name" : "vm_feature",
16574 "parameters" : {
16575 "additionalProperties" : 0,
16576 "properties" : {
16577 "feature" : {
16578 "description" : "Feature to check.",
16579 "enum" : [
16580 "snapshot",
16581 "clone",
16582 "copy"
16583 ],
16584 "type" : "string"
16585 },
16586 "node" : {
16587 "description" : "The cluster node name.",
16588 "format" : "pve-node",
16589 "type" : "string",
16590 "typetext" : "<string>"
16591 },
16592 "snapname" : {
16593 "description" : "The name of the snapshot.",
16594 "format" : "pve-configid",
16595 "maxLength" : 40,
16596 "optional" : 1,
16597 "type" : "string",
16598 "typetext" : "<string>"
16599 },
16600 "vmid" : {
16601 "description" : "The (unique) ID of the VM.",
16602 "format" : "pve-vmid",
16603 "minimum" : 1,
16604 "type" : "integer",
16605 "typetext" : "<integer> (1 - N)"
16606 }
16607 }
16608 },
16609 "permissions" : {
16610 "check" : [
16611 "perm",
16612 "/vms/{vmid}",
16613 [
16614 "VM.Audit"
16615 ]
16616 ]
16617 },
16618 "protected" : 1,
16619 "proxyto" : "node",
16620 "returns" : {
16621 "properties" : {
16622 "hasFeature" : {
16623 "type" : "boolean"
16624 },
16625 "nodes" : {
16626 "items" : {
16627 "type" : "string"
16628 },
16629 "type" : "array"
16630 }
16631 },
16632 "type" : "object"
16633 }
16634 }
16635 },
16636 "leaf" : 1,
16637 "path" : "/nodes/{node}/qemu/{vmid}/feature",
16638 "text" : "feature"
16639 },
16640 {
16641 "info" : {
16642 "POST" : {
16643 "description" : "Create a copy of virtual machine/template.",
16644 "method" : "POST",
16645 "name" : "clone_vm",
16646 "parameters" : {
16647 "additionalProperties" : 0,
16648 "properties" : {
95895385
TL
16649 "bwlimit" : {
16650 "default" : "clone limit from datacenter or storage config",
16651 "description" : "Override I/O bandwidth limit (in KiB/s).",
16652 "minimum" : "0",
16653 "optional" : 1,
16654 "type" : "integer",
16655 "typetext" : "<integer> (0 - N)"
16656 },
4d47f125
TL
16657 "description" : {
16658 "description" : "Description for the new VM.",
16659 "optional" : 1,
16660 "type" : "string",
16661 "typetext" : "<string>"
16662 },
16663 "format" : {
16664 "description" : "Target format for file storage. Only valid for full clone.",
16665 "enum" : [
16666 "raw",
16667 "qcow2",
16668 "vmdk"
16669 ],
16670 "optional" : 1,
16671 "type" : "string"
16672 },
16673 "full" : {
16674 "description" : "Create a full copy of all disks. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.",
16675 "optional" : 1,
16676 "type" : "boolean",
16677 "typetext" : "<boolean>"
16678 },
16679 "name" : {
16680 "description" : "Set a name for the new VM.",
16681 "format" : "dns-name",
16682 "optional" : 1,
16683 "type" : "string",
16684 "typetext" : "<string>"
16685 },
16686 "newid" : {
16687 "description" : "VMID for the clone.",
16688 "format" : "pve-vmid",
16689 "minimum" : 1,
16690 "type" : "integer",
16691 "typetext" : "<integer> (1 - N)"
16692 },
16693 "node" : {
16694 "description" : "The cluster node name.",
16695 "format" : "pve-node",
16696 "type" : "string",
16697 "typetext" : "<string>"
16698 },
16699 "pool" : {
16700 "description" : "Add the new VM to the specified pool.",
16701 "format" : "pve-poolid",
16702 "optional" : 1,
16703 "type" : "string",
16704 "typetext" : "<string>"
16705 },
16706 "snapname" : {
16707 "description" : "The name of the snapshot.",
16708 "format" : "pve-configid",
16709 "maxLength" : 40,
16710 "optional" : 1,
16711 "type" : "string",
16712 "typetext" : "<string>"
16713 },
16714 "storage" : {
16715 "description" : "Target storage for full clone.",
16716 "format" : "pve-storage-id",
16717 "optional" : 1,
16718 "type" : "string",
16719 "typetext" : "<string>"
16720 },
16721 "target" : {
16722 "description" : "Target node. Only allowed if the original VM is on shared storage.",
16723 "format" : "pve-node",
16724 "optional" : 1,
16725 "type" : "string",
16726 "typetext" : "<string>"
16727 },
16728 "vmid" : {
16729 "description" : "The (unique) ID of the VM.",
16730 "format" : "pve-vmid",
16731 "minimum" : 1,
16732 "type" : "integer",
16733 "typetext" : "<integer> (1 - N)"
16734 }
16735 }
16736 },
16737 "permissions" : {
16738 "check" : [
16739 "and",
16740 [
16741 "perm",
16742 "/vms/{vmid}",
16743 [
16744 "VM.Clone"
16745 ]
16746 ],
16747 [
16748 "or",
16749 [
16750 "perm",
16751 "/vms/{newid}",
16752 [
16753 "VM.Allocate"
16754 ]
16755 ],
16756 [
16757 "perm",
16758 "/pool/{pool}",
16759 [
16760 "VM.Allocate"
16761 ],
16762 "require_param",
16763 "pool"
16764 ]
16765 ]
16766 ],
16767 "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."
16768 },
16769 "protected" : 1,
16770 "proxyto" : "node",
16771 "returns" : {
16772 "type" : "string"
16773 }
16774 }
16775 },
16776 "leaf" : 1,
16777 "path" : "/nodes/{node}/qemu/{vmid}/clone",
16778 "text" : "clone"
16779 },
16780 {
16781 "info" : {
16782 "POST" : {
16783 "description" : "Move volume to different storage.",
16784 "method" : "POST",
16785 "name" : "move_vm_disk",
16786 "parameters" : {
16787 "additionalProperties" : 0,
16788 "properties" : {
95895385
TL
16789 "bwlimit" : {
16790 "default" : "move limit from datacenter or storage config",
16791 "description" : "Override I/O bandwidth limit (in KiB/s).",
16792 "minimum" : "0",
16793 "optional" : 1,
16794 "type" : "integer",
16795 "typetext" : "<integer> (0 - N)"
16796 },
4d47f125
TL
16797 "delete" : {
16798 "default" : 0,
16799 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
16800 "optional" : 1,
16801 "type" : "boolean",
16802 "typetext" : "<boolean>"
16803 },
16804 "digest" : {
16805 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16806 "maxLength" : 40,
16807 "optional" : 1,
16808 "type" : "string",
16809 "typetext" : "<string>"
16810 },
16811 "disk" : {
16812 "description" : "The disk you want to move.",
16813 "enum" : [
16814 "ide0",
16815 "ide1",
16816 "ide2",
16817 "ide3",
16818 "scsi0",
16819 "scsi1",
16820 "scsi2",
16821 "scsi3",
16822 "scsi4",
16823 "scsi5",
16824 "scsi6",
16825 "scsi7",
16826 "scsi8",
16827 "scsi9",
16828 "scsi10",
16829 "scsi11",
16830 "scsi12",
16831 "scsi13",
16832 "virtio0",
16833 "virtio1",
16834 "virtio2",
16835 "virtio3",
16836 "virtio4",
16837 "virtio5",
16838 "virtio6",
16839 "virtio7",
16840 "virtio8",
16841 "virtio9",
16842 "virtio10",
16843 "virtio11",
16844 "virtio12",
16845 "virtio13",
16846 "virtio14",
16847 "virtio15",
16848 "sata0",
16849 "sata1",
16850 "sata2",
16851 "sata3",
16852 "sata4",
16853 "sata5",
16854 "efidisk0"
16855 ],
16856 "type" : "string"
16857 },
16858 "format" : {
16859 "description" : "Target Format.",
16860 "enum" : [
16861 "raw",
16862 "qcow2",
16863 "vmdk"
16864 ],
16865 "optional" : 1,
16866 "type" : "string"
16867 },
16868 "node" : {
16869 "description" : "The cluster node name.",
16870 "format" : "pve-node",
16871 "type" : "string",
16872 "typetext" : "<string>"
16873 },
16874 "storage" : {
16875 "description" : "Target storage.",
16876 "format" : "pve-storage-id",
16877 "type" : "string",
16878 "typetext" : "<string>"
16879 },
16880 "vmid" : {
16881 "description" : "The (unique) ID of the VM.",
16882 "format" : "pve-vmid",
16883 "minimum" : 1,
16884 "type" : "integer",
16885 "typetext" : "<integer> (1 - N)"
16886 }
16887 }
16888 },
16889 "permissions" : {
16890 "check" : [
16891 "and",
16892 [
16893 "perm",
16894 "/vms/{vmid}",
16895 [
16896 "VM.Config.Disk"
16897 ]
16898 ],
16899 [
16900 "perm",
16901 "/storage/{storage}",
16902 [
16903 "Datastore.AllocateSpace"
16904 ]
16905 ]
16906 ],
16907 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
16908 },
16909 "protected" : 1,
16910 "proxyto" : "node",
16911 "returns" : {
16912 "description" : "the task ID.",
16913 "type" : "string"
16914 }
16915 }
16916 },
16917 "leaf" : 1,
16918 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
16919 "text" : "move_disk"
16920 },
16921 {
16922 "info" : {
1e3f8156
TL
16923 "GET" : {
16924 "description" : "Get preconditions for migration.",
16925 "method" : "GET",
16926 "name" : "migrate_vm_precondition",
16927 "parameters" : {
16928 "additionalProperties" : 0,
16929 "properties" : {
16930 "node" : {
16931 "description" : "The cluster node name.",
16932 "format" : "pve-node",
16933 "type" : "string",
16934 "typetext" : "<string>"
16935 },
16936 "target" : {
16937 "description" : "Target node.",
16938 "format" : "pve-node",
16939 "optional" : 1,
16940 "type" : "string",
16941 "typetext" : "<string>"
16942 },
16943 "vmid" : {
16944 "description" : "The (unique) ID of the VM.",
16945 "format" : "pve-vmid",
16946 "minimum" : 1,
16947 "type" : "integer",
16948 "typetext" : "<integer> (1 - N)"
16949 }
16950 }
16951 },
16952 "permissions" : {
16953 "check" : [
16954 "perm",
16955 "/vms/{vmid}",
16956 [
16957 "VM.Migrate"
16958 ]
16959 ]
16960 },
16961 "protected" : 1,
16962 "proxyto" : "node",
16963 "returns" : {
16964 "properties" : {
16965 "allowed_nodes" : {
9226ccbc 16966 "description" : "List nodes allowed for offline migration, only passed if VM is offline",
1e3f8156
TL
16967 "optional" : 1,
16968 "type" : "array"
16969 },
16970 "local_disks" : {
16971 "description" : "List local disks including CD-Rom, unsused and not referenced disks",
16972 "type" : "array"
16973 },
16974 "local_resources" : {
16975 "description" : "List local resources e.g. pci, usb",
16976 "type" : "array"
16977 },
9226ccbc
TL
16978 "not_allowed_nodes" : {
16979 "description" : "List not allowed nodes with additional informations, only passed if VM is offline",
16980 "optional" : 1,
16981 "type" : "object"
16982 },
1e3f8156
TL
16983 "running" : {
16984 "type" : "boolean"
16985 }
16986 },
16987 "type" : "object"
16988 }
16989 },
4d47f125
TL
16990 "POST" : {
16991 "description" : "Migrate virtual machine. Creates a new migration task.",
16992 "method" : "POST",
16993 "name" : "migrate_vm",
16994 "parameters" : {
16995 "additionalProperties" : 0,
16996 "properties" : {
95895385
TL
16997 "bwlimit" : {
16998 "default" : "migrate limit from datacenter or storage config",
16999 "description" : "Override I/O bandwidth limit (in KiB/s).",
17000 "minimum" : "0",
17001 "optional" : 1,
17002 "type" : "integer",
17003 "typetext" : "<integer> (0 - N)"
17004 },
4d47f125
TL
17005 "force" : {
17006 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
17007 "optional" : 1,
17008 "type" : "boolean",
17009 "typetext" : "<boolean>"
17010 },
17011 "migration_network" : {
17012 "description" : "CIDR of the (sub) network that is used for migration.",
17013 "format" : "CIDR",
17014 "optional" : 1,
17015 "type" : "string",
17016 "typetext" : "<string>"
17017 },
17018 "migration_type" : {
17019 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
17020 "enum" : [
17021 "secure",
17022 "insecure"
17023 ],
17024 "optional" : 1,
17025 "type" : "string"
17026 },
17027 "node" : {
17028 "description" : "The cluster node name.",
17029 "format" : "pve-node",
17030 "type" : "string",
17031 "typetext" : "<string>"
17032 },
17033 "online" : {
1c532546 17034 "description" : "Use online/live migration if VM is running. Ignored if VM is stopped.",
4d47f125
TL
17035 "optional" : 1,
17036 "type" : "boolean",
17037 "typetext" : "<boolean>"
17038 },
17039 "target" : {
17040 "description" : "Target node.",
17041 "format" : "pve-node",
17042 "type" : "string",
17043 "typetext" : "<string>"
17044 },
17045 "targetstorage" : {
17046 "description" : "Default target storage.",
17047 "format" : "pve-storage-id",
17048 "optional" : 1,
52e44c50
FG
17049 "type" : "string",
17050 "typetext" : "<string>"
17051 },
7aacca6f 17052 "vmid" : {
7aacca6f 17053 "description" : "The (unique) ID of the VM.",
44660702 17054 "format" : "pve-vmid",
7aacca6f 17055 "minimum" : 1,
4bd7df8b 17056 "type" : "integer",
013dc89f 17057 "typetext" : "<integer> (1 - N)"
52e44c50
FG
17058 },
17059 "with-local-disks" : {
17060 "description" : "Enable live storage migration for local disk",
17061 "optional" : 1,
17062 "type" : "boolean",
17063 "typetext" : "<boolean>"
56122987 17064 }
44660702
DM
17065 }
17066 },
17067 "permissions" : {
17068 "check" : [
17069 "perm",
17070 "/vms/{vmid}",
17071 [
17072 "VM.Migrate"
17073 ]
17074 ]
56122987
DM
17075 },
17076 "protected" : 1,
44660702
DM
17077 "proxyto" : "node",
17078 "returns" : {
17079 "description" : "the task ID.",
17080 "type" : "string"
17081 }
56122987 17082 }
7aacca6f 17083 },
44660702
DM
17084 "leaf" : 1,
17085 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 17086 "text" : "migrate"
56122987
DM
17087 },
17088 {
17089 "info" : {
17090 "POST" : {
44660702 17091 "description" : "Execute Qemu monitor commands.",
56122987 17092 "method" : "POST",
44660702 17093 "name" : "monitor",
56122987 17094 "parameters" : {
7aacca6f 17095 "additionalProperties" : 0,
56122987 17096 "properties" : {
44660702
DM
17097 "command" : {
17098 "description" : "The monitor command.",
013dc89f
DM
17099 "type" : "string",
17100 "typetext" : "<string>"
44660702 17101 },
56122987 17102 "node" : {
44660702 17103 "description" : "The cluster node name.",
7aacca6f 17104 "format" : "pve-node",
013dc89f
DM
17105 "type" : "string",
17106 "typetext" : "<string>"
56122987
DM
17107 },
17108 "vmid" : {
44660702 17109 "description" : "The (unique) ID of the VM.",
56122987 17110 "format" : "pve-vmid",
7aacca6f 17111 "minimum" : 1,
4bd7df8b 17112 "type" : "integer",
013dc89f 17113 "typetext" : "<integer> (1 - N)"
56122987 17114 }
7aacca6f 17115 }
56122987 17116 },
56122987
DM
17117 "permissions" : {
17118 "check" : [
17119 "perm",
17120 "/vms/{vmid}",
17121 [
17122 "VM.Monitor"
17123 ]
32d876b5
DM
17124 ],
17125 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 17126 },
44660702
DM
17127 "protected" : 1,
17128 "proxyto" : "node",
17129 "returns" : {
17130 "type" : "string"
17131 }
56122987 17132 }
44660702
DM
17133 },
17134 "leaf" : 1,
17135 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
17136 "text" : "monitor"
56122987
DM
17137 },
17138 {
56122987
DM
17139 "info" : {
17140 "PUT" : {
44660702
DM
17141 "description" : "Extend volume size.",
17142 "method" : "PUT",
17143 "name" : "resize_vm",
56122987 17144 "parameters" : {
44660702 17145 "additionalProperties" : 0,
56122987 17146 "properties" : {
44660702
DM
17147 "digest" : {
17148 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17149 "maxLength" : 40,
17150 "optional" : 1,
013dc89f
DM
17151 "type" : "string",
17152 "typetext" : "<string>"
56122987 17153 },
56122987
DM
17154 "disk" : {
17155 "description" : "The disk you want to resize.",
17156 "enum" : [
17157 "ide0",
17158 "ide1",
17159 "ide2",
17160 "ide3",
17161 "scsi0",
17162 "scsi1",
17163 "scsi2",
17164 "scsi3",
17165 "scsi4",
17166 "scsi5",
17167 "scsi6",
17168 "scsi7",
17169 "scsi8",
17170 "scsi9",
17171 "scsi10",
17172 "scsi11",
17173 "scsi12",
17174 "scsi13",
17175 "virtio0",
17176 "virtio1",
17177 "virtio2",
17178 "virtio3",
17179 "virtio4",
17180 "virtio5",
17181 "virtio6",
17182 "virtio7",
17183 "virtio8",
17184 "virtio9",
17185 "virtio10",
17186 "virtio11",
17187 "virtio12",
17188 "virtio13",
17189 "virtio14",
17190 "virtio15",
17191 "sata0",
17192 "sata1",
17193 "sata2",
17194 "sata3",
17195 "sata4",
2c0dde61
DM
17196 "sata5",
17197 "efidisk0"
44660702
DM
17198 ],
17199 "type" : "string"
56122987 17200 },
44660702
DM
17201 "node" : {
17202 "description" : "The cluster node name.",
17203 "format" : "pve-node",
013dc89f
DM
17204 "type" : "string",
17205 "typetext" : "<string>"
7aacca6f 17206 },
44660702 17207 "size" : {
5d9c884c 17208 "description" : "The new size. With the `+` sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
44660702
DM
17209 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
17210 "type" : "string"
56122987
DM
17211 },
17212 "skiplock" : {
17213 "description" : "Ignore locks - only root is allowed to use this option.",
17214 "optional" : 1,
013dc89f
DM
17215 "type" : "boolean",
17216 "typetext" : "<boolean>"
56122987
DM
17217 },
17218 "vmid" : {
7aacca6f 17219 "description" : "The (unique) ID of the VM.",
56122987 17220 "format" : "pve-vmid",
44660702 17221 "minimum" : 1,
4bd7df8b 17222 "type" : "integer",
013dc89f 17223 "typetext" : "<integer> (1 - N)"
56122987
DM
17224 }
17225 }
17226 },
17227 "permissions" : {
17228 "check" : [
17229 "perm",
17230 "/vms/{vmid}",
17231 [
44660702 17232 "VM.Config.Disk"
56122987
DM
17233 ]
17234 ]
17235 },
7aacca6f 17236 "protected" : 1,
7aacca6f 17237 "proxyto" : "node",
44660702
DM
17238 "returns" : {
17239 "type" : "null"
17240 }
7aacca6f
DM
17241 }
17242 },
44660702
DM
17243 "leaf" : 1,
17244 "path" : "/nodes/{node}/qemu/{vmid}/resize",
17245 "text" : "resize"
17246 },
17247 {
56122987
DM
17248 "children" : [
17249 {
17250 "children" : [
17251 {
56122987 17252 "info" : {
44660702
DM
17253 "GET" : {
17254 "description" : "Get snapshot configuration",
17255 "method" : "GET",
17256 "name" : "get_snapshot_config",
56122987 17257 "parameters" : {
44660702 17258 "additionalProperties" : 0,
56122987 17259 "properties" : {
56122987 17260 "node" : {
44660702 17261 "description" : "The cluster node name.",
56122987 17262 "format" : "pve-node",
013dc89f
DM
17263 "type" : "string",
17264 "typetext" : "<string>"
7aacca6f
DM
17265 },
17266 "snapname" : {
44660702 17267 "description" : "The name of the snapshot.",
7aacca6f 17268 "format" : "pve-configid",
44660702 17269 "maxLength" : 40,
013dc89f
DM
17270 "type" : "string",
17271 "typetext" : "<string>"
7aacca6f
DM
17272 },
17273 "vmid" : {
44660702 17274 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
17275 "format" : "pve-vmid",
17276 "minimum" : 1,
4bd7df8b 17277 "type" : "integer",
013dc89f 17278 "typetext" : "<integer> (1 - N)"
56122987 17279 }
44660702 17280 }
56122987
DM
17281 },
17282 "permissions" : {
17283 "check" : [
17284 "perm",
17285 "/vms/{vmid}",
17286 [
2489d6df
WB
17287 "VM.Snapshot",
17288 "VM.Snapshot.Rollback"
17289 ],
17290 "any",
17291 1
56122987
DM
17292 ]
17293 },
44660702 17294 "proxyto" : "node",
56122987 17295 "returns" : {
44660702 17296 "type" : "object"
7aacca6f
DM
17297 }
17298 },
44660702
DM
17299 "PUT" : {
17300 "description" : "Update snapshot metadata.",
17301 "method" : "PUT",
17302 "name" : "update_snapshot_config",
56122987 17303 "parameters" : {
44660702 17304 "additionalProperties" : 0,
56122987 17305 "properties" : {
44660702
DM
17306 "description" : {
17307 "description" : "A textual description or comment.",
17308 "optional" : 1,
013dc89f
DM
17309 "type" : "string",
17310 "typetext" : "<string>"
44660702 17311 },
56122987 17312 "node" : {
7aacca6f 17313 "description" : "The cluster node name.",
44660702 17314 "format" : "pve-node",
013dc89f
DM
17315 "type" : "string",
17316 "typetext" : "<string>"
56122987 17317 },
56122987
DM
17318 "snapname" : {
17319 "description" : "The name of the snapshot.",
44660702 17320 "format" : "pve-configid",
7aacca6f 17321 "maxLength" : 40,
013dc89f
DM
17322 "type" : "string",
17323 "typetext" : "<string>"
7aacca6f
DM
17324 },
17325 "vmid" : {
17326 "description" : "The (unique) ID of the VM.",
44660702 17327 "format" : "pve-vmid",
7aacca6f 17328 "minimum" : 1,
4bd7df8b 17329 "type" : "integer",
013dc89f 17330 "typetext" : "<integer> (1 - N)"
56122987 17331 }
44660702 17332 }
56122987 17333 },
7aacca6f
DM
17334 "permissions" : {
17335 "check" : [
17336 "perm",
17337 "/vms/{vmid}",
17338 [
17339 "VM.Snapshot"
17340 ]
17341 ]
44660702
DM
17342 },
17343 "protected" : 1,
17344 "proxyto" : "node",
17345 "returns" : {
17346 "type" : "null"
7aacca6f 17347 }
56122987
DM
17348 }
17349 },
44660702 17350 "leaf" : 1,
7aacca6f 17351 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 17352 "text" : "config"
56122987
DM
17353 },
17354 {
56122987
DM
17355 "info" : {
17356 "POST" : {
44660702 17357 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 17358 "method" : "POST",
44660702 17359 "name" : "rollback",
56122987
DM
17360 "parameters" : {
17361 "additionalProperties" : 0,
17362 "properties" : {
44660702
DM
17363 "node" : {
17364 "description" : "The cluster node name.",
17365 "format" : "pve-node",
013dc89f
DM
17366 "type" : "string",
17367 "typetext" : "<string>"
44660702 17368 },
56122987 17369 "snapname" : {
44660702 17370 "description" : "The name of the snapshot.",
56122987
DM
17371 "format" : "pve-configid",
17372 "maxLength" : 40,
013dc89f
DM
17373 "type" : "string",
17374 "typetext" : "<string>"
7aacca6f 17375 },
56122987 17376 "vmid" : {
7aacca6f 17377 "description" : "The (unique) ID of the VM.",
44660702 17378 "format" : "pve-vmid",
56122987 17379 "minimum" : 1,
4bd7df8b 17380 "type" : "integer",
013dc89f 17381 "typetext" : "<integer> (1 - N)"
56122987
DM
17382 }
17383 }
17384 },
7aacca6f 17385 "permissions" : {
56122987
DM
17386 "check" : [
17387 "perm",
17388 "/vms/{vmid}",
17389 [
2489d6df
WB
17390 "VM.Snapshot",
17391 "VM.Snapshot.Rollback"
17392 ],
17393 "any",
17394 1
56122987
DM
17395 ]
17396 },
44660702 17397 "protected" : 1,
7aacca6f 17398 "proxyto" : "node",
44660702
DM
17399 "returns" : {
17400 "description" : "the task ID.",
17401 "type" : "string"
17402 }
56122987
DM
17403 }
17404 },
44660702
DM
17405 "leaf" : 1,
17406 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 17407 "text" : "rollback"
56122987 17408 }
44660702
DM
17409 ],
17410 "info" : {
17411 "DELETE" : {
17412 "description" : "Delete a VM snapshot.",
17413 "method" : "DELETE",
17414 "name" : "delsnapshot",
17415 "parameters" : {
17416 "additionalProperties" : 0,
17417 "properties" : {
17418 "force" : {
17419 "description" : "For removal from config file, even if removing disk snapshots fails.",
17420 "optional" : 1,
013dc89f
DM
17421 "type" : "boolean",
17422 "typetext" : "<boolean>"
44660702
DM
17423 },
17424 "node" : {
17425 "description" : "The cluster node name.",
17426 "format" : "pve-node",
013dc89f
DM
17427 "type" : "string",
17428 "typetext" : "<string>"
44660702
DM
17429 },
17430 "snapname" : {
17431 "description" : "The name of the snapshot.",
17432 "format" : "pve-configid",
17433 "maxLength" : 40,
013dc89f
DM
17434 "type" : "string",
17435 "typetext" : "<string>"
44660702
DM
17436 },
17437 "vmid" : {
17438 "description" : "The (unique) ID of the VM.",
17439 "format" : "pve-vmid",
17440 "minimum" : 1,
4bd7df8b 17441 "type" : "integer",
013dc89f 17442 "typetext" : "<integer> (1 - N)"
44660702
DM
17443 }
17444 }
17445 },
17446 "permissions" : {
17447 "check" : [
17448 "perm",
17449 "/vms/{vmid}",
17450 [
17451 "VM.Snapshot"
17452 ]
17453 ]
17454 },
17455 "protected" : 1,
17456 "proxyto" : "node",
17457 "returns" : {
17458 "description" : "the task ID.",
17459 "type" : "string"
17460 }
17461 },
17462 "GET" : {
17463 "description" : "",
17464 "method" : "GET",
17465 "name" : "snapshot_cmd_idx",
17466 "parameters" : {
17467 "additionalProperties" : 0,
17468 "properties" : {
17469 "node" : {
17470 "description" : "The cluster node name.",
17471 "format" : "pve-node",
013dc89f
DM
17472 "type" : "string",
17473 "typetext" : "<string>"
44660702
DM
17474 },
17475 "snapname" : {
17476 "description" : "The name of the snapshot.",
17477 "format" : "pve-configid",
17478 "maxLength" : 40,
013dc89f
DM
17479 "type" : "string",
17480 "typetext" : "<string>"
44660702
DM
17481 },
17482 "vmid" : {
17483 "description" : "The (unique) ID of the VM.",
17484 "format" : "pve-vmid",
17485 "minimum" : 1,
4bd7df8b 17486 "type" : "integer",
013dc89f 17487 "typetext" : "<integer> (1 - N)"
44660702
DM
17488 }
17489 }
17490 },
17491 "permissions" : {
17492 "user" : "all"
17493 },
17494 "returns" : {
17495 "items" : {
17496 "properties" : {},
17497 "type" : "object"
17498 },
17499 "links" : [
17500 {
17501 "href" : "{cmd}",
17502 "rel" : "child"
17503 }
17504 ],
17505 "type" : "array"
17506 }
17507 }
17508 },
17509 "leaf" : 0,
17510 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
17511 "text" : "{snapname}"
56122987
DM
17512 }
17513 ],
44660702
DM
17514 "info" : {
17515 "GET" : {
17516 "description" : "List all snapshots.",
17517 "method" : "GET",
17518 "name" : "snapshot_list",
17519 "parameters" : {
17520 "additionalProperties" : 0,
17521 "properties" : {
17522 "node" : {
17523 "description" : "The cluster node name.",
17524 "format" : "pve-node",
013dc89f
DM
17525 "type" : "string",
17526 "typetext" : "<string>"
44660702
DM
17527 },
17528 "vmid" : {
17529 "description" : "The (unique) ID of the VM.",
17530 "format" : "pve-vmid",
17531 "minimum" : 1,
4bd7df8b 17532 "type" : "integer",
013dc89f 17533 "typetext" : "<integer> (1 - N)"
44660702
DM
17534 }
17535 }
17536 },
17537 "permissions" : {
17538 "check" : [
17539 "perm",
17540 "/vms/{vmid}",
17541 [
17542 "VM.Audit"
17543 ]
17544 ]
17545 },
17546 "protected" : 1,
17547 "proxyto" : "node",
17548 "returns" : {
17549 "items" : {
4d47f125
TL
17550 "properties" : {
17551 "description" : {
17552 "description" : "Snapshot description.",
17553 "type" : "string"
17554 },
17555 "name" : {
17556 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
17557 "type" : "string"
17558 },
17559 "parent" : {
17560 "description" : "Parent snapshot identifier.",
17561 "optional" : 1,
17562 "type" : "string"
17563 },
17564 "snaptime" : {
17565 "description" : "Snapshot creation time",
17566 "optional" : 1,
17567 "renderer" : "timestamp",
17568 "type" : "integer"
17569 },
17570 "vmstate" : {
17571 "description" : "Snapshot includes RAM.",
17572 "optional" : 1,
17573 "type" : "boolean"
17574 }
17575 },
44660702
DM
17576 "type" : "object"
17577 },
17578 "links" : [
17579 {
17580 "href" : "{name}",
17581 "rel" : "child"
17582 }
17583 ],
17584 "type" : "array"
17585 }
17586 },
17587 "POST" : {
17588 "description" : "Snapshot a VM.",
17589 "method" : "POST",
17590 "name" : "snapshot",
17591 "parameters" : {
17592 "additionalProperties" : 0,
17593 "properties" : {
17594 "description" : {
17595 "description" : "A textual description or comment.",
17596 "optional" : 1,
013dc89f
DM
17597 "type" : "string",
17598 "typetext" : "<string>"
44660702
DM
17599 },
17600 "node" : {
17601 "description" : "The cluster node name.",
17602 "format" : "pve-node",
013dc89f
DM
17603 "type" : "string",
17604 "typetext" : "<string>"
44660702
DM
17605 },
17606 "snapname" : {
17607 "description" : "The name of the snapshot.",
17608 "format" : "pve-configid",
17609 "maxLength" : 40,
013dc89f
DM
17610 "type" : "string",
17611 "typetext" : "<string>"
44660702
DM
17612 },
17613 "vmid" : {
17614 "description" : "The (unique) ID of the VM.",
17615 "format" : "pve-vmid",
17616 "minimum" : 1,
4bd7df8b 17617 "type" : "integer",
013dc89f 17618 "typetext" : "<integer> (1 - N)"
44660702
DM
17619 },
17620 "vmstate" : {
17621 "description" : "Save the vmstate",
17622 "optional" : 1,
013dc89f
DM
17623 "type" : "boolean",
17624 "typetext" : "<boolean>"
44660702
DM
17625 }
17626 }
17627 },
17628 "permissions" : {
17629 "check" : [
17630 "perm",
17631 "/vms/{vmid}",
17632 [
17633 "VM.Snapshot"
17634 ]
17635 ]
17636 },
17637 "protected" : 1,
17638 "proxyto" : "node",
17639 "returns" : {
17640 "description" : "the task ID.",
17641 "type" : "string"
17642 }
17643 }
17644 },
17645 "leaf" : 0,
17646 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 17647 "text" : "snapshot"
56122987
DM
17648 },
17649 {
56122987
DM
17650 "info" : {
17651 "POST" : {
44660702
DM
17652 "description" : "Create a Template.",
17653 "method" : "POST",
56122987 17654 "name" : "template",
56122987 17655 "parameters" : {
7aacca6f 17656 "additionalProperties" : 0,
56122987 17657 "properties" : {
56122987 17658 "disk" : {
56122987
DM
17659 "description" : "If you want to convert only 1 disk to base image.",
17660 "enum" : [
17661 "ide0",
17662 "ide1",
17663 "ide2",
17664 "ide3",
17665 "scsi0",
17666 "scsi1",
17667 "scsi2",
17668 "scsi3",
17669 "scsi4",
17670 "scsi5",
17671 "scsi6",
17672 "scsi7",
17673 "scsi8",
17674 "scsi9",
17675 "scsi10",
17676 "scsi11",
17677 "scsi12",
17678 "scsi13",
17679 "virtio0",
17680 "virtio1",
17681 "virtio2",
17682 "virtio3",
17683 "virtio4",
17684 "virtio5",
17685 "virtio6",
17686 "virtio7",
17687 "virtio8",
17688 "virtio9",
17689 "virtio10",
17690 "virtio11",
17691 "virtio12",
17692 "virtio13",
17693 "virtio14",
17694 "virtio15",
17695 "sata0",
17696 "sata1",
17697 "sata2",
17698 "sata3",
17699 "sata4",
2c0dde61
DM
17700 "sata5",
17701 "efidisk0"
56122987 17702 ],
7aacca6f 17703 "optional" : 1,
56122987
DM
17704 "type" : "string"
17705 },
44660702
DM
17706 "node" : {
17707 "description" : "The cluster node name.",
17708 "format" : "pve-node",
013dc89f
DM
17709 "type" : "string",
17710 "typetext" : "<string>"
44660702
DM
17711 },
17712 "vmid" : {
17713 "description" : "The (unique) ID of the VM.",
7aacca6f 17714 "format" : "pve-vmid",
44660702 17715 "minimum" : 1,
4bd7df8b 17716 "type" : "integer",
013dc89f 17717 "typetext" : "<integer> (1 - N)"
56122987 17718 }
7aacca6f 17719 }
56122987 17720 },
7aacca6f
DM
17721 "permissions" : {
17722 "check" : [
17723 "perm",
17724 "/vms/{vmid}",
17725 [
17726 "VM.Allocate"
17727 ]
17728 ],
17729 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
17730 },
44660702 17731 "protected" : 1,
7aacca6f 17732 "proxyto" : "node",
7aacca6f
DM
17733 "returns" : {
17734 "type" : "null"
17735 }
56122987
DM
17736 }
17737 },
44660702 17738 "leaf" : 1,
7aacca6f 17739 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 17740 "text" : "template"
1e3f8156
TL
17741 },
17742 {
17743 "children" : [
17744 {
17745 "info" : {
17746 "GET" : {
17747 "description" : "Get automatically generated cloudinit config.",
17748 "method" : "GET",
17749 "name" : "cloudinit_generated_config_dump",
17750 "parameters" : {
17751 "additionalProperties" : 0,
17752 "properties" : {
17753 "node" : {
17754 "description" : "The cluster node name.",
17755 "format" : "pve-node",
17756 "type" : "string",
17757 "typetext" : "<string>"
17758 },
17759 "type" : {
17760 "description" : "Config type.",
17761 "enum" : [
17762 "user",
17763 "network",
17764 "meta"
17765 ],
17766 "type" : "string"
17767 },
17768 "vmid" : {
17769 "description" : "The (unique) ID of the VM.",
17770 "format" : "pve-vmid",
17771 "minimum" : 1,
17772 "type" : "integer",
17773 "typetext" : "<integer> (1 - N)"
17774 }
17775 }
17776 },
17777 "permissions" : {
17778 "check" : [
17779 "perm",
17780 "/vms/{vmid}",
17781 [
17782 "VM.Audit"
17783 ]
17784 ]
17785 },
17786 "proxyto" : "node",
17787 "returns" : {
17788 "type" : "string"
17789 }
17790 }
17791 },
17792 "leaf" : 1,
17793 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump",
17794 "text" : "dump"
17795 }
17796 ],
17797 "leaf" : 0,
17798 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit",
17799 "text" : "cloudinit"
56122987
DM
17800 }
17801 ],
7aacca6f 17802 "info" : {
44660702
DM
17803 "DELETE" : {
17804 "description" : "Destroy the vm (also delete all used/owned volumes).",
17805 "method" : "DELETE",
17806 "name" : "destroy_vm",
7aacca6f 17807 "parameters" : {
44660702 17808 "additionalProperties" : 0,
7aacca6f
DM
17809 "properties" : {
17810 "node" : {
44660702 17811 "description" : "The cluster node name.",
7aacca6f 17812 "format" : "pve-node",
013dc89f
DM
17813 "type" : "string",
17814 "typetext" : "<string>"
44660702 17815 },
1c532546
TL
17816 "purge" : {
17817 "description" : "Remove vmid from backup cron jobs.",
17818 "optional" : 1,
17819 "type" : "boolean",
17820 "typetext" : "<boolean>"
17821 },
44660702
DM
17822 "skiplock" : {
17823 "description" : "Ignore locks - only root is allowed to use this option.",
17824 "optional" : 1,
013dc89f
DM
17825 "type" : "boolean",
17826 "typetext" : "<boolean>"
7aacca6f
DM
17827 },
17828 "vmid" : {
44660702 17829 "description" : "The (unique) ID of the VM.",
7aacca6f 17830 "format" : "pve-vmid",
44660702 17831 "minimum" : 1,
4bd7df8b 17832 "type" : "integer",
013dc89f 17833 "typetext" : "<integer> (1 - N)"
7aacca6f 17834 }
44660702 17835 }
7aacca6f 17836 },
7aacca6f
DM
17837 "permissions" : {
17838 "check" : [
17839 "perm",
17840 "/vms/{vmid}",
17841 [
17842 "VM.Allocate"
17843 ]
17844 ]
17845 },
44660702
DM
17846 "protected" : 1,
17847 "proxyto" : "node",
7aacca6f
DM
17848 "returns" : {
17849 "type" : "string"
44660702
DM
17850 }
17851 },
17852 "GET" : {
17853 "description" : "Directory index",
17854 "method" : "GET",
17855 "name" : "vmdiridx",
7aacca6f 17856 "parameters" : {
44660702 17857 "additionalProperties" : 0,
7aacca6f 17858 "properties" : {
7aacca6f 17859 "node" : {
7aacca6f 17860 "description" : "The cluster node name.",
44660702 17861 "format" : "pve-node",
013dc89f
DM
17862 "type" : "string",
17863 "typetext" : "<string>"
44660702
DM
17864 },
17865 "vmid" : {
17866 "description" : "The (unique) ID of the VM.",
17867 "format" : "pve-vmid",
17868 "minimum" : 1,
4bd7df8b 17869 "type" : "integer",
013dc89f 17870 "typetext" : "<integer> (1 - N)"
7aacca6f 17871 }
44660702 17872 }
7aacca6f 17873 },
44660702
DM
17874 "permissions" : {
17875 "user" : "all"
17876 },
17877 "proxyto" : "node",
17878 "returns" : {
17879 "items" : {
17880 "properties" : {
17881 "subdir" : {
17882 "type" : "string"
17883 }
17884 },
17885 "type" : "object"
17886 },
17887 "links" : [
17888 {
17889 "href" : "{subdir}",
17890 "rel" : "child"
17891 }
17892 ],
17893 "type" : "array"
17894 }
7aacca6f 17895 }
44660702
DM
17896 },
17897 "leaf" : 0,
17898 "path" : "/nodes/{node}/qemu/{vmid}",
17899 "text" : "{vmid}"
56122987
DM
17900 }
17901 ],
17902 "info" : {
44660702
DM
17903 "GET" : {
17904 "description" : "Virtual machine index (per node).",
17905 "method" : "GET",
17906 "name" : "vmlist",
56122987 17907 "parameters" : {
44660702 17908 "additionalProperties" : 0,
56122987 17909 "properties" : {
44660702
DM
17910 "full" : {
17911 "description" : "Determine the full status of active VMs.",
56122987 17912 "optional" : 1,
013dc89f
DM
17913 "type" : "boolean",
17914 "typetext" : "<boolean>"
56122987 17915 },
44660702
DM
17916 "node" : {
17917 "description" : "The cluster node name.",
17918 "format" : "pve-node",
013dc89f
DM
17919 "type" : "string",
17920 "typetext" : "<string>"
44660702
DM
17921 }
17922 }
17923 },
17924 "permissions" : {
17925 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
17926 "user" : "all"
17927 },
17928 "protected" : 1,
17929 "proxyto" : "node",
17930 "returns" : {
17931 "items" : {
4d47f125
TL
17932 "properties" : {
17933 "cpus" : {
17934 "description" : "Maximum usable CPUs.",
17935 "optional" : 1,
17936 "type" : "number"
17937 },
95895385
TL
17938 "lock" : {
17939 "description" : "The current config lock, if any.",
17940 "optional" : 1,
17941 "type" : "string"
17942 },
4d47f125
TL
17943 "maxdisk" : {
17944 "description" : "Root disk size in bytes.",
17945 "optional" : 1,
17946 "renderer" : "bytes",
17947 "type" : "integer"
17948 },
17949 "maxmem" : {
17950 "description" : "Maximum memory in bytes.",
17951 "optional" : 1,
17952 "renderer" : "bytes",
17953 "type" : "integer"
17954 },
17955 "name" : {
17956 "description" : "VM name.",
17957 "optional" : 1,
17958 "type" : "string"
17959 },
17960 "pid" : {
17961 "description" : "PID of running qemu process.",
17962 "optional" : 1,
17963 "type" : "integer"
17964 },
17965 "qmpstatus" : {
17966 "description" : "Qemu QMP agent status.",
17967 "optional" : 1,
17968 "type" : "string"
17969 },
17970 "status" : {
17971 "description" : "Qemu process status.",
17972 "enum" : [
17973 "stopped",
17974 "running"
17975 ],
17976 "type" : "string"
17977 },
5c1699e5
TL
17978 "tags" : {
17979 "description" : "The current configured tags, if any",
17980 "optional" : 1,
17981 "type" : "string"
17982 },
4d47f125
TL
17983 "uptime" : {
17984 "description" : "Uptime.",
17985 "optional" : 1,
17986 "renderer" : "duration",
17987 "type" : "integer"
17988 },
17989 "vmid" : {
17990 "description" : "The (unique) ID of the VM.",
17991 "format" : "pve-vmid",
17992 "minimum" : 1,
17993 "type" : "integer"
17994 }
17995 },
44660702
DM
17996 "type" : "object"
17997 },
17998 "links" : [
17999 {
18000 "href" : "{vmid}",
18001 "rel" : "child"
18002 }
18003 ],
18004 "type" : "array"
18005 }
18006 },
18007 "POST" : {
18008 "description" : "Create or restore a virtual machine.",
18009 "method" : "POST",
18010 "name" : "create_vm",
18011 "parameters" : {
18012 "additionalProperties" : 0,
18013 "properties" : {
7aacca6f 18014 "acpi" : {
7aacca6f 18015 "default" : 1,
44660702 18016 "description" : "Enable/disable ACPI.",
56122987 18017 "optional" : 1,
013dc89f
DM
18018 "type" : "boolean",
18019 "typetext" : "<boolean>"
56122987 18020 },
44660702 18021 "agent" : {
4d47f125
TL
18022 "description" : "Enable/disable Qemu GuestAgent and its properties.",
18023 "format" : {
18024 "enabled" : {
18025 "default" : 0,
18026 "default_key" : 1,
18027 "description" : "Enable/disable Qemu GuestAgent.",
18028 "type" : "boolean"
18029 },
18030 "fstrim_cloned_disks" : {
18031 "default" : 0,
18032 "description" : "Run fstrim after cloning/moving a disk.",
18033 "optional" : 1,
18034 "type" : "boolean"
5c1699e5
TL
18035 },
18036 "type" : {
18037 "default" : "virtio",
18038 "description" : "Select the agent type",
18039 "enum" : [
18040 "virtio",
18041 "isa"
18042 ],
18043 "optional" : 1,
18044 "type" : "string"
4d47f125
TL
18045 }
18046 },
7aacca6f 18047 "optional" : 1,
4d47f125 18048 "type" : "string",
5c1699e5 18049 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 18050 },
e2d681b3
TL
18051 "arch" : {
18052 "description" : "Virtual processor architecture. Defaults to the host.",
18053 "enum" : [
18054 "x86_64",
18055 "aarch64"
18056 ],
18057 "optional" : 1,
18058 "type" : "string"
18059 },
44660702
DM
18060 "archive" : {
18061 "description" : "The backup file.",
18062 "maxLength" : 255,
56122987 18063 "optional" : 1,
013dc89f
DM
18064 "type" : "string",
18065 "typetext" : "<string>"
56122987 18066 },
44660702 18067 "args" : {
c2993fe5 18068 "description" : "Arbitrary arguments passed to kvm.",
56122987 18069 "optional" : 1,
c2993fe5 18070 "type" : "string",
013dc89f 18071 "typetext" : "<string>",
c2993fe5 18072 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
56122987 18073 },
1c532546
TL
18074 "audio0" : {
18075 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
18076 "format" : {
18077 "device" : {
18078 "description" : "Configure an audio device.",
18079 "enum" : [
18080 "ich9-intel-hda",
18081 "intel-hda",
18082 "AC97"
18083 ],
18084 "type" : "string"
18085 },
18086 "driver" : {
18087 "default" : "spice",
18088 "description" : "Driver backend for the audio device.",
18089 "enum" : [
18090 "spice"
18091 ],
18092 "optional" : 1,
18093 "type" : "string"
18094 }
18095 },
18096 "optional" : 1,
18097 "type" : "string",
18098 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
18099 },
44660702 18100 "autostart" : {
7aacca6f 18101 "default" : 0,
44660702
DM
18102 "description" : "Automatic restart after crash (currently ignored).",
18103 "optional" : 1,
013dc89f
DM
18104 "type" : "boolean",
18105 "typetext" : "<boolean>"
7aacca6f 18106 },
44660702
DM
18107 "balloon" : {
18108 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
18109 "minimum" : 0,
56122987 18110 "optional" : 1,
4bd7df8b 18111 "type" : "integer",
013dc89f 18112 "typetext" : "<integer> (0 - N)"
56122987 18113 },
44660702
DM
18114 "bios" : {
18115 "default" : "seabios",
18116 "description" : "Select BIOS implementation.",
18117 "enum" : [
18118 "seabios",
18119 "ovmf"
18120 ],
56122987 18121 "optional" : 1,
44660702 18122 "type" : "string"
56122987 18123 },
44660702
DM
18124 "boot" : {
18125 "default" : "cdn",
18126 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 18127 "optional" : 1,
44660702
DM
18128 "pattern" : "[acdn]{1,4}",
18129 "type" : "string"
56122987 18130 },
7aacca6f
DM
18131 "bootdisk" : {
18132 "description" : "Enable booting from specified disk.",
44660702
DM
18133 "format" : "pve-qm-bootdisk",
18134 "optional" : 1,
7aacca6f 18135 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
18136 "type" : "string"
18137 },
27a7acb2 18138 "bwlimit" : {
95895385
TL
18139 "default" : "restore limit from datacenter or storage config",
18140 "description" : "Override I/O bandwidth limit (in KiB/s).",
27a7acb2
DM
18141 "minimum" : "0",
18142 "optional" : 1,
18143 "type" : "integer",
18144 "typetext" : "<integer> (0 - N)"
18145 },
44660702
DM
18146 "cdrom" : {
18147 "description" : "This is an alias for option -ide2",
de0983cb 18148 "format" : "pve-qm-ide",
56122987 18149 "optional" : 1,
44660702 18150 "type" : "string",
013dc89f 18151 "typetext" : "<volume>"
56122987 18152 },
95895385
TL
18153 "cicustom" : {
18154 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
18155 "format" : "pve-qm-cicustom",
18156 "optional" : 1,
18157 "type" : "string",
18158 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
18159 },
27a7acb2
DM
18160 "cipassword" : {
18161 "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
18162 "optional" : 1,
18163 "type" : "string",
18164 "typetext" : "<string>"
18165 },
18166 "citype" : {
18167 "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
18168 "enum" : [
18169 "configdrive2",
18170 "nocloud"
18171 ],
18172 "optional" : 1,
18173 "type" : "string"
18174 },
18175 "ciuser" : {
18176 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
18177 "optional" : 1,
18178 "type" : "string",
18179 "typetext" : "<string>"
18180 },
44660702
DM
18181 "cores" : {
18182 "default" : 1,
18183 "description" : "The number of cores per socket.",
7aacca6f 18184 "minimum" : 1,
44660702 18185 "optional" : 1,
4bd7df8b 18186 "type" : "integer",
013dc89f 18187 "typetext" : "<integer> (1 - N)"
7aacca6f 18188 },
44660702
DM
18189 "cpu" : {
18190 "description" : "Emulated CPU type.",
18191 "format" : {
18192 "cputype" : {
18193 "default" : "kvm64",
18194 "default_key" : 1,
18195 "description" : "Emulated CPU type.",
18196 "enum" : [
18197 "486",
18198 "athlon",
f004f5b9 18199 "Broadwell",
35a75dd3 18200 "Broadwell-IBRS",
f004f5b9 18201 "Broadwell-noTSX",
35a75dd3 18202 "Broadwell-noTSX-IBRS",
1c532546 18203 "Cascadelake-Server",
f004f5b9 18204 "Conroe",
44660702 18205 "core2duo",
f004f5b9 18206 "coreduo",
27a7acb2
DM
18207 "EPYC",
18208 "EPYC-IBPB",
f004f5b9 18209 "Haswell",
35a75dd3 18210 "Haswell-IBRS",
f004f5b9 18211 "Haswell-noTSX",
35a75dd3 18212 "Haswell-noTSX-IBRS",
f004f5b9
DM
18213 "host",
18214 "IvyBridge",
35a75dd3 18215 "IvyBridge-IBRS",
1c532546 18216 "KnightsMill",
44660702
DM
18217 "kvm32",
18218 "kvm64",
35a75dd3 18219 "max",
44660702 18220 "Nehalem",
35a75dd3 18221 "Nehalem-IBRS",
44660702
DM
18222 "Opteron_G1",
18223 "Opteron_G2",
18224 "Opteron_G3",
18225 "Opteron_G4",
18226 "Opteron_G5",
f004f5b9
DM
18227 "Penryn",
18228 "pentium",
18229 "pentium2",
18230 "pentium3",
18231 "phenom",
18232 "qemu32",
18233 "qemu64",
18234 "SandyBridge",
35a75dd3 18235 "SandyBridge-IBRS",
5d9c884c 18236 "Skylake-Client",
35a75dd3
DM
18237 "Skylake-Client-IBRS",
18238 "Skylake-Server",
18239 "Skylake-Server-IBRS",
18240 "Westmere",
18241 "Westmere-IBRS"
44660702 18242 ],
44660702
DM
18243 "type" : "string"
18244 },
35a75dd3 18245 "flags" : {
1c532546 18246 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
35a75dd3
DM
18247 "format_description" : "+FLAG[;-FLAG...]",
18248 "optional" : 1,
1c532546 18249 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
35a75dd3
DM
18250 "type" : "string"
18251 },
44660702
DM
18252 "hidden" : {
18253 "default" : 0,
18254 "description" : "Do not identify as a KVM virtual machine.",
18255 "optional" : 1,
18256 "type" : "boolean"
5f26e15b
TL
18257 },
18258 "hv-vendor-id" : {
18259 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
18260 "format_description" : "vendor-id",
18261 "optional" : 1,
18262 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
18263 "type" : "string"
44660702
DM
18264 }
18265 },
56122987 18266 "optional" : 1,
4bd7df8b 18267 "type" : "string",
5f26e15b 18268 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
56122987 18269 },
44660702 18270 "cpulimit" : {
7aacca6f 18271 "default" : 0,
c2993fe5 18272 "description" : "Limit of CPU usage.",
44660702
DM
18273 "maximum" : 128,
18274 "minimum" : 0,
7aacca6f 18275 "optional" : 1,
c2993fe5 18276 "type" : "number",
013dc89f 18277 "typetext" : "<number> (0 - 128)",
c2993fe5 18278 "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
7aacca6f
DM
18279 },
18280 "cpuunits" : {
de0983cb 18281 "default" : 1024,
c2993fe5 18282 "description" : "CPU weight for a VM.",
2489d6df
WB
18283 "maximum" : 262144,
18284 "minimum" : 2,
44660702 18285 "optional" : 1,
c2993fe5 18286 "type" : "integer",
2489d6df
WB
18287 "typetext" : "<integer> (2 - 262144)",
18288 "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
44660702
DM
18289 },
18290 "description" : {
18291 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 18292 "optional" : 1,
013dc89f
DM
18293 "type" : "string",
18294 "typetext" : "<string>"
44660702 18295 },
4d47f125
TL
18296 "efidisk0" : {
18297 "description" : "Configure a Disk for storing EFI vars",
18298 "format" : {
18299 "file" : {
18300 "default_key" : 1,
18301 "description" : "The drive's backing volume.",
18302 "format" : "pve-volume-id-or-qm-path",
18303 "format_description" : "volume",
18304 "type" : "string"
18305 },
18306 "format" : {
18307 "description" : "The drive's backing file's data format.",
18308 "enum" : [
18309 "raw",
18310 "cow",
18311 "qcow",
18312 "qed",
18313 "qcow2",
18314 "vmdk",
18315 "cloop"
18316 ],
18317 "optional" : 1,
18318 "type" : "string"
18319 },
18320 "size" : {
18321 "description" : "Disk size. This is purely informational and has no effect.",
18322 "format" : "disk-size",
18323 "format_description" : "DiskSize",
18324 "optional" : 1,
18325 "type" : "string"
18326 },
18327 "volume" : {
18328 "alias" : "file"
18329 }
18330 },
18331 "optional" : 1,
18332 "type" : "string",
18333 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
18334 },
44660702
DM
18335 "force" : {
18336 "description" : "Allow to overwrite existing VM.",
18337 "optional" : 1,
18338 "requires" : "archive",
013dc89f
DM
18339 "type" : "boolean",
18340 "typetext" : "<boolean>"
44660702
DM
18341 },
18342 "freeze" : {
18343 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
18344 "optional" : 1,
013dc89f
DM
18345 "type" : "boolean",
18346 "typetext" : "<boolean>"
44660702 18347 },
5f26e15b
TL
18348 "hookscript" : {
18349 "description" : "Script that will be executed during various steps in the vms lifetime.",
18350 "format" : "pve-volume-id",
18351 "optional" : 1,
18352 "type" : "string",
18353 "typetext" : "<string>"
18354 },
44660702 18355 "hostpci[n]" : {
c2993fe5 18356 "description" : "Map host PCI devices into guest.",
44660702
DM
18357 "format" : "pve-qm-hostpci",
18358 "optional" : 1,
57b78691 18359 "type" : "string",
e2d681b3 18360 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 18361 "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702
DM
18362 },
18363 "hotplug" : {
18364 "default" : "network,disk,usb",
18365 "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'.",
18366 "format" : "pve-hotplug-features",
18367 "optional" : 1,
013dc89f
DM
18368 "type" : "string",
18369 "typetext" : "<string>"
7aacca6f 18370 },
4bd7df8b
DM
18371 "hugepages" : {
18372 "description" : "Enable/disable hugepages memory.",
18373 "enum" : [
18374 "any",
18375 "2",
18376 "1024"
18377 ],
18378 "optional" : 1,
18379 "type" : "string"
18380 },
7aacca6f 18381 "ide[n]" : {
44660702 18382 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 18383 "format" : {
44660702
DM
18384 "aio" : {
18385 "description" : "AIO type to use.",
18386 "enum" : [
18387 "native",
18388 "threads"
18389 ],
44660702
DM
18390 "optional" : 1,
18391 "type" : "string"
18392 },
18393 "backup" : {
18394 "description" : "Whether the drive should be included when making backups.",
44660702
DM
18395 "optional" : 1,
18396 "type" : "boolean"
18397 },
18398 "bps" : {
de0983cb 18399 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 18400 "format_description" : "bps",
56122987 18401 "optional" : 1,
44660702 18402 "type" : "integer"
56122987 18403 },
de0983cb
DM
18404 "bps_max_length" : {
18405 "description" : "Maximum length of I/O bursts in seconds.",
18406 "format_description" : "seconds",
18407 "minimum" : 1,
18408 "optional" : 1,
18409 "type" : "integer"
18410 },
44660702 18411 "bps_rd" : {
de0983cb 18412 "description" : "Maximum read speed in bytes per second.",
44660702 18413 "format_description" : "bps",
56122987 18414 "optional" : 1,
44660702 18415 "type" : "integer"
56122987 18416 },
de0983cb 18417 "bps_rd_length" : {
5d9c884c
DM
18418 "alias" : "bps_rd_max_length"
18419 },
18420 "bps_rd_max_length" : {
de0983cb
DM
18421 "description" : "Maximum length of read I/O bursts in seconds.",
18422 "format_description" : "seconds",
18423 "minimum" : 1,
18424 "optional" : 1,
18425 "type" : "integer"
18426 },
44660702 18427 "bps_wr" : {
de0983cb 18428 "description" : "Maximum write speed in bytes per second.",
44660702 18429 "format_description" : "bps",
56122987 18430 "optional" : 1,
44660702 18431 "type" : "integer"
56122987 18432 },
de0983cb 18433 "bps_wr_length" : {
5d9c884c
DM
18434 "alias" : "bps_wr_max_length"
18435 },
18436 "bps_wr_max_length" : {
de0983cb
DM
18437 "description" : "Maximum length of write I/O bursts in seconds.",
18438 "format_description" : "seconds",
18439 "minimum" : 1,
18440 "optional" : 1,
18441 "type" : "integer"
18442 },
44660702
DM
18443 "cache" : {
18444 "description" : "The drive's cache mode",
56122987 18445 "enum" : [
7aacca6f 18446 "none",
44660702
DM
18447 "writethrough",
18448 "writeback",
18449 "unsafe",
18450 "directsync"
56122987 18451 ],
56122987 18452 "optional" : 1,
44660702 18453 "type" : "string"
56122987 18454 },
44660702
DM
18455 "cyls" : {
18456 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
18457 "optional" : 1,
18458 "type" : "integer"
7aacca6f 18459 },
44660702
DM
18460 "detect_zeroes" : {
18461 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 18462 "optional" : 1,
44660702 18463 "type" : "boolean"
56122987 18464 },
44660702
DM
18465 "discard" : {
18466 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
18467 "enum" : [
18468 "ignore",
18469 "on"
18470 ],
56122987 18471 "optional" : 1,
44660702 18472 "type" : "string"
56122987 18473 },
7aacca6f 18474 "file" : {
44660702 18475 "default_key" : 1,
7aacca6f 18476 "description" : "The drive's backing volume.",
7aacca6f
DM
18477 "format" : "pve-volume-id-or-qm-path",
18478 "format_description" : "volume",
7aacca6f 18479 "type" : "string"
56122987 18480 },
44660702
DM
18481 "format" : {
18482 "description" : "The drive's backing file's data format.",
56122987 18483 "enum" : [
44660702
DM
18484 "raw",
18485 "cow",
18486 "qcow",
18487 "qed",
18488 "qcow2",
18489 "vmdk",
18490 "cloop"
7aacca6f 18491 ],
7aacca6f
DM
18492 "optional" : 1,
18493 "type" : "string"
56122987 18494 },
44660702
DM
18495 "heads" : {
18496 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 18497 "optional" : 1,
44660702 18498 "type" : "integer"
56122987 18499 },
44660702 18500 "iops" : {
de0983cb 18501 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 18502 "format_description" : "iops",
56122987 18503 "optional" : 1,
44660702 18504 "type" : "integer"
56122987 18505 },
44660702 18506 "iops_max" : {
de0983cb 18507 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 18508 "format_description" : "iops",
56122987 18509 "optional" : 1,
44660702 18510 "type" : "integer"
56122987 18511 },
de0983cb
DM
18512 "iops_max_length" : {
18513 "description" : "Maximum length of I/O bursts in seconds.",
18514 "format_description" : "seconds",
18515 "minimum" : 1,
18516 "optional" : 1,
18517 "type" : "integer"
18518 },
7aacca6f 18519 "iops_rd" : {
de0983cb 18520 "description" : "Maximum read I/O in operations per second.",
44660702
DM
18521 "format_description" : "iops",
18522 "optional" : 1,
18523 "type" : "integer"
7aacca6f 18524 },
de0983cb 18525 "iops_rd_length" : {
5d9c884c 18526 "alias" : "iops_rd_max_length"
de0983cb 18527 },
44660702 18528 "iops_rd_max" : {
de0983cb 18529 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 18530 "format_description" : "iops",
56122987 18531 "optional" : 1,
44660702 18532 "type" : "integer"
56122987 18533 },
5d9c884c
DM
18534 "iops_rd_max_length" : {
18535 "description" : "Maximum length of read I/O bursts in seconds.",
18536 "format_description" : "seconds",
18537 "minimum" : 1,
18538 "optional" : 1,
18539 "type" : "integer"
18540 },
44660702 18541 "iops_wr" : {
de0983cb 18542 "description" : "Maximum write I/O in operations per second.",
44660702 18543 "format_description" : "iops",
56122987 18544 "optional" : 1,
44660702 18545 "type" : "integer"
7aacca6f 18546 },
de0983cb 18547 "iops_wr_length" : {
5d9c884c 18548 "alias" : "iops_wr_max_length"
de0983cb 18549 },
44660702 18550 "iops_wr_max" : {
de0983cb 18551 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 18552 "format_description" : "iops",
7aacca6f 18553 "optional" : 1,
44660702 18554 "type" : "integer"
56122987 18555 },
5d9c884c
DM
18556 "iops_wr_max_length" : {
18557 "description" : "Maximum length of write I/O bursts in seconds.",
18558 "format_description" : "seconds",
18559 "minimum" : 1,
18560 "optional" : 1,
18561 "type" : "integer"
18562 },
44660702 18563 "mbps" : {
de0983cb 18564 "description" : "Maximum r/w speed in megabytes per second.",
44660702 18565 "format_description" : "mbps",
7aacca6f 18566 "optional" : 1,
44660702 18567 "type" : "number"
56122987 18568 },
44660702 18569 "mbps_max" : {
de0983cb 18570 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 18571 "format_description" : "mbps",
56122987 18572 "optional" : 1,
44660702 18573 "type" : "number"
56122987 18574 },
44660702 18575 "mbps_rd" : {
de0983cb 18576 "description" : "Maximum read speed in megabytes per second.",
44660702 18577 "format_description" : "mbps",
7aacca6f 18578 "optional" : 1,
44660702 18579 "type" : "number"
7aacca6f 18580 },
44660702 18581 "mbps_rd_max" : {
de0983cb 18582 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 18583 "format_description" : "mbps",
56122987 18584 "optional" : 1,
44660702 18585 "type" : "number"
56122987 18586 },
44660702 18587 "mbps_wr" : {
de0983cb 18588 "description" : "Maximum write speed in megabytes per second.",
44660702 18589 "format_description" : "mbps",
7aacca6f 18590 "optional" : 1,
44660702 18591 "type" : "number"
56122987 18592 },
44660702 18593 "mbps_wr_max" : {
de0983cb 18594 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 18595 "format_description" : "mbps",
56122987 18596 "optional" : 1,
44660702 18597 "type" : "number"
7aacca6f
DM
18598 },
18599 "media" : {
44660702
DM
18600 "default" : "disk",
18601 "description" : "The drive's media type.",
56122987 18602 "enum" : [
7aacca6f
DM
18603 "cdrom",
18604 "disk"
56122987 18605 ],
56122987 18606 "optional" : 1,
44660702 18607 "type" : "string"
56122987 18608 },
44660702
DM
18609 "model" : {
18610 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
18611 "format" : "urlencoded",
18612 "format_description" : "model",
18613 "maxLength" : 120,
56122987 18614 "optional" : 1,
44660702 18615 "type" : "string"
56122987 18616 },
5d9c884c
DM
18617 "replicate" : {
18618 "default" : 1,
18619 "description" : "Whether the drive should considered for replication jobs.",
18620 "optional" : 1,
18621 "type" : "boolean"
18622 },
7aacca6f 18623 "rerror" : {
7aacca6f
DM
18624 "description" : "Read error action.",
18625 "enum" : [
18626 "ignore",
18627 "report",
18628 "stop"
44660702 18629 ],
44660702
DM
18630 "optional" : 1,
18631 "type" : "string"
56122987 18632 },
44660702
DM
18633 "secs" : {
18634 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 18635 "optional" : 1,
44660702
DM
18636 "type" : "integer"
18637 },
18638 "serial" : {
18639 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18640 "format" : "urlencoded",
18641 "format_description" : "serial",
18642 "maxLength" : 60,
18643 "optional" : 1,
18644 "type" : "string"
18645 },
27a7acb2
DM
18646 "shared" : {
18647 "default" : 0,
18648 "description" : "Mark this locally-managed volume as available on all nodes",
18649 "optional" : 1,
18650 "type" : "boolean",
18651 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
18652 },
44660702
DM
18653 "size" : {
18654 "description" : "Disk size. This is purely informational and has no effect.",
18655 "format" : "disk-size",
f004f5b9 18656 "format_description" : "DiskSize",
44660702
DM
18657 "optional" : 1,
18658 "type" : "string"
7aacca6f
DM
18659 },
18660 "snapshot" : {
27a7acb2 18661 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
7aacca6f 18662 "optional" : 1,
44660702 18663 "type" : "boolean"
7aacca6f 18664 },
25203dc1
NC
18665 "ssd" : {
18666 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
18667 "optional" : 1,
18668 "type" : "boolean"
18669 },
44660702
DM
18670 "trans" : {
18671 "description" : "Force disk geometry bios translation mode.",
18672 "enum" : [
18673 "none",
18674 "lba",
18675 "auto"
18676 ],
7aacca6f 18677 "optional" : 1,
44660702
DM
18678 "type" : "string"
18679 },
18680 "volume" : {
18681 "alias" : "file"
18682 },
18683 "werror" : {
18684 "description" : "Write error action.",
18685 "enum" : [
18686 "enospc",
18687 "ignore",
18688 "report",
18689 "stop"
18690 ],
44660702
DM
18691 "optional" : 1,
18692 "type" : "string"
95895385
TL
18693 },
18694 "wwn" : {
18695 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
18696 "format_description" : "wwn",
18697 "optional" : 1,
18698 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
18699 "type" : "string"
56122987
DM
18700 }
18701 },
56122987 18702 "optional" : 1,
4bd7df8b 18703 "type" : "string",
95895385 18704 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
18705 },
18706 "ipconfig[n]" : {
18707 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
18708 "format" : "pve-qm-ipconfig",
18709 "optional" : 1,
18710 "type" : "string",
18711 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 18712 },
95895385
TL
18713 "ivshmem" : {
18714 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
18715 "format" : {
18716 "name" : {
18717 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
18718 "format_description" : "string",
18719 "optional" : 1,
18720 "pattern" : "[a-zA-Z0-9\\-]+",
18721 "type" : "string"
18722 },
18723 "size" : {
18724 "description" : "The size of the file in MB.",
18725 "minimum" : 1,
18726 "type" : "integer"
18727 }
18728 },
18729 "optional" : 1,
18730 "type" : "string",
18731 "typetext" : "size=<integer> [,name=<string>]"
18732 },
56122987 18733 "keyboard" : {
35a75dd3 18734 "default" : null,
5da3d723 18735 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
56122987 18736 "enum" : [
44660702
DM
18737 "de",
18738 "de-ch",
7aacca6f 18739 "da",
56122987 18740 "en-gb",
44660702
DM
18741 "en-us",
18742 "es",
18743 "fi",
18744 "fr",
18745 "fr-be",
18746 "fr-ca",
18747 "fr-ch",
18748 "hu",
7aacca6f 18749 "is",
44660702
DM
18750 "it",
18751 "ja",
18752 "lt",
56122987 18753 "mk",
7aacca6f 18754 "nl",
56122987 18755 "no",
44660702 18756 "pl",
7aacca6f 18757 "pt",
44660702
DM
18758 "pt-br",
18759 "sv",
18760 "sl",
18761 "tr"
56122987 18762 ],
44660702
DM
18763 "optional" : 1,
18764 "type" : "string"
56122987 18765 },
44660702
DM
18766 "kvm" : {
18767 "default" : 1,
18768 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 18769 "optional" : 1,
013dc89f
DM
18770 "type" : "boolean",
18771 "typetext" : "<boolean>"
7aacca6f 18772 },
44660702
DM
18773 "localtime" : {
18774 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 18775 "optional" : 1,
013dc89f
DM
18776 "type" : "boolean",
18777 "typetext" : "<boolean>"
44660702
DM
18778 },
18779 "lock" : {
18780 "description" : "Lock/unlock the VM.",
7aacca6f 18781 "enum" : [
7aacca6f 18782 "backup",
5f26e15b
TL
18783 "clone",
18784 "create",
18785 "migrate",
18786 "rollback",
7aacca6f 18787 "snapshot",
95895385
TL
18788 "snapshot-delete",
18789 "suspending",
18790 "suspended"
7aacca6f 18791 ],
44660702
DM
18792 "optional" : 1,
18793 "type" : "string"
56122987 18794 },
44660702 18795 "machine" : {
4d47f125 18796 "description" : "Specifies the Qemu machine type.",
44660702
DM
18797 "maxLength" : 40,
18798 "optional" : 1,
5c1699e5 18799 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
18800 "type" : "string"
18801 },
18802 "memory" : {
18803 "default" : 512,
18804 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
18805 "minimum" : 16,
18806 "optional" : 1,
4bd7df8b 18807 "type" : "integer",
013dc89f 18808 "typetext" : "<integer> (16 - N)"
44660702
DM
18809 },
18810 "migrate_downtime" : {
18811 "default" : 0.1,
18812 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
18813 "minimum" : 0,
18814 "optional" : 1,
4bd7df8b 18815 "type" : "number",
013dc89f 18816 "typetext" : "<number> (0 - N)"
44660702
DM
18817 },
18818 "migrate_speed" : {
56122987 18819 "default" : 0,
44660702
DM
18820 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
18821 "minimum" : 0,
56122987 18822 "optional" : 1,
4bd7df8b 18823 "type" : "integer",
013dc89f 18824 "typetext" : "<integer> (0 - N)"
56122987 18825 },
27a7acb2
DM
18826 "name" : {
18827 "description" : "Set a name for the VM. Only used on the configuration web interface.",
18828 "format" : "dns-name",
18829 "optional" : 1,
18830 "type" : "string",
18831 "typetext" : "<string>"
18832 },
18833 "nameserver" : {
18834 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
18835 "format" : "address-list",
44660702 18836 "optional" : 1,
013dc89f
DM
18837 "type" : "string",
18838 "typetext" : "<string>"
44660702
DM
18839 },
18840 "net[n]" : {
c2993fe5 18841 "description" : "Specify network devices.",
f004f5b9
DM
18842 "format" : {
18843 "bridge" : {
c2993fe5 18844 "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2 Gateway\n 10.0.2.3 DNS Server\n 10.0.2.4 SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
f004f5b9
DM
18845 "format_description" : "bridge",
18846 "optional" : 1,
18847 "type" : "string"
18848 },
18849 "e1000" : {
18850 "alias" : "macaddr",
18851 "keyAlias" : "model"
18852 },
18853 "e1000-82540em" : {
18854 "alias" : "macaddr",
18855 "keyAlias" : "model"
18856 },
18857 "e1000-82544gc" : {
18858 "alias" : "macaddr",
18859 "keyAlias" : "model"
18860 },
18861 "e1000-82545em" : {
18862 "alias" : "macaddr",
18863 "keyAlias" : "model"
18864 },
18865 "firewall" : {
18866 "description" : "Whether this interface should be protected by the firewall.",
18867 "optional" : 1,
18868 "type" : "boolean"
18869 },
18870 "i82551" : {
18871 "alias" : "macaddr",
18872 "keyAlias" : "model"
18873 },
18874 "i82557b" : {
18875 "alias" : "macaddr",
18876 "keyAlias" : "model"
18877 },
18878 "i82559er" : {
18879 "alias" : "macaddr",
18880 "keyAlias" : "model"
18881 },
18882 "link_down" : {
c2993fe5 18883 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
18884 "optional" : 1,
18885 "type" : "boolean"
18886 },
18887 "macaddr" : {
c2993fe5 18888 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 18889 "format" : "mac-addr",
f004f5b9 18890 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 18891 "optional" : 1,
95895385
TL
18892 "type" : "string",
18893 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
18894 },
18895 "model" : {
18896 "default_key" : 1,
c2993fe5 18897 "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
f004f5b9
DM
18898 "enum" : [
18899 "rtl8139",
18900 "ne2k_pci",
18901 "e1000",
18902 "pcnet",
18903 "virtio",
18904 "ne2k_isa",
18905 "i82551",
18906 "i82557b",
18907 "i82559er",
18908 "vmxnet3",
18909 "e1000-82540em",
18910 "e1000-82544gc",
18911 "e1000-82545em"
18912 ],
f004f5b9
DM
18913 "type" : "string"
18914 },
18915 "ne2k_isa" : {
18916 "alias" : "macaddr",
18917 "keyAlias" : "model"
18918 },
18919 "ne2k_pci" : {
18920 "alias" : "macaddr",
18921 "keyAlias" : "model"
18922 },
18923 "pcnet" : {
18924 "alias" : "macaddr",
18925 "keyAlias" : "model"
18926 },
18927 "queues" : {
18928 "description" : "Number of packet queues to be used on the device.",
18929 "maximum" : 16,
18930 "minimum" : 0,
18931 "optional" : 1,
18932 "type" : "integer"
18933 },
18934 "rate" : {
c2993fe5 18935 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
18936 "minimum" : 0,
18937 "optional" : 1,
18938 "type" : "number"
18939 },
18940 "rtl8139" : {
18941 "alias" : "macaddr",
18942 "keyAlias" : "model"
18943 },
18944 "tag" : {
18945 "description" : "VLAN tag to apply to packets on this interface.",
18946 "maximum" : 4094,
c2993fe5 18947 "minimum" : 1,
f004f5b9
DM
18948 "optional" : 1,
18949 "type" : "integer"
18950 },
18951 "trunks" : {
18952 "description" : "VLAN trunks to pass through this interface.",
18953 "format_description" : "vlanid[;vlanid...]",
18954 "optional" : 1,
18955 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
18956 "type" : "string"
18957 },
18958 "virtio" : {
18959 "alias" : "macaddr",
18960 "keyAlias" : "model"
18961 },
18962 "vmxnet3" : {
18963 "alias" : "macaddr",
18964 "keyAlias" : "model"
18965 }
18966 },
44660702 18967 "optional" : 1,
4bd7df8b 18968 "type" : "string",
013dc89f 18969 "typetext" : "[model=]<enum> [,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>]"
44660702
DM
18970 },
18971 "node" : {
18972 "description" : "The cluster node name.",
18973 "format" : "pve-node",
013dc89f
DM
18974 "type" : "string",
18975 "typetext" : "<string>"
44660702
DM
18976 },
18977 "numa" : {
7aacca6f 18978 "default" : 0,
44660702
DM
18979 "description" : "Enable/disable NUMA.",
18980 "optional" : 1,
013dc89f
DM
18981 "type" : "boolean",
18982 "typetext" : "<boolean>"
56122987 18983 },
7aacca6f 18984 "numa[n]" : {
c2993fe5 18985 "description" : "NUMA topology.",
7aacca6f 18986 "format" : {
44660702 18987 "cpus" : {
c2993fe5 18988 "description" : "CPUs accessing this NUMA node.",
44660702
DM
18989 "format_description" : "id[-id];...",
18990 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
18991 "type" : "string"
18992 },
7aacca6f 18993 "hostnodes" : {
c2993fe5 18994 "description" : "Host NUMA nodes to use.",
44660702 18995 "format_description" : "id[-id];...",
7aacca6f 18996 "optional" : 1,
44660702
DM
18997 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
18998 "type" : "string"
7aacca6f 18999 },
44660702 19000 "memory" : {
c2993fe5 19001 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
19002 "optional" : 1,
19003 "type" : "number"
7aacca6f
DM
19004 },
19005 "policy" : {
c2993fe5 19006 "description" : "NUMA allocation policy.",
7aacca6f
DM
19007 "enum" : [
19008 "preferred",
19009 "bind",
19010 "interleave"
19011 ],
7aacca6f 19012 "optional" : 1,
44660702 19013 "type" : "string"
7aacca6f
DM
19014 }
19015 },
56122987 19016 "optional" : 1,
4bd7df8b
DM
19017 "type" : "string",
19018 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 19019 },
44660702
DM
19020 "onboot" : {
19021 "default" : 0,
19022 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 19023 "optional" : 1,
013dc89f
DM
19024 "type" : "boolean",
19025 "typetext" : "<boolean>"
56122987
DM
19026 },
19027 "ostype" : {
c2993fe5 19028 "description" : "Specify guest operating system.",
56122987
DM
19029 "enum" : [
19030 "other",
19031 "wxp",
19032 "w2k",
19033 "w2k3",
19034 "w2k8",
19035 "wvista",
19036 "win7",
19037 "win8",
32d876b5 19038 "win10",
56122987
DM
19039 "l24",
19040 "l26",
19041 "solaris"
44660702 19042 ],
56122987 19043 "optional" : 1,
c2993fe5 19044 "type" : "string",
5c1699e5 19045 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 19046 },
44660702 19047 "parallel[n]" : {
c2993fe5 19048 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 19049 "optional" : 1,
44660702 19050 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
19051 "type" : "string",
19052 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 19053 },
44660702
DM
19054 "pool" : {
19055 "description" : "Add the VM to the specified pool.",
19056 "format" : "pve-poolid",
56122987 19057 "optional" : 1,
013dc89f
DM
19058 "type" : "string",
19059 "typetext" : "<string>"
56122987 19060 },
44660702
DM
19061 "protection" : {
19062 "default" : 0,
c2993fe5 19063 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 19064 "optional" : 1,
013dc89f
DM
19065 "type" : "boolean",
19066 "typetext" : "<boolean>"
56122987 19067 },
44660702 19068 "reboot" : {
7aacca6f 19069 "default" : 1,
44660702
DM
19070 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
19071 "optional" : 1,
013dc89f
DM
19072 "type" : "boolean",
19073 "typetext" : "<boolean>"
56122987 19074 },
56122987 19075 "sata[n]" : {
44660702 19076 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 19077 "format" : {
7aacca6f 19078 "aio" : {
44660702 19079 "description" : "AIO type to use.",
56122987 19080 "enum" : [
7aacca6f
DM
19081 "native",
19082 "threads"
56122987 19083 ],
7aacca6f 19084 "optional" : 1,
44660702 19085 "type" : "string"
7aacca6f
DM
19086 },
19087 "backup" : {
7aacca6f 19088 "description" : "Whether the drive should be included when making backups.",
7aacca6f 19089 "optional" : 1,
44660702 19090 "type" : "boolean"
56122987 19091 },
44660702 19092 "bps" : {
de0983cb 19093 "description" : "Maximum r/w speed in bytes per second.",
44660702 19094 "format_description" : "bps",
7aacca6f 19095 "optional" : 1,
44660702 19096 "type" : "integer"
56122987 19097 },
de0983cb
DM
19098 "bps_max_length" : {
19099 "description" : "Maximum length of I/O bursts in seconds.",
19100 "format_description" : "seconds",
19101 "minimum" : 1,
19102 "optional" : 1,
19103 "type" : "integer"
19104 },
44660702 19105 "bps_rd" : {
de0983cb 19106 "description" : "Maximum read speed in bytes per second.",
44660702 19107 "format_description" : "bps",
56122987 19108 "optional" : 1,
44660702 19109 "type" : "integer"
7aacca6f 19110 },
de0983cb 19111 "bps_rd_length" : {
5d9c884c
DM
19112 "alias" : "bps_rd_max_length"
19113 },
19114 "bps_rd_max_length" : {
de0983cb
DM
19115 "description" : "Maximum length of read I/O bursts in seconds.",
19116 "format_description" : "seconds",
19117 "minimum" : 1,
19118 "optional" : 1,
19119 "type" : "integer"
19120 },
44660702 19121 "bps_wr" : {
de0983cb 19122 "description" : "Maximum write speed in bytes per second.",
44660702 19123 "format_description" : "bps",
56122987 19124 "optional" : 1,
44660702 19125 "type" : "integer"
56122987 19126 },
de0983cb 19127 "bps_wr_length" : {
5d9c884c
DM
19128 "alias" : "bps_wr_max_length"
19129 },
19130 "bps_wr_max_length" : {
de0983cb
DM
19131 "description" : "Maximum length of write I/O bursts in seconds.",
19132 "format_description" : "seconds",
19133 "minimum" : 1,
19134 "optional" : 1,
19135 "type" : "integer"
19136 },
7aacca6f 19137 "cache" : {
7aacca6f
DM
19138 "description" : "The drive's cache mode",
19139 "enum" : [
19140 "none",
19141 "writethrough",
19142 "writeback",
19143 "unsafe",
19144 "directsync"
19145 ],
44660702
DM
19146 "optional" : 1,
19147 "type" : "string"
56122987 19148 },
44660702
DM
19149 "cyls" : {
19150 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 19151 "optional" : 1,
7aacca6f 19152 "type" : "integer"
56122987 19153 },
7aacca6f
DM
19154 "detect_zeroes" : {
19155 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 19156 "optional" : 1,
7aacca6f 19157 "type" : "boolean"
56122987 19158 },
44660702
DM
19159 "discard" : {
19160 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
19161 "enum" : [
19162 "ignore",
19163 "on"
19164 ],
56122987 19165 "optional" : 1,
44660702 19166 "type" : "string"
56122987 19167 },
44660702
DM
19168 "file" : {
19169 "default_key" : 1,
19170 "description" : "The drive's backing volume.",
19171 "format" : "pve-volume-id-or-qm-path",
19172 "format_description" : "volume",
19173 "type" : "string"
56122987
DM
19174 },
19175 "format" : {
44660702 19176 "description" : "The drive's backing file's data format.",
56122987
DM
19177 "enum" : [
19178 "raw",
19179 "cow",
19180 "qcow",
19181 "qed",
19182 "qcow2",
19183 "vmdk",
19184 "cloop"
19185 ],
56122987 19186 "optional" : 1,
44660702 19187 "type" : "string"
56122987 19188 },
7aacca6f 19189 "heads" : {
7aacca6f 19190 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
19191 "optional" : 1,
19192 "type" : "integer"
56122987 19193 },
44660702 19194 "iops" : {
de0983cb 19195 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
19196 "format_description" : "iops",
19197 "optional" : 1,
19198 "type" : "integer"
56122987 19199 },
44660702 19200 "iops_max" : {
de0983cb 19201 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 19202 "format_description" : "iops",
56122987 19203 "optional" : 1,
44660702 19204 "type" : "integer"
56122987 19205 },
de0983cb
DM
19206 "iops_max_length" : {
19207 "description" : "Maximum length of I/O bursts in seconds.",
19208 "format_description" : "seconds",
19209 "minimum" : 1,
19210 "optional" : 1,
19211 "type" : "integer"
19212 },
44660702 19213 "iops_rd" : {
de0983cb 19214 "description" : "Maximum read I/O in operations per second.",
44660702 19215 "format_description" : "iops",
56122987 19216 "optional" : 1,
44660702 19217 "type" : "integer"
56122987 19218 },
de0983cb 19219 "iops_rd_length" : {
5d9c884c 19220 "alias" : "iops_rd_max_length"
de0983cb 19221 },
44660702 19222 "iops_rd_max" : {
de0983cb 19223 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 19224 "format_description" : "iops",
56122987 19225 "optional" : 1,
44660702 19226 "type" : "integer"
56122987 19227 },
5d9c884c
DM
19228 "iops_rd_max_length" : {
19229 "description" : "Maximum length of read I/O bursts in seconds.",
19230 "format_description" : "seconds",
19231 "minimum" : 1,
19232 "optional" : 1,
19233 "type" : "integer"
19234 },
44660702 19235 "iops_wr" : {
de0983cb 19236 "description" : "Maximum write I/O in operations per second.",
44660702 19237 "format_description" : "iops",
7aacca6f 19238 "optional" : 1,
44660702 19239 "type" : "integer"
7aacca6f 19240 },
de0983cb 19241 "iops_wr_length" : {
5d9c884c 19242 "alias" : "iops_wr_max_length"
de0983cb 19243 },
44660702 19244 "iops_wr_max" : {
de0983cb 19245 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 19246 "format_description" : "iops",
56122987 19247 "optional" : 1,
7aacca6f 19248 "type" : "integer"
56122987 19249 },
5d9c884c
DM
19250 "iops_wr_max_length" : {
19251 "description" : "Maximum length of write I/O bursts in seconds.",
19252 "format_description" : "seconds",
19253 "minimum" : 1,
19254 "optional" : 1,
19255 "type" : "integer"
19256 },
44660702 19257 "mbps" : {
de0983cb 19258 "description" : "Maximum r/w speed in megabytes per second.",
44660702 19259 "format_description" : "mbps",
56122987 19260 "optional" : 1,
44660702 19261 "type" : "number"
56122987 19262 },
44660702 19263 "mbps_max" : {
de0983cb 19264 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 19265 "format_description" : "mbps",
7aacca6f 19266 "optional" : 1,
44660702 19267 "type" : "number"
7aacca6f 19268 },
44660702 19269 "mbps_rd" : {
de0983cb 19270 "description" : "Maximum read speed in megabytes per second.",
44660702 19271 "format_description" : "mbps",
7aacca6f 19272 "optional" : 1,
44660702 19273 "type" : "number"
7aacca6f 19274 },
44660702 19275 "mbps_rd_max" : {
de0983cb 19276 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 19277 "format_description" : "mbps",
7aacca6f 19278 "optional" : 1,
44660702 19279 "type" : "number"
7aacca6f 19280 },
44660702 19281 "mbps_wr" : {
de0983cb 19282 "description" : "Maximum write speed in megabytes per second.",
44660702 19283 "format_description" : "mbps",
7aacca6f 19284 "optional" : 1,
44660702 19285 "type" : "number"
7aacca6f
DM
19286 },
19287 "mbps_wr_max" : {
de0983cb 19288 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 19289 "format_description" : "mbps",
7aacca6f 19290 "optional" : 1,
44660702 19291 "type" : "number"
7aacca6f 19292 },
44660702
DM
19293 "media" : {
19294 "default" : "disk",
19295 "description" : "The drive's media type.",
56122987 19296 "enum" : [
44660702
DM
19297 "cdrom",
19298 "disk"
56122987 19299 ],
56122987 19300 "optional" : 1,
44660702 19301 "type" : "string"
56122987 19302 },
5d9c884c
DM
19303 "replicate" : {
19304 "default" : 1,
19305 "description" : "Whether the drive should considered for replication jobs.",
19306 "optional" : 1,
19307 "type" : "boolean"
19308 },
44660702
DM
19309 "rerror" : {
19310 "description" : "Read error action.",
7aacca6f
DM
19311 "enum" : [
19312 "ignore",
44660702
DM
19313 "report",
19314 "stop"
7aacca6f 19315 ],
56122987 19316 "optional" : 1,
44660702 19317 "type" : "string"
56122987 19318 },
44660702
DM
19319 "secs" : {
19320 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 19321 "optional" : 1,
44660702 19322 "type" : "integer"
56122987 19323 },
44660702
DM
19324 "serial" : {
19325 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
19326 "format" : "urlencoded",
19327 "format_description" : "serial",
19328 "maxLength" : 60,
19329 "optional" : 1,
19330 "type" : "string"
7aacca6f 19331 },
27a7acb2
DM
19332 "shared" : {
19333 "default" : 0,
19334 "description" : "Mark this locally-managed volume as available on all nodes",
19335 "optional" : 1,
19336 "type" : "boolean",
19337 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
19338 },
7aacca6f
DM
19339 "size" : {
19340 "description" : "Disk size. This is purely informational and has no effect.",
44660702 19341 "format" : "disk-size",
f004f5b9 19342 "format_description" : "DiskSize",
56122987 19343 "optional" : 1,
44660702 19344 "type" : "string"
56122987 19345 },
44660702 19346 "snapshot" : {
27a7acb2 19347 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 19348 "optional" : 1,
44660702 19349 "type" : "boolean"
56122987 19350 },
25203dc1
NC
19351 "ssd" : {
19352 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
19353 "optional" : 1,
19354 "type" : "boolean"
19355 },
44660702
DM
19356 "trans" : {
19357 "description" : "Force disk geometry bios translation mode.",
56122987 19358 "enum" : [
44660702
DM
19359 "none",
19360 "lba",
19361 "auto"
7aacca6f 19362 ],
44660702
DM
19363 "optional" : 1,
19364 "type" : "string"
19365 },
19366 "volume" : {
19367 "alias" : "file"
56122987
DM
19368 },
19369 "werror" : {
56122987
DM
19370 "description" : "Write error action.",
19371 "enum" : [
19372 "enospc",
19373 "ignore",
19374 "report",
19375 "stop"
19376 ],
56122987 19377 "optional" : 1,
44660702 19378 "type" : "string"
95895385
TL
19379 },
19380 "wwn" : {
19381 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
19382 "format_description" : "wwn",
19383 "optional" : 1,
19384 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
19385 "type" : "string"
44660702
DM
19386 }
19387 },
19388 "optional" : 1,
4bd7df8b 19389 "type" : "string",
95895385 19390 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
19391 },
19392 "scsi[n]" : {
19393 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
19394 "format" : {
19395 "aio" : {
19396 "description" : "AIO type to use.",
19397 "enum" : [
19398 "native",
19399 "threads"
19400 ],
44660702
DM
19401 "optional" : 1,
19402 "type" : "string"
56122987 19403 },
7aacca6f 19404 "backup" : {
44660702 19405 "description" : "Whether the drive should be included when making backups.",
7aacca6f 19406 "optional" : 1,
44660702 19407 "type" : "boolean"
7aacca6f 19408 },
44660702 19409 "bps" : {
de0983cb 19410 "description" : "Maximum r/w speed in bytes per second.",
44660702 19411 "format_description" : "bps",
7aacca6f 19412 "optional" : 1,
44660702 19413 "type" : "integer"
7aacca6f 19414 },
de0983cb
DM
19415 "bps_max_length" : {
19416 "description" : "Maximum length of I/O bursts in seconds.",
19417 "format_description" : "seconds",
19418 "minimum" : 1,
19419 "optional" : 1,
19420 "type" : "integer"
19421 },
44660702 19422 "bps_rd" : {
de0983cb 19423 "description" : "Maximum read speed in bytes per second.",
44660702 19424 "format_description" : "bps",
56122987 19425 "optional" : 1,
44660702 19426 "type" : "integer"
56122987 19427 },
de0983cb 19428 "bps_rd_length" : {
5d9c884c
DM
19429 "alias" : "bps_rd_max_length"
19430 },
19431 "bps_rd_max_length" : {
de0983cb
DM
19432 "description" : "Maximum length of read I/O bursts in seconds.",
19433 "format_description" : "seconds",
19434 "minimum" : 1,
19435 "optional" : 1,
19436 "type" : "integer"
19437 },
44660702 19438 "bps_wr" : {
de0983cb 19439 "description" : "Maximum write speed in bytes per second.",
44660702 19440 "format_description" : "bps",
7aacca6f 19441 "optional" : 1,
44660702 19442 "type" : "integer"
56122987 19443 },
de0983cb 19444 "bps_wr_length" : {
5d9c884c
DM
19445 "alias" : "bps_wr_max_length"
19446 },
19447 "bps_wr_max_length" : {
de0983cb
DM
19448 "description" : "Maximum length of write I/O bursts in seconds.",
19449 "format_description" : "seconds",
19450 "minimum" : 1,
19451 "optional" : 1,
19452 "type" : "integer"
19453 },
44660702
DM
19454 "cache" : {
19455 "description" : "The drive's cache mode",
7aacca6f
DM
19456 "enum" : [
19457 "none",
44660702
DM
19458 "writethrough",
19459 "writeback",
19460 "unsafe",
19461 "directsync"
7aacca6f 19462 ],
56122987 19463 "optional" : 1,
44660702 19464 "type" : "string"
56122987 19465 },
7aacca6f
DM
19466 "cyls" : {
19467 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
19468 "optional" : 1,
44660702 19469 "type" : "integer"
7aacca6f 19470 },
44660702
DM
19471 "detect_zeroes" : {
19472 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 19473 "optional" : 1,
44660702 19474 "type" : "boolean"
56122987 19475 },
44660702
DM
19476 "discard" : {
19477 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 19478 "enum" : [
44660702
DM
19479 "ignore",
19480 "on"
7aacca6f 19481 ],
7aacca6f 19482 "optional" : 1,
44660702 19483 "type" : "string"
56122987
DM
19484 },
19485 "file" : {
7aacca6f
DM
19486 "default_key" : 1,
19487 "description" : "The drive's backing volume.",
44660702
DM
19488 "format" : "pve-volume-id-or-qm-path",
19489 "format_description" : "volume",
7aacca6f 19490 "type" : "string"
56122987 19491 },
7aacca6f 19492 "format" : {
44660702 19493 "description" : "The drive's backing file's data format.",
56122987 19494 "enum" : [
7aacca6f
DM
19495 "raw",
19496 "cow",
19497 "qcow",
19498 "qed",
19499 "qcow2",
19500 "vmdk",
19501 "cloop"
56122987 19502 ],
44660702
DM
19503 "optional" : 1,
19504 "type" : "string"
56122987 19505 },
44660702
DM
19506 "heads" : {
19507 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
19508 "optional" : 1,
19509 "type" : "integer"
19510 },
19511 "iops" : {
de0983cb 19512 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 19513 "format_description" : "iops",
56122987 19514 "optional" : 1,
44660702 19515 "type" : "integer"
56122987 19516 },
44660702 19517 "iops_max" : {
de0983cb 19518 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 19519 "format_description" : "iops",
7aacca6f 19520 "optional" : 1,
44660702 19521 "type" : "integer"
56122987 19522 },
de0983cb
DM
19523 "iops_max_length" : {
19524 "description" : "Maximum length of I/O bursts in seconds.",
19525 "format_description" : "seconds",
19526 "minimum" : 1,
19527 "optional" : 1,
19528 "type" : "integer"
19529 },
44660702 19530 "iops_rd" : {
de0983cb 19531 "description" : "Maximum read I/O in operations per second.",
44660702 19532 "format_description" : "iops",
56122987 19533 "optional" : 1,
44660702 19534 "type" : "integer"
56122987 19535 },
de0983cb 19536 "iops_rd_length" : {
5d9c884c 19537 "alias" : "iops_rd_max_length"
de0983cb 19538 },
44660702 19539 "iops_rd_max" : {
de0983cb 19540 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
19541 "format_description" : "iops",
19542 "optional" : 1,
19543 "type" : "integer"
56122987 19544 },
5d9c884c
DM
19545 "iops_rd_max_length" : {
19546 "description" : "Maximum length of read I/O bursts in seconds.",
19547 "format_description" : "seconds",
19548 "minimum" : 1,
19549 "optional" : 1,
19550 "type" : "integer"
19551 },
44660702 19552 "iops_wr" : {
de0983cb 19553 "description" : "Maximum write I/O in operations per second.",
44660702 19554 "format_description" : "iops",
56122987 19555 "optional" : 1,
44660702 19556 "type" : "integer"
56122987 19557 },
de0983cb 19558 "iops_wr_length" : {
5d9c884c 19559 "alias" : "iops_wr_max_length"
de0983cb 19560 },
44660702 19561 "iops_wr_max" : {
de0983cb 19562 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 19563 "format_description" : "iops",
56122987 19564 "optional" : 1,
56122987
DM
19565 "type" : "integer"
19566 },
5d9c884c
DM
19567 "iops_wr_max_length" : {
19568 "description" : "Maximum length of write I/O bursts in seconds.",
19569 "format_description" : "seconds",
19570 "minimum" : 1,
19571 "optional" : 1,
19572 "type" : "integer"
19573 },
44660702
DM
19574 "iothread" : {
19575 "description" : "Whether to use iothreads for this drive",
44660702
DM
19576 "optional" : 1,
19577 "type" : "boolean"
19578 },
19579 "mbps" : {
de0983cb 19580 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
19581 "format_description" : "mbps",
19582 "optional" : 1,
19583 "type" : "number"
19584 },
7aacca6f 19585 "mbps_max" : {
de0983cb 19586 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 19587 "format_description" : "mbps",
56122987 19588 "optional" : 1,
44660702 19589 "type" : "number"
56122987 19590 },
44660702 19591 "mbps_rd" : {
de0983cb 19592 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
19593 "format_description" : "mbps",
19594 "optional" : 1,
19595 "type" : "number"
56122987 19596 },
44660702 19597 "mbps_rd_max" : {
de0983cb 19598 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 19599 "format_description" : "mbps",
56122987 19600 "optional" : 1,
44660702 19601 "type" : "number"
56122987 19602 },
44660702 19603 "mbps_wr" : {
de0983cb 19604 "description" : "Maximum write speed in megabytes per second.",
44660702 19605 "format_description" : "mbps",
56122987 19606 "optional" : 1,
44660702 19607 "type" : "number"
56122987 19608 },
44660702 19609 "mbps_wr_max" : {
de0983cb 19610 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 19611 "format_description" : "mbps",
7aacca6f 19612 "optional" : 1,
44660702 19613 "type" : "number"
56122987 19614 },
7aacca6f 19615 "media" : {
44660702 19616 "default" : "disk",
7aacca6f
DM
19617 "description" : "The drive's media type.",
19618 "enum" : [
19619 "cdrom",
19620 "disk"
19621 ],
56122987 19622 "optional" : 1,
44660702 19623 "type" : "string"
56122987 19624 },
44660702
DM
19625 "queues" : {
19626 "description" : "Number of queues.",
44660702
DM
19627 "minimum" : 2,
19628 "optional" : 1,
19629 "type" : "integer"
56122987 19630 },
5d9c884c
DM
19631 "replicate" : {
19632 "default" : 1,
19633 "description" : "Whether the drive should considered for replication jobs.",
19634 "optional" : 1,
19635 "type" : "boolean"
19636 },
19637 "rerror" : {
19638 "description" : "Read error action.",
19639 "enum" : [
19640 "ignore",
19641 "report",
19642 "stop"
19643 ],
19644 "optional" : 1,
19645 "type" : "string"
19646 },
52e44c50
FG
19647 "scsiblock" : {
19648 "default" : 0,
19649 "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
19650 "optional" : 1,
19651 "type" : "boolean"
19652 },
7aacca6f 19653 "secs" : {
7aacca6f 19654 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
19655 "optional" : 1,
19656 "type" : "integer"
19657 },
19658 "serial" : {
19659 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
19660 "format" : "urlencoded",
19661 "format_description" : "serial",
19662 "maxLength" : 60,
19663 "optional" : 1,
19664 "type" : "string"
19665 },
27a7acb2
DM
19666 "shared" : {
19667 "default" : 0,
19668 "description" : "Mark this locally-managed volume as available on all nodes",
19669 "optional" : 1,
19670 "type" : "boolean",
19671 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
19672 },
44660702
DM
19673 "size" : {
19674 "description" : "Disk size. This is purely informational and has no effect.",
19675 "format" : "disk-size",
f004f5b9 19676 "format_description" : "DiskSize",
44660702
DM
19677 "optional" : 1,
19678 "type" : "string"
19679 },
19680 "snapshot" : {
27a7acb2 19681 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
44660702
DM
19682 "optional" : 1,
19683 "type" : "boolean"
19684 },
25203dc1
NC
19685 "ssd" : {
19686 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
19687 "optional" : 1,
19688 "type" : "boolean"
19689 },
44660702
DM
19690 "trans" : {
19691 "description" : "Force disk geometry bios translation mode.",
19692 "enum" : [
19693 "none",
19694 "lba",
19695 "auto"
19696 ],
44660702
DM
19697 "optional" : 1,
19698 "type" : "string"
19699 },
19700 "volume" : {
19701 "alias" : "file"
19702 },
19703 "werror" : {
19704 "description" : "Write error action.",
19705 "enum" : [
19706 "enospc",
19707 "ignore",
19708 "report",
19709 "stop"
19710 ],
44660702
DM
19711 "optional" : 1,
19712 "type" : "string"
95895385
TL
19713 },
19714 "wwn" : {
19715 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
19716 "format_description" : "wwn",
19717 "optional" : 1,
19718 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
19719 "type" : "string"
56122987
DM
19720 }
19721 },
7aacca6f 19722 "optional" : 1,
4bd7df8b 19723 "type" : "string",
95895385 19724 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987 19725 },
44660702
DM
19726 "scsihw" : {
19727 "default" : "lsi",
c2993fe5 19728 "description" : "SCSI controller model",
44660702
DM
19729 "enum" : [
19730 "lsi",
19731 "lsi53c810",
19732 "virtio-scsi-pci",
19733 "virtio-scsi-single",
19734 "megasas",
19735 "pvscsi"
19736 ],
7aacca6f 19737 "optional" : 1,
44660702 19738 "type" : "string"
7aacca6f 19739 },
27a7acb2
DM
19740 "searchdomain" : {
19741 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
19742 "optional" : 1,
19743 "type" : "string",
19744 "typetext" : "<string>"
19745 },
44660702 19746 "serial[n]" : {
c2993fe5 19747 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
19748 "optional" : 1,
19749 "pattern" : "(/dev/.+|socket)",
c2993fe5 19750 "type" : "string",
57b78691 19751 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702
DM
19752 },
19753 "shares" : {
19754 "default" : 1000,
5da3d723 19755 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
44660702
DM
19756 "maximum" : 50000,
19757 "minimum" : 0,
19758 "optional" : 1,
4bd7df8b 19759 "type" : "integer",
013dc89f 19760 "typetext" : "<integer> (0 - 50000)"
44660702
DM
19761 },
19762 "smbios1" : {
19763 "description" : "Specify SMBIOS type 1 fields.",
19764 "format" : "pve-qm-smbios1",
1e3f8156 19765 "maxLength" : 512,
7aacca6f 19766 "optional" : 1,
4bd7df8b 19767 "type" : "string",
1e3f8156 19768 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
7aacca6f
DM
19769 },
19770 "smp" : {
44660702 19771 "default" : 1,
7aacca6f 19772 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 19773 "minimum" : 1,
56122987 19774 "optional" : 1,
4bd7df8b 19775 "type" : "integer",
013dc89f 19776 "typetext" : "<integer> (1 - N)"
44660702
DM
19777 },
19778 "sockets" : {
7aacca6f 19779 "default" : 1,
44660702
DM
19780 "description" : "The number of CPU sockets.",
19781 "minimum" : 1,
19782 "optional" : 1,
4bd7df8b 19783 "type" : "integer",
013dc89f 19784 "typetext" : "<integer> (1 - N)"
7aacca6f 19785 },
1c532546
TL
19786 "spice_enhancements" : {
19787 "description" : "Configure additional enhancements for SPICE.",
19788 "format" : {
19789 "foldersharing" : {
19790 "default" : "0",
19791 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
19792 "optional" : 1,
19793 "type" : "boolean"
19794 },
19795 "videostreaming" : {
19796 "default" : "off",
19797 "description" : "Enable video streaming. Uses compression for detected video streams.",
19798 "enum" : [
19799 "off",
19800 "all",
19801 "filter"
19802 ],
19803 "optional" : 1,
19804 "type" : "string"
19805 }
19806 },
19807 "optional" : 1,
19808 "type" : "string",
19809 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
19810 },
27a7acb2
DM
19811 "sshkeys" : {
19812 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
19813 "format" : "urlencoded",
19814 "optional" : 1,
19815 "type" : "string",
19816 "typetext" : "<string>"
19817 },
5da3d723
TL
19818 "start" : {
19819 "default" : 0,
19820 "description" : "Start VM after it was created successfully.",
19821 "optional" : 1,
19822 "type" : "boolean",
19823 "typetext" : "<boolean>"
19824 },
44660702
DM
19825 "startdate" : {
19826 "default" : "now",
19827 "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'.",
19828 "optional" : 1,
19829 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
19830 "type" : "string",
19831 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
19832 },
19833 "startup" : {
19834 "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.",
19835 "format" : "pve-startup-order",
19836 "optional" : 1,
19837 "type" : "string",
19838 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
19839 },
19840 "storage" : {
19841 "description" : "Default storage.",
19842 "format" : "pve-storage-id",
7aacca6f 19843 "optional" : 1,
013dc89f
DM
19844 "type" : "string",
19845 "typetext" : "<string>"
56122987 19846 },
44660702
DM
19847 "tablet" : {
19848 "default" : 1,
c2993fe5 19849 "description" : "Enable/disable the USB tablet device.",
56122987 19850 "optional" : 1,
c2993fe5 19851 "type" : "boolean",
013dc89f 19852 "typetext" : "<boolean>",
c2993fe5 19853 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
44660702 19854 },
5c1699e5
TL
19855 "tags" : {
19856 "description" : "Tags of the VM. This is only meta information.",
19857 "format" : "pve-tag-list",
19858 "optional" : 1,
19859 "type" : "string",
19860 "typetext" : "<string>"
19861 },
44660702
DM
19862 "tdf" : {
19863 "default" : 0,
19864 "description" : "Enable/disable time drift fix.",
19865 "optional" : 1,
013dc89f
DM
19866 "type" : "boolean",
19867 "typetext" : "<boolean>"
7aacca6f
DM
19868 },
19869 "template" : {
7aacca6f 19870 "default" : 0,
44660702 19871 "description" : "Enable/disable Template.",
7aacca6f 19872 "optional" : 1,
013dc89f
DM
19873 "type" : "boolean",
19874 "typetext" : "<boolean>"
7aacca6f 19875 },
44660702
DM
19876 "unique" : {
19877 "description" : "Assign a unique random ethernet address.",
7aacca6f 19878 "optional" : 1,
44660702 19879 "requires" : "archive",
013dc89f
DM
19880 "type" : "boolean",
19881 "typetext" : "<boolean>"
56122987 19882 },
44660702 19883 "unused[n]" : {
c2993fe5 19884 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 19885 "format" : "pve-volume-id",
7aacca6f 19886 "optional" : 1,
013dc89f
DM
19887 "type" : "string",
19888 "typetext" : "<string>"
44660702
DM
19889 },
19890 "usb[n]" : {
c2993fe5 19891 "description" : "Configure an USB device (n is 0 to 4).",
56122987 19892 "format" : {
7aacca6f
DM
19893 "host" : {
19894 "default_key" : 1,
c2993fe5 19895 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
7aacca6f 19896 "format" : "pve-qm-usb-device",
44660702
DM
19897 "format_description" : "HOSTUSBDEVICE|spice",
19898 "type" : "string"
7aacca6f 19899 },
56122987 19900 "usb3" : {
c2993fe5 19901 "default" : 0,
1c532546 19902 "description" : "Specifies whether if given host option is a USB3 device or port.",
56122987 19903 "optional" : 1,
56122987 19904 "type" : "boolean"
7aacca6f 19905 }
56122987 19906 },
56122987 19907 "optional" : 1,
4bd7df8b
DM
19908 "type" : "string",
19909 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 19910 },
44660702
DM
19911 "vcpus" : {
19912 "default" : 0,
19913 "description" : "Number of hotplugged vcpus.",
19914 "minimum" : 1,
56122987 19915 "optional" : 1,
4bd7df8b 19916 "type" : "integer",
013dc89f 19917 "typetext" : "<integer> (1 - N)"
7aacca6f 19918 },
44660702 19919 "vga" : {
e2d681b3
TL
19920 "description" : "Configure the VGA hardware.",
19921 "format" : {
19922 "memory" : {
19923 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
19924 "maximum" : 512,
19925 "minimum" : 4,
19926 "optional" : 1,
19927 "type" : "integer"
19928 },
19929 "type" : {
19930 "default" : "std",
19931 "default_key" : 1,
19932 "description" : "Select the VGA type.",
19933 "enum" : [
19934 "cirrus",
19935 "qxl",
19936 "qxl2",
19937 "qxl3",
19938 "qxl4",
5f26e15b 19939 "none",
e2d681b3
TL
19940 "serial0",
19941 "serial1",
19942 "serial2",
19943 "serial3",
19944 "std",
19945 "virtio",
19946 "vmware"
19947 ],
19948 "optional" : 1,
19949 "type" : "string"
19950 }
19951 },
44660702 19952 "optional" : 1,
c2993fe5 19953 "type" : "string",
e2d681b3
TL
19954 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
19955 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
7aacca6f 19956 },
44660702
DM
19957 "virtio[n]" : {
19958 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
19959 "format" : {
19960 "aio" : {
19961 "description" : "AIO type to use.",
19962 "enum" : [
19963 "native",
19964 "threads"
19965 ],
44660702
DM
19966 "optional" : 1,
19967 "type" : "string"
19968 },
19969 "backup" : {
19970 "description" : "Whether the drive should be included when making backups.",
44660702
DM
19971 "optional" : 1,
19972 "type" : "boolean"
19973 },
19974 "bps" : {
de0983cb 19975 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
19976 "format_description" : "bps",
19977 "optional" : 1,
19978 "type" : "integer"
19979 },
de0983cb
DM
19980 "bps_max_length" : {
19981 "description" : "Maximum length of I/O bursts in seconds.",
19982 "format_description" : "seconds",
19983 "minimum" : 1,
19984 "optional" : 1,
19985 "type" : "integer"
19986 },
44660702 19987 "bps_rd" : {
de0983cb 19988 "description" : "Maximum read speed in bytes per second.",
44660702
DM
19989 "format_description" : "bps",
19990 "optional" : 1,
19991 "type" : "integer"
19992 },
de0983cb 19993 "bps_rd_length" : {
5d9c884c
DM
19994 "alias" : "bps_rd_max_length"
19995 },
19996 "bps_rd_max_length" : {
de0983cb
DM
19997 "description" : "Maximum length of read I/O bursts in seconds.",
19998 "format_description" : "seconds",
19999 "minimum" : 1,
20000 "optional" : 1,
20001 "type" : "integer"
20002 },
44660702 20003 "bps_wr" : {
de0983cb 20004 "description" : "Maximum write speed in bytes per second.",
44660702
DM
20005 "format_description" : "bps",
20006 "optional" : 1,
20007 "type" : "integer"
20008 },
de0983cb 20009 "bps_wr_length" : {
5d9c884c
DM
20010 "alias" : "bps_wr_max_length"
20011 },
20012 "bps_wr_max_length" : {
de0983cb
DM
20013 "description" : "Maximum length of write I/O bursts in seconds.",
20014 "format_description" : "seconds",
20015 "minimum" : 1,
20016 "optional" : 1,
20017 "type" : "integer"
20018 },
44660702
DM
20019 "cache" : {
20020 "description" : "The drive's cache mode",
20021 "enum" : [
20022 "none",
20023 "writethrough",
20024 "writeback",
20025 "unsafe",
20026 "directsync"
20027 ],
44660702
DM
20028 "optional" : 1,
20029 "type" : "string"
20030 },
20031 "cyls" : {
20032 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
20033 "optional" : 1,
20034 "type" : "integer"
20035 },
20036 "detect_zeroes" : {
20037 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
20038 "optional" : 1,
20039 "type" : "boolean"
20040 },
20041 "discard" : {
20042 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
20043 "enum" : [
20044 "ignore",
20045 "on"
20046 ],
44660702
DM
20047 "optional" : 1,
20048 "type" : "string"
20049 },
20050 "file" : {
20051 "default_key" : 1,
20052 "description" : "The drive's backing volume.",
20053 "format" : "pve-volume-id-or-qm-path",
20054 "format_description" : "volume",
20055 "type" : "string"
20056 },
20057 "format" : {
20058 "description" : "The drive's backing file's data format.",
20059 "enum" : [
20060 "raw",
20061 "cow",
20062 "qcow",
20063 "qed",
20064 "qcow2",
20065 "vmdk",
20066 "cloop"
20067 ],
44660702
DM
20068 "optional" : 1,
20069 "type" : "string"
20070 },
20071 "heads" : {
20072 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
20073 "optional" : 1,
20074 "type" : "integer"
20075 },
20076 "iops" : {
de0983cb 20077 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
20078 "format_description" : "iops",
20079 "optional" : 1,
20080 "type" : "integer"
20081 },
20082 "iops_max" : {
de0983cb 20083 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
20084 "format_description" : "iops",
20085 "optional" : 1,
20086 "type" : "integer"
20087 },
de0983cb
DM
20088 "iops_max_length" : {
20089 "description" : "Maximum length of I/O bursts in seconds.",
20090 "format_description" : "seconds",
20091 "minimum" : 1,
20092 "optional" : 1,
20093 "type" : "integer"
20094 },
44660702 20095 "iops_rd" : {
de0983cb 20096 "description" : "Maximum read I/O in operations per second.",
44660702
DM
20097 "format_description" : "iops",
20098 "optional" : 1,
20099 "type" : "integer"
20100 },
de0983cb 20101 "iops_rd_length" : {
5d9c884c 20102 "alias" : "iops_rd_max_length"
de0983cb 20103 },
44660702 20104 "iops_rd_max" : {
de0983cb 20105 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
20106 "format_description" : "iops",
20107 "optional" : 1,
20108 "type" : "integer"
20109 },
5d9c884c
DM
20110 "iops_rd_max_length" : {
20111 "description" : "Maximum length of read I/O bursts in seconds.",
20112 "format_description" : "seconds",
20113 "minimum" : 1,
20114 "optional" : 1,
20115 "type" : "integer"
20116 },
44660702 20117 "iops_wr" : {
de0983cb 20118 "description" : "Maximum write I/O in operations per second.",
44660702
DM
20119 "format_description" : "iops",
20120 "optional" : 1,
20121 "type" : "integer"
20122 },
de0983cb 20123 "iops_wr_length" : {
5d9c884c 20124 "alias" : "iops_wr_max_length"
de0983cb 20125 },
44660702 20126 "iops_wr_max" : {
de0983cb 20127 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
20128 "format_description" : "iops",
20129 "optional" : 1,
20130 "type" : "integer"
20131 },
5d9c884c
DM
20132 "iops_wr_max_length" : {
20133 "description" : "Maximum length of write I/O bursts in seconds.",
20134 "format_description" : "seconds",
20135 "minimum" : 1,
20136 "optional" : 1,
20137 "type" : "integer"
20138 },
44660702
DM
20139 "iothread" : {
20140 "description" : "Whether to use iothreads for this drive",
44660702
DM
20141 "optional" : 1,
20142 "type" : "boolean"
20143 },
20144 "mbps" : {
de0983cb 20145 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
20146 "format_description" : "mbps",
20147 "optional" : 1,
20148 "type" : "number"
20149 },
20150 "mbps_max" : {
de0983cb 20151 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
20152 "format_description" : "mbps",
20153 "optional" : 1,
20154 "type" : "number"
20155 },
20156 "mbps_rd" : {
de0983cb 20157 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
20158 "format_description" : "mbps",
20159 "optional" : 1,
20160 "type" : "number"
20161 },
20162 "mbps_rd_max" : {
de0983cb 20163 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
20164 "format_description" : "mbps",
20165 "optional" : 1,
20166 "type" : "number"
20167 },
20168 "mbps_wr" : {
de0983cb 20169 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
20170 "format_description" : "mbps",
20171 "optional" : 1,
20172 "type" : "number"
20173 },
20174 "mbps_wr_max" : {
de0983cb 20175 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
20176 "format_description" : "mbps",
20177 "optional" : 1,
20178 "type" : "number"
20179 },
20180 "media" : {
20181 "default" : "disk",
20182 "description" : "The drive's media type.",
20183 "enum" : [
20184 "cdrom",
20185 "disk"
20186 ],
44660702
DM
20187 "optional" : 1,
20188 "type" : "string"
20189 },
5d9c884c
DM
20190 "replicate" : {
20191 "default" : 1,
20192 "description" : "Whether the drive should considered for replication jobs.",
20193 "optional" : 1,
20194 "type" : "boolean"
20195 },
44660702
DM
20196 "rerror" : {
20197 "description" : "Read error action.",
20198 "enum" : [
20199 "ignore",
20200 "report",
20201 "stop"
20202 ],
44660702
DM
20203 "optional" : 1,
20204 "type" : "string"
20205 },
20206 "secs" : {
20207 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
20208 "optional" : 1,
20209 "type" : "integer"
20210 },
20211 "serial" : {
20212 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
20213 "format" : "urlencoded",
20214 "format_description" : "serial",
20215 "maxLength" : 60,
20216 "optional" : 1,
20217 "type" : "string"
20218 },
27a7acb2
DM
20219 "shared" : {
20220 "default" : 0,
20221 "description" : "Mark this locally-managed volume as available on all nodes",
20222 "optional" : 1,
20223 "type" : "boolean",
20224 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
20225 },
44660702
DM
20226 "size" : {
20227 "description" : "Disk size. This is purely informational and has no effect.",
20228 "format" : "disk-size",
f004f5b9 20229 "format_description" : "DiskSize",
44660702
DM
20230 "optional" : 1,
20231 "type" : "string"
20232 },
20233 "snapshot" : {
27a7acb2 20234 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
44660702
DM
20235 "optional" : 1,
20236 "type" : "boolean"
20237 },
20238 "trans" : {
20239 "description" : "Force disk geometry bios translation mode.",
20240 "enum" : [
20241 "none",
20242 "lba",
20243 "auto"
20244 ],
44660702
DM
20245 "optional" : 1,
20246 "type" : "string"
20247 },
20248 "volume" : {
20249 "alias" : "file"
20250 },
20251 "werror" : {
20252 "description" : "Write error action.",
20253 "enum" : [
20254 "enospc",
20255 "ignore",
20256 "report",
20257 "stop"
20258 ],
44660702
DM
20259 "optional" : 1,
20260 "type" : "string"
20261 }
20262 },
20263 "optional" : 1,
4bd7df8b 20264 "type" : "string",
27a7acb2 20265 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 20266 },
4d47f125
TL
20267 "vmgenid" : {
20268 "default" : "1 (autogenerated)",
20269 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
20270 "format_description" : "UUID",
20271 "optional" : 1,
20272 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
20273 "type" : "string",
20274 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
20275 },
44660702
DM
20276 "vmid" : {
20277 "description" : "The (unique) ID of the VM.",
20278 "format" : "pve-vmid",
20279 "minimum" : 1,
4bd7df8b 20280 "type" : "integer",
013dc89f 20281 "typetext" : "<integer> (1 - N)"
44660702 20282 },
2489d6df
WB
20283 "vmstatestorage" : {
20284 "description" : "Default storage for VM state volumes/files.",
20285 "format" : "pve-storage-id",
20286 "optional" : 1,
20287 "type" : "string",
20288 "typetext" : "<string>"
20289 },
44660702 20290 "watchdog" : {
c2993fe5 20291 "description" : "Create a virtual hardware watchdog device.",
44660702 20292 "format" : "pve-qm-watchdog",
7aacca6f 20293 "optional" : 1,
c2993fe5 20294 "type" : "string",
013dc89f 20295 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 20296 "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
56122987 20297 }
44660702 20298 }
56122987 20299 },
56122987 20300 "permissions" : {
44660702
DM
20301 "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.",
20302 "user" : "all"
56122987 20303 },
44660702
DM
20304 "protected" : 1,
20305 "proxyto" : "node",
56122987 20306 "returns" : {
44660702 20307 "type" : "string"
7aacca6f 20308 }
56122987 20309 }
7aacca6f 20310 },
44660702 20311 "leaf" : 0,
7aacca6f 20312 "path" : "/nodes/{node}/qemu",
44660702 20313 "text" : "qemu"
56122987
DM
20314 },
20315 {
20316 "children" : [
20317 {
56122987
DM
20318 "children" : [
20319 {
56122987 20320 "info" : {
44660702
DM
20321 "GET" : {
20322 "description" : "Get container configuration.",
20323 "method" : "GET",
20324 "name" : "vm_config",
20325 "parameters" : {
20326 "additionalProperties" : 0,
20327 "properties" : {
1c532546
TL
20328 "current" : {
20329 "default" : 0,
20330 "description" : "Get current values (instead of pending values).",
20331 "optional" : 1,
20332 "type" : "boolean",
20333 "typetext" : "<boolean>"
20334 },
44660702
DM
20335 "node" : {
20336 "description" : "The cluster node name.",
20337 "format" : "pve-node",
013dc89f 20338 "type" : "string",
4d47f125
TL
20339 "typetext" : "<string>"
20340 },
5f26e15b
TL
20341 "snapshot" : {
20342 "description" : "Fetch config values from given snapshot.",
20343 "format" : "pve-configid",
20344 "maxLength" : 40,
20345 "optional" : 1,
20346 "type" : "string",
20347 "typetext" : "<string>"
20348 },
4d47f125
TL
20349 "vmid" : {
20350 "description" : "The (unique) ID of the VM.",
20351 "format" : "pve-vmid",
20352 "minimum" : 1,
20353 "type" : "integer",
20354 "typetext" : "<integer> (1 - N)"
20355 }
20356 }
20357 },
20358 "permissions" : {
20359 "check" : [
20360 "perm",
20361 "/vms/{vmid}",
20362 [
20363 "VM.Audit"
20364 ]
20365 ]
20366 },
20367 "proxyto" : "node",
20368 "returns" : {
20369 "properties" : {
20370 "arch" : {
20371 "default" : "amd64",
20372 "description" : "OS architecture type.",
20373 "enum" : [
20374 "amd64",
20375 "i386",
20376 "arm64",
20377 "armhf"
20378 ],
20379 "optional" : 1,
20380 "type" : "string"
20381 },
20382 "cmode" : {
20383 "default" : "tty",
20384 "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).",
20385 "enum" : [
20386 "shell",
20387 "console",
20388 "tty"
20389 ],
20390 "optional" : 1,
20391 "type" : "string"
20392 },
20393 "console" : {
20394 "default" : 1,
20395 "description" : "Attach a console device (/dev/console) to the container.",
20396 "optional" : 1,
20397 "type" : "boolean"
20398 },
20399 "cores" : {
20400 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
20401 "maximum" : 128,
20402 "minimum" : 1,
20403 "optional" : 1,
20404 "type" : "integer"
20405 },
20406 "cpulimit" : {
20407 "default" : 0,
20408 "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.",
20409 "maximum" : 128,
20410 "minimum" : 0,
20411 "optional" : 1,
20412 "type" : "number"
20413 },
20414 "cpuunits" : {
20415 "default" : 1024,
20416 "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.",
20417 "maximum" : 500000,
20418 "minimum" : 0,
20419 "optional" : 1,
20420 "type" : "integer"
20421 },
20422 "description" : {
20423 "description" : "Container description. Only used on the configuration web interface.",
20424 "optional" : 1,
20425 "type" : "string"
20426 },
20427 "digest" : {
20428 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
20429 "type" : "string"
20430 },
20431 "features" : {
20432 "description" : "Allow containers access to advanced features.",
20433 "format" : {
e2d681b3
TL
20434 "fuse" : {
20435 "default" : 0,
20436 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
20437 "optional" : 1,
20438 "type" : "boolean"
20439 },
4d47f125
TL
20440 "keyctl" : {
20441 "default" : 0,
20442 "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
20443 "optional" : 1,
20444 "type" : "boolean"
20445 },
20446 "mount" : {
20447 "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
20448 "format_description" : "fstype;fstype;...",
20449 "optional" : 1,
95895385 20450 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
20451 "type" : "string"
20452 },
20453 "nesting" : {
20454 "default" : 0,
20455 "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
20456 "optional" : 1,
20457 "type" : "boolean"
20458 }
20459 },
20460 "optional" : 1,
20461 "type" : "string"
20462 },
5f26e15b
TL
20463 "hookscript" : {
20464 "description" : "Script that will be exectued during various steps in the containers lifetime.",
20465 "format" : "pve-volume-id",
20466 "optional" : 1,
20467 "type" : "string"
20468 },
4d47f125
TL
20469 "hostname" : {
20470 "description" : "Set a host name for the container.",
20471 "format" : "dns-name",
20472 "maxLength" : 255,
20473 "optional" : 1,
20474 "type" : "string"
20475 },
20476 "lock" : {
20477 "description" : "Lock/unlock the VM.",
20478 "enum" : [
20479 "backup",
bb4c8cf8 20480 "create",
1c532546 20481 "destroyed",
4d47f125 20482 "disk",
bb4c8cf8 20483 "fstrim",
4d47f125
TL
20484 "migrate",
20485 "mounted",
20486 "rollback",
20487 "snapshot",
20488 "snapshot-delete"
20489 ],
20490 "optional" : 1,
20491 "type" : "string"
20492 },
20493 "lxc" : {
20494 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
20495 "items" : {
20496 "items" : {
20497 "type" : "string"
20498 },
20499 "type" : "array"
20500 },
20501 "optional" : 1,
20502 "type" : "array"
20503 },
20504 "memory" : {
20505 "default" : 512,
20506 "description" : "Amount of RAM for the VM in MB.",
20507 "minimum" : 16,
20508 "optional" : 1,
20509 "type" : "integer"
20510 },
20511 "mp[n]" : {
20512 "description" : "Use volume as container mount point.",
20513 "format" : {
20514 "acl" : {
20515 "description" : "Explicitly enable or disable ACL support.",
20516 "optional" : 1,
20517 "type" : "boolean"
20518 },
20519 "backup" : {
20520 "description" : "Whether to include the mount point in backups.",
20521 "optional" : 1,
20522 "type" : "boolean",
20523 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
20524 },
7cbed89a
TL
20525 "mountoptions" : {
20526 "description" : "Extra mount options for rootfs/mps.",
20527 "format_description" : "opt[;opt...]",
20528 "optional" : 1,
20529 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
20530 "type" : "string"
20531 },
4d47f125
TL
20532 "mp" : {
20533 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
20534 "format" : "pve-lxc-mp-string",
20535 "format_description" : "Path",
20536 "type" : "string",
20537 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
20538 },
20539 "quota" : {
20540 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
20541 "optional" : 1,
20542 "type" : "boolean"
20543 },
20544 "replicate" : {
20545 "default" : 1,
20546 "description" : "Will include this volume to a storage replica job.",
20547 "optional" : 1,
20548 "type" : "boolean"
20549 },
20550 "ro" : {
20551 "description" : "Read-only mount point",
20552 "optional" : 1,
20553 "type" : "boolean"
20554 },
20555 "shared" : {
20556 "default" : 0,
20557 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20558 "optional" : 1,
20559 "type" : "boolean",
20560 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
20561 },
20562 "size" : {
20563 "description" : "Volume size (read only value).",
20564 "format" : "disk-size",
20565 "format_description" : "DiskSize",
20566 "optional" : 1,
20567 "type" : "string"
20568 },
20569 "volume" : {
20570 "default_key" : 1,
20571 "description" : "Volume, device or directory to mount into the container.",
20572 "format" : "pve-lxc-mp-string",
20573 "format_description" : "volume",
20574 "type" : "string"
20575 }
20576 },
20577 "optional" : 1,
20578 "type" : "string"
20579 },
20580 "nameserver" : {
20581 "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.",
20582 "format" : "address-list",
20583 "optional" : 1,
20584 "type" : "string"
20585 },
20586 "net[n]" : {
20587 "description" : "Specifies network interfaces for the container.",
20588 "format" : {
20589 "bridge" : {
20590 "description" : "Bridge to attach the network device to.",
20591 "format_description" : "bridge",
20592 "optional" : 1,
20593 "pattern" : "[-_.\\w\\d]+",
20594 "type" : "string"
20595 },
20596 "firewall" : {
20597 "description" : "Controls whether this interface's firewall rules should be used.",
20598 "optional" : 1,
20599 "type" : "boolean"
20600 },
20601 "gw" : {
20602 "description" : "Default gateway for IPv4 traffic.",
20603 "format" : "ipv4",
20604 "format_description" : "GatewayIPv4",
20605 "optional" : 1,
20606 "type" : "string"
20607 },
20608 "gw6" : {
20609 "description" : "Default gateway for IPv6 traffic.",
20610 "format" : "ipv6",
20611 "format_description" : "GatewayIPv6",
20612 "optional" : 1,
20613 "type" : "string"
20614 },
20615 "hwaddr" : {
20616 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 20617 "format" : "mac-addr",
4d47f125
TL
20618 "format_description" : "XX:XX:XX:XX:XX:XX",
20619 "optional" : 1,
95895385
TL
20620 "type" : "string",
20621 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
20622 },
20623 "ip" : {
20624 "description" : "IPv4 address in CIDR format.",
20625 "format" : "pve-ipv4-config",
20626 "format_description" : "(IPv4/CIDR|dhcp|manual)",
20627 "optional" : 1,
20628 "type" : "string"
20629 },
20630 "ip6" : {
20631 "description" : "IPv6 address in CIDR format.",
20632 "format" : "pve-ipv6-config",
20633 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
20634 "optional" : 1,
20635 "type" : "string"
20636 },
20637 "mtu" : {
20638 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
20639 "minimum" : 64,
20640 "optional" : 1,
20641 "type" : "integer"
20642 },
20643 "name" : {
20644 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
20645 "format_description" : "string",
20646 "pattern" : "[-_.\\w\\d]+",
20647 "type" : "string"
20648 },
20649 "rate" : {
20650 "description" : "Apply rate limiting to the interface",
20651 "format_description" : "mbps",
20652 "optional" : 1,
20653 "type" : "number"
20654 },
20655 "tag" : {
20656 "description" : "VLAN tag for this interface.",
20657 "maximum" : 4094,
20658 "minimum" : 1,
20659 "optional" : 1,
20660 "type" : "integer"
20661 },
20662 "trunks" : {
20663 "description" : "VLAN ids to pass through the interface",
20664 "format_description" : "vlanid[;vlanid...]",
20665 "optional" : 1,
20666 "pattern" : "(?^:\\d+(?:;\\d+)*)",
20667 "type" : "string"
20668 },
20669 "type" : {
20670 "description" : "Network interface type.",
20671 "enum" : [
20672 "veth"
20673 ],
20674 "optional" : 1,
20675 "type" : "string"
20676 }
20677 },
20678 "optional" : 1,
20679 "type" : "string"
20680 },
20681 "onboot" : {
20682 "default" : 0,
20683 "description" : "Specifies whether a VM will be started during system bootup.",
20684 "optional" : 1,
20685 "type" : "boolean"
20686 },
20687 "ostype" : {
20688 "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.",
20689 "enum" : [
20690 "debian",
20691 "ubuntu",
20692 "centos",
20693 "fedora",
20694 "opensuse",
20695 "archlinux",
20696 "alpine",
20697 "gentoo",
20698 "unmanaged"
20699 ],
20700 "optional" : 1,
20701 "type" : "string"
20702 },
20703 "protection" : {
20704 "default" : 0,
20705 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
20706 "optional" : 1,
20707 "type" : "boolean"
20708 },
20709 "rootfs" : {
20710 "description" : "Use volume as container root.",
20711 "format" : {
20712 "acl" : {
20713 "description" : "Explicitly enable or disable ACL support.",
20714 "optional" : 1,
20715 "type" : "boolean"
20716 },
7cbed89a
TL
20717 "mountoptions" : {
20718 "description" : "Extra mount options for rootfs/mps.",
20719 "format_description" : "opt[;opt...]",
20720 "optional" : 1,
20721 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
20722 "type" : "string"
20723 },
4d47f125
TL
20724 "quota" : {
20725 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
20726 "optional" : 1,
20727 "type" : "boolean"
20728 },
20729 "replicate" : {
20730 "default" : 1,
20731 "description" : "Will include this volume to a storage replica job.",
20732 "optional" : 1,
20733 "type" : "boolean"
20734 },
20735 "ro" : {
20736 "description" : "Read-only mount point",
20737 "optional" : 1,
20738 "type" : "boolean"
20739 },
20740 "shared" : {
20741 "default" : 0,
20742 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20743 "optional" : 1,
20744 "type" : "boolean",
20745 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
20746 },
20747 "size" : {
20748 "description" : "Volume size (read only value).",
20749 "format" : "disk-size",
20750 "format_description" : "DiskSize",
20751 "optional" : 1,
20752 "type" : "string"
20753 },
20754 "volume" : {
20755 "default_key" : 1,
20756 "description" : "Volume, device or directory to mount into the container.",
20757 "format" : "pve-lxc-mp-string",
20758 "format_description" : "volume",
20759 "type" : "string"
20760 }
20761 },
20762 "optional" : 1,
20763 "type" : "string"
20764 },
20765 "searchdomain" : {
20766 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
20767 "format" : "dns-name-list",
20768 "optional" : 1,
20769 "type" : "string"
20770 },
20771 "startup" : {
20772 "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.",
20773 "format" : "pve-startup-order",
20774 "optional" : 1,
20775 "type" : "string",
20776 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
20777 },
20778 "swap" : {
20779 "default" : 512,
20780 "description" : "Amount of SWAP for the VM in MB.",
20781 "minimum" : 0,
20782 "optional" : 1,
20783 "type" : "integer"
20784 },
5c1699e5
TL
20785 "tags" : {
20786 "description" : "Tags of the Container. This is only meta information.",
20787 "format" : "pve-tag-list",
20788 "optional" : 1,
20789 "type" : "string"
20790 },
4d47f125
TL
20791 "template" : {
20792 "default" : 0,
20793 "description" : "Enable/disable Template.",
20794 "optional" : 1,
20795 "type" : "boolean"
44660702 20796 },
4d47f125
TL
20797 "tty" : {
20798 "default" : 2,
20799 "description" : "Specify the number of tty available to the container",
20800 "maximum" : 6,
20801 "minimum" : 0,
20802 "optional" : 1,
20803 "type" : "integer"
20804 },
20805 "unprivileged" : {
20806 "default" : 0,
20807 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
20808 "optional" : 1,
20809 "type" : "boolean"
20810 },
20811 "unused[n]" : {
20812 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
20813 "format" : "pve-volume-id",
20814 "optional" : 1,
44660702
DM
20815 "type" : "string"
20816 }
20817 },
20818 "type" : "object"
20819 }
20820 },
56122987 20821 "PUT" : {
44660702
DM
20822 "description" : "Set container options.",
20823 "method" : "PUT",
20824 "name" : "update_vm",
56122987 20825 "parameters" : {
44660702 20826 "additionalProperties" : 0,
56122987 20827 "properties" : {
44660702
DM
20828 "arch" : {
20829 "default" : "amd64",
20830 "description" : "OS architecture type.",
20831 "enum" : [
20832 "amd64",
4d47f125
TL
20833 "i386",
20834 "arm64",
20835 "armhf"
44660702 20836 ],
7aacca6f 20837 "optional" : 1,
44660702
DM
20838 "type" : "string"
20839 },
20840 "cmode" : {
7aacca6f 20841 "default" : "tty",
44660702 20842 "description" : "Console mode. By default, the console command tries to open a connection to one of the available tty devices. By setting cmode to 'console' it tries to attach to /dev/console instead. If you set cmode to 'shell', it simply invokes a shell inside the container (no login).",
7aacca6f
DM
20843 "enum" : [
20844 "shell",
20845 "console",
20846 "tty"
20847 ],
44660702
DM
20848 "optional" : 1,
20849 "type" : "string"
7aacca6f 20850 },
44660702
DM
20851 "console" : {
20852 "default" : 1,
20853 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 20854 "optional" : 1,
013dc89f
DM
20855 "type" : "boolean",
20856 "typetext" : "<boolean>"
7aacca6f 20857 },
de0983cb
DM
20858 "cores" : {
20859 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
20860 "maximum" : 128,
20861 "minimum" : 1,
20862 "optional" : 1,
20863 "type" : "integer",
013dc89f 20864 "typetext" : "<integer> (1 - 128)"
de0983cb 20865 },
44660702
DM
20866 "cpulimit" : {
20867 "default" : 0,
20868 "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.",
20869 "maximum" : 128,
7aacca6f 20870 "minimum" : 0,
7aacca6f 20871 "optional" : 1,
4bd7df8b 20872 "type" : "number",
013dc89f 20873 "typetext" : "<number> (0 - 128)"
7aacca6f 20874 },
44660702
DM
20875 "cpuunits" : {
20876 "default" : 1024,
20877 "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.",
20878 "maximum" : 500000,
20879 "minimum" : 0,
20880 "optional" : 1,
4bd7df8b 20881 "type" : "integer",
013dc89f 20882 "typetext" : "<integer> (0 - 500000)"
7aacca6f 20883 },
44660702
DM
20884 "delete" : {
20885 "description" : "A list of settings you want to delete.",
20886 "format" : "pve-configid-list",
7aacca6f 20887 "optional" : 1,
013dc89f
DM
20888 "type" : "string",
20889 "typetext" : "<string>"
7aacca6f 20890 },
44660702
DM
20891 "description" : {
20892 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 20893 "optional" : 1,
013dc89f
DM
20894 "type" : "string",
20895 "typetext" : "<string>"
7aacca6f 20896 },
44660702
DM
20897 "digest" : {
20898 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20899 "maxLength" : 40,
7aacca6f 20900 "optional" : 1,
013dc89f
DM
20901 "type" : "string",
20902 "typetext" : "<string>"
7aacca6f 20903 },
4d47f125
TL
20904 "features" : {
20905 "description" : "Allow containers access to advanced features.",
20906 "format" : {
e2d681b3
TL
20907 "fuse" : {
20908 "default" : 0,
20909 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
20910 "optional" : 1,
20911 "type" : "boolean"
20912 },
4d47f125
TL
20913 "keyctl" : {
20914 "default" : 0,
20915 "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
20916 "optional" : 1,
20917 "type" : "boolean"
20918 },
20919 "mount" : {
20920 "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
20921 "format_description" : "fstype;fstype;...",
20922 "optional" : 1,
95895385 20923 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
20924 "type" : "string"
20925 },
20926 "nesting" : {
20927 "default" : 0,
20928 "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
20929 "optional" : 1,
20930 "type" : "boolean"
20931 }
20932 },
20933 "optional" : 1,
20934 "type" : "string",
e2d681b3 20935 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 20936 },
5f26e15b
TL
20937 "hookscript" : {
20938 "description" : "Script that will be exectued during various steps in the containers lifetime.",
20939 "format" : "pve-volume-id",
20940 "optional" : 1,
20941 "type" : "string",
20942 "typetext" : "<string>"
20943 },
44660702
DM
20944 "hostname" : {
20945 "description" : "Set a host name for the container.",
20946 "format" : "dns-name",
20947 "maxLength" : 255,
56122987 20948 "optional" : 1,
013dc89f
DM
20949 "type" : "string",
20950 "typetext" : "<string>"
44660702
DM
20951 },
20952 "lock" : {
20953 "description" : "Lock/unlock the VM.",
20954 "enum" : [
44660702 20955 "backup",
bb4c8cf8 20956 "create",
1c532546 20957 "destroyed",
4d47f125 20958 "disk",
bb4c8cf8 20959 "fstrim",
4d47f125
TL
20960 "migrate",
20961 "mounted",
20962 "rollback",
44660702 20963 "snapshot",
4d47f125 20964 "snapshot-delete"
44660702
DM
20965 ],
20966 "optional" : 1,
20967 "type" : "string"
20968 },
20969 "memory" : {
20970 "default" : 512,
20971 "description" : "Amount of RAM for the VM in MB.",
20972 "minimum" : 16,
20973 "optional" : 1,
4bd7df8b 20974 "type" : "integer",
013dc89f 20975 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
20976 },
20977 "mp[n]" : {
c2993fe5 20978 "description" : "Use volume as container mount point.",
7aacca6f 20979 "format" : {
7aacca6f
DM
20980 "acl" : {
20981 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 20982 "optional" : 1,
44660702 20983 "type" : "boolean"
7aacca6f
DM
20984 },
20985 "backup" : {
de0983cb 20986 "description" : "Whether to include the mount point in backups.",
7aacca6f 20987 "optional" : 1,
4bd7df8b 20988 "type" : "boolean",
de0983cb 20989 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f 20990 },
7cbed89a
TL
20991 "mountoptions" : {
20992 "description" : "Extra mount options for rootfs/mps.",
20993 "format_description" : "opt[;opt...]",
20994 "optional" : 1,
20995 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
20996 "type" : "string"
20997 },
7aacca6f 20998 "mp" : {
de0983cb 20999 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 21000 "format" : "pve-lxc-mp-string",
44660702 21001 "format_description" : "Path",
4bd7df8b 21002 "type" : "string",
de0983cb 21003 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 21004 },
5d9c884c
DM
21005 "quota" : {
21006 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
21007 "optional" : 1,
21008 "type" : "boolean"
21009 },
21010 "replicate" : {
21011 "default" : 1,
21012 "description" : "Will include this volume to a storage replica job.",
44660702
DM
21013 "optional" : 1,
21014 "type" : "boolean"
21015 },
21016 "ro" : {
de0983cb 21017 "description" : "Read-only mount point",
44660702
DM
21018 "optional" : 1,
21019 "type" : "boolean"
21020 },
de0983cb
DM
21021 "shared" : {
21022 "default" : 0,
21023 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
21024 "optional" : 1,
21025 "type" : "boolean",
21026 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
21027 },
44660702
DM
21028 "size" : {
21029 "description" : "Volume size (read only value).",
21030 "format" : "disk-size",
21031 "format_description" : "DiskSize",
21032 "optional" : 1,
21033 "type" : "string"
21034 },
21035 "volume" : {
21036 "default_key" : 1,
21037 "description" : "Volume, device or directory to mount into the container.",
21038 "format" : "pve-lxc-mp-string",
21039 "format_description" : "volume",
21040 "type" : "string"
21041 }
21042 },
7aacca6f 21043 "optional" : 1,
4bd7df8b 21044 "type" : "string",
7cbed89a 21045 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 21046 },
44660702
DM
21047 "nameserver" : {
21048 "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.",
21049 "format" : "address-list",
56122987 21050 "optional" : 1,
013dc89f
DM
21051 "type" : "string",
21052 "typetext" : "<string>"
56122987
DM
21053 },
21054 "net[n]" : {
44660702 21055 "description" : "Specifies network interfaces for the container.",
56122987 21056 "format" : {
44660702
DM
21057 "bridge" : {
21058 "description" : "Bridge to attach the network device to.",
f004f5b9 21059 "format_description" : "bridge",
56122987 21060 "optional" : 1,
44660702
DM
21061 "pattern" : "[-_.\\w\\d]+",
21062 "type" : "string"
56122987 21063 },
44660702
DM
21064 "firewall" : {
21065 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 21066 "optional" : 1,
44660702 21067 "type" : "boolean"
56122987 21068 },
44660702
DM
21069 "gw" : {
21070 "description" : "Default gateway for IPv4 traffic.",
21071 "format" : "ipv4",
21072 "format_description" : "GatewayIPv4",
56122987 21073 "optional" : 1,
44660702 21074 "type" : "string"
56122987
DM
21075 },
21076 "gw6" : {
7aacca6f 21077 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
21078 "format" : "ipv6",
21079 "format_description" : "GatewayIPv6",
7aacca6f 21080 "optional" : 1,
56122987
DM
21081 "type" : "string"
21082 },
44660702 21083 "hwaddr" : {
f004f5b9 21084 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 21085 "format" : "mac-addr",
f004f5b9 21086 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702 21087 "optional" : 1,
95895385
TL
21088 "type" : "string",
21089 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
44660702
DM
21090 },
21091 "ip" : {
21092 "description" : "IPv4 address in CIDR format.",
21093 "format" : "pve-ipv4-config",
2489d6df 21094 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 21095 "optional" : 1,
44660702 21096 "type" : "string"
56122987 21097 },
7aacca6f 21098 "ip6" : {
7aacca6f
DM
21099 "description" : "IPv6 address in CIDR format.",
21100 "format" : "pve-ipv6-config",
2489d6df 21101 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 21102 "optional" : 1,
44660702 21103 "type" : "string"
56122987 21104 },
44660702
DM
21105 "mtu" : {
21106 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 21107 "minimum" : 64,
56122987 21108 "optional" : 1,
44660702 21109 "type" : "integer"
56122987
DM
21110 },
21111 "name" : {
44660702 21112 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 21113 "format_description" : "string",
56122987 21114 "pattern" : "[-_.\\w\\d]+",
44660702 21115 "type" : "string"
56122987 21116 },
44660702
DM
21117 "rate" : {
21118 "description" : "Apply rate limiting to the interface",
21119 "format_description" : "mbps",
56122987 21120 "optional" : 1,
44660702 21121 "type" : "number"
7aacca6f 21122 },
44660702
DM
21123 "tag" : {
21124 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
21125 "maximum" : 4094,
21126 "minimum" : 1,
56122987 21127 "optional" : 1,
7aacca6f 21128 "type" : "integer"
56122987 21129 },
44660702
DM
21130 "trunks" : {
21131 "description" : "VLAN ids to pass through the interface",
21132 "format_description" : "vlanid[;vlanid...]",
21133 "optional" : 1,
21134 "pattern" : "(?^:\\d+(?:;\\d+)*)",
21135 "type" : "string"
21136 },
21137 "type" : {
21138 "description" : "Network interface type.",
21139 "enum" : [
21140 "veth"
21141 ],
56122987 21142 "optional" : 1,
44660702 21143 "type" : "string"
56122987
DM
21144 }
21145 },
7aacca6f 21146 "optional" : 1,
4bd7df8b 21147 "type" : "string",
2489d6df 21148 "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
56122987 21149 },
44660702
DM
21150 "node" : {
21151 "description" : "The cluster node name.",
21152 "format" : "pve-node",
013dc89f
DM
21153 "type" : "string",
21154 "typetext" : "<string>"
56122987 21155 },
44660702
DM
21156 "onboot" : {
21157 "default" : 0,
21158 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 21159 "optional" : 1,
013dc89f
DM
21160 "type" : "boolean",
21161 "typetext" : "<boolean>"
56122987 21162 },
44660702
DM
21163 "ostype" : {
21164 "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.",
21165 "enum" : [
21166 "debian",
21167 "ubuntu",
21168 "centos",
21169 "fedora",
21170 "opensuse",
21171 "archlinux",
21172 "alpine",
57b78691 21173 "gentoo",
44660702
DM
21174 "unmanaged"
21175 ],
56122987 21176 "optional" : 1,
44660702 21177 "type" : "string"
56122987 21178 },
44660702
DM
21179 "protection" : {
21180 "default" : 0,
21181 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 21182 "optional" : 1,
013dc89f
DM
21183 "type" : "boolean",
21184 "typetext" : "<boolean>"
56122987 21185 },
1c532546
TL
21186 "revert" : {
21187 "description" : "Revert a pending change.",
21188 "format" : "pve-configid-list",
21189 "optional" : 1,
21190 "type" : "string",
21191 "typetext" : "<string>"
21192 },
7aacca6f
DM
21193 "rootfs" : {
21194 "description" : "Use volume as container root.",
56122987
DM
21195 "format" : {
21196 "acl" : {
44660702 21197 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
21198 "optional" : 1,
21199 "type" : "boolean"
56122987 21200 },
7cbed89a
TL
21201 "mountoptions" : {
21202 "description" : "Extra mount options for rootfs/mps.",
21203 "format_description" : "opt[;opt...]",
21204 "optional" : 1,
21205 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
21206 "type" : "string"
21207 },
44660702
DM
21208 "quota" : {
21209 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
21210 "optional" : 1,
21211 "type" : "boolean"
21212 },
5d9c884c
DM
21213 "replicate" : {
21214 "default" : 1,
21215 "description" : "Will include this volume to a storage replica job.",
21216 "optional" : 1,
21217 "type" : "boolean"
21218 },
44660702 21219 "ro" : {
de0983cb 21220 "description" : "Read-only mount point",
56122987 21221 "optional" : 1,
44660702
DM
21222 "type" : "boolean"
21223 },
de0983cb
DM
21224 "shared" : {
21225 "default" : 0,
21226 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
21227 "optional" : 1,
21228 "type" : "boolean",
21229 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
21230 },
44660702 21231 "size" : {
7aacca6f 21232 "description" : "Volume size (read only value).",
44660702 21233 "format" : "disk-size",
56122987 21234 "format_description" : "DiskSize",
56122987 21235 "optional" : 1,
44660702 21236 "type" : "string"
7aacca6f
DM
21237 },
21238 "volume" : {
7aacca6f
DM
21239 "default_key" : 1,
21240 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
21241 "format" : "pve-lxc-mp-string",
21242 "format_description" : "volume",
7aacca6f 21243 "type" : "string"
56122987 21244 }
44660702
DM
21245 },
21246 "optional" : 1,
4bd7df8b 21247 "type" : "string",
7cbed89a 21248 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
21249 },
21250 "searchdomain" : {
21251 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
21252 "format" : "dns-name-list",
21253 "optional" : 1,
013dc89f
DM
21254 "type" : "string",
21255 "typetext" : "<string>"
44660702
DM
21256 },
21257 "startup" : {
21258 "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.",
21259 "format" : "pve-startup-order",
21260 "optional" : 1,
21261 "type" : "string",
21262 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
21263 },
21264 "swap" : {
21265 "default" : 512,
21266 "description" : "Amount of SWAP for the VM in MB.",
21267 "minimum" : 0,
21268 "optional" : 1,
4bd7df8b 21269 "type" : "integer",
013dc89f 21270 "typetext" : "<integer> (0 - N)"
56122987 21271 },
5c1699e5
TL
21272 "tags" : {
21273 "description" : "Tags of the Container. This is only meta information.",
21274 "format" : "pve-tag-list",
21275 "optional" : 1,
21276 "type" : "string",
21277 "typetext" : "<string>"
21278 },
56122987 21279 "template" : {
44660702 21280 "default" : 0,
7aacca6f 21281 "description" : "Enable/disable Template.",
56122987 21282 "optional" : 1,
013dc89f
DM
21283 "type" : "boolean",
21284 "typetext" : "<boolean>"
56122987 21285 },
44660702
DM
21286 "tty" : {
21287 "default" : 2,
21288 "description" : "Specify the number of tty available to the container",
21289 "maximum" : 6,
21290 "minimum" : 0,
21291 "optional" : 1,
4bd7df8b 21292 "type" : "integer",
013dc89f 21293 "typetext" : "<integer> (0 - 6)"
56122987 21294 },
44660702
DM
21295 "unprivileged" : {
21296 "default" : 0,
21297 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 21298 "optional" : 1,
013dc89f
DM
21299 "type" : "boolean",
21300 "typetext" : "<boolean>"
56122987 21301 },
44660702 21302 "unused[n]" : {
c2993fe5 21303 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 21304 "format" : "pve-volume-id",
56122987 21305 "optional" : 1,
013dc89f
DM
21306 "type" : "string",
21307 "typetext" : "<string>"
44660702
DM
21308 },
21309 "vmid" : {
21310 "description" : "The (unique) ID of the VM.",
21311 "format" : "pve-vmid",
21312 "minimum" : 1,
4bd7df8b 21313 "type" : "integer",
013dc89f 21314 "typetext" : "<integer> (1 - N)"
56122987 21315 }
44660702 21316 }
56122987 21317 },
56122987
DM
21318 "permissions" : {
21319 "check" : [
21320 "perm",
21321 "/vms/{vmid}",
21322 [
21323 "VM.Config.Disk",
21324 "VM.Config.CPU",
21325 "VM.Config.Memory",
21326 "VM.Config.Network",
21327 "VM.Config.Options"
21328 ],
21329 "any",
21330 1
52e44c50
FG
21331 ],
21332 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 21333 },
44660702
DM
21334 "protected" : 1,
21335 "proxyto" : "node",
56122987
DM
21336 "returns" : {
21337 "type" : "null"
7aacca6f 21338 }
56122987 21339 }
7aacca6f 21340 },
44660702 21341 "leaf" : 1,
7aacca6f 21342 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 21343 "text" : "config"
56122987
DM
21344 },
21345 {
56122987
DM
21346 "children" : [
21347 {
21348 "info" : {
21349 "GET" : {
44660702 21350 "description" : "Get virtual machine status.",
7aacca6f 21351 "method" : "GET",
44660702 21352 "name" : "vm_status",
56122987 21353 "parameters" : {
44660702 21354 "additionalProperties" : 0,
56122987 21355 "properties" : {
56122987 21356 "node" : {
44660702 21357 "description" : "The cluster node name.",
56122987 21358 "format" : "pve-node",
013dc89f
DM
21359 "type" : "string",
21360 "typetext" : "<string>"
7aacca6f
DM
21361 },
21362 "vmid" : {
21363 "description" : "The (unique) ID of the VM.",
44660702 21364 "format" : "pve-vmid",
7aacca6f 21365 "minimum" : 1,
4bd7df8b 21366 "type" : "integer",
013dc89f 21367 "typetext" : "<integer> (1 - N)"
56122987 21368 }
44660702 21369 }
7aacca6f
DM
21370 },
21371 "permissions" : {
21372 "check" : [
21373 "perm",
21374 "/vms/{vmid}",
21375 [
4d47f125
TL
21376 "VM.Audit"
21377 ]
21378 ]
21379 },
21380 "protected" : 1,
21381 "proxyto" : "node",
21382 "returns" : {
21383 "properties" : {
21384 "cpus" : {
21385 "description" : "Maximum usable CPUs.",
21386 "optional" : 1,
21387 "type" : "number"
21388 },
21389 "ha" : {
21390 "description" : "HA manager service status.",
21391 "type" : "object"
21392 },
95895385
TL
21393 "lock" : {
21394 "description" : "The current config lock, if any.",
21395 "optional" : 1,
21396 "type" : "string"
21397 },
4d47f125
TL
21398 "maxdisk" : {
21399 "description" : "Root disk size in bytes.",
21400 "optional" : 1,
21401 "renderer" : "bytes",
21402 "type" : "integer"
21403 },
21404 "maxmem" : {
21405 "description" : "Maximum memory in bytes.",
21406 "optional" : 1,
21407 "renderer" : "bytes",
21408 "type" : "integer"
21409 },
21410 "maxswap" : {
21411 "description" : "Maximum SWAP memory in bytes.",
21412 "optional" : 1,
21413 "renderer" : "bytes",
21414 "type" : "integer"
21415 },
21416 "name" : {
21417 "description" : "Container name.",
21418 "optional" : 1,
21419 "type" : "string"
21420 },
21421 "status" : {
21422 "description" : "LXC Container status.",
21423 "enum" : [
21424 "stopped",
21425 "running"
21426 ],
21427 "type" : "string"
21428 },
5c1699e5
TL
21429 "tags" : {
21430 "description" : "The current configured tags, if any.",
21431 "optional" : 1,
21432 "type" : "string"
21433 },
4d47f125
TL
21434 "uptime" : {
21435 "description" : "Uptime.",
21436 "optional" : 1,
21437 "renderer" : "duration",
21438 "type" : "integer"
21439 },
21440 "vmid" : {
21441 "description" : "The (unique) ID of the VM.",
21442 "format" : "pve-vmid",
21443 "minimum" : 1,
21444 "type" : "integer"
21445 }
21446 },
21447 "type" : "object"
21448 }
21449 }
21450 },
21451 "leaf" : 1,
21452 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
21453 "text" : "current"
21454 },
21455 {
21456 "info" : {
21457 "POST" : {
21458 "description" : "Start the container.",
21459 "method" : "POST",
21460 "name" : "vm_start",
21461 "parameters" : {
21462 "additionalProperties" : 0,
21463 "properties" : {
21464 "node" : {
21465 "description" : "The cluster node name.",
21466 "format" : "pve-node",
21467 "type" : "string",
21468 "typetext" : "<string>"
21469 },
21470 "skiplock" : {
21471 "description" : "Ignore locks - only root is allowed to use this option.",
21472 "optional" : 1,
21473 "type" : "boolean",
21474 "typetext" : "<boolean>"
21475 },
21476 "vmid" : {
21477 "description" : "The (unique) ID of the VM.",
21478 "format" : "pve-vmid",
21479 "minimum" : 1,
21480 "type" : "integer",
21481 "typetext" : "<integer> (1 - N)"
21482 }
21483 }
21484 },
21485 "permissions" : {
21486 "check" : [
21487 "perm",
21488 "/vms/{vmid}",
21489 [
21490 "VM.PowerMgmt"
21491 ]
21492 ]
21493 },
21494 "protected" : 1,
21495 "proxyto" : "node",
21496 "returns" : {
21497 "type" : "string"
21498 }
21499 }
21500 },
21501 "leaf" : 1,
21502 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
21503 "text" : "start"
21504 },
21505 {
21506 "info" : {
21507 "POST" : {
21508 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
21509 "method" : "POST",
21510 "name" : "vm_stop",
21511 "parameters" : {
21512 "additionalProperties" : 0,
21513 "properties" : {
21514 "node" : {
21515 "description" : "The cluster node name.",
21516 "format" : "pve-node",
21517 "type" : "string",
21518 "typetext" : "<string>"
21519 },
21520 "skiplock" : {
21521 "description" : "Ignore locks - only root is allowed to use this option.",
21522 "optional" : 1,
21523 "type" : "boolean",
21524 "typetext" : "<boolean>"
21525 },
21526 "vmid" : {
21527 "description" : "The (unique) ID of the VM.",
21528 "format" : "pve-vmid",
21529 "minimum" : 1,
21530 "type" : "integer",
21531 "typetext" : "<integer> (1 - N)"
21532 }
21533 }
21534 },
21535 "permissions" : {
21536 "check" : [
21537 "perm",
21538 "/vms/{vmid}",
21539 [
21540 "VM.PowerMgmt"
21541 ]
21542 ]
21543 },
21544 "protected" : 1,
21545 "proxyto" : "node",
21546 "returns" : {
21547 "type" : "string"
21548 }
21549 }
21550 },
21551 "leaf" : 1,
21552 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
21553 "text" : "stop"
21554 },
21555 {
21556 "info" : {
21557 "POST" : {
21558 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
21559 "method" : "POST",
21560 "name" : "vm_shutdown",
21561 "parameters" : {
21562 "additionalProperties" : 0,
21563 "properties" : {
21564 "forceStop" : {
21565 "default" : 0,
21566 "description" : "Make sure the Container stops.",
21567 "optional" : 1,
21568 "type" : "boolean",
21569 "typetext" : "<boolean>"
21570 },
21571 "node" : {
21572 "description" : "The cluster node name.",
21573 "format" : "pve-node",
21574 "type" : "string",
21575 "typetext" : "<string>"
21576 },
21577 "timeout" : {
21578 "default" : 60,
21579 "description" : "Wait maximal timeout seconds.",
21580 "minimum" : 0,
21581 "optional" : 1,
21582 "type" : "integer",
21583 "typetext" : "<integer> (0 - N)"
21584 },
21585 "vmid" : {
21586 "description" : "The (unique) ID of the VM.",
21587 "format" : "pve-vmid",
21588 "minimum" : 1,
21589 "type" : "integer",
21590 "typetext" : "<integer> (1 - N)"
21591 }
21592 }
21593 },
21594 "permissions" : {
21595 "check" : [
21596 "perm",
21597 "/vms/{vmid}",
21598 [
21599 "VM.PowerMgmt"
7aacca6f
DM
21600 ]
21601 ]
21602 },
44660702 21603 "protected" : 1,
7aacca6f 21604 "proxyto" : "node",
44660702 21605 "returns" : {
4d47f125 21606 "type" : "string"
44660702 21607 }
56122987
DM
21608 }
21609 },
44660702 21610 "leaf" : 1,
4d47f125
TL
21611 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
21612 "text" : "shutdown"
56122987
DM
21613 },
21614 {
56122987
DM
21615 "info" : {
21616 "POST" : {
4d47f125 21617 "description" : "Suspend the container.",
44660702 21618 "method" : "POST",
4d47f125 21619 "name" : "vm_suspend",
56122987
DM
21620 "parameters" : {
21621 "additionalProperties" : 0,
21622 "properties" : {
56122987 21623 "node" : {
7aacca6f 21624 "description" : "The cluster node name.",
44660702 21625 "format" : "pve-node",
013dc89f
DM
21626 "type" : "string",
21627 "typetext" : "<string>"
56122987
DM
21628 },
21629 "vmid" : {
7aacca6f 21630 "description" : "The (unique) ID of the VM.",
44660702 21631 "format" : "pve-vmid",
56122987 21632 "minimum" : 1,
4bd7df8b 21633 "type" : "integer",
013dc89f 21634 "typetext" : "<integer> (1 - N)"
56122987
DM
21635 }
21636 }
21637 },
21638 "permissions" : {
21639 "check" : [
21640 "perm",
21641 "/vms/{vmid}",
21642 [
21643 "VM.PowerMgmt"
21644 ]
21645 ]
21646 },
44660702 21647 "protected" : 1,
7aacca6f 21648 "proxyto" : "node",
44660702
DM
21649 "returns" : {
21650 "type" : "string"
21651 }
21652 }
21653 },
21654 "leaf" : 1,
4d47f125
TL
21655 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
21656 "text" : "suspend"
44660702
DM
21657 },
21658 {
21659 "info" : {
21660 "POST" : {
4d47f125 21661 "description" : "Resume the container.",
7aacca6f 21662 "method" : "POST",
4d47f125 21663 "name" : "vm_resume",
7aacca6f 21664 "parameters" : {
44660702 21665 "additionalProperties" : 0,
7aacca6f 21666 "properties" : {
44660702
DM
21667 "node" : {
21668 "description" : "The cluster node name.",
21669 "format" : "pve-node",
013dc89f
DM
21670 "type" : "string",
21671 "typetext" : "<string>"
44660702 21672 },
7aacca6f 21673 "vmid" : {
44660702 21674 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21675 "format" : "pve-vmid",
21676 "minimum" : 1,
4bd7df8b 21677 "type" : "integer",
013dc89f 21678 "typetext" : "<integer> (1 - N)"
7aacca6f 21679 }
44660702
DM
21680 }
21681 },
21682 "permissions" : {
21683 "check" : [
21684 "perm",
21685 "/vms/{vmid}",
21686 [
21687 "VM.PowerMgmt"
21688 ]
21689 ]
7aacca6f 21690 },
44660702
DM
21691 "protected" : 1,
21692 "proxyto" : "node",
21693 "returns" : {
21694 "type" : "string"
21695 }
56122987 21696 }
7aacca6f 21697 },
7aacca6f 21698 "leaf" : 1,
4d47f125
TL
21699 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
21700 "text" : "resume"
5c1699e5
TL
21701 },
21702 {
21703 "info" : {
21704 "POST" : {
21705 "description" : "Reboot the container by shutting it down, and starting it again. Applies pending changes.",
21706 "method" : "POST",
21707 "name" : "vm_reboot",
21708 "parameters" : {
21709 "additionalProperties" : 0,
21710 "properties" : {
21711 "node" : {
21712 "description" : "The cluster node name.",
21713 "format" : "pve-node",
21714 "type" : "string",
21715 "typetext" : "<string>"
21716 },
21717 "timeout" : {
21718 "description" : "Wait maximal timeout seconds for the shutdown.",
21719 "minimum" : 0,
21720 "optional" : 1,
21721 "type" : "integer",
21722 "typetext" : "<integer> (0 - N)"
21723 },
21724 "vmid" : {
21725 "description" : "The (unique) ID of the VM.",
21726 "format" : "pve-vmid",
21727 "minimum" : 1,
21728 "type" : "integer",
21729 "typetext" : "<integer> (1 - N)"
21730 }
21731 }
21732 },
21733 "permissions" : {
21734 "check" : [
21735 "perm",
21736 "/vms/{vmid}",
21737 [
21738 "VM.PowerMgmt"
21739 ]
21740 ]
21741 },
21742 "protected" : 1,
21743 "proxyto" : "node",
21744 "returns" : {
21745 "type" : "string"
21746 }
21747 }
21748 },
21749 "leaf" : 1,
21750 "path" : "/nodes/{node}/lxc/{vmid}/status/reboot",
21751 "text" : "reboot"
4d47f125
TL
21752 }
21753 ],
21754 "info" : {
21755 "GET" : {
21756 "description" : "Directory index",
21757 "method" : "GET",
21758 "name" : "vmcmdidx",
21759 "parameters" : {
21760 "additionalProperties" : 0,
21761 "properties" : {
21762 "node" : {
21763 "description" : "The cluster node name.",
21764 "format" : "pve-node",
21765 "type" : "string",
21766 "typetext" : "<string>"
21767 },
21768 "vmid" : {
21769 "description" : "The (unique) ID of the VM.",
21770 "format" : "pve-vmid",
21771 "minimum" : 1,
21772 "type" : "integer",
21773 "typetext" : "<integer> (1 - N)"
21774 }
21775 }
21776 },
21777 "permissions" : {
21778 "user" : "all"
21779 },
21780 "proxyto" : "node",
21781 "returns" : {
21782 "items" : {
21783 "properties" : {
21784 "subdir" : {
21785 "type" : "string"
21786 }
21787 },
21788 "type" : "object"
21789 },
21790 "links" : [
21791 {
21792 "href" : "{subdir}",
21793 "rel" : "child"
21794 }
21795 ],
21796 "type" : "array"
21797 }
21798 }
21799 },
21800 "leaf" : 0,
21801 "path" : "/nodes/{node}/lxc/{vmid}/status",
21802 "text" : "status"
21803 },
21804 {
21805 "children" : [
56122987 21806 {
4d47f125
TL
21807 "children" : [
21808 {
21809 "info" : {
21810 "POST" : {
21811 "description" : "Rollback LXC state to specified snapshot.",
21812 "method" : "POST",
21813 "name" : "rollback",
21814 "parameters" : {
21815 "additionalProperties" : 0,
21816 "properties" : {
21817 "node" : {
21818 "description" : "The cluster node name.",
21819 "format" : "pve-node",
21820 "type" : "string",
21821 "typetext" : "<string>"
21822 },
21823 "snapname" : {
21824 "description" : "The name of the snapshot.",
21825 "format" : "pve-configid",
21826 "maxLength" : 40,
21827 "type" : "string",
21828 "typetext" : "<string>"
21829 },
21830 "vmid" : {
21831 "description" : "The (unique) ID of the VM.",
21832 "format" : "pve-vmid",
21833 "minimum" : 1,
21834 "type" : "integer",
21835 "typetext" : "<integer> (1 - N)"
21836 }
21837 }
21838 },
21839 "permissions" : {
21840 "check" : [
21841 "perm",
21842 "/vms/{vmid}",
21843 [
21844 "VM.Snapshot",
21845 "VM.Snapshot.Rollback"
21846 ],
21847 "any",
21848 1
21849 ]
21850 },
21851 "protected" : 1,
21852 "proxyto" : "node",
21853 "returns" : {
21854 "description" : "the task ID.",
21855 "type" : "string"
21856 }
21857 }
21858 },
21859 "leaf" : 1,
21860 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
21861 "text" : "rollback"
21862 },
21863 {
21864 "info" : {
21865 "GET" : {
21866 "description" : "Get snapshot configuration",
21867 "method" : "GET",
21868 "name" : "get_snapshot_config",
21869 "parameters" : {
21870 "additionalProperties" : 0,
21871 "properties" : {
21872 "node" : {
21873 "description" : "The cluster node name.",
21874 "format" : "pve-node",
21875 "type" : "string",
21876 "typetext" : "<string>"
21877 },
21878 "snapname" : {
21879 "description" : "The name of the snapshot.",
21880 "format" : "pve-configid",
21881 "maxLength" : 40,
21882 "type" : "string",
21883 "typetext" : "<string>"
21884 },
21885 "vmid" : {
21886 "description" : "The (unique) ID of the VM.",
21887 "format" : "pve-vmid",
21888 "minimum" : 1,
21889 "type" : "integer",
21890 "typetext" : "<integer> (1 - N)"
21891 }
21892 }
21893 },
21894 "permissions" : {
21895 "check" : [
21896 "perm",
21897 "/vms/{vmid}",
21898 [
21899 "VM.Snapshot",
21900 "VM.Snapshot.Rollback"
21901 ],
21902 "any",
21903 1
21904 ]
21905 },
21906 "proxyto" : "node",
21907 "returns" : {
21908 "type" : "object"
21909 }
21910 },
21911 "PUT" : {
21912 "description" : "Update snapshot metadata.",
21913 "method" : "PUT",
21914 "name" : "update_snapshot_config",
21915 "parameters" : {
21916 "additionalProperties" : 0,
21917 "properties" : {
21918 "description" : {
21919 "description" : "A textual description or comment.",
21920 "optional" : 1,
21921 "type" : "string",
21922 "typetext" : "<string>"
21923 },
21924 "node" : {
21925 "description" : "The cluster node name.",
21926 "format" : "pve-node",
21927 "type" : "string",
21928 "typetext" : "<string>"
21929 },
21930 "snapname" : {
21931 "description" : "The name of the snapshot.",
21932 "format" : "pve-configid",
21933 "maxLength" : 40,
21934 "type" : "string",
21935 "typetext" : "<string>"
21936 },
21937 "vmid" : {
21938 "description" : "The (unique) ID of the VM.",
21939 "format" : "pve-vmid",
21940 "minimum" : 1,
21941 "type" : "integer",
21942 "typetext" : "<integer> (1 - N)"
21943 }
21944 }
21945 },
21946 "permissions" : {
21947 "check" : [
21948 "perm",
21949 "/vms/{vmid}",
21950 [
21951 "VM.Snapshot"
21952 ]
21953 ]
21954 },
21955 "protected" : 1,
21956 "proxyto" : "node",
21957 "returns" : {
21958 "type" : "null"
21959 }
21960 }
21961 },
21962 "leaf" : 1,
21963 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
21964 "text" : "config"
21965 }
21966 ],
56122987 21967 "info" : {
4d47f125
TL
21968 "DELETE" : {
21969 "description" : "Delete a LXC snapshot.",
21970 "method" : "DELETE",
21971 "name" : "delsnapshot",
56122987 21972 "parameters" : {
44660702 21973 "additionalProperties" : 0,
56122987 21974 "properties" : {
4d47f125
TL
21975 "force" : {
21976 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 21977 "optional" : 1,
013dc89f
DM
21978 "type" : "boolean",
21979 "typetext" : "<boolean>"
44660702
DM
21980 },
21981 "node" : {
21982 "description" : "The cluster node name.",
21983 "format" : "pve-node",
013dc89f
DM
21984 "type" : "string",
21985 "typetext" : "<string>"
7aacca6f 21986 },
4d47f125
TL
21987 "snapname" : {
21988 "description" : "The name of the snapshot.",
21989 "format" : "pve-configid",
21990 "maxLength" : 40,
21991 "type" : "string",
21992 "typetext" : "<string>"
56122987
DM
21993 },
21994 "vmid" : {
7aacca6f 21995 "description" : "The (unique) ID of the VM.",
44660702
DM
21996 "format" : "pve-vmid",
21997 "minimum" : 1,
4bd7df8b 21998 "type" : "integer",
013dc89f 21999 "typetext" : "<integer> (1 - N)"
56122987 22000 }
44660702 22001 }
56122987
DM
22002 },
22003 "permissions" : {
22004 "check" : [
22005 "perm",
22006 "/vms/{vmid}",
22007 [
4d47f125 22008 "VM.Snapshot"
56122987
DM
22009 ]
22010 ]
22011 },
44660702
DM
22012 "protected" : 1,
22013 "proxyto" : "node",
7aacca6f 22014 "returns" : {
4d47f125 22015 "description" : "the task ID.",
7aacca6f
DM
22016 "type" : "string"
22017 }
4d47f125
TL
22018 },
22019 "GET" : {
22020 "description" : "",
22021 "method" : "GET",
22022 "name" : "snapshot_cmd_idx",
56122987
DM
22023 "parameters" : {
22024 "additionalProperties" : 0,
22025 "properties" : {
44660702
DM
22026 "node" : {
22027 "description" : "The cluster node name.",
22028 "format" : "pve-node",
013dc89f
DM
22029 "type" : "string",
22030 "typetext" : "<string>"
44660702 22031 },
4d47f125
TL
22032 "snapname" : {
22033 "description" : "The name of the snapshot.",
22034 "format" : "pve-configid",
22035 "maxLength" : 40,
013dc89f
DM
22036 "type" : "string",
22037 "typetext" : "<string>"
56122987
DM
22038 },
22039 "vmid" : {
7aacca6f 22040 "description" : "The (unique) ID of the VM.",
56122987 22041 "format" : "pve-vmid",
44660702 22042 "minimum" : 1,
4bd7df8b 22043 "type" : "integer",
013dc89f 22044 "typetext" : "<integer> (1 - N)"
56122987 22045 }
44660702
DM
22046 }
22047 },
22048 "permissions" : {
4d47f125 22049 "user" : "all"
56122987 22050 },
44660702 22051 "returns" : {
4d47f125
TL
22052 "items" : {
22053 "properties" : {},
22054 "type" : "object"
22055 },
22056 "links" : [
22057 {
22058 "href" : "{cmd}",
22059 "rel" : "child"
22060 }
22061 ],
22062 "type" : "array"
44660702 22063 }
7aacca6f
DM
22064 }
22065 },
4d47f125
TL
22066 "leaf" : 0,
22067 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
22068 "text" : "{snapname}"
7aacca6f
DM
22069 }
22070 ],
22071 "info" : {
22072 "GET" : {
4d47f125 22073 "description" : "List all snapshots.",
44660702 22074 "method" : "GET",
4d47f125 22075 "name" : "list",
7aacca6f
DM
22076 "parameters" : {
22077 "additionalProperties" : 0,
22078 "properties" : {
22079 "node" : {
22080 "description" : "The cluster node name.",
44660702 22081 "format" : "pve-node",
013dc89f
DM
22082 "type" : "string",
22083 "typetext" : "<string>"
56122987 22084 },
7aacca6f 22085 "vmid" : {
44660702 22086 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
22087 "format" : "pve-vmid",
22088 "minimum" : 1,
4bd7df8b 22089 "type" : "integer",
013dc89f 22090 "typetext" : "<integer> (1 - N)"
7aacca6f 22091 }
56122987
DM
22092 }
22093 },
44660702 22094 "permissions" : {
4d47f125
TL
22095 "check" : [
22096 "perm",
22097 "/vms/{vmid}",
22098 [
22099 "VM.Audit"
22100 ]
22101 ]
44660702 22102 },
4d47f125 22103 "protected" : 1,
44660702 22104 "proxyto" : "node",
7aacca6f 22105 "returns" : {
7aacca6f
DM
22106 "items" : {
22107 "properties" : {
4d47f125
TL
22108 "description" : {
22109 "description" : "Snapshot description.",
7aacca6f 22110 "type" : "string"
4d47f125
TL
22111 },
22112 "name" : {
22113 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
22114 "type" : "string"
22115 },
22116 "parent" : {
22117 "description" : "Parent snapshot identifier.",
22118 "optional" : 1,
22119 "type" : "string"
22120 },
22121 "snaptime" : {
22122 "description" : "Snapshot creation time",
22123 "optional" : 1,
22124 "renderer" : "timestamp",
22125 "type" : "integer"
7aacca6f
DM
22126 }
22127 },
22128 "type" : "object"
22129 },
22130 "links" : [
22131 {
4d47f125 22132 "href" : "{name}",
44660702 22133 "rel" : "child"
7aacca6f 22134 }
44660702
DM
22135 ],
22136 "type" : "array"
7aacca6f 22137 }
4d47f125
TL
22138 },
22139 "POST" : {
22140 "description" : "Snapshot a container.",
22141 "method" : "POST",
22142 "name" : "snapshot",
22143 "parameters" : {
22144 "additionalProperties" : 0,
22145 "properties" : {
22146 "description" : {
22147 "description" : "A textual description or comment.",
22148 "optional" : 1,
22149 "type" : "string",
22150 "typetext" : "<string>"
22151 },
22152 "node" : {
22153 "description" : "The cluster node name.",
22154 "format" : "pve-node",
22155 "type" : "string",
22156 "typetext" : "<string>"
22157 },
22158 "snapname" : {
22159 "description" : "The name of the snapshot.",
22160 "format" : "pve-configid",
22161 "maxLength" : 40,
22162 "type" : "string",
22163 "typetext" : "<string>"
22164 },
22165 "vmid" : {
22166 "description" : "The (unique) ID of the VM.",
22167 "format" : "pve-vmid",
22168 "minimum" : 1,
22169 "type" : "integer",
22170 "typetext" : "<integer> (1 - N)"
22171 }
22172 }
22173 },
22174 "permissions" : {
22175 "check" : [
22176 "perm",
22177 "/vms/{vmid}",
22178 [
22179 "VM.Snapshot"
22180 ]
22181 ]
22182 },
22183 "protected" : 1,
22184 "proxyto" : "node",
22185 "returns" : {
22186 "description" : "the task ID.",
22187 "type" : "string"
22188 }
7aacca6f 22189 }
44660702
DM
22190 },
22191 "leaf" : 0,
4d47f125
TL
22192 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
22193 "text" : "snapshot"
7aacca6f
DM
22194 },
22195 {
7aacca6f 22196 "children" : [
56122987 22197 {
7aacca6f
DM
22198 "children" : [
22199 {
22200 "info" : {
4d47f125
TL
22201 "DELETE" : {
22202 "description" : "Delete rule.",
22203 "method" : "DELETE",
22204 "name" : "delete_rule",
7aacca6f 22205 "parameters" : {
44660702 22206 "additionalProperties" : 0,
7aacca6f 22207 "properties" : {
4d47f125
TL
22208 "digest" : {
22209 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22210 "maxLength" : 40,
22211 "optional" : 1,
22212 "type" : "string",
22213 "typetext" : "<string>"
22214 },
44660702
DM
22215 "node" : {
22216 "description" : "The cluster node name.",
22217 "format" : "pve-node",
013dc89f
DM
22218 "type" : "string",
22219 "typetext" : "<string>"
44660702 22220 },
4d47f125
TL
22221 "pos" : {
22222 "description" : "Update rule at position <pos>.",
22223 "minimum" : 0,
22224 "optional" : 1,
22225 "type" : "integer",
22226 "typetext" : "<integer> (0 - N)"
7aacca6f 22227 },
7aacca6f 22228 "vmid" : {
44660702 22229 "description" : "The (unique) ID of the VM.",
7aacca6f 22230 "format" : "pve-vmid",
44660702 22231 "minimum" : 1,
4bd7df8b 22232 "type" : "integer",
013dc89f 22233 "typetext" : "<integer> (1 - N)"
7aacca6f 22234 }
44660702
DM
22235 }
22236 },
22237 "permissions" : {
22238 "check" : [
22239 "perm",
22240 "/vms/{vmid}",
22241 [
4d47f125
TL
22242 "VM.Config.Network"
22243 ]
44660702 22244 ]
7aacca6f 22245 },
44660702 22246 "protected" : 1,
4d47f125 22247 "proxyto" : null,
44660702 22248 "returns" : {
4d47f125 22249 "type" : "null"
44660702 22250 }
4d47f125 22251 },
7aacca6f 22252 "GET" : {
4d47f125 22253 "description" : "Get single rule data.",
44660702 22254 "method" : "GET",
4d47f125 22255 "name" : "get_rule",
7aacca6f
DM
22256 "parameters" : {
22257 "additionalProperties" : 0,
4d47f125
TL
22258 "properties" : {
22259 "node" : {
22260 "description" : "The cluster node name.",
22261 "format" : "pve-node",
013dc89f
DM
22262 "type" : "string",
22263 "typetext" : "<string>"
44660702 22264 },
4d47f125
TL
22265 "pos" : {
22266 "description" : "Update rule at position <pos>.",
22267 "minimum" : 0,
22268 "optional" : 1,
22269 "type" : "integer",
22270 "typetext" : "<integer> (0 - N)"
22271 },
44660702
DM
22272 "vmid" : {
22273 "description" : "The (unique) ID of the VM.",
22274 "format" : "pve-vmid",
22275 "minimum" : 1,
4bd7df8b 22276 "type" : "integer",
013dc89f 22277 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
22278 }
22279 }
22280 },
22281 "permissions" : {
22282 "check" : [
22283 "perm",
22284 "/vms/{vmid}",
22285 [
4d47f125
TL
22286 "VM.Audit"
22287 ]
7aacca6f
DM
22288 ]
22289 },
4d47f125 22290 "proxyto" : null,
44660702 22291 "returns" : {
4d47f125 22292 "properties" : {
e2d681b3
TL
22293 "action" : {
22294 "type" : "string"
22295 },
22296 "comment" : {
22297 "optional" : 1,
22298 "type" : "string"
22299 },
22300 "dest" : {
22301 "optional" : 1,
22302 "type" : "string"
22303 },
22304 "dport" : {
22305 "optional" : 1,
22306 "type" : "string"
22307 },
22308 "enable" : {
22309 "optional" : 1,
22310 "type" : "integer"
22311 },
22312 "iface" : {
22313 "optional" : 1,
22314 "type" : "string"
22315 },
22316 "ipversion" : {
22317 "optional" : 1,
22318 "type" : "integer"
22319 },
95895385
TL
22320 "log" : {
22321 "description" : "Log level for firewall rule",
22322 "enum" : [
22323 "emerg",
22324 "alert",
22325 "crit",
22326 "err",
22327 "warning",
22328 "notice",
22329 "info",
22330 "debug",
22331 "nolog"
22332 ],
22333 "optional" : 1,
22334 "type" : "string"
22335 },
e2d681b3
TL
22336 "macro" : {
22337 "optional" : 1,
5f26e15b 22338 "type" : "string"
e2d681b3 22339 },
4d47f125
TL
22340 "pos" : {
22341 "type" : "integer"
e2d681b3
TL
22342 },
22343 "proto" : {
22344 "optional" : 1,
22345 "type" : "string"
22346 },
22347 "source" : {
22348 "optional" : 1,
22349 "type" : "string"
22350 },
22351 "sport" : {
22352 "optional" : 1,
22353 "type" : "string"
22354 },
22355 "type" : {
22356 "type" : "string"
4d47f125
TL
22357 }
22358 },
44660702
DM
22359 "type" : "object"
22360 }
7aacca6f
DM
22361 },
22362 "PUT" : {
4d47f125 22363 "description" : "Modify rule data.",
44660702 22364 "method" : "PUT",
4d47f125 22365 "name" : "update_rule",
7aacca6f
DM
22366 "parameters" : {
22367 "additionalProperties" : 0,
22368 "properties" : {
4d47f125
TL
22369 "action" : {
22370 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
22371 "maxLength" : 20,
22372 "minLength" : 2,
22373 "optional" : 1,
22374 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22375 "type" : "string"
22376 },
22377 "comment" : {
22378 "description" : "Descriptive comment.",
22379 "optional" : 1,
22380 "type" : "string",
22381 "typetext" : "<string>"
22382 },
22383 "delete" : {
22384 "description" : "A list of settings you want to delete.",
22385 "format" : "pve-configid-list",
22386 "optional" : 1,
22387 "type" : "string",
22388 "typetext" : "<string>"
22389 },
22390 "dest" : {
22391 "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.",
22392 "format" : "pve-fw-addr-spec",
22393 "optional" : 1,
22394 "type" : "string",
22395 "typetext" : "<string>"
22396 },
22397 "digest" : {
22398 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22399 "maxLength" : 40,
22400 "optional" : 1,
22401 "type" : "string",
22402 "typetext" : "<string>"
22403 },
22404 "dport" : {
22405 "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.",
22406 "format" : "pve-fw-dport-spec",
22407 "optional" : 1,
22408 "type" : "string",
22409 "typetext" : "<string>"
22410 },
22411 "enable" : {
22412 "description" : "Flag to enable/disable a rule.",
22413 "minimum" : 0,
22414 "optional" : 1,
22415 "type" : "integer",
22416 "typetext" : "<integer> (0 - N)"
22417 },
22418 "iface" : {
22419 "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.",
22420 "format" : "pve-iface",
22421 "maxLength" : 20,
22422 "minLength" : 2,
22423 "optional" : 1,
22424 "type" : "string",
22425 "typetext" : "<string>"
22426 },
95895385
TL
22427 "log" : {
22428 "description" : "Log level for firewall rule.",
22429 "enum" : [
22430 "emerg",
22431 "alert",
22432 "crit",
22433 "err",
22434 "warning",
22435 "notice",
22436 "info",
22437 "debug",
22438 "nolog"
22439 ],
22440 "optional" : 1,
22441 "type" : "string"
22442 },
4d47f125
TL
22443 "macro" : {
22444 "description" : "Use predefined standard macro.",
22445 "maxLength" : 128,
44660702 22446 "optional" : 1,
013dc89f
DM
22447 "type" : "string",
22448 "typetext" : "<string>"
44660702 22449 },
4d47f125
TL
22450 "moveto" : {
22451 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
22452 "minimum" : 0,
22453 "optional" : 1,
22454 "type" : "integer",
22455 "typetext" : "<integer> (0 - N)"
22456 },
7aacca6f 22457 "node" : {
7aacca6f 22458 "description" : "The cluster node name.",
44660702 22459 "format" : "pve-node",
013dc89f
DM
22460 "type" : "string",
22461 "typetext" : "<string>"
7aacca6f 22462 },
4d47f125
TL
22463 "pos" : {
22464 "description" : "Update rule at position <pos>.",
22465 "minimum" : 0,
22466 "optional" : 1,
22467 "type" : "integer",
22468 "typetext" : "<integer> (0 - N)"
22469 },
22470 "proto" : {
22471 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
22472 "format" : "pve-fw-protocol-spec",
22473 "optional" : 1,
22474 "type" : "string",
22475 "typetext" : "<string>"
22476 },
22477 "source" : {
22478 "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.",
22479 "format" : "pve-fw-addr-spec",
22480 "optional" : 1,
22481 "type" : "string",
22482 "typetext" : "<string>"
22483 },
22484 "sport" : {
22485 "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.",
22486 "format" : "pve-fw-sport-spec",
22487 "optional" : 1,
013dc89f
DM
22488 "type" : "string",
22489 "typetext" : "<string>"
7aacca6f 22490 },
4d47f125
TL
22491 "type" : {
22492 "description" : "Rule type.",
22493 "enum" : [
22494 "in",
22495 "out",
22496 "group"
22497 ],
22498 "optional" : 1,
22499 "type" : "string"
22500 },
7aacca6f 22501 "vmid" : {
44660702 22502 "description" : "The (unique) ID of the VM.",
7aacca6f 22503 "format" : "pve-vmid",
44660702 22504 "minimum" : 1,
4bd7df8b 22505 "type" : "integer",
013dc89f 22506 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
22507 }
22508 }
22509 },
7aacca6f
DM
22510 "permissions" : {
22511 "check" : [
22512 "perm",
22513 "/vms/{vmid}",
22514 [
4d47f125 22515 "VM.Config.Network"
7aacca6f
DM
22516 ]
22517 ]
22518 },
4d47f125
TL
22519 "protected" : 1,
22520 "proxyto" : null,
22521 "returns" : {
22522 "type" : "null"
22523 }
22524 }
22525 },
22526 "leaf" : 1,
22527 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
22528 "text" : "{pos}"
22529 }
22530 ],
22531 "info" : {
22532 "GET" : {
22533 "description" : "List rules.",
22534 "method" : "GET",
22535 "name" : "get_rules",
22536 "parameters" : {
22537 "additionalProperties" : 0,
22538 "properties" : {
22539 "node" : {
22540 "description" : "The cluster node name.",
22541 "format" : "pve-node",
22542 "type" : "string",
22543 "typetext" : "<string>"
22544 },
22545 "vmid" : {
22546 "description" : "The (unique) ID of the VM.",
22547 "format" : "pve-vmid",
22548 "minimum" : 1,
22549 "type" : "integer",
22550 "typetext" : "<integer> (1 - N)"
22551 }
22552 }
22553 },
22554 "permissions" : {
22555 "check" : [
22556 "perm",
22557 "/vms/{vmid}",
22558 [
22559 "VM.Audit"
22560 ]
22561 ]
22562 },
22563 "proxyto" : null,
22564 "returns" : {
22565 "items" : {
22566 "properties" : {
22567 "pos" : {
22568 "type" : "integer"
22569 }
22570 },
22571 "type" : "object"
22572 },
22573 "links" : [
22574 {
22575 "href" : "{pos}",
22576 "rel" : "child"
22577 }
22578 ],
22579 "type" : "array"
22580 }
22581 },
22582 "POST" : {
22583 "description" : "Create new rule.",
22584 "method" : "POST",
22585 "name" : "create_rule",
22586 "parameters" : {
22587 "additionalProperties" : 0,
22588 "properties" : {
22589 "action" : {
22590 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
22591 "maxLength" : 20,
22592 "minLength" : 2,
22593 "optional" : 0,
22594 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22595 "type" : "string"
22596 },
22597 "comment" : {
22598 "description" : "Descriptive comment.",
22599 "optional" : 1,
22600 "type" : "string",
22601 "typetext" : "<string>"
22602 },
22603 "dest" : {
22604 "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.",
22605 "format" : "pve-fw-addr-spec",
22606 "optional" : 1,
22607 "type" : "string",
22608 "typetext" : "<string>"
22609 },
22610 "digest" : {
22611 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22612 "maxLength" : 40,
22613 "optional" : 1,
22614 "type" : "string",
22615 "typetext" : "<string>"
22616 },
22617 "dport" : {
22618 "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.",
22619 "format" : "pve-fw-dport-spec",
22620 "optional" : 1,
22621 "type" : "string",
22622 "typetext" : "<string>"
22623 },
22624 "enable" : {
22625 "description" : "Flag to enable/disable a rule.",
22626 "minimum" : 0,
22627 "optional" : 1,
22628 "type" : "integer",
22629 "typetext" : "<integer> (0 - N)"
22630 },
22631 "iface" : {
22632 "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.",
22633 "format" : "pve-iface",
22634 "maxLength" : 20,
22635 "minLength" : 2,
22636 "optional" : 1,
22637 "type" : "string",
22638 "typetext" : "<string>"
22639 },
95895385
TL
22640 "log" : {
22641 "description" : "Log level for firewall rule.",
22642 "enum" : [
22643 "emerg",
22644 "alert",
22645 "crit",
22646 "err",
22647 "warning",
22648 "notice",
22649 "info",
22650 "debug",
22651 "nolog"
22652 ],
22653 "optional" : 1,
22654 "type" : "string"
22655 },
4d47f125
TL
22656 "macro" : {
22657 "description" : "Use predefined standard macro.",
22658 "maxLength" : 128,
44660702 22659 "optional" : 1,
4d47f125
TL
22660 "type" : "string",
22661 "typetext" : "<string>"
44660702
DM
22662 },
22663 "node" : {
22664 "description" : "The cluster node name.",
22665 "format" : "pve-node",
013dc89f
DM
22666 "type" : "string",
22667 "typetext" : "<string>"
7aacca6f 22668 },
4d47f125
TL
22669 "pos" : {
22670 "description" : "Update rule at position <pos>.",
22671 "minimum" : 0,
22672 "optional" : 1,
22673 "type" : "integer",
22674 "typetext" : "<integer> (0 - N)"
22675 },
22676 "proto" : {
22677 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
22678 "format" : "pve-fw-protocol-spec",
22679 "optional" : 1,
22680 "type" : "string",
22681 "typetext" : "<string>"
22682 },
22683 "source" : {
22684 "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.",
22685 "format" : "pve-fw-addr-spec",
22686 "optional" : 1,
013dc89f
DM
22687 "type" : "string",
22688 "typetext" : "<string>"
44660702 22689 },
4d47f125
TL
22690 "sport" : {
22691 "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.",
22692 "format" : "pve-fw-sport-spec",
22693 "optional" : 1,
22694 "type" : "string",
22695 "typetext" : "<string>"
22696 },
22697 "type" : {
22698 "description" : "Rule type.",
22699 "enum" : [
22700 "in",
22701 "out",
22702 "group"
22703 ],
22704 "optional" : 0,
22705 "type" : "string"
22706 },
44660702
DM
22707 "vmid" : {
22708 "description" : "The (unique) ID of the VM.",
22709 "format" : "pve-vmid",
22710 "minimum" : 1,
4bd7df8b 22711 "type" : "integer",
013dc89f 22712 "typetext" : "<integer> (1 - N)"
56122987 22713 }
44660702 22714 }
7aacca6f 22715 },
56122987
DM
22716 "permissions" : {
22717 "check" : [
22718 "perm",
22719 "/vms/{vmid}",
22720 [
4d47f125 22721 "VM.Config.Network"
56122987
DM
22722 ]
22723 ]
22724 },
44660702 22725 "protected" : 1,
4d47f125 22726 "proxyto" : null,
44660702 22727 "returns" : {
4d47f125 22728 "type" : "null"
44660702
DM
22729 }
22730 }
22731 },
22732 "leaf" : 0,
4d47f125
TL
22733 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
22734 "text" : "rules"
7aacca6f 22735 },
56122987 22736 {
56122987
DM
22737 "children" : [
22738 {
56122987 22739 "info" : {
44660702 22740 "DELETE" : {
4d47f125 22741 "description" : "Remove IP or Network alias.",
44660702 22742 "method" : "DELETE",
4d47f125 22743 "name" : "remove_alias",
56122987 22744 "parameters" : {
44660702 22745 "additionalProperties" : 0,
56122987 22746 "properties" : {
44660702
DM
22747 "digest" : {
22748 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22749 "maxLength" : 40,
7aacca6f 22750 "optional" : 1,
013dc89f
DM
22751 "type" : "string",
22752 "typetext" : "<string>"
7aacca6f 22753 },
4d47f125
TL
22754 "name" : {
22755 "description" : "Alias name.",
22756 "maxLength" : 64,
22757 "minLength" : 2,
22758 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22759 "type" : "string"
22760 },
7aacca6f 22761 "node" : {
44660702 22762 "description" : "The cluster node name.",
7aacca6f 22763 "format" : "pve-node",
013dc89f
DM
22764 "type" : "string",
22765 "typetext" : "<string>"
44660702 22766 },
44660702
DM
22767 "vmid" : {
22768 "description" : "The (unique) ID of the VM.",
22769 "format" : "pve-vmid",
22770 "minimum" : 1,
4bd7df8b 22771 "type" : "integer",
013dc89f 22772 "typetext" : "<integer> (1 - N)"
56122987 22773 }
44660702 22774 }
56122987 22775 },
56122987
DM
22776 "permissions" : {
22777 "check" : [
22778 "perm",
22779 "/vms/{vmid}",
22780 [
44660702 22781 "VM.Config.Network"
56122987
DM
22782 ]
22783 ]
22784 },
44660702 22785 "protected" : 1,
44660702
DM
22786 "returns" : {
22787 "type" : "null"
22788 }
7aacca6f 22789 },
44660702 22790 "GET" : {
4d47f125 22791 "description" : "Read alias.",
44660702 22792 "method" : "GET",
4d47f125 22793 "name" : "read_alias",
56122987 22794 "parameters" : {
44660702 22795 "additionalProperties" : 0,
56122987 22796 "properties" : {
4d47f125
TL
22797 "name" : {
22798 "description" : "Alias name.",
22799 "maxLength" : 64,
22800 "minLength" : 2,
22801 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22802 "type" : "string"
22803 },
7aacca6f 22804 "node" : {
7aacca6f 22805 "description" : "The cluster node name.",
44660702 22806 "format" : "pve-node",
013dc89f
DM
22807 "type" : "string",
22808 "typetext" : "<string>"
56122987 22809 },
7aacca6f 22810 "vmid" : {
44660702 22811 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
22812 "format" : "pve-vmid",
22813 "minimum" : 1,
4bd7df8b 22814 "type" : "integer",
013dc89f 22815 "typetext" : "<integer> (1 - N)"
56122987 22816 }
44660702 22817 }
56122987 22818 },
7aacca6f
DM
22819 "permissions" : {
22820 "check" : [
22821 "perm",
22822 "/vms/{vmid}",
22823 [
44660702 22824 "VM.Audit"
7aacca6f
DM
22825 ]
22826 ]
22827 },
7aacca6f 22828 "returns" : {
44660702 22829 "type" : "object"
7aacca6f 22830 }
56122987 22831 },
44660702 22832 "PUT" : {
4d47f125 22833 "description" : "Update IP or Network alias.",
44660702 22834 "method" : "PUT",
4d47f125 22835 "name" : "update_alias",
56122987
DM
22836 "parameters" : {
22837 "additionalProperties" : 0,
22838 "properties" : {
4d47f125
TL
22839 "cidr" : {
22840 "description" : "Network/IP specification in CIDR format.",
22841 "format" : "IPorCIDR",
013dc89f
DM
22842 "type" : "string",
22843 "typetext" : "<string>"
44660702 22844 },
4d47f125 22845 "comment" : {
44660702 22846 "optional" : 1,
013dc89f
DM
22847 "type" : "string",
22848 "typetext" : "<string>"
44660702
DM
22849 },
22850 "digest" : {
22851 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22852 "maxLength" : 40,
22853 "optional" : 1,
013dc89f
DM
22854 "type" : "string",
22855 "typetext" : "<string>"
44660702 22856 },
4d47f125
TL
22857 "name" : {
22858 "description" : "Alias name.",
22859 "maxLength" : 64,
44660702 22860 "minLength" : 2,
4d47f125
TL
22861 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22862 "type" : "string"
44660702 22863 },
7aacca6f
DM
22864 "node" : {
22865 "description" : "The cluster node name.",
44660702 22866 "format" : "pve-node",
013dc89f
DM
22867 "type" : "string",
22868 "typetext" : "<string>"
56122987 22869 },
4d47f125
TL
22870 "rename" : {
22871 "description" : "Rename an existing alias.",
22872 "maxLength" : 64,
22873 "minLength" : 2,
7aacca6f 22874 "optional" : 1,
4d47f125 22875 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
22876 "type" : "string"
22877 },
22878 "vmid" : {
22879 "description" : "The (unique) ID of the VM.",
22880 "format" : "pve-vmid",
22881 "minimum" : 1,
4bd7df8b 22882 "type" : "integer",
013dc89f 22883 "typetext" : "<integer> (1 - N)"
56122987
DM
22884 }
22885 }
22886 },
56122987
DM
22887 "permissions" : {
22888 "check" : [
22889 "perm",
22890 "/vms/{vmid}",
22891 [
7aacca6f 22892 "VM.Config.Network"
56122987
DM
22893 ]
22894 ]
22895 },
44660702 22896 "protected" : 1,
56122987 22897 "returns" : {
7aacca6f
DM
22898 "type" : "null"
22899 }
56122987 22900 }
44660702
DM
22901 },
22902 "leaf" : 1,
4d47f125
TL
22903 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
22904 "text" : "{name}"
56122987
DM
22905 }
22906 ],
22907 "info" : {
7aacca6f 22908 "GET" : {
4d47f125 22909 "description" : "List aliases",
44660702 22910 "method" : "GET",
4d47f125 22911 "name" : "get_aliases",
7aacca6f 22912 "parameters" : {
44660702 22913 "additionalProperties" : 0,
7aacca6f
DM
22914 "properties" : {
22915 "node" : {
7aacca6f 22916 "description" : "The cluster node name.",
44660702 22917 "format" : "pve-node",
013dc89f
DM
22918 "type" : "string",
22919 "typetext" : "<string>"
7aacca6f
DM
22920 },
22921 "vmid" : {
22922 "description" : "The (unique) ID of the VM.",
44660702 22923 "format" : "pve-vmid",
7aacca6f 22924 "minimum" : 1,
4bd7df8b 22925 "type" : "integer",
013dc89f 22926 "typetext" : "<integer> (1 - N)"
7aacca6f 22927 }
44660702 22928 }
56122987 22929 },
56122987
DM
22930 "permissions" : {
22931 "check" : [
22932 "perm",
22933 "/vms/{vmid}",
22934 [
7aacca6f 22935 "VM.Audit"
56122987
DM
22936 ]
22937 ]
22938 },
7aacca6f 22939 "returns" : {
7aacca6f
DM
22940 "items" : {
22941 "properties" : {
4d47f125
TL
22942 "cidr" : {
22943 "type" : "string"
22944 },
22945 "comment" : {
22946 "optional" : 1,
22947 "type" : "string"
22948 },
22949 "digest" : {
22950 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22951 "maxLength" : 40,
22952 "optional" : 0,
22953 "type" : "string"
22954 },
22955 "name" : {
22956 "type" : "string"
7aacca6f
DM
22957 }
22958 },
22959 "type" : "object"
22960 },
22961 "links" : [
22962 {
4d47f125 22963 "href" : "{name}",
44660702 22964 "rel" : "child"
7aacca6f 22965 }
44660702
DM
22966 ],
22967 "type" : "array"
22968 }
7aacca6f
DM
22969 },
22970 "POST" : {
4d47f125 22971 "description" : "Create IP or Network Alias.",
44660702 22972 "method" : "POST",
4d47f125 22973 "name" : "create_alias",
56122987 22974 "parameters" : {
44660702 22975 "additionalProperties" : 0,
56122987 22976 "properties" : {
4d47f125
TL
22977 "cidr" : {
22978 "description" : "Network/IP specification in CIDR format.",
22979 "format" : "IPorCIDR",
013dc89f 22980 "type" : "string",
4d47f125
TL
22981 "typetext" : "<string>"
22982 },
22983 "comment" : {
44660702 22984 "optional" : 1,
013dc89f
DM
22985 "type" : "string",
22986 "typetext" : "<string>"
7aacca6f 22987 },
4d47f125
TL
22988 "name" : {
22989 "description" : "Alias name.",
22990 "maxLength" : 64,
22991 "minLength" : 2,
22992 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
22993 "type" : "string"
22994 },
4d47f125
TL
22995 "node" : {
22996 "description" : "The cluster node name.",
22997 "format" : "pve-node",
22998 "type" : "string",
22999 "typetext" : "<string>"
23000 },
44660702
DM
23001 "vmid" : {
23002 "description" : "The (unique) ID of the VM.",
23003 "format" : "pve-vmid",
23004 "minimum" : 1,
4bd7df8b 23005 "type" : "integer",
013dc89f 23006 "typetext" : "<integer> (1 - N)"
44660702
DM
23007 }
23008 }
23009 },
23010 "permissions" : {
23011 "check" : [
23012 "perm",
23013 "/vms/{vmid}",
23014 [
23015 "VM.Config.Network"
23016 ]
23017 ]
23018 },
23019 "protected" : 1,
44660702
DM
23020 "returns" : {
23021 "type" : "null"
23022 }
23023 }
23024 },
23025 "leaf" : 0,
4d47f125
TL
23026 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
23027 "text" : "aliases"
44660702
DM
23028 },
23029 {
23030 "children" : [
23031 {
4d47f125
TL
23032 "children" : [
23033 {
23034 "info" : {
23035 "DELETE" : {
23036 "description" : "Remove IP or Network from IPSet.",
23037 "method" : "DELETE",
23038 "name" : "remove_ip",
23039 "parameters" : {
23040 "additionalProperties" : 0,
23041 "properties" : {
23042 "cidr" : {
23043 "description" : "Network/IP specification in CIDR format.",
23044 "format" : "IPorCIDRorAlias",
23045 "type" : "string",
23046 "typetext" : "<string>"
23047 },
23048 "digest" : {
23049 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23050 "maxLength" : 40,
23051 "optional" : 1,
23052 "type" : "string",
23053 "typetext" : "<string>"
23054 },
23055 "name" : {
23056 "description" : "IP set name.",
23057 "maxLength" : 64,
23058 "minLength" : 2,
23059 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23060 "type" : "string"
23061 },
23062 "node" : {
23063 "description" : "The cluster node name.",
23064 "format" : "pve-node",
23065 "type" : "string",
23066 "typetext" : "<string>"
23067 },
23068 "vmid" : {
23069 "description" : "The (unique) ID of the VM.",
23070 "format" : "pve-vmid",
23071 "minimum" : 1,
23072 "type" : "integer",
23073 "typetext" : "<integer> (1 - N)"
23074 }
23075 }
23076 },
23077 "permissions" : {
23078 "check" : [
23079 "perm",
23080 "/vms/{vmid}",
23081 [
23082 "VM.Config.Network"
23083 ]
23084 ]
23085 },
23086 "protected" : 1,
23087 "returns" : {
23088 "type" : "null"
23089 }
23090 },
23091 "GET" : {
23092 "description" : "Read IP or Network settings from IPSet.",
23093 "method" : "GET",
23094 "name" : "read_ip",
23095 "parameters" : {
23096 "additionalProperties" : 0,
23097 "properties" : {
23098 "cidr" : {
23099 "description" : "Network/IP specification in CIDR format.",
23100 "format" : "IPorCIDRorAlias",
23101 "type" : "string",
23102 "typetext" : "<string>"
23103 },
23104 "name" : {
23105 "description" : "IP set name.",
23106 "maxLength" : 64,
23107 "minLength" : 2,
23108 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23109 "type" : "string"
23110 },
23111 "node" : {
23112 "description" : "The cluster node name.",
23113 "format" : "pve-node",
23114 "type" : "string",
23115 "typetext" : "<string>"
23116 },
23117 "vmid" : {
23118 "description" : "The (unique) ID of the VM.",
23119 "format" : "pve-vmid",
23120 "minimum" : 1,
23121 "type" : "integer",
23122 "typetext" : "<integer> (1 - N)"
23123 }
23124 }
23125 },
23126 "permissions" : {
23127 "check" : [
23128 "perm",
23129 "/vms/{vmid}",
23130 [
23131 "VM.Audit"
23132 ]
23133 ]
23134 },
23135 "protected" : 1,
23136 "returns" : {
23137 "type" : "object"
23138 }
23139 },
23140 "PUT" : {
23141 "description" : "Update IP or Network settings",
23142 "method" : "PUT",
23143 "name" : "update_ip",
23144 "parameters" : {
23145 "additionalProperties" : 0,
23146 "properties" : {
23147 "cidr" : {
23148 "description" : "Network/IP specification in CIDR format.",
23149 "format" : "IPorCIDRorAlias",
23150 "type" : "string",
23151 "typetext" : "<string>"
23152 },
23153 "comment" : {
23154 "optional" : 1,
23155 "type" : "string",
23156 "typetext" : "<string>"
23157 },
23158 "digest" : {
23159 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23160 "maxLength" : 40,
23161 "optional" : 1,
23162 "type" : "string",
23163 "typetext" : "<string>"
23164 },
23165 "name" : {
23166 "description" : "IP set name.",
23167 "maxLength" : 64,
23168 "minLength" : 2,
23169 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23170 "type" : "string"
23171 },
23172 "node" : {
23173 "description" : "The cluster node name.",
23174 "format" : "pve-node",
23175 "type" : "string",
23176 "typetext" : "<string>"
23177 },
23178 "nomatch" : {
23179 "optional" : 1,
23180 "type" : "boolean",
23181 "typetext" : "<boolean>"
23182 },
23183 "vmid" : {
23184 "description" : "The (unique) ID of the VM.",
23185 "format" : "pve-vmid",
23186 "minimum" : 1,
23187 "type" : "integer",
23188 "typetext" : "<integer> (1 - N)"
23189 }
23190 }
23191 },
23192 "permissions" : {
23193 "check" : [
23194 "perm",
23195 "/vms/{vmid}",
23196 [
23197 "VM.Config.Network"
23198 ]
23199 ]
23200 },
23201 "protected" : 1,
23202 "returns" : {
23203 "type" : "null"
23204 }
23205 }
23206 },
23207 "leaf" : 1,
23208 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
23209 "text" : "{cidr}"
23210 }
23211 ],
44660702
DM
23212 "info" : {
23213 "DELETE" : {
4d47f125 23214 "description" : "Delete IPSet",
44660702 23215 "method" : "DELETE",
4d47f125 23216 "name" : "delete_ipset",
56122987 23217 "parameters" : {
44660702 23218 "additionalProperties" : 0,
56122987 23219 "properties" : {
7aacca6f 23220 "name" : {
4d47f125 23221 "description" : "IP set name.",
7aacca6f 23222 "maxLength" : 64,
7aacca6f
DM
23223 "minLength" : 2,
23224 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 23225 "type" : "string"
7aacca6f
DM
23226 },
23227 "node" : {
44660702 23228 "description" : "The cluster node name.",
56122987 23229 "format" : "pve-node",
013dc89f
DM
23230 "type" : "string",
23231 "typetext" : "<string>"
7aacca6f 23232 },
56122987 23233 "vmid" : {
44660702 23234 "description" : "The (unique) ID of the VM.",
56122987 23235 "format" : "pve-vmid",
44660702 23236 "minimum" : 1,
4bd7df8b 23237 "type" : "integer",
013dc89f 23238 "typetext" : "<integer> (1 - N)"
56122987 23239 }
44660702 23240 }
56122987 23241 },
56122987
DM
23242 "permissions" : {
23243 "check" : [
23244 "perm",
23245 "/vms/{vmid}",
23246 [
7aacca6f 23247 "VM.Config.Network"
56122987
DM
23248 ]
23249 ]
23250 },
44660702 23251 "protected" : 1,
56122987 23252 "returns" : {
7aacca6f 23253 "type" : "null"
44660702 23254 }
56122987 23255 },
44660702 23256 "GET" : {
4d47f125 23257 "description" : "List IPSet content",
44660702 23258 "method" : "GET",
4d47f125 23259 "name" : "get_ipset",
44660702
DM
23260 "parameters" : {
23261 "additionalProperties" : 0,
23262 "properties" : {
23263 "name" : {
4d47f125 23264 "description" : "IP set name.",
44660702
DM
23265 "maxLength" : 64,
23266 "minLength" : 2,
23267 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23268 "type" : "string"
23269 },
23270 "node" : {
23271 "description" : "The cluster node name.",
23272 "format" : "pve-node",
013dc89f
DM
23273 "type" : "string",
23274 "typetext" : "<string>"
44660702
DM
23275 },
23276 "vmid" : {
23277 "description" : "The (unique) ID of the VM.",
23278 "format" : "pve-vmid",
23279 "minimum" : 1,
4bd7df8b 23280 "type" : "integer",
013dc89f 23281 "typetext" : "<integer> (1 - N)"
44660702 23282 }
4d47f125
TL
23283 }
23284 },
23285 "permissions" : {
23286 "check" : [
23287 "perm",
23288 "/vms/{vmid}",
23289 [
23290 "VM.Audit"
23291 ]
23292 ]
23293 },
23294 "returns" : {
23295 "items" : {
23296 "properties" : {
23297 "cidr" : {
23298 "type" : "string"
23299 },
23300 "comment" : {
23301 "optional" : 1,
23302 "type" : "string"
23303 },
23304 "digest" : {
23305 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23306 "maxLength" : 40,
23307 "optional" : 0,
23308 "type" : "string"
23309 },
23310 "nomatch" : {
23311 "optional" : 1,
23312 "type" : "boolean"
23313 }
23314 },
23315 "type" : "object"
23316 },
23317 "links" : [
23318 {
23319 "href" : "{cidr}",
23320 "rel" : "child"
23321 }
23322 ],
23323 "type" : "array"
44660702
DM
23324 }
23325 },
4d47f125
TL
23326 "POST" : {
23327 "description" : "Add IP or Network to IPSet.",
23328 "method" : "POST",
23329 "name" : "create_ip",
56122987
DM
23330 "parameters" : {
23331 "additionalProperties" : 0,
23332 "properties" : {
44660702
DM
23333 "cidr" : {
23334 "description" : "Network/IP specification in CIDR format.",
4d47f125 23335 "format" : "IPorCIDRorAlias",
013dc89f
DM
23336 "type" : "string",
23337 "typetext" : "<string>"
44660702
DM
23338 },
23339 "comment" : {
23340 "optional" : 1,
013dc89f
DM
23341 "type" : "string",
23342 "typetext" : "<string>"
44660702 23343 },
56122987 23344 "name" : {
4d47f125 23345 "description" : "IP set name.",
44660702
DM
23346 "maxLength" : 64,
23347 "minLength" : 2,
7aacca6f 23348 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 23349 "type" : "string"
56122987
DM
23350 },
23351 "node" : {
23352 "description" : "The cluster node name.",
44660702 23353 "format" : "pve-node",
013dc89f
DM
23354 "type" : "string",
23355 "typetext" : "<string>"
44660702 23356 },
4d47f125 23357 "nomatch" : {
44660702 23358 "optional" : 1,
4d47f125
TL
23359 "type" : "boolean",
23360 "typetext" : "<boolean>"
56122987 23361 },
7aacca6f 23362 "vmid" : {
7aacca6f 23363 "description" : "The (unique) ID of the VM.",
44660702 23364 "format" : "pve-vmid",
7aacca6f 23365 "minimum" : 1,
4bd7df8b 23366 "type" : "integer",
013dc89f 23367 "typetext" : "<integer> (1 - N)"
56122987
DM
23368 }
23369 }
23370 },
44660702
DM
23371 "permissions" : {
23372 "check" : [
23373 "perm",
23374 "/vms/{vmid}",
23375 [
23376 "VM.Config.Network"
23377 ]
23378 ]
7aacca6f 23379 },
44660702
DM
23380 "protected" : 1,
23381 "returns" : {
23382 "type" : "null"
7aacca6f
DM
23383 }
23384 }
23385 },
4d47f125
TL
23386 "leaf" : 0,
23387 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
23388 "text" : "{name}"
23389 }
23390 ],
23391 "info" : {
23392 "GET" : {
4d47f125 23393 "description" : "List IPSets",
44660702 23394 "method" : "GET",
4d47f125 23395 "name" : "ipset_index",
56122987
DM
23396 "parameters" : {
23397 "additionalProperties" : 0,
23398 "properties" : {
23399 "node" : {
44660702 23400 "description" : "The cluster node name.",
56122987 23401 "format" : "pve-node",
013dc89f
DM
23402 "type" : "string",
23403 "typetext" : "<string>"
56122987
DM
23404 },
23405 "vmid" : {
7aacca6f 23406 "description" : "The (unique) ID of the VM.",
44660702 23407 "format" : "pve-vmid",
7aacca6f 23408 "minimum" : 1,
4bd7df8b 23409 "type" : "integer",
013dc89f 23410 "typetext" : "<integer> (1 - N)"
56122987
DM
23411 }
23412 }
23413 },
44660702
DM
23414 "permissions" : {
23415 "check" : [
23416 "perm",
23417 "/vms/{vmid}",
23418 [
23419 "VM.Audit"
23420 ]
23421 ]
23422 },
56122987
DM
23423 "returns" : {
23424 "items" : {
56122987 23425 "properties" : {
44660702
DM
23426 "comment" : {
23427 "optional" : 1,
56122987
DM
23428 "type" : "string"
23429 },
56122987 23430 "digest" : {
56122987 23431 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
23432 "maxLength" : 40,
23433 "optional" : 0,
23434 "type" : "string"
23435 },
23436 "name" : {
4d47f125
TL
23437 "description" : "IP set name.",
23438 "maxLength" : 64,
23439 "minLength" : 2,
23440 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 23441 "type" : "string"
56122987 23442 }
44660702
DM
23443 },
23444 "type" : "object"
23445 },
23446 "links" : [
23447 {
23448 "href" : "{name}",
23449 "rel" : "child"
56122987 23450 }
4d47f125
TL
23451 ],
23452 "type" : "array"
23453 }
23454 },
23455 "POST" : {
23456 "description" : "Create new IPSet",
23457 "method" : "POST",
23458 "name" : "create_ipset",
23459 "parameters" : {
23460 "additionalProperties" : 0,
23461 "properties" : {
23462 "comment" : {
23463 "optional" : 1,
23464 "type" : "string",
23465 "typetext" : "<string>"
23466 },
23467 "digest" : {
23468 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23469 "maxLength" : 40,
23470 "optional" : 1,
23471 "type" : "string",
23472 "typetext" : "<string>"
23473 },
23474 "name" : {
23475 "description" : "IP set name.",
23476 "maxLength" : 64,
23477 "minLength" : 2,
23478 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23479 "type" : "string"
23480 },
23481 "node" : {
23482 "description" : "The cluster node name.",
23483 "format" : "pve-node",
23484 "type" : "string",
23485 "typetext" : "<string>"
23486 },
23487 "rename" : {
23488 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
23489 "maxLength" : 64,
23490 "minLength" : 2,
23491 "optional" : 1,
23492 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23493 "type" : "string"
23494 },
23495 "vmid" : {
23496 "description" : "The (unique) ID of the VM.",
23497 "format" : "pve-vmid",
23498 "minimum" : 1,
23499 "type" : "integer",
23500 "typetext" : "<integer> (1 - N)"
23501 }
23502 }
23503 },
23504 "permissions" : {
23505 "check" : [
23506 "perm",
23507 "/vms/{vmid}",
23508 [
23509 "VM.Config.Network"
23510 ]
23511 ]
23512 },
23513 "protected" : 1,
23514 "returns" : {
23515 "type" : "null"
23516 }
23517 }
23518 },
23519 "leaf" : 0,
23520 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
23521 "text" : "ipset"
23522 },
23523 {
23524 "info" : {
23525 "GET" : {
23526 "description" : "Get VM firewall options.",
23527 "method" : "GET",
23528 "name" : "get_options",
23529 "parameters" : {
23530 "additionalProperties" : 0,
23531 "properties" : {
23532 "node" : {
23533 "description" : "The cluster node name.",
23534 "format" : "pve-node",
23535 "type" : "string",
23536 "typetext" : "<string>"
23537 },
23538 "vmid" : {
23539 "description" : "The (unique) ID of the VM.",
23540 "format" : "pve-vmid",
23541 "minimum" : 1,
23542 "type" : "integer",
23543 "typetext" : "<integer> (1 - N)"
23544 }
23545 }
23546 },
23547 "permissions" : {
23548 "check" : [
23549 "perm",
23550 "/vms/{vmid}",
23551 [
23552 "VM.Audit"
23553 ]
23554 ]
23555 },
23556 "proxyto" : "node",
23557 "returns" : {
23558 "properties" : {
23559 "dhcp" : {
5c1699e5 23560 "default" : 0,
4d47f125
TL
23561 "description" : "Enable DHCP.",
23562 "optional" : 1,
23563 "type" : "boolean"
23564 },
23565 "enable" : {
5c1699e5 23566 "default" : 0,
4d47f125
TL
23567 "description" : "Enable/disable firewall rules.",
23568 "optional" : 1,
23569 "type" : "boolean"
23570 },
23571 "ipfilter" : {
23572 "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.",
23573 "optional" : 1,
23574 "type" : "boolean"
23575 },
23576 "log_level_in" : {
23577 "description" : "Log level for incoming traffic.",
23578 "enum" : [
23579 "emerg",
23580 "alert",
23581 "crit",
23582 "err",
23583 "warning",
23584 "notice",
23585 "info",
23586 "debug",
23587 "nolog"
23588 ],
23589 "optional" : 1,
23590 "type" : "string"
23591 },
23592 "log_level_out" : {
23593 "description" : "Log level for outgoing traffic.",
23594 "enum" : [
23595 "emerg",
23596 "alert",
23597 "crit",
23598 "err",
23599 "warning",
23600 "notice",
23601 "info",
23602 "debug",
23603 "nolog"
23604 ],
23605 "optional" : 1,
23606 "type" : "string"
23607 },
23608 "macfilter" : {
5c1699e5 23609 "default" : 0,
4d47f125
TL
23610 "description" : "Enable/disable MAC address filter.",
23611 "optional" : 1,
23612 "type" : "boolean"
23613 },
23614 "ndp" : {
5c1699e5
TL
23615 "default" : 0,
23616 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
23617 "optional" : 1,
23618 "type" : "boolean"
23619 },
23620 "policy_in" : {
23621 "description" : "Input policy.",
23622 "enum" : [
23623 "ACCEPT",
23624 "REJECT",
23625 "DROP"
23626 ],
23627 "optional" : 1,
23628 "type" : "string"
23629 },
23630 "policy_out" : {
23631 "description" : "Output policy.",
23632 "enum" : [
23633 "ACCEPT",
23634 "REJECT",
23635 "DROP"
23636 ],
23637 "optional" : 1,
23638 "type" : "string"
23639 },
23640 "radv" : {
23641 "description" : "Allow sending Router Advertisement.",
23642 "optional" : 1,
23643 "type" : "boolean"
23644 }
23645 },
23646 "type" : "object"
7aacca6f
DM
23647 }
23648 },
4d47f125
TL
23649 "PUT" : {
23650 "description" : "Set Firewall options.",
23651 "method" : "PUT",
23652 "name" : "set_options",
7aacca6f
DM
23653 "parameters" : {
23654 "additionalProperties" : 0,
23655 "properties" : {
4d47f125
TL
23656 "delete" : {
23657 "description" : "A list of settings you want to delete.",
23658 "format" : "pve-configid-list",
7aacca6f 23659 "optional" : 1,
013dc89f
DM
23660 "type" : "string",
23661 "typetext" : "<string>"
7aacca6f 23662 },
4d47f125 23663 "dhcp" : {
5c1699e5 23664 "default" : 0,
4d47f125
TL
23665 "description" : "Enable DHCP.",
23666 "optional" : 1,
23667 "type" : "boolean",
23668 "typetext" : "<boolean>"
7aacca6f 23669 },
4d47f125
TL
23670 "digest" : {
23671 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23672 "maxLength" : 40,
23673 "optional" : 1,
013dc89f
DM
23674 "type" : "string",
23675 "typetext" : "<string>"
7aacca6f 23676 },
4d47f125 23677 "enable" : {
5c1699e5 23678 "default" : 0,
4d47f125
TL
23679 "description" : "Enable/disable firewall rules.",
23680 "optional" : 1,
23681 "type" : "boolean",
23682 "typetext" : "<boolean>"
23683 },
23684 "ipfilter" : {
23685 "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.",
23686 "optional" : 1,
23687 "type" : "boolean",
23688 "typetext" : "<boolean>"
56122987 23689 },
4d47f125
TL
23690 "log_level_in" : {
23691 "description" : "Log level for incoming traffic.",
23692 "enum" : [
23693 "emerg",
23694 "alert",
23695 "crit",
23696 "err",
23697 "warning",
23698 "notice",
23699 "info",
23700 "debug",
23701 "nolog"
23702 ],
23703 "optional" : 1,
23704 "type" : "string"
44660702 23705 },
4d47f125
TL
23706 "log_level_out" : {
23707 "description" : "Log level for outgoing traffic.",
23708 "enum" : [
23709 "emerg",
23710 "alert",
23711 "crit",
23712 "err",
23713 "warning",
23714 "notice",
23715 "info",
23716 "debug",
23717 "nolog"
23718 ],
23719 "optional" : 1,
23720 "type" : "string"
44660702 23721 },
4d47f125 23722 "macfilter" : {
5c1699e5 23723 "default" : 0,
4d47f125
TL
23724 "description" : "Enable/disable MAC address filter.",
23725 "optional" : 1,
23726 "type" : "boolean",
23727 "typetext" : "<boolean>"
7aacca6f 23728 },
4d47f125 23729 "ndp" : {
5c1699e5
TL
23730 "default" : 0,
23731 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
23732 "optional" : 1,
23733 "type" : "boolean",
23734 "typetext" : "<boolean>"
7aacca6f 23735 },
4d47f125
TL
23736 "node" : {
23737 "description" : "The cluster node name.",
23738 "format" : "pve-node",
23739 "type" : "string",
23740 "typetext" : "<string>"
23741 },
23742 "policy_in" : {
23743 "description" : "Input policy.",
23744 "enum" : [
23745 "ACCEPT",
23746 "REJECT",
23747 "DROP"
44660702 23748 ],
4d47f125
TL
23749 "optional" : 1,
23750 "type" : "string"
23751 },
23752 "policy_out" : {
23753 "description" : "Output policy.",
23754 "enum" : [
23755 "ACCEPT",
23756 "REJECT",
23757 "DROP"
23758 ],
23759 "optional" : 1,
23760 "type" : "string"
23761 },
23762 "radv" : {
23763 "description" : "Allow sending Router Advertisement.",
23764 "optional" : 1,
23765 "type" : "boolean",
23766 "typetext" : "<boolean>"
23767 },
23768 "vmid" : {
23769 "description" : "The (unique) ID of the VM.",
23770 "format" : "pve-vmid",
23771 "minimum" : 1,
23772 "type" : "integer",
23773 "typetext" : "<integer> (1 - N)"
44660702 23774 }
4d47f125
TL
23775 }
23776 },
23777 "permissions" : {
23778 "check" : [
23779 "perm",
23780 "/vms/{vmid}",
23781 [
23782 "VM.Config.Network"
23783 ]
23784 ]
23785 },
23786 "protected" : 1,
23787 "proxyto" : "node",
23788 "returns" : {
23789 "type" : "null"
23790 }
23791 }
23792 },
23793 "leaf" : 1,
23794 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
23795 "text" : "options"
23796 },
23797 {
23798 "info" : {
23799 "GET" : {
23800 "description" : "Read firewall log",
23801 "method" : "GET",
23802 "name" : "log",
23803 "parameters" : {
23804 "additionalProperties" : 0,
23805 "properties" : {
23806 "limit" : {
23807 "minimum" : 0,
23808 "optional" : 1,
23809 "type" : "integer",
23810 "typetext" : "<integer> (0 - N)"
44660702 23811 },
4d47f125
TL
23812 "node" : {
23813 "description" : "The cluster node name.",
23814 "format" : "pve-node",
23815 "type" : "string",
23816 "typetext" : "<string>"
44660702 23817 },
4d47f125
TL
23818 "start" : {
23819 "minimum" : 0,
23820 "optional" : 1,
23821 "type" : "integer",
23822 "typetext" : "<integer> (0 - N)"
23823 },
23824 "vmid" : {
23825 "description" : "The (unique) ID of the VM.",
23826 "format" : "pve-vmid",
23827 "minimum" : 1,
23828 "type" : "integer",
23829 "typetext" : "<integer> (1 - N)"
44660702
DM
23830 }
23831 }
23832 },
4d47f125
TL
23833 "permissions" : {
23834 "check" : [
23835 "perm",
23836 "/vms/{vmid}",
23837 [
23838 "VM.Console"
23839 ]
23840 ]
23841 },
23842 "protected" : 1,
23843 "proxyto" : "node",
23844 "returns" : {
23845 "items" : {
23846 "properties" : {
23847 "n" : {
23848 "description" : "Line number",
23849 "type" : "integer"
23850 },
23851 "t" : {
23852 "description" : "Line text",
23853 "type" : "string"
23854 }
23855 },
23856 "type" : "object"
23857 },
23858 "type" : "array"
23859 }
44660702 23860 }
4d47f125
TL
23861 },
23862 "leaf" : 1,
23863 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
23864 "text" : "log"
23865 },
23866 {
44660702
DM
23867 "info" : {
23868 "GET" : {
4d47f125 23869 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 23870 "method" : "GET",
4d47f125 23871 "name" : "refs",
44660702
DM
23872 "parameters" : {
23873 "additionalProperties" : 0,
23874 "properties" : {
23875 "node" : {
23876 "description" : "The cluster node name.",
23877 "format" : "pve-node",
013dc89f
DM
23878 "type" : "string",
23879 "typetext" : "<string>"
44660702 23880 },
4d47f125
TL
23881 "type" : {
23882 "description" : "Only list references of specified type.",
23883 "enum" : [
23884 "alias",
23885 "ipset"
23886 ],
23887 "optional" : 1,
23888 "type" : "string"
23889 },
44660702
DM
23890 "vmid" : {
23891 "description" : "The (unique) ID of the VM.",
23892 "format" : "pve-vmid",
23893 "minimum" : 1,
4bd7df8b 23894 "type" : "integer",
013dc89f 23895 "typetext" : "<integer> (1 - N)"
44660702
DM
23896 }
23897 }
23898 },
4d47f125
TL
23899 "permissions" : {
23900 "check" : [
23901 "perm",
23902 "/vms/{vmid}",
23903 [
23904 "VM.Audit"
23905 ]
23906 ]
23907 },
23908 "returns" : {
23909 "items" : {
23910 "properties" : {
23911 "comment" : {
23912 "optional" : 1,
23913 "type" : "string"
23914 },
23915 "name" : {
23916 "type" : "string"
23917 },
23918 "type" : {
23919 "enum" : [
23920 "alias",
23921 "ipset"
23922 ],
23923 "type" : "string"
23924 }
23925 },
23926 "type" : "object"
23927 },
23928 "type" : "array"
23929 }
23930 }
23931 },
23932 "leaf" : 1,
23933 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
23934 "text" : "refs"
23935 }
23936 ],
23937 "info" : {
23938 "GET" : {
23939 "description" : "Directory index.",
23940 "method" : "GET",
23941 "name" : "index",
23942 "parameters" : {
23943 "additionalProperties" : 0,
23944 "properties" : {
23945 "node" : {
23946 "description" : "The cluster node name.",
23947 "format" : "pve-node",
23948 "type" : "string",
23949 "typetext" : "<string>"
23950 },
23951 "vmid" : {
23952 "description" : "The (unique) ID of the VM.",
23953 "format" : "pve-vmid",
23954 "minimum" : 1,
23955 "type" : "integer",
23956 "typetext" : "<integer> (1 - N)"
23957 }
23958 }
23959 },
23960 "permissions" : {
23961 "user" : "all"
23962 },
23963 "returns" : {
23964 "items" : {
23965 "properties" : {},
23966 "type" : "object"
23967 },
23968 "links" : [
23969 {
23970 "href" : "{name}",
23971 "rel" : "child"
23972 }
23973 ],
23974 "type" : "array"
23975 }
23976 }
23977 },
23978 "leaf" : 0,
23979 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
23980 "text" : "firewall"
23981 },
23982 {
23983 "info" : {
23984 "GET" : {
23985 "description" : "Read VM RRD statistics (returns PNG)",
23986 "method" : "GET",
23987 "name" : "rrd",
23988 "parameters" : {
23989 "additionalProperties" : 0,
23990 "properties" : {
23991 "cf" : {
23992 "description" : "The RRD consolidation function",
23993 "enum" : [
23994 "AVERAGE",
23995 "MAX"
23996 ],
23997 "optional" : 1,
23998 "type" : "string"
23999 },
24000 "ds" : {
24001 "description" : "The list of datasources you want to display.",
24002 "format" : "pve-configid-list",
24003 "type" : "string",
24004 "typetext" : "<string>"
24005 },
24006 "node" : {
24007 "description" : "The cluster node name.",
24008 "format" : "pve-node",
24009 "type" : "string",
24010 "typetext" : "<string>"
24011 },
24012 "timeframe" : {
24013 "description" : "Specify the time frame you are interested in.",
24014 "enum" : [
24015 "hour",
24016 "day",
24017 "week",
24018 "month",
24019 "year"
24020 ],
24021 "type" : "string"
24022 },
24023 "vmid" : {
24024 "description" : "The (unique) ID of the VM.",
24025 "format" : "pve-vmid",
24026 "minimum" : 1,
24027 "type" : "integer",
24028 "typetext" : "<integer> (1 - N)"
24029 }
24030 }
24031 },
24032 "permissions" : {
24033 "check" : [
24034 "perm",
24035 "/vms/{vmid}",
24036 [
24037 "VM.Audit"
24038 ]
24039 ]
24040 },
24041 "protected" : 1,
24042 "returns" : {
24043 "properties" : {
24044 "filename" : {
24045 "type" : "string"
24046 }
24047 },
24048 "type" : "object"
24049 }
24050 }
24051 },
24052 "leaf" : 1,
24053 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
24054 "text" : "rrd"
24055 },
24056 {
24057 "info" : {
24058 "GET" : {
24059 "description" : "Read VM RRD statistics",
24060 "method" : "GET",
24061 "name" : "rrddata",
24062 "parameters" : {
24063 "additionalProperties" : 0,
24064 "properties" : {
24065 "cf" : {
24066 "description" : "The RRD consolidation function",
24067 "enum" : [
24068 "AVERAGE",
24069 "MAX"
24070 ],
24071 "optional" : 1,
24072 "type" : "string"
24073 },
24074 "node" : {
24075 "description" : "The cluster node name.",
24076 "format" : "pve-node",
24077 "type" : "string",
24078 "typetext" : "<string>"
44660702 24079 },
4d47f125
TL
24080 "timeframe" : {
24081 "description" : "Specify the time frame you are interested in.",
24082 "enum" : [
24083 "hour",
24084 "day",
24085 "week",
24086 "month",
24087 "year"
44660702 24088 ],
4d47f125
TL
24089 "type" : "string"
24090 },
24091 "vmid" : {
24092 "description" : "The (unique) ID of the VM.",
24093 "format" : "pve-vmid",
24094 "minimum" : 1,
24095 "type" : "integer",
24096 "typetext" : "<integer> (1 - N)"
44660702 24097 }
4d47f125
TL
24098 }
24099 },
24100 "permissions" : {
24101 "check" : [
24102 "perm",
24103 "/vms/{vmid}",
24104 [
24105 "VM.Audit"
24106 ]
24107 ]
24108 },
24109 "protected" : 1,
24110 "returns" : {
24111 "items" : {
24112 "properties" : {},
24113 "type" : "object"
44660702 24114 },
4d47f125
TL
24115 "type" : "array"
24116 }
24117 }
24118 },
24119 "leaf" : 1,
24120 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
24121 "text" : "rrddata"
24122 },
24123 {
24124 "info" : {
24125 "POST" : {
24126 "description" : "Creates a TCP VNC proxy connections.",
24127 "method" : "POST",
24128 "name" : "vncproxy",
24129 "parameters" : {
24130 "additionalProperties" : 0,
24131 "properties" : {
24132 "height" : {
24133 "description" : "sets the height of the console in pixels.",
24134 "maximum" : 2160,
24135 "minimum" : 16,
24136 "optional" : 1,
24137 "type" : "integer",
24138 "typetext" : "<integer> (16 - 2160)"
44660702 24139 },
4d47f125
TL
24140 "node" : {
24141 "description" : "The cluster node name.",
24142 "format" : "pve-node",
24143 "type" : "string",
24144 "typetext" : "<string>"
44660702 24145 },
4d47f125
TL
24146 "vmid" : {
24147 "description" : "The (unique) ID of the VM.",
24148 "format" : "pve-vmid",
24149 "minimum" : 1,
24150 "type" : "integer",
24151 "typetext" : "<integer> (1 - N)"
24152 },
24153 "websocket" : {
24154 "description" : "use websocket instead of standard VNC.",
24155 "optional" : 1,
24156 "type" : "boolean",
24157 "typetext" : "<boolean>"
24158 },
24159 "width" : {
24160 "description" : "sets the width of the console in pixels.",
24161 "maximum" : 4096,
24162 "minimum" : 16,
24163 "optional" : 1,
24164 "type" : "integer",
24165 "typetext" : "<integer> (16 - 4096)"
56122987
DM
24166 }
24167 }
44660702 24168 },
4d47f125
TL
24169 "permissions" : {
24170 "check" : [
24171 "perm",
24172 "/vms/{vmid}",
24173 [
24174 "VM.Console"
24175 ]
24176 ]
24177 },
24178 "protected" : 1,
24179 "returns" : {
24180 "additionalProperties" : 0,
24181 "properties" : {
24182 "cert" : {
24183 "type" : "string"
44660702 24184 },
4d47f125
TL
24185 "port" : {
24186 "type" : "integer"
24187 },
24188 "ticket" : {
24189 "type" : "string"
24190 },
24191 "upid" : {
24192 "type" : "string"
24193 },
24194 "user" : {
24195 "type" : "string"
24196 }
24197 }
24198 }
24199 }
24200 },
24201 "leaf" : 1,
24202 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
24203 "text" : "vncproxy"
24204 },
24205 {
24206 "info" : {
24207 "POST" : {
24208 "description" : "Creates a TCP proxy connection.",
24209 "method" : "POST",
24210 "name" : "termproxy",
24211 "parameters" : {
24212 "additionalProperties" : 0,
24213 "properties" : {
24214 "node" : {
24215 "description" : "The cluster node name.",
24216 "format" : "pve-node",
24217 "type" : "string",
24218 "typetext" : "<string>"
44660702 24219 },
4d47f125
TL
24220 "vmid" : {
24221 "description" : "The (unique) ID of the VM.",
24222 "format" : "pve-vmid",
24223 "minimum" : 1,
24224 "type" : "integer",
24225 "typetext" : "<integer> (1 - N)"
44660702 24226 }
4d47f125
TL
24227 }
24228 },
24229 "permissions" : {
24230 "check" : [
24231 "perm",
24232 "/vms/{vmid}",
24233 [
24234 "VM.Console"
24235 ]
24236 ]
24237 },
24238 "protected" : 1,
24239 "returns" : {
24240 "additionalProperties" : 0,
24241 "properties" : {
24242 "port" : {
24243 "type" : "integer"
56122987 24244 },
4d47f125
TL
24245 "ticket" : {
24246 "type" : "string"
7aacca6f 24247 },
4d47f125
TL
24248 "upid" : {
24249 "type" : "string"
24250 },
24251 "user" : {
24252 "type" : "string"
24253 }
24254 }
24255 }
24256 }
24257 },
24258 "leaf" : 1,
24259 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
24260 "text" : "termproxy"
24261 },
24262 {
24263 "info" : {
24264 "GET" : {
24265 "description" : "Opens a weksocket for VNC traffic.",
24266 "method" : "GET",
24267 "name" : "vncwebsocket",
24268 "parameters" : {
24269 "additionalProperties" : 0,
24270 "properties" : {
24271 "node" : {
24272 "description" : "The cluster node name.",
24273 "format" : "pve-node",
24274 "type" : "string",
24275 "typetext" : "<string>"
24276 },
24277 "port" : {
24278 "description" : "Port number returned by previous vncproxy call.",
24279 "maximum" : 5999,
24280 "minimum" : 5900,
24281 "type" : "integer",
24282 "typetext" : "<integer> (5900 - 5999)"
24283 },
24284 "vmid" : {
24285 "description" : "The (unique) ID of the VM.",
24286 "format" : "pve-vmid",
24287 "minimum" : 1,
24288 "type" : "integer",
24289 "typetext" : "<integer> (1 - N)"
24290 },
24291 "vncticket" : {
24292 "description" : "Ticket from previous call to vncproxy.",
24293 "maxLength" : 512,
24294 "type" : "string",
24295 "typetext" : "<string>"
56122987
DM
24296 }
24297 }
24298 },
4d47f125
TL
24299 "permissions" : {
24300 "check" : [
24301 "perm",
24302 "/vms/{vmid}",
24303 [
24304 "VM.Console"
24305 ]
24306 ],
24307 "description" : "You also need to pass a valid ticket (vncticket)."
24308 },
24309 "returns" : {
24310 "properties" : {
24311 "port" : {
24312 "type" : "string"
24313 }
24314 },
24315 "type" : "object"
24316 }
24317 }
24318 },
24319 "leaf" : 1,
24320 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
24321 "text" : "vncwebsocket"
24322 },
24323 {
24324 "info" : {
24325 "POST" : {
24326 "description" : "Returns a SPICE configuration to connect to the CT.",
24327 "method" : "POST",
24328 "name" : "spiceproxy",
24329 "parameters" : {
24330 "additionalProperties" : 0,
24331 "properties" : {
24332 "node" : {
24333 "description" : "The cluster node name.",
24334 "format" : "pve-node",
24335 "type" : "string",
24336 "typetext" : "<string>"
56122987 24337 },
4d47f125
TL
24338 "proxy" : {
24339 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
24340 "format" : "address",
24341 "optional" : 1,
24342 "type" : "string",
24343 "typetext" : "<string>"
44660702 24344 },
4d47f125
TL
24345 "vmid" : {
24346 "description" : "The (unique) ID of the VM.",
24347 "format" : "pve-vmid",
24348 "minimum" : 1,
24349 "type" : "integer",
24350 "typetext" : "<integer> (1 - N)"
44660702 24351 }
56122987
DM
24352 }
24353 },
4d47f125
TL
24354 "permissions" : {
24355 "check" : [
24356 "perm",
24357 "/vms/{vmid}",
24358 [
24359 "VM.Console"
24360 ]
24361 ]
24362 },
24363 "protected" : 1,
24364 "proxyto" : "node",
24365 "returns" : {
24366 "additionalProperties" : 1,
24367 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
24368 "properties" : {
24369 "host" : {
24370 "type" : "string"
24371 },
24372 "password" : {
24373 "type" : "string"
24374 },
24375 "proxy" : {
24376 "type" : "string"
24377 },
24378 "tls-port" : {
24379 "type" : "integer"
24380 },
24381 "type" : {
24382 "type" : "string"
24383 }
24384 }
24385 }
24386 }
24387 },
24388 "leaf" : 1,
24389 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
24390 "text" : "spiceproxy"
24391 },
24392 {
24393 "info" : {
24394 "POST" : {
24395 "description" : "Migrate the container to another node. Creates a new migration task.",
24396 "method" : "POST",
24397 "name" : "migrate_vm",
24398 "parameters" : {
24399 "additionalProperties" : 0,
24400 "properties" : {
95895385
TL
24401 "bwlimit" : {
24402 "default" : "migrate limit from datacenter or storage config",
24403 "description" : "Override I/O bandwidth limit (in KiB/s).",
24404 "minimum" : "0",
24405 "optional" : 1,
24406 "type" : "number",
24407 "typetext" : "<number> (0 - N)"
24408 },
4d47f125
TL
24409 "force" : {
24410 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
24411 "optional" : 1,
24412 "type" : "boolean",
24413 "typetext" : "<boolean>"
56122987 24414 },
4d47f125
TL
24415 "node" : {
24416 "description" : "The cluster node name.",
24417 "format" : "pve-node",
24418 "type" : "string",
24419 "typetext" : "<string>"
44660702 24420 },
4d47f125
TL
24421 "online" : {
24422 "description" : "Use online/live migration.",
24423 "optional" : 1,
24424 "type" : "boolean",
24425 "typetext" : "<boolean>"
24426 },
24427 "restart" : {
24428 "description" : "Use restart migration",
24429 "optional" : 1,
24430 "type" : "boolean",
24431 "typetext" : "<boolean>"
24432 },
24433 "target" : {
24434 "description" : "Target node.",
24435 "format" : "pve-node",
24436 "type" : "string",
24437 "typetext" : "<string>"
24438 },
24439 "timeout" : {
24440 "default" : 180,
24441 "description" : "Timeout in seconds for shutdown for restart migration",
24442 "optional" : 1,
24443 "type" : "integer",
24444 "typetext" : "<integer>"
24445 },
24446 "vmid" : {
24447 "description" : "The (unique) ID of the VM.",
24448 "format" : "pve-vmid",
24449 "minimum" : 1,
24450 "type" : "integer",
24451 "typetext" : "<integer> (1 - N)"
56122987
DM
24452 }
24453 }
24454 },
4d47f125
TL
24455 "permissions" : {
24456 "check" : [
24457 "perm",
24458 "/vms/{vmid}",
24459 [
24460 "VM.Migrate"
24461 ]
24462 ]
24463 },
24464 "protected" : 1,
24465 "proxyto" : "node",
24466 "returns" : {
24467 "description" : "the task ID.",
24468 "type" : "string"
24469 }
56122987 24470 }
4d47f125
TL
24471 },
24472 "leaf" : 1,
24473 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
24474 "text" : "migrate"
24475 },
24476 {
56122987
DM
24477 "info" : {
24478 "GET" : {
4d47f125 24479 "description" : "Check if feature for virtual machine is available.",
44660702 24480 "method" : "GET",
4d47f125 24481 "name" : "vm_feature",
56122987 24482 "parameters" : {
44660702 24483 "additionalProperties" : 0,
56122987 24484 "properties" : {
4d47f125
TL
24485 "feature" : {
24486 "description" : "Feature to check.",
24487 "enum" : [
24488 "snapshot",
24489 "clone",
24490 "copy"
24491 ],
24492 "type" : "string"
24493 },
56122987 24494 "node" : {
44660702 24495 "description" : "The cluster node name.",
56122987 24496 "format" : "pve-node",
013dc89f
DM
24497 "type" : "string",
24498 "typetext" : "<string>"
44660702 24499 },
4d47f125
TL
24500 "snapname" : {
24501 "description" : "The name of the snapshot.",
24502 "format" : "pve-configid",
24503 "maxLength" : 40,
24504 "optional" : 1,
24505 "type" : "string",
24506 "typetext" : "<string>"
24507 },
44660702
DM
24508 "vmid" : {
24509 "description" : "The (unique) ID of the VM.",
24510 "format" : "pve-vmid",
24511 "minimum" : 1,
4bd7df8b 24512 "type" : "integer",
013dc89f 24513 "typetext" : "<integer> (1 - N)"
56122987 24514 }
44660702
DM
24515 }
24516 },
24517 "permissions" : {
4d47f125
TL
24518 "check" : [
24519 "perm",
24520 "/vms/{vmid}",
24521 [
24522 "VM.Audit"
24523 ]
24524 ]
56122987 24525 },
4d47f125
TL
24526 "protected" : 1,
24527 "proxyto" : "node",
56122987 24528 "returns" : {
4d47f125
TL
24529 "properties" : {
24530 "hasFeature" : {
24531 "type" : "boolean"
24532 }
7aacca6f 24533 },
4d47f125
TL
24534 "type" : "object"
24535 }
24536 }
24537 },
24538 "leaf" : 1,
24539 "path" : "/nodes/{node}/lxc/{vmid}/feature",
24540 "text" : "feature"
24541 },
24542 {
24543 "info" : {
24544 "POST" : {
24545 "description" : "Create a Template.",
24546 "method" : "POST",
24547 "name" : "template",
24548 "parameters" : {
24549 "additionalProperties" : 0,
24550 "properties" : {
24551 "node" : {
24552 "description" : "The cluster node name.",
24553 "format" : "pve-node",
24554 "type" : "string",
24555 "typetext" : "<string>"
24556 },
24557 "vmid" : {
24558 "description" : "The (unique) ID of the VM.",
24559 "format" : "pve-vmid",
24560 "minimum" : 1,
24561 "type" : "integer",
24562 "typetext" : "<integer> (1 - N)"
56122987 24563 }
4d47f125
TL
24564 }
24565 },
24566 "permissions" : {
24567 "check" : [
24568 "perm",
24569 "/vms/{vmid}",
24570 [
24571 "VM.Allocate"
24572 ]
44660702 24573 ],
4d47f125
TL
24574 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
24575 },
24576 "protected" : 1,
24577 "proxyto" : "node",
24578 "returns" : {
24579 "type" : "null"
56122987
DM
24580 }
24581 }
24582 },
4d47f125
TL
24583 "leaf" : 1,
24584 "path" : "/nodes/{node}/lxc/{vmid}/template",
24585 "text" : "template"
56122987
DM
24586 },
24587 {
56122987 24588 "info" : {
4d47f125
TL
24589 "POST" : {
24590 "description" : "Create a container clone/copy",
24591 "method" : "POST",
24592 "name" : "clone_vm",
56122987 24593 "parameters" : {
7aacca6f 24594 "additionalProperties" : 0,
56122987 24595 "properties" : {
95895385
TL
24596 "bwlimit" : {
24597 "default" : "clone limit from datacenter or storage config",
24598 "description" : "Override I/O bandwidth limit (in KiB/s).",
24599 "minimum" : "0",
24600 "optional" : 1,
24601 "type" : "number",
24602 "typetext" : "<number> (0 - N)"
24603 },
4d47f125
TL
24604 "description" : {
24605 "description" : "Description for the new CT.",
44660702 24606 "optional" : 1,
4d47f125
TL
24607 "type" : "string",
24608 "typetext" : "<string>"
44660702 24609 },
4d47f125
TL
24610 "full" : {
24611 "description" : "Create a full copy of all disks. This is always done when you clone a normal CT. For CT templates, we try to create a linked clone by default.",
24612 "optional" : 1,
24613 "type" : "boolean",
24614 "typetext" : "<boolean>"
24615 },
24616 "hostname" : {
24617 "description" : "Set a hostname for the new CT.",
24618 "format" : "dns-name",
24619 "optional" : 1,
013dc89f
DM
24620 "type" : "string",
24621 "typetext" : "<string>"
44660702 24622 },
4d47f125
TL
24623 "newid" : {
24624 "description" : "VMID for the clone.",
24625 "format" : "pve-vmid",
24626 "minimum" : 1,
24627 "type" : "integer",
24628 "typetext" : "<integer> (1 - N)"
24629 },
7aacca6f
DM
24630 "node" : {
24631 "description" : "The cluster node name.",
44660702 24632 "format" : "pve-node",
013dc89f
DM
24633 "type" : "string",
24634 "typetext" : "<string>"
56122987 24635 },
4d47f125
TL
24636 "pool" : {
24637 "description" : "Add the new CT to the specified pool.",
24638 "format" : "pve-poolid",
24639 "optional" : 1,
24640 "type" : "string",
24641 "typetext" : "<string>"
24642 },
24643 "snapname" : {
24644 "description" : "The name of the snapshot.",
24645 "format" : "pve-configid",
24646 "maxLength" : 40,
24647 "optional" : 1,
24648 "type" : "string",
24649 "typetext" : "<string>"
24650 },
24651 "storage" : {
24652 "description" : "Target storage for full clone.",
24653 "format" : "pve-storage-id",
24654 "optional" : 1,
24655 "type" : "string",
24656 "typetext" : "<string>"
24657 },
24658 "target" : {
24659 "description" : "Target node. Only allowed if the original VM is on shared storage.",
24660 "format" : "pve-node",
24661 "optional" : 1,
24662 "type" : "string",
24663 "typetext" : "<string>"
24664 },
7aacca6f 24665 "vmid" : {
44660702 24666 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
24667 "format" : "pve-vmid",
24668 "minimum" : 1,
4bd7df8b 24669 "type" : "integer",
013dc89f 24670 "typetext" : "<integer> (1 - N)"
56122987 24671 }
7aacca6f
DM
24672 }
24673 },
24674 "permissions" : {
24675 "check" : [
4d47f125 24676 "and",
7aacca6f 24677 [
4d47f125
TL
24678 "perm",
24679 "/vms/{vmid}",
24680 [
24681 "VM.Clone"
24682 ]
24683 ],
24684 [
24685 "or",
24686 [
24687 "perm",
24688 "/vms/{newid}",
24689 [
24690 "VM.Allocate"
24691 ]
24692 ],
24693 [
24694 "perm",
24695 "/pool/{pool}",
24696 [
24697 "VM.Allocate"
24698 ],
24699 "require_param",
24700 "pool"
24701 ]
7aacca6f 24702 ]
4d47f125
TL
24703 ],
24704 "description" : "You need 'VM.Clone' permissions on /vms/{vmid}, and 'VM.Allocate' permissions on /vms/{newid} (or on the VM pool /pool/{pool}). You also need 'Datastore.AllocateSpace' on any used storage."
56122987 24705 },
44660702 24706 "protected" : 1,
4d47f125 24707 "proxyto" : "node",
7aacca6f 24708 "returns" : {
4d47f125 24709 "type" : "string"
7aacca6f 24710 }
56122987 24711 }
7aacca6f 24712 },
44660702 24713 "leaf" : 1,
4d47f125
TL
24714 "path" : "/nodes/{node}/lxc/{vmid}/clone",
24715 "text" : "clone"
56122987
DM
24716 },
24717 {
56122987 24718 "info" : {
4d47f125
TL
24719 "PUT" : {
24720 "description" : "Resize a container mount point.",
24721 "method" : "PUT",
24722 "name" : "resize_vm",
56122987 24723 "parameters" : {
7aacca6f 24724 "additionalProperties" : 0,
56122987 24725 "properties" : {
4d47f125
TL
24726 "digest" : {
24727 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24728 "maxLength" : 40,
24729 "optional" : 1,
24730 "type" : "string",
24731 "typetext" : "<string>"
24732 },
24733 "disk" : {
24734 "description" : "The disk you want to resize.",
44660702 24735 "enum" : [
4d47f125
TL
24736 "rootfs",
24737 "mp0",
24738 "mp1",
24739 "mp2",
24740 "mp3",
24741 "mp4",
24742 "mp5",
24743 "mp6",
24744 "mp7",
24745 "mp8",
24746 "mp9",
24747 "mp10",
24748 "mp11",
24749 "mp12",
24750 "mp13",
24751 "mp14",
24752 "mp15",
24753 "mp16",
24754 "mp17",
24755 "mp18",
24756 "mp19",
24757 "mp20",
24758 "mp21",
24759 "mp22",
24760 "mp23",
24761 "mp24",
24762 "mp25",
24763 "mp26",
24764 "mp27",
24765 "mp28",
24766 "mp29",
24767 "mp30",
24768 "mp31",
24769 "mp32",
24770 "mp33",
24771 "mp34",
24772 "mp35",
24773 "mp36",
24774 "mp37",
24775 "mp38",
24776 "mp39",
24777 "mp40",
24778 "mp41",
24779 "mp42",
24780 "mp43",
24781 "mp44",
24782 "mp45",
24783 "mp46",
24784 "mp47",
24785 "mp48",
24786 "mp49",
24787 "mp50",
24788 "mp51",
24789 "mp52",
24790 "mp53",
24791 "mp54",
24792 "mp55",
24793 "mp56",
24794 "mp57",
24795 "mp58",
24796 "mp59",
24797 "mp60",
24798 "mp61",
24799 "mp62",
24800 "mp63",
24801 "mp64",
24802 "mp65",
24803 "mp66",
24804 "mp67",
24805 "mp68",
24806 "mp69",
24807 "mp70",
24808 "mp71",
24809 "mp72",
24810 "mp73",
24811 "mp74",
24812 "mp75",
24813 "mp76",
24814 "mp77",
24815 "mp78",
24816 "mp79",
24817 "mp80",
24818 "mp81",
24819 "mp82",
24820 "mp83",
24821 "mp84",
24822 "mp85",
24823 "mp86",
24824 "mp87",
24825 "mp88",
24826 "mp89",
24827 "mp90",
24828 "mp91",
24829 "mp92",
24830 "mp93",
24831 "mp94",
24832 "mp95",
24833 "mp96",
24834 "mp97",
24835 "mp98",
24836 "mp99",
24837 "mp100",
24838 "mp101",
24839 "mp102",
24840 "mp103",
24841 "mp104",
24842 "mp105",
24843 "mp106",
24844 "mp107",
24845 "mp108",
24846 "mp109",
24847 "mp110",
24848 "mp111",
24849 "mp112",
24850 "mp113",
24851 "mp114",
24852 "mp115",
24853 "mp116",
24854 "mp117",
24855 "mp118",
24856 "mp119",
24857 "mp120",
24858 "mp121",
24859 "mp122",
24860 "mp123",
24861 "mp124",
24862 "mp125",
24863 "mp126",
24864 "mp127",
24865 "mp128",
24866 "mp129",
24867 "mp130",
24868 "mp131",
24869 "mp132",
24870 "mp133",
24871 "mp134",
24872 "mp135",
24873 "mp136",
24874 "mp137",
24875 "mp138",
24876 "mp139",
24877 "mp140",
24878 "mp141",
24879 "mp142",
24880 "mp143",
24881 "mp144",
24882 "mp145",
24883 "mp146",
24884 "mp147",
24885 "mp148",
24886 "mp149",
24887 "mp150",
24888 "mp151",
24889 "mp152",
24890 "mp153",
24891 "mp154",
24892 "mp155",
24893 "mp156",
24894 "mp157",
24895 "mp158",
24896 "mp159",
24897 "mp160",
24898 "mp161",
24899 "mp162",
24900 "mp163",
24901 "mp164",
24902 "mp165",
24903 "mp166",
24904 "mp167",
24905 "mp168",
24906 "mp169",
24907 "mp170",
24908 "mp171",
24909 "mp172",
24910 "mp173",
24911 "mp174",
24912 "mp175",
24913 "mp176",
24914 "mp177",
24915 "mp178",
24916 "mp179",
24917 "mp180",
24918 "mp181",
24919 "mp182",
24920 "mp183",
24921 "mp184",
24922 "mp185",
24923 "mp186",
24924 "mp187",
24925 "mp188",
24926 "mp189",
24927 "mp190",
24928 "mp191",
24929 "mp192",
24930 "mp193",
24931 "mp194",
24932 "mp195",
24933 "mp196",
24934 "mp197",
24935 "mp198",
24936 "mp199",
24937 "mp200",
24938 "mp201",
24939 "mp202",
24940 "mp203",
24941 "mp204",
24942 "mp205",
24943 "mp206",
24944 "mp207",
24945 "mp208",
24946 "mp209",
24947 "mp210",
24948 "mp211",
24949 "mp212",
24950 "mp213",
24951 "mp214",
24952 "mp215",
24953 "mp216",
24954 "mp217",
24955 "mp218",
24956 "mp219",
24957 "mp220",
24958 "mp221",
24959 "mp222",
24960 "mp223",
24961 "mp224",
24962 "mp225",
24963 "mp226",
24964 "mp227",
24965 "mp228",
24966 "mp229",
24967 "mp230",
24968 "mp231",
24969 "mp232",
24970 "mp233",
24971 "mp234",
24972 "mp235",
24973 "mp236",
24974 "mp237",
24975 "mp238",
24976 "mp239",
24977 "mp240",
24978 "mp241",
24979 "mp242",
24980 "mp243",
24981 "mp244",
24982 "mp245",
24983 "mp246",
24984 "mp247",
24985 "mp248",
24986 "mp249",
24987 "mp250",
24988 "mp251",
24989 "mp252",
24990 "mp253",
24991 "mp254",
24992 "mp255"
44660702 24993 ],
44660702
DM
24994 "type" : "string"
24995 },
7aacca6f 24996 "node" : {
44660702 24997 "description" : "The cluster node name.",
7aacca6f 24998 "format" : "pve-node",
013dc89f
DM
24999 "type" : "string",
25000 "typetext" : "<string>"
7aacca6f 25001 },
4d47f125
TL
25002 "size" : {
25003 "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.",
25004 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 25005 "type" : "string"
7aacca6f
DM
25006 },
25007 "vmid" : {
25008 "description" : "The (unique) ID of the VM.",
44660702 25009 "format" : "pve-vmid",
7aacca6f 25010 "minimum" : 1,
4bd7df8b 25011 "type" : "integer",
013dc89f 25012 "typetext" : "<integer> (1 - N)"
56122987 25013 }
56122987
DM
25014 }
25015 },
56122987
DM
25016 "permissions" : {
25017 "check" : [
25018 "perm",
25019 "/vms/{vmid}",
25020 [
4d47f125
TL
25021 "VM.Config.Disk"
25022 ],
25023 "any",
25024 1
56122987
DM
25025 ]
25026 },
7aacca6f 25027 "protected" : 1,
4d47f125 25028 "proxyto" : "node",
7aacca6f 25029 "returns" : {
4d47f125
TL
25030 "description" : "the task ID.",
25031 "type" : "string"
44660702 25032 }
56122987
DM
25033 }
25034 },
44660702 25035 "leaf" : 1,
4d47f125
TL
25036 "path" : "/nodes/{node}/lxc/{vmid}/resize",
25037 "text" : "resize"
56122987
DM
25038 },
25039 {
25040 "info" : {
25041 "POST" : {
4d47f125 25042 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 25043 "method" : "POST",
4d47f125 25044 "name" : "move_volume",
7aacca6f 25045 "parameters" : {
44660702 25046 "additionalProperties" : 0,
7aacca6f 25047 "properties" : {
95895385
TL
25048 "bwlimit" : {
25049 "default" : "clone limit from datacenter or storage config",
25050 "description" : "Override I/O bandwidth limit (in KiB/s).",
25051 "minimum" : "0",
25052 "optional" : 1,
25053 "type" : "number",
25054 "typetext" : "<number> (0 - N)"
25055 },
4d47f125
TL
25056 "delete" : {
25057 "default" : 0,
25058 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 25059 "optional" : 1,
4d47f125
TL
25060 "type" : "boolean",
25061 "typetext" : "<boolean>"
25062 },
25063 "digest" : {
25064 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25065 "maxLength" : 40,
25066 "optional" : 1,
25067 "type" : "string",
25068 "typetext" : "<string>"
5d9c884c 25069 },
44660702
DM
25070 "node" : {
25071 "description" : "The cluster node name.",
25072 "format" : "pve-node",
013dc89f
DM
25073 "type" : "string",
25074 "typetext" : "<string>"
44660702 25075 },
4d47f125
TL
25076 "storage" : {
25077 "description" : "Target Storage.",
25078 "format" : "pve-storage-id",
25079 "type" : "string",
25080 "typetext" : "<string>"
25081 },
7aacca6f 25082 "vmid" : {
44660702 25083 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
25084 "format" : "pve-vmid",
25085 "minimum" : 1,
4bd7df8b 25086 "type" : "integer",
013dc89f 25087 "typetext" : "<integer> (1 - N)"
7aacca6f 25088 },
4d47f125
TL
25089 "volume" : {
25090 "description" : "Volume which will be moved.",
25091 "enum" : [
25092 "rootfs",
25093 "mp0",
25094 "mp1",
25095 "mp2",
25096 "mp3",
25097 "mp4",
25098 "mp5",
25099 "mp6",
25100 "mp7",
25101 "mp8",
25102 "mp9",
25103 "mp10",
25104 "mp11",
25105 "mp12",
25106 "mp13",
25107 "mp14",
25108 "mp15",
25109 "mp16",
25110 "mp17",
25111 "mp18",
25112 "mp19",
25113 "mp20",
25114 "mp21",
25115 "mp22",
25116 "mp23",
25117 "mp24",
25118 "mp25",
25119 "mp26",
25120 "mp27",
25121 "mp28",
25122 "mp29",
25123 "mp30",
25124 "mp31",
25125 "mp32",
25126 "mp33",
25127 "mp34",
25128 "mp35",
25129 "mp36",
25130 "mp37",
25131 "mp38",
25132 "mp39",
25133 "mp40",
25134 "mp41",
25135 "mp42",
25136 "mp43",
25137 "mp44",
25138 "mp45",
25139 "mp46",
25140 "mp47",
25141 "mp48",
25142 "mp49",
25143 "mp50",
25144 "mp51",
25145 "mp52",
25146 "mp53",
25147 "mp54",
25148 "mp55",
25149 "mp56",
25150 "mp57",
25151 "mp58",
25152 "mp59",
25153 "mp60",
25154 "mp61",
25155 "mp62",
25156 "mp63",
25157 "mp64",
25158 "mp65",
25159 "mp66",
25160 "mp67",
25161 "mp68",
25162 "mp69",
25163 "mp70",
25164 "mp71",
25165 "mp72",
25166 "mp73",
25167 "mp74",
25168 "mp75",
25169 "mp76",
25170 "mp77",
25171 "mp78",
25172 "mp79",
25173 "mp80",
25174 "mp81",
25175 "mp82",
25176 "mp83",
25177 "mp84",
25178 "mp85",
25179 "mp86",
25180 "mp87",
25181 "mp88",
25182 "mp89",
25183 "mp90",
25184 "mp91",
25185 "mp92",
25186 "mp93",
25187 "mp94",
25188 "mp95",
25189 "mp96",
25190 "mp97",
25191 "mp98",
25192 "mp99",
25193 "mp100",
25194 "mp101",
25195 "mp102",
25196 "mp103",
25197 "mp104",
25198 "mp105",
25199 "mp106",
25200 "mp107",
25201 "mp108",
25202 "mp109",
25203 "mp110",
25204 "mp111",
25205 "mp112",
25206 "mp113",
25207 "mp114",
25208 "mp115",
25209 "mp116",
25210 "mp117",
25211 "mp118",
25212 "mp119",
25213 "mp120",
25214 "mp121",
25215 "mp122",
25216 "mp123",
25217 "mp124",
25218 "mp125",
25219 "mp126",
25220 "mp127",
25221 "mp128",
25222 "mp129",
25223 "mp130",
25224 "mp131",
25225 "mp132",
25226 "mp133",
25227 "mp134",
25228 "mp135",
25229 "mp136",
25230 "mp137",
25231 "mp138",
25232 "mp139",
25233 "mp140",
25234 "mp141",
25235 "mp142",
25236 "mp143",
25237 "mp144",
25238 "mp145",
25239 "mp146",
25240 "mp147",
25241 "mp148",
25242 "mp149",
25243 "mp150",
25244 "mp151",
25245 "mp152",
25246 "mp153",
25247 "mp154",
25248 "mp155",
25249 "mp156",
25250 "mp157",
25251 "mp158",
25252 "mp159",
25253 "mp160",
25254 "mp161",
25255 "mp162",
25256 "mp163",
25257 "mp164",
25258 "mp165",
25259 "mp166",
25260 "mp167",
25261 "mp168",
25262 "mp169",
25263 "mp170",
25264 "mp171",
25265 "mp172",
25266 "mp173",
25267 "mp174",
25268 "mp175",
25269 "mp176",
25270 "mp177",
25271 "mp178",
25272 "mp179",
25273 "mp180",
25274 "mp181",
25275 "mp182",
25276 "mp183",
25277 "mp184",
25278 "mp185",
25279 "mp186",
25280 "mp187",
25281 "mp188",
25282 "mp189",
25283 "mp190",
25284 "mp191",
25285 "mp192",
25286 "mp193",
25287 "mp194",
25288 "mp195",
25289 "mp196",
25290 "mp197",
25291 "mp198",
25292 "mp199",
25293 "mp200",
25294 "mp201",
25295 "mp202",
25296 "mp203",
25297 "mp204",
25298 "mp205",
25299 "mp206",
25300 "mp207",
25301 "mp208",
25302 "mp209",
25303 "mp210",
25304 "mp211",
25305 "mp212",
25306 "mp213",
25307 "mp214",
25308 "mp215",
25309 "mp216",
25310 "mp217",
25311 "mp218",
25312 "mp219",
25313 "mp220",
25314 "mp221",
25315 "mp222",
25316 "mp223",
25317 "mp224",
25318 "mp225",
25319 "mp226",
25320 "mp227",
25321 "mp228",
25322 "mp229",
25323 "mp230",
25324 "mp231",
25325 "mp232",
25326 "mp233",
25327 "mp234",
25328 "mp235",
25329 "mp236",
25330 "mp237",
25331 "mp238",
25332 "mp239",
25333 "mp240",
25334 "mp241",
25335 "mp242",
25336 "mp243",
25337 "mp244",
25338 "mp245",
25339 "mp246",
25340 "mp247",
25341 "mp248",
25342 "mp249",
25343 "mp250",
25344 "mp251",
25345 "mp252",
25346 "mp253",
25347 "mp254",
25348 "mp255"
25349 ],
25350 "type" : "string"
7aacca6f 25351 }
44660702 25352 }
7aacca6f 25353 },
56122987
DM
25354 "permissions" : {
25355 "check" : [
4d47f125 25356 "and",
56122987 25357 [
4d47f125
TL
25358 "perm",
25359 "/vms/{vmid}",
25360 [
25361 "VM.Config.Disk"
25362 ]
25363 ],
25364 [
25365 "perm",
25366 "/storage/{storage}",
25367 [
25368 "Datastore.AllocateSpace"
25369 ]
56122987 25370 ]
4d47f125
TL
25371 ],
25372 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
25373 },
25374 "protected" : 1,
25375 "proxyto" : "node",
25376 "returns" : {
25377 "type" : "string"
25378 }
25379 }
25380 },
25381 "leaf" : 1,
25382 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
25383 "text" : "move_volume"
1c532546
TL
25384 },
25385 {
25386 "info" : {
25387 "GET" : {
25388 "description" : "Get container configuration, including pending changes.",
25389 "method" : "GET",
25390 "name" : "vm_pending",
25391 "parameters" : {
25392 "additionalProperties" : 0,
25393 "properties" : {
25394 "node" : {
25395 "description" : "The cluster node name.",
25396 "format" : "pve-node",
25397 "type" : "string",
25398 "typetext" : "<string>"
25399 },
25400 "vmid" : {
25401 "description" : "The (unique) ID of the VM.",
25402 "format" : "pve-vmid",
25403 "minimum" : 1,
25404 "type" : "integer",
25405 "typetext" : "<integer> (1 - N)"
25406 }
25407 }
25408 },
25409 "permissions" : {
25410 "check" : [
25411 "perm",
25412 "/vms/{vmid}",
25413 [
25414 "VM.Audit"
25415 ]
25416 ]
25417 },
25418 "proxyto" : "node",
25419 "returns" : {
25420 "items" : {
25421 "properties" : {
25422 "delete" : {
25423 "description" : "Indicates a pending delete request if present and not 0.",
25424 "maximum" : 2,
25425 "minimum" : 0,
25426 "optional" : 1,
25427 "type" : "integer"
25428 },
25429 "key" : {
25430 "description" : "Configuration option name.",
25431 "type" : "string"
25432 },
25433 "pending" : {
25434 "description" : "Pending value.",
25435 "optional" : 1,
25436 "type" : "string"
25437 },
25438 "value" : {
25439 "description" : "Current value.",
25440 "optional" : 1,
25441 "type" : "string"
25442 }
25443 },
25444 "type" : "object"
25445 },
25446 "type" : "array"
25447 }
25448 }
25449 },
25450 "leaf" : 1,
25451 "path" : "/nodes/{node}/lxc/{vmid}/pending",
25452 "text" : "pending"
4d47f125
TL
25453 }
25454 ],
25455 "info" : {
25456 "DELETE" : {
25457 "description" : "Destroy the container (also delete all uses files).",
25458 "method" : "DELETE",
25459 "name" : "destroy_vm",
25460 "parameters" : {
25461 "additionalProperties" : 0,
25462 "properties" : {
25463 "node" : {
25464 "description" : "The cluster node name.",
25465 "format" : "pve-node",
25466 "type" : "string",
25467 "typetext" : "<string>"
25468 },
1c532546
TL
25469 "purge" : {
25470 "description" : "Remove vmid from backup cron jobs.",
25471 "optional" : 1,
25472 "type" : "boolean",
25473 "typetext" : "<boolean>"
25474 },
4d47f125
TL
25475 "vmid" : {
25476 "description" : "The (unique) ID of the VM.",
25477 "format" : "pve-vmid",
25478 "minimum" : 1,
25479 "type" : "integer",
25480 "typetext" : "<integer> (1 - N)"
25481 }
25482 }
25483 },
25484 "permissions" : {
25485 "check" : [
25486 "perm",
25487 "/vms/{vmid}",
25488 [
25489 "VM.Allocate"
25490 ]
25491 ]
25492 },
25493 "protected" : 1,
25494 "proxyto" : "node",
25495 "returns" : {
25496 "type" : "string"
25497 }
25498 },
25499 "GET" : {
25500 "description" : "Directory index",
25501 "method" : "GET",
25502 "name" : "vmdiridx",
25503 "parameters" : {
25504 "additionalProperties" : 0,
25505 "properties" : {
25506 "node" : {
25507 "description" : "The cluster node name.",
25508 "format" : "pve-node",
25509 "type" : "string",
25510 "typetext" : "<string>"
56122987 25511 },
4d47f125
TL
25512 "vmid" : {
25513 "description" : "The (unique) ID of the VM.",
25514 "format" : "pve-vmid",
25515 "minimum" : 1,
25516 "type" : "integer",
25517 "typetext" : "<integer> (1 - N)"
56122987
DM
25518 }
25519 }
25520 },
4d47f125
TL
25521 "permissions" : {
25522 "user" : "all"
25523 },
25524 "proxyto" : "node",
25525 "returns" : {
25526 "items" : {
25527 "properties" : {
25528 "subdir" : {
25529 "type" : "string"
35a75dd3
DM
25530 }
25531 },
4d47f125
TL
25532 "type" : "object"
25533 },
25534 "links" : [
25535 {
25536 "href" : "{subdir}",
25537 "rel" : "child"
35a75dd3 25538 }
4d47f125
TL
25539 ],
25540 "type" : "array"
25541 }
25542 }
25543 },
25544 "leaf" : 0,
25545 "path" : "/nodes/{node}/lxc/{vmid}",
25546 "text" : "{vmid}"
25547 }
25548 ],
25549 "info" : {
25550 "GET" : {
25551 "description" : "LXC container index (per node).",
25552 "method" : "GET",
25553 "name" : "vmlist",
25554 "parameters" : {
25555 "additionalProperties" : 0,
25556 "properties" : {
25557 "node" : {
25558 "description" : "The cluster node name.",
25559 "format" : "pve-node",
25560 "type" : "string",
25561 "typetext" : "<string>"
25562 }
25563 }
25564 },
25565 "permissions" : {
25566 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
25567 "user" : "all"
25568 },
25569 "protected" : 1,
25570 "proxyto" : "node",
25571 "returns" : {
25572 "items" : {
25573 "properties" : {
25574 "cpus" : {
25575 "description" : "Maximum usable CPUs.",
25576 "optional" : 1,
25577 "type" : "number"
25578 },
95895385
TL
25579 "lock" : {
25580 "description" : "The current config lock, if any.",
25581 "optional" : 1,
25582 "type" : "string"
25583 },
4d47f125
TL
25584 "maxdisk" : {
25585 "description" : "Root disk size in bytes.",
25586 "optional" : 1,
25587 "renderer" : "bytes",
25588 "type" : "integer"
25589 },
25590 "maxmem" : {
25591 "description" : "Maximum memory in bytes.",
25592 "optional" : 1,
25593 "renderer" : "bytes",
25594 "type" : "integer"
25595 },
25596 "maxswap" : {
25597 "description" : "Maximum SWAP memory in bytes.",
25598 "optional" : 1,
25599 "renderer" : "bytes",
25600 "type" : "integer"
25601 },
25602 "name" : {
25603 "description" : "Container name.",
25604 "optional" : 1,
25605 "type" : "string"
25606 },
25607 "status" : {
25608 "description" : "LXC Container status.",
25609 "enum" : [
25610 "stopped",
25611 "running"
25612 ],
25613 "type" : "string"
25614 },
5c1699e5
TL
25615 "tags" : {
25616 "description" : "The current configured tags, if any.",
25617 "optional" : 1,
25618 "type" : "string"
25619 },
4d47f125
TL
25620 "uptime" : {
25621 "description" : "Uptime.",
25622 "optional" : 1,
25623 "renderer" : "duration",
25624 "type" : "integer"
25625 },
25626 "vmid" : {
25627 "description" : "The (unique) ID of the VM.",
25628 "format" : "pve-vmid",
25629 "minimum" : 1,
25630 "type" : "integer"
35a75dd3
DM
25631 }
25632 },
4d47f125 25633 "type" : "object"
35a75dd3 25634 },
4d47f125
TL
25635 "links" : [
25636 {
25637 "href" : "{vmid}",
25638 "rel" : "child"
25639 }
25640 ],
25641 "type" : "array"
25642 }
25643 },
25644 "POST" : {
25645 "description" : "Create or restore a container.",
25646 "method" : "POST",
25647 "name" : "create_vm",
25648 "parameters" : {
25649 "additionalProperties" : 0,
25650 "properties" : {
25651 "arch" : {
25652 "default" : "amd64",
25653 "description" : "OS architecture type.",
25654 "enum" : [
25655 "amd64",
25656 "i386",
25657 "arm64",
25658 "armhf"
25659 ],
25660 "optional" : 1,
25661 "type" : "string"
25662 },
25663 "bwlimit" : {
95895385
TL
25664 "default" : "restore limit from datacenter or storage config",
25665 "description" : "Override I/O bandwidth limit (in KiB/s).",
4d47f125
TL
25666 "minimum" : "0",
25667 "optional" : 1,
25668 "type" : "number",
25669 "typetext" : "<number> (0 - N)"
25670 },
25671 "cmode" : {
25672 "default" : "tty",
25673 "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).",
25674 "enum" : [
25675 "shell",
25676 "console",
25677 "tty"
25678 ],
25679 "optional" : 1,
25680 "type" : "string"
25681 },
25682 "console" : {
25683 "default" : 1,
25684 "description" : "Attach a console device (/dev/console) to the container.",
25685 "optional" : 1,
25686 "type" : "boolean",
25687 "typetext" : "<boolean>"
25688 },
25689 "cores" : {
25690 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
25691 "maximum" : 128,
25692 "minimum" : 1,
25693 "optional" : 1,
25694 "type" : "integer",
25695 "typetext" : "<integer> (1 - 128)"
25696 },
25697 "cpulimit" : {
25698 "default" : 0,
25699 "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.",
25700 "maximum" : 128,
25701 "minimum" : 0,
25702 "optional" : 1,
25703 "type" : "number",
25704 "typetext" : "<number> (0 - 128)"
25705 },
25706 "cpuunits" : {
25707 "default" : 1024,
25708 "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.",
25709 "maximum" : 500000,
25710 "minimum" : 0,
25711 "optional" : 1,
25712 "type" : "integer",
25713 "typetext" : "<integer> (0 - 500000)"
25714 },
25715 "description" : {
25716 "description" : "Container description. Only used on the configuration web interface.",
25717 "optional" : 1,
25718 "type" : "string",
25719 "typetext" : "<string>"
25720 },
25721 "features" : {
25722 "description" : "Allow containers access to advanced features.",
25723 "format" : {
e2d681b3
TL
25724 "fuse" : {
25725 "default" : 0,
25726 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
25727 "optional" : 1,
25728 "type" : "boolean"
25729 },
4d47f125
TL
25730 "keyctl" : {
25731 "default" : 0,
25732 "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
25733 "optional" : 1,
25734 "type" : "boolean"
7aacca6f 25735 },
4d47f125
TL
25736 "mount" : {
25737 "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
25738 "format_description" : "fstype;fstype;...",
25739 "optional" : 1,
95895385 25740 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125 25741 "type" : "string"
56122987 25742 },
4d47f125
TL
25743 "nesting" : {
25744 "default" : 0,
25745 "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
25746 "optional" : 1,
25747 "type" : "boolean"
44660702 25748 }
4d47f125
TL
25749 },
25750 "optional" : 1,
25751 "type" : "string",
e2d681b3 25752 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 25753 },
4d47f125
TL
25754 "force" : {
25755 "description" : "Allow to overwrite existing container.",
25756 "optional" : 1,
25757 "type" : "boolean",
25758 "typetext" : "<boolean>"
25759 },
5f26e15b
TL
25760 "hookscript" : {
25761 "description" : "Script that will be exectued during various steps in the containers lifetime.",
25762 "format" : "pve-volume-id",
25763 "optional" : 1,
25764 "type" : "string",
25765 "typetext" : "<string>"
25766 },
4d47f125
TL
25767 "hostname" : {
25768 "description" : "Set a host name for the container.",
25769 "format" : "dns-name",
25770 "maxLength" : 255,
25771 "optional" : 1,
25772 "type" : "string",
25773 "typetext" : "<string>"
25774 },
25775 "ignore-unpack-errors" : {
25776 "description" : "Ignore errors when extracting the template.",
25777 "optional" : 1,
25778 "type" : "boolean",
25779 "typetext" : "<boolean>"
25780 },
25781 "lock" : {
25782 "description" : "Lock/unlock the VM.",
25783 "enum" : [
25784 "backup",
bb4c8cf8 25785 "create",
1c532546 25786 "destroyed",
4d47f125 25787 "disk",
bb4c8cf8 25788 "fstrim",
4d47f125
TL
25789 "migrate",
25790 "mounted",
25791 "rollback",
25792 "snapshot",
25793 "snapshot-delete"
25794 ],
25795 "optional" : 1,
25796 "type" : "string"
25797 },
25798 "memory" : {
25799 "default" : 512,
25800 "description" : "Amount of RAM for the VM in MB.",
25801 "minimum" : 16,
25802 "optional" : 1,
25803 "type" : "integer",
25804 "typetext" : "<integer> (16 - N)"
25805 },
25806 "mp[n]" : {
25807 "description" : "Use volume as container mount point.",
25808 "format" : {
25809 "acl" : {
25810 "description" : "Explicitly enable or disable ACL support.",
25811 "optional" : 1,
25812 "type" : "boolean"
56122987 25813 },
4d47f125
TL
25814 "backup" : {
25815 "description" : "Whether to include the mount point in backups.",
25816 "optional" : 1,
25817 "type" : "boolean",
25818 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 25819 },
7cbed89a
TL
25820 "mountoptions" : {
25821 "description" : "Extra mount options for rootfs/mps.",
25822 "format_description" : "opt[;opt...]",
25823 "optional" : 1,
25824 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
25825 "type" : "string"
25826 },
4d47f125
TL
25827 "mp" : {
25828 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
25829 "format" : "pve-lxc-mp-string",
25830 "format_description" : "Path",
25831 "type" : "string",
25832 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 25833 },
4d47f125
TL
25834 "quota" : {
25835 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
25836 "optional" : 1,
25837 "type" : "boolean"
25838 },
25839 "replicate" : {
25840 "default" : 1,
25841 "description" : "Will include this volume to a storage replica job.",
25842 "optional" : 1,
25843 "type" : "boolean"
25844 },
25845 "ro" : {
25846 "description" : "Read-only mount point",
25847 "optional" : 1,
25848 "type" : "boolean"
25849 },
25850 "shared" : {
25851 "default" : 0,
25852 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
25853 "optional" : 1,
25854 "type" : "boolean",
25855 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
56122987 25856 },
4d47f125
TL
25857 "size" : {
25858 "description" : "Volume size (read only value).",
25859 "format" : "disk-size",
25860 "format_description" : "DiskSize",
25861 "optional" : 1,
25862 "type" : "string"
25863 },
25864 "volume" : {
25865 "default_key" : 1,
25866 "description" : "Volume, device or directory to mount into the container.",
25867 "format" : "pve-lxc-mp-string",
25868 "format_description" : "volume",
44660702
DM
25869 "type" : "string"
25870 }
4d47f125
TL
25871 },
25872 "optional" : 1,
25873 "type" : "string",
7cbed89a 25874 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 25875 },
4d47f125
TL
25876 "nameserver" : {
25877 "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.",
25878 "format" : "address-list",
25879 "optional" : 1,
25880 "type" : "string",
25881 "typetext" : "<string>"
25882 },
25883 "net[n]" : {
25884 "description" : "Specifies network interfaces for the container.",
25885 "format" : {
25886 "bridge" : {
25887 "description" : "Bridge to attach the network device to.",
25888 "format_description" : "bridge",
25889 "optional" : 1,
25890 "pattern" : "[-_.\\w\\d]+",
25891 "type" : "string"
56122987 25892 },
4d47f125
TL
25893 "firewall" : {
25894 "description" : "Controls whether this interface's firewall rules should be used.",
25895 "optional" : 1,
25896 "type" : "boolean"
56122987 25897 },
4d47f125
TL
25898 "gw" : {
25899 "description" : "Default gateway for IPv4 traffic.",
25900 "format" : "ipv4",
25901 "format_description" : "GatewayIPv4",
25902 "optional" : 1,
25903 "type" : "string"
25904 },
25905 "gw6" : {
25906 "description" : "Default gateway for IPv6 traffic.",
25907 "format" : "ipv6",
25908 "format_description" : "GatewayIPv6",
25909 "optional" : 1,
25910 "type" : "string"
25911 },
25912 "hwaddr" : {
25913 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 25914 "format" : "mac-addr",
4d47f125
TL
25915 "format_description" : "XX:XX:XX:XX:XX:XX",
25916 "optional" : 1,
95895385
TL
25917 "type" : "string",
25918 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
25919 },
25920 "ip" : {
25921 "description" : "IPv4 address in CIDR format.",
25922 "format" : "pve-ipv4-config",
25923 "format_description" : "(IPv4/CIDR|dhcp|manual)",
25924 "optional" : 1,
25925 "type" : "string"
25926 },
25927 "ip6" : {
25928 "description" : "IPv6 address in CIDR format.",
25929 "format" : "pve-ipv6-config",
25930 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
25931 "optional" : 1,
25932 "type" : "string"
25933 },
25934 "mtu" : {
25935 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
25936 "minimum" : 64,
25937 "optional" : 1,
25938 "type" : "integer"
25939 },
25940 "name" : {
25941 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
25942 "format_description" : "string",
25943 "pattern" : "[-_.\\w\\d]+",
25944 "type" : "string"
25945 },
25946 "rate" : {
25947 "description" : "Apply rate limiting to the interface",
25948 "format_description" : "mbps",
25949 "optional" : 1,
25950 "type" : "number"
25951 },
25952 "tag" : {
25953 "description" : "VLAN tag for this interface.",
25954 "maximum" : 4094,
25955 "minimum" : 1,
25956 "optional" : 1,
25957 "type" : "integer"
25958 },
25959 "trunks" : {
25960 "description" : "VLAN ids to pass through the interface",
25961 "format_description" : "vlanid[;vlanid...]",
25962 "optional" : 1,
25963 "pattern" : "(?^:\\d+(?:;\\d+)*)",
25964 "type" : "string"
25965 },
25966 "type" : {
25967 "description" : "Network interface type.",
25968 "enum" : [
25969 "veth"
25970 ],
25971 "optional" : 1,
25972 "type" : "string"
7aacca6f 25973 }
4d47f125
TL
25974 },
25975 "optional" : 1,
25976 "type" : "string",
25977 "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
56122987 25978 },
4d47f125
TL
25979 "node" : {
25980 "description" : "The cluster node name.",
25981 "format" : "pve-node",
25982 "type" : "string",
25983 "typetext" : "<string>"
25984 },
25985 "onboot" : {
25986 "default" : 0,
25987 "description" : "Specifies whether a VM will be started during system bootup.",
25988 "optional" : 1,
25989 "type" : "boolean",
25990 "typetext" : "<boolean>"
25991 },
25992 "ostemplate" : {
25993 "description" : "The OS template or backup file.",
25994 "maxLength" : 255,
25995 "type" : "string",
25996 "typetext" : "<string>"
25997 },
25998 "ostype" : {
25999 "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.",
26000 "enum" : [
26001 "debian",
26002 "ubuntu",
26003 "centos",
26004 "fedora",
26005 "opensuse",
26006 "archlinux",
26007 "alpine",
26008 "gentoo",
26009 "unmanaged"
26010 ],
26011 "optional" : 1,
26012 "type" : "string"
26013 },
26014 "password" : {
26015 "description" : "Sets root password inside container.",
26016 "minLength" : 5,
26017 "optional" : 1,
26018 "type" : "string",
26019 "typetext" : "<string>"
26020 },
26021 "pool" : {
26022 "description" : "Add the VM to the specified pool.",
26023 "format" : "pve-poolid",
26024 "optional" : 1,
26025 "type" : "string",
26026 "typetext" : "<string>"
26027 },
26028 "protection" : {
26029 "default" : 0,
26030 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
26031 "optional" : 1,
26032 "type" : "boolean",
26033 "typetext" : "<boolean>"
26034 },
26035 "restore" : {
26036 "description" : "Mark this as restore task.",
26037 "optional" : 1,
26038 "type" : "boolean",
26039 "typetext" : "<boolean>"
26040 },
26041 "rootfs" : {
26042 "description" : "Use volume as container root.",
26043 "format" : {
26044 "acl" : {
26045 "description" : "Explicitly enable or disable ACL support.",
26046 "optional" : 1,
26047 "type" : "boolean"
56122987 26048 },
7cbed89a
TL
26049 "mountoptions" : {
26050 "description" : "Extra mount options for rootfs/mps.",
26051 "format_description" : "opt[;opt...]",
26052 "optional" : 1,
26053 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
26054 "type" : "string"
26055 },
4d47f125
TL
26056 "quota" : {
26057 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
26058 "optional" : 1,
26059 "type" : "boolean"
7aacca6f 26060 },
4d47f125
TL
26061 "replicate" : {
26062 "default" : 1,
26063 "description" : "Will include this volume to a storage replica job.",
26064 "optional" : 1,
26065 "type" : "boolean"
26066 },
26067 "ro" : {
26068 "description" : "Read-only mount point",
26069 "optional" : 1,
26070 "type" : "boolean"
26071 },
26072 "shared" : {
26073 "default" : 0,
26074 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
26075 "optional" : 1,
26076 "type" : "boolean",
26077 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
26078 },
26079 "size" : {
26080 "description" : "Volume size (read only value).",
26081 "format" : "disk-size",
26082 "format_description" : "DiskSize",
26083 "optional" : 1,
26084 "type" : "string"
26085 },
26086 "volume" : {
26087 "default_key" : 1,
26088 "description" : "Volume, device or directory to mount into the container.",
26089 "format" : "pve-lxc-mp-string",
26090 "format_description" : "volume",
26091 "type" : "string"
56122987 26092 }
4d47f125
TL
26093 },
26094 "optional" : 1,
26095 "type" : "string",
7cbed89a 26096 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 26097 },
4d47f125
TL
26098 "searchdomain" : {
26099 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
26100 "format" : "dns-name-list",
26101 "optional" : 1,
26102 "type" : "string",
26103 "typetext" : "<string>"
26104 },
26105 "ssh-public-keys" : {
26106 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
26107 "optional" : 1,
26108 "type" : "string",
26109 "typetext" : "<string>"
26110 },
26111 "start" : {
26112 "default" : 0,
26113 "description" : "Start the CT after its creation finished successfully.",
26114 "optional" : 1,
26115 "type" : "boolean",
26116 "typetext" : "<boolean>"
26117 },
26118 "startup" : {
26119 "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.",
26120 "format" : "pve-startup-order",
26121 "optional" : 1,
26122 "type" : "string",
26123 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
26124 },
26125 "storage" : {
26126 "default" : "local",
26127 "description" : "Default Storage.",
26128 "format" : "pve-storage-id",
26129 "optional" : 1,
26130 "type" : "string",
26131 "typetext" : "<string>"
26132 },
26133 "swap" : {
26134 "default" : 512,
26135 "description" : "Amount of SWAP for the VM in MB.",
26136 "minimum" : 0,
26137 "optional" : 1,
26138 "type" : "integer",
26139 "typetext" : "<integer> (0 - N)"
26140 },
5c1699e5
TL
26141 "tags" : {
26142 "description" : "Tags of the Container. This is only meta information.",
26143 "format" : "pve-tag-list",
26144 "optional" : 1,
26145 "type" : "string",
26146 "typetext" : "<string>"
26147 },
4d47f125
TL
26148 "template" : {
26149 "default" : 0,
26150 "description" : "Enable/disable Template.",
26151 "optional" : 1,
26152 "type" : "boolean",
26153 "typetext" : "<boolean>"
26154 },
26155 "tty" : {
26156 "default" : 2,
26157 "description" : "Specify the number of tty available to the container",
26158 "maximum" : 6,
26159 "minimum" : 0,
26160 "optional" : 1,
26161 "type" : "integer",
26162 "typetext" : "<integer> (0 - 6)"
26163 },
95895385
TL
26164 "unique" : {
26165 "description" : "Assign a unique random ethernet address.",
26166 "optional" : 1,
26167 "requires" : "restore",
26168 "type" : "boolean",
26169 "typetext" : "<boolean>"
26170 },
4d47f125
TL
26171 "unprivileged" : {
26172 "default" : 0,
26173 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
26174 "optional" : 1,
26175 "type" : "boolean",
26176 "typetext" : "<boolean>"
26177 },
26178 "unused[n]" : {
26179 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
26180 "format" : "pve-volume-id",
26181 "optional" : 1,
26182 "type" : "string",
26183 "typetext" : "<string>"
26184 },
26185 "vmid" : {
26186 "description" : "The (unique) ID of the VM.",
26187 "format" : "pve-vmid",
26188 "minimum" : 1,
26189 "type" : "integer",
26190 "typetext" : "<integer> (1 - N)"
26191 }
26192 }
26193 },
26194 "permissions" : {
26195 "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.",
26196 "user" : "all"
26197 },
26198 "protected" : 1,
26199 "proxyto" : "node",
26200 "returns" : {
26201 "type" : "string"
26202 }
26203 }
26204 },
26205 "leaf" : 0,
26206 "path" : "/nodes/{node}/lxc",
26207 "text" : "lxc"
26208 },
26209 {
26210 "children" : [
26211 {
26212 "children" : [
56122987 26213 {
4d47f125
TL
26214 "children" : [
26215 {
26216 "info" : {
26217 "POST" : {
26218 "description" : "ceph osd in",
26219 "method" : "POST",
26220 "name" : "in",
26221 "parameters" : {
26222 "additionalProperties" : 0,
26223 "properties" : {
26224 "node" : {
26225 "description" : "The cluster node name.",
26226 "format" : "pve-node",
26227 "type" : "string",
26228 "typetext" : "<string>"
26229 },
26230 "osdid" : {
26231 "description" : "OSD ID",
26232 "type" : "integer",
26233 "typetext" : "<integer>"
26234 }
26235 }
27a7acb2 26236 },
4d47f125
TL
26237 "permissions" : {
26238 "check" : [
26239 "perm",
26240 "/",
26241 [
26242 "Sys.Modify"
26243 ]
26244 ]
44660702 26245 },
4d47f125
TL
26246 "protected" : 1,
26247 "proxyto" : "node",
26248 "returns" : {
26249 "type" : "null"
7aacca6f
DM
26250 }
26251 }
56122987 26252 },
4d47f125
TL
26253 "leaf" : 1,
26254 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
26255 "text" : "in"
26256 },
26257 {
26258 "info" : {
26259 "POST" : {
26260 "description" : "ceph osd out",
26261 "method" : "POST",
26262 "name" : "out",
26263 "parameters" : {
26264 "additionalProperties" : 0,
26265 "properties" : {
26266 "node" : {
26267 "description" : "The cluster node name.",
26268 "format" : "pve-node",
26269 "type" : "string",
26270 "typetext" : "<string>"
26271 },
26272 "osdid" : {
26273 "description" : "OSD ID",
26274 "type" : "integer",
26275 "typetext" : "<integer>"
26276 }
26277 }
26278 },
26279 "permissions" : {
26280 "check" : [
56122987 26281 "perm",
4d47f125 26282 "/",
56122987 26283 [
4d47f125 26284 "Sys.Modify"
56122987 26285 ]
56122987 26286 ]
44660702 26287 },
4d47f125
TL
26288 "protected" : 1,
26289 "proxyto" : "node",
26290 "returns" : {
26291 "type" : "null"
56122987 26292 }
44660702 26293 }
56122987 26294 },
4d47f125
TL
26295 "leaf" : 1,
26296 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
26297 "text" : "out"
7cbed89a
TL
26298 },
26299 {
26300 "info" : {
26301 "POST" : {
26302 "description" : "Instruct the OSD to scrub.",
26303 "method" : "POST",
26304 "name" : "scrub",
26305 "parameters" : {
26306 "additionalProperties" : 0,
26307 "properties" : {
26308 "deep" : {
26309 "default" : 0,
26310 "description" : "If set, instructs a deep scrub instead of a normal one.",
26311 "optional" : 1,
26312 "type" : "boolean",
26313 "typetext" : "<boolean>"
26314 },
26315 "node" : {
26316 "description" : "The cluster node name.",
26317 "format" : "pve-node",
26318 "type" : "string",
26319 "typetext" : "<string>"
26320 },
26321 "osdid" : {
26322 "description" : "OSD ID",
26323 "type" : "integer",
26324 "typetext" : "<integer>"
26325 }
26326 }
26327 },
26328 "permissions" : {
26329 "check" : [
26330 "perm",
26331 "/",
26332 [
26333 "Sys.Modify"
26334 ]
26335 ]
26336 },
26337 "protected" : 1,
26338 "proxyto" : "node",
26339 "returns" : {
26340 "type" : "null"
26341 }
26342 }
26343 },
26344 "leaf" : 1,
26345 "path" : "/nodes/{node}/ceph/osd/{osdid}/scrub",
26346 "text" : "scrub"
56122987 26347 }
4d47f125 26348 ],
27a7acb2 26349 "info" : {
4d47f125
TL
26350 "DELETE" : {
26351 "description" : "Destroy OSD",
26352 "method" : "DELETE",
26353 "name" : "destroyosd",
27a7acb2
DM
26354 "parameters" : {
26355 "additionalProperties" : 0,
26356 "properties" : {
4d47f125 26357 "cleanup" : {
27a7acb2 26358 "default" : 0,
4d47f125 26359 "description" : "If set, we remove partition table entries.",
27a7acb2 26360 "optional" : 1,
4d47f125
TL
26361 "type" : "boolean",
26362 "typetext" : "<boolean>"
26363 },
26364 "node" : {
26365 "description" : "The cluster node name.",
26366 "format" : "pve-node",
26367 "type" : "string",
26368 "typetext" : "<string>"
26369 },
26370 "osdid" : {
26371 "description" : "OSD ID",
26372 "type" : "integer",
26373 "typetext" : "<integer>"
26374 }
26375 }
27a7acb2
DM
26376 },
26377 "protected" : 1,
26378 "proxyto" : "node",
26379 "returns" : {
26380 "type" : "string"
26381 }
26382 }
26383 },
4d47f125
TL
26384 "leaf" : 0,
26385 "path" : "/nodes/{node}/ceph/osd/{osdid}",
26386 "text" : "{osdid}"
56122987
DM
26387 }
26388 ],
26389 "info" : {
4d47f125
TL
26390 "GET" : {
26391 "description" : "Get Ceph osd list/tree.",
26392 "method" : "GET",
26393 "name" : "index",
44660702
DM
26394 "parameters" : {
26395 "additionalProperties" : 0,
26396 "properties" : {
26397 "node" : {
26398 "description" : "The cluster node name.",
26399 "format" : "pve-node",
013dc89f
DM
26400 "type" : "string",
26401 "typetext" : "<string>"
44660702
DM
26402 }
26403 }
26404 },
7aacca6f
DM
26405 "permissions" : {
26406 "check" : [
26407 "perm",
4d47f125 26408 "/",
7aacca6f 26409 [
4d47f125
TL
26410 "Sys.Audit",
26411 "Datastore.Audit"
26412 ],
26413 "any",
26414 1
26415 ]
26416 },
26417 "protected" : 1,
26418 "proxyto" : "node",
26419 "returns" : {
26420 "type" : "object"
26421 }
26422 },
26423 "POST" : {
26424 "description" : "Create OSD",
26425 "method" : "POST",
26426 "name" : "createosd",
26427 "parameters" : {
26428 "additionalProperties" : 0,
26429 "properties" : {
1e3f8156
TL
26430 "db_dev" : {
26431 "description" : "Block device name for block.db.",
44660702 26432 "optional" : 1,
4bd7df8b 26433 "type" : "string",
4d47f125 26434 "typetext" : "<string>"
44660702 26435 },
1e3f8156
TL
26436 "db_size" : {
26437 "default" : "bluestore_block_db_size or 10% of OSD size",
26438 "description" : "Size in GiB for block.db.",
26439 "minimum" : 1,
7aacca6f 26440 "optional" : 1,
1e3f8156
TL
26441 "requires" : "db_dev",
26442 "type" : "number",
26443 "typetext" : "<number> (1 - N)",
26444 "verbose_description" : "If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough."
44660702 26445 },
1e3f8156
TL
26446 "dev" : {
26447 "description" : "Block device name.",
4d47f125
TL
26448 "type" : "string",
26449 "typetext" : "<string>"
5d9c884c 26450 },
1e3f8156
TL
26451 "encrypted" : {
26452 "default" : 0,
26453 "description" : "Enables encryption of the OSD.",
26454 "optional" : 1,
26455 "type" : "boolean",
26456 "typetext" : "<boolean>"
26457 },
4d47f125
TL
26458 "node" : {
26459 "description" : "The cluster node name.",
26460 "format" : "pve-node",
26461 "type" : "string",
26462 "typetext" : "<string>"
7aacca6f 26463 },
4d47f125 26464 "wal_dev" : {
1e3f8156 26465 "description" : "Block device name for block.wal.",
de0983cb 26466 "optional" : 1,
4d47f125
TL
26467 "type" : "string",
26468 "typetext" : "<string>"
1e3f8156
TL
26469 },
26470 "wal_size" : {
26471 "default" : "bluestore_block_wal_size or 1% of OSD size",
26472 "description" : "Size in GiB for block.wal.",
26473 "minimum" : 0.5,
26474 "optional" : 1,
26475 "requires" : "wal_dev",
26476 "type" : "number",
26477 "typetext" : "<number> (0.5 - N)",
26478 "verbose_description" : "If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough."
4d47f125
TL
26479 }
26480 }
26481 },
26482 "protected" : 1,
26483 "proxyto" : "node",
26484 "returns" : {
26485 "type" : "string"
26486 }
26487 }
26488 },
26489 "leaf" : 0,
26490 "path" : "/nodes/{node}/ceph/osd",
26491 "text" : "osd"
26492 },
e2d681b3
TL
26493 {
26494 "children" : [
26495 {
26496 "info" : {
26497 "DELETE" : {
26498 "description" : "Destroy Ceph Metadata Server",
26499 "method" : "DELETE",
26500 "name" : "destroymds",
26501 "parameters" : {
26502 "additionalProperties" : 0,
26503 "properties" : {
26504 "name" : {
26505 "description" : "The name (ID) of the mds",
26506 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
26507 "type" : "string"
26508 },
26509 "node" : {
26510 "description" : "The cluster node name.",
26511 "format" : "pve-node",
26512 "type" : "string",
26513 "typetext" : "<string>"
26514 }
26515 }
26516 },
26517 "permissions" : {
26518 "check" : [
26519 "perm",
26520 "/",
26521 [
26522 "Sys.Modify"
26523 ]
26524 ]
26525 },
26526 "protected" : 1,
26527 "proxyto" : "node",
26528 "returns" : {
26529 "type" : "string"
26530 }
26531 },
26532 "POST" : {
26533 "description" : "Create Ceph Metadata Server (MDS)",
26534 "method" : "POST",
26535 "name" : "createmds",
26536 "parameters" : {
26537 "additionalProperties" : 0,
26538 "properties" : {
26539 "hotstandby" : {
26540 "default" : "0",
26541 "description" : "Determines whether a ceph-mds daemon should poll and replay the log of an active MDS. Faster switch on MDS failure, but needs more idle resources.",
26542 "optional" : 1,
26543 "type" : "boolean",
26544 "typetext" : "<boolean>"
26545 },
26546 "name" : {
26547 "default" : "nodename",
26548 "description" : "The ID for the mds, when omitted the same as the nodename",
26549 "optional" : 1,
26550 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
26551 "type" : "string"
26552 },
26553 "node" : {
26554 "description" : "The cluster node name.",
26555 "format" : "pve-node",
26556 "type" : "string",
26557 "typetext" : "<string>"
26558 }
26559 }
26560 },
26561 "permissions" : {
26562 "check" : [
26563 "perm",
26564 "/",
26565 [
26566 "Sys.Modify"
26567 ]
26568 ]
26569 },
26570 "protected" : 1,
26571 "proxyto" : "node",
26572 "returns" : {
26573 "type" : "string"
26574 }
26575 }
26576 },
26577 "leaf" : 1,
26578 "path" : "/nodes/{node}/ceph/mds/{name}",
26579 "text" : "{name}"
26580 }
26581 ],
26582 "info" : {
26583 "GET" : {
26584 "description" : "MDS directory index.",
26585 "method" : "GET",
26586 "name" : "index",
26587 "parameters" : {
26588 "additionalProperties" : 0,
26589 "properties" : {
26590 "node" : {
26591 "description" : "The cluster node name.",
26592 "format" : "pve-node",
26593 "type" : "string",
26594 "typetext" : "<string>"
26595 }
26596 }
26597 },
26598 "permissions" : {
26599 "check" : [
26600 "perm",
26601 "/",
26602 [
26603 "Sys.Audit",
26604 "Datastore.Audit"
26605 ],
26606 "any",
26607 1
26608 ]
26609 },
26610 "protected" : 1,
26611 "proxyto" : "node",
26612 "returns" : {
26613 "items" : {
26614 "properties" : {
26615 "addr" : {
26616 "optional" : 1,
26617 "type" : "string"
26618 },
26619 "host" : {
26620 "optional" : 1,
26621 "type" : "string"
26622 },
26623 "name" : {
26624 "description" : "The name (ID) for the MDS"
26625 },
26626 "rank" : {
26627 "optional" : 1,
26628 "type" : "integer"
26629 },
26630 "standby_replay" : {
26631 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
26632 "optional" : 1,
26633 "type" : "boolean"
26634 },
26635 "state" : {
26636 "description" : "State of the MDS",
26637 "type" : "string"
26638 }
26639 },
26640 "type" : "object"
26641 },
26642 "links" : [
26643 {
26644 "href" : "{name}",
26645 "rel" : "child"
26646 }
26647 ],
26648 "type" : "array"
26649 }
26650 }
26651 },
26652 "leaf" : 0,
26653 "path" : "/nodes/{node}/ceph/mds",
26654 "text" : "mds"
26655 },
26656 {
26657 "children" : [
26658 {
26659 "info" : {
5f26e15b
TL
26660 "DELETE" : {
26661 "description" : "Destroy Ceph Manager.",
26662 "method" : "DELETE",
26663 "name" : "destroymgr",
e2d681b3
TL
26664 "parameters" : {
26665 "additionalProperties" : 0,
26666 "properties" : {
5f26e15b
TL
26667 "id" : {
26668 "description" : "The ID of the manager",
26669 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
26670 "type" : "string"
e2d681b3
TL
26671 },
26672 "node" : {
26673 "description" : "The cluster node name.",
26674 "format" : "pve-node",
26675 "type" : "string",
26676 "typetext" : "<string>"
e2d681b3
TL
26677 }
26678 }
26679 },
26680 "permissions" : {
26681 "check" : [
26682 "perm",
26683 "/",
26684 [
26685 "Sys.Modify"
26686 ]
26687 ]
26688 },
26689 "protected" : 1,
26690 "proxyto" : "node",
26691 "returns" : {
26692 "type" : "string"
26693 }
1e3f8156
TL
26694 },
26695 "POST" : {
26696 "description" : "Create Ceph Manager",
26697 "method" : "POST",
26698 "name" : "createmgr",
26699 "parameters" : {
26700 "additionalProperties" : 0,
26701 "properties" : {
26702 "id" : {
26703 "description" : "The ID for the manager, when omitted the same as the nodename",
26704 "optional" : 1,
26705 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
26706 "type" : "string"
26707 },
26708 "node" : {
26709 "description" : "The cluster node name.",
26710 "format" : "pve-node",
26711 "type" : "string",
26712 "typetext" : "<string>"
26713 }
26714 }
26715 },
26716 "permissions" : {
26717 "check" : [
26718 "perm",
26719 "/",
26720 [
26721 "Sys.Modify"
26722 ]
26723 ]
26724 },
26725 "protected" : 1,
26726 "proxyto" : "node",
26727 "returns" : {
26728 "type" : "string"
26729 }
e2d681b3
TL
26730 }
26731 },
26732 "leaf" : 1,
5f26e15b
TL
26733 "path" : "/nodes/{node}/ceph/mgr/{id}",
26734 "text" : "{id}"
e2d681b3
TL
26735 }
26736 ],
26737 "info" : {
1e3f8156
TL
26738 "GET" : {
26739 "description" : "MGR directory index.",
26740 "method" : "GET",
26741 "name" : "index",
e2d681b3
TL
26742 "parameters" : {
26743 "additionalProperties" : 0,
26744 "properties" : {
26745 "node" : {
26746 "description" : "The cluster node name.",
26747 "format" : "pve-node",
26748 "type" : "string",
26749 "typetext" : "<string>"
26750 }
26751 }
26752 },
26753 "permissions" : {
26754 "check" : [
26755 "perm",
26756 "/",
26757 [
1e3f8156
TL
26758 "Sys.Audit",
26759 "Datastore.Audit"
26760 ],
26761 "any",
26762 1
e2d681b3
TL
26763 ]
26764 },
26765 "protected" : 1,
5f26e15b 26766 "proxyto" : "node",
e2d681b3 26767 "returns" : {
1e3f8156
TL
26768 "items" : {
26769 "properties" : {
26770 "addr" : {
26771 "optional" : 1,
26772 "type" : "string"
26773 },
26774 "host" : {
26775 "optional" : 1,
26776 "type" : "string"
26777 },
26778 "name" : {
26779 "description" : "The name (ID) for the MGR"
26780 },
26781 "state" : {
26782 "description" : "State of the MGR",
26783 "type" : "string"
26784 }
26785 },
26786 "type" : "object"
26787 },
26788 "links" : [
26789 {
26790 "href" : "{name}",
26791 "rel" : "child"
26792 }
26793 ],
26794 "type" : "array"
e2d681b3
TL
26795 }
26796 }
26797 },
26798 "leaf" : 0,
5f26e15b
TL
26799 "path" : "/nodes/{node}/ceph/mgr",
26800 "text" : "mgr"
e2d681b3 26801 },
4d47f125 26802 {
5f26e15b
TL
26803 "children" : [
26804 {
26805 "info" : {
26806 "DELETE" : {
26807 "description" : "Destroy Ceph Monitor and Manager.",
26808 "method" : "DELETE",
26809 "name" : "destroymon",
26810 "parameters" : {
26811 "additionalProperties" : 0,
26812 "properties" : {
1e3f8156
TL
26813 "monid" : {
26814 "description" : "Monitor ID",
26815 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
26816 "type" : "string"
26817 },
26818 "node" : {
26819 "description" : "The cluster node name.",
26820 "format" : "pve-node",
26821 "type" : "string",
26822 "typetext" : "<string>"
26823 }
26824 }
26825 },
26826 "permissions" : {
26827 "check" : [
26828 "perm",
26829 "/",
26830 [
26831 "Sys.Modify"
26832 ]
26833 ]
26834 },
26835 "protected" : 1,
26836 "proxyto" : "node",
26837 "returns" : {
26838 "type" : "string"
26839 }
26840 },
26841 "POST" : {
26842 "description" : "Create Ceph Monitor and Manager",
26843 "method" : "POST",
26844 "name" : "createmon",
26845 "parameters" : {
26846 "additionalProperties" : 0,
26847 "properties" : {
26848 "mon-address" : {
26849 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
26850 "format" : "ip",
5f26e15b 26851 "optional" : 1,
1e3f8156
TL
26852 "type" : "string",
26853 "typetext" : "<string>"
5f26e15b
TL
26854 },
26855 "monid" : {
1e3f8156
TL
26856 "description" : "The ID for the monitor, when omitted the same as the nodename",
26857 "optional" : 1,
5f26e15b
TL
26858 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
26859 "type" : "string"
26860 },
26861 "node" : {
26862 "description" : "The cluster node name.",
26863 "format" : "pve-node",
26864 "type" : "string",
26865 "typetext" : "<string>"
26866 }
26867 }
26868 },
26869 "permissions" : {
26870 "check" : [
26871 "perm",
26872 "/",
26873 [
26874 "Sys.Modify"
26875 ]
26876 ]
26877 },
26878 "protected" : 1,
26879 "proxyto" : "node",
26880 "returns" : {
7aacca6f 26881 "type" : "string"
56122987 26882 }
4d47f125 26883 }
56122987 26884 },
5f26e15b
TL
26885 "leaf" : 1,
26886 "path" : "/nodes/{node}/ceph/mon/{monid}",
26887 "text" : "{monid}"
26888 }
26889 ],
26890 "info" : {
26891 "GET" : {
26892 "description" : "Get Ceph monitor list.",
26893 "method" : "GET",
26894 "name" : "listmon",
26895 "parameters" : {
26896 "additionalProperties" : 0,
26897 "properties" : {
26898 "node" : {
26899 "description" : "The cluster node name.",
26900 "format" : "pve-node",
26901 "type" : "string",
26902 "typetext" : "<string>"
26903 }
26904 }
26905 },
4d47f125
TL
26906 "permissions" : {
26907 "check" : [
26908 "perm",
26909 "/",
26910 [
26911 "Sys.Audit",
26912 "Datastore.Audit"
26913 ],
26914 "any",
26915 1
26916 ]
56122987 26917 },
4d47f125
TL
26918 "protected" : 1,
26919 "proxyto" : "node",
26920 "returns" : {
26921 "items" : {
26922 "properties" : {
5f26e15b 26923 "addr" : {
1e3f8156
TL
26924 "optional" : 1,
26925 "type" : "string"
26926 },
26927 "host" : {
26928 "optional" : 1,
4d47f125
TL
26929 "type" : "string"
26930 },
5f26e15b 26931 "name" : {
4d47f125
TL
26932 "type" : "string"
26933 }
7aacca6f 26934 },
4d47f125
TL
26935 "type" : "object"
26936 },
5f26e15b
TL
26937 "links" : [
26938 {
26939 "href" : "{name}",
26940 "rel" : "child"
26941 }
26942 ],
4d47f125
TL
26943 "type" : "array"
26944 }
4d47f125
TL
26945 }
26946 },
5f26e15b
TL
26947 "leaf" : 0,
26948 "path" : "/nodes/{node}/ceph/mon",
26949 "text" : "mon"
4d47f125
TL
26950 },
26951 {
26952 "children" : [
26953 {
26954 "info" : {
5f26e15b
TL
26955 "POST" : {
26956 "description" : "Create a Ceph filesystem",
26957 "method" : "POST",
26958 "name" : "createfs",
4d47f125
TL
26959 "parameters" : {
26960 "additionalProperties" : 0,
26961 "properties" : {
5f26e15b 26962 "add-storage" : {
4d47f125 26963 "default" : 0,
5f26e15b 26964 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
26965 "optional" : 1,
26966 "type" : "boolean",
26967 "typetext" : "<boolean>"
26968 },
5f26e15b
TL
26969 "name" : {
26970 "default" : "cephfs",
26971 "description" : "The ceph filesystem name.",
26972 "optional" : 1,
26973 "type" : "string",
26974 "typetext" : "<string>"
4d47f125
TL
26975 },
26976 "node" : {
26977 "description" : "The cluster node name.",
26978 "format" : "pve-node",
26979 "type" : "string",
26980 "typetext" : "<string>"
5f26e15b
TL
26981 },
26982 "pg_num" : {
26983 "default" : 128,
26984 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
26985 "maximum" : 32768,
26986 "minimum" : 8,
26987 "optional" : 1,
26988 "type" : "integer",
26989 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
26990 }
26991 }
7aacca6f 26992 },
4d47f125
TL
26993 "permissions" : {
26994 "check" : [
26995 "perm",
26996 "/",
26997 [
26998 "Sys.Modify"
26999 ]
27000 ]
7aacca6f 27001 },
4d47f125
TL
27002 "protected" : 1,
27003 "proxyto" : "node",
27004 "returns" : {
44660702 27005 "type" : "string"
4d47f125
TL
27006 }
27007 }
27008 },
27009 "leaf" : 1,
5f26e15b
TL
27010 "path" : "/nodes/{node}/ceph/fs/{name}",
27011 "text" : "{name}"
4d47f125
TL
27012 }
27013 ],
27014 "info" : {
27015 "GET" : {
5f26e15b 27016 "description" : "Directory index.",
4d47f125 27017 "method" : "GET",
5f26e15b 27018 "name" : "index",
4d47f125
TL
27019 "parameters" : {
27020 "additionalProperties" : 0,
27021 "properties" : {
27022 "node" : {
27023 "description" : "The cluster node name.",
27024 "format" : "pve-node",
27025 "type" : "string",
27026 "typetext" : "<string>"
27027 }
27028 }
27029 },
27030 "permissions" : {
27031 "check" : [
27032 "perm",
27033 "/",
27034 [
27035 "Sys.Audit",
27036 "Datastore.Audit"
27037 ],
27038 "any",
27039 1
27040 ]
27041 },
27042 "protected" : 1,
95895385 27043 "proxyto" : "node",
4d47f125
TL
27044 "returns" : {
27045 "items" : {
27046 "properties" : {
5f26e15b
TL
27047 "data_pool" : {
27048 "description" : "The name of the data pool.",
27049 "type" : "string"
27050 },
27051 "metadata_pool" : {
27052 "description" : "The name of the metadata pool.",
4d47f125
TL
27053 "type" : "string"
27054 },
27055 "name" : {
5f26e15b 27056 "description" : "The ceph filesystem name.",
4d47f125
TL
27057 "type" : "string"
27058 }
7aacca6f 27059 },
4d47f125
TL
27060 "type" : "object"
27061 },
27062 "links" : [
27063 {
27064 "href" : "{name}",
27065 "rel" : "child"
27066 }
27067 ],
27068 "type" : "array"
27069 }
5f26e15b
TL
27070 }
27071 },
27072 "leaf" : 0,
27073 "path" : "/nodes/{node}/ceph/fs",
27074 "text" : "fs"
27075 },
27076 {
27077 "info" : {
27078 "GET" : {
27079 "description" : "List local disks.",
27080 "method" : "GET",
27081 "name" : "disks",
4d47f125
TL
27082 "parameters" : {
27083 "additionalProperties" : 0,
27084 "properties" : {
5f26e15b
TL
27085 "node" : {
27086 "description" : "The cluster node name.",
27087 "format" : "pve-node",
27088 "type" : "string",
27089 "typetext" : "<string>"
44660702 27090 },
5f26e15b
TL
27091 "type" : {
27092 "description" : "Only list specific types of disks.",
27093 "enum" : [
27094 "unused",
27095 "journal_disks"
27096 ],
44660702 27097 "optional" : 1,
44660702 27098 "type" : "string"
5f26e15b
TL
27099 }
27100 }
27101 },
27102 "permissions" : {
27103 "check" : [
27104 "perm",
27105 "/",
27106 [
27107 "Sys.Audit",
27108 "Datastore.Audit"
27109 ],
27110 "any",
27111 1
27112 ]
27113 },
27114 "protected" : 1,
27115 "proxyto" : "node",
27116 "returns" : {
27117 "items" : {
27118 "properties" : {
27119 "dev" : {
27120 "type" : "string"
27121 },
27122 "gpt" : {
27123 "type" : "boolean"
27124 },
27125 "model" : {
27126 "optional" : 1,
27127 "type" : "string"
27128 },
27129 "osdid" : {
27130 "type" : "integer"
27131 },
27132 "serial" : {
27133 "optional" : 1,
27134 "type" : "string"
27135 },
27136 "size" : {
27137 "type" : "integer"
27138 },
27139 "used" : {
27140 "optional" : 1,
27141 "type" : "string"
27142 },
27143 "vendor" : {
27144 "optional" : 1,
27145 "type" : "string"
27146 }
44660702 27147 },
5f26e15b
TL
27148 "type" : "object"
27149 },
27150 "type" : "array"
27151 }
27152 }
27153 },
27154 "leaf" : 1,
27155 "path" : "/nodes/{node}/ceph/disks",
27156 "text" : "disks"
27157 },
27158 {
27159 "info" : {
27160 "GET" : {
27161 "description" : "Get Ceph configuration.",
27162 "method" : "GET",
27163 "name" : "config",
27164 "parameters" : {
27165 "additionalProperties" : 0,
27166 "properties" : {
4d47f125
TL
27167 "node" : {
27168 "description" : "The cluster node name.",
27169 "format" : "pve-node",
27170 "type" : "string",
27171 "typetext" : "<string>"
7aacca6f 27172 }
4d47f125 27173 }
44660702 27174 },
4d47f125
TL
27175 "permissions" : {
27176 "check" : [
27177 "perm",
27178 "/",
27179 [
5f26e15b
TL
27180 "Sys.Audit",
27181 "Datastore.Audit"
27182 ],
27183 "any",
27184 1
4d47f125 27185 ]
56122987 27186 },
95895385 27187 "proxyto" : "node",
4d47f125 27188 "returns" : {
7aacca6f 27189 "type" : "string"
4d47f125
TL
27190 }
27191 }
27192 },
5f26e15b
TL
27193 "leaf" : 1,
27194 "path" : "/nodes/{node}/ceph/config",
27195 "text" : "config"
4d47f125 27196 },
7cbed89a
TL
27197 {
27198 "info" : {
27199 "GET" : {
27200 "description" : "Get Ceph configuration database.",
27201 "method" : "GET",
27202 "name" : "configdb",
27203 "parameters" : {
27204 "additionalProperties" : 0,
27205 "properties" : {
27206 "node" : {
27207 "description" : "The cluster node name.",
27208 "format" : "pve-node",
27209 "type" : "string",
27210 "typetext" : "<string>"
27211 }
27212 }
27213 },
27214 "permissions" : {
27215 "check" : [
27216 "perm",
27217 "/",
27218 [
27219 "Sys.Audit",
27220 "Datastore.Audit"
27221 ],
27222 "any",
27223 1
27224 ]
27225 },
27226 "protected" : 1,
27227 "proxyto" : "node",
27228 "returns" : {
27229 "items" : {
27230 "properties" : {
27231 "can_update_at_runtime" : {
27232 "type" : "boolean"
27233 },
27234 "level" : {
27235 "type" : "string"
27236 },
27237 "mask" : {
27238 "type" : "string"
27239 },
27240 "name" : {
27241 "type" : "string"
27242 },
27243 "section" : {
27244 "type" : "string"
27245 },
27246 "value" : {
27247 "type" : "string"
27248 }
27249 },
27250 "type" : "object"
27251 },
27252 "type" : "array"
27253 }
27254 }
27255 },
27256 "leaf" : 1,
27257 "path" : "/nodes/{node}/ceph/configdb",
27258 "text" : "configdb"
27259 },
4d47f125
TL
27260 {
27261 "info" : {
27262 "POST" : {
27263 "description" : "Create initial ceph default configuration and setup symlinks.",
27264 "method" : "POST",
27265 "name" : "init",
27266 "parameters" : {
27267 "additionalProperties" : 0,
27268 "properties" : {
e2d681b3
TL
27269 "cluster-network" : {
27270 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
27271 "format" : "CIDR",
27272 "maxLength" : 128,
27273 "optional" : 1,
27274 "requires" : "network",
27275 "type" : "string",
27276 "typetext" : "<string>"
27277 },
4d47f125
TL
27278 "disable_cephx" : {
27279 "default" : 0,
1e3f8156 27280 "description" : "Disable cephx authentication.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
56122987 27281 "optional" : 1,
4d47f125
TL
27282 "type" : "boolean",
27283 "typetext" : "<boolean>"
56122987 27284 },
4d47f125
TL
27285 "min_size" : {
27286 "default" : 2,
27287 "description" : "Minimum number of available replicas per object to allow I/O",
27288 "maximum" : 7,
27289 "minimum" : 1,
7aacca6f 27290 "optional" : 1,
4d47f125
TL
27291 "type" : "integer",
27292 "typetext" : "<integer> (1 - 7)"
7aacca6f 27293 },
4d47f125
TL
27294 "network" : {
27295 "description" : "Use specific network for all ceph related traffic",
27296 "format" : "CIDR",
27297 "maxLength" : 128,
5d9c884c 27298 "optional" : 1,
4d47f125
TL
27299 "type" : "string",
27300 "typetext" : "<string>"
5d9c884c 27301 },
4d47f125
TL
27302 "node" : {
27303 "description" : "The cluster node name.",
27304 "format" : "pve-node",
27305 "type" : "string",
27306 "typetext" : "<string>"
7aacca6f 27307 },
4d47f125
TL
27308 "pg_bits" : {
27309 "default" : 6,
27310 "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.",
27311 "maximum" : 14,
27312 "minimum" : 6,
de0983cb 27313 "optional" : 1,
4d47f125
TL
27314 "type" : "integer",
27315 "typetext" : "<integer> (6 - 14)"
de0983cb 27316 },
44660702 27317 "size" : {
4d47f125
TL
27318 "default" : 3,
27319 "description" : "Targeted number of replicas per object",
27320 "maximum" : 7,
27321 "minimum" : 1,
7aacca6f 27322 "optional" : 1,
4d47f125
TL
27323 "type" : "integer",
27324 "typetext" : "<integer> (1 - 7)"
56122987 27325 }
4d47f125 27326 }
44660702 27327 },
4d47f125
TL
27328 "permissions" : {
27329 "check" : [
27330 "perm",
27331 "/",
27332 [
27333 "Sys.Modify"
27334 ]
27335 ]
5da3d723 27336 },
4d47f125
TL
27337 "protected" : 1,
27338 "proxyto" : "node",
27339 "returns" : {
27340 "type" : "null"
27341 }
27342 }
27343 },
27344 "leaf" : 1,
27345 "path" : "/nodes/{node}/ceph/init",
27346 "text" : "init"
27347 },
4d47f125
TL
27348 {
27349 "info" : {
27350 "POST" : {
27351 "description" : "Stop ceph services.",
27352 "method" : "POST",
27353 "name" : "stop",
27354 "parameters" : {
27355 "additionalProperties" : 0,
27356 "properties" : {
27357 "node" : {
27358 "description" : "The cluster node name.",
27359 "format" : "pve-node",
27360 "type" : "string",
27361 "typetext" : "<string>"
27362 },
27363 "service" : {
e2d681b3 27364 "default" : "ceph.target",
4d47f125
TL
27365 "description" : "Ceph service name.",
27366 "optional" : 1,
95895385 27367 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
27368 "type" : "string"
27369 }
27370 }
7aacca6f 27371 },
4d47f125
TL
27372 "permissions" : {
27373 "check" : [
27374 "perm",
27375 "/",
27376 [
27377 "Sys.Modify"
27378 ]
27379 ]
7aacca6f 27380 },
4d47f125
TL
27381 "protected" : 1,
27382 "proxyto" : "node",
27383 "returns" : {
27384 "type" : "string"
27385 }
27386 }
27387 },
27388 "leaf" : 1,
27389 "path" : "/nodes/{node}/ceph/stop",
27390 "text" : "stop"
27391 },
27392 {
27393 "info" : {
27394 "POST" : {
27395 "description" : "Start ceph services.",
27396 "method" : "POST",
27397 "name" : "start",
27398 "parameters" : {
27399 "additionalProperties" : 0,
27400 "properties" : {
27401 "node" : {
27402 "description" : "The cluster node name.",
27403 "format" : "pve-node",
27404 "type" : "string",
27405 "typetext" : "<string>"
27406 },
27407 "service" : {
e2d681b3 27408 "default" : "ceph.target",
4d47f125
TL
27409 "description" : "Ceph service name.",
27410 "optional" : 1,
95895385 27411 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
27412 "type" : "string"
27413 }
27414 }
44660702 27415 },
4d47f125
TL
27416 "permissions" : {
27417 "check" : [
27418 "perm",
27419 "/",
27420 [
27421 "Sys.Modify"
27422 ]
27423 ]
44660702 27424 },
4d47f125
TL
27425 "protected" : 1,
27426 "proxyto" : "node",
27427 "returns" : {
27428 "type" : "string"
44660702 27429 }
7aacca6f
DM
27430 }
27431 },
4d47f125
TL
27432 "leaf" : 1,
27433 "path" : "/nodes/{node}/ceph/start",
27434 "text" : "start"
27435 },
e2d681b3
TL
27436 {
27437 "info" : {
27438 "POST" : {
27439 "description" : "Restart ceph services.",
27440 "method" : "POST",
27441 "name" : "restart",
27442 "parameters" : {
27443 "additionalProperties" : 0,
27444 "properties" : {
27445 "node" : {
27446 "description" : "The cluster node name.",
27447 "format" : "pve-node",
27448 "type" : "string",
27449 "typetext" : "<string>"
27450 },
27451 "service" : {
27452 "default" : "ceph.target",
27453 "description" : "Ceph service name.",
27454 "optional" : 1,
27455 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
27456 "type" : "string"
27457 }
27458 }
27459 },
27460 "permissions" : {
27461 "check" : [
27462 "perm",
27463 "/",
27464 [
27465 "Sys.Modify"
27466 ]
27467 ]
27468 },
27469 "protected" : 1,
27470 "proxyto" : "node",
27471 "returns" : {
27472 "type" : "string"
27473 }
27474 }
27475 },
27476 "leaf" : 1,
27477 "path" : "/nodes/{node}/ceph/restart",
27478 "text" : "restart"
27479 },
4d47f125
TL
27480 {
27481 "info" : {
27482 "GET" : {
27483 "description" : "Get ceph status.",
27484 "method" : "GET",
27485 "name" : "status",
27486 "parameters" : {
27487 "additionalProperties" : 0,
27488 "properties" : {
27489 "node" : {
27490 "description" : "The cluster node name.",
27491 "format" : "pve-node",
27492 "type" : "string",
27493 "typetext" : "<string>"
27494 }
27495 }
27496 },
27497 "permissions" : {
27498 "check" : [
27499 "perm",
27500 "/",
27501 [
27502 "Sys.Audit",
27503 "Datastore.Audit"
27504 ],
27505 "any",
27506 1
27507 ]
27508 },
27509 "protected" : 1,
27510 "proxyto" : "node",
27511 "returns" : {
27512 "type" : "object"
27513 }
27514 }
44660702 27515 },
4d47f125
TL
27516 "leaf" : 1,
27517 "path" : "/nodes/{node}/ceph/status",
27518 "text" : "status"
27519 },
44660702 27520 {
56122987
DM
27521 "children" : [
27522 {
44660702
DM
27523 "info" : {
27524 "DELETE" : {
4d47f125 27525 "description" : "Destroy pool",
44660702 27526 "method" : "DELETE",
4d47f125 27527 "name" : "destroypool",
44660702
DM
27528 "parameters" : {
27529 "additionalProperties" : 0,
27530 "properties" : {
4d47f125 27531 "force" : {
44660702 27532 "default" : 0,
4d47f125 27533 "description" : "If true, destroys pool even if in use",
44660702 27534 "optional" : 1,
013dc89f
DM
27535 "type" : "boolean",
27536 "typetext" : "<boolean>"
7aacca6f 27537 },
4d47f125
TL
27538 "name" : {
27539 "description" : "The name of the pool. It must be unique.",
27540 "type" : "string",
27541 "typetext" : "<string>"
27542 },
44660702
DM
27543 "node" : {
27544 "description" : "The cluster node name.",
27545 "format" : "pve-node",
013dc89f
DM
27546 "type" : "string",
27547 "typetext" : "<string>"
56122987 27548 },
4d47f125
TL
27549 "remove_storages" : {
27550 "default" : 0,
27551 "description" : "Remove all pveceph-managed storages configured for this pool",
27552 "optional" : 1,
27553 "type" : "boolean",
27554 "typetext" : "<boolean>"
44660702 27555 }
56122987
DM
27556 }
27557 },
4d47f125
TL
27558 "permissions" : {
27559 "check" : [
27560 "perm",
27561 "/",
27562 [
27563 "Sys.Modify"
27564 ]
27565 ]
27566 },
44660702
DM
27567 "protected" : 1,
27568 "proxyto" : "node",
27569 "returns" : {
27570 "type" : "string"
27571 }
27572 }
27573 },
4d47f125
TL
27574 "leaf" : 1,
27575 "path" : "/nodes/{node}/ceph/pools/{name}",
27576 "text" : "{name}"
44660702
DM
27577 }
27578 ],
27579 "info" : {
27580 "GET" : {
4d47f125 27581 "description" : "List all pools.",
44660702 27582 "method" : "GET",
4d47f125 27583 "name" : "lspools",
44660702
DM
27584 "parameters" : {
27585 "additionalProperties" : 0,
27586 "properties" : {
27587 "node" : {
27588 "description" : "The cluster node name.",
27589 "format" : "pve-node",
013dc89f
DM
27590 "type" : "string",
27591 "typetext" : "<string>"
44660702
DM
27592 }
27593 }
27594 },
27595 "permissions" : {
27596 "check" : [
27597 "perm",
27598 "/",
27599 [
27600 "Sys.Audit",
27601 "Datastore.Audit"
27602 ],
27603 "any",
27604 1
27605 ]
27606 },
27607 "protected" : 1,
27608 "proxyto" : "node",
27609 "returns" : {
4d47f125
TL
27610 "items" : {
27611 "properties" : {
27612 "pool" : {
27613 "type" : "integer"
27614 },
27615 "pool_name" : {
27616 "type" : "string"
27617 },
27618 "size" : {
27619 "type" : "integer"
27620 }
27621 },
27622 "type" : "object"
27623 },
27624 "links" : [
27625 {
27626 "href" : "{pool_name}",
27627 "rel" : "child"
27628 }
27629 ],
27630 "type" : "array"
44660702
DM
27631 }
27632 },
27633 "POST" : {
4d47f125 27634 "description" : "Create POOL",
44660702 27635 "method" : "POST",
4d47f125 27636 "name" : "createpool",
44660702
DM
27637 "parameters" : {
27638 "additionalProperties" : 0,
27639 "properties" : {
4d47f125 27640 "add_storages" : {
e2d681b3 27641 "description" : "Configure VM and CT storage using the new pool.",
5d9c884c
DM
27642 "optional" : 1,
27643 "type" : "boolean",
27644 "typetext" : "<boolean>"
27645 },
4d47f125
TL
27646 "application" : {
27647 "description" : "The application of the pool, 'rbd' by default.",
44660702 27648 "enum" : [
4d47f125
TL
27649 "rbd",
27650 "cephfs",
27651 "rgw"
44660702
DM
27652 ],
27653 "optional" : 1,
27654 "type" : "string"
27655 },
4d47f125
TL
27656 "crush_rule" : {
27657 "description" : "The rule to use for mapping object placement in the cluster.",
27658 "optional" : 1,
27659 "type" : "string",
27660 "typetext" : "<string>"
27661 },
27662 "min_size" : {
27663 "default" : 2,
27664 "description" : "Minimum number of replicas per object",
27665 "maximum" : 7,
27666 "minimum" : 1,
44660702 27667 "optional" : 1,
4d47f125
TL
27668 "type" : "integer",
27669 "typetext" : "<integer> (1 - 7)"
27670 },
27671 "name" : {
27672 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
27673 "type" : "string",
27674 "typetext" : "<string>"
44660702
DM
27675 },
27676 "node" : {
27677 "description" : "The cluster node name.",
27678 "format" : "pve-node",
013dc89f
DM
27679 "type" : "string",
27680 "typetext" : "<string>"
2489d6df 27681 },
4d47f125 27682 "pg_num" : {
e2d681b3 27683 "default" : 128,
4d47f125
TL
27684 "description" : "Number of placement groups.",
27685 "maximum" : 32768,
27686 "minimum" : 8,
2489d6df 27687 "optional" : 1,
4d47f125
TL
27688 "type" : "integer",
27689 "typetext" : "<integer> (8 - 32768)"
27690 },
27691 "size" : {
27692 "default" : 3,
27693 "description" : "Number of replicas per object",
27694 "maximum" : 7,
27695 "minimum" : 1,
27696 "optional" : 1,
27697 "type" : "integer",
27698 "typetext" : "<integer> (1 - 7)"
44660702 27699 }
56122987 27700 }
44660702 27701 },
4d47f125
TL
27702 "permissions" : {
27703 "check" : [
27704 "perm",
27705 "/",
27706 [
27707 "Sys.Modify"
27708 ]
27709 ]
27710 },
44660702
DM
27711 "protected" : 1,
27712 "proxyto" : "node",
27713 "returns" : {
27714 "type" : "string"
27715 }
56122987 27716 }
44660702 27717 },
7aacca6f 27718 "leaf" : 0,
4d47f125
TL
27719 "path" : "/nodes/{node}/ceph/pools",
27720 "text" : "pools"
7aacca6f
DM
27721 },
27722 {
4d47f125
TL
27723 "children" : [
27724 {
27725 "info" : {
27726 "DELETE" : {
27727 "description" : "Unset a ceph flag",
27728 "method" : "DELETE",
27729 "name" : "unset_flag",
27730 "parameters" : {
27731 "additionalProperties" : 0,
27732 "properties" : {
27733 "flag" : {
1c532546 27734 "description" : "The ceph flag to unset",
4d47f125 27735 "enum" : [
1c532546
TL
27736 "nobackfill",
27737 "nodeep-scrub",
4d47f125 27738 "nodown",
4d47f125 27739 "noin",
1c532546 27740 "noout",
4d47f125
TL
27741 "norebalance",
27742 "norecover",
27743 "noscrub",
1c532546
TL
27744 "notieragent",
27745 "noup",
27746 "pause"
4d47f125
TL
27747 ],
27748 "type" : "string"
27749 },
27750 "node" : {
27751 "description" : "The cluster node name.",
27752 "format" : "pve-node",
27753 "type" : "string",
27754 "typetext" : "<string>"
27755 }
27756 }
27757 },
27758 "permissions" : {
27759 "check" : [
27760 "perm",
27761 "/",
27762 [
27763 "Sys.Modify"
27764 ]
27765 ]
27766 },
27767 "protected" : 1,
27768 "proxyto" : "node",
27769 "returns" : {
27770 "type" : "null"
27771 }
27772 },
27773 "POST" : {
1c532546 27774 "description" : "Set a specific ceph flag",
4d47f125
TL
27775 "method" : "POST",
27776 "name" : "set_flag",
27777 "parameters" : {
27778 "additionalProperties" : 0,
27779 "properties" : {
27780 "flag" : {
1c532546 27781 "description" : "The ceph flag to set",
4d47f125 27782 "enum" : [
1c532546
TL
27783 "nobackfill",
27784 "nodeep-scrub",
4d47f125 27785 "nodown",
4d47f125 27786 "noin",
1c532546 27787 "noout",
4d47f125
TL
27788 "norebalance",
27789 "norecover",
27790 "noscrub",
1c532546
TL
27791 "notieragent",
27792 "noup",
27793 "pause"
4d47f125
TL
27794 ],
27795 "type" : "string"
27796 },
27797 "node" : {
27798 "description" : "The cluster node name.",
27799 "format" : "pve-node",
27800 "type" : "string",
27801 "typetext" : "<string>"
27802 }
27803 }
27804 },
27805 "permissions" : {
27806 "check" : [
27807 "perm",
27808 "/",
27809 [
27810 "Sys.Modify"
27811 ]
27812 ]
27813 },
27814 "protected" : 1,
27815 "proxyto" : "node",
27816 "returns" : {
27817 "type" : "null"
27818 }
27819 }
27820 },
27821 "leaf" : 1,
27822 "path" : "/nodes/{node}/ceph/flags/{flag}",
27823 "text" : "{flag}"
27824 }
27825 ],
56122987
DM
27826 "info" : {
27827 "GET" : {
4d47f125 27828 "description" : "get all set ceph flags",
44660702 27829 "method" : "GET",
4d47f125 27830 "name" : "get_flags",
44660702
DM
27831 "parameters" : {
27832 "additionalProperties" : 0,
27833 "properties" : {
27834 "node" : {
27835 "description" : "The cluster node name.",
27836 "format" : "pve-node",
013dc89f
DM
27837 "type" : "string",
27838 "typetext" : "<string>"
44660702
DM
27839 }
27840 }
27841 },
56122987
DM
27842 "permissions" : {
27843 "check" : [
27844 "perm",
27845 "/",
27846 [
4d47f125
TL
27847 "Sys.Audit"
27848 ]
56122987 27849 ]
4d47f125
TL
27850 },
27851 "protected" : 1,
27852 "proxyto" : "node",
27853 "returns" : {
27854 "type" : "string"
44660702 27855 }
56122987 27856 }
44660702 27857 },
4d47f125
TL
27858 "leaf" : 0,
27859 "path" : "/nodes/{node}/ceph/flags",
27860 "text" : "flags"
56122987
DM
27861 },
27862 {
56122987
DM
27863 "info" : {
27864 "GET" : {
4d47f125 27865 "description" : "Get OSD crush map",
44660702 27866 "method" : "GET",
4d47f125 27867 "name" : "crush",
56122987 27868 "parameters" : {
7aacca6f 27869 "additionalProperties" : 0,
56122987 27870 "properties" : {
56122987 27871 "node" : {
7aacca6f 27872 "description" : "The cluster node name.",
44660702 27873 "format" : "pve-node",
013dc89f
DM
27874 "type" : "string",
27875 "typetext" : "<string>"
56122987 27876 }
7aacca6f 27877 }
56122987 27878 },
56122987
DM
27879 "permissions" : {
27880 "check" : [
27881 "perm",
27882 "/",
27883 [
27884 "Sys.Audit",
27885 "Datastore.Audit"
27886 ],
27887 "any",
27888 1
27889 ]
44660702 27890 },
4d47f125
TL
27891 "protected" : 1,
27892 "proxyto" : "node",
44660702
DM
27893 "returns" : {
27894 "type" : "string"
7aacca6f
DM
27895 }
27896 }
44660702
DM
27897 },
27898 "leaf" : 1,
4d47f125
TL
27899 "path" : "/nodes/{node}/ceph/crush",
27900 "text" : "crush"
7aacca6f
DM
27901 },
27902 {
7aacca6f
DM
27903 "info" : {
27904 "GET" : {
4d47f125 27905 "description" : "Read ceph log",
7aacca6f 27906 "method" : "GET",
4d47f125 27907 "name" : "log",
7aacca6f
DM
27908 "parameters" : {
27909 "additionalProperties" : 0,
27910 "properties" : {
4d47f125
TL
27911 "limit" : {
27912 "minimum" : 0,
27913 "optional" : 1,
27914 "type" : "integer",
27915 "typetext" : "<integer> (0 - N)"
27916 },
7aacca6f 27917 "node" : {
7aacca6f 27918 "description" : "The cluster node name.",
44660702 27919 "format" : "pve-node",
013dc89f
DM
27920 "type" : "string",
27921 "typetext" : "<string>"
4d47f125
TL
27922 },
27923 "start" : {
27924 "minimum" : 0,
27925 "optional" : 1,
27926 "type" : "integer",
27927 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
27928 }
27929 }
27930 },
44660702
DM
27931 "permissions" : {
27932 "check" : [
27933 "perm",
4d47f125 27934 "/nodes/{node}",
44660702 27935 [
4d47f125
TL
27936 "Sys.Syslog"
27937 ]
44660702
DM
27938 ]
27939 },
7aacca6f 27940 "protected" : 1,
44660702 27941 "proxyto" : "node",
7aacca6f
DM
27942 "returns" : {
27943 "items" : {
27944 "properties" : {
4d47f125
TL
27945 "n" : {
27946 "description" : "Line number",
27947 "type" : "integer"
56122987 27948 },
4d47f125
TL
27949 "t" : {
27950 "description" : "Line text",
56122987
DM
27951 "type" : "string"
27952 }
7aacca6f
DM
27953 },
27954 "type" : "object"
56122987
DM
27955 },
27956 "type" : "array"
44660702 27957 }
4d47f125
TL
27958 }
27959 },
27960 "leaf" : 1,
27961 "path" : "/nodes/{node}/ceph/log",
27962 "text" : "log"
27963 },
27964 {
27965 "info" : {
27966 "GET" : {
27967 "description" : "List ceph rules.",
27968 "method" : "GET",
27969 "name" : "rules",
44660702
DM
27970 "parameters" : {
27971 "additionalProperties" : 0,
27972 "properties" : {
27973 "node" : {
27974 "description" : "The cluster node name.",
27975 "format" : "pve-node",
013dc89f
DM
27976 "type" : "string",
27977 "typetext" : "<string>"
44660702
DM
27978 }
27979 }
27980 },
7aacca6f
DM
27981 "permissions" : {
27982 "check" : [
27983 "perm",
27984 "/",
27985 [
4d47f125
TL
27986 "Sys.Audit",
27987 "Datastore.Audit"
27988 ],
27989 "any",
27990 1
7aacca6f
DM
27991 ]
27992 },
44660702 27993 "protected" : 1,
7aacca6f 27994 "proxyto" : "node",
56122987 27995 "returns" : {
4d47f125
TL
27996 "items" : {
27997 "properties" : {},
27998 "type" : "object"
27999 },
28000 "links" : [
28001 {
28002 "href" : "{name}",
28003 "rel" : "child"
28004 }
28005 ],
28006 "type" : "array"
44660702 28007 }
56122987 28008 }
44660702 28009 },
4d47f125
TL
28010 "leaf" : 1,
28011 "path" : "/nodes/{node}/ceph/rules",
28012 "text" : "rules"
28013 }
28014 ],
28015 "info" : {
28016 "GET" : {
28017 "description" : "Directory index.",
28018 "method" : "GET",
28019 "name" : "index",
28020 "parameters" : {
28021 "additionalProperties" : 0,
28022 "properties" : {
28023 "node" : {
28024 "description" : "The cluster node name.",
28025 "format" : "pve-node",
28026 "type" : "string",
28027 "typetext" : "<string>"
28028 }
28029 }
28030 },
28031 "permissions" : {
28032 "check" : [
28033 "perm",
28034 "/",
28035 [
28036 "Sys.Audit",
28037 "Datastore.Audit"
28038 ],
28039 "any",
28040 1
28041 ]
28042 },
28043 "returns" : {
28044 "items" : {
28045 "properties" : {},
28046 "type" : "object"
28047 },
28048 "links" : [
28049 {
28050 "href" : "{name}",
28051 "rel" : "child"
28052 }
28053 ],
28054 "type" : "array"
28055 }
28056 }
28057 },
28058 "leaf" : 0,
28059 "path" : "/nodes/{node}/ceph",
28060 "text" : "ceph"
28061 },
28062 {
28063 "children" : [
56122987
DM
28064 {
28065 "info" : {
4d47f125
TL
28066 "GET" : {
28067 "description" : "Extract configuration from vzdump backup archive.",
28068 "method" : "GET",
28069 "name" : "extractconfig",
28070 "parameters" : {
28071 "additionalProperties" : 0,
28072 "properties" : {
44660702
DM
28073 "node" : {
28074 "description" : "The cluster node name.",
28075 "format" : "pve-node",
013dc89f
DM
28076 "type" : "string",
28077 "typetext" : "<string>"
44660702 28078 },
4d47f125
TL
28079 "volume" : {
28080 "description" : "Volume identifier",
28081 "type" : "string",
28082 "typetext" : "<string>"
44660702
DM
28083 }
28084 }
7aacca6f 28085 },
56122987 28086 "permissions" : {
4d47f125
TL
28087 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
28088 "user" : "all"
56122987 28089 },
7aacca6f 28090 "protected" : 1,
44660702
DM
28091 "proxyto" : "node",
28092 "returns" : {
4d47f125 28093 "type" : "string"
7aacca6f
DM
28094 }
28095 }
28096 },
7aacca6f 28097 "leaf" : 1,
4d47f125
TL
28098 "path" : "/nodes/{node}/vzdump/extractconfig",
28099 "text" : "extractconfig"
28100 }
28101 ],
28102 "info" : {
28103 "POST" : {
28104 "description" : "Create backup.",
28105 "method" : "POST",
28106 "name" : "vzdump",
28107 "parameters" : {
28108 "additionalProperties" : 0,
28109 "properties" : {
28110 "all" : {
28111 "default" : 0,
28112 "description" : "Backup all known guest systems on this host.",
28113 "optional" : 1,
28114 "type" : "boolean",
28115 "typetext" : "<boolean>"
28116 },
28117 "bwlimit" : {
28118 "default" : 0,
28119 "description" : "Limit I/O bandwidth (KBytes per second).",
28120 "minimum" : 0,
28121 "optional" : 1,
28122 "type" : "integer",
28123 "typetext" : "<integer> (0 - N)"
28124 },
28125 "compress" : {
28126 "default" : "0",
28127 "description" : "Compress dump file.",
28128 "enum" : [
28129 "0",
28130 "1",
28131 "gzip",
28132 "lzo"
28133 ],
28134 "optional" : 1,
28135 "type" : "string"
28136 },
28137 "dumpdir" : {
28138 "description" : "Store resulting files to specified directory.",
28139 "optional" : 1,
28140 "type" : "string",
28141 "typetext" : "<string>"
28142 },
28143 "exclude" : {
28144 "description" : "Exclude specified guest systems (assumes --all)",
28145 "format" : "pve-vmid-list",
28146 "optional" : 1,
28147 "type" : "string",
28148 "typetext" : "<string>"
28149 },
28150 "exclude-path" : {
28151 "description" : "Exclude certain files/directories (shell globs).",
28152 "format" : "string-alist",
28153 "optional" : 1,
28154 "type" : "string",
28155 "typetext" : "<string>"
28156 },
28157 "ionice" : {
28158 "default" : 7,
28159 "description" : "Set CFQ ionice priority.",
28160 "maximum" : 8,
28161 "minimum" : 0,
28162 "optional" : 1,
28163 "type" : "integer",
28164 "typetext" : "<integer> (0 - 8)"
28165 },
28166 "lockwait" : {
28167 "default" : 180,
28168 "description" : "Maximal time to wait for the global lock (minutes).",
28169 "minimum" : 0,
28170 "optional" : 1,
28171 "type" : "integer",
28172 "typetext" : "<integer> (0 - N)"
28173 },
28174 "mailnotification" : {
28175 "default" : "always",
28176 "description" : "Specify when to send an email",
28177 "enum" : [
28178 "always",
28179 "failure"
28180 ],
28181 "optional" : 1,
28182 "type" : "string"
28183 },
28184 "mailto" : {
28185 "description" : "Comma-separated list of email addresses that should receive email notifications.",
28186 "format" : "string-list",
28187 "optional" : 1,
28188 "type" : "string",
28189 "typetext" : "<string>"
28190 },
28191 "maxfiles" : {
28192 "default" : 1,
28193 "description" : "Maximal number of backup files per guest system.",
28194 "minimum" : 1,
28195 "optional" : 1,
28196 "type" : "integer",
28197 "typetext" : "<integer> (1 - N)"
28198 },
28199 "mode" : {
28200 "default" : "snapshot",
28201 "description" : "Backup mode.",
28202 "enum" : [
28203 "snapshot",
28204 "suspend",
28205 "stop"
28206 ],
28207 "optional" : 1,
28208 "type" : "string"
28209 },
28210 "node" : {
28211 "description" : "Only run if executed on this node.",
28212 "format" : "pve-node",
28213 "optional" : 1,
28214 "type" : "string",
28215 "typetext" : "<string>"
28216 },
28217 "pigz" : {
28218 "default" : 0,
28219 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
28220 "optional" : 1,
28221 "type" : "integer",
28222 "typetext" : "<integer>"
28223 },
9226ccbc
TL
28224 "pool" : {
28225 "description" : "Backup all known guest systems included in the specified pool.",
28226 "optional" : 1,
28227 "type" : "string",
28228 "typetext" : "<string>"
28229 },
4d47f125
TL
28230 "quiet" : {
28231 "default" : 0,
28232 "description" : "Be quiet.",
28233 "optional" : 1,
28234 "type" : "boolean",
28235 "typetext" : "<boolean>"
28236 },
28237 "remove" : {
28238 "default" : 1,
28239 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
28240 "optional" : 1,
28241 "type" : "boolean",
28242 "typetext" : "<boolean>"
28243 },
28244 "script" : {
28245 "description" : "Use specified hook script.",
28246 "optional" : 1,
28247 "type" : "string",
28248 "typetext" : "<string>"
28249 },
28250 "size" : {
28251 "default" : 1024,
28252 "description" : "Unused, will be removed in a future release.",
28253 "minimum" : 500,
28254 "optional" : 1,
28255 "type" : "integer",
28256 "typetext" : "<integer> (500 - N)"
28257 },
28258 "stdexcludes" : {
28259 "default" : 1,
28260 "description" : "Exclude temporary files and logs.",
28261 "optional" : 1,
28262 "type" : "boolean",
28263 "typetext" : "<boolean>"
28264 },
28265 "stdout" : {
28266 "description" : "Write tar to stdout, not to a file.",
28267 "optional" : 1,
28268 "type" : "boolean",
28269 "typetext" : "<boolean>"
28270 },
28271 "stop" : {
28272 "default" : 0,
1e3f8156 28273 "description" : "Stop running backup jobs on this host.",
4d47f125
TL
28274 "optional" : 1,
28275 "type" : "boolean",
28276 "typetext" : "<boolean>"
28277 },
28278 "stopwait" : {
28279 "default" : 10,
28280 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
28281 "minimum" : 0,
28282 "optional" : 1,
28283 "type" : "integer",
28284 "typetext" : "<integer> (0 - N)"
28285 },
28286 "storage" : {
28287 "description" : "Store resulting file to this storage.",
28288 "format" : "pve-storage-id",
28289 "optional" : 1,
28290 "type" : "string",
28291 "typetext" : "<string>"
28292 },
28293 "tmpdir" : {
28294 "description" : "Store temporary files to specified directory.",
28295 "optional" : 1,
28296 "type" : "string",
28297 "typetext" : "<string>"
28298 },
28299 "vmid" : {
28300 "description" : "The ID of the guest system you want to backup.",
28301 "format" : "pve-vmid-list",
28302 "optional" : 1,
28303 "type" : "string",
28304 "typetext" : "<string>"
28305 }
28306 }
28307 },
28308 "permissions" : {
28309 "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'maxfiles', 'tmpdir', 'dumpdir', 'script', 'bwlimit' and 'ionice' parameters are restricted to the 'root@pam' user.",
28310 "user" : "all"
28311 },
28312 "protected" : 1,
28313 "proxyto" : "node",
28314 "returns" : {
28315 "type" : "string"
28316 }
28317 }
28318 },
28319 "leaf" : 0,
28320 "path" : "/nodes/{node}/vzdump",
28321 "text" : "vzdump"
28322 },
28323 {
28324 "children" : [
2489d6df
WB
28325 {
28326 "children" : [
28327 {
28328 "info" : {
4d47f125
TL
28329 "GET" : {
28330 "description" : "Read service properties",
28331 "method" : "GET",
28332 "name" : "service_state",
2489d6df
WB
28333 "parameters" : {
28334 "additionalProperties" : 0,
28335 "properties" : {
2489d6df
WB
28336 "node" : {
28337 "description" : "The cluster node name.",
28338 "format" : "pve-node",
28339 "type" : "string",
28340 "typetext" : "<string>"
4d47f125
TL
28341 },
28342 "service" : {
28343 "description" : "Service ID",
28344 "enum" : [
28345 "pveproxy",
28346 "pvedaemon",
28347 "spiceproxy",
28348 "pvestatd",
28349 "pve-cluster",
28350 "corosync",
28351 "pve-firewall",
28352 "pvefw-logger",
28353 "pve-ha-crm",
28354 "pve-ha-lrm",
28355 "sshd",
28356 "syslog",
28357 "cron",
28358 "postfix",
28359 "ksmtuned",
28360 "systemd-timesyncd"
28361 ],
28362 "type" : "string"
2489d6df
WB
28363 }
28364 }
28365 },
28366 "permissions" : {
28367 "check" : [
28368 "perm",
4d47f125 28369 "/nodes/{node}",
2489d6df 28370 [
4d47f125 28371 "Sys.Audit"
2489d6df
WB
28372 ]
28373 ]
28374 },
28375 "protected" : 1,
28376 "proxyto" : "node",
28377 "returns" : {
4d47f125 28378 "type" : "object"
2489d6df
WB
28379 }
28380 }
28381 },
28382 "leaf" : 1,
4d47f125
TL
28383 "path" : "/nodes/{node}/services/{service}/state",
28384 "text" : "state"
28385 },
28386 {
28387 "info" : {
28388 "POST" : {
28389 "description" : "Start service.",
28390 "method" : "POST",
28391 "name" : "service_start",
28392 "parameters" : {
28393 "additionalProperties" : 0,
28394 "properties" : {
28395 "node" : {
28396 "description" : "The cluster node name.",
28397 "format" : "pve-node",
28398 "type" : "string",
28399 "typetext" : "<string>"
28400 },
28401 "service" : {
28402 "description" : "Service ID",
28403 "enum" : [
28404 "pveproxy",
28405 "pvedaemon",
28406 "spiceproxy",
28407 "pvestatd",
28408 "pve-cluster",
28409 "corosync",
28410 "pve-firewall",
28411 "pvefw-logger",
28412 "pve-ha-crm",
28413 "pve-ha-lrm",
28414 "sshd",
28415 "syslog",
28416 "cron",
28417 "postfix",
28418 "ksmtuned",
28419 "systemd-timesyncd"
28420 ],
28421 "type" : "string"
28422 }
28423 }
7aacca6f 28424 },
4d47f125
TL
28425 "permissions" : {
28426 "check" : [
28427 "perm",
28428 "/nodes/{node}",
28429 [
28430 "Sys.Modify"
28431 ]
28432 ]
7aacca6f 28433 },
4d47f125
TL
28434 "protected" : 1,
28435 "proxyto" : "node",
28436 "returns" : {
28437 "type" : "string"
28438 }
28439 }
56122987 28440 },
4d47f125
TL
28441 "leaf" : 1,
28442 "path" : "/nodes/{node}/services/{service}/start",
28443 "text" : "start"
28444 },
44660702
DM
28445 {
28446 "info" : {
4d47f125
TL
28447 "POST" : {
28448 "description" : "Stop service.",
28449 "method" : "POST",
28450 "name" : "service_stop",
44660702
DM
28451 "parameters" : {
28452 "additionalProperties" : 0,
28453 "properties" : {
44660702
DM
28454 "node" : {
28455 "description" : "The cluster node name.",
28456 "format" : "pve-node",
013dc89f
DM
28457 "type" : "string",
28458 "typetext" : "<string>"
2489d6df 28459 },
4d47f125
TL
28460 "service" : {
28461 "description" : "Service ID",
28462 "enum" : [
28463 "pveproxy",
28464 "pvedaemon",
28465 "spiceproxy",
28466 "pvestatd",
28467 "pve-cluster",
28468 "corosync",
28469 "pve-firewall",
28470 "pvefw-logger",
28471 "pve-ha-crm",
28472 "pve-ha-lrm",
28473 "sshd",
28474 "syslog",
28475 "cron",
28476 "postfix",
28477 "ksmtuned",
28478 "systemd-timesyncd"
28479 ],
28480 "type" : "string"
44660702
DM
28481 }
28482 }
28483 },
28484 "permissions" : {
28485 "check" : [
28486 "perm",
4d47f125 28487 "/nodes/{node}",
44660702
DM
28488 [
28489 "Sys.Modify"
28490 ]
28491 ]
28492 },
28493 "protected" : 1,
28494 "proxyto" : "node",
28495 "returns" : {
2489d6df 28496 "type" : "string"
44660702
DM
28497 }
28498 }
28499 },
28500 "leaf" : 1,
4d47f125
TL
28501 "path" : "/nodes/{node}/services/{service}/stop",
28502 "text" : "stop"
7aacca6f 28503 },
32d876b5
DM
28504 {
28505 "info" : {
4d47f125
TL
28506 "POST" : {
28507 "description" : "Restart service.",
28508 "method" : "POST",
28509 "name" : "service_restart",
32d876b5
DM
28510 "parameters" : {
28511 "additionalProperties" : 0,
28512 "properties" : {
4d47f125
TL
28513 "node" : {
28514 "description" : "The cluster node name.",
28515 "format" : "pve-node",
28516 "type" : "string",
28517 "typetext" : "<string>"
28518 },
28519 "service" : {
28520 "description" : "Service ID",
32d876b5 28521 "enum" : [
4d47f125
TL
28522 "pveproxy",
28523 "pvedaemon",
28524 "spiceproxy",
28525 "pvestatd",
28526 "pve-cluster",
28527 "corosync",
28528 "pve-firewall",
28529 "pvefw-logger",
28530 "pve-ha-crm",
28531 "pve-ha-lrm",
28532 "sshd",
28533 "syslog",
28534 "cron",
28535 "postfix",
28536 "ksmtuned",
28537 "systemd-timesyncd"
32d876b5
DM
28538 ],
28539 "type" : "string"
32d876b5
DM
28540 }
28541 }
28542 },
28543 "permissions" : {
28544 "check" : [
28545 "perm",
4d47f125 28546 "/nodes/{node}",
32d876b5
DM
28547 [
28548 "Sys.Modify"
28549 ]
28550 ]
28551 },
28552 "protected" : 1,
28553 "proxyto" : "node",
28554 "returns" : {
4d47f125 28555 "type" : "string"
32d876b5 28556 }
4d47f125
TL
28557 }
28558 },
28559 "leaf" : 1,
28560 "path" : "/nodes/{node}/services/{service}/restart",
28561 "text" : "restart"
28562 },
28563 {
28564 "info" : {
32d876b5 28565 "POST" : {
4d47f125 28566 "description" : "Reload service.",
32d876b5 28567 "method" : "POST",
4d47f125 28568 "name" : "service_reload",
32d876b5
DM
28569 "parameters" : {
28570 "additionalProperties" : 0,
28571 "properties" : {
32d876b5
DM
28572 "node" : {
28573 "description" : "The cluster node name.",
28574 "format" : "pve-node",
28575 "type" : "string",
28576 "typetext" : "<string>"
4d47f125
TL
28577 },
28578 "service" : {
28579 "description" : "Service ID",
28580 "enum" : [
28581 "pveproxy",
28582 "pvedaemon",
28583 "spiceproxy",
28584 "pvestatd",
28585 "pve-cluster",
28586 "corosync",
28587 "pve-firewall",
28588 "pvefw-logger",
28589 "pve-ha-crm",
28590 "pve-ha-lrm",
28591 "sshd",
28592 "syslog",
28593 "cron",
28594 "postfix",
28595 "ksmtuned",
28596 "systemd-timesyncd"
28597 ],
28598 "type" : "string"
32d876b5
DM
28599 }
28600 }
28601 },
28602 "permissions" : {
28603 "check" : [
28604 "perm",
4d47f125 28605 "/nodes/{node}",
32d876b5
DM
28606 [
28607 "Sys.Modify"
28608 ]
28609 ]
28610 },
28611 "protected" : 1,
28612 "proxyto" : "node",
28613 "returns" : {
4d47f125 28614 "type" : "string"
32d876b5
DM
28615 }
28616 }
28617 },
28618 "leaf" : 1,
4d47f125
TL
28619 "path" : "/nodes/{node}/services/{service}/reload",
28620 "text" : "reload"
32d876b5
DM
28621 }
28622 ],
28623 "info" : {
28624 "GET" : {
4d47f125 28625 "description" : "Directory index",
44660702 28626 "method" : "GET",
4d47f125 28627 "name" : "srvcmdidx",
44660702
DM
28628 "parameters" : {
28629 "additionalProperties" : 0,
28630 "properties" : {
44660702
DM
28631 "node" : {
28632 "description" : "The cluster node name.",
28633 "format" : "pve-node",
013dc89f
DM
28634 "type" : "string",
28635 "typetext" : "<string>"
44660702 28636 },
4d47f125
TL
28637 "service" : {
28638 "description" : "Service ID",
28639 "enum" : [
28640 "pveproxy",
28641 "pvedaemon",
28642 "spiceproxy",
28643 "pvestatd",
28644 "pve-cluster",
28645 "corosync",
28646 "pve-firewall",
28647 "pvefw-logger",
28648 "pve-ha-crm",
28649 "pve-ha-lrm",
28650 "sshd",
28651 "syslog",
28652 "cron",
28653 "postfix",
28654 "ksmtuned",
28655 "systemd-timesyncd"
28656 ],
28657 "type" : "string"
44660702 28658 }
7aacca6f 28659 }
56122987 28660 },
56122987
DM
28661 "permissions" : {
28662 "check" : [
28663 "perm",
7aacca6f 28664 "/nodes/{node}",
56122987 28665 [
4d47f125 28666 "Sys.Audit"
56122987
DM
28667 ]
28668 ]
28669 },
44660702
DM
28670 "returns" : {
28671 "items" : {
28672 "properties" : {
4d47f125 28673 "subdir" : {
44660702
DM
28674 "type" : "string"
28675 }
56122987 28676 },
44660702 28677 "type" : "object"
56122987 28678 },
2489d6df
WB
28679 "links" : [
28680 {
4d47f125 28681 "href" : "{subdir}",
2489d6df
WB
28682 "rel" : "child"
28683 }
28684 ],
28685 "type" : "array"
28686 }
28687 }
4d47f125
TL
28688 },
28689 "leaf" : 0,
28690 "path" : "/nodes/{node}/services/{service}",
28691 "text" : "{service}"
7aacca6f
DM
28692 }
28693 ],
44660702
DM
28694 "info" : {
28695 "GET" : {
4d47f125 28696 "description" : "Service list.",
44660702
DM
28697 "method" : "GET",
28698 "name" : "index",
28699 "parameters" : {
28700 "additionalProperties" : 0,
28701 "properties" : {
28702 "node" : {
28703 "description" : "The cluster node name.",
28704 "format" : "pve-node",
013dc89f
DM
28705 "type" : "string",
28706 "typetext" : "<string>"
44660702
DM
28707 }
28708 }
28709 },
28710 "permissions" : {
28711 "check" : [
28712 "perm",
4d47f125 28713 "/nodes/{node}",
44660702 28714 [
4d47f125
TL
28715 "Sys.Audit"
28716 ]
44660702
DM
28717 ]
28718 },
4d47f125
TL
28719 "protected" : 1,
28720 "proxyto" : "node",
44660702
DM
28721 "returns" : {
28722 "items" : {
28723 "properties" : {},
28724 "type" : "object"
28725 },
28726 "links" : [
28727 {
4d47f125 28728 "href" : "{service}",
44660702
DM
28729 "rel" : "child"
28730 }
28731 ],
28732 "type" : "array"
28733 }
28734 }
28735 },
7aacca6f 28736 "leaf" : 0,
4d47f125
TL
28737 "path" : "/nodes/{node}/services",
28738 "text" : "services"
7aacca6f
DM
28739 },
28740 {
7aacca6f 28741 "info" : {
4d47f125
TL
28742 "GET" : {
28743 "description" : "Read subscription info.",
28744 "method" : "GET",
28745 "name" : "get",
7aacca6f 28746 "parameters" : {
44660702 28747 "additionalProperties" : 0,
7aacca6f 28748 "properties" : {
44660702 28749 "node" : {
4d47f125 28750 "description" : "The cluster node name.",
44660702 28751 "format" : "pve-node",
013dc89f
DM
28752 "type" : "string",
28753 "typetext" : "<string>"
4d47f125
TL
28754 }
28755 }
28756 },
28757 "permissions" : {
28758 "user" : "all"
28759 },
28760 "proxyto" : "node",
28761 "returns" : {
28762 "type" : "object"
28763 }
28764 },
28765 "POST" : {
28766 "description" : "Update subscription info.",
28767 "method" : "POST",
28768 "name" : "update",
28769 "parameters" : {
28770 "additionalProperties" : 0,
28771 "properties" : {
28772 "force" : {
28773 "default" : 0,
28774 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 28775 "optional" : 1,
4d47f125
TL
28776 "type" : "boolean",
28777 "typetext" : "<boolean>"
44660702 28778 },
4d47f125
TL
28779 "node" : {
28780 "description" : "The cluster node name.",
28781 "format" : "pve-node",
013dc89f
DM
28782 "type" : "string",
28783 "typetext" : "<string>"
4d47f125
TL
28784 }
28785 }
28786 },
28787 "permissions" : {
28788 "check" : [
28789 "perm",
28790 "/nodes/{node}",
28791 [
28792 "Sys.Modify"
28793 ]
28794 ]
28795 },
28796 "protected" : 1,
28797 "proxyto" : "node",
28798 "returns" : {
28799 "type" : "null"
28800 }
28801 },
28802 "PUT" : {
28803 "description" : "Set subscription key.",
28804 "method" : "PUT",
28805 "name" : "set",
28806 "parameters" : {
28807 "additionalProperties" : 0,
28808 "properties" : {
28809 "key" : {
28810 "description" : "Proxmox VE subscription key",
28811 "maxLength" : 32,
5f26e15b 28812 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 28813 "type" : "string"
7aacca6f 28814 },
4d47f125
TL
28815 "node" : {
28816 "description" : "The cluster node name.",
28817 "format" : "pve-node",
013dc89f
DM
28818 "type" : "string",
28819 "typetext" : "<string>"
7aacca6f 28820 }
7aacca6f
DM
28821 }
28822 },
7aacca6f 28823 "permissions" : {
4d47f125
TL
28824 "check" : [
28825 "perm",
28826 "/nodes/{node}",
28827 [
28828 "Sys.Modify"
28829 ]
28830 ]
7aacca6f 28831 },
44660702 28832 "protected" : 1,
7aacca6f 28833 "proxyto" : "node",
7aacca6f 28834 "returns" : {
4d47f125 28835 "type" : "null"
7aacca6f
DM
28836 }
28837 }
28838 },
4d47f125
TL
28839 "leaf" : 1,
28840 "path" : "/nodes/{node}/subscription",
28841 "text" : "subscription"
44660702
DM
28842 },
28843 {
7aacca6f
DM
28844 "children" : [
28845 {
4d47f125
TL
28846 "info" : {
28847 "DELETE" : {
28848 "description" : "Delete network device configuration",
28849 "method" : "DELETE",
28850 "name" : "delete_network",
28851 "parameters" : {
28852 "additionalProperties" : 0,
28853 "properties" : {
28854 "iface" : {
28855 "description" : "Network interface name.",
28856 "format" : "pve-iface",
28857 "maxLength" : 20,
28858 "minLength" : 2,
28859 "type" : "string",
28860 "typetext" : "<string>"
7aacca6f 28861 },
4d47f125
TL
28862 "node" : {
28863 "description" : "The cluster node name.",
28864 "format" : "pve-node",
28865 "type" : "string",
28866 "typetext" : "<string>"
44660702
DM
28867 }
28868 }
28869 },
4d47f125
TL
28870 "permissions" : {
28871 "check" : [
28872 "perm",
28873 "/nodes/{node}",
28874 [
28875 "Sys.Modify"
28876 ]
28877 ]
28878 },
28879 "protected" : 1,
28880 "proxyto" : "node",
28881 "returns" : {
28882 "type" : "null"
28883 }
28884 },
28885 "GET" : {
28886 "description" : "Read network device configuration",
28887 "method" : "GET",
28888 "name" : "network_config",
28889 "parameters" : {
28890 "additionalProperties" : 0,
28891 "properties" : {
28892 "iface" : {
28893 "description" : "Network interface name.",
28894 "format" : "pve-iface",
28895 "maxLength" : 20,
28896 "minLength" : 2,
28897 "type" : "string",
28898 "typetext" : "<string>"
56122987 28899 },
4d47f125
TL
28900 "node" : {
28901 "description" : "The cluster node name.",
28902 "format" : "pve-node",
28903 "type" : "string",
28904 "typetext" : "<string>"
44660702
DM
28905 }
28906 }
28907 },
4d47f125
TL
28908 "permissions" : {
28909 "check" : [
28910 "perm",
28911 "/nodes/{node}",
28912 [
28913 "Sys.Audit"
28914 ]
28915 ]
28916 },
28917 "proxyto" : "node",
28918 "returns" : {
28919 "properties" : {
28920 "method" : {
28921 "type" : "string"
44660702 28922 },
4d47f125 28923 "type" : {
44660702
DM
28924 "type" : "string"
28925 }
4d47f125
TL
28926 },
28927 "type" : "object"
28928 }
56122987 28929 },
4d47f125
TL
28930 "PUT" : {
28931 "description" : "Update network device configuration",
28932 "method" : "PUT",
28933 "name" : "update_network",
28934 "parameters" : {
28935 "additionalProperties" : 0,
28936 "properties" : {
28937 "address" : {
28938 "description" : "IP address.",
28939 "format" : "ipv4",
28940 "optional" : 1,
28941 "requires" : "netmask",
28942 "type" : "string",
28943 "typetext" : "<string>"
28944 },
28945 "address6" : {
28946 "description" : "IP address.",
28947 "format" : "ipv6",
28948 "optional" : 1,
28949 "requires" : "netmask6",
28950 "type" : "string",
28951 "typetext" : "<string>"
28952 },
28953 "autostart" : {
28954 "description" : "Automatically start interface on boot.",
28955 "optional" : 1,
28956 "type" : "boolean",
28957 "typetext" : "<boolean>"
28958 },
28959 "bond_mode" : {
28960 "description" : "Bonding mode.",
28961 "enum" : [
28962 "balance-rr",
28963 "active-backup",
28964 "balance-xor",
28965 "broadcast",
28966 "802.3ad",
28967 "balance-tlb",
28968 "balance-alb",
28969 "balance-slb",
28970 "lacp-balance-slb",
28971 "lacp-balance-tcp"
28972 ],
28973 "optional" : 1,
28974 "type" : "string"
28975 },
28976 "bond_xmit_hash_policy" : {
28977 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
28978 "enum" : [
28979 "layer2",
28980 "layer2+3",
28981 "layer3+4"
28982 ],
28983 "optional" : 1,
28984 "type" : "string"
28985 },
28986 "bridge_ports" : {
1e3f8156 28987 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
28988 "format" : "pve-iface-list",
28989 "optional" : 1,
28990 "type" : "string",
28991 "typetext" : "<string>"
28992 },
28993 "bridge_vlan_aware" : {
28994 "description" : "Enable bridge vlan support.",
28995 "optional" : 1,
28996 "type" : "boolean",
28997 "typetext" : "<boolean>"
28998 },
bb4c8cf8
TL
28999 "cidr" : {
29000 "description" : "IPv4 CIDR.",
29001 "format" : "CIDRv4",
29002 "optional" : 1,
29003 "type" : "string",
29004 "typetext" : "<string>"
29005 },
29006 "cidr6" : {
29007 "description" : "IPv6 CIDR.",
29008 "format" : "CIDRv6",
29009 "optional" : 1,
29010 "type" : "string",
29011 "typetext" : "<string>"
29012 },
4d47f125
TL
29013 "comments" : {
29014 "description" : "Comments",
29015 "optional" : 1,
29016 "type" : "string",
29017 "typetext" : "<string>"
29018 },
29019 "comments6" : {
29020 "description" : "Comments",
29021 "optional" : 1,
29022 "type" : "string",
29023 "typetext" : "<string>"
29024 },
29025 "delete" : {
29026 "description" : "A list of settings you want to delete.",
29027 "format" : "pve-configid-list",
29028 "optional" : 1,
29029 "type" : "string",
29030 "typetext" : "<string>"
29031 },
29032 "gateway" : {
29033 "description" : "Default gateway address.",
29034 "format" : "ipv4",
29035 "optional" : 1,
29036 "type" : "string",
29037 "typetext" : "<string>"
29038 },
29039 "gateway6" : {
29040 "description" : "Default ipv6 gateway address.",
29041 "format" : "ipv6",
29042 "optional" : 1,
29043 "type" : "string",
29044 "typetext" : "<string>"
29045 },
29046 "iface" : {
29047 "description" : "Network interface name.",
29048 "format" : "pve-iface",
29049 "maxLength" : 20,
29050 "minLength" : 2,
29051 "type" : "string",
29052 "typetext" : "<string>"
56122987 29053 },
4d47f125
TL
29054 "netmask" : {
29055 "description" : "Network mask.",
29056 "format" : "ipv4mask",
29057 "optional" : 1,
29058 "requires" : "address",
29059 "type" : "string",
29060 "typetext" : "<string>"
29061 },
29062 "netmask6" : {
29063 "description" : "Network mask.",
29064 "maximum" : 128,
29065 "minimum" : 0,
29066 "optional" : 1,
29067 "requires" : "address6",
29068 "type" : "integer",
29069 "typetext" : "<integer> (0 - 128)"
56122987 29070 },
44660702
DM
29071 "node" : {
29072 "description" : "The cluster node name.",
29073 "format" : "pve-node",
013dc89f
DM
29074 "type" : "string",
29075 "typetext" : "<string>"
44660702 29076 },
4d47f125
TL
29077 "ovs_bonds" : {
29078 "description" : "Specify the interfaces used by the bonding device.",
29079 "format" : "pve-iface-list",
29080 "optional" : 1,
29081 "type" : "string",
29082 "typetext" : "<string>"
29083 },
29084 "ovs_bridge" : {
29085 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
29086 "format" : "pve-iface",
29087 "optional" : 1,
29088 "type" : "string",
29089 "typetext" : "<string>"
29090 },
29091 "ovs_options" : {
29092 "description" : "OVS interface options.",
29093 "maxLength" : 1024,
29094 "optional" : 1,
29095 "type" : "string",
29096 "typetext" : "<string>"
29097 },
29098 "ovs_ports" : {
1e3f8156 29099 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
29100 "format" : "pve-iface-list",
29101 "optional" : 1,
29102 "type" : "string",
29103 "typetext" : "<string>"
29104 },
29105 "ovs_tag" : {
29106 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
29107 "maximum" : 4094,
29108 "minimum" : 1,
29109 "optional" : 1,
29110 "type" : "integer",
29111 "typetext" : "<integer> (1 - 4094)"
29112 },
29113 "slaves" : {
29114 "description" : "Specify the interfaces used by the bonding device.",
29115 "format" : "pve-iface-list",
29116 "optional" : 1,
29117 "type" : "string",
29118 "typetext" : "<string>"
29119 },
29120 "type" : {
29121 "description" : "Network interface type",
44660702 29122 "enum" : [
4d47f125
TL
29123 "bridge",
29124 "bond",
29125 "eth",
29126 "alias",
29127 "vlan",
29128 "OVSBridge",
29129 "OVSBond",
29130 "OVSPort",
29131 "OVSIntPort",
29132 "unknown"
44660702
DM
29133 ],
29134 "type" : "string"
29135 }
29136 }
29137 },
29138 "permissions" : {
29139 "check" : [
29140 "perm",
29141 "/nodes/{node}",
29142 [
4d47f125 29143 "Sys.Modify"
44660702
DM
29144 ]
29145 ]
29146 },
4d47f125
TL
29147 "protected" : 1,
29148 "proxyto" : "node",
44660702 29149 "returns" : {
4d47f125 29150 "type" : "null"
44660702
DM
29151 }
29152 }
29153 },
4d47f125
TL
29154 "leaf" : 1,
29155 "path" : "/nodes/{node}/network/{iface}",
29156 "text" : "{iface}"
44660702
DM
29157 }
29158 ],
29159 "info" : {
4d47f125
TL
29160 "DELETE" : {
29161 "description" : "Revert network configuration changes.",
29162 "method" : "DELETE",
29163 "name" : "revert_network_changes",
44660702
DM
29164 "parameters" : {
29165 "additionalProperties" : 0,
29166 "properties" : {
29167 "node" : {
29168 "description" : "The cluster node name.",
29169 "format" : "pve-node",
013dc89f
DM
29170 "type" : "string",
29171 "typetext" : "<string>"
44660702
DM
29172 }
29173 }
29174 },
29175 "permissions" : {
29176 "check" : [
29177 "perm",
29178 "/nodes/{node}",
29179 [
4d47f125 29180 "Sys.Modify"
44660702
DM
29181 ]
29182 ]
29183 },
29184 "protected" : 1,
29185 "proxyto" : "node",
4d47f125
TL
29186 "returns" : {
29187 "type" : "null"
29188 }
29189 },
29190 "GET" : {
29191 "description" : "List available networks",
29192 "method" : "GET",
29193 "name" : "index",
29194 "parameters" : {
29195 "additionalProperties" : 0,
29196 "properties" : {
29197 "node" : {
29198 "description" : "The cluster node name.",
29199 "format" : "pve-node",
29200 "type" : "string",
29201 "typetext" : "<string>"
29202 },
29203 "type" : {
29204 "description" : "Only list specific interface types.",
29205 "enum" : [
29206 "bridge",
29207 "bond",
29208 "eth",
29209 "alias",
29210 "vlan",
29211 "OVSBridge",
29212 "OVSBond",
29213 "OVSPort",
29214 "OVSIntPort",
29215 "any_bridge"
29216 ],
29217 "optional" : 1,
29218 "type" : "string"
29219 }
29220 }
29221 },
29222 "permissions" : {
29223 "user" : "all"
29224 },
29225 "proxyto" : "node",
44660702
DM
29226 "returns" : {
29227 "items" : {
29228 "properties" : {},
29229 "type" : "object"
29230 },
29231 "links" : [
29232 {
4d47f125 29233 "href" : "{iface}",
44660702 29234 "rel" : "child"
56122987 29235 }
44660702
DM
29236 ],
29237 "type" : "array"
29238 }
4d47f125
TL
29239 },
29240 "POST" : {
29241 "description" : "Create network device configuration",
29242 "method" : "POST",
29243 "name" : "create_network",
7aacca6f 29244 "parameters" : {
44660702 29245 "additionalProperties" : 0,
7aacca6f 29246 "properties" : {
4d47f125
TL
29247 "address" : {
29248 "description" : "IP address.",
29249 "format" : "ipv4",
29250 "optional" : 1,
29251 "requires" : "netmask",
29252 "type" : "string",
29253 "typetext" : "<string>"
29254 },
29255 "address6" : {
29256 "description" : "IP address.",
29257 "format" : "ipv6",
29258 "optional" : 1,
29259 "requires" : "netmask6",
29260 "type" : "string",
29261 "typetext" : "<string>"
29262 },
29263 "autostart" : {
29264 "description" : "Automatically start interface on boot.",
29265 "optional" : 1,
29266 "type" : "boolean",
29267 "typetext" : "<boolean>"
29268 },
29269 "bond_mode" : {
29270 "description" : "Bonding mode.",
29271 "enum" : [
29272 "balance-rr",
29273 "active-backup",
29274 "balance-xor",
29275 "broadcast",
29276 "802.3ad",
29277 "balance-tlb",
29278 "balance-alb",
29279 "balance-slb",
29280 "lacp-balance-slb",
29281 "lacp-balance-tcp"
29282 ],
29283 "optional" : 1,
29284 "type" : "string"
29285 },
29286 "bond_xmit_hash_policy" : {
29287 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
29288 "enum" : [
29289 "layer2",
29290 "layer2+3",
29291 "layer3+4"
29292 ],
29293 "optional" : 1,
29294 "type" : "string"
29295 },
29296 "bridge_ports" : {
1e3f8156 29297 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
29298 "format" : "pve-iface-list",
29299 "optional" : 1,
013dc89f
DM
29300 "type" : "string",
29301 "typetext" : "<string>"
4d47f125
TL
29302 },
29303 "bridge_vlan_aware" : {
29304 "description" : "Enable bridge vlan support.",
44660702 29305 "optional" : 1,
013dc89f
DM
29306 "type" : "boolean",
29307 "typetext" : "<boolean>"
44660702 29308 },
bb4c8cf8
TL
29309 "cidr" : {
29310 "description" : "IPv4 CIDR.",
29311 "format" : "CIDRv4",
29312 "optional" : 1,
29313 "type" : "string",
29314 "typetext" : "<string>"
29315 },
29316 "cidr6" : {
29317 "description" : "IPv6 CIDR.",
29318 "format" : "CIDRv6",
29319 "optional" : 1,
29320 "type" : "string",
29321 "typetext" : "<string>"
29322 },
4d47f125
TL
29323 "comments" : {
29324 "description" : "Comments",
29325 "optional" : 1,
29326 "type" : "string",
29327 "typetext" : "<string>"
29328 },
29329 "comments6" : {
29330 "description" : "Comments",
29331 "optional" : 1,
29332 "type" : "string",
29333 "typetext" : "<string>"
29334 },
29335 "gateway" : {
29336 "description" : "Default gateway address.",
29337 "format" : "ipv4",
29338 "optional" : 1,
29339 "type" : "string",
29340 "typetext" : "<string>"
29341 },
29342 "gateway6" : {
29343 "description" : "Default ipv6 gateway address.",
29344 "format" : "ipv6",
29345 "optional" : 1,
29346 "type" : "string",
29347 "typetext" : "<string>"
29348 },
29349 "iface" : {
29350 "description" : "Network interface name.",
29351 "format" : "pve-iface",
29352 "maxLength" : 20,
29353 "minLength" : 2,
29354 "type" : "string",
29355 "typetext" : "<string>"
29356 },
29357 "netmask" : {
29358 "description" : "Network mask.",
29359 "format" : "ipv4mask",
29360 "optional" : 1,
29361 "requires" : "address",
29362 "type" : "string",
29363 "typetext" : "<string>"
29364 },
29365 "netmask6" : {
29366 "description" : "Network mask.",
29367 "maximum" : 128,
29368 "minimum" : 0,
29369 "optional" : 1,
29370 "requires" : "address6",
29371 "type" : "integer",
29372 "typetext" : "<integer> (0 - 128)"
29373 },
7aacca6f 29374 "node" : {
7aacca6f 29375 "description" : "The cluster node name.",
44660702 29376 "format" : "pve-node",
013dc89f
DM
29377 "type" : "string",
29378 "typetext" : "<string>"
4d47f125
TL
29379 },
29380 "ovs_bonds" : {
29381 "description" : "Specify the interfaces used by the bonding device.",
29382 "format" : "pve-iface-list",
29383 "optional" : 1,
29384 "type" : "string",
29385 "typetext" : "<string>"
29386 },
29387 "ovs_bridge" : {
29388 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
29389 "format" : "pve-iface",
29390 "optional" : 1,
29391 "type" : "string",
29392 "typetext" : "<string>"
29393 },
29394 "ovs_options" : {
29395 "description" : "OVS interface options.",
29396 "maxLength" : 1024,
29397 "optional" : 1,
29398 "type" : "string",
29399 "typetext" : "<string>"
29400 },
29401 "ovs_ports" : {
1e3f8156 29402 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
29403 "format" : "pve-iface-list",
29404 "optional" : 1,
29405 "type" : "string",
29406 "typetext" : "<string>"
29407 },
29408 "ovs_tag" : {
29409 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
29410 "maximum" : 4094,
29411 "minimum" : 1,
29412 "optional" : 1,
29413 "type" : "integer",
29414 "typetext" : "<integer> (1 - 4094)"
29415 },
29416 "slaves" : {
29417 "description" : "Specify the interfaces used by the bonding device.",
29418 "format" : "pve-iface-list",
29419 "optional" : 1,
29420 "type" : "string",
29421 "typetext" : "<string>"
29422 },
29423 "type" : {
29424 "description" : "Network interface type",
29425 "enum" : [
29426 "bridge",
29427 "bond",
29428 "eth",
29429 "alias",
29430 "vlan",
29431 "OVSBridge",
29432 "OVSBond",
29433 "OVSPort",
29434 "OVSIntPort",
29435 "unknown"
29436 ],
29437 "type" : "string"
7aacca6f
DM
29438 }
29439 }
29440 },
35a75dd3
DM
29441 "permissions" : {
29442 "check" : [
29443 "perm",
29444 "/nodes/{node}",
29445 [
29446 "Sys.Modify"
29447 ]
29448 ]
29449 },
7aacca6f 29450 "protected" : 1,
7aacca6f 29451 "proxyto" : "node",
44660702
DM
29452 "returns" : {
29453 "type" : "null"
29454 }
29455 },
29456 "PUT" : {
4d47f125 29457 "description" : "Reload network configuration",
44660702 29458 "method" : "PUT",
4d47f125 29459 "name" : "reload_network_config",
7aacca6f
DM
29460 "parameters" : {
29461 "additionalProperties" : 0,
29462 "properties" : {
7aacca6f 29463 "node" : {
7aacca6f 29464 "description" : "The cluster node name.",
44660702 29465 "format" : "pve-node",
013dc89f
DM
29466 "type" : "string",
29467 "typetext" : "<string>"
7aacca6f
DM
29468 }
29469 }
29470 },
35a75dd3
DM
29471 "permissions" : {
29472 "check" : [
29473 "perm",
29474 "/nodes/{node}",
29475 [
29476 "Sys.Modify"
29477 ]
29478 ]
29479 },
44660702
DM
29480 "protected" : 1,
29481 "proxyto" : "node",
7aacca6f 29482 "returns" : {
4d47f125 29483 "type" : "string"
44660702 29484 }
7aacca6f
DM
29485 }
29486 },
4d47f125
TL
29487 "leaf" : 0,
29488 "path" : "/nodes/{node}/network",
29489 "text" : "network"
7aacca6f
DM
29490 },
29491 {
7aacca6f
DM
29492 "children" : [
29493 {
4d47f125
TL
29494 "children" : [
29495 {
29496 "info" : {
29497 "GET" : {
29498 "description" : "Read task log.",
29499 "method" : "GET",
29500 "name" : "read_task_log",
29501 "parameters" : {
29502 "additionalProperties" : 0,
29503 "properties" : {
29504 "limit" : {
29505 "default" : 50,
29506 "minimum" : 0,
29507 "optional" : 1,
29508 "type" : "integer",
29509 "typetext" : "<integer> (0 - N)"
29510 },
29511 "node" : {
29512 "description" : "The cluster node name.",
29513 "format" : "pve-node",
29514 "type" : "string",
29515 "typetext" : "<string>"
29516 },
29517 "start" : {
29518 "default" : 0,
29519 "minimum" : 0,
29520 "optional" : 1,
29521 "type" : "integer",
29522 "typetext" : "<integer> (0 - N)"
29523 },
29524 "upid" : {
29525 "type" : "string",
29526 "typetext" : "<string>"
29527 }
29528 }
29529 },
29530 "permissions" : {
29531 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
29532 "user" : "all"
29533 },
29534 "protected" : 1,
29535 "proxyto" : "node",
29536 "returns" : {
29537 "items" : {
29538 "properties" : {
29539 "n" : {
29540 "description" : "Line number",
29541 "type" : "integer"
29542 },
29543 "t" : {
29544 "description" : "Line text",
29545 "type" : "string"
29546 }
29547 },
29548 "type" : "object"
29549 },
29550 "type" : "array"
29551 }
29552 }
29553 },
29554 "leaf" : 1,
29555 "path" : "/nodes/{node}/tasks/{upid}/log",
29556 "text" : "log"
29557 },
29558 {
29559 "info" : {
29560 "GET" : {
29561 "description" : "Read task status.",
29562 "method" : "GET",
29563 "name" : "read_task_status",
29564 "parameters" : {
29565 "additionalProperties" : 0,
29566 "properties" : {
29567 "node" : {
29568 "description" : "The cluster node name.",
29569 "format" : "pve-node",
29570 "type" : "string",
29571 "typetext" : "<string>"
29572 },
29573 "upid" : {
29574 "type" : "string",
29575 "typetext" : "<string>"
29576 }
29577 }
29578 },
29579 "permissions" : {
29580 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
29581 "user" : "all"
29582 },
29583 "protected" : 1,
29584 "proxyto" : "node",
29585 "returns" : {
29586 "properties" : {
29587 "pid" : {
29588 "type" : "integer"
29589 },
29590 "status" : {
29591 "enum" : [
29592 "running",
29593 "stopped"
29594 ],
29595 "type" : "string"
29596 }
29597 },
29598 "type" : "object"
29599 }
29600 }
29601 },
29602 "leaf" : 1,
29603 "path" : "/nodes/{node}/tasks/{upid}/status",
29604 "text" : "status"
29605 }
29606 ],
56122987 29607 "info" : {
7aacca6f 29608 "DELETE" : {
4d47f125 29609 "description" : "Stop a task.",
44660702 29610 "method" : "DELETE",
4d47f125 29611 "name" : "stop_task",
44660702
DM
29612 "parameters" : {
29613 "additionalProperties" : 0,
29614 "properties" : {
44660702
DM
29615 "node" : {
29616 "description" : "The cluster node name.",
29617 "format" : "pve-node",
013dc89f
DM
29618 "type" : "string",
29619 "typetext" : "<string>"
4d47f125
TL
29620 },
29621 "upid" : {
29622 "type" : "string",
29623 "typetext" : "<string>"
44660702
DM
29624 }
29625 }
7aacca6f
DM
29626 },
29627 "permissions" : {
4d47f125
TL
29628 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
29629 "user" : "all"
7aacca6f 29630 },
44660702 29631 "protected" : 1,
7aacca6f 29632 "proxyto" : "node",
44660702
DM
29633 "returns" : {
29634 "type" : "null"
29635 }
29636 },
29637 "GET" : {
4d47f125 29638 "description" : "",
44660702 29639 "method" : "GET",
4d47f125 29640 "name" : "upid_index",
7aacca6f
DM
29641 "parameters" : {
29642 "additionalProperties" : 0,
29643 "properties" : {
7aacca6f 29644 "node" : {
44660702 29645 "description" : "The cluster node name.",
7aacca6f 29646 "format" : "pve-node",
013dc89f
DM
29647 "type" : "string",
29648 "typetext" : "<string>"
7aacca6f 29649 },
4d47f125
TL
29650 "upid" : {
29651 "type" : "string",
29652 "typetext" : "<string>"
7aacca6f
DM
29653 }
29654 }
29655 },
7aacca6f 29656 "permissions" : {
4d47f125 29657 "user" : "all"
7aacca6f
DM
29658 },
29659 "returns" : {
4d47f125
TL
29660 "items" : {
29661 "properties" : {},
29662 "type" : "object"
29663 },
29664 "links" : [
29665 {
29666 "href" : "{name}",
29667 "rel" : "child"
29668 }
29669 ],
29670 "type" : "array"
44660702 29671 }
7aacca6f
DM
29672 }
29673 },
4d47f125
TL
29674 "leaf" : 0,
29675 "path" : "/nodes/{node}/tasks/{upid}",
29676 "text" : "{upid}"
7aacca6f
DM
29677 }
29678 ],
7aacca6f 29679 "info" : {
44660702 29680 "GET" : {
4d47f125 29681 "description" : "Read task list for one node (finished tasks).",
44660702 29682 "method" : "GET",
4d47f125 29683 "name" : "node_tasks",
44660702
DM
29684 "parameters" : {
29685 "additionalProperties" : 0,
29686 "properties" : {
4d47f125
TL
29687 "errors" : {
29688 "default" : 0,
7aacca6f 29689 "optional" : 1,
4d47f125
TL
29690 "type" : "boolean",
29691 "typetext" : "<boolean>"
7aacca6f 29692 },
4d47f125
TL
29693 "limit" : {
29694 "default" : 50,
29695 "description" : "Only list this amount of tasks.",
29696 "minimum" : 0,
44660702 29697 "optional" : 1,
4d47f125
TL
29698 "type" : "integer",
29699 "typetext" : "<integer> (0 - N)"
29700 },
29701 "node" : {
29702 "description" : "The cluster node name.",
29703 "format" : "pve-node",
013dc89f
DM
29704 "type" : "string",
29705 "typetext" : "<string>"
44660702 29706 },
5f26e15b
TL
29707 "source" : {
29708 "default" : "archive",
29709 "description" : "List archived, active or all tasks.",
29710 "enum" : [
29711 "archive",
29712 "active",
29713 "all"
29714 ],
29715 "optional" : 1,
29716 "type" : "string"
29717 },
4d47f125
TL
29718 "start" : {
29719 "default" : 0,
29720 "description" : "List tasks beginning from this offset.",
29721 "minimum" : 0,
44660702 29722 "optional" : 1,
4d47f125
TL
29723 "type" : "integer",
29724 "typetext" : "<integer> (0 - N)"
44660702 29725 },
5f26e15b
TL
29726 "typefilter" : {
29727 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
29728 "optional" : 1,
29729 "type" : "string",
29730 "typetext" : "<string>"
29731 },
4d47f125
TL
29732 "userfilter" : {
29733 "description" : "Only list tasks from this user.",
44660702 29734 "optional" : 1,
013dc89f
DM
29735 "type" : "string",
29736 "typetext" : "<string>"
44660702 29737 },
4d47f125
TL
29738 "vmid" : {
29739 "description" : "Only list tasks for this VM.",
29740 "format" : "pve-vmid",
44660702
DM
29741 "minimum" : 1,
29742 "optional" : 1,
4bd7df8b 29743 "type" : "integer",
4d47f125
TL
29744 "typetext" : "<integer> (1 - N)"
29745 }
29746 }
29747 },
29748 "permissions" : {
29749 "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).",
29750 "user" : "all"
29751 },
29752 "proxyto" : "node",
29753 "returns" : {
29754 "items" : {
29755 "properties" : {
29756 "endtime" : {
29757 "optional" : 1,
29758 "title" : "Endtime",
29759 "type" : "integer"
29760 },
29761 "id" : {
4d47f125
TL
29762 "title" : "ID",
29763 "type" : "string"
29764 },
29765 "node" : {
4d47f125
TL
29766 "title" : "Node",
29767 "type" : "string"
29768 },
29769 "pid" : {
4d47f125
TL
29770 "title" : "PID",
29771 "type" : "integer"
29772 },
29773 "pstart" : {
4d47f125
TL
29774 "type" : "integer"
29775 },
29776 "starttime" : {
4d47f125
TL
29777 "title" : "Starttime",
29778 "type" : "integer"
29779 },
29780 "status" : {
29781 "optional" : 1,
29782 "title" : "Status",
29783 "type" : "string"
29784 },
29785 "type" : {
4d47f125
TL
29786 "title" : "Type",
29787 "type" : "string"
29788 },
29789 "upid" : {
29790 "title" : "UPID",
29791 "type" : "string"
29792 },
29793 "user" : {
4d47f125
TL
29794 "title" : "User",
29795 "type" : "string"
29796 }
44660702 29797 },
4d47f125
TL
29798 "type" : "object"
29799 },
29800 "links" : [
29801 {
29802 "href" : "{upid}",
29803 "rel" : "child"
29804 }
29805 ],
29806 "type" : "array"
29807 }
29808 }
29809 },
29810 "leaf" : 0,
29811 "path" : "/nodes/{node}/tasks",
29812 "text" : "tasks"
29813 },
29814 {
29815 "children" : [
29816 {
29817 "info" : {
29818 "GET" : {
29819 "description" : "Scan zfs pool list on local node.",
29820 "method" : "GET",
29821 "name" : "zfsscan",
29822 "parameters" : {
29823 "additionalProperties" : 0,
29824 "properties" : {
29825 "node" : {
29826 "description" : "The cluster node name.",
29827 "format" : "pve-node",
29828 "type" : "string",
29829 "typetext" : "<string>"
29830 }
29831 }
44660702 29832 },
4d47f125
TL
29833 "permissions" : {
29834 "check" : [
29835 "perm",
29836 "/storage",
29837 [
29838 "Datastore.Allocate"
29839 ]
29840 ]
29841 },
29842 "protected" : 1,
29843 "proxyto" : "node",
29844 "returns" : {
29845 "items" : {
29846 "properties" : {
29847 "pool" : {
29848 "description" : "ZFS pool name.",
29849 "type" : "string"
29850 }
29851 },
29852 "type" : "object"
29853 },
29854 "type" : "array"
29855 }
29856 }
29857 },
29858 "leaf" : 1,
29859 "path" : "/nodes/{node}/scan/zfs",
29860 "text" : "zfs"
29861 },
29862 {
29863 "info" : {
29864 "GET" : {
29865 "description" : "Scan remote NFS server.",
29866 "method" : "GET",
29867 "name" : "nfsscan",
29868 "parameters" : {
29869 "additionalProperties" : 0,
29870 "properties" : {
29871 "node" : {
29872 "description" : "The cluster node name.",
29873 "format" : "pve-node",
29874 "type" : "string",
29875 "typetext" : "<string>"
29876 },
29877 "server" : {
29878 "description" : "The server address (name or IP).",
29879 "format" : "pve-storage-server",
29880 "type" : "string",
29881 "typetext" : "<string>"
29882 }
29883 }
29884 },
29885 "permissions" : {
29886 "check" : [
29887 "perm",
29888 "/storage",
29889 [
29890 "Datastore.Allocate"
29891 ]
29892 ]
29893 },
29894 "protected" : 1,
29895 "proxyto" : "node",
29896 "returns" : {
29897 "items" : {
29898 "properties" : {
29899 "options" : {
29900 "description" : "NFS export options.",
29901 "type" : "string"
29902 },
29903 "path" : {
29904 "description" : "The exported path.",
29905 "type" : "string"
29906 }
29907 },
29908 "type" : "object"
29909 },
29910 "type" : "array"
29911 }
29912 }
29913 },
29914 "leaf" : 1,
29915 "path" : "/nodes/{node}/scan/nfs",
29916 "text" : "nfs"
29917 },
29918 {
29919 "info" : {
29920 "GET" : {
29921 "description" : "Scan remote CIFS server.",
29922 "method" : "GET",
29923 "name" : "cifsscan",
29924 "parameters" : {
29925 "additionalProperties" : 0,
29926 "properties" : {
29927 "domain" : {
29928 "description" : "SMB domain (Workgroup).",
29929 "optional" : 1,
29930 "type" : "string",
29931 "typetext" : "<string>"
29932 },
29933 "node" : {
29934 "description" : "The cluster node name.",
29935 "format" : "pve-node",
29936 "type" : "string",
29937 "typetext" : "<string>"
29938 },
29939 "password" : {
29940 "description" : "User password.",
29941 "optional" : 1,
29942 "type" : "string",
29943 "typetext" : "<string>"
29944 },
29945 "server" : {
29946 "description" : "The server address (name or IP).",
29947 "format" : "pve-storage-server",
29948 "type" : "string",
29949 "typetext" : "<string>"
29950 },
29951 "username" : {
29952 "description" : "User name.",
29953 "optional" : 1,
29954 "type" : "string",
29955 "typetext" : "<string>"
29956 }
29957 }
29958 },
29959 "permissions" : {
29960 "check" : [
29961 "perm",
29962 "/storage",
29963 [
29964 "Datastore.Allocate"
29965 ]
29966 ]
29967 },
29968 "protected" : 1,
29969 "proxyto" : "node",
29970 "returns" : {
29971 "items" : {
29972 "properties" : {
29973 "description" : {
29974 "description" : "Descriptive text from server.",
29975 "type" : "string"
29976 },
29977 "share" : {
29978 "description" : "The cifs share name.",
29979 "type" : "string"
29980 }
29981 },
29982 "type" : "object"
29983 },
29984 "type" : "array"
56122987 29985 }
44660702 29986 }
56122987 29987 },
4d47f125
TL
29988 "leaf" : 1,
29989 "path" : "/nodes/{node}/scan/cifs",
29990 "text" : "cifs"
29991 },
44660702 29992 {
4d47f125
TL
29993 "info" : {
29994 "GET" : {
29995 "description" : "Scan remote GlusterFS server.",
29996 "method" : "GET",
29997 "name" : "glusterfsscan",
29998 "parameters" : {
29999 "additionalProperties" : 0,
30000 "properties" : {
30001 "node" : {
30002 "description" : "The cluster node name.",
30003 "format" : "pve-node",
30004 "type" : "string",
30005 "typetext" : "<string>"
7aacca6f 30006 },
4d47f125
TL
30007 "server" : {
30008 "description" : "The server address (name or IP).",
30009 "format" : "pve-storage-server",
30010 "type" : "string",
30011 "typetext" : "<string>"
44660702 30012 }
7aacca6f 30013 }
56122987 30014 },
4d47f125
TL
30015 "permissions" : {
30016 "check" : [
30017 "perm",
30018 "/storage",
30019 [
30020 "Datastore.Allocate"
30021 ]
30022 ]
30023 },
30024 "protected" : 1,
30025 "proxyto" : "node",
30026 "returns" : {
30027 "items" : {
30028 "properties" : {
30029 "volname" : {
30030 "description" : "The volume name.",
30031 "type" : "string"
7aacca6f
DM
30032 }
30033 },
4d47f125
TL
30034 "type" : "object"
30035 },
30036 "type" : "array"
30037 }
30038 }
30039 },
30040 "leaf" : 1,
30041 "path" : "/nodes/{node}/scan/glusterfs",
30042 "text" : "glusterfs"
30043 },
30044 {
30045 "info" : {
30046 "GET" : {
30047 "description" : "Scan remote iSCSI server.",
30048 "method" : "GET",
30049 "name" : "iscsiscan",
30050 "parameters" : {
30051 "additionalProperties" : 0,
30052 "properties" : {
30053 "node" : {
30054 "description" : "The cluster node name.",
30055 "format" : "pve-node",
30056 "type" : "string",
30057 "typetext" : "<string>"
56122987 30058 },
4d47f125
TL
30059 "portal" : {
30060 "description" : "The iSCSI portal (IP or DNS name with optional port).",
30061 "format" : "pve-storage-portal-dns",
30062 "type" : "string",
30063 "typetext" : "<string>"
30064 }
30065 }
30066 },
30067 "permissions" : {
30068 "check" : [
30069 "perm",
30070 "/storage",
30071 [
30072 "Datastore.Allocate"
30073 ]
30074 ]
30075 },
30076 "protected" : 1,
30077 "proxyto" : "node",
30078 "returns" : {
30079 "items" : {
30080 "properties" : {
30081 "portal" : {
30082 "description" : "The iSCSI portal name.",
30083 "type" : "string"
7aacca6f 30084 },
4d47f125
TL
30085 "target" : {
30086 "description" : "The iSCSI target name.",
30087 "type" : "string"
30088 }
30089 },
30090 "type" : "object"
30091 },
30092 "type" : "array"
30093 }
30094 }
30095 },
30096 "leaf" : 1,
30097 "path" : "/nodes/{node}/scan/iscsi",
30098 "text" : "iscsi"
30099 },
30100 {
30101 "info" : {
30102 "GET" : {
30103 "description" : "List local LVM volume groups.",
30104 "method" : "GET",
30105 "name" : "lvmscan",
30106 "parameters" : {
30107 "additionalProperties" : 0,
30108 "properties" : {
30109 "node" : {
30110 "description" : "The cluster node name.",
30111 "format" : "pve-node",
30112 "type" : "string",
30113 "typetext" : "<string>"
56122987 30114 }
7aacca6f 30115 }
44660702 30116 },
4d47f125
TL
30117 "permissions" : {
30118 "check" : [
30119 "perm",
30120 "/storage",
30121 [
30122 "Datastore.Allocate"
30123 ]
30124 ]
30125 },
30126 "protected" : 1,
30127 "proxyto" : "node",
30128 "returns" : {
30129 "items" : {
30130 "properties" : {
30131 "vg" : {
30132 "description" : "The LVM logical volume group name.",
30133 "type" : "string"
30134 }
30135 },
30136 "type" : "object"
30137 },
30138 "type" : "array"
30139 }
56122987 30140 }
4d47f125
TL
30141 },
30142 "leaf" : 1,
30143 "path" : "/nodes/{node}/scan/lvm",
30144 "text" : "lvm"
30145 },
30146 {
44660702 30147 "info" : {
4d47f125
TL
30148 "GET" : {
30149 "description" : "List local LVM Thin Pools.",
30150 "method" : "GET",
30151 "name" : "lvmthinscan",
44660702
DM
30152 "parameters" : {
30153 "additionalProperties" : 0,
30154 "properties" : {
30155 "node" : {
30156 "description" : "The cluster node name.",
30157 "format" : "pve-node",
013dc89f
DM
30158 "type" : "string",
30159 "typetext" : "<string>"
44660702 30160 },
4d47f125
TL
30161 "vg" : {
30162 "maxLength" : 100,
30163 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
30164 "type" : "string"
44660702 30165 }
7aacca6f 30166 }
44660702
DM
30167 },
30168 "permissions" : {
4d47f125
TL
30169 "check" : [
30170 "perm",
30171 "/storage",
30172 [
30173 "Datastore.Allocate"
30174 ]
30175 ]
44660702
DM
30176 },
30177 "protected" : 1,
30178 "proxyto" : "node",
30179 "returns" : {
4d47f125
TL
30180 "items" : {
30181 "properties" : {
30182 "lv" : {
30183 "description" : "The LVM Thin Pool name (LVM logical volume).",
30184 "type" : "string"
30185 }
30186 },
30187 "type" : "object"
30188 },
30189 "type" : "array"
7aacca6f 30190 }
4d47f125
TL
30191 }
30192 },
30193 "leaf" : 1,
30194 "path" : "/nodes/{node}/scan/lvmthin",
30195 "text" : "lvmthin"
30196 },
30197 {
30198 "info" : {
44660702 30199 "GET" : {
4d47f125 30200 "description" : "List local USB devices.",
44660702 30201 "method" : "GET",
4d47f125 30202 "name" : "usbscan",
44660702
DM
30203 "parameters" : {
30204 "additionalProperties" : 0,
30205 "properties" : {
30206 "node" : {
30207 "description" : "The cluster node name.",
30208 "format" : "pve-node",
013dc89f
DM
30209 "type" : "string",
30210 "typetext" : "<string>"
44660702
DM
30211 }
30212 }
30213 },
30214 "permissions" : {
4d47f125
TL
30215 "check" : [
30216 "perm",
30217 "/",
30218 [
30219 "Sys.Modify"
30220 ]
30221 ]
44660702 30222 },
4d47f125
TL
30223 "protected" : 1,
30224 "proxyto" : "node",
44660702
DM
30225 "returns" : {
30226 "items" : {
4d47f125
TL
30227 "properties" : {
30228 "busnum" : {
30229 "type" : "integer"
30230 },
30231 "class" : {
30232 "type" : "integer"
30233 },
30234 "devnum" : {
30235 "type" : "integer"
30236 },
30237 "level" : {
30238 "type" : "integer"
30239 },
30240 "manufacturer" : {
30241 "optional" : 1,
30242 "type" : "string"
30243 },
30244 "port" : {
30245 "type" : "integer"
30246 },
30247 "prodid" : {
30248 "type" : "string"
30249 },
30250 "product" : {
30251 "optional" : 1,
30252 "type" : "string"
30253 },
30254 "serial" : {
30255 "optional" : 1,
30256 "type" : "string"
30257 },
30258 "speed" : {
30259 "type" : "string"
30260 },
30261 "usbpath" : {
30262 "optional" : 1,
30263 "type" : "string"
30264 },
30265 "vendid" : {
30266 "type" : "string"
30267 }
30268 },
44660702
DM
30269 "type" : "object"
30270 },
44660702 30271 "type" : "array"
56122987 30272 }
44660702 30273 }
56122987 30274 },
4d47f125
TL
30275 "leaf" : 1,
30276 "path" : "/nodes/{node}/scan/usb",
30277 "text" : "usb"
44660702
DM
30278 }
30279 ],
30280 "info" : {
30281 "GET" : {
4d47f125 30282 "description" : "Index of available scan methods",
44660702 30283 "method" : "GET",
4d47f125 30284 "name" : "index",
56122987 30285 "parameters" : {
7aacca6f 30286 "additionalProperties" : 0,
56122987 30287 "properties" : {
56122987
DM
30288 "node" : {
30289 "description" : "The cluster node name.",
44660702 30290 "format" : "pve-node",
013dc89f
DM
30291 "type" : "string",
30292 "typetext" : "<string>"
56122987
DM
30293 }
30294 }
30295 },
7aacca6f
DM
30296 "permissions" : {
30297 "user" : "all"
30298 },
56122987
DM
30299 "returns" : {
30300 "items" : {
30301 "properties" : {
4d47f125 30302 "method" : {
56122987
DM
30303 "type" : "string"
30304 }
30305 },
30306 "type" : "object"
30307 },
56122987
DM
30308 "links" : [
30309 {
4d47f125 30310 "href" : "{method}",
44660702 30311 "rel" : "child"
56122987 30312 }
44660702
DM
30313 ],
30314 "type" : "array"
56122987
DM
30315 }
30316 }
30317 },
44660702 30318 "leaf" : 0,
4d47f125
TL
30319 "path" : "/nodes/{node}/scan",
30320 "text" : "scan"
44660702 30321 },
e2d681b3
TL
30322 {
30323 "children" : [
30324 {
30325 "children" : [
30326 {
30327 "children" : [
30328 {
30329 "info" : {
30330 "GET" : {
30331 "description" : "List mediated device types for given PCI device.",
30332 "method" : "GET",
30333 "name" : "mdevscan",
30334 "parameters" : {
30335 "additionalProperties" : 0,
30336 "properties" : {
30337 "node" : {
30338 "description" : "The cluster node name.",
30339 "format" : "pve-node",
30340 "type" : "string",
30341 "typetext" : "<string>"
30342 },
30343 "pciid" : {
30344 "description" : "The PCI ID to list the mdev types for.",
30345 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
30346 "type" : "string"
30347 }
30348 }
30349 },
30350 "permissions" : {
30351 "check" : [
30352 "perm",
30353 "/",
30354 [
30355 "Sys.Modify"
30356 ]
30357 ]
30358 },
30359 "protected" : 1,
30360 "proxyto" : "node",
30361 "returns" : {
30362 "items" : {
30363 "properties" : {
30364 "available" : {
30365 "description" : "The number of still available instances of this type.",
30366 "type" : "integer"
30367 },
30368 "description" : {
30369 "type" : "string"
30370 },
30371 "type" : {
30372 "description" : "The name of the mdev type.",
30373 "type" : "string"
30374 }
30375 },
30376 "type" : "object"
30377 },
30378 "type" : "array"
30379 }
30380 }
30381 },
30382 "leaf" : 1,
30383 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
30384 "text" : "mdev"
30385 }
30386 ],
30387 "info" : {
30388 "GET" : {
30389 "description" : "Index of available pci methods",
30390 "method" : "GET",
30391 "name" : "pciindex",
30392 "parameters" : {
30393 "additionalProperties" : 0,
30394 "properties" : {
30395 "node" : {
30396 "description" : "The cluster node name.",
30397 "format" : "pve-node",
30398 "type" : "string",
30399 "typetext" : "<string>"
30400 },
30401 "pciid" : {
30402 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
30403 "type" : "string"
30404 }
30405 }
30406 },
30407 "permissions" : {
30408 "user" : "all"
30409 },
30410 "returns" : {
30411 "items" : {
30412 "properties" : {
30413 "method" : {
30414 "type" : "string"
30415 }
30416 },
30417 "type" : "object"
30418 },
30419 "links" : [
30420 {
30421 "href" : "{method}",
30422 "rel" : "child"
30423 }
30424 ],
30425 "type" : "array"
30426 }
30427 }
30428 },
30429 "leaf" : 0,
30430 "path" : "/nodes/{node}/hardware/pci/{pciid}",
30431 "text" : "{pciid}"
30432 }
30433 ],
30434 "info" : {
30435 "GET" : {
30436 "description" : "List local PCI devices.",
30437 "method" : "GET",
30438 "name" : "pciscan",
30439 "parameters" : {
30440 "additionalProperties" : 0,
30441 "properties" : {
30442 "node" : {
30443 "description" : "The cluster node name.",
30444 "format" : "pve-node",
30445 "type" : "string",
30446 "typetext" : "<string>"
30447 },
30448 "pci-class-blacklist" : {
30449 "default" : "05;06;08;0b",
30450 "description" : "A list of blacklisted PCI classes, which will not be returned. Following are filtered by default: Memory Controller (05), Bridge (06), Generic System Peripheral (08) and Processor (0b).",
30451 "format" : "string-list",
30452 "optional" : 1,
30453 "type" : "string",
30454 "typetext" : "<string>"
30455 },
30456 "verbose" : {
30457 "default" : 1,
30458 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
30459 "optional" : 1,
30460 "type" : "boolean",
30461 "typetext" : "<boolean>"
30462 }
30463 }
30464 },
30465 "permissions" : {
30466 "check" : [
30467 "perm",
30468 "/",
30469 [
30470 "Sys.Modify"
30471 ]
30472 ]
30473 },
30474 "protected" : 1,
30475 "proxyto" : "node",
30476 "returns" : {
30477 "items" : {
30478 "properties" : {
30479 "class" : {
30480 "description" : "The PCI Class of the device.",
30481 "type" : "string"
30482 },
30483 "device" : {
30484 "description" : "The Device ID.",
30485 "type" : "string"
30486 },
30487 "device_name" : {
30488 "optional" : 1,
30489 "type" : "string"
30490 },
30491 "id" : {
30492 "description" : "The PCI ID.",
30493 "type" : "string"
30494 },
30495 "iommugroup" : {
30496 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
30497 "type" : "integer"
30498 },
30499 "mdev" : {
30500 "description" : "If set, marks that the device is capable of creating mediated devices.",
30501 "optional" : 1,
30502 "type" : "boolean"
30503 },
30504 "subsystem_device" : {
30505 "description" : "The Subsystem Device ID.",
30506 "optional" : 1,
30507 "type" : "string"
30508 },
30509 "subsystem_device_name" : {
30510 "optional" : 1,
30511 "type" : "string"
30512 },
30513 "subsystem_vendor" : {
30514 "description" : "The Subsystem Vendor ID.",
30515 "optional" : 1,
30516 "type" : "string"
30517 },
30518 "subsystem_vendor_name" : {
30519 "optional" : 1,
30520 "type" : "string"
30521 },
30522 "vendor" : {
30523 "description" : "The Vendor ID.",
30524 "type" : "string"
30525 },
30526 "vendor_name" : {
30527 "optional" : 1,
30528 "type" : "string"
30529 }
30530 },
30531 "type" : "object"
30532 },
30533 "links" : [
30534 {
30535 "href" : "{id}",
30536 "rel" : "child"
30537 }
30538 ],
30539 "type" : "array"
30540 }
30541 }
30542 },
30543 "leaf" : 0,
30544 "path" : "/nodes/{node}/hardware/pci",
30545 "text" : "pci"
30546 }
30547 ],
30548 "info" : {
30549 "GET" : {
30550 "description" : "Index of hardware types",
30551 "method" : "GET",
30552 "name" : "index",
30553 "parameters" : {
30554 "additionalProperties" : 0,
30555 "properties" : {
30556 "node" : {
30557 "description" : "The cluster node name.",
30558 "format" : "pve-node",
30559 "type" : "string",
30560 "typetext" : "<string>"
30561 }
30562 }
30563 },
30564 "permissions" : {
30565 "user" : "all"
30566 },
30567 "returns" : {
30568 "items" : {
30569 "properties" : {
30570 "type" : {
30571 "type" : "string"
30572 }
30573 },
30574 "type" : "object"
30575 },
30576 "links" : [
30577 {
30578 "href" : "{type}",
30579 "rel" : "child"
30580 }
30581 ],
30582 "type" : "array"
30583 }
30584 }
30585 },
30586 "leaf" : 0,
30587 "path" : "/nodes/{node}/hardware",
30588 "text" : "hardware"
30589 },
44660702 30590 {
56122987
DM
30591 "children" : [
30592 {
4d47f125
TL
30593 "children" : [
30594 {
30595 "children" : [
30596 {
30597 "info" : {
30598 "DELETE" : {
30599 "description" : "Delete volume",
30600 "method" : "DELETE",
30601 "name" : "delete",
30602 "parameters" : {
30603 "additionalProperties" : 0,
30604 "properties" : {
1c532546
TL
30605 "delay" : {
30606 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
30607 "maximum" : 30,
30608 "minimum" : 1,
30609 "optional" : 1,
30610 "type" : "integer",
30611 "typetext" : "<integer> (1 - 30)"
30612 },
4d47f125
TL
30613 "node" : {
30614 "description" : "The cluster node name.",
30615 "format" : "pve-node",
30616 "type" : "string",
30617 "typetext" : "<string>"
30618 },
30619 "storage" : {
30620 "description" : "The storage identifier.",
30621 "format" : "pve-storage-id",
30622 "optional" : 1,
30623 "type" : "string",
30624 "typetext" : "<string>"
30625 },
30626 "volume" : {
30627 "description" : "Volume identifier",
30628 "type" : "string",
30629 "typetext" : "<string>"
30630 }
30631 }
30632 },
30633 "permissions" : {
30634 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
30635 "user" : "all"
30636 },
30637 "protected" : 1,
30638 "proxyto" : "node",
30639 "returns" : {
1c532546
TL
30640 "optional" : 1,
30641 "type" : "string"
4d47f125
TL
30642 }
30643 },
30644 "GET" : {
30645 "description" : "Get volume attributes",
30646 "method" : "GET",
30647 "name" : "info",
30648 "parameters" : {
30649 "additionalProperties" : 0,
30650 "properties" : {
30651 "node" : {
30652 "description" : "The cluster node name.",
30653 "format" : "pve-node",
30654 "type" : "string",
30655 "typetext" : "<string>"
30656 },
30657 "storage" : {
30658 "description" : "The storage identifier.",
30659 "format" : "pve-storage-id",
30660 "optional" : 1,
30661 "type" : "string",
30662 "typetext" : "<string>"
30663 },
30664 "volume" : {
30665 "description" : "Volume identifier",
30666 "type" : "string",
30667 "typetext" : "<string>"
30668 }
30669 }
30670 },
30671 "permissions" : {
30672 "description" : "You need read access for the volume.",
30673 "user" : "all"
30674 },
30675 "protected" : 1,
30676 "proxyto" : "node",
30677 "returns" : {
30678 "type" : "object"
30679 }
30680 },
30681 "POST" : {
30682 "description" : "Copy a volume. This is experimental code - do not use.",
30683 "method" : "POST",
30684 "name" : "copy",
30685 "parameters" : {
30686 "additionalProperties" : 0,
30687 "properties" : {
30688 "node" : {
30689 "description" : "The cluster node name.",
30690 "format" : "pve-node",
30691 "type" : "string",
30692 "typetext" : "<string>"
30693 },
30694 "storage" : {
30695 "description" : "The storage identifier.",
30696 "format" : "pve-storage-id",
30697 "optional" : 1,
30698 "type" : "string",
30699 "typetext" : "<string>"
30700 },
30701 "target" : {
30702 "description" : "Target volume identifier",
30703 "type" : "string",
30704 "typetext" : "<string>"
30705 },
30706 "target_node" : {
30707 "description" : "Target node. Default is local node.",
30708 "format" : "pve-node",
30709 "optional" : 1,
30710 "type" : "string",
30711 "typetext" : "<string>"
30712 },
30713 "volume" : {
30714 "description" : "Source volume identifier",
30715 "type" : "string",
30716 "typetext" : "<string>"
30717 }
30718 }
30719 },
30720 "protected" : 1,
30721 "proxyto" : "node",
30722 "returns" : {
30723 "type" : "string"
30724 }
30725 }
30726 },
30727 "leaf" : 1,
30728 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
30729 "text" : "{volume}"
44660702 30730 }
4d47f125
TL
30731 ],
30732 "info" : {
30733 "GET" : {
30734 "description" : "List storage content.",
30735 "method" : "GET",
30736 "name" : "index",
30737 "parameters" : {
30738 "additionalProperties" : 0,
30739 "properties" : {
30740 "content" : {
30741 "description" : "Only list content of this type.",
30742 "format" : "pve-storage-content",
30743 "optional" : 1,
30744 "type" : "string",
30745 "typetext" : "<string>"
30746 },
30747 "node" : {
30748 "description" : "The cluster node name.",
30749 "format" : "pve-node",
30750 "type" : "string",
30751 "typetext" : "<string>"
30752 },
30753 "storage" : {
30754 "description" : "The storage identifier.",
30755 "format" : "pve-storage-id",
30756 "type" : "string",
30757 "typetext" : "<string>"
30758 },
30759 "vmid" : {
30760 "description" : "Only list images for this VM",
30761 "format" : "pve-vmid",
30762 "minimum" : 1,
30763 "optional" : 1,
30764 "type" : "integer",
30765 "typetext" : "<integer> (1 - N)"
30766 }
56122987 30767 }
44660702 30768 },
4d47f125
TL
30769 "permissions" : {
30770 "check" : [
30771 "perm",
30772 "/storage/{storage}",
30773 [
30774 "Datastore.Audit",
30775 "Datastore.AllocateSpace"
30776 ],
30777 "any",
30778 1
30779 ]
7aacca6f 30780 },
4d47f125
TL
30781 "protected" : 1,
30782 "proxyto" : "node",
30783 "returns" : {
30784 "items" : {
30785 "properties" : {
30786 "format" : {
30787 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
30788 "type" : "string"
30789 },
30790 "parent" : {
30791 "description" : "Volume identifier of parent (for linked cloned).",
30792 "optional" : 1,
30793 "type" : "string"
30794 },
30795 "size" : {
30796 "description" : "Volume size in bytes.",
30797 "renderer" : "bytes",
30798 "type" : "integer"
30799 },
30800 "used" : {
30801 "description" : "Used space. Please note that most storage plugins does not report anything useful here.",
30802 "optional" : 1,
30803 "renderer" : "bytes",
30804 "type" : "integer"
30805 },
30806 "vmid" : {
30807 "description" : "Associated Owner VMID.",
30808 "optional" : 1,
30809 "type" : "integer"
30810 },
30811 "volid" : {
30812 "description" : "Volume identifier.",
30813 "type" : "string"
30814 }
30815 },
30816 "type" : "object"
44660702 30817 },
4d47f125
TL
30818 "links" : [
30819 {
30820 "href" : "{volid}",
30821 "rel" : "child"
30822 }
30823 ],
30824 "type" : "array"
30825 }
30826 },
30827 "POST" : {
30828 "description" : "Allocate disk images.",
30829 "method" : "POST",
30830 "name" : "create",
30831 "parameters" : {
30832 "additionalProperties" : 0,
30833 "properties" : {
30834 "filename" : {
30835 "description" : "The name of the file to create.",
30836 "type" : "string",
30837 "typetext" : "<string>"
30838 },
30839 "format" : {
30840 "enum" : [
30841 "raw",
30842 "qcow2",
30843 "subvol"
30844 ],
30845 "optional" : 1,
30846 "requires" : "size",
30847 "type" : "string"
30848 },
30849 "node" : {
30850 "description" : "The cluster node name.",
30851 "format" : "pve-node",
30852 "type" : "string",
30853 "typetext" : "<string>"
30854 },
30855 "size" : {
30856 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
30857 "pattern" : "\\d+[MG]?",
30858 "type" : "string"
30859 },
30860 "storage" : {
30861 "description" : "The storage identifier.",
30862 "format" : "pve-storage-id",
30863 "type" : "string",
30864 "typetext" : "<string>"
30865 },
30866 "vmid" : {
30867 "description" : "Specify owner VM",
30868 "format" : "pve-vmid",
30869 "minimum" : 1,
30870 "type" : "integer",
30871 "typetext" : "<integer> (1 - N)"
30872 }
44660702
DM
30873 }
30874 },
4d47f125
TL
30875 "permissions" : {
30876 "check" : [
30877 "perm",
30878 "/storage/{storage}",
30879 [
30880 "Datastore.AllocateSpace"
30881 ]
30882 ]
27a7acb2 30883 },
4d47f125
TL
30884 "protected" : 1,
30885 "proxyto" : "node",
30886 "returns" : {
30887 "description" : "Volume identifier",
30888 "type" : "string"
27a7acb2
DM
30889 }
30890 }
30891 },
4d47f125
TL
30892 "leaf" : 0,
30893 "path" : "/nodes/{node}/storage/{storage}/content",
30894 "text" : "content"
30895 },
30896 {
30897 "info" : {
30898 "GET" : {
30899 "description" : "Read storage status.",
30900 "method" : "GET",
30901 "name" : "read_status",
30902 "parameters" : {
30903 "additionalProperties" : 0,
30904 "properties" : {
30905 "node" : {
30906 "description" : "The cluster node name.",
30907 "format" : "pve-node",
30908 "type" : "string",
30909 "typetext" : "<string>"
30910 },
30911 "storage" : {
30912 "description" : "The storage identifier.",
30913 "format" : "pve-storage-id",
30914 "type" : "string",
30915 "typetext" : "<string>"
30916 }
27a7acb2
DM
30917 }
30918 },
4d47f125
TL
30919 "permissions" : {
30920 "check" : [
30921 "perm",
30922 "/storage/{storage}",
30923 [
30924 "Datastore.Audit",
30925 "Datastore.AllocateSpace"
30926 ],
30927 "any",
30928 1
30929 ]
7aacca6f 30930 },
4d47f125
TL
30931 "protected" : 1,
30932 "proxyto" : "node",
30933 "returns" : {
30934 "type" : "object"
56122987 30935 }
44660702
DM
30936 }
30937 },
4d47f125
TL
30938 "leaf" : 1,
30939 "path" : "/nodes/{node}/storage/{storage}/status",
30940 "text" : "status"
30941 },
30942 {
30943 "info" : {
30944 "GET" : {
30945 "description" : "Read storage RRD statistics (returns PNG).",
30946 "method" : "GET",
30947 "name" : "rrd",
30948 "parameters" : {
30949 "additionalProperties" : 0,
30950 "properties" : {
30951 "cf" : {
30952 "description" : "The RRD consolidation function",
30953 "enum" : [
30954 "AVERAGE",
30955 "MAX"
30956 ],
30957 "optional" : 1,
30958 "type" : "string"
30959 },
30960 "ds" : {
30961 "description" : "The list of datasources you want to display.",
30962 "format" : "pve-configid-list",
30963 "type" : "string",
30964 "typetext" : "<string>"
30965 },
30966 "node" : {
30967 "description" : "The cluster node name.",
30968 "format" : "pve-node",
30969 "type" : "string",
30970 "typetext" : "<string>"
30971 },
30972 "storage" : {
30973 "description" : "The storage identifier.",
30974 "format" : "pve-storage-id",
30975 "type" : "string",
30976 "typetext" : "<string>"
30977 },
30978 "timeframe" : {
30979 "description" : "Specify the time frame you are interested in.",
30980 "enum" : [
30981 "hour",
30982 "day",
30983 "week",
30984 "month",
30985 "year"
30986 ],
30987 "type" : "string"
30988 }
44660702
DM
30989 }
30990 },
4d47f125
TL
30991 "permissions" : {
30992 "check" : [
30993 "perm",
30994 "/storage/{storage}",
30995 [
30996 "Datastore.Audit",
30997 "Datastore.AllocateSpace"
30998 ],
30999 "any",
31000 1
31001 ]
31002 },
31003 "protected" : 1,
31004 "proxyto" : "node",
31005 "returns" : {
31006 "properties" : {
31007 "filename" : {
31008 "type" : "string"
31009 }
31010 },
31011 "type" : "object"
44660702
DM
31012 }
31013 }
31014 },
4d47f125
TL
31015 "leaf" : 1,
31016 "path" : "/nodes/{node}/storage/{storage}/rrd",
31017 "text" : "rrd"
31018 },
31019 {
31020 "info" : {
31021 "GET" : {
31022 "description" : "Read storage RRD statistics.",
31023 "method" : "GET",
31024 "name" : "rrddata",
31025 "parameters" : {
31026 "additionalProperties" : 0,
31027 "properties" : {
31028 "cf" : {
31029 "description" : "The RRD consolidation function",
31030 "enum" : [
31031 "AVERAGE",
31032 "MAX"
31033 ],
31034 "optional" : 1,
31035 "type" : "string"
31036 },
31037 "node" : {
31038 "description" : "The cluster node name.",
31039 "format" : "pve-node",
31040 "type" : "string",
31041 "typetext" : "<string>"
31042 },
31043 "storage" : {
31044 "description" : "The storage identifier.",
31045 "format" : "pve-storage-id",
31046 "type" : "string",
31047 "typetext" : "<string>"
31048 },
31049 "timeframe" : {
31050 "description" : "Specify the time frame you are interested in.",
31051 "enum" : [
31052 "hour",
31053 "day",
31054 "week",
31055 "month",
31056 "year"
31057 ],
31058 "type" : "string"
31059 }
56122987
DM
31060 }
31061 },
4d47f125
TL
31062 "permissions" : {
31063 "check" : [
31064 "perm",
31065 "/storage/{storage}",
31066 [
31067 "Datastore.Audit",
31068 "Datastore.AllocateSpace"
31069 ],
31070 "any",
31071 1
31072 ]
31073 },
31074 "protected" : 1,
31075 "proxyto" : "node",
31076 "returns" : {
31077 "items" : {
31078 "properties" : {},
31079 "type" : "object"
31080 },
31081 "type" : "array"
56122987 31082 }
7aacca6f 31083 }
56122987 31084 },
4d47f125
TL
31085 "leaf" : 1,
31086 "path" : "/nodes/{node}/storage/{storage}/rrddata",
31087 "text" : "rrddata"
31088 },
31089 {
31090 "info" : {
31091 "POST" : {
31092 "description" : "Upload templates and ISO images.",
31093 "method" : "POST",
31094 "name" : "upload",
31095 "parameters" : {
31096 "additionalProperties" : 0,
31097 "properties" : {
31098 "content" : {
31099 "description" : "Content type.",
31100 "format" : "pve-storage-content",
31101 "type" : "string",
31102 "typetext" : "<string>"
31103 },
31104 "filename" : {
31105 "description" : "The name of the file to create.",
31106 "type" : "string",
31107 "typetext" : "<string>"
31108 },
31109 "node" : {
31110 "description" : "The cluster node name.",
31111 "format" : "pve-node",
31112 "type" : "string",
31113 "typetext" : "<string>"
31114 },
31115 "storage" : {
31116 "description" : "The storage identifier.",
31117 "format" : "pve-storage-id",
31118 "type" : "string",
31119 "typetext" : "<string>"
31120 },
31121 "tmpfilename" : {
1e3f8156 31122 "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trusted port on localhost.",
4d47f125
TL
31123 "optional" : 1,
31124 "type" : "string",
31125 "typetext" : "<string>"
31126 }
44660702
DM
31127 }
31128 },
4d47f125
TL
31129 "permissions" : {
31130 "check" : [
31131 "perm",
31132 "/storage/{storage}",
31133 [
31134 "Datastore.AllocateTemplate"
31135 ]
31136 ]
56122987 31137 },
4d47f125
TL
31138 "protected" : 1,
31139 "returns" : {
44660702 31140 "type" : "string"
56122987 31141 }
44660702 31142 }
56122987 31143 },
4d47f125
TL
31144 "leaf" : 1,
31145 "path" : "/nodes/{node}/storage/{storage}/upload",
31146 "text" : "upload"
56122987 31147 }
4d47f125 31148 ],
56122987
DM
31149 "info" : {
31150 "GET" : {
4d47f125 31151 "description" : "",
44660702 31152 "method" : "GET",
4d47f125 31153 "name" : "diridx",
44660702
DM
31154 "parameters" : {
31155 "additionalProperties" : 0,
31156 "properties" : {
31157 "node" : {
31158 "description" : "The cluster node name.",
31159 "format" : "pve-node",
013dc89f
DM
31160 "type" : "string",
31161 "typetext" : "<string>"
4d47f125
TL
31162 },
31163 "storage" : {
31164 "description" : "The storage identifier.",
31165 "format" : "pve-storage-id",
31166 "type" : "string",
31167 "typetext" : "<string>"
44660702
DM
31168 }
31169 }
31170 },
7aacca6f
DM
31171 "permissions" : {
31172 "check" : [
31173 "perm",
4d47f125 31174 "/storage/{storage}",
7aacca6f 31175 [
4d47f125
TL
31176 "Datastore.Audit",
31177 "Datastore.AllocateSpace"
31178 ],
31179 "any",
31180 1
7aacca6f
DM
31181 ]
31182 },
56122987
DM
31183 "returns" : {
31184 "items" : {
31185 "properties" : {
4d47f125 31186 "subdir" : {
44660702 31187 "type" : "string"
56122987
DM
31188 }
31189 },
31190 "type" : "object"
7aacca6f 31191 },
4d47f125
TL
31192 "links" : [
31193 {
31194 "href" : "{subdir}",
31195 "rel" : "child"
31196 }
31197 ],
7aacca6f 31198 "type" : "array"
44660702
DM
31199 }
31200 }
31201 },
4d47f125
TL
31202 "leaf" : 0,
31203 "path" : "/nodes/{node}/storage/{storage}",
31204 "text" : "{storage}"
44660702
DM
31205 }
31206 ],
31207 "info" : {
31208 "GET" : {
4d47f125 31209 "description" : "Get status for all datastores.",
44660702
DM
31210 "method" : "GET",
31211 "name" : "index",
31212 "parameters" : {
31213 "additionalProperties" : 0,
31214 "properties" : {
4d47f125
TL
31215 "content" : {
31216 "description" : "Only list stores which support this content type.",
31217 "format" : "pve-storage-content-list",
31218 "optional" : 1,
31219 "type" : "string",
31220 "typetext" : "<string>"
31221 },
31222 "enabled" : {
31223 "default" : 0,
31224 "description" : "Only list stores which are enabled (not disabled in config).",
31225 "optional" : 1,
31226 "type" : "boolean",
31227 "typetext" : "<boolean>"
31228 },
31229 "format" : {
31230 "default" : 0,
31231 "description" : "Include information about formats",
31232 "optional" : 1,
31233 "type" : "boolean",
31234 "typetext" : "<boolean>"
31235 },
44660702
DM
31236 "node" : {
31237 "description" : "The cluster node name.",
31238 "format" : "pve-node",
013dc89f
DM
31239 "type" : "string",
31240 "typetext" : "<string>"
4d47f125
TL
31241 },
31242 "storage" : {
31243 "description" : "Only list status for specified storage",
31244 "format" : "pve-storage-id",
31245 "optional" : 1,
31246 "type" : "string",
31247 "typetext" : "<string>"
31248 },
31249 "target" : {
31250 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
31251 "format" : "pve-node",
31252 "optional" : 1,
31253 "type" : "string",
31254 "typetext" : "<string>"
44660702
DM
31255 }
31256 }
31257 },
4d47f125
TL
31258 "permissions" : {
31259 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
31260 "user" : "all"
31261 },
31262 "protected" : 1,
31263 "proxyto" : "node",
31264 "returns" : {
31265 "items" : {
31266 "properties" : {
31267 "active" : {
31268 "description" : "Set when storage is accessible.",
31269 "optional" : 1,
31270 "type" : "boolean"
31271 },
31272 "avail" : {
31273 "description" : "Available storage space in bytes.",
31274 "optional" : 1,
31275 "renderer" : "bytes",
31276 "type" : "integer"
31277 },
31278 "content" : {
31279 "description" : "Allowed storage content types.",
31280 "format" : "pve-storage-content-list",
31281 "type" : "string"
31282 },
31283 "enabled" : {
31284 "description" : "Set when storage is enabled (not disabled).",
31285 "optional" : 1,
31286 "type" : "boolean"
31287 },
31288 "shared" : {
31289 "description" : "Shared flag from storage configuration.",
31290 "optional" : 1,
31291 "type" : "boolean"
31292 },
31293 "storage" : {
31294 "description" : "The storage identifier.",
31295 "format" : "pve-storage-id",
31296 "type" : "string"
31297 },
31298 "total" : {
31299 "description" : "Total storage space in bytes.",
31300 "optional" : 1,
31301 "renderer" : "bytes",
31302 "type" : "integer"
31303 },
31304 "type" : {
31305 "description" : "Storage type.",
31306 "type" : "string"
31307 },
31308 "used" : {
31309 "description" : "Used storage space in bytes.",
31310 "optional" : 1,
31311 "renderer" : "bytes",
31312 "type" : "integer"
31313 },
31314 "used_fraction" : {
31315 "description" : "Used fraction (used/total).",
31316 "optional" : 1,
31317 "renderer" : "fraction_as_percentage",
31318 "type" : "number"
7aacca6f 31319 }
4d47f125
TL
31320 },
31321 "type" : "object"
31322 },
31323 "links" : [
31324 {
31325 "href" : "{storage}",
31326 "rel" : "child"
31327 }
31328 ],
31329 "type" : "array"
31330 }
31331 }
31332 },
31333 "leaf" : 0,
31334 "path" : "/nodes/{node}/storage",
31335 "text" : "storage"
31336 },
31337 {
31338 "children" : [
31339 {
31340 "info" : {
31341 "GET" : {
31342 "description" : "List LVM Volume Groups",
31343 "method" : "GET",
31344 "name" : "index",
31345 "parameters" : {
31346 "additionalProperties" : 0,
31347 "properties" : {
31348 "node" : {
31349 "description" : "The cluster node name.",
31350 "format" : "pve-node",
31351 "type" : "string",
31352 "typetext" : "<string>"
31353 }
31354 }
31355 },
31356 "permissions" : {
31357 "check" : [
31358 "perm",
31359 "/",
31360 [
31361 "Sys.Audit",
31362 "Datastore.Audit"
31363 ],
31364 "any",
31365 1
31366 ]
31367 },
31368 "protected" : 1,
31369 "proxyto" : "node",
31370 "returns" : {
31371 "properties" : {
31372 "children" : {
44660702
DM
31373 "items" : {
31374 "properties" : {
4d47f125
TL
31375 "children" : {
31376 "description" : "The underlying physical volumes",
31377 "items" : {
31378 "properties" : {
31379 "free" : {
31380 "description" : "The free bytes in the physical volume",
31381 "type" : "integer"
31382 },
31383 "leaf" : {
31384 "type" : "boolean"
31385 },
31386 "name" : {
31387 "description" : "The name of the physical volume",
31388 "type" : "string"
31389 },
31390 "size" : {
31391 "description" : "The size of the physical volume in bytes",
31392 "type" : "integer"
31393 }
31394 },
31395 "type" : "object"
31396 },
31397 "optional" : 1,
31398 "type" : "array"
31399 },
31400 "free" : {
31401 "description" : "The free bytes in the volume group",
31402 "type" : "integer"
31403 },
31404 "leaf" : {
31405 "type" : "boolean"
31406 },
31407 "name" : {
31408 "description" : "The name of the volume group",
44660702 31409 "type" : "string"
4d47f125
TL
31410 },
31411 "size" : {
31412 "description" : "The size of the volume group in bytes",
31413 "type" : "integer"
44660702
DM
31414 }
31415 },
31416 "type" : "object"
31417 },
44660702 31418 "type" : "array"
4d47f125
TL
31419 },
31420 "leaf" : {
31421 "type" : "boolean"
44660702
DM
31422 }
31423 },
4d47f125
TL
31424 "type" : "object"
31425 }
31426 },
31427 "POST" : {
31428 "description" : "Create an LVM Volume Group",
31429 "method" : "POST",
31430 "name" : "create",
31431 "parameters" : {
31432 "additionalProperties" : 0,
31433 "properties" : {
31434 "add_storage" : {
31435 "default" : 0,
31436 "description" : "Configure storage using the Volume Group",
31437 "optional" : 1,
31438 "type" : "boolean",
31439 "typetext" : "<boolean>"
44660702 31440 },
4d47f125
TL
31441 "device" : {
31442 "description" : "The block device you want to create the volume group on",
31443 "type" : "string",
31444 "typetext" : "<string>"
44660702 31445 },
4d47f125
TL
31446 "name" : {
31447 "description" : "The storage identifier.",
31448 "format" : "pve-storage-id",
31449 "type" : "string",
31450 "typetext" : "<string>"
31451 },
31452 "node" : {
31453 "description" : "The cluster node name.",
31454 "format" : "pve-node",
31455 "type" : "string",
31456 "typetext" : "<string>"
31457 }
31458 }
31459 },
31460 "permissions" : {
31461 "check" : [
31462 "perm",
31463 "/",
31464 [
31465 "Sys.Modify",
31466 "Datastore.Allocate"
31467 ]
31468 ]
31469 },
31470 "protected" : 1,
31471 "proxyto" : "node",
31472 "returns" : {
31473 "type" : "string"
31474 }
31475 }
31476 },
31477 "leaf" : 1,
31478 "path" : "/nodes/{node}/disks/lvm",
31479 "text" : "lvm"
31480 },
31481 {
31482 "info" : {
31483 "GET" : {
31484 "description" : "List LVM thinpools",
31485 "method" : "GET",
31486 "name" : "index",
31487 "parameters" : {
31488 "additionalProperties" : 0,
31489 "properties" : {
31490 "node" : {
31491 "description" : "The cluster node name.",
31492 "format" : "pve-node",
31493 "type" : "string",
31494 "typetext" : "<string>"
44660702
DM
31495 }
31496 }
31497 },
4d47f125
TL
31498 "permissions" : {
31499 "check" : [
31500 "perm",
31501 "/",
31502 [
31503 "Sys.Audit",
31504 "Datastore.Audit"
31505 ],
31506 "any",
31507 1
31508 ]
31509 },
31510 "protected" : 1,
31511 "proxyto" : "node",
31512 "returns" : {
31513 "items" : {
31514 "properties" : {
31515 "lv" : {
31516 "description" : "The name of the thinpool.",
31517 "type" : "string"
31518 },
31519 "lv_size" : {
31520 "description" : "The size of the thinpool in bytes.",
31521 "type" : "integer"
31522 },
31523 "metadata_size" : {
31524 "description" : "The size of the metadata lv in bytes.",
31525 "type" : "integer"
31526 },
31527 "metadata_used" : {
31528 "description" : "The used bytes of the metadata lv.",
31529 "type" : "integer"
31530 },
31531 "used" : {
31532 "description" : "The used bytes of the thinpool.",
31533 "type" : "integer"
44660702
DM
31534 }
31535 },
4d47f125
TL
31536 "type" : "object"
31537 },
31538 "type" : "array"
31539 }
31540 },
31541 "POST" : {
31542 "description" : "Create an LVM thinpool",
31543 "method" : "POST",
31544 "name" : "create",
31545 "parameters" : {
31546 "additionalProperties" : 0,
31547 "properties" : {
31548 "add_storage" : {
31549 "default" : 0,
31550 "description" : "Configure storage using the thinpool.",
31551 "optional" : 1,
31552 "type" : "boolean",
31553 "typetext" : "<boolean>"
56122987 31554 },
4d47f125
TL
31555 "device" : {
31556 "description" : "The block device you want to create the thinpool on.",
31557 "type" : "string",
31558 "typetext" : "<string>"
31559 },
31560 "name" : {
31561 "description" : "The storage identifier.",
31562 "format" : "pve-storage-id",
31563 "type" : "string",
31564 "typetext" : "<string>"
31565 },
31566 "node" : {
31567 "description" : "The cluster node name.",
31568 "format" : "pve-node",
31569 "type" : "string",
31570 "typetext" : "<string>"
44660702 31571 }
56122987
DM
31572 }
31573 },
4d47f125
TL
31574 "permissions" : {
31575 "check" : [
31576 "perm",
31577 "/",
31578 [
31579 "Sys.Modify",
31580 "Datastore.Allocate"
31581 ]
31582 ]
31583 },
31584 "protected" : 1,
31585 "proxyto" : "node",
31586 "returns" : {
31587 "type" : "string"
31588 }
31589 }
31590 },
31591 "leaf" : 1,
31592 "path" : "/nodes/{node}/disks/lvmthin",
31593 "text" : "lvmthin"
31594 },
31595 {
31596 "info" : {
31597 "GET" : {
31598 "description" : "PVE Managed Directory storages.",
31599 "method" : "GET",
31600 "name" : "index",
31601 "parameters" : {
31602 "additionalProperties" : 0,
31603 "properties" : {
31604 "node" : {
31605 "description" : "The cluster node name.",
31606 "format" : "pve-node",
31607 "type" : "string",
31608 "typetext" : "<string>"
31609 }
31610 }
31611 },
31612 "permissions" : {
31613 "check" : [
31614 "perm",
31615 "/",
31616 [
31617 "Sys.Audit",
31618 "Datastore.Audit"
31619 ],
31620 "any",
31621 1
31622 ]
31623 },
31624 "protected" : 1,
31625 "proxyto" : "node",
31626 "returns" : {
31627 "items" : {
31628 "properties" : {
31629 "device" : {
31630 "description" : "The mounted device.",
31631 "type" : "string"
31632 },
31633 "options" : {
31634 "description" : "The mount options.",
31635 "type" : "string"
31636 },
31637 "path" : {
31638 "description" : "The mount path.",
31639 "type" : "string"
31640 },
31641 "type" : {
31642 "description" : "The filesystem type.",
31643 "type" : "string"
31644 },
31645 "unitfile" : {
31646 "description" : "The path of the mount unit.",
31647 "type" : "string"
44660702 31648 }
56122987 31649 },
4d47f125
TL
31650 "type" : "object"
31651 },
31652 "type" : "array"
31653 }
31654 },
31655 "POST" : {
31656 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
31657 "method" : "POST",
31658 "name" : "create",
31659 "parameters" : {
31660 "additionalProperties" : 0,
31661 "properties" : {
31662 "add_storage" : {
31663 "default" : 0,
31664 "description" : "Configure storage using the directory.",
31665 "optional" : 1,
31666 "type" : "boolean",
31667 "typetext" : "<boolean>"
31668 },
31669 "device" : {
31670 "description" : "The block device you want to create the filesystem on.",
31671 "type" : "string",
31672 "typetext" : "<string>"
31673 },
31674 "filesystem" : {
31675 "default" : "ext4",
31676 "description" : "The desired filesystem.",
31677 "enum" : [
31678 "ext4",
31679 "xfs"
31680 ],
31681 "optional" : 1,
31682 "type" : "string"
56122987 31683 },
4d47f125
TL
31684 "name" : {
31685 "description" : "The storage identifier.",
31686 "format" : "pve-storage-id",
31687 "type" : "string",
31688 "typetext" : "<string>"
31689 },
31690 "node" : {
31691 "description" : "The cluster node name.",
31692 "format" : "pve-node",
31693 "type" : "string",
31694 "typetext" : "<string>"
7aacca6f 31695 }
56122987
DM
31696 }
31697 },
4d47f125
TL
31698 "permissions" : {
31699 "check" : [
31700 "perm",
31701 "/",
31702 [
31703 "Sys.Modify",
31704 "Datastore.Allocate"
31705 ]
31706 ]
31707 },
31708 "protected" : 1,
31709 "proxyto" : "node",
31710 "returns" : {
31711 "type" : "string"
31712 }
31713 }
31714 },
31715 "leaf" : 1,
31716 "path" : "/nodes/{node}/disks/directory",
31717 "text" : "directory"
31718 },
31719 {
31720 "children" : [
56122987 31721 {
56122987
DM
31722 "info" : {
31723 "GET" : {
4d47f125 31724 "description" : "Get details about a zpool.",
44660702 31725 "method" : "GET",
4d47f125 31726 "name" : "detail",
56122987 31727 "parameters" : {
44660702 31728 "additionalProperties" : 0,
56122987 31729 "properties" : {
4d47f125
TL
31730 "name" : {
31731 "description" : "The storage identifier.",
31732 "format" : "pve-storage-id",
31733 "type" : "string",
31734 "typetext" : "<string>"
44660702 31735 },
7aacca6f 31736 "node" : {
7aacca6f 31737 "description" : "The cluster node name.",
44660702 31738 "format" : "pve-node",
013dc89f
DM
31739 "type" : "string",
31740 "typetext" : "<string>"
56122987 31741 }
44660702 31742 }
7aacca6f 31743 },
7aacca6f
DM
31744 "permissions" : {
31745 "check" : [
31746 "perm",
4d47f125 31747 "/",
7aacca6f 31748 [
4d47f125
TL
31749 "Sys.Audit",
31750 "Datastore.Audit"
7aacca6f
DM
31751 ],
31752 "any",
31753 1
31754 ]
31755 },
44660702
DM
31756 "protected" : 1,
31757 "proxyto" : "node",
7aacca6f 31758 "returns" : {
56122987 31759 "properties" : {
4d47f125
TL
31760 "action" : {
31761 "description" : "Information about the recommended action to fix the state.",
31762 "optional" : 1,
31763 "type" : "string"
56122987 31764 },
4d47f125 31765 "children" : {
e2d681b3 31766 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
31767 "items" : {
31768 "properties" : {
31769 "cksum" : {
e2d681b3 31770 "optional" : 1,
4d47f125
TL
31771 "type" : "number"
31772 },
31773 "msg" : {
31774 "description" : "An optional message about the vdev.",
31775 "type" : "string"
31776 },
31777 "name" : {
e2d681b3 31778 "description" : "The name of the vdev or section.",
4d47f125
TL
31779 "type" : "string"
31780 },
31781 "read" : {
e2d681b3 31782 "optional" : 1,
4d47f125
TL
31783 "type" : "number"
31784 },
31785 "state" : {
31786 "description" : "The state of the vdev.",
e2d681b3 31787 "optional" : 1,
4d47f125
TL
31788 "type" : "string"
31789 },
31790 "write" : {
e2d681b3 31791 "optional" : 1,
4d47f125
TL
31792 "type" : "number"
31793 }
31794 },
31795 "type" : "object"
31796 },
31797 "type" : "array"
56122987 31798 },
e2d681b3
TL
31799 "errors" : {
31800 "description" : "Information about the errors on the zpool.",
31801 "type" : "string"
31802 },
4d47f125
TL
31803 "name" : {
31804 "description" : "The name of the zpool.",
31805 "type" : "string"
44660702 31806 },
4d47f125 31807 "scan" : {
e2d681b3 31808 "description" : "Information about the last/current scrub.",
4d47f125 31809 "type" : "string"
44660702 31810 },
4d47f125
TL
31811 "state" : {
31812 "description" : "The state of the zpool.",
31813 "type" : "string"
31814 },
31815 "status" : {
31816 "description" : "Information about the state of the zpool.",
44660702 31817 "optional" : 1,
4d47f125 31818 "type" : "string"
56122987 31819 }
4d47f125
TL
31820 },
31821 "type" : "object"
44660702
DM
31822 }
31823 }
31824 },
31825 "leaf" : 1,
4d47f125
TL
31826 "path" : "/nodes/{node}/disks/zfs/{name}",
31827 "text" : "{name}"
44660702
DM
31828 }
31829 ],
31830 "info" : {
31831 "GET" : {
4d47f125 31832 "description" : "List Zpools.",
44660702 31833 "method" : "GET",
4d47f125 31834 "name" : "index",
44660702
DM
31835 "parameters" : {
31836 "additionalProperties" : 0,
31837 "properties" : {
31838 "node" : {
31839 "description" : "The cluster node name.",
31840 "format" : "pve-node",
013dc89f
DM
31841 "type" : "string",
31842 "typetext" : "<string>"
4d47f125
TL
31843 }
31844 }
31845 },
31846 "permissions" : {
31847 "check" : [
31848 "perm",
31849 "/",
31850 [
31851 "Sys.Audit",
31852 "Datastore.Audit"
31853 ],
31854 "any",
31855 1
31856 ]
31857 },
31858 "protected" : 1,
31859 "proxyto" : "node",
31860 "returns" : {
31861 "items" : {
31862 "properties" : {
31863 "alloc" : {
31864 "description" : "",
31865 "type" : "integer"
31866 },
31867 "dedup" : {
31868 "description" : "",
31869 "type" : "number"
31870 },
31871 "frag" : {
31872 "description" : "",
31873 "type" : "integer"
31874 },
31875 "free" : {
31876 "description" : "",
31877 "type" : "integer"
31878 },
31879 "health" : {
31880 "description" : "",
31881 "type" : "string"
31882 },
31883 "name" : {
31884 "description" : "",
31885 "type" : "string"
31886 },
31887 "size" : {
31888 "description" : "",
31889 "type" : "integer"
31890 }
31891 },
31892 "type" : "object"
31893 },
31894 "links" : [
31895 {
31896 "href" : "{name}",
31897 "rel" : "child"
31898 }
31899 ],
31900 "type" : "array"
31901 }
31902 },
31903 "POST" : {
31904 "description" : "Create a ZFS pool.",
31905 "method" : "POST",
31906 "name" : "create",
31907 "parameters" : {
31908 "additionalProperties" : 0,
31909 "properties" : {
31910 "add_storage" : {
31911 "default" : 0,
31912 "description" : "Configure storage using the zpool.",
31913 "optional" : 1,
31914 "type" : "boolean",
31915 "typetext" : "<boolean>"
31916 },
31917 "ashift" : {
31918 "default" : 12,
31919 "description" : "Pool sector size exponent.",
31920 "maximum" : 16,
31921 "minimum" : 9,
31922 "optional" : 1,
31923 "type" : "integer",
31924 "typetext" : "<integer> (9 - 16)"
31925 },
31926 "compression" : {
31927 "default" : "on",
31928 "description" : "The compression algorithm to use.",
31929 "enum" : [
31930 "on",
31931 "off",
31932 "gzip",
31933 "lz4",
31934 "lzjb",
31935 "zle"
31936 ],
31937 "optional" : 1,
31938 "type" : "string"
31939 },
31940 "devices" : {
31941 "description" : "The block devices you want to create the zpool on.",
31942 "format" : "string-list",
31943 "type" : "string",
31944 "typetext" : "<string>"
44660702 31945 },
4d47f125 31946 "name" : {
44660702
DM
31947 "description" : "The storage identifier.",
31948 "format" : "pve-storage-id",
013dc89f
DM
31949 "type" : "string",
31950 "typetext" : "<string>"
4d47f125
TL
31951 },
31952 "node" : {
31953 "description" : "The cluster node name.",
31954 "format" : "pve-node",
31955 "type" : "string",
31956 "typetext" : "<string>"
31957 },
31958 "raidlevel" : {
31959 "description" : "The RAID level to use.",
31960 "enum" : [
31961 "single",
31962 "mirror",
31963 "raid10",
31964 "raidz",
31965 "raidz2",
31966 "raidz3"
31967 ],
31968 "type" : "string"
56122987
DM
31969 }
31970 }
44660702
DM
31971 },
31972 "permissions" : {
31973 "check" : [
31974 "perm",
4d47f125 31975 "/",
44660702 31976 [
4d47f125
TL
31977 "Sys.Modify",
31978 "Datastore.Allocate"
31979 ]
44660702
DM
31980 ]
31981 },
4d47f125
TL
31982 "protected" : 1,
31983 "proxyto" : "node",
44660702 31984 "returns" : {
4d47f125 31985 "type" : "string"
56122987
DM
31986 }
31987 }
44660702
DM
31988 },
31989 "leaf" : 0,
4d47f125
TL
31990 "path" : "/nodes/{node}/disks/zfs",
31991 "text" : "zfs"
31992 },
2c0dde61
DM
31993 {
31994 "info" : {
31995 "GET" : {
31996 "description" : "List local disks.",
31997 "method" : "GET",
31998 "name" : "list",
31999 "parameters" : {
32000 "additionalProperties" : 0,
32001 "properties" : {
32002 "node" : {
32003 "description" : "The cluster node name.",
32004 "format" : "pve-node",
013dc89f
DM
32005 "type" : "string",
32006 "typetext" : "<string>"
4d47f125
TL
32007 },
32008 "skipsmart" : {
32009 "default" : 0,
32010 "description" : "Skip smart checks.",
32011 "optional" : 1,
32012 "type" : "boolean",
32013 "typetext" : "<boolean>"
32014 },
32015 "type" : {
32016 "description" : "Only list specific types of disks.",
32017 "enum" : [
32018 "unused",
32019 "journal_disks"
32020 ],
32021 "optional" : 1,
32022 "type" : "string"
2c0dde61
DM
32023 }
32024 }
32025 },
32026 "permissions" : {
32027 "check" : [
32028 "perm",
32029 "/",
32030 [
32031 "Sys.Audit",
32032 "Datastore.Audit"
32033 ],
32034 "any",
32035 1
32036 ]
32037 },
32038 "protected" : 1,
32039 "proxyto" : "node",
32040 "returns" : {
32041 "items" : {
32042 "properties" : {
32043 "devpath" : {
32044 "description" : "The device path",
32045 "type" : "string"
32046 },
32047 "gpt" : {
32048 "type" : "boolean"
32049 },
32050 "health" : {
32051 "optional" : 1,
32052 "type" : "string"
32053 },
32054 "model" : {
32055 "optional" : 1,
32056 "type" : "string"
32057 },
32058 "osdid" : {
32059 "type" : "integer"
32060 },
32061 "serial" : {
32062 "optional" : 1,
32063 "type" : "string"
32064 },
32065 "size" : {
32066 "type" : "integer"
32067 },
32068 "used" : {
32069 "optional" : 1,
32070 "type" : "string"
32071 },
32072 "vendor" : {
32073 "optional" : 1,
32074 "type" : "string"
32075 },
32076 "wwn" : {
32077 "optional" : 1,
32078 "type" : "string"
32079 }
32080 },
32081 "type" : "object"
32082 },
32083 "type" : "array"
32084 }
32085 }
32086 },
32087 "leaf" : 1,
32088 "path" : "/nodes/{node}/disks/list",
32089 "text" : "list"
32090 },
32091 {
32092 "info" : {
32093 "GET" : {
32094 "description" : "Get SMART Health of a disk.",
32095 "method" : "GET",
32096 "name" : "smart",
32097 "parameters" : {
32098 "additionalProperties" : 0,
32099 "properties" : {
32100 "disk" : {
32101 "description" : "Block device name",
32102 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
32103 "type" : "string"
32104 },
32105 "healthonly" : {
32106 "description" : "If true returns only the health status",
32107 "optional" : 1,
013dc89f
DM
32108 "type" : "boolean",
32109 "typetext" : "<boolean>"
2c0dde61
DM
32110 },
32111 "node" : {
32112 "description" : "The cluster node name.",
32113 "format" : "pve-node",
013dc89f
DM
32114 "type" : "string",
32115 "typetext" : "<string>"
2c0dde61
DM
32116 }
32117 }
32118 },
32119 "permissions" : {
32120 "check" : [
32121 "perm",
32122 "/",
32123 [
32124 "Sys.Audit",
32125 "Datastore.Audit"
32126 ],
32127 "any",
32128 1
32129 ]
32130 },
32131 "protected" : 1,
32132 "proxyto" : "node",
32133 "returns" : {
de0983cb
DM
32134 "properties" : {
32135 "attributes" : {
32136 "optional" : 1,
32137 "type" : "array"
32138 },
32139 "health" : {
32140 "type" : "string"
32141 },
32142 "text" : {
32143 "optional" : 1,
32144 "type" : "string"
32145 },
32146 "type" : {
32147 "optional" : 1,
32148 "type" : "string"
32149 }
32150 },
2c0dde61
DM
32151 "type" : "object"
32152 }
32153 }
32154 },
32155 "leaf" : 1,
32156 "path" : "/nodes/{node}/disks/smart",
32157 "text" : "smart"
32158 },
32159 {
32160 "info" : {
32161 "POST" : {
32162 "description" : "Initialize Disk with GPT",
32163 "method" : "POST",
32164 "name" : "initgpt",
32165 "parameters" : {
32166 "additionalProperties" : 0,
32167 "properties" : {
32168 "disk" : {
32169 "description" : "Block device name",
32170 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
32171 "type" : "string"
32172 },
32173 "node" : {
32174 "description" : "The cluster node name.",
32175 "format" : "pve-node",
013dc89f
DM
32176 "type" : "string",
32177 "typetext" : "<string>"
2c0dde61
DM
32178 },
32179 "uuid" : {
32180 "description" : "UUID for the GPT table",
32181 "maxLength" : 36,
32182 "optional" : 1,
32183 "pattern" : "[a-fA-F0-9\\-]+",
32184 "type" : "string"
32185 }
32186 }
32187 },
32188 "permissions" : {
32189 "check" : [
32190 "perm",
32191 "/",
32192 [
32193 "Sys.Modify"
32194 ]
32195 ]
32196 },
32197 "protected" : 1,
32198 "proxyto" : "node",
32199 "returns" : {
32200 "type" : "string"
32201 }
32202 }
32203 },
32204 "leaf" : 1,
32205 "path" : "/nodes/{node}/disks/initgpt",
32206 "text" : "initgpt"
32207 }
32208 ],
32209 "info" : {
32210 "GET" : {
32211 "description" : "Node index.",
32212 "method" : "GET",
32213 "name" : "index",
32214 "parameters" : {
32215 "additionalProperties" : 0,
32216 "properties" : {
32217 "node" : {
32218 "description" : "The cluster node name.",
32219 "format" : "pve-node",
013dc89f
DM
32220 "type" : "string",
32221 "typetext" : "<string>"
2c0dde61
DM
32222 }
32223 }
32224 },
32225 "permissions" : {
32226 "user" : "all"
32227 },
32228 "proxyto" : "node",
32229 "returns" : {
32230 "items" : {
32231 "properties" : {},
32232 "type" : "object"
32233 },
32234 "links" : [
32235 {
32236 "href" : "{name}",
32237 "rel" : "child"
32238 }
32239 ],
32240 "type" : "array"
32241 }
32242 }
32243 },
32244 "leaf" : 0,
32245 "path" : "/nodes/{node}/disks",
32246 "text" : "disks"
32247 },
56122987 32248 {
56122987
DM
32249 "children" : [
32250 {
32251 "info" : {
44660702
DM
32252 "GET" : {
32253 "description" : "List available updates.",
32254 "method" : "GET",
32255 "name" : "list_updates",
32256 "parameters" : {
32257 "additionalProperties" : 0,
32258 "properties" : {
32259 "node" : {
32260 "description" : "The cluster node name.",
32261 "format" : "pve-node",
013dc89f
DM
32262 "type" : "string",
32263 "typetext" : "<string>"
44660702
DM
32264 }
32265 }
7aacca6f
DM
32266 },
32267 "permissions" : {
32268 "check" : [
32269 "perm",
32270 "/nodes/{node}",
32271 [
32272 "Sys.Modify"
32273 ]
32274 ]
32275 },
44660702 32276 "protected" : 1,
56122987 32277 "proxyto" : "node",
44660702
DM
32278 "returns" : {
32279 "items" : {
32280 "properties" : {},
32281 "type" : "object"
32282 },
32283 "type" : "array"
32284 }
32285 },
32286 "POST" : {
32287 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
32288 "method" : "POST",
32289 "name" : "update_database",
56122987
DM
32290 "parameters" : {
32291 "additionalProperties" : 0,
32292 "properties" : {
44660702
DM
32293 "node" : {
32294 "description" : "The cluster node name.",
32295 "format" : "pve-node",
013dc89f
DM
32296 "type" : "string",
32297 "typetext" : "<string>"
44660702 32298 },
56122987 32299 "notify" : {
56122987 32300 "default" : 0,
44660702
DM
32301 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
32302 "optional" : 1,
013dc89f
DM
32303 "type" : "boolean",
32304 "typetext" : "<boolean>"
56122987
DM
32305 },
32306 "quiet" : {
56122987 32307 "default" : 0,
44660702 32308 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 32309 "optional" : 1,
013dc89f
DM
32310 "type" : "boolean",
32311 "typetext" : "<boolean>"
56122987 32312 }
7aacca6f
DM
32313 }
32314 },
32315 "permissions" : {
32316 "check" : [
32317 "perm",
32318 "/nodes/{node}",
32319 [
32320 "Sys.Modify"
32321 ]
32322 ]
32323 },
44660702
DM
32324 "protected" : 1,
32325 "proxyto" : "node",
32326 "returns" : {
32327 "type" : "string"
32328 }
56122987
DM
32329 }
32330 },
7aacca6f 32331 "leaf" : 1,
44660702
DM
32332 "path" : "/nodes/{node}/apt/update",
32333 "text" : "update"
56122987
DM
32334 },
32335 {
56122987
DM
32336 "info" : {
32337 "GET" : {
44660702 32338 "description" : "Get package changelogs.",
56122987 32339 "method" : "GET",
7aacca6f 32340 "name" : "changelog",
56122987 32341 "parameters" : {
44660702 32342 "additionalProperties" : 0,
56122987
DM
32343 "properties" : {
32344 "name" : {
32345 "description" : "Package name.",
013dc89f
DM
32346 "type" : "string",
32347 "typetext" : "<string>"
56122987 32348 },
44660702
DM
32349 "node" : {
32350 "description" : "The cluster node name.",
32351 "format" : "pve-node",
013dc89f
DM
32352 "type" : "string",
32353 "typetext" : "<string>"
44660702 32354 },
56122987 32355 "version" : {
7aacca6f 32356 "description" : "Package version.",
44660702 32357 "optional" : 1,
013dc89f
DM
32358 "type" : "string",
32359 "typetext" : "<string>"
56122987 32360 }
44660702 32361 }
56122987 32362 },
44660702
DM
32363 "permissions" : {
32364 "check" : [
32365 "perm",
32366 "/nodes/{node}",
32367 [
32368 "Sys.Modify"
32369 ]
32370 ]
32371 },
32372 "proxyto" : "node",
32373 "returns" : {
32374 "type" : "string"
32375 }
56122987
DM
32376 }
32377 },
44660702
DM
32378 "leaf" : 1,
32379 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 32380 "text" : "changelog"
56122987
DM
32381 },
32382 {
56122987
DM
32383 "info" : {
32384 "GET" : {
44660702
DM
32385 "description" : "Get package information for important Proxmox packages.",
32386 "method" : "GET",
7aacca6f
DM
32387 "name" : "versions",
32388 "parameters" : {
44660702 32389 "additionalProperties" : 0,
7aacca6f
DM
32390 "properties" : {
32391 "node" : {
44660702 32392 "description" : "The cluster node name.",
7aacca6f 32393 "format" : "pve-node",
013dc89f
DM
32394 "type" : "string",
32395 "typetext" : "<string>"
7aacca6f 32396 }
44660702 32397 }
7aacca6f 32398 },
56122987
DM
32399 "permissions" : {
32400 "check" : [
32401 "perm",
32402 "/nodes/{node}",
32403 [
32404 "Sys.Audit"
32405 ]
32406 ]
32407 },
7aacca6f 32408 "proxyto" : "node",
56122987
DM
32409 "returns" : {
32410 "items" : {
7aacca6f
DM
32411 "properties" : {},
32412 "type" : "object"
44660702
DM
32413 },
32414 "type" : "array"
56122987
DM
32415 }
32416 }
32417 },
44660702 32418 "leaf" : 1,
7aacca6f 32419 "path" : "/nodes/{node}/apt/versions",
44660702 32420 "text" : "versions"
56122987
DM
32421 }
32422 ],
56122987
DM
32423 "info" : {
32424 "GET" : {
44660702 32425 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 32426 "method" : "GET",
44660702 32427 "name" : "index",
7aacca6f
DM
32428 "parameters" : {
32429 "additionalProperties" : 0,
32430 "properties" : {
32431 "node" : {
44660702 32432 "description" : "The cluster node name.",
7aacca6f 32433 "format" : "pve-node",
013dc89f
DM
32434 "type" : "string",
32435 "typetext" : "<string>"
7aacca6f
DM
32436 }
32437 }
32438 },
7aacca6f
DM
32439 "permissions" : {
32440 "user" : "all"
32441 },
44660702
DM
32442 "returns" : {
32443 "items" : {
32444 "properties" : {
32445 "id" : {
32446 "type" : "string"
32447 }
32448 },
32449 "type" : "object"
32450 },
32451 "links" : [
32452 {
32453 "href" : "{id}",
32454 "rel" : "child"
32455 }
32456 ],
32457 "type" : "array"
32458 }
56122987 32459 }
7aacca6f 32460 },
44660702 32461 "leaf" : 0,
7aacca6f 32462 "path" : "/nodes/{node}/apt",
44660702 32463 "text" : "apt"
56122987
DM
32464 },
32465 {
56122987
DM
32466 "children" : [
32467 {
32468 "children" : [
32469 {
56122987
DM
32470 "info" : {
32471 "DELETE" : {
44660702 32472 "description" : "Delete rule.",
7aacca6f 32473 "method" : "DELETE",
44660702 32474 "name" : "delete_rule",
56122987
DM
32475 "parameters" : {
32476 "additionalProperties" : 0,
32477 "properties" : {
56122987
DM
32478 "digest" : {
32479 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 32480 "maxLength" : 40,
56122987 32481 "optional" : 1,
013dc89f
DM
32482 "type" : "string",
32483 "typetext" : "<string>"
56122987 32484 },
44660702
DM
32485 "node" : {
32486 "description" : "The cluster node name.",
32487 "format" : "pve-node",
013dc89f
DM
32488 "type" : "string",
32489 "typetext" : "<string>"
44660702 32490 },
7aacca6f 32491 "pos" : {
7aacca6f 32492 "description" : "Update rule at position <pos>.",
44660702
DM
32493 "minimum" : 0,
32494 "optional" : 1,
4bd7df8b 32495 "type" : "integer",
013dc89f 32496 "typetext" : "<integer> (0 - N)"
56122987
DM
32497 }
32498 }
32499 },
44660702
DM
32500 "permissions" : {
32501 "check" : [
32502 "perm",
32503 "/nodes/{node}",
32504 [
32505 "Sys.Modify"
32506 ]
32507 ]
32508 },
32509 "protected" : 1,
32510 "proxyto" : "node",
56122987
DM
32511 "returns" : {
32512 "type" : "null"
44660702
DM
32513 }
32514 },
32515 "GET" : {
32516 "description" : "Get single rule data.",
32517 "method" : "GET",
32518 "name" : "get_rule",
32519 "parameters" : {
32520 "additionalProperties" : 0,
32521 "properties" : {
32522 "node" : {
32523 "description" : "The cluster node name.",
32524 "format" : "pve-node",
013dc89f
DM
32525 "type" : "string",
32526 "typetext" : "<string>"
44660702
DM
32527 },
32528 "pos" : {
32529 "description" : "Update rule at position <pos>.",
32530 "minimum" : 0,
32531 "optional" : 1,
4bd7df8b 32532 "type" : "integer",
013dc89f 32533 "typetext" : "<integer> (0 - N)"
44660702
DM
32534 }
32535 }
56122987 32536 },
56122987
DM
32537 "permissions" : {
32538 "check" : [
32539 "perm",
32540 "/nodes/{node}",
32541 [
44660702 32542 "Sys.Audit"
56122987
DM
32543 ]
32544 ]
44660702
DM
32545 },
32546 "proxyto" : "node",
32547 "returns" : {
32548 "properties" : {
e2d681b3
TL
32549 "action" : {
32550 "type" : "string"
32551 },
32552 "comment" : {
32553 "optional" : 1,
32554 "type" : "string"
32555 },
32556 "dest" : {
32557 "optional" : 1,
32558 "type" : "string"
32559 },
32560 "dport" : {
32561 "optional" : 1,
32562 "type" : "string"
32563 },
32564 "enable" : {
32565 "optional" : 1,
32566 "type" : "integer"
32567 },
32568 "iface" : {
32569 "optional" : 1,
32570 "type" : "string"
32571 },
32572 "ipversion" : {
32573 "optional" : 1,
32574 "type" : "integer"
32575 },
95895385
TL
32576 "log" : {
32577 "description" : "Log level for firewall rule",
32578 "enum" : [
32579 "emerg",
32580 "alert",
32581 "crit",
32582 "err",
32583 "warning",
32584 "notice",
32585 "info",
32586 "debug",
32587 "nolog"
32588 ],
32589 "optional" : 1,
32590 "type" : "string"
32591 },
e2d681b3
TL
32592 "macro" : {
32593 "optional" : 1,
5f26e15b 32594 "type" : "string"
e2d681b3 32595 },
44660702
DM
32596 "pos" : {
32597 "type" : "integer"
e2d681b3
TL
32598 },
32599 "proto" : {
32600 "optional" : 1,
32601 "type" : "string"
32602 },
32603 "source" : {
32604 "optional" : 1,
32605 "type" : "string"
32606 },
32607 "sport" : {
32608 "optional" : 1,
32609 "type" : "string"
32610 },
32611 "type" : {
32612 "type" : "string"
44660702
DM
32613 }
32614 },
32615 "type" : "object"
7aacca6f 32616 }
56122987
DM
32617 },
32618 "PUT" : {
44660702
DM
32619 "description" : "Modify rule data.",
32620 "method" : "PUT",
56122987 32621 "name" : "update_rule",
56122987 32622 "parameters" : {
44660702 32623 "additionalProperties" : 0,
56122987 32624 "properties" : {
44660702
DM
32625 "action" : {
32626 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
32627 "maxLength" : 20,
32628 "minLength" : 2,
56122987 32629 "optional" : 1,
44660702
DM
32630 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
32631 "type" : "string"
56122987 32632 },
7aacca6f 32633 "comment" : {
e94f0d56 32634 "description" : "Descriptive comment.",
56122987 32635 "optional" : 1,
013dc89f
DM
32636 "type" : "string",
32637 "typetext" : "<string>"
56122987 32638 },
44660702
DM
32639 "delete" : {
32640 "description" : "A list of settings you want to delete.",
32641 "format" : "pve-configid-list",
56122987 32642 "optional" : 1,
013dc89f
DM
32643 "type" : "string",
32644 "typetext" : "<string>"
56122987 32645 },
44660702
DM
32646 "dest" : {
32647 "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.",
32648 "format" : "pve-fw-addr-spec",
56122987 32649 "optional" : 1,
013dc89f
DM
32650 "type" : "string",
32651 "typetext" : "<string>"
56122987 32652 },
44660702
DM
32653 "digest" : {
32654 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32655 "maxLength" : 40,
56122987 32656 "optional" : 1,
013dc89f
DM
32657 "type" : "string",
32658 "typetext" : "<string>"
56122987 32659 },
7aacca6f 32660 "dport" : {
7aacca6f 32661 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
44660702
DM
32662 "format" : "pve-fw-dport-spec",
32663 "optional" : 1,
013dc89f
DM
32664 "type" : "string",
32665 "typetext" : "<string>"
7aacca6f 32666 },
44660702 32667 "enable" : {
e94f0d56 32668 "description" : "Flag to enable/disable a rule.",
44660702 32669 "minimum" : 0,
56122987 32670 "optional" : 1,
4bd7df8b 32671 "type" : "integer",
013dc89f 32672 "typetext" : "<integer> (0 - N)"
56122987 32673 },
7aacca6f 32674 "iface" : {
44660702 32675 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
7aacca6f 32676 "format" : "pve-iface",
44660702 32677 "maxLength" : 20,
56122987 32678 "minLength" : 2,
44660702 32679 "optional" : 1,
013dc89f
DM
32680 "type" : "string",
32681 "typetext" : "<string>"
56122987 32682 },
95895385
TL
32683 "log" : {
32684 "description" : "Log level for firewall rule.",
32685 "enum" : [
32686 "emerg",
32687 "alert",
32688 "crit",
32689 "err",
32690 "warning",
32691 "notice",
32692 "info",
32693 "debug",
32694 "nolog"
32695 ],
32696 "optional" : 1,
32697 "type" : "string"
32698 },
44660702 32699 "macro" : {
e94f0d56 32700 "description" : "Use predefined standard macro.",
44660702
DM
32701 "maxLength" : 128,
32702 "optional" : 1,
013dc89f
DM
32703 "type" : "string",
32704 "typetext" : "<string>"
44660702
DM
32705 },
32706 "moveto" : {
32707 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
32708 "minimum" : 0,
7aacca6f 32709 "optional" : 1,
4bd7df8b 32710 "type" : "integer",
013dc89f 32711 "typetext" : "<integer> (0 - N)"
44660702
DM
32712 },
32713 "node" : {
32714 "description" : "The cluster node name.",
32715 "format" : "pve-node",
013dc89f
DM
32716 "type" : "string",
32717 "typetext" : "<string>"
56122987
DM
32718 },
32719 "pos" : {
44660702 32720 "description" : "Update rule at position <pos>.",
7aacca6f 32721 "minimum" : 0,
7aacca6f 32722 "optional" : 1,
4bd7df8b 32723 "type" : "integer",
013dc89f 32724 "typetext" : "<integer> (0 - N)"
7aacca6f 32725 },
44660702
DM
32726 "proto" : {
32727 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
32728 "format" : "pve-fw-protocol-spec",
7aacca6f 32729 "optional" : 1,
013dc89f
DM
32730 "type" : "string",
32731 "typetext" : "<string>"
7aacca6f 32732 },
44660702
DM
32733 "source" : {
32734 "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.",
32735 "format" : "pve-fw-addr-spec",
56122987 32736 "optional" : 1,
013dc89f
DM
32737 "type" : "string",
32738 "typetext" : "<string>"
7aacca6f 32739 },
44660702
DM
32740 "sport" : {
32741 "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.",
32742 "format" : "pve-fw-sport-spec",
32743 "optional" : 1,
013dc89f
DM
32744 "type" : "string",
32745 "typetext" : "<string>"
44660702
DM
32746 },
32747 "type" : {
e94f0d56 32748 "description" : "Rule type.",
44660702
DM
32749 "enum" : [
32750 "in",
32751 "out",
32752 "group"
32753 ],
32754 "optional" : 1,
32755 "type" : "string"
56122987 32756 }
44660702 32757 }
56122987 32758 },
56122987
DM
32759 "permissions" : {
32760 "check" : [
32761 "perm",
32762 "/nodes/{node}",
32763 [
32764 "Sys.Modify"
32765 ]
32766 ]
7aacca6f 32767 },
44660702 32768 "protected" : 1,
7aacca6f 32769 "proxyto" : "node",
7aacca6f
DM
32770 "returns" : {
32771 "type" : "null"
56122987
DM
32772 }
32773 }
7aacca6f 32774 },
44660702 32775 "leaf" : 1,
7aacca6f 32776 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 32777 "text" : "{pos}"
56122987
DM
32778 }
32779 ],
56122987
DM
32780 "info" : {
32781 "GET" : {
44660702
DM
32782 "description" : "List rules.",
32783 "method" : "GET",
32784 "name" : "get_rules",
32785 "parameters" : {
32786 "additionalProperties" : 0,
32787 "properties" : {
32788 "node" : {
32789 "description" : "The cluster node name.",
32790 "format" : "pve-node",
013dc89f
DM
32791 "type" : "string",
32792 "typetext" : "<string>"
44660702
DM
32793 }
32794 }
32795 },
32796 "permissions" : {
32797 "check" : [
32798 "perm",
32799 "/nodes/{node}",
32800 [
32801 "Sys.Audit"
32802 ]
32803 ]
32804 },
32805 "proxyto" : "node",
56122987 32806 "returns" : {
56122987
DM
32807 "items" : {
32808 "properties" : {
32809 "pos" : {
32810 "type" : "integer"
32811 }
44660702
DM
32812 },
32813 "type" : "object"
56122987 32814 },
7aacca6f
DM
32815 "links" : [
32816 {
32817 "href" : "{pos}",
32818 "rel" : "child"
32819 }
32820 ],
32821 "type" : "array"
44660702 32822 }
56122987
DM
32823 },
32824 "POST" : {
44660702 32825 "description" : "Create new rule.",
7aacca6f
DM
32826 "method" : "POST",
32827 "name" : "create_rule",
56122987 32828 "parameters" : {
44660702 32829 "additionalProperties" : 0,
56122987 32830 "properties" : {
7aacca6f 32831 "action" : {
7aacca6f 32832 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 32833 "maxLength" : 20,
7aacca6f
DM
32834 "minLength" : 2,
32835 "optional" : 0,
44660702
DM
32836 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
32837 "type" : "string"
56122987 32838 },
44660702 32839 "comment" : {
e94f0d56 32840 "description" : "Descriptive comment.",
56122987 32841 "optional" : 1,
013dc89f
DM
32842 "type" : "string",
32843 "typetext" : "<string>"
56122987 32844 },
44660702
DM
32845 "dest" : {
32846 "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.",
32847 "format" : "pve-fw-addr-spec",
7aacca6f 32848 "optional" : 1,
013dc89f
DM
32849 "type" : "string",
32850 "typetext" : "<string>"
56122987 32851 },
44660702
DM
32852 "digest" : {
32853 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32854 "maxLength" : 40,
32855 "optional" : 1,
013dc89f
DM
32856 "type" : "string",
32857 "typetext" : "<string>"
56122987 32858 },
44660702
DM
32859 "dport" : {
32860 "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.",
32861 "format" : "pve-fw-dport-spec",
7aacca6f 32862 "optional" : 1,
013dc89f
DM
32863 "type" : "string",
32864 "typetext" : "<string>"
56122987 32865 },
44660702 32866 "enable" : {
e94f0d56 32867 "description" : "Flag to enable/disable a rule.",
44660702
DM
32868 "minimum" : 0,
32869 "optional" : 1,
4bd7df8b 32870 "type" : "integer",
013dc89f 32871 "typetext" : "<integer> (0 - N)"
44660702 32872 },
7aacca6f 32873 "iface" : {
44660702 32874 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
7aacca6f 32875 "format" : "pve-iface",
56122987 32876 "maxLength" : 20,
7aacca6f 32877 "minLength" : 2,
7aacca6f 32878 "optional" : 1,
013dc89f
DM
32879 "type" : "string",
32880 "typetext" : "<string>"
56122987 32881 },
95895385
TL
32882 "log" : {
32883 "description" : "Log level for firewall rule.",
32884 "enum" : [
32885 "emerg",
32886 "alert",
32887 "crit",
32888 "err",
32889 "warning",
32890 "notice",
32891 "info",
32892 "debug",
32893 "nolog"
32894 ],
32895 "optional" : 1,
32896 "type" : "string"
32897 },
44660702 32898 "macro" : {
e94f0d56 32899 "description" : "Use predefined standard macro.",
44660702 32900 "maxLength" : 128,
7aacca6f 32901 "optional" : 1,
013dc89f
DM
32902 "type" : "string",
32903 "typetext" : "<string>"
56122987 32904 },
44660702
DM
32905 "node" : {
32906 "description" : "The cluster node name.",
32907 "format" : "pve-node",
013dc89f
DM
32908 "type" : "string",
32909 "typetext" : "<string>"
44660702
DM
32910 },
32911 "pos" : {
32912 "description" : "Update rule at position <pos>.",
32913 "minimum" : 0,
32914 "optional" : 1,
4bd7df8b 32915 "type" : "integer",
013dc89f 32916 "typetext" : "<integer> (0 - N)"
44660702
DM
32917 },
32918 "proto" : {
32919 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
32920 "format" : "pve-fw-protocol-spec",
56122987 32921 "optional" : 1,
013dc89f
DM
32922 "type" : "string",
32923 "typetext" : "<string>"
56122987 32924 },
7aacca6f 32925 "source" : {
7aacca6f 32926 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
44660702
DM
32927 "format" : "pve-fw-addr-spec",
32928 "optional" : 1,
013dc89f
DM
32929 "type" : "string",
32930 "typetext" : "<string>"
7aacca6f 32931 },
44660702
DM
32932 "sport" : {
32933 "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.",
32934 "format" : "pve-fw-sport-spec",
7aacca6f 32935 "optional" : 1,
013dc89f
DM
32936 "type" : "string",
32937 "typetext" : "<string>"
44660702
DM
32938 },
32939 "type" : {
e94f0d56 32940 "description" : "Rule type.",
44660702
DM
32941 "enum" : [
32942 "in",
32943 "out",
32944 "group"
32945 ],
32946 "optional" : 0,
32947 "type" : "string"
56122987 32948 }
44660702 32949 }
7aacca6f 32950 },
56122987
DM
32951 "permissions" : {
32952 "check" : [
32953 "perm",
32954 "/nodes/{node}",
32955 [
32956 "Sys.Modify"
32957 ]
32958 ]
32959 },
44660702
DM
32960 "protected" : 1,
32961 "proxyto" : "node",
32962 "returns" : {
32963 "type" : "null"
32964 }
56122987
DM
32965 }
32966 },
44660702 32967 "leaf" : 0,
7aacca6f 32968 "path" : "/nodes/{node}/firewall/rules",
44660702 32969 "text" : "rules"
56122987
DM
32970 },
32971 {
56122987 32972 "info" : {
44660702
DM
32973 "GET" : {
32974 "description" : "Get host firewall options.",
32975 "method" : "GET",
32976 "name" : "get_options",
56122987 32977 "parameters" : {
7aacca6f 32978 "additionalProperties" : 0,
56122987 32979 "properties" : {
44660702
DM
32980 "node" : {
32981 "description" : "The cluster node name.",
32982 "format" : "pve-node",
013dc89f
DM
32983 "type" : "string",
32984 "typetext" : "<string>"
44660702
DM
32985 }
32986 }
32987 },
32988 "permissions" : {
32989 "check" : [
32990 "perm",
32991 "/nodes/{node}",
32992 [
32993 "Sys.Audit"
32994 ]
32995 ]
32996 },
32997 "proxyto" : "node",
32998 "returns" : {
32999 "properties" : {
33000 "enable" : {
33001 "description" : "Enable host firewall rules.",
7aacca6f 33002 "optional" : 1,
44660702 33003 "type" : "boolean"
7aacca6f 33004 },
44660702
DM
33005 "log_level_in" : {
33006 "description" : "Log level for incoming traffic.",
56122987
DM
33007 "enum" : [
33008 "emerg",
33009 "alert",
33010 "crit",
33011 "err",
33012 "warning",
33013 "notice",
33014 "info",
33015 "debug",
33016 "nolog"
33017 ],
56122987 33018 "optional" : 1,
44660702
DM
33019 "type" : "string"
33020 },
33021 "log_level_out" : {
33022 "description" : "Log level for outgoing traffic.",
56122987
DM
33023 "enum" : [
33024 "emerg",
33025 "alert",
33026 "crit",
33027 "err",
33028 "warning",
33029 "notice",
33030 "info",
33031 "debug",
33032 "nolog"
33033 ],
44660702
DM
33034 "optional" : 1,
33035 "type" : "string"
33036 },
95895385
TL
33037 "log_nf_conntrack" : {
33038 "default" : 0,
33039 "description" : "Enable logging of conntrack information.",
33040 "optional" : 1,
33041 "type" : "boolean"
33042 },
44660702 33043 "ndp" : {
5c1699e5
TL
33044 "default" : 0,
33045 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702
DM
33046 "optional" : 1,
33047 "type" : "boolean"
33048 },
5f26e15b
TL
33049 "nf_conntrack_allow_invalid" : {
33050 "default" : 0,
33051 "description" : "Allow invalid packets on connection tracking.",
33052 "optional" : 1,
33053 "type" : "boolean"
33054 },
44660702 33055 "nf_conntrack_max" : {
5c1699e5 33056 "default" : 262144,
44660702
DM
33057 "description" : "Maximum number of tracked connections.",
33058 "minimum" : 32768,
33059 "optional" : 1,
33060 "type" : "integer"
33061 },
33062 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 33063 "default" : 432000,
44660702
DM
33064 "description" : "Conntrack established timeout.",
33065 "minimum" : 7875,
33066 "optional" : 1,
33067 "type" : "integer"
33068 },
5c1699e5
TL
33069 "nf_conntrack_tcp_timeout_syn_recv" : {
33070 "default" : 60,
33071 "description" : "Conntrack syn recv timeout.",
33072 "maximum" : 60,
33073 "minimum" : 30,
33074 "optional" : 1,
33075 "type" : "integer"
33076 },
44660702
DM
33077 "nosmurfs" : {
33078 "description" : "Enable SMURFS filter.",
33079 "optional" : 1,
33080 "type" : "boolean"
56122987 33081 },
5c1699e5
TL
33082 "protection_synflood" : {
33083 "default" : 0,
33084 "description" : "Enable synflood protection",
33085 "optional" : 1,
33086 "type" : "boolean"
33087 },
33088 "protection_synflood_burst" : {
33089 "default" : 1000,
33090 "description" : "Synflood protection rate burst by ip src.",
33091 "optional" : 1,
33092 "type" : "integer"
33093 },
33094 "protection_synflood_rate" : {
33095 "default" : 200,
33096 "description" : "Synflood protection rate syn/sec by ip src.",
33097 "optional" : 1,
33098 "type" : "integer"
33099 },
7aacca6f 33100 "smurf_log_level" : {
44660702 33101 "description" : "Log level for SMURFS filter.",
56122987
DM
33102 "enum" : [
33103 "emerg",
33104 "alert",
33105 "crit",
33106 "err",
33107 "warning",
33108 "notice",
33109 "info",
33110 "debug",
33111 "nolog"
7aacca6f 33112 ],
7aacca6f
DM
33113 "optional" : 1,
33114 "type" : "string"
56122987 33115 },
44660702
DM
33116 "tcp_flags_log_level" : {
33117 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
33118 "enum" : [
33119 "emerg",
33120 "alert",
33121 "crit",
33122 "err",
33123 "warning",
33124 "notice",
33125 "info",
33126 "debug",
33127 "nolog"
33128 ],
44660702
DM
33129 "optional" : 1,
33130 "type" : "string"
7aacca6f 33131 },
44660702 33132 "tcpflags" : {
5c1699e5 33133 "default" : 0,
44660702 33134 "description" : "Filter illegal combinations of TCP flags.",
56122987 33135 "optional" : 1,
44660702 33136 "type" : "boolean"
56122987 33137 }
44660702
DM
33138 },
33139 "type" : "object"
7aacca6f 33140 }
56122987 33141 },
44660702
DM
33142 "PUT" : {
33143 "description" : "Set Firewall options.",
33144 "method" : "PUT",
33145 "name" : "set_options",
7aacca6f 33146 "parameters" : {
44660702 33147 "additionalProperties" : 0,
7aacca6f 33148 "properties" : {
44660702
DM
33149 "delete" : {
33150 "description" : "A list of settings you want to delete.",
33151 "format" : "pve-configid-list",
7aacca6f 33152 "optional" : 1,
013dc89f
DM
33153 "type" : "string",
33154 "typetext" : "<string>"
56122987 33155 },
44660702
DM
33156 "digest" : {
33157 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
33158 "maxLength" : 40,
33159 "optional" : 1,
013dc89f
DM
33160 "type" : "string",
33161 "typetext" : "<string>"
56122987 33162 },
44660702
DM
33163 "enable" : {
33164 "description" : "Enable host firewall rules.",
7aacca6f 33165 "optional" : 1,
013dc89f
DM
33166 "type" : "boolean",
33167 "typetext" : "<boolean>"
44660702
DM
33168 },
33169 "log_level_in" : {
33170 "description" : "Log level for incoming traffic.",
56122987
DM
33171 "enum" : [
33172 "emerg",
33173 "alert",
33174 "crit",
33175 "err",
33176 "warning",
33177 "notice",
33178 "info",
33179 "debug",
33180 "nolog"
44660702 33181 ],
7aacca6f 33182 "optional" : 1,
44660702 33183 "type" : "string"
7aacca6f 33184 },
44660702
DM
33185 "log_level_out" : {
33186 "description" : "Log level for outgoing traffic.",
56122987
DM
33187 "enum" : [
33188 "emerg",
33189 "alert",
33190 "crit",
33191 "err",
33192 "warning",
33193 "notice",
33194 "info",
33195 "debug",
33196 "nolog"
33197 ],
33198 "optional" : 1,
7aacca6f 33199 "type" : "string"
56122987 33200 },
95895385
TL
33201 "log_nf_conntrack" : {
33202 "default" : 0,
33203 "description" : "Enable logging of conntrack information.",
33204 "optional" : 1,
33205 "type" : "boolean",
33206 "typetext" : "<boolean>"
33207 },
44660702 33208 "ndp" : {
5c1699e5
TL
33209 "default" : 0,
33210 "description" : "Enable NDP (Neighbor Discovery Protocol).",
7aacca6f 33211 "optional" : 1,
013dc89f
DM
33212 "type" : "boolean",
33213 "typetext" : "<boolean>"
44660702 33214 },
5f26e15b
TL
33215 "nf_conntrack_allow_invalid" : {
33216 "default" : 0,
33217 "description" : "Allow invalid packets on connection tracking.",
33218 "optional" : 1,
33219 "type" : "boolean",
33220 "typetext" : "<boolean>"
33221 },
44660702 33222 "nf_conntrack_max" : {
5c1699e5 33223 "default" : 262144,
44660702
DM
33224 "description" : "Maximum number of tracked connections.",
33225 "minimum" : 32768,
33226 "optional" : 1,
4bd7df8b 33227 "type" : "integer",
013dc89f 33228 "typetext" : "<integer> (32768 - N)"
44660702
DM
33229 },
33230 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 33231 "default" : 432000,
44660702
DM
33232 "description" : "Conntrack established timeout.",
33233 "minimum" : 7875,
33234 "optional" : 1,
4bd7df8b 33235 "type" : "integer",
013dc89f 33236 "typetext" : "<integer> (7875 - N)"
44660702 33237 },
5c1699e5
TL
33238 "nf_conntrack_tcp_timeout_syn_recv" : {
33239 "default" : 60,
33240 "description" : "Conntrack syn recv timeout.",
33241 "maximum" : 60,
33242 "minimum" : 30,
33243 "optional" : 1,
33244 "type" : "integer",
33245 "typetext" : "<integer> (30 - 60)"
33246 },
44660702
DM
33247 "node" : {
33248 "description" : "The cluster node name.",
33249 "format" : "pve-node",
013dc89f
DM
33250 "type" : "string",
33251 "typetext" : "<string>"
44660702
DM
33252 },
33253 "nosmurfs" : {
33254 "description" : "Enable SMURFS filter.",
33255 "optional" : 1,
013dc89f
DM
33256 "type" : "boolean",
33257 "typetext" : "<boolean>"
44660702 33258 },
5c1699e5
TL
33259 "protection_synflood" : {
33260 "default" : 0,
33261 "description" : "Enable synflood protection",
33262 "optional" : 1,
33263 "type" : "boolean",
33264 "typetext" : "<boolean>"
33265 },
33266 "protection_synflood_burst" : {
33267 "default" : 1000,
33268 "description" : "Synflood protection rate burst by ip src.",
33269 "optional" : 1,
33270 "type" : "integer",
33271 "typetext" : "<integer>"
33272 },
33273 "protection_synflood_rate" : {
33274 "default" : 200,
33275 "description" : "Synflood protection rate syn/sec by ip src.",
33276 "optional" : 1,
33277 "type" : "integer",
33278 "typetext" : "<integer>"
33279 },
44660702
DM
33280 "smurf_log_level" : {
33281 "description" : "Log level for SMURFS filter.",
56122987
DM
33282 "enum" : [
33283 "emerg",
33284 "alert",
33285 "crit",
33286 "err",
33287 "warning",
33288 "notice",
33289 "info",
33290 "debug",
33291 "nolog"
44660702
DM
33292 ],
33293 "optional" : 1,
33294 "type" : "string"
56122987 33295 },
44660702
DM
33296 "tcp_flags_log_level" : {
33297 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
33298 "enum" : [
33299 "emerg",
33300 "alert",
33301 "crit",
33302 "err",
33303 "warning",
33304 "notice",
33305 "info",
33306 "debug",
33307 "nolog"
33308 ],
44660702
DM
33309 "optional" : 1,
33310 "type" : "string"
7aacca6f 33311 },
44660702 33312 "tcpflags" : {
5c1699e5 33313 "default" : 0,
44660702 33314 "description" : "Filter illegal combinations of TCP flags.",
56122987 33315 "optional" : 1,
013dc89f
DM
33316 "type" : "boolean",
33317 "typetext" : "<boolean>"
56122987 33318 }
7aacca6f 33319 }
56122987 33320 },
44660702
DM
33321 "permissions" : {
33322 "check" : [
33323 "perm",
33324 "/nodes/{node}",
33325 [
33326 "Sys.Modify"
33327 ]
33328 ]
33329 },
33330 "protected" : 1,
33331 "proxyto" : "node",
33332 "returns" : {
33333 "type" : "null"
33334 }
7aacca6f
DM
33335 }
33336 },
44660702
DM
33337 "leaf" : 1,
33338 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
33339 "text" : "options"
33340 },
33341 {
7aacca6f
DM
33342 "info" : {
33343 "GET" : {
44660702
DM
33344 "description" : "Read firewall log",
33345 "method" : "GET",
7aacca6f 33346 "name" : "log",
56122987 33347 "parameters" : {
44660702 33348 "additionalProperties" : 0,
56122987 33349 "properties" : {
7aacca6f 33350 "limit" : {
44660702 33351 "minimum" : 0,
7aacca6f 33352 "optional" : 1,
4bd7df8b 33353 "type" : "integer",
013dc89f 33354 "typetext" : "<integer> (0 - N)"
7aacca6f 33355 },
56122987 33356 "node" : {
7aacca6f 33357 "description" : "The cluster node name.",
44660702 33358 "format" : "pve-node",
013dc89f
DM
33359 "type" : "string",
33360 "typetext" : "<string>"
44660702
DM
33361 },
33362 "start" : {
33363 "minimum" : 0,
33364 "optional" : 1,
4bd7df8b 33365 "type" : "integer",
013dc89f 33366 "typetext" : "<integer> (0 - N)"
56122987 33367 }
44660702 33368 }
7aacca6f 33369 },
56122987
DM
33370 "permissions" : {
33371 "check" : [
33372 "perm",
33373 "/nodes/{node}",
33374 [
33375 "Sys.Syslog"
33376 ]
33377 ]
33378 },
44660702
DM
33379 "protected" : 1,
33380 "proxyto" : "node",
56122987
DM
33381 "returns" : {
33382 "items" : {
56122987 33383 "properties" : {
56122987 33384 "n" : {
44660702
DM
33385 "description" : "Line number",
33386 "type" : "integer"
7aacca6f
DM
33387 },
33388 "t" : {
44660702
DM
33389 "description" : "Line text",
33390 "type" : "string"
56122987 33391 }
44660702
DM
33392 },
33393 "type" : "object"
56122987
DM
33394 },
33395 "type" : "array"
7aacca6f 33396 }
56122987
DM
33397 }
33398 },
44660702
DM
33399 "leaf" : 1,
33400 "path" : "/nodes/{node}/firewall/log",
7aacca6f 33401 "text" : "log"
56122987
DM
33402 }
33403 ],
33404 "info" : {
33405 "GET" : {
44660702
DM
33406 "description" : "Directory index.",
33407 "method" : "GET",
33408 "name" : "index",
56122987 33409 "parameters" : {
44660702 33410 "additionalProperties" : 0,
56122987
DM
33411 "properties" : {
33412 "node" : {
33413 "description" : "The cluster node name.",
44660702 33414 "format" : "pve-node",
013dc89f
DM
33415 "type" : "string",
33416 "typetext" : "<string>"
56122987 33417 }
44660702 33418 }
56122987 33419 },
7aacca6f
DM
33420 "permissions" : {
33421 "user" : "all"
33422 },
56122987
DM
33423 "returns" : {
33424 "items" : {
33425 "properties" : {},
33426 "type" : "object"
33427 },
56122987
DM
33428 "links" : [
33429 {
44660702
DM
33430 "href" : "{name}",
33431 "rel" : "child"
56122987 33432 }
44660702
DM
33433 ],
33434 "type" : "array"
33435 }
56122987 33436 }
7aacca6f 33437 },
44660702 33438 "leaf" : 0,
7aacca6f 33439 "path" : "/nodes/{node}/firewall",
44660702 33440 "text" : "firewall"
56122987 33441 },
5d9c884c
DM
33442 {
33443 "children" : [
33444 {
33445 "children" : [
33446 {
33447 "info" : {
33448 "GET" : {
33449 "description" : "Get replication job status.",
33450 "method" : "GET",
33451 "name" : "job_status",
33452 "parameters" : {
33453 "additionalProperties" : 0,
33454 "properties" : {
33455 "id" : {
33456 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
33457 "format" : "pve-replication-job-id",
33458 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
33459 "type" : "string"
33460 },
33461 "node" : {
33462 "description" : "The cluster node name.",
33463 "format" : "pve-node",
33464 "type" : "string",
33465 "typetext" : "<string>"
33466 }
33467 }
33468 },
33469 "permissions" : {
33470 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
33471 "user" : "all"
33472 },
33473 "protected" : 1,
33474 "proxyto" : "node",
33475 "returns" : {
5d9c884c
DM
33476 "type" : "object"
33477 }
33478 }
33479 },
33480 "leaf" : 1,
33481 "path" : "/nodes/{node}/replication/{id}/status",
33482 "text" : "status"
33483 },
33484 {
33485 "info" : {
33486 "GET" : {
33487 "description" : "Read replication job log.",
33488 "method" : "GET",
33489 "name" : "read_job_log",
33490 "parameters" : {
33491 "additionalProperties" : 0,
33492 "properties" : {
33493 "id" : {
33494 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
33495 "format" : "pve-replication-job-id",
33496 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
33497 "type" : "string"
33498 },
33499 "limit" : {
33500 "minimum" : 0,
33501 "optional" : 1,
33502 "type" : "integer",
33503 "typetext" : "<integer> (0 - N)"
33504 },
33505 "node" : {
33506 "description" : "The cluster node name.",
33507 "format" : "pve-node",
33508 "type" : "string",
33509 "typetext" : "<string>"
33510 },
33511 "start" : {
33512 "minimum" : 0,
33513 "optional" : 1,
33514 "type" : "integer",
33515 "typetext" : "<integer> (0 - N)"
33516 }
33517 }
33518 },
33519 "permissions" : {
33520 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
33521 "user" : "all"
33522 },
33523 "protected" : 1,
33524 "proxyto" : "node",
33525 "returns" : {
33526 "items" : {
33527 "properties" : {
33528 "n" : {
33529 "description" : "Line number",
33530 "type" : "integer"
33531 },
33532 "t" : {
33533 "description" : "Line text",
33534 "type" : "string"
33535 }
33536 },
33537 "type" : "object"
33538 },
33539 "type" : "array"
33540 }
33541 }
33542 },
33543 "leaf" : 1,
33544 "path" : "/nodes/{node}/replication/{id}/log",
33545 "text" : "log"
33546 },
33547 {
33548 "info" : {
33549 "POST" : {
33550 "description" : "Schedule replication job to start as soon as possible.",
33551 "method" : "POST",
33552 "name" : "schedule_now",
33553 "parameters" : {
33554 "additionalProperties" : 0,
33555 "properties" : {
33556 "id" : {
33557 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
33558 "format" : "pve-replication-job-id",
33559 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
33560 "type" : "string"
33561 },
33562 "node" : {
33563 "description" : "The cluster node name.",
33564 "format" : "pve-node",
33565 "type" : "string",
33566 "typetext" : "<string>"
33567 }
33568 }
33569 },
33570 "permissions" : {
33571 "check" : [
33572 "perm",
33573 "/storage",
33574 [
33575 "Datastore.Allocate"
33576 ]
33577 ]
33578 },
33579 "protected" : 1,
33580 "proxyto" : "node",
33581 "returns" : {
33582 "type" : "string"
33583 }
33584 }
33585 },
33586 "leaf" : 1,
33587 "path" : "/nodes/{node}/replication/{id}/schedule_now",
33588 "text" : "schedule_now"
33589 }
33590 ],
33591 "info" : {
33592 "GET" : {
33593 "description" : "Directory index.",
33594 "method" : "GET",
33595 "name" : "index",
33596 "parameters" : {
33597 "additionalProperties" : 0,
33598 "properties" : {
33599 "id" : {
33600 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
33601 "format" : "pve-replication-job-id",
33602 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
33603 "type" : "string"
33604 },
33605 "node" : {
33606 "description" : "The cluster node name.",
33607 "format" : "pve-node",
33608 "type" : "string",
33609 "typetext" : "<string>"
33610 }
33611 }
33612 },
33613 "permissions" : {
33614 "user" : "all"
33615 },
33616 "returns" : {
33617 "items" : {
33618 "properties" : {},
33619 "type" : "object"
33620 },
33621 "links" : [
33622 {
33623 "href" : "{name}",
33624 "rel" : "child"
33625 }
33626 ],
33627 "type" : "array"
33628 }
33629 }
33630 },
33631 "leaf" : 0,
33632 "path" : "/nodes/{node}/replication/{id}",
33633 "text" : "{id}"
33634 }
33635 ],
33636 "info" : {
33637 "GET" : {
33638 "description" : "List status of all replication jobs on this node.",
33639 "method" : "GET",
33640 "name" : "status",
33641 "parameters" : {
33642 "additionalProperties" : 0,
33643 "properties" : {
33644 "guest" : {
33645 "description" : "Only list replication jobs for this guest.",
33646 "format" : "pve-vmid",
33647 "minimum" : 1,
33648 "optional" : 1,
33649 "type" : "integer",
33650 "typetext" : "<integer> (1 - N)"
33651 },
33652 "node" : {
33653 "description" : "The cluster node name.",
33654 "format" : "pve-node",
33655 "type" : "string",
33656 "typetext" : "<string>"
33657 }
33658 }
33659 },
33660 "permissions" : {
33661 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
33662 "user" : "all"
33663 },
33664 "protected" : 1,
33665 "proxyto" : "node",
33666 "returns" : {
33667 "items" : {
33668 "properties" : {
33669 "id" : {
33670 "type" : "string"
33671 }
33672 },
33673 "type" : "object"
33674 },
33675 "links" : [
33676 {
33677 "href" : "{id}",
33678 "rel" : "child"
33679 }
33680 ],
33681 "type" : "array"
33682 }
33683 }
33684 },
33685 "leaf" : 0,
33686 "path" : "/nodes/{node}/replication",
33687 "text" : "replication"
33688 },
a9a8e3d1
DM
33689 {
33690 "children" : [
33691 {
33692 "children" : [
33693 {
33694 "info" : {
33695 "DELETE" : {
33696 "description" : "Revoke existing certificate from CA.",
33697 "method" : "DELETE",
33698 "name" : "revoke_certificate",
33699 "parameters" : {
33700 "additionalProperties" : 0,
33701 "properties" : {
33702 "node" : {
33703 "description" : "The cluster node name.",
33704 "format" : "pve-node",
33705 "type" : "string",
33706 "typetext" : "<string>"
33707 }
33708 }
33709 },
33710 "protected" : 1,
33711 "proxyto" : "node",
33712 "returns" : {
33713 "type" : "string"
33714 }
33715 },
33716 "POST" : {
33717 "description" : "Order a new certificate from ACME-compatible CA.",
33718 "method" : "POST",
33719 "name" : "new_certificate",
33720 "parameters" : {
33721 "additionalProperties" : 0,
33722 "properties" : {
33723 "force" : {
33724 "default" : 0,
33725 "description" : "Overwrite existing custom certificate.",
33726 "optional" : 1,
33727 "type" : "boolean",
33728 "typetext" : "<boolean>"
33729 },
33730 "node" : {
33731 "description" : "The cluster node name.",
33732 "format" : "pve-node",
33733 "type" : "string",
33734 "typetext" : "<string>"
33735 }
33736 }
33737 },
33738 "protected" : 1,
33739 "proxyto" : "node",
33740 "returns" : {
33741 "type" : "string"
33742 }
33743 },
33744 "PUT" : {
33745 "description" : "Renew existing certificate from CA.",
33746 "method" : "PUT",
33747 "name" : "renew_certificate",
33748 "parameters" : {
33749 "additionalProperties" : 0,
33750 "properties" : {
33751 "force" : {
33752 "default" : 0,
33753 "description" : "Force renewal even if expiry is more than 30 days away.",
33754 "optional" : 1,
33755 "type" : "boolean",
33756 "typetext" : "<boolean>"
33757 },
33758 "node" : {
33759 "description" : "The cluster node name.",
33760 "format" : "pve-node",
33761 "type" : "string",
33762 "typetext" : "<string>"
33763 }
33764 }
33765 },
33766 "protected" : 1,
33767 "proxyto" : "node",
33768 "returns" : {
33769 "type" : "string"
33770 }
33771 }
33772 },
33773 "leaf" : 1,
33774 "path" : "/nodes/{node}/certificates/acme/certificate",
33775 "text" : "certificate"
33776 }
33777 ],
33778 "info" : {
33779 "GET" : {
33780 "description" : "ACME index.",
33781 "method" : "GET",
33782 "name" : "index",
33783 "parameters" : {
33784 "additionalProperties" : 0,
33785 "properties" : {
33786 "node" : {
33787 "description" : "The cluster node name.",
33788 "format" : "pve-node",
33789 "type" : "string",
33790 "typetext" : "<string>"
33791 }
33792 }
33793 },
33794 "permissions" : {
33795 "user" : "all"
33796 },
33797 "returns" : {
33798 "items" : {
33799 "properties" : {},
33800 "type" : "object"
33801 },
33802 "links" : [
33803 {
33804 "href" : "{name}",
33805 "rel" : "child"
33806 }
33807 ],
33808 "type" : "array"
33809 }
33810 }
33811 },
33812 "leaf" : 0,
33813 "path" : "/nodes/{node}/certificates/acme",
33814 "text" : "acme"
33815 },
33816 {
33817 "info" : {
33818 "GET" : {
33819 "description" : "Get information about node's certificates.",
33820 "method" : "GET",
33821 "name" : "info",
33822 "parameters" : {
33823 "additionalProperties" : 0,
33824 "properties" : {
33825 "node" : {
33826 "description" : "The cluster node name.",
33827 "format" : "pve-node",
33828 "type" : "string",
33829 "typetext" : "<string>"
33830 }
33831 }
33832 },
33833 "permissions" : {
33834 "user" : "all"
33835 },
33836 "proxyto" : "node",
33837 "returns" : {
33838 "items" : {
33839 "properties" : {
33840 "filename" : {
33841 "optional" : 1,
33842 "type" : "string"
33843 },
33844 "fingerprint" : {
33845 "description" : "Certificate SHA 256 fingerprint.",
33846 "optional" : 1,
33847 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
33848 "type" : "string"
33849 },
33850 "issuer" : {
33851 "description" : "Certificate issuer name.",
33852 "optional" : 1,
33853 "type" : "string"
33854 },
33855 "notafter" : {
33856 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
33857 "optional" : 1,
4d47f125 33858 "renderer" : "timestamp",
a9a8e3d1
DM
33859 "type" : "integer"
33860 },
33861 "notbefore" : {
33862 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
33863 "optional" : 1,
4d47f125 33864 "renderer" : "timestamp",
a9a8e3d1
DM
33865 "type" : "integer"
33866 },
33867 "pem" : {
33868 "description" : "Certificate in PEM format",
33869 "format" : "pem-certificate",
33870 "optional" : 1,
33871 "type" : "string"
33872 },
1c532546
TL
33873 "public-key-bits" : {
33874 "description" : "Certificate's public key size",
33875 "optional" : 1,
33876 "type" : "integer"
33877 },
33878 "public-key-type" : {
33879 "description" : "Certificate's public key algorithm",
33880 "optional" : 1,
33881 "type" : "string"
33882 },
a9a8e3d1
DM
33883 "san" : {
33884 "description" : "List of Certificate's SubjectAlternativeName entries.",
33885 "items" : {
33886 "type" : "string"
33887 },
33888 "optional" : 1,
4d47f125 33889 "renderer" : "yaml",
a9a8e3d1
DM
33890 "type" : "array"
33891 },
33892 "subject" : {
33893 "description" : "Certificate subject name.",
33894 "optional" : 1,
33895 "type" : "string"
33896 }
33897 },
33898 "type" : "object"
33899 },
33900 "type" : "array"
33901 }
33902 }
33903 },
33904 "leaf" : 1,
33905 "path" : "/nodes/{node}/certificates/info",
33906 "text" : "info"
33907 },
33908 {
33909 "info" : {
33910 "DELETE" : {
33911 "description" : "DELETE custom certificate chain and key.",
33912 "method" : "DELETE",
33913 "name" : "remove_custom_cert",
33914 "parameters" : {
33915 "additionalProperties" : 0,
33916 "properties" : {
33917 "node" : {
33918 "description" : "The cluster node name.",
33919 "format" : "pve-node",
33920 "type" : "string",
33921 "typetext" : "<string>"
33922 },
33923 "restart" : {
33924 "default" : 0,
33925 "description" : "Restart pveproxy.",
33926 "optional" : 1,
33927 "type" : "boolean",
33928 "typetext" : "<boolean>"
33929 }
33930 }
33931 },
33932 "protected" : 1,
33933 "proxyto" : "node",
33934 "returns" : {
33935 "type" : "null"
33936 }
33937 },
33938 "POST" : {
33939 "description" : "Upload or update custom certificate chain and key.",
33940 "method" : "POST",
33941 "name" : "upload_custom_cert",
33942 "parameters" : {
33943 "additionalProperties" : 0,
33944 "properties" : {
33945 "certificates" : {
33946 "description" : "PEM encoded certificate (chain).",
33947 "format" : "pem-certificate-chain",
33948 "type" : "string",
33949 "typetext" : "<string>"
33950 },
33951 "force" : {
33952 "default" : 0,
33953 "description" : "Overwrite existing custom or ACME certificate files.",
33954 "optional" : 1,
33955 "type" : "boolean",
33956 "typetext" : "<boolean>"
33957 },
33958 "key" : {
33959 "description" : "PEM encoded private key.",
33960 "format" : "pem-string",
33961 "optional" : 1,
33962 "type" : "string",
33963 "typetext" : "<string>"
33964 },
33965 "node" : {
33966 "description" : "The cluster node name.",
33967 "format" : "pve-node",
33968 "type" : "string",
33969 "typetext" : "<string>"
33970 },
33971 "restart" : {
33972 "default" : 0,
33973 "description" : "Restart pveproxy.",
33974 "optional" : 1,
33975 "type" : "boolean",
33976 "typetext" : "<boolean>"
33977 }
33978 }
33979 },
33980 "protected" : 1,
33981 "proxyto" : "node",
33982 "returns" : {
33983 "properties" : {
33984 "filename" : {
33985 "optional" : 1,
33986 "type" : "string"
33987 },
33988 "fingerprint" : {
33989 "description" : "Certificate SHA 256 fingerprint.",
33990 "optional" : 1,
33991 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
33992 "type" : "string"
33993 },
33994 "issuer" : {
33995 "description" : "Certificate issuer name.",
33996 "optional" : 1,
33997 "type" : "string"
33998 },
33999 "notafter" : {
34000 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
34001 "optional" : 1,
4d47f125 34002 "renderer" : "timestamp",
a9a8e3d1
DM
34003 "type" : "integer"
34004 },
34005 "notbefore" : {
34006 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
34007 "optional" : 1,
4d47f125 34008 "renderer" : "timestamp",
a9a8e3d1
DM
34009 "type" : "integer"
34010 },
34011 "pem" : {
34012 "description" : "Certificate in PEM format",
34013 "format" : "pem-certificate",
34014 "optional" : 1,
34015 "type" : "string"
34016 },
1c532546
TL
34017 "public-key-bits" : {
34018 "description" : "Certificate's public key size",
34019 "optional" : 1,
34020 "type" : "integer"
34021 },
34022 "public-key-type" : {
34023 "description" : "Certificate's public key algorithm",
34024 "optional" : 1,
34025 "type" : "string"
34026 },
a9a8e3d1
DM
34027 "san" : {
34028 "description" : "List of Certificate's SubjectAlternativeName entries.",
34029 "items" : {
34030 "type" : "string"
34031 },
34032 "optional" : 1,
4d47f125 34033 "renderer" : "yaml",
a9a8e3d1
DM
34034 "type" : "array"
34035 },
34036 "subject" : {
34037 "description" : "Certificate subject name.",
34038 "optional" : 1,
34039 "type" : "string"
34040 }
34041 },
34042 "type" : "object"
34043 }
34044 }
34045 },
34046 "leaf" : 1,
34047 "path" : "/nodes/{node}/certificates/custom",
34048 "text" : "custom"
34049 }
34050 ],
34051 "info" : {
34052 "GET" : {
34053 "description" : "Node index.",
34054 "method" : "GET",
34055 "name" : "index",
34056 "parameters" : {
34057 "additionalProperties" : 0,
34058 "properties" : {
34059 "node" : {
34060 "description" : "The cluster node name.",
34061 "format" : "pve-node",
34062 "type" : "string",
34063 "typetext" : "<string>"
34064 }
34065 }
34066 },
34067 "permissions" : {
34068 "user" : "all"
34069 },
34070 "returns" : {
34071 "items" : {
34072 "properties" : {},
34073 "type" : "object"
34074 },
34075 "links" : [
34076 {
34077 "href" : "{name}",
34078 "rel" : "child"
34079 }
34080 ],
34081 "type" : "array"
34082 }
34083 }
34084 },
34085 "leaf" : 0,
34086 "path" : "/nodes/{node}/certificates",
34087 "text" : "certificates"
34088 },
34089 {
34090 "info" : {
34091 "GET" : {
34092 "description" : "Get node configuration options.",
34093 "method" : "GET",
34094 "name" : "get_config",
34095 "parameters" : {
34096 "additionalProperties" : 0,
34097 "properties" : {
34098 "node" : {
34099 "description" : "The cluster node name.",
34100 "format" : "pve-node",
34101 "type" : "string",
34102 "typetext" : "<string>"
5c1699e5
TL
34103 },
34104 "property" : {
34105 "default" : "all",
34106 "description" : "Return only a specific property from the node configuration.",
34107 "enum" : [
34108 "acme",
34109 "description",
34110 "startall-onboot-delay",
34111 "wakeonlan"
34112 ],
34113 "optional" : 1,
34114 "type" : "string"
a9a8e3d1
DM
34115 }
34116 }
34117 },
34118 "permissions" : {
34119 "check" : [
34120 "perm",
34121 "/",
34122 [
34123 "Sys.Audit"
34124 ]
34125 ]
34126 },
34127 "proxyto" : "node",
34128 "returns" : {
a9a8e3d1
DM
34129 "type" : "object"
34130 }
34131 },
34132 "PUT" : {
34133 "description" : "Set node configuration options.",
34134 "method" : "PUT",
34135 "name" : "set_options",
34136 "parameters" : {
34137 "additionalProperties" : 0,
34138 "properties" : {
34139 "acme" : {
34140 "description" : "Node specific ACME settings.",
34141 "format" : {
34142 "account" : {
34143 "default" : "default",
34144 "description" : "ACME account config file name.",
34145 "format" : "pve-configid",
34146 "format_description" : "name",
34147 "optional" : 1,
34148 "type" : "string"
34149 },
34150 "domains" : {
34151 "description" : "List of domains for this node's ACME certificate",
34152 "format" : "pve-acme-domain-list",
34153 "format_description" : "domain[;domain;...]",
34154 "type" : "string"
34155 }
34156 },
34157 "optional" : 1,
34158 "type" : "string",
34159 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
34160 },
34161 "delete" : {
34162 "description" : "A list of settings you want to delete.",
34163 "format" : "pve-configid-list",
34164 "optional" : 1,
34165 "type" : "string",
34166 "typetext" : "<string>"
34167 },
34168 "description" : {
34169 "description" : "Node description/comment.",
34170 "optional" : 1,
34171 "type" : "string",
34172 "typetext" : "<string>"
34173 },
34174 "digest" : {
34175 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34176 "maxLength" : 40,
34177 "optional" : 1,
34178 "type" : "string",
34179 "typetext" : "<string>"
34180 },
34181 "node" : {
34182 "description" : "The cluster node name.",
34183 "format" : "pve-node",
34184 "type" : "string",
34185 "typetext" : "<string>"
5f26e15b 34186 },
5c1699e5
TL
34187 "startall-onboot-delay" : {
34188 "default" : 0,
34189 "description" : "Initial delay in seconds, before starting all the Virtual Guests with on-boot enabled.",
34190 "maximum" : 300,
34191 "minimum" : 0,
34192 "optional" : 1,
34193 "type" : "integer",
34194 "typetext" : "<integer> (0 - 300)"
34195 },
5f26e15b
TL
34196 "wakeonlan" : {
34197 "description" : "MAC address for wake on LAN",
34198 "format" : "mac-addr",
34199 "optional" : 1,
34200 "type" : "string",
34201 "typetext" : "<string>"
a9a8e3d1
DM
34202 }
34203 }
34204 },
34205 "permissions" : {
34206 "check" : [
34207 "perm",
34208 "/",
34209 [
34210 "Sys.Modify"
34211 ]
34212 ]
34213 },
34214 "protected" : 1,
34215 "proxyto" : "node",
34216 "returns" : {
34217 "type" : "null"
34218 }
34219 }
34220 },
34221 "leaf" : 1,
34222 "path" : "/nodes/{node}/config",
34223 "text" : "config"
34224 },
56122987 34225 {
56122987
DM
34226 "info" : {
34227 "GET" : {
44660702
DM
34228 "description" : "API version details",
34229 "method" : "GET",
34230 "name" : "version",
56122987 34231 "parameters" : {
44660702 34232 "additionalProperties" : 0,
56122987
DM
34233 "properties" : {
34234 "node" : {
56122987 34235 "description" : "The cluster node name.",
44660702 34236 "format" : "pve-node",
013dc89f
DM
34237 "type" : "string",
34238 "typetext" : "<string>"
56122987 34239 }
44660702 34240 }
56122987 34241 },
56122987 34242 "permissions" : {
7aacca6f 34243 "user" : "all"
56122987 34244 },
56122987 34245 "proxyto" : "node",
56122987 34246 "returns" : {
56122987 34247 "properties" : {
44660702 34248 "release" : {
1e3f8156 34249 "description" : "The current installed Proxmox VE Release",
56122987
DM
34250 "type" : "string"
34251 },
44660702 34252 "repoid" : {
1e3f8156 34253 "description" : "The short git commit hash ID from which this version was build",
7aacca6f
DM
34254 "type" : "string"
34255 },
34256 "version" : {
1e3f8156 34257 "description" : "The current installed pve-manager package version",
7aacca6f
DM
34258 "type" : "string"
34259 }
44660702
DM
34260 },
34261 "type" : "object"
7aacca6f 34262 }
56122987
DM
34263 }
34264 },
56122987 34265 "leaf" : 1,
44660702
DM
34266 "path" : "/nodes/{node}/version",
34267 "text" : "version"
56122987
DM
34268 },
34269 {
56122987
DM
34270 "info" : {
34271 "GET" : {
7aacca6f 34272 "description" : "Read node status",
44660702 34273 "method" : "GET",
7aacca6f 34274 "name" : "status",
56122987 34275 "parameters" : {
44660702 34276 "additionalProperties" : 0,
56122987
DM
34277 "properties" : {
34278 "node" : {
7aacca6f 34279 "description" : "The cluster node name.",
44660702 34280 "format" : "pve-node",
013dc89f
DM
34281 "type" : "string",
34282 "typetext" : "<string>"
56122987 34283 }
44660702 34284 }
56122987 34285 },
56122987
DM
34286 "permissions" : {
34287 "check" : [
34288 "perm",
34289 "/nodes/{node}",
34290 [
34291 "Sys.Audit"
34292 ]
34293 ]
44660702
DM
34294 },
34295 "proxyto" : "node",
34296 "returns" : {
44660702 34297 "type" : "object"
7aacca6f
DM
34298 }
34299 },
34300 "POST" : {
44660702
DM
34301 "description" : "Reboot or shutdown a node.",
34302 "method" : "POST",
7aacca6f 34303 "name" : "node_cmd",
56122987 34304 "parameters" : {
44660702 34305 "additionalProperties" : 0,
56122987 34306 "properties" : {
7aacca6f
DM
34307 "command" : {
34308 "description" : "Specify the command.",
56122987 34309 "enum" : [
7aacca6f
DM
34310 "reboot",
34311 "shutdown"
56122987
DM
34312 ],
34313 "type" : "string"
44660702
DM
34314 },
34315 "node" : {
34316 "description" : "The cluster node name.",
34317 "format" : "pve-node",
013dc89f
DM
34318 "type" : "string",
34319 "typetext" : "<string>"
56122987 34320 }
44660702 34321 }
7aacca6f 34322 },
7aacca6f
DM
34323 "permissions" : {
34324 "check" : [
34325 "perm",
34326 "/nodes/{node}",
34327 [
34328 "Sys.PowerMgmt"
34329 ]
34330 ]
34331 },
44660702 34332 "protected" : 1,
7aacca6f 34333 "proxyto" : "node",
7aacca6f
DM
34334 "returns" : {
34335 "type" : "null"
56122987
DM
34336 }
34337 }
34338 },
7aacca6f 34339 "leaf" : 1,
44660702
DM
34340 "path" : "/nodes/{node}/status",
34341 "text" : "status"
56122987
DM
34342 },
34343 {
56122987
DM
34344 "info" : {
34345 "GET" : {
44660702
DM
34346 "description" : "Read tap/vm network device interface counters",
34347 "method" : "GET",
34348 "name" : "netstat",
34349 "parameters" : {
34350 "additionalProperties" : 0,
34351 "properties" : {
34352 "node" : {
34353 "description" : "The cluster node name.",
34354 "format" : "pve-node",
013dc89f
DM
34355 "type" : "string",
34356 "typetext" : "<string>"
44660702 34357 }
56122987
DM
34358 }
34359 },
34360 "permissions" : {
34361 "check" : [
34362 "perm",
34363 "/nodes/{node}",
34364 [
7aacca6f 34365 "Sys.Audit"
56122987
DM
34366 ]
34367 ]
34368 },
7aacca6f 34369 "proxyto" : "node",
44660702
DM
34370 "returns" : {
34371 "items" : {
34372 "properties" : {},
34373 "type" : "object"
34374 },
34375 "type" : "array"
34376 }
7aacca6f
DM
34377 }
34378 },
44660702
DM
34379 "leaf" : 1,
34380 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
34381 "text" : "netstat"
34382 },
34383 {
34384 "info" : {
34385 "POST" : {
7aacca6f 34386 "description" : "Execute multiple commands in order.",
7aacca6f 34387 "method" : "POST",
7aacca6f 34388 "name" : "execute",
56122987
DM
34389 "parameters" : {
34390 "additionalProperties" : 0,
34391 "properties" : {
7aacca6f
DM
34392 "commands" : {
34393 "description" : "JSON encoded array of commands.",
013dc89f
DM
34394 "type" : "string",
34395 "typetext" : "<string>"
56122987
DM
34396 },
34397 "node" : {
44660702 34398 "description" : "The cluster node name.",
56122987 34399 "format" : "pve-node",
013dc89f
DM
34400 "type" : "string",
34401 "typetext" : "<string>"
56122987
DM
34402 }
34403 }
44660702
DM
34404 },
34405 "permissions" : {
34406 "check" : [
34407 "perm",
34408 "/nodes/{node}",
34409 [
34410 "Sys.Audit"
34411 ]
34412 ]
34413 },
34414 "protected" : 1,
34415 "proxyto" : "node",
34416 "returns" : {
44660702 34417 "type" : "array"
56122987
DM
34418 }
34419 }
34420 },
56122987 34421 "leaf" : 1,
44660702
DM
34422 "path" : "/nodes/{node}/execute",
34423 "text" : "execute"
56122987 34424 },
5f26e15b
TL
34425 {
34426 "info" : {
34427 "POST" : {
34428 "description" : "Try to wake a node via 'wake on LAN' network packet.",
34429 "method" : "POST",
34430 "name" : "wakeonlan",
34431 "parameters" : {
34432 "additionalProperties" : 0,
34433 "properties" : {
34434 "node" : {
34435 "description" : "target node for wake on LAN packet",
34436 "format" : "pve-node",
34437 "type" : "string",
34438 "typetext" : "<string>"
34439 }
34440 }
34441 },
34442 "permissions" : {
34443 "check" : [
34444 "perm",
34445 "/nodes/{node}",
34446 [
34447 "Sys.PowerMgmt"
34448 ]
34449 ]
34450 },
34451 "protected" : 1,
34452 "returns" : {
34453 "description" : "MAC address used to assemble the WoL magic packet.",
34454 "format" : "mac-addr",
34455 "type" : "string"
34456 }
34457 }
34458 },
34459 "leaf" : 1,
34460 "path" : "/nodes/{node}/wakeonlan",
34461 "text" : "wakeonlan"
34462 },
56122987
DM
34463 {
34464 "info" : {
7aacca6f 34465 "GET" : {
44660702
DM
34466 "description" : "Read node RRD statistics (returns PNG)",
34467 "method" : "GET",
7aacca6f 34468 "name" : "rrd",
56122987 34469 "parameters" : {
7aacca6f 34470 "additionalProperties" : 0,
56122987 34471 "properties" : {
44660702
DM
34472 "cf" : {
34473 "description" : "The RRD consolidation function",
34474 "enum" : [
34475 "AVERAGE",
34476 "MAX"
34477 ],
34478 "optional" : 1,
34479 "type" : "string"
34480 },
7aacca6f 34481 "ds" : {
7aacca6f 34482 "description" : "The list of datasources you want to display.",
44660702 34483 "format" : "pve-configid-list",
013dc89f
DM
34484 "type" : "string",
34485 "typetext" : "<string>"
44660702
DM
34486 },
34487 "node" : {
34488 "description" : "The cluster node name.",
34489 "format" : "pve-node",
013dc89f
DM
34490 "type" : "string",
34491 "typetext" : "<string>"
7aacca6f
DM
34492 },
34493 "timeframe" : {
34494 "description" : "Specify the time frame you are interested in.",
34495 "enum" : [
34496 "hour",
34497 "day",
34498 "week",
34499 "month",
34500 "year"
34501 ],
34502 "type" : "string"
56122987 34503 }
7aacca6f 34504 }
56122987 34505 },
56122987 34506 "permissions" : {
56122987
DM
34507 "check" : [
34508 "perm",
34509 "/nodes/{node}",
34510 [
7aacca6f 34511 "Sys.Audit"
56122987
DM
34512 ]
34513 ]
34514 },
7aacca6f 34515 "protected" : 1,
56122987 34516 "returns" : {
56122987 34517 "properties" : {
7aacca6f 34518 "filename" : {
56122987
DM
34519 "type" : "string"
34520 }
44660702
DM
34521 },
34522 "type" : "object"
34523 }
56122987
DM
34524 }
34525 },
44660702 34526 "leaf" : 1,
7aacca6f 34527 "path" : "/nodes/{node}/rrd",
44660702 34528 "text" : "rrd"
56122987
DM
34529 },
34530 {
34531 "info" : {
7aacca6f 34532 "GET" : {
44660702
DM
34533 "description" : "Read node RRD statistics",
34534 "method" : "GET",
7aacca6f 34535 "name" : "rrddata",
56122987 34536 "parameters" : {
44660702 34537 "additionalProperties" : 0,
56122987 34538 "properties" : {
7aacca6f 34539 "cf" : {
7aacca6f
DM
34540 "description" : "The RRD consolidation function",
34541 "enum" : [
34542 "AVERAGE",
34543 "MAX"
44660702
DM
34544 ],
34545 "optional" : 1,
34546 "type" : "string"
56122987
DM
34547 },
34548 "node" : {
44660702 34549 "description" : "The cluster node name.",
56122987 34550 "format" : "pve-node",
013dc89f
DM
34551 "type" : "string",
34552 "typetext" : "<string>"
56122987 34553 },
7aacca6f 34554 "timeframe" : {
7aacca6f
DM
34555 "description" : "Specify the time frame you are interested in.",
34556 "enum" : [
34557 "hour",
34558 "day",
34559 "week",
34560 "month",
34561 "year"
44660702
DM
34562 ],
34563 "type" : "string"
56122987 34564 }
56122987
DM
34565 }
34566 },
56122987
DM
34567 "permissions" : {
34568 "check" : [
34569 "perm",
34570 "/nodes/{node}",
34571 [
44660702 34572 "Sys.Audit"
56122987
DM
34573 ]
34574 ]
7aacca6f 34575 },
44660702 34576 "protected" : 1,
56122987 34577 "returns" : {
7aacca6f 34578 "items" : {
44660702 34579 "properties" : {},
7aacca6f
DM
34580 "type" : "object"
34581 },
34582 "type" : "array"
44660702
DM
34583 }
34584 }
34585 },
34586 "leaf" : 1,
34587 "path" : "/nodes/{node}/rrddata",
34588 "text" : "rrddata"
34589 },
34590 {
34591 "info" : {
34592 "GET" : {
34593 "description" : "Read system log",
34594 "method" : "GET",
34595 "name" : "syslog",
56122987 34596 "parameters" : {
44660702 34597 "additionalProperties" : 0,
56122987 34598 "properties" : {
44660702
DM
34599 "limit" : {
34600 "minimum" : 0,
7aacca6f 34601 "optional" : 1,
4bd7df8b 34602 "type" : "integer",
013dc89f 34603 "typetext" : "<integer> (0 - N)"
7aacca6f 34604 },
56122987 34605 "node" : {
7aacca6f 34606 "description" : "The cluster node name.",
44660702 34607 "format" : "pve-node",
013dc89f
DM
34608 "type" : "string",
34609 "typetext" : "<string>"
56122987 34610 },
35a75dd3
DM
34611 "service" : {
34612 "description" : "Service ID",
34613 "maxLength" : 128,
34614 "optional" : 1,
34615 "type" : "string",
34616 "typetext" : "<string>"
34617 },
44660702
DM
34618 "since" : {
34619 "description" : "Display all log since this date-time string.",
34620 "optional" : 1,
34621 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
34622 "type" : "string"
34623 },
34624 "start" : {
7aacca6f
DM
34625 "minimum" : 0,
34626 "optional" : 1,
4bd7df8b 34627 "type" : "integer",
013dc89f 34628 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
34629 },
34630 "until" : {
34631 "description" : "Display all log until this date-time string.",
7aacca6f 34632 "optional" : 1,
44660702 34633 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
34634 "type" : "string"
34635 }
44660702 34636 }
56122987 34637 },
44660702
DM
34638 "permissions" : {
34639 "check" : [
34640 "perm",
34641 "/nodes/{node}",
34642 [
34643 "Sys.Syslog"
34644 ]
34645 ]
34646 },
34647 "protected" : 1,
34648 "proxyto" : "node",
34649 "returns" : {
34650 "items" : {
34651 "properties" : {
34652 "n" : {
34653 "description" : "Line number",
34654 "type" : "integer"
34655 },
34656 "t" : {
34657 "description" : "Line text",
34658 "type" : "string"
34659 }
34660 },
34661 "type" : "object"
34662 },
34663 "type" : "array"
34664 }
56122987
DM
34665 }
34666 },
44660702
DM
34667 "leaf" : 1,
34668 "path" : "/nodes/{node}/syslog",
7aacca6f 34669 "text" : "syslog"
56122987 34670 },
bb4c8cf8
TL
34671 {
34672 "info" : {
34673 "GET" : {
34674 "description" : "Read Journal",
34675 "method" : "GET",
34676 "name" : "journal",
34677 "parameters" : {
34678 "additionalProperties" : 0,
34679 "properties" : {
34680 "endcursor" : {
34681 "description" : "End before the given Cursor. Conflicts with 'until'",
34682 "optional" : 1,
34683 "type" : "string",
34684 "typetext" : "<string>"
34685 },
34686 "lastentries" : {
34687 "description" : "Limit to the last X lines. Conflicts with a range.",
34688 "minimum" : 0,
34689 "optional" : 1,
34690 "type" : "integer",
34691 "typetext" : "<integer> (0 - N)"
34692 },
34693 "node" : {
34694 "description" : "The cluster node name.",
34695 "format" : "pve-node",
34696 "type" : "string",
34697 "typetext" : "<string>"
34698 },
34699 "since" : {
34700 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
34701 "minimum" : 0,
34702 "optional" : 1,
34703 "type" : "integer",
34704 "typetext" : "<integer> (0 - N)"
34705 },
34706 "startcursor" : {
34707 "description" : "Start after the given Cursor. Conflicts with 'since'",
34708 "optional" : 1,
34709 "type" : "string",
34710 "typetext" : "<string>"
34711 },
34712 "until" : {
34713 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
34714 "minimum" : 0,
34715 "optional" : 1,
34716 "type" : "integer",
34717 "typetext" : "<integer> (0 - N)"
34718 }
34719 }
34720 },
34721 "permissions" : {
34722 "check" : [
34723 "perm",
34724 "/nodes/{node}",
34725 [
34726 "Sys.Syslog"
34727 ]
34728 ]
34729 },
34730 "protected" : 1,
34731 "proxyto" : "node",
34732 "returns" : {
34733 "items" : {
34734 "type" : "string"
34735 },
34736 "type" : "array"
34737 }
34738 }
34739 },
34740 "leaf" : 1,
34741 "path" : "/nodes/{node}/journal",
34742 "text" : "journal"
34743 },
56122987 34744 {
56122987
DM
34745 "info" : {
34746 "POST" : {
44660702
DM
34747 "description" : "Creates a VNC Shell proxy.",
34748 "method" : "POST",
34749 "name" : "vncshell",
34750 "parameters" : {
34751 "additionalProperties" : 0,
56122987 34752 "properties" : {
95895385
TL
34753 "cmd" : {
34754 "default" : "login",
34755 "description" : "Run specific command or default to login.",
34756 "enum" : [
1c532546 34757 "login",
5c1699e5
TL
34758 "ceph_install",
34759 "upgrade"
95895385
TL
34760 ],
34761 "optional" : 1,
34762 "type" : "string"
34763 },
5d9c884c
DM
34764 "height" : {
34765 "description" : "sets the height of the console in pixels.",
34766 "maximum" : 2160,
34767 "minimum" : 16,
34768 "optional" : 1,
34769 "type" : "integer",
34770 "typetext" : "<integer> (16 - 2160)"
34771 },
44660702
DM
34772 "node" : {
34773 "description" : "The cluster node name.",
34774 "format" : "pve-node",
013dc89f
DM
34775 "type" : "string",
34776 "typetext" : "<string>"
7aacca6f 34777 },
44660702
DM
34778 "upgrade" : {
34779 "default" : 0,
95895385 34780 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 34781 "optional" : 1,
013dc89f
DM
34782 "type" : "boolean",
34783 "typetext" : "<boolean>"
7aacca6f 34784 },
44660702
DM
34785 "websocket" : {
34786 "description" : "use websocket instead of standard vnc.",
34787 "optional" : 1,
013dc89f
DM
34788 "type" : "boolean",
34789 "typetext" : "<boolean>"
5d9c884c
DM
34790 },
34791 "width" : {
34792 "description" : "sets the width of the console in pixels.",
34793 "maximum" : 4096,
34794 "minimum" : 16,
34795 "optional" : 1,
34796 "type" : "integer",
34797 "typetext" : "<integer> (16 - 4096)"
56122987 34798 }
44660702 34799 }
56122987 34800 },
56122987
DM
34801 "permissions" : {
34802 "check" : [
34803 "perm",
7aacca6f 34804 "/nodes/{node}",
56122987 34805 [
7aacca6f 34806 "Sys.Console"
56122987 34807 ]
44660702
DM
34808 ],
34809 "description" : "Restricted to users on realm 'pam'"
56122987 34810 },
44660702
DM
34811 "protected" : 1,
34812 "returns" : {
34813 "additionalProperties" : 0,
56122987 34814 "properties" : {
44660702
DM
34815 "cert" : {
34816 "type" : "string"
7aacca6f 34817 },
44660702
DM
34818 "port" : {
34819 "type" : "integer"
7aacca6f 34820 },
44660702
DM
34821 "ticket" : {
34822 "type" : "string"
34823 },
34824 "upid" : {
34825 "type" : "string"
34826 },
34827 "user" : {
34828 "type" : "string"
56122987 34829 }
44660702
DM
34830 }
34831 }
56122987
DM
34832 }
34833 },
7aacca6f 34834 "leaf" : 1,
44660702
DM
34835 "path" : "/nodes/{node}/vncshell",
34836 "text" : "vncshell"
56122987 34837 },
35a75dd3
DM
34838 {
34839 "info" : {
34840 "POST" : {
34841 "description" : "Creates a VNC Shell proxy.",
34842 "method" : "POST",
34843 "name" : "termproxy",
34844 "parameters" : {
34845 "additionalProperties" : 0,
34846 "properties" : {
95895385
TL
34847 "cmd" : {
34848 "default" : "login",
34849 "description" : "Run specific command or default to login.",
34850 "enum" : [
1c532546 34851 "login",
5c1699e5
TL
34852 "ceph_install",
34853 "upgrade"
95895385
TL
34854 ],
34855 "optional" : 1,
34856 "type" : "string"
34857 },
35a75dd3
DM
34858 "node" : {
34859 "description" : "The cluster node name.",
34860 "format" : "pve-node",
34861 "type" : "string",
34862 "typetext" : "<string>"
34863 },
34864 "upgrade" : {
34865 "default" : 0,
95895385 34866 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
35a75dd3
DM
34867 "optional" : 1,
34868 "type" : "boolean",
34869 "typetext" : "<boolean>"
34870 }
34871 }
34872 },
34873 "permissions" : {
34874 "check" : [
34875 "perm",
34876 "/nodes/{node}",
34877 [
34878 "Sys.Console"
34879 ]
34880 ],
34881 "description" : "Restricted to users on realm 'pam'"
34882 },
34883 "protected" : 1,
34884 "returns" : {
34885 "additionalProperties" : 0,
34886 "properties" : {
34887 "port" : {
34888 "type" : "integer"
34889 },
34890 "ticket" : {
34891 "type" : "string"
34892 },
34893 "upid" : {
34894 "type" : "string"
34895 },
34896 "user" : {
34897 "type" : "string"
34898 }
34899 }
34900 }
34901 }
34902 },
34903 "leaf" : 1,
34904 "path" : "/nodes/{node}/termproxy",
34905 "text" : "termproxy"
34906 },
56122987
DM
34907 {
34908 "info" : {
34909 "GET" : {
7aacca6f 34910 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
34911 "method" : "GET",
34912 "name" : "vncwebsocket",
56122987 34913 "parameters" : {
44660702 34914 "additionalProperties" : 0,
56122987
DM
34915 "properties" : {
34916 "node" : {
34917 "description" : "The cluster node name.",
44660702 34918 "format" : "pve-node",
013dc89f
DM
34919 "type" : "string",
34920 "typetext" : "<string>"
7aacca6f
DM
34921 },
34922 "port" : {
7aacca6f
DM
34923 "description" : "Port number returned by previous vncproxy call.",
34924 "maximum" : 5999,
44660702 34925 "minimum" : 5900,
4bd7df8b 34926 "type" : "integer",
013dc89f 34927 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
34928 },
34929 "vncticket" : {
34930 "description" : "Ticket from previous call to vncproxy.",
34931 "maxLength" : 512,
013dc89f
DM
34932 "type" : "string",
34933 "typetext" : "<string>"
56122987 34934 }
44660702 34935 }
56122987 34936 },
56122987
DM
34937 "permissions" : {
34938 "check" : [
34939 "perm",
34940 "/nodes/{node}",
34941 [
7aacca6f 34942 "Sys.Console"
56122987 34943 ]
44660702
DM
34944 ],
34945 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
34946 },
34947 "returns" : {
34948 "properties" : {
34949 "port" : {
34950 "type" : "string"
34951 }
34952 },
34953 "type" : "object"
7aacca6f 34954 }
56122987
DM
34955 }
34956 },
44660702 34957 "leaf" : 1,
7aacca6f 34958 "path" : "/nodes/{node}/vncwebsocket",
44660702 34959 "text" : "vncwebsocket"
56122987
DM
34960 },
34961 {
34962 "info" : {
34963 "POST" : {
44660702 34964 "description" : "Creates a SPICE shell.",
7aacca6f 34965 "method" : "POST",
44660702 34966 "name" : "spiceshell",
56122987 34967 "parameters" : {
7aacca6f 34968 "additionalProperties" : 0,
56122987 34969 "properties" : {
95895385
TL
34970 "cmd" : {
34971 "default" : "login",
34972 "description" : "Run specific command or default to login.",
34973 "enum" : [
1c532546 34974 "login",
5c1699e5
TL
34975 "ceph_install",
34976 "upgrade"
95895385
TL
34977 ],
34978 "optional" : 1,
34979 "type" : "string"
34980 },
7aacca6f 34981 "node" : {
44660702 34982 "description" : "The cluster node name.",
56122987 34983 "format" : "pve-node",
013dc89f
DM
34984 "type" : "string",
34985 "typetext" : "<string>"
7aacca6f 34986 },
44660702 34987 "proxy" : {
4d47f125 34988 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
44660702
DM
34989 "format" : "address",
34990 "optional" : 1,
013dc89f
DM
34991 "type" : "string",
34992 "typetext" : "<string>"
7aacca6f 34993 },
44660702
DM
34994 "upgrade" : {
34995 "default" : 0,
95895385 34996 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 34997 "optional" : 1,
013dc89f
DM
34998 "type" : "boolean",
34999 "typetext" : "<boolean>"
56122987 35000 }
7aacca6f 35001 }
56122987 35002 },
56122987
DM
35003 "permissions" : {
35004 "check" : [
35005 "perm",
7aacca6f 35006 "/nodes/{node}",
56122987 35007 [
7aacca6f 35008 "Sys.Console"
56122987 35009 ]
7aacca6f
DM
35010 ],
35011 "description" : "Restricted to users on realm 'pam'"
44660702
DM
35012 },
35013 "protected" : 1,
35014 "proxyto" : "node",
35015 "returns" : {
35016 "additionalProperties" : 1,
35017 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
35018 "properties" : {
35019 "host" : {
35020 "type" : "string"
35021 },
35022 "password" : {
35023 "type" : "string"
35024 },
35025 "proxy" : {
35026 "type" : "string"
35027 },
35028 "tls-port" : {
35029 "type" : "integer"
35030 },
35031 "type" : {
35032 "type" : "string"
35033 }
35034 }
7aacca6f 35035 }
56122987
DM
35036 }
35037 },
56122987 35038 "leaf" : 1,
44660702
DM
35039 "path" : "/nodes/{node}/spiceshell",
35040 "text" : "spiceshell"
56122987
DM
35041 },
35042 {
56122987 35043 "info" : {
7aacca6f 35044 "GET" : {
44660702 35045 "description" : "Read DNS settings.",
7aacca6f 35046 "method" : "GET",
44660702
DM
35047 "name" : "dns",
35048 "parameters" : {
7aacca6f
DM
35049 "additionalProperties" : 0,
35050 "properties" : {
44660702
DM
35051 "node" : {
35052 "description" : "The cluster node name.",
35053 "format" : "pve-node",
013dc89f
DM
35054 "type" : "string",
35055 "typetext" : "<string>"
7aacca6f
DM
35056 }
35057 }
35058 },
7aacca6f
DM
35059 "permissions" : {
35060 "check" : [
35061 "perm",
35062 "/nodes/{node}",
35063 [
35064 "Sys.Audit"
35065 ]
35066 ]
35067 },
44660702
DM
35068 "proxyto" : "node",
35069 "returns" : {
56122987
DM
35070 "additionalProperties" : 0,
35071 "properties" : {
44660702
DM
35072 "dns1" : {
35073 "description" : "First name server IP address.",
35074 "optional" : 1,
35075 "type" : "string"
35076 },
35077 "dns2" : {
35078 "description" : "Second name server IP address.",
35079 "optional" : 1,
35080 "type" : "string"
35081 },
35082 "dns3" : {
35083 "description" : "Third name server IP address.",
35084 "optional" : 1,
35085 "type" : "string"
35086 },
35087 "search" : {
35088 "description" : "Search domain for host-name lookup.",
35089 "optional" : 1,
35090 "type" : "string"
7aacca6f 35091 }
44660702
DM
35092 },
35093 "type" : "object"
35094 }
7aacca6f
DM
35095 },
35096 "PUT" : {
44660702
DM
35097 "description" : "Write DNS settings.",
35098 "method" : "PUT",
7aacca6f
DM
35099 "name" : "update_dns",
35100 "parameters" : {
35101 "additionalProperties" : 0,
35102 "properties" : {
44660702
DM
35103 "dns1" : {
35104 "description" : "First name server IP address.",
35105 "format" : "ip",
35106 "optional" : 1,
013dc89f
DM
35107 "type" : "string",
35108 "typetext" : "<string>"
7aacca6f 35109 },
44660702
DM
35110 "dns2" : {
35111 "description" : "Second name server IP address.",
35112 "format" : "ip",
7aacca6f 35113 "optional" : 1,
013dc89f
DM
35114 "type" : "string",
35115 "typetext" : "<string>"
7aacca6f 35116 },
44660702
DM
35117 "dns3" : {
35118 "description" : "Third name server IP address.",
35119 "format" : "ip",
7aacca6f 35120 "optional" : 1,
013dc89f
DM
35121 "type" : "string",
35122 "typetext" : "<string>"
7aacca6f
DM
35123 },
35124 "node" : {
44660702 35125 "description" : "The cluster node name.",
56122987 35126 "format" : "pve-node",
013dc89f
DM
35127 "type" : "string",
35128 "typetext" : "<string>"
7aacca6f 35129 },
44660702
DM
35130 "search" : {
35131 "description" : "Search domain for host-name lookup.",
013dc89f
DM
35132 "type" : "string",
35133 "typetext" : "<string>"
56122987
DM
35134 }
35135 }
35136 },
35137 "permissions" : {
35138 "check" : [
35139 "perm",
7aacca6f 35140 "/nodes/{node}",
56122987 35141 [
7aacca6f 35142 "Sys.Modify"
56122987
DM
35143 ]
35144 ]
35145 },
44660702 35146 "protected" : 1,
7aacca6f 35147 "proxyto" : "node",
56122987 35148 "returns" : {
7aacca6f
DM
35149 "type" : "null"
35150 }
56122987 35151 }
44660702
DM
35152 },
35153 "leaf" : 1,
35154 "path" : "/nodes/{node}/dns",
35155 "text" : "dns"
56122987
DM
35156 },
35157 {
35158 "info" : {
7aacca6f 35159 "GET" : {
7aacca6f 35160 "description" : "Read server time and time zone settings.",
44660702
DM
35161 "method" : "GET",
35162 "name" : "time",
56122987 35163 "parameters" : {
44660702 35164 "additionalProperties" : 0,
56122987
DM
35165 "properties" : {
35166 "node" : {
44660702 35167 "description" : "The cluster node name.",
56122987 35168 "format" : "pve-node",
013dc89f
DM
35169 "type" : "string",
35170 "typetext" : "<string>"
56122987 35171 }
44660702 35172 }
56122987
DM
35173 },
35174 "permissions" : {
35175 "check" : [
35176 "perm",
7aacca6f 35177 "/nodes/{node}",
56122987 35178 [
7aacca6f 35179 "Sys.Audit"
56122987
DM
35180 ]
35181 ]
44660702
DM
35182 },
35183 "proxyto" : "node",
35184 "returns" : {
35185 "additionalProperties" : 0,
35186 "properties" : {
35187 "localtime" : {
35188 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
35189 "minimum" : 1297163644,
4d47f125 35190 "renderer" : "timestamp_gmt",
44660702
DM
35191 "type" : "integer"
35192 },
35193 "time" : {
35194 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
35195 "minimum" : 1297163644,
4d47f125 35196 "renderer" : "timestamp",
44660702
DM
35197 "type" : "integer"
35198 },
35199 "timezone" : {
35200 "description" : "Time zone",
35201 "type" : "string"
35202 }
35203 },
35204 "type" : "object"
7aacca6f
DM
35205 }
35206 },
35207 "PUT" : {
7aacca6f 35208 "description" : "Set time zone.",
44660702
DM
35209 "method" : "PUT",
35210 "name" : "set_timezone",
35211 "parameters" : {
35212 "additionalProperties" : 0,
35213 "properties" : {
35214 "node" : {
35215 "description" : "The cluster node name.",
35216 "format" : "pve-node",
013dc89f
DM
35217 "type" : "string",
35218 "typetext" : "<string>"
44660702
DM
35219 },
35220 "timezone" : {
35221 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
35222 "type" : "string",
35223 "typetext" : "<string>"
44660702
DM
35224 }
35225 }
35226 },
7aacca6f
DM
35227 "permissions" : {
35228 "check" : [
35229 "perm",
35230 "/nodes/{node}",
35231 [
35232 "Sys.Modify"
35233 ]
35234 ]
56122987 35235 },
7aacca6f 35236 "protected" : 1,
44660702
DM
35237 "proxyto" : "node",
35238 "returns" : {
35239 "type" : "null"
35240 }
7aacca6f
DM
35241 }
35242 },
7aacca6f 35243 "leaf" : 1,
44660702
DM
35244 "path" : "/nodes/{node}/time",
35245 "text" : "time"
7aacca6f
DM
35246 },
35247 {
35248 "info" : {
44660702
DM
35249 "GET" : {
35250 "description" : "Get list of appliances.",
35251 "method" : "GET",
35252 "name" : "aplinfo",
7aacca6f
DM
35253 "parameters" : {
35254 "additionalProperties" : 0,
35255 "properties" : {
7aacca6f 35256 "node" : {
44660702 35257 "description" : "The cluster node name.",
7aacca6f 35258 "format" : "pve-node",
013dc89f
DM
35259 "type" : "string",
35260 "typetext" : "<string>"
7aacca6f
DM
35261 }
35262 }
56122987 35263 },
7aacca6f 35264 "permissions" : {
44660702 35265 "user" : "all"
56122987 35266 },
44660702 35267 "proxyto" : "node",
7aacca6f
DM
35268 "returns" : {
35269 "items" : {
44660702
DM
35270 "properties" : {},
35271 "type" : "object"
7aacca6f
DM
35272 },
35273 "type" : "array"
44660702
DM
35274 }
35275 },
35276 "POST" : {
35277 "description" : "Download appliance templates.",
35278 "method" : "POST",
35279 "name" : "apl_download",
7aacca6f
DM
35280 "parameters" : {
35281 "additionalProperties" : 0,
35282 "properties" : {
35283 "node" : {
7aacca6f 35284 "description" : "The cluster node name.",
44660702 35285 "format" : "pve-node",
013dc89f
DM
35286 "type" : "string",
35287 "typetext" : "<string>"
44660702
DM
35288 },
35289 "storage" : {
4bd7df8b 35290 "description" : "The storage where the template will be stored",
44660702 35291 "format" : "pve-storage-id",
013dc89f
DM
35292 "type" : "string",
35293 "typetext" : "<string>"
44660702
DM
35294 },
35295 "template" : {
1e3f8156 35296 "description" : "The template which will downloaded",
44660702 35297 "maxLength" : 255,
013dc89f
DM
35298 "type" : "string",
35299 "typetext" : "<string>"
7aacca6f
DM
35300 }
35301 }
56122987 35302 },
7aacca6f 35303 "permissions" : {
44660702
DM
35304 "check" : [
35305 "perm",
35306 "/storage/{storage}",
35307 [
35308 "Datastore.AllocateTemplate"
35309 ]
35310 ]
35311 },
35312 "protected" : 1,
35313 "proxyto" : "node",
35314 "returns" : {
35315 "type" : "string"
7aacca6f
DM
35316 }
35317 }
35318 },
7aacca6f 35319 "leaf" : 1,
44660702
DM
35320 "path" : "/nodes/{node}/aplinfo",
35321 "text" : "aplinfo"
7aacca6f
DM
35322 },
35323 {
35324 "info" : {
35325 "GET" : {
44660702
DM
35326 "description" : "Gather various systems information about a node",
35327 "method" : "GET",
35328 "name" : "report",
7aacca6f 35329 "parameters" : {
44660702 35330 "additionalProperties" : 0,
7aacca6f
DM
35331 "properties" : {
35332 "node" : {
7aacca6f 35333 "description" : "The cluster node name.",
44660702 35334 "format" : "pve-node",
013dc89f
DM
35335 "type" : "string",
35336 "typetext" : "<string>"
7aacca6f 35337 }
44660702 35338 }
56122987 35339 },
7aacca6f
DM
35340 "permissions" : {
35341 "check" : [
35342 "perm",
35343 "/nodes/{node}",
35344 [
35345 "Sys.Audit"
35346 ]
35347 ]
56122987 35348 },
44660702 35349 "protected" : 1,
7aacca6f
DM
35350 "proxyto" : "node",
35351 "returns" : {
56122987 35352 "type" : "string"
7aacca6f
DM
35353 }
35354 }
35355 },
7aacca6f 35356 "leaf" : 1,
44660702
DM
35357 "path" : "/nodes/{node}/report",
35358 "text" : "report"
7aacca6f
DM
35359 },
35360 {
7aacca6f
DM
35361 "info" : {
35362 "POST" : {
1c532546 35363 "description" : "Start all VMs and containers located on this node (by default only those with onboot=1).",
7aacca6f 35364 "method" : "POST",
44660702 35365 "name" : "startall",
7aacca6f 35366 "parameters" : {
44660702 35367 "additionalProperties" : 0,
7aacca6f
DM
35368 "properties" : {
35369 "force" : {
1c532546
TL
35370 "default" : "off",
35371 "description" : "Issue start command even if virtual guest have 'onboot' not set or set to off.",
7aacca6f 35372 "optional" : 1,
013dc89f
DM
35373 "type" : "boolean",
35374 "typetext" : "<boolean>"
7aacca6f
DM
35375 },
35376 "node" : {
7aacca6f 35377 "description" : "The cluster node name.",
44660702 35378 "format" : "pve-node",
013dc89f
DM
35379 "type" : "string",
35380 "typetext" : "<string>"
52e44c50
FG
35381 },
35382 "vms" : {
1c532546 35383 "description" : "Only consider guests from this comma separated list of VMIDs.",
52e44c50
FG
35384 "format" : "pve-vmid-list",
35385 "optional" : 1,
35386 "type" : "string",
35387 "typetext" : "<string>"
7aacca6f 35388 }
44660702 35389 }
56122987 35390 },
7aacca6f
DM
35391 "permissions" : {
35392 "check" : [
35393 "perm",
35394 "/",
35395 [
35396 "VM.PowerMgmt"
35397 ]
35398 ]
44660702
DM
35399 },
35400 "protected" : 1,
35401 "proxyto" : "node",
35402 "returns" : {
35403 "type" : "string"
7aacca6f
DM
35404 }
35405 }
35406 },
44660702 35407 "leaf" : 1,
7aacca6f 35408 "path" : "/nodes/{node}/startall",
44660702 35409 "text" : "startall"
7aacca6f
DM
35410 },
35411 {
7aacca6f
DM
35412 "info" : {
35413 "POST" : {
35414 "description" : "Stop all VMs and Containers.",
44660702
DM
35415 "method" : "POST",
35416 "name" : "stopall",
7aacca6f 35417 "parameters" : {
44660702 35418 "additionalProperties" : 0,
7aacca6f
DM
35419 "properties" : {
35420 "node" : {
44660702 35421 "description" : "The cluster node name.",
7aacca6f 35422 "format" : "pve-node",
013dc89f
DM
35423 "type" : "string",
35424 "typetext" : "<string>"
52e44c50
FG
35425 },
35426 "vms" : {
35427 "description" : "Only consider Guests with these IDs.",
35428 "format" : "pve-vmid-list",
35429 "optional" : 1,
35430 "type" : "string",
35431 "typetext" : "<string>"
7aacca6f 35432 }
44660702 35433 }
56122987 35434 },
7aacca6f
DM
35435 "permissions" : {
35436 "check" : [
35437 "perm",
35438 "/",
35439 [
44660702 35440 "VM.PowerMgmt"
7aacca6f
DM
35441 ]
35442 ]
56122987 35443 },
44660702 35444 "protected" : 1,
7aacca6f 35445 "proxyto" : "node",
44660702
DM
35446 "returns" : {
35447 "type" : "string"
35448 }
35449 }
56122987 35450 },
44660702
DM
35451 "leaf" : 1,
35452 "path" : "/nodes/{node}/stopall",
35453 "text" : "stopall"
35454 },
35455 {
35456 "info" : {
35457 "POST" : {
35458 "description" : "Migrate all VMs and Containers.",
35459 "method" : "POST",
35460 "name" : "migrateall",
35461 "parameters" : {
35462 "additionalProperties" : 0,
35463 "properties" : {
35464 "maxworkers" : {
35465 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
35466 "minimum" : 1,
35467 "optional" : 1,
4bd7df8b 35468 "type" : "integer",
013dc89f 35469 "typetext" : "<integer> (1 - N)"
44660702
DM
35470 },
35471 "node" : {
35472 "description" : "The cluster node name.",
35473 "format" : "pve-node",
013dc89f
DM
35474 "type" : "string",
35475 "typetext" : "<string>"
44660702
DM
35476 },
35477 "target" : {
35478 "description" : "Target node.",
35479 "format" : "pve-node",
013dc89f
DM
35480 "type" : "string",
35481 "typetext" : "<string>"
52e44c50
FG
35482 },
35483 "vms" : {
35484 "description" : "Only consider Guests with these IDs.",
35485 "format" : "pve-vmid-list",
35486 "optional" : 1,
35487 "type" : "string",
35488 "typetext" : "<string>"
44660702
DM
35489 }
35490 }
35491 },
35492 "permissions" : {
35493 "check" : [
35494 "perm",
35495 "/",
35496 [
35497 "VM.Migrate"
35498 ]
35499 ]
35500 },
35501 "protected" : 1,
35502 "proxyto" : "node",
35503 "returns" : {
35504 "type" : "string"
35505 }
35506 }
56122987 35507 },
44660702
DM
35508 "leaf" : 1,
35509 "path" : "/nodes/{node}/migrateall",
35510 "text" : "migrateall"
4d47f125
TL
35511 },
35512 {
35513 "info" : {
35514 "GET" : {
35515 "description" : "Get the content of /etc/hosts.",
35516 "method" : "GET",
35517 "name" : "get_etc_hosts",
35518 "parameters" : {
35519 "additionalProperties" : 0,
35520 "properties" : {
35521 "node" : {
35522 "description" : "The cluster node name.",
35523 "format" : "pve-node",
35524 "type" : "string",
35525 "typetext" : "<string>"
35526 }
35527 }
35528 },
35529 "permissions" : {
35530 "check" : [
35531 "perm",
35532 "/",
35533 [
35534 "Sys.Audit"
35535 ]
35536 ]
35537 },
35538 "protected" : 1,
35539 "proxyto" : "node",
35540 "returns" : {
35541 "properties" : {
35542 "data" : {
35543 "description" : "The content of /etc/hosts.",
35544 "type" : "string"
35545 },
35546 "digest" : {
35547 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
35548 "maxLength" : 40,
35549 "optional" : 1,
35550 "type" : "string"
35551 }
35552 },
35553 "type" : "object"
35554 }
35555 },
35556 "POST" : {
35557 "description" : "Write /etc/hosts.",
35558 "method" : "POST",
35559 "name" : "write_etc_hosts",
35560 "parameters" : {
35561 "additionalProperties" : 0,
35562 "properties" : {
35563 "data" : {
35564 "description" : "The target content of /etc/hosts.",
35565 "type" : "string",
35566 "typetext" : "<string>"
35567 },
35568 "digest" : {
35569 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
35570 "maxLength" : 40,
35571 "optional" : 1,
35572 "type" : "string",
35573 "typetext" : "<string>"
35574 },
35575 "node" : {
35576 "description" : "The cluster node name.",
35577 "format" : "pve-node",
35578 "type" : "string",
35579 "typetext" : "<string>"
35580 }
35581 }
35582 },
35583 "permissions" : {
35584 "check" : [
35585 "perm",
35586 "/nodes/{node}",
35587 [
35588 "Sys.Modify"
35589 ]
35590 ]
35591 },
35592 "protected" : 1,
35593 "proxyto" : "node",
35594 "returns" : {
35595 "type" : "null"
35596 }
35597 }
35598 },
35599 "leaf" : 1,
35600 "path" : "/nodes/{node}/hosts",
35601 "text" : "hosts"
44660702
DM
35602 }
35603 ],
35604 "info" : {
35605 "GET" : {
35606 "description" : "Node index.",
35607 "method" : "GET",
35608 "name" : "index",
35609 "parameters" : {
35610 "additionalProperties" : 0,
35611 "properties" : {
35612 "node" : {
35613 "description" : "The cluster node name.",
35614 "format" : "pve-node",
013dc89f
DM
35615 "type" : "string",
35616 "typetext" : "<string>"
44660702
DM
35617 }
35618 }
56122987 35619 },
44660702
DM
35620 "permissions" : {
35621 "user" : "all"
56122987 35622 },
44660702
DM
35623 "returns" : {
35624 "items" : {
35625 "properties" : {},
35626 "type" : "object"
35627 },
35628 "links" : [
35629 {
35630 "href" : "{name}",
35631 "rel" : "child"
35632 }
56122987 35633 ],
44660702 35634 "type" : "array"
7aacca6f
DM
35635 }
35636 }
35637 },
44660702
DM
35638 "leaf" : 0,
35639 "path" : "/nodes/{node}",
35640 "text" : "{node}"
35641 }
35642 ],
35643 "info" : {
7aacca6f 35644 "GET" : {
44660702 35645 "description" : "Cluster node index.",
7aacca6f 35646 "method" : "GET",
44660702 35647 "name" : "index",
7aacca6f 35648 "parameters" : {
7aacca6f
DM
35649 "additionalProperties" : 0
35650 },
35651 "permissions" : {
7aacca6f
DM
35652 "user" : "all"
35653 },
44660702
DM
35654 "returns" : {
35655 "items" : {
4d47f125
TL
35656 "properties" : {
35657 "cpu" : {
35658 "description" : "CPU utilization.",
35659 "optional" : 1,
35660 "renderer" : "fraction_as_percentage",
35661 "type" : "number"
35662 },
35663 "level" : {
35664 "description" : "Support level.",
35665 "optional" : 1,
35666 "type" : "string"
35667 },
35668 "maxcpu" : {
35669 "description" : "Number of available CPUs.",
35670 "optional" : 1,
35671 "type" : "integer"
35672 },
35673 "maxmem" : {
35674 "description" : "Number of available memory in bytes.",
35675 "optional" : 1,
35676 "renderer" : "bytes",
35677 "type" : "integer"
35678 },
35679 "mem" : {
35680 "description" : "Used memory in bytes.",
35681 "optional" : 1,
35682 "renderer" : "bytes",
1c532546 35683 "type" : "integer"
4d47f125
TL
35684 },
35685 "node" : {
35686 "description" : "The cluster node name.",
35687 "format" : "pve-node",
35688 "type" : "string"
35689 },
35690 "ssl_fingerprint" : {
35691 "description" : "The SSL fingerprint for the node certificate.",
35692 "optional" : 1,
35693 "type" : "string"
35694 },
35695 "status" : {
35696 "description" : "Node status.",
35697 "enum" : [
35698 "unknown",
35699 "online",
35700 "offline"
35701 ],
35702 "type" : "string"
35703 },
35704 "uptime" : {
35705 "description" : "Node uptime in seconds.",
35706 "optional" : 1,
35707 "renderer" : "duration",
35708 "type" : "integer"
35709 }
35710 },
44660702
DM
35711 "type" : "object"
35712 },
35713 "links" : [
35714 {
35715 "href" : "{node}",
35716 "rel" : "child"
35717 }
35718 ],
35719 "type" : "array"
35720 }
7aacca6f
DM
35721 }
35722 },
44660702
DM
35723 "leaf" : 0,
35724 "path" : "/nodes",
35725 "text" : "nodes"
35726 },
35727 {
7aacca6f
DM
35728 "children" : [
35729 {
7aacca6f 35730 "info" : {
44660702
DM
35731 "DELETE" : {
35732 "description" : "Delete storage configuration.",
35733 "method" : "DELETE",
35734 "name" : "delete",
7aacca6f
DM
35735 "parameters" : {
35736 "additionalProperties" : 0,
35737 "properties" : {
35738 "storage" : {
7aacca6f 35739 "description" : "The storage identifier.",
44660702 35740 "format" : "pve-storage-id",
013dc89f
DM
35741 "type" : "string",
35742 "typetext" : "<string>"
7aacca6f
DM
35743 }
35744 }
56122987 35745 },
7aacca6f
DM
35746 "permissions" : {
35747 "check" : [
35748 "perm",
35749 "/storage",
35750 [
35751 "Datastore.Allocate"
35752 ]
35753 ]
56122987 35754 },
44660702
DM
35755 "protected" : 1,
35756 "returns" : {
35757 "type" : "null"
35758 }
35759 },
35760 "GET" : {
35761 "description" : "Read storage configuration.",
35762 "method" : "GET",
35763 "name" : "read",
7aacca6f
DM
35764 "parameters" : {
35765 "additionalProperties" : 0,
35766 "properties" : {
35767 "storage" : {
44660702 35768 "description" : "The storage identifier.",
7aacca6f 35769 "format" : "pve-storage-id",
013dc89f
DM
35770 "type" : "string",
35771 "typetext" : "<string>"
7aacca6f
DM
35772 }
35773 }
35774 },
44660702
DM
35775 "permissions" : {
35776 "check" : [
35777 "perm",
35778 "/storage/{storage}",
35779 [
35780 "Datastore.Allocate"
35781 ]
35782 ]
35783 },
5da3d723
TL
35784 "returns" : {
35785 "type" : "object"
35786 }
7aacca6f
DM
35787 },
35788 "PUT" : {
44660702
DM
35789 "description" : "Update storage configuration.",
35790 "method" : "PUT",
35791 "name" : "update",
35792 "parameters" : {
35793 "additionalProperties" : 0,
35794 "properties" : {
35795 "blocksize" : {
35796 "description" : "block size",
7aacca6f 35797 "optional" : 1,
013dc89f
DM
35798 "type" : "string",
35799 "typetext" : "<string>"
7aacca6f 35800 },
27a7acb2
DM
35801 "bwlimit" : {
35802 "description" : "Set bandwidth/io limits various operations.",
35803 "format" : {
35804 "clone" : {
95895385 35805 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
35806 "format_description" : "LIMIT",
35807 "minimum" : "0",
35808 "optional" : 1,
35809 "type" : "number"
35810 },
35811 "default" : {
95895385 35812 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
35813 "format_description" : "LIMIT",
35814 "minimum" : "0",
35815 "optional" : 1,
35816 "type" : "number"
35817 },
35818 "migration" : {
95895385 35819 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
35820 "format_description" : "LIMIT",
35821 "minimum" : "0",
35822 "optional" : 1,
35823 "type" : "number"
35824 },
35825 "move" : {
95895385 35826 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
35827 "format_description" : "LIMIT",
35828 "minimum" : "0",
35829 "optional" : 1,
35830 "type" : "number"
35831 },
35832 "restore" : {
95895385 35833 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
35834 "format_description" : "LIMIT",
35835 "minimum" : "0",
35836 "optional" : 1,
35837 "type" : "number"
35838 }
35839 },
35840 "optional" : 1,
35841 "type" : "string",
35842 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
35843 },
44660702
DM
35844 "comstar_hg" : {
35845 "description" : "host group for comstar views",
35846 "optional" : 1,
013dc89f
DM
35847 "type" : "string",
35848 "typetext" : "<string>"
7aacca6f 35849 },
44660702
DM
35850 "comstar_tg" : {
35851 "description" : "target group for comstar views",
7aacca6f 35852 "optional" : 1,
013dc89f
DM
35853 "type" : "string",
35854 "typetext" : "<string>"
7aacca6f 35855 },
44660702
DM
35856 "content" : {
35857 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
35858 "format" : "pve-storage-content-list",
7aacca6f 35859 "optional" : 1,
013dc89f
DM
35860 "type" : "string",
35861 "typetext" : "<string>"
7aacca6f 35862 },
44660702
DM
35863 "delete" : {
35864 "description" : "A list of settings you want to delete.",
35865 "format" : "pve-configid-list",
35866 "maxLength" : 4096,
7aacca6f 35867 "optional" : 1,
013dc89f
DM
35868 "type" : "string",
35869 "typetext" : "<string>"
7aacca6f
DM
35870 },
35871 "digest" : {
44660702 35872 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 35873 "maxLength" : 40,
7aacca6f 35874 "optional" : 1,
013dc89f
DM
35875 "type" : "string",
35876 "typetext" : "<string>"
7aacca6f 35877 },
44660702
DM
35878 "disable" : {
35879 "description" : "Flag to disable the storage.",
35880 "optional" : 1,
013dc89f
DM
35881 "type" : "boolean",
35882 "typetext" : "<boolean>"
7aacca6f 35883 },
27a7acb2
DM
35884 "domain" : {
35885 "description" : "CIFS domain.",
35886 "maxLength" : 256,
35887 "optional" : 1,
35888 "type" : "string",
35889 "typetext" : "<string>"
35890 },
7aacca6f
DM
35891 "format" : {
35892 "description" : "Default image format.",
44660702 35893 "format" : "pve-storage-format",
7aacca6f 35894 "optional" : 1,
013dc89f
DM
35895 "type" : "string",
35896 "typetext" : "<string>"
7aacca6f 35897 },
5da3d723
TL
35898 "fuse" : {
35899 "description" : "Mount CephFS through FUSE.",
35900 "optional" : 1,
35901 "type" : "boolean",
35902 "typetext" : "<boolean>"
35903 },
2c0dde61
DM
35904 "is_mountpoint" : {
35905 "default" : "no",
2489d6df 35906 "description" : "Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field.",
2c0dde61 35907 "optional" : 1,
2489d6df
WB
35908 "type" : "string",
35909 "typetext" : "<string>"
2c0dde61 35910 },
44660702 35911 "krbd" : {
e2d681b3 35912 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 35913 "optional" : 1,
013dc89f
DM
35914 "type" : "boolean",
35915 "typetext" : "<boolean>"
7aacca6f 35916 },
4d47f125
TL
35917 "lio_tpg" : {
35918 "description" : "target portal group for Linux LIO targets",
35919 "optional" : 1,
35920 "type" : "string",
35921 "typetext" : "<string>"
35922 },
44660702
DM
35923 "maxfiles" : {
35924 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
35925 "minimum" : 0,
35926 "optional" : 1,
4bd7df8b 35927 "type" : "integer",
013dc89f 35928 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
35929 },
35930 "mkdir" : {
35931 "default" : "yes",
35932 "description" : "Create the directory if it doesn't exist.",
35933 "optional" : 1,
013dc89f
DM
35934 "type" : "boolean",
35935 "typetext" : "<boolean>"
7aacca6f 35936 },
2489d6df
WB
35937 "monhost" : {
35938 "description" : "IP addresses of monitors (for external clusters).",
35939 "format" : "pve-storage-portal-dns-list",
35940 "optional" : 1,
35941 "type" : "string",
35942 "typetext" : "<string>"
35943 },
5c1699e5
TL
35944 "mountpoint" : {
35945 "description" : "mount point",
35946 "format" : "pve-storage-path",
35947 "optional" : 1,
35948 "type" : "string",
35949 "typetext" : "<string>"
35950 },
7aacca6f 35951 "nodes" : {
44660702 35952 "description" : "List of cluster node names.",
7aacca6f
DM
35953 "format" : "pve-node-list",
35954 "optional" : 1,
013dc89f
DM
35955 "type" : "string",
35956 "typetext" : "<string>"
7aacca6f 35957 },
44660702
DM
35958 "nowritecache" : {
35959 "description" : "disable write caching on the target",
7aacca6f 35960 "optional" : 1,
013dc89f
DM
35961 "type" : "boolean",
35962 "typetext" : "<boolean>"
7aacca6f
DM
35963 },
35964 "options" : {
7aacca6f 35965 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
35966 "format" : "pve-storage-options",
35967 "optional" : 1,
013dc89f
DM
35968 "type" : "string",
35969 "typetext" : "<string>"
44660702 35970 },
27a7acb2
DM
35971 "password" : {
35972 "description" : "Password for CIFS share.",
35973 "maxLength" : 256,
35974 "optional" : 1,
35975 "type" : "string",
35976 "typetext" : "<string>"
35977 },
44660702
DM
35978 "pool" : {
35979 "description" : "Pool.",
35980 "optional" : 1,
013dc89f
DM
35981 "type" : "string",
35982 "typetext" : "<string>"
44660702
DM
35983 },
35984 "redundancy" : {
35985 "default" : 2,
35986 "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.",
35987 "maximum" : 16,
35988 "minimum" : 1,
35989 "optional" : 1,
4bd7df8b 35990 "type" : "integer",
013dc89f 35991 "typetext" : "<integer> (1 - 16)"
44660702
DM
35992 },
35993 "saferemove" : {
35994 "description" : "Zero-out data when removing LVs.",
35995 "optional" : 1,
013dc89f
DM
35996 "type" : "boolean",
35997 "typetext" : "<boolean>"
7aacca6f
DM
35998 },
35999 "saferemove_throughput" : {
44660702 36000 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 36001 "optional" : 1,
013dc89f
DM
36002 "type" : "string",
36003 "typetext" : "<string>"
7aacca6f 36004 },
44660702
DM
36005 "server" : {
36006 "description" : "Server IP or DNS name.",
36007 "format" : "pve-storage-server",
7aacca6f 36008 "optional" : 1,
013dc89f
DM
36009 "type" : "string",
36010 "typetext" : "<string>"
7aacca6f 36011 },
44660702
DM
36012 "server2" : {
36013 "description" : "Backup volfile server IP or DNS name.",
36014 "format" : "pve-storage-server",
7aacca6f 36015 "optional" : 1,
44660702 36016 "requires" : "server",
013dc89f
DM
36017 "type" : "string",
36018 "typetext" : "<string>"
44660702
DM
36019 },
36020 "shared" : {
36021 "description" : "Mark storage as shared.",
36022 "optional" : 1,
013dc89f
DM
36023 "type" : "boolean",
36024 "typetext" : "<boolean>"
44660702 36025 },
27a7acb2 36026 "smbversion" : {
5da3d723
TL
36027 "description" : "SMB protocol version",
36028 "enum" : [
36029 "2.0",
36030 "2.1",
36031 "3.0"
36032 ],
27a7acb2 36033 "optional" : 1,
5da3d723 36034 "type" : "string"
27a7acb2 36035 },
44660702
DM
36036 "sparse" : {
36037 "description" : "use sparse volumes",
36038 "optional" : 1,
013dc89f
DM
36039 "type" : "boolean",
36040 "typetext" : "<boolean>"
44660702
DM
36041 },
36042 "storage" : {
36043 "description" : "The storage identifier.",
36044 "format" : "pve-storage-id",
013dc89f
DM
36045 "type" : "string",
36046 "typetext" : "<string>"
44660702 36047 },
5da3d723
TL
36048 "subdir" : {
36049 "description" : "Subdir to mount.",
36050 "format" : "pve-storage-path",
36051 "optional" : 1,
36052 "type" : "string",
36053 "typetext" : "<string>"
36054 },
4bd7df8b
DM
36055 "tagged_only" : {
36056 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
36057 "optional" : 1,
013dc89f
DM
36058 "type" : "boolean",
36059 "typetext" : "<boolean>"
4bd7df8b 36060 },
44660702
DM
36061 "transport" : {
36062 "description" : "Gluster transport: tcp or rdma",
36063 "enum" : [
36064 "tcp",
36065 "rdma",
36066 "unix"
36067 ],
36068 "optional" : 1,
36069 "type" : "string"
7aacca6f
DM
36070 },
36071 "username" : {
36072 "description" : "RBD Id.",
44660702 36073 "optional" : 1,
013dc89f
DM
36074 "type" : "string",
36075 "typetext" : "<string>"
7aacca6f 36076 }
44660702
DM
36077 },
36078 "type" : "object"
36079 },
36080 "permissions" : {
36081 "check" : [
36082 "perm",
36083 "/storage",
36084 [
36085 "Datastore.Allocate"
36086 ]
36087 ]
36088 },
36089 "protected" : 1,
36090 "returns" : {
36091 "type" : "null"
36092 }
36093 }
36094 },
36095 "leaf" : 1,
36096 "path" : "/storage/{storage}",
36097 "text" : "{storage}"
36098 }
36099 ],
36100 "info" : {
36101 "GET" : {
36102 "description" : "Storage index.",
36103 "method" : "GET",
36104 "name" : "index",
36105 "parameters" : {
36106 "additionalProperties" : 0,
36107 "properties" : {
36108 "type" : {
36109 "description" : "Only list storage of specific type",
36110 "enum" : [
5da3d723 36111 "cephfs",
27a7acb2 36112 "cifs",
44660702
DM
36113 "dir",
36114 "drbd",
36115 "glusterfs",
36116 "iscsi",
36117 "iscsidirect",
36118 "lvm",
36119 "lvmthin",
36120 "nfs",
36121 "rbd",
44660702
DM
36122 "zfs",
36123 "zfspool"
36124 ],
36125 "optional" : 1,
36126 "type" : "string"
36127 }
36128 }
36129 },
36130 "permissions" : {
36131 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
36132 "user" : "all"
36133 },
36134 "returns" : {
36135 "items" : {
36136 "properties" : {
36137 "storage" : {
36138 "type" : "string"
7aacca6f 36139 }
56122987 36140 },
44660702
DM
36141 "type" : "object"
36142 },
36143 "links" : [
36144 {
36145 "href" : "{storage}",
36146 "rel" : "child"
36147 }
36148 ],
36149 "type" : "array"
36150 }
36151 },
36152 "POST" : {
36153 "description" : "Create a new storage.",
36154 "method" : "POST",
36155 "name" : "create",
36156 "parameters" : {
36157 "additionalProperties" : 0,
36158 "properties" : {
36159 "authsupported" : {
36160 "description" : "Authsupported.",
36161 "optional" : 1,
013dc89f
DM
36162 "type" : "string",
36163 "typetext" : "<string>"
44660702
DM
36164 },
36165 "base" : {
36166 "description" : "Base volume. This volume is automatically activated.",
36167 "format" : "pve-volume-id",
36168 "optional" : 1,
013dc89f
DM
36169 "type" : "string",
36170 "typetext" : "<string>"
44660702
DM
36171 },
36172 "blocksize" : {
36173 "description" : "block size",
36174 "optional" : 1,
013dc89f
DM
36175 "type" : "string",
36176 "typetext" : "<string>"
44660702 36177 },
27a7acb2
DM
36178 "bwlimit" : {
36179 "description" : "Set bandwidth/io limits various operations.",
36180 "format" : {
36181 "clone" : {
95895385 36182 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
36183 "format_description" : "LIMIT",
36184 "minimum" : "0",
36185 "optional" : 1,
36186 "type" : "number"
36187 },
36188 "default" : {
95895385 36189 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
36190 "format_description" : "LIMIT",
36191 "minimum" : "0",
36192 "optional" : 1,
36193 "type" : "number"
36194 },
36195 "migration" : {
95895385 36196 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
36197 "format_description" : "LIMIT",
36198 "minimum" : "0",
36199 "optional" : 1,
36200 "type" : "number"
36201 },
36202 "move" : {
95895385 36203 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
36204 "format_description" : "LIMIT",
36205 "minimum" : "0",
36206 "optional" : 1,
36207 "type" : "number"
36208 },
36209 "restore" : {
95895385 36210 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
36211 "format_description" : "LIMIT",
36212 "minimum" : "0",
36213 "optional" : 1,
36214 "type" : "number"
36215 }
36216 },
36217 "optional" : 1,
36218 "type" : "string",
36219 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
36220 },
44660702
DM
36221 "comstar_hg" : {
36222 "description" : "host group for comstar views",
36223 "optional" : 1,
013dc89f
DM
36224 "type" : "string",
36225 "typetext" : "<string>"
44660702
DM
36226 },
36227 "comstar_tg" : {
36228 "description" : "target group for comstar views",
36229 "optional" : 1,
013dc89f
DM
36230 "type" : "string",
36231 "typetext" : "<string>"
44660702
DM
36232 },
36233 "content" : {
36234 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
36235 "format" : "pve-storage-content-list",
36236 "optional" : 1,
013dc89f
DM
36237 "type" : "string",
36238 "typetext" : "<string>"
44660702
DM
36239 },
36240 "disable" : {
36241 "description" : "Flag to disable the storage.",
36242 "optional" : 1,
013dc89f
DM
36243 "type" : "boolean",
36244 "typetext" : "<boolean>"
44660702 36245 },
27a7acb2
DM
36246 "domain" : {
36247 "description" : "CIFS domain.",
36248 "maxLength" : 256,
36249 "optional" : 1,
36250 "type" : "string",
36251 "typetext" : "<string>"
36252 },
44660702
DM
36253 "export" : {
36254 "description" : "NFS export path.",
36255 "format" : "pve-storage-path",
36256 "optional" : 1,
013dc89f
DM
36257 "type" : "string",
36258 "typetext" : "<string>"
44660702
DM
36259 },
36260 "format" : {
36261 "description" : "Default image format.",
36262 "format" : "pve-storage-format",
36263 "optional" : 1,
013dc89f
DM
36264 "type" : "string",
36265 "typetext" : "<string>"
44660702 36266 },
5da3d723
TL
36267 "fuse" : {
36268 "description" : "Mount CephFS through FUSE.",
36269 "optional" : 1,
36270 "type" : "boolean",
36271 "typetext" : "<boolean>"
36272 },
2c0dde61
DM
36273 "is_mountpoint" : {
36274 "default" : "no",
2489d6df 36275 "description" : "Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field.",
2c0dde61 36276 "optional" : 1,
2489d6df
WB
36277 "type" : "string",
36278 "typetext" : "<string>"
2c0dde61 36279 },
44660702
DM
36280 "iscsiprovider" : {
36281 "description" : "iscsi provider",
36282 "optional" : 1,
013dc89f
DM
36283 "type" : "string",
36284 "typetext" : "<string>"
44660702
DM
36285 },
36286 "krbd" : {
e2d681b3 36287 "description" : "Always access rbd through krbd kernel module.",
44660702 36288 "optional" : 1,
013dc89f
DM
36289 "type" : "boolean",
36290 "typetext" : "<boolean>"
56122987 36291 },
4d47f125
TL
36292 "lio_tpg" : {
36293 "description" : "target portal group for Linux LIO targets",
36294 "optional" : 1,
36295 "type" : "string",
36296 "typetext" : "<string>"
36297 },
44660702
DM
36298 "maxfiles" : {
36299 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
36300 "minimum" : 0,
36301 "optional" : 1,
4bd7df8b 36302 "type" : "integer",
013dc89f 36303 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
36304 },
36305 "mkdir" : {
36306 "default" : "yes",
36307 "description" : "Create the directory if it doesn't exist.",
36308 "optional" : 1,
013dc89f
DM
36309 "type" : "boolean",
36310 "typetext" : "<boolean>"
7aacca6f 36311 },
44660702 36312 "monhost" : {
2489d6df 36313 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 36314 "format" : "pve-storage-portal-dns-list",
44660702 36315 "optional" : 1,
013dc89f
DM
36316 "type" : "string",
36317 "typetext" : "<string>"
7aacca6f 36318 },
5c1699e5
TL
36319 "mountpoint" : {
36320 "description" : "mount point",
36321 "format" : "pve-storage-path",
36322 "optional" : 1,
36323 "type" : "string",
36324 "typetext" : "<string>"
36325 },
44660702
DM
36326 "nodes" : {
36327 "description" : "List of cluster node names.",
36328 "format" : "pve-node-list",
36329 "optional" : 1,
013dc89f
DM
36330 "type" : "string",
36331 "typetext" : "<string>"
7aacca6f 36332 },
44660702
DM
36333 "nowritecache" : {
36334 "description" : "disable write caching on the target",
36335 "optional" : 1,
013dc89f
DM
36336 "type" : "boolean",
36337 "typetext" : "<boolean>"
44660702
DM
36338 },
36339 "options" : {
36340 "description" : "NFS mount options (see 'man nfs')",
36341 "format" : "pve-storage-options",
36342 "optional" : 1,
013dc89f
DM
36343 "type" : "string",
36344 "typetext" : "<string>"
44660702 36345 },
27a7acb2
DM
36346 "password" : {
36347 "description" : "Password for CIFS share.",
36348 "maxLength" : 256,
36349 "optional" : 1,
36350 "type" : "string",
36351 "typetext" : "<string>"
36352 },
44660702
DM
36353 "path" : {
36354 "description" : "File system path.",
36355 "format" : "pve-storage-path",
36356 "optional" : 1,
013dc89f
DM
36357 "type" : "string",
36358 "typetext" : "<string>"
44660702
DM
36359 },
36360 "pool" : {
36361 "description" : "Pool.",
36362 "optional" : 1,
013dc89f
DM
36363 "type" : "string",
36364 "typetext" : "<string>"
44660702
DM
36365 },
36366 "portal" : {
36367 "description" : "iSCSI portal (IP or DNS name with optional port).",
36368 "format" : "pve-storage-portal-dns",
36369 "optional" : 1,
013dc89f
DM
36370 "type" : "string",
36371 "typetext" : "<string>"
44660702
DM
36372 },
36373 "redundancy" : {
36374 "default" : 2,
36375 "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.",
36376 "maximum" : 16,
36377 "minimum" : 1,
36378 "optional" : 1,
4bd7df8b 36379 "type" : "integer",
013dc89f 36380 "typetext" : "<integer> (1 - 16)"
44660702
DM
36381 },
36382 "saferemove" : {
36383 "description" : "Zero-out data when removing LVs.",
36384 "optional" : 1,
013dc89f
DM
36385 "type" : "boolean",
36386 "typetext" : "<boolean>"
44660702
DM
36387 },
36388 "saferemove_throughput" : {
36389 "description" : "Wipe throughput (cstream -t parameter value).",
36390 "optional" : 1,
013dc89f
DM
36391 "type" : "string",
36392 "typetext" : "<string>"
44660702
DM
36393 },
36394 "server" : {
36395 "description" : "Server IP or DNS name.",
36396 "format" : "pve-storage-server",
36397 "optional" : 1,
013dc89f
DM
36398 "type" : "string",
36399 "typetext" : "<string>"
44660702
DM
36400 },
36401 "server2" : {
36402 "description" : "Backup volfile server IP or DNS name.",
36403 "format" : "pve-storage-server",
36404 "optional" : 1,
36405 "requires" : "server",
013dc89f
DM
36406 "type" : "string",
36407 "typetext" : "<string>"
44660702 36408 },
27a7acb2
DM
36409 "share" : {
36410 "description" : "CIFS share.",
36411 "optional" : 1,
36412 "type" : "string",
36413 "typetext" : "<string>"
36414 },
44660702
DM
36415 "shared" : {
36416 "description" : "Mark storage as shared.",
36417 "optional" : 1,
013dc89f
DM
36418 "type" : "boolean",
36419 "typetext" : "<boolean>"
44660702 36420 },
27a7acb2 36421 "smbversion" : {
5da3d723
TL
36422 "description" : "SMB protocol version",
36423 "enum" : [
36424 "2.0",
36425 "2.1",
36426 "3.0"
36427 ],
27a7acb2 36428 "optional" : 1,
5da3d723 36429 "type" : "string"
27a7acb2 36430 },
44660702
DM
36431 "sparse" : {
36432 "description" : "use sparse volumes",
36433 "optional" : 1,
013dc89f
DM
36434 "type" : "boolean",
36435 "typetext" : "<boolean>"
44660702
DM
36436 },
36437 "storage" : {
36438 "description" : "The storage identifier.",
36439 "format" : "pve-storage-id",
013dc89f
DM
36440 "type" : "string",
36441 "typetext" : "<string>"
44660702 36442 },
5da3d723
TL
36443 "subdir" : {
36444 "description" : "Subdir to mount.",
36445 "format" : "pve-storage-path",
36446 "optional" : 1,
36447 "type" : "string",
36448 "typetext" : "<string>"
36449 },
4bd7df8b
DM
36450 "tagged_only" : {
36451 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
36452 "optional" : 1,
013dc89f
DM
36453 "type" : "boolean",
36454 "typetext" : "<boolean>"
4bd7df8b 36455 },
44660702
DM
36456 "target" : {
36457 "description" : "iSCSI target.",
36458 "optional" : 1,
013dc89f
DM
36459 "type" : "string",
36460 "typetext" : "<string>"
44660702
DM
36461 },
36462 "thinpool" : {
36463 "description" : "LVM thin pool LV name.",
36464 "format" : "pve-storage-vgname",
36465 "optional" : 1,
013dc89f
DM
36466 "type" : "string",
36467 "typetext" : "<string>"
44660702
DM
36468 },
36469 "transport" : {
36470 "description" : "Gluster transport: tcp or rdma",
36471 "enum" : [
36472 "tcp",
36473 "rdma",
36474 "unix"
7aacca6f 36475 ],
44660702
DM
36476 "optional" : 1,
36477 "type" : "string"
56122987 36478 },
44660702
DM
36479 "type" : {
36480 "description" : "Storage type.",
36481 "enum" : [
5da3d723 36482 "cephfs",
27a7acb2 36483 "cifs",
44660702
DM
36484 "dir",
36485 "drbd",
36486 "glusterfs",
36487 "iscsi",
36488 "iscsidirect",
36489 "lvm",
36490 "lvmthin",
36491 "nfs",
36492 "rbd",
44660702
DM
36493 "zfs",
36494 "zfspool"
36495 ],
36496 "type" : "string"
56122987 36497 },
44660702
DM
36498 "username" : {
36499 "description" : "RBD Id.",
36500 "optional" : 1,
013dc89f
DM
36501 "type" : "string",
36502 "typetext" : "<string>"
7aacca6f 36503 },
44660702
DM
36504 "vgname" : {
36505 "description" : "Volume group name.",
36506 "format" : "pve-storage-vgname",
36507 "optional" : 1,
013dc89f
DM
36508 "type" : "string",
36509 "typetext" : "<string>"
44660702
DM
36510 },
36511 "volume" : {
36512 "description" : "Glusterfs Volume.",
36513 "optional" : 1,
013dc89f
DM
36514 "type" : "string",
36515 "typetext" : "<string>"
44660702
DM
36516 }
36517 },
36518 "type" : "object"
36519 },
36520 "permissions" : {
36521 "check" : [
36522 "perm",
36523 "/storage",
36524 [
36525 "Datastore.Allocate"
36526 ]
36527 ]
56122987 36528 },
44660702
DM
36529 "protected" : 1,
36530 "returns" : {
36531 "type" : "null"
36532 }
36533 }
36534 },
36535 "leaf" : 0,
36536 "path" : "/storage",
36537 "text" : "storage"
36538 },
36539 {
36540 "children" : [
36541 {
56122987
DM
36542 "children" : [
36543 {
bb4c8cf8
TL
36544 "children" : [
36545 {
36546 "info" : {
36547 "GET" : {
36548 "description" : "Get user TFA types (Personal and Realm).",
36549 "method" : "GET",
36550 "name" : "read_user_tfa_type",
36551 "parameters" : {
36552 "additionalProperties" : 0,
36553 "properties" : {
36554 "userid" : {
36555 "description" : "User ID",
36556 "format" : "pve-userid",
36557 "maxLength" : 64,
36558 "type" : "string",
36559 "typetext" : "<string>"
36560 }
36561 }
36562 },
36563 "permissions" : {
36564 "check" : [
36565 "or",
36566 [
36567 "userid-param",
36568 "self"
36569 ],
36570 [
36571 "userid-group",
36572 [
36573 "User.Modify",
36574 "Sys.Audit"
36575 ]
36576 ]
36577 ]
36578 },
36579 "protected" : 1,
36580 "returns" : {
36581 "additionalProperties" : 0,
36582 "properties" : {
36583 "realm" : {
36584 "description" : "The type of TFA the users realm has set, if any.",
36585 "enum" : [
36586 "oath",
36587 "yubico"
36588 ],
36589 "optional" : 1,
36590 "type" : "string"
36591 },
36592 "user" : {
36593 "description" : "The type of TFA the user has set, if any.",
36594 "enum" : [
36595 "oath",
36596 "u2f"
36597 ],
36598 "optional" : 1,
36599 "type" : "string"
36600 }
36601 },
36602 "type" : "object"
36603 }
36604 }
36605 },
36606 "leaf" : 1,
36607 "path" : "/access/users/{userid}/tfa",
36608 "text" : "tfa"
36609 }
36610 ],
56122987 36611 "info" : {
44660702
DM
36612 "DELETE" : {
36613 "description" : "Delete user.",
36614 "method" : "DELETE",
36615 "name" : "delete_user",
56122987 36616 "parameters" : {
7aacca6f 36617 "additionalProperties" : 0,
56122987 36618 "properties" : {
56122987 36619 "userid" : {
56122987
DM
36620 "description" : "User ID",
36621 "format" : "pve-userid",
44660702 36622 "maxLength" : 64,
013dc89f
DM
36623 "type" : "string",
36624 "typetext" : "<string>"
56122987 36625 }
7aacca6f 36626 }
56122987 36627 },
56122987
DM
36628 "permissions" : {
36629 "check" : [
44660702 36630 "and",
56122987 36631 [
44660702
DM
36632 "userid-param",
36633 "Realm.AllocateUser"
56122987 36634 ],
44660702
DM
36635 [
36636 "userid-group",
36637 [
36638 "User.Modify"
36639 ]
36640 ]
56122987 36641 ]
7aacca6f 36642 },
44660702 36643 "protected" : 1,
56122987
DM
36644 "returns" : {
36645 "type" : "null"
44660702 36646 }
7aacca6f 36647 },
44660702
DM
36648 "GET" : {
36649 "description" : "Get user configuration.",
36650 "method" : "GET",
36651 "name" : "read_user",
56122987
DM
36652 "parameters" : {
36653 "additionalProperties" : 0,
36654 "properties" : {
36655 "userid" : {
44660702 36656 "description" : "User ID",
56122987 36657 "format" : "pve-userid",
44660702 36658 "maxLength" : 64,
013dc89f
DM
36659 "type" : "string",
36660 "typetext" : "<string>"
56122987
DM
36661 }
36662 }
36663 },
56122987
DM
36664 "permissions" : {
36665 "check" : [
44660702 36666 "userid-group",
56122987 36667 [
44660702
DM
36668 "User.Modify",
36669 "Sys.Audit"
56122987
DM
36670 ]
36671 ]
36672 },
56122987 36673 "returns" : {
7aacca6f 36674 "additionalProperties" : 0,
56122987 36675 "properties" : {
44660702
DM
36676 "comment" : {
36677 "optional" : 1,
36678 "type" : "string"
56122987 36679 },
44660702 36680 "email" : {
e2d681b3 36681 "format" : "email-opt",
44660702
DM
36682 "optional" : 1,
36683 "type" : "string"
7aacca6f
DM
36684 },
36685 "enable" : {
e2d681b3
TL
36686 "default" : 1,
36687 "description" : "Enable the account (default). You can set this to '0' to disable the account",
36688 "optional" : 1,
7aacca6f
DM
36689 "type" : "boolean"
36690 },
44660702 36691 "expire" : {
e2d681b3
TL
36692 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
36693 "minimum" : 0,
44660702
DM
36694 "optional" : 1,
36695 "type" : "integer"
36696 },
36697 "firstname" : {
56122987
DM
36698 "optional" : 1,
36699 "type" : "string"
36700 },
44660702
DM
36701 "groups" : {
36702 "type" : "array"
56122987 36703 },
44660702 36704 "keys" : {
e2d681b3 36705 "description" : "Keys for two factor auth (yubico).",
44660702
DM
36706 "optional" : 1,
36707 "type" : "string"
7aacca6f 36708 },
44660702
DM
36709 "lastname" : {
36710 "optional" : 1,
36711 "type" : "string"
56122987 36712 }
e2d681b3
TL
36713 },
36714 "type" : "object"
44660702
DM
36715 }
36716 },
36717 "PUT" : {
36718 "description" : "Update user configuration.",
36719 "method" : "PUT",
36720 "name" : "update_user",
56122987 36721 "parameters" : {
44660702 36722 "additionalProperties" : 0,
56122987 36723 "properties" : {
44660702
DM
36724 "append" : {
36725 "optional" : 1,
36726 "requires" : "groups",
013dc89f
DM
36727 "type" : "boolean",
36728 "typetext" : "<boolean>"
44660702
DM
36729 },
36730 "comment" : {
36731 "optional" : 1,
013dc89f
DM
36732 "type" : "string",
36733 "typetext" : "<string>"
44660702
DM
36734 },
36735 "email" : {
36736 "format" : "email-opt",
36737 "optional" : 1,
013dc89f
DM
36738 "type" : "string",
36739 "typetext" : "<string>"
44660702
DM
36740 },
36741 "enable" : {
e2d681b3
TL
36742 "default" : 1,
36743 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 36744 "optional" : 1,
013dc89f
DM
36745 "type" : "boolean",
36746 "typetext" : "<boolean>"
44660702
DM
36747 },
36748 "expire" : {
36749 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
36750 "minimum" : 0,
36751 "optional" : 1,
4bd7df8b 36752 "type" : "integer",
013dc89f 36753 "typetext" : "<integer> (0 - N)"
44660702
DM
36754 },
36755 "firstname" : {
36756 "optional" : 1,
013dc89f
DM
36757 "type" : "string",
36758 "typetext" : "<string>"
44660702
DM
36759 },
36760 "groups" : {
36761 "format" : "pve-groupid-list",
36762 "optional" : 1,
013dc89f
DM
36763 "type" : "string",
36764 "typetext" : "<string>"
44660702
DM
36765 },
36766 "keys" : {
36767 "description" : "Keys for two factor auth (yubico).",
36768 "optional" : 1,
013dc89f
DM
36769 "type" : "string",
36770 "typetext" : "<string>"
44660702
DM
36771 },
36772 "lastname" : {
36773 "optional" : 1,
013dc89f
DM
36774 "type" : "string",
36775 "typetext" : "<string>"
44660702 36776 },
56122987 36777 "userid" : {
56122987
DM
36778 "description" : "User ID",
36779 "format" : "pve-userid",
44660702 36780 "maxLength" : 64,
013dc89f
DM
36781 "type" : "string",
36782 "typetext" : "<string>"
56122987 36783 }
44660702 36784 }
56122987 36785 },
56122987
DM
36786 "permissions" : {
36787 "check" : [
36788 "userid-group",
36789 [
44660702
DM
36790 "User.Modify"
36791 ],
36792 "groups_param",
36793 1
56122987
DM
36794 ]
36795 },
44660702
DM
36796 "protected" : 1,
36797 "returns" : {
36798 "type" : "null"
36799 }
56122987
DM
36800 }
36801 },
bb4c8cf8 36802 "leaf" : 0,
44660702 36803 "path" : "/access/users/{userid}",
7aacca6f 36804 "text" : "{userid}"
56122987 36805 }
7aacca6f 36806 ],
56122987 36807 "info" : {
7aacca6f 36808 "GET" : {
44660702
DM
36809 "description" : "User index.",
36810 "method" : "GET",
7aacca6f 36811 "name" : "index",
56122987 36812 "parameters" : {
44660702
DM
36813 "additionalProperties" : 0,
36814 "properties" : {
36815 "enabled" : {
36816 "description" : "Optional filter for enable property.",
36817 "optional" : 1,
013dc89f
DM
36818 "type" : "boolean",
36819 "typetext" : "<boolean>"
44660702
DM
36820 }
36821 }
36822 },
36823 "permissions" : {
36824 "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.",
36825 "user" : "all"
56122987 36826 },
7aacca6f 36827 "returns" : {
7aacca6f
DM
36828 "items" : {
36829 "properties" : {
e2d681b3
TL
36830 "comment" : {
36831 "optional" : 1,
36832 "type" : "string"
36833 },
36834 "email" : {
36835 "format" : "email-opt",
36836 "optional" : 1,
36837 "type" : "string"
36838 },
36839 "enable" : {
36840 "default" : 1,
36841 "description" : "Enable the account (default). You can set this to '0' to disable the account",
36842 "optional" : 1,
36843 "type" : "boolean"
36844 },
36845 "expire" : {
36846 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
36847 "minimum" : 0,
36848 "optional" : 1,
36849 "type" : "integer"
36850 },
36851 "firstname" : {
36852 "optional" : 1,
36853 "type" : "string"
36854 },
36855 "keys" : {
36856 "description" : "Keys for two factor auth (yubico).",
36857 "optional" : 1,
36858 "type" : "string"
36859 },
36860 "lastname" : {
36861 "optional" : 1,
36862 "type" : "string"
36863 },
44660702 36864 "userid" : {
e2d681b3
TL
36865 "description" : "User ID",
36866 "format" : "pve-userid",
36867 "maxLength" : 64,
7aacca6f
DM
36868 "type" : "string"
36869 }
36870 },
36871 "type" : "object"
36872 },
44660702
DM
36873 "links" : [
36874 {
36875 "href" : "{userid}",
36876 "rel" : "child"
36877 }
36878 ],
7aacca6f
DM
36879 "type" : "array"
36880 }
36881 },
36882 "POST" : {
44660702 36883 "description" : "Create new user.",
7aacca6f 36884 "method" : "POST",
44660702 36885 "name" : "create_user",
56122987 36886 "parameters" : {
7aacca6f
DM
36887 "additionalProperties" : 0,
36888 "properties" : {
44660702
DM
36889 "comment" : {
36890 "optional" : 1,
013dc89f
DM
36891 "type" : "string",
36892 "typetext" : "<string>"
7aacca6f 36893 },
44660702
DM
36894 "email" : {
36895 "format" : "email-opt",
36896 "optional" : 1,
013dc89f
DM
36897 "type" : "string",
36898 "typetext" : "<string>"
44660702
DM
36899 },
36900 "enable" : {
36901 "default" : 1,
e2d681b3 36902 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 36903 "optional" : 1,
013dc89f
DM
36904 "type" : "boolean",
36905 "typetext" : "<boolean>"
44660702
DM
36906 },
36907 "expire" : {
36908 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
36909 "minimum" : 0,
36910 "optional" : 1,
4bd7df8b 36911 "type" : "integer",
013dc89f 36912 "typetext" : "<integer> (0 - N)"
44660702
DM
36913 },
36914 "firstname" : {
36915 "optional" : 1,
013dc89f
DM
36916 "type" : "string",
36917 "typetext" : "<string>"
44660702
DM
36918 },
36919 "groups" : {
36920 "format" : "pve-groupid-list",
36921 "optional" : 1,
013dc89f
DM
36922 "type" : "string",
36923 "typetext" : "<string>"
44660702
DM
36924 },
36925 "keys" : {
36926 "description" : "Keys for two factor auth (yubico).",
36927 "optional" : 1,
013dc89f
DM
36928 "type" : "string",
36929 "typetext" : "<string>"
44660702
DM
36930 },
36931 "lastname" : {
7aacca6f 36932 "optional" : 1,
013dc89f
DM
36933 "type" : "string",
36934 "typetext" : "<string>"
44660702
DM
36935 },
36936 "password" : {
36937 "description" : "Initial password.",
36938 "maxLength" : 64,
36939 "minLength" : 5,
36940 "optional" : 1,
013dc89f
DM
36941 "type" : "string",
36942 "typetext" : "<string>"
44660702
DM
36943 },
36944 "userid" : {
36945 "description" : "User ID",
36946 "format" : "pve-userid",
36947 "maxLength" : 64,
013dc89f
DM
36948 "type" : "string",
36949 "typetext" : "<string>"
56122987 36950 }
7aacca6f 36951 }
56122987 36952 },
44660702
DM
36953 "permissions" : {
36954 "check" : [
36955 "and",
36956 [
36957 "userid-param",
36958 "Realm.AllocateUser"
36959 ],
36960 [
36961 "userid-group",
36962 [
36963 "User.Modify"
36964 ],
36965 "groups_param",
36966 1
36967 ]
36968 ],
36969 "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."
36970 },
36971 "protected" : 1,
36972 "returns" : {
36973 "type" : "null"
36974 }
56122987
DM
36975 }
36976 },
44660702
DM
36977 "leaf" : 0,
36978 "path" : "/access/users",
36979 "text" : "users"
36980 },
36981 {
56122987
DM
36982 "children" : [
36983 {
56122987
DM
36984 "info" : {
36985 "DELETE" : {
44660702
DM
36986 "description" : "Delete group.",
36987 "method" : "DELETE",
36988 "name" : "delete_group",
36989 "parameters" : {
36990 "additionalProperties" : 0,
36991 "properties" : {
36992 "groupid" : {
36993 "format" : "pve-groupid",
013dc89f
DM
36994 "type" : "string",
36995 "typetext" : "<string>"
44660702
DM
36996 }
36997 }
36998 },
7aacca6f
DM
36999 "permissions" : {
37000 "check" : [
37001 "perm",
37002 "/access/groups",
37003 [
37004 "Group.Allocate"
37005 ]
37006 ]
37007 },
7aacca6f 37008 "protected" : 1,
7aacca6f
DM
37009 "returns" : {
37010 "type" : "null"
44660702 37011 }
7aacca6f 37012 },
44660702
DM
37013 "GET" : {
37014 "description" : "Get group configuration.",
37015 "method" : "GET",
37016 "name" : "read_group",
37017 "parameters" : {
37018 "additionalProperties" : 0,
37019 "properties" : {
37020 "groupid" : {
37021 "format" : "pve-groupid",
013dc89f
DM
37022 "type" : "string",
37023 "typetext" : "<string>"
44660702
DM
37024 }
37025 }
56122987 37026 },
7aacca6f
DM
37027 "permissions" : {
37028 "check" : [
37029 "perm",
37030 "/access/groups",
37031 [
44660702 37032 "Sys.Audit",
7aacca6f 37033 "Group.Allocate"
44660702
DM
37034 ],
37035 "any",
37036 1
7aacca6f
DM
37037 ]
37038 },
7aacca6f 37039 "returns" : {
44660702 37040 "additionalProperties" : 0,
7aacca6f
DM
37041 "properties" : {
37042 "comment" : {
44660702
DM
37043 "optional" : 1,
37044 "type" : "string"
7aacca6f
DM
37045 },
37046 "members" : {
37047 "items" : {
e2d681b3
TL
37048 "description" : "User ID",
37049 "format" : "pve-userid",
37050 "maxLength" : 64,
7aacca6f
DM
37051 "type" : "string"
37052 },
37053 "type" : "array"
37054 }
37055 },
44660702
DM
37056 "type" : "object"
37057 }
37058 },
37059 "PUT" : {
37060 "description" : "Update group data.",
37061 "method" : "PUT",
37062 "name" : "update_group",
56122987 37063 "parameters" : {
44660702 37064 "additionalProperties" : 0,
56122987 37065 "properties" : {
44660702
DM
37066 "comment" : {
37067 "optional" : 1,
013dc89f
DM
37068 "type" : "string",
37069 "typetext" : "<string>"
44660702 37070 },
56122987
DM
37071 "groupid" : {
37072 "format" : "pve-groupid",
013dc89f
DM
37073 "type" : "string",
37074 "typetext" : "<string>"
56122987 37075 }
44660702 37076 }
56122987 37077 },
56122987
DM
37078 "permissions" : {
37079 "check" : [
37080 "perm",
37081 "/access/groups",
37082 [
37083 "Group.Allocate"
44660702 37084 ]
56122987
DM
37085 ]
37086 },
44660702
DM
37087 "protected" : 1,
37088 "returns" : {
37089 "type" : "null"
37090 }
7aacca6f
DM
37091 }
37092 },
7aacca6f 37093 "leaf" : 1,
44660702
DM
37094 "path" : "/access/groups/{groupid}",
37095 "text" : "{groupid}"
37096 }
37097 ],
37098 "info" : {
37099 "GET" : {
37100 "description" : "Group index.",
37101 "method" : "GET",
37102 "name" : "index",
37103 "parameters" : {
37104 "additionalProperties" : 0
37105 },
37106 "permissions" : {
37107 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
37108 "user" : "all"
37109 },
37110 "returns" : {
37111 "items" : {
37112 "properties" : {
e2d681b3
TL
37113 "comment" : {
37114 "optional" : 1,
37115 "type" : "string"
37116 },
44660702 37117 "groupid" : {
e2d681b3 37118 "format" : "pve-groupid",
44660702
DM
37119 "type" : "string"
37120 }
37121 },
37122 "type" : "object"
37123 },
37124 "links" : [
37125 {
37126 "href" : "{groupid}",
37127 "rel" : "child"
37128 }
37129 ],
37130 "type" : "array"
37131 }
37132 },
37133 "POST" : {
37134 "description" : "Create new group.",
37135 "method" : "POST",
37136 "name" : "create_group",
37137 "parameters" : {
37138 "additionalProperties" : 0,
37139 "properties" : {
37140 "comment" : {
37141 "optional" : 1,
013dc89f
DM
37142 "type" : "string",
37143 "typetext" : "<string>"
44660702
DM
37144 },
37145 "groupid" : {
37146 "format" : "pve-groupid",
013dc89f
DM
37147 "type" : "string",
37148 "typetext" : "<string>"
44660702
DM
37149 }
37150 }
37151 },
37152 "permissions" : {
37153 "check" : [
37154 "perm",
37155 "/access/groups",
37156 [
37157 "Group.Allocate"
37158 ]
37159 ]
37160 },
37161 "protected" : 1,
37162 "returns" : {
37163 "type" : "null"
37164 }
7aacca6f 37165 }
44660702 37166 },
7aacca6f 37167 "leaf" : 0,
44660702
DM
37168 "path" : "/access/groups",
37169 "text" : "groups"
7aacca6f
DM
37170 },
37171 {
37172 "children" : [
37173 {
7aacca6f 37174 "info" : {
7aacca6f 37175 "DELETE" : {
7aacca6f 37176 "description" : "Delete role.",
44660702 37177 "method" : "DELETE",
7aacca6f 37178 "name" : "delete_role",
56122987
DM
37179 "parameters" : {
37180 "additionalProperties" : 0,
37181 "properties" : {
7aacca6f
DM
37182 "roleid" : {
37183 "format" : "pve-roleid",
013dc89f
DM
37184 "type" : "string",
37185 "typetext" : "<string>"
56122987
DM
37186 }
37187 }
37188 },
56122987
DM
37189 "permissions" : {
37190 "check" : [
37191 "perm",
7aacca6f 37192 "/access",
56122987 37193 [
7aacca6f
DM
37194 "Sys.Modify"
37195 ]
56122987 37196 ]
44660702
DM
37197 },
37198 "protected" : 1,
37199 "returns" : {
37200 "type" : "null"
56122987
DM
37201 }
37202 },
44660702
DM
37203 "GET" : {
37204 "description" : "Get role configuration.",
37205 "method" : "GET",
37206 "name" : "read_role",
37207 "parameters" : {
37208 "additionalProperties" : 0,
37209 "properties" : {
37210 "roleid" : {
37211 "format" : "pve-roleid",
013dc89f
DM
37212 "type" : "string",
37213 "typetext" : "<string>"
44660702
DM
37214 }
37215 }
37216 },
7aacca6f 37217 "permissions" : {
44660702 37218 "user" : "all"
56122987 37219 },
e2d681b3
TL
37220 "returns" : {
37221 "additionalProperties" : 0,
37222 "properties" : {
37223 "Datastore.Allocate" : {
37224 "optional" : 1,
37225 "type" : "boolean"
37226 },
37227 "Datastore.AllocateSpace" : {
37228 "optional" : 1,
37229 "type" : "boolean"
37230 },
37231 "Datastore.AllocateTemplate" : {
37232 "optional" : 1,
37233 "type" : "boolean"
37234 },
37235 "Datastore.Audit" : {
37236 "optional" : 1,
37237 "type" : "boolean"
37238 },
37239 "Group.Allocate" : {
37240 "optional" : 1,
37241 "type" : "boolean"
37242 },
37243 "Permissions.Modify" : {
37244 "optional" : 1,
37245 "type" : "boolean"
37246 },
37247 "Pool.Allocate" : {
37248 "optional" : 1,
37249 "type" : "boolean"
37250 },
37251 "Realm.Allocate" : {
37252 "optional" : 1,
37253 "type" : "boolean"
37254 },
37255 "Realm.AllocateUser" : {
37256 "optional" : 1,
37257 "type" : "boolean"
37258 },
5c1699e5
TL
37259 "SDN.Allocate" : {
37260 "optional" : 1,
37261 "type" : "boolean"
37262 },
37263 "SDN.Audit" : {
37264 "optional" : 1,
37265 "type" : "boolean"
37266 },
e2d681b3
TL
37267 "Sys.Audit" : {
37268 "optional" : 1,
37269 "type" : "boolean"
37270 },
37271 "Sys.Console" : {
37272 "optional" : 1,
37273 "type" : "boolean"
37274 },
37275 "Sys.Modify" : {
37276 "optional" : 1,
37277 "type" : "boolean"
37278 },
37279 "Sys.PowerMgmt" : {
37280 "optional" : 1,
37281 "type" : "boolean"
37282 },
37283 "Sys.Syslog" : {
37284 "optional" : 1,
37285 "type" : "boolean"
37286 },
37287 "User.Modify" : {
37288 "optional" : 1,
37289 "type" : "boolean"
37290 },
37291 "VM.Allocate" : {
37292 "optional" : 1,
37293 "type" : "boolean"
37294 },
37295 "VM.Audit" : {
37296 "optional" : 1,
37297 "type" : "boolean"
37298 },
37299 "VM.Backup" : {
37300 "optional" : 1,
37301 "type" : "boolean"
37302 },
37303 "VM.Clone" : {
37304 "optional" : 1,
37305 "type" : "boolean"
37306 },
37307 "VM.Config.CDROM" : {
37308 "optional" : 1,
37309 "type" : "boolean"
37310 },
37311 "VM.Config.CPU" : {
37312 "optional" : 1,
37313 "type" : "boolean"
37314 },
37315 "VM.Config.Disk" : {
37316 "optional" : 1,
37317 "type" : "boolean"
37318 },
37319 "VM.Config.HWType" : {
37320 "optional" : 1,
37321 "type" : "boolean"
37322 },
37323 "VM.Config.Memory" : {
37324 "optional" : 1,
37325 "type" : "boolean"
37326 },
37327 "VM.Config.Network" : {
37328 "optional" : 1,
37329 "type" : "boolean"
37330 },
37331 "VM.Config.Options" : {
37332 "optional" : 1,
37333 "type" : "boolean"
37334 },
37335 "VM.Console" : {
37336 "optional" : 1,
37337 "type" : "boolean"
37338 },
37339 "VM.Migrate" : {
37340 "optional" : 1,
37341 "type" : "boolean"
37342 },
37343 "VM.Monitor" : {
37344 "optional" : 1,
37345 "type" : "boolean"
37346 },
37347 "VM.PowerMgmt" : {
37348 "optional" : 1,
37349 "type" : "boolean"
37350 },
37351 "VM.Snapshot" : {
37352 "optional" : 1,
37353 "type" : "boolean"
37354 },
37355 "VM.Snapshot.Rollback" : {
37356 "optional" : 1,
37357 "type" : "boolean"
37358 }
37359 },
37360 "type" : "object"
37361 }
44660702
DM
37362 },
37363 "PUT" : {
e2d681b3 37364 "description" : "Update an existing role.",
44660702
DM
37365 "method" : "PUT",
37366 "name" : "update_role",
56122987
DM
37367 "parameters" : {
37368 "additionalProperties" : 0,
37369 "properties" : {
7aacca6f 37370 "append" : {
44660702 37371 "optional" : 1,
7aacca6f 37372 "requires" : "privs",
013dc89f
DM
37373 "type" : "boolean",
37374 "typetext" : "<boolean>"
7aacca6f
DM
37375 },
37376 "privs" : {
37377 "format" : "pve-priv-list",
e2d681b3 37378 "optional" : 1,
013dc89f
DM
37379 "type" : "string",
37380 "typetext" : "<string>"
44660702
DM
37381 },
37382 "roleid" : {
37383 "format" : "pve-roleid",
013dc89f
DM
37384 "type" : "string",
37385 "typetext" : "<string>"
56122987
DM
37386 }
37387 }
37388 },
44660702
DM
37389 "permissions" : {
37390 "check" : [
37391 "perm",
37392 "/access",
37393 [
37394 "Sys.Modify"
37395 ]
37396 ]
37397 },
56122987 37398 "protected" : 1,
7aacca6f
DM
37399 "returns" : {
37400 "type" : "null"
56122987
DM
37401 }
37402 }
37403 },
44660702 37404 "leaf" : 1,
7aacca6f 37405 "path" : "/access/roles/{roleid}",
44660702 37406 "text" : "{roleid}"
56122987
DM
37407 }
37408 ],
56122987 37409 "info" : {
7aacca6f
DM
37410 "GET" : {
37411 "description" : "Role index.",
44660702 37412 "method" : "GET",
7aacca6f 37413 "name" : "index",
56122987 37414 "parameters" : {
56122987
DM
37415 "additionalProperties" : 0
37416 },
7aacca6f
DM
37417 "permissions" : {
37418 "user" : "all"
37419 },
56122987 37420 "returns" : {
7aacca6f 37421 "items" : {
7aacca6f 37422 "properties" : {
e2d681b3
TL
37423 "privs" : {
37424 "format" : "pve-priv-list",
37425 "optional" : 1,
37426 "type" : "string"
37427 },
7aacca6f 37428 "roleid" : {
e2d681b3 37429 "format" : "pve-roleid",
7aacca6f 37430 "type" : "string"
e2d681b3
TL
37431 },
37432 "special" : {
37433 "default" : 0,
37434 "optional" : 1,
37435 "type" : "boolean"
7aacca6f 37436 }
44660702
DM
37437 },
37438 "type" : "object"
37439 },
37440 "links" : [
37441 {
37442 "href" : "{roleid}",
37443 "rel" : "child"
7aacca6f 37444 }
44660702
DM
37445 ],
37446 "type" : "array"
37447 }
7aacca6f
DM
37448 },
37449 "POST" : {
37450 "description" : "Create new role.",
44660702
DM
37451 "method" : "POST",
37452 "name" : "create_role",
7aacca6f
DM
37453 "parameters" : {
37454 "additionalProperties" : 0,
37455 "properties" : {
7aacca6f
DM
37456 "privs" : {
37457 "format" : "pve-priv-list",
37458 "optional" : 1,
013dc89f
DM
37459 "type" : "string",
37460 "typetext" : "<string>"
44660702
DM
37461 },
37462 "roleid" : {
37463 "format" : "pve-roleid",
013dc89f
DM
37464 "type" : "string",
37465 "typetext" : "<string>"
7aacca6f
DM
37466 }
37467 }
37468 },
44660702
DM
37469 "permissions" : {
37470 "check" : [
37471 "perm",
37472 "/access",
37473 [
37474 "Sys.Modify"
37475 ]
37476 ]
37477 },
37478 "protected" : 1,
7aacca6f
DM
37479 "returns" : {
37480 "type" : "null"
37481 }
37482 }
37483 },
44660702 37484 "leaf" : 0,
7aacca6f 37485 "path" : "/access/roles",
44660702 37486 "text" : "roles"
7aacca6f
DM
37487 },
37488 {
37489 "info" : {
56122987 37490 "GET" : {
44660702
DM
37491 "description" : "Get Access Control List (ACLs).",
37492 "method" : "GET",
37493 "name" : "read_acl",
7aacca6f
DM
37494 "parameters" : {
37495 "additionalProperties" : 0
37496 },
44660702
DM
37497 "permissions" : {
37498 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
37499 "user" : "all"
37500 },
56122987 37501 "returns" : {
56122987 37502 "items" : {
44660702 37503 "additionalProperties" : 0,
56122987 37504 "properties" : {
7aacca6f 37505 "path" : {
e2d681b3 37506 "description" : "Access control path",
7aacca6f
DM
37507 "type" : "string"
37508 },
44660702 37509 "propagate" : {
e2d681b3
TL
37510 "default" : 1,
37511 "description" : "Allow to propagate (inherit) permissions.",
37512 "optional" : 1,
44660702
DM
37513 "type" : "boolean"
37514 },
37515 "roleid" : {
37516 "type" : "string"
37517 },
7aacca6f
DM
37518 "type" : {
37519 "enum" : [
37520 "user",
37521 "group"
37522 ],
37523 "type" : "string"
37524 },
7aacca6f
DM
37525 "ugid" : {
37526 "type" : "string"
56122987 37527 }
7aacca6f 37528 },
44660702 37529 "type" : "object"
7aacca6f
DM
37530 },
37531 "type" : "array"
44660702 37532 }
7aacca6f
DM
37533 },
37534 "PUT" : {
44660702
DM
37535 "description" : "Update Access Control List (add or remove permissions).",
37536 "method" : "PUT",
7aacca6f
DM
37537 "name" : "update_acl",
37538 "parameters" : {
37539 "additionalProperties" : 0,
37540 "properties" : {
37541 "delete" : {
44660702 37542 "description" : "Remove permissions (instead of adding it).",
7aacca6f 37543 "optional" : 1,
013dc89f
DM
37544 "type" : "boolean",
37545 "typetext" : "<boolean>"
7aacca6f 37546 },
44660702
DM
37547 "groups" : {
37548 "description" : "List of groups.",
37549 "format" : "pve-groupid-list",
7aacca6f 37550 "optional" : 1,
013dc89f
DM
37551 "type" : "string",
37552 "typetext" : "<string>"
7aacca6f
DM
37553 },
37554 "path" : {
37555 "description" : "Access control path",
013dc89f
DM
37556 "type" : "string",
37557 "typetext" : "<string>"
7aacca6f 37558 },
7aacca6f 37559 "propagate" : {
44660702 37560 "default" : 1,
7aacca6f 37561 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 37562 "optional" : 1,
013dc89f
DM
37563 "type" : "boolean",
37564 "typetext" : "<boolean>"
7aacca6f 37565 },
44660702
DM
37566 "roles" : {
37567 "description" : "List of roles.",
37568 "format" : "pve-roleid-list",
013dc89f
DM
37569 "type" : "string",
37570 "typetext" : "<string>"
44660702
DM
37571 },
37572 "users" : {
37573 "description" : "List of users.",
37574 "format" : "pve-userid-list",
7aacca6f 37575 "optional" : 1,
013dc89f
DM
37576 "type" : "string",
37577 "typetext" : "<string>"
56122987
DM
37578 }
37579 }
37580 },
56122987 37581 "permissions" : {
7aacca6f
DM
37582 "check" : [
37583 "perm-modify",
37584 "{path}"
37585 ]
37586 },
7aacca6f
DM
37587 "protected" : 1,
37588 "returns" : {
37589 "type" : "null"
44660702 37590 }
56122987
DM
37591 }
37592 },
7aacca6f 37593 "leaf" : 1,
44660702
DM
37594 "path" : "/access/acl",
37595 "text" : "acl"
7aacca6f
DM
37596 },
37597 {
56122987
DM
37598 "children" : [
37599 {
56122987 37600 "info" : {
44660702
DM
37601 "DELETE" : {
37602 "description" : "Delete an authentication server.",
37603 "method" : "DELETE",
37604 "name" : "delete",
37605 "parameters" : {
37606 "additionalProperties" : 0,
37607 "properties" : {
37608 "realm" : {
37609 "description" : "Authentication domain ID",
37610 "format" : "pve-realm",
37611 "maxLength" : 32,
013dc89f
DM
37612 "type" : "string",
37613 "typetext" : "<string>"
56122987 37614 }
44660702 37615 }
56122987 37616 },
56122987
DM
37617 "permissions" : {
37618 "check" : [
37619 "perm",
7aacca6f 37620 "/access/realm",
56122987 37621 [
7aacca6f 37622 "Realm.Allocate"
56122987
DM
37623 ]
37624 ]
37625 },
7aacca6f 37626 "protected" : 1,
7aacca6f
DM
37627 "returns" : {
37628 "type" : "null"
44660702 37629 }
7aacca6f 37630 },
44660702
DM
37631 "GET" : {
37632 "description" : "Get auth server configuration.",
37633 "method" : "GET",
37634 "name" : "read",
56122987 37635 "parameters" : {
44660702 37636 "additionalProperties" : 0,
56122987 37637 "properties" : {
7aacca6f 37638 "realm" : {
44660702 37639 "description" : "Authentication domain ID",
7aacca6f
DM
37640 "format" : "pve-realm",
37641 "maxLength" : 32,
013dc89f
DM
37642 "type" : "string",
37643 "typetext" : "<string>"
56122987 37644 }
44660702 37645 }
7aacca6f 37646 },
7aacca6f
DM
37647 "permissions" : {
37648 "check" : [
37649 "perm",
37650 "/access/realm",
37651 [
44660702
DM
37652 "Realm.Allocate",
37653 "Sys.Audit"
37654 ],
37655 "any",
37656 1
7aacca6f 37657 ]
44660702
DM
37658 },
37659 "returns" : {}
7aacca6f 37660 },
44660702
DM
37661 "PUT" : {
37662 "description" : "Update authentication server settings.",
37663 "method" : "PUT",
37664 "name" : "update",
7aacca6f 37665 "parameters" : {
44660702 37666 "additionalProperties" : 0,
7aacca6f 37667 "properties" : {
44660702
DM
37668 "base_dn" : {
37669 "description" : "LDAP base domain name",
37670 "maxLength" : 256,
37671 "optional" : 1,
37672 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
37673 "type" : "string"
37674 },
4bd7df8b
DM
37675 "bind_dn" : {
37676 "description" : "LDAP bind domain name",
37677 "maxLength" : 256,
37678 "optional" : 1,
37679 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
37680 "type" : "string"
37681 },
2489d6df
WB
37682 "capath" : {
37683 "default" : "/etc/ssl/certs",
37684 "description" : "Path to the CA certificate store",
37685 "optional" : 1,
37686 "type" : "string",
37687 "typetext" : "<string>"
37688 },
37689 "cert" : {
37690 "description" : "Path to the client certificate",
37691 "optional" : 1,
37692 "type" : "string",
37693 "typetext" : "<string>"
37694 },
37695 "certkey" : {
37696 "description" : "Path to the client certificate key",
37697 "optional" : 1,
37698 "type" : "string",
37699 "typetext" : "<string>"
37700 },
44660702
DM
37701 "comment" : {
37702 "description" : "Description.",
37703 "maxLength" : 4096,
37704 "optional" : 1,
013dc89f
DM
37705 "type" : "string",
37706 "typetext" : "<string>"
44660702
DM
37707 },
37708 "default" : {
37709 "description" : "Use this as default realm",
37710 "optional" : 1,
013dc89f
DM
37711 "type" : "boolean",
37712 "typetext" : "<boolean>"
44660702
DM
37713 },
37714 "delete" : {
37715 "description" : "A list of settings you want to delete.",
37716 "format" : "pve-configid-list",
37717 "maxLength" : 4096,
37718 "optional" : 1,
013dc89f
DM
37719 "type" : "string",
37720 "typetext" : "<string>"
44660702
DM
37721 },
37722 "digest" : {
37723 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
37724 "maxLength" : 40,
37725 "optional" : 1,
013dc89f
DM
37726 "type" : "string",
37727 "typetext" : "<string>"
44660702
DM
37728 },
37729 "domain" : {
37730 "description" : "AD domain name",
37731 "maxLength" : 256,
37732 "optional" : 1,
37733 "pattern" : "\\S+",
37734 "type" : "string"
37735 },
37736 "port" : {
37737 "description" : "Server port.",
37738 "maximum" : 65535,
37739 "minimum" : 1,
37740 "optional" : 1,
4bd7df8b 37741 "type" : "integer",
013dc89f 37742 "typetext" : "<integer> (1 - 65535)"
44660702 37743 },
7aacca6f 37744 "realm" : {
7aacca6f
DM
37745 "description" : "Authentication domain ID",
37746 "format" : "pve-realm",
44660702 37747 "maxLength" : 32,
013dc89f
DM
37748 "type" : "string",
37749 "typetext" : "<string>"
44660702
DM
37750 },
37751 "secure" : {
37752 "description" : "Use secure LDAPS protocol.",
37753 "optional" : 1,
013dc89f
DM
37754 "type" : "boolean",
37755 "typetext" : "<boolean>"
44660702
DM
37756 },
37757 "server1" : {
37758 "description" : "Server IP address (or DNS name)",
37759 "format" : "address",
37760 "maxLength" : 256,
37761 "optional" : 1,
013dc89f
DM
37762 "type" : "string",
37763 "typetext" : "<string>"
44660702
DM
37764 },
37765 "server2" : {
37766 "description" : "Fallback Server IP address (or DNS name)",
37767 "format" : "address",
37768 "maxLength" : 256,
37769 "optional" : 1,
013dc89f
DM
37770 "type" : "string",
37771 "typetext" : "<string>"
44660702 37772 },
1c532546
TL
37773 "sslversion" : {
37774 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
37775 "enum" : [
37776 "tlsv1",
37777 "tlsv1_1",
37778 "tlsv1_2",
37779 "tlsv1_3"
37780 ],
37781 "optional" : 1,
37782 "type" : "string"
37783 },
44660702
DM
37784 "tfa" : {
37785 "description" : "Use Two-factor authentication.",
37786 "format" : "pve-tfa-config",
37787 "maxLength" : 128,
37788 "optional" : 1,
013dc89f 37789 "type" : "string",
95895385 37790 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
37791 },
37792 "user_attr" : {
37793 "description" : "LDAP user attribute name",
37794 "maxLength" : 256,
37795 "optional" : 1,
37796 "pattern" : "\\S{2,}",
37797 "type" : "string"
2489d6df
WB
37798 },
37799 "verify" : {
37800 "default" : 0,
37801 "description" : "Verify the server's SSL certificate",
37802 "optional" : 1,
37803 "type" : "boolean",
37804 "typetext" : "<boolean>"
7aacca6f 37805 }
56122987 37806 },
44660702 37807 "type" : "object"
56122987 37808 },
7aacca6f
DM
37809 "permissions" : {
37810 "check" : [
37811 "perm",
37812 "/access/realm",
37813 [
44660702
DM
37814 "Realm.Allocate"
37815 ]
7aacca6f
DM
37816 ]
37817 },
44660702
DM
37818 "protected" : 1,
37819 "returns" : {
37820 "type" : "null"
37821 }
56122987 37822 }
44660702
DM
37823 },
37824 "leaf" : 1,
37825 "path" : "/access/domains/{realm}",
37826 "text" : "{realm}"
56122987 37827 }
7aacca6f 37828 ],
56122987
DM
37829 "info" : {
37830 "GET" : {
44660702
DM
37831 "description" : "Authentication domain index.",
37832 "method" : "GET",
37833 "name" : "index",
37834 "parameters" : {
37835 "additionalProperties" : 0
37836 },
37837 "permissions" : {
37838 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
37839 "user" : "world"
37840 },
56122987 37841 "returns" : {
56122987
DM
37842 "items" : {
37843 "properties" : {
7aacca6f 37844 "comment" : {
52e44c50 37845 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
37846 "optional" : 1,
37847 "type" : "string"
37848 },
56122987
DM
37849 "realm" : {
37850 "type" : "string"
37851 },
37852 "tfa" : {
7aacca6f 37853 "description" : "Two-factor authentication provider.",
56122987
DM
37854 "enum" : [
37855 "yubico",
37856 "oath"
37857 ],
44660702
DM
37858 "optional" : 1,
37859 "type" : "string"
56122987
DM
37860 }
37861 },
37862 "type" : "object"
44660702
DM
37863 },
37864 "links" : [
37865 {
37866 "href" : "{realm}",
37867 "rel" : "child"
37868 }
37869 ],
37870 "type" : "array"
37871 }
56122987
DM
37872 },
37873 "POST" : {
7aacca6f 37874 "description" : "Add an authentication server.",
44660702 37875 "method" : "POST",
7aacca6f 37876 "name" : "create",
56122987 37877 "parameters" : {
44660702 37878 "additionalProperties" : 0,
56122987 37879 "properties" : {
44660702
DM
37880 "base_dn" : {
37881 "description" : "LDAP base domain name",
56122987 37882 "maxLength" : 256,
44660702
DM
37883 "optional" : 1,
37884 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 37885 "type" : "string"
56122987 37886 },
4bd7df8b
DM
37887 "bind_dn" : {
37888 "description" : "LDAP bind domain name",
37889 "maxLength" : 256,
37890 "optional" : 1,
37891 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
37892 "type" : "string"
37893 },
2489d6df
WB
37894 "capath" : {
37895 "default" : "/etc/ssl/certs",
37896 "description" : "Path to the CA certificate store",
37897 "optional" : 1,
37898 "type" : "string",
37899 "typetext" : "<string>"
37900 },
37901 "cert" : {
37902 "description" : "Path to the client certificate",
37903 "optional" : 1,
37904 "type" : "string",
37905 "typetext" : "<string>"
37906 },
37907 "certkey" : {
37908 "description" : "Path to the client certificate key",
37909 "optional" : 1,
37910 "type" : "string",
37911 "typetext" : "<string>"
37912 },
44660702
DM
37913 "comment" : {
37914 "description" : "Description.",
37915 "maxLength" : 4096,
56122987 37916 "optional" : 1,
013dc89f
DM
37917 "type" : "string",
37918 "typetext" : "<string>"
56122987 37919 },
44660702
DM
37920 "default" : {
37921 "description" : "Use this as default realm",
7aacca6f 37922 "optional" : 1,
013dc89f
DM
37923 "type" : "boolean",
37924 "typetext" : "<boolean>"
56122987 37925 },
44660702
DM
37926 "domain" : {
37927 "description" : "AD domain name",
37928 "maxLength" : 256,
7aacca6f 37929 "optional" : 1,
44660702
DM
37930 "pattern" : "\\S+",
37931 "type" : "string"
56122987 37932 },
7aacca6f 37933 "port" : {
44660702 37934 "description" : "Server port.",
7aacca6f 37935 "maximum" : 65535,
44660702 37936 "minimum" : 1,
7aacca6f 37937 "optional" : 1,
4bd7df8b 37938 "type" : "integer",
013dc89f 37939 "typetext" : "<integer> (1 - 65535)"
56122987 37940 },
44660702
DM
37941 "realm" : {
37942 "description" : "Authentication domain ID",
37943 "format" : "pve-realm",
37944 "maxLength" : 32,
013dc89f
DM
37945 "type" : "string",
37946 "typetext" : "<string>"
44660702
DM
37947 },
37948 "secure" : {
37949 "description" : "Use secure LDAPS protocol.",
7aacca6f 37950 "optional" : 1,
013dc89f
DM
37951 "type" : "boolean",
37952 "typetext" : "<boolean>"
56122987 37953 },
44660702
DM
37954 "server1" : {
37955 "description" : "Server IP address (or DNS name)",
37956 "format" : "address",
37957 "maxLength" : 256,
37958 "optional" : 1,
013dc89f
DM
37959 "type" : "string",
37960 "typetext" : "<string>"
56122987 37961 },
44660702
DM
37962 "server2" : {
37963 "description" : "Fallback Server IP address (or DNS name)",
37964 "format" : "address",
7aacca6f 37965 "maxLength" : 256,
7aacca6f 37966 "optional" : 1,
013dc89f
DM
37967 "type" : "string",
37968 "typetext" : "<string>"
7aacca6f 37969 },
1c532546
TL
37970 "sslversion" : {
37971 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
37972 "enum" : [
37973 "tlsv1",
37974 "tlsv1_1",
37975 "tlsv1_2",
37976 "tlsv1_3"
37977 ],
37978 "optional" : 1,
37979 "type" : "string"
37980 },
44660702
DM
37981 "tfa" : {
37982 "description" : "Use Two-factor authentication.",
37983 "format" : "pve-tfa-config",
37984 "maxLength" : 128,
37985 "optional" : 1,
013dc89f 37986 "type" : "string",
95895385 37987 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
37988 },
37989 "type" : {
37990 "description" : "Realm type.",
37991 "enum" : [
37992 "ad",
37993 "ldap",
37994 "pam",
37995 "pve"
37996 ],
37997 "type" : "string"
37998 },
37999 "user_attr" : {
38000 "description" : "LDAP user attribute name",
7aacca6f 38001 "maxLength" : 256,
7aacca6f 38002 "optional" : 1,
44660702
DM
38003 "pattern" : "\\S{2,}",
38004 "type" : "string"
2489d6df
WB
38005 },
38006 "verify" : {
38007 "default" : 0,
38008 "description" : "Verify the server's SSL certificate",
38009 "optional" : 1,
38010 "type" : "boolean",
38011 "typetext" : "<boolean>"
7aacca6f
DM
38012 }
38013 },
7aacca6f 38014 "type" : "object"
56122987 38015 },
7aacca6f
DM
38016 "permissions" : {
38017 "check" : [
38018 "perm",
38019 "/access/realm",
38020 [
38021 "Realm.Allocate"
38022 ]
38023 ]
44660702
DM
38024 },
38025 "protected" : 1,
38026 "returns" : {
38027 "type" : "null"
7aacca6f 38028 }
56122987 38029 }
7aacca6f 38030 },
44660702 38031 "leaf" : 0,
56122987 38032 "path" : "/access/domains",
44660702 38033 "text" : "domains"
56122987
DM
38034 },
38035 {
56122987 38036 "info" : {
44660702 38037 "GET" : {
2489d6df 38038 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
38039 "method" : "GET",
38040 "name" : "get_ticket",
38041 "parameters" : {
38042 "additionalProperties" : 0
38043 },
38044 "permissions" : {
38045 "user" : "world"
38046 },
38047 "returns" : {
38048 "type" : "null"
38049 }
38050 },
56122987 38051 "POST" : {
44660702 38052 "description" : "Create or verify authentication ticket.",
56122987 38053 "method" : "POST",
44660702
DM
38054 "name" : "create_ticket",
38055 "parameters" : {
38056 "additionalProperties" : 0,
56122987 38057 "properties" : {
44660702
DM
38058 "otp" : {
38059 "description" : "One-time password for Two-factor authentication.",
7aacca6f 38060 "optional" : 1,
013dc89f
DM
38061 "type" : "string",
38062 "typetext" : "<string>"
56122987 38063 },
7aacca6f
DM
38064 "password" : {
38065 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
38066 "type" : "string",
38067 "typetext" : "<string>"
7aacca6f 38068 },
44660702
DM
38069 "path" : {
38070 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 38071 "maxLength" : 64,
56122987 38072 "optional" : 1,
56122987 38073 "requires" : "privs",
013dc89f
DM
38074 "type" : "string",
38075 "typetext" : "<string>"
44660702
DM
38076 },
38077 "privs" : {
7aacca6f 38078 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
38079 "format" : "pve-priv-list",
38080 "maxLength" : 64,
56122987 38081 "optional" : 1,
44660702 38082 "requires" : "path",
013dc89f
DM
38083 "type" : "string",
38084 "typetext" : "<string>"
56122987
DM
38085 },
38086 "realm" : {
56122987 38087 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 38088 "format" : "pve-realm",
7aacca6f 38089 "maxLength" : 32,
44660702 38090 "optional" : 1,
013dc89f
DM
38091 "type" : "string",
38092 "typetext" : "<string>"
56122987
DM
38093 },
38094 "username" : {
38095 "description" : "User name",
44660702 38096 "maxLength" : 64,
013dc89f
DM
38097 "type" : "string",
38098 "typetext" : "<string>"
56122987 38099 }
44660702 38100 }
7aacca6f 38101 },
56122987 38102 "permissions" : {
44660702 38103 "description" : "You need to pass valid credientials.",
56122987
DM
38104 "user" : "world"
38105 },
44660702 38106 "protected" : 1,
7aacca6f 38107 "returns" : {
56122987 38108 "properties" : {
44660702
DM
38109 "CSRFPreventionToken" : {
38110 "optional" : 1,
38111 "type" : "string"
56122987 38112 },
e2d681b3
TL
38113 "clustername" : {
38114 "optional" : 1,
38115 "type" : "string"
38116 },
44660702
DM
38117 "ticket" : {
38118 "optional" : 1,
38119 "type" : "string"
38120 },
38121 "username" : {
56122987
DM
38122 "type" : "string"
38123 }
38124 },
44660702 38125 "type" : "object"
7aacca6f 38126 }
7aacca6f
DM
38127 }
38128 },
44660702
DM
38129 "leaf" : 1,
38130 "path" : "/access/ticket",
38131 "text" : "ticket"
7aacca6f 38132 },
56122987 38133 {
56122987 38134 "info" : {
7aacca6f 38135 "PUT" : {
44660702 38136 "description" : "Change user password.",
7aacca6f 38137 "method" : "PUT",
e2d681b3 38138 "name" : "change_password",
56122987
DM
38139 "parameters" : {
38140 "additionalProperties" : 0,
38141 "properties" : {
44660702
DM
38142 "password" : {
38143 "description" : "The new password.",
38144 "maxLength" : 64,
38145 "minLength" : 5,
013dc89f
DM
38146 "type" : "string",
38147 "typetext" : "<string>"
7aacca6f 38148 },
44660702
DM
38149 "userid" : {
38150 "description" : "User ID",
38151 "format" : "pve-userid",
38152 "maxLength" : 64,
013dc89f
DM
38153 "type" : "string",
38154 "typetext" : "<string>"
56122987 38155 }
7aacca6f 38156 }
56122987
DM
38157 },
38158 "permissions" : {
38159 "check" : [
44660702 38160 "or",
56122987 38161 [
44660702
DM
38162 "userid-param",
38163 "self"
38164 ],
38165 [
38166 "and",
38167 [
38168 "userid-param",
38169 "Realm.AllocateUser"
38170 ],
38171 [
38172 "userid-group",
38173 [
38174 "User.Modify"
38175 ]
38176 ]
56122987 38177 ]
7aacca6f 38178 ],
44660702 38179 "description" : "Each user is allowed to change his own password. A user can change the password of another user if he has 'Realm.AllocateUser' (on the realm of user <userid>) and 'User.Modify' permission on /access/groups/<group> on a group where user <userid> is member of."
56122987 38180 },
44660702 38181 "protected" : 1,
7aacca6f
DM
38182 "returns" : {
38183 "type" : "null"
44660702
DM
38184 }
38185 }
38186 },
38187 "leaf" : 1,
38188 "path" : "/access/password",
38189 "text" : "password"
95895385
TL
38190 },
38191 {
38192 "info" : {
38193 "POST" : {
38194 "description" : "Finish a u2f challenge.",
38195 "method" : "POST",
38196 "name" : "verify_tfa",
38197 "parameters" : {
38198 "additionalProperties" : 0,
38199 "properties" : {
38200 "response" : {
38201 "description" : "The response to the current authentication challenge.",
38202 "type" : "string",
38203 "typetext" : "<string>"
38204 }
38205 }
38206 },
38207 "permissions" : {
38208 "user" : "all"
38209 },
38210 "protected" : 1,
38211 "returns" : {
38212 "properties" : {
38213 "ticket" : {
38214 "type" : "string"
38215 }
38216 },
38217 "type" : "object"
38218 }
38219 },
38220 "PUT" : {
38221 "description" : "Change user u2f authentication.",
38222 "method" : "PUT",
38223 "name" : "change_tfa",
38224 "parameters" : {
38225 "additionalProperties" : 0,
38226 "properties" : {
38227 "action" : {
38228 "description" : "The action to perform",
38229 "enum" : [
38230 "delete",
38231 "new",
38232 "confirm"
38233 ],
38234 "type" : "string"
38235 },
38236 "config" : {
38237 "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
38238 "format" : "pve-tfa-config",
38239 "maxLength" : 128,
38240 "optional" : 1,
38241 "type" : "string",
38242 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
38243 },
38244 "key" : {
38245 "description" : "When adding TOTP, the shared secret value.",
1c532546 38246 "format" : "pve-tfa-secret",
95895385 38247 "optional" : 1,
1c532546
TL
38248 "type" : "string",
38249 "typetext" : "<string>"
95895385
TL
38250 },
38251 "password" : {
38252 "description" : "The current password.",
38253 "maxLength" : 64,
38254 "minLength" : 5,
38255 "optional" : 1,
38256 "type" : "string",
38257 "typetext" : "<string>"
38258 },
38259 "response" : {
38260 "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
38261 "optional" : 1,
38262 "type" : "string",
38263 "typetext" : "<string>"
38264 },
38265 "userid" : {
38266 "description" : "User ID",
38267 "format" : "pve-userid",
38268 "maxLength" : 64,
38269 "type" : "string",
38270 "typetext" : "<string>"
38271 }
38272 }
38273 },
38274 "permissions" : {
38275 "check" : [
38276 "or",
38277 [
38278 "userid-param",
38279 "self"
38280 ],
38281 [
38282 "and",
38283 [
38284 "userid-param",
38285 "Realm.AllocateUser"
38286 ],
38287 [
38288 "userid-group",
38289 [
38290 "User.Modify"
38291 ]
38292 ]
38293 ]
38294 ],
38295 "description" : "A user can change their own u2f or totp token."
38296 },
38297 "protected" : 1,
38298 "returns" : {
38299 "type" : "object"
38300 }
38301 }
38302 },
38303 "leaf" : 1,
38304 "path" : "/access/tfa",
38305 "text" : "tfa"
44660702
DM
38306 }
38307 ],
38308 "info" : {
38309 "GET" : {
38310 "description" : "Directory index.",
38311 "method" : "GET",
38312 "name" : "index",
38313 "parameters" : {
38314 "additionalProperties" : 0
38315 },
38316 "permissions" : {
38317 "user" : "all"
38318 },
38319 "returns" : {
38320 "items" : {
38321 "properties" : {
38322 "subdir" : {
38323 "type" : "string"
38324 }
7aacca6f 38325 },
44660702
DM
38326 "type" : "object"
38327 },
38328 "links" : [
38329 {
38330 "href" : "{subdir}",
38331 "rel" : "child"
38332 }
38333 ],
38334 "type" : "array"
38335 }
38336 }
38337 },
38338 "leaf" : 0,
38339 "path" : "/access",
38340 "text" : "access"
38341 },
38342 {
38343 "children" : [
38344 {
38345 "info" : {
38346 "DELETE" : {
7aacca6f 38347 "description" : "Delete pool.",
44660702
DM
38348 "method" : "DELETE",
38349 "name" : "delete_pool",
7aacca6f
DM
38350 "parameters" : {
38351 "additionalProperties" : 0,
38352 "properties" : {
38353 "poolid" : {
38354 "format" : "pve-poolid",
013dc89f
DM
38355 "type" : "string",
38356 "typetext" : "<string>"
7aacca6f
DM
38357 }
38358 }
38359 },
56122987
DM
38360 "permissions" : {
38361 "check" : [
38362 "perm",
38363 "/pool/{poolid}",
38364 [
38365 "Pool.Allocate"
38366 ]
44660702
DM
38367 ],
38368 "description" : "You can only delete empty pools (no members)."
38369 },
38370 "protected" : 1,
38371 "returns" : {
38372 "type" : "null"
7aacca6f
DM
38373 }
38374 },
38375 "GET" : {
38376 "description" : "Get pool configuration.",
44660702 38377 "method" : "GET",
7aacca6f 38378 "name" : "read_pool",
56122987 38379 "parameters" : {
44660702 38380 "additionalProperties" : 0,
56122987
DM
38381 "properties" : {
38382 "poolid" : {
44660702 38383 "format" : "pve-poolid",
013dc89f
DM
38384 "type" : "string",
38385 "typetext" : "<string>"
56122987 38386 }
44660702 38387 }
56122987 38388 },
56122987 38389 "permissions" : {
56122987
DM
38390 "check" : [
38391 "perm",
38392 "/pool/{poolid}",
38393 [
38394 "Pool.Allocate"
38395 ]
38396 ]
38397 },
7aacca6f 38398 "returns" : {
44660702 38399 "additionalProperties" : 0,
56122987 38400 "properties" : {
44660702
DM
38401 "comment" : {
38402 "optional" : 1,
38403 "type" : "string"
38404 },
7aacca6f 38405 "members" : {
7aacca6f
DM
38406 "items" : {
38407 "additionalProperties" : 1,
7aacca6f 38408 "properties" : {
7aacca6f
DM
38409 "id" : {
38410 "type" : "string"
38411 },
38412 "node" : {
38413 "type" : "string"
38414 },
44660702
DM
38415 "storage" : {
38416 "optional" : 1,
38417 "type" : "string"
38418 },
7aacca6f 38419 "type" : {
7aacca6f
DM
38420 "enum" : [
38421 "qemu",
38422 "lxc",
38423 "openvz",
38424 "storage"
44660702
DM
38425 ],
38426 "type" : "string"
38427 },
38428 "vmid" : {
38429 "optional" : 1,
38430 "type" : "integer"
7aacca6f 38431 }
44660702
DM
38432 },
38433 "type" : "object"
38434 },
38435 "type" : "array"
38436 }
38437 },
38438 "type" : "object"
38439 }
38440 },
38441 "PUT" : {
38442 "description" : "Update pool data.",
38443 "method" : "PUT",
38444 "name" : "update_pool",
38445 "parameters" : {
38446 "additionalProperties" : 0,
38447 "properties" : {
56122987
DM
38448 "comment" : {
38449 "optional" : 1,
013dc89f
DM
38450 "type" : "string",
38451 "typetext" : "<string>"
44660702
DM
38452 },
38453 "delete" : {
38454 "description" : "Remove vms/storage (instead of adding it).",
38455 "optional" : 1,
013dc89f
DM
38456 "type" : "boolean",
38457 "typetext" : "<boolean>"
44660702
DM
38458 },
38459 "poolid" : {
38460 "format" : "pve-poolid",
013dc89f
DM
38461 "type" : "string",
38462 "typetext" : "<string>"
44660702
DM
38463 },
38464 "storage" : {
38465 "description" : "List of storage IDs.",
38466 "format" : "pve-storage-id-list",
38467 "optional" : 1,
013dc89f
DM
38468 "type" : "string",
38469 "typetext" : "<string>"
44660702
DM
38470 },
38471 "vms" : {
38472 "description" : "List of virtual machines.",
38473 "format" : "pve-vmid-list",
38474 "optional" : 1,
013dc89f
DM
38475 "type" : "string",
38476 "typetext" : "<string>"
56122987 38477 }
44660702
DM
38478 }
38479 },
38480 "permissions" : {
38481 "check" : [
38482 "perm",
38483 "/pool/{poolid}",
38484 [
38485 "Pool.Allocate"
38486 ]
38487 ],
38488 "description" : "You also need the right to modify permissions on any object you add/delete."
38489 },
38490 "protected" : 1,
38491 "returns" : {
38492 "type" : "null"
56122987
DM
38493 }
38494 }
38495 },
44660702
DM
38496 "leaf" : 1,
38497 "path" : "/pools/{poolid}",
7aacca6f 38498 "text" : "{poolid}"
56122987 38499 }
7aacca6f 38500 ],
56122987
DM
38501 "info" : {
38502 "GET" : {
44660702
DM
38503 "description" : "Pool index.",
38504 "method" : "GET",
38505 "name" : "index",
38506 "parameters" : {
38507 "additionalProperties" : 0
38508 },
38509 "permissions" : {
38510 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
38511 "user" : "all"
38512 },
56122987 38513 "returns" : {
44660702
DM
38514 "items" : {
38515 "properties" : {
38516 "poolid" : {
38517 "type" : "string"
38518 }
56122987 38519 },
44660702
DM
38520 "type" : "object"
38521 },
38522 "links" : [
38523 {
38524 "href" : "{poolid}",
38525 "rel" : "child"
38526 }
38527 ],
38528 "type" : "array"
38529 }
38530 },
38531 "POST" : {
38532 "description" : "Create new pool.",
38533 "method" : "POST",
38534 "name" : "create_pool",
38535 "parameters" : {
38536 "additionalProperties" : 0,
38537 "properties" : {
38538 "comment" : {
38539 "optional" : 1,
013dc89f
DM
38540 "type" : "string",
38541 "typetext" : "<string>"
7aacca6f 38542 },
44660702
DM
38543 "poolid" : {
38544 "format" : "pve-poolid",
013dc89f
DM
38545 "type" : "string",
38546 "typetext" : "<string>"
56122987
DM
38547 }
38548 }
38549 },
56122987 38550 "permissions" : {
44660702
DM
38551 "check" : [
38552 "perm",
38553 "/pool/{poolid}",
38554 [
38555 "Pool.Allocate"
38556 ]
38557 ]
56122987 38558 },
44660702
DM
38559 "protected" : 1,
38560 "returns" : {
38561 "type" : "null"
38562 }
38563 }
38564 },
38565 "leaf" : 0,
38566 "path" : "/pools",
38567 "text" : "pools"
38568 },
38569 {
38570 "info" : {
38571 "GET" : {
38572 "description" : "API version details. The result also includes the global datacenter confguration.",
38573 "method" : "GET",
38574 "name" : "version",
7aacca6f
DM
38575 "parameters" : {
38576 "additionalProperties" : 0
38577 },
44660702
DM
38578 "permissions" : {
38579 "user" : "all"
38580 },
38581 "returns" : {
38582 "properties" : {
38583 "release" : {
38584 "type" : "string"
38585 },
38586 "repoid" : {
38587 "type" : "string"
38588 },
38589 "version" : {
38590 "type" : "string"
38591 }
38592 },
38593 "type" : "object"
38594 }
56122987
DM
38595 }
38596 },
44660702
DM
38597 "leaf" : 1,
38598 "path" : "/version",
56122987
DM
38599 "text" : "version"
38600 }
38601]
38602;
38603