]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
run make update-static
[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 },
329 "node" : {
330 "description" : "The cluster node name.",
331 "format" : "pve-node",
332 "type" : "string",
333 "typetext" : "<string>"
334 },
335 "nodeid" : {
336 "description" : "Node id for this node.",
337 "minimum" : 1,
338 "optional" : 1,
339 "type" : "integer",
340 "typetext" : "<integer> (1 - N)"
341 },
342 "ring0_addr" : {
343 "default" : "Hostname of the node",
344 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
345 "format" : "address",
346 "optional" : 1,
347 "type" : "string",
348 "typetext" : "<string>"
349 },
350 "ring1_addr" : {
351 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
352 "format" : "address",
353 "optional" : 1,
354 "type" : "string",
355 "typetext" : "<string>"
356 },
357 "votes" : {
358 "description" : "Number of votes for this node",
359 "minimum" : 0,
360 "optional" : 1,
361 "type" : "integer",
362 "typetext" : "<integer> (0 - N)"
363 }
364 }
365 },
366 "protected" : 1,
367 "returns" : {
368 "properties" : {
369 "corosync_authkey" : {
370 "type" : "string"
371 },
372 "corosync_conf" : {
373 "type" : "string"
374 }
375 },
376 "type" : "object"
377 }
378 }
379 },
380 "leaf" : 1,
381 "path" : "/cluster/config/nodes/{node}",
382 "text" : "{node}"
383 }
384 ],
32d876b5
DM
385 "info" : {
386 "GET" : {
387 "description" : "Corosync node list.",
388 "method" : "GET",
389 "name" : "nodes",
390 "parameters" : {
391 "additionalProperties" : 0
392 },
5d9c884c
DM
393 "permissions" : {
394 "check" : [
395 "perm",
396 "/",
397 [
398 "Sys.Audit"
399 ]
400 ]
401 },
32d876b5
DM
402 "returns" : {
403 "items" : {
404 "properties" : {
405 "node" : {
406 "type" : "string"
407 }
408 },
409 "type" : "object"
410 },
411 "links" : [
412 {
413 "href" : "{node}",
414 "rel" : "child"
415 }
416 ],
417 "type" : "array"
418 }
419 }
420 },
27a7acb2 421 "leaf" : 0,
32d876b5
DM
422 "path" : "/cluster/config/nodes",
423 "text" : "nodes"
424 },
27a7acb2
DM
425 {
426 "info" : {
427 "GET" : {
428 "description" : "Get information needed to join this cluster over the connected node.",
429 "method" : "GET",
430 "name" : "join_info",
431 "parameters" : {
432 "additionalProperties" : 0,
433 "properties" : {
434 "node" : {
435 "default" : "current connected node",
436 "description" : "The node for which the joinee gets the nodeinfo. ",
437 "format" : "pve-node",
438 "optional" : 1,
439 "type" : "string",
440 "typetext" : "<string>"
441 }
442 }
443 },
a9a8e3d1
DM
444 "permissions" : {
445 "check" : [
446 "perm",
447 "/",
448 [
449 "Sys.Audit"
450 ]
451 ]
452 },
27a7acb2
DM
453 "returns" : {
454 "additionalProperties" : 0,
455 "properties" : {
456 "config_digest" : {
457 "type" : "string"
458 },
459 "nodelist" : {
460 "items" : {
461 "additionalProperties" : 1,
462 "properties" : {
463 "name" : {
464 "description" : "The cluster node name.",
465 "format" : "pve-node",
466 "type" : "string"
467 },
468 "nodeid" : {
469 "description" : "Node id for this node.",
470 "minimum" : 1,
471 "optional" : 1,
472 "type" : "integer"
473 },
474 "pve_addr" : {
475 "format" : "ip",
476 "type" : "string"
477 },
478 "pve_fp" : {
479 "description" : "Certificate SHA 256 fingerprint.",
480 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
481 "type" : "string"
482 },
483 "quorum_votes" : {
484 "minimum" : 0,
485 "type" : "integer"
486 },
487 "ring0_addr" : {
488 "default" : "Hostname of the node",
489 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
490 "format" : "address",
491 "optional" : 1,
492 "type" : "string"
493 }
494 },
495 "type" : "object"
496 },
497 "type" : "array"
498 },
499 "preferred_node" : {
500 "description" : "The cluster node name.",
501 "format" : "pve-node",
502 "type" : "string"
503 },
504 "totem" : {
505 "type" : "object"
506 }
507 },
508 "type" : "object"
509 }
510 },
511 "POST" : {
512 "description" : "Joins this node into an existing cluster.",
513 "method" : "POST",
514 "name" : "join",
515 "parameters" : {
516 "additionalProperties" : 0,
517 "properties" : {
518 "fingerprint" : {
519 "description" : "Certificate SHA 256 fingerprint.",
520 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
521 "type" : "string"
522 },
523 "force" : {
524 "description" : "Do not throw error if node already exists.",
525 "optional" : 1,
526 "type" : "boolean",
527 "typetext" : "<boolean>"
528 },
529 "hostname" : {
530 "description" : "Hostname (or IP) of an existing cluster member.",
531 "type" : "string",
532 "typetext" : "<string>"
533 },
534 "nodeid" : {
535 "description" : "Node id for this node.",
536 "minimum" : 1,
537 "optional" : 1,
538 "type" : "integer",
539 "typetext" : "<integer> (1 - N)"
540 },
541 "password" : {
542 "description" : "Superuser (root) password of peer node.",
543 "maxLength" : 128,
544 "type" : "string",
545 "typetext" : "<string>"
546 },
547 "ring0_addr" : {
548 "default" : "IP resolved by node's hostname",
549 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
550 "format" : "address",
551 "optional" : 1,
552 "type" : "string",
553 "typetext" : "<string>"
554 },
555 "ring1_addr" : {
556 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
557 "format" : "address",
558 "optional" : 1,
559 "type" : "string",
560 "typetext" : "<string>"
561 },
562 "votes" : {
563 "description" : "Number of votes for this node",
564 "minimum" : 0,
565 "optional" : 1,
566 "type" : "integer",
567 "typetext" : "<integer> (0 - N)"
568 }
569 }
570 },
571 "protected" : 1,
572 "returns" : {
573 "type" : "string"
574 }
575 }
576 },
577 "leaf" : 1,
578 "path" : "/cluster/config/join",
579 "text" : "join"
580 },
32d876b5
DM
581 {
582 "info" : {
583 "GET" : {
584 "description" : "Get corosync totem protocol settings.",
585 "method" : "GET",
586 "name" : "totem",
587 "parameters" : {
588 "additionalProperties" : 0
589 },
5d9c884c
DM
590 "permissions" : {
591 "check" : [
592 "perm",
593 "/",
594 [
595 "Sys.Audit"
596 ]
597 ]
598 },
32d876b5 599 "returns" : {
32d876b5
DM
600 "type" : "object"
601 }
602 }
603 },
604 "leaf" : 1,
605 "path" : "/cluster/config/totem",
606 "text" : "totem"
607 }
608 ],
609 "info" : {
610 "GET" : {
611 "description" : "Directory index.",
612 "method" : "GET",
613 "name" : "index",
614 "parameters" : {
615 "additionalProperties" : 0
616 },
5d9c884c
DM
617 "permissions" : {
618 "check" : [
619 "perm",
620 "/",
621 [
622 "Sys.Audit"
623 ]
624 ]
625 },
32d876b5
DM
626 "returns" : {
627 "items" : {
628 "properties" : {},
629 "type" : "object"
630 },
631 "links" : [
632 {
633 "href" : "{name}",
634 "rel" : "child"
635 }
636 ],
637 "type" : "array"
638 }
27a7acb2
DM
639 },
640 "POST" : {
641 "description" : "Generate new cluster configuration.",
642 "method" : "POST",
643 "name" : "create",
644 "parameters" : {
645 "additionalProperties" : 0,
646 "properties" : {
647 "bindnet0_addr" : {
648 "description" : "This specifies the network address the corosync ring 0 executive should bind to and defaults to the local IP address of the node.",
649 "format" : "ip",
650 "optional" : 1,
651 "type" : "string",
652 "typetext" : "<string>"
653 },
654 "bindnet1_addr" : {
655 "description" : "This specifies the network address the corosync ring 1 executive should bind to and is optional.",
656 "format" : "ip",
657 "optional" : 1,
658 "type" : "string",
659 "typetext" : "<string>"
660 },
661 "clustername" : {
662 "description" : "The name of the cluster.",
663 "format" : "pve-node",
664 "maxLength" : 15,
665 "type" : "string",
666 "typetext" : "<string>"
667 },
668 "nodeid" : {
669 "description" : "Node id for this node.",
670 "minimum" : 1,
671 "optional" : 1,
672 "type" : "integer",
673 "typetext" : "<integer> (1 - N)"
674 },
675 "ring0_addr" : {
676 "default" : "Hostname of the node",
677 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
678 "format" : "address",
679 "optional" : 1,
680 "type" : "string",
681 "typetext" : "<string>"
682 },
683 "ring1_addr" : {
684 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
685 "format" : "address",
686 "optional" : 1,
687 "type" : "string",
688 "typetext" : "<string>"
689 },
690 "votes" : {
691 "description" : "Number of votes for this node.",
692 "minimum" : 1,
693 "optional" : 1,
694 "type" : "integer",
695 "typetext" : "<integer> (1 - N)"
696 }
697 }
698 },
699 "protected" : 1,
700 "returns" : {
701 "type" : "string"
702 }
32d876b5
DM
703 }
704 },
705 "leaf" : 0,
706 "path" : "/cluster/config",
707 "text" : "config"
708 },
56122987 709 {
56122987
DM
710 "children" : [
711 {
56122987
DM
712 "children" : [
713 {
44660702
DM
714 "children" : [
715 {
716 "info" : {
717 "DELETE" : {
718 "description" : "Delete rule.",
719 "method" : "DELETE",
720 "name" : "delete_rule",
721 "parameters" : {
722 "additionalProperties" : 0,
723 "properties" : {
724 "digest" : {
725 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
726 "maxLength" : 40,
727 "optional" : 1,
013dc89f
DM
728 "type" : "string",
729 "typetext" : "<string>"
44660702
DM
730 },
731 "group" : {
732 "description" : "Security Group name.",
4bd7df8b 733 "maxLength" : 18,
44660702
DM
734 "minLength" : 2,
735 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
736 "type" : "string"
737 },
738 "pos" : {
739 "description" : "Update rule at position <pos>.",
740 "minimum" : 0,
741 "optional" : 1,
4bd7df8b 742 "type" : "integer",
013dc89f 743 "typetext" : "<integer> (0 - N)"
44660702
DM
744 }
745 }
746 },
747 "permissions" : {
748 "check" : [
749 "perm",
750 "/",
751 [
752 "Sys.Modify"
753 ]
754 ]
755 },
756 "protected" : 1,
757 "proxyto" : null,
758 "returns" : {
759 "type" : "null"
7aacca6f
DM
760 }
761 },
44660702
DM
762 "GET" : {
763 "description" : "Get single rule data.",
764 "method" : "GET",
765 "name" : "get_rule",
766 "parameters" : {
767 "additionalProperties" : 0,
768 "properties" : {
769 "group" : {
770 "description" : "Security Group name.",
4bd7df8b 771 "maxLength" : 18,
44660702
DM
772 "minLength" : 2,
773 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
774 "type" : "string"
775 },
776 "pos" : {
777 "description" : "Update rule at position <pos>.",
778 "minimum" : 0,
779 "optional" : 1,
4bd7df8b 780 "type" : "integer",
013dc89f 781 "typetext" : "<integer> (0 - N)"
44660702 782 }
7aacca6f 783 }
56122987 784 },
44660702
DM
785 "permissions" : {
786 "check" : [
787 "perm",
788 "/",
789 [
790 "Sys.Audit"
791 ]
792 ]
793 },
794 "proxyto" : null,
795 "returns" : {
796 "properties" : {
e2d681b3
TL
797 "action" : {
798 "type" : "string"
799 },
800 "comment" : {
801 "optional" : 1,
802 "type" : "string"
803 },
804 "dest" : {
805 "optional" : 1,
806 "type" : "string"
807 },
808 "dport" : {
809 "optional" : 1,
810 "type" : "string"
811 },
812 "enable" : {
813 "optional" : 1,
814 "type" : "integer"
815 },
816 "iface" : {
817 "optional" : 1,
818 "type" : "string"
819 },
820 "ipversion" : {
821 "optional" : 1,
822 "type" : "integer"
823 },
95895385
TL
824 "log" : {
825 "description" : "Log level for firewall rule",
826 "enum" : [
827 "emerg",
828 "alert",
829 "crit",
830 "err",
831 "warning",
832 "notice",
833 "info",
834 "debug",
835 "nolog"
836 ],
837 "optional" : 1,
838 "type" : "string"
839 },
e2d681b3
TL
840 "macro" : {
841 "optional" : 1,
5f26e15b 842 "type" : "string"
e2d681b3 843 },
44660702
DM
844 "pos" : {
845 "type" : "integer"
e2d681b3
TL
846 },
847 "proto" : {
848 "optional" : 1,
849 "type" : "string"
850 },
851 "source" : {
852 "optional" : 1,
853 "type" : "string"
854 },
855 "sport" : {
856 "optional" : 1,
857 "type" : "string"
858 },
859 "type" : {
860 "type" : "string"
44660702
DM
861 }
862 },
863 "type" : "object"
56122987 864 }
44660702 865 },
7aacca6f 866 "PUT" : {
44660702
DM
867 "description" : "Modify rule data.",
868 "method" : "PUT",
869 "name" : "update_rule",
7aacca6f
DM
870 "parameters" : {
871 "additionalProperties" : 0,
872 "properties" : {
44660702
DM
873 "action" : {
874 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 875 "maxLength" : 20,
44660702 876 "minLength" : 2,
7aacca6f 877 "optional" : 1,
44660702 878 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
879 "type" : "string"
880 },
44660702 881 "comment" : {
e94f0d56 882 "description" : "Descriptive comment.",
7aacca6f 883 "optional" : 1,
013dc89f
DM
884 "type" : "string",
885 "typetext" : "<string>"
7aacca6f 886 },
44660702
DM
887 "delete" : {
888 "description" : "A list of settings you want to delete.",
889 "format" : "pve-configid-list",
7aacca6f 890 "optional" : 1,
013dc89f
DM
891 "type" : "string",
892 "typetext" : "<string>"
7aacca6f 893 },
44660702
DM
894 "dest" : {
895 "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.",
896 "format" : "pve-fw-addr-spec",
7aacca6f 897 "optional" : 1,
013dc89f
DM
898 "type" : "string",
899 "typetext" : "<string>"
7aacca6f
DM
900 },
901 "digest" : {
902 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 903 "maxLength" : 40,
7aacca6f 904 "optional" : 1,
013dc89f
DM
905 "type" : "string",
906 "typetext" : "<string>"
7aacca6f 907 },
44660702
DM
908 "dport" : {
909 "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.",
910 "format" : "pve-fw-dport-spec",
7aacca6f 911 "optional" : 1,
013dc89f
DM
912 "type" : "string",
913 "typetext" : "<string>"
7aacca6f 914 },
44660702 915 "enable" : {
e94f0d56 916 "description" : "Flag to enable/disable a rule.",
44660702 917 "minimum" : 0,
7aacca6f 918 "optional" : 1,
4bd7df8b 919 "type" : "integer",
013dc89f 920 "typetext" : "<integer> (0 - N)"
7aacca6f 921 },
44660702
DM
922 "group" : {
923 "description" : "Security Group name.",
4bd7df8b 924 "maxLength" : 18,
44660702
DM
925 "minLength" : 2,
926 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
927 "type" : "string"
928 },
929 "iface" : {
930 "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.",
931 "format" : "pve-iface",
932 "maxLength" : 20,
933 "minLength" : 2,
7aacca6f 934 "optional" : 1,
013dc89f
DM
935 "type" : "string",
936 "typetext" : "<string>"
7aacca6f 937 },
95895385
TL
938 "log" : {
939 "description" : "Log level for firewall rule.",
940 "enum" : [
941 "emerg",
942 "alert",
943 "crit",
944 "err",
945 "warning",
946 "notice",
947 "info",
948 "debug",
949 "nolog"
950 ],
951 "optional" : 1,
952 "type" : "string"
953 },
44660702 954 "macro" : {
e94f0d56 955 "description" : "Use predefined standard macro.",
44660702
DM
956 "maxLength" : 128,
957 "optional" : 1,
013dc89f
DM
958 "type" : "string",
959 "typetext" : "<string>"
7aacca6f
DM
960 },
961 "moveto" : {
962 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 963 "minimum" : 0,
7aacca6f 964 "optional" : 1,
4bd7df8b 965 "type" : "integer",
013dc89f 966 "typetext" : "<integer> (0 - N)"
7aacca6f 967 },
44660702
DM
968 "pos" : {
969 "description" : "Update rule at position <pos>.",
970 "minimum" : 0,
971 "optional" : 1,
4bd7df8b 972 "type" : "integer",
013dc89f 973 "typetext" : "<integer> (0 - N)"
7aacca6f 974 },
44660702
DM
975 "proto" : {
976 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
977 "format" : "pve-fw-protocol-spec",
7aacca6f 978 "optional" : 1,
013dc89f
DM
979 "type" : "string",
980 "typetext" : "<string>"
44660702
DM
981 },
982 "source" : {
983 "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.",
984 "format" : "pve-fw-addr-spec",
985 "optional" : 1,
013dc89f
DM
986 "type" : "string",
987 "typetext" : "<string>"
44660702
DM
988 },
989 "sport" : {
990 "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.",
991 "format" : "pve-fw-sport-spec",
992 "optional" : 1,
013dc89f
DM
993 "type" : "string",
994 "typetext" : "<string>"
7aacca6f
DM
995 },
996 "type" : {
e94f0d56 997 "description" : "Rule type.",
7aacca6f
DM
998 "enum" : [
999 "in",
1000 "out",
1001 "group"
1002 ],
1003 "optional" : 1,
1004 "type" : "string"
1005 }
1006 }
1007 },
7aacca6f
DM
1008 "permissions" : {
1009 "check" : [
1010 "perm",
1011 "/",
1012 [
1013 "Sys.Modify"
1014 ]
1015 ]
1016 },
44660702 1017 "protected" : 1,
7aacca6f
DM
1018 "proxyto" : null,
1019 "returns" : {
1020 "type" : "null"
1021 }
7aacca6f
DM
1022 }
1023 },
44660702 1024 "leaf" : 1,
7aacca6f 1025 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 1026 "text" : "{pos}"
7aacca6f
DM
1027 }
1028 ],
44660702
DM
1029 "info" : {
1030 "DELETE" : {
1031 "description" : "Delete security group.",
1032 "method" : "DELETE",
1033 "name" : "delete_security_group",
1034 "parameters" : {
1035 "additionalProperties" : 0,
1036 "properties" : {
1037 "group" : {
1038 "description" : "Security Group name.",
4bd7df8b 1039 "maxLength" : 18,
44660702
DM
1040 "minLength" : 2,
1041 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1042 "type" : "string"
1043 }
56122987 1044 }
7aacca6f 1045 },
44660702
DM
1046 "permissions" : {
1047 "check" : [
1048 "perm",
1049 "/",
1050 [
1051 "Sys.Modify"
1052 ]
7aacca6f 1053 ]
56122987 1054 },
44660702
DM
1055 "protected" : 1,
1056 "returns" : {
1057 "type" : "null"
56122987 1058 }
7aacca6f 1059 },
7aacca6f 1060 "GET" : {
44660702 1061 "description" : "List rules.",
7aacca6f 1062 "method" : "GET",
44660702
DM
1063 "name" : "get_rules",
1064 "parameters" : {
1065 "additionalProperties" : 0,
7aacca6f 1066 "properties" : {
44660702
DM
1067 "group" : {
1068 "description" : "Security Group name.",
4bd7df8b 1069 "maxLength" : 18,
44660702
DM
1070 "minLength" : 2,
1071 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1072 "type" : "string"
7aacca6f 1073 }
44660702 1074 }
7aacca6f
DM
1075 },
1076 "permissions" : {
1077 "check" : [
1078 "perm",
1079 "/",
1080 [
1081 "Sys.Audit"
1082 ]
1083 ]
1084 },
44660702
DM
1085 "proxyto" : null,
1086 "returns" : {
1087 "items" : {
1088 "properties" : {
1089 "pos" : {
1090 "type" : "integer"
1091 }
1092 },
1093 "type" : "object"
1094 },
1095 "links" : [
1096 {
1097 "href" : "{pos}",
1098 "rel" : "child"
1099 }
1100 ],
1101 "type" : "array"
1102 }
1103 },
1104 "POST" : {
1105 "description" : "Create new rule.",
1106 "method" : "POST",
1107 "name" : "create_rule",
7aacca6f
DM
1108 "parameters" : {
1109 "additionalProperties" : 0,
1110 "properties" : {
44660702
DM
1111 "action" : {
1112 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1113 "maxLength" : 20,
56122987 1114 "minLength" : 2,
44660702
DM
1115 "optional" : 0,
1116 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1117 "type" : "string"
56122987 1118 },
44660702 1119 "comment" : {
e94f0d56 1120 "description" : "Descriptive comment.",
56122987 1121 "optional" : 1,
013dc89f
DM
1122 "type" : "string",
1123 "typetext" : "<string>"
56122987 1124 },
44660702
DM
1125 "dest" : {
1126 "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
1127 "format" : "pve-fw-addr-spec",
1128 "optional" : 1,
013dc89f
DM
1129 "type" : "string",
1130 "typetext" : "<string>"
56122987 1131 },
44660702
DM
1132 "digest" : {
1133 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1134 "maxLength" : 40,
7aacca6f 1135 "optional" : 1,
013dc89f
DM
1136 "type" : "string",
1137 "typetext" : "<string>"
56122987 1138 },
44660702
DM
1139 "dport" : {
1140 "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.",
1141 "format" : "pve-fw-dport-spec",
56122987 1142 "optional" : 1,
013dc89f
DM
1143 "type" : "string",
1144 "typetext" : "<string>"
56122987 1145 },
7aacca6f 1146 "enable" : {
e94f0d56 1147 "description" : "Flag to enable/disable a rule.",
44660702 1148 "minimum" : 0,
7aacca6f 1149 "optional" : 1,
4bd7df8b 1150 "type" : "integer",
013dc89f 1151 "typetext" : "<integer> (0 - N)"
56122987 1152 },
44660702
DM
1153 "group" : {
1154 "description" : "Security Group name.",
4bd7df8b 1155 "maxLength" : 18,
44660702 1156 "minLength" : 2,
7aacca6f 1157 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1158 "type" : "string"
1159 },
1160 "iface" : {
1161 "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.",
1162 "format" : "pve-iface",
1163 "maxLength" : 20,
7aacca6f 1164 "minLength" : 2,
44660702 1165 "optional" : 1,
013dc89f
DM
1166 "type" : "string",
1167 "typetext" : "<string>"
56122987 1168 },
95895385
TL
1169 "log" : {
1170 "description" : "Log level for firewall rule.",
1171 "enum" : [
1172 "emerg",
1173 "alert",
1174 "crit",
1175 "err",
1176 "warning",
1177 "notice",
1178 "info",
1179 "debug",
1180 "nolog"
1181 ],
1182 "optional" : 1,
1183 "type" : "string"
1184 },
7aacca6f 1185 "macro" : {
e94f0d56 1186 "description" : "Use predefined standard macro.",
44660702 1187 "maxLength" : 128,
7aacca6f 1188 "optional" : 1,
013dc89f
DM
1189 "type" : "string",
1190 "typetext" : "<string>"
7aacca6f
DM
1191 },
1192 "pos" : {
1193 "description" : "Update rule at position <pos>.",
44660702 1194 "minimum" : 0,
56122987 1195 "optional" : 1,
4bd7df8b 1196 "type" : "integer",
013dc89f 1197 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1198 },
1199 "proto" : {
1200 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1201 "format" : "pve-fw-protocol-spec",
7aacca6f 1202 "optional" : 1,
013dc89f
DM
1203 "type" : "string",
1204 "typetext" : "<string>"
44660702
DM
1205 },
1206 "source" : {
1207 "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.",
1208 "format" : "pve-fw-addr-spec",
1209 "optional" : 1,
013dc89f
DM
1210 "type" : "string",
1211 "typetext" : "<string>"
44660702
DM
1212 },
1213 "sport" : {
1214 "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.",
1215 "format" : "pve-fw-sport-spec",
1216 "optional" : 1,
013dc89f
DM
1217 "type" : "string",
1218 "typetext" : "<string>"
44660702
DM
1219 },
1220 "type" : {
e94f0d56 1221 "description" : "Rule type.",
44660702
DM
1222 "enum" : [
1223 "in",
1224 "out",
1225 "group"
1226 ],
1227 "optional" : 0,
1228 "type" : "string"
56122987 1229 }
44660702 1230 }
56122987 1231 },
56122987
DM
1232 "permissions" : {
1233 "check" : [
1234 "perm",
1235 "/",
1236 [
1237 "Sys.Modify"
1238 ]
1239 ]
1240 },
44660702
DM
1241 "protected" : 1,
1242 "proxyto" : null,
56122987
DM
1243 "returns" : {
1244 "type" : "null"
7aacca6f 1245 }
44660702
DM
1246 }
1247 },
1248 "leaf" : 0,
1249 "path" : "/cluster/firewall/groups/{group}",
1250 "text" : "{group}"
1251 }
1252 ],
1253 "info" : {
1254 "GET" : {
1255 "description" : "List security groups.",
1256 "method" : "GET",
1257 "name" : "list_security_groups",
1258 "parameters" : {
1259 "additionalProperties" : 0
1260 },
1261 "permissions" : {
1262 "user" : "all"
1263 },
1264 "returns" : {
1265 "items" : {
1266 "properties" : {
1267 "comment" : {
1268 "optional" : 1,
1269 "type" : "string"
1270 },
1271 "digest" : {
1272 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1273 "maxLength" : 40,
1274 "optional" : 0,
1275 "type" : "string"
1276 },
1277 "group" : {
1278 "description" : "Security Group name.",
4bd7df8b 1279 "maxLength" : 18,
44660702
DM
1280 "minLength" : 2,
1281 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1282 "type" : "string"
1283 }
1284 },
1285 "type" : "object"
56122987 1286 },
44660702
DM
1287 "links" : [
1288 {
1289 "href" : "{group}",
1290 "rel" : "child"
1291 }
1292 ],
1293 "type" : "array"
1294 }
1295 },
1296 "POST" : {
1297 "description" : "Create new security group.",
1298 "method" : "POST",
1299 "name" : "create_security_group",
1300 "parameters" : {
1301 "additionalProperties" : 0,
1302 "properties" : {
1303 "comment" : {
1304 "optional" : 1,
013dc89f
DM
1305 "type" : "string",
1306 "typetext" : "<string>"
44660702
DM
1307 },
1308 "digest" : {
1309 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1310 "maxLength" : 40,
1311 "optional" : 1,
013dc89f
DM
1312 "type" : "string",
1313 "typetext" : "<string>"
44660702
DM
1314 },
1315 "group" : {
1316 "description" : "Security Group name.",
4bd7df8b 1317 "maxLength" : 18,
44660702
DM
1318 "minLength" : 2,
1319 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1320 "type" : "string"
1321 },
1322 "rename" : {
1323 "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 1324 "maxLength" : 18,
44660702
DM
1325 "minLength" : 2,
1326 "optional" : 1,
1327 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1328 "type" : "string"
1329 }
1330 }
1331 },
1332 "permissions" : {
1333 "check" : [
1334 "perm",
1335 "/",
1336 [
1337 "Sys.Modify"
1338 ]
1339 ]
1340 },
1341 "protected" : 1,
1342 "returns" : {
1343 "type" : "null"
1344 }
1345 }
1346 },
1347 "leaf" : 0,
1348 "path" : "/cluster/firewall/groups",
1349 "text" : "groups"
1350 },
1351 {
1352 "children" : [
1353 {
1354 "info" : {
7aacca6f 1355 "DELETE" : {
44660702
DM
1356 "description" : "Delete rule.",
1357 "method" : "DELETE",
1358 "name" : "delete_rule",
1359 "parameters" : {
1360 "additionalProperties" : 0,
1361 "properties" : {
1362 "digest" : {
1363 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1364 "maxLength" : 40,
1365 "optional" : 1,
013dc89f
DM
1366 "type" : "string",
1367 "typetext" : "<string>"
44660702
DM
1368 },
1369 "pos" : {
1370 "description" : "Update rule at position <pos>.",
1371 "minimum" : 0,
1372 "optional" : 1,
4bd7df8b 1373 "type" : "integer",
013dc89f 1374 "typetext" : "<integer> (0 - N)"
44660702
DM
1375 }
1376 }
1377 },
56122987
DM
1378 "permissions" : {
1379 "check" : [
1380 "perm",
1381 "/",
1382 [
7aacca6f 1383 "Sys.Modify"
56122987
DM
1384 ]
1385 ]
1386 },
44660702 1387 "protected" : 1,
56122987
DM
1388 "proxyto" : null,
1389 "returns" : {
7aacca6f 1390 "type" : "null"
44660702
DM
1391 }
1392 },
1393 "GET" : {
1394 "description" : "Get single rule data.",
1395 "method" : "GET",
1396 "name" : "get_rule",
56122987
DM
1397 "parameters" : {
1398 "additionalProperties" : 0,
1399 "properties" : {
1400 "pos" : {
7aacca6f 1401 "description" : "Update rule at position <pos>.",
44660702 1402 "minimum" : 0,
56122987 1403 "optional" : 1,
4bd7df8b 1404 "type" : "integer",
013dc89f 1405 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1406 }
1407 }
1408 },
7aacca6f
DM
1409 "permissions" : {
1410 "check" : [
1411 "perm",
1412 "/",
1413 [
1414 "Sys.Audit"
1415 ]
1416 ]
56122987 1417 },
44660702
DM
1418 "proxyto" : null,
1419 "returns" : {
7aacca6f 1420 "properties" : {
e2d681b3
TL
1421 "action" : {
1422 "type" : "string"
1423 },
1424 "comment" : {
1425 "optional" : 1,
1426 "type" : "string"
1427 },
1428 "dest" : {
1429 "optional" : 1,
1430 "type" : "string"
1431 },
1432 "dport" : {
1433 "optional" : 1,
1434 "type" : "string"
1435 },
1436 "enable" : {
1437 "optional" : 1,
1438 "type" : "integer"
1439 },
1440 "iface" : {
1441 "optional" : 1,
1442 "type" : "string"
1443 },
1444 "ipversion" : {
1445 "optional" : 1,
1446 "type" : "integer"
1447 },
95895385
TL
1448 "log" : {
1449 "description" : "Log level for firewall rule",
1450 "enum" : [
1451 "emerg",
1452 "alert",
1453 "crit",
1454 "err",
1455 "warning",
1456 "notice",
1457 "info",
1458 "debug",
1459 "nolog"
1460 ],
1461 "optional" : 1,
1462 "type" : "string"
1463 },
e2d681b3
TL
1464 "macro" : {
1465 "optional" : 1,
5f26e15b 1466 "type" : "string"
e2d681b3 1467 },
44660702
DM
1468 "pos" : {
1469 "type" : "integer"
e2d681b3
TL
1470 },
1471 "proto" : {
1472 "optional" : 1,
1473 "type" : "string"
1474 },
1475 "source" : {
1476 "optional" : 1,
1477 "type" : "string"
1478 },
1479 "sport" : {
1480 "optional" : 1,
1481 "type" : "string"
1482 },
1483 "type" : {
1484 "type" : "string"
7aacca6f 1485 }
44660702
DM
1486 },
1487 "type" : "object"
1488 }
56122987 1489 },
44660702
DM
1490 "PUT" : {
1491 "description" : "Modify rule data.",
1492 "method" : "PUT",
1493 "name" : "update_rule",
7aacca6f
DM
1494 "parameters" : {
1495 "additionalProperties" : 0,
1496 "properties" : {
44660702
DM
1497 "action" : {
1498 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1499 "maxLength" : 20,
1500 "minLength" : 2,
1501 "optional" : 1,
1502 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1503 "type" : "string"
7aacca6f 1504 },
44660702 1505 "comment" : {
e94f0d56 1506 "description" : "Descriptive comment.",
44660702 1507 "optional" : 1,
013dc89f
DM
1508 "type" : "string",
1509 "typetext" : "<string>"
7aacca6f 1510 },
44660702
DM
1511 "delete" : {
1512 "description" : "A list of settings you want to delete.",
1513 "format" : "pve-configid-list",
1514 "optional" : 1,
013dc89f
DM
1515 "type" : "string",
1516 "typetext" : "<string>"
44660702
DM
1517 },
1518 "dest" : {
1519 "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.",
1520 "format" : "pve-fw-addr-spec",
1521 "optional" : 1,
013dc89f
DM
1522 "type" : "string",
1523 "typetext" : "<string>"
44660702
DM
1524 },
1525 "digest" : {
1526 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1527 "maxLength" : 40,
1528 "optional" : 1,
013dc89f
DM
1529 "type" : "string",
1530 "typetext" : "<string>"
44660702
DM
1531 },
1532 "dport" : {
1533 "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.",
1534 "format" : "pve-fw-dport-spec",
1535 "optional" : 1,
013dc89f
DM
1536 "type" : "string",
1537 "typetext" : "<string>"
44660702
DM
1538 },
1539 "enable" : {
e94f0d56 1540 "description" : "Flag to enable/disable a rule.",
44660702
DM
1541 "minimum" : 0,
1542 "optional" : 1,
4bd7df8b 1543 "type" : "integer",
013dc89f 1544 "typetext" : "<integer> (0 - N)"
44660702
DM
1545 },
1546 "iface" : {
1547 "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.",
1548 "format" : "pve-iface",
1549 "maxLength" : 20,
7aacca6f 1550 "minLength" : 2,
44660702 1551 "optional" : 1,
013dc89f
DM
1552 "type" : "string",
1553 "typetext" : "<string>"
7aacca6f 1554 },
95895385
TL
1555 "log" : {
1556 "description" : "Log level for firewall rule.",
1557 "enum" : [
1558 "emerg",
1559 "alert",
1560 "crit",
1561 "err",
1562 "warning",
1563 "notice",
1564 "info",
1565 "debug",
1566 "nolog"
1567 ],
1568 "optional" : 1,
1569 "type" : "string"
1570 },
44660702 1571 "macro" : {
e94f0d56 1572 "description" : "Use predefined standard macro.",
44660702
DM
1573 "maxLength" : 128,
1574 "optional" : 1,
013dc89f
DM
1575 "type" : "string",
1576 "typetext" : "<string>"
44660702
DM
1577 },
1578 "moveto" : {
1579 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1580 "minimum" : 0,
1581 "optional" : 1,
4bd7df8b 1582 "type" : "integer",
013dc89f 1583 "typetext" : "<integer> (0 - N)"
44660702
DM
1584 },
1585 "pos" : {
1586 "description" : "Update rule at position <pos>.",
1587 "minimum" : 0,
1588 "optional" : 1,
4bd7df8b 1589 "type" : "integer",
013dc89f 1590 "typetext" : "<integer> (0 - N)"
44660702
DM
1591 },
1592 "proto" : {
1593 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1594 "format" : "pve-fw-protocol-spec",
1595 "optional" : 1,
013dc89f
DM
1596 "type" : "string",
1597 "typetext" : "<string>"
44660702
DM
1598 },
1599 "source" : {
1600 "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.",
1601 "format" : "pve-fw-addr-spec",
1602 "optional" : 1,
013dc89f
DM
1603 "type" : "string",
1604 "typetext" : "<string>"
44660702
DM
1605 },
1606 "sport" : {
1607 "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.",
1608 "format" : "pve-fw-sport-spec",
1609 "optional" : 1,
013dc89f
DM
1610 "type" : "string",
1611 "typetext" : "<string>"
44660702
DM
1612 },
1613 "type" : {
e94f0d56 1614 "description" : "Rule type.",
44660702
DM
1615 "enum" : [
1616 "in",
1617 "out",
1618 "group"
1619 ],
1620 "optional" : 1,
1621 "type" : "string"
7aacca6f 1622 }
56122987
DM
1623 }
1624 },
7aacca6f
DM
1625 "permissions" : {
1626 "check" : [
1627 "perm",
1628 "/",
1629 [
1630 "Sys.Modify"
1631 ]
1632 ]
1633 },
44660702
DM
1634 "protected" : 1,
1635 "proxyto" : null,
1636 "returns" : {
1637 "type" : "null"
1638 }
7aacca6f 1639 }
56122987 1640 },
44660702
DM
1641 "leaf" : 1,
1642 "path" : "/cluster/firewall/rules/{pos}",
1643 "text" : "{pos}"
7aacca6f
DM
1644 }
1645 ],
7aacca6f 1646 "info" : {
44660702
DM
1647 "GET" : {
1648 "description" : "List rules.",
1649 "method" : "GET",
1650 "name" : "get_rules",
7aacca6f 1651 "parameters" : {
44660702 1652 "additionalProperties" : 0
7aacca6f
DM
1653 },
1654 "permissions" : {
1655 "check" : [
1656 "perm",
1657 "/",
1658 [
44660702 1659 "Sys.Audit"
7aacca6f
DM
1660 ]
1661 ]
1662 },
44660702 1663 "proxyto" : null,
7aacca6f 1664 "returns" : {
7aacca6f
DM
1665 "items" : {
1666 "properties" : {
44660702
DM
1667 "pos" : {
1668 "type" : "integer"
7aacca6f
DM
1669 }
1670 },
1671 "type" : "object"
56122987 1672 },
7aacca6f
DM
1673 "links" : [
1674 {
44660702 1675 "href" : "{pos}",
7aacca6f
DM
1676 "rel" : "child"
1677 }
44660702
DM
1678 ],
1679 "type" : "array"
7aacca6f 1680 }
44660702 1681 },
7aacca6f 1682 "POST" : {
44660702 1683 "description" : "Create new rule.",
7aacca6f 1684 "method" : "POST",
44660702 1685 "name" : "create_rule",
7aacca6f
DM
1686 "parameters" : {
1687 "additionalProperties" : 0,
1688 "properties" : {
44660702
DM
1689 "action" : {
1690 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1691 "maxLength" : 20,
7aacca6f 1692 "minLength" : 2,
44660702
DM
1693 "optional" : 0,
1694 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1695 "type" : "string"
7aacca6f
DM
1696 },
1697 "comment" : {
e94f0d56 1698 "description" : "Descriptive comment.",
7aacca6f 1699 "optional" : 1,
013dc89f
DM
1700 "type" : "string",
1701 "typetext" : "<string>"
44660702
DM
1702 },
1703 "dest" : {
1704 "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.",
1705 "format" : "pve-fw-addr-spec",
1706 "optional" : 1,
013dc89f
DM
1707 "type" : "string",
1708 "typetext" : "<string>"
44660702
DM
1709 },
1710 "digest" : {
1711 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1712 "maxLength" : 40,
1713 "optional" : 1,
013dc89f
DM
1714 "type" : "string",
1715 "typetext" : "<string>"
44660702
DM
1716 },
1717 "dport" : {
1718 "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.",
1719 "format" : "pve-fw-dport-spec",
1720 "optional" : 1,
013dc89f
DM
1721 "type" : "string",
1722 "typetext" : "<string>"
44660702
DM
1723 },
1724 "enable" : {
e94f0d56 1725 "description" : "Flag to enable/disable a rule.",
44660702
DM
1726 "minimum" : 0,
1727 "optional" : 1,
4bd7df8b 1728 "type" : "integer",
013dc89f 1729 "typetext" : "<integer> (0 - N)"
44660702
DM
1730 },
1731 "iface" : {
1732 "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.",
1733 "format" : "pve-iface",
1734 "maxLength" : 20,
1735 "minLength" : 2,
1736 "optional" : 1,
013dc89f
DM
1737 "type" : "string",
1738 "typetext" : "<string>"
44660702 1739 },
95895385
TL
1740 "log" : {
1741 "description" : "Log level for firewall rule.",
1742 "enum" : [
1743 "emerg",
1744 "alert",
1745 "crit",
1746 "err",
1747 "warning",
1748 "notice",
1749 "info",
1750 "debug",
1751 "nolog"
1752 ],
1753 "optional" : 1,
1754 "type" : "string"
1755 },
44660702 1756 "macro" : {
e94f0d56 1757 "description" : "Use predefined standard macro.",
44660702
DM
1758 "maxLength" : 128,
1759 "optional" : 1,
013dc89f
DM
1760 "type" : "string",
1761 "typetext" : "<string>"
44660702
DM
1762 },
1763 "pos" : {
1764 "description" : "Update rule at position <pos>.",
1765 "minimum" : 0,
1766 "optional" : 1,
4bd7df8b 1767 "type" : "integer",
013dc89f 1768 "typetext" : "<integer> (0 - N)"
44660702
DM
1769 },
1770 "proto" : {
1771 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1772 "format" : "pve-fw-protocol-spec",
1773 "optional" : 1,
013dc89f
DM
1774 "type" : "string",
1775 "typetext" : "<string>"
44660702
DM
1776 },
1777 "source" : {
1778 "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.",
1779 "format" : "pve-fw-addr-spec",
1780 "optional" : 1,
013dc89f
DM
1781 "type" : "string",
1782 "typetext" : "<string>"
44660702
DM
1783 },
1784 "sport" : {
1785 "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.",
1786 "format" : "pve-fw-sport-spec",
1787 "optional" : 1,
013dc89f
DM
1788 "type" : "string",
1789 "typetext" : "<string>"
44660702
DM
1790 },
1791 "type" : {
e94f0d56 1792 "description" : "Rule type.",
44660702
DM
1793 "enum" : [
1794 "in",
1795 "out",
1796 "group"
1797 ],
1798 "optional" : 0,
1799 "type" : "string"
7aacca6f
DM
1800 }
1801 }
1802 },
1803 "permissions" : {
1804 "check" : [
1805 "perm",
1806 "/",
1807 [
1808 "Sys.Modify"
1809 ]
1810 ]
1811 },
44660702
DM
1812 "protected" : 1,
1813 "proxyto" : null,
7aacca6f 1814 "returns" : {
44660702
DM
1815 "type" : "null"
1816 }
1817 }
1818 },
1819 "leaf" : 0,
1820 "path" : "/cluster/firewall/rules",
1821 "text" : "rules"
1822 },
1823 {
1824 "children" : [
1825 {
1826 "children" : [
1827 {
1828 "info" : {
1829 "DELETE" : {
1830 "description" : "Remove IP or Network from IPSet.",
1831 "method" : "DELETE",
1832 "name" : "remove_ip",
1833 "parameters" : {
1834 "additionalProperties" : 0,
1835 "properties" : {
1836 "cidr" : {
1837 "description" : "Network/IP specification in CIDR format.",
1838 "format" : "IPorCIDRorAlias",
013dc89f
DM
1839 "type" : "string",
1840 "typetext" : "<string>"
44660702
DM
1841 },
1842 "digest" : {
1843 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1844 "maxLength" : 40,
1845 "optional" : 1,
013dc89f
DM
1846 "type" : "string",
1847 "typetext" : "<string>"
44660702
DM
1848 },
1849 "name" : {
1850 "description" : "IP set name.",
1851 "maxLength" : 64,
1852 "minLength" : 2,
1853 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1854 "type" : "string"
1855 }
1856 }
1857 },
1858 "permissions" : {
1859 "check" : [
1860 "perm",
1861 "/",
1862 [
1863 "Sys.Modify"
1864 ]
1865 ]
1866 },
1867 "protected" : 1,
1868 "returns" : {
1869 "type" : "null"
1870 }
7aacca6f 1871 },
44660702
DM
1872 "GET" : {
1873 "description" : "Read IP or Network settings from IPSet.",
1874 "method" : "GET",
1875 "name" : "read_ip",
1876 "parameters" : {
1877 "additionalProperties" : 0,
1878 "properties" : {
1879 "cidr" : {
1880 "description" : "Network/IP specification in CIDR format.",
1881 "format" : "IPorCIDRorAlias",
013dc89f
DM
1882 "type" : "string",
1883 "typetext" : "<string>"
44660702
DM
1884 },
1885 "name" : {
1886 "description" : "IP set name.",
1887 "maxLength" : 64,
1888 "minLength" : 2,
1889 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1890 "type" : "string"
1891 }
1892 }
1893 },
1894 "permissions" : {
1895 "check" : [
1896 "perm",
1897 "/",
1898 [
1899 "Sys.Audit"
1900 ]
1901 ]
1902 },
1903 "protected" : 1,
1904 "returns" : {
1905 "type" : "object"
1906 }
7aacca6f 1907 },
44660702
DM
1908 "PUT" : {
1909 "description" : "Update IP or Network settings",
1910 "method" : "PUT",
1911 "name" : "update_ip",
1912 "parameters" : {
1913 "additionalProperties" : 0,
1914 "properties" : {
1915 "cidr" : {
1916 "description" : "Network/IP specification in CIDR format.",
1917 "format" : "IPorCIDRorAlias",
013dc89f
DM
1918 "type" : "string",
1919 "typetext" : "<string>"
44660702
DM
1920 },
1921 "comment" : {
1922 "optional" : 1,
013dc89f
DM
1923 "type" : "string",
1924 "typetext" : "<string>"
44660702
DM
1925 },
1926 "digest" : {
1927 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1928 "maxLength" : 40,
1929 "optional" : 1,
013dc89f
DM
1930 "type" : "string",
1931 "typetext" : "<string>"
44660702
DM
1932 },
1933 "name" : {
1934 "description" : "IP set name.",
1935 "maxLength" : 64,
1936 "minLength" : 2,
1937 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1938 "type" : "string"
1939 },
1940 "nomatch" : {
1941 "optional" : 1,
013dc89f
DM
1942 "type" : "boolean",
1943 "typetext" : "<boolean>"
44660702
DM
1944 }
1945 }
1946 },
1947 "permissions" : {
1948 "check" : [
1949 "perm",
1950 "/",
1951 [
1952 "Sys.Modify"
1953 ]
1954 ]
1955 },
1956 "protected" : 1,
1957 "returns" : {
1958 "type" : "null"
1959 }
7aacca6f
DM
1960 }
1961 },
44660702
DM
1962 "leaf" : 1,
1963 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1964 "text" : "{cidr}"
7aacca6f 1965 }
44660702 1966 ],
7aacca6f
DM
1967 "info" : {
1968 "DELETE" : {
44660702
DM
1969 "description" : "Delete IPSet",
1970 "method" : "DELETE",
1971 "name" : "delete_ipset",
56122987 1972 "parameters" : {
44660702 1973 "additionalProperties" : 0,
56122987
DM
1974 "properties" : {
1975 "name" : {
44660702 1976 "description" : "IP set name.",
56122987 1977 "maxLength" : 64,
44660702 1978 "minLength" : 2,
56122987 1979 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 1980 "type" : "string"
56122987 1981 }
44660702 1982 }
7aacca6f 1983 },
56122987
DM
1984 "permissions" : {
1985 "check" : [
1986 "perm",
1987 "/",
1988 [
1989 "Sys.Modify"
1990 ]
1991 ]
1992 },
7aacca6f
DM
1993 "protected" : 1,
1994 "returns" : {
1995 "type" : "null"
44660702 1996 }
7aacca6f 1997 },
44660702
DM
1998 "GET" : {
1999 "description" : "List IPSet content",
2000 "method" : "GET",
2001 "name" : "get_ipset",
56122987
DM
2002 "parameters" : {
2003 "additionalProperties" : 0,
2004 "properties" : {
7aacca6f 2005 "name" : {
44660702 2006 "description" : "IP set name.",
7aacca6f 2007 "maxLength" : 64,
7aacca6f 2008 "minLength" : 2,
44660702 2009 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 2010 "type" : "string"
56122987 2011 }
7aacca6f 2012 }
56122987 2013 },
56122987
DM
2014 "permissions" : {
2015 "check" : [
2016 "perm",
2017 "/",
2018 [
44660702 2019 "Sys.Audit"
56122987
DM
2020 ]
2021 ]
44660702
DM
2022 },
2023 "returns" : {
2024 "items" : {
2025 "properties" : {
2026 "cidr" : {
2027 "type" : "string"
2028 },
2029 "comment" : {
2030 "optional" : 1,
2031 "type" : "string"
2032 },
2033 "digest" : {
2034 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2035 "maxLength" : 40,
2036 "optional" : 0,
2037 "type" : "string"
2038 },
2039 "nomatch" : {
2040 "optional" : 1,
2041 "type" : "boolean"
2042 }
2043 },
2044 "type" : "object"
2045 },
2046 "links" : [
2047 {
2048 "href" : "{cidr}",
2049 "rel" : "child"
2050 }
2051 ],
2052 "type" : "array"
7aacca6f
DM
2053 }
2054 },
44660702
DM
2055 "POST" : {
2056 "description" : "Add IP or Network to IPSet.",
2057 "method" : "POST",
2058 "name" : "create_ip",
56122987
DM
2059 "parameters" : {
2060 "additionalProperties" : 0,
2061 "properties" : {
44660702
DM
2062 "cidr" : {
2063 "description" : "Network/IP specification in CIDR format.",
2064 "format" : "IPorCIDRorAlias",
013dc89f
DM
2065 "type" : "string",
2066 "typetext" : "<string>"
44660702
DM
2067 },
2068 "comment" : {
2069 "optional" : 1,
013dc89f
DM
2070 "type" : "string",
2071 "typetext" : "<string>"
44660702
DM
2072 },
2073 "name" : {
2074 "description" : "IP set name.",
2075 "maxLength" : 64,
2076 "minLength" : 2,
2077 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2078 "type" : "string"
2079 },
2080 "nomatch" : {
2081 "optional" : 1,
013dc89f
DM
2082 "type" : "boolean",
2083 "typetext" : "<boolean>"
56122987
DM
2084 }
2085 }
2086 },
56122987
DM
2087 "permissions" : {
2088 "check" : [
2089 "perm",
2090 "/",
2091 [
44660702 2092 "Sys.Modify"
56122987
DM
2093 ]
2094 ]
2095 },
44660702 2096 "protected" : 1,
56122987 2097 "returns" : {
44660702
DM
2098 "type" : "null"
2099 }
56122987
DM
2100 }
2101 },
44660702
DM
2102 "leaf" : 0,
2103 "path" : "/cluster/firewall/ipset/{name}",
2104 "text" : "{name}"
56122987
DM
2105 }
2106 ],
56122987 2107 "info" : {
44660702
DM
2108 "GET" : {
2109 "description" : "List IPSets",
2110 "method" : "GET",
2111 "name" : "ipset_index",
56122987 2112 "parameters" : {
7aacca6f 2113 "additionalProperties" : 0
56122987 2114 },
56122987
DM
2115 "permissions" : {
2116 "check" : [
2117 "perm",
2118 "/",
2119 [
7aacca6f 2120 "Sys.Audit"
56122987
DM
2121 ]
2122 ]
2123 },
56122987
DM
2124 "returns" : {
2125 "items" : {
2126 "properties" : {
44660702
DM
2127 "comment" : {
2128 "optional" : 1,
2129 "type" : "string"
56122987 2130 },
44660702
DM
2131 "digest" : {
2132 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2133 "maxLength" : 40,
2134 "optional" : 0,
2135 "type" : "string"
2136 },
2137 "name" : {
2138 "description" : "IP set name.",
2139 "maxLength" : 64,
2140 "minLength" : 2,
2141 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 2142 "type" : "string"
56122987
DM
2143 }
2144 },
2145 "type" : "object"
44660702
DM
2146 },
2147 "links" : [
2148 {
2149 "href" : "{name}",
2150 "rel" : "child"
2151 }
2152 ],
2153 "type" : "array"
56122987 2154 }
44660702
DM
2155 },
2156 "POST" : {
2157 "description" : "Create new IPSet",
2158 "method" : "POST",
2159 "name" : "create_ipset",
7aacca6f
DM
2160 "parameters" : {
2161 "additionalProperties" : 0,
2162 "properties" : {
44660702
DM
2163 "comment" : {
2164 "optional" : 1,
013dc89f
DM
2165 "type" : "string",
2166 "typetext" : "<string>"
44660702
DM
2167 },
2168 "digest" : {
2169 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2170 "maxLength" : 40,
2171 "optional" : 1,
013dc89f
DM
2172 "type" : "string",
2173 "typetext" : "<string>"
44660702
DM
2174 },
2175 "name" : {
2176 "description" : "IP set name.",
2177 "maxLength" : 64,
2178 "minLength" : 2,
2179 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2180 "type" : "string"
2181 },
2182 "rename" : {
2183 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2184 "maxLength" : 64,
2185 "minLength" : 2,
2186 "optional" : 1,
2187 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2188 "type" : "string"
7aacca6f
DM
2189 }
2190 }
2191 },
56122987
DM
2192 "permissions" : {
2193 "check" : [
2194 "perm",
2195 "/",
2196 [
44660702 2197 "Sys.Modify"
56122987
DM
2198 ]
2199 ]
2200 },
44660702 2201 "protected" : 1,
56122987 2202 "returns" : {
44660702
DM
2203 "type" : "null"
2204 }
56122987 2205 }
7aacca6f 2206 },
44660702
DM
2207 "leaf" : 0,
2208 "path" : "/cluster/firewall/ipset",
2209 "text" : "ipset"
2210 },
56122987 2211 {
44660702
DM
2212 "children" : [
2213 {
2214 "info" : {
2215 "DELETE" : {
2216 "description" : "Remove IP or Network alias.",
2217 "method" : "DELETE",
2218 "name" : "remove_alias",
2219 "parameters" : {
2220 "additionalProperties" : 0,
2221 "properties" : {
2222 "digest" : {
2223 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2224 "maxLength" : 40,
2225 "optional" : 1,
013dc89f
DM
2226 "type" : "string",
2227 "typetext" : "<string>"
44660702
DM
2228 },
2229 "name" : {
2230 "description" : "Alias name.",
2231 "maxLength" : 64,
2232 "minLength" : 2,
2233 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2234 "type" : "string"
2235 }
2236 }
2237 },
2238 "permissions" : {
2239 "check" : [
2240 "perm",
2241 "/",
2242 [
2243 "Sys.Modify"
2244 ]
2245 ]
2246 },
2247 "protected" : 1,
2248 "returns" : {
2249 "type" : "null"
2250 }
2251 },
2252 "GET" : {
2253 "description" : "Read alias.",
2254 "method" : "GET",
2255 "name" : "read_alias",
2256 "parameters" : {
2257 "additionalProperties" : 0,
2258 "properties" : {
2259 "name" : {
2260 "description" : "Alias name.",
2261 "maxLength" : 64,
2262 "minLength" : 2,
2263 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2264 "type" : "string"
2265 }
2266 }
2267 },
2268 "permissions" : {
2269 "check" : [
2270 "perm",
2271 "/",
2272 [
2273 "Sys.Audit"
2274 ]
2275 ]
2276 },
2277 "returns" : {
2278 "type" : "object"
2279 }
2280 },
2281 "PUT" : {
2282 "description" : "Update IP or Network alias.",
2283 "method" : "PUT",
2284 "name" : "update_alias",
2285 "parameters" : {
2286 "additionalProperties" : 0,
2287 "properties" : {
2288 "cidr" : {
2289 "description" : "Network/IP specification in CIDR format.",
2290 "format" : "IPorCIDR",
013dc89f
DM
2291 "type" : "string",
2292 "typetext" : "<string>"
44660702
DM
2293 },
2294 "comment" : {
2295 "optional" : 1,
013dc89f
DM
2296 "type" : "string",
2297 "typetext" : "<string>"
44660702
DM
2298 },
2299 "digest" : {
2300 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2301 "maxLength" : 40,
2302 "optional" : 1,
013dc89f
DM
2303 "type" : "string",
2304 "typetext" : "<string>"
44660702
DM
2305 },
2306 "name" : {
2307 "description" : "Alias name.",
2308 "maxLength" : 64,
2309 "minLength" : 2,
2310 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2311 "type" : "string"
2312 },
2313 "rename" : {
2314 "description" : "Rename an existing alias.",
2315 "maxLength" : 64,
2316 "minLength" : 2,
2317 "optional" : 1,
2318 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2319 "type" : "string"
2320 }
2321 }
2322 },
2323 "permissions" : {
2324 "check" : [
2325 "perm",
2326 "/",
2327 [
2328 "Sys.Modify"
2329 ]
2330 ]
2331 },
2332 "protected" : 1,
2333 "returns" : {
2334 "type" : "null"
2335 }
2336 }
2337 },
2338 "leaf" : 1,
2339 "path" : "/cluster/firewall/aliases/{name}",
2340 "text" : "{name}"
2341 }
2342 ],
2343 "info" : {
2344 "GET" : {
2345 "description" : "List aliases",
2346 "method" : "GET",
2347 "name" : "get_aliases",
2348 "parameters" : {
2349 "additionalProperties" : 0
2350 },
2351 "permissions" : {
2352 "check" : [
2353 "perm",
2354 "/",
2355 [
2356 "Sys.Audit"
2357 ]
2358 ]
2359 },
2360 "returns" : {
2361 "items" : {
2362 "properties" : {
2363 "cidr" : {
2364 "type" : "string"
2365 },
2366 "comment" : {
2367 "optional" : 1,
2368 "type" : "string"
2369 },
2370 "digest" : {
2371 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2372 "maxLength" : 40,
2373 "optional" : 0,
2374 "type" : "string"
2375 },
2376 "name" : {
2377 "type" : "string"
2378 }
2379 },
2380 "type" : "object"
2381 },
2382 "links" : [
2383 {
2384 "href" : "{name}",
2385 "rel" : "child"
2386 }
2387 ],
2388 "type" : "array"
2389 }
2390 },
2391 "POST" : {
2392 "description" : "Create IP or Network Alias.",
2393 "method" : "POST",
2394 "name" : "create_alias",
56122987
DM
2395 "parameters" : {
2396 "additionalProperties" : 0,
2397 "properties" : {
44660702
DM
2398 "cidr" : {
2399 "description" : "Network/IP specification in CIDR format.",
2400 "format" : "IPorCIDR",
013dc89f
DM
2401 "type" : "string",
2402 "typetext" : "<string>"
44660702
DM
2403 },
2404 "comment" : {
2405 "optional" : 1,
013dc89f
DM
2406 "type" : "string",
2407 "typetext" : "<string>"
44660702
DM
2408 },
2409 "name" : {
2410 "description" : "Alias name.",
2411 "maxLength" : 64,
2412 "minLength" : 2,
2413 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2414 "type" : "string"
56122987
DM
2415 }
2416 }
2417 },
56122987
DM
2418 "permissions" : {
2419 "check" : [
2420 "perm",
2421 "/",
2422 [
2423 "Sys.Modify"
2424 ]
2425 ]
2426 },
44660702 2427 "protected" : 1,
56122987
DM
2428 "returns" : {
2429 "type" : "null"
2430 }
44660702
DM
2431 }
2432 },
2433 "leaf" : 0,
2434 "path" : "/cluster/firewall/aliases",
2435 "text" : "aliases"
2436 },
2437 {
2438 "info" : {
2439 "GET" : {
2440 "description" : "Get Firewall options.",
2441 "method" : "GET",
2442 "name" : "get_options",
2443 "parameters" : {
2444 "additionalProperties" : 0
7aacca6f 2445 },
56122987
DM
2446 "permissions" : {
2447 "check" : [
2448 "perm",
2449 "/",
2450 [
44660702 2451 "Sys.Audit"
56122987
DM
2452 ]
2453 ]
2454 },
44660702 2455 "returns" : {
56122987 2456 "properties" : {
5da3d723
TL
2457 "ebtables" : {
2458 "default" : 1,
2459 "description" : "Enable ebtables rules cluster wide.",
2460 "optional" : 1,
2461 "type" : "boolean"
2462 },
44660702
DM
2463 "enable" : {
2464 "description" : "Enable or disable the firewall cluster wide.",
2465 "minimum" : 0,
56122987 2466 "optional" : 1,
7aacca6f 2467 "type" : "integer"
56122987 2468 },
95895385
TL
2469 "log_ratelimit" : {
2470 "description" : "Log ratelimiting settings",
2471 "format" : {
2472 "burst" : {
2473 "default" : 5,
2474 "description" : "Inital burst of packages which will get logged",
2475 "minimum" : 0,
2476 "optional" : 1,
2477 "type" : "integer"
2478 },
2479 "enable" : {
2480 "default" : "1",
2481 "default_key" : 1,
2482 "description" : "Enable or disable log rate limiting",
2483 "type" : "boolean"
2484 },
2485 "rate" : {
2486 "default" : "1/second",
2487 "description" : "Frequency with which the burst bucket gets refilled",
2488 "format_description" : "rate",
2489 "optional" : 1,
2490 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2491 "type" : "string"
2492 }
2493 },
2494 "optional" : 1,
2495 "type" : "string"
2496 },
44660702
DM
2497 "policy_in" : {
2498 "description" : "Input policy.",
2499 "enum" : [
2500 "ACCEPT",
2501 "REJECT",
2502 "DROP"
2503 ],
56122987 2504 "optional" : 1,
44660702 2505 "type" : "string"
7aacca6f 2506 },
44660702
DM
2507 "policy_out" : {
2508 "description" : "Output policy.",
2509 "enum" : [
2510 "ACCEPT",
2511 "REJECT",
2512 "DROP"
2513 ],
7aacca6f 2514 "optional" : 1,
44660702
DM
2515 "type" : "string"
2516 }
2517 },
2518 "type" : "object"
2519 }
2520 },
2521 "PUT" : {
2522 "description" : "Set Firewall options.",
2523 "method" : "PUT",
2524 "name" : "set_options",
2525 "parameters" : {
2526 "additionalProperties" : 0,
2527 "properties" : {
2528 "delete" : {
2529 "description" : "A list of settings you want to delete.",
2530 "format" : "pve-configid-list",
56122987 2531 "optional" : 1,
013dc89f
DM
2532 "type" : "string",
2533 "typetext" : "<string>"
56122987 2534 },
44660702
DM
2535 "digest" : {
2536 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2537 "maxLength" : 40,
56122987 2538 "optional" : 1,
013dc89f
DM
2539 "type" : "string",
2540 "typetext" : "<string>"
56122987 2541 },
5da3d723
TL
2542 "ebtables" : {
2543 "default" : 1,
2544 "description" : "Enable ebtables rules cluster wide.",
2545 "optional" : 1,
2546 "type" : "boolean",
2547 "typetext" : "<boolean>"
2548 },
44660702
DM
2549 "enable" : {
2550 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2551 "minimum" : 0,
56122987 2552 "optional" : 1,
4bd7df8b 2553 "type" : "integer",
013dc89f 2554 "typetext" : "<integer> (0 - N)"
56122987 2555 },
95895385
TL
2556 "log_ratelimit" : {
2557 "description" : "Log ratelimiting settings",
2558 "format" : {
2559 "burst" : {
2560 "default" : 5,
2561 "description" : "Inital burst of packages which will get logged",
2562 "minimum" : 0,
2563 "optional" : 1,
2564 "type" : "integer"
2565 },
2566 "enable" : {
2567 "default" : "1",
2568 "default_key" : 1,
2569 "description" : "Enable or disable log rate limiting",
2570 "type" : "boolean"
2571 },
2572 "rate" : {
2573 "default" : "1/second",
2574 "description" : "Frequency with which the burst bucket gets refilled",
2575 "format_description" : "rate",
2576 "optional" : 1,
2577 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2578 "type" : "string"
2579 }
2580 },
2581 "optional" : 1,
2582 "type" : "string",
2583 "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]"
2584 },
44660702
DM
2585 "policy_in" : {
2586 "description" : "Input policy.",
56122987 2587 "enum" : [
44660702
DM
2588 "ACCEPT",
2589 "REJECT",
2590 "DROP"
56122987 2591 ],
56122987 2592 "optional" : 1,
44660702 2593 "type" : "string"
56122987 2594 },
44660702
DM
2595 "policy_out" : {
2596 "description" : "Output policy.",
56122987 2597 "enum" : [
44660702
DM
2598 "ACCEPT",
2599 "REJECT",
2600 "DROP"
56122987 2601 ],
7aacca6f 2602 "optional" : 1,
44660702 2603 "type" : "string"
56122987 2604 }
44660702
DM
2605 }
2606 },
2607 "permissions" : {
2608 "check" : [
2609 "perm",
2610 "/",
2611 [
2612 "Sys.Modify"
2613 ]
2614 ]
7aacca6f
DM
2615 },
2616 "protected" : 1,
44660702
DM
2617 "returns" : {
2618 "type" : "null"
2619 }
2620 }
2621 },
2622 "leaf" : 1,
2623 "path" : "/cluster/firewall/options",
2624 "text" : "options"
2625 },
2626 {
2627 "info" : {
7aacca6f 2628 "GET" : {
44660702 2629 "description" : "List available macros",
7aacca6f 2630 "method" : "GET",
44660702
DM
2631 "name" : "get_macros",
2632 "parameters" : {
2633 "additionalProperties" : 0
7aacca6f 2634 },
44660702
DM
2635 "permissions" : {
2636 "user" : "all"
2637 },
2638 "returns" : {
2639 "items" : {
2640 "properties" : {
2641 "descr" : {
2642 "description" : "More verbose description (if available).",
2643 "type" : "string"
2644 },
2645 "macro" : {
2646 "description" : "Macro name.",
2647 "type" : "string"
2648 }
2649 },
2650 "type" : "object"
2651 },
2652 "type" : "array"
2653 }
2654 }
2655 },
2656 "leaf" : 1,
2657 "path" : "/cluster/firewall/macros",
2658 "text" : "macros"
2659 },
2660 {
2661 "info" : {
2662 "GET" : {
2663 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2664 "method" : "GET",
2665 "name" : "refs",
7aacca6f 2666 "parameters" : {
44660702 2667 "additionalProperties" : 0,
7aacca6f 2668 "properties" : {
44660702
DM
2669 "type" : {
2670 "description" : "Only list references of specified type.",
2671 "enum" : [
2672 "alias",
2673 "ipset"
2674 ],
2675 "optional" : 1,
2676 "type" : "string"
7aacca6f 2677 }
44660702 2678 }
7aacca6f
DM
2679 },
2680 "permissions" : {
2681 "check" : [
2682 "perm",
2683 "/",
2684 [
2685 "Sys.Audit"
2686 ]
2687 ]
2688 },
44660702
DM
2689 "returns" : {
2690 "items" : {
2691 "properties" : {
2692 "comment" : {
2693 "optional" : 1,
2694 "type" : "string"
2695 },
2696 "name" : {
2697 "type" : "string"
2698 },
2699 "ref" : {
2700 "type" : "string"
2701 },
2702 "type" : {
2703 "enum" : [
2704 "alias",
2705 "ipset"
2706 ],
2707 "type" : "string"
2708 }
2709 },
2710 "type" : "object"
2711 },
2712 "type" : "array"
2713 }
56122987
DM
2714 }
2715 },
7aacca6f 2716 "leaf" : 1,
44660702
DM
2717 "path" : "/cluster/firewall/refs",
2718 "text" : "refs"
56122987
DM
2719 }
2720 ],
56122987 2721 "info" : {
44660702
DM
2722 "GET" : {
2723 "description" : "Directory index.",
2724 "method" : "GET",
2725 "name" : "index",
56122987 2726 "parameters" : {
56122987
DM
2727 "additionalProperties" : 0
2728 },
44660702
DM
2729 "permissions" : {
2730 "user" : "all"
2731 },
56122987 2732 "returns" : {
44660702
DM
2733 "items" : {
2734 "properties" : {},
2735 "type" : "object"
2736 },
7aacca6f
DM
2737 "links" : [
2738 {
44660702
DM
2739 "href" : "{name}",
2740 "rel" : "child"
7aacca6f
DM
2741 }
2742 ],
7aacca6f 2743 "type" : "array"
7aacca6f 2744 }
56122987
DM
2745 }
2746 },
44660702
DM
2747 "leaf" : 0,
2748 "path" : "/cluster/firewall",
2749 "text" : "firewall"
7aacca6f
DM
2750 },
2751 {
56122987
DM
2752 "children" : [
2753 {
56122987 2754 "info" : {
44660702
DM
2755 "DELETE" : {
2756 "description" : "Delete vzdump backup job definition.",
2757 "method" : "DELETE",
2758 "name" : "delete_job",
2759 "parameters" : {
2760 "additionalProperties" : 0,
2761 "properties" : {
2762 "id" : {
2763 "description" : "The job ID.",
2764 "maxLength" : 50,
013dc89f
DM
2765 "type" : "string",
2766 "typetext" : "<string>"
44660702
DM
2767 }
2768 }
2769 },
2770 "permissions" : {
2771 "check" : [
2772 "perm",
2773 "/",
2774 [
2775 "Sys.Modify"
2776 ]
2777 ]
2778 },
2779 "protected" : 1,
56122987
DM
2780 "returns" : {
2781 "type" : "null"
44660702
DM
2782 }
2783 },
2784 "GET" : {
2785 "description" : "Read vzdump backup job definition.",
2786 "method" : "GET",
2787 "name" : "read_job",
2788 "parameters" : {
2789 "additionalProperties" : 0,
2790 "properties" : {
2791 "id" : {
2792 "description" : "The job ID.",
2793 "maxLength" : 50,
013dc89f
DM
2794 "type" : "string",
2795 "typetext" : "<string>"
44660702
DM
2796 }
2797 }
56122987 2798 },
7aacca6f
DM
2799 "permissions" : {
2800 "check" : [
2801 "perm",
2802 "/",
2803 [
44660702 2804 "Sys.Audit"
7aacca6f
DM
2805 ]
2806 ]
2807 },
44660702
DM
2808 "returns" : {
2809 "type" : "object"
2810 }
2811 },
2812 "PUT" : {
2813 "description" : "Update vzdump backup job definition.",
2814 "method" : "PUT",
2815 "name" : "update_job",
56122987 2816 "parameters" : {
44660702 2817 "additionalProperties" : 0,
56122987 2818 "properties" : {
44660702
DM
2819 "all" : {
2820 "default" : 0,
2821 "description" : "Backup all known guest systems on this host.",
7aacca6f 2822 "optional" : 1,
013dc89f
DM
2823 "type" : "boolean",
2824 "typetext" : "<boolean>"
7aacca6f 2825 },
44660702
DM
2826 "bwlimit" : {
2827 "default" : 0,
2828 "description" : "Limit I/O bandwidth (KBytes per second).",
2829 "minimum" : 0,
2830 "optional" : 1,
4bd7df8b 2831 "type" : "integer",
013dc89f 2832 "typetext" : "<integer> (0 - N)"
44660702
DM
2833 },
2834 "compress" : {
2835 "default" : "0",
2836 "description" : "Compress dump file.",
7aacca6f 2837 "enum" : [
44660702
DM
2838 "0",
2839 "1",
2840 "gzip",
2841 "lzo"
7aacca6f 2842 ],
44660702
DM
2843 "optional" : 1,
2844 "type" : "string"
7aacca6f 2845 },
44660702
DM
2846 "delete" : {
2847 "description" : "A list of settings you want to delete.",
2848 "format" : "pve-configid-list",
7aacca6f 2849 "optional" : 1,
013dc89f
DM
2850 "type" : "string",
2851 "typetext" : "<string>"
56122987 2852 },
44660702
DM
2853 "dow" : {
2854 "description" : "Day of week selection.",
2855 "format" : "pve-day-of-week-list",
7aacca6f 2856 "optional" : 1,
013dc89f
DM
2857 "type" : "string",
2858 "typetext" : "<string>"
56122987 2859 },
44660702
DM
2860 "dumpdir" : {
2861 "description" : "Store resulting files to specified directory.",
56122987 2862 "optional" : 1,
013dc89f
DM
2863 "type" : "string",
2864 "typetext" : "<string>"
56122987 2865 },
44660702
DM
2866 "enabled" : {
2867 "default" : "1",
2868 "description" : "Enable or disable the job.",
2869 "optional" : 1,
013dc89f
DM
2870 "type" : "boolean",
2871 "typetext" : "<boolean>"
44660702
DM
2872 },
2873 "exclude" : {
2874 "description" : "Exclude specified guest systems (assumes --all)",
2875 "format" : "pve-vmid-list",
2876 "optional" : 1,
013dc89f
DM
2877 "type" : "string",
2878 "typetext" : "<string>"
44660702
DM
2879 },
2880 "exclude-path" : {
2881 "description" : "Exclude certain files/directories (shell globs).",
2882 "format" : "string-alist",
2883 "optional" : 1,
013dc89f
DM
2884 "type" : "string",
2885 "typetext" : "<string>"
44660702
DM
2886 },
2887 "id" : {
2888 "description" : "The job ID.",
2889 "maxLength" : 50,
013dc89f
DM
2890 "type" : "string",
2891 "typetext" : "<string>"
44660702
DM
2892 },
2893 "ionice" : {
2894 "default" : 7,
2895 "description" : "Set CFQ ionice priority.",
2896 "maximum" : 8,
2897 "minimum" : 0,
2898 "optional" : 1,
4bd7df8b 2899 "type" : "integer",
013dc89f 2900 "typetext" : "<integer> (0 - 8)"
44660702
DM
2901 },
2902 "lockwait" : {
2903 "default" : 180,
2904 "description" : "Maximal time to wait for the global lock (minutes).",
2905 "minimum" : 0,
2906 "optional" : 1,
4bd7df8b 2907 "type" : "integer",
013dc89f 2908 "typetext" : "<integer> (0 - N)"
44660702
DM
2909 },
2910 "mailnotification" : {
2911 "default" : "always",
2912 "description" : "Specify when to send an email",
56122987 2913 "enum" : [
44660702
DM
2914 "always",
2915 "failure"
56122987 2916 ],
44660702
DM
2917 "optional" : 1,
2918 "type" : "string"
2919 },
2920 "mailto" : {
2921 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2922 "format" : "string-list",
2923 "optional" : 1,
013dc89f
DM
2924 "type" : "string",
2925 "typetext" : "<string>"
44660702
DM
2926 },
2927 "maxfiles" : {
2928 "default" : 1,
2929 "description" : "Maximal number of backup files per guest system.",
2930 "minimum" : 1,
2931 "optional" : 1,
4bd7df8b 2932 "type" : "integer",
013dc89f 2933 "typetext" : "<integer> (1 - N)"
44660702
DM
2934 },
2935 "mode" : {
2936 "default" : "snapshot",
2937 "description" : "Backup mode.",
2938 "enum" : [
2939 "snapshot",
2940 "suspend",
2941 "stop"
2942 ],
2943 "optional" : 1,
2944 "type" : "string"
2945 },
2946 "node" : {
2947 "description" : "Only run if executed on this node.",
2948 "format" : "pve-node",
2949 "optional" : 1,
013dc89f
DM
2950 "type" : "string",
2951 "typetext" : "<string>"
44660702
DM
2952 },
2953 "pigz" : {
2954 "default" : 0,
2955 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2956 "optional" : 1,
013dc89f
DM
2957 "type" : "integer",
2958 "typetext" : "<integer>"
44660702
DM
2959 },
2960 "quiet" : {
2961 "default" : 0,
2962 "description" : "Be quiet.",
2963 "optional" : 1,
013dc89f
DM
2964 "type" : "boolean",
2965 "typetext" : "<boolean>"
44660702
DM
2966 },
2967 "remove" : {
2968 "default" : 1,
2969 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2970 "optional" : 1,
013dc89f
DM
2971 "type" : "boolean",
2972 "typetext" : "<boolean>"
44660702
DM
2973 },
2974 "script" : {
2975 "description" : "Use specified hook script.",
2976 "optional" : 1,
013dc89f
DM
2977 "type" : "string",
2978 "typetext" : "<string>"
44660702
DM
2979 },
2980 "size" : {
2981 "default" : 1024,
2982 "description" : "Unused, will be removed in a future release.",
2983 "minimum" : 500,
2984 "optional" : 1,
4bd7df8b 2985 "type" : "integer",
013dc89f 2986 "typetext" : "<integer> (500 - N)"
44660702
DM
2987 },
2988 "starttime" : {
2989 "description" : "Job Start time.",
2990 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 2991 "type" : "string",
44660702 2992 "typetext" : "HH:MM"
7aacca6f 2993 },
44660702
DM
2994 "stdexcludes" : {
2995 "default" : 1,
2996 "description" : "Exclude temporary files and logs.",
2997 "optional" : 1,
013dc89f
DM
2998 "type" : "boolean",
2999 "typetext" : "<boolean>"
44660702
DM
3000 },
3001 "stop" : {
3002 "default" : 0,
3003 "description" : "Stop runnig backup jobs on this host.",
3004 "optional" : 1,
013dc89f
DM
3005 "type" : "boolean",
3006 "typetext" : "<boolean>"
44660702
DM
3007 },
3008 "stopwait" : {
3009 "default" : 10,
3010 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3011 "minimum" : 0,
3012 "optional" : 1,
4bd7df8b 3013 "type" : "integer",
013dc89f 3014 "typetext" : "<integer> (0 - N)"
44660702
DM
3015 },
3016 "storage" : {
3017 "description" : "Store resulting file to this storage.",
3018 "format" : "pve-storage-id",
3019 "optional" : 1,
013dc89f
DM
3020 "type" : "string",
3021 "typetext" : "<string>"
56122987 3022 },
44660702
DM
3023 "tmpdir" : {
3024 "description" : "Store temporary files to specified directory.",
3025 "optional" : 1,
013dc89f
DM
3026 "type" : "string",
3027 "typetext" : "<string>"
44660702
DM
3028 },
3029 "vmid" : {
3030 "description" : "The ID of the guest system you want to backup.",
3031 "format" : "pve-vmid-list",
3032 "optional" : 1,
013dc89f
DM
3033 "type" : "string",
3034 "typetext" : "<string>"
56122987 3035 }
44660702 3036 }
56122987
DM
3037 },
3038 "permissions" : {
3039 "check" : [
3040 "perm",
3041 "/",
3042 [
44660702 3043 "Sys.Modify"
56122987
DM
3044 ]
3045 ]
3046 },
44660702
DM
3047 "protected" : 1,
3048 "returns" : {
3049 "type" : "null"
7aacca6f 3050 }
56122987
DM
3051 }
3052 },
44660702
DM
3053 "leaf" : 1,
3054 "path" : "/cluster/backup/{id}",
3055 "text" : "{id}"
3056 }
3057 ],
3058 "info" : {
3059 "GET" : {
3060 "description" : "List vzdump backup schedule.",
3061 "method" : "GET",
3062 "name" : "index",
3063 "parameters" : {
3064 "additionalProperties" : 0
3065 },
3066 "permissions" : {
3067 "check" : [
3068 "perm",
3069 "/",
3070 [
3071 "Sys.Audit"
3072 ]
3073 ]
3074 },
3075 "returns" : {
3076 "items" : {
3077 "properties" : {
3078 "id" : {
3079 "type" : "string"
3080 }
3081 },
3082 "type" : "object"
3083 },
3084 "links" : [
3085 {
3086 "href" : "{id}",
3087 "rel" : "child"
3088 }
3089 ],
3090 "type" : "array"
3091 }
3092 },
3093 "POST" : {
3094 "description" : "Create new vzdump backup job.",
3095 "method" : "POST",
3096 "name" : "create_job",
3097 "parameters" : {
3098 "additionalProperties" : 0,
3099 "properties" : {
3100 "all" : {
3101 "default" : 0,
3102 "description" : "Backup all known guest systems on this host.",
3103 "optional" : 1,
013dc89f
DM
3104 "type" : "boolean",
3105 "typetext" : "<boolean>"
44660702
DM
3106 },
3107 "bwlimit" : {
3108 "default" : 0,
3109 "description" : "Limit I/O bandwidth (KBytes per second).",
3110 "minimum" : 0,
3111 "optional" : 1,
4bd7df8b 3112 "type" : "integer",
013dc89f 3113 "typetext" : "<integer> (0 - N)"
44660702
DM
3114 },
3115 "compress" : {
3116 "default" : "0",
3117 "description" : "Compress dump file.",
3118 "enum" : [
3119 "0",
3120 "1",
3121 "gzip",
3122 "lzo"
3123 ],
3124 "optional" : 1,
3125 "type" : "string"
3126 },
3127 "dow" : {
3128 "default" : "mon,tue,wed,thu,fri,sat,sun",
3129 "description" : "Day of week selection.",
3130 "format" : "pve-day-of-week-list",
3131 "optional" : 1,
013dc89f
DM
3132 "type" : "string",
3133 "typetext" : "<string>"
44660702
DM
3134 },
3135 "dumpdir" : {
3136 "description" : "Store resulting files to specified directory.",
3137 "optional" : 1,
013dc89f
DM
3138 "type" : "string",
3139 "typetext" : "<string>"
44660702
DM
3140 },
3141 "enabled" : {
3142 "default" : "1",
3143 "description" : "Enable or disable the job.",
3144 "optional" : 1,
013dc89f
DM
3145 "type" : "boolean",
3146 "typetext" : "<boolean>"
44660702
DM
3147 },
3148 "exclude" : {
3149 "description" : "Exclude specified guest systems (assumes --all)",
3150 "format" : "pve-vmid-list",
3151 "optional" : 1,
013dc89f
DM
3152 "type" : "string",
3153 "typetext" : "<string>"
44660702
DM
3154 },
3155 "exclude-path" : {
3156 "description" : "Exclude certain files/directories (shell globs).",
3157 "format" : "string-alist",
3158 "optional" : 1,
013dc89f
DM
3159 "type" : "string",
3160 "typetext" : "<string>"
44660702
DM
3161 },
3162 "ionice" : {
3163 "default" : 7,
3164 "description" : "Set CFQ ionice priority.",
3165 "maximum" : 8,
3166 "minimum" : 0,
3167 "optional" : 1,
4bd7df8b 3168 "type" : "integer",
013dc89f 3169 "typetext" : "<integer> (0 - 8)"
44660702
DM
3170 },
3171 "lockwait" : {
3172 "default" : 180,
3173 "description" : "Maximal time to wait for the global lock (minutes).",
3174 "minimum" : 0,
3175 "optional" : 1,
4bd7df8b 3176 "type" : "integer",
013dc89f 3177 "typetext" : "<integer> (0 - N)"
44660702
DM
3178 },
3179 "mailnotification" : {
3180 "default" : "always",
3181 "description" : "Specify when to send an email",
3182 "enum" : [
3183 "always",
3184 "failure"
3185 ],
3186 "optional" : 1,
3187 "type" : "string"
3188 },
3189 "mailto" : {
3190 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3191 "format" : "string-list",
3192 "optional" : 1,
013dc89f
DM
3193 "type" : "string",
3194 "typetext" : "<string>"
44660702
DM
3195 },
3196 "maxfiles" : {
3197 "default" : 1,
3198 "description" : "Maximal number of backup files per guest system.",
3199 "minimum" : 1,
3200 "optional" : 1,
4bd7df8b 3201 "type" : "integer",
013dc89f 3202 "typetext" : "<integer> (1 - N)"
44660702
DM
3203 },
3204 "mode" : {
3205 "default" : "snapshot",
3206 "description" : "Backup mode.",
3207 "enum" : [
3208 "snapshot",
3209 "suspend",
3210 "stop"
3211 ],
3212 "optional" : 1,
3213 "type" : "string"
3214 },
3215 "node" : {
3216 "description" : "Only run if executed on this node.",
3217 "format" : "pve-node",
3218 "optional" : 1,
013dc89f
DM
3219 "type" : "string",
3220 "typetext" : "<string>"
44660702
DM
3221 },
3222 "pigz" : {
3223 "default" : 0,
3224 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3225 "optional" : 1,
013dc89f
DM
3226 "type" : "integer",
3227 "typetext" : "<integer>"
44660702
DM
3228 },
3229 "quiet" : {
3230 "default" : 0,
3231 "description" : "Be quiet.",
3232 "optional" : 1,
013dc89f
DM
3233 "type" : "boolean",
3234 "typetext" : "<boolean>"
44660702
DM
3235 },
3236 "remove" : {
3237 "default" : 1,
3238 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3239 "optional" : 1,
013dc89f
DM
3240 "type" : "boolean",
3241 "typetext" : "<boolean>"
44660702
DM
3242 },
3243 "script" : {
3244 "description" : "Use specified hook script.",
3245 "optional" : 1,
013dc89f
DM
3246 "type" : "string",
3247 "typetext" : "<string>"
44660702
DM
3248 },
3249 "size" : {
3250 "default" : 1024,
3251 "description" : "Unused, will be removed in a future release.",
3252 "minimum" : 500,
3253 "optional" : 1,
4bd7df8b 3254 "type" : "integer",
013dc89f 3255 "typetext" : "<integer> (500 - N)"
44660702
DM
3256 },
3257 "starttime" : {
3258 "description" : "Job Start time.",
3259 "pattern" : "\\d{1,2}:\\d{1,2}",
3260 "type" : "string",
3261 "typetext" : "HH:MM"
3262 },
3263 "stdexcludes" : {
3264 "default" : 1,
3265 "description" : "Exclude temporary files and logs.",
3266 "optional" : 1,
013dc89f
DM
3267 "type" : "boolean",
3268 "typetext" : "<boolean>"
44660702
DM
3269 },
3270 "stop" : {
3271 "default" : 0,
3272 "description" : "Stop runnig backup jobs on this host.",
3273 "optional" : 1,
013dc89f
DM
3274 "type" : "boolean",
3275 "typetext" : "<boolean>"
44660702
DM
3276 },
3277 "stopwait" : {
3278 "default" : 10,
3279 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3280 "minimum" : 0,
3281 "optional" : 1,
4bd7df8b 3282 "type" : "integer",
013dc89f 3283 "typetext" : "<integer> (0 - N)"
44660702
DM
3284 },
3285 "storage" : {
3286 "description" : "Store resulting file to this storage.",
3287 "format" : "pve-storage-id",
3288 "optional" : 1,
013dc89f
DM
3289 "type" : "string",
3290 "typetext" : "<string>"
44660702
DM
3291 },
3292 "tmpdir" : {
3293 "description" : "Store temporary files to specified directory.",
3294 "optional" : 1,
013dc89f
DM
3295 "type" : "string",
3296 "typetext" : "<string>"
44660702
DM
3297 },
3298 "vmid" : {
3299 "description" : "The ID of the guest system you want to backup.",
3300 "format" : "pve-vmid-list",
3301 "optional" : 1,
013dc89f
DM
3302 "type" : "string",
3303 "typetext" : "<string>"
44660702
DM
3304 }
3305 }
3306 },
3307 "permissions" : {
3308 "check" : [
3309 "perm",
3310 "/",
3311 [
3312 "Sys.Modify"
3313 ]
de0983cb
DM
3314 ],
3315 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3316 },
3317 "protected" : 1,
3318 "returns" : {
3319 "type" : "null"
3320 }
3321 }
3322 },
3323 "leaf" : 0,
3324 "path" : "/cluster/backup",
3325 "text" : "backup"
3326 },
3327 {
3328 "children" : [
3329 {
3330 "children" : [
3331 {
3332 "children" : [
56122987 3333 {
56122987
DM
3334 "info" : {
3335 "POST" : {
44660702
DM
3336 "description" : "Request resource migration (online) to another node.",
3337 "method" : "POST",
3338 "name" : "migrate",
56122987 3339 "parameters" : {
7aacca6f 3340 "additionalProperties" : 0,
56122987
DM
3341 "properties" : {
3342 "node" : {
95895385 3343 "description" : "Target node.",
44660702 3344 "format" : "pve-node",
013dc89f
DM
3345 "type" : "string",
3346 "typetext" : "<string>"
56122987
DM
3347 },
3348 "sid" : {
44660702 3349 "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 3350 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3351 "type" : "string",
44660702 3352 "typetext" : "<type>:<name>"
56122987 3353 }
7aacca6f 3354 }
56122987 3355 },
56122987
DM
3356 "permissions" : {
3357 "check" : [
3358 "perm",
3359 "/",
3360 [
3361 "Sys.Console"
3362 ]
3363 ]
3364 },
7aacca6f 3365 "protected" : 1,
7aacca6f
DM
3366 "returns" : {
3367 "type" : "null"
44660702 3368 }
56122987 3369 }
44660702
DM
3370 },
3371 "leaf" : 1,
3372 "path" : "/cluster/ha/resources/{sid}/migrate",
3373 "text" : "migrate"
3374 },
3375 {
3376 "info" : {
3377 "POST" : {
3378 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3379 "method" : "POST",
3380 "name" : "relocate",
3381 "parameters" : {
3382 "additionalProperties" : 0,
3383 "properties" : {
3384 "node" : {
95895385 3385 "description" : "Target node.",
44660702 3386 "format" : "pve-node",
013dc89f
DM
3387 "type" : "string",
3388 "typetext" : "<string>"
44660702
DM
3389 },
3390 "sid" : {
3391 "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).",
3392 "format" : "pve-ha-resource-or-vm-id",
3393 "type" : "string",
3394 "typetext" : "<type>:<name>"
3395 }
3396 }
3397 },
3398 "permissions" : {
3399 "check" : [
3400 "perm",
3401 "/",
3402 [
3403 "Sys.Console"
3404 ]
3405 ]
3406 },
3407 "protected" : 1,
3408 "returns" : {
3409 "type" : "null"
3410 }
3411 }
3412 },
3413 "leaf" : 1,
3414 "path" : "/cluster/ha/resources/{sid}/relocate",
3415 "text" : "relocate"
3416 }
3417 ],
3418 "info" : {
3419 "DELETE" : {
3420 "description" : "Delete resource configuration.",
3421 "method" : "DELETE",
3422 "name" : "delete",
7aacca6f 3423 "parameters" : {
44660702 3424 "additionalProperties" : 0,
7aacca6f
DM
3425 "properties" : {
3426 "sid" : {
3427 "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 3428 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3429 "type" : "string",
44660702
DM
3430 "typetext" : "<type>:<name>"
3431 }
3432 }
3433 },
3434 "permissions" : {
3435 "check" : [
3436 "perm",
3437 "/",
3438 [
3439 "Sys.Console"
3440 ]
3441 ]
3442 },
3443 "protected" : 1,
3444 "returns" : {
3445 "type" : "null"
3446 }
3447 },
3448 "GET" : {
3449 "description" : "Read resource configuration.",
3450 "method" : "GET",
3451 "name" : "read",
3452 "parameters" : {
3453 "additionalProperties" : 0,
3454 "properties" : {
3455 "sid" : {
3456 "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 3457 "format" : "pve-ha-resource-or-vm-id",
44660702 3458 "type" : "string",
7aacca6f
DM
3459 "typetext" : "<type>:<name>"
3460 }
44660702 3461 }
7aacca6f
DM
3462 },
3463 "permissions" : {
3464 "check" : [
3465 "perm",
3466 "/",
3467 [
3468 "Sys.Audit"
3469 ]
3470 ]
3471 },
5f26e15b
TL
3472 "returns" : {
3473 "properties" : {
3474 "comment" : {
3475 "description" : "Description.",
3476 "optional" : 1,
3477 "type" : "string"
3478 },
3479 "digest" : {
3480 "description" : "Can be used to prevent concurrent modifications.",
3481 "type" : "string"
3482 },
3483 "group" : {
3484 "description" : "The HA group identifier.",
3485 "format" : "pve-configid",
3486 "optional" : 1,
3487 "type" : "string"
3488 },
3489 "max_relocate" : {
3490 "description" : "Maximal number of service relocate tries when a service failes to start.",
3491 "optional" : 1,
3492 "type" : "integer"
3493 },
3494 "max_restart" : {
3495 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3496 "optional" : 1,
3497 "type" : "integer"
3498 },
3499 "sid" : {
3500 "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).",
3501 "format" : "pve-ha-resource-or-vm-id",
3502 "type" : "string",
3503 "typetext" : "<type>:<name>"
3504 },
3505 "state" : {
3506 "description" : "Requested resource state.",
3507 "enum" : [
3508 "started",
3509 "stopped",
3510 "enabled",
3511 "disabled",
3512 "ignored"
3513 ],
3514 "optional" : 1,
3515 "type" : "string"
3516 },
3517 "type" : {
3518 "description" : "The type of the resources.",
3519 "type" : "string"
3520 }
3521 },
3522 "type" : "object"
3523 }
7aacca6f 3524 },
56122987 3525 "PUT" : {
44660702 3526 "description" : "Update resource configuration.",
7aacca6f 3527 "method" : "PUT",
44660702 3528 "name" : "update",
56122987
DM
3529 "parameters" : {
3530 "additionalProperties" : 0,
3531 "properties" : {
44660702
DM
3532 "comment" : {
3533 "description" : "Description.",
3534 "maxLength" : 4096,
56122987 3535 "optional" : 1,
013dc89f
DM
3536 "type" : "string",
3537 "typetext" : "<string>"
56122987 3538 },
7aacca6f
DM
3539 "delete" : {
3540 "description" : "A list of settings you want to delete.",
7aacca6f 3541 "format" : "pve-configid-list",
44660702
DM
3542 "maxLength" : 4096,
3543 "optional" : 1,
013dc89f
DM
3544 "type" : "string",
3545 "typetext" : "<string>"
56122987 3546 },
44660702
DM
3547 "digest" : {
3548 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3549 "maxLength" : 40,
3550 "optional" : 1,
013dc89f
DM
3551 "type" : "string",
3552 "typetext" : "<string>"
56122987 3553 },
44660702
DM
3554 "group" : {
3555 "description" : "The HA group identifier.",
3556 "format" : "pve-configid",
7aacca6f 3557 "optional" : 1,
013dc89f
DM
3558 "type" : "string",
3559 "typetext" : "<string>"
56122987
DM
3560 },
3561 "max_relocate" : {
7aacca6f 3562 "default" : 1,
56122987 3563 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3564 "minimum" : 0,
3565 "optional" : 1,
4bd7df8b 3566 "type" : "integer",
013dc89f 3567 "typetext" : "<integer> (0 - N)"
7aacca6f 3568 },
44660702
DM
3569 "max_restart" : {
3570 "default" : 1,
3571 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3572 "minimum" : 0,
7aacca6f 3573 "optional" : 1,
4bd7df8b 3574 "type" : "integer",
013dc89f 3575 "typetext" : "<integer> (0 - N)"
44660702
DM
3576 },
3577 "sid" : {
3578 "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).",
3579 "format" : "pve-ha-resource-or-vm-id",
3580 "type" : "string",
3581 "typetext" : "<type>:<name>"
7aacca6f
DM
3582 },
3583 "state" : {
f13c1238
DM
3584 "default" : "started",
3585 "description" : "Requested resource state.",
7aacca6f 3586 "enum" : [
f13c1238
DM
3587 "started",
3588 "stopped",
7aacca6f 3589 "enabled",
2489d6df
WB
3590 "disabled",
3591 "ignored"
7aacca6f 3592 ],
7aacca6f 3593 "optional" : 1,
f13c1238 3594 "type" : "string",
2489d6df 3595 "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 3596 }
44660702
DM
3597 },
3598 "type" : "object"
56122987 3599 },
56122987
DM
3600 "permissions" : {
3601 "check" : [
3602 "perm",
3603 "/",
3604 [
3605 "Sys.Console"
3606 ]
3607 ]
3608 },
7aacca6f 3609 "protected" : 1,
56122987
DM
3610 "returns" : {
3611 "type" : "null"
3612 }
3613 }
3614 },
44660702 3615 "leaf" : 0,
7aacca6f 3616 "path" : "/cluster/ha/resources/{sid}",
44660702 3617 "text" : "{sid}"
56122987
DM
3618 }
3619 ],
7aacca6f
DM
3620 "info" : {
3621 "GET" : {
44660702
DM
3622 "description" : "List HA resources.",
3623 "method" : "GET",
3624 "name" : "index",
7aacca6f 3625 "parameters" : {
44660702
DM
3626 "additionalProperties" : 0,
3627 "properties" : {
3628 "type" : {
3629 "description" : "Only list resources of specific type",
3630 "enum" : [
3631 "ct",
3632 "vm"
3633 ],
3634 "optional" : 1,
3635 "type" : "string"
3636 }
3637 }
7aacca6f 3638 },
7aacca6f
DM
3639 "permissions" : {
3640 "check" : [
3641 "perm",
3642 "/",
3643 [
3644 "Sys.Audit"
3645 ]
3646 ]
3647 },
7aacca6f 3648 "returns" : {
7aacca6f 3649 "items" : {
7aacca6f 3650 "properties" : {
44660702 3651 "sid" : {
7aacca6f
DM
3652 "type" : "string"
3653 }
44660702
DM
3654 },
3655 "type" : "object"
7aacca6f
DM
3656 },
3657 "links" : [
3658 {
44660702 3659 "href" : "{sid}",
7aacca6f
DM
3660 "rel" : "child"
3661 }
44660702
DM
3662 ],
3663 "type" : "array"
7aacca6f
DM
3664 }
3665 },
3666 "POST" : {
44660702 3667 "description" : "Create a new HA resource.",
7aacca6f 3668 "method" : "POST",
44660702 3669 "name" : "create",
7aacca6f 3670 "parameters" : {
44660702 3671 "additionalProperties" : 0,
7aacca6f
DM
3672 "properties" : {
3673 "comment" : {
7aacca6f 3674 "description" : "Description.",
44660702 3675 "maxLength" : 4096,
7aacca6f 3676 "optional" : 1,
013dc89f
DM
3677 "type" : "string",
3678 "typetext" : "<string>"
7aacca6f 3679 },
44660702
DM
3680 "group" : {
3681 "description" : "The HA group identifier.",
3682 "format" : "pve-configid",
7aacca6f 3683 "optional" : 1,
013dc89f
DM
3684 "type" : "string",
3685 "typetext" : "<string>"
7aacca6f 3686 },
44660702
DM
3687 "max_relocate" : {
3688 "default" : 1,
3689 "description" : "Maximal number of service relocate tries when a service failes to start.",
3690 "minimum" : 0,
7aacca6f 3691 "optional" : 1,
4bd7df8b 3692 "type" : "integer",
013dc89f 3693 "typetext" : "<integer> (0 - N)"
7aacca6f 3694 },
44660702
DM
3695 "max_restart" : {
3696 "default" : 1,
3697 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3698 "minimum" : 0,
3699 "optional" : 1,
4bd7df8b 3700 "type" : "integer",
013dc89f 3701 "typetext" : "<integer> (0 - N)"
44660702
DM
3702 },
3703 "sid" : {
3704 "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).",
3705 "format" : "pve-ha-resource-or-vm-id",
3706 "type" : "string",
3707 "typetext" : "<type>:<name>"
3708 },
3709 "state" : {
f13c1238
DM
3710 "default" : "started",
3711 "description" : "Requested resource state.",
7aacca6f 3712 "enum" : [
f13c1238
DM
3713 "started",
3714 "stopped",
44660702 3715 "enabled",
2489d6df
WB
3716 "disabled",
3717 "ignored"
7aacca6f 3718 ],
7aacca6f 3719 "optional" : 1,
f13c1238 3720 "type" : "string",
2489d6df 3721 "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 3722 },
44660702
DM
3723 "type" : {
3724 "description" : "Resource type.",
3725 "enum" : [
3726 "ct",
3727 "vm"
3728 ],
3729 "optional" : 1,
3730 "type" : "string"
3731 }
7aacca6f 3732 },
44660702 3733 "type" : "object"
7aacca6f
DM
3734 },
3735 "permissions" : {
3736 "check" : [
3737 "perm",
3738 "/",
3739 [
3740 "Sys.Console"
3741 ]
3742 ]
3743 },
44660702
DM
3744 "protected" : 1,
3745 "returns" : {
3746 "type" : "null"
3747 }
7aacca6f
DM
3748 }
3749 },
44660702
DM
3750 "leaf" : 0,
3751 "path" : "/cluster/ha/resources",
3752 "text" : "resources"
3753 },
3754 {
56122987
DM
3755 "children" : [
3756 {
56122987 3757 "info" : {
44660702
DM
3758 "DELETE" : {
3759 "description" : "Delete ha group configuration.",
3760 "method" : "DELETE",
3761 "name" : "delete",
56122987 3762 "parameters" : {
7aacca6f 3763 "additionalProperties" : 0,
56122987 3764 "properties" : {
7aacca6f
DM
3765 "group" : {
3766 "description" : "The HA group identifier.",
44660702 3767 "format" : "pve-configid",
013dc89f
DM
3768 "type" : "string",
3769 "typetext" : "<string>"
56122987 3770 }
7aacca6f 3771 }
56122987 3772 },
56122987
DM
3773 "permissions" : {
3774 "check" : [
3775 "perm",
3776 "/",
3777 [
7aacca6f 3778 "Sys.Console"
56122987
DM
3779 ]
3780 ]
3781 },
44660702 3782 "protected" : 1,
7aacca6f
DM
3783 "returns" : {
3784 "type" : "null"
56122987
DM
3785 }
3786 },
44660702
DM
3787 "GET" : {
3788 "description" : "Read ha group configuration.",
3789 "method" : "GET",
3790 "name" : "read",
56122987 3791 "parameters" : {
44660702 3792 "additionalProperties" : 0,
56122987
DM
3793 "properties" : {
3794 "group" : {
3795 "description" : "The HA group identifier.",
44660702 3796 "format" : "pve-configid",
013dc89f
DM
3797 "type" : "string",
3798 "typetext" : "<string>"
56122987 3799 }
44660702 3800 }
56122987 3801 },
56122987
DM
3802 "permissions" : {
3803 "check" : [
3804 "perm",
3805 "/",
3806 [
44660702 3807 "Sys.Audit"
56122987
DM
3808 ]
3809 ]
3810 },
44660702 3811 "returns" : {}
7aacca6f 3812 },
44660702
DM
3813 "PUT" : {
3814 "description" : "Update ha group configuration.",
3815 "method" : "PUT",
3816 "name" : "update",
7aacca6f 3817 "parameters" : {
44660702 3818 "additionalProperties" : 0,
7aacca6f 3819 "properties" : {
44660702
DM
3820 "comment" : {
3821 "description" : "Description.",
3822 "maxLength" : 4096,
3823 "optional" : 1,
013dc89f
DM
3824 "type" : "string",
3825 "typetext" : "<string>"
44660702
DM
3826 },
3827 "delete" : {
3828 "description" : "A list of settings you want to delete.",
3829 "format" : "pve-configid-list",
3830 "maxLength" : 4096,
3831 "optional" : 1,
013dc89f
DM
3832 "type" : "string",
3833 "typetext" : "<string>"
44660702
DM
3834 },
3835 "digest" : {
3836 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3837 "maxLength" : 40,
3838 "optional" : 1,
013dc89f
DM
3839 "type" : "string",
3840 "typetext" : "<string>"
44660702 3841 },
7aacca6f
DM
3842 "group" : {
3843 "description" : "The HA group identifier.",
44660702 3844 "format" : "pve-configid",
013dc89f
DM
3845 "type" : "string",
3846 "typetext" : "<string>"
44660702
DM
3847 },
3848 "nodes" : {
f13c1238 3849 "description" : "List of cluster node names with optional priority.",
44660702
DM
3850 "format" : "pve-ha-group-node-list",
3851 "optional" : 1,
7aacca6f 3852 "type" : "string",
f13c1238
DM
3853 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3854 "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
3855 },
3856 "nofailback" : {
3857 "default" : 0,
3858 "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.",
3859 "optional" : 1,
013dc89f
DM
3860 "type" : "boolean",
3861 "typetext" : "<boolean>"
44660702
DM
3862 },
3863 "restricted" : {
3864 "default" : 0,
c4808e75 3865 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3866 "optional" : 1,
013dc89f 3867 "type" : "boolean",
c4808e75
DM
3868 "typetext" : "<boolean>",
3869 "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
3870 }
3871 },
44660702 3872 "type" : "object"
7aacca6f 3873 },
7aacca6f
DM
3874 "permissions" : {
3875 "check" : [
3876 "perm",
3877 "/",
3878 [
44660702 3879 "Sys.Console"
7aacca6f
DM
3880 ]
3881 ]
3882 },
44660702
DM
3883 "protected" : 1,
3884 "returns" : {
3885 "type" : "null"
3886 }
56122987
DM
3887 }
3888 },
3889 "leaf" : 1,
44660702
DM
3890 "path" : "/cluster/ha/groups/{group}",
3891 "text" : "{group}"
56122987 3892 }
44660702
DM
3893 ],
3894 "info" : {
3895 "GET" : {
3896 "description" : "Get HA groups.",
3897 "method" : "GET",
3898 "name" : "index",
3899 "parameters" : {
3900 "additionalProperties" : 0
3901 },
3902 "permissions" : {
3903 "check" : [
3904 "perm",
3905 "/",
3906 [
3907 "Sys.Audit"
3908 ]
3909 ]
3910 },
3911 "returns" : {
3912 "items" : {
3913 "properties" : {
3914 "group" : {
3915 "type" : "string"
3916 }
3917 },
3918 "type" : "object"
3919 },
3920 "links" : [
3921 {
3922 "href" : "{group}",
3923 "rel" : "child"
3924 }
3925 ],
3926 "type" : "array"
3927 }
3928 },
3929 "POST" : {
3930 "description" : "Create a new HA group.",
3931 "method" : "POST",
3932 "name" : "create",
3933 "parameters" : {
3934 "additionalProperties" : 0,
3935 "properties" : {
3936 "comment" : {
3937 "description" : "Description.",
3938 "maxLength" : 4096,
3939 "optional" : 1,
013dc89f
DM
3940 "type" : "string",
3941 "typetext" : "<string>"
44660702
DM
3942 },
3943 "group" : {
3944 "description" : "The HA group identifier.",
3945 "format" : "pve-configid",
013dc89f
DM
3946 "type" : "string",
3947 "typetext" : "<string>"
44660702
DM
3948 },
3949 "nodes" : {
f13c1238 3950 "description" : "List of cluster node names with optional priority.",
44660702
DM
3951 "format" : "pve-ha-group-node-list",
3952 "optional" : 0,
3953 "type" : "string",
f13c1238
DM
3954 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3955 "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
3956 },
3957 "nofailback" : {
3958 "default" : 0,
3959 "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.",
3960 "optional" : 1,
013dc89f
DM
3961 "type" : "boolean",
3962 "typetext" : "<boolean>"
44660702
DM
3963 },
3964 "restricted" : {
3965 "default" : 0,
c4808e75 3966 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3967 "optional" : 1,
013dc89f 3968 "type" : "boolean",
c4808e75
DM
3969 "typetext" : "<boolean>",
3970 "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
3971 },
3972 "type" : {
3973 "description" : "Group type.",
3974 "enum" : [
3975 "group"
3976 ],
3977 "optional" : 1,
3978 "type" : "string"
3979 }
3980 },
3981 "type" : "object"
3982 },
3983 "permissions" : {
3984 "check" : [
3985 "perm",
3986 "/",
3987 [
3988 "Sys.Console"
3989 ]
3990 ]
3991 },
3992 "protected" : 1,
3993 "returns" : {
3994 "type" : "null"
3995 }
3996 }
3997 },
3998 "leaf" : 0,
3999 "path" : "/cluster/ha/groups",
4000 "text" : "groups"
7aacca6f
DM
4001 },
4002 {
7aacca6f
DM
4003 "children" : [
4004 {
4005 "info" : {
4006 "GET" : {
56122987 4007 "description" : "Get HA manger status.",
44660702 4008 "method" : "GET",
7aacca6f 4009 "name" : "status",
44660702
DM
4010 "parameters" : {
4011 "additionalProperties" : 0
4012 },
56122987
DM
4013 "permissions" : {
4014 "check" : [
4015 "perm",
4016 "/",
4017 [
4018 "Sys.Audit"
4019 ]
4020 ]
7aacca6f 4021 },
44660702
DM
4022 "returns" : {
4023 "type" : "array"
56122987
DM
4024 }
4025 }
7aacca6f 4026 },
7aacca6f 4027 "leaf" : 1,
44660702
DM
4028 "path" : "/cluster/ha/status/current",
4029 "text" : "current"
56122987
DM
4030 },
4031 {
4032 "info" : {
4033 "GET" : {
7aacca6f 4034 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
4035 "method" : "GET",
4036 "name" : "manager_status",
7aacca6f
DM
4037 "parameters" : {
4038 "additionalProperties" : 0
4039 },
56122987
DM
4040 "permissions" : {
4041 "check" : [
4042 "perm",
4043 "/",
4044 [
4045 "Sys.Audit"
4046 ]
4047 ]
44660702
DM
4048 },
4049 "returns" : {
4050 "type" : "object"
7aacca6f 4051 }
56122987
DM
4052 }
4053 },
56122987 4054 "leaf" : 1,
44660702
DM
4055 "path" : "/cluster/ha/status/manager_status",
4056 "text" : "manager_status"
56122987
DM
4057 }
4058 ],
56122987
DM
4059 "info" : {
4060 "GET" : {
44660702 4061 "description" : "Directory index.",
7aacca6f 4062 "method" : "GET",
44660702
DM
4063 "name" : "index",
4064 "parameters" : {
4065 "additionalProperties" : 0
4066 },
4067 "permissions" : {
4068 "user" : "all"
4069 },
56122987 4070 "returns" : {
56122987
DM
4071 "items" : {
4072 "properties" : {},
4073 "type" : "object"
4074 },
4075 "links" : [
4076 {
44660702
DM
4077 "href" : "{name}",
4078 "rel" : "child"
56122987 4079 }
7aacca6f
DM
4080 ],
4081 "type" : "array"
44660702 4082 }
56122987 4083 }
7aacca6f 4084 },
44660702 4085 "leaf" : 0,
7aacca6f 4086 "path" : "/cluster/ha/status",
44660702 4087 "text" : "status"
56122987
DM
4088 }
4089 ],
56122987
DM
4090 "info" : {
4091 "GET" : {
7aacca6f 4092 "description" : "Directory index.",
44660702
DM
4093 "method" : "GET",
4094 "name" : "index",
4095 "parameters" : {
4096 "additionalProperties" : 0
4097 },
7aacca6f
DM
4098 "permissions" : {
4099 "check" : [
4100 "perm",
4101 "/",
4102 [
4103 "Sys.Audit"
4104 ]
4105 ]
4106 },
56122987 4107 "returns" : {
56122987 4108 "items" : {
7aacca6f
DM
4109 "properties" : {
4110 "id" : {
4111 "type" : "string"
4112 }
44660702
DM
4113 },
4114 "type" : "object"
7aacca6f
DM
4115 },
4116 "links" : [
4117 {
4118 "href" : "{id}",
4119 "rel" : "child"
4120 }
44660702
DM
4121 ],
4122 "type" : "array"
7aacca6f
DM
4123 }
4124 }
44660702
DM
4125 },
4126 "leaf" : 0,
4127 "path" : "/cluster/ha",
4128 "text" : "ha"
7aacca6f 4129 },
a9a8e3d1
DM
4130 {
4131 "children" : [
4132 {
4133 "children" : [
4134 {
4135 "info" : {
4136 "DELETE" : {
4137 "description" : "Deactivate existing ACME account at CA.",
4138 "method" : "DELETE",
4139 "name" : "deactivate_account",
4140 "parameters" : {
4141 "additionalProperties" : 0,
4142 "properties" : {
4143 "name" : {
4144 "default" : "default",
4145 "description" : "ACME account config file name.",
4146 "format" : "pve-configid",
4147 "format_description" : "name",
4148 "optional" : 1,
4149 "type" : "string",
4150 "typetext" : "<name>"
4151 }
4152 }
4153 },
4154 "protected" : 1,
4155 "returns" : {
4156 "type" : "string"
4157 }
4158 },
4159 "GET" : {
4160 "description" : "Return existing ACME account information.",
4161 "method" : "GET",
4162 "name" : "get_account",
4163 "parameters" : {
4164 "additionalProperties" : 0,
4165 "properties" : {
4166 "name" : {
4167 "default" : "default",
4168 "description" : "ACME account config file name.",
4169 "format" : "pve-configid",
4170 "format_description" : "name",
4171 "optional" : 1,
4172 "type" : "string",
4173 "typetext" : "<name>"
4174 }
4175 }
4176 },
4177 "protected" : 1,
4178 "returns" : {
4179 "additionalProperties" : 0,
4180 "properties" : {
4181 "account" : {
4182 "optional" : 1,
4d47f125 4183 "renderer" : "yaml",
a9a8e3d1
DM
4184 "type" : "object"
4185 },
4186 "directory" : {
4187 "description" : "URL of ACME CA directory endpoint.",
4188 "optional" : 1,
4189 "pattern" : "^https?://.*",
4190 "type" : "string"
4191 },
4192 "location" : {
4193 "optional" : 1,
4194 "type" : "string"
4195 },
4196 "tos" : {
4197 "optional" : 1,
4198 "type" : "string"
4199 }
4200 },
4201 "type" : "object"
4202 }
4203 },
4204 "PUT" : {
4205 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
4206 "method" : "PUT",
4207 "name" : "update_account",
4208 "parameters" : {
4209 "additionalProperties" : 0,
4210 "properties" : {
4211 "contact" : {
4212 "description" : "Contact email addresses.",
4213 "format" : "email-list",
4214 "optional" : 1,
4215 "type" : "string",
4216 "typetext" : "<string>"
4217 },
4218 "name" : {
4219 "default" : "default",
4220 "description" : "ACME account config file name.",
4221 "format" : "pve-configid",
4222 "format_description" : "name",
4223 "optional" : 1,
4224 "type" : "string",
4225 "typetext" : "<name>"
4226 }
4227 }
4228 },
4229 "protected" : 1,
4230 "returns" : {
4231 "type" : "string"
4232 }
4233 }
4234 },
4235 "leaf" : 1,
4236 "path" : "/cluster/acme/account/{name}",
4237 "text" : "{name}"
4238 }
4239 ],
4240 "info" : {
4241 "GET" : {
4242 "description" : "ACMEAccount index.",
4243 "method" : "GET",
4244 "name" : "account_index",
4245 "parameters" : {
4246 "additionalProperties" : 0
4247 },
4248 "permissions" : {
4249 "user" : "all"
4250 },
4251 "protected" : 1,
4252 "returns" : {
4253 "items" : {
4254 "properties" : {},
4255 "type" : "object"
4256 },
4257 "links" : [
4258 {
4259 "href" : "{name}",
4260 "rel" : "child"
4261 }
4262 ],
4263 "type" : "array"
4264 }
4265 },
4266 "POST" : {
4267 "description" : "Register a new ACME account with CA.",
4268 "method" : "POST",
4269 "name" : "register_account",
4270 "parameters" : {
4271 "additionalProperties" : 0,
4272 "properties" : {
4273 "contact" : {
4274 "description" : "Contact email addresses.",
4275 "format" : "email-list",
4276 "type" : "string",
4277 "typetext" : "<string>"
4278 },
4279 "directory" : {
4280 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4281 "description" : "URL of ACME CA directory endpoint.",
4282 "optional" : 1,
4283 "pattern" : "^https?://.*",
4284 "type" : "string"
4285 },
4286 "name" : {
4287 "default" : "default",
4288 "description" : "ACME account config file name.",
4289 "format" : "pve-configid",
4290 "format_description" : "name",
4291 "optional" : 1,
4292 "type" : "string",
4293 "typetext" : "<name>"
4294 },
4295 "tos_url" : {
4296 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
4297 "optional" : 1,
4298 "type" : "string",
4299 "typetext" : "<string>"
4300 }
4301 }
4302 },
4303 "protected" : 1,
4304 "returns" : {
4305 "type" : "string"
4306 }
4307 }
4308 },
4309 "leaf" : 0,
4310 "path" : "/cluster/acme/account",
4311 "text" : "account"
4312 },
4313 {
4314 "info" : {
4315 "GET" : {
4316 "description" : "Retrieve ACME TermsOfService URL from CA.",
4317 "method" : "GET",
4318 "name" : "get_tos",
4319 "parameters" : {
4320 "additionalProperties" : 0,
4321 "properties" : {
4322 "directory" : {
4323 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4324 "description" : "URL of ACME CA directory endpoint.",
4325 "optional" : 1,
4326 "pattern" : "^https?://.*",
4327 "type" : "string"
4328 }
4329 }
4330 },
5da3d723
TL
4331 "permissions" : {
4332 "user" : "all"
4333 },
a9a8e3d1
DM
4334 "returns" : {
4335 "description" : "ACME TermsOfService URL.",
4336 "type" : "string"
4337 }
4338 }
4339 },
4340 "leaf" : 1,
4341 "path" : "/cluster/acme/tos",
4342 "text" : "tos"
4343 },
4344 {
4345 "info" : {
4346 "GET" : {
4347 "description" : "Get named known ACME directory endpoints.",
4348 "method" : "GET",
4349 "name" : "get_directories",
4350 "parameters" : {
4351 "additionalProperties" : 0
4352 },
5da3d723
TL
4353 "permissions" : {
4354 "user" : "all"
4355 },
a9a8e3d1
DM
4356 "returns" : {
4357 "items" : {
4358 "additionalProperties" : 0,
4359 "properties" : {
4360 "name" : {
4361 "type" : "string"
4362 },
4363 "url" : {
4364 "description" : "URL of ACME CA directory endpoint.",
4365 "pattern" : "^https?://.*",
4366 "type" : "string"
4367 }
4368 },
4369 "type" : "object"
4370 },
4371 "type" : "array"
4372 }
4373 }
4374 },
4375 "leaf" : 1,
4376 "path" : "/cluster/acme/directories",
4377 "text" : "directories"
4378 }
4379 ],
4380 "info" : {
4381 "GET" : {
4382 "description" : "ACMEAccount index.",
4383 "method" : "GET",
4384 "name" : "index",
4385 "parameters" : {
4386 "additionalProperties" : 0
4387 },
4388 "permissions" : {
4389 "user" : "all"
4390 },
4391 "returns" : {
4392 "items" : {
4393 "properties" : {},
4394 "type" : "object"
4395 },
4396 "links" : [
4397 {
4398 "href" : "{name}",
4399 "rel" : "child"
4400 }
4401 ],
4402 "type" : "array"
4403 }
4404 }
4405 },
4406 "leaf" : 0,
4407 "path" : "/cluster/acme",
4408 "text" : "acme"
4409 },
7aacca6f 4410 {
7aacca6f
DM
4411 "info" : {
4412 "GET" : {
4413 "description" : "Read cluster log",
44660702
DM
4414 "method" : "GET",
4415 "name" : "log",
56122987 4416 "parameters" : {
7aacca6f 4417 "additionalProperties" : 0,
56122987
DM
4418 "properties" : {
4419 "max" : {
7aacca6f 4420 "description" : "Maximum number of entries.",
44660702
DM
4421 "minimum" : 1,
4422 "optional" : 1,
4bd7df8b 4423 "type" : "integer",
013dc89f 4424 "typetext" : "<integer> (1 - N)"
56122987 4425 }
7aacca6f 4426 }
56122987 4427 },
44660702
DM
4428 "permissions" : {
4429 "user" : "all"
4430 },
7aacca6f 4431 "returns" : {
7aacca6f 4432 "items" : {
44660702
DM
4433 "properties" : {},
4434 "type" : "object"
4435 },
4436 "type" : "array"
7aacca6f 4437 }
56122987 4438 }
44660702
DM
4439 },
4440 "leaf" : 1,
4441 "path" : "/cluster/log",
4442 "text" : "log"
56122987
DM
4443 },
4444 {
56122987
DM
4445 "info" : {
4446 "GET" : {
44660702 4447 "description" : "Resources index (cluster wide).",
7aacca6f 4448 "method" : "GET",
7aacca6f 4449 "name" : "resources",
56122987
DM
4450 "parameters" : {
4451 "additionalProperties" : 0,
4452 "properties" : {
4453 "type" : {
4454 "enum" : [
4455 "vm",
4456 "storage",
4457 "node"
44660702
DM
4458 ],
4459 "optional" : 1,
4460 "type" : "string"
56122987
DM
4461 }
4462 }
4463 },
44660702
DM
4464 "permissions" : {
4465 "user" : "all"
4466 },
4467 "returns" : {
4468 "items" : {
4d47f125
TL
4469 "properties" : {
4470 "cpu" : {
4471 "description" : "CPU utilization (when type in node,qemu,lxc).",
4472 "optional" : 1,
4473 "renderer" : "fraction_as_percentage",
4474 "type" : "number"
4475 },
4476 "disk" : {
4477 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
4478 "optional" : 1,
4479 "renderer" : "bytes",
4480 "type" : "string"
4481 },
4482 "hastate" : {
4483 "description" : "HA service status (for HA managed VMs).",
4484 "optional" : 1,
4485 "type" : "string"
4486 },
4487 "id" : {
4488 "type" : "string"
4489 },
4490 "level" : {
4491 "description" : "Support level (when type == node).",
4492 "optional" : 1,
4493 "type" : "string"
4494 },
4495 "maxcpu" : {
4496 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
4497 "optional" : 1,
4498 "type" : "number"
4499 },
4500 "maxdisk" : {
4501 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
4502 "optional" : 1,
4503 "renderer" : "bytes",
4504 "type" : "integer"
4505 },
4506 "maxmem" : {
4507 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
4508 "optional" : 1,
4509 "renderer" : "bytes",
4510 "type" : "integer"
4511 },
4512 "mem" : {
4513 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
4514 "optional" : 1,
4515 "renderer" : "bytes",
4516 "type" : "string"
4517 },
4518 "node" : {
4519 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
4520 "format" : "pve-node",
4521 "optional" : 1,
4522 "type" : "string"
4523 },
4524 "pool" : {
4525 "description" : "The pool name (when type in pool,qemu,lxc).",
4526 "optional" : 1,
4527 "type" : "string"
4528 },
4529 "status" : {
4530 "description" : "Resource type dependent status.",
4531 "optional" : 1,
4532 "type" : "string"
4533 },
4534 "storage" : {
4535 "description" : "The storage identifier (when type == storage).",
4536 "format" : "pve-storage-id",
4537 "optional" : 1,
4538 "type" : "string"
4539 },
4540 "type" : {
4541 "description" : "Resource type.",
4542 "enum" : [
4543 "node",
4544 "storage",
4545 "pool",
4546 "qemu",
4547 "lxc",
4548 "openvz"
4549 ],
4550 "type" : "string"
4551 },
4552 "uptime" : {
4553 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
4554 "optional" : 1,
4555 "renderer" : "duration",
4556 "type" : "integer"
4557 }
4558 },
44660702
DM
4559 "type" : "object"
4560 },
4561 "type" : "array"
4562 }
56122987
DM
4563 }
4564 },
7aacca6f 4565 "leaf" : 1,
44660702
DM
4566 "path" : "/cluster/resources",
4567 "text" : "resources"
56122987
DM
4568 },
4569 {
56122987
DM
4570 "info" : {
4571 "GET" : {
7aacca6f 4572 "description" : "List recent tasks (cluster wide).",
44660702 4573 "method" : "GET",
7aacca6f 4574 "name" : "tasks",
56122987
DM
4575 "parameters" : {
4576 "additionalProperties" : 0
4577 },
44660702
DM
4578 "permissions" : {
4579 "user" : "all"
4580 },
56122987
DM
4581 "returns" : {
4582 "items" : {
4583 "properties" : {
4584 "upid" : {
4585 "type" : "string"
4586 }
44660702
DM
4587 },
4588 "type" : "object"
4589 },
4590 "type" : "array"
7aacca6f 4591 }
56122987
DM
4592 }
4593 },
7aacca6f 4594 "leaf" : 1,
44660702
DM
4595 "path" : "/cluster/tasks",
4596 "text" : "tasks"
56122987
DM
4597 },
4598 {
56122987 4599 "info" : {
7aacca6f 4600 "GET" : {
44660702
DM
4601 "description" : "Get datacenter options.",
4602 "method" : "GET",
4603 "name" : "get_options",
56122987 4604 "parameters" : {
7aacca6f
DM
4605 "additionalProperties" : 0
4606 },
4607 "permissions" : {
4608 "check" : [
4609 "perm",
4610 "/",
4611 [
4612 "Sys.Audit"
4613 ]
4614 ]
4615 },
7aacca6f 4616 "returns" : {
44660702 4617 "type" : "object"
7aacca6f
DM
4618 }
4619 },
4620 "PUT" : {
44660702
DM
4621 "description" : "Set datacenter options.",
4622 "method" : "PUT",
7aacca6f
DM
4623 "name" : "set_options",
4624 "parameters" : {
4625 "additionalProperties" : 0,
4626 "properties" : {
27a7acb2
DM
4627 "bwlimit" : {
4628 "description" : "Set bandwidth/io limits various operations.",
4629 "format" : {
4630 "clone" : {
95895385 4631 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
4632 "format_description" : "LIMIT",
4633 "minimum" : "0",
4634 "optional" : 1,
4635 "type" : "number"
4636 },
4637 "default" : {
95895385 4638 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
4639 "format_description" : "LIMIT",
4640 "minimum" : "0",
4641 "optional" : 1,
4642 "type" : "number"
4643 },
4644 "migration" : {
95895385 4645 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
4646 "format_description" : "LIMIT",
4647 "minimum" : "0",
4648 "optional" : 1,
4649 "type" : "number"
4650 },
4651 "move" : {
95895385 4652 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
4653 "format_description" : "LIMIT",
4654 "minimum" : "0",
4655 "optional" : 1,
4656 "type" : "number"
4657 },
4658 "restore" : {
95895385 4659 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
4660 "format_description" : "LIMIT",
4661 "minimum" : "0",
4662 "optional" : 1,
4663 "type" : "number"
4664 }
4665 },
4666 "optional" : 1,
4667 "type" : "string",
4668 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
4669 },
56122987 4670 "console" : {
a9a8e3d1 4671 "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
4672 "enum" : [
4673 "applet",
4674 "vv",
a9a8e3d1
DM
4675 "html5",
4676 "xtermjs"
44660702
DM
4677 ],
4678 "optional" : 1,
4679 "type" : "string"
56122987 4680 },
7aacca6f 4681 "delete" : {
7aacca6f 4682 "description" : "A list of settings you want to delete.",
44660702 4683 "format" : "pve-configid-list",
7aacca6f 4684 "optional" : 1,
013dc89f
DM
4685 "type" : "string",
4686 "typetext" : "<string>"
7aacca6f 4687 },
44660702
DM
4688 "email_from" : {
4689 "description" : "Specify email address to send notification from (default is root@$hostname)",
4690 "format" : "email-opt",
7aacca6f 4691 "optional" : 1,
013dc89f
DM
4692 "type" : "string",
4693 "typetext" : "<string>"
44660702
DM
4694 },
4695 "fencing" : {
4696 "default" : "watchdog",
4697 "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 4698 "enum" : [
44660702
DM
4699 "watchdog",
4700 "hardware",
4701 "both"
7aacca6f 4702 ],
44660702
DM
4703 "optional" : 1,
4704 "type" : "string"
4705 },
5f26e15b
TL
4706 "ha" : {
4707 "description" : "Cluster wide HA settings.",
4708 "format" : {
4709 "shutdown_policy" : {
4710 "default" : "conditional",
4711 "description" : "The policy for HA services on node shutdown. 'freeze' disables auto-recovery, 'failover' ensures recovery, 'conditional' recovers on poweroff and freezes on reboot. Running HA Services will always get stopped first on shutdown.",
4712 "enum" : [
4713 "freeze",
4714 "failover",
4715 "conditional"
4716 ],
4717 "type" : "string",
4718 "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."
4719 }
4720 },
4721 "optional" : 1,
4722 "type" : "string",
4723 "typetext" : "shutdown_policy=<freeze|failover|conditional>"
4724 },
44660702
DM
4725 "http_proxy" : {
4726 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
4727 "optional" : 1,
4728 "pattern" : "http://.*",
4729 "type" : "string"
7aacca6f 4730 },
56122987 4731 "keyboard" : {
44660702 4732 "description" : "Default keybord layout for vnc server.",
56122987 4733 "enum" : [
44660702
DM
4734 "de",
4735 "de-ch",
7aacca6f 4736 "da",
56122987 4737 "en-gb",
44660702
DM
4738 "en-us",
4739 "es",
4740 "fi",
4741 "fr",
4742 "fr-be",
4743 "fr-ca",
4744 "fr-ch",
4745 "hu",
7aacca6f 4746 "is",
44660702
DM
4747 "it",
4748 "ja",
4749 "lt",
56122987 4750 "mk",
7aacca6f 4751 "nl",
56122987 4752 "no",
44660702 4753 "pl",
7aacca6f 4754 "pt",
44660702
DM
4755 "pt-br",
4756 "sv",
4757 "sl",
4758 "tr"
56122987 4759 ],
56122987
DM
4760 "optional" : 1,
4761 "type" : "string"
4762 },
44660702
DM
4763 "language" : {
4764 "description" : "Default GUI language.",
4765 "enum" : [
4d47f125
TL
4766 "zh_CN",
4767 "zh_TW",
4768 "ca",
44660702 4769 "en",
4d47f125
TL
4770 "eu",
4771 "fr",
4772 "de",
4773 "it",
4774 "es",
4775 "ja",
4776 "nb",
4777 "nn",
4778 "fa",
4779 "pl",
4780 "pt_BR",
4781 "ru",
4782 "sl",
4783 "sv",
4784 "tr"
44660702 4785 ],
56122987 4786 "optional" : 1,
44660702 4787 "type" : "string"
56122987 4788 },
4bd7df8b
DM
4789 "mac_prefix" : {
4790 "description" : "Prefix for autogenerated MAC addresses.",
95895385 4791 "format" : "mac-prefix",
4bd7df8b 4792 "optional" : 1,
95895385
TL
4793 "type" : "string",
4794 "typetext" : "<string>"
4bd7df8b 4795 },
44660702
DM
4796 "max_workers" : {
4797 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
4798 "minimum" : 1,
56122987 4799 "optional" : 1,
4bd7df8b 4800 "type" : "integer",
013dc89f 4801 "typetext" : "<integer> (1 - N)"
56122987 4802 },
de0983cb
DM
4803 "migration" : {
4804 "description" : "For cluster wide migration settings.",
4805 "format" : {
4806 "network" : {
4807 "description" : "CIDR of the (sub) network that is used for migration.",
4808 "format" : "CIDR",
4809 "format_description" : "CIDR",
4810 "optional" : 1,
4811 "type" : "string"
4812 },
4813 "type" : {
4814 "default" : "secure",
4815 "default_key" : 1,
4816 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
4817 "enum" : [
4818 "secure",
4819 "insecure"
4820 ],
4821 "type" : "string"
4822 }
4823 },
4824 "optional" : 1,
4825 "type" : "string",
4826 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
4827 },
7aacca6f 4828 "migration_unsecure" : {
de0983cb 4829 "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 4830 "optional" : 1,
013dc89f
DM
4831 "type" : "boolean",
4832 "typetext" : "<boolean>"
95895385
TL
4833 },
4834 "u2f" : {
4835 "description" : "u2f",
4836 "format" : {
4837 "appid" : {
4838 "description" : "U2F AppId URL override. Defaults to the origin.",
4839 "format_description" : "APPID",
4840 "optional" : 1,
4841 "type" : "string"
4842 },
4843 "origin" : {
4844 "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.",
4845 "format_description" : "URL",
4846 "optional" : 1,
4847 "type" : "string"
4848 }
4849 },
4850 "optional" : 1,
4851 "type" : "string",
4852 "typetext" : "[appid=<APPID>] [,origin=<URL>]"
56122987
DM
4853 }
4854 }
4855 },
44660702
DM
4856 "permissions" : {
4857 "check" : [
4858 "perm",
4859 "/",
4860 [
4861 "Sys.Modify"
4862 ]
4863 ]
4864 },
56122987 4865 "protected" : 1,
7aacca6f
DM
4866 "returns" : {
4867 "type" : "null"
44660702 4868 }
7aacca6f
DM
4869 }
4870 },
44660702
DM
4871 "leaf" : 1,
4872 "path" : "/cluster/options",
7aacca6f
DM
4873 "text" : "options"
4874 },
4875 {
7aacca6f 4876 "info" : {
56122987 4877 "GET" : {
44660702
DM
4878 "description" : "Get cluster status informations.",
4879 "method" : "GET",
4880 "name" : "get_status",
56122987
DM
4881 "parameters" : {
4882 "additionalProperties" : 0
4883 },
56122987
DM
4884 "permissions" : {
4885 "check" : [
4886 "perm",
4887 "/",
4888 [
4889 "Sys.Audit"
4890 ]
4891 ]
4892 },
7aacca6f 4893 "protected" : 1,
56122987 4894 "returns" : {
56122987 4895 "items" : {
56122987
DM
4896 "properties" : {
4897 "type" : {
4898 "type" : "string"
4899 }
44660702
DM
4900 },
4901 "type" : "object"
7aacca6f
DM
4902 },
4903 "type" : "array"
56122987
DM
4904 }
4905 }
4906 },
44660702 4907 "leaf" : 1,
7aacca6f 4908 "path" : "/cluster/status",
44660702 4909 "text" : "status"
56122987
DM
4910 },
4911 {
56122987
DM
4912 "info" : {
4913 "GET" : {
56122987 4914 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
4915 "method" : "GET",
4916 "name" : "nextid",
56122987 4917 "parameters" : {
44660702 4918 "additionalProperties" : 0,
56122987
DM
4919 "properties" : {
4920 "vmid" : {
44660702 4921 "description" : "The (unique) ID of the VM.",
56122987 4922 "format" : "pve-vmid",
7aacca6f 4923 "minimum" : 1,
7aacca6f 4924 "optional" : 1,
4bd7df8b 4925 "type" : "integer",
013dc89f 4926 "typetext" : "<integer> (1 - N)"
56122987 4927 }
44660702 4928 }
56122987 4929 },
7aacca6f
DM
4930 "permissions" : {
4931 "user" : "all"
44660702
DM
4932 },
4933 "returns" : {
4934 "description" : "The next free VMID.",
4935 "type" : "integer"
7aacca6f 4936 }
56122987
DM
4937 }
4938 },
7aacca6f 4939 "leaf" : 1,
44660702
DM
4940 "path" : "/cluster/nextid",
4941 "text" : "nextid"
56122987
DM
4942 }
4943 ],
44660702
DM
4944 "info" : {
4945 "GET" : {
4946 "description" : "Cluster index.",
4947 "method" : "GET",
4948 "name" : "index",
4949 "parameters" : {
4950 "additionalProperties" : 0
4951 },
4952 "permissions" : {
4953 "user" : "all"
4954 },
4955 "returns" : {
4956 "items" : {
4957 "properties" : {},
4958 "type" : "object"
4959 },
4960 "links" : [
4961 {
4962 "href" : "{name}",
4963 "rel" : "child"
4964 }
4965 ],
4966 "type" : "array"
4967 }
4968 }
4969 },
4970 "leaf" : 0,
4971 "path" : "/cluster",
7aacca6f 4972 "text" : "cluster"
56122987
DM
4973 },
4974 {
56122987
DM
4975 "children" : [
4976 {
7aacca6f
DM
4977 "children" : [
4978 {
4979 "children" : [
4980 {
56122987
DM
4981 "children" : [
4982 {
56122987
DM
4983 "children" : [
4984 {
4985 "children" : [
4986 {
56122987
DM
4987 "info" : {
4988 "DELETE" : {
44660702 4989 "description" : "Delete rule.",
7aacca6f 4990 "method" : "DELETE",
44660702 4991 "name" : "delete_rule",
56122987 4992 "parameters" : {
44660702 4993 "additionalProperties" : 0,
56122987 4994 "properties" : {
44660702
DM
4995 "digest" : {
4996 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4997 "maxLength" : 40,
4998 "optional" : 1,
013dc89f
DM
4999 "type" : "string",
5000 "typetext" : "<string>"
44660702 5001 },
56122987 5002 "node" : {
7aacca6f 5003 "description" : "The cluster node name.",
44660702 5004 "format" : "pve-node",
013dc89f
DM
5005 "type" : "string",
5006 "typetext" : "<string>"
7aacca6f 5007 },
56122987 5008 "pos" : {
7aacca6f 5009 "description" : "Update rule at position <pos>.",
44660702 5010 "minimum" : 0,
56122987 5011 "optional" : 1,
4bd7df8b 5012 "type" : "integer",
013dc89f 5013 "typetext" : "<integer> (0 - N)"
44660702
DM
5014 },
5015 "vmid" : {
5016 "description" : "The (unique) ID of the VM.",
5017 "format" : "pve-vmid",
5018 "minimum" : 1,
4bd7df8b 5019 "type" : "integer",
013dc89f 5020 "typetext" : "<integer> (1 - N)"
56122987 5021 }
44660702 5022 }
7aacca6f 5023 },
56122987
DM
5024 "permissions" : {
5025 "check" : [
5026 "perm",
5027 "/vms/{vmid}",
5028 [
5029 "VM.Config.Network"
5030 ]
5031 ]
5032 },
44660702
DM
5033 "protected" : 1,
5034 "proxyto" : null,
56122987
DM
5035 "returns" : {
5036 "type" : "null"
44660702
DM
5037 }
5038 },
5039 "GET" : {
5040 "description" : "Get single rule data.",
5041 "method" : "GET",
5042 "name" : "get_rule",
5043 "parameters" : {
5044 "additionalProperties" : 0,
5045 "properties" : {
5046 "node" : {
5047 "description" : "The cluster node name.",
5048 "format" : "pve-node",
013dc89f
DM
5049 "type" : "string",
5050 "typetext" : "<string>"
44660702
DM
5051 },
5052 "pos" : {
5053 "description" : "Update rule at position <pos>.",
5054 "minimum" : 0,
5055 "optional" : 1,
4bd7df8b 5056 "type" : "integer",
013dc89f 5057 "typetext" : "<integer> (0 - N)"
44660702
DM
5058 },
5059 "vmid" : {
5060 "description" : "The (unique) ID of the VM.",
5061 "format" : "pve-vmid",
5062 "minimum" : 1,
4bd7df8b 5063 "type" : "integer",
013dc89f 5064 "typetext" : "<integer> (1 - N)"
44660702
DM
5065 }
5066 }
56122987 5067 },
56122987
DM
5068 "permissions" : {
5069 "check" : [
5070 "perm",
5071 "/vms/{vmid}",
5072 [
44660702 5073 "VM.Audit"
56122987
DM
5074 ]
5075 ]
5076 },
56122987 5077 "proxyto" : null,
44660702
DM
5078 "returns" : {
5079 "properties" : {
e2d681b3
TL
5080 "action" : {
5081 "type" : "string"
5082 },
5083 "comment" : {
5084 "optional" : 1,
5085 "type" : "string"
5086 },
5087 "dest" : {
5088 "optional" : 1,
5089 "type" : "string"
5090 },
5091 "dport" : {
5092 "optional" : 1,
5093 "type" : "string"
5094 },
5095 "enable" : {
5096 "optional" : 1,
5097 "type" : "integer"
5098 },
5099 "iface" : {
5100 "optional" : 1,
5101 "type" : "string"
5102 },
5103 "ipversion" : {
5104 "optional" : 1,
5105 "type" : "integer"
5106 },
95895385
TL
5107 "log" : {
5108 "description" : "Log level for firewall rule",
5109 "enum" : [
5110 "emerg",
5111 "alert",
5112 "crit",
5113 "err",
5114 "warning",
5115 "notice",
5116 "info",
5117 "debug",
5118 "nolog"
5119 ],
5120 "optional" : 1,
5121 "type" : "string"
5122 },
e2d681b3
TL
5123 "macro" : {
5124 "optional" : 1,
5f26e15b 5125 "type" : "string"
e2d681b3 5126 },
44660702
DM
5127 "pos" : {
5128 "type" : "integer"
e2d681b3
TL
5129 },
5130 "proto" : {
5131 "optional" : 1,
5132 "type" : "string"
5133 },
5134 "source" : {
5135 "optional" : 1,
5136 "type" : "string"
5137 },
5138 "sport" : {
5139 "optional" : 1,
5140 "type" : "string"
5141 },
5142 "type" : {
5143 "type" : "string"
44660702
DM
5144 }
5145 },
5146 "type" : "object"
5147 }
5148 },
5149 "PUT" : {
7aacca6f
DM
5150 "description" : "Modify rule data.",
5151 "method" : "PUT",
44660702 5152 "name" : "update_rule",
56122987 5153 "parameters" : {
44660702 5154 "additionalProperties" : 0,
56122987 5155 "properties" : {
44660702
DM
5156 "action" : {
5157 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
5158 "maxLength" : 20,
5159 "minLength" : 2,
56122987 5160 "optional" : 1,
44660702 5161 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
5162 "type" : "string"
5163 },
7aacca6f 5164 "comment" : {
e94f0d56 5165 "description" : "Descriptive comment.",
7aacca6f 5166 "optional" : 1,
013dc89f
DM
5167 "type" : "string",
5168 "typetext" : "<string>"
7aacca6f
DM
5169 },
5170 "delete" : {
7aacca6f 5171 "description" : "A list of settings you want to delete.",
44660702
DM
5172 "format" : "pve-configid-list",
5173 "optional" : 1,
013dc89f
DM
5174 "type" : "string",
5175 "typetext" : "<string>"
7aacca6f
DM
5176 },
5177 "dest" : {
44660702 5178 "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 5179 "format" : "pve-fw-addr-spec",
56122987 5180 "optional" : 1,
013dc89f
DM
5181 "type" : "string",
5182 "typetext" : "<string>"
56122987 5183 },
7aacca6f 5184 "digest" : {
44660702 5185 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 5186 "maxLength" : 40,
56122987 5187 "optional" : 1,
013dc89f
DM
5188 "type" : "string",
5189 "typetext" : "<string>"
44660702
DM
5190 },
5191 "dport" : {
5192 "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.",
5193 "format" : "pve-fw-dport-spec",
5194 "optional" : 1,
013dc89f
DM
5195 "type" : "string",
5196 "typetext" : "<string>"
56122987 5197 },
7aacca6f 5198 "enable" : {
e94f0d56 5199 "description" : "Flag to enable/disable a rule.",
44660702 5200 "minimum" : 0,
56122987 5201 "optional" : 1,
4bd7df8b 5202 "type" : "integer",
013dc89f 5203 "typetext" : "<integer> (0 - N)"
7aacca6f 5204 },
44660702
DM
5205 "iface" : {
5206 "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.",
5207 "format" : "pve-iface",
5208 "maxLength" : 20,
7aacca6f 5209 "minLength" : 2,
56122987 5210 "optional" : 1,
013dc89f
DM
5211 "type" : "string",
5212 "typetext" : "<string>"
56122987 5213 },
95895385
TL
5214 "log" : {
5215 "description" : "Log level for firewall rule.",
5216 "enum" : [
5217 "emerg",
5218 "alert",
5219 "crit",
5220 "err",
5221 "warning",
5222 "notice",
5223 "info",
5224 "debug",
5225 "nolog"
5226 ],
5227 "optional" : 1,
5228 "type" : "string"
5229 },
44660702 5230 "macro" : {
e94f0d56 5231 "description" : "Use predefined standard macro.",
44660702 5232 "maxLength" : 128,
56122987 5233 "optional" : 1,
013dc89f
DM
5234 "type" : "string",
5235 "typetext" : "<string>"
56122987 5236 },
44660702
DM
5237 "moveto" : {
5238 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
5239 "minimum" : 0,
56122987 5240 "optional" : 1,
4bd7df8b 5241 "type" : "integer",
013dc89f 5242 "typetext" : "<integer> (0 - N)"
56122987 5243 },
44660702
DM
5244 "node" : {
5245 "description" : "The cluster node name.",
5246 "format" : "pve-node",
013dc89f
DM
5247 "type" : "string",
5248 "typetext" : "<string>"
44660702
DM
5249 },
5250 "pos" : {
5251 "description" : "Update rule at position <pos>.",
5252 "minimum" : 0,
5253 "optional" : 1,
4bd7df8b 5254 "type" : "integer",
013dc89f 5255 "typetext" : "<integer> (0 - N)"
56122987 5256 },
44660702
DM
5257 "proto" : {
5258 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5259 "format" : "pve-fw-protocol-spec",
5260 "optional" : 1,
013dc89f
DM
5261 "type" : "string",
5262 "typetext" : "<string>"
7aacca6f 5263 },
44660702
DM
5264 "source" : {
5265 "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.",
5266 "format" : "pve-fw-addr-spec",
56122987 5267 "optional" : 1,
013dc89f
DM
5268 "type" : "string",
5269 "typetext" : "<string>"
56122987
DM
5270 },
5271 "sport" : {
5272 "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
5273 "format" : "pve-fw-sport-spec",
5274 "optional" : 1,
013dc89f
DM
5275 "type" : "string",
5276 "typetext" : "<string>"
44660702
DM
5277 },
5278 "type" : {
e94f0d56 5279 "description" : "Rule type.",
44660702
DM
5280 "enum" : [
5281 "in",
5282 "out",
5283 "group"
5284 ],
56122987 5285 "optional" : 1,
56122987 5286 "type" : "string"
44660702
DM
5287 },
5288 "vmid" : {
5289 "description" : "The (unique) ID of the VM.",
5290 "format" : "pve-vmid",
5291 "minimum" : 1,
4bd7df8b 5292 "type" : "integer",
013dc89f 5293 "typetext" : "<integer> (1 - N)"
56122987 5294 }
44660702 5295 }
56122987 5296 },
56122987
DM
5297 "permissions" : {
5298 "check" : [
5299 "perm",
5300 "/vms/{vmid}",
5301 [
44660702 5302 "VM.Config.Network"
56122987
DM
5303 ]
5304 ]
7aacca6f 5305 },
44660702 5306 "protected" : 1,
7aacca6f 5307 "proxyto" : null,
7aacca6f 5308 "returns" : {
44660702
DM
5309 "type" : "null"
5310 }
56122987 5311 }
7aacca6f 5312 },
44660702 5313 "leaf" : 1,
7aacca6f 5314 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 5315 "text" : "{pos}"
56122987
DM
5316 }
5317 ],
56122987 5318 "info" : {
44660702
DM
5319 "GET" : {
5320 "description" : "List rules.",
5321 "method" : "GET",
5322 "name" : "get_rules",
5323 "parameters" : {
5324 "additionalProperties" : 0,
5325 "properties" : {
5326 "node" : {
5327 "description" : "The cluster node name.",
5328 "format" : "pve-node",
013dc89f
DM
5329 "type" : "string",
5330 "typetext" : "<string>"
44660702
DM
5331 },
5332 "vmid" : {
5333 "description" : "The (unique) ID of the VM.",
5334 "format" : "pve-vmid",
5335 "minimum" : 1,
4bd7df8b 5336 "type" : "integer",
013dc89f 5337 "typetext" : "<integer> (1 - N)"
44660702
DM
5338 }
5339 }
56122987 5340 },
56122987
DM
5341 "permissions" : {
5342 "check" : [
5343 "perm",
5344 "/vms/{vmid}",
5345 [
44660702 5346 "VM.Audit"
56122987
DM
5347 ]
5348 ]
7aacca6f 5349 },
44660702
DM
5350 "proxyto" : null,
5351 "returns" : {
5352 "items" : {
5353 "properties" : {
5354 "pos" : {
5355 "type" : "integer"
5356 }
5357 },
5358 "type" : "object"
5359 },
5360 "links" : [
5361 {
5362 "href" : "{pos}",
5363 "rel" : "child"
5364 }
5365 ],
5366 "type" : "array"
5367 }
5368 },
5369 "POST" : {
5370 "description" : "Create new rule.",
7aacca6f 5371 "method" : "POST",
44660702 5372 "name" : "create_rule",
56122987 5373 "parameters" : {
44660702 5374 "additionalProperties" : 0,
56122987 5375 "properties" : {
44660702
DM
5376 "action" : {
5377 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
5378 "maxLength" : 20,
5379 "minLength" : 2,
5380 "optional" : 0,
5381 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5382 "type" : "string"
56122987 5383 },
44660702 5384 "comment" : {
e94f0d56 5385 "description" : "Descriptive comment.",
56122987 5386 "optional" : 1,
013dc89f
DM
5387 "type" : "string",
5388 "typetext" : "<string>"
56122987 5389 },
44660702
DM
5390 "dest" : {
5391 "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.",
5392 "format" : "pve-fw-addr-spec",
5393 "optional" : 1,
013dc89f
DM
5394 "type" : "string",
5395 "typetext" : "<string>"
56122987 5396 },
44660702
DM
5397 "digest" : {
5398 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5399 "maxLength" : 40,
56122987 5400 "optional" : 1,
013dc89f
DM
5401 "type" : "string",
5402 "typetext" : "<string>"
56122987 5403 },
7aacca6f
DM
5404 "dport" : {
5405 "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 5406 "format" : "pve-fw-dport-spec",
7aacca6f 5407 "optional" : 1,
013dc89f
DM
5408 "type" : "string",
5409 "typetext" : "<string>"
56122987
DM
5410 },
5411 "enable" : {
e94f0d56 5412 "description" : "Flag to enable/disable a rule.",
56122987 5413 "minimum" : 0,
44660702 5414 "optional" : 1,
4bd7df8b 5415 "type" : "integer",
013dc89f 5416 "typetext" : "<integer> (0 - N)"
56122987 5417 },
44660702
DM
5418 "iface" : {
5419 "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.",
5420 "format" : "pve-iface",
5421 "maxLength" : 20,
7aacca6f 5422 "minLength" : 2,
44660702 5423 "optional" : 1,
013dc89f
DM
5424 "type" : "string",
5425 "typetext" : "<string>"
56122987 5426 },
95895385
TL
5427 "log" : {
5428 "description" : "Log level for firewall rule.",
5429 "enum" : [
5430 "emerg",
5431 "alert",
5432 "crit",
5433 "err",
5434 "warning",
5435 "notice",
5436 "info",
5437 "debug",
5438 "nolog"
5439 ],
5440 "optional" : 1,
5441 "type" : "string"
5442 },
44660702 5443 "macro" : {
e94f0d56 5444 "description" : "Use predefined standard macro.",
44660702 5445 "maxLength" : 128,
56122987 5446 "optional" : 1,
013dc89f
DM
5447 "type" : "string",
5448 "typetext" : "<string>"
7aacca6f 5449 },
44660702
DM
5450 "node" : {
5451 "description" : "The cluster node name.",
5452 "format" : "pve-node",
013dc89f
DM
5453 "type" : "string",
5454 "typetext" : "<string>"
44660702
DM
5455 },
5456 "pos" : {
5457 "description" : "Update rule at position <pos>.",
5458 "minimum" : 0,
5459 "optional" : 1,
4bd7df8b 5460 "type" : "integer",
013dc89f 5461 "typetext" : "<integer> (0 - N)"
44660702
DM
5462 },
5463 "proto" : {
5464 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5465 "format" : "pve-fw-protocol-spec",
7aacca6f 5466 "optional" : 1,
013dc89f
DM
5467 "type" : "string",
5468 "typetext" : "<string>"
7aacca6f
DM
5469 },
5470 "source" : {
5471 "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 5472 "format" : "pve-fw-addr-spec",
7aacca6f 5473 "optional" : 1,
013dc89f
DM
5474 "type" : "string",
5475 "typetext" : "<string>"
7aacca6f 5476 },
44660702
DM
5477 "sport" : {
5478 "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.",
5479 "format" : "pve-fw-sport-spec",
7aacca6f 5480 "optional" : 1,
013dc89f
DM
5481 "type" : "string",
5482 "typetext" : "<string>"
7aacca6f 5483 },
44660702 5484 "type" : {
e94f0d56 5485 "description" : "Rule type.",
44660702
DM
5486 "enum" : [
5487 "in",
5488 "out",
5489 "group"
5490 ],
5491 "optional" : 0,
5492 "type" : "string"
7aacca6f 5493 },
7aacca6f 5494 "vmid" : {
44660702 5495 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
5496 "format" : "pve-vmid",
5497 "minimum" : 1,
4bd7df8b 5498 "type" : "integer",
013dc89f 5499 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5500 }
5501 }
5502 },
56122987
DM
5503 "permissions" : {
5504 "check" : [
5505 "perm",
5506 "/vms/{vmid}",
5507 [
44660702 5508 "VM.Config.Network"
56122987
DM
5509 ]
5510 ]
5511 },
44660702
DM
5512 "protected" : 1,
5513 "proxyto" : null,
56122987 5514 "returns" : {
44660702
DM
5515 "type" : "null"
5516 }
56122987
DM
5517 }
5518 },
44660702 5519 "leaf" : 0,
7aacca6f 5520 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 5521 "text" : "rules"
56122987
DM
5522 },
5523 {
5524 "children" : [
5525 {
56122987 5526 "info" : {
44660702
DM
5527 "DELETE" : {
5528 "description" : "Remove IP or Network alias.",
5529 "method" : "DELETE",
5530 "name" : "remove_alias",
56122987 5531 "parameters" : {
44660702 5532 "additionalProperties" : 0,
56122987 5533 "properties" : {
44660702
DM
5534 "digest" : {
5535 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5536 "maxLength" : 40,
5537 "optional" : 1,
013dc89f
DM
5538 "type" : "string",
5539 "typetext" : "<string>"
56122987
DM
5540 },
5541 "name" : {
56122987 5542 "description" : "Alias name.",
44660702 5543 "maxLength" : 64,
7aacca6f 5544 "minLength" : 2,
44660702 5545 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
5546 "type" : "string"
5547 },
7aacca6f 5548 "node" : {
44660702 5549 "description" : "The cluster node name.",
7aacca6f 5550 "format" : "pve-node",
013dc89f
DM
5551 "type" : "string",
5552 "typetext" : "<string>"
44660702
DM
5553 },
5554 "vmid" : {
5555 "description" : "The (unique) ID of the VM.",
5556 "format" : "pve-vmid",
5557 "minimum" : 1,
4bd7df8b 5558 "type" : "integer",
013dc89f 5559 "typetext" : "<integer> (1 - N)"
56122987 5560 }
44660702 5561 }
56122987 5562 },
7aacca6f
DM
5563 "permissions" : {
5564 "check" : [
5565 "perm",
5566 "/vms/{vmid}",
5567 [
5568 "VM.Config.Network"
5569 ]
5570 ]
56122987 5571 },
44660702
DM
5572 "protected" : 1,
5573 "returns" : {
5574 "type" : "null"
5575 }
5576 },
5577 "GET" : {
5578 "description" : "Read alias.",
5579 "method" : "GET",
5580 "name" : "read_alias",
56122987 5581 "parameters" : {
44660702 5582 "additionalProperties" : 0,
56122987 5583 "properties" : {
56122987 5584 "name" : {
7aacca6f 5585 "description" : "Alias name.",
44660702 5586 "maxLength" : 64,
56122987 5587 "minLength" : 2,
44660702 5588 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 5589 "type" : "string"
7aacca6f
DM
5590 },
5591 "node" : {
5592 "description" : "The cluster node name.",
44660702 5593 "format" : "pve-node",
013dc89f
DM
5594 "type" : "string",
5595 "typetext" : "<string>"
44660702
DM
5596 },
5597 "vmid" : {
5598 "description" : "The (unique) ID of the VM.",
5599 "format" : "pve-vmid",
5600 "minimum" : 1,
4bd7df8b 5601 "type" : "integer",
013dc89f 5602 "typetext" : "<integer> (1 - N)"
56122987 5603 }
44660702 5604 }
56122987 5605 },
44660702
DM
5606 "permissions" : {
5607 "check" : [
5608 "perm",
5609 "/vms/{vmid}",
5610 [
5611 "VM.Audit"
5612 ]
5613 ]
56122987 5614 },
44660702
DM
5615 "returns" : {
5616 "type" : "object"
5617 }
7aacca6f 5618 },
44660702
DM
5619 "PUT" : {
5620 "description" : "Update IP or Network alias.",
5621 "method" : "PUT",
5622 "name" : "update_alias",
56122987
DM
5623 "parameters" : {
5624 "additionalProperties" : 0,
5625 "properties" : {
44660702
DM
5626 "cidr" : {
5627 "description" : "Network/IP specification in CIDR format.",
5628 "format" : "IPorCIDR",
013dc89f
DM
5629 "type" : "string",
5630 "typetext" : "<string>"
44660702
DM
5631 },
5632 "comment" : {
5633 "optional" : 1,
013dc89f
DM
5634 "type" : "string",
5635 "typetext" : "<string>"
56122987
DM
5636 },
5637 "digest" : {
44660702 5638 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
5639 "maxLength" : 40,
5640 "optional" : 1,
013dc89f
DM
5641 "type" : "string",
5642 "typetext" : "<string>"
56122987 5643 },
7aacca6f 5644 "name" : {
44660702 5645 "description" : "Alias name.",
56122987
DM
5646 "maxLength" : 64,
5647 "minLength" : 2,
5648 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5649 "type" : "string"
7aacca6f
DM
5650 },
5651 "node" : {
7aacca6f 5652 "description" : "The cluster node name.",
44660702 5653 "format" : "pve-node",
013dc89f
DM
5654 "type" : "string",
5655 "typetext" : "<string>"
44660702
DM
5656 },
5657 "rename" : {
5658 "description" : "Rename an existing alias.",
5659 "maxLength" : 64,
5660 "minLength" : 2,
5661 "optional" : 1,
5662 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5663 "type" : "string"
5664 },
5665 "vmid" : {
5666 "description" : "The (unique) ID of the VM.",
5667 "format" : "pve-vmid",
5668 "minimum" : 1,
4bd7df8b 5669 "type" : "integer",
013dc89f 5670 "typetext" : "<integer> (1 - N)"
56122987
DM
5671 }
5672 }
5673 },
7aacca6f
DM
5674 "permissions" : {
5675 "check" : [
5676 "perm",
5677 "/vms/{vmid}",
5678 [
5679 "VM.Config.Network"
5680 ]
5681 ]
5682 },
5683 "protected" : 1,
7aacca6f
DM
5684 "returns" : {
5685 "type" : "null"
44660702 5686 }
56122987
DM
5687 }
5688 },
44660702 5689 "leaf" : 1,
7aacca6f 5690 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 5691 "text" : "{name}"
56122987
DM
5692 }
5693 ],
5694 "info" : {
44660702
DM
5695 "GET" : {
5696 "description" : "List aliases",
5697 "method" : "GET",
5698 "name" : "get_aliases",
56122987 5699 "parameters" : {
44660702 5700 "additionalProperties" : 0,
56122987 5701 "properties" : {
7aacca6f 5702 "node" : {
7aacca6f 5703 "description" : "The cluster node name.",
44660702 5704 "format" : "pve-node",
013dc89f
DM
5705 "type" : "string",
5706 "typetext" : "<string>"
56122987 5707 },
44660702
DM
5708 "vmid" : {
5709 "description" : "The (unique) ID of the VM.",
5710 "format" : "pve-vmid",
5711 "minimum" : 1,
4bd7df8b 5712 "type" : "integer",
013dc89f 5713 "typetext" : "<integer> (1 - N)"
56122987 5714 }
44660702 5715 }
56122987 5716 },
56122987
DM
5717 "permissions" : {
5718 "check" : [
5719 "perm",
5720 "/vms/{vmid}",
5721 [
44660702 5722 "VM.Audit"
56122987
DM
5723 ]
5724 ]
5725 },
56122987
DM
5726 "returns" : {
5727 "items" : {
5728 "properties" : {
44660702 5729 "cidr" : {
56122987
DM
5730 "type" : "string"
5731 },
44660702
DM
5732 "comment" : {
5733 "optional" : 1,
7aacca6f 5734 "type" : "string"
56122987
DM
5735 },
5736 "digest" : {
56122987 5737 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5738 "maxLength" : 40,
56122987
DM
5739 "optional" : 0,
5740 "type" : "string"
5741 },
44660702 5742 "name" : {
56122987
DM
5743 "type" : "string"
5744 }
44660702
DM
5745 },
5746 "type" : "object"
56122987 5747 },
56122987
DM
5748 "links" : [
5749 {
5750 "href" : "{name}",
5751 "rel" : "child"
5752 }
44660702
DM
5753 ],
5754 "type" : "array"
5755 }
5756 },
5757 "POST" : {
5758 "description" : "Create IP or Network Alias.",
5759 "method" : "POST",
5760 "name" : "create_alias",
56122987 5761 "parameters" : {
7aacca6f 5762 "additionalProperties" : 0,
56122987 5763 "properties" : {
44660702
DM
5764 "cidr" : {
5765 "description" : "Network/IP specification in CIDR format.",
5766 "format" : "IPorCIDR",
013dc89f
DM
5767 "type" : "string",
5768 "typetext" : "<string>"
44660702
DM
5769 },
5770 "comment" : {
5771 "optional" : 1,
013dc89f
DM
5772 "type" : "string",
5773 "typetext" : "<string>"
44660702
DM
5774 },
5775 "name" : {
5776 "description" : "Alias name.",
5777 "maxLength" : 64,
5778 "minLength" : 2,
5779 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5780 "type" : "string"
56122987
DM
5781 },
5782 "node" : {
7aacca6f 5783 "description" : "The cluster node name.",
44660702 5784 "format" : "pve-node",
013dc89f
DM
5785 "type" : "string",
5786 "typetext" : "<string>"
44660702
DM
5787 },
5788 "vmid" : {
5789 "description" : "The (unique) ID of the VM.",
5790 "format" : "pve-vmid",
5791 "minimum" : 1,
4bd7df8b 5792 "type" : "integer",
013dc89f 5793 "typetext" : "<integer> (1 - N)"
56122987 5794 }
7aacca6f 5795 }
56122987 5796 },
44660702
DM
5797 "permissions" : {
5798 "check" : [
5799 "perm",
5800 "/vms/{vmid}",
5801 [
5802 "VM.Config.Network"
5803 ]
5804 ]
5805 },
5806 "protected" : 1,
5807 "returns" : {
5808 "type" : "null"
5809 }
56122987 5810 }
44660702
DM
5811 },
5812 "leaf" : 0,
5813 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
5814 "text" : "aliases"
56122987
DM
5815 },
5816 {
56122987
DM
5817 "children" : [
5818 {
7aacca6f
DM
5819 "children" : [
5820 {
5821 "info" : {
5822 "DELETE" : {
44660702 5823 "description" : "Remove IP or Network from IPSet.",
7aacca6f 5824 "method" : "DELETE",
44660702 5825 "name" : "remove_ip",
7aacca6f 5826 "parameters" : {
44660702 5827 "additionalProperties" : 0,
7aacca6f 5828 "properties" : {
44660702
DM
5829 "cidr" : {
5830 "description" : "Network/IP specification in CIDR format.",
5831 "format" : "IPorCIDRorAlias",
013dc89f
DM
5832 "type" : "string",
5833 "typetext" : "<string>"
44660702
DM
5834 },
5835 "digest" : {
5836 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5837 "maxLength" : 40,
5838 "optional" : 1,
013dc89f
DM
5839 "type" : "string",
5840 "typetext" : "<string>"
44660702 5841 },
7aacca6f 5842 "name" : {
7aacca6f 5843 "description" : "IP set name.",
44660702
DM
5844 "maxLength" : 64,
5845 "minLength" : 2,
7aacca6f 5846 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5847 "type" : "string"
7aacca6f
DM
5848 },
5849 "node" : {
5850 "description" : "The cluster node name.",
44660702 5851 "format" : "pve-node",
013dc89f
DM
5852 "type" : "string",
5853 "typetext" : "<string>"
7aacca6f
DM
5854 },
5855 "vmid" : {
44660702 5856 "description" : "The (unique) ID of the VM.",
7aacca6f 5857 "format" : "pve-vmid",
44660702 5858 "minimum" : 1,
4bd7df8b 5859 "type" : "integer",
013dc89f 5860 "typetext" : "<integer> (1 - N)"
7aacca6f 5861 }
44660702 5862 }
7aacca6f 5863 },
7aacca6f
DM
5864 "permissions" : {
5865 "check" : [
5866 "perm",
5867 "/vms/{vmid}",
5868 [
5869 "VM.Config.Network"
5870 ]
5871 ]
5872 },
5873 "protected" : 1,
44660702
DM
5874 "returns" : {
5875 "type" : "null"
5876 }
56122987 5877 },
44660702
DM
5878 "GET" : {
5879 "description" : "Read IP or Network settings from IPSet.",
5880 "method" : "GET",
5881 "name" : "read_ip",
7aacca6f 5882 "parameters" : {
44660702 5883 "additionalProperties" : 0,
7aacca6f 5884 "properties" : {
7aacca6f 5885 "cidr" : {
44660702 5886 "description" : "Network/IP specification in CIDR format.",
7aacca6f 5887 "format" : "IPorCIDRorAlias",
013dc89f
DM
5888 "type" : "string",
5889 "typetext" : "<string>"
7aacca6f
DM
5890 },
5891 "name" : {
7aacca6f 5892 "description" : "IP set name.",
44660702 5893 "maxLength" : 64,
7aacca6f 5894 "minLength" : 2,
44660702
DM
5895 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5896 "type" : "string"
7aacca6f 5897 },
44660702
DM
5898 "node" : {
5899 "description" : "The cluster node name.",
5900 "format" : "pve-node",
013dc89f
DM
5901 "type" : "string",
5902 "typetext" : "<string>"
7aacca6f 5903 },
44660702
DM
5904 "vmid" : {
5905 "description" : "The (unique) ID of the VM.",
5906 "format" : "pve-vmid",
5907 "minimum" : 1,
4bd7df8b 5908 "type" : "integer",
013dc89f 5909 "typetext" : "<integer> (1 - N)"
7aacca6f 5910 }
44660702 5911 }
7aacca6f 5912 },
44660702
DM
5913 "permissions" : {
5914 "check" : [
5915 "perm",
5916 "/vms/{vmid}",
5917 [
5918 "VM.Audit"
5919 ]
5920 ]
5921 },
5922 "protected" : 1,
7aacca6f 5923 "returns" : {
44660702 5924 "type" : "object"
7aacca6f 5925 }
56122987 5926 },
44660702
DM
5927 "PUT" : {
5928 "description" : "Update IP or Network settings",
5929 "method" : "PUT",
5930 "name" : "update_ip",
7aacca6f
DM
5931 "parameters" : {
5932 "additionalProperties" : 0,
5933 "properties" : {
44660702
DM
5934 "cidr" : {
5935 "description" : "Network/IP specification in CIDR format.",
5936 "format" : "IPorCIDRorAlias",
013dc89f
DM
5937 "type" : "string",
5938 "typetext" : "<string>"
44660702
DM
5939 },
5940 "comment" : {
5941 "optional" : 1,
013dc89f
DM
5942 "type" : "string",
5943 "typetext" : "<string>"
44660702
DM
5944 },
5945 "digest" : {
5946 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5947 "maxLength" : 40,
5948 "optional" : 1,
013dc89f
DM
5949 "type" : "string",
5950 "typetext" : "<string>"
44660702 5951 },
7aacca6f 5952 "name" : {
7aacca6f 5953 "description" : "IP set name.",
44660702 5954 "maxLength" : 64,
7aacca6f 5955 "minLength" : 2,
44660702
DM
5956 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5957 "type" : "string"
7aacca6f
DM
5958 },
5959 "node" : {
7aacca6f 5960 "description" : "The cluster node name.",
44660702 5961 "format" : "pve-node",
013dc89f
DM
5962 "type" : "string",
5963 "typetext" : "<string>"
7aacca6f 5964 },
44660702
DM
5965 "nomatch" : {
5966 "optional" : 1,
013dc89f
DM
5967 "type" : "boolean",
5968 "typetext" : "<boolean>"
7aacca6f
DM
5969 },
5970 "vmid" : {
5971 "description" : "The (unique) ID of the VM.",
44660702 5972 "format" : "pve-vmid",
7aacca6f 5973 "minimum" : 1,
4bd7df8b 5974 "type" : "integer",
013dc89f 5975 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5976 }
5977 }
5978 },
5979 "permissions" : {
5980 "check" : [
5981 "perm",
5982 "/vms/{vmid}",
5983 [
44660702 5984 "VM.Config.Network"
7aacca6f
DM
5985 ]
5986 ]
5987 },
7aacca6f 5988 "protected" : 1,
7aacca6f 5989 "returns" : {
44660702 5990 "type" : "null"
7aacca6f 5991 }
56122987 5992 }
7aacca6f 5993 },
7aacca6f 5994 "leaf" : 1,
44660702
DM
5995 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
5996 "text" : "{cidr}"
7aacca6f 5997 }
44660702
DM
5998 ],
5999 "info" : {
6000 "DELETE" : {
6001 "description" : "Delete IPSet",
6002 "method" : "DELETE",
6003 "name" : "delete_ipset",
6004 "parameters" : {
6005 "additionalProperties" : 0,
6006 "properties" : {
6007 "name" : {
6008 "description" : "IP set name.",
6009 "maxLength" : 64,
6010 "minLength" : 2,
6011 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6012 "type" : "string"
6013 },
6014 "node" : {
6015 "description" : "The cluster node name.",
6016 "format" : "pve-node",
013dc89f
DM
6017 "type" : "string",
6018 "typetext" : "<string>"
44660702
DM
6019 },
6020 "vmid" : {
6021 "description" : "The (unique) ID of the VM.",
6022 "format" : "pve-vmid",
6023 "minimum" : 1,
4bd7df8b 6024 "type" : "integer",
013dc89f 6025 "typetext" : "<integer> (1 - N)"
44660702
DM
6026 }
6027 }
7aacca6f 6028 },
44660702
DM
6029 "permissions" : {
6030 "check" : [
6031 "perm",
6032 "/vms/{vmid}",
6033 [
6034 "VM.Config.Network"
6035 ]
6036 ]
7aacca6f 6037 },
44660702
DM
6038 "protected" : 1,
6039 "returns" : {
6040 "type" : "null"
6041 }
6042 },
6043 "GET" : {
6044 "description" : "List IPSet content",
6045 "method" : "GET",
6046 "name" : "get_ipset",
6047 "parameters" : {
6048 "additionalProperties" : 0,
6049 "properties" : {
6050 "name" : {
6051 "description" : "IP set name.",
6052 "maxLength" : 64,
6053 "minLength" : 2,
6054 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6055 "type" : "string"
6056 },
6057 "node" : {
6058 "description" : "The cluster node name.",
6059 "format" : "pve-node",
013dc89f
DM
6060 "type" : "string",
6061 "typetext" : "<string>"
44660702
DM
6062 },
6063 "vmid" : {
6064 "description" : "The (unique) ID of the VM.",
6065 "format" : "pve-vmid",
6066 "minimum" : 1,
4bd7df8b 6067 "type" : "integer",
013dc89f 6068 "typetext" : "<integer> (1 - N)"
44660702
DM
6069 }
6070 }
7aacca6f 6071 },
44660702
DM
6072 "permissions" : {
6073 "check" : [
6074 "perm",
6075 "/vms/{vmid}",
6076 [
6077 "VM.Audit"
6078 ]
6079 ]
7aacca6f 6080 },
44660702
DM
6081 "returns" : {
6082 "items" : {
6083 "properties" : {
6084 "cidr" : {
6085 "type" : "string"
6086 },
6087 "comment" : {
6088 "optional" : 1,
6089 "type" : "string"
6090 },
6091 "digest" : {
6092 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6093 "maxLength" : 40,
6094 "optional" : 0,
6095 "type" : "string"
6096 },
6097 "nomatch" : {
6098 "optional" : 1,
6099 "type" : "boolean"
6100 }
6101 },
6102 "type" : "object"
6103 },
6104 "links" : [
6105 {
6106 "href" : "{cidr}",
6107 "rel" : "child"
6108 }
6109 ],
6110 "type" : "array"
56122987
DM
6111 }
6112 },
44660702
DM
6113 "POST" : {
6114 "description" : "Add IP or Network to IPSet.",
6115 "method" : "POST",
6116 "name" : "create_ip",
6117 "parameters" : {
6118 "additionalProperties" : 0,
6119 "properties" : {
6120 "cidr" : {
6121 "description" : "Network/IP specification in CIDR format.",
6122 "format" : "IPorCIDRorAlias",
013dc89f
DM
6123 "type" : "string",
6124 "typetext" : "<string>"
44660702
DM
6125 },
6126 "comment" : {
6127 "optional" : 1,
013dc89f
DM
6128 "type" : "string",
6129 "typetext" : "<string>"
44660702
DM
6130 },
6131 "name" : {
6132 "description" : "IP set name.",
6133 "maxLength" : 64,
6134 "minLength" : 2,
6135 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6136 "type" : "string"
6137 },
6138 "node" : {
6139 "description" : "The cluster node name.",
6140 "format" : "pve-node",
013dc89f
DM
6141 "type" : "string",
6142 "typetext" : "<string>"
44660702
DM
6143 },
6144 "nomatch" : {
6145 "optional" : 1,
013dc89f
DM
6146 "type" : "boolean",
6147 "typetext" : "<boolean>"
44660702
DM
6148 },
6149 "vmid" : {
6150 "description" : "The (unique) ID of the VM.",
6151 "format" : "pve-vmid",
6152 "minimum" : 1,
4bd7df8b 6153 "type" : "integer",
013dc89f 6154 "typetext" : "<integer> (1 - N)"
44660702
DM
6155 }
6156 }
6157 },
6158 "permissions" : {
6159 "check" : [
6160 "perm",
6161 "/vms/{vmid}",
6162 [
6163 "VM.Config.Network"
6164 ]
6165 ]
6166 },
6167 "protected" : 1,
6168 "returns" : {
6169 "type" : "null"
6170 }
6171 }
6172 },
6173 "leaf" : 0,
6174 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
6175 "text" : "{name}"
6176 }
6177 ],
6178 "info" : {
6179 "GET" : {
6180 "description" : "List IPSets",
6181 "method" : "GET",
6182 "name" : "ipset_index",
6183 "parameters" : {
6184 "additionalProperties" : 0,
6185 "properties" : {
6186 "node" : {
6187 "description" : "The cluster node name.",
6188 "format" : "pve-node",
013dc89f
DM
6189 "type" : "string",
6190 "typetext" : "<string>"
44660702
DM
6191 },
6192 "vmid" : {
6193 "description" : "The (unique) ID of the VM.",
6194 "format" : "pve-vmid",
6195 "minimum" : 1,
4bd7df8b 6196 "type" : "integer",
013dc89f 6197 "typetext" : "<integer> (1 - N)"
44660702
DM
6198 }
6199 }
56122987
DM
6200 },
6201 "permissions" : {
6202 "check" : [
6203 "perm",
6204 "/vms/{vmid}",
6205 [
44660702 6206 "VM.Audit"
56122987
DM
6207 ]
6208 ]
6209 },
7aacca6f 6210 "returns" : {
7aacca6f
DM
6211 "items" : {
6212 "properties" : {
7aacca6f
DM
6213 "comment" : {
6214 "optional" : 1,
6215 "type" : "string"
6216 },
6217 "digest" : {
7aacca6f 6218 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
6219 "maxLength" : 40,
6220 "optional" : 0,
6221 "type" : "string"
6222 },
6223 "name" : {
6224 "description" : "IP set name.",
6225 "maxLength" : 64,
6226 "minLength" : 2,
6227 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6228 "type" : "string"
7aacca6f
DM
6229 }
6230 },
6231 "type" : "object"
6232 },
6233 "links" : [
6234 {
44660702
DM
6235 "href" : "{name}",
6236 "rel" : "child"
7aacca6f 6237 }
44660702
DM
6238 ],
6239 "type" : "array"
6240 }
6241 },
6242 "POST" : {
6243 "description" : "Create new IPSet",
6244 "method" : "POST",
6245 "name" : "create_ipset",
56122987
DM
6246 "parameters" : {
6247 "additionalProperties" : 0,
6248 "properties" : {
44660702
DM
6249 "comment" : {
6250 "optional" : 1,
013dc89f
DM
6251 "type" : "string",
6252 "typetext" : "<string>"
56122987 6253 },
44660702
DM
6254 "digest" : {
6255 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6256 "maxLength" : 40,
6257 "optional" : 1,
013dc89f
DM
6258 "type" : "string",
6259 "typetext" : "<string>"
44660702
DM
6260 },
6261 "name" : {
6262 "description" : "IP set name.",
6263 "maxLength" : 64,
6264 "minLength" : 2,
6265 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6266 "type" : "string"
6267 },
6268 "node" : {
6269 "description" : "The cluster node name.",
6270 "format" : "pve-node",
013dc89f
DM
6271 "type" : "string",
6272 "typetext" : "<string>"
44660702
DM
6273 },
6274 "rename" : {
6275 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
6276 "maxLength" : 64,
6277 "minLength" : 2,
6278 "optional" : 1,
6279 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6280 "type" : "string"
6281 },
6282 "vmid" : {
6283 "description" : "The (unique) ID of the VM.",
6284 "format" : "pve-vmid",
6285 "minimum" : 1,
4bd7df8b 6286 "type" : "integer",
013dc89f 6287 "typetext" : "<integer> (1 - N)"
44660702
DM
6288 }
6289 }
6290 },
7aacca6f
DM
6291 "permissions" : {
6292 "check" : [
6293 "perm",
6294 "/vms/{vmid}",
6295 [
6296 "VM.Config.Network"
6297 ]
6298 ]
6299 },
44660702 6300 "protected" : 1,
56122987 6301 "returns" : {
7aacca6f 6302 "type" : "null"
44660702
DM
6303 }
6304 }
6305 },
6306 "leaf" : 0,
6307 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
6308 "text" : "ipset"
6309 },
6310 {
6311 "info" : {
6312 "GET" : {
6313 "description" : "Get VM firewall options.",
6314 "method" : "GET",
6315 "name" : "get_options",
7aacca6f
DM
6316 "parameters" : {
6317 "additionalProperties" : 0,
56122987 6318 "properties" : {
7aacca6f
DM
6319 "node" : {
6320 "description" : "The cluster node name.",
44660702 6321 "format" : "pve-node",
013dc89f
DM
6322 "type" : "string",
6323 "typetext" : "<string>"
7aacca6f 6324 },
44660702
DM
6325 "vmid" : {
6326 "description" : "The (unique) ID of the VM.",
6327 "format" : "pve-vmid",
6328 "minimum" : 1,
4bd7df8b 6329 "type" : "integer",
013dc89f 6330 "typetext" : "<integer> (1 - N)"
44660702
DM
6331 }
6332 }
6333 },
6334 "permissions" : {
6335 "check" : [
6336 "perm",
6337 "/vms/{vmid}",
6338 [
6339 "VM.Audit"
6340 ]
6341 ]
6342 },
6343 "proxyto" : "node",
6344 "returns" : {
6345 "properties" : {
6346 "dhcp" : {
6347 "description" : "Enable DHCP.",
56122987 6348 "optional" : 1,
44660702 6349 "type" : "boolean"
56122987 6350 },
44660702
DM
6351 "enable" : {
6352 "description" : "Enable/disable firewall rules.",
7aacca6f 6353 "optional" : 1,
44660702 6354 "type" : "boolean"
56122987 6355 },
44660702
DM
6356 "ipfilter" : {
6357 "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 6358 "optional" : 1,
44660702 6359 "type" : "boolean"
7aacca6f 6360 },
56122987 6361 "log_level_in" : {
7aacca6f 6362 "description" : "Log level for incoming traffic.",
56122987
DM
6363 "enum" : [
6364 "emerg",
6365 "alert",
6366 "crit",
6367 "err",
6368 "warning",
6369 "notice",
6370 "info",
6371 "debug",
6372 "nolog"
6373 ],
56122987
DM
6374 "optional" : 1,
6375 "type" : "string"
6376 },
44660702
DM
6377 "log_level_out" : {
6378 "description" : "Log level for outgoing traffic.",
6379 "enum" : [
6380 "emerg",
6381 "alert",
6382 "crit",
6383 "err",
6384 "warning",
6385 "notice",
6386 "info",
6387 "debug",
6388 "nolog"
6389 ],
6390 "optional" : 1,
6391 "type" : "string"
6392 },
6393 "macfilter" : {
6394 "description" : "Enable/disable MAC address filter.",
56122987 6395 "optional" : 1,
7aacca6f 6396 "type" : "boolean"
56122987
DM
6397 },
6398 "ndp" : {
44660702 6399 "description" : "Enable NDP.",
56122987 6400 "optional" : 1,
44660702 6401 "type" : "boolean"
56122987
DM
6402 },
6403 "policy_in" : {
56122987
DM
6404 "description" : "Input policy.",
6405 "enum" : [
6406 "ACCEPT",
6407 "REJECT",
6408 "DROP"
44660702
DM
6409 ],
6410 "optional" : 1,
6411 "type" : "string"
56122987 6412 },
44660702
DM
6413 "policy_out" : {
6414 "description" : "Output policy.",
6415 "enum" : [
6416 "ACCEPT",
6417 "REJECT",
6418 "DROP"
6419 ],
6420 "optional" : 1,
6421 "type" : "string"
6422 },
6423 "radv" : {
6424 "description" : "Allow sending Router Advertisement.",
6425 "optional" : 1,
6426 "type" : "boolean"
6427 }
6428 },
6429 "type" : "object"
6430 }
6431 },
6432 "PUT" : {
6433 "description" : "Set Firewall options.",
6434 "method" : "PUT",
6435 "name" : "set_options",
6436 "parameters" : {
6437 "additionalProperties" : 0,
6438 "properties" : {
6439 "delete" : {
6440 "description" : "A list of settings you want to delete.",
6441 "format" : "pve-configid-list",
6442 "optional" : 1,
013dc89f
DM
6443 "type" : "string",
6444 "typetext" : "<string>"
44660702
DM
6445 },
6446 "dhcp" : {
6447 "description" : "Enable DHCP.",
7aacca6f 6448 "optional" : 1,
013dc89f
DM
6449 "type" : "boolean",
6450 "typetext" : "<boolean>"
7aacca6f
DM
6451 },
6452 "digest" : {
6453 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 6454 "maxLength" : 40,
7aacca6f 6455 "optional" : 1,
013dc89f
DM
6456 "type" : "string",
6457 "typetext" : "<string>"
7aacca6f
DM
6458 },
6459 "enable" : {
6460 "description" : "Enable/disable firewall rules.",
56122987 6461 "optional" : 1,
013dc89f
DM
6462 "type" : "boolean",
6463 "typetext" : "<boolean>"
7aacca6f 6464 },
44660702
DM
6465 "ipfilter" : {
6466 "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.",
6467 "optional" : 1,
013dc89f
DM
6468 "type" : "boolean",
6469 "typetext" : "<boolean>"
44660702
DM
6470 },
6471 "log_level_in" : {
6472 "description" : "Log level for incoming traffic.",
56122987
DM
6473 "enum" : [
6474 "emerg",
6475 "alert",
6476 "crit",
6477 "err",
6478 "warning",
6479 "notice",
6480 "info",
6481 "debug",
6482 "nolog"
7aacca6f 6483 ],
7aacca6f 6484 "optional" : 1,
44660702 6485 "type" : "string"
7aacca6f 6486 },
44660702
DM
6487 "log_level_out" : {
6488 "description" : "Log level for outgoing traffic.",
56122987
DM
6489 "enum" : [
6490 "emerg",
6491 "alert",
6492 "crit",
6493 "err",
6494 "warning",
6495 "notice",
6496 "info",
6497 "debug",
6498 "nolog"
6499 ],
56122987 6500 "optional" : 1,
44660702 6501 "type" : "string"
56122987
DM
6502 },
6503 "macfilter" : {
56122987 6504 "description" : "Enable/disable MAC address filter.",
7aacca6f 6505 "optional" : 1,
013dc89f
DM
6506 "type" : "boolean",
6507 "typetext" : "<boolean>"
56122987 6508 },
44660702
DM
6509 "ndp" : {
6510 "description" : "Enable NDP.",
6511 "optional" : 1,
013dc89f
DM
6512 "type" : "boolean",
6513 "typetext" : "<boolean>"
44660702
DM
6514 },
6515 "node" : {
6516 "description" : "The cluster node name.",
6517 "format" : "pve-node",
013dc89f
DM
6518 "type" : "string",
6519 "typetext" : "<string>"
44660702 6520 },
56122987 6521 "policy_in" : {
44660702 6522 "description" : "Input policy.",
56122987
DM
6523 "enum" : [
6524 "ACCEPT",
6525 "REJECT",
6526 "DROP"
7aacca6f 6527 ],
56122987 6528 "optional" : 1,
7aacca6f 6529 "type" : "string"
56122987 6530 },
44660702
DM
6531 "policy_out" : {
6532 "description" : "Output policy.",
6533 "enum" : [
6534 "ACCEPT",
6535 "REJECT",
6536 "DROP"
6537 ],
56122987 6538 "optional" : 1,
44660702 6539 "type" : "string"
56122987 6540 },
44660702
DM
6541 "radv" : {
6542 "description" : "Allow sending Router Advertisement.",
56122987 6543 "optional" : 1,
013dc89f
DM
6544 "type" : "boolean",
6545 "typetext" : "<boolean>"
7aacca6f
DM
6546 },
6547 "vmid" : {
6548 "description" : "The (unique) ID of the VM.",
44660702 6549 "format" : "pve-vmid",
7aacca6f 6550 "minimum" : 1,
4bd7df8b 6551 "type" : "integer",
013dc89f 6552 "typetext" : "<integer> (1 - N)"
56122987
DM
6553 }
6554 }
6555 },
56122987
DM
6556 "permissions" : {
6557 "check" : [
6558 "perm",
6559 "/vms/{vmid}",
6560 [
44660702 6561 "VM.Config.Network"
56122987
DM
6562 ]
6563 ]
7aacca6f 6564 },
44660702 6565 "protected" : 1,
7aacca6f 6566 "proxyto" : "node",
44660702
DM
6567 "returns" : {
6568 "type" : "null"
6569 }
56122987
DM
6570 }
6571 },
44660702 6572 "leaf" : 1,
7aacca6f 6573 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 6574 "text" : "options"
56122987
DM
6575 },
6576 {
56122987
DM
6577 "info" : {
6578 "GET" : {
44660702
DM
6579 "description" : "Read firewall log",
6580 "method" : "GET",
6581 "name" : "log",
6582 "parameters" : {
6583 "additionalProperties" : 0,
6584 "properties" : {
6585 "limit" : {
6586 "minimum" : 0,
6587 "optional" : 1,
4bd7df8b 6588 "type" : "integer",
013dc89f 6589 "typetext" : "<integer> (0 - N)"
56122987 6590 },
44660702
DM
6591 "node" : {
6592 "description" : "The cluster node name.",
6593 "format" : "pve-node",
013dc89f
DM
6594 "type" : "string",
6595 "typetext" : "<string>"
44660702
DM
6596 },
6597 "start" : {
6598 "minimum" : 0,
6599 "optional" : 1,
4bd7df8b 6600 "type" : "integer",
013dc89f 6601 "typetext" : "<integer> (0 - N)"
44660702
DM
6602 },
6603 "vmid" : {
6604 "description" : "The (unique) ID of the VM.",
6605 "format" : "pve-vmid",
6606 "minimum" : 1,
4bd7df8b 6607 "type" : "integer",
013dc89f 6608 "typetext" : "<integer> (1 - N)"
44660702
DM
6609 }
6610 }
7aacca6f 6611 },
7aacca6f
DM
6612 "permissions" : {
6613 "check" : [
6614 "perm",
6615 "/vms/{vmid}",
6616 [
6617 "VM.Console"
6618 ]
6619 ]
56122987 6620 },
7aacca6f 6621 "protected" : 1,
44660702
DM
6622 "proxyto" : "node",
6623 "returns" : {
6624 "items" : {
6625 "properties" : {
6626 "n" : {
6627 "description" : "Line number",
6628 "type" : "integer"
6629 },
6630 "t" : {
6631 "description" : "Line text",
6632 "type" : "string"
6633 }
56122987 6634 },
44660702 6635 "type" : "object"
7aacca6f 6636 },
44660702 6637 "type" : "array"
7aacca6f
DM
6638 }
6639 }
6640 },
44660702 6641 "leaf" : 1,
7aacca6f 6642 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 6643 "text" : "log"
7aacca6f
DM
6644 },
6645 {
7aacca6f
DM
6646 "info" : {
6647 "GET" : {
6648 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
6649 "method" : "GET",
6650 "name" : "refs",
56122987 6651 "parameters" : {
44660702 6652 "additionalProperties" : 0,
56122987
DM
6653 "properties" : {
6654 "node" : {
7aacca6f 6655 "description" : "The cluster node name.",
44660702 6656 "format" : "pve-node",
013dc89f
DM
6657 "type" : "string",
6658 "typetext" : "<string>"
56122987
DM
6659 },
6660 "type" : {
56122987
DM
6661 "description" : "Only list references of specified type.",
6662 "enum" : [
6663 "alias",
6664 "ipset"
7aacca6f 6665 ],
44660702
DM
6666 "optional" : 1,
6667 "type" : "string"
6668 },
6669 "vmid" : {
6670 "description" : "The (unique) ID of the VM.",
6671 "format" : "pve-vmid",
6672 "minimum" : 1,
4bd7df8b 6673 "type" : "integer",
013dc89f 6674 "typetext" : "<integer> (1 - N)"
56122987 6675 }
44660702
DM
6676 }
6677 },
6678 "permissions" : {
6679 "check" : [
6680 "perm",
6681 "/vms/{vmid}",
6682 [
6683 "VM.Audit"
6684 ]
6685 ]
56122987
DM
6686 },
6687 "returns" : {
56122987
DM
6688 "items" : {
6689 "properties" : {
44660702
DM
6690 "comment" : {
6691 "optional" : 1,
56122987
DM
6692 "type" : "string"
6693 },
6694 "name" : {
6695 "type" : "string"
6696 },
44660702
DM
6697 "type" : {
6698 "enum" : [
6699 "alias",
6700 "ipset"
6701 ],
7aacca6f 6702 "type" : "string"
56122987
DM
6703 }
6704 },
6705 "type" : "object"
7aacca6f
DM
6706 },
6707 "type" : "array"
6708 }
56122987 6709 }
44660702
DM
6710 },
6711 "leaf" : 1,
6712 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
6713 "text" : "refs"
56122987
DM
6714 }
6715 ],
56122987
DM
6716 "info" : {
6717 "GET" : {
44660702 6718 "description" : "Directory index.",
56122987 6719 "method" : "GET",
44660702 6720 "name" : "index",
56122987 6721 "parameters" : {
44660702 6722 "additionalProperties" : 0,
56122987
DM
6723 "properties" : {
6724 "node" : {
6725 "description" : "The cluster node name.",
44660702 6726 "format" : "pve-node",
013dc89f
DM
6727 "type" : "string",
6728 "typetext" : "<string>"
56122987
DM
6729 },
6730 "vmid" : {
44660702 6731 "description" : "The (unique) ID of the VM.",
56122987
DM
6732 "format" : "pve-vmid",
6733 "minimum" : 1,
4bd7df8b 6734 "type" : "integer",
013dc89f 6735 "typetext" : "<integer> (1 - N)"
56122987 6736 }
44660702 6737 }
56122987 6738 },
56122987 6739 "permissions" : {
27a7acb2
DM
6740 "user" : "all"
6741 },
6742 "returns" : {
6743 "items" : {
6744 "properties" : {},
6745 "type" : "object"
6746 },
6747 "links" : [
6748 {
6749 "href" : "{name}",
6750 "rel" : "child"
6751 }
6752 ],
6753 "type" : "array"
6754 }
6755 }
6756 },
6757 "leaf" : 0,
6758 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
6759 "text" : "firewall"
6760 },
6761 {
6762 "children" : [
6763 {
6764 "info" : {
6765 "POST" : {
6766 "description" : "Execute fsfreeze-freeze.",
6767 "method" : "POST",
6768 "name" : "fsfreeze-freeze",
6769 "parameters" : {
6770 "additionalProperties" : 0,
6771 "properties" : {
6772 "node" : {
6773 "description" : "The cluster node name.",
6774 "format" : "pve-node",
6775 "type" : "string",
6776 "typetext" : "<string>"
6777 },
6778 "vmid" : {
6779 "description" : "The (unique) ID of the VM.",
6780 "format" : "pve-vmid",
6781 "minimum" : 1,
6782 "type" : "integer",
6783 "typetext" : "<integer> (1 - N)"
6784 }
6785 }
6786 },
6787 "permissions" : {
6788 "check" : [
6789 "perm",
6790 "/vms/{vmid}",
6791 [
6792 "VM.Monitor"
6793 ]
6794 ]
6795 },
6796 "protected" : 1,
6797 "proxyto" : "node",
6798 "returns" : {
6799 "description" : "Returns an object with a single `result` property.",
6800 "type" : "object"
6801 }
6802 }
6803 },
6804 "leaf" : 1,
6805 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
6806 "text" : "fsfreeze-freeze"
6807 },
6808 {
6809 "info" : {
6810 "POST" : {
6811 "description" : "Execute fsfreeze-status.",
6812 "method" : "POST",
6813 "name" : "fsfreeze-status",
6814 "parameters" : {
6815 "additionalProperties" : 0,
6816 "properties" : {
6817 "node" : {
6818 "description" : "The cluster node name.",
6819 "format" : "pve-node",
6820 "type" : "string",
6821 "typetext" : "<string>"
6822 },
6823 "vmid" : {
6824 "description" : "The (unique) ID of the VM.",
6825 "format" : "pve-vmid",
6826 "minimum" : 1,
6827 "type" : "integer",
6828 "typetext" : "<integer> (1 - N)"
6829 }
6830 }
6831 },
6832 "permissions" : {
6833 "check" : [
6834 "perm",
6835 "/vms/{vmid}",
6836 [
6837 "VM.Monitor"
6838 ]
6839 ]
6840 },
6841 "protected" : 1,
6842 "proxyto" : "node",
6843 "returns" : {
6844 "description" : "Returns an object with a single `result` property.",
6845 "type" : "object"
6846 }
6847 }
6848 },
6849 "leaf" : 1,
6850 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
6851 "text" : "fsfreeze-status"
6852 },
6853 {
6854 "info" : {
6855 "POST" : {
6856 "description" : "Execute fsfreeze-thaw.",
6857 "method" : "POST",
6858 "name" : "fsfreeze-thaw",
6859 "parameters" : {
6860 "additionalProperties" : 0,
6861 "properties" : {
6862 "node" : {
6863 "description" : "The cluster node name.",
6864 "format" : "pve-node",
6865 "type" : "string",
6866 "typetext" : "<string>"
6867 },
6868 "vmid" : {
6869 "description" : "The (unique) ID of the VM.",
6870 "format" : "pve-vmid",
6871 "minimum" : 1,
6872 "type" : "integer",
6873 "typetext" : "<integer> (1 - N)"
6874 }
6875 }
6876 },
6877 "permissions" : {
6878 "check" : [
6879 "perm",
6880 "/vms/{vmid}",
6881 [
6882 "VM.Monitor"
6883 ]
6884 ]
6885 },
6886 "protected" : 1,
6887 "proxyto" : "node",
6888 "returns" : {
6889 "description" : "Returns an object with a single `result` property.",
6890 "type" : "object"
6891 }
6892 }
6893 },
6894 "leaf" : 1,
6895 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
6896 "text" : "fsfreeze-thaw"
6897 },
6898 {
6899 "info" : {
6900 "POST" : {
6901 "description" : "Execute fstrim.",
6902 "method" : "POST",
6903 "name" : "fstrim",
6904 "parameters" : {
6905 "additionalProperties" : 0,
6906 "properties" : {
6907 "node" : {
6908 "description" : "The cluster node name.",
6909 "format" : "pve-node",
6910 "type" : "string",
6911 "typetext" : "<string>"
6912 },
6913 "vmid" : {
6914 "description" : "The (unique) ID of the VM.",
6915 "format" : "pve-vmid",
6916 "minimum" : 1,
6917 "type" : "integer",
6918 "typetext" : "<integer> (1 - N)"
6919 }
6920 }
6921 },
6922 "permissions" : {
6923 "check" : [
6924 "perm",
6925 "/vms/{vmid}",
6926 [
6927 "VM.Monitor"
6928 ]
6929 ]
6930 },
6931 "protected" : 1,
6932 "proxyto" : "node",
6933 "returns" : {
6934 "description" : "Returns an object with a single `result` property.",
6935 "type" : "object"
6936 }
6937 }
6938 },
6939 "leaf" : 1,
6940 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
6941 "text" : "fstrim"
6942 },
6943 {
6944 "info" : {
6945 "GET" : {
6946 "description" : "Execute get-fsinfo.",
6947 "method" : "GET",
6948 "name" : "get-fsinfo",
6949 "parameters" : {
6950 "additionalProperties" : 0,
6951 "properties" : {
6952 "node" : {
6953 "description" : "The cluster node name.",
6954 "format" : "pve-node",
6955 "type" : "string",
6956 "typetext" : "<string>"
6957 },
6958 "vmid" : {
6959 "description" : "The (unique) ID of the VM.",
6960 "format" : "pve-vmid",
6961 "minimum" : 1,
6962 "type" : "integer",
6963 "typetext" : "<integer> (1 - N)"
6964 }
6965 }
6966 },
6967 "permissions" : {
6968 "check" : [
6969 "perm",
6970 "/vms/{vmid}",
6971 [
6972 "VM.Monitor"
6973 ]
6974 ]
6975 },
6976 "protected" : 1,
6977 "proxyto" : "node",
6978 "returns" : {
6979 "description" : "Returns an object with a single `result` property.",
6980 "type" : "object"
6981 }
6982 }
6983 },
6984 "leaf" : 1,
6985 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
6986 "text" : "get-fsinfo"
6987 },
6988 {
6989 "info" : {
6990 "GET" : {
6991 "description" : "Execute get-host-name.",
6992 "method" : "GET",
6993 "name" : "get-host-name",
6994 "parameters" : {
6995 "additionalProperties" : 0,
6996 "properties" : {
6997 "node" : {
6998 "description" : "The cluster node name.",
6999 "format" : "pve-node",
7000 "type" : "string",
7001 "typetext" : "<string>"
7002 },
7003 "vmid" : {
7004 "description" : "The (unique) ID of the VM.",
7005 "format" : "pve-vmid",
7006 "minimum" : 1,
7007 "type" : "integer",
7008 "typetext" : "<integer> (1 - N)"
7009 }
7010 }
7011 },
7012 "permissions" : {
7013 "check" : [
7014 "perm",
7015 "/vms/{vmid}",
7016 [
7017 "VM.Monitor"
7018 ]
7019 ]
7020 },
7021 "protected" : 1,
7022 "proxyto" : "node",
7023 "returns" : {
7024 "description" : "Returns an object with a single `result` property.",
7025 "type" : "object"
7026 }
7027 }
7028 },
7029 "leaf" : 1,
7030 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
7031 "text" : "get-host-name"
7032 },
7033 {
7034 "info" : {
7035 "GET" : {
7036 "description" : "Execute get-memory-block-info.",
7037 "method" : "GET",
7038 "name" : "get-memory-block-info",
7039 "parameters" : {
7040 "additionalProperties" : 0,
7041 "properties" : {
7042 "node" : {
7043 "description" : "The cluster node name.",
7044 "format" : "pve-node",
7045 "type" : "string",
7046 "typetext" : "<string>"
7047 },
7048 "vmid" : {
7049 "description" : "The (unique) ID of the VM.",
7050 "format" : "pve-vmid",
7051 "minimum" : 1,
7052 "type" : "integer",
7053 "typetext" : "<integer> (1 - N)"
7054 }
7055 }
7056 },
7057 "permissions" : {
7058 "check" : [
7059 "perm",
7060 "/vms/{vmid}",
7061 [
7062 "VM.Monitor"
7063 ]
7064 ]
7065 },
7066 "protected" : 1,
7067 "proxyto" : "node",
7068 "returns" : {
7069 "description" : "Returns an object with a single `result` property.",
7070 "type" : "object"
7071 }
7072 }
7073 },
7074 "leaf" : 1,
7075 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
7076 "text" : "get-memory-block-info"
7077 },
7078 {
7079 "info" : {
7080 "GET" : {
7081 "description" : "Execute get-memory-blocks.",
7082 "method" : "GET",
7083 "name" : "get-memory-blocks",
7084 "parameters" : {
7085 "additionalProperties" : 0,
7086 "properties" : {
7087 "node" : {
7088 "description" : "The cluster node name.",
7089 "format" : "pve-node",
7090 "type" : "string",
7091 "typetext" : "<string>"
7092 },
7093 "vmid" : {
7094 "description" : "The (unique) ID of the VM.",
7095 "format" : "pve-vmid",
7096 "minimum" : 1,
7097 "type" : "integer",
7098 "typetext" : "<integer> (1 - N)"
7099 }
7100 }
7101 },
7102 "permissions" : {
7103 "check" : [
7104 "perm",
7105 "/vms/{vmid}",
7106 [
7107 "VM.Monitor"
7108 ]
7109 ]
7110 },
7111 "protected" : 1,
7112 "proxyto" : "node",
7113 "returns" : {
7114 "description" : "Returns an object with a single `result` property.",
7115 "type" : "object"
7116 }
7117 }
7118 },
7119 "leaf" : 1,
7120 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
7121 "text" : "get-memory-blocks"
7122 },
7123 {
7124 "info" : {
7125 "GET" : {
7126 "description" : "Execute get-osinfo.",
7127 "method" : "GET",
7128 "name" : "get-osinfo",
7129 "parameters" : {
7130 "additionalProperties" : 0,
7131 "properties" : {
7132 "node" : {
7133 "description" : "The cluster node name.",
7134 "format" : "pve-node",
7135 "type" : "string",
7136 "typetext" : "<string>"
7137 },
7138 "vmid" : {
7139 "description" : "The (unique) ID of the VM.",
7140 "format" : "pve-vmid",
7141 "minimum" : 1,
7142 "type" : "integer",
7143 "typetext" : "<integer> (1 - N)"
7144 }
7145 }
7146 },
7147 "permissions" : {
7148 "check" : [
7149 "perm",
7150 "/vms/{vmid}",
7151 [
7152 "VM.Monitor"
7153 ]
7154 ]
7155 },
7156 "protected" : 1,
7157 "proxyto" : "node",
7158 "returns" : {
7159 "description" : "Returns an object with a single `result` property.",
7160 "type" : "object"
7161 }
7162 }
7163 },
7164 "leaf" : 1,
7165 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
7166 "text" : "get-osinfo"
7167 },
7168 {
7169 "info" : {
7170 "GET" : {
7171 "description" : "Execute get-time.",
7172 "method" : "GET",
7173 "name" : "get-time",
7174 "parameters" : {
7175 "additionalProperties" : 0,
7176 "properties" : {
7177 "node" : {
7178 "description" : "The cluster node name.",
7179 "format" : "pve-node",
7180 "type" : "string",
7181 "typetext" : "<string>"
7182 },
7183 "vmid" : {
7184 "description" : "The (unique) ID of the VM.",
7185 "format" : "pve-vmid",
7186 "minimum" : 1,
7187 "type" : "integer",
7188 "typetext" : "<integer> (1 - N)"
7189 }
7190 }
7191 },
7192 "permissions" : {
7193 "check" : [
7194 "perm",
7195 "/vms/{vmid}",
7196 [
7197 "VM.Monitor"
7198 ]
7199 ]
7200 },
7201 "protected" : 1,
7202 "proxyto" : "node",
7203 "returns" : {
7204 "description" : "Returns an object with a single `result` property.",
7205 "type" : "object"
7206 }
7207 }
7208 },
7209 "leaf" : 1,
7210 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
7211 "text" : "get-time"
7212 },
7213 {
7214 "info" : {
7215 "GET" : {
7216 "description" : "Execute get-timezone.",
7217 "method" : "GET",
7218 "name" : "get-timezone",
7219 "parameters" : {
7220 "additionalProperties" : 0,
7221 "properties" : {
7222 "node" : {
7223 "description" : "The cluster node name.",
7224 "format" : "pve-node",
7225 "type" : "string",
7226 "typetext" : "<string>"
7227 },
7228 "vmid" : {
7229 "description" : "The (unique) ID of the VM.",
7230 "format" : "pve-vmid",
7231 "minimum" : 1,
7232 "type" : "integer",
7233 "typetext" : "<integer> (1 - N)"
7234 }
7235 }
7236 },
7237 "permissions" : {
7238 "check" : [
7239 "perm",
7240 "/vms/{vmid}",
7241 [
7242 "VM.Monitor"
7243 ]
7244 ]
7245 },
7246 "protected" : 1,
7247 "proxyto" : "node",
7248 "returns" : {
7249 "description" : "Returns an object with a single `result` property.",
7250 "type" : "object"
7251 }
7252 }
7253 },
7254 "leaf" : 1,
7255 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
7256 "text" : "get-timezone"
7257 },
7258 {
7259 "info" : {
7260 "GET" : {
7261 "description" : "Execute get-users.",
7262 "method" : "GET",
7263 "name" : "get-users",
7264 "parameters" : {
7265 "additionalProperties" : 0,
7266 "properties" : {
7267 "node" : {
7268 "description" : "The cluster node name.",
7269 "format" : "pve-node",
7270 "type" : "string",
7271 "typetext" : "<string>"
7272 },
7273 "vmid" : {
7274 "description" : "The (unique) ID of the VM.",
7275 "format" : "pve-vmid",
7276 "minimum" : 1,
7277 "type" : "integer",
7278 "typetext" : "<integer> (1 - N)"
7279 }
7280 }
7281 },
7282 "permissions" : {
7283 "check" : [
7284 "perm",
7285 "/vms/{vmid}",
7286 [
7287 "VM.Monitor"
7288 ]
7289 ]
7290 },
7291 "protected" : 1,
7292 "proxyto" : "node",
7293 "returns" : {
7294 "description" : "Returns an object with a single `result` property.",
7295 "type" : "object"
7296 }
7297 }
7298 },
7299 "leaf" : 1,
7300 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
7301 "text" : "get-users"
7302 },
7303 {
7304 "info" : {
7305 "GET" : {
7306 "description" : "Execute get-vcpus.",
7307 "method" : "GET",
7308 "name" : "get-vcpus",
7309 "parameters" : {
7310 "additionalProperties" : 0,
7311 "properties" : {
7312 "node" : {
7313 "description" : "The cluster node name.",
7314 "format" : "pve-node",
7315 "type" : "string",
7316 "typetext" : "<string>"
7317 },
7318 "vmid" : {
7319 "description" : "The (unique) ID of the VM.",
7320 "format" : "pve-vmid",
7321 "minimum" : 1,
7322 "type" : "integer",
7323 "typetext" : "<integer> (1 - N)"
7324 }
7325 }
7326 },
7327 "permissions" : {
7328 "check" : [
7329 "perm",
7330 "/vms/{vmid}",
7331 [
7332 "VM.Monitor"
7333 ]
7334 ]
7335 },
7336 "protected" : 1,
7337 "proxyto" : "node",
7338 "returns" : {
7339 "description" : "Returns an object with a single `result` property.",
7340 "type" : "object"
7341 }
7342 }
7343 },
7344 "leaf" : 1,
7345 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
7346 "text" : "get-vcpus"
7347 },
7348 {
7349 "info" : {
7350 "GET" : {
7351 "description" : "Execute info.",
7352 "method" : "GET",
7353 "name" : "info",
7354 "parameters" : {
7355 "additionalProperties" : 0,
7356 "properties" : {
7357 "node" : {
7358 "description" : "The cluster node name.",
7359 "format" : "pve-node",
7360 "type" : "string",
7361 "typetext" : "<string>"
7362 },
7363 "vmid" : {
7364 "description" : "The (unique) ID of the VM.",
7365 "format" : "pve-vmid",
7366 "minimum" : 1,
7367 "type" : "integer",
7368 "typetext" : "<integer> (1 - N)"
7369 }
7370 }
7371 },
7372 "permissions" : {
7373 "check" : [
7374 "perm",
7375 "/vms/{vmid}",
7376 [
7377 "VM.Monitor"
7378 ]
7379 ]
7380 },
7381 "protected" : 1,
7382 "proxyto" : "node",
7383 "returns" : {
7384 "description" : "Returns an object with a single `result` property.",
7385 "type" : "object"
7386 }
7387 }
7388 },
7389 "leaf" : 1,
7390 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
7391 "text" : "info"
7392 },
7393 {
7394 "info" : {
7395 "GET" : {
7396 "description" : "Execute network-get-interfaces.",
7397 "method" : "GET",
7398 "name" : "network-get-interfaces",
7399 "parameters" : {
7400 "additionalProperties" : 0,
7401 "properties" : {
7402 "node" : {
7403 "description" : "The cluster node name.",
7404 "format" : "pve-node",
7405 "type" : "string",
7406 "typetext" : "<string>"
7407 },
7408 "vmid" : {
7409 "description" : "The (unique) ID of the VM.",
7410 "format" : "pve-vmid",
7411 "minimum" : 1,
7412 "type" : "integer",
7413 "typetext" : "<integer> (1 - N)"
7414 }
7415 }
7416 },
7417 "permissions" : {
7418 "check" : [
7419 "perm",
7420 "/vms/{vmid}",
7421 [
7422 "VM.Monitor"
7423 ]
7424 ]
7425 },
7426 "protected" : 1,
7427 "proxyto" : "node",
7428 "returns" : {
7429 "description" : "Returns an object with a single `result` property.",
7430 "type" : "object"
7431 }
7432 }
7433 },
7434 "leaf" : 1,
7435 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
7436 "text" : "network-get-interfaces"
7437 },
7438 {
7439 "info" : {
7440 "POST" : {
7441 "description" : "Execute ping.",
7442 "method" : "POST",
7443 "name" : "ping",
7444 "parameters" : {
7445 "additionalProperties" : 0,
7446 "properties" : {
7447 "node" : {
7448 "description" : "The cluster node name.",
7449 "format" : "pve-node",
7450 "type" : "string",
7451 "typetext" : "<string>"
7452 },
7453 "vmid" : {
7454 "description" : "The (unique) ID of the VM.",
7455 "format" : "pve-vmid",
7456 "minimum" : 1,
7457 "type" : "integer",
7458 "typetext" : "<integer> (1 - N)"
7459 }
7460 }
7461 },
7462 "permissions" : {
7463 "check" : [
7464 "perm",
7465 "/vms/{vmid}",
7466 [
7467 "VM.Monitor"
7468 ]
7469 ]
7470 },
7471 "protected" : 1,
7472 "proxyto" : "node",
7473 "returns" : {
7474 "description" : "Returns an object with a single `result` property.",
7475 "type" : "object"
7476 }
7477 }
7478 },
7479 "leaf" : 1,
7480 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
7481 "text" : "ping"
7482 },
7483 {
7484 "info" : {
7485 "POST" : {
7486 "description" : "Execute shutdown.",
7487 "method" : "POST",
7488 "name" : "shutdown",
7489 "parameters" : {
7490 "additionalProperties" : 0,
7491 "properties" : {
7492 "node" : {
7493 "description" : "The cluster node name.",
7494 "format" : "pve-node",
7495 "type" : "string",
7496 "typetext" : "<string>"
7497 },
7498 "vmid" : {
7499 "description" : "The (unique) ID of the VM.",
7500 "format" : "pve-vmid",
7501 "minimum" : 1,
7502 "type" : "integer",
7503 "typetext" : "<integer> (1 - N)"
7504 }
7505 }
7506 },
7507 "permissions" : {
7508 "check" : [
7509 "perm",
7510 "/vms/{vmid}",
7511 [
7512 "VM.Monitor"
7513 ]
7514 ]
7515 },
7516 "protected" : 1,
7517 "proxyto" : "node",
7518 "returns" : {
7519 "description" : "Returns an object with a single `result` property.",
7520 "type" : "object"
7521 }
7522 }
7523 },
7524 "leaf" : 1,
7525 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
7526 "text" : "shutdown"
7527 },
7528 {
7529 "info" : {
7530 "POST" : {
7531 "description" : "Execute suspend-disk.",
7532 "method" : "POST",
7533 "name" : "suspend-disk",
7534 "parameters" : {
7535 "additionalProperties" : 0,
7536 "properties" : {
7537 "node" : {
7538 "description" : "The cluster node name.",
7539 "format" : "pve-node",
7540 "type" : "string",
7541 "typetext" : "<string>"
7542 },
7543 "vmid" : {
7544 "description" : "The (unique) ID of the VM.",
7545 "format" : "pve-vmid",
7546 "minimum" : 1,
7547 "type" : "integer",
7548 "typetext" : "<integer> (1 - N)"
7549 }
7550 }
7551 },
7552 "permissions" : {
7553 "check" : [
7554 "perm",
7555 "/vms/{vmid}",
7556 [
7557 "VM.Monitor"
7558 ]
7559 ]
7560 },
7561 "protected" : 1,
7562 "proxyto" : "node",
7563 "returns" : {
7564 "description" : "Returns an object with a single `result` property.",
7565 "type" : "object"
7566 }
7567 }
7568 },
7569 "leaf" : 1,
7570 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
7571 "text" : "suspend-disk"
7572 },
7573 {
7574 "info" : {
7575 "POST" : {
7576 "description" : "Execute suspend-hybrid.",
7577 "method" : "POST",
7578 "name" : "suspend-hybrid",
7579 "parameters" : {
7580 "additionalProperties" : 0,
7581 "properties" : {
7582 "node" : {
7583 "description" : "The cluster node name.",
7584 "format" : "pve-node",
7585 "type" : "string",
7586 "typetext" : "<string>"
7587 },
7588 "vmid" : {
7589 "description" : "The (unique) ID of the VM.",
7590 "format" : "pve-vmid",
7591 "minimum" : 1,
7592 "type" : "integer",
7593 "typetext" : "<integer> (1 - N)"
7594 }
7595 }
7596 },
7597 "permissions" : {
7598 "check" : [
7599 "perm",
7600 "/vms/{vmid}",
7601 [
7602 "VM.Monitor"
7603 ]
7604 ]
7605 },
7606 "protected" : 1,
7607 "proxyto" : "node",
7608 "returns" : {
7609 "description" : "Returns an object with a single `result` property.",
7610 "type" : "object"
7611 }
7612 }
7613 },
7614 "leaf" : 1,
7615 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
7616 "text" : "suspend-hybrid"
7617 },
7618 {
7619 "info" : {
7620 "POST" : {
7621 "description" : "Execute suspend-ram.",
7622 "method" : "POST",
7623 "name" : "suspend-ram",
7624 "parameters" : {
7625 "additionalProperties" : 0,
7626 "properties" : {
7627 "node" : {
7628 "description" : "The cluster node name.",
7629 "format" : "pve-node",
7630 "type" : "string",
7631 "typetext" : "<string>"
7632 },
7633 "vmid" : {
7634 "description" : "The (unique) ID of the VM.",
7635 "format" : "pve-vmid",
7636 "minimum" : 1,
7637 "type" : "integer",
7638 "typetext" : "<integer> (1 - N)"
7639 }
7640 }
7641 },
7642 "permissions" : {
7643 "check" : [
7644 "perm",
7645 "/vms/{vmid}",
7646 [
7647 "VM.Monitor"
7648 ]
7649 ]
7650 },
7651 "protected" : 1,
7652 "proxyto" : "node",
7653 "returns" : {
7654 "description" : "Returns an object with a single `result` property.",
7655 "type" : "object"
7656 }
7657 }
7658 },
7659 "leaf" : 1,
7660 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
7661 "text" : "suspend-ram"
4d47f125
TL
7662 },
7663 {
7664 "info" : {
7665 "POST" : {
7666 "description" : "Sets the password for the given user to the given password",
7667 "method" : "POST",
7668 "name" : "set-user-password",
7669 "parameters" : {
7670 "additionalProperties" : 0,
7671 "properties" : {
7672 "crypted" : {
7673 "default" : 0,
7674 "description" : "set to 1 if the password has already been passed through crypt()",
7675 "optional" : 1,
7676 "type" : "boolean",
7677 "typetext" : "<boolean>"
7678 },
7679 "node" : {
7680 "description" : "The cluster node name.",
7681 "format" : "pve-node",
7682 "type" : "string",
7683 "typetext" : "<string>"
7684 },
7685 "password" : {
7686 "description" : "The new password.",
7687 "maxLength" : 64,
7688 "minLength" : 5,
7689 "type" : "string",
7690 "typetext" : "<string>"
7691 },
7692 "username" : {
7693 "description" : "The user to set the password for.",
7694 "type" : "string",
7695 "typetext" : "<string>"
7696 },
7697 "vmid" : {
7698 "description" : "The (unique) ID of the VM.",
7699 "format" : "pve-vmid",
7700 "minimum" : 1,
7701 "type" : "integer",
7702 "typetext" : "<integer> (1 - N)"
7703 }
7704 }
27a7acb2 7705 },
4d47f125
TL
7706 "permissions" : {
7707 "check" : [
7708 "perm",
7709 "/vms/{vmid}",
7710 [
7711 "VM.Monitor"
7712 ]
7713 ]
7714 },
7715 "protected" : 1,
7716 "proxyto" : "node",
7717 "returns" : {
7718 "description" : "Returns an object with a single `result` property.",
7719 "type" : "object"
27a7acb2
DM
7720 }
7721 }
7722 },
4d47f125
TL
7723 "leaf" : 1,
7724 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
7725 "text" : "set-user-password"
27a7acb2 7726 },
4d47f125
TL
7727 {
7728 "info" : {
7729 "POST" : {
7730 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
7731 "method" : "POST",
7732 "name" : "exec",
7733 "parameters" : {
7734 "additionalProperties" : 0,
7735 "properties" : {
7736 "command" : {
7737 "description" : "The command as a list of program + arguments",
7738 "format" : "string-alist",
7739 "type" : "string",
7740 "typetext" : "<string>"
7741 },
7742 "node" : {
7743 "description" : "The cluster node name.",
7744 "format" : "pve-node",
7745 "type" : "string",
7746 "typetext" : "<string>"
7747 },
7748 "vmid" : {
7749 "description" : "The (unique) ID of the VM.",
7750 "format" : "pve-vmid",
7751 "minimum" : 1,
7752 "type" : "integer",
7753 "typetext" : "<integer> (1 - N)"
7754 }
7755 }
27a7acb2 7756 },
4d47f125
TL
7757 "permissions" : {
7758 "check" : [
7759 "perm",
7760 "/vms/{vmid}",
7761 [
7762 "VM.Monitor"
7763 ]
7764 ]
27a7acb2 7765 },
4d47f125
TL
7766 "protected" : 1,
7767 "proxyto" : "node",
7768 "returns" : {
7769 "properties" : {
7770 "pid" : {
7771 "description" : "The PID of the process started by the guest-agent.",
7772 "type" : "integer"
7773 }
7774 },
7775 "type" : "object"
27a7acb2
DM
7776 }
7777 }
7778 },
4d47f125
TL
7779 "leaf" : 1,
7780 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
7781 "text" : "exec"
7782 },
7783 {
7784 "info" : {
7785 "GET" : {
7786 "description" : "Gets the status of the given pid started by the guest-agent",
7787 "method" : "GET",
7788 "name" : "exec-status",
7789 "parameters" : {
7790 "additionalProperties" : 0,
7791 "properties" : {
7792 "node" : {
7793 "description" : "The cluster node name.",
7794 "format" : "pve-node",
7795 "type" : "string",
7796 "typetext" : "<string>"
7797 },
7798 "pid" : {
7799 "description" : "The PID to query",
7800 "type" : "integer",
7801 "typetext" : "<integer>"
7802 },
7803 "vmid" : {
7804 "description" : "The (unique) ID of the VM.",
7805 "format" : "pve-vmid",
7806 "minimum" : 1,
7807 "type" : "integer",
7808 "typetext" : "<integer> (1 - N)"
7809 }
7810 }
56122987 7811 },
4d47f125
TL
7812 "permissions" : {
7813 "check" : [
7814 "perm",
7815 "/vms/{vmid}",
7816 [
7817 "VM.Monitor"
7818 ]
7819 ]
56122987 7820 },
4d47f125
TL
7821 "protected" : 1,
7822 "proxyto" : "node",
7823 "returns" : {
7824 "properties" : {
7825 "err-data" : {
7826 "description" : "stderr of the process",
7827 "optional" : 1,
7828 "type" : "string"
7829 },
7830 "err-truncated" : {
7831 "description" : "true if stderr was not fully captured",
7832 "optional" : 1,
7833 "type" : "boolean"
7834 },
7835 "exitcode" : {
7836 "description" : "process exit code if it was normally terminated.",
7837 "optional" : 1,
7838 "type" : "integer"
7839 },
7840 "exited" : {
7841 "description" : "Tells if the given command has exited yet.",
7842 "type" : "boolean"
7843 },
7844 "out-data" : {
7845 "description" : "stdout of the process",
7846 "optional" : 1,
7847 "type" : "string"
7848 },
7849 "out-truncated" : {
7850 "description" : "true if stdout was not fully captured",
7851 "optional" : 1,
7852 "type" : "boolean"
7853 },
7854 "signal" : {
7855 "description" : "signal number or exception code if the process was abnormally terminated.",
7856 "optional" : 1,
7857 "type" : "integer"
7858 }
7859 },
7860 "type" : "object"
56122987
DM
7861 }
7862 }
7863 },
4d47f125
TL
7864 "leaf" : 1,
7865 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
7866 "text" : "exec-status"
7867 },
7868 {
7869 "info" : {
7870 "GET" : {
7871 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
7872 "method" : "GET",
7873 "name" : "file-read",
7874 "parameters" : {
7875 "additionalProperties" : 0,
7876 "properties" : {
7877 "file" : {
7878 "description" : "The path to the file",
7879 "type" : "string",
7880 "typetext" : "<string>"
7881 },
7882 "node" : {
7883 "description" : "The cluster node name.",
7884 "format" : "pve-node",
7885 "type" : "string",
7886 "typetext" : "<string>"
7887 },
7888 "vmid" : {
7889 "description" : "The (unique) ID of the VM.",
7890 "format" : "pve-vmid",
7891 "minimum" : 1,
7892 "type" : "integer",
7893 "typetext" : "<integer> (1 - N)"
7894 }
7895 }
7896 },
7897 "permissions" : {
7898 "check" : [
7899 "perm",
7900 "/vms/{vmid}",
7901 [
7902 "VM.Monitor"
7903 ]
7904 ]
7905 },
7906 "protected" : 1,
7907 "proxyto" : "node",
7908 "returns" : {
7909 "description" : "Returns an object with a `content` property.",
7910 "properties" : {
7911 "content" : {
7912 "description" : "The content of the file, maximum 16777216",
7913 "type" : "string"
7914 },
7915 "truncated" : {
7916 "description" : "If set to 1, the output is truncated and not complete",
7917 "optional" : 1,
7918 "type" : "boolean"
7919 }
7920 },
7921 "type" : "object"
7922 }
7923 }
56122987 7924 },
4d47f125
TL
7925 "leaf" : 1,
7926 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
7927 "text" : "file-read"
7928 },
7929 {
7930 "info" : {
7931 "POST" : {
7932 "description" : "Writes the given file via guest agent.",
7933 "method" : "POST",
7934 "name" : "file-write",
7935 "parameters" : {
7936 "additionalProperties" : 0,
7937 "properties" : {
7938 "content" : {
7939 "description" : "The content to write into the file.",
7940 "maxLength" : 61440,
7941 "type" : "string",
7942 "typetext" : "<string>"
7943 },
7944 "file" : {
7945 "description" : "The path to the file.",
7946 "type" : "string",
7947 "typetext" : "<string>"
7948 },
7949 "node" : {
7950 "description" : "The cluster node name.",
7951 "format" : "pve-node",
7952 "type" : "string",
7953 "typetext" : "<string>"
7954 },
7955 "vmid" : {
7956 "description" : "The (unique) ID of the VM.",
7957 "format" : "pve-vmid",
7958 "minimum" : 1,
7959 "type" : "integer",
7960 "typetext" : "<integer> (1 - N)"
7961 }
7962 }
7963 },
7964 "permissions" : {
7965 "check" : [
7966 "perm",
7967 "/vms/{vmid}",
7968 [
7969 "VM.Monitor"
7970 ]
7971 ]
7972 },
7973 "protected" : 1,
7974 "proxyto" : "node",
7975 "returns" : {
7976 "type" : "null"
7aacca6f 7977 }
4d47f125
TL
7978 }
7979 },
7980 "leaf" : 1,
7981 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
7982 "text" : "file-write"
56122987 7983 }
4d47f125 7984 ],
7aacca6f 7985 "info" : {
56122987 7986 "GET" : {
4d47f125 7987 "description" : "Qemu Agent command index.",
44660702 7988 "method" : "GET",
4d47f125 7989 "name" : "index",
56122987 7990 "parameters" : {
4d47f125 7991 "additionalProperties" : 1,
56122987
DM
7992 "properties" : {
7993 "node" : {
44660702 7994 "description" : "The cluster node name.",
56122987 7995 "format" : "pve-node",
013dc89f
DM
7996 "type" : "string",
7997 "typetext" : "<string>"
56122987 7998 },
7aacca6f 7999 "vmid" : {
7aacca6f
DM
8000 "description" : "The (unique) ID of the VM.",
8001 "format" : "pve-vmid",
44660702 8002 "minimum" : 1,
4bd7df8b 8003 "type" : "integer",
013dc89f 8004 "typetext" : "<integer> (1 - N)"
56122987 8005 }
44660702 8006 }
56122987 8007 },
56122987 8008 "permissions" : {
4d47f125 8009 "user" : "all"
56122987 8010 },
4d47f125 8011 "proxyto" : "node",
7aacca6f 8012 "returns" : {
4d47f125 8013 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 8014 "items" : {
44660702
DM
8015 "properties" : {},
8016 "type" : "object"
8017 },
4d47f125
TL
8018 "links" : [
8019 {
8020 "href" : "{name}",
8021 "rel" : "child"
8022 }
8023 ],
44660702 8024 "type" : "array"
7aacca6f 8025 }
4d47f125
TL
8026 },
8027 "POST" : {
8028 "description" : "Execute Qemu Guest Agent commands.",
8029 "method" : "POST",
8030 "name" : "agent",
44660702
DM
8031 "parameters" : {
8032 "additionalProperties" : 0,
8033 "properties" : {
4d47f125
TL
8034 "command" : {
8035 "description" : "The QGA command.",
8036 "enum" : [
8037 "fsfreeze-freeze",
8038 "fsfreeze-status",
8039 "fsfreeze-thaw",
8040 "fstrim",
8041 "get-fsinfo",
8042 "get-host-name",
8043 "get-memory-block-info",
8044 "get-memory-blocks",
8045 "get-osinfo",
8046 "get-time",
8047 "get-timezone",
8048 "get-users",
8049 "get-vcpus",
8050 "info",
8051 "network-get-interfaces",
8052 "ping",
8053 "shutdown",
8054 "suspend-disk",
8055 "suspend-hybrid",
8056 "suspend-ram"
8057 ],
8058 "type" : "string"
8059 },
8060 "node" : {
8061 "description" : "The cluster node name.",
8062 "format" : "pve-node",
8063 "type" : "string",
8064 "typetext" : "<string>"
8065 },
8066 "vmid" : {
8067 "description" : "The (unique) ID of the VM.",
8068 "format" : "pve-vmid",
8069 "minimum" : 1,
8070 "type" : "integer",
8071 "typetext" : "<integer> (1 - N)"
8072 }
8073 }
8074 },
8075 "permissions" : {
8076 "check" : [
8077 "perm",
8078 "/vms/{vmid}",
8079 [
8080 "VM.Monitor"
8081 ]
8082 ]
8083 },
8084 "protected" : 1,
8085 "proxyto" : "node",
8086 "returns" : {
8087 "description" : "Returns an object with a single `result` property.",
8088 "type" : "object"
8089 }
8090 }
8091 },
8092 "leaf" : 0,
8093 "path" : "/nodes/{node}/qemu/{vmid}/agent",
8094 "text" : "agent"
8095 },
8096 {
8097 "info" : {
8098 "GET" : {
8099 "description" : "Read VM RRD statistics (returns PNG)",
8100 "method" : "GET",
8101 "name" : "rrd",
8102 "parameters" : {
8103 "additionalProperties" : 0,
8104 "properties" : {
8105 "cf" : {
8106 "description" : "The RRD consolidation function",
8107 "enum" : [
8108 "AVERAGE",
8109 "MAX"
8110 ],
44660702 8111 "optional" : 1,
4d47f125
TL
8112 "type" : "string"
8113 },
8114 "ds" : {
8115 "description" : "The list of datasources you want to display.",
8116 "format" : "pve-configid-list",
8117 "type" : "string",
8118 "typetext" : "<string>"
44660702
DM
8119 },
8120 "node" : {
8121 "description" : "The cluster node name.",
8122 "format" : "pve-node",
013dc89f
DM
8123 "type" : "string",
8124 "typetext" : "<string>"
44660702 8125 },
4d47f125
TL
8126 "timeframe" : {
8127 "description" : "Specify the time frame you are interested in.",
8128 "enum" : [
8129 "hour",
8130 "day",
8131 "week",
8132 "month",
8133 "year"
8134 ],
8135 "type" : "string"
8136 },
44660702
DM
8137 "vmid" : {
8138 "description" : "The (unique) ID of the VM.",
8139 "format" : "pve-vmid",
8140 "minimum" : 1,
4bd7df8b 8141 "type" : "integer",
013dc89f 8142 "typetext" : "<integer> (1 - N)"
44660702
DM
8143 }
8144 }
7aacca6f 8145 },
56122987
DM
8146 "permissions" : {
8147 "check" : [
8148 "perm",
8149 "/vms/{vmid}",
8150 [
44660702
DM
8151 "VM.Audit"
8152 ]
56122987
DM
8153 ]
8154 },
4d47f125 8155 "protected" : 1,
44660702
DM
8156 "returns" : {
8157 "properties" : {
4d47f125 8158 "filename" : {
44660702
DM
8159 "type" : "string"
8160 }
8161 },
8162 "type" : "object"
8163 }
4d47f125
TL
8164 }
8165 },
8166 "leaf" : 1,
8167 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
8168 "text" : "rrd"
8169 },
8170 {
8171 "info" : {
8172 "GET" : {
8173 "description" : "Read VM RRD statistics",
8174 "method" : "GET",
8175 "name" : "rrddata",
8176 "parameters" : {
8177 "additionalProperties" : 0,
8178 "properties" : {
8179 "cf" : {
8180 "description" : "The RRD consolidation function",
8181 "enum" : [
8182 "AVERAGE",
8183 "MAX"
8184 ],
8185 "optional" : 1,
8186 "type" : "string"
8187 },
8188 "node" : {
8189 "description" : "The cluster node name.",
8190 "format" : "pve-node",
8191 "type" : "string",
8192 "typetext" : "<string>"
8193 },
8194 "timeframe" : {
8195 "description" : "Specify the time frame you are interested in.",
8196 "enum" : [
8197 "hour",
8198 "day",
8199 "week",
8200 "month",
8201 "year"
8202 ],
8203 "type" : "string"
8204 },
8205 "vmid" : {
8206 "description" : "The (unique) ID of the VM.",
8207 "format" : "pve-vmid",
8208 "minimum" : 1,
8209 "type" : "integer",
8210 "typetext" : "<integer> (1 - N)"
8211 }
8212 }
8213 },
8214 "permissions" : {
8215 "check" : [
8216 "perm",
8217 "/vms/{vmid}",
8218 [
8219 "VM.Audit"
8220 ]
8221 ]
8222 },
8223 "protected" : 1,
8224 "returns" : {
8225 "items" : {
8226 "properties" : {},
8227 "type" : "object"
8228 },
8229 "type" : "array"
8230 }
8231 }
8232 },
8233 "leaf" : 1,
8234 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
8235 "text" : "rrddata"
8236 },
8237 {
8238 "info" : {
8239 "GET" : {
8240 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
8241 "method" : "GET",
8242 "name" : "vm_config",
56122987 8243 "parameters" : {
44660702 8244 "additionalProperties" : 0,
4d47f125
TL
8245 "properties" : {
8246 "current" : {
8247 "default" : 0,
8248 "description" : "Get current values (instead of pending values).",
8249 "optional" : 1,
8250 "type" : "boolean",
8251 "typetext" : "<boolean>"
8252 },
8253 "node" : {
8254 "description" : "The cluster node name.",
8255 "format" : "pve-node",
8256 "type" : "string",
8257 "typetext" : "<string>"
8258 },
5f26e15b
TL
8259 "snapshot" : {
8260 "description" : "Fetch config values from given snapshot.",
8261 "format" : "pve-configid",
8262 "maxLength" : 40,
8263 "optional" : 1,
8264 "type" : "string",
8265 "typetext" : "<string>"
8266 },
4d47f125
TL
8267 "vmid" : {
8268 "description" : "The (unique) ID of the VM.",
8269 "format" : "pve-vmid",
8270 "minimum" : 1,
8271 "type" : "integer",
8272 "typetext" : "<integer> (1 - N)"
8273 }
8274 }
8275 },
8276 "permissions" : {
8277 "check" : [
8278 "perm",
8279 "/vms/{vmid}",
8280 [
8281 "VM.Audit"
8282 ]
8283 ]
8284 },
8285 "proxyto" : "node",
8286 "returns" : {
8287 "description" : "The current VM configuration.",
56122987 8288 "properties" : {
44660702
DM
8289 "acpi" : {
8290 "default" : 1,
8291 "description" : "Enable/disable ACPI.",
8292 "optional" : 1,
4d47f125 8293 "type" : "boolean"
44660702
DM
8294 },
8295 "agent" : {
4d47f125
TL
8296 "description" : "Enable/disable Qemu GuestAgent and its properties.",
8297 "format" : {
8298 "enabled" : {
8299 "default" : 0,
8300 "default_key" : 1,
8301 "description" : "Enable/disable Qemu GuestAgent.",
8302 "type" : "boolean"
8303 },
8304 "fstrim_cloned_disks" : {
8305 "default" : 0,
8306 "description" : "Run fstrim after cloning/moving a disk.",
8307 "optional" : 1,
8308 "type" : "boolean"
8309 }
8310 },
7aacca6f 8311 "optional" : 1,
4d47f125 8312 "type" : "string"
7aacca6f 8313 },
e2d681b3
TL
8314 "arch" : {
8315 "description" : "Virtual processor architecture. Defaults to the host.",
8316 "enum" : [
8317 "x86_64",
8318 "aarch64"
8319 ],
8320 "optional" : 1,
8321 "type" : "string"
8322 },
44660702 8323 "args" : {
c2993fe5 8324 "description" : "Arbitrary arguments passed to kvm.",
44660702 8325 "optional" : 1,
c2993fe5
DM
8326 "type" : "string",
8327 "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 8328 },
44660702
DM
8329 "autostart" : {
8330 "default" : 0,
8331 "description" : "Automatic restart after crash (currently ignored).",
56122987 8332 "optional" : 1,
4d47f125 8333 "type" : "boolean"
56122987 8334 },
4d47f125
TL
8335 "balloon" : {
8336 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
8337 "minimum" : 0,
7aacca6f 8338 "optional" : 1,
4d47f125 8339 "type" : "integer"
7aacca6f 8340 },
44660702
DM
8341 "bios" : {
8342 "default" : "seabios",
8343 "description" : "Select BIOS implementation.",
8344 "enum" : [
8345 "seabios",
8346 "ovmf"
8347 ],
56122987 8348 "optional" : 1,
44660702 8349 "type" : "string"
7aacca6f 8350 },
44660702
DM
8351 "boot" : {
8352 "default" : "cdn",
8353 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
8354 "optional" : 1,
8355 "pattern" : "[acdn]{1,4}",
8356 "type" : "string"
8357 },
8358 "bootdisk" : {
8359 "description" : "Enable booting from specified disk.",
8360 "format" : "pve-qm-bootdisk",
8361 "optional" : 1,
8362 "pattern" : "(ide|sata|scsi|virtio)\\d+",
8363 "type" : "string"
8364 },
8365 "cdrom" : {
8366 "description" : "This is an alias for option -ide2",
de0983cb 8367 "format" : "pve-qm-ide",
44660702 8368 "optional" : 1,
7aacca6f 8369 "type" : "string",
013dc89f 8370 "typetext" : "<volume>"
44660702 8371 },
95895385
TL
8372 "cicustom" : {
8373 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
8374 "format" : "pve-qm-cicustom",
8375 "optional" : 1,
8376 "type" : "string"
8377 },
27a7acb2
DM
8378 "cipassword" : {
8379 "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.",
8380 "optional" : 1,
4d47f125 8381 "type" : "string"
27a7acb2
DM
8382 },
8383 "citype" : {
8384 "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.",
8385 "enum" : [
8386 "configdrive2",
8387 "nocloud"
8388 ],
8389 "optional" : 1,
8390 "type" : "string"
8391 },
8392 "ciuser" : {
8393 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
8394 "optional" : 1,
4d47f125 8395 "type" : "string"
27a7acb2 8396 },
44660702
DM
8397 "cores" : {
8398 "default" : 1,
8399 "description" : "The number of cores per socket.",
8400 "minimum" : 1,
7aacca6f 8401 "optional" : 1,
4d47f125 8402 "type" : "integer"
7aacca6f 8403 },
44660702
DM
8404 "cpu" : {
8405 "description" : "Emulated CPU type.",
56122987 8406 "format" : {
44660702
DM
8407 "cputype" : {
8408 "default" : "kvm64",
7aacca6f 8409 "default_key" : 1,
44660702 8410 "description" : "Emulated CPU type.",
56122987 8411 "enum" : [
44660702
DM
8412 "486",
8413 "athlon",
f004f5b9 8414 "Broadwell",
35a75dd3 8415 "Broadwell-IBRS",
f004f5b9 8416 "Broadwell-noTSX",
35a75dd3 8417 "Broadwell-noTSX-IBRS",
f004f5b9 8418 "Conroe",
44660702 8419 "core2duo",
f004f5b9 8420 "coreduo",
27a7acb2
DM
8421 "EPYC",
8422 "EPYC-IBPB",
f004f5b9 8423 "Haswell",
35a75dd3 8424 "Haswell-IBRS",
f004f5b9 8425 "Haswell-noTSX",
35a75dd3 8426 "Haswell-noTSX-IBRS",
f004f5b9
DM
8427 "host",
8428 "IvyBridge",
35a75dd3 8429 "IvyBridge-IBRS",
44660702
DM
8430 "kvm32",
8431 "kvm64",
35a75dd3 8432 "max",
44660702 8433 "Nehalem",
35a75dd3 8434 "Nehalem-IBRS",
44660702
DM
8435 "Opteron_G1",
8436 "Opteron_G2",
8437 "Opteron_G3",
8438 "Opteron_G4",
8439 "Opteron_G5",
f004f5b9
DM
8440 "Penryn",
8441 "pentium",
8442 "pentium2",
8443 "pentium3",
8444 "phenom",
8445 "qemu32",
8446 "qemu64",
8447 "SandyBridge",
35a75dd3 8448 "SandyBridge-IBRS",
5d9c884c 8449 "Skylake-Client",
35a75dd3
DM
8450 "Skylake-Client-IBRS",
8451 "Skylake-Server",
8452 "Skylake-Server-IBRS",
8453 "Westmere",
8454 "Westmere-IBRS"
56122987 8455 ],
56122987
DM
8456 "type" : "string"
8457 },
35a75dd3 8458 "flags" : {
4d47f125 8459 "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'.",
35a75dd3
DM
8460 "format_description" : "+FLAG[;-FLAG...]",
8461 "optional" : 1,
4d47f125 8462 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
35a75dd3
DM
8463 "type" : "string"
8464 },
44660702
DM
8465 "hidden" : {
8466 "default" : 0,
8467 "description" : "Do not identify as a KVM virtual machine.",
56122987 8468 "optional" : 1,
44660702 8469 "type" : "boolean"
5f26e15b
TL
8470 },
8471 "hv-vendor-id" : {
8472 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
8473 "format_description" : "vendor-id",
8474 "optional" : 1,
8475 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
8476 "type" : "string"
44660702
DM
8477 }
8478 },
8479 "optional" : 1,
4d47f125 8480 "type" : "string"
44660702
DM
8481 },
8482 "cpulimit" : {
8483 "default" : 0,
c2993fe5 8484 "description" : "Limit of CPU usage.",
44660702
DM
8485 "maximum" : 128,
8486 "minimum" : 0,
8487 "optional" : 1,
c2993fe5
DM
8488 "type" : "number",
8489 "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
8490 },
8491 "cpuunits" : {
de0983cb 8492 "default" : 1024,
c2993fe5 8493 "description" : "CPU weight for a VM.",
2489d6df
WB
8494 "maximum" : 262144,
8495 "minimum" : 2,
44660702 8496 "optional" : 1,
c2993fe5 8497 "type" : "integer",
2489d6df 8498 "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 8499 },
44660702
DM
8500 "description" : {
8501 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
8502 "optional" : 1,
4d47f125 8503 "type" : "string"
44660702
DM
8504 },
8505 "digest" : {
4d47f125
TL
8506 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
8507 "type" : "string"
44660702 8508 },
4d47f125
TL
8509 "efidisk0" : {
8510 "description" : "Configure a Disk for storing EFI vars",
8511 "format" : {
8512 "file" : {
8513 "default_key" : 1,
8514 "description" : "The drive's backing volume.",
8515 "format" : "pve-volume-id-or-qm-path",
8516 "format_description" : "volume",
8517 "type" : "string"
8518 },
8519 "format" : {
8520 "description" : "The drive's backing file's data format.",
8521 "enum" : [
8522 "raw",
8523 "cow",
8524 "qcow",
8525 "qed",
8526 "qcow2",
8527 "vmdk",
8528 "cloop"
8529 ],
8530 "optional" : 1,
8531 "type" : "string"
8532 },
8533 "size" : {
8534 "description" : "Disk size. This is purely informational and has no effect.",
8535 "format" : "disk-size",
8536 "format_description" : "DiskSize",
8537 "optional" : 1,
8538 "type" : "string"
8539 },
8540 "volume" : {
8541 "alias" : "file"
8542 }
8543 },
44660702 8544 "optional" : 1,
4d47f125 8545 "type" : "string"
44660702
DM
8546 },
8547 "freeze" : {
8548 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
8549 "optional" : 1,
4d47f125 8550 "type" : "boolean"
44660702 8551 },
5f26e15b
TL
8552 "hookscript" : {
8553 "description" : "Script that will be executed during various steps in the vms lifetime.",
8554 "format" : "pve-volume-id",
8555 "optional" : 1,
8556 "type" : "string"
8557 },
44660702 8558 "hostpci[n]" : {
c2993fe5 8559 "description" : "Map host PCI devices into guest.",
44660702
DM
8560 "format" : "pve-qm-hostpci",
8561 "optional" : 1,
57b78691 8562 "type" : "string",
bb4c8cf8 8563 "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
8564 },
8565 "hotplug" : {
8566 "default" : "network,disk,usb",
8567 "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'.",
8568 "format" : "pve-hotplug-features",
8569 "optional" : 1,
4d47f125 8570 "type" : "string"
44660702 8571 },
4bd7df8b
DM
8572 "hugepages" : {
8573 "description" : "Enable/disable hugepages memory.",
8574 "enum" : [
8575 "any",
8576 "2",
8577 "1024"
8578 ],
8579 "optional" : 1,
8580 "type" : "string"
8581 },
44660702
DM
8582 "ide[n]" : {
8583 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
8584 "format" : {
8585 "aio" : {
8586 "description" : "AIO type to use.",
8587 "enum" : [
8588 "native",
8589 "threads"
56122987 8590 ],
56122987 8591 "optional" : 1,
44660702 8592 "type" : "string"
56122987 8593 },
44660702
DM
8594 "backup" : {
8595 "description" : "Whether the drive should be included when making backups.",
56122987 8596 "optional" : 1,
44660702 8597 "type" : "boolean"
56122987 8598 },
7aacca6f 8599 "bps" : {
de0983cb 8600 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
8601 "format_description" : "bps",
8602 "optional" : 1,
8603 "type" : "integer"
8604 },
de0983cb
DM
8605 "bps_max_length" : {
8606 "description" : "Maximum length of I/O bursts in seconds.",
8607 "format_description" : "seconds",
8608 "minimum" : 1,
8609 "optional" : 1,
8610 "type" : "integer"
8611 },
44660702 8612 "bps_rd" : {
de0983cb 8613 "description" : "Maximum read speed in bytes per second.",
44660702 8614 "format_description" : "bps",
56122987 8615 "optional" : 1,
44660702 8616 "type" : "integer"
56122987 8617 },
de0983cb 8618 "bps_rd_length" : {
5d9c884c
DM
8619 "alias" : "bps_rd_max_length"
8620 },
8621 "bps_rd_max_length" : {
de0983cb
DM
8622 "description" : "Maximum length of read I/O bursts in seconds.",
8623 "format_description" : "seconds",
8624 "minimum" : 1,
8625 "optional" : 1,
8626 "type" : "integer"
8627 },
44660702 8628 "bps_wr" : {
de0983cb 8629 "description" : "Maximum write speed in bytes per second.",
44660702
DM
8630 "format_description" : "bps",
8631 "optional" : 1,
8632 "type" : "integer"
8633 },
de0983cb 8634 "bps_wr_length" : {
5d9c884c
DM
8635 "alias" : "bps_wr_max_length"
8636 },
8637 "bps_wr_max_length" : {
de0983cb
DM
8638 "description" : "Maximum length of write I/O bursts in seconds.",
8639 "format_description" : "seconds",
8640 "minimum" : 1,
8641 "optional" : 1,
8642 "type" : "integer"
8643 },
44660702
DM
8644 "cache" : {
8645 "description" : "The drive's cache mode",
8646 "enum" : [
8647 "none",
8648 "writethrough",
8649 "writeback",
8650 "unsafe",
8651 "directsync"
8652 ],
44660702
DM
8653 "optional" : 1,
8654 "type" : "string"
8655 },
8656 "cyls" : {
8657 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8658 "optional" : 1,
8659 "type" : "integer"
8660 },
8661 "detect_zeroes" : {
8662 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8663 "optional" : 1,
8664 "type" : "boolean"
8665 },
8666 "discard" : {
8667 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8668 "enum" : [
8669 "ignore",
8670 "on"
8671 ],
56122987 8672 "optional" : 1,
44660702
DM
8673 "type" : "string"
8674 },
8675 "file" : {
8676 "default_key" : 1,
8677 "description" : "The drive's backing volume.",
8678 "format" : "pve-volume-id-or-qm-path",
8679 "format_description" : "volume",
8680 "type" : "string"
56122987 8681 },
7aacca6f 8682 "format" : {
7aacca6f 8683 "description" : "The drive's backing file's data format.",
56122987 8684 "enum" : [
7aacca6f
DM
8685 "raw",
8686 "cow",
8687 "qcow",
8688 "qed",
8689 "qcow2",
8690 "vmdk",
8691 "cloop"
56122987
DM
8692 ],
8693 "optional" : 1,
56122987
DM
8694 "type" : "string"
8695 },
44660702
DM
8696 "heads" : {
8697 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8698 "optional" : 1,
8699 "type" : "integer"
7aacca6f 8700 },
44660702 8701 "iops" : {
de0983cb 8702 "description" : "Maximum r/w I/O in operations per second.",
44660702 8703 "format_description" : "iops",
56122987 8704 "optional" : 1,
44660702 8705 "type" : "integer"
56122987 8706 },
44660702 8707 "iops_max" : {
de0983cb 8708 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8709 "format_description" : "iops",
56122987 8710 "optional" : 1,
44660702 8711 "type" : "integer"
56122987 8712 },
de0983cb
DM
8713 "iops_max_length" : {
8714 "description" : "Maximum length of I/O bursts in seconds.",
8715 "format_description" : "seconds",
8716 "minimum" : 1,
8717 "optional" : 1,
8718 "type" : "integer"
8719 },
44660702 8720 "iops_rd" : {
de0983cb 8721 "description" : "Maximum read I/O in operations per second.",
44660702
DM
8722 "format_description" : "iops",
8723 "optional" : 1,
8724 "type" : "integer"
8725 },
de0983cb 8726 "iops_rd_length" : {
5d9c884c 8727 "alias" : "iops_rd_max_length"
de0983cb 8728 },
44660702 8729 "iops_rd_max" : {
de0983cb 8730 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 8731 "format_description" : "iops",
44660702
DM
8732 "optional" : 1,
8733 "type" : "integer"
8734 },
5d9c884c
DM
8735 "iops_rd_max_length" : {
8736 "description" : "Maximum length of read I/O bursts in seconds.",
8737 "format_description" : "seconds",
8738 "minimum" : 1,
8739 "optional" : 1,
8740 "type" : "integer"
8741 },
44660702 8742 "iops_wr" : {
de0983cb 8743 "description" : "Maximum write I/O in operations per second.",
44660702 8744 "format_description" : "iops",
56122987 8745 "optional" : 1,
7aacca6f 8746 "type" : "integer"
56122987 8747 },
de0983cb 8748 "iops_wr_length" : {
5d9c884c 8749 "alias" : "iops_wr_max_length"
de0983cb 8750 },
44660702 8751 "iops_wr_max" : {
de0983cb 8752 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8753 "format_description" : "iops",
7aacca6f 8754 "optional" : 1,
44660702 8755 "type" : "integer"
56122987 8756 },
5d9c884c
DM
8757 "iops_wr_max_length" : {
8758 "description" : "Maximum length of write I/O bursts in seconds.",
8759 "format_description" : "seconds",
8760 "minimum" : 1,
8761 "optional" : 1,
8762 "type" : "integer"
8763 },
44660702 8764 "mbps" : {
de0983cb 8765 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8766 "format_description" : "mbps",
8767 "optional" : 1,
8768 "type" : "number"
8769 },
8770 "mbps_max" : {
de0983cb 8771 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8772 "format_description" : "mbps",
8773 "optional" : 1,
8774 "type" : "number"
8775 },
8776 "mbps_rd" : {
de0983cb 8777 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8778 "format_description" : "mbps",
8779 "optional" : 1,
8780 "type" : "number"
8781 },
8782 "mbps_rd_max" : {
de0983cb 8783 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8784 "format_description" : "mbps",
8785 "optional" : 1,
8786 "type" : "number"
8787 },
8788 "mbps_wr" : {
de0983cb 8789 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8790 "format_description" : "mbps",
8791 "optional" : 1,
8792 "type" : "number"
8793 },
8794 "mbps_wr_max" : {
de0983cb 8795 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 8796 "format_description" : "mbps",
56122987 8797 "optional" : 1,
44660702 8798 "type" : "number"
56122987 8799 },
7aacca6f 8800 "media" : {
7aacca6f 8801 "default" : "disk",
7aacca6f
DM
8802 "description" : "The drive's media type.",
8803 "enum" : [
8804 "cdrom",
8805 "disk"
44660702 8806 ],
44660702
DM
8807 "optional" : 1,
8808 "type" : "string"
56122987 8809 },
44660702
DM
8810 "model" : {
8811 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
8812 "format" : "urlencoded",
8813 "format_description" : "model",
8814 "maxLength" : 120,
56122987 8815 "optional" : 1,
44660702 8816 "type" : "string"
56122987 8817 },
5d9c884c
DM
8818 "replicate" : {
8819 "default" : 1,
8820 "description" : "Whether the drive should considered for replication jobs.",
8821 "optional" : 1,
8822 "type" : "boolean"
8823 },
44660702
DM
8824 "rerror" : {
8825 "description" : "Read error action.",
8826 "enum" : [
8827 "ignore",
8828 "report",
8829 "stop"
8830 ],
56122987 8831 "optional" : 1,
44660702
DM
8832 "type" : "string"
8833 },
8834 "secs" : {
8835 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
8836 "optional" : 1,
8837 "type" : "integer"
8838 },
8839 "serial" : {
8840 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8841 "format" : "urlencoded",
8842 "format_description" : "serial",
8843 "maxLength" : 60,
8844 "optional" : 1,
8845 "type" : "string"
8846 },
27a7acb2
DM
8847 "shared" : {
8848 "default" : 0,
8849 "description" : "Mark this locally-managed volume as available on all nodes",
8850 "optional" : 1,
8851 "type" : "boolean",
8852 "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!"
8853 },
44660702
DM
8854 "size" : {
8855 "description" : "Disk size. This is purely informational and has no effect.",
8856 "format" : "disk-size",
f004f5b9 8857 "format_description" : "DiskSize",
44660702
DM
8858 "optional" : 1,
8859 "type" : "string"
8860 },
8861 "snapshot" : {
27a7acb2 8862 "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
8863 "optional" : 1,
8864 "type" : "boolean"
8865 },
25203dc1
NC
8866 "ssd" : {
8867 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
8868 "optional" : 1,
8869 "type" : "boolean"
8870 },
44660702
DM
8871 "trans" : {
8872 "description" : "Force disk geometry bios translation mode.",
8873 "enum" : [
8874 "none",
8875 "lba",
8876 "auto"
8877 ],
44660702
DM
8878 "optional" : 1,
8879 "type" : "string"
8880 },
8881 "volume" : {
8882 "alias" : "file"
8883 },
8884 "werror" : {
8885 "description" : "Write error action.",
8886 "enum" : [
8887 "enospc",
8888 "ignore",
8889 "report",
8890 "stop"
8891 ],
44660702
DM
8892 "optional" : 1,
8893 "type" : "string"
95895385
TL
8894 },
8895 "wwn" : {
8896 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
8897 "format_description" : "wwn",
8898 "optional" : 1,
8899 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
8900 "type" : "string"
56122987
DM
8901 }
8902 },
44660702 8903 "optional" : 1,
4d47f125 8904 "type" : "string"
27a7acb2
DM
8905 },
8906 "ipconfig[n]" : {
8907 "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",
8908 "format" : "pve-qm-ipconfig",
8909 "optional" : 1,
4d47f125 8910 "type" : "string"
56122987 8911 },
95895385
TL
8912 "ivshmem" : {
8913 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
8914 "format" : {
8915 "name" : {
8916 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
8917 "format_description" : "string",
8918 "optional" : 1,
8919 "pattern" : "[a-zA-Z0-9\\-]+",
8920 "type" : "string"
8921 },
8922 "size" : {
8923 "description" : "The size of the file in MB.",
8924 "minimum" : 1,
8925 "type" : "integer"
8926 }
8927 },
8928 "optional" : 1,
8929 "type" : "string"
8930 },
44660702 8931 "keyboard" : {
35a75dd3 8932 "default" : null,
5da3d723 8933 "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
8934 "enum" : [
8935 "de",
8936 "de-ch",
8937 "da",
8938 "en-gb",
8939 "en-us",
8940 "es",
8941 "fi",
8942 "fr",
8943 "fr-be",
8944 "fr-ca",
8945 "fr-ch",
8946 "hu",
8947 "is",
8948 "it",
8949 "ja",
8950 "lt",
8951 "mk",
8952 "nl",
8953 "no",
8954 "pl",
8955 "pt",
8956 "pt-br",
8957 "sv",
8958 "sl",
8959 "tr"
8960 ],
56122987 8961 "optional" : 1,
44660702
DM
8962 "type" : "string"
8963 },
8964 "kvm" : {
7aacca6f 8965 "default" : 1,
44660702
DM
8966 "description" : "Enable/disable KVM hardware virtualization.",
8967 "optional" : 1,
4d47f125 8968 "type" : "boolean"
56122987 8969 },
44660702
DM
8970 "localtime" : {
8971 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 8972 "optional" : 1,
4d47f125 8973 "type" : "boolean"
56122987 8974 },
44660702
DM
8975 "lock" : {
8976 "description" : "Lock/unlock the VM.",
8977 "enum" : [
44660702 8978 "backup",
5f26e15b
TL
8979 "clone",
8980 "create",
8981 "migrate",
8982 "rollback",
44660702 8983 "snapshot",
95895385
TL
8984 "snapshot-delete",
8985 "suspending",
8986 "suspended"
44660702 8987 ],
7aacca6f 8988 "optional" : 1,
44660702
DM
8989 "type" : "string"
8990 },
8991 "machine" : {
4d47f125 8992 "description" : "Specifies the Qemu machine type.",
44660702
DM
8993 "maxLength" : 40,
8994 "optional" : 1,
e2d681b3 8995 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702
DM
8996 "type" : "string"
8997 },
8998 "memory" : {
8999 "default" : 512,
9000 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
9001 "minimum" : 16,
9002 "optional" : 1,
4d47f125 9003 "type" : "integer"
44660702
DM
9004 },
9005 "migrate_downtime" : {
9006 "default" : 0.1,
9007 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
9008 "minimum" : 0,
9009 "optional" : 1,
4d47f125 9010 "type" : "number"
44660702
DM
9011 },
9012 "migrate_speed" : {
9013 "default" : 0,
9014 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
9015 "minimum" : 0,
9016 "optional" : 1,
4d47f125 9017 "type" : "integer"
44660702
DM
9018 },
9019 "name" : {
9020 "description" : "Set a name for the VM. Only used on the configuration web interface.",
9021 "format" : "dns-name",
9022 "optional" : 1,
4d47f125 9023 "type" : "string"
44660702 9024 },
27a7acb2
DM
9025 "nameserver" : {
9026 "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.",
9027 "format" : "address-list",
9028 "optional" : 1,
4d47f125 9029 "type" : "string"
27a7acb2 9030 },
44660702 9031 "net[n]" : {
c2993fe5 9032 "description" : "Specify network devices.",
f004f5b9
DM
9033 "format" : {
9034 "bridge" : {
c2993fe5 9035 "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
9036 "format_description" : "bridge",
9037 "optional" : 1,
9038 "type" : "string"
9039 },
9040 "e1000" : {
9041 "alias" : "macaddr",
9042 "keyAlias" : "model"
9043 },
9044 "e1000-82540em" : {
9045 "alias" : "macaddr",
9046 "keyAlias" : "model"
9047 },
9048 "e1000-82544gc" : {
9049 "alias" : "macaddr",
9050 "keyAlias" : "model"
9051 },
9052 "e1000-82545em" : {
9053 "alias" : "macaddr",
9054 "keyAlias" : "model"
9055 },
9056 "firewall" : {
9057 "description" : "Whether this interface should be protected by the firewall.",
9058 "optional" : 1,
9059 "type" : "boolean"
9060 },
9061 "i82551" : {
9062 "alias" : "macaddr",
9063 "keyAlias" : "model"
9064 },
9065 "i82557b" : {
9066 "alias" : "macaddr",
9067 "keyAlias" : "model"
9068 },
9069 "i82559er" : {
9070 "alias" : "macaddr",
9071 "keyAlias" : "model"
9072 },
9073 "link_down" : {
c2993fe5 9074 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
9075 "optional" : 1,
9076 "type" : "boolean"
9077 },
9078 "macaddr" : {
c2993fe5 9079 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 9080 "format" : "mac-addr",
f004f5b9 9081 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 9082 "optional" : 1,
95895385
TL
9083 "type" : "string",
9084 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
9085 },
9086 "model" : {
9087 "default_key" : 1,
c2993fe5 9088 "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
9089 "enum" : [
9090 "rtl8139",
9091 "ne2k_pci",
9092 "e1000",
9093 "pcnet",
9094 "virtio",
9095 "ne2k_isa",
9096 "i82551",
9097 "i82557b",
9098 "i82559er",
9099 "vmxnet3",
9100 "e1000-82540em",
9101 "e1000-82544gc",
9102 "e1000-82545em"
9103 ],
f004f5b9
DM
9104 "type" : "string"
9105 },
9106 "ne2k_isa" : {
9107 "alias" : "macaddr",
9108 "keyAlias" : "model"
9109 },
9110 "ne2k_pci" : {
9111 "alias" : "macaddr",
9112 "keyAlias" : "model"
9113 },
9114 "pcnet" : {
9115 "alias" : "macaddr",
9116 "keyAlias" : "model"
9117 },
9118 "queues" : {
9119 "description" : "Number of packet queues to be used on the device.",
9120 "maximum" : 16,
9121 "minimum" : 0,
9122 "optional" : 1,
9123 "type" : "integer"
9124 },
9125 "rate" : {
c2993fe5 9126 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
9127 "minimum" : 0,
9128 "optional" : 1,
9129 "type" : "number"
9130 },
9131 "rtl8139" : {
9132 "alias" : "macaddr",
9133 "keyAlias" : "model"
9134 },
9135 "tag" : {
9136 "description" : "VLAN tag to apply to packets on this interface.",
9137 "maximum" : 4094,
c2993fe5 9138 "minimum" : 1,
f004f5b9
DM
9139 "optional" : 1,
9140 "type" : "integer"
9141 },
9142 "trunks" : {
9143 "description" : "VLAN trunks to pass through this interface.",
9144 "format_description" : "vlanid[;vlanid...]",
9145 "optional" : 1,
9146 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
9147 "type" : "string"
9148 },
9149 "virtio" : {
9150 "alias" : "macaddr",
9151 "keyAlias" : "model"
9152 },
9153 "vmxnet3" : {
9154 "alias" : "macaddr",
9155 "keyAlias" : "model"
9156 }
9157 },
44660702 9158 "optional" : 1,
4d47f125 9159 "type" : "string"
44660702
DM
9160 },
9161 "numa" : {
9162 "default" : 0,
9163 "description" : "Enable/disable NUMA.",
9164 "optional" : 1,
4d47f125 9165 "type" : "boolean"
44660702
DM
9166 },
9167 "numa[n]" : {
c2993fe5 9168 "description" : "NUMA topology.",
56122987 9169 "format" : {
7aacca6f 9170 "cpus" : {
c2993fe5 9171 "description" : "CPUs accessing this NUMA node.",
44660702
DM
9172 "format_description" : "id[-id];...",
9173 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
9174 "type" : "string"
7aacca6f
DM
9175 },
9176 "hostnodes" : {
c2993fe5 9177 "description" : "Host NUMA nodes to use.",
44660702 9178 "format_description" : "id[-id];...",
7aacca6f 9179 "optional" : 1,
7aacca6f 9180 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 9181 "type" : "string"
7aacca6f 9182 },
44660702 9183 "memory" : {
c2993fe5 9184 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 9185 "optional" : 1,
44660702
DM
9186 "type" : "number"
9187 },
9188 "policy" : {
c2993fe5 9189 "description" : "NUMA allocation policy.",
7aacca6f
DM
9190 "enum" : [
9191 "preferred",
9192 "bind",
9193 "interleave"
9194 ],
44660702
DM
9195 "optional" : 1,
9196 "type" : "string"
56122987 9197 }
44660702 9198 },
56122987 9199 "optional" : 1,
4d47f125 9200 "type" : "string"
56122987 9201 },
44660702 9202 "onboot" : {
7aacca6f 9203 "default" : 0,
44660702
DM
9204 "description" : "Specifies whether a VM will be started during system bootup.",
9205 "optional" : 1,
4d47f125 9206 "type" : "boolean"
7aacca6f
DM
9207 },
9208 "ostype" : {
c2993fe5 9209 "description" : "Specify guest operating system.",
7aacca6f
DM
9210 "enum" : [
9211 "other",
9212 "wxp",
9213 "w2k",
9214 "w2k3",
9215 "w2k8",
9216 "wvista",
9217 "win7",
9218 "win8",
32d876b5 9219 "win10",
7aacca6f
DM
9220 "l24",
9221 "l26",
9222 "solaris"
9223 ],
7aacca6f 9224 "optional" : 1,
c2993fe5 9225 "type" : "string",
35a75dd3 9226 "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/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 9227 },
44660702 9228 "parallel[n]" : {
c2993fe5 9229 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 9230 "optional" : 1,
44660702 9231 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
9232 "type" : "string",
9233 "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
9234 },
9235 "protection" : {
9236 "default" : 0,
c2993fe5 9237 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 9238 "optional" : 1,
4d47f125 9239 "type" : "boolean"
7aacca6f 9240 },
44660702
DM
9241 "reboot" : {
9242 "default" : 1,
9243 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 9244 "optional" : 1,
4d47f125 9245 "type" : "boolean"
44660702
DM
9246 },
9247 "sata[n]" : {
9248 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 9249 "format" : {
44660702
DM
9250 "aio" : {
9251 "description" : "AIO type to use.",
7aacca6f 9252 "enum" : [
44660702
DM
9253 "native",
9254 "threads"
7aacca6f 9255 ],
44660702
DM
9256 "optional" : 1,
9257 "type" : "string"
7aacca6f 9258 },
44660702
DM
9259 "backup" : {
9260 "description" : "Whether the drive should be included when making backups.",
56122987 9261 "optional" : 1,
7aacca6f 9262 "type" : "boolean"
44660702
DM
9263 },
9264 "bps" : {
de0983cb 9265 "description" : "Maximum r/w speed in bytes per second.",
44660702 9266 "format_description" : "bps",
7aacca6f 9267 "optional" : 1,
44660702 9268 "type" : "integer"
56122987 9269 },
de0983cb
DM
9270 "bps_max_length" : {
9271 "description" : "Maximum length of I/O bursts in seconds.",
9272 "format_description" : "seconds",
9273 "minimum" : 1,
9274 "optional" : 1,
9275 "type" : "integer"
9276 },
44660702 9277 "bps_rd" : {
de0983cb 9278 "description" : "Maximum read speed in bytes per second.",
44660702 9279 "format_description" : "bps",
56122987 9280 "optional" : 1,
44660702 9281 "type" : "integer"
56122987 9282 },
de0983cb 9283 "bps_rd_length" : {
5d9c884c
DM
9284 "alias" : "bps_rd_max_length"
9285 },
9286 "bps_rd_max_length" : {
de0983cb
DM
9287 "description" : "Maximum length of read I/O bursts in seconds.",
9288 "format_description" : "seconds",
9289 "minimum" : 1,
9290 "optional" : 1,
9291 "type" : "integer"
9292 },
44660702 9293 "bps_wr" : {
de0983cb 9294 "description" : "Maximum write speed in bytes per second.",
44660702 9295 "format_description" : "bps",
56122987 9296 "optional" : 1,
44660702 9297 "type" : "integer"
56122987 9298 },
de0983cb 9299 "bps_wr_length" : {
5d9c884c
DM
9300 "alias" : "bps_wr_max_length"
9301 },
9302 "bps_wr_max_length" : {
de0983cb
DM
9303 "description" : "Maximum length of write I/O bursts in seconds.",
9304 "format_description" : "seconds",
9305 "minimum" : 1,
9306 "optional" : 1,
9307 "type" : "integer"
9308 },
56122987 9309 "cache" : {
44660702 9310 "description" : "The drive's cache mode",
56122987
DM
9311 "enum" : [
9312 "none",
9313 "writethrough",
9314 "writeback",
9315 "unsafe",
9316 "directsync"
9317 ],
56122987 9318 "optional" : 1,
44660702 9319 "type" : "string"
56122987 9320 },
44660702
DM
9321 "cyls" : {
9322 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 9323 "optional" : 1,
44660702 9324 "type" : "integer"
7aacca6f
DM
9325 },
9326 "detect_zeroes" : {
9327 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 9328 "optional" : 1,
44660702 9329 "type" : "boolean"
56122987 9330 },
44660702
DM
9331 "discard" : {
9332 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9333 "enum" : [
9334 "ignore",
9335 "on"
9336 ],
56122987 9337 "optional" : 1,
44660702 9338 "type" : "string"
7aacca6f 9339 },
44660702
DM
9340 "file" : {
9341 "default_key" : 1,
9342 "description" : "The drive's backing volume.",
9343 "format" : "pve-volume-id-or-qm-path",
9344 "format_description" : "volume",
9345 "type" : "string"
56122987 9346 },
7aacca6f 9347 "format" : {
44660702 9348 "description" : "The drive's backing file's data format.",
7aacca6f
DM
9349 "enum" : [
9350 "raw",
9351 "cow",
9352 "qcow",
9353 "qed",
9354 "qcow2",
9355 "vmdk",
9356 "cloop"
9357 ],
7aacca6f 9358 "optional" : 1,
44660702 9359 "type" : "string"
56122987 9360 },
7aacca6f 9361 "heads" : {
7aacca6f 9362 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9363 "optional" : 1,
7aacca6f 9364 "type" : "integer"
56122987 9365 },
44660702 9366 "iops" : {
de0983cb 9367 "description" : "Maximum r/w I/O in operations per second.",
44660702 9368 "format_description" : "iops",
56122987 9369 "optional" : 1,
44660702 9370 "type" : "integer"
56122987 9371 },
44660702 9372 "iops_max" : {
de0983cb 9373 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9374 "format_description" : "iops",
56122987 9375 "optional" : 1,
44660702 9376 "type" : "integer"
56122987 9377 },
de0983cb
DM
9378 "iops_max_length" : {
9379 "description" : "Maximum length of I/O bursts in seconds.",
9380 "format_description" : "seconds",
9381 "minimum" : 1,
9382 "optional" : 1,
9383 "type" : "integer"
9384 },
44660702 9385 "iops_rd" : {
de0983cb 9386 "description" : "Maximum read I/O in operations per second.",
44660702 9387 "format_description" : "iops",
7aacca6f 9388 "optional" : 1,
44660702 9389 "type" : "integer"
56122987 9390 },
de0983cb 9391 "iops_rd_length" : {
5d9c884c 9392 "alias" : "iops_rd_max_length"
de0983cb 9393 },
44660702 9394 "iops_rd_max" : {
de0983cb 9395 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9396 "format_description" : "iops",
56122987 9397 "optional" : 1,
44660702 9398 "type" : "integer"
7aacca6f 9399 },
5d9c884c
DM
9400 "iops_rd_max_length" : {
9401 "description" : "Maximum length of read I/O bursts in seconds.",
9402 "format_description" : "seconds",
9403 "minimum" : 1,
9404 "optional" : 1,
9405 "type" : "integer"
9406 },
44660702 9407 "iops_wr" : {
de0983cb 9408 "description" : "Maximum write I/O in operations per second.",
44660702 9409 "format_description" : "iops",
56122987 9410 "optional" : 1,
44660702 9411 "type" : "integer"
56122987 9412 },
de0983cb 9413 "iops_wr_length" : {
5d9c884c 9414 "alias" : "iops_wr_max_length"
de0983cb 9415 },
56122987 9416 "iops_wr_max" : {
de0983cb 9417 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9418 "format_description" : "iops",
56122987 9419 "optional" : 1,
44660702 9420 "type" : "integer"
56122987 9421 },
5d9c884c
DM
9422 "iops_wr_max_length" : {
9423 "description" : "Maximum length of write I/O bursts in seconds.",
9424 "format_description" : "seconds",
9425 "minimum" : 1,
9426 "optional" : 1,
9427 "type" : "integer"
9428 },
44660702 9429 "mbps" : {
de0983cb 9430 "description" : "Maximum r/w speed in megabytes per second.",
44660702 9431 "format_description" : "mbps",
56122987 9432 "optional" : 1,
44660702 9433 "type" : "number"
56122987 9434 },
44660702 9435 "mbps_max" : {
de0983cb 9436 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9437 "format_description" : "mbps",
9438 "optional" : 1,
9439 "type" : "number"
56122987 9440 },
44660702 9441 "mbps_rd" : {
de0983cb 9442 "description" : "Maximum read speed in megabytes per second.",
44660702 9443 "format_description" : "mbps",
56122987 9444 "optional" : 1,
44660702 9445 "type" : "number"
56122987 9446 },
44660702 9447 "mbps_rd_max" : {
de0983cb 9448 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9449 "format_description" : "mbps",
56122987 9450 "optional" : 1,
44660702 9451 "type" : "number"
56122987 9452 },
44660702 9453 "mbps_wr" : {
de0983cb 9454 "description" : "Maximum write speed in megabytes per second.",
56122987 9455 "format_description" : "mbps",
44660702
DM
9456 "optional" : 1,
9457 "type" : "number"
56122987 9458 },
44660702 9459 "mbps_wr_max" : {
de0983cb 9460 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9461 "format_description" : "mbps",
9462 "optional" : 1,
9463 "type" : "number"
7aacca6f 9464 },
44660702
DM
9465 "media" : {
9466 "default" : "disk",
9467 "description" : "The drive's media type.",
9468 "enum" : [
9469 "cdrom",
9470 "disk"
9471 ],
56122987 9472 "optional" : 1,
44660702
DM
9473 "type" : "string"
9474 },
5d9c884c
DM
9475 "replicate" : {
9476 "default" : 1,
9477 "description" : "Whether the drive should considered for replication jobs.",
9478 "optional" : 1,
9479 "type" : "boolean"
9480 },
44660702
DM
9481 "rerror" : {
9482 "description" : "Read error action.",
7aacca6f 9483 "enum" : [
44660702
DM
9484 "ignore",
9485 "report",
9486 "stop"
9487 ],
7aacca6f 9488 "optional" : 1,
44660702 9489 "type" : "string"
56122987 9490 },
44660702
DM
9491 "secs" : {
9492 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9493 "optional" : 1,
44660702 9494 "type" : "integer"
56122987 9495 },
44660702
DM
9496 "serial" : {
9497 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9498 "format" : "urlencoded",
9499 "format_description" : "serial",
9500 "maxLength" : 60,
56122987 9501 "optional" : 1,
44660702 9502 "type" : "string"
56122987 9503 },
27a7acb2
DM
9504 "shared" : {
9505 "default" : 0,
9506 "description" : "Mark this locally-managed volume as available on all nodes",
9507 "optional" : 1,
9508 "type" : "boolean",
9509 "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!"
9510 },
44660702
DM
9511 "size" : {
9512 "description" : "Disk size. This is purely informational and has no effect.",
9513 "format" : "disk-size",
f004f5b9 9514 "format_description" : "DiskSize",
44660702
DM
9515 "optional" : 1,
9516 "type" : "string"
9517 },
9518 "snapshot" : {
27a7acb2 9519 "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 9520 "optional" : 1,
44660702
DM
9521 "type" : "boolean"
9522 },
25203dc1
NC
9523 "ssd" : {
9524 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9525 "optional" : 1,
9526 "type" : "boolean"
9527 },
44660702
DM
9528 "trans" : {
9529 "description" : "Force disk geometry bios translation mode.",
56122987 9530 "enum" : [
7aacca6f
DM
9531 "none",
9532 "lba",
9533 "auto"
56122987 9534 ],
44660702
DM
9535 "optional" : 1,
9536 "type" : "string"
56122987 9537 },
7aacca6f
DM
9538 "volume" : {
9539 "alias" : "file"
56122987 9540 },
44660702
DM
9541 "werror" : {
9542 "description" : "Write error action.",
9543 "enum" : [
9544 "enospc",
9545 "ignore",
9546 "report",
9547 "stop"
9548 ],
7aacca6f 9549 "optional" : 1,
44660702 9550 "type" : "string"
95895385
TL
9551 },
9552 "wwn" : {
9553 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
9554 "format_description" : "wwn",
9555 "optional" : 1,
9556 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
9557 "type" : "string"
44660702
DM
9558 }
9559 },
9560 "optional" : 1,
4d47f125 9561 "type" : "string"
44660702
DM
9562 },
9563 "scsi[n]" : {
9564 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
9565 "format" : {
56122987 9566 "aio" : {
56122987
DM
9567 "description" : "AIO type to use.",
9568 "enum" : [
9569 "native",
9570 "threads"
9571 ],
7aacca6f 9572 "optional" : 1,
44660702 9573 "type" : "string"
56122987 9574 },
44660702
DM
9575 "backup" : {
9576 "description" : "Whether the drive should be included when making backups.",
56122987 9577 "optional" : 1,
44660702 9578 "type" : "boolean"
56122987 9579 },
44660702 9580 "bps" : {
de0983cb 9581 "description" : "Maximum r/w speed in bytes per second.",
44660702 9582 "format_description" : "bps",
56122987 9583 "optional" : 1,
44660702 9584 "type" : "integer"
56122987 9585 },
de0983cb
DM
9586 "bps_max_length" : {
9587 "description" : "Maximum length of I/O bursts in seconds.",
9588 "format_description" : "seconds",
9589 "minimum" : 1,
9590 "optional" : 1,
9591 "type" : "integer"
9592 },
44660702 9593 "bps_rd" : {
de0983cb 9594 "description" : "Maximum read speed in bytes per second.",
44660702 9595 "format_description" : "bps",
56122987 9596 "optional" : 1,
44660702 9597 "type" : "integer"
56122987 9598 },
de0983cb 9599 "bps_rd_length" : {
5d9c884c
DM
9600 "alias" : "bps_rd_max_length"
9601 },
9602 "bps_rd_max_length" : {
de0983cb
DM
9603 "description" : "Maximum length of read I/O bursts in seconds.",
9604 "format_description" : "seconds",
9605 "minimum" : 1,
9606 "optional" : 1,
9607 "type" : "integer"
9608 },
7aacca6f 9609 "bps_wr" : {
de0983cb 9610 "description" : "Maximum write speed in bytes per second.",
7aacca6f 9611 "format_description" : "bps",
56122987 9612 "optional" : 1,
44660702 9613 "type" : "integer"
56122987 9614 },
de0983cb 9615 "bps_wr_length" : {
5d9c884c
DM
9616 "alias" : "bps_wr_max_length"
9617 },
9618 "bps_wr_max_length" : {
de0983cb
DM
9619 "description" : "Maximum length of write I/O bursts in seconds.",
9620 "format_description" : "seconds",
9621 "minimum" : 1,
9622 "optional" : 1,
9623 "type" : "integer"
9624 },
44660702
DM
9625 "cache" : {
9626 "description" : "The drive's cache mode",
7aacca6f 9627 "enum" : [
44660702
DM
9628 "none",
9629 "writethrough",
9630 "writeback",
9631 "unsafe",
9632 "directsync"
7aacca6f 9633 ],
56122987 9634 "optional" : 1,
44660702 9635 "type" : "string"
56122987 9636 },
44660702
DM
9637 "cyls" : {
9638 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 9639 "optional" : 1,
44660702 9640 "type" : "integer"
56122987 9641 },
44660702
DM
9642 "detect_zeroes" : {
9643 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 9644 "optional" : 1,
44660702 9645 "type" : "boolean"
56122987 9646 },
44660702
DM
9647 "discard" : {
9648 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9649 "enum" : [
9650 "ignore",
9651 "on"
9652 ],
7aacca6f 9653 "optional" : 1,
44660702 9654 "type" : "string"
56122987 9655 },
44660702
DM
9656 "file" : {
9657 "default_key" : 1,
9658 "description" : "The drive's backing volume.",
9659 "format" : "pve-volume-id-or-qm-path",
9660 "format_description" : "volume",
9661 "type" : "string"
56122987 9662 },
7aacca6f 9663 "format" : {
44660702 9664 "description" : "The drive's backing file's data format.",
56122987 9665 "enum" : [
7aacca6f
DM
9666 "raw",
9667 "cow",
9668 "qcow",
9669 "qed",
9670 "qcow2",
9671 "vmdk",
9672 "cloop"
9673 ],
44660702
DM
9674 "optional" : 1,
9675 "type" : "string"
56122987 9676 },
44660702
DM
9677 "heads" : {
9678 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9679 "optional" : 1,
7aacca6f 9680 "type" : "integer"
56122987 9681 },
44660702 9682 "iops" : {
de0983cb 9683 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9684 "format_description" : "iops",
44660702
DM
9685 "optional" : 1,
9686 "type" : "integer"
7aacca6f 9687 },
44660702 9688 "iops_max" : {
de0983cb 9689 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9690 "format_description" : "iops",
56122987 9691 "optional" : 1,
44660702 9692 "type" : "integer"
7aacca6f 9693 },
de0983cb
DM
9694 "iops_max_length" : {
9695 "description" : "Maximum length of I/O bursts in seconds.",
9696 "format_description" : "seconds",
9697 "minimum" : 1,
9698 "optional" : 1,
9699 "type" : "integer"
9700 },
44660702 9701 "iops_rd" : {
de0983cb 9702 "description" : "Maximum read I/O in operations per second.",
44660702 9703 "format_description" : "iops",
7aacca6f 9704 "optional" : 1,
44660702 9705 "type" : "integer"
56122987 9706 },
de0983cb 9707 "iops_rd_length" : {
5d9c884c 9708 "alias" : "iops_rd_max_length"
de0983cb 9709 },
44660702 9710 "iops_rd_max" : {
de0983cb 9711 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
9712 "format_description" : "iops",
9713 "optional" : 1,
9714 "type" : "integer"
9715 },
5d9c884c
DM
9716 "iops_rd_max_length" : {
9717 "description" : "Maximum length of read I/O bursts in seconds.",
9718 "format_description" : "seconds",
9719 "minimum" : 1,
9720 "optional" : 1,
9721 "type" : "integer"
9722 },
44660702 9723 "iops_wr" : {
de0983cb 9724 "description" : "Maximum write I/O in operations per second.",
44660702 9725 "format_description" : "iops",
56122987 9726 "optional" : 1,
44660702
DM
9727 "type" : "integer"
9728 },
de0983cb 9729 "iops_wr_length" : {
5d9c884c 9730 "alias" : "iops_wr_max_length"
de0983cb 9731 },
44660702 9732 "iops_wr_max" : {
de0983cb 9733 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
9734 "format_description" : "iops",
9735 "optional" : 1,
9736 "type" : "integer"
56122987 9737 },
5d9c884c
DM
9738 "iops_wr_max_length" : {
9739 "description" : "Maximum length of write I/O bursts in seconds.",
9740 "format_description" : "seconds",
9741 "minimum" : 1,
9742 "optional" : 1,
9743 "type" : "integer"
9744 },
7aacca6f 9745 "iothread" : {
7aacca6f 9746 "description" : "Whether to use iothreads for this drive",
56122987 9747 "optional" : 1,
56122987
DM
9748 "type" : "boolean"
9749 },
44660702 9750 "mbps" : {
de0983cb 9751 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
9752 "format_description" : "mbps",
9753 "optional" : 1,
9754 "type" : "number"
9755 },
9756 "mbps_max" : {
de0983cb 9757 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9758 "format_description" : "mbps",
9759 "optional" : 1,
9760 "type" : "number"
9761 },
9762 "mbps_rd" : {
de0983cb 9763 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
9764 "format_description" : "mbps",
9765 "optional" : 1,
9766 "type" : "number"
9767 },
9768 "mbps_rd_max" : {
de0983cb 9769 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9770 "format_description" : "mbps",
9771 "optional" : 1,
9772 "type" : "number"
9773 },
9774 "mbps_wr" : {
de0983cb 9775 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
9776 "format_description" : "mbps",
9777 "optional" : 1,
9778 "type" : "number"
9779 },
9780 "mbps_wr_max" : {
de0983cb 9781 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9782 "format_description" : "mbps",
9783 "optional" : 1,
9784 "type" : "number"
9785 },
7aacca6f 9786 "media" : {
44660702
DM
9787 "default" : "disk",
9788 "description" : "The drive's media type.",
7aacca6f
DM
9789 "enum" : [
9790 "cdrom",
9791 "disk"
9792 ],
56122987 9793 "optional" : 1,
44660702
DM
9794 "type" : "string"
9795 },
9796 "queues" : {
9797 "description" : "Number of queues.",
44660702
DM
9798 "minimum" : 2,
9799 "optional" : 1,
9800 "type" : "integer"
9801 },
5d9c884c
DM
9802 "replicate" : {
9803 "default" : 1,
9804 "description" : "Whether the drive should considered for replication jobs.",
9805 "optional" : 1,
9806 "type" : "boolean"
9807 },
9808 "rerror" : {
9809 "description" : "Read error action.",
9810 "enum" : [
9811 "ignore",
9812 "report",
9813 "stop"
9814 ],
9815 "optional" : 1,
9816 "type" : "string"
9817 },
52e44c50
FG
9818 "scsiblock" : {
9819 "default" : 0,
9820 "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",
9821 "optional" : 1,
9822 "type" : "boolean"
9823 },
44660702
DM
9824 "secs" : {
9825 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9826 "optional" : 1,
9827 "type" : "integer"
9828 },
9829 "serial" : {
9830 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9831 "format" : "urlencoded",
9832 "format_description" : "serial",
9833 "maxLength" : 60,
9834 "optional" : 1,
9835 "type" : "string"
9836 },
27a7acb2
DM
9837 "shared" : {
9838 "default" : 0,
9839 "description" : "Mark this locally-managed volume as available on all nodes",
9840 "optional" : 1,
9841 "type" : "boolean",
9842 "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!"
9843 },
44660702
DM
9844 "size" : {
9845 "description" : "Disk size. This is purely informational and has no effect.",
9846 "format" : "disk-size",
f004f5b9 9847 "format_description" : "DiskSize",
44660702
DM
9848 "optional" : 1,
9849 "type" : "string"
56122987 9850 },
7aacca6f 9851 "snapshot" : {
27a7acb2 9852 "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 9853 "optional" : 1,
44660702 9854 "type" : "boolean"
7aacca6f 9855 },
25203dc1
NC
9856 "ssd" : {
9857 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9858 "optional" : 1,
9859 "type" : "boolean"
9860 },
44660702
DM
9861 "trans" : {
9862 "description" : "Force disk geometry bios translation mode.",
9863 "enum" : [
9864 "none",
9865 "lba",
9866 "auto"
9867 ],
44660702
DM
9868 "optional" : 1,
9869 "type" : "string"
9870 },
9871 "volume" : {
9872 "alias" : "file"
9873 },
9874 "werror" : {
9875 "description" : "Write error action.",
9876 "enum" : [
9877 "enospc",
9878 "ignore",
9879 "report",
9880 "stop"
9881 ],
56122987 9882 "optional" : 1,
44660702 9883 "type" : "string"
95895385
TL
9884 },
9885 "wwn" : {
9886 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
9887 "format_description" : "wwn",
9888 "optional" : 1,
9889 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
9890 "type" : "string"
56122987 9891 }
44660702 9892 },
7aacca6f 9893 "optional" : 1,
4d47f125 9894 "type" : "string"
44660702
DM
9895 },
9896 "scsihw" : {
9897 "default" : "lsi",
c2993fe5 9898 "description" : "SCSI controller model",
7aacca6f 9899 "enum" : [
44660702
DM
9900 "lsi",
9901 "lsi53c810",
9902 "virtio-scsi-pci",
9903 "virtio-scsi-single",
9904 "megasas",
9905 "pvscsi"
7aacca6f 9906 ],
44660702
DM
9907 "optional" : 1,
9908 "type" : "string"
56122987 9909 },
27a7acb2
DM
9910 "searchdomain" : {
9911 "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.",
9912 "optional" : 1,
4d47f125 9913 "type" : "string"
27a7acb2 9914 },
44660702 9915 "serial[n]" : {
c2993fe5 9916 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 9917 "optional" : 1,
44660702 9918 "pattern" : "(/dev/.+|socket)",
c2993fe5 9919 "type" : "string",
57b78691 9920 "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 9921 },
44660702
DM
9922 "shares" : {
9923 "default" : 1000,
5da3d723 9924 "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
9925 "maximum" : 50000,
9926 "minimum" : 0,
56122987 9927 "optional" : 1,
4d47f125 9928 "type" : "integer"
56122987 9929 },
44660702
DM
9930 "smbios1" : {
9931 "description" : "Specify SMBIOS type 1 fields.",
9932 "format" : "pve-qm-smbios1",
9933 "maxLength" : 256,
56122987 9934 "optional" : 1,
4d47f125 9935 "type" : "string"
56122987 9936 },
44660702
DM
9937 "smp" : {
9938 "default" : 1,
9939 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 9940 "minimum" : 1,
7aacca6f 9941 "optional" : 1,
4d47f125 9942 "type" : "integer"
7aacca6f 9943 },
44660702
DM
9944 "sockets" : {
9945 "default" : 1,
9946 "description" : "The number of CPU sockets.",
9947 "minimum" : 1,
7aacca6f 9948 "optional" : 1,
4d47f125 9949 "type" : "integer"
56122987 9950 },
27a7acb2
DM
9951 "sshkeys" : {
9952 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
9953 "format" : "urlencoded",
9954 "optional" : 1,
4d47f125 9955 "type" : "string"
27a7acb2 9956 },
44660702
DM
9957 "startdate" : {
9958 "default" : "now",
9959 "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 9960 "optional" : 1,
44660702 9961 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 9962 "type" : "string",
44660702 9963 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 9964 },
7aacca6f 9965 "startup" : {
7aacca6f 9966 "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 9967 "format" : "pve-startup-order",
56122987 9968 "optional" : 1,
44660702
DM
9969 "type" : "string",
9970 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 9971 },
44660702 9972 "tablet" : {
7aacca6f 9973 "default" : 1,
c2993fe5 9974 "description" : "Enable/disable the USB tablet device.",
7aacca6f 9975 "optional" : 1,
c2993fe5
DM
9976 "type" : "boolean",
9977 "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 9978 },
44660702
DM
9979 "tdf" : {
9980 "default" : 0,
9981 "description" : "Enable/disable time drift fix.",
7aacca6f 9982 "optional" : 1,
4d47f125 9983 "type" : "boolean"
7aacca6f 9984 },
44660702
DM
9985 "template" : {
9986 "default" : 0,
9987 "description" : "Enable/disable Template.",
7aacca6f 9988 "optional" : 1,
4d47f125 9989 "type" : "boolean"
7aacca6f 9990 },
44660702 9991 "unused[n]" : {
c2993fe5 9992 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 9993 "format" : "pve-volume-id",
7aacca6f 9994 "optional" : 1,
4d47f125 9995 "type" : "string"
7aacca6f 9996 },
44660702 9997 "usb[n]" : {
c2993fe5 9998 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
9999 "format" : {
10000 "host" : {
10001 "default_key" : 1,
c2993fe5 10002 "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
10003 "format" : "pve-qm-usb-device",
10004 "format_description" : "HOSTUSBDEVICE|spice",
10005 "type" : "string"
10006 },
10007 "usb3" : {
c2993fe5
DM
10008 "default" : 0,
10009 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
44660702
DM
10010 "optional" : 1,
10011 "type" : "boolean"
10012 }
10013 },
7aacca6f 10014 "optional" : 1,
4d47f125 10015 "type" : "string"
56122987 10016 },
44660702
DM
10017 "vcpus" : {
10018 "default" : 0,
10019 "description" : "Number of hotplugged vcpus.",
10020 "minimum" : 1,
56122987 10021 "optional" : 1,
4d47f125 10022 "type" : "integer"
56122987 10023 },
44660702 10024 "vga" : {
e2d681b3
TL
10025 "description" : "Configure the VGA hardware.",
10026 "format" : {
10027 "memory" : {
10028 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
10029 "maximum" : 512,
10030 "minimum" : 4,
10031 "optional" : 1,
10032 "type" : "integer"
10033 },
10034 "type" : {
10035 "default" : "std",
10036 "default_key" : 1,
10037 "description" : "Select the VGA type.",
10038 "enum" : [
10039 "cirrus",
10040 "qxl",
10041 "qxl2",
10042 "qxl3",
10043 "qxl4",
5f26e15b 10044 "none",
e2d681b3
TL
10045 "serial0",
10046 "serial1",
10047 "serial2",
10048 "serial3",
10049 "std",
10050 "virtio",
10051 "vmware"
10052 ],
10053 "optional" : 1,
10054 "type" : "string"
10055 }
10056 },
56122987 10057 "optional" : 1,
c2993fe5 10058 "type" : "string",
e2d681b3 10059 "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 10060 },
44660702
DM
10061 "virtio[n]" : {
10062 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 10063 "format" : {
44660702
DM
10064 "aio" : {
10065 "description" : "AIO type to use.",
56122987 10066 "enum" : [
44660702
DM
10067 "native",
10068 "threads"
56122987 10069 ],
56122987
DM
10070 "optional" : 1,
10071 "type" : "string"
10072 },
44660702
DM
10073 "backup" : {
10074 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10075 "optional" : 1,
10076 "type" : "boolean"
7aacca6f 10077 },
44660702 10078 "bps" : {
de0983cb 10079 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
10080 "format_description" : "bps",
10081 "optional" : 1,
10082 "type" : "integer"
56122987 10083 },
de0983cb
DM
10084 "bps_max_length" : {
10085 "description" : "Maximum length of I/O bursts in seconds.",
10086 "format_description" : "seconds",
10087 "minimum" : 1,
10088 "optional" : 1,
10089 "type" : "integer"
10090 },
44660702 10091 "bps_rd" : {
de0983cb 10092 "description" : "Maximum read speed in bytes per second.",
44660702 10093 "format_description" : "bps",
56122987 10094 "optional" : 1,
44660702 10095 "type" : "integer"
56122987 10096 },
de0983cb 10097 "bps_rd_length" : {
5d9c884c
DM
10098 "alias" : "bps_rd_max_length"
10099 },
10100 "bps_rd_max_length" : {
de0983cb
DM
10101 "description" : "Maximum length of read I/O bursts in seconds.",
10102 "format_description" : "seconds",
10103 "minimum" : 1,
10104 "optional" : 1,
10105 "type" : "integer"
10106 },
44660702 10107 "bps_wr" : {
de0983cb 10108 "description" : "Maximum write speed in bytes per second.",
44660702 10109 "format_description" : "bps",
56122987 10110 "optional" : 1,
44660702
DM
10111 "type" : "integer"
10112 },
de0983cb 10113 "bps_wr_length" : {
5d9c884c
DM
10114 "alias" : "bps_wr_max_length"
10115 },
10116 "bps_wr_max_length" : {
de0983cb
DM
10117 "description" : "Maximum length of write I/O bursts in seconds.",
10118 "format_description" : "seconds",
10119 "minimum" : 1,
10120 "optional" : 1,
10121 "type" : "integer"
10122 },
44660702
DM
10123 "cache" : {
10124 "description" : "The drive's cache mode",
56122987 10125 "enum" : [
44660702
DM
10126 "none",
10127 "writethrough",
10128 "writeback",
10129 "unsafe",
10130 "directsync"
56122987 10131 ],
56122987 10132 "optional" : 1,
44660702 10133 "type" : "string"
56122987 10134 },
44660702
DM
10135 "cyls" : {
10136 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 10137 "optional" : 1,
44660702 10138 "type" : "integer"
7aacca6f 10139 },
44660702
DM
10140 "detect_zeroes" : {
10141 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10142 "optional" : 1,
10143 "type" : "boolean"
7aacca6f 10144 },
44660702
DM
10145 "discard" : {
10146 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10147 "enum" : [
10148 "ignore",
10149 "on"
10150 ],
56122987 10151 "optional" : 1,
44660702 10152 "type" : "string"
56122987
DM
10153 },
10154 "file" : {
7aacca6f 10155 "default_key" : 1,
44660702 10156 "description" : "The drive's backing volume.",
7aacca6f 10157 "format" : "pve-volume-id-or-qm-path",
44660702
DM
10158 "format_description" : "volume",
10159 "type" : "string"
7aacca6f
DM
10160 },
10161 "format" : {
7aacca6f
DM
10162 "description" : "The drive's backing file's data format.",
10163 "enum" : [
10164 "raw",
10165 "cow",
10166 "qcow",
10167 "qed",
10168 "qcow2",
10169 "vmdk",
10170 "cloop"
56122987
DM
10171 ],
10172 "optional" : 1,
56122987
DM
10173 "type" : "string"
10174 },
44660702
DM
10175 "heads" : {
10176 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10177 "optional" : 1,
44660702 10178 "type" : "integer"
56122987 10179 },
44660702 10180 "iops" : {
de0983cb 10181 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 10182 "format_description" : "iops",
56122987 10183 "optional" : 1,
44660702 10184 "type" : "integer"
56122987 10185 },
44660702 10186 "iops_max" : {
de0983cb 10187 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10188 "format_description" : "iops",
56122987 10189 "optional" : 1,
56122987
DM
10190 "type" : "integer"
10191 },
de0983cb
DM
10192 "iops_max_length" : {
10193 "description" : "Maximum length of I/O bursts in seconds.",
10194 "format_description" : "seconds",
10195 "minimum" : 1,
10196 "optional" : 1,
10197 "type" : "integer"
10198 },
44660702 10199 "iops_rd" : {
de0983cb 10200 "description" : "Maximum read I/O in operations per second.",
44660702 10201 "format_description" : "iops",
56122987 10202 "optional" : 1,
44660702 10203 "type" : "integer"
56122987 10204 },
de0983cb 10205 "iops_rd_length" : {
5d9c884c 10206 "alias" : "iops_rd_max_length"
de0983cb 10207 },
44660702 10208 "iops_rd_max" : {
de0983cb 10209 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10210 "format_description" : "iops",
7aacca6f 10211 "optional" : 1,
44660702 10212 "type" : "integer"
56122987 10213 },
5d9c884c
DM
10214 "iops_rd_max_length" : {
10215 "description" : "Maximum length of read I/O bursts in seconds.",
10216 "format_description" : "seconds",
10217 "minimum" : 1,
10218 "optional" : 1,
10219 "type" : "integer"
10220 },
44660702 10221 "iops_wr" : {
de0983cb 10222 "description" : "Maximum write I/O in operations per second.",
44660702 10223 "format_description" : "iops",
7aacca6f 10224 "optional" : 1,
44660702 10225 "type" : "integer"
56122987 10226 },
de0983cb 10227 "iops_wr_length" : {
5d9c884c 10228 "alias" : "iops_wr_max_length"
de0983cb 10229 },
44660702 10230 "iops_wr_max" : {
de0983cb 10231 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 10232 "format_description" : "iops",
56122987
DM
10233 "optional" : 1,
10234 "type" : "integer"
10235 },
5d9c884c
DM
10236 "iops_wr_max_length" : {
10237 "description" : "Maximum length of write I/O bursts in seconds.",
10238 "format_description" : "seconds",
10239 "minimum" : 1,
10240 "optional" : 1,
10241 "type" : "integer"
10242 },
44660702
DM
10243 "iothread" : {
10244 "description" : "Whether to use iothreads for this drive",
44660702
DM
10245 "optional" : 1,
10246 "type" : "boolean"
10247 },
10248 "mbps" : {
de0983cb 10249 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 10250 "format_description" : "mbps",
44660702
DM
10251 "optional" : 1,
10252 "type" : "number"
10253 },
10254 "mbps_max" : {
de0983cb 10255 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
10256 "format_description" : "mbps",
10257 "optional" : 1,
10258 "type" : "number"
7aacca6f 10259 },
44660702 10260 "mbps_rd" : {
de0983cb 10261 "description" : "Maximum read speed in megabytes per second.",
44660702 10262 "format_description" : "mbps",
56122987 10263 "optional" : 1,
44660702 10264 "type" : "number"
56122987 10265 },
44660702 10266 "mbps_rd_max" : {
de0983cb 10267 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 10268 "format_description" : "mbps",
7aacca6f 10269 "optional" : 1,
44660702 10270 "type" : "number"
56122987 10271 },
44660702 10272 "mbps_wr" : {
de0983cb 10273 "description" : "Maximum write speed in megabytes per second.",
44660702 10274 "format_description" : "mbps",
56122987 10275 "optional" : 1,
44660702 10276 "type" : "number"
56122987 10277 },
44660702 10278 "mbps_wr_max" : {
de0983cb 10279 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 10280 "format_description" : "mbps",
56122987 10281 "optional" : 1,
44660702 10282 "type" : "number"
56122987
DM
10283 },
10284 "media" : {
7aacca6f 10285 "default" : "disk",
44660702 10286 "description" : "The drive's media type.",
56122987
DM
10287 "enum" : [
10288 "cdrom",
10289 "disk"
10290 ],
44660702
DM
10291 "optional" : 1,
10292 "type" : "string"
56122987 10293 },
5d9c884c
DM
10294 "replicate" : {
10295 "default" : 1,
10296 "description" : "Whether the drive should considered for replication jobs.",
10297 "optional" : 1,
10298 "type" : "boolean"
10299 },
7aacca6f 10300 "rerror" : {
44660702 10301 "description" : "Read error action.",
56122987 10302 "enum" : [
7aacca6f
DM
10303 "ignore",
10304 "report",
10305 "stop"
56122987 10306 ],
56122987 10307 "optional" : 1,
44660702 10308 "type" : "string"
56122987 10309 },
44660702
DM
10310 "secs" : {
10311 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10312 "optional" : 1,
10313 "type" : "integer"
10314 },
10315 "serial" : {
10316 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10317 "format" : "urlencoded",
10318 "format_description" : "serial",
10319 "maxLength" : 60,
56122987 10320 "optional" : 1,
7aacca6f 10321 "type" : "string"
56122987 10322 },
27a7acb2
DM
10323 "shared" : {
10324 "default" : 0,
10325 "description" : "Mark this locally-managed volume as available on all nodes",
10326 "optional" : 1,
10327 "type" : "boolean",
10328 "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!"
10329 },
44660702
DM
10330 "size" : {
10331 "description" : "Disk size. This is purely informational and has no effect.",
10332 "format" : "disk-size",
f004f5b9 10333 "format_description" : "DiskSize",
56122987 10334 "optional" : 1,
44660702 10335 "type" : "string"
56122987 10336 },
44660702 10337 "snapshot" : {
27a7acb2 10338 "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 10339 "optional" : 1,
44660702 10340 "type" : "boolean"
56122987 10341 },
44660702
DM
10342 "trans" : {
10343 "description" : "Force disk geometry bios translation mode.",
10344 "enum" : [
10345 "none",
10346 "lba",
10347 "auto"
10348 ],
44660702
DM
10349 "optional" : 1,
10350 "type" : "string"
10351 },
10352 "volume" : {
10353 "alias" : "file"
10354 },
10355 "werror" : {
10356 "description" : "Write error action.",
10357 "enum" : [
10358 "enospc",
10359 "ignore",
10360 "report",
10361 "stop"
10362 ],
56122987 10363 "optional" : 1,
44660702 10364 "type" : "string"
56122987 10365 }
44660702 10366 },
56122987 10367 "optional" : 1,
4d47f125 10368 "type" : "string"
56122987 10369 },
4d47f125
TL
10370 "vmgenid" : {
10371 "default" : "1 (autogenerated)",
10372 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
10373 "format_description" : "UUID",
10374 "optional" : 1,
10375 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
10376 "type" : "string",
10377 "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 10378 },
2489d6df
WB
10379 "vmstatestorage" : {
10380 "description" : "Default storage for VM state volumes/files.",
10381 "format" : "pve-storage-id",
10382 "optional" : 1,
4d47f125 10383 "type" : "string"
2489d6df 10384 },
44660702 10385 "watchdog" : {
c2993fe5 10386 "description" : "Create a virtual hardware watchdog device.",
44660702 10387 "format" : "pve-qm-watchdog",
56122987 10388 "optional" : 1,
c2993fe5
DM
10389 "type" : "string",
10390 "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 10391 }
4d47f125
TL
10392 },
10393 "type" : "object"
44660702 10394 }
56122987 10395 },
4d47f125
TL
10396 "POST" : {
10397 "description" : "Set virtual machine options (asynchrounous API).",
10398 "method" : "POST",
10399 "name" : "update_vm_async",
56122987 10400 "parameters" : {
7aacca6f 10401 "additionalProperties" : 0,
56122987 10402 "properties" : {
44660702
DM
10403 "acpi" : {
10404 "default" : 1,
10405 "description" : "Enable/disable ACPI.",
7aacca6f 10406 "optional" : 1,
013dc89f
DM
10407 "type" : "boolean",
10408 "typetext" : "<boolean>"
7aacca6f 10409 },
44660702 10410 "agent" : {
4d47f125
TL
10411 "description" : "Enable/disable Qemu GuestAgent and its properties.",
10412 "format" : {
10413 "enabled" : {
10414 "default" : 0,
10415 "default_key" : 1,
10416 "description" : "Enable/disable Qemu GuestAgent.",
10417 "type" : "boolean"
10418 },
10419 "fstrim_cloned_disks" : {
10420 "default" : 0,
10421 "description" : "Run fstrim after cloning/moving a disk.",
10422 "optional" : 1,
10423 "type" : "boolean"
10424 }
10425 },
7aacca6f 10426 "optional" : 1,
4d47f125
TL
10427 "type" : "string",
10428 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 10429 },
e2d681b3
TL
10430 "arch" : {
10431 "description" : "Virtual processor architecture. Defaults to the host.",
10432 "enum" : [
10433 "x86_64",
10434 "aarch64"
10435 ],
10436 "optional" : 1,
10437 "type" : "string"
10438 },
44660702 10439 "args" : {
c2993fe5 10440 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 10441 "optional" : 1,
c2993fe5 10442 "type" : "string",
013dc89f 10443 "typetext" : "<string>",
c2993fe5 10444 "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 10445 },
44660702
DM
10446 "autostart" : {
10447 "default" : 0,
10448 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 10449 "optional" : 1,
013dc89f
DM
10450 "type" : "boolean",
10451 "typetext" : "<boolean>"
7aacca6f 10452 },
4d47f125
TL
10453 "background_delay" : {
10454 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
10455 "maximum" : 30,
10456 "minimum" : 1,
10457 "optional" : 1,
10458 "type" : "integer",
10459 "typetext" : "<integer> (1 - 30)"
10460 },
44660702
DM
10461 "balloon" : {
10462 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
10463 "minimum" : 0,
10464 "optional" : 1,
4bd7df8b 10465 "type" : "integer",
013dc89f 10466 "typetext" : "<integer> (0 - N)"
44660702
DM
10467 },
10468 "bios" : {
10469 "default" : "seabios",
10470 "description" : "Select BIOS implementation.",
7aacca6f 10471 "enum" : [
44660702
DM
10472 "seabios",
10473 "ovmf"
7aacca6f 10474 ],
56122987 10475 "optional" : 1,
7aacca6f
DM
10476 "type" : "string"
10477 },
44660702
DM
10478 "boot" : {
10479 "default" : "cdn",
10480 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 10481 "optional" : 1,
44660702
DM
10482 "pattern" : "[acdn]{1,4}",
10483 "type" : "string"
56122987 10484 },
44660702
DM
10485 "bootdisk" : {
10486 "description" : "Enable booting from specified disk.",
10487 "format" : "pve-qm-bootdisk",
10488 "optional" : 1,
10489 "pattern" : "(ide|sata|scsi|virtio)\\d+",
10490 "type" : "string"
10491 },
10492 "cdrom" : {
10493 "description" : "This is an alias for option -ide2",
de0983cb 10494 "format" : "pve-qm-ide",
56122987 10495 "optional" : 1,
7aacca6f 10496 "type" : "string",
013dc89f 10497 "typetext" : "<volume>"
44660702 10498 },
95895385
TL
10499 "cicustom" : {
10500 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
10501 "format" : "pve-qm-cicustom",
10502 "optional" : 1,
10503 "type" : "string",
10504 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
10505 },
27a7acb2
DM
10506 "cipassword" : {
10507 "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.",
10508 "optional" : 1,
10509 "type" : "string",
10510 "typetext" : "<string>"
10511 },
10512 "citype" : {
10513 "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.",
10514 "enum" : [
10515 "configdrive2",
10516 "nocloud"
10517 ],
10518 "optional" : 1,
10519 "type" : "string"
10520 },
10521 "ciuser" : {
10522 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
10523 "optional" : 1,
10524 "type" : "string",
10525 "typetext" : "<string>"
10526 },
44660702
DM
10527 "cores" : {
10528 "default" : 1,
10529 "description" : "The number of cores per socket.",
10530 "minimum" : 1,
10531 "optional" : 1,
4bd7df8b 10532 "type" : "integer",
013dc89f 10533 "typetext" : "<integer> (1 - N)"
44660702
DM
10534 },
10535 "cpu" : {
10536 "description" : "Emulated CPU type.",
10537 "format" : {
10538 "cputype" : {
10539 "default" : "kvm64",
10540 "default_key" : 1,
10541 "description" : "Emulated CPU type.",
10542 "enum" : [
10543 "486",
10544 "athlon",
f004f5b9 10545 "Broadwell",
35a75dd3 10546 "Broadwell-IBRS",
f004f5b9 10547 "Broadwell-noTSX",
35a75dd3 10548 "Broadwell-noTSX-IBRS",
f004f5b9 10549 "Conroe",
44660702 10550 "core2duo",
f004f5b9 10551 "coreduo",
27a7acb2
DM
10552 "EPYC",
10553 "EPYC-IBPB",
f004f5b9 10554 "Haswell",
35a75dd3 10555 "Haswell-IBRS",
f004f5b9 10556 "Haswell-noTSX",
35a75dd3 10557 "Haswell-noTSX-IBRS",
f004f5b9
DM
10558 "host",
10559 "IvyBridge",
35a75dd3 10560 "IvyBridge-IBRS",
44660702
DM
10561 "kvm32",
10562 "kvm64",
35a75dd3 10563 "max",
44660702 10564 "Nehalem",
35a75dd3 10565 "Nehalem-IBRS",
44660702
DM
10566 "Opteron_G1",
10567 "Opteron_G2",
10568 "Opteron_G3",
10569 "Opteron_G4",
10570 "Opteron_G5",
f004f5b9
DM
10571 "Penryn",
10572 "pentium",
10573 "pentium2",
10574 "pentium3",
10575 "phenom",
10576 "qemu32",
10577 "qemu64",
10578 "SandyBridge",
35a75dd3 10579 "SandyBridge-IBRS",
5d9c884c 10580 "Skylake-Client",
35a75dd3
DM
10581 "Skylake-Client-IBRS",
10582 "Skylake-Server",
10583 "Skylake-Server-IBRS",
10584 "Westmere",
10585 "Westmere-IBRS"
44660702 10586 ],
44660702
DM
10587 "type" : "string"
10588 },
35a75dd3 10589 "flags" : {
4d47f125 10590 "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'.",
35a75dd3
DM
10591 "format_description" : "+FLAG[;-FLAG...]",
10592 "optional" : 1,
4d47f125 10593 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
35a75dd3
DM
10594 "type" : "string"
10595 },
44660702
DM
10596 "hidden" : {
10597 "default" : 0,
10598 "description" : "Do not identify as a KVM virtual machine.",
10599 "optional" : 1,
10600 "type" : "boolean"
5f26e15b
TL
10601 },
10602 "hv-vendor-id" : {
10603 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
10604 "format_description" : "vendor-id",
10605 "optional" : 1,
10606 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
10607 "type" : "string"
44660702
DM
10608 }
10609 },
10610 "optional" : 1,
4bd7df8b 10611 "type" : "string",
5f26e15b 10612 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
44660702
DM
10613 },
10614 "cpulimit" : {
10615 "default" : 0,
c2993fe5 10616 "description" : "Limit of CPU usage.",
44660702
DM
10617 "maximum" : 128,
10618 "minimum" : 0,
10619 "optional" : 1,
c2993fe5 10620 "type" : "number",
013dc89f 10621 "typetext" : "<number> (0 - 128)",
c2993fe5 10622 "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
10623 },
10624 "cpuunits" : {
de0983cb 10625 "default" : 1024,
c2993fe5 10626 "description" : "CPU weight for a VM.",
2489d6df
WB
10627 "maximum" : 262144,
10628 "minimum" : 2,
44660702 10629 "optional" : 1,
c2993fe5 10630 "type" : "integer",
2489d6df
WB
10631 "typetext" : "<integer> (2 - 262144)",
10632 "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
10633 },
10634 "delete" : {
10635 "description" : "A list of settings you want to delete.",
10636 "format" : "pve-configid-list",
10637 "optional" : 1,
013dc89f
DM
10638 "type" : "string",
10639 "typetext" : "<string>"
44660702
DM
10640 },
10641 "description" : {
10642 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
10643 "optional" : 1,
013dc89f
DM
10644 "type" : "string",
10645 "typetext" : "<string>"
44660702
DM
10646 },
10647 "digest" : {
10648 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10649 "maxLength" : 40,
10650 "optional" : 1,
013dc89f
DM
10651 "type" : "string",
10652 "typetext" : "<string>"
44660702 10653 },
4d47f125
TL
10654 "efidisk0" : {
10655 "description" : "Configure a Disk for storing EFI vars",
10656 "format" : {
10657 "file" : {
10658 "default_key" : 1,
10659 "description" : "The drive's backing volume.",
10660 "format" : "pve-volume-id-or-qm-path",
10661 "format_description" : "volume",
10662 "type" : "string"
10663 },
10664 "format" : {
10665 "description" : "The drive's backing file's data format.",
10666 "enum" : [
10667 "raw",
10668 "cow",
10669 "qcow",
10670 "qed",
10671 "qcow2",
10672 "vmdk",
10673 "cloop"
10674 ],
10675 "optional" : 1,
10676 "type" : "string"
10677 },
10678 "size" : {
10679 "description" : "Disk size. This is purely informational and has no effect.",
10680 "format" : "disk-size",
10681 "format_description" : "DiskSize",
10682 "optional" : 1,
10683 "type" : "string"
10684 },
10685 "volume" : {
10686 "alias" : "file"
10687 }
10688 },
10689 "optional" : 1,
10690 "type" : "string",
10691 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
10692 },
44660702
DM
10693 "force" : {
10694 "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.",
10695 "optional" : 1,
10696 "requires" : "delete",
013dc89f
DM
10697 "type" : "boolean",
10698 "typetext" : "<boolean>"
44660702
DM
10699 },
10700 "freeze" : {
10701 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
10702 "optional" : 1,
013dc89f
DM
10703 "type" : "boolean",
10704 "typetext" : "<boolean>"
44660702 10705 },
5f26e15b
TL
10706 "hookscript" : {
10707 "description" : "Script that will be executed during various steps in the vms lifetime.",
10708 "format" : "pve-volume-id",
10709 "optional" : 1,
10710 "type" : "string",
10711 "typetext" : "<string>"
10712 },
44660702 10713 "hostpci[n]" : {
c2993fe5 10714 "description" : "Map host PCI devices into guest.",
44660702
DM
10715 "format" : "pve-qm-hostpci",
10716 "optional" : 1,
57b78691 10717 "type" : "string",
e2d681b3 10718 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 10719 "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 10720 },
7aacca6f 10721 "hotplug" : {
7aacca6f 10722 "default" : "network,disk,usb",
44660702
DM
10723 "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'.",
10724 "format" : "pve-hotplug-features",
56122987 10725 "optional" : 1,
013dc89f
DM
10726 "type" : "string",
10727 "typetext" : "<string>"
56122987 10728 },
4bd7df8b
DM
10729 "hugepages" : {
10730 "description" : "Enable/disable hugepages memory.",
10731 "enum" : [
10732 "any",
10733 "2",
10734 "1024"
10735 ],
10736 "optional" : 1,
10737 "type" : "string"
10738 },
56122987 10739 "ide[n]" : {
7aacca6f 10740 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 10741 "format" : {
44660702
DM
10742 "aio" : {
10743 "description" : "AIO type to use.",
10744 "enum" : [
10745 "native",
10746 "threads"
10747 ],
56122987 10748 "optional" : 1,
44660702 10749 "type" : "string"
56122987 10750 },
44660702
DM
10751 "backup" : {
10752 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10753 "optional" : 1,
10754 "type" : "boolean"
10755 },
10756 "bps" : {
de0983cb 10757 "description" : "Maximum r/w speed in bytes per second.",
44660702 10758 "format_description" : "bps",
56122987 10759 "optional" : 1,
44660702 10760 "type" : "integer"
56122987 10761 },
de0983cb
DM
10762 "bps_max_length" : {
10763 "description" : "Maximum length of I/O bursts in seconds.",
10764 "format_description" : "seconds",
10765 "minimum" : 1,
10766 "optional" : 1,
10767 "type" : "integer"
10768 },
44660702 10769 "bps_rd" : {
de0983cb 10770 "description" : "Maximum read speed in bytes per second.",
44660702 10771 "format_description" : "bps",
56122987 10772 "optional" : 1,
44660702 10773 "type" : "integer"
56122987 10774 },
de0983cb 10775 "bps_rd_length" : {
5d9c884c
DM
10776 "alias" : "bps_rd_max_length"
10777 },
10778 "bps_rd_max_length" : {
de0983cb
DM
10779 "description" : "Maximum length of read I/O bursts in seconds.",
10780 "format_description" : "seconds",
10781 "minimum" : 1,
10782 "optional" : 1,
10783 "type" : "integer"
10784 },
7aacca6f 10785 "bps_wr" : {
de0983cb 10786 "description" : "Maximum write speed in bytes per second.",
44660702
DM
10787 "format_description" : "bps",
10788 "optional" : 1,
10789 "type" : "integer"
7aacca6f 10790 },
de0983cb 10791 "bps_wr_length" : {
5d9c884c
DM
10792 "alias" : "bps_wr_max_length"
10793 },
10794 "bps_wr_max_length" : {
de0983cb
DM
10795 "description" : "Maximum length of write I/O bursts in seconds.",
10796 "format_description" : "seconds",
10797 "minimum" : 1,
10798 "optional" : 1,
10799 "type" : "integer"
10800 },
44660702
DM
10801 "cache" : {
10802 "description" : "The drive's cache mode",
10803 "enum" : [
10804 "none",
10805 "writethrough",
10806 "writeback",
10807 "unsafe",
10808 "directsync"
10809 ],
56122987 10810 "optional" : 1,
44660702
DM
10811 "type" : "string"
10812 },
10813 "cyls" : {
10814 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10815 "optional" : 1,
10816 "type" : "integer"
10817 },
10818 "detect_zeroes" : {
10819 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10820 "optional" : 1,
10821 "type" : "boolean"
56122987 10822 },
7aacca6f 10823 "discard" : {
7aacca6f 10824 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 10825 "enum" : [
7aacca6f
DM
10826 "ignore",
10827 "on"
56122987
DM
10828 ],
10829 "optional" : 1,
44660702 10830 "type" : "string"
7aacca6f 10831 },
44660702
DM
10832 "file" : {
10833 "default_key" : 1,
10834 "description" : "The drive's backing volume.",
10835 "format" : "pve-volume-id-or-qm-path",
10836 "format_description" : "volume",
10837 "type" : "string"
7aacca6f
DM
10838 },
10839 "format" : {
44660702 10840 "description" : "The drive's backing file's data format.",
7aacca6f
DM
10841 "enum" : [
10842 "raw",
10843 "cow",
10844 "qcow",
10845 "qed",
10846 "qcow2",
10847 "vmdk",
10848 "cloop"
10849 ],
7aacca6f 10850 "optional" : 1,
44660702 10851 "type" : "string"
56122987 10852 },
7aacca6f 10853 "heads" : {
44660702 10854 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10855 "optional" : 1,
44660702 10856 "type" : "integer"
7aacca6f 10857 },
44660702 10858 "iops" : {
de0983cb 10859 "description" : "Maximum r/w I/O in operations per second.",
44660702 10860 "format_description" : "iops",
7aacca6f 10861 "optional" : 1,
44660702 10862 "type" : "integer"
56122987 10863 },
44660702 10864 "iops_max" : {
de0983cb 10865 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10866 "format_description" : "iops",
56122987 10867 "optional" : 1,
44660702 10868 "type" : "integer"
56122987 10869 },
de0983cb
DM
10870 "iops_max_length" : {
10871 "description" : "Maximum length of I/O bursts in seconds.",
10872 "format_description" : "seconds",
10873 "minimum" : 1,
10874 "optional" : 1,
10875 "type" : "integer"
10876 },
44660702 10877 "iops_rd" : {
de0983cb 10878 "description" : "Maximum read I/O in operations per second.",
44660702 10879 "format_description" : "iops",
56122987 10880 "optional" : 1,
44660702 10881 "type" : "integer"
7aacca6f 10882 },
de0983cb 10883 "iops_rd_length" : {
5d9c884c 10884 "alias" : "iops_rd_max_length"
de0983cb 10885 },
44660702 10886 "iops_rd_max" : {
de0983cb 10887 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10888 "format_description" : "iops",
7aacca6f 10889 "optional" : 1,
44660702 10890 "type" : "integer"
7aacca6f 10891 },
5d9c884c
DM
10892 "iops_rd_max_length" : {
10893 "description" : "Maximum length of read I/O bursts in seconds.",
10894 "format_description" : "seconds",
10895 "minimum" : 1,
10896 "optional" : 1,
10897 "type" : "integer"
10898 },
44660702 10899 "iops_wr" : {
de0983cb 10900 "description" : "Maximum write I/O in operations per second.",
44660702 10901 "format_description" : "iops",
7aacca6f 10902 "optional" : 1,
44660702 10903 "type" : "integer"
56122987 10904 },
de0983cb 10905 "iops_wr_length" : {
5d9c884c 10906 "alias" : "iops_wr_max_length"
de0983cb 10907 },
44660702 10908 "iops_wr_max" : {
de0983cb 10909 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 10910 "format_description" : "iops",
7aacca6f 10911 "optional" : 1,
44660702 10912 "type" : "integer"
7aacca6f 10913 },
5d9c884c
DM
10914 "iops_wr_max_length" : {
10915 "description" : "Maximum length of write I/O bursts in seconds.",
10916 "format_description" : "seconds",
10917 "minimum" : 1,
10918 "optional" : 1,
10919 "type" : "integer"
10920 },
7aacca6f 10921 "mbps" : {
de0983cb 10922 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 10923 "format_description" : "mbps",
7aacca6f 10924 "optional" : 1,
44660702 10925 "type" : "number"
7aacca6f 10926 },
44660702 10927 "mbps_max" : {
de0983cb 10928 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 10929 "format_description" : "mbps",
7aacca6f 10930 "optional" : 1,
44660702 10931 "type" : "number"
7aacca6f 10932 },
44660702 10933 "mbps_rd" : {
de0983cb 10934 "description" : "Maximum read speed in megabytes per second.",
44660702 10935 "format_description" : "mbps",
7aacca6f 10936 "optional" : 1,
44660702 10937 "type" : "number"
7aacca6f 10938 },
44660702 10939 "mbps_rd_max" : {
de0983cb 10940 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
10941 "format_description" : "mbps",
10942 "optional" : 1,
10943 "type" : "number"
7aacca6f 10944 },
44660702 10945 "mbps_wr" : {
de0983cb 10946 "description" : "Maximum write speed in megabytes per second.",
44660702 10947 "format_description" : "mbps",
7aacca6f 10948 "optional" : 1,
44660702
DM
10949 "type" : "number"
10950 },
10951 "mbps_wr_max" : {
de0983cb 10952 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
10953 "format_description" : "mbps",
10954 "optional" : 1,
10955 "type" : "number"
10956 },
10957 "media" : {
10958 "default" : "disk",
10959 "description" : "The drive's media type.",
56122987 10960 "enum" : [
44660702
DM
10961 "cdrom",
10962 "disk"
56122987 10963 ],
44660702
DM
10964 "optional" : 1,
10965 "type" : "string"
56122987 10966 },
7aacca6f 10967 "model" : {
44660702 10968 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 10969 "format" : "urlencoded",
7aacca6f 10970 "format_description" : "model",
44660702 10971 "maxLength" : 120,
56122987 10972 "optional" : 1,
44660702 10973 "type" : "string"
56122987 10974 },
5d9c884c
DM
10975 "replicate" : {
10976 "default" : 1,
10977 "description" : "Whether the drive should considered for replication jobs.",
10978 "optional" : 1,
10979 "type" : "boolean"
10980 },
44660702
DM
10981 "rerror" : {
10982 "description" : "Read error action.",
10983 "enum" : [
10984 "ignore",
10985 "report",
10986 "stop"
10987 ],
56122987 10988 "optional" : 1,
44660702 10989 "type" : "string"
56122987 10990 },
44660702
DM
10991 "secs" : {
10992 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10993 "optional" : 1,
10994 "type" : "integer"
56122987 10995 },
44660702
DM
10996 "serial" : {
10997 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10998 "format" : "urlencoded",
10999 "format_description" : "serial",
11000 "maxLength" : 60,
56122987 11001 "optional" : 1,
44660702 11002 "type" : "string"
56122987 11003 },
27a7acb2
DM
11004 "shared" : {
11005 "default" : 0,
11006 "description" : "Mark this locally-managed volume as available on all nodes",
11007 "optional" : 1,
11008 "type" : "boolean",
11009 "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!"
11010 },
44660702
DM
11011 "size" : {
11012 "description" : "Disk size. This is purely informational and has no effect.",
11013 "format" : "disk-size",
f004f5b9 11014 "format_description" : "DiskSize",
56122987 11015 "optional" : 1,
44660702 11016 "type" : "string"
56122987 11017 },
44660702 11018 "snapshot" : {
27a7acb2 11019 "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 11020 "optional" : 1,
44660702 11021 "type" : "boolean"
56122987 11022 },
25203dc1
NC
11023 "ssd" : {
11024 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11025 "optional" : 1,
11026 "type" : "boolean"
11027 },
44660702
DM
11028 "trans" : {
11029 "description" : "Force disk geometry bios translation mode.",
11030 "enum" : [
11031 "none",
11032 "lba",
11033 "auto"
11034 ],
56122987 11035 "optional" : 1,
44660702
DM
11036 "type" : "string"
11037 },
11038 "volume" : {
11039 "alias" : "file"
56122987 11040 },
7aacca6f 11041 "werror" : {
44660702 11042 "description" : "Write error action.",
7aacca6f
DM
11043 "enum" : [
11044 "enospc",
11045 "ignore",
11046 "report",
11047 "stop"
11048 ],
56122987 11049 "optional" : 1,
44660702 11050 "type" : "string"
95895385
TL
11051 },
11052 "wwn" : {
11053 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
11054 "format_description" : "wwn",
11055 "optional" : 1,
11056 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
11057 "type" : "string"
7aacca6f 11058 }
44660702
DM
11059 },
11060 "optional" : 1,
4bd7df8b 11061 "type" : "string",
95895385 11062 "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
11063 },
11064 "ipconfig[n]" : {
11065 "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",
11066 "format" : "pve-qm-ipconfig",
11067 "optional" : 1,
11068 "type" : "string",
11069 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 11070 },
95895385
TL
11071 "ivshmem" : {
11072 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
11073 "format" : {
11074 "name" : {
11075 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
11076 "format_description" : "string",
11077 "optional" : 1,
11078 "pattern" : "[a-zA-Z0-9\\-]+",
11079 "type" : "string"
11080 },
11081 "size" : {
11082 "description" : "The size of the file in MB.",
11083 "minimum" : 1,
11084 "type" : "integer"
11085 }
11086 },
11087 "optional" : 1,
11088 "type" : "string",
11089 "typetext" : "size=<integer> [,name=<string>]"
11090 },
44660702 11091 "keyboard" : {
35a75dd3 11092 "default" : null,
5da3d723 11093 "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
11094 "enum" : [
11095 "de",
11096 "de-ch",
11097 "da",
11098 "en-gb",
11099 "en-us",
11100 "es",
11101 "fi",
11102 "fr",
11103 "fr-be",
11104 "fr-ca",
11105 "fr-ch",
11106 "hu",
11107 "is",
11108 "it",
11109 "ja",
11110 "lt",
11111 "mk",
11112 "nl",
11113 "no",
11114 "pl",
11115 "pt",
11116 "pt-br",
11117 "sv",
11118 "sl",
11119 "tr"
11120 ],
7aacca6f 11121 "optional" : 1,
44660702 11122 "type" : "string"
7aacca6f 11123 },
44660702 11124 "kvm" : {
7aacca6f 11125 "default" : 1,
44660702 11126 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 11127 "optional" : 1,
013dc89f
DM
11128 "type" : "boolean",
11129 "typetext" : "<boolean>"
7aacca6f 11130 },
44660702
DM
11131 "localtime" : {
11132 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 11133 "optional" : 1,
013dc89f
DM
11134 "type" : "boolean",
11135 "typetext" : "<boolean>"
7aacca6f 11136 },
44660702
DM
11137 "lock" : {
11138 "description" : "Lock/unlock the VM.",
11139 "enum" : [
44660702 11140 "backup",
5f26e15b
TL
11141 "clone",
11142 "create",
11143 "migrate",
11144 "rollback",
44660702 11145 "snapshot",
95895385
TL
11146 "snapshot-delete",
11147 "suspending",
11148 "suspended"
44660702 11149 ],
7aacca6f 11150 "optional" : 1,
44660702 11151 "type" : "string"
7aacca6f 11152 },
44660702 11153 "machine" : {
4d47f125 11154 "description" : "Specifies the Qemu machine type.",
44660702 11155 "maxLength" : 40,
7aacca6f 11156 "optional" : 1,
e2d681b3 11157 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702 11158 "type" : "string"
7aacca6f 11159 },
44660702
DM
11160 "memory" : {
11161 "default" : 512,
11162 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
11163 "minimum" : 16,
7aacca6f 11164 "optional" : 1,
4bd7df8b 11165 "type" : "integer",
013dc89f 11166 "typetext" : "<integer> (16 - N)"
7aacca6f 11167 },
44660702
DM
11168 "migrate_downtime" : {
11169 "default" : 0.1,
11170 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
11171 "minimum" : 0,
7aacca6f 11172 "optional" : 1,
4bd7df8b 11173 "type" : "number",
013dc89f 11174 "typetext" : "<number> (0 - N)"
7aacca6f 11175 },
44660702 11176 "migrate_speed" : {
7aacca6f 11177 "default" : 0,
44660702
DM
11178 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
11179 "minimum" : 0,
11180 "optional" : 1,
4bd7df8b 11181 "type" : "integer",
013dc89f 11182 "typetext" : "<integer> (0 - N)"
7aacca6f 11183 },
44660702
DM
11184 "name" : {
11185 "description" : "Set a name for the VM. Only used on the configuration web interface.",
11186 "format" : "dns-name",
7aacca6f 11187 "optional" : 1,
013dc89f
DM
11188 "type" : "string",
11189 "typetext" : "<string>"
7aacca6f 11190 },
27a7acb2
DM
11191 "nameserver" : {
11192 "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.",
11193 "format" : "address-list",
11194 "optional" : 1,
11195 "type" : "string",
11196 "typetext" : "<string>"
11197 },
44660702 11198 "net[n]" : {
c2993fe5 11199 "description" : "Specify network devices.",
f004f5b9
DM
11200 "format" : {
11201 "bridge" : {
c2993fe5 11202 "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
11203 "format_description" : "bridge",
11204 "optional" : 1,
11205 "type" : "string"
11206 },
11207 "e1000" : {
11208 "alias" : "macaddr",
11209 "keyAlias" : "model"
11210 },
11211 "e1000-82540em" : {
11212 "alias" : "macaddr",
11213 "keyAlias" : "model"
11214 },
11215 "e1000-82544gc" : {
11216 "alias" : "macaddr",
11217 "keyAlias" : "model"
11218 },
11219 "e1000-82545em" : {
11220 "alias" : "macaddr",
11221 "keyAlias" : "model"
11222 },
11223 "firewall" : {
11224 "description" : "Whether this interface should be protected by the firewall.",
11225 "optional" : 1,
11226 "type" : "boolean"
11227 },
11228 "i82551" : {
11229 "alias" : "macaddr",
11230 "keyAlias" : "model"
11231 },
11232 "i82557b" : {
11233 "alias" : "macaddr",
11234 "keyAlias" : "model"
11235 },
11236 "i82559er" : {
11237 "alias" : "macaddr",
11238 "keyAlias" : "model"
11239 },
11240 "link_down" : {
c2993fe5 11241 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
11242 "optional" : 1,
11243 "type" : "boolean"
11244 },
11245 "macaddr" : {
c2993fe5 11246 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 11247 "format" : "mac-addr",
f004f5b9 11248 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 11249 "optional" : 1,
95895385
TL
11250 "type" : "string",
11251 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
11252 },
11253 "model" : {
11254 "default_key" : 1,
c2993fe5 11255 "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
11256 "enum" : [
11257 "rtl8139",
11258 "ne2k_pci",
11259 "e1000",
11260 "pcnet",
11261 "virtio",
11262 "ne2k_isa",
11263 "i82551",
11264 "i82557b",
11265 "i82559er",
11266 "vmxnet3",
11267 "e1000-82540em",
11268 "e1000-82544gc",
11269 "e1000-82545em"
11270 ],
f004f5b9
DM
11271 "type" : "string"
11272 },
11273 "ne2k_isa" : {
11274 "alias" : "macaddr",
11275 "keyAlias" : "model"
11276 },
11277 "ne2k_pci" : {
11278 "alias" : "macaddr",
11279 "keyAlias" : "model"
11280 },
11281 "pcnet" : {
11282 "alias" : "macaddr",
11283 "keyAlias" : "model"
11284 },
11285 "queues" : {
11286 "description" : "Number of packet queues to be used on the device.",
11287 "maximum" : 16,
11288 "minimum" : 0,
11289 "optional" : 1,
11290 "type" : "integer"
11291 },
11292 "rate" : {
c2993fe5 11293 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
11294 "minimum" : 0,
11295 "optional" : 1,
11296 "type" : "number"
11297 },
11298 "rtl8139" : {
11299 "alias" : "macaddr",
11300 "keyAlias" : "model"
11301 },
11302 "tag" : {
11303 "description" : "VLAN tag to apply to packets on this interface.",
11304 "maximum" : 4094,
c2993fe5 11305 "minimum" : 1,
f004f5b9
DM
11306 "optional" : 1,
11307 "type" : "integer"
11308 },
11309 "trunks" : {
11310 "description" : "VLAN trunks to pass through this interface.",
11311 "format_description" : "vlanid[;vlanid...]",
11312 "optional" : 1,
11313 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11314 "type" : "string"
11315 },
11316 "virtio" : {
11317 "alias" : "macaddr",
11318 "keyAlias" : "model"
11319 },
11320 "vmxnet3" : {
11321 "alias" : "macaddr",
11322 "keyAlias" : "model"
11323 }
11324 },
7aacca6f 11325 "optional" : 1,
4bd7df8b 11326 "type" : "string",
013dc89f 11327 "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 11328 },
44660702
DM
11329 "node" : {
11330 "description" : "The cluster node name.",
11331 "format" : "pve-node",
013dc89f
DM
11332 "type" : "string",
11333 "typetext" : "<string>"
44660702
DM
11334 },
11335 "numa" : {
11336 "default" : 0,
11337 "description" : "Enable/disable NUMA.",
7aacca6f 11338 "optional" : 1,
013dc89f
DM
11339 "type" : "boolean",
11340 "typetext" : "<boolean>"
7aacca6f 11341 },
44660702 11342 "numa[n]" : {
c2993fe5 11343 "description" : "NUMA topology.",
44660702
DM
11344 "format" : {
11345 "cpus" : {
c2993fe5 11346 "description" : "CPUs accessing this NUMA node.",
44660702
DM
11347 "format_description" : "id[-id];...",
11348 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11349 "type" : "string"
11350 },
11351 "hostnodes" : {
c2993fe5 11352 "description" : "Host NUMA nodes to use.",
44660702
DM
11353 "format_description" : "id[-id];...",
11354 "optional" : 1,
11355 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11356 "type" : "string"
11357 },
11358 "memory" : {
c2993fe5 11359 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
11360 "optional" : 1,
11361 "type" : "number"
11362 },
11363 "policy" : {
c2993fe5 11364 "description" : "NUMA allocation policy.",
44660702
DM
11365 "enum" : [
11366 "preferred",
11367 "bind",
11368 "interleave"
11369 ],
44660702
DM
11370 "optional" : 1,
11371 "type" : "string"
11372 }
11373 },
7aacca6f 11374 "optional" : 1,
4bd7df8b
DM
11375 "type" : "string",
11376 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 11377 },
44660702
DM
11378 "onboot" : {
11379 "default" : 0,
11380 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 11381 "optional" : 1,
013dc89f
DM
11382 "type" : "boolean",
11383 "typetext" : "<boolean>"
7aacca6f 11384 },
44660702 11385 "ostype" : {
c2993fe5 11386 "description" : "Specify guest operating system.",
44660702
DM
11387 "enum" : [
11388 "other",
11389 "wxp",
11390 "w2k",
11391 "w2k3",
11392 "w2k8",
11393 "wvista",
11394 "win7",
11395 "win8",
32d876b5 11396 "win10",
44660702
DM
11397 "l24",
11398 "l26",
11399 "solaris"
11400 ],
7aacca6f 11401 "optional" : 1,
c2993fe5 11402 "type" : "string",
35a75dd3 11403 "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/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
7aacca6f 11404 },
44660702 11405 "parallel[n]" : {
c2993fe5 11406 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 11407 "optional" : 1,
44660702 11408 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
11409 "type" : "string",
11410 "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 11411 },
44660702
DM
11412 "protection" : {
11413 "default" : 0,
c2993fe5 11414 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 11415 "optional" : 1,
013dc89f
DM
11416 "type" : "boolean",
11417 "typetext" : "<boolean>"
7aacca6f 11418 },
44660702
DM
11419 "reboot" : {
11420 "default" : 1,
11421 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 11422 "optional" : 1,
013dc89f
DM
11423 "type" : "boolean",
11424 "typetext" : "<boolean>"
7aacca6f 11425 },
44660702
DM
11426 "revert" : {
11427 "description" : "Revert a pending change.",
11428 "format" : "pve-configid-list",
7aacca6f 11429 "optional" : 1,
013dc89f
DM
11430 "type" : "string",
11431 "typetext" : "<string>"
7aacca6f 11432 },
44660702
DM
11433 "sata[n]" : {
11434 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 11435 "format" : {
44660702
DM
11436 "aio" : {
11437 "description" : "AIO type to use.",
11438 "enum" : [
11439 "native",
11440 "threads"
11441 ],
44660702
DM
11442 "optional" : 1,
11443 "type" : "string"
11444 },
11445 "backup" : {
11446 "description" : "Whether the drive should be included when making backups.",
44660702
DM
11447 "optional" : 1,
11448 "type" : "boolean"
11449 },
11450 "bps" : {
de0983cb 11451 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 11452 "format_description" : "bps",
7aacca6f
DM
11453 "optional" : 1,
11454 "type" : "integer"
56122987 11455 },
de0983cb
DM
11456 "bps_max_length" : {
11457 "description" : "Maximum length of I/O bursts in seconds.",
11458 "format_description" : "seconds",
11459 "minimum" : 1,
11460 "optional" : 1,
11461 "type" : "integer"
11462 },
44660702 11463 "bps_rd" : {
de0983cb 11464 "description" : "Maximum read speed in bytes per second.",
44660702 11465 "format_description" : "bps",
7aacca6f 11466 "optional" : 1,
44660702 11467 "type" : "integer"
7aacca6f 11468 },
de0983cb 11469 "bps_rd_length" : {
5d9c884c
DM
11470 "alias" : "bps_rd_max_length"
11471 },
11472 "bps_rd_max_length" : {
de0983cb
DM
11473 "description" : "Maximum length of read I/O bursts in seconds.",
11474 "format_description" : "seconds",
11475 "minimum" : 1,
11476 "optional" : 1,
11477 "type" : "integer"
11478 },
44660702 11479 "bps_wr" : {
de0983cb 11480 "description" : "Maximum write speed in bytes per second.",
44660702 11481 "format_description" : "bps",
7aacca6f 11482 "optional" : 1,
44660702 11483 "type" : "integer"
7aacca6f 11484 },
de0983cb 11485 "bps_wr_length" : {
5d9c884c
DM
11486 "alias" : "bps_wr_max_length"
11487 },
11488 "bps_wr_max_length" : {
de0983cb
DM
11489 "description" : "Maximum length of write I/O bursts in seconds.",
11490 "format_description" : "seconds",
11491 "minimum" : 1,
11492 "optional" : 1,
11493 "type" : "integer"
11494 },
44660702
DM
11495 "cache" : {
11496 "description" : "The drive's cache mode",
11497 "enum" : [
11498 "none",
11499 "writethrough",
11500 "writeback",
11501 "unsafe",
11502 "directsync"
11503 ],
7aacca6f 11504 "optional" : 1,
44660702 11505 "type" : "string"
7aacca6f 11506 },
44660702
DM
11507 "cyls" : {
11508 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 11509 "optional" : 1,
44660702 11510 "type" : "integer"
7aacca6f 11511 },
44660702
DM
11512 "detect_zeroes" : {
11513 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 11514 "optional" : 1,
44660702 11515 "type" : "boolean"
7aacca6f 11516 },
44660702
DM
11517 "discard" : {
11518 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11519 "enum" : [
11520 "ignore",
11521 "on"
11522 ],
7aacca6f 11523 "optional" : 1,
44660702
DM
11524 "type" : "string"
11525 },
11526 "file" : {
11527 "default_key" : 1,
11528 "description" : "The drive's backing volume.",
11529 "format" : "pve-volume-id-or-qm-path",
11530 "format_description" : "volume",
11531 "type" : "string"
7aacca6f
DM
11532 },
11533 "format" : {
7aacca6f 11534 "description" : "The drive's backing file's data format.",
56122987
DM
11535 "enum" : [
11536 "raw",
11537 "cow",
11538 "qcow",
11539 "qed",
11540 "qcow2",
11541 "vmdk",
11542 "cloop"
11543 ],
11544 "optional" : 1,
7aacca6f 11545 "type" : "string"
56122987 11546 },
7aacca6f 11547 "heads" : {
7aacca6f 11548 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11549 "optional" : 1,
11550 "type" : "integer"
56122987 11551 },
44660702 11552 "iops" : {
de0983cb 11553 "description" : "Maximum r/w I/O in operations per second.",
44660702 11554 "format_description" : "iops",
56122987 11555 "optional" : 1,
44660702 11556 "type" : "integer"
7aacca6f 11557 },
44660702 11558 "iops_max" : {
de0983cb 11559 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11560 "format_description" : "iops",
7aacca6f 11561 "optional" : 1,
44660702 11562 "type" : "integer"
56122987 11563 },
de0983cb
DM
11564 "iops_max_length" : {
11565 "description" : "Maximum length of I/O bursts in seconds.",
11566 "format_description" : "seconds",
11567 "minimum" : 1,
11568 "optional" : 1,
11569 "type" : "integer"
11570 },
44660702 11571 "iops_rd" : {
de0983cb 11572 "description" : "Maximum read I/O in operations per second.",
44660702 11573 "format_description" : "iops",
56122987 11574 "optional" : 1,
44660702 11575 "type" : "integer"
7aacca6f 11576 },
de0983cb 11577 "iops_rd_length" : {
5d9c884c 11578 "alias" : "iops_rd_max_length"
de0983cb 11579 },
44660702 11580 "iops_rd_max" : {
de0983cb 11581 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11582 "format_description" : "iops",
56122987 11583 "optional" : 1,
44660702 11584 "type" : "integer"
56122987 11585 },
5d9c884c
DM
11586 "iops_rd_max_length" : {
11587 "description" : "Maximum length of read I/O bursts in seconds.",
11588 "format_description" : "seconds",
11589 "minimum" : 1,
11590 "optional" : 1,
11591 "type" : "integer"
11592 },
44660702 11593 "iops_wr" : {
de0983cb 11594 "description" : "Maximum write I/O in operations per second.",
44660702
DM
11595 "format_description" : "iops",
11596 "optional" : 1,
11597 "type" : "integer"
56122987 11598 },
de0983cb 11599 "iops_wr_length" : {
5d9c884c 11600 "alias" : "iops_wr_max_length"
de0983cb 11601 },
44660702 11602 "iops_wr_max" : {
de0983cb 11603 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
11604 "format_description" : "iops",
11605 "optional" : 1,
11606 "type" : "integer"
11607 },
5d9c884c
DM
11608 "iops_wr_max_length" : {
11609 "description" : "Maximum length of write I/O bursts in seconds.",
11610 "format_description" : "seconds",
11611 "minimum" : 1,
11612 "optional" : 1,
11613 "type" : "integer"
11614 },
44660702 11615 "mbps" : {
de0983cb 11616 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
11617 "format_description" : "mbps",
11618 "optional" : 1,
11619 "type" : "number"
11620 },
11621 "mbps_max" : {
de0983cb 11622 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
11623 "format_description" : "mbps",
11624 "optional" : 1,
11625 "type" : "number"
11626 },
11627 "mbps_rd" : {
de0983cb 11628 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
11629 "format_description" : "mbps",
11630 "optional" : 1,
11631 "type" : "number"
11632 },
11633 "mbps_rd_max" : {
de0983cb 11634 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11635 "format_description" : "mbps",
11636 "optional" : 1,
11637 "type" : "number"
11638 },
11639 "mbps_wr" : {
de0983cb 11640 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11641 "format_description" : "mbps",
11642 "optional" : 1,
11643 "type" : "number"
11644 },
11645 "mbps_wr_max" : {
de0983cb 11646 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11647 "format_description" : "mbps",
11648 "optional" : 1,
11649 "type" : "number"
11650 },
11651 "media" : {
11652 "default" : "disk",
11653 "description" : "The drive's media type.",
11654 "enum" : [
11655 "cdrom",
11656 "disk"
11657 ],
56122987 11658 "optional" : 1,
44660702
DM
11659 "type" : "string"
11660 },
5d9c884c
DM
11661 "replicate" : {
11662 "default" : 1,
11663 "description" : "Whether the drive should considered for replication jobs.",
11664 "optional" : 1,
11665 "type" : "boolean"
11666 },
44660702 11667 "rerror" : {
7aacca6f
DM
11668 "description" : "Read error action.",
11669 "enum" : [
11670 "ignore",
11671 "report",
11672 "stop"
44660702 11673 ],
56122987 11674 "optional" : 1,
44660702 11675 "type" : "string"
56122987 11676 },
7aacca6f 11677 "secs" : {
44660702 11678 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11679 "optional" : 1,
44660702 11680 "type" : "integer"
56122987 11681 },
44660702
DM
11682 "serial" : {
11683 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11684 "format" : "urlencoded",
11685 "format_description" : "serial",
11686 "maxLength" : 60,
56122987 11687 "optional" : 1,
44660702 11688 "type" : "string"
56122987 11689 },
27a7acb2
DM
11690 "shared" : {
11691 "default" : 0,
11692 "description" : "Mark this locally-managed volume as available on all nodes",
11693 "optional" : 1,
11694 "type" : "boolean",
11695 "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!"
11696 },
44660702
DM
11697 "size" : {
11698 "description" : "Disk size. This is purely informational and has no effect.",
11699 "format" : "disk-size",
f004f5b9 11700 "format_description" : "DiskSize",
56122987 11701 "optional" : 1,
44660702 11702 "type" : "string"
56122987
DM
11703 },
11704 "snapshot" : {
27a7acb2 11705 "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 11706 "optional" : 1,
44660702 11707 "type" : "boolean"
56122987 11708 },
25203dc1
NC
11709 "ssd" : {
11710 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11711 "optional" : 1,
11712 "type" : "boolean"
11713 },
56122987 11714 "trans" : {
7aacca6f 11715 "description" : "Force disk geometry bios translation mode.",
56122987
DM
11716 "enum" : [
11717 "none",
11718 "lba",
11719 "auto"
11720 ],
11721 "optional" : 1,
44660702 11722 "type" : "string"
56122987 11723 },
44660702
DM
11724 "volume" : {
11725 "alias" : "file"
56122987 11726 },
7aacca6f 11727 "werror" : {
44660702 11728 "description" : "Write error action.",
56122987 11729 "enum" : [
7aacca6f 11730 "enospc",
56122987 11731 "ignore",
7aacca6f
DM
11732 "report",
11733 "stop"
11734 ],
7aacca6f 11735 "optional" : 1,
44660702 11736 "type" : "string"
95895385
TL
11737 },
11738 "wwn" : {
11739 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
11740 "format_description" : "wwn",
11741 "optional" : 1,
11742 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
11743 "type" : "string"
44660702
DM
11744 }
11745 },
11746 "optional" : 1,
4bd7df8b 11747 "type" : "string",
95895385 11748 "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
11749 },
11750 "scsi[n]" : {
11751 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
11752 "format" : {
11753 "aio" : {
7aacca6f 11754 "description" : "AIO type to use.",
56122987
DM
11755 "enum" : [
11756 "native",
11757 "threads"
44660702 11758 ],
56122987 11759 "optional" : 1,
44660702 11760 "type" : "string"
56122987 11761 },
7aacca6f 11762 "backup" : {
7aacca6f 11763 "description" : "Whether the drive should be included when making backups.",
7aacca6f 11764 "optional" : 1,
44660702 11765 "type" : "boolean"
56122987 11766 },
44660702 11767 "bps" : {
de0983cb 11768 "description" : "Maximum r/w speed in bytes per second.",
44660702 11769 "format_description" : "bps",
7aacca6f 11770 "optional" : 1,
44660702 11771 "type" : "integer"
7aacca6f 11772 },
de0983cb
DM
11773 "bps_max_length" : {
11774 "description" : "Maximum length of I/O bursts in seconds.",
11775 "format_description" : "seconds",
11776 "minimum" : 1,
11777 "optional" : 1,
11778 "type" : "integer"
11779 },
44660702 11780 "bps_rd" : {
de0983cb 11781 "description" : "Maximum read speed in bytes per second.",
44660702 11782 "format_description" : "bps",
56122987 11783 "optional" : 1,
44660702 11784 "type" : "integer"
56122987 11785 },
de0983cb 11786 "bps_rd_length" : {
5d9c884c
DM
11787 "alias" : "bps_rd_max_length"
11788 },
11789 "bps_rd_max_length" : {
de0983cb
DM
11790 "description" : "Maximum length of read I/O bursts in seconds.",
11791 "format_description" : "seconds",
11792 "minimum" : 1,
11793 "optional" : 1,
11794 "type" : "integer"
11795 },
44660702 11796 "bps_wr" : {
de0983cb 11797 "description" : "Maximum write speed in bytes per second.",
44660702 11798 "format_description" : "bps",
56122987 11799 "optional" : 1,
44660702 11800 "type" : "integer"
56122987 11801 },
de0983cb 11802 "bps_wr_length" : {
5d9c884c
DM
11803 "alias" : "bps_wr_max_length"
11804 },
11805 "bps_wr_max_length" : {
de0983cb
DM
11806 "description" : "Maximum length of write I/O bursts in seconds.",
11807 "format_description" : "seconds",
11808 "minimum" : 1,
11809 "optional" : 1,
11810 "type" : "integer"
11811 },
44660702
DM
11812 "cache" : {
11813 "description" : "The drive's cache mode",
11814 "enum" : [
11815 "none",
11816 "writethrough",
11817 "writeback",
11818 "unsafe",
11819 "directsync"
11820 ],
56122987 11821 "optional" : 1,
44660702
DM
11822 "type" : "string"
11823 },
11824 "cyls" : {
11825 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11826 "optional" : 1,
11827 "type" : "integer"
11828 },
11829 "detect_zeroes" : {
11830 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11831 "optional" : 1,
11832 "type" : "boolean"
11833 },
11834 "discard" : {
11835 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11836 "enum" : [
11837 "ignore",
11838 "on"
11839 ],
44660702
DM
11840 "optional" : 1,
11841 "type" : "string"
11842 },
11843 "file" : {
11844 "default_key" : 1,
11845 "description" : "The drive's backing volume.",
11846 "format" : "pve-volume-id-or-qm-path",
11847 "format_description" : "volume",
11848 "type" : "string"
56122987 11849 },
7aacca6f 11850 "format" : {
44660702 11851 "description" : "The drive's backing file's data format.",
7aacca6f
DM
11852 "enum" : [
11853 "raw",
11854 "cow",
11855 "qcow",
11856 "qed",
11857 "qcow2",
11858 "vmdk",
11859 "cloop"
11860 ],
56122987 11861 "optional" : 1,
44660702 11862 "type" : "string"
56122987 11863 },
44660702
DM
11864 "heads" : {
11865 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11866 "optional" : 1,
44660702 11867 "type" : "integer"
56122987 11868 },
44660702 11869 "iops" : {
de0983cb 11870 "description" : "Maximum r/w I/O in operations per second.",
44660702 11871 "format_description" : "iops",
7aacca6f 11872 "optional" : 1,
44660702 11873 "type" : "integer"
56122987 11874 },
44660702 11875 "iops_max" : {
de0983cb 11876 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 11877 "format_description" : "iops",
7aacca6f 11878 "optional" : 1,
44660702 11879 "type" : "integer"
56122987 11880 },
de0983cb
DM
11881 "iops_max_length" : {
11882 "description" : "Maximum length of I/O bursts in seconds.",
11883 "format_description" : "seconds",
11884 "minimum" : 1,
11885 "optional" : 1,
11886 "type" : "integer"
11887 },
44660702 11888 "iops_rd" : {
de0983cb 11889 "description" : "Maximum read I/O in operations per second.",
44660702 11890 "format_description" : "iops",
56122987 11891 "optional" : 1,
44660702 11892 "type" : "integer"
56122987 11893 },
de0983cb 11894 "iops_rd_length" : {
5d9c884c 11895 "alias" : "iops_rd_max_length"
de0983cb 11896 },
44660702 11897 "iops_rd_max" : {
de0983cb 11898 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11899 "format_description" : "iops",
56122987 11900 "optional" : 1,
44660702 11901 "type" : "integer"
56122987 11902 },
5d9c884c
DM
11903 "iops_rd_max_length" : {
11904 "description" : "Maximum length of read I/O bursts in seconds.",
11905 "format_description" : "seconds",
11906 "minimum" : 1,
11907 "optional" : 1,
11908 "type" : "integer"
11909 },
44660702 11910 "iops_wr" : {
de0983cb 11911 "description" : "Maximum write I/O in operations per second.",
44660702 11912 "format_description" : "iops",
56122987 11913 "optional" : 1,
44660702 11914 "type" : "integer"
56122987 11915 },
de0983cb 11916 "iops_wr_length" : {
5d9c884c 11917 "alias" : "iops_wr_max_length"
de0983cb 11918 },
44660702 11919 "iops_wr_max" : {
de0983cb 11920 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 11921 "format_description" : "iops",
44660702
DM
11922 "optional" : 1,
11923 "type" : "integer"
7aacca6f 11924 },
5d9c884c
DM
11925 "iops_wr_max_length" : {
11926 "description" : "Maximum length of write I/O bursts in seconds.",
11927 "format_description" : "seconds",
11928 "minimum" : 1,
11929 "optional" : 1,
11930 "type" : "integer"
11931 },
7aacca6f 11932 "iothread" : {
44660702 11933 "description" : "Whether to use iothreads for this drive",
56122987 11934 "optional" : 1,
44660702 11935 "type" : "boolean"
56122987 11936 },
44660702 11937 "mbps" : {
de0983cb 11938 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11939 "format_description" : "mbps",
56122987 11940 "optional" : 1,
44660702 11941 "type" : "number"
56122987 11942 },
44660702 11943 "mbps_max" : {
de0983cb 11944 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11945 "format_description" : "mbps",
56122987 11946 "optional" : 1,
44660702 11947 "type" : "number"
56122987 11948 },
44660702 11949 "mbps_rd" : {
de0983cb 11950 "description" : "Maximum read speed in megabytes per second.",
44660702 11951 "format_description" : "mbps",
7aacca6f 11952 "optional" : 1,
44660702 11953 "type" : "number"
56122987 11954 },
44660702 11955 "mbps_rd_max" : {
de0983cb 11956 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11957 "format_description" : "mbps",
7aacca6f 11958 "optional" : 1,
44660702 11959 "type" : "number"
7aacca6f 11960 },
44660702 11961 "mbps_wr" : {
de0983cb 11962 "description" : "Maximum write speed in megabytes per second.",
44660702 11963 "format_description" : "mbps",
56122987 11964 "optional" : 1,
44660702 11965 "type" : "number"
56122987 11966 },
44660702 11967 "mbps_wr_max" : {
de0983cb 11968 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11969 "format_description" : "mbps",
56122987 11970 "optional" : 1,
44660702
DM
11971 "type" : "number"
11972 },
11973 "media" : {
11974 "default" : "disk",
11975 "description" : "The drive's media type.",
7aacca6f 11976 "enum" : [
44660702
DM
11977 "cdrom",
11978 "disk"
7aacca6f 11979 ],
56122987 11980 "optional" : 1,
44660702 11981 "type" : "string"
56122987 11982 },
7aacca6f 11983 "queues" : {
44660702 11984 "description" : "Number of queues.",
7aacca6f 11985 "minimum" : 2,
7aacca6f
DM
11986 "optional" : 1,
11987 "type" : "integer"
56122987 11988 },
5d9c884c
DM
11989 "replicate" : {
11990 "default" : 1,
11991 "description" : "Whether the drive should considered for replication jobs.",
11992 "optional" : 1,
11993 "type" : "boolean"
11994 },
11995 "rerror" : {
11996 "description" : "Read error action.",
11997 "enum" : [
11998 "ignore",
11999 "report",
12000 "stop"
12001 ],
12002 "optional" : 1,
12003 "type" : "string"
12004 },
52e44c50
FG
12005 "scsiblock" : {
12006 "default" : 0,
12007 "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",
12008 "optional" : 1,
12009 "type" : "boolean"
12010 },
44660702
DM
12011 "secs" : {
12012 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12013 "optional" : 1,
44660702 12014 "type" : "integer"
56122987 12015 },
44660702
DM
12016 "serial" : {
12017 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12018 "format" : "urlencoded",
12019 "format_description" : "serial",
12020 "maxLength" : 60,
56122987 12021 "optional" : 1,
44660702 12022 "type" : "string"
56122987 12023 },
27a7acb2
DM
12024 "shared" : {
12025 "default" : 0,
12026 "description" : "Mark this locally-managed volume as available on all nodes",
12027 "optional" : 1,
12028 "type" : "boolean",
12029 "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!"
12030 },
44660702
DM
12031 "size" : {
12032 "description" : "Disk size. This is purely informational and has no effect.",
12033 "format" : "disk-size",
f004f5b9 12034 "format_description" : "DiskSize",
44660702
DM
12035 "optional" : 1,
12036 "type" : "string"
12037 },
12038 "snapshot" : {
27a7acb2 12039 "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 12040 "optional" : 1,
44660702
DM
12041 "type" : "boolean"
12042 },
25203dc1
NC
12043 "ssd" : {
12044 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12045 "optional" : 1,
12046 "type" : "boolean"
12047 },
44660702
DM
12048 "trans" : {
12049 "description" : "Force disk geometry bios translation mode.",
56122987 12050 "enum" : [
44660702
DM
12051 "none",
12052 "lba",
12053 "auto"
56122987 12054 ],
44660702
DM
12055 "optional" : 1,
12056 "type" : "string"
12057 },
12058 "volume" : {
12059 "alias" : "file"
56122987 12060 },
7aacca6f 12061 "werror" : {
7aacca6f
DM
12062 "description" : "Write error action.",
12063 "enum" : [
12064 "enospc",
12065 "ignore",
12066 "report",
12067 "stop"
44660702 12068 ],
56122987 12069 "optional" : 1,
7aacca6f 12070 "type" : "string"
95895385
TL
12071 },
12072 "wwn" : {
12073 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
12074 "format_description" : "wwn",
12075 "optional" : 1,
12076 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
12077 "type" : "string"
56122987 12078 }
44660702 12079 },
56122987 12080 "optional" : 1,
4bd7df8b 12081 "type" : "string",
95895385 12082 "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
12083 },
12084 "scsihw" : {
44660702 12085 "default" : "lsi",
c2993fe5 12086 "description" : "SCSI controller model",
56122987
DM
12087 "enum" : [
12088 "lsi",
12089 "lsi53c810",
12090 "virtio-scsi-pci",
12091 "virtio-scsi-single",
12092 "megasas",
12093 "pvscsi"
12094 ],
12095 "optional" : 1,
56122987
DM
12096 "type" : "string"
12097 },
27a7acb2
DM
12098 "searchdomain" : {
12099 "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.",
12100 "optional" : 1,
12101 "type" : "string",
12102 "typetext" : "<string>"
12103 },
44660702 12104 "serial[n]" : {
c2993fe5 12105 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 12106 "optional" : 1,
44660702 12107 "pattern" : "(/dev/.+|socket)",
c2993fe5 12108 "type" : "string",
57b78691 12109 "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 12110 },
44660702
DM
12111 "shares" : {
12112 "default" : 1000,
5da3d723 12113 "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
12114 "maximum" : 50000,
12115 "minimum" : 0,
7aacca6f 12116 "optional" : 1,
4bd7df8b 12117 "type" : "integer",
013dc89f 12118 "typetext" : "<integer> (0 - 50000)"
56122987 12119 },
7aacca6f
DM
12120 "skiplock" : {
12121 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 12122 "optional" : 1,
013dc89f
DM
12123 "type" : "boolean",
12124 "typetext" : "<boolean>"
56122987 12125 },
44660702
DM
12126 "smbios1" : {
12127 "description" : "Specify SMBIOS type 1 fields.",
12128 "format" : "pve-qm-smbios1",
12129 "maxLength" : 256,
56122987 12130 "optional" : 1,
4bd7df8b
DM
12131 "type" : "string",
12132 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 12133 },
44660702
DM
12134 "smp" : {
12135 "default" : 1,
12136 "description" : "The number of CPUs. Please use option -sockets instead.",
12137 "minimum" : 1,
56122987 12138 "optional" : 1,
4bd7df8b 12139 "type" : "integer",
013dc89f 12140 "typetext" : "<integer> (1 - N)"
56122987 12141 },
44660702
DM
12142 "sockets" : {
12143 "default" : 1,
12144 "description" : "The number of CPU sockets.",
12145 "minimum" : 1,
56122987 12146 "optional" : 1,
4bd7df8b 12147 "type" : "integer",
013dc89f 12148 "typetext" : "<integer> (1 - N)"
56122987 12149 },
27a7acb2
DM
12150 "sshkeys" : {
12151 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
12152 "format" : "urlencoded",
12153 "optional" : 1,
12154 "type" : "string",
12155 "typetext" : "<string>"
12156 },
44660702
DM
12157 "startdate" : {
12158 "default" : "now",
12159 "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'.",
12160 "optional" : 1,
12161 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 12162 "type" : "string",
44660702
DM
12163 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
12164 },
12165 "startup" : {
12166 "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.",
12167 "format" : "pve-startup-order",
7aacca6f 12168 "optional" : 1,
44660702
DM
12169 "type" : "string",
12170 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 12171 },
44660702
DM
12172 "tablet" : {
12173 "default" : 1,
c2993fe5 12174 "description" : "Enable/disable the USB tablet device.",
7aacca6f 12175 "optional" : 1,
c2993fe5 12176 "type" : "boolean",
013dc89f 12177 "typetext" : "<boolean>",
c2993fe5 12178 "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 12179 },
44660702
DM
12180 "tdf" : {
12181 "default" : 0,
12182 "description" : "Enable/disable time drift fix.",
7aacca6f 12183 "optional" : 1,
013dc89f
DM
12184 "type" : "boolean",
12185 "typetext" : "<boolean>"
7aacca6f 12186 },
44660702
DM
12187 "template" : {
12188 "default" : 0,
12189 "description" : "Enable/disable Template.",
7aacca6f 12190 "optional" : 1,
013dc89f
DM
12191 "type" : "boolean",
12192 "typetext" : "<boolean>"
7aacca6f 12193 },
44660702 12194 "unused[n]" : {
c2993fe5 12195 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 12196 "format" : "pve-volume-id",
7aacca6f 12197 "optional" : 1,
013dc89f
DM
12198 "type" : "string",
12199 "typetext" : "<string>"
7aacca6f 12200 },
44660702 12201 "usb[n]" : {
c2993fe5 12202 "description" : "Configure an USB device (n is 0 to 4).",
56122987 12203 "format" : {
44660702
DM
12204 "host" : {
12205 "default_key" : 1,
c2993fe5 12206 "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
12207 "format" : "pve-qm-usb-device",
12208 "format_description" : "HOSTUSBDEVICE|spice",
12209 "type" : "string"
7aacca6f 12210 },
44660702 12211 "usb3" : {
c2993fe5
DM
12212 "default" : 0,
12213 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
7aacca6f 12214 "optional" : 1,
44660702 12215 "type" : "boolean"
7aacca6f 12216 }
44660702 12217 },
7aacca6f 12218 "optional" : 1,
4bd7df8b
DM
12219 "type" : "string",
12220 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 12221 },
44660702 12222 "vcpus" : {
7aacca6f 12223 "default" : 0,
44660702
DM
12224 "description" : "Number of hotplugged vcpus.",
12225 "minimum" : 1,
7aacca6f 12226 "optional" : 1,
4bd7df8b 12227 "type" : "integer",
013dc89f 12228 "typetext" : "<integer> (1 - N)"
7aacca6f 12229 },
44660702 12230 "vga" : {
e2d681b3
TL
12231 "description" : "Configure the VGA hardware.",
12232 "format" : {
12233 "memory" : {
12234 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
12235 "maximum" : 512,
12236 "minimum" : 4,
12237 "optional" : 1,
12238 "type" : "integer"
12239 },
12240 "type" : {
12241 "default" : "std",
12242 "default_key" : 1,
12243 "description" : "Select the VGA type.",
12244 "enum" : [
12245 "cirrus",
12246 "qxl",
12247 "qxl2",
12248 "qxl3",
12249 "qxl4",
5f26e15b 12250 "none",
e2d681b3
TL
12251 "serial0",
12252 "serial1",
12253 "serial2",
12254 "serial3",
12255 "std",
12256 "virtio",
12257 "vmware"
12258 ],
12259 "optional" : 1,
12260 "type" : "string"
12261 }
12262 },
7aacca6f 12263 "optional" : 1,
c2993fe5 12264 "type" : "string",
e2d681b3
TL
12265 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
12266 "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 12267 },
44660702
DM
12268 "virtio[n]" : {
12269 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 12270 "format" : {
7aacca6f 12271 "aio" : {
7aacca6f 12272 "description" : "AIO type to use.",
56122987 12273 "enum" : [
7aacca6f
DM
12274 "native",
12275 "threads"
7aacca6f 12276 ],
44660702
DM
12277 "optional" : 1,
12278 "type" : "string"
56122987 12279 },
44660702
DM
12280 "backup" : {
12281 "description" : "Whether the drive should be included when making backups.",
56122987 12282 "optional" : 1,
44660702 12283 "type" : "boolean"
7aacca6f 12284 },
44660702 12285 "bps" : {
de0983cb 12286 "description" : "Maximum r/w speed in bytes per second.",
44660702 12287 "format_description" : "bps",
7aacca6f 12288 "optional" : 1,
44660702 12289 "type" : "integer"
56122987 12290 },
de0983cb
DM
12291 "bps_max_length" : {
12292 "description" : "Maximum length of I/O bursts in seconds.",
12293 "format_description" : "seconds",
12294 "minimum" : 1,
12295 "optional" : 1,
12296 "type" : "integer"
12297 },
56122987 12298 "bps_rd" : {
de0983cb 12299 "description" : "Maximum read speed in bytes per second.",
44660702 12300 "format_description" : "bps",
56122987 12301 "optional" : 1,
7aacca6f 12302 "type" : "integer"
56122987 12303 },
de0983cb 12304 "bps_rd_length" : {
5d9c884c
DM
12305 "alias" : "bps_rd_max_length"
12306 },
12307 "bps_rd_max_length" : {
de0983cb
DM
12308 "description" : "Maximum length of read I/O bursts in seconds.",
12309 "format_description" : "seconds",
12310 "minimum" : 1,
12311 "optional" : 1,
12312 "type" : "integer"
12313 },
44660702 12314 "bps_wr" : {
de0983cb 12315 "description" : "Maximum write speed in bytes per second.",
44660702 12316 "format_description" : "bps",
56122987 12317 "optional" : 1,
7aacca6f 12318 "type" : "integer"
56122987 12319 },
de0983cb 12320 "bps_wr_length" : {
5d9c884c
DM
12321 "alias" : "bps_wr_max_length"
12322 },
12323 "bps_wr_max_length" : {
de0983cb
DM
12324 "description" : "Maximum length of write I/O bursts in seconds.",
12325 "format_description" : "seconds",
12326 "minimum" : 1,
12327 "optional" : 1,
12328 "type" : "integer"
12329 },
7aacca6f 12330 "cache" : {
44660702 12331 "description" : "The drive's cache mode",
7aacca6f
DM
12332 "enum" : [
12333 "none",
12334 "writethrough",
12335 "writeback",
12336 "unsafe",
12337 "directsync"
12338 ],
56122987 12339 "optional" : 1,
44660702 12340 "type" : "string"
7aacca6f 12341 },
44660702
DM
12342 "cyls" : {
12343 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12344 "optional" : 1,
12345 "type" : "integer"
12346 },
12347 "detect_zeroes" : {
12348 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12349 "optional" : 1,
12350 "type" : "boolean"
12351 },
12352 "discard" : {
12353 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 12354 "enum" : [
44660702
DM
12355 "ignore",
12356 "on"
56122987
DM
12357 ],
12358 "optional" : 1,
44660702 12359 "type" : "string"
56122987 12360 },
44660702
DM
12361 "file" : {
12362 "default_key" : 1,
12363 "description" : "The drive's backing volume.",
12364 "format" : "pve-volume-id-or-qm-path",
12365 "format_description" : "volume",
12366 "type" : "string"
12367 },
12368 "format" : {
12369 "description" : "The drive's backing file's data format.",
12370 "enum" : [
12371 "raw",
12372 "cow",
12373 "qcow",
12374 "qed",
12375 "qcow2",
12376 "vmdk",
12377 "cloop"
12378 ],
56122987 12379 "optional" : 1,
44660702 12380 "type" : "string"
56122987 12381 },
44660702
DM
12382 "heads" : {
12383 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12384 "optional" : 1,
12385 "type" : "integer"
12386 },
12387 "iops" : {
de0983cb 12388 "description" : "Maximum r/w I/O in operations per second.",
44660702 12389 "format_description" : "iops",
56122987 12390 "optional" : 1,
44660702
DM
12391 "type" : "integer"
12392 },
12393 "iops_max" : {
de0983cb 12394 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
12395 "format_description" : "iops",
12396 "optional" : 1,
12397 "type" : "integer"
56122987 12398 },
de0983cb
DM
12399 "iops_max_length" : {
12400 "description" : "Maximum length of I/O bursts in seconds.",
12401 "format_description" : "seconds",
12402 "minimum" : 1,
12403 "optional" : 1,
12404 "type" : "integer"
12405 },
7aacca6f 12406 "iops_rd" : {
de0983cb 12407 "description" : "Maximum read I/O in operations per second.",
7aacca6f 12408 "format_description" : "iops",
7aacca6f 12409 "optional" : 1,
44660702 12410 "type" : "integer"
56122987 12411 },
de0983cb 12412 "iops_rd_length" : {
5d9c884c 12413 "alias" : "iops_rd_max_length"
de0983cb 12414 },
44660702 12415 "iops_rd_max" : {
de0983cb 12416 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12417 "format_description" : "iops",
12418 "optional" : 1,
12419 "type" : "integer"
12420 },
5d9c884c
DM
12421 "iops_rd_max_length" : {
12422 "description" : "Maximum length of read I/O bursts in seconds.",
12423 "format_description" : "seconds",
12424 "minimum" : 1,
12425 "optional" : 1,
12426 "type" : "integer"
12427 },
44660702 12428 "iops_wr" : {
de0983cb 12429 "description" : "Maximum write I/O in operations per second.",
44660702
DM
12430 "format_description" : "iops",
12431 "optional" : 1,
12432 "type" : "integer"
12433 },
de0983cb 12434 "iops_wr_length" : {
5d9c884c 12435 "alias" : "iops_wr_max_length"
de0983cb 12436 },
44660702 12437 "iops_wr_max" : {
de0983cb 12438 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12439 "format_description" : "iops",
12440 "optional" : 1,
12441 "type" : "integer"
12442 },
5d9c884c
DM
12443 "iops_wr_max_length" : {
12444 "description" : "Maximum length of write I/O bursts in seconds.",
12445 "format_description" : "seconds",
12446 "minimum" : 1,
12447 "optional" : 1,
12448 "type" : "integer"
12449 },
44660702
DM
12450 "iothread" : {
12451 "description" : "Whether to use iothreads for this drive",
44660702
DM
12452 "optional" : 1,
12453 "type" : "boolean"
12454 },
12455 "mbps" : {
de0983cb 12456 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12457 "format_description" : "mbps",
7aacca6f 12458 "optional" : 1,
44660702 12459 "type" : "number"
7aacca6f
DM
12460 },
12461 "mbps_max" : {
de0983cb 12462 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12463 "format_description" : "mbps",
56122987 12464 "optional" : 1,
44660702 12465 "type" : "number"
56122987 12466 },
44660702 12467 "mbps_rd" : {
de0983cb 12468 "description" : "Maximum read speed in megabytes per second.",
44660702 12469 "format_description" : "mbps",
56122987 12470 "optional" : 1,
44660702 12471 "type" : "number"
56122987 12472 },
44660702 12473 "mbps_rd_max" : {
de0983cb 12474 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12475 "format_description" : "mbps",
12476 "optional" : 1,
12477 "type" : "number"
12478 },
12479 "mbps_wr" : {
de0983cb 12480 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12481 "format_description" : "mbps",
12482 "optional" : 1,
12483 "type" : "number"
12484 },
12485 "mbps_wr_max" : {
de0983cb 12486 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12487 "format_description" : "mbps",
12488 "optional" : 1,
12489 "type" : "number"
12490 },
12491 "media" : {
12492 "default" : "disk",
12493 "description" : "The drive's media type.",
56122987 12494 "enum" : [
44660702
DM
12495 "cdrom",
12496 "disk"
56122987
DM
12497 ],
12498 "optional" : 1,
44660702 12499 "type" : "string"
56122987 12500 },
5d9c884c
DM
12501 "replicate" : {
12502 "default" : 1,
12503 "description" : "Whether the drive should considered for replication jobs.",
12504 "optional" : 1,
12505 "type" : "boolean"
12506 },
44660702
DM
12507 "rerror" : {
12508 "description" : "Read error action.",
12509 "enum" : [
12510 "ignore",
12511 "report",
12512 "stop"
12513 ],
56122987 12514 "optional" : 1,
44660702 12515 "type" : "string"
56122987 12516 },
44660702
DM
12517 "secs" : {
12518 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12519 "optional" : 1,
44660702 12520 "type" : "integer"
56122987 12521 },
7aacca6f
DM
12522 "serial" : {
12523 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 12524 "format" : "urlencoded",
44660702 12525 "format_description" : "serial",
7aacca6f 12526 "maxLength" : 60,
44660702
DM
12527 "optional" : 1,
12528 "type" : "string"
56122987 12529 },
27a7acb2
DM
12530 "shared" : {
12531 "default" : 0,
12532 "description" : "Mark this locally-managed volume as available on all nodes",
12533 "optional" : 1,
12534 "type" : "boolean",
12535 "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!"
12536 },
44660702
DM
12537 "size" : {
12538 "description" : "Disk size. This is purely informational and has no effect.",
12539 "format" : "disk-size",
f004f5b9 12540 "format_description" : "DiskSize",
44660702
DM
12541 "optional" : 1,
12542 "type" : "string"
56122987 12543 },
44660702 12544 "snapshot" : {
27a7acb2 12545 "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 12546 "optional" : 1,
44660702 12547 "type" : "boolean"
56122987 12548 },
44660702
DM
12549 "trans" : {
12550 "description" : "Force disk geometry bios translation mode.",
12551 "enum" : [
12552 "none",
12553 "lba",
12554 "auto"
12555 ],
7aacca6f 12556 "optional" : 1,
44660702 12557 "type" : "string"
7aacca6f 12558 },
44660702
DM
12559 "volume" : {
12560 "alias" : "file"
12561 },
12562 "werror" : {
12563 "description" : "Write error action.",
12564 "enum" : [
12565 "enospc",
12566 "ignore",
12567 "report",
12568 "stop"
12569 ],
7aacca6f 12570 "optional" : 1,
44660702 12571 "type" : "string"
56122987
DM
12572 }
12573 },
7aacca6f 12574 "optional" : 1,
4bd7df8b 12575 "type" : "string",
27a7acb2 12576 "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 12577 },
4d47f125
TL
12578 "vmgenid" : {
12579 "default" : "1 (autogenerated)",
12580 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
12581 "format_description" : "UUID",
12582 "optional" : 1,
12583 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
12584 "type" : "string",
12585 "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."
12586 },
44660702
DM
12587 "vmid" : {
12588 "description" : "The (unique) ID of the VM.",
12589 "format" : "pve-vmid",
12590 "minimum" : 1,
4bd7df8b 12591 "type" : "integer",
013dc89f 12592 "typetext" : "<integer> (1 - N)"
56122987 12593 },
2489d6df
WB
12594 "vmstatestorage" : {
12595 "description" : "Default storage for VM state volumes/files.",
12596 "format" : "pve-storage-id",
12597 "optional" : 1,
12598 "type" : "string",
12599 "typetext" : "<string>"
12600 },
44660702 12601 "watchdog" : {
c2993fe5 12602 "description" : "Create a virtual hardware watchdog device.",
44660702 12603 "format" : "pve-qm-watchdog",
56122987 12604 "optional" : 1,
c2993fe5 12605 "type" : "string",
013dc89f 12606 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 12607 "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 12608 }
7aacca6f 12609 }
56122987 12610 },
56122987
DM
12611 "permissions" : {
12612 "check" : [
12613 "perm",
12614 "/vms/{vmid}",
12615 [
12616 "VM.Config.Disk",
12617 "VM.Config.CDROM",
12618 "VM.Config.CPU",
12619 "VM.Config.Memory",
12620 "VM.Config.Network",
12621 "VM.Config.HWType",
12622 "VM.Config.Options"
12623 ],
12624 "any",
12625 1
12626 ]
12627 },
44660702 12628 "protected" : 1,
7aacca6f 12629 "proxyto" : "node",
56122987 12630 "returns" : {
4d47f125
TL
12631 "optional" : 1,
12632 "type" : "string"
7aacca6f 12633 }
4d47f125
TL
12634 },
12635 "PUT" : {
12636 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
12637 "method" : "PUT",
12638 "name" : "update_vm",
7aacca6f 12639 "parameters" : {
44660702 12640 "additionalProperties" : 0,
7aacca6f 12641 "properties" : {
4d47f125
TL
12642 "acpi" : {
12643 "default" : 1,
12644 "description" : "Enable/disable ACPI.",
12645 "optional" : 1,
12646 "type" : "boolean",
12647 "typetext" : "<boolean>"
7aacca6f 12648 },
4d47f125
TL
12649 "agent" : {
12650 "description" : "Enable/disable Qemu GuestAgent and its properties.",
12651 "format" : {
12652 "enabled" : {
12653 "default" : 0,
12654 "default_key" : 1,
12655 "description" : "Enable/disable Qemu GuestAgent.",
12656 "type" : "boolean"
12657 },
12658 "fstrim_cloned_disks" : {
12659 "default" : 0,
12660 "description" : "Run fstrim after cloning/moving a disk.",
12661 "optional" : 1,
12662 "type" : "boolean"
12663 }
44660702 12664 },
4d47f125
TL
12665 "optional" : 1,
12666 "type" : "string",
12667 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
44660702 12668 },
e2d681b3
TL
12669 "arch" : {
12670 "description" : "Virtual processor architecture. Defaults to the host.",
12671 "enum" : [
12672 "x86_64",
12673 "aarch64"
12674 ],
12675 "optional" : 1,
12676 "type" : "string"
12677 },
4d47f125
TL
12678 "args" : {
12679 "description" : "Arbitrary arguments passed to kvm.",
12680 "optional" : 1,
12681 "type" : "string",
12682 "typetext" : "<string>",
12683 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
12684 },
12685 "autostart" : {
12686 "default" : 0,
12687 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 12688 "optional" : 1,
013dc89f
DM
12689 "type" : "boolean",
12690 "typetext" : "<boolean>"
7aacca6f 12691 },
4d47f125
TL
12692 "balloon" : {
12693 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
12694 "minimum" : 0,
12695 "optional" : 1,
12696 "type" : "integer",
12697 "typetext" : "<integer> (0 - N)"
12698 },
12699 "bios" : {
12700 "default" : "seabios",
12701 "description" : "Select BIOS implementation.",
12702 "enum" : [
12703 "seabios",
12704 "ovmf"
12705 ],
12706 "optional" : 1,
12707 "type" : "string"
12708 },
12709 "boot" : {
12710 "default" : "cdn",
12711 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
12712 "optional" : 1,
12713 "pattern" : "[acdn]{1,4}",
12714 "type" : "string"
12715 },
12716 "bootdisk" : {
12717 "description" : "Enable booting from specified disk.",
12718 "format" : "pve-qm-bootdisk",
12719 "optional" : 1,
12720 "pattern" : "(ide|sata|scsi|virtio)\\d+",
12721 "type" : "string"
12722 },
12723 "cdrom" : {
12724 "description" : "This is an alias for option -ide2",
12725 "format" : "pve-qm-ide",
12726 "optional" : 1,
12727 "type" : "string",
12728 "typetext" : "<volume>"
12729 },
95895385
TL
12730 "cicustom" : {
12731 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
12732 "format" : "pve-qm-cicustom",
12733 "optional" : 1,
12734 "type" : "string",
12735 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
12736 },
4d47f125
TL
12737 "cipassword" : {
12738 "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.",
12739 "optional" : 1,
013dc89f
DM
12740 "type" : "string",
12741 "typetext" : "<string>"
44660702 12742 },
4d47f125
TL
12743 "citype" : {
12744 "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.",
12745 "enum" : [
12746 "configdrive2",
12747 "nocloud"
12748 ],
12749 "optional" : 1,
12750 "type" : "string"
12751 },
12752 "ciuser" : {
12753 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
12754 "optional" : 1,
013dc89f
DM
12755 "type" : "string",
12756 "typetext" : "<string>"
56122987 12757 },
4d47f125
TL
12758 "cores" : {
12759 "default" : 1,
12760 "description" : "The number of cores per socket.",
7aacca6f 12761 "minimum" : 1,
4d47f125 12762 "optional" : 1,
4bd7df8b 12763 "type" : "integer",
013dc89f 12764 "typetext" : "<integer> (1 - N)"
4d47f125
TL
12765 },
12766 "cpu" : {
12767 "description" : "Emulated CPU type.",
12768 "format" : {
12769 "cputype" : {
12770 "default" : "kvm64",
12771 "default_key" : 1,
12772 "description" : "Emulated CPU type.",
12773 "enum" : [
12774 "486",
12775 "athlon",
12776 "Broadwell",
12777 "Broadwell-IBRS",
12778 "Broadwell-noTSX",
12779 "Broadwell-noTSX-IBRS",
12780 "Conroe",
12781 "core2duo",
12782 "coreduo",
12783 "EPYC",
12784 "EPYC-IBPB",
12785 "Haswell",
12786 "Haswell-IBRS",
12787 "Haswell-noTSX",
12788 "Haswell-noTSX-IBRS",
12789 "host",
12790 "IvyBridge",
12791 "IvyBridge-IBRS",
12792 "kvm32",
12793 "kvm64",
12794 "max",
12795 "Nehalem",
12796 "Nehalem-IBRS",
12797 "Opteron_G1",
12798 "Opteron_G2",
12799 "Opteron_G3",
12800 "Opteron_G4",
12801 "Opteron_G5",
12802 "Penryn",
12803 "pentium",
12804 "pentium2",
12805 "pentium3",
12806 "phenom",
12807 "qemu32",
12808 "qemu64",
12809 "SandyBridge",
12810 "SandyBridge-IBRS",
12811 "Skylake-Client",
12812 "Skylake-Client-IBRS",
12813 "Skylake-Server",
12814 "Skylake-Server-IBRS",
12815 "Westmere",
12816 "Westmere-IBRS"
12817 ],
12818 "type" : "string"
12819 },
12820 "flags" : {
12821 "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'.",
12822 "format_description" : "+FLAG[;-FLAG...]",
12823 "optional" : 1,
12824 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
12825 "type" : "string"
12826 },
12827 "hidden" : {
12828 "default" : 0,
12829 "description" : "Do not identify as a KVM virtual machine.",
12830 "optional" : 1,
12831 "type" : "boolean"
5f26e15b
TL
12832 },
12833 "hv-vendor-id" : {
12834 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
12835 "format_description" : "vendor-id",
12836 "optional" : 1,
12837 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
12838 "type" : "string"
4d47f125
TL
12839 }
12840 },
12841 "optional" : 1,
013dc89f 12842 "type" : "string",
5f26e15b 12843 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
44660702 12844 },
4d47f125
TL
12845 "cpulimit" : {
12846 "default" : 0,
12847 "description" : "Limit of CPU usage.",
12848 "maximum" : 128,
12849 "minimum" : 0,
12850 "optional" : 1,
12851 "type" : "number",
12852 "typetext" : "<number> (0 - 128)",
12853 "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."
12854 },
12855 "cpuunits" : {
12856 "default" : 1024,
12857 "description" : "CPU weight for a VM.",
12858 "maximum" : 262144,
12859 "minimum" : 2,
12860 "optional" : 1,
4bd7df8b 12861 "type" : "integer",
4d47f125
TL
12862 "typetext" : "<integer> (2 - 262144)",
12863 "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 12864 },
4d47f125
TL
12865 "delete" : {
12866 "description" : "A list of settings you want to delete.",
12867 "format" : "pve-configid-list",
12868 "optional" : 1,
12869 "type" : "string",
12870 "typetext" : "<string>"
12871 },
12872 "description" : {
12873 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
12874 "optional" : 1,
12875 "type" : "string",
12876 "typetext" : "<string>"
12877 },
12878 "digest" : {
12879 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12880 "maxLength" : 40,
44660702 12881 "optional" : 1,
4d47f125
TL
12882 "type" : "string",
12883 "typetext" : "<string>"
12884 },
12885 "efidisk0" : {
12886 "description" : "Configure a Disk for storing EFI vars",
12887 "format" : {
12888 "file" : {
12889 "default_key" : 1,
12890 "description" : "The drive's backing volume.",
12891 "format" : "pve-volume-id-or-qm-path",
12892 "format_description" : "volume",
12893 "type" : "string"
12894 },
12895 "format" : {
12896 "description" : "The drive's backing file's data format.",
12897 "enum" : [
12898 "raw",
12899 "cow",
12900 "qcow",
12901 "qed",
12902 "qcow2",
12903 "vmdk",
12904 "cloop"
12905 ],
12906 "optional" : 1,
12907 "type" : "string"
12908 },
12909 "size" : {
12910 "description" : "Disk size. This is purely informational and has no effect.",
12911 "format" : "disk-size",
12912 "format_description" : "DiskSize",
12913 "optional" : 1,
12914 "type" : "string"
12915 },
12916 "volume" : {
12917 "alias" : "file"
12918 }
12919 },
12920 "optional" : 1,
12921 "type" : "string",
12922 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
12923 },
12924 "force" : {
12925 "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.",
12926 "optional" : 1,
12927 "requires" : "delete",
013dc89f
DM
12928 "type" : "boolean",
12929 "typetext" : "<boolean>"
56122987 12930 },
4d47f125
TL
12931 "freeze" : {
12932 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
12933 "optional" : 1,
12934 "type" : "boolean",
12935 "typetext" : "<boolean>"
7aacca6f 12936 },
5f26e15b
TL
12937 "hookscript" : {
12938 "description" : "Script that will be executed during various steps in the vms lifetime.",
12939 "format" : "pve-volume-id",
12940 "optional" : 1,
12941 "type" : "string",
12942 "typetext" : "<string>"
12943 },
4d47f125
TL
12944 "hostpci[n]" : {
12945 "description" : "Map host PCI devices into guest.",
12946 "format" : "pve-qm-hostpci",
12947 "optional" : 1,
12948 "type" : "string",
e2d681b3 12949 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 12950 "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 12951 },
4d47f125
TL
12952 "hotplug" : {
12953 "default" : "network,disk,usb",
12954 "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'.",
12955 "format" : "pve-hotplug-features",
12956 "optional" : 1,
35a75dd3
DM
12957 "type" : "string",
12958 "typetext" : "<string>"
12959 },
4d47f125
TL
12960 "hugepages" : {
12961 "description" : "Enable/disable hugepages memory.",
35a75dd3 12962 "enum" : [
4d47f125
TL
12963 "any",
12964 "2",
12965 "1024"
35a75dd3
DM
12966 ],
12967 "optional" : 1,
12968 "type" : "string"
12969 },
4d47f125
TL
12970 "ide[n]" : {
12971 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
12972 "format" : {
12973 "aio" : {
12974 "description" : "AIO type to use.",
12975 "enum" : [
12976 "native",
12977 "threads"
12978 ],
44660702 12979 "optional" : 1,
44660702
DM
12980 "type" : "string"
12981 },
4d47f125
TL
12982 "backup" : {
12983 "description" : "Whether the drive should be included when making backups.",
56122987 12984 "optional" : 1,
4d47f125 12985 "type" : "boolean"
56122987 12986 },
4d47f125
TL
12987 "bps" : {
12988 "description" : "Maximum r/w speed in bytes per second.",
12989 "format_description" : "bps",
de0983cb 12990 "optional" : 1,
4d47f125 12991 "type" : "integer"
de0983cb 12992 },
4d47f125
TL
12993 "bps_max_length" : {
12994 "description" : "Maximum length of I/O bursts in seconds.",
12995 "format_description" : "seconds",
12996 "minimum" : 1,
de0983cb 12997 "optional" : 1,
4d47f125 12998 "type" : "integer"
7aacca6f 12999 },
4d47f125
TL
13000 "bps_rd" : {
13001 "description" : "Maximum read speed in bytes per second.",
13002 "format_description" : "bps",
7aacca6f 13003 "optional" : 1,
4d47f125 13004 "type" : "integer"
56122987 13005 },
4d47f125
TL
13006 "bps_rd_length" : {
13007 "alias" : "bps_rd_max_length"
13008 },
13009 "bps_rd_max_length" : {
13010 "description" : "Maximum length of read I/O bursts in seconds.",
13011 "format_description" : "seconds",
13012 "minimum" : 1,
56122987 13013 "optional" : 1,
4d47f125 13014 "type" : "integer"
56122987 13015 },
4d47f125
TL
13016 "bps_wr" : {
13017 "description" : "Maximum write speed in bytes per second.",
13018 "format_description" : "bps",
52e44c50 13019 "optional" : 1,
4d47f125 13020 "type" : "integer"
52e44c50 13021 },
4d47f125
TL
13022 "bps_wr_length" : {
13023 "alias" : "bps_wr_max_length"
13024 },
13025 "bps_wr_max_length" : {
13026 "description" : "Maximum length of write I/O bursts in seconds.",
13027 "format_description" : "seconds",
44660702 13028 "minimum" : 1,
56122987 13029 "optional" : 1,
4d47f125 13030 "type" : "integer"
56122987 13031 },
4d47f125
TL
13032 "cache" : {
13033 "description" : "The drive's cache mode",
13034 "enum" : [
13035 "none",
13036 "writethrough",
13037 "writeback",
13038 "unsafe",
13039 "directsync"
13040 ],
7aacca6f 13041 "optional" : 1,
4d47f125 13042 "type" : "string"
7aacca6f 13043 },
4d47f125
TL
13044 "cyls" : {
13045 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13046 "optional" : 1,
13047 "type" : "integer"
56122987 13048 },
4d47f125
TL
13049 "detect_zeroes" : {
13050 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 13051 "optional" : 1,
4d47f125 13052 "type" : "boolean"
56122987 13053 },
4d47f125
TL
13054 "discard" : {
13055 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13056 "enum" : [
13057 "ignore",
13058 "on"
13059 ],
56122987 13060 "optional" : 1,
4d47f125 13061 "type" : "string"
7aacca6f 13062 },
4d47f125
TL
13063 "file" : {
13064 "default_key" : 1,
13065 "description" : "The drive's backing volume.",
13066 "format" : "pve-volume-id-or-qm-path",
13067 "format_description" : "volume",
13068 "type" : "string"
56122987 13069 },
4d47f125
TL
13070 "format" : {
13071 "description" : "The drive's backing file's data format.",
13072 "enum" : [
13073 "raw",
13074 "cow",
13075 "qcow",
13076 "qed",
13077 "qcow2",
13078 "vmdk",
13079 "cloop"
13080 ],
7aacca6f 13081 "optional" : 1,
4d47f125 13082 "type" : "string"
7aacca6f 13083 },
4d47f125
TL
13084 "heads" : {
13085 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 13086 "optional" : 1,
4d47f125 13087 "type" : "integer"
56122987 13088 },
4d47f125
TL
13089 "iops" : {
13090 "description" : "Maximum r/w I/O in operations per second.",
13091 "format_description" : "iops",
44660702 13092 "optional" : 1,
4d47f125 13093 "type" : "integer"
44660702 13094 },
4d47f125
TL
13095 "iops_max" : {
13096 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13097 "format_description" : "iops",
44660702 13098 "optional" : 1,
4d47f125 13099 "type" : "integer"
56122987 13100 },
4d47f125
TL
13101 "iops_max_length" : {
13102 "description" : "Maximum length of I/O bursts in seconds.",
13103 "format_description" : "seconds",
13104 "minimum" : 1,
7aacca6f 13105 "optional" : 1,
4d47f125 13106 "type" : "integer"
7aacca6f 13107 },
4d47f125
TL
13108 "iops_rd" : {
13109 "description" : "Maximum read I/O in operations per second.",
13110 "format_description" : "iops",
13111 "optional" : 1,
13112 "type" : "integer"
13113 },
13114 "iops_rd_length" : {
13115 "alias" : "iops_rd_max_length"
13116 },
13117 "iops_rd_max" : {
13118 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13119 "format_description" : "iops",
13120 "optional" : 1,
13121 "type" : "integer"
13122 },
13123 "iops_rd_max_length" : {
13124 "description" : "Maximum length of read I/O bursts in seconds.",
13125 "format_description" : "seconds",
44660702 13126 "minimum" : 1,
4d47f125
TL
13127 "optional" : 1,
13128 "type" : "integer"
7aacca6f 13129 },
4d47f125
TL
13130 "iops_wr" : {
13131 "description" : "Maximum write I/O in operations per second.",
13132 "format_description" : "iops",
44660702 13133 "optional" : 1,
4d47f125 13134 "type" : "integer"
44660702 13135 },
4d47f125
TL
13136 "iops_wr_length" : {
13137 "alias" : "iops_wr_max_length"
13138 },
13139 "iops_wr_max" : {
13140 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13141 "format_description" : "iops",
13142 "optional" : 1,
13143 "type" : "integer"
13144 },
13145 "iops_wr_max_length" : {
13146 "description" : "Maximum length of write I/O bursts in seconds.",
13147 "format_description" : "seconds",
44660702 13148 "minimum" : 1,
44660702 13149 "optional" : 1,
4d47f125 13150 "type" : "integer"
44660702 13151 },
4d47f125
TL
13152 "mbps" : {
13153 "description" : "Maximum r/w speed in megabytes per second.",
13154 "format_description" : "mbps",
13155 "optional" : 1,
13156 "type" : "number"
56122987 13157 },
4d47f125
TL
13158 "mbps_max" : {
13159 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13160 "format_description" : "mbps",
13161 "optional" : 1,
13162 "type" : "number"
13163 },
13164 "mbps_rd" : {
13165 "description" : "Maximum read speed in megabytes per second.",
13166 "format_description" : "mbps",
13167 "optional" : 1,
13168 "type" : "number"
13169 },
13170 "mbps_rd_max" : {
13171 "description" : "Maximum unthrottled read pool in megabytes per second.",
13172 "format_description" : "mbps",
13173 "optional" : 1,
13174 "type" : "number"
13175 },
13176 "mbps_wr" : {
13177 "description" : "Maximum write speed in megabytes per second.",
13178 "format_description" : "mbps",
13179 "optional" : 1,
13180 "type" : "number"
13181 },
13182 "mbps_wr_max" : {
13183 "description" : "Maximum unthrottled write pool in megabytes per second.",
13184 "format_description" : "mbps",
13185 "optional" : 1,
13186 "type" : "number"
13187 },
13188 "media" : {
13189 "default" : "disk",
13190 "description" : "The drive's media type.",
13191 "enum" : [
13192 "cdrom",
13193 "disk"
13194 ],
13195 "optional" : 1,
13196 "type" : "string"
13197 },
13198 "model" : {
13199 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
13200 "format" : "urlencoded",
13201 "format_description" : "model",
13202 "maxLength" : 120,
13203 "optional" : 1,
13204 "type" : "string"
13205 },
13206 "replicate" : {
13207 "default" : 1,
13208 "description" : "Whether the drive should considered for replication jobs.",
13209 "optional" : 1,
13210 "type" : "boolean"
13211 },
13212 "rerror" : {
13213 "description" : "Read error action.",
13214 "enum" : [
13215 "ignore",
13216 "report",
13217 "stop"
13218 ],
13219 "optional" : 1,
13220 "type" : "string"
13221 },
13222 "secs" : {
13223 "description" : "Force the drive's physical geometry to have a specific sector count.",
13224 "optional" : 1,
13225 "type" : "integer"
13226 },
13227 "serial" : {
13228 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13229 "format" : "urlencoded",
13230 "format_description" : "serial",
13231 "maxLength" : 60,
13232 "optional" : 1,
13233 "type" : "string"
13234 },
13235 "shared" : {
13236 "default" : 0,
13237 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 13238 "optional" : 1,
013dc89f 13239 "type" : "boolean",
4d47f125 13240 "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 13241 },
4d47f125
TL
13242 "size" : {
13243 "description" : "Disk size. This is purely informational and has no effect.",
13244 "format" : "disk-size",
13245 "format_description" : "DiskSize",
13246 "optional" : 1,
13247 "type" : "string"
13248 },
13249 "snapshot" : {
13250 "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.",
13251 "optional" : 1,
13252 "type" : "boolean"
13253 },
25203dc1
NC
13254 "ssd" : {
13255 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13256 "optional" : 1,
13257 "type" : "boolean"
13258 },
4d47f125
TL
13259 "trans" : {
13260 "description" : "Force disk geometry bios translation mode.",
13261 "enum" : [
13262 "none",
13263 "lba",
13264 "auto"
13265 ],
13266 "optional" : 1,
13267 "type" : "string"
13268 },
13269 "volume" : {
13270 "alias" : "file"
13271 },
13272 "werror" : {
13273 "description" : "Write error action.",
13274 "enum" : [
13275 "enospc",
13276 "ignore",
13277 "report",
13278 "stop"
13279 ],
13280 "optional" : 1,
13281 "type" : "string"
95895385
TL
13282 },
13283 "wwn" : {
13284 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
13285 "format_description" : "wwn",
13286 "optional" : 1,
13287 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
13288 "type" : "string"
4d47f125
TL
13289 }
13290 },
13291 "optional" : 1,
013dc89f 13292 "type" : "string",
95895385 13293 "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 13294 },
4d47f125
TL
13295 "ipconfig[n]" : {
13296 "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",
13297 "format" : "pve-qm-ipconfig",
13298 "optional" : 1,
013dc89f 13299 "type" : "string",
4d47f125 13300 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 13301 },
95895385
TL
13302 "ivshmem" : {
13303 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
13304 "format" : {
13305 "name" : {
13306 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
13307 "format_description" : "string",
13308 "optional" : 1,
13309 "pattern" : "[a-zA-Z0-9\\-]+",
13310 "type" : "string"
13311 },
13312 "size" : {
13313 "description" : "The size of the file in MB.",
13314 "minimum" : 1,
13315 "type" : "integer"
13316 }
13317 },
13318 "optional" : 1,
13319 "type" : "string",
13320 "typetext" : "size=<integer> [,name=<string>]"
13321 },
4d47f125
TL
13322 "keyboard" : {
13323 "default" : null,
13324 "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.",
13325 "enum" : [
13326 "de",
13327 "de-ch",
13328 "da",
13329 "en-gb",
13330 "en-us",
13331 "es",
13332 "fi",
13333 "fr",
13334 "fr-be",
13335 "fr-ca",
13336 "fr-ch",
13337 "hu",
13338 "is",
13339 "it",
13340 "ja",
13341 "lt",
13342 "mk",
13343 "nl",
13344 "no",
13345 "pl",
13346 "pt",
13347 "pt-br",
13348 "sv",
13349 "sl",
13350 "tr"
13351 ],
13352 "optional" : 1,
13353 "type" : "string"
44660702 13354 },
4d47f125
TL
13355 "kvm" : {
13356 "default" : 1,
13357 "description" : "Enable/disable KVM hardware virtualization.",
44660702 13358 "optional" : 1,
013dc89f
DM
13359 "type" : "boolean",
13360 "typetext" : "<boolean>"
7aacca6f 13361 },
4d47f125
TL
13362 "localtime" : {
13363 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
13364 "optional" : 1,
13365 "type" : "boolean",
13366 "typetext" : "<boolean>"
13367 },
13368 "lock" : {
13369 "description" : "Lock/unlock the VM.",
56122987 13370 "enum" : [
4d47f125 13371 "backup",
5f26e15b
TL
13372 "clone",
13373 "create",
13374 "migrate",
13375 "rollback",
56122987 13376 "snapshot",
95895385
TL
13377 "snapshot-delete",
13378 "suspending",
13379 "suspended"
56122987 13380 ],
4d47f125 13381 "optional" : 1,
44660702
DM
13382 "type" : "string"
13383 },
4d47f125
TL
13384 "machine" : {
13385 "description" : "Specifies the Qemu machine type.",
13386 "maxLength" : 40,
13387 "optional" : 1,
e2d681b3 13388 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
4d47f125
TL
13389 "type" : "string"
13390 },
13391 "memory" : {
13392 "default" : 512,
13393 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
13394 "minimum" : 16,
13395 "optional" : 1,
13396 "type" : "integer",
13397 "typetext" : "<integer> (16 - N)"
13398 },
13399 "migrate_downtime" : {
13400 "default" : 0.1,
13401 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
13402 "minimum" : 0,
13403 "optional" : 1,
13404 "type" : "number",
13405 "typetext" : "<number> (0 - N)"
13406 },
13407 "migrate_speed" : {
13408 "default" : 0,
13409 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
13410 "minimum" : 0,
13411 "optional" : 1,
13412 "type" : "integer",
13413 "typetext" : "<integer> (0 - N)"
13414 },
13415 "name" : {
13416 "description" : "Set a name for the VM. Only used on the configuration web interface.",
13417 "format" : "dns-name",
13418 "optional" : 1,
013dc89f
DM
13419 "type" : "string",
13420 "typetext" : "<string>"
56122987 13421 },
4d47f125
TL
13422 "nameserver" : {
13423 "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.",
13424 "format" : "address-list",
7aacca6f 13425 "optional" : 1,
013dc89f
DM
13426 "type" : "string",
13427 "typetext" : "<string>"
7aacca6f 13428 },
4d47f125
TL
13429 "net[n]" : {
13430 "description" : "Specify network devices.",
13431 "format" : {
13432 "bridge" : {
13433 "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",
13434 "format_description" : "bridge",
13435 "optional" : 1,
13436 "type" : "string"
13437 },
13438 "e1000" : {
13439 "alias" : "macaddr",
13440 "keyAlias" : "model"
13441 },
13442 "e1000-82540em" : {
13443 "alias" : "macaddr",
13444 "keyAlias" : "model"
13445 },
13446 "e1000-82544gc" : {
13447 "alias" : "macaddr",
13448 "keyAlias" : "model"
13449 },
13450 "e1000-82545em" : {
13451 "alias" : "macaddr",
13452 "keyAlias" : "model"
13453 },
13454 "firewall" : {
13455 "description" : "Whether this interface should be protected by the firewall.",
13456 "optional" : 1,
13457 "type" : "boolean"
13458 },
13459 "i82551" : {
13460 "alias" : "macaddr",
13461 "keyAlias" : "model"
13462 },
13463 "i82557b" : {
13464 "alias" : "macaddr",
13465 "keyAlias" : "model"
13466 },
13467 "i82559er" : {
13468 "alias" : "macaddr",
13469 "keyAlias" : "model"
13470 },
13471 "link_down" : {
13472 "description" : "Whether this interface should be disconnected (like pulling the plug).",
13473 "optional" : 1,
13474 "type" : "boolean"
13475 },
13476 "macaddr" : {
13477 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 13478 "format" : "mac-addr",
4d47f125
TL
13479 "format_description" : "XX:XX:XX:XX:XX:XX",
13480 "optional" : 1,
95895385
TL
13481 "type" : "string",
13482 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
13483 },
13484 "model" : {
13485 "default_key" : 1,
13486 "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'.",
13487 "enum" : [
13488 "rtl8139",
13489 "ne2k_pci",
13490 "e1000",
13491 "pcnet",
13492 "virtio",
13493 "ne2k_isa",
13494 "i82551",
13495 "i82557b",
13496 "i82559er",
13497 "vmxnet3",
13498 "e1000-82540em",
13499 "e1000-82544gc",
13500 "e1000-82545em"
13501 ],
13502 "type" : "string"
13503 },
13504 "ne2k_isa" : {
13505 "alias" : "macaddr",
13506 "keyAlias" : "model"
13507 },
13508 "ne2k_pci" : {
13509 "alias" : "macaddr",
13510 "keyAlias" : "model"
13511 },
13512 "pcnet" : {
13513 "alias" : "macaddr",
13514 "keyAlias" : "model"
13515 },
13516 "queues" : {
13517 "description" : "Number of packet queues to be used on the device.",
13518 "maximum" : 16,
13519 "minimum" : 0,
13520 "optional" : 1,
13521 "type" : "integer"
13522 },
13523 "rate" : {
13524 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
13525 "minimum" : 0,
13526 "optional" : 1,
13527 "type" : "number"
13528 },
13529 "rtl8139" : {
13530 "alias" : "macaddr",
13531 "keyAlias" : "model"
13532 },
13533 "tag" : {
13534 "description" : "VLAN tag to apply to packets on this interface.",
13535 "maximum" : 4094,
13536 "minimum" : 1,
13537 "optional" : 1,
13538 "type" : "integer"
13539 },
13540 "trunks" : {
13541 "description" : "VLAN trunks to pass through this interface.",
13542 "format_description" : "vlanid[;vlanid...]",
13543 "optional" : 1,
13544 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13545 "type" : "string"
13546 },
13547 "virtio" : {
13548 "alias" : "macaddr",
13549 "keyAlias" : "model"
13550 },
13551 "vmxnet3" : {
13552 "alias" : "macaddr",
13553 "keyAlias" : "model"
13554 }
44660702 13555 },
44660702 13556 "optional" : 1,
013dc89f 13557 "type" : "string",
4d47f125 13558 "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
13559 },
13560 "node" : {
13561 "description" : "The cluster node name.",
13562 "format" : "pve-node",
013dc89f
DM
13563 "type" : "string",
13564 "typetext" : "<string>"
7aacca6f 13565 },
4d47f125
TL
13566 "numa" : {
13567 "default" : 0,
13568 "description" : "Enable/disable NUMA.",
56122987 13569 "optional" : 1,
4d47f125
TL
13570 "type" : "boolean",
13571 "typetext" : "<boolean>"
56122987 13572 },
4d47f125
TL
13573 "numa[n]" : {
13574 "description" : "NUMA topology.",
13575 "format" : {
13576 "cpus" : {
13577 "description" : "CPUs accessing this NUMA node.",
13578 "format_description" : "id[-id];...",
13579 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13580 "type" : "string"
13581 },
13582 "hostnodes" : {
13583 "description" : "Host NUMA nodes to use.",
13584 "format_description" : "id[-id];...",
13585 "optional" : 1,
13586 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13587 "type" : "string"
13588 },
13589 "memory" : {
13590 "description" : "Amount of memory this NUMA node provides.",
13591 "optional" : 1,
13592 "type" : "number"
13593 },
13594 "policy" : {
13595 "description" : "NUMA allocation policy.",
13596 "enum" : [
13597 "preferred",
13598 "bind",
13599 "interleave"
13600 ],
13601 "optional" : 1,
13602 "type" : "string"
13603 }
13604 },
7aacca6f 13605 "optional" : 1,
013dc89f 13606 "type" : "string",
4d47f125 13607 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 13608 },
4d47f125 13609 "onboot" : {
44660702 13610 "default" : 0,
4d47f125 13611 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 13612 "optional" : 1,
013dc89f
DM
13613 "type" : "boolean",
13614 "typetext" : "<boolean>"
56122987 13615 },
4d47f125
TL
13616 "ostype" : {
13617 "description" : "Specify guest operating system.",
7aacca6f 13618 "enum" : [
4d47f125
TL
13619 "other",
13620 "wxp",
13621 "w2k",
13622 "w2k3",
13623 "w2k8",
13624 "wvista",
13625 "win7",
13626 "win8",
13627 "win10",
13628 "l24",
13629 "l26",
13630 "solaris"
7aacca6f
DM
13631 ],
13632 "optional" : 1,
013dc89f 13633 "type" : "string",
4d47f125 13634 "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/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
44660702 13635 },
4d47f125
TL
13636 "parallel[n]" : {
13637 "description" : "Map host parallel devices (n is 0 to 2).",
13638 "optional" : 1,
13639 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 13640 "type" : "string",
4d47f125 13641 "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 13642 },
4d47f125
TL
13643 "protection" : {
13644 "default" : 0,
13645 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 13646 "optional" : 1,
013dc89f
DM
13647 "type" : "boolean",
13648 "typetext" : "<boolean>"
44660702 13649 },
4d47f125
TL
13650 "reboot" : {
13651 "default" : 1,
13652 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 13653 "optional" : 1,
013dc89f
DM
13654 "type" : "boolean",
13655 "typetext" : "<boolean>"
56122987 13656 },
4d47f125
TL
13657 "revert" : {
13658 "description" : "Revert a pending change.",
13659 "format" : "pve-configid-list",
13660 "optional" : 1,
013dc89f
DM
13661 "type" : "string",
13662 "typetext" : "<string>"
56122987 13663 },
4d47f125
TL
13664 "sata[n]" : {
13665 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
13666 "format" : {
13667 "aio" : {
13668 "description" : "AIO type to use.",
13669 "enum" : [
13670 "native",
13671 "threads"
13672 ],
13673 "optional" : 1,
13674 "type" : "string"
13675 },
13676 "backup" : {
13677 "description" : "Whether the drive should be included when making backups.",
13678 "optional" : 1,
13679 "type" : "boolean"
13680 },
13681 "bps" : {
13682 "description" : "Maximum r/w speed in bytes per second.",
13683 "format_description" : "bps",
13684 "optional" : 1,
13685 "type" : "integer"
13686 },
13687 "bps_max_length" : {
13688 "description" : "Maximum length of I/O bursts in seconds.",
13689 "format_description" : "seconds",
13690 "minimum" : 1,
13691 "optional" : 1,
13692 "type" : "integer"
13693 },
13694 "bps_rd" : {
13695 "description" : "Maximum read speed in bytes per second.",
13696 "format_description" : "bps",
13697 "optional" : 1,
13698 "type" : "integer"
13699 },
13700 "bps_rd_length" : {
13701 "alias" : "bps_rd_max_length"
13702 },
13703 "bps_rd_max_length" : {
13704 "description" : "Maximum length of read I/O bursts in seconds.",
13705 "format_description" : "seconds",
13706 "minimum" : 1,
13707 "optional" : 1,
13708 "type" : "integer"
13709 },
13710 "bps_wr" : {
13711 "description" : "Maximum write speed in bytes per second.",
13712 "format_description" : "bps",
13713 "optional" : 1,
13714 "type" : "integer"
13715 },
13716 "bps_wr_length" : {
13717 "alias" : "bps_wr_max_length"
13718 },
13719 "bps_wr_max_length" : {
13720 "description" : "Maximum length of write I/O bursts in seconds.",
13721 "format_description" : "seconds",
13722 "minimum" : 1,
13723 "optional" : 1,
13724 "type" : "integer"
13725 },
13726 "cache" : {
13727 "description" : "The drive's cache mode",
13728 "enum" : [
13729 "none",
13730 "writethrough",
13731 "writeback",
13732 "unsafe",
13733 "directsync"
13734 ],
13735 "optional" : 1,
13736 "type" : "string"
13737 },
13738 "cyls" : {
13739 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13740 "optional" : 1,
13741 "type" : "integer"
13742 },
13743 "detect_zeroes" : {
13744 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13745 "optional" : 1,
13746 "type" : "boolean"
13747 },
13748 "discard" : {
13749 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13750 "enum" : [
13751 "ignore",
13752 "on"
13753 ],
13754 "optional" : 1,
13755 "type" : "string"
13756 },
13757 "file" : {
13758 "default_key" : 1,
13759 "description" : "The drive's backing volume.",
13760 "format" : "pve-volume-id-or-qm-path",
13761 "format_description" : "volume",
13762 "type" : "string"
13763 },
13764 "format" : {
13765 "description" : "The drive's backing file's data format.",
13766 "enum" : [
13767 "raw",
13768 "cow",
13769 "qcow",
13770 "qed",
13771 "qcow2",
13772 "vmdk",
13773 "cloop"
13774 ],
13775 "optional" : 1,
13776 "type" : "string"
13777 },
13778 "heads" : {
13779 "description" : "Force the drive's physical geometry to have a specific head count.",
13780 "optional" : 1,
13781 "type" : "integer"
13782 },
13783 "iops" : {
13784 "description" : "Maximum r/w I/O in operations per second.",
13785 "format_description" : "iops",
13786 "optional" : 1,
13787 "type" : "integer"
13788 },
13789 "iops_max" : {
13790 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13791 "format_description" : "iops",
13792 "optional" : 1,
13793 "type" : "integer"
13794 },
13795 "iops_max_length" : {
13796 "description" : "Maximum length of I/O bursts in seconds.",
13797 "format_description" : "seconds",
13798 "minimum" : 1,
13799 "optional" : 1,
13800 "type" : "integer"
13801 },
13802 "iops_rd" : {
13803 "description" : "Maximum read I/O in operations per second.",
13804 "format_description" : "iops",
13805 "optional" : 1,
13806 "type" : "integer"
13807 },
13808 "iops_rd_length" : {
13809 "alias" : "iops_rd_max_length"
13810 },
13811 "iops_rd_max" : {
13812 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13813 "format_description" : "iops",
13814 "optional" : 1,
13815 "type" : "integer"
13816 },
13817 "iops_rd_max_length" : {
13818 "description" : "Maximum length of read I/O bursts in seconds.",
13819 "format_description" : "seconds",
13820 "minimum" : 1,
13821 "optional" : 1,
13822 "type" : "integer"
13823 },
13824 "iops_wr" : {
13825 "description" : "Maximum write I/O in operations per second.",
13826 "format_description" : "iops",
13827 "optional" : 1,
13828 "type" : "integer"
13829 },
13830 "iops_wr_length" : {
13831 "alias" : "iops_wr_max_length"
13832 },
13833 "iops_wr_max" : {
13834 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13835 "format_description" : "iops",
13836 "optional" : 1,
13837 "type" : "integer"
13838 },
13839 "iops_wr_max_length" : {
13840 "description" : "Maximum length of write I/O bursts in seconds.",
13841 "format_description" : "seconds",
13842 "minimum" : 1,
13843 "optional" : 1,
13844 "type" : "integer"
13845 },
13846 "mbps" : {
13847 "description" : "Maximum r/w speed in megabytes per second.",
13848 "format_description" : "mbps",
13849 "optional" : 1,
13850 "type" : "number"
13851 },
13852 "mbps_max" : {
13853 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13854 "format_description" : "mbps",
13855 "optional" : 1,
13856 "type" : "number"
13857 },
13858 "mbps_rd" : {
13859 "description" : "Maximum read speed in megabytes per second.",
13860 "format_description" : "mbps",
13861 "optional" : 1,
13862 "type" : "number"
13863 },
13864 "mbps_rd_max" : {
13865 "description" : "Maximum unthrottled read pool in megabytes per second.",
13866 "format_description" : "mbps",
13867 "optional" : 1,
13868 "type" : "number"
13869 },
13870 "mbps_wr" : {
13871 "description" : "Maximum write speed in megabytes per second.",
13872 "format_description" : "mbps",
13873 "optional" : 1,
13874 "type" : "number"
13875 },
13876 "mbps_wr_max" : {
13877 "description" : "Maximum unthrottled write pool in megabytes per second.",
13878 "format_description" : "mbps",
13879 "optional" : 1,
13880 "type" : "number"
13881 },
13882 "media" : {
13883 "default" : "disk",
13884 "description" : "The drive's media type.",
13885 "enum" : [
13886 "cdrom",
13887 "disk"
13888 ],
13889 "optional" : 1,
13890 "type" : "string"
13891 },
13892 "replicate" : {
13893 "default" : 1,
13894 "description" : "Whether the drive should considered for replication jobs.",
13895 "optional" : 1,
13896 "type" : "boolean"
13897 },
13898 "rerror" : {
13899 "description" : "Read error action.",
13900 "enum" : [
13901 "ignore",
13902 "report",
13903 "stop"
13904 ],
13905 "optional" : 1,
13906 "type" : "string"
13907 },
13908 "secs" : {
13909 "description" : "Force the drive's physical geometry to have a specific sector count.",
13910 "optional" : 1,
13911 "type" : "integer"
13912 },
13913 "serial" : {
13914 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13915 "format" : "urlencoded",
13916 "format_description" : "serial",
13917 "maxLength" : 60,
13918 "optional" : 1,
13919 "type" : "string"
13920 },
13921 "shared" : {
13922 "default" : 0,
13923 "description" : "Mark this locally-managed volume as available on all nodes",
13924 "optional" : 1,
13925 "type" : "boolean",
13926 "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!"
13927 },
13928 "size" : {
13929 "description" : "Disk size. This is purely informational and has no effect.",
13930 "format" : "disk-size",
13931 "format_description" : "DiskSize",
13932 "optional" : 1,
13933 "type" : "string"
13934 },
13935 "snapshot" : {
13936 "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.",
13937 "optional" : 1,
13938 "type" : "boolean"
13939 },
25203dc1
NC
13940 "ssd" : {
13941 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13942 "optional" : 1,
13943 "type" : "boolean"
13944 },
4d47f125
TL
13945 "trans" : {
13946 "description" : "Force disk geometry bios translation mode.",
13947 "enum" : [
13948 "none",
13949 "lba",
13950 "auto"
13951 ],
13952 "optional" : 1,
13953 "type" : "string"
13954 },
13955 "volume" : {
13956 "alias" : "file"
13957 },
13958 "werror" : {
13959 "description" : "Write error action.",
13960 "enum" : [
13961 "enospc",
13962 "ignore",
13963 "report",
13964 "stop"
13965 ],
13966 "optional" : 1,
13967 "type" : "string"
95895385
TL
13968 },
13969 "wwn" : {
13970 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
13971 "format_description" : "wwn",
13972 "optional" : 1,
13973 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
13974 "type" : "string"
4d47f125
TL
13975 }
13976 },
13977 "optional" : 1,
13978 "type" : "string",
95895385 13979 "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
13980 },
13981 "scsi[n]" : {
13982 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
13983 "format" : {
13984 "aio" : {
13985 "description" : "AIO type to use.",
13986 "enum" : [
13987 "native",
13988 "threads"
13989 ],
13990 "optional" : 1,
13991 "type" : "string"
13992 },
13993 "backup" : {
13994 "description" : "Whether the drive should be included when making backups.",
13995 "optional" : 1,
13996 "type" : "boolean"
13997 },
13998 "bps" : {
13999 "description" : "Maximum r/w speed in bytes per second.",
14000 "format_description" : "bps",
14001 "optional" : 1,
14002 "type" : "integer"
14003 },
14004 "bps_max_length" : {
14005 "description" : "Maximum length of I/O bursts in seconds.",
14006 "format_description" : "seconds",
14007 "minimum" : 1,
14008 "optional" : 1,
14009 "type" : "integer"
14010 },
14011 "bps_rd" : {
14012 "description" : "Maximum read speed in bytes per second.",
14013 "format_description" : "bps",
14014 "optional" : 1,
14015 "type" : "integer"
14016 },
14017 "bps_rd_length" : {
14018 "alias" : "bps_rd_max_length"
14019 },
14020 "bps_rd_max_length" : {
14021 "description" : "Maximum length of read I/O bursts in seconds.",
14022 "format_description" : "seconds",
14023 "minimum" : 1,
14024 "optional" : 1,
14025 "type" : "integer"
14026 },
14027 "bps_wr" : {
14028 "description" : "Maximum write speed in bytes per second.",
14029 "format_description" : "bps",
14030 "optional" : 1,
14031 "type" : "integer"
14032 },
14033 "bps_wr_length" : {
14034 "alias" : "bps_wr_max_length"
14035 },
14036 "bps_wr_max_length" : {
14037 "description" : "Maximum length of write I/O bursts in seconds.",
14038 "format_description" : "seconds",
14039 "minimum" : 1,
14040 "optional" : 1,
14041 "type" : "integer"
14042 },
14043 "cache" : {
14044 "description" : "The drive's cache mode",
14045 "enum" : [
14046 "none",
14047 "writethrough",
14048 "writeback",
14049 "unsafe",
14050 "directsync"
14051 ],
14052 "optional" : 1,
14053 "type" : "string"
14054 },
14055 "cyls" : {
14056 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14057 "optional" : 1,
14058 "type" : "integer"
14059 },
14060 "detect_zeroes" : {
14061 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14062 "optional" : 1,
14063 "type" : "boolean"
14064 },
14065 "discard" : {
14066 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14067 "enum" : [
14068 "ignore",
14069 "on"
14070 ],
14071 "optional" : 1,
14072 "type" : "string"
14073 },
14074 "file" : {
14075 "default_key" : 1,
14076 "description" : "The drive's backing volume.",
14077 "format" : "pve-volume-id-or-qm-path",
14078 "format_description" : "volume",
14079 "type" : "string"
14080 },
14081 "format" : {
14082 "description" : "The drive's backing file's data format.",
14083 "enum" : [
14084 "raw",
14085 "cow",
14086 "qcow",
14087 "qed",
14088 "qcow2",
14089 "vmdk",
14090 "cloop"
14091 ],
14092 "optional" : 1,
14093 "type" : "string"
14094 },
14095 "heads" : {
14096 "description" : "Force the drive's physical geometry to have a specific head count.",
14097 "optional" : 1,
14098 "type" : "integer"
14099 },
14100 "iops" : {
14101 "description" : "Maximum r/w I/O in operations per second.",
14102 "format_description" : "iops",
14103 "optional" : 1,
14104 "type" : "integer"
14105 },
14106 "iops_max" : {
14107 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
14108 "format_description" : "iops",
14109 "optional" : 1,
14110 "type" : "integer"
14111 },
14112 "iops_max_length" : {
14113 "description" : "Maximum length of I/O bursts in seconds.",
14114 "format_description" : "seconds",
14115 "minimum" : 1,
14116 "optional" : 1,
14117 "type" : "integer"
14118 },
14119 "iops_rd" : {
14120 "description" : "Maximum read I/O in operations per second.",
14121 "format_description" : "iops",
14122 "optional" : 1,
14123 "type" : "integer"
14124 },
14125 "iops_rd_length" : {
14126 "alias" : "iops_rd_max_length"
14127 },
14128 "iops_rd_max" : {
14129 "description" : "Maximum unthrottled read I/O pool in operations per second.",
14130 "format_description" : "iops",
14131 "optional" : 1,
14132 "type" : "integer"
14133 },
14134 "iops_rd_max_length" : {
14135 "description" : "Maximum length of read I/O bursts in seconds.",
14136 "format_description" : "seconds",
14137 "minimum" : 1,
14138 "optional" : 1,
14139 "type" : "integer"
14140 },
14141 "iops_wr" : {
14142 "description" : "Maximum write I/O in operations per second.",
14143 "format_description" : "iops",
14144 "optional" : 1,
14145 "type" : "integer"
14146 },
14147 "iops_wr_length" : {
14148 "alias" : "iops_wr_max_length"
14149 },
14150 "iops_wr_max" : {
14151 "description" : "Maximum unthrottled write I/O pool in operations per second.",
14152 "format_description" : "iops",
14153 "optional" : 1,
14154 "type" : "integer"
14155 },
14156 "iops_wr_max_length" : {
14157 "description" : "Maximum length of write I/O bursts in seconds.",
14158 "format_description" : "seconds",
14159 "minimum" : 1,
14160 "optional" : 1,
14161 "type" : "integer"
14162 },
14163 "iothread" : {
14164 "description" : "Whether to use iothreads for this drive",
14165 "optional" : 1,
14166 "type" : "boolean"
14167 },
14168 "mbps" : {
14169 "description" : "Maximum r/w speed in megabytes per second.",
14170 "format_description" : "mbps",
14171 "optional" : 1,
14172 "type" : "number"
14173 },
14174 "mbps_max" : {
14175 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
14176 "format_description" : "mbps",
14177 "optional" : 1,
14178 "type" : "number"
14179 },
14180 "mbps_rd" : {
14181 "description" : "Maximum read speed in megabytes per second.",
14182 "format_description" : "mbps",
14183 "optional" : 1,
14184 "type" : "number"
14185 },
14186 "mbps_rd_max" : {
14187 "description" : "Maximum unthrottled read pool in megabytes per second.",
14188 "format_description" : "mbps",
14189 "optional" : 1,
14190 "type" : "number"
14191 },
14192 "mbps_wr" : {
14193 "description" : "Maximum write speed in megabytes per second.",
14194 "format_description" : "mbps",
14195 "optional" : 1,
14196 "type" : "number"
14197 },
14198 "mbps_wr_max" : {
14199 "description" : "Maximum unthrottled write pool in megabytes per second.",
14200 "format_description" : "mbps",
14201 "optional" : 1,
14202 "type" : "number"
14203 },
14204 "media" : {
14205 "default" : "disk",
14206 "description" : "The drive's media type.",
14207 "enum" : [
14208 "cdrom",
14209 "disk"
14210 ],
14211 "optional" : 1,
14212 "type" : "string"
14213 },
14214 "queues" : {
14215 "description" : "Number of queues.",
14216 "minimum" : 2,
14217 "optional" : 1,
14218 "type" : "integer"
14219 },
14220 "replicate" : {
14221 "default" : 1,
14222 "description" : "Whether the drive should considered for replication jobs.",
14223 "optional" : 1,
14224 "type" : "boolean"
14225 },
14226 "rerror" : {
14227 "description" : "Read error action.",
14228 "enum" : [
14229 "ignore",
14230 "report",
14231 "stop"
14232 ],
14233 "optional" : 1,
14234 "type" : "string"
14235 },
14236 "scsiblock" : {
14237 "default" : 0,
14238 "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",
14239 "optional" : 1,
14240 "type" : "boolean"
14241 },
14242 "secs" : {
14243 "description" : "Force the drive's physical geometry to have a specific sector count.",
14244 "optional" : 1,
14245 "type" : "integer"
14246 },
14247 "serial" : {
14248 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14249 "format" : "urlencoded",
14250 "format_description" : "serial",
14251 "maxLength" : 60,
14252 "optional" : 1,
14253 "type" : "string"
14254 },
14255 "shared" : {
14256 "default" : 0,
14257 "description" : "Mark this locally-managed volume as available on all nodes",
14258 "optional" : 1,
14259 "type" : "boolean",
14260 "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!"
14261 },
14262 "size" : {
14263 "description" : "Disk size. This is purely informational and has no effect.",
14264 "format" : "disk-size",
14265 "format_description" : "DiskSize",
14266 "optional" : 1,
14267 "type" : "string"
14268 },
14269 "snapshot" : {
14270 "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.",
14271 "optional" : 1,
14272 "type" : "boolean"
14273 },
25203dc1
NC
14274 "ssd" : {
14275 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14276 "optional" : 1,
14277 "type" : "boolean"
14278 },
4d47f125
TL
14279 "trans" : {
14280 "description" : "Force disk geometry bios translation mode.",
14281 "enum" : [
14282 "none",
14283 "lba",
14284 "auto"
14285 ],
14286 "optional" : 1,
14287 "type" : "string"
14288 },
14289 "volume" : {
14290 "alias" : "file"
14291 },
14292 "werror" : {
14293 "description" : "Write error action.",
14294 "enum" : [
14295 "enospc",
14296 "ignore",
14297 "report",
14298 "stop"
14299 ],
14300 "optional" : 1,
14301 "type" : "string"
95895385
TL
14302 },
14303 "wwn" : {
14304 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14305 "format_description" : "wwn",
14306 "optional" : 1,
14307 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14308 "type" : "string"
4d47f125
TL
14309 }
14310 },
14311 "optional" : 1,
14312 "type" : "string",
95895385 14313 "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
14314 },
14315 "scsihw" : {
14316 "default" : "lsi",
14317 "description" : "SCSI controller model",
14318 "enum" : [
14319 "lsi",
14320 "lsi53c810",
14321 "virtio-scsi-pci",
14322 "virtio-scsi-single",
14323 "megasas",
14324 "pvscsi"
14325 ],
14326 "optional" : 1,
14327 "type" : "string"
14328 },
14329 "searchdomain" : {
14330 "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.",
14331 "optional" : 1,
14332 "type" : "string",
14333 "typetext" : "<string>"
14334 },
14335 "serial[n]" : {
14336 "description" : "Create a serial device inside the VM (n is 0 to 3)",
14337 "optional" : 1,
14338 "pattern" : "(/dev/.+|socket)",
14339 "type" : "string",
14340 "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"
14341 },
14342 "shares" : {
14343 "default" : 1000,
14344 "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.",
14345 "maximum" : 50000,
14346 "minimum" : 0,
14347 "optional" : 1,
14348 "type" : "integer",
14349 "typetext" : "<integer> (0 - 50000)"
14350 },
14351 "skiplock" : {
14352 "description" : "Ignore locks - only root is allowed to use this option.",
14353 "optional" : 1,
14354 "type" : "boolean",
14355 "typetext" : "<boolean>"
14356 },
14357 "smbios1" : {
14358 "description" : "Specify SMBIOS type 1 fields.",
14359 "format" : "pve-qm-smbios1",
14360 "maxLength" : 256,
14361 "optional" : 1,
14362 "type" : "string",
14363 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
14364 },
14365 "smp" : {
14366 "default" : 1,
14367 "description" : "The number of CPUs. Please use option -sockets instead.",
14368 "minimum" : 1,
14369 "optional" : 1,
14370 "type" : "integer",
14371 "typetext" : "<integer> (1 - N)"
14372 },
14373 "sockets" : {
14374 "default" : 1,
14375 "description" : "The number of CPU sockets.",
14376 "minimum" : 1,
14377 "optional" : 1,
14378 "type" : "integer",
14379 "typetext" : "<integer> (1 - N)"
14380 },
14381 "sshkeys" : {
14382 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
14383 "format" : "urlencoded",
14384 "optional" : 1,
14385 "type" : "string",
14386 "typetext" : "<string>"
14387 },
14388 "startdate" : {
14389 "default" : "now",
14390 "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'.",
14391 "optional" : 1,
14392 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
14393 "type" : "string",
14394 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
14395 },
14396 "startup" : {
14397 "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.",
14398 "format" : "pve-startup-order",
14399 "optional" : 1,
14400 "type" : "string",
14401 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
14402 },
14403 "tablet" : {
14404 "default" : 1,
14405 "description" : "Enable/disable the USB tablet device.",
14406 "optional" : 1,
14407 "type" : "boolean",
14408 "typetext" : "<boolean>",
14409 "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)."
14410 },
14411 "tdf" : {
14412 "default" : 0,
14413 "description" : "Enable/disable time drift fix.",
14414 "optional" : 1,
14415 "type" : "boolean",
14416 "typetext" : "<boolean>"
14417 },
14418 "template" : {
14419 "default" : 0,
14420 "description" : "Enable/disable Template.",
14421 "optional" : 1,
14422 "type" : "boolean",
14423 "typetext" : "<boolean>"
14424 },
14425 "unused[n]" : {
14426 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
14427 "format" : "pve-volume-id",
14428 "optional" : 1,
14429 "type" : "string",
14430 "typetext" : "<string>"
14431 },
14432 "usb[n]" : {
14433 "description" : "Configure an USB device (n is 0 to 4).",
14434 "format" : {
14435 "host" : {
14436 "default_key" : 1,
14437 "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",
14438 "format" : "pve-qm-usb-device",
14439 "format_description" : "HOSTUSBDEVICE|spice",
14440 "type" : "string"
14441 },
14442 "usb3" : {
14443 "default" : 0,
14444 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
14445 "optional" : 1,
14446 "type" : "boolean"
14447 }
14448 },
14449 "optional" : 1,
14450 "type" : "string",
14451 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
14452 },
14453 "vcpus" : {
14454 "default" : 0,
14455 "description" : "Number of hotplugged vcpus.",
14456 "minimum" : 1,
14457 "optional" : 1,
14458 "type" : "integer",
14459 "typetext" : "<integer> (1 - N)"
14460 },
14461 "vga" : {
e2d681b3
TL
14462 "description" : "Configure the VGA hardware.",
14463 "format" : {
14464 "memory" : {
14465 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
14466 "maximum" : 512,
14467 "minimum" : 4,
14468 "optional" : 1,
14469 "type" : "integer"
14470 },
14471 "type" : {
14472 "default" : "std",
14473 "default_key" : 1,
14474 "description" : "Select the VGA type.",
14475 "enum" : [
14476 "cirrus",
14477 "qxl",
14478 "qxl2",
14479 "qxl3",
14480 "qxl4",
5f26e15b 14481 "none",
e2d681b3
TL
14482 "serial0",
14483 "serial1",
14484 "serial2",
14485 "serial3",
14486 "std",
14487 "virtio",
14488 "vmware"
14489 ],
14490 "optional" : 1,
14491 "type" : "string"
14492 }
14493 },
4d47f125
TL
14494 "optional" : 1,
14495 "type" : "string",
e2d681b3
TL
14496 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
14497 "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
14498 },
14499 "virtio[n]" : {
14500 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
14501 "format" : {
14502 "aio" : {
14503 "description" : "AIO type to use.",
14504 "enum" : [
14505 "native",
14506 "threads"
14507 ],
14508 "optional" : 1,
14509 "type" : "string"
14510 },
14511 "backup" : {
14512 "description" : "Whether the drive should be included when making backups.",
14513 "optional" : 1,
14514 "type" : "boolean"
14515 },
14516 "bps" : {
14517 "description" : "Maximum r/w speed in bytes per second.",
14518 "format_description" : "bps",
14519 "optional" : 1,
14520 "type" : "integer"
14521 },
14522 "bps_max_length" : {
14523 "description" : "Maximum length of I/O bursts in seconds.",
14524 "format_description" : "seconds",
14525 "minimum" : 1,
14526 "optional" : 1,
14527 "type" : "integer"
14528 },
14529 "bps_rd" : {
14530 "description" : "Maximum read speed in bytes per second.",
14531 "format_description" : "bps",
14532 "optional" : 1,
14533 "type" : "integer"
14534 },
14535 "bps_rd_length" : {
14536 "alias" : "bps_rd_max_length"
14537 },
14538 "bps_rd_max_length" : {
14539 "description" : "Maximum length of read I/O bursts in seconds.",
14540 "format_description" : "seconds",
14541 "minimum" : 1,
14542 "optional" : 1,
14543 "type" : "integer"
14544 },
14545 "bps_wr" : {
14546 "description" : "Maximum write speed in bytes per second.",
14547 "format_description" : "bps",
14548 "optional" : 1,
14549 "type" : "integer"
14550 },
14551 "bps_wr_length" : {
14552 "alias" : "bps_wr_max_length"
14553 },
14554 "bps_wr_max_length" : {
14555 "description" : "Maximum length of write I/O bursts in seconds.",
14556 "format_description" : "seconds",
14557 "minimum" : 1,
14558 "optional" : 1,
14559 "type" : "integer"
14560 },
14561 "cache" : {
14562 "description" : "The drive's cache mode",
14563 "enum" : [
14564 "none",
14565 "writethrough",
14566 "writeback",
14567 "unsafe",
14568 "directsync"
14569 ],
14570 "optional" : 1,
14571 "type" : "string"
14572 },
14573 "cyls" : {
14574 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14575 "optional" : 1,
14576 "type" : "integer"
14577 },
14578 "detect_zeroes" : {
14579 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14580 "optional" : 1,
14581 "type" : "boolean"
14582 },
14583 "discard" : {
14584 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14585 "enum" : [
14586 "ignore",
14587 "on"
14588 ],
14589 "optional" : 1,
14590 "type" : "string"
14591 },
14592 "file" : {
14593 "default_key" : 1,
14594 "description" : "The drive's backing volume.",
14595 "format" : "pve-volume-id-or-qm-path",
14596 "format_description" : "volume",
14597 "type" : "string"
14598 },
14599 "format" : {
14600 "description" : "The drive's backing file's data format.",
14601 "enum" : [
14602 "raw",
14603 "cow",
14604 "qcow",
14605 "qed",
14606 "qcow2",
14607 "vmdk",
14608 "cloop"
14609 ],
14610 "optional" : 1,
14611 "type" : "string"
14612 },
14613 "heads" : {
14614 "description" : "Force the drive's physical geometry to have a specific head count.",
14615 "optional" : 1,
14616 "type" : "integer"
14617 },
14618 "iops" : {
14619 "description" : "Maximum r/w I/O in operations per second.",
14620 "format_description" : "iops",
14621 "optional" : 1,
14622 "type" : "integer"
14623 },
14624 "iops_max" : {
14625 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
14626 "format_description" : "iops",
14627 "optional" : 1,
14628 "type" : "integer"
14629 },
14630 "iops_max_length" : {
14631 "description" : "Maximum length of I/O bursts in seconds.",
14632 "format_description" : "seconds",
14633 "minimum" : 1,
14634 "optional" : 1,
14635 "type" : "integer"
14636 },
14637 "iops_rd" : {
14638 "description" : "Maximum read I/O in operations per second.",
14639 "format_description" : "iops",
14640 "optional" : 1,
14641 "type" : "integer"
14642 },
14643 "iops_rd_length" : {
14644 "alias" : "iops_rd_max_length"
14645 },
14646 "iops_rd_max" : {
14647 "description" : "Maximum unthrottled read I/O pool in operations per second.",
14648 "format_description" : "iops",
14649 "optional" : 1,
14650 "type" : "integer"
14651 },
14652 "iops_rd_max_length" : {
14653 "description" : "Maximum length of read I/O bursts in seconds.",
14654 "format_description" : "seconds",
14655 "minimum" : 1,
14656 "optional" : 1,
14657 "type" : "integer"
14658 },
14659 "iops_wr" : {
14660 "description" : "Maximum write I/O in operations per second.",
14661 "format_description" : "iops",
14662 "optional" : 1,
14663 "type" : "integer"
14664 },
14665 "iops_wr_length" : {
14666 "alias" : "iops_wr_max_length"
14667 },
14668 "iops_wr_max" : {
14669 "description" : "Maximum unthrottled write I/O pool in operations per second.",
14670 "format_description" : "iops",
14671 "optional" : 1,
14672 "type" : "integer"
14673 },
14674 "iops_wr_max_length" : {
14675 "description" : "Maximum length of write I/O bursts in seconds.",
14676 "format_description" : "seconds",
14677 "minimum" : 1,
14678 "optional" : 1,
14679 "type" : "integer"
14680 },
14681 "iothread" : {
14682 "description" : "Whether to use iothreads for this drive",
14683 "optional" : 1,
14684 "type" : "boolean"
14685 },
14686 "mbps" : {
14687 "description" : "Maximum r/w speed in megabytes per second.",
14688 "format_description" : "mbps",
14689 "optional" : 1,
14690 "type" : "number"
14691 },
14692 "mbps_max" : {
14693 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
14694 "format_description" : "mbps",
14695 "optional" : 1,
14696 "type" : "number"
14697 },
14698 "mbps_rd" : {
14699 "description" : "Maximum read speed in megabytes per second.",
14700 "format_description" : "mbps",
14701 "optional" : 1,
14702 "type" : "number"
14703 },
14704 "mbps_rd_max" : {
14705 "description" : "Maximum unthrottled read pool in megabytes per second.",
14706 "format_description" : "mbps",
14707 "optional" : 1,
14708 "type" : "number"
14709 },
14710 "mbps_wr" : {
14711 "description" : "Maximum write speed in megabytes per second.",
14712 "format_description" : "mbps",
14713 "optional" : 1,
14714 "type" : "number"
14715 },
14716 "mbps_wr_max" : {
14717 "description" : "Maximum unthrottled write pool in megabytes per second.",
14718 "format_description" : "mbps",
14719 "optional" : 1,
14720 "type" : "number"
14721 },
14722 "media" : {
14723 "default" : "disk",
14724 "description" : "The drive's media type.",
14725 "enum" : [
14726 "cdrom",
14727 "disk"
14728 ],
14729 "optional" : 1,
14730 "type" : "string"
14731 },
14732 "replicate" : {
14733 "default" : 1,
14734 "description" : "Whether the drive should considered for replication jobs.",
14735 "optional" : 1,
14736 "type" : "boolean"
14737 },
14738 "rerror" : {
14739 "description" : "Read error action.",
14740 "enum" : [
14741 "ignore",
14742 "report",
14743 "stop"
14744 ],
14745 "optional" : 1,
14746 "type" : "string"
14747 },
14748 "secs" : {
14749 "description" : "Force the drive's physical geometry to have a specific sector count.",
14750 "optional" : 1,
14751 "type" : "integer"
14752 },
14753 "serial" : {
14754 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14755 "format" : "urlencoded",
14756 "format_description" : "serial",
14757 "maxLength" : 60,
14758 "optional" : 1,
14759 "type" : "string"
14760 },
14761 "shared" : {
14762 "default" : 0,
14763 "description" : "Mark this locally-managed volume as available on all nodes",
14764 "optional" : 1,
14765 "type" : "boolean",
14766 "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!"
14767 },
14768 "size" : {
14769 "description" : "Disk size. This is purely informational and has no effect.",
14770 "format" : "disk-size",
14771 "format_description" : "DiskSize",
14772 "optional" : 1,
14773 "type" : "string"
14774 },
14775 "snapshot" : {
14776 "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.",
14777 "optional" : 1,
14778 "type" : "boolean"
14779 },
14780 "trans" : {
14781 "description" : "Force disk geometry bios translation mode.",
14782 "enum" : [
14783 "none",
14784 "lba",
14785 "auto"
14786 ],
14787 "optional" : 1,
14788 "type" : "string"
14789 },
14790 "volume" : {
14791 "alias" : "file"
14792 },
14793 "werror" : {
14794 "description" : "Write error action.",
14795 "enum" : [
14796 "enospc",
14797 "ignore",
14798 "report",
14799 "stop"
14800 ],
14801 "optional" : 1,
14802 "type" : "string"
14803 }
14804 },
14805 "optional" : 1,
14806 "type" : "string",
14807 "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>]"
14808 },
14809 "vmgenid" : {
14810 "default" : "1 (autogenerated)",
14811 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
14812 "format_description" : "UUID",
14813 "optional" : 1,
14814 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
14815 "type" : "string",
14816 "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."
14817 },
14818 "vmid" : {
14819 "description" : "The (unique) ID of the VM.",
14820 "format" : "pve-vmid",
14821 "minimum" : 1,
14822 "type" : "integer",
14823 "typetext" : "<integer> (1 - N)"
14824 },
14825 "vmstatestorage" : {
14826 "description" : "Default storage for VM state volumes/files.",
14827 "format" : "pve-storage-id",
14828 "optional" : 1,
14829 "type" : "string",
14830 "typetext" : "<string>"
14831 },
14832 "watchdog" : {
14833 "description" : "Create a virtual hardware watchdog device.",
14834 "format" : "pve-qm-watchdog",
14835 "optional" : 1,
14836 "type" : "string",
14837 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
14838 "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)"
14839 }
14840 }
14841 },
14842 "permissions" : {
14843 "check" : [
14844 "perm",
14845 "/vms/{vmid}",
14846 [
14847 "VM.Config.Disk",
14848 "VM.Config.CDROM",
14849 "VM.Config.CPU",
14850 "VM.Config.Memory",
14851 "VM.Config.Network",
14852 "VM.Config.HWType",
14853 "VM.Config.Options"
14854 ],
14855 "any",
14856 1
14857 ]
14858 },
14859 "protected" : 1,
14860 "proxyto" : "node",
14861 "returns" : {
14862 "type" : "null"
14863 }
14864 }
14865 },
14866 "leaf" : 1,
14867 "path" : "/nodes/{node}/qemu/{vmid}/config",
14868 "text" : "config"
14869 },
14870 {
14871 "info" : {
14872 "GET" : {
14873 "description" : "Get virtual machine configuration, including pending changes.",
14874 "method" : "GET",
14875 "name" : "vm_pending",
14876 "parameters" : {
14877 "additionalProperties" : 0,
14878 "properties" : {
14879 "node" : {
14880 "description" : "The cluster node name.",
14881 "format" : "pve-node",
14882 "type" : "string",
14883 "typetext" : "<string>"
14884 },
14885 "vmid" : {
14886 "description" : "The (unique) ID of the VM.",
14887 "format" : "pve-vmid",
14888 "minimum" : 1,
14889 "type" : "integer",
14890 "typetext" : "<integer> (1 - N)"
14891 }
14892 }
14893 },
14894 "permissions" : {
14895 "check" : [
14896 "perm",
14897 "/vms/{vmid}",
14898 [
14899 "VM.Audit"
14900 ]
14901 ]
14902 },
14903 "proxyto" : "node",
14904 "returns" : {
14905 "items" : {
14906 "properties" : {
14907 "delete" : {
14908 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
14909 "maximum" : 2,
14910 "minimum" : 0,
14911 "optional" : 1,
14912 "type" : "integer"
14913 },
14914 "key" : {
14915 "description" : "Configuration option name.",
14916 "type" : "string"
14917 },
14918 "pending" : {
14919 "description" : "Pending value.",
14920 "optional" : 1,
14921 "type" : "string"
14922 },
14923 "value" : {
14924 "description" : "Current value.",
14925 "optional" : 1,
14926 "type" : "string"
14927 }
14928 },
14929 "type" : "object"
14930 },
14931 "type" : "array"
14932 }
14933 }
14934 },
14935 "leaf" : 1,
14936 "path" : "/nodes/{node}/qemu/{vmid}/pending",
14937 "text" : "pending"
14938 },
14939 {
14940 "info" : {
14941 "PUT" : {
14942 "description" : "Unlink/delete disk images.",
14943 "method" : "PUT",
14944 "name" : "unlink",
14945 "parameters" : {
14946 "additionalProperties" : 0,
14947 "properties" : {
14948 "force" : {
14949 "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.",
14950 "optional" : 1,
14951 "type" : "boolean",
14952 "typetext" : "<boolean>"
14953 },
14954 "idlist" : {
14955 "description" : "A list of disk IDs you want to delete.",
14956 "format" : "pve-configid-list",
14957 "type" : "string",
14958 "typetext" : "<string>"
14959 },
14960 "node" : {
14961 "description" : "The cluster node name.",
14962 "format" : "pve-node",
14963 "type" : "string",
14964 "typetext" : "<string>"
14965 },
14966 "vmid" : {
14967 "description" : "The (unique) ID of the VM.",
14968 "format" : "pve-vmid",
14969 "minimum" : 1,
14970 "type" : "integer",
14971 "typetext" : "<integer> (1 - N)"
14972 }
14973 }
14974 },
14975 "permissions" : {
14976 "check" : [
14977 "perm",
14978 "/vms/{vmid}",
14979 [
14980 "VM.Config.Disk"
14981 ]
14982 ]
14983 },
14984 "protected" : 1,
14985 "proxyto" : "node",
14986 "returns" : {
14987 "type" : "null"
14988 }
14989 }
14990 },
14991 "leaf" : 1,
14992 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
14993 "text" : "unlink"
14994 },
14995 {
14996 "info" : {
14997 "POST" : {
14998 "description" : "Creates a TCP VNC proxy connections.",
14999 "method" : "POST",
15000 "name" : "vncproxy",
15001 "parameters" : {
15002 "additionalProperties" : 0,
15003 "properties" : {
15004 "node" : {
15005 "description" : "The cluster node name.",
15006 "format" : "pve-node",
15007 "type" : "string",
15008 "typetext" : "<string>"
15009 },
15010 "vmid" : {
15011 "description" : "The (unique) ID of the VM.",
15012 "format" : "pve-vmid",
15013 "minimum" : 1,
15014 "type" : "integer",
15015 "typetext" : "<integer> (1 - N)"
15016 },
15017 "websocket" : {
15018 "description" : "starts websockify instead of vncproxy",
15019 "optional" : 1,
15020 "type" : "boolean",
15021 "typetext" : "<boolean>"
15022 }
15023 }
15024 },
15025 "permissions" : {
15026 "check" : [
15027 "perm",
15028 "/vms/{vmid}",
15029 [
15030 "VM.Console"
15031 ]
15032 ]
15033 },
15034 "protected" : 1,
15035 "returns" : {
15036 "additionalProperties" : 0,
15037 "properties" : {
15038 "cert" : {
15039 "type" : "string"
15040 },
15041 "port" : {
15042 "type" : "integer"
15043 },
15044 "ticket" : {
15045 "type" : "string"
15046 },
15047 "upid" : {
15048 "type" : "string"
15049 },
15050 "user" : {
15051 "type" : "string"
15052 }
15053 }
15054 }
15055 }
15056 },
15057 "leaf" : 1,
15058 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
15059 "text" : "vncproxy"
15060 },
15061 {
15062 "info" : {
15063 "POST" : {
15064 "description" : "Creates a TCP proxy connections.",
15065 "method" : "POST",
15066 "name" : "termproxy",
15067 "parameters" : {
15068 "additionalProperties" : 0,
15069 "properties" : {
15070 "node" : {
15071 "description" : "The cluster node name.",
15072 "format" : "pve-node",
15073 "type" : "string",
15074 "typetext" : "<string>"
15075 },
15076 "serial" : {
15077 "description" : "opens a serial terminal (defaults to display)",
15078 "enum" : [
15079 "serial0",
15080 "serial1",
15081 "serial2",
15082 "serial3"
15083 ],
15084 "optional" : 1,
15085 "type" : "string"
15086 },
15087 "vmid" : {
15088 "description" : "The (unique) ID of the VM.",
15089 "format" : "pve-vmid",
15090 "minimum" : 1,
15091 "type" : "integer",
15092 "typetext" : "<integer> (1 - N)"
15093 }
15094 }
15095 },
15096 "permissions" : {
15097 "check" : [
15098 "perm",
15099 "/vms/{vmid}",
15100 [
15101 "VM.Console"
15102 ]
15103 ]
15104 },
15105 "protected" : 1,
15106 "returns" : {
15107 "additionalProperties" : 0,
15108 "properties" : {
15109 "port" : {
15110 "type" : "integer"
15111 },
15112 "ticket" : {
15113 "type" : "string"
15114 },
15115 "upid" : {
15116 "type" : "string"
15117 },
15118 "user" : {
15119 "type" : "string"
15120 }
15121 }
15122 }
15123 }
15124 },
15125 "leaf" : 1,
15126 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
15127 "text" : "termproxy"
15128 },
15129 {
15130 "info" : {
15131 "GET" : {
15132 "description" : "Opens a weksocket for VNC traffic.",
15133 "method" : "GET",
15134 "name" : "vncwebsocket",
15135 "parameters" : {
15136 "additionalProperties" : 0,
15137 "properties" : {
15138 "node" : {
15139 "description" : "The cluster node name.",
15140 "format" : "pve-node",
15141 "type" : "string",
15142 "typetext" : "<string>"
15143 },
15144 "port" : {
15145 "description" : "Port number returned by previous vncproxy call.",
15146 "maximum" : 5999,
15147 "minimum" : 5900,
15148 "type" : "integer",
15149 "typetext" : "<integer> (5900 - 5999)"
15150 },
15151 "vmid" : {
15152 "description" : "The (unique) ID of the VM.",
15153 "format" : "pve-vmid",
15154 "minimum" : 1,
15155 "type" : "integer",
15156 "typetext" : "<integer> (1 - N)"
15157 },
15158 "vncticket" : {
15159 "description" : "Ticket from previous call to vncproxy.",
15160 "maxLength" : 512,
15161 "type" : "string",
15162 "typetext" : "<string>"
15163 }
15164 }
15165 },
15166 "permissions" : {
15167 "check" : [
15168 "perm",
15169 "/vms/{vmid}",
15170 [
15171 "VM.Console"
15172 ]
15173 ],
15174 "description" : "You also need to pass a valid ticket (vncticket)."
15175 },
15176 "returns" : {
15177 "properties" : {
15178 "port" : {
15179 "type" : "string"
15180 }
15181 },
15182 "type" : "object"
15183 }
15184 }
15185 },
15186 "leaf" : 1,
15187 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
15188 "text" : "vncwebsocket"
15189 },
15190 {
15191 "info" : {
15192 "POST" : {
15193 "description" : "Returns a SPICE configuration to connect to the VM.",
15194 "method" : "POST",
15195 "name" : "spiceproxy",
15196 "parameters" : {
15197 "additionalProperties" : 0,
15198 "properties" : {
15199 "node" : {
15200 "description" : "The cluster node name.",
15201 "format" : "pve-node",
15202 "type" : "string",
15203 "typetext" : "<string>"
15204 },
15205 "proxy" : {
15206 "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).",
15207 "format" : "address",
15208 "optional" : 1,
15209 "type" : "string",
15210 "typetext" : "<string>"
15211 },
15212 "vmid" : {
15213 "description" : "The (unique) ID of the VM.",
15214 "format" : "pve-vmid",
15215 "minimum" : 1,
15216 "type" : "integer",
15217 "typetext" : "<integer> (1 - N)"
15218 }
15219 }
15220 },
15221 "permissions" : {
15222 "check" : [
15223 "perm",
15224 "/vms/{vmid}",
15225 [
15226 "VM.Console"
15227 ]
15228 ]
15229 },
15230 "protected" : 1,
15231 "proxyto" : "node",
15232 "returns" : {
15233 "additionalProperties" : 1,
15234 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
15235 "properties" : {
15236 "host" : {
15237 "type" : "string"
15238 },
15239 "password" : {
15240 "type" : "string"
15241 },
15242 "proxy" : {
15243 "type" : "string"
15244 },
15245 "tls-port" : {
15246 "type" : "integer"
15247 },
15248 "type" : {
15249 "type" : "string"
15250 }
15251 }
15252 }
15253 }
15254 },
15255 "leaf" : 1,
15256 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
15257 "text" : "spiceproxy"
15258 },
15259 {
15260 "children" : [
15261 {
15262 "info" : {
15263 "GET" : {
15264 "description" : "Get virtual machine status.",
15265 "method" : "GET",
15266 "name" : "vm_status",
15267 "parameters" : {
15268 "additionalProperties" : 0,
15269 "properties" : {
15270 "node" : {
15271 "description" : "The cluster node name.",
15272 "format" : "pve-node",
15273 "type" : "string",
15274 "typetext" : "<string>"
15275 },
15276 "vmid" : {
15277 "description" : "The (unique) ID of the VM.",
15278 "format" : "pve-vmid",
15279 "minimum" : 1,
15280 "type" : "integer",
15281 "typetext" : "<integer> (1 - N)"
15282 }
15283 }
15284 },
15285 "permissions" : {
15286 "check" : [
15287 "perm",
15288 "/vms/{vmid}",
15289 [
15290 "VM.Audit"
15291 ]
15292 ]
15293 },
15294 "protected" : 1,
15295 "proxyto" : "node",
15296 "returns" : {
15297 "properties" : {
15298 "agent" : {
15299 "description" : "Qemu GuestAgent enabled in config.",
15300 "optional" : 1,
15301 "type" : "boolean"
15302 },
15303 "cpus" : {
15304 "description" : "Maximum usable CPUs.",
15305 "optional" : 1,
15306 "type" : "number"
15307 },
15308 "ha" : {
15309 "description" : "HA manager service status.",
15310 "type" : "object"
15311 },
95895385
TL
15312 "lock" : {
15313 "description" : "The current config lock, if any.",
15314 "optional" : 1,
15315 "type" : "string"
15316 },
4d47f125
TL
15317 "maxdisk" : {
15318 "description" : "Root disk size in bytes.",
15319 "optional" : 1,
15320 "renderer" : "bytes",
15321 "type" : "integer"
15322 },
15323 "maxmem" : {
15324 "description" : "Maximum memory in bytes.",
15325 "optional" : 1,
15326 "renderer" : "bytes",
15327 "type" : "integer"
15328 },
15329 "name" : {
15330 "description" : "VM name.",
15331 "optional" : 1,
15332 "type" : "string"
15333 },
15334 "pid" : {
15335 "description" : "PID of running qemu process.",
15336 "optional" : 1,
15337 "type" : "integer"
15338 },
15339 "qmpstatus" : {
15340 "description" : "Qemu QMP agent status.",
15341 "optional" : 1,
15342 "type" : "string"
15343 },
15344 "spice" : {
15345 "description" : "Qemu VGA configuration supports spice.",
15346 "optional" : 1,
15347 "type" : "boolean"
15348 },
15349 "status" : {
15350 "description" : "Qemu process status.",
15351 "enum" : [
15352 "stopped",
15353 "running"
15354 ],
15355 "type" : "string"
15356 },
15357 "uptime" : {
15358 "description" : "Uptime.",
15359 "optional" : 1,
15360 "renderer" : "duration",
15361 "type" : "integer"
15362 },
15363 "vmid" : {
15364 "description" : "The (unique) ID of the VM.",
15365 "format" : "pve-vmid",
15366 "minimum" : 1,
15367 "type" : "integer"
15368 }
15369 },
15370 "type" : "object"
15371 }
15372 }
15373 },
15374 "leaf" : 1,
15375 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
15376 "text" : "current"
15377 },
15378 {
15379 "info" : {
15380 "POST" : {
15381 "description" : "Start virtual machine.",
15382 "method" : "POST",
15383 "name" : "vm_start",
15384 "parameters" : {
15385 "additionalProperties" : 0,
15386 "properties" : {
15387 "machine" : {
15388 "description" : "Specifies the Qemu machine type.",
15389 "maxLength" : 40,
15390 "optional" : 1,
e2d681b3 15391 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
4d47f125
TL
15392 "type" : "string"
15393 },
15394 "migratedfrom" : {
15395 "description" : "The cluster node name.",
15396 "format" : "pve-node",
15397 "optional" : 1,
15398 "type" : "string",
15399 "typetext" : "<string>"
15400 },
15401 "migration_network" : {
15402 "description" : "CIDR of the (sub) network that is used for migration.",
15403 "format" : "CIDR",
15404 "optional" : 1,
15405 "type" : "string",
15406 "typetext" : "<string>"
15407 },
15408 "migration_type" : {
15409 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
15410 "enum" : [
15411 "secure",
15412 "insecure"
15413 ],
15414 "optional" : 1,
15415 "type" : "string"
15416 },
15417 "node" : {
15418 "description" : "The cluster node name.",
15419 "format" : "pve-node",
15420 "type" : "string",
15421 "typetext" : "<string>"
15422 },
15423 "skiplock" : {
15424 "description" : "Ignore locks - only root is allowed to use this option.",
15425 "optional" : 1,
15426 "type" : "boolean",
15427 "typetext" : "<boolean>"
15428 },
15429 "stateuri" : {
15430 "description" : "Some command save/restore state from this location.",
15431 "maxLength" : 128,
15432 "optional" : 1,
15433 "type" : "string",
15434 "typetext" : "<string>"
15435 },
15436 "targetstorage" : {
15437 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
15438 "optional" : 1,
15439 "type" : "string",
15440 "typetext" : "<string>"
15441 },
15442 "vmid" : {
15443 "description" : "The (unique) ID of the VM.",
15444 "format" : "pve-vmid",
15445 "minimum" : 1,
15446 "type" : "integer",
15447 "typetext" : "<integer> (1 - N)"
15448 }
15449 }
15450 },
15451 "permissions" : {
15452 "check" : [
15453 "perm",
15454 "/vms/{vmid}",
15455 [
15456 "VM.PowerMgmt"
15457 ]
15458 ]
15459 },
15460 "protected" : 1,
15461 "proxyto" : "node",
15462 "returns" : {
15463 "type" : "string"
15464 }
15465 }
15466 },
15467 "leaf" : 1,
15468 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
15469 "text" : "start"
15470 },
15471 {
15472 "info" : {
15473 "POST" : {
15474 "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",
15475 "method" : "POST",
15476 "name" : "vm_stop",
15477 "parameters" : {
15478 "additionalProperties" : 0,
15479 "properties" : {
15480 "keepActive" : {
15481 "default" : 0,
15482 "description" : "Do not deactivate storage volumes.",
15483 "optional" : 1,
15484 "type" : "boolean",
15485 "typetext" : "<boolean>"
15486 },
15487 "migratedfrom" : {
15488 "description" : "The cluster node name.",
15489 "format" : "pve-node",
15490 "optional" : 1,
15491 "type" : "string",
15492 "typetext" : "<string>"
15493 },
15494 "node" : {
15495 "description" : "The cluster node name.",
15496 "format" : "pve-node",
15497 "type" : "string",
15498 "typetext" : "<string>"
15499 },
15500 "skiplock" : {
15501 "description" : "Ignore locks - only root is allowed to use this option.",
15502 "optional" : 1,
15503 "type" : "boolean",
15504 "typetext" : "<boolean>"
15505 },
15506 "timeout" : {
15507 "description" : "Wait maximal timeout seconds.",
15508 "minimum" : 0,
15509 "optional" : 1,
15510 "type" : "integer",
15511 "typetext" : "<integer> (0 - N)"
15512 },
15513 "vmid" : {
15514 "description" : "The (unique) ID of the VM.",
15515 "format" : "pve-vmid",
15516 "minimum" : 1,
15517 "type" : "integer",
15518 "typetext" : "<integer> (1 - N)"
15519 }
15520 }
15521 },
15522 "permissions" : {
15523 "check" : [
15524 "perm",
15525 "/vms/{vmid}",
15526 [
15527 "VM.PowerMgmt"
15528 ]
15529 ]
15530 },
15531 "protected" : 1,
15532 "proxyto" : "node",
15533 "returns" : {
15534 "type" : "string"
15535 }
15536 }
15537 },
15538 "leaf" : 1,
15539 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
15540 "text" : "stop"
15541 },
15542 {
15543 "info" : {
15544 "POST" : {
15545 "description" : "Reset virtual machine.",
15546 "method" : "POST",
15547 "name" : "vm_reset",
15548 "parameters" : {
15549 "additionalProperties" : 0,
15550 "properties" : {
15551 "node" : {
15552 "description" : "The cluster node name.",
15553 "format" : "pve-node",
15554 "type" : "string",
15555 "typetext" : "<string>"
15556 },
15557 "skiplock" : {
15558 "description" : "Ignore locks - only root is allowed to use this option.",
15559 "optional" : 1,
15560 "type" : "boolean",
15561 "typetext" : "<boolean>"
15562 },
15563 "vmid" : {
15564 "description" : "The (unique) ID of the VM.",
15565 "format" : "pve-vmid",
15566 "minimum" : 1,
15567 "type" : "integer",
15568 "typetext" : "<integer> (1 - N)"
15569 }
15570 }
15571 },
15572 "permissions" : {
15573 "check" : [
15574 "perm",
15575 "/vms/{vmid}",
15576 [
15577 "VM.PowerMgmt"
15578 ]
15579 ]
15580 },
15581 "protected" : 1,
15582 "proxyto" : "node",
15583 "returns" : {
15584 "type" : "string"
15585 }
15586 }
15587 },
15588 "leaf" : 1,
15589 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
15590 "text" : "reset"
15591 },
15592 {
15593 "info" : {
15594 "POST" : {
15595 "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.",
15596 "method" : "POST",
15597 "name" : "vm_shutdown",
15598 "parameters" : {
15599 "additionalProperties" : 0,
15600 "properties" : {
15601 "forceStop" : {
15602 "default" : 0,
15603 "description" : "Make sure the VM stops.",
15604 "optional" : 1,
15605 "type" : "boolean",
15606 "typetext" : "<boolean>"
15607 },
15608 "keepActive" : {
15609 "default" : 0,
15610 "description" : "Do not deactivate storage volumes.",
15611 "optional" : 1,
15612 "type" : "boolean",
15613 "typetext" : "<boolean>"
15614 },
15615 "node" : {
15616 "description" : "The cluster node name.",
15617 "format" : "pve-node",
15618 "type" : "string",
15619 "typetext" : "<string>"
15620 },
15621 "skiplock" : {
15622 "description" : "Ignore locks - only root is allowed to use this option.",
15623 "optional" : 1,
15624 "type" : "boolean",
15625 "typetext" : "<boolean>"
15626 },
15627 "timeout" : {
15628 "description" : "Wait maximal timeout seconds.",
15629 "minimum" : 0,
15630 "optional" : 1,
15631 "type" : "integer",
15632 "typetext" : "<integer> (0 - N)"
15633 },
15634 "vmid" : {
15635 "description" : "The (unique) ID of the VM.",
15636 "format" : "pve-vmid",
15637 "minimum" : 1,
15638 "type" : "integer",
15639 "typetext" : "<integer> (1 - N)"
15640 }
15641 }
15642 },
15643 "permissions" : {
15644 "check" : [
15645 "perm",
15646 "/vms/{vmid}",
15647 [
15648 "VM.PowerMgmt"
15649 ]
15650 ]
15651 },
15652 "protected" : 1,
15653 "proxyto" : "node",
15654 "returns" : {
15655 "type" : "string"
15656 }
15657 }
15658 },
15659 "leaf" : 1,
15660 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
15661 "text" : "shutdown"
15662 },
15663 {
15664 "info" : {
15665 "POST" : {
15666 "description" : "Suspend virtual machine.",
15667 "method" : "POST",
15668 "name" : "vm_suspend",
15669 "parameters" : {
15670 "additionalProperties" : 0,
15671 "properties" : {
15672 "node" : {
15673 "description" : "The cluster node name.",
15674 "format" : "pve-node",
15675 "type" : "string",
15676 "typetext" : "<string>"
15677 },
15678 "skiplock" : {
15679 "description" : "Ignore locks - only root is allowed to use this option.",
15680 "optional" : 1,
15681 "type" : "boolean",
15682 "typetext" : "<boolean>"
15683 },
95895385
TL
15684 "statestorage" : {
15685 "description" : "The storage for the VM state",
15686 "format" : "pve-storage-id",
15687 "optional" : 1,
15688 "requires" : "todisk",
15689 "type" : "string",
15690 "typetext" : "<string>"
15691 },
15692 "todisk" : {
15693 "default" : 0,
15694 "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.",
15695 "optional" : 1,
15696 "type" : "boolean",
15697 "typetext" : "<boolean>"
15698 },
4d47f125
TL
15699 "vmid" : {
15700 "description" : "The (unique) ID of the VM.",
15701 "format" : "pve-vmid",
15702 "minimum" : 1,
15703 "type" : "integer",
15704 "typetext" : "<integer> (1 - N)"
15705 }
15706 }
15707 },
15708 "permissions" : {
15709 "check" : [
15710 "perm",
15711 "/vms/{vmid}",
15712 [
15713 "VM.PowerMgmt"
15714 ]
15715 ]
15716 },
15717 "protected" : 1,
15718 "proxyto" : "node",
15719 "returns" : {
15720 "type" : "string"
15721 }
15722 }
15723 },
15724 "leaf" : 1,
15725 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
15726 "text" : "suspend"
15727 },
15728 {
15729 "info" : {
15730 "POST" : {
15731 "description" : "Resume virtual machine.",
15732 "method" : "POST",
15733 "name" : "vm_resume",
15734 "parameters" : {
15735 "additionalProperties" : 0,
15736 "properties" : {
15737 "nocheck" : {
15738 "optional" : 1,
15739 "type" : "boolean",
15740 "typetext" : "<boolean>"
15741 },
15742 "node" : {
15743 "description" : "The cluster node name.",
15744 "format" : "pve-node",
15745 "type" : "string",
15746 "typetext" : "<string>"
15747 },
15748 "skiplock" : {
15749 "description" : "Ignore locks - only root is allowed to use this option.",
15750 "optional" : 1,
15751 "type" : "boolean",
15752 "typetext" : "<boolean>"
15753 },
15754 "vmid" : {
15755 "description" : "The (unique) ID of the VM.",
15756 "format" : "pve-vmid",
15757 "minimum" : 1,
15758 "type" : "integer",
15759 "typetext" : "<integer> (1 - N)"
15760 }
15761 }
15762 },
15763 "permissions" : {
15764 "check" : [
15765 "perm",
15766 "/vms/{vmid}",
15767 [
15768 "VM.PowerMgmt"
15769 ]
15770 ]
15771 },
15772 "protected" : 1,
15773 "proxyto" : "node",
15774 "returns" : {
15775 "type" : "string"
15776 }
15777 }
15778 },
15779 "leaf" : 1,
15780 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
15781 "text" : "resume"
15782 }
15783 ],
15784 "info" : {
15785 "GET" : {
15786 "description" : "Directory index",
15787 "method" : "GET",
15788 "name" : "vmcmdidx",
15789 "parameters" : {
15790 "additionalProperties" : 0,
15791 "properties" : {
15792 "node" : {
15793 "description" : "The cluster node name.",
15794 "format" : "pve-node",
15795 "type" : "string",
15796 "typetext" : "<string>"
15797 },
15798 "vmid" : {
15799 "description" : "The (unique) ID of the VM.",
15800 "format" : "pve-vmid",
15801 "minimum" : 1,
15802 "type" : "integer",
15803 "typetext" : "<integer> (1 - N)"
15804 }
15805 }
15806 },
15807 "permissions" : {
15808 "user" : "all"
15809 },
15810 "proxyto" : "node",
15811 "returns" : {
15812 "items" : {
15813 "properties" : {
15814 "subdir" : {
15815 "type" : "string"
15816 }
15817 },
15818 "type" : "object"
15819 },
15820 "links" : [
15821 {
15822 "href" : "{subdir}",
15823 "rel" : "child"
15824 }
15825 ],
15826 "type" : "array"
15827 }
15828 }
15829 },
15830 "leaf" : 0,
15831 "path" : "/nodes/{node}/qemu/{vmid}/status",
15832 "text" : "status"
15833 },
15834 {
15835 "info" : {
15836 "PUT" : {
15837 "description" : "Send key event to virtual machine.",
15838 "method" : "PUT",
15839 "name" : "vm_sendkey",
15840 "parameters" : {
15841 "additionalProperties" : 0,
15842 "properties" : {
15843 "key" : {
15844 "description" : "The key (qemu monitor encoding).",
15845 "type" : "string",
15846 "typetext" : "<string>"
15847 },
15848 "node" : {
15849 "description" : "The cluster node name.",
15850 "format" : "pve-node",
15851 "type" : "string",
15852 "typetext" : "<string>"
15853 },
15854 "skiplock" : {
15855 "description" : "Ignore locks - only root is allowed to use this option.",
15856 "optional" : 1,
15857 "type" : "boolean",
15858 "typetext" : "<boolean>"
15859 },
15860 "vmid" : {
15861 "description" : "The (unique) ID of the VM.",
15862 "format" : "pve-vmid",
15863 "minimum" : 1,
15864 "type" : "integer",
15865 "typetext" : "<integer> (1 - N)"
15866 }
15867 }
15868 },
15869 "permissions" : {
15870 "check" : [
15871 "perm",
15872 "/vms/{vmid}",
15873 [
15874 "VM.Console"
15875 ]
15876 ]
15877 },
15878 "protected" : 1,
15879 "proxyto" : "node",
15880 "returns" : {
15881 "type" : "null"
15882 }
15883 }
15884 },
15885 "leaf" : 1,
15886 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
15887 "text" : "sendkey"
15888 },
15889 {
15890 "info" : {
15891 "GET" : {
15892 "description" : "Check if feature for virtual machine is available.",
15893 "method" : "GET",
15894 "name" : "vm_feature",
15895 "parameters" : {
15896 "additionalProperties" : 0,
15897 "properties" : {
15898 "feature" : {
15899 "description" : "Feature to check.",
15900 "enum" : [
15901 "snapshot",
15902 "clone",
15903 "copy"
15904 ],
15905 "type" : "string"
15906 },
15907 "node" : {
15908 "description" : "The cluster node name.",
15909 "format" : "pve-node",
15910 "type" : "string",
15911 "typetext" : "<string>"
15912 },
15913 "snapname" : {
15914 "description" : "The name of the snapshot.",
15915 "format" : "pve-configid",
15916 "maxLength" : 40,
15917 "optional" : 1,
15918 "type" : "string",
15919 "typetext" : "<string>"
15920 },
15921 "vmid" : {
15922 "description" : "The (unique) ID of the VM.",
15923 "format" : "pve-vmid",
15924 "minimum" : 1,
15925 "type" : "integer",
15926 "typetext" : "<integer> (1 - N)"
15927 }
15928 }
15929 },
15930 "permissions" : {
15931 "check" : [
15932 "perm",
15933 "/vms/{vmid}",
15934 [
15935 "VM.Audit"
15936 ]
15937 ]
15938 },
15939 "protected" : 1,
15940 "proxyto" : "node",
15941 "returns" : {
15942 "properties" : {
15943 "hasFeature" : {
15944 "type" : "boolean"
15945 },
15946 "nodes" : {
15947 "items" : {
15948 "type" : "string"
15949 },
15950 "type" : "array"
15951 }
15952 },
15953 "type" : "object"
15954 }
15955 }
15956 },
15957 "leaf" : 1,
15958 "path" : "/nodes/{node}/qemu/{vmid}/feature",
15959 "text" : "feature"
15960 },
15961 {
15962 "info" : {
15963 "POST" : {
15964 "description" : "Create a copy of virtual machine/template.",
15965 "method" : "POST",
15966 "name" : "clone_vm",
15967 "parameters" : {
15968 "additionalProperties" : 0,
15969 "properties" : {
95895385
TL
15970 "bwlimit" : {
15971 "default" : "clone limit from datacenter or storage config",
15972 "description" : "Override I/O bandwidth limit (in KiB/s).",
15973 "minimum" : "0",
15974 "optional" : 1,
15975 "type" : "integer",
15976 "typetext" : "<integer> (0 - N)"
15977 },
4d47f125
TL
15978 "description" : {
15979 "description" : "Description for the new VM.",
15980 "optional" : 1,
15981 "type" : "string",
15982 "typetext" : "<string>"
15983 },
15984 "format" : {
15985 "description" : "Target format for file storage. Only valid for full clone.",
15986 "enum" : [
15987 "raw",
15988 "qcow2",
15989 "vmdk"
15990 ],
15991 "optional" : 1,
15992 "type" : "string"
15993 },
15994 "full" : {
15995 "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.",
15996 "optional" : 1,
15997 "type" : "boolean",
15998 "typetext" : "<boolean>"
15999 },
16000 "name" : {
16001 "description" : "Set a name for the new VM.",
16002 "format" : "dns-name",
16003 "optional" : 1,
16004 "type" : "string",
16005 "typetext" : "<string>"
16006 },
16007 "newid" : {
16008 "description" : "VMID for the clone.",
16009 "format" : "pve-vmid",
16010 "minimum" : 1,
16011 "type" : "integer",
16012 "typetext" : "<integer> (1 - N)"
16013 },
16014 "node" : {
16015 "description" : "The cluster node name.",
16016 "format" : "pve-node",
16017 "type" : "string",
16018 "typetext" : "<string>"
16019 },
16020 "pool" : {
16021 "description" : "Add the new VM to the specified pool.",
16022 "format" : "pve-poolid",
16023 "optional" : 1,
16024 "type" : "string",
16025 "typetext" : "<string>"
16026 },
16027 "snapname" : {
16028 "description" : "The name of the snapshot.",
16029 "format" : "pve-configid",
16030 "maxLength" : 40,
16031 "optional" : 1,
16032 "type" : "string",
16033 "typetext" : "<string>"
16034 },
16035 "storage" : {
16036 "description" : "Target storage for full clone.",
16037 "format" : "pve-storage-id",
16038 "optional" : 1,
16039 "type" : "string",
16040 "typetext" : "<string>"
16041 },
16042 "target" : {
16043 "description" : "Target node. Only allowed if the original VM is on shared storage.",
16044 "format" : "pve-node",
16045 "optional" : 1,
16046 "type" : "string",
16047 "typetext" : "<string>"
16048 },
16049 "vmid" : {
16050 "description" : "The (unique) ID of the VM.",
16051 "format" : "pve-vmid",
16052 "minimum" : 1,
16053 "type" : "integer",
16054 "typetext" : "<integer> (1 - N)"
16055 }
16056 }
16057 },
16058 "permissions" : {
16059 "check" : [
16060 "and",
16061 [
16062 "perm",
16063 "/vms/{vmid}",
16064 [
16065 "VM.Clone"
16066 ]
16067 ],
16068 [
16069 "or",
16070 [
16071 "perm",
16072 "/vms/{newid}",
16073 [
16074 "VM.Allocate"
16075 ]
16076 ],
16077 [
16078 "perm",
16079 "/pool/{pool}",
16080 [
16081 "VM.Allocate"
16082 ],
16083 "require_param",
16084 "pool"
16085 ]
16086 ]
16087 ],
16088 "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."
16089 },
16090 "protected" : 1,
16091 "proxyto" : "node",
16092 "returns" : {
16093 "type" : "string"
16094 }
16095 }
16096 },
16097 "leaf" : 1,
16098 "path" : "/nodes/{node}/qemu/{vmid}/clone",
16099 "text" : "clone"
16100 },
16101 {
16102 "info" : {
16103 "POST" : {
16104 "description" : "Move volume to different storage.",
16105 "method" : "POST",
16106 "name" : "move_vm_disk",
16107 "parameters" : {
16108 "additionalProperties" : 0,
16109 "properties" : {
95895385
TL
16110 "bwlimit" : {
16111 "default" : "move limit from datacenter or storage config",
16112 "description" : "Override I/O bandwidth limit (in KiB/s).",
16113 "minimum" : "0",
16114 "optional" : 1,
16115 "type" : "integer",
16116 "typetext" : "<integer> (0 - N)"
16117 },
4d47f125
TL
16118 "delete" : {
16119 "default" : 0,
16120 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
16121 "optional" : 1,
16122 "type" : "boolean",
16123 "typetext" : "<boolean>"
16124 },
16125 "digest" : {
16126 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16127 "maxLength" : 40,
16128 "optional" : 1,
16129 "type" : "string",
16130 "typetext" : "<string>"
16131 },
16132 "disk" : {
16133 "description" : "The disk you want to move.",
16134 "enum" : [
16135 "ide0",
16136 "ide1",
16137 "ide2",
16138 "ide3",
16139 "scsi0",
16140 "scsi1",
16141 "scsi2",
16142 "scsi3",
16143 "scsi4",
16144 "scsi5",
16145 "scsi6",
16146 "scsi7",
16147 "scsi8",
16148 "scsi9",
16149 "scsi10",
16150 "scsi11",
16151 "scsi12",
16152 "scsi13",
16153 "virtio0",
16154 "virtio1",
16155 "virtio2",
16156 "virtio3",
16157 "virtio4",
16158 "virtio5",
16159 "virtio6",
16160 "virtio7",
16161 "virtio8",
16162 "virtio9",
16163 "virtio10",
16164 "virtio11",
16165 "virtio12",
16166 "virtio13",
16167 "virtio14",
16168 "virtio15",
16169 "sata0",
16170 "sata1",
16171 "sata2",
16172 "sata3",
16173 "sata4",
16174 "sata5",
16175 "efidisk0"
16176 ],
16177 "type" : "string"
16178 },
16179 "format" : {
16180 "description" : "Target Format.",
16181 "enum" : [
16182 "raw",
16183 "qcow2",
16184 "vmdk"
16185 ],
16186 "optional" : 1,
16187 "type" : "string"
16188 },
16189 "node" : {
16190 "description" : "The cluster node name.",
16191 "format" : "pve-node",
16192 "type" : "string",
16193 "typetext" : "<string>"
16194 },
16195 "storage" : {
16196 "description" : "Target storage.",
16197 "format" : "pve-storage-id",
16198 "type" : "string",
16199 "typetext" : "<string>"
16200 },
16201 "vmid" : {
16202 "description" : "The (unique) ID of the VM.",
16203 "format" : "pve-vmid",
16204 "minimum" : 1,
16205 "type" : "integer",
16206 "typetext" : "<integer> (1 - N)"
16207 }
16208 }
16209 },
16210 "permissions" : {
16211 "check" : [
16212 "and",
16213 [
16214 "perm",
16215 "/vms/{vmid}",
16216 [
16217 "VM.Config.Disk"
16218 ]
16219 ],
16220 [
16221 "perm",
16222 "/storage/{storage}",
16223 [
16224 "Datastore.AllocateSpace"
16225 ]
16226 ]
16227 ],
16228 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
16229 },
16230 "protected" : 1,
16231 "proxyto" : "node",
16232 "returns" : {
16233 "description" : "the task ID.",
16234 "type" : "string"
16235 }
16236 }
16237 },
16238 "leaf" : 1,
16239 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
16240 "text" : "move_disk"
16241 },
16242 {
16243 "info" : {
16244 "POST" : {
16245 "description" : "Migrate virtual machine. Creates a new migration task.",
16246 "method" : "POST",
16247 "name" : "migrate_vm",
16248 "parameters" : {
16249 "additionalProperties" : 0,
16250 "properties" : {
95895385
TL
16251 "bwlimit" : {
16252 "default" : "migrate limit from datacenter or storage config",
16253 "description" : "Override I/O bandwidth limit (in KiB/s).",
16254 "minimum" : "0",
16255 "optional" : 1,
16256 "type" : "integer",
16257 "typetext" : "<integer> (0 - N)"
16258 },
4d47f125
TL
16259 "force" : {
16260 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
16261 "optional" : 1,
16262 "type" : "boolean",
16263 "typetext" : "<boolean>"
16264 },
16265 "migration_network" : {
16266 "description" : "CIDR of the (sub) network that is used for migration.",
16267 "format" : "CIDR",
16268 "optional" : 1,
16269 "type" : "string",
16270 "typetext" : "<string>"
16271 },
16272 "migration_type" : {
16273 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
16274 "enum" : [
16275 "secure",
16276 "insecure"
16277 ],
16278 "optional" : 1,
16279 "type" : "string"
16280 },
16281 "node" : {
16282 "description" : "The cluster node name.",
16283 "format" : "pve-node",
16284 "type" : "string",
16285 "typetext" : "<string>"
16286 },
16287 "online" : {
16288 "description" : "Use online/live migration.",
16289 "optional" : 1,
16290 "type" : "boolean",
16291 "typetext" : "<boolean>"
16292 },
16293 "target" : {
16294 "description" : "Target node.",
16295 "format" : "pve-node",
16296 "type" : "string",
16297 "typetext" : "<string>"
16298 },
16299 "targetstorage" : {
16300 "description" : "Default target storage.",
16301 "format" : "pve-storage-id",
16302 "optional" : 1,
52e44c50
FG
16303 "type" : "string",
16304 "typetext" : "<string>"
16305 },
7aacca6f 16306 "vmid" : {
7aacca6f 16307 "description" : "The (unique) ID of the VM.",
44660702 16308 "format" : "pve-vmid",
7aacca6f 16309 "minimum" : 1,
4bd7df8b 16310 "type" : "integer",
013dc89f 16311 "typetext" : "<integer> (1 - N)"
52e44c50
FG
16312 },
16313 "with-local-disks" : {
16314 "description" : "Enable live storage migration for local disk",
16315 "optional" : 1,
16316 "type" : "boolean",
16317 "typetext" : "<boolean>"
56122987 16318 }
44660702
DM
16319 }
16320 },
16321 "permissions" : {
16322 "check" : [
16323 "perm",
16324 "/vms/{vmid}",
16325 [
16326 "VM.Migrate"
16327 ]
16328 ]
56122987
DM
16329 },
16330 "protected" : 1,
44660702
DM
16331 "proxyto" : "node",
16332 "returns" : {
16333 "description" : "the task ID.",
16334 "type" : "string"
16335 }
56122987 16336 }
7aacca6f 16337 },
44660702
DM
16338 "leaf" : 1,
16339 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 16340 "text" : "migrate"
56122987
DM
16341 },
16342 {
16343 "info" : {
16344 "POST" : {
44660702 16345 "description" : "Execute Qemu monitor commands.",
56122987 16346 "method" : "POST",
44660702 16347 "name" : "monitor",
56122987 16348 "parameters" : {
7aacca6f 16349 "additionalProperties" : 0,
56122987 16350 "properties" : {
44660702
DM
16351 "command" : {
16352 "description" : "The monitor command.",
013dc89f
DM
16353 "type" : "string",
16354 "typetext" : "<string>"
44660702 16355 },
56122987 16356 "node" : {
44660702 16357 "description" : "The cluster node name.",
7aacca6f 16358 "format" : "pve-node",
013dc89f
DM
16359 "type" : "string",
16360 "typetext" : "<string>"
56122987
DM
16361 },
16362 "vmid" : {
44660702 16363 "description" : "The (unique) ID of the VM.",
56122987 16364 "format" : "pve-vmid",
7aacca6f 16365 "minimum" : 1,
4bd7df8b 16366 "type" : "integer",
013dc89f 16367 "typetext" : "<integer> (1 - N)"
56122987 16368 }
7aacca6f 16369 }
56122987 16370 },
56122987
DM
16371 "permissions" : {
16372 "check" : [
16373 "perm",
16374 "/vms/{vmid}",
16375 [
16376 "VM.Monitor"
16377 ]
32d876b5
DM
16378 ],
16379 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 16380 },
44660702
DM
16381 "protected" : 1,
16382 "proxyto" : "node",
16383 "returns" : {
16384 "type" : "string"
16385 }
56122987 16386 }
44660702
DM
16387 },
16388 "leaf" : 1,
16389 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
16390 "text" : "monitor"
56122987
DM
16391 },
16392 {
56122987
DM
16393 "info" : {
16394 "PUT" : {
44660702
DM
16395 "description" : "Extend volume size.",
16396 "method" : "PUT",
16397 "name" : "resize_vm",
56122987 16398 "parameters" : {
44660702 16399 "additionalProperties" : 0,
56122987 16400 "properties" : {
44660702
DM
16401 "digest" : {
16402 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16403 "maxLength" : 40,
16404 "optional" : 1,
013dc89f
DM
16405 "type" : "string",
16406 "typetext" : "<string>"
56122987 16407 },
56122987
DM
16408 "disk" : {
16409 "description" : "The disk you want to resize.",
16410 "enum" : [
16411 "ide0",
16412 "ide1",
16413 "ide2",
16414 "ide3",
16415 "scsi0",
16416 "scsi1",
16417 "scsi2",
16418 "scsi3",
16419 "scsi4",
16420 "scsi5",
16421 "scsi6",
16422 "scsi7",
16423 "scsi8",
16424 "scsi9",
16425 "scsi10",
16426 "scsi11",
16427 "scsi12",
16428 "scsi13",
16429 "virtio0",
16430 "virtio1",
16431 "virtio2",
16432 "virtio3",
16433 "virtio4",
16434 "virtio5",
16435 "virtio6",
16436 "virtio7",
16437 "virtio8",
16438 "virtio9",
16439 "virtio10",
16440 "virtio11",
16441 "virtio12",
16442 "virtio13",
16443 "virtio14",
16444 "virtio15",
16445 "sata0",
16446 "sata1",
16447 "sata2",
16448 "sata3",
16449 "sata4",
2c0dde61
DM
16450 "sata5",
16451 "efidisk0"
44660702
DM
16452 ],
16453 "type" : "string"
56122987 16454 },
44660702
DM
16455 "node" : {
16456 "description" : "The cluster node name.",
16457 "format" : "pve-node",
013dc89f
DM
16458 "type" : "string",
16459 "typetext" : "<string>"
7aacca6f 16460 },
44660702 16461 "size" : {
5d9c884c 16462 "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
16463 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
16464 "type" : "string"
56122987
DM
16465 },
16466 "skiplock" : {
16467 "description" : "Ignore locks - only root is allowed to use this option.",
16468 "optional" : 1,
013dc89f
DM
16469 "type" : "boolean",
16470 "typetext" : "<boolean>"
56122987
DM
16471 },
16472 "vmid" : {
7aacca6f 16473 "description" : "The (unique) ID of the VM.",
56122987 16474 "format" : "pve-vmid",
44660702 16475 "minimum" : 1,
4bd7df8b 16476 "type" : "integer",
013dc89f 16477 "typetext" : "<integer> (1 - N)"
56122987
DM
16478 }
16479 }
16480 },
16481 "permissions" : {
16482 "check" : [
16483 "perm",
16484 "/vms/{vmid}",
16485 [
44660702 16486 "VM.Config.Disk"
56122987
DM
16487 ]
16488 ]
16489 },
7aacca6f 16490 "protected" : 1,
7aacca6f 16491 "proxyto" : "node",
44660702
DM
16492 "returns" : {
16493 "type" : "null"
16494 }
7aacca6f
DM
16495 }
16496 },
44660702
DM
16497 "leaf" : 1,
16498 "path" : "/nodes/{node}/qemu/{vmid}/resize",
16499 "text" : "resize"
16500 },
16501 {
56122987
DM
16502 "children" : [
16503 {
16504 "children" : [
16505 {
56122987 16506 "info" : {
44660702
DM
16507 "GET" : {
16508 "description" : "Get snapshot configuration",
16509 "method" : "GET",
16510 "name" : "get_snapshot_config",
56122987 16511 "parameters" : {
44660702 16512 "additionalProperties" : 0,
56122987 16513 "properties" : {
56122987 16514 "node" : {
44660702 16515 "description" : "The cluster node name.",
56122987 16516 "format" : "pve-node",
013dc89f
DM
16517 "type" : "string",
16518 "typetext" : "<string>"
7aacca6f
DM
16519 },
16520 "snapname" : {
44660702 16521 "description" : "The name of the snapshot.",
7aacca6f 16522 "format" : "pve-configid",
44660702 16523 "maxLength" : 40,
013dc89f
DM
16524 "type" : "string",
16525 "typetext" : "<string>"
7aacca6f
DM
16526 },
16527 "vmid" : {
44660702 16528 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16529 "format" : "pve-vmid",
16530 "minimum" : 1,
4bd7df8b 16531 "type" : "integer",
013dc89f 16532 "typetext" : "<integer> (1 - N)"
56122987 16533 }
44660702 16534 }
56122987
DM
16535 },
16536 "permissions" : {
16537 "check" : [
16538 "perm",
16539 "/vms/{vmid}",
16540 [
2489d6df
WB
16541 "VM.Snapshot",
16542 "VM.Snapshot.Rollback"
16543 ],
16544 "any",
16545 1
56122987
DM
16546 ]
16547 },
44660702 16548 "proxyto" : "node",
56122987 16549 "returns" : {
44660702 16550 "type" : "object"
7aacca6f
DM
16551 }
16552 },
44660702
DM
16553 "PUT" : {
16554 "description" : "Update snapshot metadata.",
16555 "method" : "PUT",
16556 "name" : "update_snapshot_config",
56122987 16557 "parameters" : {
44660702 16558 "additionalProperties" : 0,
56122987 16559 "properties" : {
44660702
DM
16560 "description" : {
16561 "description" : "A textual description or comment.",
16562 "optional" : 1,
013dc89f
DM
16563 "type" : "string",
16564 "typetext" : "<string>"
44660702 16565 },
56122987 16566 "node" : {
7aacca6f 16567 "description" : "The cluster node name.",
44660702 16568 "format" : "pve-node",
013dc89f
DM
16569 "type" : "string",
16570 "typetext" : "<string>"
56122987 16571 },
56122987
DM
16572 "snapname" : {
16573 "description" : "The name of the snapshot.",
44660702 16574 "format" : "pve-configid",
7aacca6f 16575 "maxLength" : 40,
013dc89f
DM
16576 "type" : "string",
16577 "typetext" : "<string>"
7aacca6f
DM
16578 },
16579 "vmid" : {
16580 "description" : "The (unique) ID of the VM.",
44660702 16581 "format" : "pve-vmid",
7aacca6f 16582 "minimum" : 1,
4bd7df8b 16583 "type" : "integer",
013dc89f 16584 "typetext" : "<integer> (1 - N)"
56122987 16585 }
44660702 16586 }
56122987 16587 },
7aacca6f
DM
16588 "permissions" : {
16589 "check" : [
16590 "perm",
16591 "/vms/{vmid}",
16592 [
16593 "VM.Snapshot"
16594 ]
16595 ]
44660702
DM
16596 },
16597 "protected" : 1,
16598 "proxyto" : "node",
16599 "returns" : {
16600 "type" : "null"
7aacca6f 16601 }
56122987
DM
16602 }
16603 },
44660702 16604 "leaf" : 1,
7aacca6f 16605 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 16606 "text" : "config"
56122987
DM
16607 },
16608 {
56122987
DM
16609 "info" : {
16610 "POST" : {
44660702 16611 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 16612 "method" : "POST",
44660702 16613 "name" : "rollback",
56122987
DM
16614 "parameters" : {
16615 "additionalProperties" : 0,
16616 "properties" : {
44660702
DM
16617 "node" : {
16618 "description" : "The cluster node name.",
16619 "format" : "pve-node",
013dc89f
DM
16620 "type" : "string",
16621 "typetext" : "<string>"
44660702 16622 },
56122987 16623 "snapname" : {
44660702 16624 "description" : "The name of the snapshot.",
56122987
DM
16625 "format" : "pve-configid",
16626 "maxLength" : 40,
013dc89f
DM
16627 "type" : "string",
16628 "typetext" : "<string>"
7aacca6f 16629 },
56122987 16630 "vmid" : {
7aacca6f 16631 "description" : "The (unique) ID of the VM.",
44660702 16632 "format" : "pve-vmid",
56122987 16633 "minimum" : 1,
4bd7df8b 16634 "type" : "integer",
013dc89f 16635 "typetext" : "<integer> (1 - N)"
56122987
DM
16636 }
16637 }
16638 },
7aacca6f 16639 "permissions" : {
56122987
DM
16640 "check" : [
16641 "perm",
16642 "/vms/{vmid}",
16643 [
2489d6df
WB
16644 "VM.Snapshot",
16645 "VM.Snapshot.Rollback"
16646 ],
16647 "any",
16648 1
56122987
DM
16649 ]
16650 },
44660702 16651 "protected" : 1,
7aacca6f 16652 "proxyto" : "node",
44660702
DM
16653 "returns" : {
16654 "description" : "the task ID.",
16655 "type" : "string"
16656 }
56122987
DM
16657 }
16658 },
44660702
DM
16659 "leaf" : 1,
16660 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 16661 "text" : "rollback"
56122987 16662 }
44660702
DM
16663 ],
16664 "info" : {
16665 "DELETE" : {
16666 "description" : "Delete a VM snapshot.",
16667 "method" : "DELETE",
16668 "name" : "delsnapshot",
16669 "parameters" : {
16670 "additionalProperties" : 0,
16671 "properties" : {
16672 "force" : {
16673 "description" : "For removal from config file, even if removing disk snapshots fails.",
16674 "optional" : 1,
013dc89f
DM
16675 "type" : "boolean",
16676 "typetext" : "<boolean>"
44660702
DM
16677 },
16678 "node" : {
16679 "description" : "The cluster node name.",
16680 "format" : "pve-node",
013dc89f
DM
16681 "type" : "string",
16682 "typetext" : "<string>"
44660702
DM
16683 },
16684 "snapname" : {
16685 "description" : "The name of the snapshot.",
16686 "format" : "pve-configid",
16687 "maxLength" : 40,
013dc89f
DM
16688 "type" : "string",
16689 "typetext" : "<string>"
44660702
DM
16690 },
16691 "vmid" : {
16692 "description" : "The (unique) ID of the VM.",
16693 "format" : "pve-vmid",
16694 "minimum" : 1,
4bd7df8b 16695 "type" : "integer",
013dc89f 16696 "typetext" : "<integer> (1 - N)"
44660702
DM
16697 }
16698 }
16699 },
16700 "permissions" : {
16701 "check" : [
16702 "perm",
16703 "/vms/{vmid}",
16704 [
16705 "VM.Snapshot"
16706 ]
16707 ]
16708 },
16709 "protected" : 1,
16710 "proxyto" : "node",
16711 "returns" : {
16712 "description" : "the task ID.",
16713 "type" : "string"
16714 }
16715 },
16716 "GET" : {
16717 "description" : "",
16718 "method" : "GET",
16719 "name" : "snapshot_cmd_idx",
16720 "parameters" : {
16721 "additionalProperties" : 0,
16722 "properties" : {
16723 "node" : {
16724 "description" : "The cluster node name.",
16725 "format" : "pve-node",
013dc89f
DM
16726 "type" : "string",
16727 "typetext" : "<string>"
44660702
DM
16728 },
16729 "snapname" : {
16730 "description" : "The name of the snapshot.",
16731 "format" : "pve-configid",
16732 "maxLength" : 40,
013dc89f
DM
16733 "type" : "string",
16734 "typetext" : "<string>"
44660702
DM
16735 },
16736 "vmid" : {
16737 "description" : "The (unique) ID of the VM.",
16738 "format" : "pve-vmid",
16739 "minimum" : 1,
4bd7df8b 16740 "type" : "integer",
013dc89f 16741 "typetext" : "<integer> (1 - N)"
44660702
DM
16742 }
16743 }
16744 },
16745 "permissions" : {
16746 "user" : "all"
16747 },
16748 "returns" : {
16749 "items" : {
16750 "properties" : {},
16751 "type" : "object"
16752 },
16753 "links" : [
16754 {
16755 "href" : "{cmd}",
16756 "rel" : "child"
16757 }
16758 ],
16759 "type" : "array"
16760 }
16761 }
16762 },
16763 "leaf" : 0,
16764 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
16765 "text" : "{snapname}"
56122987
DM
16766 }
16767 ],
44660702
DM
16768 "info" : {
16769 "GET" : {
16770 "description" : "List all snapshots.",
16771 "method" : "GET",
16772 "name" : "snapshot_list",
16773 "parameters" : {
16774 "additionalProperties" : 0,
16775 "properties" : {
16776 "node" : {
16777 "description" : "The cluster node name.",
16778 "format" : "pve-node",
013dc89f
DM
16779 "type" : "string",
16780 "typetext" : "<string>"
44660702
DM
16781 },
16782 "vmid" : {
16783 "description" : "The (unique) ID of the VM.",
16784 "format" : "pve-vmid",
16785 "minimum" : 1,
4bd7df8b 16786 "type" : "integer",
013dc89f 16787 "typetext" : "<integer> (1 - N)"
44660702
DM
16788 }
16789 }
16790 },
16791 "permissions" : {
16792 "check" : [
16793 "perm",
16794 "/vms/{vmid}",
16795 [
16796 "VM.Audit"
16797 ]
16798 ]
16799 },
16800 "protected" : 1,
16801 "proxyto" : "node",
16802 "returns" : {
16803 "items" : {
4d47f125
TL
16804 "properties" : {
16805 "description" : {
16806 "description" : "Snapshot description.",
16807 "type" : "string"
16808 },
16809 "name" : {
16810 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
16811 "type" : "string"
16812 },
16813 "parent" : {
16814 "description" : "Parent snapshot identifier.",
16815 "optional" : 1,
16816 "type" : "string"
16817 },
16818 "snaptime" : {
16819 "description" : "Snapshot creation time",
16820 "optional" : 1,
16821 "renderer" : "timestamp",
16822 "type" : "integer"
16823 },
16824 "vmstate" : {
16825 "description" : "Snapshot includes RAM.",
16826 "optional" : 1,
16827 "type" : "boolean"
16828 }
16829 },
44660702
DM
16830 "type" : "object"
16831 },
16832 "links" : [
16833 {
16834 "href" : "{name}",
16835 "rel" : "child"
16836 }
16837 ],
16838 "type" : "array"
16839 }
16840 },
16841 "POST" : {
16842 "description" : "Snapshot a VM.",
16843 "method" : "POST",
16844 "name" : "snapshot",
16845 "parameters" : {
16846 "additionalProperties" : 0,
16847 "properties" : {
16848 "description" : {
16849 "description" : "A textual description or comment.",
16850 "optional" : 1,
013dc89f
DM
16851 "type" : "string",
16852 "typetext" : "<string>"
44660702
DM
16853 },
16854 "node" : {
16855 "description" : "The cluster node name.",
16856 "format" : "pve-node",
013dc89f
DM
16857 "type" : "string",
16858 "typetext" : "<string>"
44660702
DM
16859 },
16860 "snapname" : {
16861 "description" : "The name of the snapshot.",
16862 "format" : "pve-configid",
16863 "maxLength" : 40,
013dc89f
DM
16864 "type" : "string",
16865 "typetext" : "<string>"
44660702
DM
16866 },
16867 "vmid" : {
16868 "description" : "The (unique) ID of the VM.",
16869 "format" : "pve-vmid",
16870 "minimum" : 1,
4bd7df8b 16871 "type" : "integer",
013dc89f 16872 "typetext" : "<integer> (1 - N)"
44660702
DM
16873 },
16874 "vmstate" : {
16875 "description" : "Save the vmstate",
16876 "optional" : 1,
013dc89f
DM
16877 "type" : "boolean",
16878 "typetext" : "<boolean>"
44660702
DM
16879 }
16880 }
16881 },
16882 "permissions" : {
16883 "check" : [
16884 "perm",
16885 "/vms/{vmid}",
16886 [
16887 "VM.Snapshot"
16888 ]
16889 ]
16890 },
16891 "protected" : 1,
16892 "proxyto" : "node",
16893 "returns" : {
16894 "description" : "the task ID.",
16895 "type" : "string"
16896 }
16897 }
16898 },
16899 "leaf" : 0,
16900 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 16901 "text" : "snapshot"
56122987
DM
16902 },
16903 {
56122987
DM
16904 "info" : {
16905 "POST" : {
44660702
DM
16906 "description" : "Create a Template.",
16907 "method" : "POST",
56122987 16908 "name" : "template",
56122987 16909 "parameters" : {
7aacca6f 16910 "additionalProperties" : 0,
56122987 16911 "properties" : {
56122987 16912 "disk" : {
56122987
DM
16913 "description" : "If you want to convert only 1 disk to base image.",
16914 "enum" : [
16915 "ide0",
16916 "ide1",
16917 "ide2",
16918 "ide3",
16919 "scsi0",
16920 "scsi1",
16921 "scsi2",
16922 "scsi3",
16923 "scsi4",
16924 "scsi5",
16925 "scsi6",
16926 "scsi7",
16927 "scsi8",
16928 "scsi9",
16929 "scsi10",
16930 "scsi11",
16931 "scsi12",
16932 "scsi13",
16933 "virtio0",
16934 "virtio1",
16935 "virtio2",
16936 "virtio3",
16937 "virtio4",
16938 "virtio5",
16939 "virtio6",
16940 "virtio7",
16941 "virtio8",
16942 "virtio9",
16943 "virtio10",
16944 "virtio11",
16945 "virtio12",
16946 "virtio13",
16947 "virtio14",
16948 "virtio15",
16949 "sata0",
16950 "sata1",
16951 "sata2",
16952 "sata3",
16953 "sata4",
2c0dde61
DM
16954 "sata5",
16955 "efidisk0"
56122987 16956 ],
7aacca6f 16957 "optional" : 1,
56122987
DM
16958 "type" : "string"
16959 },
44660702
DM
16960 "node" : {
16961 "description" : "The cluster node name.",
16962 "format" : "pve-node",
013dc89f
DM
16963 "type" : "string",
16964 "typetext" : "<string>"
44660702
DM
16965 },
16966 "vmid" : {
16967 "description" : "The (unique) ID of the VM.",
7aacca6f 16968 "format" : "pve-vmid",
44660702 16969 "minimum" : 1,
4bd7df8b 16970 "type" : "integer",
013dc89f 16971 "typetext" : "<integer> (1 - N)"
56122987 16972 }
7aacca6f 16973 }
56122987 16974 },
7aacca6f
DM
16975 "permissions" : {
16976 "check" : [
16977 "perm",
16978 "/vms/{vmid}",
16979 [
16980 "VM.Allocate"
16981 ]
16982 ],
16983 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
16984 },
44660702 16985 "protected" : 1,
7aacca6f 16986 "proxyto" : "node",
7aacca6f
DM
16987 "returns" : {
16988 "type" : "null"
16989 }
56122987
DM
16990 }
16991 },
44660702 16992 "leaf" : 1,
7aacca6f 16993 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 16994 "text" : "template"
56122987
DM
16995 }
16996 ],
7aacca6f 16997 "info" : {
44660702
DM
16998 "DELETE" : {
16999 "description" : "Destroy the vm (also delete all used/owned volumes).",
17000 "method" : "DELETE",
17001 "name" : "destroy_vm",
7aacca6f 17002 "parameters" : {
44660702 17003 "additionalProperties" : 0,
7aacca6f
DM
17004 "properties" : {
17005 "node" : {
44660702 17006 "description" : "The cluster node name.",
7aacca6f 17007 "format" : "pve-node",
013dc89f
DM
17008 "type" : "string",
17009 "typetext" : "<string>"
44660702
DM
17010 },
17011 "skiplock" : {
17012 "description" : "Ignore locks - only root is allowed to use this option.",
17013 "optional" : 1,
013dc89f
DM
17014 "type" : "boolean",
17015 "typetext" : "<boolean>"
7aacca6f
DM
17016 },
17017 "vmid" : {
44660702 17018 "description" : "The (unique) ID of the VM.",
7aacca6f 17019 "format" : "pve-vmid",
44660702 17020 "minimum" : 1,
4bd7df8b 17021 "type" : "integer",
013dc89f 17022 "typetext" : "<integer> (1 - N)"
7aacca6f 17023 }
44660702 17024 }
7aacca6f 17025 },
7aacca6f
DM
17026 "permissions" : {
17027 "check" : [
17028 "perm",
17029 "/vms/{vmid}",
17030 [
17031 "VM.Allocate"
17032 ]
17033 ]
17034 },
44660702
DM
17035 "protected" : 1,
17036 "proxyto" : "node",
7aacca6f
DM
17037 "returns" : {
17038 "type" : "string"
44660702
DM
17039 }
17040 },
17041 "GET" : {
17042 "description" : "Directory index",
17043 "method" : "GET",
17044 "name" : "vmdiridx",
7aacca6f 17045 "parameters" : {
44660702 17046 "additionalProperties" : 0,
7aacca6f 17047 "properties" : {
7aacca6f 17048 "node" : {
7aacca6f 17049 "description" : "The cluster node name.",
44660702 17050 "format" : "pve-node",
013dc89f
DM
17051 "type" : "string",
17052 "typetext" : "<string>"
44660702
DM
17053 },
17054 "vmid" : {
17055 "description" : "The (unique) ID of the VM.",
17056 "format" : "pve-vmid",
17057 "minimum" : 1,
4bd7df8b 17058 "type" : "integer",
013dc89f 17059 "typetext" : "<integer> (1 - N)"
7aacca6f 17060 }
44660702 17061 }
7aacca6f 17062 },
44660702
DM
17063 "permissions" : {
17064 "user" : "all"
17065 },
17066 "proxyto" : "node",
17067 "returns" : {
17068 "items" : {
17069 "properties" : {
17070 "subdir" : {
17071 "type" : "string"
17072 }
17073 },
17074 "type" : "object"
17075 },
17076 "links" : [
17077 {
17078 "href" : "{subdir}",
17079 "rel" : "child"
17080 }
17081 ],
17082 "type" : "array"
17083 }
7aacca6f 17084 }
44660702
DM
17085 },
17086 "leaf" : 0,
17087 "path" : "/nodes/{node}/qemu/{vmid}",
17088 "text" : "{vmid}"
56122987
DM
17089 }
17090 ],
17091 "info" : {
44660702
DM
17092 "GET" : {
17093 "description" : "Virtual machine index (per node).",
17094 "method" : "GET",
17095 "name" : "vmlist",
56122987 17096 "parameters" : {
44660702 17097 "additionalProperties" : 0,
56122987 17098 "properties" : {
44660702
DM
17099 "full" : {
17100 "description" : "Determine the full status of active VMs.",
56122987 17101 "optional" : 1,
013dc89f
DM
17102 "type" : "boolean",
17103 "typetext" : "<boolean>"
56122987 17104 },
44660702
DM
17105 "node" : {
17106 "description" : "The cluster node name.",
17107 "format" : "pve-node",
013dc89f
DM
17108 "type" : "string",
17109 "typetext" : "<string>"
44660702
DM
17110 }
17111 }
17112 },
17113 "permissions" : {
17114 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
17115 "user" : "all"
17116 },
17117 "protected" : 1,
17118 "proxyto" : "node",
17119 "returns" : {
17120 "items" : {
4d47f125
TL
17121 "properties" : {
17122 "cpus" : {
17123 "description" : "Maximum usable CPUs.",
17124 "optional" : 1,
17125 "type" : "number"
17126 },
95895385
TL
17127 "lock" : {
17128 "description" : "The current config lock, if any.",
17129 "optional" : 1,
17130 "type" : "string"
17131 },
4d47f125
TL
17132 "maxdisk" : {
17133 "description" : "Root disk size in bytes.",
17134 "optional" : 1,
17135 "renderer" : "bytes",
17136 "type" : "integer"
17137 },
17138 "maxmem" : {
17139 "description" : "Maximum memory in bytes.",
17140 "optional" : 1,
17141 "renderer" : "bytes",
17142 "type" : "integer"
17143 },
17144 "name" : {
17145 "description" : "VM name.",
17146 "optional" : 1,
17147 "type" : "string"
17148 },
17149 "pid" : {
17150 "description" : "PID of running qemu process.",
17151 "optional" : 1,
17152 "type" : "integer"
17153 },
17154 "qmpstatus" : {
17155 "description" : "Qemu QMP agent status.",
17156 "optional" : 1,
17157 "type" : "string"
17158 },
17159 "status" : {
17160 "description" : "Qemu process status.",
17161 "enum" : [
17162 "stopped",
17163 "running"
17164 ],
17165 "type" : "string"
17166 },
17167 "uptime" : {
17168 "description" : "Uptime.",
17169 "optional" : 1,
17170 "renderer" : "duration",
17171 "type" : "integer"
17172 },
17173 "vmid" : {
17174 "description" : "The (unique) ID of the VM.",
17175 "format" : "pve-vmid",
17176 "minimum" : 1,
17177 "type" : "integer"
17178 }
17179 },
44660702
DM
17180 "type" : "object"
17181 },
17182 "links" : [
17183 {
17184 "href" : "{vmid}",
17185 "rel" : "child"
17186 }
17187 ],
17188 "type" : "array"
17189 }
17190 },
17191 "POST" : {
17192 "description" : "Create or restore a virtual machine.",
17193 "method" : "POST",
17194 "name" : "create_vm",
17195 "parameters" : {
17196 "additionalProperties" : 0,
17197 "properties" : {
7aacca6f 17198 "acpi" : {
7aacca6f 17199 "default" : 1,
44660702 17200 "description" : "Enable/disable ACPI.",
56122987 17201 "optional" : 1,
013dc89f
DM
17202 "type" : "boolean",
17203 "typetext" : "<boolean>"
56122987 17204 },
44660702 17205 "agent" : {
4d47f125
TL
17206 "description" : "Enable/disable Qemu GuestAgent and its properties.",
17207 "format" : {
17208 "enabled" : {
17209 "default" : 0,
17210 "default_key" : 1,
17211 "description" : "Enable/disable Qemu GuestAgent.",
17212 "type" : "boolean"
17213 },
17214 "fstrim_cloned_disks" : {
17215 "default" : 0,
17216 "description" : "Run fstrim after cloning/moving a disk.",
17217 "optional" : 1,
17218 "type" : "boolean"
17219 }
17220 },
7aacca6f 17221 "optional" : 1,
4d47f125
TL
17222 "type" : "string",
17223 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 17224 },
e2d681b3
TL
17225 "arch" : {
17226 "description" : "Virtual processor architecture. Defaults to the host.",
17227 "enum" : [
17228 "x86_64",
17229 "aarch64"
17230 ],
17231 "optional" : 1,
17232 "type" : "string"
17233 },
44660702
DM
17234 "archive" : {
17235 "description" : "The backup file.",
17236 "maxLength" : 255,
56122987 17237 "optional" : 1,
013dc89f
DM
17238 "type" : "string",
17239 "typetext" : "<string>"
56122987 17240 },
44660702 17241 "args" : {
c2993fe5 17242 "description" : "Arbitrary arguments passed to kvm.",
56122987 17243 "optional" : 1,
c2993fe5 17244 "type" : "string",
013dc89f 17245 "typetext" : "<string>",
c2993fe5 17246 "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 17247 },
44660702 17248 "autostart" : {
7aacca6f 17249 "default" : 0,
44660702
DM
17250 "description" : "Automatic restart after crash (currently ignored).",
17251 "optional" : 1,
013dc89f
DM
17252 "type" : "boolean",
17253 "typetext" : "<boolean>"
7aacca6f 17254 },
44660702
DM
17255 "balloon" : {
17256 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
17257 "minimum" : 0,
56122987 17258 "optional" : 1,
4bd7df8b 17259 "type" : "integer",
013dc89f 17260 "typetext" : "<integer> (0 - N)"
56122987 17261 },
44660702
DM
17262 "bios" : {
17263 "default" : "seabios",
17264 "description" : "Select BIOS implementation.",
17265 "enum" : [
17266 "seabios",
17267 "ovmf"
17268 ],
56122987 17269 "optional" : 1,
44660702 17270 "type" : "string"
56122987 17271 },
44660702
DM
17272 "boot" : {
17273 "default" : "cdn",
17274 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 17275 "optional" : 1,
44660702
DM
17276 "pattern" : "[acdn]{1,4}",
17277 "type" : "string"
56122987 17278 },
7aacca6f
DM
17279 "bootdisk" : {
17280 "description" : "Enable booting from specified disk.",
44660702
DM
17281 "format" : "pve-qm-bootdisk",
17282 "optional" : 1,
7aacca6f 17283 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
17284 "type" : "string"
17285 },
27a7acb2 17286 "bwlimit" : {
95895385
TL
17287 "default" : "restore limit from datacenter or storage config",
17288 "description" : "Override I/O bandwidth limit (in KiB/s).",
27a7acb2
DM
17289 "minimum" : "0",
17290 "optional" : 1,
17291 "type" : "integer",
17292 "typetext" : "<integer> (0 - N)"
17293 },
44660702
DM
17294 "cdrom" : {
17295 "description" : "This is an alias for option -ide2",
de0983cb 17296 "format" : "pve-qm-ide",
56122987 17297 "optional" : 1,
44660702 17298 "type" : "string",
013dc89f 17299 "typetext" : "<volume>"
56122987 17300 },
95895385
TL
17301 "cicustom" : {
17302 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
17303 "format" : "pve-qm-cicustom",
17304 "optional" : 1,
17305 "type" : "string",
17306 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
17307 },
27a7acb2
DM
17308 "cipassword" : {
17309 "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.",
17310 "optional" : 1,
17311 "type" : "string",
17312 "typetext" : "<string>"
17313 },
17314 "citype" : {
17315 "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.",
17316 "enum" : [
17317 "configdrive2",
17318 "nocloud"
17319 ],
17320 "optional" : 1,
17321 "type" : "string"
17322 },
17323 "ciuser" : {
17324 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
17325 "optional" : 1,
17326 "type" : "string",
17327 "typetext" : "<string>"
17328 },
44660702
DM
17329 "cores" : {
17330 "default" : 1,
17331 "description" : "The number of cores per socket.",
7aacca6f 17332 "minimum" : 1,
44660702 17333 "optional" : 1,
4bd7df8b 17334 "type" : "integer",
013dc89f 17335 "typetext" : "<integer> (1 - N)"
7aacca6f 17336 },
44660702
DM
17337 "cpu" : {
17338 "description" : "Emulated CPU type.",
17339 "format" : {
17340 "cputype" : {
17341 "default" : "kvm64",
17342 "default_key" : 1,
17343 "description" : "Emulated CPU type.",
17344 "enum" : [
17345 "486",
17346 "athlon",
f004f5b9 17347 "Broadwell",
35a75dd3 17348 "Broadwell-IBRS",
f004f5b9 17349 "Broadwell-noTSX",
35a75dd3 17350 "Broadwell-noTSX-IBRS",
f004f5b9 17351 "Conroe",
44660702 17352 "core2duo",
f004f5b9 17353 "coreduo",
27a7acb2
DM
17354 "EPYC",
17355 "EPYC-IBPB",
f004f5b9 17356 "Haswell",
35a75dd3 17357 "Haswell-IBRS",
f004f5b9 17358 "Haswell-noTSX",
35a75dd3 17359 "Haswell-noTSX-IBRS",
f004f5b9
DM
17360 "host",
17361 "IvyBridge",
35a75dd3 17362 "IvyBridge-IBRS",
44660702
DM
17363 "kvm32",
17364 "kvm64",
35a75dd3 17365 "max",
44660702 17366 "Nehalem",
35a75dd3 17367 "Nehalem-IBRS",
44660702
DM
17368 "Opteron_G1",
17369 "Opteron_G2",
17370 "Opteron_G3",
17371 "Opteron_G4",
17372 "Opteron_G5",
f004f5b9
DM
17373 "Penryn",
17374 "pentium",
17375 "pentium2",
17376 "pentium3",
17377 "phenom",
17378 "qemu32",
17379 "qemu64",
17380 "SandyBridge",
35a75dd3 17381 "SandyBridge-IBRS",
5d9c884c 17382 "Skylake-Client",
35a75dd3
DM
17383 "Skylake-Client-IBRS",
17384 "Skylake-Server",
17385 "Skylake-Server-IBRS",
17386 "Westmere",
17387 "Westmere-IBRS"
44660702 17388 ],
44660702
DM
17389 "type" : "string"
17390 },
35a75dd3 17391 "flags" : {
4d47f125 17392 "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'.",
35a75dd3
DM
17393 "format_description" : "+FLAG[;-FLAG...]",
17394 "optional" : 1,
4d47f125 17395 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
35a75dd3
DM
17396 "type" : "string"
17397 },
44660702
DM
17398 "hidden" : {
17399 "default" : 0,
17400 "description" : "Do not identify as a KVM virtual machine.",
17401 "optional" : 1,
17402 "type" : "boolean"
5f26e15b
TL
17403 },
17404 "hv-vendor-id" : {
17405 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
17406 "format_description" : "vendor-id",
17407 "optional" : 1,
17408 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
17409 "type" : "string"
44660702
DM
17410 }
17411 },
56122987 17412 "optional" : 1,
4bd7df8b 17413 "type" : "string",
5f26e15b 17414 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
56122987 17415 },
44660702 17416 "cpulimit" : {
7aacca6f 17417 "default" : 0,
c2993fe5 17418 "description" : "Limit of CPU usage.",
44660702
DM
17419 "maximum" : 128,
17420 "minimum" : 0,
7aacca6f 17421 "optional" : 1,
c2993fe5 17422 "type" : "number",
013dc89f 17423 "typetext" : "<number> (0 - 128)",
c2993fe5 17424 "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
17425 },
17426 "cpuunits" : {
de0983cb 17427 "default" : 1024,
c2993fe5 17428 "description" : "CPU weight for a VM.",
2489d6df
WB
17429 "maximum" : 262144,
17430 "minimum" : 2,
44660702 17431 "optional" : 1,
c2993fe5 17432 "type" : "integer",
2489d6df
WB
17433 "typetext" : "<integer> (2 - 262144)",
17434 "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
17435 },
17436 "description" : {
17437 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 17438 "optional" : 1,
013dc89f
DM
17439 "type" : "string",
17440 "typetext" : "<string>"
44660702 17441 },
4d47f125
TL
17442 "efidisk0" : {
17443 "description" : "Configure a Disk for storing EFI vars",
17444 "format" : {
17445 "file" : {
17446 "default_key" : 1,
17447 "description" : "The drive's backing volume.",
17448 "format" : "pve-volume-id-or-qm-path",
17449 "format_description" : "volume",
17450 "type" : "string"
17451 },
17452 "format" : {
17453 "description" : "The drive's backing file's data format.",
17454 "enum" : [
17455 "raw",
17456 "cow",
17457 "qcow",
17458 "qed",
17459 "qcow2",
17460 "vmdk",
17461 "cloop"
17462 ],
17463 "optional" : 1,
17464 "type" : "string"
17465 },
17466 "size" : {
17467 "description" : "Disk size. This is purely informational and has no effect.",
17468 "format" : "disk-size",
17469 "format_description" : "DiskSize",
17470 "optional" : 1,
17471 "type" : "string"
17472 },
17473 "volume" : {
17474 "alias" : "file"
17475 }
17476 },
17477 "optional" : 1,
17478 "type" : "string",
17479 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
17480 },
44660702
DM
17481 "force" : {
17482 "description" : "Allow to overwrite existing VM.",
17483 "optional" : 1,
17484 "requires" : "archive",
013dc89f
DM
17485 "type" : "boolean",
17486 "typetext" : "<boolean>"
44660702
DM
17487 },
17488 "freeze" : {
17489 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
17490 "optional" : 1,
013dc89f
DM
17491 "type" : "boolean",
17492 "typetext" : "<boolean>"
44660702 17493 },
5f26e15b
TL
17494 "hookscript" : {
17495 "description" : "Script that will be executed during various steps in the vms lifetime.",
17496 "format" : "pve-volume-id",
17497 "optional" : 1,
17498 "type" : "string",
17499 "typetext" : "<string>"
17500 },
44660702 17501 "hostpci[n]" : {
c2993fe5 17502 "description" : "Map host PCI devices into guest.",
44660702
DM
17503 "format" : "pve-qm-hostpci",
17504 "optional" : 1,
57b78691 17505 "type" : "string",
e2d681b3 17506 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 17507 "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
17508 },
17509 "hotplug" : {
17510 "default" : "network,disk,usb",
17511 "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'.",
17512 "format" : "pve-hotplug-features",
17513 "optional" : 1,
013dc89f
DM
17514 "type" : "string",
17515 "typetext" : "<string>"
7aacca6f 17516 },
4bd7df8b
DM
17517 "hugepages" : {
17518 "description" : "Enable/disable hugepages memory.",
17519 "enum" : [
17520 "any",
17521 "2",
17522 "1024"
17523 ],
17524 "optional" : 1,
17525 "type" : "string"
17526 },
7aacca6f 17527 "ide[n]" : {
44660702 17528 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 17529 "format" : {
44660702
DM
17530 "aio" : {
17531 "description" : "AIO type to use.",
17532 "enum" : [
17533 "native",
17534 "threads"
17535 ],
44660702
DM
17536 "optional" : 1,
17537 "type" : "string"
17538 },
17539 "backup" : {
17540 "description" : "Whether the drive should be included when making backups.",
44660702
DM
17541 "optional" : 1,
17542 "type" : "boolean"
17543 },
17544 "bps" : {
de0983cb 17545 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 17546 "format_description" : "bps",
56122987 17547 "optional" : 1,
44660702 17548 "type" : "integer"
56122987 17549 },
de0983cb
DM
17550 "bps_max_length" : {
17551 "description" : "Maximum length of I/O bursts in seconds.",
17552 "format_description" : "seconds",
17553 "minimum" : 1,
17554 "optional" : 1,
17555 "type" : "integer"
17556 },
44660702 17557 "bps_rd" : {
de0983cb 17558 "description" : "Maximum read speed in bytes per second.",
44660702 17559 "format_description" : "bps",
56122987 17560 "optional" : 1,
44660702 17561 "type" : "integer"
56122987 17562 },
de0983cb 17563 "bps_rd_length" : {
5d9c884c
DM
17564 "alias" : "bps_rd_max_length"
17565 },
17566 "bps_rd_max_length" : {
de0983cb
DM
17567 "description" : "Maximum length of read I/O bursts in seconds.",
17568 "format_description" : "seconds",
17569 "minimum" : 1,
17570 "optional" : 1,
17571 "type" : "integer"
17572 },
44660702 17573 "bps_wr" : {
de0983cb 17574 "description" : "Maximum write speed in bytes per second.",
44660702 17575 "format_description" : "bps",
56122987 17576 "optional" : 1,
44660702 17577 "type" : "integer"
56122987 17578 },
de0983cb 17579 "bps_wr_length" : {
5d9c884c
DM
17580 "alias" : "bps_wr_max_length"
17581 },
17582 "bps_wr_max_length" : {
de0983cb
DM
17583 "description" : "Maximum length of write I/O bursts in seconds.",
17584 "format_description" : "seconds",
17585 "minimum" : 1,
17586 "optional" : 1,
17587 "type" : "integer"
17588 },
44660702
DM
17589 "cache" : {
17590 "description" : "The drive's cache mode",
56122987 17591 "enum" : [
7aacca6f 17592 "none",
44660702
DM
17593 "writethrough",
17594 "writeback",
17595 "unsafe",
17596 "directsync"
56122987 17597 ],
56122987 17598 "optional" : 1,
44660702 17599 "type" : "string"
56122987 17600 },
44660702
DM
17601 "cyls" : {
17602 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
17603 "optional" : 1,
17604 "type" : "integer"
7aacca6f 17605 },
44660702
DM
17606 "detect_zeroes" : {
17607 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 17608 "optional" : 1,
44660702 17609 "type" : "boolean"
56122987 17610 },
44660702
DM
17611 "discard" : {
17612 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17613 "enum" : [
17614 "ignore",
17615 "on"
17616 ],
56122987 17617 "optional" : 1,
44660702 17618 "type" : "string"
56122987 17619 },
7aacca6f 17620 "file" : {
44660702 17621 "default_key" : 1,
7aacca6f 17622 "description" : "The drive's backing volume.",
7aacca6f
DM
17623 "format" : "pve-volume-id-or-qm-path",
17624 "format_description" : "volume",
7aacca6f 17625 "type" : "string"
56122987 17626 },
44660702
DM
17627 "format" : {
17628 "description" : "The drive's backing file's data format.",
56122987 17629 "enum" : [
44660702
DM
17630 "raw",
17631 "cow",
17632 "qcow",
17633 "qed",
17634 "qcow2",
17635 "vmdk",
17636 "cloop"
7aacca6f 17637 ],
7aacca6f
DM
17638 "optional" : 1,
17639 "type" : "string"
56122987 17640 },
44660702
DM
17641 "heads" : {
17642 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 17643 "optional" : 1,
44660702 17644 "type" : "integer"
56122987 17645 },
44660702 17646 "iops" : {
de0983cb 17647 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 17648 "format_description" : "iops",
56122987 17649 "optional" : 1,
44660702 17650 "type" : "integer"
56122987 17651 },
44660702 17652 "iops_max" : {
de0983cb 17653 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 17654 "format_description" : "iops",
56122987 17655 "optional" : 1,
44660702 17656 "type" : "integer"
56122987 17657 },
de0983cb
DM
17658 "iops_max_length" : {
17659 "description" : "Maximum length of I/O bursts in seconds.",
17660 "format_description" : "seconds",
17661 "minimum" : 1,
17662 "optional" : 1,
17663 "type" : "integer"
17664 },
7aacca6f 17665 "iops_rd" : {
de0983cb 17666 "description" : "Maximum read I/O in operations per second.",
44660702
DM
17667 "format_description" : "iops",
17668 "optional" : 1,
17669 "type" : "integer"
7aacca6f 17670 },
de0983cb 17671 "iops_rd_length" : {
5d9c884c 17672 "alias" : "iops_rd_max_length"
de0983cb 17673 },
44660702 17674 "iops_rd_max" : {
de0983cb 17675 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 17676 "format_description" : "iops",
56122987 17677 "optional" : 1,
44660702 17678 "type" : "integer"
56122987 17679 },
5d9c884c
DM
17680 "iops_rd_max_length" : {
17681 "description" : "Maximum length of read I/O bursts in seconds.",
17682 "format_description" : "seconds",
17683 "minimum" : 1,
17684 "optional" : 1,
17685 "type" : "integer"
17686 },
44660702 17687 "iops_wr" : {
de0983cb 17688 "description" : "Maximum write I/O in operations per second.",
44660702 17689 "format_description" : "iops",
56122987 17690 "optional" : 1,
44660702 17691 "type" : "integer"
7aacca6f 17692 },
de0983cb 17693 "iops_wr_length" : {
5d9c884c 17694 "alias" : "iops_wr_max_length"
de0983cb 17695 },
44660702 17696 "iops_wr_max" : {
de0983cb 17697 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 17698 "format_description" : "iops",
7aacca6f 17699 "optional" : 1,
44660702 17700 "type" : "integer"
56122987 17701 },
5d9c884c
DM
17702 "iops_wr_max_length" : {
17703 "description" : "Maximum length of write I/O bursts in seconds.",
17704 "format_description" : "seconds",
17705 "minimum" : 1,
17706 "optional" : 1,
17707 "type" : "integer"
17708 },
44660702 17709 "mbps" : {
de0983cb 17710 "description" : "Maximum r/w speed in megabytes per second.",
44660702 17711 "format_description" : "mbps",
7aacca6f 17712 "optional" : 1,
44660702 17713 "type" : "number"
56122987 17714 },
44660702 17715 "mbps_max" : {
de0983cb 17716 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 17717 "format_description" : "mbps",
56122987 17718 "optional" : 1,
44660702 17719 "type" : "number"
56122987 17720 },
44660702 17721 "mbps_rd" : {
de0983cb 17722 "description" : "Maximum read speed in megabytes per second.",
44660702 17723 "format_description" : "mbps",
7aacca6f 17724 "optional" : 1,
44660702 17725 "type" : "number"
7aacca6f 17726 },
44660702 17727 "mbps_rd_max" : {
de0983cb 17728 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 17729 "format_description" : "mbps",
56122987 17730 "optional" : 1,
44660702 17731 "type" : "number"
56122987 17732 },
44660702 17733 "mbps_wr" : {
de0983cb 17734 "description" : "Maximum write speed in megabytes per second.",
44660702 17735 "format_description" : "mbps",
7aacca6f 17736 "optional" : 1,
44660702 17737 "type" : "number"
56122987 17738 },
44660702 17739 "mbps_wr_max" : {
de0983cb 17740 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 17741 "format_description" : "mbps",
56122987 17742 "optional" : 1,
44660702 17743 "type" : "number"
7aacca6f
DM
17744 },
17745 "media" : {
44660702
DM
17746 "default" : "disk",
17747 "description" : "The drive's media type.",
56122987 17748 "enum" : [
7aacca6f
DM
17749 "cdrom",
17750 "disk"
56122987 17751 ],
56122987 17752 "optional" : 1,
44660702 17753 "type" : "string"
56122987 17754 },
44660702
DM
17755 "model" : {
17756 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
17757 "format" : "urlencoded",
17758 "format_description" : "model",
17759 "maxLength" : 120,
56122987 17760 "optional" : 1,
44660702 17761 "type" : "string"
56122987 17762 },
5d9c884c
DM
17763 "replicate" : {
17764 "default" : 1,
17765 "description" : "Whether the drive should considered for replication jobs.",
17766 "optional" : 1,
17767 "type" : "boolean"
17768 },
7aacca6f 17769 "rerror" : {
7aacca6f
DM
17770 "description" : "Read error action.",
17771 "enum" : [
17772 "ignore",
17773 "report",
17774 "stop"
44660702 17775 ],
44660702
DM
17776 "optional" : 1,
17777 "type" : "string"
56122987 17778 },
44660702
DM
17779 "secs" : {
17780 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 17781 "optional" : 1,
44660702
DM
17782 "type" : "integer"
17783 },
17784 "serial" : {
17785 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17786 "format" : "urlencoded",
17787 "format_description" : "serial",
17788 "maxLength" : 60,
17789 "optional" : 1,
17790 "type" : "string"
17791 },
27a7acb2
DM
17792 "shared" : {
17793 "default" : 0,
17794 "description" : "Mark this locally-managed volume as available on all nodes",
17795 "optional" : 1,
17796 "type" : "boolean",
17797 "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!"
17798 },
44660702
DM
17799 "size" : {
17800 "description" : "Disk size. This is purely informational and has no effect.",
17801 "format" : "disk-size",
f004f5b9 17802 "format_description" : "DiskSize",
44660702
DM
17803 "optional" : 1,
17804 "type" : "string"
7aacca6f
DM
17805 },
17806 "snapshot" : {
27a7acb2 17807 "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 17808 "optional" : 1,
44660702 17809 "type" : "boolean"
7aacca6f 17810 },
25203dc1
NC
17811 "ssd" : {
17812 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17813 "optional" : 1,
17814 "type" : "boolean"
17815 },
44660702
DM
17816 "trans" : {
17817 "description" : "Force disk geometry bios translation mode.",
17818 "enum" : [
17819 "none",
17820 "lba",
17821 "auto"
17822 ],
7aacca6f 17823 "optional" : 1,
44660702
DM
17824 "type" : "string"
17825 },
17826 "volume" : {
17827 "alias" : "file"
17828 },
17829 "werror" : {
17830 "description" : "Write error action.",
17831 "enum" : [
17832 "enospc",
17833 "ignore",
17834 "report",
17835 "stop"
17836 ],
44660702
DM
17837 "optional" : 1,
17838 "type" : "string"
95895385
TL
17839 },
17840 "wwn" : {
17841 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
17842 "format_description" : "wwn",
17843 "optional" : 1,
17844 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
17845 "type" : "string"
56122987
DM
17846 }
17847 },
56122987 17848 "optional" : 1,
4bd7df8b 17849 "type" : "string",
95895385 17850 "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
17851 },
17852 "ipconfig[n]" : {
17853 "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",
17854 "format" : "pve-qm-ipconfig",
17855 "optional" : 1,
17856 "type" : "string",
17857 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 17858 },
95895385
TL
17859 "ivshmem" : {
17860 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
17861 "format" : {
17862 "name" : {
17863 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
17864 "format_description" : "string",
17865 "optional" : 1,
17866 "pattern" : "[a-zA-Z0-9\\-]+",
17867 "type" : "string"
17868 },
17869 "size" : {
17870 "description" : "The size of the file in MB.",
17871 "minimum" : 1,
17872 "type" : "integer"
17873 }
17874 },
17875 "optional" : 1,
17876 "type" : "string",
17877 "typetext" : "size=<integer> [,name=<string>]"
17878 },
56122987 17879 "keyboard" : {
35a75dd3 17880 "default" : null,
5da3d723 17881 "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 17882 "enum" : [
44660702
DM
17883 "de",
17884 "de-ch",
7aacca6f 17885 "da",
56122987 17886 "en-gb",
44660702
DM
17887 "en-us",
17888 "es",
17889 "fi",
17890 "fr",
17891 "fr-be",
17892 "fr-ca",
17893 "fr-ch",
17894 "hu",
7aacca6f 17895 "is",
44660702
DM
17896 "it",
17897 "ja",
17898 "lt",
56122987 17899 "mk",
7aacca6f 17900 "nl",
56122987 17901 "no",
44660702 17902 "pl",
7aacca6f 17903 "pt",
44660702
DM
17904 "pt-br",
17905 "sv",
17906 "sl",
17907 "tr"
56122987 17908 ],
44660702
DM
17909 "optional" : 1,
17910 "type" : "string"
56122987 17911 },
44660702
DM
17912 "kvm" : {
17913 "default" : 1,
17914 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 17915 "optional" : 1,
013dc89f
DM
17916 "type" : "boolean",
17917 "typetext" : "<boolean>"
7aacca6f 17918 },
44660702
DM
17919 "localtime" : {
17920 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 17921 "optional" : 1,
013dc89f
DM
17922 "type" : "boolean",
17923 "typetext" : "<boolean>"
44660702
DM
17924 },
17925 "lock" : {
17926 "description" : "Lock/unlock the VM.",
7aacca6f 17927 "enum" : [
7aacca6f 17928 "backup",
5f26e15b
TL
17929 "clone",
17930 "create",
17931 "migrate",
17932 "rollback",
7aacca6f 17933 "snapshot",
95895385
TL
17934 "snapshot-delete",
17935 "suspending",
17936 "suspended"
7aacca6f 17937 ],
44660702
DM
17938 "optional" : 1,
17939 "type" : "string"
56122987 17940 },
44660702 17941 "machine" : {
4d47f125 17942 "description" : "Specifies the Qemu machine type.",
44660702
DM
17943 "maxLength" : 40,
17944 "optional" : 1,
e2d681b3 17945 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702
DM
17946 "type" : "string"
17947 },
17948 "memory" : {
17949 "default" : 512,
17950 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
17951 "minimum" : 16,
17952 "optional" : 1,
4bd7df8b 17953 "type" : "integer",
013dc89f 17954 "typetext" : "<integer> (16 - N)"
44660702
DM
17955 },
17956 "migrate_downtime" : {
17957 "default" : 0.1,
17958 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
17959 "minimum" : 0,
17960 "optional" : 1,
4bd7df8b 17961 "type" : "number",
013dc89f 17962 "typetext" : "<number> (0 - N)"
44660702
DM
17963 },
17964 "migrate_speed" : {
56122987 17965 "default" : 0,
44660702
DM
17966 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
17967 "minimum" : 0,
56122987 17968 "optional" : 1,
4bd7df8b 17969 "type" : "integer",
013dc89f 17970 "typetext" : "<integer> (0 - N)"
56122987 17971 },
27a7acb2
DM
17972 "name" : {
17973 "description" : "Set a name for the VM. Only used on the configuration web interface.",
17974 "format" : "dns-name",
17975 "optional" : 1,
17976 "type" : "string",
17977 "typetext" : "<string>"
17978 },
17979 "nameserver" : {
17980 "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.",
17981 "format" : "address-list",
44660702 17982 "optional" : 1,
013dc89f
DM
17983 "type" : "string",
17984 "typetext" : "<string>"
44660702
DM
17985 },
17986 "net[n]" : {
c2993fe5 17987 "description" : "Specify network devices.",
f004f5b9
DM
17988 "format" : {
17989 "bridge" : {
c2993fe5 17990 "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
17991 "format_description" : "bridge",
17992 "optional" : 1,
17993 "type" : "string"
17994 },
17995 "e1000" : {
17996 "alias" : "macaddr",
17997 "keyAlias" : "model"
17998 },
17999 "e1000-82540em" : {
18000 "alias" : "macaddr",
18001 "keyAlias" : "model"
18002 },
18003 "e1000-82544gc" : {
18004 "alias" : "macaddr",
18005 "keyAlias" : "model"
18006 },
18007 "e1000-82545em" : {
18008 "alias" : "macaddr",
18009 "keyAlias" : "model"
18010 },
18011 "firewall" : {
18012 "description" : "Whether this interface should be protected by the firewall.",
18013 "optional" : 1,
18014 "type" : "boolean"
18015 },
18016 "i82551" : {
18017 "alias" : "macaddr",
18018 "keyAlias" : "model"
18019 },
18020 "i82557b" : {
18021 "alias" : "macaddr",
18022 "keyAlias" : "model"
18023 },
18024 "i82559er" : {
18025 "alias" : "macaddr",
18026 "keyAlias" : "model"
18027 },
18028 "link_down" : {
c2993fe5 18029 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
18030 "optional" : 1,
18031 "type" : "boolean"
18032 },
18033 "macaddr" : {
c2993fe5 18034 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 18035 "format" : "mac-addr",
f004f5b9 18036 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 18037 "optional" : 1,
95895385
TL
18038 "type" : "string",
18039 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
18040 },
18041 "model" : {
18042 "default_key" : 1,
c2993fe5 18043 "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
18044 "enum" : [
18045 "rtl8139",
18046 "ne2k_pci",
18047 "e1000",
18048 "pcnet",
18049 "virtio",
18050 "ne2k_isa",
18051 "i82551",
18052 "i82557b",
18053 "i82559er",
18054 "vmxnet3",
18055 "e1000-82540em",
18056 "e1000-82544gc",
18057 "e1000-82545em"
18058 ],
f004f5b9
DM
18059 "type" : "string"
18060 },
18061 "ne2k_isa" : {
18062 "alias" : "macaddr",
18063 "keyAlias" : "model"
18064 },
18065 "ne2k_pci" : {
18066 "alias" : "macaddr",
18067 "keyAlias" : "model"
18068 },
18069 "pcnet" : {
18070 "alias" : "macaddr",
18071 "keyAlias" : "model"
18072 },
18073 "queues" : {
18074 "description" : "Number of packet queues to be used on the device.",
18075 "maximum" : 16,
18076 "minimum" : 0,
18077 "optional" : 1,
18078 "type" : "integer"
18079 },
18080 "rate" : {
c2993fe5 18081 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
18082 "minimum" : 0,
18083 "optional" : 1,
18084 "type" : "number"
18085 },
18086 "rtl8139" : {
18087 "alias" : "macaddr",
18088 "keyAlias" : "model"
18089 },
18090 "tag" : {
18091 "description" : "VLAN tag to apply to packets on this interface.",
18092 "maximum" : 4094,
c2993fe5 18093 "minimum" : 1,
f004f5b9
DM
18094 "optional" : 1,
18095 "type" : "integer"
18096 },
18097 "trunks" : {
18098 "description" : "VLAN trunks to pass through this interface.",
18099 "format_description" : "vlanid[;vlanid...]",
18100 "optional" : 1,
18101 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
18102 "type" : "string"
18103 },
18104 "virtio" : {
18105 "alias" : "macaddr",
18106 "keyAlias" : "model"
18107 },
18108 "vmxnet3" : {
18109 "alias" : "macaddr",
18110 "keyAlias" : "model"
18111 }
18112 },
44660702 18113 "optional" : 1,
4bd7df8b 18114 "type" : "string",
013dc89f 18115 "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
18116 },
18117 "node" : {
18118 "description" : "The cluster node name.",
18119 "format" : "pve-node",
013dc89f
DM
18120 "type" : "string",
18121 "typetext" : "<string>"
44660702
DM
18122 },
18123 "numa" : {
7aacca6f 18124 "default" : 0,
44660702
DM
18125 "description" : "Enable/disable NUMA.",
18126 "optional" : 1,
013dc89f
DM
18127 "type" : "boolean",
18128 "typetext" : "<boolean>"
56122987 18129 },
7aacca6f 18130 "numa[n]" : {
c2993fe5 18131 "description" : "NUMA topology.",
7aacca6f 18132 "format" : {
44660702 18133 "cpus" : {
c2993fe5 18134 "description" : "CPUs accessing this NUMA node.",
44660702
DM
18135 "format_description" : "id[-id];...",
18136 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
18137 "type" : "string"
18138 },
7aacca6f 18139 "hostnodes" : {
c2993fe5 18140 "description" : "Host NUMA nodes to use.",
44660702 18141 "format_description" : "id[-id];...",
7aacca6f 18142 "optional" : 1,
44660702
DM
18143 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
18144 "type" : "string"
7aacca6f 18145 },
44660702 18146 "memory" : {
c2993fe5 18147 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
18148 "optional" : 1,
18149 "type" : "number"
7aacca6f
DM
18150 },
18151 "policy" : {
c2993fe5 18152 "description" : "NUMA allocation policy.",
7aacca6f
DM
18153 "enum" : [
18154 "preferred",
18155 "bind",
18156 "interleave"
18157 ],
7aacca6f 18158 "optional" : 1,
44660702 18159 "type" : "string"
7aacca6f
DM
18160 }
18161 },
56122987 18162 "optional" : 1,
4bd7df8b
DM
18163 "type" : "string",
18164 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 18165 },
44660702
DM
18166 "onboot" : {
18167 "default" : 0,
18168 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 18169 "optional" : 1,
013dc89f
DM
18170 "type" : "boolean",
18171 "typetext" : "<boolean>"
56122987
DM
18172 },
18173 "ostype" : {
c2993fe5 18174 "description" : "Specify guest operating system.",
56122987
DM
18175 "enum" : [
18176 "other",
18177 "wxp",
18178 "w2k",
18179 "w2k3",
18180 "w2k8",
18181 "wvista",
18182 "win7",
18183 "win8",
32d876b5 18184 "win10",
56122987
DM
18185 "l24",
18186 "l26",
18187 "solaris"
44660702 18188 ],
56122987 18189 "optional" : 1,
c2993fe5 18190 "type" : "string",
35a75dd3 18191 "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/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 18192 },
44660702 18193 "parallel[n]" : {
c2993fe5 18194 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 18195 "optional" : 1,
44660702 18196 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
18197 "type" : "string",
18198 "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 18199 },
44660702
DM
18200 "pool" : {
18201 "description" : "Add the VM to the specified pool.",
18202 "format" : "pve-poolid",
56122987 18203 "optional" : 1,
013dc89f
DM
18204 "type" : "string",
18205 "typetext" : "<string>"
56122987 18206 },
44660702
DM
18207 "protection" : {
18208 "default" : 0,
c2993fe5 18209 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 18210 "optional" : 1,
013dc89f
DM
18211 "type" : "boolean",
18212 "typetext" : "<boolean>"
56122987 18213 },
44660702 18214 "reboot" : {
7aacca6f 18215 "default" : 1,
44660702
DM
18216 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
18217 "optional" : 1,
013dc89f
DM
18218 "type" : "boolean",
18219 "typetext" : "<boolean>"
56122987 18220 },
56122987 18221 "sata[n]" : {
44660702 18222 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 18223 "format" : {
7aacca6f 18224 "aio" : {
44660702 18225 "description" : "AIO type to use.",
56122987 18226 "enum" : [
7aacca6f
DM
18227 "native",
18228 "threads"
56122987 18229 ],
7aacca6f 18230 "optional" : 1,
44660702 18231 "type" : "string"
7aacca6f
DM
18232 },
18233 "backup" : {
7aacca6f 18234 "description" : "Whether the drive should be included when making backups.",
7aacca6f 18235 "optional" : 1,
44660702 18236 "type" : "boolean"
56122987 18237 },
44660702 18238 "bps" : {
de0983cb 18239 "description" : "Maximum r/w speed in bytes per second.",
44660702 18240 "format_description" : "bps",
7aacca6f 18241 "optional" : 1,
44660702 18242 "type" : "integer"
56122987 18243 },
de0983cb
DM
18244 "bps_max_length" : {
18245 "description" : "Maximum length of I/O bursts in seconds.",
18246 "format_description" : "seconds",
18247 "minimum" : 1,
18248 "optional" : 1,
18249 "type" : "integer"
18250 },
44660702 18251 "bps_rd" : {
de0983cb 18252 "description" : "Maximum read speed in bytes per second.",
44660702 18253 "format_description" : "bps",
56122987 18254 "optional" : 1,
44660702 18255 "type" : "integer"
7aacca6f 18256 },
de0983cb 18257 "bps_rd_length" : {
5d9c884c
DM
18258 "alias" : "bps_rd_max_length"
18259 },
18260 "bps_rd_max_length" : {
de0983cb
DM
18261 "description" : "Maximum length of read I/O bursts in seconds.",
18262 "format_description" : "seconds",
18263 "minimum" : 1,
18264 "optional" : 1,
18265 "type" : "integer"
18266 },
44660702 18267 "bps_wr" : {
de0983cb 18268 "description" : "Maximum write speed in bytes per second.",
44660702 18269 "format_description" : "bps",
56122987 18270 "optional" : 1,
44660702 18271 "type" : "integer"
56122987 18272 },
de0983cb 18273 "bps_wr_length" : {
5d9c884c
DM
18274 "alias" : "bps_wr_max_length"
18275 },
18276 "bps_wr_max_length" : {
de0983cb
DM
18277 "description" : "Maximum length of write I/O bursts in seconds.",
18278 "format_description" : "seconds",
18279 "minimum" : 1,
18280 "optional" : 1,
18281 "type" : "integer"
18282 },
7aacca6f 18283 "cache" : {
7aacca6f
DM
18284 "description" : "The drive's cache mode",
18285 "enum" : [
18286 "none",
18287 "writethrough",
18288 "writeback",
18289 "unsafe",
18290 "directsync"
18291 ],
44660702
DM
18292 "optional" : 1,
18293 "type" : "string"
56122987 18294 },
44660702
DM
18295 "cyls" : {
18296 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 18297 "optional" : 1,
7aacca6f 18298 "type" : "integer"
56122987 18299 },
7aacca6f
DM
18300 "detect_zeroes" : {
18301 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 18302 "optional" : 1,
7aacca6f 18303 "type" : "boolean"
56122987 18304 },
44660702
DM
18305 "discard" : {
18306 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
18307 "enum" : [
18308 "ignore",
18309 "on"
18310 ],
56122987 18311 "optional" : 1,
44660702 18312 "type" : "string"
56122987 18313 },
44660702
DM
18314 "file" : {
18315 "default_key" : 1,
18316 "description" : "The drive's backing volume.",
18317 "format" : "pve-volume-id-or-qm-path",
18318 "format_description" : "volume",
18319 "type" : "string"
56122987
DM
18320 },
18321 "format" : {
44660702 18322 "description" : "The drive's backing file's data format.",
56122987
DM
18323 "enum" : [
18324 "raw",
18325 "cow",
18326 "qcow",
18327 "qed",
18328 "qcow2",
18329 "vmdk",
18330 "cloop"
18331 ],
56122987 18332 "optional" : 1,
44660702 18333 "type" : "string"
56122987 18334 },
7aacca6f 18335 "heads" : {
7aacca6f 18336 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
18337 "optional" : 1,
18338 "type" : "integer"
56122987 18339 },
44660702 18340 "iops" : {
de0983cb 18341 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
18342 "format_description" : "iops",
18343 "optional" : 1,
18344 "type" : "integer"
56122987 18345 },
44660702 18346 "iops_max" : {
de0983cb 18347 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 18348 "format_description" : "iops",
56122987 18349 "optional" : 1,
44660702 18350 "type" : "integer"
56122987 18351 },
de0983cb
DM
18352 "iops_max_length" : {
18353 "description" : "Maximum length of I/O bursts in seconds.",
18354 "format_description" : "seconds",
18355 "minimum" : 1,
18356 "optional" : 1,
18357 "type" : "integer"
18358 },
44660702 18359 "iops_rd" : {
de0983cb 18360 "description" : "Maximum read I/O in operations per second.",
44660702 18361 "format_description" : "iops",
56122987 18362 "optional" : 1,
44660702 18363 "type" : "integer"
56122987 18364 },
de0983cb 18365 "iops_rd_length" : {
5d9c884c 18366 "alias" : "iops_rd_max_length"
de0983cb 18367 },
44660702 18368 "iops_rd_max" : {
de0983cb 18369 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 18370 "format_description" : "iops",
56122987 18371 "optional" : 1,
44660702 18372 "type" : "integer"
56122987 18373 },
5d9c884c
DM
18374 "iops_rd_max_length" : {
18375 "description" : "Maximum length of read I/O bursts in seconds.",
18376 "format_description" : "seconds",
18377 "minimum" : 1,
18378 "optional" : 1,
18379 "type" : "integer"
18380 },
44660702 18381 "iops_wr" : {
de0983cb 18382 "description" : "Maximum write I/O in operations per second.",
44660702 18383 "format_description" : "iops",
7aacca6f 18384 "optional" : 1,
44660702 18385 "type" : "integer"
7aacca6f 18386 },
de0983cb 18387 "iops_wr_length" : {
5d9c884c 18388 "alias" : "iops_wr_max_length"
de0983cb 18389 },
44660702 18390 "iops_wr_max" : {
de0983cb 18391 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 18392 "format_description" : "iops",
56122987 18393 "optional" : 1,
7aacca6f 18394 "type" : "integer"
56122987 18395 },
5d9c884c
DM
18396 "iops_wr_max_length" : {
18397 "description" : "Maximum length of write I/O bursts in seconds.",
18398 "format_description" : "seconds",
18399 "minimum" : 1,
18400 "optional" : 1,
18401 "type" : "integer"
18402 },
44660702 18403 "mbps" : {
de0983cb 18404 "description" : "Maximum r/w speed in megabytes per second.",
44660702 18405 "format_description" : "mbps",
56122987 18406 "optional" : 1,
44660702 18407 "type" : "number"
56122987 18408 },
44660702 18409 "mbps_max" : {
de0983cb 18410 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 18411 "format_description" : "mbps",
7aacca6f 18412 "optional" : 1,
44660702 18413 "type" : "number"
7aacca6f 18414 },
44660702 18415 "mbps_rd" : {
de0983cb 18416 "description" : "Maximum read speed in megabytes per second.",
44660702 18417 "format_description" : "mbps",
7aacca6f 18418 "optional" : 1,
44660702 18419 "type" : "number"
7aacca6f 18420 },
44660702 18421 "mbps_rd_max" : {
de0983cb 18422 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 18423 "format_description" : "mbps",
7aacca6f 18424 "optional" : 1,
44660702 18425 "type" : "number"
7aacca6f 18426 },
44660702 18427 "mbps_wr" : {
de0983cb 18428 "description" : "Maximum write speed in megabytes per second.",
44660702 18429 "format_description" : "mbps",
7aacca6f 18430 "optional" : 1,
44660702 18431 "type" : "number"
7aacca6f
DM
18432 },
18433 "mbps_wr_max" : {
de0983cb 18434 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 18435 "format_description" : "mbps",
7aacca6f 18436 "optional" : 1,
44660702 18437 "type" : "number"
7aacca6f 18438 },
44660702
DM
18439 "media" : {
18440 "default" : "disk",
18441 "description" : "The drive's media type.",
56122987 18442 "enum" : [
44660702
DM
18443 "cdrom",
18444 "disk"
56122987 18445 ],
56122987 18446 "optional" : 1,
44660702 18447 "type" : "string"
56122987 18448 },
5d9c884c
DM
18449 "replicate" : {
18450 "default" : 1,
18451 "description" : "Whether the drive should considered for replication jobs.",
18452 "optional" : 1,
18453 "type" : "boolean"
18454 },
44660702
DM
18455 "rerror" : {
18456 "description" : "Read error action.",
7aacca6f
DM
18457 "enum" : [
18458 "ignore",
44660702
DM
18459 "report",
18460 "stop"
7aacca6f 18461 ],
56122987 18462 "optional" : 1,
44660702 18463 "type" : "string"
56122987 18464 },
44660702
DM
18465 "secs" : {
18466 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 18467 "optional" : 1,
44660702 18468 "type" : "integer"
56122987 18469 },
44660702
DM
18470 "serial" : {
18471 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18472 "format" : "urlencoded",
18473 "format_description" : "serial",
18474 "maxLength" : 60,
18475 "optional" : 1,
18476 "type" : "string"
7aacca6f 18477 },
27a7acb2
DM
18478 "shared" : {
18479 "default" : 0,
18480 "description" : "Mark this locally-managed volume as available on all nodes",
18481 "optional" : 1,
18482 "type" : "boolean",
18483 "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!"
18484 },
7aacca6f
DM
18485 "size" : {
18486 "description" : "Disk size. This is purely informational and has no effect.",
44660702 18487 "format" : "disk-size",
f004f5b9 18488 "format_description" : "DiskSize",
56122987 18489 "optional" : 1,
44660702 18490 "type" : "string"
56122987 18491 },
44660702 18492 "snapshot" : {
27a7acb2 18493 "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 18494 "optional" : 1,
44660702 18495 "type" : "boolean"
56122987 18496 },
25203dc1
NC
18497 "ssd" : {
18498 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
18499 "optional" : 1,
18500 "type" : "boolean"
18501 },
44660702
DM
18502 "trans" : {
18503 "description" : "Force disk geometry bios translation mode.",
56122987 18504 "enum" : [
44660702
DM
18505 "none",
18506 "lba",
18507 "auto"
7aacca6f 18508 ],
44660702
DM
18509 "optional" : 1,
18510 "type" : "string"
18511 },
18512 "volume" : {
18513 "alias" : "file"
56122987
DM
18514 },
18515 "werror" : {
56122987
DM
18516 "description" : "Write error action.",
18517 "enum" : [
18518 "enospc",
18519 "ignore",
18520 "report",
18521 "stop"
18522 ],
56122987 18523 "optional" : 1,
44660702 18524 "type" : "string"
95895385
TL
18525 },
18526 "wwn" : {
18527 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
18528 "format_description" : "wwn",
18529 "optional" : 1,
18530 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
18531 "type" : "string"
44660702
DM
18532 }
18533 },
18534 "optional" : 1,
4bd7df8b 18535 "type" : "string",
95895385 18536 "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
18537 },
18538 "scsi[n]" : {
18539 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
18540 "format" : {
18541 "aio" : {
18542 "description" : "AIO type to use.",
18543 "enum" : [
18544 "native",
18545 "threads"
18546 ],
44660702
DM
18547 "optional" : 1,
18548 "type" : "string"
56122987 18549 },
7aacca6f 18550 "backup" : {
44660702 18551 "description" : "Whether the drive should be included when making backups.",
7aacca6f 18552 "optional" : 1,
44660702 18553 "type" : "boolean"
7aacca6f 18554 },
44660702 18555 "bps" : {
de0983cb 18556 "description" : "Maximum r/w speed in bytes per second.",
44660702 18557 "format_description" : "bps",
7aacca6f 18558 "optional" : 1,
44660702 18559 "type" : "integer"
7aacca6f 18560 },
de0983cb
DM
18561 "bps_max_length" : {
18562 "description" : "Maximum length of I/O bursts in seconds.",
18563 "format_description" : "seconds",
18564 "minimum" : 1,
18565 "optional" : 1,
18566 "type" : "integer"
18567 },
44660702 18568 "bps_rd" : {
de0983cb 18569 "description" : "Maximum read speed in bytes per second.",
44660702 18570 "format_description" : "bps",
56122987 18571 "optional" : 1,
44660702 18572 "type" : "integer"
56122987 18573 },
de0983cb 18574 "bps_rd_length" : {
5d9c884c
DM
18575 "alias" : "bps_rd_max_length"
18576 },
18577 "bps_rd_max_length" : {
de0983cb
DM
18578 "description" : "Maximum length of read I/O bursts in seconds.",
18579 "format_description" : "seconds",
18580 "minimum" : 1,
18581 "optional" : 1,
18582 "type" : "integer"
18583 },
44660702 18584 "bps_wr" : {
de0983cb 18585 "description" : "Maximum write speed in bytes per second.",
44660702 18586 "format_description" : "bps",
7aacca6f 18587 "optional" : 1,
44660702 18588 "type" : "integer"
56122987 18589 },
de0983cb 18590 "bps_wr_length" : {
5d9c884c
DM
18591 "alias" : "bps_wr_max_length"
18592 },
18593 "bps_wr_max_length" : {
de0983cb
DM
18594 "description" : "Maximum length of write I/O bursts in seconds.",
18595 "format_description" : "seconds",
18596 "minimum" : 1,
18597 "optional" : 1,
18598 "type" : "integer"
18599 },
44660702
DM
18600 "cache" : {
18601 "description" : "The drive's cache mode",
7aacca6f
DM
18602 "enum" : [
18603 "none",
44660702
DM
18604 "writethrough",
18605 "writeback",
18606 "unsafe",
18607 "directsync"
7aacca6f 18608 ],
56122987 18609 "optional" : 1,
44660702 18610 "type" : "string"
56122987 18611 },
7aacca6f
DM
18612 "cyls" : {
18613 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
18614 "optional" : 1,
44660702 18615 "type" : "integer"
7aacca6f 18616 },
44660702
DM
18617 "detect_zeroes" : {
18618 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 18619 "optional" : 1,
44660702 18620 "type" : "boolean"
56122987 18621 },
44660702
DM
18622 "discard" : {
18623 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 18624 "enum" : [
44660702
DM
18625 "ignore",
18626 "on"
7aacca6f 18627 ],
7aacca6f 18628 "optional" : 1,
44660702 18629 "type" : "string"
56122987
DM
18630 },
18631 "file" : {
7aacca6f
DM
18632 "default_key" : 1,
18633 "description" : "The drive's backing volume.",
44660702
DM
18634 "format" : "pve-volume-id-or-qm-path",
18635 "format_description" : "volume",
7aacca6f 18636 "type" : "string"
56122987 18637 },
7aacca6f 18638 "format" : {
44660702 18639 "description" : "The drive's backing file's data format.",
56122987 18640 "enum" : [
7aacca6f
DM
18641 "raw",
18642 "cow",
18643 "qcow",
18644 "qed",
18645 "qcow2",
18646 "vmdk",
18647 "cloop"
56122987 18648 ],
44660702
DM
18649 "optional" : 1,
18650 "type" : "string"
56122987 18651 },
44660702
DM
18652 "heads" : {
18653 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
18654 "optional" : 1,
18655 "type" : "integer"
18656 },
18657 "iops" : {
de0983cb 18658 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 18659 "format_description" : "iops",
56122987 18660 "optional" : 1,
44660702 18661 "type" : "integer"
56122987 18662 },
44660702 18663 "iops_max" : {
de0983cb 18664 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 18665 "format_description" : "iops",
7aacca6f 18666 "optional" : 1,
44660702 18667 "type" : "integer"
56122987 18668 },
de0983cb
DM
18669 "iops_max_length" : {
18670 "description" : "Maximum length of I/O bursts in seconds.",
18671 "format_description" : "seconds",
18672 "minimum" : 1,
18673 "optional" : 1,
18674 "type" : "integer"
18675 },
44660702 18676 "iops_rd" : {
de0983cb 18677 "description" : "Maximum read I/O in operations per second.",
44660702 18678 "format_description" : "iops",
56122987 18679 "optional" : 1,
44660702 18680 "type" : "integer"
56122987 18681 },
de0983cb 18682 "iops_rd_length" : {
5d9c884c 18683 "alias" : "iops_rd_max_length"
de0983cb 18684 },
44660702 18685 "iops_rd_max" : {
de0983cb 18686 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
18687 "format_description" : "iops",
18688 "optional" : 1,
18689 "type" : "integer"
56122987 18690 },
5d9c884c
DM
18691 "iops_rd_max_length" : {
18692 "description" : "Maximum length of read I/O bursts in seconds.",
18693 "format_description" : "seconds",
18694 "minimum" : 1,
18695 "optional" : 1,
18696 "type" : "integer"
18697 },
44660702 18698 "iops_wr" : {
de0983cb 18699 "description" : "Maximum write I/O in operations per second.",
44660702 18700 "format_description" : "iops",
56122987 18701 "optional" : 1,
44660702 18702 "type" : "integer"
56122987 18703 },
de0983cb 18704 "iops_wr_length" : {
5d9c884c 18705 "alias" : "iops_wr_max_length"
de0983cb 18706 },
44660702 18707 "iops_wr_max" : {
de0983cb 18708 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 18709 "format_description" : "iops",
56122987 18710 "optional" : 1,
56122987
DM
18711 "type" : "integer"
18712 },
5d9c884c
DM
18713 "iops_wr_max_length" : {
18714 "description" : "Maximum length of write I/O bursts in seconds.",
18715 "format_description" : "seconds",
18716 "minimum" : 1,
18717 "optional" : 1,
18718 "type" : "integer"
18719 },
44660702
DM
18720 "iothread" : {
18721 "description" : "Whether to use iothreads for this drive",
44660702
DM
18722 "optional" : 1,
18723 "type" : "boolean"
18724 },
18725 "mbps" : {
de0983cb 18726 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
18727 "format_description" : "mbps",
18728 "optional" : 1,
18729 "type" : "number"
18730 },
7aacca6f 18731 "mbps_max" : {
de0983cb 18732 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 18733 "format_description" : "mbps",
56122987 18734 "optional" : 1,
44660702 18735 "type" : "number"
56122987 18736 },
44660702 18737 "mbps_rd" : {
de0983cb 18738 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
18739 "format_description" : "mbps",
18740 "optional" : 1,
18741 "type" : "number"
56122987 18742 },
44660702 18743 "mbps_rd_max" : {
de0983cb 18744 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 18745 "format_description" : "mbps",
56122987 18746 "optional" : 1,
44660702 18747 "type" : "number"
56122987 18748 },
44660702 18749 "mbps_wr" : {
de0983cb 18750 "description" : "Maximum write speed in megabytes per second.",
44660702 18751 "format_description" : "mbps",
56122987 18752 "optional" : 1,
44660702 18753 "type" : "number"
56122987 18754 },
44660702 18755 "mbps_wr_max" : {
de0983cb 18756 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 18757 "format_description" : "mbps",
7aacca6f 18758 "optional" : 1,
44660702 18759 "type" : "number"
56122987 18760 },
7aacca6f 18761 "media" : {
44660702 18762 "default" : "disk",
7aacca6f
DM
18763 "description" : "The drive's media type.",
18764 "enum" : [
18765 "cdrom",
18766 "disk"
18767 ],
56122987 18768 "optional" : 1,
44660702 18769 "type" : "string"
56122987 18770 },
44660702
DM
18771 "queues" : {
18772 "description" : "Number of queues.",
44660702
DM
18773 "minimum" : 2,
18774 "optional" : 1,
18775 "type" : "integer"
56122987 18776 },
5d9c884c
DM
18777 "replicate" : {
18778 "default" : 1,
18779 "description" : "Whether the drive should considered for replication jobs.",
18780 "optional" : 1,
18781 "type" : "boolean"
18782 },
18783 "rerror" : {
18784 "description" : "Read error action.",
18785 "enum" : [
18786 "ignore",
18787 "report",
18788 "stop"
18789 ],
18790 "optional" : 1,
18791 "type" : "string"
18792 },
52e44c50
FG
18793 "scsiblock" : {
18794 "default" : 0,
18795 "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",
18796 "optional" : 1,
18797 "type" : "boolean"
18798 },
7aacca6f 18799 "secs" : {
7aacca6f 18800 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
18801 "optional" : 1,
18802 "type" : "integer"
18803 },
18804 "serial" : {
18805 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18806 "format" : "urlencoded",
18807 "format_description" : "serial",
18808 "maxLength" : 60,
18809 "optional" : 1,
18810 "type" : "string"
18811 },
27a7acb2
DM
18812 "shared" : {
18813 "default" : 0,
18814 "description" : "Mark this locally-managed volume as available on all nodes",
18815 "optional" : 1,
18816 "type" : "boolean",
18817 "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!"
18818 },
44660702
DM
18819 "size" : {
18820 "description" : "Disk size. This is purely informational and has no effect.",
18821 "format" : "disk-size",
f004f5b9 18822 "format_description" : "DiskSize",
44660702
DM
18823 "optional" : 1,
18824 "type" : "string"
18825 },
18826 "snapshot" : {
27a7acb2 18827 "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
18828 "optional" : 1,
18829 "type" : "boolean"
18830 },
25203dc1
NC
18831 "ssd" : {
18832 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
18833 "optional" : 1,
18834 "type" : "boolean"
18835 },
44660702
DM
18836 "trans" : {
18837 "description" : "Force disk geometry bios translation mode.",
18838 "enum" : [
18839 "none",
18840 "lba",
18841 "auto"
18842 ],
44660702
DM
18843 "optional" : 1,
18844 "type" : "string"
18845 },
18846 "volume" : {
18847 "alias" : "file"
18848 },
18849 "werror" : {
18850 "description" : "Write error action.",
18851 "enum" : [
18852 "enospc",
18853 "ignore",
18854 "report",
18855 "stop"
18856 ],
44660702
DM
18857 "optional" : 1,
18858 "type" : "string"
95895385
TL
18859 },
18860 "wwn" : {
18861 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
18862 "format_description" : "wwn",
18863 "optional" : 1,
18864 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
18865 "type" : "string"
56122987
DM
18866 }
18867 },
7aacca6f 18868 "optional" : 1,
4bd7df8b 18869 "type" : "string",
95895385 18870 "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 18871 },
44660702
DM
18872 "scsihw" : {
18873 "default" : "lsi",
c2993fe5 18874 "description" : "SCSI controller model",
44660702
DM
18875 "enum" : [
18876 "lsi",
18877 "lsi53c810",
18878 "virtio-scsi-pci",
18879 "virtio-scsi-single",
18880 "megasas",
18881 "pvscsi"
18882 ],
7aacca6f 18883 "optional" : 1,
44660702 18884 "type" : "string"
7aacca6f 18885 },
27a7acb2
DM
18886 "searchdomain" : {
18887 "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.",
18888 "optional" : 1,
18889 "type" : "string",
18890 "typetext" : "<string>"
18891 },
44660702 18892 "serial[n]" : {
c2993fe5 18893 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
18894 "optional" : 1,
18895 "pattern" : "(/dev/.+|socket)",
c2993fe5 18896 "type" : "string",
57b78691 18897 "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
18898 },
18899 "shares" : {
18900 "default" : 1000,
5da3d723 18901 "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
18902 "maximum" : 50000,
18903 "minimum" : 0,
18904 "optional" : 1,
4bd7df8b 18905 "type" : "integer",
013dc89f 18906 "typetext" : "<integer> (0 - 50000)"
44660702
DM
18907 },
18908 "smbios1" : {
18909 "description" : "Specify SMBIOS type 1 fields.",
18910 "format" : "pve-qm-smbios1",
18911 "maxLength" : 256,
7aacca6f 18912 "optional" : 1,
4bd7df8b
DM
18913 "type" : "string",
18914 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
18915 },
18916 "smp" : {
44660702 18917 "default" : 1,
7aacca6f 18918 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 18919 "minimum" : 1,
56122987 18920 "optional" : 1,
4bd7df8b 18921 "type" : "integer",
013dc89f 18922 "typetext" : "<integer> (1 - N)"
44660702
DM
18923 },
18924 "sockets" : {
7aacca6f 18925 "default" : 1,
44660702
DM
18926 "description" : "The number of CPU sockets.",
18927 "minimum" : 1,
18928 "optional" : 1,
4bd7df8b 18929 "type" : "integer",
013dc89f 18930 "typetext" : "<integer> (1 - N)"
7aacca6f 18931 },
27a7acb2
DM
18932 "sshkeys" : {
18933 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
18934 "format" : "urlencoded",
18935 "optional" : 1,
18936 "type" : "string",
18937 "typetext" : "<string>"
18938 },
5da3d723
TL
18939 "start" : {
18940 "default" : 0,
18941 "description" : "Start VM after it was created successfully.",
18942 "optional" : 1,
18943 "type" : "boolean",
18944 "typetext" : "<boolean>"
18945 },
44660702
DM
18946 "startdate" : {
18947 "default" : "now",
18948 "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'.",
18949 "optional" : 1,
18950 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
18951 "type" : "string",
18952 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
18953 },
18954 "startup" : {
18955 "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.",
18956 "format" : "pve-startup-order",
18957 "optional" : 1,
18958 "type" : "string",
18959 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
18960 },
18961 "storage" : {
18962 "description" : "Default storage.",
18963 "format" : "pve-storage-id",
7aacca6f 18964 "optional" : 1,
013dc89f
DM
18965 "type" : "string",
18966 "typetext" : "<string>"
56122987 18967 },
44660702
DM
18968 "tablet" : {
18969 "default" : 1,
c2993fe5 18970 "description" : "Enable/disable the USB tablet device.",
56122987 18971 "optional" : 1,
c2993fe5 18972 "type" : "boolean",
013dc89f 18973 "typetext" : "<boolean>",
c2993fe5 18974 "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
DM
18975 },
18976 "tdf" : {
18977 "default" : 0,
18978 "description" : "Enable/disable time drift fix.",
18979 "optional" : 1,
013dc89f
DM
18980 "type" : "boolean",
18981 "typetext" : "<boolean>"
7aacca6f
DM
18982 },
18983 "template" : {
7aacca6f 18984 "default" : 0,
44660702 18985 "description" : "Enable/disable Template.",
7aacca6f 18986 "optional" : 1,
013dc89f
DM
18987 "type" : "boolean",
18988 "typetext" : "<boolean>"
7aacca6f 18989 },
44660702
DM
18990 "unique" : {
18991 "description" : "Assign a unique random ethernet address.",
7aacca6f 18992 "optional" : 1,
44660702 18993 "requires" : "archive",
013dc89f
DM
18994 "type" : "boolean",
18995 "typetext" : "<boolean>"
56122987 18996 },
44660702 18997 "unused[n]" : {
c2993fe5 18998 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 18999 "format" : "pve-volume-id",
7aacca6f 19000 "optional" : 1,
013dc89f
DM
19001 "type" : "string",
19002 "typetext" : "<string>"
44660702
DM
19003 },
19004 "usb[n]" : {
c2993fe5 19005 "description" : "Configure an USB device (n is 0 to 4).",
56122987 19006 "format" : {
7aacca6f
DM
19007 "host" : {
19008 "default_key" : 1,
c2993fe5 19009 "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 19010 "format" : "pve-qm-usb-device",
44660702
DM
19011 "format_description" : "HOSTUSBDEVICE|spice",
19012 "type" : "string"
7aacca6f 19013 },
56122987 19014 "usb3" : {
c2993fe5
DM
19015 "default" : 0,
19016 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
56122987 19017 "optional" : 1,
56122987 19018 "type" : "boolean"
7aacca6f 19019 }
56122987 19020 },
56122987 19021 "optional" : 1,
4bd7df8b
DM
19022 "type" : "string",
19023 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 19024 },
44660702
DM
19025 "vcpus" : {
19026 "default" : 0,
19027 "description" : "Number of hotplugged vcpus.",
19028 "minimum" : 1,
56122987 19029 "optional" : 1,
4bd7df8b 19030 "type" : "integer",
013dc89f 19031 "typetext" : "<integer> (1 - N)"
7aacca6f 19032 },
44660702 19033 "vga" : {
e2d681b3
TL
19034 "description" : "Configure the VGA hardware.",
19035 "format" : {
19036 "memory" : {
19037 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
19038 "maximum" : 512,
19039 "minimum" : 4,
19040 "optional" : 1,
19041 "type" : "integer"
19042 },
19043 "type" : {
19044 "default" : "std",
19045 "default_key" : 1,
19046 "description" : "Select the VGA type.",
19047 "enum" : [
19048 "cirrus",
19049 "qxl",
19050 "qxl2",
19051 "qxl3",
19052 "qxl4",
5f26e15b 19053 "none",
e2d681b3
TL
19054 "serial0",
19055 "serial1",
19056 "serial2",
19057 "serial3",
19058 "std",
19059 "virtio",
19060 "vmware"
19061 ],
19062 "optional" : 1,
19063 "type" : "string"
19064 }
19065 },
44660702 19066 "optional" : 1,
c2993fe5 19067 "type" : "string",
e2d681b3
TL
19068 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
19069 "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 19070 },
44660702
DM
19071 "virtio[n]" : {
19072 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
19073 "format" : {
19074 "aio" : {
19075 "description" : "AIO type to use.",
19076 "enum" : [
19077 "native",
19078 "threads"
19079 ],
44660702
DM
19080 "optional" : 1,
19081 "type" : "string"
19082 },
19083 "backup" : {
19084 "description" : "Whether the drive should be included when making backups.",
44660702
DM
19085 "optional" : 1,
19086 "type" : "boolean"
19087 },
19088 "bps" : {
de0983cb 19089 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
19090 "format_description" : "bps",
19091 "optional" : 1,
19092 "type" : "integer"
19093 },
de0983cb
DM
19094 "bps_max_length" : {
19095 "description" : "Maximum length of I/O bursts in seconds.",
19096 "format_description" : "seconds",
19097 "minimum" : 1,
19098 "optional" : 1,
19099 "type" : "integer"
19100 },
44660702 19101 "bps_rd" : {
de0983cb 19102 "description" : "Maximum read speed in bytes per second.",
44660702
DM
19103 "format_description" : "bps",
19104 "optional" : 1,
19105 "type" : "integer"
19106 },
de0983cb 19107 "bps_rd_length" : {
5d9c884c
DM
19108 "alias" : "bps_rd_max_length"
19109 },
19110 "bps_rd_max_length" : {
de0983cb
DM
19111 "description" : "Maximum length of read I/O bursts in seconds.",
19112 "format_description" : "seconds",
19113 "minimum" : 1,
19114 "optional" : 1,
19115 "type" : "integer"
19116 },
44660702 19117 "bps_wr" : {
de0983cb 19118 "description" : "Maximum write speed in bytes per second.",
44660702
DM
19119 "format_description" : "bps",
19120 "optional" : 1,
19121 "type" : "integer"
19122 },
de0983cb 19123 "bps_wr_length" : {
5d9c884c
DM
19124 "alias" : "bps_wr_max_length"
19125 },
19126 "bps_wr_max_length" : {
de0983cb
DM
19127 "description" : "Maximum length of write I/O bursts in seconds.",
19128 "format_description" : "seconds",
19129 "minimum" : 1,
19130 "optional" : 1,
19131 "type" : "integer"
19132 },
44660702
DM
19133 "cache" : {
19134 "description" : "The drive's cache mode",
19135 "enum" : [
19136 "none",
19137 "writethrough",
19138 "writeback",
19139 "unsafe",
19140 "directsync"
19141 ],
44660702
DM
19142 "optional" : 1,
19143 "type" : "string"
19144 },
19145 "cyls" : {
19146 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
19147 "optional" : 1,
19148 "type" : "integer"
19149 },
19150 "detect_zeroes" : {
19151 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
19152 "optional" : 1,
19153 "type" : "boolean"
19154 },
19155 "discard" : {
19156 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
19157 "enum" : [
19158 "ignore",
19159 "on"
19160 ],
44660702
DM
19161 "optional" : 1,
19162 "type" : "string"
19163 },
19164 "file" : {
19165 "default_key" : 1,
19166 "description" : "The drive's backing volume.",
19167 "format" : "pve-volume-id-or-qm-path",
19168 "format_description" : "volume",
19169 "type" : "string"
19170 },
19171 "format" : {
19172 "description" : "The drive's backing file's data format.",
19173 "enum" : [
19174 "raw",
19175 "cow",
19176 "qcow",
19177 "qed",
19178 "qcow2",
19179 "vmdk",
19180 "cloop"
19181 ],
44660702
DM
19182 "optional" : 1,
19183 "type" : "string"
19184 },
19185 "heads" : {
19186 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
19187 "optional" : 1,
19188 "type" : "integer"
19189 },
19190 "iops" : {
de0983cb 19191 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
19192 "format_description" : "iops",
19193 "optional" : 1,
19194 "type" : "integer"
19195 },
19196 "iops_max" : {
de0983cb 19197 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
19198 "format_description" : "iops",
19199 "optional" : 1,
19200 "type" : "integer"
19201 },
de0983cb
DM
19202 "iops_max_length" : {
19203 "description" : "Maximum length of I/O bursts in seconds.",
19204 "format_description" : "seconds",
19205 "minimum" : 1,
19206 "optional" : 1,
19207 "type" : "integer"
19208 },
44660702 19209 "iops_rd" : {
de0983cb 19210 "description" : "Maximum read I/O in operations per second.",
44660702
DM
19211 "format_description" : "iops",
19212 "optional" : 1,
19213 "type" : "integer"
19214 },
de0983cb 19215 "iops_rd_length" : {
5d9c884c 19216 "alias" : "iops_rd_max_length"
de0983cb 19217 },
44660702 19218 "iops_rd_max" : {
de0983cb 19219 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
19220 "format_description" : "iops",
19221 "optional" : 1,
19222 "type" : "integer"
19223 },
5d9c884c
DM
19224 "iops_rd_max_length" : {
19225 "description" : "Maximum length of read I/O bursts in seconds.",
19226 "format_description" : "seconds",
19227 "minimum" : 1,
19228 "optional" : 1,
19229 "type" : "integer"
19230 },
44660702 19231 "iops_wr" : {
de0983cb 19232 "description" : "Maximum write I/O in operations per second.",
44660702
DM
19233 "format_description" : "iops",
19234 "optional" : 1,
19235 "type" : "integer"
19236 },
de0983cb 19237 "iops_wr_length" : {
5d9c884c 19238 "alias" : "iops_wr_max_length"
de0983cb 19239 },
44660702 19240 "iops_wr_max" : {
de0983cb 19241 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
19242 "format_description" : "iops",
19243 "optional" : 1,
19244 "type" : "integer"
19245 },
5d9c884c
DM
19246 "iops_wr_max_length" : {
19247 "description" : "Maximum length of write I/O bursts in seconds.",
19248 "format_description" : "seconds",
19249 "minimum" : 1,
19250 "optional" : 1,
19251 "type" : "integer"
19252 },
44660702
DM
19253 "iothread" : {
19254 "description" : "Whether to use iothreads for this drive",
44660702
DM
19255 "optional" : 1,
19256 "type" : "boolean"
19257 },
19258 "mbps" : {
de0983cb 19259 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
19260 "format_description" : "mbps",
19261 "optional" : 1,
19262 "type" : "number"
19263 },
19264 "mbps_max" : {
de0983cb 19265 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
19266 "format_description" : "mbps",
19267 "optional" : 1,
19268 "type" : "number"
19269 },
19270 "mbps_rd" : {
de0983cb 19271 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
19272 "format_description" : "mbps",
19273 "optional" : 1,
19274 "type" : "number"
19275 },
19276 "mbps_rd_max" : {
de0983cb 19277 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
19278 "format_description" : "mbps",
19279 "optional" : 1,
19280 "type" : "number"
19281 },
19282 "mbps_wr" : {
de0983cb 19283 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
19284 "format_description" : "mbps",
19285 "optional" : 1,
19286 "type" : "number"
19287 },
19288 "mbps_wr_max" : {
de0983cb 19289 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
19290 "format_description" : "mbps",
19291 "optional" : 1,
19292 "type" : "number"
19293 },
19294 "media" : {
19295 "default" : "disk",
19296 "description" : "The drive's media type.",
19297 "enum" : [
19298 "cdrom",
19299 "disk"
19300 ],
44660702
DM
19301 "optional" : 1,
19302 "type" : "string"
19303 },
5d9c884c
DM
19304 "replicate" : {
19305 "default" : 1,
19306 "description" : "Whether the drive should considered for replication jobs.",
19307 "optional" : 1,
19308 "type" : "boolean"
19309 },
44660702
DM
19310 "rerror" : {
19311 "description" : "Read error action.",
19312 "enum" : [
19313 "ignore",
19314 "report",
19315 "stop"
19316 ],
44660702
DM
19317 "optional" : 1,
19318 "type" : "string"
19319 },
19320 "secs" : {
19321 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
19322 "optional" : 1,
19323 "type" : "integer"
19324 },
19325 "serial" : {
19326 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
19327 "format" : "urlencoded",
19328 "format_description" : "serial",
19329 "maxLength" : 60,
19330 "optional" : 1,
19331 "type" : "string"
19332 },
27a7acb2
DM
19333 "shared" : {
19334 "default" : 0,
19335 "description" : "Mark this locally-managed volume as available on all nodes",
19336 "optional" : 1,
19337 "type" : "boolean",
19338 "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!"
19339 },
44660702
DM
19340 "size" : {
19341 "description" : "Disk size. This is purely informational and has no effect.",
19342 "format" : "disk-size",
f004f5b9 19343 "format_description" : "DiskSize",
44660702
DM
19344 "optional" : 1,
19345 "type" : "string"
19346 },
19347 "snapshot" : {
27a7acb2 19348 "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
19349 "optional" : 1,
19350 "type" : "boolean"
19351 },
19352 "trans" : {
19353 "description" : "Force disk geometry bios translation mode.",
19354 "enum" : [
19355 "none",
19356 "lba",
19357 "auto"
19358 ],
44660702
DM
19359 "optional" : 1,
19360 "type" : "string"
19361 },
19362 "volume" : {
19363 "alias" : "file"
19364 },
19365 "werror" : {
19366 "description" : "Write error action.",
19367 "enum" : [
19368 "enospc",
19369 "ignore",
19370 "report",
19371 "stop"
19372 ],
44660702
DM
19373 "optional" : 1,
19374 "type" : "string"
19375 }
19376 },
19377 "optional" : 1,
4bd7df8b 19378 "type" : "string",
27a7acb2 19379 "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 19380 },
4d47f125
TL
19381 "vmgenid" : {
19382 "default" : "1 (autogenerated)",
19383 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
19384 "format_description" : "UUID",
19385 "optional" : 1,
19386 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
19387 "type" : "string",
19388 "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."
19389 },
44660702
DM
19390 "vmid" : {
19391 "description" : "The (unique) ID of the VM.",
19392 "format" : "pve-vmid",
19393 "minimum" : 1,
4bd7df8b 19394 "type" : "integer",
013dc89f 19395 "typetext" : "<integer> (1 - N)"
44660702 19396 },
2489d6df
WB
19397 "vmstatestorage" : {
19398 "description" : "Default storage for VM state volumes/files.",
19399 "format" : "pve-storage-id",
19400 "optional" : 1,
19401 "type" : "string",
19402 "typetext" : "<string>"
19403 },
44660702 19404 "watchdog" : {
c2993fe5 19405 "description" : "Create a virtual hardware watchdog device.",
44660702 19406 "format" : "pve-qm-watchdog",
7aacca6f 19407 "optional" : 1,
c2993fe5 19408 "type" : "string",
013dc89f 19409 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 19410 "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 19411 }
44660702 19412 }
56122987 19413 },
56122987 19414 "permissions" : {
44660702
DM
19415 "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.",
19416 "user" : "all"
56122987 19417 },
44660702
DM
19418 "protected" : 1,
19419 "proxyto" : "node",
56122987 19420 "returns" : {
44660702 19421 "type" : "string"
7aacca6f 19422 }
56122987 19423 }
7aacca6f 19424 },
44660702 19425 "leaf" : 0,
7aacca6f 19426 "path" : "/nodes/{node}/qemu",
44660702 19427 "text" : "qemu"
56122987
DM
19428 },
19429 {
19430 "children" : [
19431 {
56122987
DM
19432 "children" : [
19433 {
56122987 19434 "info" : {
44660702
DM
19435 "GET" : {
19436 "description" : "Get container configuration.",
19437 "method" : "GET",
19438 "name" : "vm_config",
19439 "parameters" : {
19440 "additionalProperties" : 0,
19441 "properties" : {
19442 "node" : {
19443 "description" : "The cluster node name.",
19444 "format" : "pve-node",
013dc89f 19445 "type" : "string",
4d47f125
TL
19446 "typetext" : "<string>"
19447 },
5f26e15b
TL
19448 "snapshot" : {
19449 "description" : "Fetch config values from given snapshot.",
19450 "format" : "pve-configid",
19451 "maxLength" : 40,
19452 "optional" : 1,
19453 "type" : "string",
19454 "typetext" : "<string>"
19455 },
4d47f125
TL
19456 "vmid" : {
19457 "description" : "The (unique) ID of the VM.",
19458 "format" : "pve-vmid",
19459 "minimum" : 1,
19460 "type" : "integer",
19461 "typetext" : "<integer> (1 - N)"
19462 }
19463 }
19464 },
19465 "permissions" : {
19466 "check" : [
19467 "perm",
19468 "/vms/{vmid}",
19469 [
19470 "VM.Audit"
19471 ]
19472 ]
19473 },
19474 "proxyto" : "node",
19475 "returns" : {
19476 "properties" : {
19477 "arch" : {
19478 "default" : "amd64",
19479 "description" : "OS architecture type.",
19480 "enum" : [
19481 "amd64",
19482 "i386",
19483 "arm64",
19484 "armhf"
19485 ],
19486 "optional" : 1,
19487 "type" : "string"
19488 },
19489 "cmode" : {
19490 "default" : "tty",
19491 "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).",
19492 "enum" : [
19493 "shell",
19494 "console",
19495 "tty"
19496 ],
19497 "optional" : 1,
19498 "type" : "string"
19499 },
19500 "console" : {
19501 "default" : 1,
19502 "description" : "Attach a console device (/dev/console) to the container.",
19503 "optional" : 1,
19504 "type" : "boolean"
19505 },
19506 "cores" : {
19507 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
19508 "maximum" : 128,
19509 "minimum" : 1,
19510 "optional" : 1,
19511 "type" : "integer"
19512 },
19513 "cpulimit" : {
19514 "default" : 0,
19515 "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.",
19516 "maximum" : 128,
19517 "minimum" : 0,
19518 "optional" : 1,
19519 "type" : "number"
19520 },
19521 "cpuunits" : {
19522 "default" : 1024,
19523 "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.",
19524 "maximum" : 500000,
19525 "minimum" : 0,
19526 "optional" : 1,
19527 "type" : "integer"
19528 },
19529 "description" : {
19530 "description" : "Container description. Only used on the configuration web interface.",
19531 "optional" : 1,
19532 "type" : "string"
19533 },
19534 "digest" : {
19535 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
19536 "type" : "string"
19537 },
19538 "features" : {
19539 "description" : "Allow containers access to advanced features.",
19540 "format" : {
e2d681b3
TL
19541 "fuse" : {
19542 "default" : 0,
19543 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
19544 "optional" : 1,
19545 "type" : "boolean"
19546 },
4d47f125
TL
19547 "keyctl" : {
19548 "default" : 0,
19549 "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.",
19550 "optional" : 1,
19551 "type" : "boolean"
19552 },
19553 "mount" : {
19554 "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.",
19555 "format_description" : "fstype;fstype;...",
19556 "optional" : 1,
95895385 19557 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
19558 "type" : "string"
19559 },
19560 "nesting" : {
19561 "default" : 0,
19562 "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.",
19563 "optional" : 1,
19564 "type" : "boolean"
19565 }
19566 },
19567 "optional" : 1,
19568 "type" : "string"
19569 },
5f26e15b
TL
19570 "hookscript" : {
19571 "description" : "Script that will be exectued during various steps in the containers lifetime.",
19572 "format" : "pve-volume-id",
19573 "optional" : 1,
19574 "type" : "string"
19575 },
4d47f125
TL
19576 "hostname" : {
19577 "description" : "Set a host name for the container.",
19578 "format" : "dns-name",
19579 "maxLength" : 255,
19580 "optional" : 1,
19581 "type" : "string"
19582 },
19583 "lock" : {
19584 "description" : "Lock/unlock the VM.",
19585 "enum" : [
19586 "backup",
bb4c8cf8 19587 "create",
4d47f125 19588 "disk",
bb4c8cf8 19589 "fstrim",
4d47f125
TL
19590 "migrate",
19591 "mounted",
19592 "rollback",
19593 "snapshot",
19594 "snapshot-delete"
19595 ],
19596 "optional" : 1,
19597 "type" : "string"
19598 },
19599 "lxc" : {
19600 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
19601 "items" : {
19602 "items" : {
19603 "type" : "string"
19604 },
19605 "type" : "array"
19606 },
19607 "optional" : 1,
19608 "type" : "array"
19609 },
19610 "memory" : {
19611 "default" : 512,
19612 "description" : "Amount of RAM for the VM in MB.",
19613 "minimum" : 16,
19614 "optional" : 1,
19615 "type" : "integer"
19616 },
19617 "mp[n]" : {
19618 "description" : "Use volume as container mount point.",
19619 "format" : {
19620 "acl" : {
19621 "description" : "Explicitly enable or disable ACL support.",
19622 "optional" : 1,
19623 "type" : "boolean"
19624 },
19625 "backup" : {
19626 "description" : "Whether to include the mount point in backups.",
19627 "optional" : 1,
19628 "type" : "boolean",
19629 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
19630 },
19631 "mp" : {
19632 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
19633 "format" : "pve-lxc-mp-string",
19634 "format_description" : "Path",
19635 "type" : "string",
19636 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
19637 },
19638 "quota" : {
19639 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19640 "optional" : 1,
19641 "type" : "boolean"
19642 },
19643 "replicate" : {
19644 "default" : 1,
19645 "description" : "Will include this volume to a storage replica job.",
19646 "optional" : 1,
19647 "type" : "boolean"
19648 },
19649 "ro" : {
19650 "description" : "Read-only mount point",
19651 "optional" : 1,
19652 "type" : "boolean"
19653 },
19654 "shared" : {
19655 "default" : 0,
19656 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19657 "optional" : 1,
19658 "type" : "boolean",
19659 "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!"
19660 },
19661 "size" : {
19662 "description" : "Volume size (read only value).",
19663 "format" : "disk-size",
19664 "format_description" : "DiskSize",
19665 "optional" : 1,
19666 "type" : "string"
19667 },
19668 "volume" : {
19669 "default_key" : 1,
19670 "description" : "Volume, device or directory to mount into the container.",
19671 "format" : "pve-lxc-mp-string",
19672 "format_description" : "volume",
19673 "type" : "string"
19674 }
19675 },
19676 "optional" : 1,
19677 "type" : "string"
19678 },
19679 "nameserver" : {
19680 "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.",
19681 "format" : "address-list",
19682 "optional" : 1,
19683 "type" : "string"
19684 },
19685 "net[n]" : {
19686 "description" : "Specifies network interfaces for the container.",
19687 "format" : {
19688 "bridge" : {
19689 "description" : "Bridge to attach the network device to.",
19690 "format_description" : "bridge",
19691 "optional" : 1,
19692 "pattern" : "[-_.\\w\\d]+",
19693 "type" : "string"
19694 },
19695 "firewall" : {
19696 "description" : "Controls whether this interface's firewall rules should be used.",
19697 "optional" : 1,
19698 "type" : "boolean"
19699 },
19700 "gw" : {
19701 "description" : "Default gateway for IPv4 traffic.",
19702 "format" : "ipv4",
19703 "format_description" : "GatewayIPv4",
19704 "optional" : 1,
19705 "type" : "string"
19706 },
19707 "gw6" : {
19708 "description" : "Default gateway for IPv6 traffic.",
19709 "format" : "ipv6",
19710 "format_description" : "GatewayIPv6",
19711 "optional" : 1,
19712 "type" : "string"
19713 },
19714 "hwaddr" : {
19715 "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 19716 "format" : "mac-addr",
4d47f125
TL
19717 "format_description" : "XX:XX:XX:XX:XX:XX",
19718 "optional" : 1,
95895385
TL
19719 "type" : "string",
19720 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
19721 },
19722 "ip" : {
19723 "description" : "IPv4 address in CIDR format.",
19724 "format" : "pve-ipv4-config",
19725 "format_description" : "(IPv4/CIDR|dhcp|manual)",
19726 "optional" : 1,
19727 "type" : "string"
19728 },
19729 "ip6" : {
19730 "description" : "IPv6 address in CIDR format.",
19731 "format" : "pve-ipv6-config",
19732 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
19733 "optional" : 1,
19734 "type" : "string"
19735 },
19736 "mtu" : {
19737 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
19738 "minimum" : 64,
19739 "optional" : 1,
19740 "type" : "integer"
19741 },
19742 "name" : {
19743 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
19744 "format_description" : "string",
19745 "pattern" : "[-_.\\w\\d]+",
19746 "type" : "string"
19747 },
19748 "rate" : {
19749 "description" : "Apply rate limiting to the interface",
19750 "format_description" : "mbps",
19751 "optional" : 1,
19752 "type" : "number"
19753 },
19754 "tag" : {
19755 "description" : "VLAN tag for this interface.",
19756 "maximum" : 4094,
19757 "minimum" : 1,
19758 "optional" : 1,
19759 "type" : "integer"
19760 },
19761 "trunks" : {
19762 "description" : "VLAN ids to pass through the interface",
19763 "format_description" : "vlanid[;vlanid...]",
19764 "optional" : 1,
19765 "pattern" : "(?^:\\d+(?:;\\d+)*)",
19766 "type" : "string"
19767 },
19768 "type" : {
19769 "description" : "Network interface type.",
19770 "enum" : [
19771 "veth"
19772 ],
19773 "optional" : 1,
19774 "type" : "string"
19775 }
19776 },
19777 "optional" : 1,
19778 "type" : "string"
19779 },
19780 "onboot" : {
19781 "default" : 0,
19782 "description" : "Specifies whether a VM will be started during system bootup.",
19783 "optional" : 1,
19784 "type" : "boolean"
19785 },
19786 "ostype" : {
19787 "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.",
19788 "enum" : [
19789 "debian",
19790 "ubuntu",
19791 "centos",
19792 "fedora",
19793 "opensuse",
19794 "archlinux",
19795 "alpine",
19796 "gentoo",
19797 "unmanaged"
19798 ],
19799 "optional" : 1,
19800 "type" : "string"
19801 },
19802 "protection" : {
19803 "default" : 0,
19804 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
19805 "optional" : 1,
19806 "type" : "boolean"
19807 },
19808 "rootfs" : {
19809 "description" : "Use volume as container root.",
19810 "format" : {
19811 "acl" : {
19812 "description" : "Explicitly enable or disable ACL support.",
19813 "optional" : 1,
19814 "type" : "boolean"
19815 },
19816 "quota" : {
19817 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19818 "optional" : 1,
19819 "type" : "boolean"
19820 },
19821 "replicate" : {
19822 "default" : 1,
19823 "description" : "Will include this volume to a storage replica job.",
19824 "optional" : 1,
19825 "type" : "boolean"
19826 },
19827 "ro" : {
19828 "description" : "Read-only mount point",
19829 "optional" : 1,
19830 "type" : "boolean"
19831 },
19832 "shared" : {
19833 "default" : 0,
19834 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19835 "optional" : 1,
19836 "type" : "boolean",
19837 "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!"
19838 },
19839 "size" : {
19840 "description" : "Volume size (read only value).",
19841 "format" : "disk-size",
19842 "format_description" : "DiskSize",
19843 "optional" : 1,
19844 "type" : "string"
19845 },
19846 "volume" : {
19847 "default_key" : 1,
19848 "description" : "Volume, device or directory to mount into the container.",
19849 "format" : "pve-lxc-mp-string",
19850 "format_description" : "volume",
19851 "type" : "string"
19852 }
19853 },
19854 "optional" : 1,
19855 "type" : "string"
19856 },
19857 "searchdomain" : {
19858 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
19859 "format" : "dns-name-list",
19860 "optional" : 1,
19861 "type" : "string"
19862 },
19863 "startup" : {
19864 "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.",
19865 "format" : "pve-startup-order",
19866 "optional" : 1,
19867 "type" : "string",
19868 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
19869 },
19870 "swap" : {
19871 "default" : 512,
19872 "description" : "Amount of SWAP for the VM in MB.",
19873 "minimum" : 0,
19874 "optional" : 1,
19875 "type" : "integer"
19876 },
19877 "template" : {
19878 "default" : 0,
19879 "description" : "Enable/disable Template.",
19880 "optional" : 1,
19881 "type" : "boolean"
44660702 19882 },
4d47f125
TL
19883 "tty" : {
19884 "default" : 2,
19885 "description" : "Specify the number of tty available to the container",
19886 "maximum" : 6,
19887 "minimum" : 0,
19888 "optional" : 1,
19889 "type" : "integer"
19890 },
19891 "unprivileged" : {
19892 "default" : 0,
19893 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
19894 "optional" : 1,
19895 "type" : "boolean"
19896 },
19897 "unused[n]" : {
19898 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
19899 "format" : "pve-volume-id",
19900 "optional" : 1,
44660702
DM
19901 "type" : "string"
19902 }
19903 },
19904 "type" : "object"
19905 }
19906 },
56122987 19907 "PUT" : {
44660702
DM
19908 "description" : "Set container options.",
19909 "method" : "PUT",
19910 "name" : "update_vm",
56122987 19911 "parameters" : {
44660702 19912 "additionalProperties" : 0,
56122987 19913 "properties" : {
44660702
DM
19914 "arch" : {
19915 "default" : "amd64",
19916 "description" : "OS architecture type.",
19917 "enum" : [
19918 "amd64",
4d47f125
TL
19919 "i386",
19920 "arm64",
19921 "armhf"
44660702 19922 ],
7aacca6f 19923 "optional" : 1,
44660702
DM
19924 "type" : "string"
19925 },
19926 "cmode" : {
7aacca6f 19927 "default" : "tty",
44660702 19928 "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
19929 "enum" : [
19930 "shell",
19931 "console",
19932 "tty"
19933 ],
44660702
DM
19934 "optional" : 1,
19935 "type" : "string"
7aacca6f 19936 },
44660702
DM
19937 "console" : {
19938 "default" : 1,
19939 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 19940 "optional" : 1,
013dc89f
DM
19941 "type" : "boolean",
19942 "typetext" : "<boolean>"
7aacca6f 19943 },
de0983cb
DM
19944 "cores" : {
19945 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
19946 "maximum" : 128,
19947 "minimum" : 1,
19948 "optional" : 1,
19949 "type" : "integer",
013dc89f 19950 "typetext" : "<integer> (1 - 128)"
de0983cb 19951 },
44660702
DM
19952 "cpulimit" : {
19953 "default" : 0,
19954 "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.",
19955 "maximum" : 128,
7aacca6f 19956 "minimum" : 0,
7aacca6f 19957 "optional" : 1,
4bd7df8b 19958 "type" : "number",
013dc89f 19959 "typetext" : "<number> (0 - 128)"
7aacca6f 19960 },
44660702
DM
19961 "cpuunits" : {
19962 "default" : 1024,
19963 "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.",
19964 "maximum" : 500000,
19965 "minimum" : 0,
19966 "optional" : 1,
4bd7df8b 19967 "type" : "integer",
013dc89f 19968 "typetext" : "<integer> (0 - 500000)"
7aacca6f 19969 },
44660702
DM
19970 "delete" : {
19971 "description" : "A list of settings you want to delete.",
19972 "format" : "pve-configid-list",
7aacca6f 19973 "optional" : 1,
013dc89f
DM
19974 "type" : "string",
19975 "typetext" : "<string>"
7aacca6f 19976 },
44660702
DM
19977 "description" : {
19978 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 19979 "optional" : 1,
013dc89f
DM
19980 "type" : "string",
19981 "typetext" : "<string>"
7aacca6f 19982 },
44660702
DM
19983 "digest" : {
19984 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19985 "maxLength" : 40,
7aacca6f 19986 "optional" : 1,
013dc89f
DM
19987 "type" : "string",
19988 "typetext" : "<string>"
7aacca6f 19989 },
4d47f125
TL
19990 "features" : {
19991 "description" : "Allow containers access to advanced features.",
19992 "format" : {
e2d681b3
TL
19993 "fuse" : {
19994 "default" : 0,
19995 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
19996 "optional" : 1,
19997 "type" : "boolean"
19998 },
4d47f125
TL
19999 "keyctl" : {
20000 "default" : 0,
20001 "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.",
20002 "optional" : 1,
20003 "type" : "boolean"
20004 },
20005 "mount" : {
20006 "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.",
20007 "format_description" : "fstype;fstype;...",
20008 "optional" : 1,
95895385 20009 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
20010 "type" : "string"
20011 },
20012 "nesting" : {
20013 "default" : 0,
20014 "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.",
20015 "optional" : 1,
20016 "type" : "boolean"
20017 }
20018 },
20019 "optional" : 1,
20020 "type" : "string",
e2d681b3 20021 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 20022 },
5f26e15b
TL
20023 "hookscript" : {
20024 "description" : "Script that will be exectued during various steps in the containers lifetime.",
20025 "format" : "pve-volume-id",
20026 "optional" : 1,
20027 "type" : "string",
20028 "typetext" : "<string>"
20029 },
44660702
DM
20030 "hostname" : {
20031 "description" : "Set a host name for the container.",
20032 "format" : "dns-name",
20033 "maxLength" : 255,
56122987 20034 "optional" : 1,
013dc89f
DM
20035 "type" : "string",
20036 "typetext" : "<string>"
44660702
DM
20037 },
20038 "lock" : {
20039 "description" : "Lock/unlock the VM.",
20040 "enum" : [
44660702 20041 "backup",
bb4c8cf8 20042 "create",
4d47f125 20043 "disk",
bb4c8cf8 20044 "fstrim",
4d47f125
TL
20045 "migrate",
20046 "mounted",
20047 "rollback",
44660702 20048 "snapshot",
4d47f125 20049 "snapshot-delete"
44660702
DM
20050 ],
20051 "optional" : 1,
20052 "type" : "string"
20053 },
20054 "memory" : {
20055 "default" : 512,
20056 "description" : "Amount of RAM for the VM in MB.",
20057 "minimum" : 16,
20058 "optional" : 1,
4bd7df8b 20059 "type" : "integer",
013dc89f 20060 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
20061 },
20062 "mp[n]" : {
c2993fe5 20063 "description" : "Use volume as container mount point.",
7aacca6f 20064 "format" : {
7aacca6f
DM
20065 "acl" : {
20066 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 20067 "optional" : 1,
44660702 20068 "type" : "boolean"
7aacca6f
DM
20069 },
20070 "backup" : {
de0983cb 20071 "description" : "Whether to include the mount point in backups.",
7aacca6f 20072 "optional" : 1,
4bd7df8b 20073 "type" : "boolean",
de0983cb 20074 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
20075 },
20076 "mp" : {
de0983cb 20077 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 20078 "format" : "pve-lxc-mp-string",
44660702 20079 "format_description" : "Path",
4bd7df8b 20080 "type" : "string",
de0983cb 20081 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 20082 },
5d9c884c
DM
20083 "quota" : {
20084 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
20085 "optional" : 1,
20086 "type" : "boolean"
20087 },
20088 "replicate" : {
20089 "default" : 1,
20090 "description" : "Will include this volume to a storage replica job.",
44660702
DM
20091 "optional" : 1,
20092 "type" : "boolean"
20093 },
20094 "ro" : {
de0983cb 20095 "description" : "Read-only mount point",
44660702
DM
20096 "optional" : 1,
20097 "type" : "boolean"
20098 },
de0983cb
DM
20099 "shared" : {
20100 "default" : 0,
20101 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20102 "optional" : 1,
20103 "type" : "boolean",
20104 "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!"
20105 },
44660702
DM
20106 "size" : {
20107 "description" : "Volume size (read only value).",
20108 "format" : "disk-size",
20109 "format_description" : "DiskSize",
20110 "optional" : 1,
20111 "type" : "string"
20112 },
20113 "volume" : {
20114 "default_key" : 1,
20115 "description" : "Volume, device or directory to mount into the container.",
20116 "format" : "pve-lxc-mp-string",
20117 "format_description" : "volume",
20118 "type" : "string"
20119 }
20120 },
7aacca6f 20121 "optional" : 1,
4bd7df8b 20122 "type" : "string",
5d9c884c 20123 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 20124 },
44660702
DM
20125 "nameserver" : {
20126 "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.",
20127 "format" : "address-list",
56122987 20128 "optional" : 1,
013dc89f
DM
20129 "type" : "string",
20130 "typetext" : "<string>"
56122987
DM
20131 },
20132 "net[n]" : {
44660702 20133 "description" : "Specifies network interfaces for the container.",
56122987 20134 "format" : {
44660702
DM
20135 "bridge" : {
20136 "description" : "Bridge to attach the network device to.",
f004f5b9 20137 "format_description" : "bridge",
56122987 20138 "optional" : 1,
44660702
DM
20139 "pattern" : "[-_.\\w\\d]+",
20140 "type" : "string"
56122987 20141 },
44660702
DM
20142 "firewall" : {
20143 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 20144 "optional" : 1,
44660702 20145 "type" : "boolean"
56122987 20146 },
44660702
DM
20147 "gw" : {
20148 "description" : "Default gateway for IPv4 traffic.",
20149 "format" : "ipv4",
20150 "format_description" : "GatewayIPv4",
56122987 20151 "optional" : 1,
44660702 20152 "type" : "string"
56122987
DM
20153 },
20154 "gw6" : {
7aacca6f 20155 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
20156 "format" : "ipv6",
20157 "format_description" : "GatewayIPv6",
7aacca6f 20158 "optional" : 1,
56122987
DM
20159 "type" : "string"
20160 },
44660702 20161 "hwaddr" : {
f004f5b9 20162 "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 20163 "format" : "mac-addr",
f004f5b9 20164 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702 20165 "optional" : 1,
95895385
TL
20166 "type" : "string",
20167 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
44660702
DM
20168 },
20169 "ip" : {
20170 "description" : "IPv4 address in CIDR format.",
20171 "format" : "pve-ipv4-config",
2489d6df 20172 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 20173 "optional" : 1,
44660702 20174 "type" : "string"
56122987 20175 },
7aacca6f 20176 "ip6" : {
7aacca6f
DM
20177 "description" : "IPv6 address in CIDR format.",
20178 "format" : "pve-ipv6-config",
2489d6df 20179 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 20180 "optional" : 1,
44660702 20181 "type" : "string"
56122987 20182 },
44660702
DM
20183 "mtu" : {
20184 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 20185 "minimum" : 64,
56122987 20186 "optional" : 1,
44660702 20187 "type" : "integer"
56122987
DM
20188 },
20189 "name" : {
44660702 20190 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 20191 "format_description" : "string",
56122987 20192 "pattern" : "[-_.\\w\\d]+",
44660702 20193 "type" : "string"
56122987 20194 },
44660702
DM
20195 "rate" : {
20196 "description" : "Apply rate limiting to the interface",
20197 "format_description" : "mbps",
56122987 20198 "optional" : 1,
44660702 20199 "type" : "number"
7aacca6f 20200 },
44660702
DM
20201 "tag" : {
20202 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
20203 "maximum" : 4094,
20204 "minimum" : 1,
56122987 20205 "optional" : 1,
7aacca6f 20206 "type" : "integer"
56122987 20207 },
44660702
DM
20208 "trunks" : {
20209 "description" : "VLAN ids to pass through the interface",
20210 "format_description" : "vlanid[;vlanid...]",
20211 "optional" : 1,
20212 "pattern" : "(?^:\\d+(?:;\\d+)*)",
20213 "type" : "string"
20214 },
20215 "type" : {
20216 "description" : "Network interface type.",
20217 "enum" : [
20218 "veth"
20219 ],
56122987 20220 "optional" : 1,
44660702 20221 "type" : "string"
56122987
DM
20222 }
20223 },
7aacca6f 20224 "optional" : 1,
4bd7df8b 20225 "type" : "string",
2489d6df 20226 "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 20227 },
44660702
DM
20228 "node" : {
20229 "description" : "The cluster node name.",
20230 "format" : "pve-node",
013dc89f
DM
20231 "type" : "string",
20232 "typetext" : "<string>"
56122987 20233 },
44660702
DM
20234 "onboot" : {
20235 "default" : 0,
20236 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 20237 "optional" : 1,
013dc89f
DM
20238 "type" : "boolean",
20239 "typetext" : "<boolean>"
56122987 20240 },
44660702
DM
20241 "ostype" : {
20242 "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.",
20243 "enum" : [
20244 "debian",
20245 "ubuntu",
20246 "centos",
20247 "fedora",
20248 "opensuse",
20249 "archlinux",
20250 "alpine",
57b78691 20251 "gentoo",
44660702
DM
20252 "unmanaged"
20253 ],
56122987 20254 "optional" : 1,
44660702 20255 "type" : "string"
56122987 20256 },
44660702
DM
20257 "protection" : {
20258 "default" : 0,
20259 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 20260 "optional" : 1,
013dc89f
DM
20261 "type" : "boolean",
20262 "typetext" : "<boolean>"
56122987 20263 },
7aacca6f
DM
20264 "rootfs" : {
20265 "description" : "Use volume as container root.",
56122987
DM
20266 "format" : {
20267 "acl" : {
44660702 20268 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
20269 "optional" : 1,
20270 "type" : "boolean"
56122987 20271 },
44660702
DM
20272 "quota" : {
20273 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
20274 "optional" : 1,
20275 "type" : "boolean"
20276 },
5d9c884c
DM
20277 "replicate" : {
20278 "default" : 1,
20279 "description" : "Will include this volume to a storage replica job.",
20280 "optional" : 1,
20281 "type" : "boolean"
20282 },
44660702 20283 "ro" : {
de0983cb 20284 "description" : "Read-only mount point",
56122987 20285 "optional" : 1,
44660702
DM
20286 "type" : "boolean"
20287 },
de0983cb
DM
20288 "shared" : {
20289 "default" : 0,
20290 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20291 "optional" : 1,
20292 "type" : "boolean",
20293 "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!"
20294 },
44660702 20295 "size" : {
7aacca6f 20296 "description" : "Volume size (read only value).",
44660702 20297 "format" : "disk-size",
56122987 20298 "format_description" : "DiskSize",
56122987 20299 "optional" : 1,
44660702 20300 "type" : "string"
7aacca6f
DM
20301 },
20302 "volume" : {
7aacca6f
DM
20303 "default_key" : 1,
20304 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
20305 "format" : "pve-lxc-mp-string",
20306 "format_description" : "volume",
7aacca6f 20307 "type" : "string"
56122987 20308 }
44660702
DM
20309 },
20310 "optional" : 1,
4bd7df8b 20311 "type" : "string",
5d9c884c 20312 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
20313 },
20314 "searchdomain" : {
20315 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
20316 "format" : "dns-name-list",
20317 "optional" : 1,
013dc89f
DM
20318 "type" : "string",
20319 "typetext" : "<string>"
44660702
DM
20320 },
20321 "startup" : {
20322 "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.",
20323 "format" : "pve-startup-order",
20324 "optional" : 1,
20325 "type" : "string",
20326 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
20327 },
20328 "swap" : {
20329 "default" : 512,
20330 "description" : "Amount of SWAP for the VM in MB.",
20331 "minimum" : 0,
20332 "optional" : 1,
4bd7df8b 20333 "type" : "integer",
013dc89f 20334 "typetext" : "<integer> (0 - N)"
56122987 20335 },
56122987 20336 "template" : {
44660702 20337 "default" : 0,
7aacca6f 20338 "description" : "Enable/disable Template.",
56122987 20339 "optional" : 1,
013dc89f
DM
20340 "type" : "boolean",
20341 "typetext" : "<boolean>"
56122987 20342 },
44660702
DM
20343 "tty" : {
20344 "default" : 2,
20345 "description" : "Specify the number of tty available to the container",
20346 "maximum" : 6,
20347 "minimum" : 0,
20348 "optional" : 1,
4bd7df8b 20349 "type" : "integer",
013dc89f 20350 "typetext" : "<integer> (0 - 6)"
56122987 20351 },
44660702
DM
20352 "unprivileged" : {
20353 "default" : 0,
20354 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 20355 "optional" : 1,
013dc89f
DM
20356 "type" : "boolean",
20357 "typetext" : "<boolean>"
56122987 20358 },
44660702 20359 "unused[n]" : {
c2993fe5 20360 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 20361 "format" : "pve-volume-id",
56122987 20362 "optional" : 1,
013dc89f
DM
20363 "type" : "string",
20364 "typetext" : "<string>"
44660702
DM
20365 },
20366 "vmid" : {
20367 "description" : "The (unique) ID of the VM.",
20368 "format" : "pve-vmid",
20369 "minimum" : 1,
4bd7df8b 20370 "type" : "integer",
013dc89f 20371 "typetext" : "<integer> (1 - N)"
56122987 20372 }
44660702 20373 }
56122987 20374 },
56122987
DM
20375 "permissions" : {
20376 "check" : [
20377 "perm",
20378 "/vms/{vmid}",
20379 [
20380 "VM.Config.Disk",
20381 "VM.Config.CPU",
20382 "VM.Config.Memory",
20383 "VM.Config.Network",
20384 "VM.Config.Options"
20385 ],
20386 "any",
20387 1
52e44c50
FG
20388 ],
20389 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 20390 },
44660702
DM
20391 "protected" : 1,
20392 "proxyto" : "node",
56122987
DM
20393 "returns" : {
20394 "type" : "null"
7aacca6f 20395 }
56122987 20396 }
7aacca6f 20397 },
44660702 20398 "leaf" : 1,
7aacca6f 20399 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 20400 "text" : "config"
56122987
DM
20401 },
20402 {
56122987
DM
20403 "children" : [
20404 {
20405 "info" : {
20406 "GET" : {
44660702 20407 "description" : "Get virtual machine status.",
7aacca6f 20408 "method" : "GET",
44660702 20409 "name" : "vm_status",
56122987 20410 "parameters" : {
44660702 20411 "additionalProperties" : 0,
56122987 20412 "properties" : {
56122987 20413 "node" : {
44660702 20414 "description" : "The cluster node name.",
56122987 20415 "format" : "pve-node",
013dc89f
DM
20416 "type" : "string",
20417 "typetext" : "<string>"
7aacca6f
DM
20418 },
20419 "vmid" : {
20420 "description" : "The (unique) ID of the VM.",
44660702 20421 "format" : "pve-vmid",
7aacca6f 20422 "minimum" : 1,
4bd7df8b 20423 "type" : "integer",
013dc89f 20424 "typetext" : "<integer> (1 - N)"
56122987 20425 }
44660702 20426 }
7aacca6f
DM
20427 },
20428 "permissions" : {
20429 "check" : [
20430 "perm",
20431 "/vms/{vmid}",
20432 [
4d47f125
TL
20433 "VM.Audit"
20434 ]
20435 ]
20436 },
20437 "protected" : 1,
20438 "proxyto" : "node",
20439 "returns" : {
20440 "properties" : {
20441 "cpus" : {
20442 "description" : "Maximum usable CPUs.",
20443 "optional" : 1,
20444 "type" : "number"
20445 },
20446 "ha" : {
20447 "description" : "HA manager service status.",
20448 "type" : "object"
20449 },
95895385
TL
20450 "lock" : {
20451 "description" : "The current config lock, if any.",
20452 "optional" : 1,
20453 "type" : "string"
20454 },
4d47f125
TL
20455 "maxdisk" : {
20456 "description" : "Root disk size in bytes.",
20457 "optional" : 1,
20458 "renderer" : "bytes",
20459 "type" : "integer"
20460 },
20461 "maxmem" : {
20462 "description" : "Maximum memory in bytes.",
20463 "optional" : 1,
20464 "renderer" : "bytes",
20465 "type" : "integer"
20466 },
20467 "maxswap" : {
20468 "description" : "Maximum SWAP memory in bytes.",
20469 "optional" : 1,
20470 "renderer" : "bytes",
20471 "type" : "integer"
20472 },
20473 "name" : {
20474 "description" : "Container name.",
20475 "optional" : 1,
20476 "type" : "string"
20477 },
20478 "status" : {
20479 "description" : "LXC Container status.",
20480 "enum" : [
20481 "stopped",
20482 "running"
20483 ],
20484 "type" : "string"
20485 },
20486 "uptime" : {
20487 "description" : "Uptime.",
20488 "optional" : 1,
20489 "renderer" : "duration",
20490 "type" : "integer"
20491 },
20492 "vmid" : {
20493 "description" : "The (unique) ID of the VM.",
20494 "format" : "pve-vmid",
20495 "minimum" : 1,
20496 "type" : "integer"
20497 }
20498 },
20499 "type" : "object"
20500 }
20501 }
20502 },
20503 "leaf" : 1,
20504 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
20505 "text" : "current"
20506 },
20507 {
20508 "info" : {
20509 "POST" : {
20510 "description" : "Start the container.",
20511 "method" : "POST",
20512 "name" : "vm_start",
20513 "parameters" : {
20514 "additionalProperties" : 0,
20515 "properties" : {
20516 "node" : {
20517 "description" : "The cluster node name.",
20518 "format" : "pve-node",
20519 "type" : "string",
20520 "typetext" : "<string>"
20521 },
20522 "skiplock" : {
20523 "description" : "Ignore locks - only root is allowed to use this option.",
20524 "optional" : 1,
20525 "type" : "boolean",
20526 "typetext" : "<boolean>"
20527 },
20528 "vmid" : {
20529 "description" : "The (unique) ID of the VM.",
20530 "format" : "pve-vmid",
20531 "minimum" : 1,
20532 "type" : "integer",
20533 "typetext" : "<integer> (1 - N)"
20534 }
20535 }
20536 },
20537 "permissions" : {
20538 "check" : [
20539 "perm",
20540 "/vms/{vmid}",
20541 [
20542 "VM.PowerMgmt"
20543 ]
20544 ]
20545 },
20546 "protected" : 1,
20547 "proxyto" : "node",
20548 "returns" : {
20549 "type" : "string"
20550 }
20551 }
20552 },
20553 "leaf" : 1,
20554 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
20555 "text" : "start"
20556 },
20557 {
20558 "info" : {
20559 "POST" : {
20560 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
20561 "method" : "POST",
20562 "name" : "vm_stop",
20563 "parameters" : {
20564 "additionalProperties" : 0,
20565 "properties" : {
20566 "node" : {
20567 "description" : "The cluster node name.",
20568 "format" : "pve-node",
20569 "type" : "string",
20570 "typetext" : "<string>"
20571 },
20572 "skiplock" : {
20573 "description" : "Ignore locks - only root is allowed to use this option.",
20574 "optional" : 1,
20575 "type" : "boolean",
20576 "typetext" : "<boolean>"
20577 },
20578 "vmid" : {
20579 "description" : "The (unique) ID of the VM.",
20580 "format" : "pve-vmid",
20581 "minimum" : 1,
20582 "type" : "integer",
20583 "typetext" : "<integer> (1 - N)"
20584 }
20585 }
20586 },
20587 "permissions" : {
20588 "check" : [
20589 "perm",
20590 "/vms/{vmid}",
20591 [
20592 "VM.PowerMgmt"
20593 ]
20594 ]
20595 },
20596 "protected" : 1,
20597 "proxyto" : "node",
20598 "returns" : {
20599 "type" : "string"
20600 }
20601 }
20602 },
20603 "leaf" : 1,
20604 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
20605 "text" : "stop"
20606 },
20607 {
20608 "info" : {
20609 "POST" : {
20610 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
20611 "method" : "POST",
20612 "name" : "vm_shutdown",
20613 "parameters" : {
20614 "additionalProperties" : 0,
20615 "properties" : {
20616 "forceStop" : {
20617 "default" : 0,
20618 "description" : "Make sure the Container stops.",
20619 "optional" : 1,
20620 "type" : "boolean",
20621 "typetext" : "<boolean>"
20622 },
20623 "node" : {
20624 "description" : "The cluster node name.",
20625 "format" : "pve-node",
20626 "type" : "string",
20627 "typetext" : "<string>"
20628 },
20629 "timeout" : {
20630 "default" : 60,
20631 "description" : "Wait maximal timeout seconds.",
20632 "minimum" : 0,
20633 "optional" : 1,
20634 "type" : "integer",
20635 "typetext" : "<integer> (0 - N)"
20636 },
20637 "vmid" : {
20638 "description" : "The (unique) ID of the VM.",
20639 "format" : "pve-vmid",
20640 "minimum" : 1,
20641 "type" : "integer",
20642 "typetext" : "<integer> (1 - N)"
20643 }
20644 }
20645 },
20646 "permissions" : {
20647 "check" : [
20648 "perm",
20649 "/vms/{vmid}",
20650 [
20651 "VM.PowerMgmt"
7aacca6f
DM
20652 ]
20653 ]
20654 },
44660702 20655 "protected" : 1,
7aacca6f 20656 "proxyto" : "node",
44660702 20657 "returns" : {
4d47f125 20658 "type" : "string"
44660702 20659 }
56122987
DM
20660 }
20661 },
44660702 20662 "leaf" : 1,
4d47f125
TL
20663 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
20664 "text" : "shutdown"
56122987
DM
20665 },
20666 {
56122987
DM
20667 "info" : {
20668 "POST" : {
4d47f125 20669 "description" : "Suspend the container.",
44660702 20670 "method" : "POST",
4d47f125 20671 "name" : "vm_suspend",
56122987
DM
20672 "parameters" : {
20673 "additionalProperties" : 0,
20674 "properties" : {
56122987 20675 "node" : {
7aacca6f 20676 "description" : "The cluster node name.",
44660702 20677 "format" : "pve-node",
013dc89f
DM
20678 "type" : "string",
20679 "typetext" : "<string>"
56122987
DM
20680 },
20681 "vmid" : {
7aacca6f 20682 "description" : "The (unique) ID of the VM.",
44660702 20683 "format" : "pve-vmid",
56122987 20684 "minimum" : 1,
4bd7df8b 20685 "type" : "integer",
013dc89f 20686 "typetext" : "<integer> (1 - N)"
56122987
DM
20687 }
20688 }
20689 },
20690 "permissions" : {
20691 "check" : [
20692 "perm",
20693 "/vms/{vmid}",
20694 [
20695 "VM.PowerMgmt"
20696 ]
20697 ]
20698 },
44660702 20699 "protected" : 1,
7aacca6f 20700 "proxyto" : "node",
44660702
DM
20701 "returns" : {
20702 "type" : "string"
20703 }
20704 }
20705 },
20706 "leaf" : 1,
4d47f125
TL
20707 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
20708 "text" : "suspend"
44660702
DM
20709 },
20710 {
20711 "info" : {
20712 "POST" : {
4d47f125 20713 "description" : "Resume the container.",
7aacca6f 20714 "method" : "POST",
4d47f125 20715 "name" : "vm_resume",
7aacca6f 20716 "parameters" : {
44660702 20717 "additionalProperties" : 0,
7aacca6f 20718 "properties" : {
44660702
DM
20719 "node" : {
20720 "description" : "The cluster node name.",
20721 "format" : "pve-node",
013dc89f
DM
20722 "type" : "string",
20723 "typetext" : "<string>"
44660702 20724 },
7aacca6f 20725 "vmid" : {
44660702 20726 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20727 "format" : "pve-vmid",
20728 "minimum" : 1,
4bd7df8b 20729 "type" : "integer",
013dc89f 20730 "typetext" : "<integer> (1 - N)"
7aacca6f 20731 }
44660702
DM
20732 }
20733 },
20734 "permissions" : {
20735 "check" : [
20736 "perm",
20737 "/vms/{vmid}",
20738 [
20739 "VM.PowerMgmt"
20740 ]
20741 ]
7aacca6f 20742 },
44660702
DM
20743 "protected" : 1,
20744 "proxyto" : "node",
20745 "returns" : {
20746 "type" : "string"
20747 }
56122987 20748 }
7aacca6f 20749 },
7aacca6f 20750 "leaf" : 1,
4d47f125
TL
20751 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
20752 "text" : "resume"
20753 }
20754 ],
20755 "info" : {
20756 "GET" : {
20757 "description" : "Directory index",
20758 "method" : "GET",
20759 "name" : "vmcmdidx",
20760 "parameters" : {
20761 "additionalProperties" : 0,
20762 "properties" : {
20763 "node" : {
20764 "description" : "The cluster node name.",
20765 "format" : "pve-node",
20766 "type" : "string",
20767 "typetext" : "<string>"
20768 },
20769 "vmid" : {
20770 "description" : "The (unique) ID of the VM.",
20771 "format" : "pve-vmid",
20772 "minimum" : 1,
20773 "type" : "integer",
20774 "typetext" : "<integer> (1 - N)"
20775 }
20776 }
20777 },
20778 "permissions" : {
20779 "user" : "all"
20780 },
20781 "proxyto" : "node",
20782 "returns" : {
20783 "items" : {
20784 "properties" : {
20785 "subdir" : {
20786 "type" : "string"
20787 }
20788 },
20789 "type" : "object"
20790 },
20791 "links" : [
20792 {
20793 "href" : "{subdir}",
20794 "rel" : "child"
20795 }
20796 ],
20797 "type" : "array"
20798 }
20799 }
20800 },
20801 "leaf" : 0,
20802 "path" : "/nodes/{node}/lxc/{vmid}/status",
20803 "text" : "status"
20804 },
20805 {
20806 "children" : [
56122987 20807 {
4d47f125
TL
20808 "children" : [
20809 {
20810 "info" : {
20811 "POST" : {
20812 "description" : "Rollback LXC state to specified snapshot.",
20813 "method" : "POST",
20814 "name" : "rollback",
20815 "parameters" : {
20816 "additionalProperties" : 0,
20817 "properties" : {
20818 "node" : {
20819 "description" : "The cluster node name.",
20820 "format" : "pve-node",
20821 "type" : "string",
20822 "typetext" : "<string>"
20823 },
20824 "snapname" : {
20825 "description" : "The name of the snapshot.",
20826 "format" : "pve-configid",
20827 "maxLength" : 40,
20828 "type" : "string",
20829 "typetext" : "<string>"
20830 },
20831 "vmid" : {
20832 "description" : "The (unique) ID of the VM.",
20833 "format" : "pve-vmid",
20834 "minimum" : 1,
20835 "type" : "integer",
20836 "typetext" : "<integer> (1 - N)"
20837 }
20838 }
20839 },
20840 "permissions" : {
20841 "check" : [
20842 "perm",
20843 "/vms/{vmid}",
20844 [
20845 "VM.Snapshot",
20846 "VM.Snapshot.Rollback"
20847 ],
20848 "any",
20849 1
20850 ]
20851 },
20852 "protected" : 1,
20853 "proxyto" : "node",
20854 "returns" : {
20855 "description" : "the task ID.",
20856 "type" : "string"
20857 }
20858 }
20859 },
20860 "leaf" : 1,
20861 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
20862 "text" : "rollback"
20863 },
20864 {
20865 "info" : {
20866 "GET" : {
20867 "description" : "Get snapshot configuration",
20868 "method" : "GET",
20869 "name" : "get_snapshot_config",
20870 "parameters" : {
20871 "additionalProperties" : 0,
20872 "properties" : {
20873 "node" : {
20874 "description" : "The cluster node name.",
20875 "format" : "pve-node",
20876 "type" : "string",
20877 "typetext" : "<string>"
20878 },
20879 "snapname" : {
20880 "description" : "The name of the snapshot.",
20881 "format" : "pve-configid",
20882 "maxLength" : 40,
20883 "type" : "string",
20884 "typetext" : "<string>"
20885 },
20886 "vmid" : {
20887 "description" : "The (unique) ID of the VM.",
20888 "format" : "pve-vmid",
20889 "minimum" : 1,
20890 "type" : "integer",
20891 "typetext" : "<integer> (1 - N)"
20892 }
20893 }
20894 },
20895 "permissions" : {
20896 "check" : [
20897 "perm",
20898 "/vms/{vmid}",
20899 [
20900 "VM.Snapshot",
20901 "VM.Snapshot.Rollback"
20902 ],
20903 "any",
20904 1
20905 ]
20906 },
20907 "proxyto" : "node",
20908 "returns" : {
20909 "type" : "object"
20910 }
20911 },
20912 "PUT" : {
20913 "description" : "Update snapshot metadata.",
20914 "method" : "PUT",
20915 "name" : "update_snapshot_config",
20916 "parameters" : {
20917 "additionalProperties" : 0,
20918 "properties" : {
20919 "description" : {
20920 "description" : "A textual description or comment.",
20921 "optional" : 1,
20922 "type" : "string",
20923 "typetext" : "<string>"
20924 },
20925 "node" : {
20926 "description" : "The cluster node name.",
20927 "format" : "pve-node",
20928 "type" : "string",
20929 "typetext" : "<string>"
20930 },
20931 "snapname" : {
20932 "description" : "The name of the snapshot.",
20933 "format" : "pve-configid",
20934 "maxLength" : 40,
20935 "type" : "string",
20936 "typetext" : "<string>"
20937 },
20938 "vmid" : {
20939 "description" : "The (unique) ID of the VM.",
20940 "format" : "pve-vmid",
20941 "minimum" : 1,
20942 "type" : "integer",
20943 "typetext" : "<integer> (1 - N)"
20944 }
20945 }
20946 },
20947 "permissions" : {
20948 "check" : [
20949 "perm",
20950 "/vms/{vmid}",
20951 [
20952 "VM.Snapshot"
20953 ]
20954 ]
20955 },
20956 "protected" : 1,
20957 "proxyto" : "node",
20958 "returns" : {
20959 "type" : "null"
20960 }
20961 }
20962 },
20963 "leaf" : 1,
20964 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
20965 "text" : "config"
20966 }
20967 ],
56122987 20968 "info" : {
4d47f125
TL
20969 "DELETE" : {
20970 "description" : "Delete a LXC snapshot.",
20971 "method" : "DELETE",
20972 "name" : "delsnapshot",
56122987 20973 "parameters" : {
44660702 20974 "additionalProperties" : 0,
56122987 20975 "properties" : {
4d47f125
TL
20976 "force" : {
20977 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 20978 "optional" : 1,
013dc89f
DM
20979 "type" : "boolean",
20980 "typetext" : "<boolean>"
44660702
DM
20981 },
20982 "node" : {
20983 "description" : "The cluster node name.",
20984 "format" : "pve-node",
013dc89f
DM
20985 "type" : "string",
20986 "typetext" : "<string>"
7aacca6f 20987 },
4d47f125
TL
20988 "snapname" : {
20989 "description" : "The name of the snapshot.",
20990 "format" : "pve-configid",
20991 "maxLength" : 40,
20992 "type" : "string",
20993 "typetext" : "<string>"
56122987
DM
20994 },
20995 "vmid" : {
7aacca6f 20996 "description" : "The (unique) ID of the VM.",
44660702
DM
20997 "format" : "pve-vmid",
20998 "minimum" : 1,
4bd7df8b 20999 "type" : "integer",
013dc89f 21000 "typetext" : "<integer> (1 - N)"
56122987 21001 }
44660702 21002 }
56122987
DM
21003 },
21004 "permissions" : {
21005 "check" : [
21006 "perm",
21007 "/vms/{vmid}",
21008 [
4d47f125 21009 "VM.Snapshot"
56122987
DM
21010 ]
21011 ]
21012 },
44660702
DM
21013 "protected" : 1,
21014 "proxyto" : "node",
7aacca6f 21015 "returns" : {
4d47f125 21016 "description" : "the task ID.",
7aacca6f
DM
21017 "type" : "string"
21018 }
4d47f125
TL
21019 },
21020 "GET" : {
21021 "description" : "",
21022 "method" : "GET",
21023 "name" : "snapshot_cmd_idx",
56122987
DM
21024 "parameters" : {
21025 "additionalProperties" : 0,
21026 "properties" : {
44660702
DM
21027 "node" : {
21028 "description" : "The cluster node name.",
21029 "format" : "pve-node",
013dc89f
DM
21030 "type" : "string",
21031 "typetext" : "<string>"
44660702 21032 },
4d47f125
TL
21033 "snapname" : {
21034 "description" : "The name of the snapshot.",
21035 "format" : "pve-configid",
21036 "maxLength" : 40,
013dc89f
DM
21037 "type" : "string",
21038 "typetext" : "<string>"
56122987
DM
21039 },
21040 "vmid" : {
7aacca6f 21041 "description" : "The (unique) ID of the VM.",
56122987 21042 "format" : "pve-vmid",
44660702 21043 "minimum" : 1,
4bd7df8b 21044 "type" : "integer",
013dc89f 21045 "typetext" : "<integer> (1 - N)"
56122987 21046 }
44660702
DM
21047 }
21048 },
21049 "permissions" : {
4d47f125 21050 "user" : "all"
56122987 21051 },
44660702 21052 "returns" : {
4d47f125
TL
21053 "items" : {
21054 "properties" : {},
21055 "type" : "object"
21056 },
21057 "links" : [
21058 {
21059 "href" : "{cmd}",
21060 "rel" : "child"
21061 }
21062 ],
21063 "type" : "array"
44660702 21064 }
7aacca6f
DM
21065 }
21066 },
4d47f125
TL
21067 "leaf" : 0,
21068 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
21069 "text" : "{snapname}"
7aacca6f
DM
21070 }
21071 ],
21072 "info" : {
21073 "GET" : {
4d47f125 21074 "description" : "List all snapshots.",
44660702 21075 "method" : "GET",
4d47f125 21076 "name" : "list",
7aacca6f
DM
21077 "parameters" : {
21078 "additionalProperties" : 0,
21079 "properties" : {
21080 "node" : {
21081 "description" : "The cluster node name.",
44660702 21082 "format" : "pve-node",
013dc89f
DM
21083 "type" : "string",
21084 "typetext" : "<string>"
56122987 21085 },
7aacca6f 21086 "vmid" : {
44660702 21087 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21088 "format" : "pve-vmid",
21089 "minimum" : 1,
4bd7df8b 21090 "type" : "integer",
013dc89f 21091 "typetext" : "<integer> (1 - N)"
7aacca6f 21092 }
56122987
DM
21093 }
21094 },
44660702 21095 "permissions" : {
4d47f125
TL
21096 "check" : [
21097 "perm",
21098 "/vms/{vmid}",
21099 [
21100 "VM.Audit"
21101 ]
21102 ]
44660702 21103 },
4d47f125 21104 "protected" : 1,
44660702 21105 "proxyto" : "node",
7aacca6f 21106 "returns" : {
7aacca6f
DM
21107 "items" : {
21108 "properties" : {
4d47f125
TL
21109 "description" : {
21110 "description" : "Snapshot description.",
7aacca6f 21111 "type" : "string"
4d47f125
TL
21112 },
21113 "name" : {
21114 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
21115 "type" : "string"
21116 },
21117 "parent" : {
21118 "description" : "Parent snapshot identifier.",
21119 "optional" : 1,
21120 "type" : "string"
21121 },
21122 "snaptime" : {
21123 "description" : "Snapshot creation time",
21124 "optional" : 1,
21125 "renderer" : "timestamp",
21126 "type" : "integer"
7aacca6f
DM
21127 }
21128 },
21129 "type" : "object"
21130 },
21131 "links" : [
21132 {
4d47f125 21133 "href" : "{name}",
44660702 21134 "rel" : "child"
7aacca6f 21135 }
44660702
DM
21136 ],
21137 "type" : "array"
7aacca6f 21138 }
4d47f125
TL
21139 },
21140 "POST" : {
21141 "description" : "Snapshot a container.",
21142 "method" : "POST",
21143 "name" : "snapshot",
21144 "parameters" : {
21145 "additionalProperties" : 0,
21146 "properties" : {
21147 "description" : {
21148 "description" : "A textual description or comment.",
21149 "optional" : 1,
21150 "type" : "string",
21151 "typetext" : "<string>"
21152 },
21153 "node" : {
21154 "description" : "The cluster node name.",
21155 "format" : "pve-node",
21156 "type" : "string",
21157 "typetext" : "<string>"
21158 },
21159 "snapname" : {
21160 "description" : "The name of the snapshot.",
21161 "format" : "pve-configid",
21162 "maxLength" : 40,
21163 "type" : "string",
21164 "typetext" : "<string>"
21165 },
21166 "vmid" : {
21167 "description" : "The (unique) ID of the VM.",
21168 "format" : "pve-vmid",
21169 "minimum" : 1,
21170 "type" : "integer",
21171 "typetext" : "<integer> (1 - N)"
21172 }
21173 }
21174 },
21175 "permissions" : {
21176 "check" : [
21177 "perm",
21178 "/vms/{vmid}",
21179 [
21180 "VM.Snapshot"
21181 ]
21182 ]
21183 },
21184 "protected" : 1,
21185 "proxyto" : "node",
21186 "returns" : {
21187 "description" : "the task ID.",
21188 "type" : "string"
21189 }
7aacca6f 21190 }
44660702
DM
21191 },
21192 "leaf" : 0,
4d47f125
TL
21193 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
21194 "text" : "snapshot"
7aacca6f
DM
21195 },
21196 {
7aacca6f 21197 "children" : [
56122987 21198 {
7aacca6f
DM
21199 "children" : [
21200 {
21201 "info" : {
4d47f125
TL
21202 "DELETE" : {
21203 "description" : "Delete rule.",
21204 "method" : "DELETE",
21205 "name" : "delete_rule",
7aacca6f 21206 "parameters" : {
44660702 21207 "additionalProperties" : 0,
7aacca6f 21208 "properties" : {
4d47f125
TL
21209 "digest" : {
21210 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21211 "maxLength" : 40,
21212 "optional" : 1,
21213 "type" : "string",
21214 "typetext" : "<string>"
21215 },
44660702
DM
21216 "node" : {
21217 "description" : "The cluster node name.",
21218 "format" : "pve-node",
013dc89f
DM
21219 "type" : "string",
21220 "typetext" : "<string>"
44660702 21221 },
4d47f125
TL
21222 "pos" : {
21223 "description" : "Update rule at position <pos>.",
21224 "minimum" : 0,
21225 "optional" : 1,
21226 "type" : "integer",
21227 "typetext" : "<integer> (0 - N)"
7aacca6f 21228 },
7aacca6f 21229 "vmid" : {
44660702 21230 "description" : "The (unique) ID of the VM.",
7aacca6f 21231 "format" : "pve-vmid",
44660702 21232 "minimum" : 1,
4bd7df8b 21233 "type" : "integer",
013dc89f 21234 "typetext" : "<integer> (1 - N)"
7aacca6f 21235 }
44660702
DM
21236 }
21237 },
21238 "permissions" : {
21239 "check" : [
21240 "perm",
21241 "/vms/{vmid}",
21242 [
4d47f125
TL
21243 "VM.Config.Network"
21244 ]
44660702 21245 ]
7aacca6f 21246 },
44660702 21247 "protected" : 1,
4d47f125 21248 "proxyto" : null,
44660702 21249 "returns" : {
4d47f125 21250 "type" : "null"
44660702 21251 }
4d47f125 21252 },
7aacca6f 21253 "GET" : {
4d47f125 21254 "description" : "Get single rule data.",
44660702 21255 "method" : "GET",
4d47f125 21256 "name" : "get_rule",
7aacca6f
DM
21257 "parameters" : {
21258 "additionalProperties" : 0,
4d47f125
TL
21259 "properties" : {
21260 "node" : {
21261 "description" : "The cluster node name.",
21262 "format" : "pve-node",
013dc89f
DM
21263 "type" : "string",
21264 "typetext" : "<string>"
44660702 21265 },
4d47f125
TL
21266 "pos" : {
21267 "description" : "Update rule at position <pos>.",
21268 "minimum" : 0,
21269 "optional" : 1,
21270 "type" : "integer",
21271 "typetext" : "<integer> (0 - N)"
21272 },
44660702
DM
21273 "vmid" : {
21274 "description" : "The (unique) ID of the VM.",
21275 "format" : "pve-vmid",
21276 "minimum" : 1,
4bd7df8b 21277 "type" : "integer",
013dc89f 21278 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
21279 }
21280 }
21281 },
21282 "permissions" : {
21283 "check" : [
21284 "perm",
21285 "/vms/{vmid}",
21286 [
4d47f125
TL
21287 "VM.Audit"
21288 ]
7aacca6f
DM
21289 ]
21290 },
4d47f125 21291 "proxyto" : null,
44660702 21292 "returns" : {
4d47f125 21293 "properties" : {
e2d681b3
TL
21294 "action" : {
21295 "type" : "string"
21296 },
21297 "comment" : {
21298 "optional" : 1,
21299 "type" : "string"
21300 },
21301 "dest" : {
21302 "optional" : 1,
21303 "type" : "string"
21304 },
21305 "dport" : {
21306 "optional" : 1,
21307 "type" : "string"
21308 },
21309 "enable" : {
21310 "optional" : 1,
21311 "type" : "integer"
21312 },
21313 "iface" : {
21314 "optional" : 1,
21315 "type" : "string"
21316 },
21317 "ipversion" : {
21318 "optional" : 1,
21319 "type" : "integer"
21320 },
95895385
TL
21321 "log" : {
21322 "description" : "Log level for firewall rule",
21323 "enum" : [
21324 "emerg",
21325 "alert",
21326 "crit",
21327 "err",
21328 "warning",
21329 "notice",
21330 "info",
21331 "debug",
21332 "nolog"
21333 ],
21334 "optional" : 1,
21335 "type" : "string"
21336 },
e2d681b3
TL
21337 "macro" : {
21338 "optional" : 1,
5f26e15b 21339 "type" : "string"
e2d681b3 21340 },
4d47f125
TL
21341 "pos" : {
21342 "type" : "integer"
e2d681b3
TL
21343 },
21344 "proto" : {
21345 "optional" : 1,
21346 "type" : "string"
21347 },
21348 "source" : {
21349 "optional" : 1,
21350 "type" : "string"
21351 },
21352 "sport" : {
21353 "optional" : 1,
21354 "type" : "string"
21355 },
21356 "type" : {
21357 "type" : "string"
4d47f125
TL
21358 }
21359 },
44660702
DM
21360 "type" : "object"
21361 }
7aacca6f
DM
21362 },
21363 "PUT" : {
4d47f125 21364 "description" : "Modify rule data.",
44660702 21365 "method" : "PUT",
4d47f125 21366 "name" : "update_rule",
7aacca6f
DM
21367 "parameters" : {
21368 "additionalProperties" : 0,
21369 "properties" : {
4d47f125
TL
21370 "action" : {
21371 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21372 "maxLength" : 20,
21373 "minLength" : 2,
21374 "optional" : 1,
21375 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21376 "type" : "string"
21377 },
21378 "comment" : {
21379 "description" : "Descriptive comment.",
21380 "optional" : 1,
21381 "type" : "string",
21382 "typetext" : "<string>"
21383 },
21384 "delete" : {
21385 "description" : "A list of settings you want to delete.",
21386 "format" : "pve-configid-list",
21387 "optional" : 1,
21388 "type" : "string",
21389 "typetext" : "<string>"
21390 },
21391 "dest" : {
21392 "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.",
21393 "format" : "pve-fw-addr-spec",
21394 "optional" : 1,
21395 "type" : "string",
21396 "typetext" : "<string>"
21397 },
21398 "digest" : {
21399 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21400 "maxLength" : 40,
21401 "optional" : 1,
21402 "type" : "string",
21403 "typetext" : "<string>"
21404 },
21405 "dport" : {
21406 "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.",
21407 "format" : "pve-fw-dport-spec",
21408 "optional" : 1,
21409 "type" : "string",
21410 "typetext" : "<string>"
21411 },
21412 "enable" : {
21413 "description" : "Flag to enable/disable a rule.",
21414 "minimum" : 0,
21415 "optional" : 1,
21416 "type" : "integer",
21417 "typetext" : "<integer> (0 - N)"
21418 },
21419 "iface" : {
21420 "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.",
21421 "format" : "pve-iface",
21422 "maxLength" : 20,
21423 "minLength" : 2,
21424 "optional" : 1,
21425 "type" : "string",
21426 "typetext" : "<string>"
21427 },
95895385
TL
21428 "log" : {
21429 "description" : "Log level for firewall rule.",
21430 "enum" : [
21431 "emerg",
21432 "alert",
21433 "crit",
21434 "err",
21435 "warning",
21436 "notice",
21437 "info",
21438 "debug",
21439 "nolog"
21440 ],
21441 "optional" : 1,
21442 "type" : "string"
21443 },
4d47f125
TL
21444 "macro" : {
21445 "description" : "Use predefined standard macro.",
21446 "maxLength" : 128,
44660702 21447 "optional" : 1,
013dc89f
DM
21448 "type" : "string",
21449 "typetext" : "<string>"
44660702 21450 },
4d47f125
TL
21451 "moveto" : {
21452 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
21453 "minimum" : 0,
21454 "optional" : 1,
21455 "type" : "integer",
21456 "typetext" : "<integer> (0 - N)"
21457 },
7aacca6f 21458 "node" : {
7aacca6f 21459 "description" : "The cluster node name.",
44660702 21460 "format" : "pve-node",
013dc89f
DM
21461 "type" : "string",
21462 "typetext" : "<string>"
7aacca6f 21463 },
4d47f125
TL
21464 "pos" : {
21465 "description" : "Update rule at position <pos>.",
21466 "minimum" : 0,
21467 "optional" : 1,
21468 "type" : "integer",
21469 "typetext" : "<integer> (0 - N)"
21470 },
21471 "proto" : {
21472 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21473 "format" : "pve-fw-protocol-spec",
21474 "optional" : 1,
21475 "type" : "string",
21476 "typetext" : "<string>"
21477 },
21478 "source" : {
21479 "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.",
21480 "format" : "pve-fw-addr-spec",
21481 "optional" : 1,
21482 "type" : "string",
21483 "typetext" : "<string>"
21484 },
21485 "sport" : {
21486 "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.",
21487 "format" : "pve-fw-sport-spec",
21488 "optional" : 1,
013dc89f
DM
21489 "type" : "string",
21490 "typetext" : "<string>"
7aacca6f 21491 },
4d47f125
TL
21492 "type" : {
21493 "description" : "Rule type.",
21494 "enum" : [
21495 "in",
21496 "out",
21497 "group"
21498 ],
21499 "optional" : 1,
21500 "type" : "string"
21501 },
7aacca6f 21502 "vmid" : {
44660702 21503 "description" : "The (unique) ID of the VM.",
7aacca6f 21504 "format" : "pve-vmid",
44660702 21505 "minimum" : 1,
4bd7df8b 21506 "type" : "integer",
013dc89f 21507 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
21508 }
21509 }
21510 },
7aacca6f
DM
21511 "permissions" : {
21512 "check" : [
21513 "perm",
21514 "/vms/{vmid}",
21515 [
4d47f125 21516 "VM.Config.Network"
7aacca6f
DM
21517 ]
21518 ]
21519 },
4d47f125
TL
21520 "protected" : 1,
21521 "proxyto" : null,
21522 "returns" : {
21523 "type" : "null"
21524 }
21525 }
21526 },
21527 "leaf" : 1,
21528 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
21529 "text" : "{pos}"
21530 }
21531 ],
21532 "info" : {
21533 "GET" : {
21534 "description" : "List rules.",
21535 "method" : "GET",
21536 "name" : "get_rules",
21537 "parameters" : {
21538 "additionalProperties" : 0,
21539 "properties" : {
21540 "node" : {
21541 "description" : "The cluster node name.",
21542 "format" : "pve-node",
21543 "type" : "string",
21544 "typetext" : "<string>"
21545 },
21546 "vmid" : {
21547 "description" : "The (unique) ID of the VM.",
21548 "format" : "pve-vmid",
21549 "minimum" : 1,
21550 "type" : "integer",
21551 "typetext" : "<integer> (1 - N)"
21552 }
21553 }
21554 },
21555 "permissions" : {
21556 "check" : [
21557 "perm",
21558 "/vms/{vmid}",
21559 [
21560 "VM.Audit"
21561 ]
21562 ]
21563 },
21564 "proxyto" : null,
21565 "returns" : {
21566 "items" : {
21567 "properties" : {
21568 "pos" : {
21569 "type" : "integer"
21570 }
21571 },
21572 "type" : "object"
21573 },
21574 "links" : [
21575 {
21576 "href" : "{pos}",
21577 "rel" : "child"
21578 }
21579 ],
21580 "type" : "array"
21581 }
21582 },
21583 "POST" : {
21584 "description" : "Create new rule.",
21585 "method" : "POST",
21586 "name" : "create_rule",
21587 "parameters" : {
21588 "additionalProperties" : 0,
21589 "properties" : {
21590 "action" : {
21591 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21592 "maxLength" : 20,
21593 "minLength" : 2,
21594 "optional" : 0,
21595 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21596 "type" : "string"
21597 },
21598 "comment" : {
21599 "description" : "Descriptive comment.",
21600 "optional" : 1,
21601 "type" : "string",
21602 "typetext" : "<string>"
21603 },
21604 "dest" : {
21605 "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.",
21606 "format" : "pve-fw-addr-spec",
21607 "optional" : 1,
21608 "type" : "string",
21609 "typetext" : "<string>"
21610 },
21611 "digest" : {
21612 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21613 "maxLength" : 40,
21614 "optional" : 1,
21615 "type" : "string",
21616 "typetext" : "<string>"
21617 },
21618 "dport" : {
21619 "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.",
21620 "format" : "pve-fw-dport-spec",
21621 "optional" : 1,
21622 "type" : "string",
21623 "typetext" : "<string>"
21624 },
21625 "enable" : {
21626 "description" : "Flag to enable/disable a rule.",
21627 "minimum" : 0,
21628 "optional" : 1,
21629 "type" : "integer",
21630 "typetext" : "<integer> (0 - N)"
21631 },
21632 "iface" : {
21633 "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.",
21634 "format" : "pve-iface",
21635 "maxLength" : 20,
21636 "minLength" : 2,
21637 "optional" : 1,
21638 "type" : "string",
21639 "typetext" : "<string>"
21640 },
95895385
TL
21641 "log" : {
21642 "description" : "Log level for firewall rule.",
21643 "enum" : [
21644 "emerg",
21645 "alert",
21646 "crit",
21647 "err",
21648 "warning",
21649 "notice",
21650 "info",
21651 "debug",
21652 "nolog"
21653 ],
21654 "optional" : 1,
21655 "type" : "string"
21656 },
4d47f125
TL
21657 "macro" : {
21658 "description" : "Use predefined standard macro.",
21659 "maxLength" : 128,
44660702 21660 "optional" : 1,
4d47f125
TL
21661 "type" : "string",
21662 "typetext" : "<string>"
44660702
DM
21663 },
21664 "node" : {
21665 "description" : "The cluster node name.",
21666 "format" : "pve-node",
013dc89f
DM
21667 "type" : "string",
21668 "typetext" : "<string>"
7aacca6f 21669 },
4d47f125
TL
21670 "pos" : {
21671 "description" : "Update rule at position <pos>.",
21672 "minimum" : 0,
21673 "optional" : 1,
21674 "type" : "integer",
21675 "typetext" : "<integer> (0 - N)"
21676 },
21677 "proto" : {
21678 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21679 "format" : "pve-fw-protocol-spec",
21680 "optional" : 1,
21681 "type" : "string",
21682 "typetext" : "<string>"
21683 },
21684 "source" : {
21685 "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.",
21686 "format" : "pve-fw-addr-spec",
21687 "optional" : 1,
013dc89f
DM
21688 "type" : "string",
21689 "typetext" : "<string>"
44660702 21690 },
4d47f125
TL
21691 "sport" : {
21692 "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.",
21693 "format" : "pve-fw-sport-spec",
21694 "optional" : 1,
21695 "type" : "string",
21696 "typetext" : "<string>"
21697 },
21698 "type" : {
21699 "description" : "Rule type.",
21700 "enum" : [
21701 "in",
21702 "out",
21703 "group"
21704 ],
21705 "optional" : 0,
21706 "type" : "string"
21707 },
44660702
DM
21708 "vmid" : {
21709 "description" : "The (unique) ID of the VM.",
21710 "format" : "pve-vmid",
21711 "minimum" : 1,
4bd7df8b 21712 "type" : "integer",
013dc89f 21713 "typetext" : "<integer> (1 - N)"
56122987 21714 }
44660702 21715 }
7aacca6f 21716 },
56122987
DM
21717 "permissions" : {
21718 "check" : [
21719 "perm",
21720 "/vms/{vmid}",
21721 [
4d47f125 21722 "VM.Config.Network"
56122987
DM
21723 ]
21724 ]
21725 },
44660702 21726 "protected" : 1,
4d47f125 21727 "proxyto" : null,
44660702 21728 "returns" : {
4d47f125 21729 "type" : "null"
44660702
DM
21730 }
21731 }
21732 },
21733 "leaf" : 0,
4d47f125
TL
21734 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
21735 "text" : "rules"
7aacca6f 21736 },
56122987 21737 {
56122987
DM
21738 "children" : [
21739 {
56122987 21740 "info" : {
44660702 21741 "DELETE" : {
4d47f125 21742 "description" : "Remove IP or Network alias.",
44660702 21743 "method" : "DELETE",
4d47f125 21744 "name" : "remove_alias",
56122987 21745 "parameters" : {
44660702 21746 "additionalProperties" : 0,
56122987 21747 "properties" : {
44660702
DM
21748 "digest" : {
21749 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21750 "maxLength" : 40,
7aacca6f 21751 "optional" : 1,
013dc89f
DM
21752 "type" : "string",
21753 "typetext" : "<string>"
7aacca6f 21754 },
4d47f125
TL
21755 "name" : {
21756 "description" : "Alias name.",
21757 "maxLength" : 64,
21758 "minLength" : 2,
21759 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21760 "type" : "string"
21761 },
7aacca6f 21762 "node" : {
44660702 21763 "description" : "The cluster node name.",
7aacca6f 21764 "format" : "pve-node",
013dc89f
DM
21765 "type" : "string",
21766 "typetext" : "<string>"
44660702 21767 },
44660702
DM
21768 "vmid" : {
21769 "description" : "The (unique) ID of the VM.",
21770 "format" : "pve-vmid",
21771 "minimum" : 1,
4bd7df8b 21772 "type" : "integer",
013dc89f 21773 "typetext" : "<integer> (1 - N)"
56122987 21774 }
44660702 21775 }
56122987 21776 },
56122987
DM
21777 "permissions" : {
21778 "check" : [
21779 "perm",
21780 "/vms/{vmid}",
21781 [
44660702 21782 "VM.Config.Network"
56122987
DM
21783 ]
21784 ]
21785 },
44660702 21786 "protected" : 1,
44660702
DM
21787 "returns" : {
21788 "type" : "null"
21789 }
7aacca6f 21790 },
44660702 21791 "GET" : {
4d47f125 21792 "description" : "Read alias.",
44660702 21793 "method" : "GET",
4d47f125 21794 "name" : "read_alias",
56122987 21795 "parameters" : {
44660702 21796 "additionalProperties" : 0,
56122987 21797 "properties" : {
4d47f125
TL
21798 "name" : {
21799 "description" : "Alias name.",
21800 "maxLength" : 64,
21801 "minLength" : 2,
21802 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21803 "type" : "string"
21804 },
7aacca6f 21805 "node" : {
7aacca6f 21806 "description" : "The cluster node name.",
44660702 21807 "format" : "pve-node",
013dc89f
DM
21808 "type" : "string",
21809 "typetext" : "<string>"
56122987 21810 },
7aacca6f 21811 "vmid" : {
44660702 21812 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21813 "format" : "pve-vmid",
21814 "minimum" : 1,
4bd7df8b 21815 "type" : "integer",
013dc89f 21816 "typetext" : "<integer> (1 - N)"
56122987 21817 }
44660702 21818 }
56122987 21819 },
7aacca6f
DM
21820 "permissions" : {
21821 "check" : [
21822 "perm",
21823 "/vms/{vmid}",
21824 [
44660702 21825 "VM.Audit"
7aacca6f
DM
21826 ]
21827 ]
21828 },
7aacca6f 21829 "returns" : {
44660702 21830 "type" : "object"
7aacca6f 21831 }
56122987 21832 },
44660702 21833 "PUT" : {
4d47f125 21834 "description" : "Update IP or Network alias.",
44660702 21835 "method" : "PUT",
4d47f125 21836 "name" : "update_alias",
56122987
DM
21837 "parameters" : {
21838 "additionalProperties" : 0,
21839 "properties" : {
4d47f125
TL
21840 "cidr" : {
21841 "description" : "Network/IP specification in CIDR format.",
21842 "format" : "IPorCIDR",
013dc89f
DM
21843 "type" : "string",
21844 "typetext" : "<string>"
44660702 21845 },
4d47f125 21846 "comment" : {
44660702 21847 "optional" : 1,
013dc89f
DM
21848 "type" : "string",
21849 "typetext" : "<string>"
44660702
DM
21850 },
21851 "digest" : {
21852 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21853 "maxLength" : 40,
21854 "optional" : 1,
013dc89f
DM
21855 "type" : "string",
21856 "typetext" : "<string>"
44660702 21857 },
4d47f125
TL
21858 "name" : {
21859 "description" : "Alias name.",
21860 "maxLength" : 64,
44660702 21861 "minLength" : 2,
4d47f125
TL
21862 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21863 "type" : "string"
44660702 21864 },
7aacca6f
DM
21865 "node" : {
21866 "description" : "The cluster node name.",
44660702 21867 "format" : "pve-node",
013dc89f
DM
21868 "type" : "string",
21869 "typetext" : "<string>"
56122987 21870 },
4d47f125
TL
21871 "rename" : {
21872 "description" : "Rename an existing alias.",
21873 "maxLength" : 64,
21874 "minLength" : 2,
7aacca6f 21875 "optional" : 1,
4d47f125 21876 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
21877 "type" : "string"
21878 },
21879 "vmid" : {
21880 "description" : "The (unique) ID of the VM.",
21881 "format" : "pve-vmid",
21882 "minimum" : 1,
4bd7df8b 21883 "type" : "integer",
013dc89f 21884 "typetext" : "<integer> (1 - N)"
56122987
DM
21885 }
21886 }
21887 },
56122987
DM
21888 "permissions" : {
21889 "check" : [
21890 "perm",
21891 "/vms/{vmid}",
21892 [
7aacca6f 21893 "VM.Config.Network"
56122987
DM
21894 ]
21895 ]
21896 },
44660702 21897 "protected" : 1,
56122987 21898 "returns" : {
7aacca6f
DM
21899 "type" : "null"
21900 }
56122987 21901 }
44660702
DM
21902 },
21903 "leaf" : 1,
4d47f125
TL
21904 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
21905 "text" : "{name}"
56122987
DM
21906 }
21907 ],
21908 "info" : {
7aacca6f 21909 "GET" : {
4d47f125 21910 "description" : "List aliases",
44660702 21911 "method" : "GET",
4d47f125 21912 "name" : "get_aliases",
7aacca6f 21913 "parameters" : {
44660702 21914 "additionalProperties" : 0,
7aacca6f
DM
21915 "properties" : {
21916 "node" : {
7aacca6f 21917 "description" : "The cluster node name.",
44660702 21918 "format" : "pve-node",
013dc89f
DM
21919 "type" : "string",
21920 "typetext" : "<string>"
7aacca6f
DM
21921 },
21922 "vmid" : {
21923 "description" : "The (unique) ID of the VM.",
44660702 21924 "format" : "pve-vmid",
7aacca6f 21925 "minimum" : 1,
4bd7df8b 21926 "type" : "integer",
013dc89f 21927 "typetext" : "<integer> (1 - N)"
7aacca6f 21928 }
44660702 21929 }
56122987 21930 },
56122987
DM
21931 "permissions" : {
21932 "check" : [
21933 "perm",
21934 "/vms/{vmid}",
21935 [
7aacca6f 21936 "VM.Audit"
56122987
DM
21937 ]
21938 ]
21939 },
7aacca6f 21940 "returns" : {
7aacca6f
DM
21941 "items" : {
21942 "properties" : {
4d47f125
TL
21943 "cidr" : {
21944 "type" : "string"
21945 },
21946 "comment" : {
21947 "optional" : 1,
21948 "type" : "string"
21949 },
21950 "digest" : {
21951 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21952 "maxLength" : 40,
21953 "optional" : 0,
21954 "type" : "string"
21955 },
21956 "name" : {
21957 "type" : "string"
7aacca6f
DM
21958 }
21959 },
21960 "type" : "object"
21961 },
21962 "links" : [
21963 {
4d47f125 21964 "href" : "{name}",
44660702 21965 "rel" : "child"
7aacca6f 21966 }
44660702
DM
21967 ],
21968 "type" : "array"
21969 }
7aacca6f
DM
21970 },
21971 "POST" : {
4d47f125 21972 "description" : "Create IP or Network Alias.",
44660702 21973 "method" : "POST",
4d47f125 21974 "name" : "create_alias",
56122987 21975 "parameters" : {
44660702 21976 "additionalProperties" : 0,
56122987 21977 "properties" : {
4d47f125
TL
21978 "cidr" : {
21979 "description" : "Network/IP specification in CIDR format.",
21980 "format" : "IPorCIDR",
013dc89f 21981 "type" : "string",
4d47f125
TL
21982 "typetext" : "<string>"
21983 },
21984 "comment" : {
44660702 21985 "optional" : 1,
013dc89f
DM
21986 "type" : "string",
21987 "typetext" : "<string>"
7aacca6f 21988 },
4d47f125
TL
21989 "name" : {
21990 "description" : "Alias name.",
21991 "maxLength" : 64,
21992 "minLength" : 2,
21993 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
21994 "type" : "string"
21995 },
4d47f125
TL
21996 "node" : {
21997 "description" : "The cluster node name.",
21998 "format" : "pve-node",
21999 "type" : "string",
22000 "typetext" : "<string>"
22001 },
44660702
DM
22002 "vmid" : {
22003 "description" : "The (unique) ID of the VM.",
22004 "format" : "pve-vmid",
22005 "minimum" : 1,
4bd7df8b 22006 "type" : "integer",
013dc89f 22007 "typetext" : "<integer> (1 - N)"
44660702
DM
22008 }
22009 }
22010 },
22011 "permissions" : {
22012 "check" : [
22013 "perm",
22014 "/vms/{vmid}",
22015 [
22016 "VM.Config.Network"
22017 ]
22018 ]
22019 },
22020 "protected" : 1,
44660702
DM
22021 "returns" : {
22022 "type" : "null"
22023 }
22024 }
22025 },
22026 "leaf" : 0,
4d47f125
TL
22027 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
22028 "text" : "aliases"
44660702
DM
22029 },
22030 {
22031 "children" : [
22032 {
4d47f125
TL
22033 "children" : [
22034 {
22035 "info" : {
22036 "DELETE" : {
22037 "description" : "Remove IP or Network from IPSet.",
22038 "method" : "DELETE",
22039 "name" : "remove_ip",
22040 "parameters" : {
22041 "additionalProperties" : 0,
22042 "properties" : {
22043 "cidr" : {
22044 "description" : "Network/IP specification in CIDR format.",
22045 "format" : "IPorCIDRorAlias",
22046 "type" : "string",
22047 "typetext" : "<string>"
22048 },
22049 "digest" : {
22050 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22051 "maxLength" : 40,
22052 "optional" : 1,
22053 "type" : "string",
22054 "typetext" : "<string>"
22055 },
22056 "name" : {
22057 "description" : "IP set name.",
22058 "maxLength" : 64,
22059 "minLength" : 2,
22060 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22061 "type" : "string"
22062 },
22063 "node" : {
22064 "description" : "The cluster node name.",
22065 "format" : "pve-node",
22066 "type" : "string",
22067 "typetext" : "<string>"
22068 },
22069 "vmid" : {
22070 "description" : "The (unique) ID of the VM.",
22071 "format" : "pve-vmid",
22072 "minimum" : 1,
22073 "type" : "integer",
22074 "typetext" : "<integer> (1 - N)"
22075 }
22076 }
22077 },
22078 "permissions" : {
22079 "check" : [
22080 "perm",
22081 "/vms/{vmid}",
22082 [
22083 "VM.Config.Network"
22084 ]
22085 ]
22086 },
22087 "protected" : 1,
22088 "returns" : {
22089 "type" : "null"
22090 }
22091 },
22092 "GET" : {
22093 "description" : "Read IP or Network settings from IPSet.",
22094 "method" : "GET",
22095 "name" : "read_ip",
22096 "parameters" : {
22097 "additionalProperties" : 0,
22098 "properties" : {
22099 "cidr" : {
22100 "description" : "Network/IP specification in CIDR format.",
22101 "format" : "IPorCIDRorAlias",
22102 "type" : "string",
22103 "typetext" : "<string>"
22104 },
22105 "name" : {
22106 "description" : "IP set name.",
22107 "maxLength" : 64,
22108 "minLength" : 2,
22109 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22110 "type" : "string"
22111 },
22112 "node" : {
22113 "description" : "The cluster node name.",
22114 "format" : "pve-node",
22115 "type" : "string",
22116 "typetext" : "<string>"
22117 },
22118 "vmid" : {
22119 "description" : "The (unique) ID of the VM.",
22120 "format" : "pve-vmid",
22121 "minimum" : 1,
22122 "type" : "integer",
22123 "typetext" : "<integer> (1 - N)"
22124 }
22125 }
22126 },
22127 "permissions" : {
22128 "check" : [
22129 "perm",
22130 "/vms/{vmid}",
22131 [
22132 "VM.Audit"
22133 ]
22134 ]
22135 },
22136 "protected" : 1,
22137 "returns" : {
22138 "type" : "object"
22139 }
22140 },
22141 "PUT" : {
22142 "description" : "Update IP or Network settings",
22143 "method" : "PUT",
22144 "name" : "update_ip",
22145 "parameters" : {
22146 "additionalProperties" : 0,
22147 "properties" : {
22148 "cidr" : {
22149 "description" : "Network/IP specification in CIDR format.",
22150 "format" : "IPorCIDRorAlias",
22151 "type" : "string",
22152 "typetext" : "<string>"
22153 },
22154 "comment" : {
22155 "optional" : 1,
22156 "type" : "string",
22157 "typetext" : "<string>"
22158 },
22159 "digest" : {
22160 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22161 "maxLength" : 40,
22162 "optional" : 1,
22163 "type" : "string",
22164 "typetext" : "<string>"
22165 },
22166 "name" : {
22167 "description" : "IP set name.",
22168 "maxLength" : 64,
22169 "minLength" : 2,
22170 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22171 "type" : "string"
22172 },
22173 "node" : {
22174 "description" : "The cluster node name.",
22175 "format" : "pve-node",
22176 "type" : "string",
22177 "typetext" : "<string>"
22178 },
22179 "nomatch" : {
22180 "optional" : 1,
22181 "type" : "boolean",
22182 "typetext" : "<boolean>"
22183 },
22184 "vmid" : {
22185 "description" : "The (unique) ID of the VM.",
22186 "format" : "pve-vmid",
22187 "minimum" : 1,
22188 "type" : "integer",
22189 "typetext" : "<integer> (1 - N)"
22190 }
22191 }
22192 },
22193 "permissions" : {
22194 "check" : [
22195 "perm",
22196 "/vms/{vmid}",
22197 [
22198 "VM.Config.Network"
22199 ]
22200 ]
22201 },
22202 "protected" : 1,
22203 "returns" : {
22204 "type" : "null"
22205 }
22206 }
22207 },
22208 "leaf" : 1,
22209 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
22210 "text" : "{cidr}"
22211 }
22212 ],
44660702
DM
22213 "info" : {
22214 "DELETE" : {
4d47f125 22215 "description" : "Delete IPSet",
44660702 22216 "method" : "DELETE",
4d47f125 22217 "name" : "delete_ipset",
56122987 22218 "parameters" : {
44660702 22219 "additionalProperties" : 0,
56122987 22220 "properties" : {
7aacca6f 22221 "name" : {
4d47f125 22222 "description" : "IP set name.",
7aacca6f 22223 "maxLength" : 64,
7aacca6f
DM
22224 "minLength" : 2,
22225 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22226 "type" : "string"
7aacca6f
DM
22227 },
22228 "node" : {
44660702 22229 "description" : "The cluster node name.",
56122987 22230 "format" : "pve-node",
013dc89f
DM
22231 "type" : "string",
22232 "typetext" : "<string>"
7aacca6f 22233 },
56122987 22234 "vmid" : {
44660702 22235 "description" : "The (unique) ID of the VM.",
56122987 22236 "format" : "pve-vmid",
44660702 22237 "minimum" : 1,
4bd7df8b 22238 "type" : "integer",
013dc89f 22239 "typetext" : "<integer> (1 - N)"
56122987 22240 }
44660702 22241 }
56122987 22242 },
56122987
DM
22243 "permissions" : {
22244 "check" : [
22245 "perm",
22246 "/vms/{vmid}",
22247 [
7aacca6f 22248 "VM.Config.Network"
56122987
DM
22249 ]
22250 ]
22251 },
44660702 22252 "protected" : 1,
56122987 22253 "returns" : {
7aacca6f 22254 "type" : "null"
44660702 22255 }
56122987 22256 },
44660702 22257 "GET" : {
4d47f125 22258 "description" : "List IPSet content",
44660702 22259 "method" : "GET",
4d47f125 22260 "name" : "get_ipset",
44660702
DM
22261 "parameters" : {
22262 "additionalProperties" : 0,
22263 "properties" : {
22264 "name" : {
4d47f125 22265 "description" : "IP set name.",
44660702
DM
22266 "maxLength" : 64,
22267 "minLength" : 2,
22268 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22269 "type" : "string"
22270 },
22271 "node" : {
22272 "description" : "The cluster node name.",
22273 "format" : "pve-node",
013dc89f
DM
22274 "type" : "string",
22275 "typetext" : "<string>"
44660702
DM
22276 },
22277 "vmid" : {
22278 "description" : "The (unique) ID of the VM.",
22279 "format" : "pve-vmid",
22280 "minimum" : 1,
4bd7df8b 22281 "type" : "integer",
013dc89f 22282 "typetext" : "<integer> (1 - N)"
44660702 22283 }
4d47f125
TL
22284 }
22285 },
22286 "permissions" : {
22287 "check" : [
22288 "perm",
22289 "/vms/{vmid}",
22290 [
22291 "VM.Audit"
22292 ]
22293 ]
22294 },
22295 "returns" : {
22296 "items" : {
22297 "properties" : {
22298 "cidr" : {
22299 "type" : "string"
22300 },
22301 "comment" : {
22302 "optional" : 1,
22303 "type" : "string"
22304 },
22305 "digest" : {
22306 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22307 "maxLength" : 40,
22308 "optional" : 0,
22309 "type" : "string"
22310 },
22311 "nomatch" : {
22312 "optional" : 1,
22313 "type" : "boolean"
22314 }
22315 },
22316 "type" : "object"
22317 },
22318 "links" : [
22319 {
22320 "href" : "{cidr}",
22321 "rel" : "child"
22322 }
22323 ],
22324 "type" : "array"
44660702
DM
22325 }
22326 },
4d47f125
TL
22327 "POST" : {
22328 "description" : "Add IP or Network to IPSet.",
22329 "method" : "POST",
22330 "name" : "create_ip",
56122987
DM
22331 "parameters" : {
22332 "additionalProperties" : 0,
22333 "properties" : {
44660702
DM
22334 "cidr" : {
22335 "description" : "Network/IP specification in CIDR format.",
4d47f125 22336 "format" : "IPorCIDRorAlias",
013dc89f
DM
22337 "type" : "string",
22338 "typetext" : "<string>"
44660702
DM
22339 },
22340 "comment" : {
22341 "optional" : 1,
013dc89f
DM
22342 "type" : "string",
22343 "typetext" : "<string>"
44660702 22344 },
56122987 22345 "name" : {
4d47f125 22346 "description" : "IP set name.",
44660702
DM
22347 "maxLength" : 64,
22348 "minLength" : 2,
7aacca6f 22349 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22350 "type" : "string"
56122987
DM
22351 },
22352 "node" : {
22353 "description" : "The cluster node name.",
44660702 22354 "format" : "pve-node",
013dc89f
DM
22355 "type" : "string",
22356 "typetext" : "<string>"
44660702 22357 },
4d47f125 22358 "nomatch" : {
44660702 22359 "optional" : 1,
4d47f125
TL
22360 "type" : "boolean",
22361 "typetext" : "<boolean>"
56122987 22362 },
7aacca6f 22363 "vmid" : {
7aacca6f 22364 "description" : "The (unique) ID of the VM.",
44660702 22365 "format" : "pve-vmid",
7aacca6f 22366 "minimum" : 1,
4bd7df8b 22367 "type" : "integer",
013dc89f 22368 "typetext" : "<integer> (1 - N)"
56122987
DM
22369 }
22370 }
22371 },
44660702
DM
22372 "permissions" : {
22373 "check" : [
22374 "perm",
22375 "/vms/{vmid}",
22376 [
22377 "VM.Config.Network"
22378 ]
22379 ]
7aacca6f 22380 },
44660702
DM
22381 "protected" : 1,
22382 "returns" : {
22383 "type" : "null"
7aacca6f
DM
22384 }
22385 }
22386 },
4d47f125
TL
22387 "leaf" : 0,
22388 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
22389 "text" : "{name}"
22390 }
22391 ],
22392 "info" : {
22393 "GET" : {
4d47f125 22394 "description" : "List IPSets",
44660702 22395 "method" : "GET",
4d47f125 22396 "name" : "ipset_index",
56122987
DM
22397 "parameters" : {
22398 "additionalProperties" : 0,
22399 "properties" : {
22400 "node" : {
44660702 22401 "description" : "The cluster node name.",
56122987 22402 "format" : "pve-node",
013dc89f
DM
22403 "type" : "string",
22404 "typetext" : "<string>"
56122987
DM
22405 },
22406 "vmid" : {
7aacca6f 22407 "description" : "The (unique) ID of the VM.",
44660702 22408 "format" : "pve-vmid",
7aacca6f 22409 "minimum" : 1,
4bd7df8b 22410 "type" : "integer",
013dc89f 22411 "typetext" : "<integer> (1 - N)"
56122987
DM
22412 }
22413 }
22414 },
44660702
DM
22415 "permissions" : {
22416 "check" : [
22417 "perm",
22418 "/vms/{vmid}",
22419 [
22420 "VM.Audit"
22421 ]
22422 ]
22423 },
56122987
DM
22424 "returns" : {
22425 "items" : {
56122987 22426 "properties" : {
44660702
DM
22427 "comment" : {
22428 "optional" : 1,
56122987
DM
22429 "type" : "string"
22430 },
56122987 22431 "digest" : {
56122987 22432 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
22433 "maxLength" : 40,
22434 "optional" : 0,
22435 "type" : "string"
22436 },
22437 "name" : {
4d47f125
TL
22438 "description" : "IP set name.",
22439 "maxLength" : 64,
22440 "minLength" : 2,
22441 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22442 "type" : "string"
56122987 22443 }
44660702
DM
22444 },
22445 "type" : "object"
22446 },
22447 "links" : [
22448 {
22449 "href" : "{name}",
22450 "rel" : "child"
56122987 22451 }
4d47f125
TL
22452 ],
22453 "type" : "array"
22454 }
22455 },
22456 "POST" : {
22457 "description" : "Create new IPSet",
22458 "method" : "POST",
22459 "name" : "create_ipset",
22460 "parameters" : {
22461 "additionalProperties" : 0,
22462 "properties" : {
22463 "comment" : {
22464 "optional" : 1,
22465 "type" : "string",
22466 "typetext" : "<string>"
22467 },
22468 "digest" : {
22469 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22470 "maxLength" : 40,
22471 "optional" : 1,
22472 "type" : "string",
22473 "typetext" : "<string>"
22474 },
22475 "name" : {
22476 "description" : "IP set name.",
22477 "maxLength" : 64,
22478 "minLength" : 2,
22479 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22480 "type" : "string"
22481 },
22482 "node" : {
22483 "description" : "The cluster node name.",
22484 "format" : "pve-node",
22485 "type" : "string",
22486 "typetext" : "<string>"
22487 },
22488 "rename" : {
22489 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
22490 "maxLength" : 64,
22491 "minLength" : 2,
22492 "optional" : 1,
22493 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22494 "type" : "string"
22495 },
22496 "vmid" : {
22497 "description" : "The (unique) ID of the VM.",
22498 "format" : "pve-vmid",
22499 "minimum" : 1,
22500 "type" : "integer",
22501 "typetext" : "<integer> (1 - N)"
22502 }
22503 }
22504 },
22505 "permissions" : {
22506 "check" : [
22507 "perm",
22508 "/vms/{vmid}",
22509 [
22510 "VM.Config.Network"
22511 ]
22512 ]
22513 },
22514 "protected" : 1,
22515 "returns" : {
22516 "type" : "null"
22517 }
22518 }
22519 },
22520 "leaf" : 0,
22521 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
22522 "text" : "ipset"
22523 },
22524 {
22525 "info" : {
22526 "GET" : {
22527 "description" : "Get VM firewall options.",
22528 "method" : "GET",
22529 "name" : "get_options",
22530 "parameters" : {
22531 "additionalProperties" : 0,
22532 "properties" : {
22533 "node" : {
22534 "description" : "The cluster node name.",
22535 "format" : "pve-node",
22536 "type" : "string",
22537 "typetext" : "<string>"
22538 },
22539 "vmid" : {
22540 "description" : "The (unique) ID of the VM.",
22541 "format" : "pve-vmid",
22542 "minimum" : 1,
22543 "type" : "integer",
22544 "typetext" : "<integer> (1 - N)"
22545 }
22546 }
22547 },
22548 "permissions" : {
22549 "check" : [
22550 "perm",
22551 "/vms/{vmid}",
22552 [
22553 "VM.Audit"
22554 ]
22555 ]
22556 },
22557 "proxyto" : "node",
22558 "returns" : {
22559 "properties" : {
22560 "dhcp" : {
22561 "description" : "Enable DHCP.",
22562 "optional" : 1,
22563 "type" : "boolean"
22564 },
22565 "enable" : {
22566 "description" : "Enable/disable firewall rules.",
22567 "optional" : 1,
22568 "type" : "boolean"
22569 },
22570 "ipfilter" : {
22571 "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.",
22572 "optional" : 1,
22573 "type" : "boolean"
22574 },
22575 "log_level_in" : {
22576 "description" : "Log level for incoming traffic.",
22577 "enum" : [
22578 "emerg",
22579 "alert",
22580 "crit",
22581 "err",
22582 "warning",
22583 "notice",
22584 "info",
22585 "debug",
22586 "nolog"
22587 ],
22588 "optional" : 1,
22589 "type" : "string"
22590 },
22591 "log_level_out" : {
22592 "description" : "Log level for outgoing traffic.",
22593 "enum" : [
22594 "emerg",
22595 "alert",
22596 "crit",
22597 "err",
22598 "warning",
22599 "notice",
22600 "info",
22601 "debug",
22602 "nolog"
22603 ],
22604 "optional" : 1,
22605 "type" : "string"
22606 },
22607 "macfilter" : {
22608 "description" : "Enable/disable MAC address filter.",
22609 "optional" : 1,
22610 "type" : "boolean"
22611 },
22612 "ndp" : {
22613 "description" : "Enable NDP.",
22614 "optional" : 1,
22615 "type" : "boolean"
22616 },
22617 "policy_in" : {
22618 "description" : "Input policy.",
22619 "enum" : [
22620 "ACCEPT",
22621 "REJECT",
22622 "DROP"
22623 ],
22624 "optional" : 1,
22625 "type" : "string"
22626 },
22627 "policy_out" : {
22628 "description" : "Output policy.",
22629 "enum" : [
22630 "ACCEPT",
22631 "REJECT",
22632 "DROP"
22633 ],
22634 "optional" : 1,
22635 "type" : "string"
22636 },
22637 "radv" : {
22638 "description" : "Allow sending Router Advertisement.",
22639 "optional" : 1,
22640 "type" : "boolean"
22641 }
22642 },
22643 "type" : "object"
7aacca6f
DM
22644 }
22645 },
4d47f125
TL
22646 "PUT" : {
22647 "description" : "Set Firewall options.",
22648 "method" : "PUT",
22649 "name" : "set_options",
7aacca6f
DM
22650 "parameters" : {
22651 "additionalProperties" : 0,
22652 "properties" : {
4d47f125
TL
22653 "delete" : {
22654 "description" : "A list of settings you want to delete.",
22655 "format" : "pve-configid-list",
7aacca6f 22656 "optional" : 1,
013dc89f
DM
22657 "type" : "string",
22658 "typetext" : "<string>"
7aacca6f 22659 },
4d47f125
TL
22660 "dhcp" : {
22661 "description" : "Enable DHCP.",
22662 "optional" : 1,
22663 "type" : "boolean",
22664 "typetext" : "<boolean>"
7aacca6f 22665 },
4d47f125
TL
22666 "digest" : {
22667 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22668 "maxLength" : 40,
22669 "optional" : 1,
013dc89f
DM
22670 "type" : "string",
22671 "typetext" : "<string>"
7aacca6f 22672 },
4d47f125
TL
22673 "enable" : {
22674 "description" : "Enable/disable firewall rules.",
22675 "optional" : 1,
22676 "type" : "boolean",
22677 "typetext" : "<boolean>"
22678 },
22679 "ipfilter" : {
22680 "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.",
22681 "optional" : 1,
22682 "type" : "boolean",
22683 "typetext" : "<boolean>"
56122987 22684 },
4d47f125
TL
22685 "log_level_in" : {
22686 "description" : "Log level for incoming traffic.",
22687 "enum" : [
22688 "emerg",
22689 "alert",
22690 "crit",
22691 "err",
22692 "warning",
22693 "notice",
22694 "info",
22695 "debug",
22696 "nolog"
22697 ],
22698 "optional" : 1,
22699 "type" : "string"
44660702 22700 },
4d47f125
TL
22701 "log_level_out" : {
22702 "description" : "Log level for outgoing traffic.",
22703 "enum" : [
22704 "emerg",
22705 "alert",
22706 "crit",
22707 "err",
22708 "warning",
22709 "notice",
22710 "info",
22711 "debug",
22712 "nolog"
22713 ],
22714 "optional" : 1,
22715 "type" : "string"
44660702 22716 },
4d47f125
TL
22717 "macfilter" : {
22718 "description" : "Enable/disable MAC address filter.",
22719 "optional" : 1,
22720 "type" : "boolean",
22721 "typetext" : "<boolean>"
7aacca6f 22722 },
4d47f125
TL
22723 "ndp" : {
22724 "description" : "Enable NDP.",
22725 "optional" : 1,
22726 "type" : "boolean",
22727 "typetext" : "<boolean>"
7aacca6f 22728 },
4d47f125
TL
22729 "node" : {
22730 "description" : "The cluster node name.",
22731 "format" : "pve-node",
22732 "type" : "string",
22733 "typetext" : "<string>"
22734 },
22735 "policy_in" : {
22736 "description" : "Input policy.",
22737 "enum" : [
22738 "ACCEPT",
22739 "REJECT",
22740 "DROP"
44660702 22741 ],
4d47f125
TL
22742 "optional" : 1,
22743 "type" : "string"
22744 },
22745 "policy_out" : {
22746 "description" : "Output policy.",
22747 "enum" : [
22748 "ACCEPT",
22749 "REJECT",
22750 "DROP"
22751 ],
22752 "optional" : 1,
22753 "type" : "string"
22754 },
22755 "radv" : {
22756 "description" : "Allow sending Router Advertisement.",
22757 "optional" : 1,
22758 "type" : "boolean",
22759 "typetext" : "<boolean>"
22760 },
22761 "vmid" : {
22762 "description" : "The (unique) ID of the VM.",
22763 "format" : "pve-vmid",
22764 "minimum" : 1,
22765 "type" : "integer",
22766 "typetext" : "<integer> (1 - N)"
44660702 22767 }
4d47f125
TL
22768 }
22769 },
22770 "permissions" : {
22771 "check" : [
22772 "perm",
22773 "/vms/{vmid}",
22774 [
22775 "VM.Config.Network"
22776 ]
22777 ]
22778 },
22779 "protected" : 1,
22780 "proxyto" : "node",
22781 "returns" : {
22782 "type" : "null"
22783 }
22784 }
22785 },
22786 "leaf" : 1,
22787 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
22788 "text" : "options"
22789 },
22790 {
22791 "info" : {
22792 "GET" : {
22793 "description" : "Read firewall log",
22794 "method" : "GET",
22795 "name" : "log",
22796 "parameters" : {
22797 "additionalProperties" : 0,
22798 "properties" : {
22799 "limit" : {
22800 "minimum" : 0,
22801 "optional" : 1,
22802 "type" : "integer",
22803 "typetext" : "<integer> (0 - N)"
44660702 22804 },
4d47f125
TL
22805 "node" : {
22806 "description" : "The cluster node name.",
22807 "format" : "pve-node",
22808 "type" : "string",
22809 "typetext" : "<string>"
44660702 22810 },
4d47f125
TL
22811 "start" : {
22812 "minimum" : 0,
22813 "optional" : 1,
22814 "type" : "integer",
22815 "typetext" : "<integer> (0 - N)"
22816 },
22817 "vmid" : {
22818 "description" : "The (unique) ID of the VM.",
22819 "format" : "pve-vmid",
22820 "minimum" : 1,
22821 "type" : "integer",
22822 "typetext" : "<integer> (1 - N)"
44660702
DM
22823 }
22824 }
22825 },
4d47f125
TL
22826 "permissions" : {
22827 "check" : [
22828 "perm",
22829 "/vms/{vmid}",
22830 [
22831 "VM.Console"
22832 ]
22833 ]
22834 },
22835 "protected" : 1,
22836 "proxyto" : "node",
22837 "returns" : {
22838 "items" : {
22839 "properties" : {
22840 "n" : {
22841 "description" : "Line number",
22842 "type" : "integer"
22843 },
22844 "t" : {
22845 "description" : "Line text",
22846 "type" : "string"
22847 }
22848 },
22849 "type" : "object"
22850 },
22851 "type" : "array"
22852 }
44660702 22853 }
4d47f125
TL
22854 },
22855 "leaf" : 1,
22856 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
22857 "text" : "log"
22858 },
22859 {
44660702
DM
22860 "info" : {
22861 "GET" : {
4d47f125 22862 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 22863 "method" : "GET",
4d47f125 22864 "name" : "refs",
44660702
DM
22865 "parameters" : {
22866 "additionalProperties" : 0,
22867 "properties" : {
22868 "node" : {
22869 "description" : "The cluster node name.",
22870 "format" : "pve-node",
013dc89f
DM
22871 "type" : "string",
22872 "typetext" : "<string>"
44660702 22873 },
4d47f125
TL
22874 "type" : {
22875 "description" : "Only list references of specified type.",
22876 "enum" : [
22877 "alias",
22878 "ipset"
22879 ],
22880 "optional" : 1,
22881 "type" : "string"
22882 },
44660702
DM
22883 "vmid" : {
22884 "description" : "The (unique) ID of the VM.",
22885 "format" : "pve-vmid",
22886 "minimum" : 1,
4bd7df8b 22887 "type" : "integer",
013dc89f 22888 "typetext" : "<integer> (1 - N)"
44660702
DM
22889 }
22890 }
22891 },
4d47f125
TL
22892 "permissions" : {
22893 "check" : [
22894 "perm",
22895 "/vms/{vmid}",
22896 [
22897 "VM.Audit"
22898 ]
22899 ]
22900 },
22901 "returns" : {
22902 "items" : {
22903 "properties" : {
22904 "comment" : {
22905 "optional" : 1,
22906 "type" : "string"
22907 },
22908 "name" : {
22909 "type" : "string"
22910 },
22911 "type" : {
22912 "enum" : [
22913 "alias",
22914 "ipset"
22915 ],
22916 "type" : "string"
22917 }
22918 },
22919 "type" : "object"
22920 },
22921 "type" : "array"
22922 }
22923 }
22924 },
22925 "leaf" : 1,
22926 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
22927 "text" : "refs"
22928 }
22929 ],
22930 "info" : {
22931 "GET" : {
22932 "description" : "Directory index.",
22933 "method" : "GET",
22934 "name" : "index",
22935 "parameters" : {
22936 "additionalProperties" : 0,
22937 "properties" : {
22938 "node" : {
22939 "description" : "The cluster node name.",
22940 "format" : "pve-node",
22941 "type" : "string",
22942 "typetext" : "<string>"
22943 },
22944 "vmid" : {
22945 "description" : "The (unique) ID of the VM.",
22946 "format" : "pve-vmid",
22947 "minimum" : 1,
22948 "type" : "integer",
22949 "typetext" : "<integer> (1 - N)"
22950 }
22951 }
22952 },
22953 "permissions" : {
22954 "user" : "all"
22955 },
22956 "returns" : {
22957 "items" : {
22958 "properties" : {},
22959 "type" : "object"
22960 },
22961 "links" : [
22962 {
22963 "href" : "{name}",
22964 "rel" : "child"
22965 }
22966 ],
22967 "type" : "array"
22968 }
22969 }
22970 },
22971 "leaf" : 0,
22972 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
22973 "text" : "firewall"
22974 },
22975 {
22976 "info" : {
22977 "GET" : {
22978 "description" : "Read VM RRD statistics (returns PNG)",
22979 "method" : "GET",
22980 "name" : "rrd",
22981 "parameters" : {
22982 "additionalProperties" : 0,
22983 "properties" : {
22984 "cf" : {
22985 "description" : "The RRD consolidation function",
22986 "enum" : [
22987 "AVERAGE",
22988 "MAX"
22989 ],
22990 "optional" : 1,
22991 "type" : "string"
22992 },
22993 "ds" : {
22994 "description" : "The list of datasources you want to display.",
22995 "format" : "pve-configid-list",
22996 "type" : "string",
22997 "typetext" : "<string>"
22998 },
22999 "node" : {
23000 "description" : "The cluster node name.",
23001 "format" : "pve-node",
23002 "type" : "string",
23003 "typetext" : "<string>"
23004 },
23005 "timeframe" : {
23006 "description" : "Specify the time frame you are interested in.",
23007 "enum" : [
23008 "hour",
23009 "day",
23010 "week",
23011 "month",
23012 "year"
23013 ],
23014 "type" : "string"
23015 },
23016 "vmid" : {
23017 "description" : "The (unique) ID of the VM.",
23018 "format" : "pve-vmid",
23019 "minimum" : 1,
23020 "type" : "integer",
23021 "typetext" : "<integer> (1 - N)"
23022 }
23023 }
23024 },
23025 "permissions" : {
23026 "check" : [
23027 "perm",
23028 "/vms/{vmid}",
23029 [
23030 "VM.Audit"
23031 ]
23032 ]
23033 },
23034 "protected" : 1,
23035 "returns" : {
23036 "properties" : {
23037 "filename" : {
23038 "type" : "string"
23039 }
23040 },
23041 "type" : "object"
23042 }
23043 }
23044 },
23045 "leaf" : 1,
23046 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
23047 "text" : "rrd"
23048 },
23049 {
23050 "info" : {
23051 "GET" : {
23052 "description" : "Read VM RRD statistics",
23053 "method" : "GET",
23054 "name" : "rrddata",
23055 "parameters" : {
23056 "additionalProperties" : 0,
23057 "properties" : {
23058 "cf" : {
23059 "description" : "The RRD consolidation function",
23060 "enum" : [
23061 "AVERAGE",
23062 "MAX"
23063 ],
23064 "optional" : 1,
23065 "type" : "string"
23066 },
23067 "node" : {
23068 "description" : "The cluster node name.",
23069 "format" : "pve-node",
23070 "type" : "string",
23071 "typetext" : "<string>"
44660702 23072 },
4d47f125
TL
23073 "timeframe" : {
23074 "description" : "Specify the time frame you are interested in.",
23075 "enum" : [
23076 "hour",
23077 "day",
23078 "week",
23079 "month",
23080 "year"
44660702 23081 ],
4d47f125
TL
23082 "type" : "string"
23083 },
23084 "vmid" : {
23085 "description" : "The (unique) ID of the VM.",
23086 "format" : "pve-vmid",
23087 "minimum" : 1,
23088 "type" : "integer",
23089 "typetext" : "<integer> (1 - N)"
44660702 23090 }
4d47f125
TL
23091 }
23092 },
23093 "permissions" : {
23094 "check" : [
23095 "perm",
23096 "/vms/{vmid}",
23097 [
23098 "VM.Audit"
23099 ]
23100 ]
23101 },
23102 "protected" : 1,
23103 "returns" : {
23104 "items" : {
23105 "properties" : {},
23106 "type" : "object"
44660702 23107 },
4d47f125
TL
23108 "type" : "array"
23109 }
23110 }
23111 },
23112 "leaf" : 1,
23113 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
23114 "text" : "rrddata"
23115 },
23116 {
23117 "info" : {
23118 "POST" : {
23119 "description" : "Creates a TCP VNC proxy connections.",
23120 "method" : "POST",
23121 "name" : "vncproxy",
23122 "parameters" : {
23123 "additionalProperties" : 0,
23124 "properties" : {
23125 "height" : {
23126 "description" : "sets the height of the console in pixels.",
23127 "maximum" : 2160,
23128 "minimum" : 16,
23129 "optional" : 1,
23130 "type" : "integer",
23131 "typetext" : "<integer> (16 - 2160)"
44660702 23132 },
4d47f125
TL
23133 "node" : {
23134 "description" : "The cluster node name.",
23135 "format" : "pve-node",
23136 "type" : "string",
23137 "typetext" : "<string>"
44660702 23138 },
4d47f125
TL
23139 "vmid" : {
23140 "description" : "The (unique) ID of the VM.",
23141 "format" : "pve-vmid",
23142 "minimum" : 1,
23143 "type" : "integer",
23144 "typetext" : "<integer> (1 - N)"
23145 },
23146 "websocket" : {
23147 "description" : "use websocket instead of standard VNC.",
23148 "optional" : 1,
23149 "type" : "boolean",
23150 "typetext" : "<boolean>"
23151 },
23152 "width" : {
23153 "description" : "sets the width of the console in pixels.",
23154 "maximum" : 4096,
23155 "minimum" : 16,
23156 "optional" : 1,
23157 "type" : "integer",
23158 "typetext" : "<integer> (16 - 4096)"
56122987
DM
23159 }
23160 }
44660702 23161 },
4d47f125
TL
23162 "permissions" : {
23163 "check" : [
23164 "perm",
23165 "/vms/{vmid}",
23166 [
23167 "VM.Console"
23168 ]
23169 ]
23170 },
23171 "protected" : 1,
23172 "returns" : {
23173 "additionalProperties" : 0,
23174 "properties" : {
23175 "cert" : {
23176 "type" : "string"
44660702 23177 },
4d47f125
TL
23178 "port" : {
23179 "type" : "integer"
23180 },
23181 "ticket" : {
23182 "type" : "string"
23183 },
23184 "upid" : {
23185 "type" : "string"
23186 },
23187 "user" : {
23188 "type" : "string"
23189 }
23190 }
23191 }
23192 }
23193 },
23194 "leaf" : 1,
23195 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
23196 "text" : "vncproxy"
23197 },
23198 {
23199 "info" : {
23200 "POST" : {
23201 "description" : "Creates a TCP proxy connection.",
23202 "method" : "POST",
23203 "name" : "termproxy",
23204 "parameters" : {
23205 "additionalProperties" : 0,
23206 "properties" : {
23207 "node" : {
23208 "description" : "The cluster node name.",
23209 "format" : "pve-node",
23210 "type" : "string",
23211 "typetext" : "<string>"
44660702 23212 },
4d47f125
TL
23213 "vmid" : {
23214 "description" : "The (unique) ID of the VM.",
23215 "format" : "pve-vmid",
23216 "minimum" : 1,
23217 "type" : "integer",
23218 "typetext" : "<integer> (1 - N)"
44660702 23219 }
4d47f125
TL
23220 }
23221 },
23222 "permissions" : {
23223 "check" : [
23224 "perm",
23225 "/vms/{vmid}",
23226 [
23227 "VM.Console"
23228 ]
23229 ]
23230 },
23231 "protected" : 1,
23232 "returns" : {
23233 "additionalProperties" : 0,
23234 "properties" : {
23235 "port" : {
23236 "type" : "integer"
56122987 23237 },
4d47f125
TL
23238 "ticket" : {
23239 "type" : "string"
7aacca6f 23240 },
4d47f125
TL
23241 "upid" : {
23242 "type" : "string"
23243 },
23244 "user" : {
23245 "type" : "string"
23246 }
23247 }
23248 }
23249 }
23250 },
23251 "leaf" : 1,
23252 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
23253 "text" : "termproxy"
23254 },
23255 {
23256 "info" : {
23257 "GET" : {
23258 "description" : "Opens a weksocket for VNC traffic.",
23259 "method" : "GET",
23260 "name" : "vncwebsocket",
23261 "parameters" : {
23262 "additionalProperties" : 0,
23263 "properties" : {
23264 "node" : {
23265 "description" : "The cluster node name.",
23266 "format" : "pve-node",
23267 "type" : "string",
23268 "typetext" : "<string>"
23269 },
23270 "port" : {
23271 "description" : "Port number returned by previous vncproxy call.",
23272 "maximum" : 5999,
23273 "minimum" : 5900,
23274 "type" : "integer",
23275 "typetext" : "<integer> (5900 - 5999)"
23276 },
23277 "vmid" : {
23278 "description" : "The (unique) ID of the VM.",
23279 "format" : "pve-vmid",
23280 "minimum" : 1,
23281 "type" : "integer",
23282 "typetext" : "<integer> (1 - N)"
23283 },
23284 "vncticket" : {
23285 "description" : "Ticket from previous call to vncproxy.",
23286 "maxLength" : 512,
23287 "type" : "string",
23288 "typetext" : "<string>"
56122987
DM
23289 }
23290 }
23291 },
4d47f125
TL
23292 "permissions" : {
23293 "check" : [
23294 "perm",
23295 "/vms/{vmid}",
23296 [
23297 "VM.Console"
23298 ]
23299 ],
23300 "description" : "You also need to pass a valid ticket (vncticket)."
23301 },
23302 "returns" : {
23303 "properties" : {
23304 "port" : {
23305 "type" : "string"
23306 }
23307 },
23308 "type" : "object"
23309 }
23310 }
23311 },
23312 "leaf" : 1,
23313 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
23314 "text" : "vncwebsocket"
23315 },
23316 {
23317 "info" : {
23318 "POST" : {
23319 "description" : "Returns a SPICE configuration to connect to the CT.",
23320 "method" : "POST",
23321 "name" : "spiceproxy",
23322 "parameters" : {
23323 "additionalProperties" : 0,
23324 "properties" : {
23325 "node" : {
23326 "description" : "The cluster node name.",
23327 "format" : "pve-node",
23328 "type" : "string",
23329 "typetext" : "<string>"
56122987 23330 },
4d47f125
TL
23331 "proxy" : {
23332 "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).",
23333 "format" : "address",
23334 "optional" : 1,
23335 "type" : "string",
23336 "typetext" : "<string>"
44660702 23337 },
4d47f125
TL
23338 "vmid" : {
23339 "description" : "The (unique) ID of the VM.",
23340 "format" : "pve-vmid",
23341 "minimum" : 1,
23342 "type" : "integer",
23343 "typetext" : "<integer> (1 - N)"
44660702 23344 }
56122987
DM
23345 }
23346 },
4d47f125
TL
23347 "permissions" : {
23348 "check" : [
23349 "perm",
23350 "/vms/{vmid}",
23351 [
23352 "VM.Console"
23353 ]
23354 ]
23355 },
23356 "protected" : 1,
23357 "proxyto" : "node",
23358 "returns" : {
23359 "additionalProperties" : 1,
23360 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
23361 "properties" : {
23362 "host" : {
23363 "type" : "string"
23364 },
23365 "password" : {
23366 "type" : "string"
23367 },
23368 "proxy" : {
23369 "type" : "string"
23370 },
23371 "tls-port" : {
23372 "type" : "integer"
23373 },
23374 "type" : {
23375 "type" : "string"
23376 }
23377 }
23378 }
23379 }
23380 },
23381 "leaf" : 1,
23382 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
23383 "text" : "spiceproxy"
23384 },
23385 {
23386 "info" : {
23387 "POST" : {
23388 "description" : "Migrate the container to another node. Creates a new migration task.",
23389 "method" : "POST",
23390 "name" : "migrate_vm",
23391 "parameters" : {
23392 "additionalProperties" : 0,
23393 "properties" : {
95895385
TL
23394 "bwlimit" : {
23395 "default" : "migrate limit from datacenter or storage config",
23396 "description" : "Override I/O bandwidth limit (in KiB/s).",
23397 "minimum" : "0",
23398 "optional" : 1,
23399 "type" : "number",
23400 "typetext" : "<number> (0 - N)"
23401 },
4d47f125
TL
23402 "force" : {
23403 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
23404 "optional" : 1,
23405 "type" : "boolean",
23406 "typetext" : "<boolean>"
56122987 23407 },
4d47f125
TL
23408 "node" : {
23409 "description" : "The cluster node name.",
23410 "format" : "pve-node",
23411 "type" : "string",
23412 "typetext" : "<string>"
44660702 23413 },
4d47f125
TL
23414 "online" : {
23415 "description" : "Use online/live migration.",
23416 "optional" : 1,
23417 "type" : "boolean",
23418 "typetext" : "<boolean>"
23419 },
23420 "restart" : {
23421 "description" : "Use restart migration",
23422 "optional" : 1,
23423 "type" : "boolean",
23424 "typetext" : "<boolean>"
23425 },
23426 "target" : {
23427 "description" : "Target node.",
23428 "format" : "pve-node",
23429 "type" : "string",
23430 "typetext" : "<string>"
23431 },
23432 "timeout" : {
23433 "default" : 180,
23434 "description" : "Timeout in seconds for shutdown for restart migration",
23435 "optional" : 1,
23436 "type" : "integer",
23437 "typetext" : "<integer>"
23438 },
23439 "vmid" : {
23440 "description" : "The (unique) ID of the VM.",
23441 "format" : "pve-vmid",
23442 "minimum" : 1,
23443 "type" : "integer",
23444 "typetext" : "<integer> (1 - N)"
56122987
DM
23445 }
23446 }
23447 },
4d47f125
TL
23448 "permissions" : {
23449 "check" : [
23450 "perm",
23451 "/vms/{vmid}",
23452 [
23453 "VM.Migrate"
23454 ]
23455 ]
23456 },
23457 "protected" : 1,
23458 "proxyto" : "node",
23459 "returns" : {
23460 "description" : "the task ID.",
23461 "type" : "string"
23462 }
56122987 23463 }
4d47f125
TL
23464 },
23465 "leaf" : 1,
23466 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
23467 "text" : "migrate"
23468 },
23469 {
56122987
DM
23470 "info" : {
23471 "GET" : {
4d47f125 23472 "description" : "Check if feature for virtual machine is available.",
44660702 23473 "method" : "GET",
4d47f125 23474 "name" : "vm_feature",
56122987 23475 "parameters" : {
44660702 23476 "additionalProperties" : 0,
56122987 23477 "properties" : {
4d47f125
TL
23478 "feature" : {
23479 "description" : "Feature to check.",
23480 "enum" : [
23481 "snapshot",
23482 "clone",
23483 "copy"
23484 ],
23485 "type" : "string"
23486 },
56122987 23487 "node" : {
44660702 23488 "description" : "The cluster node name.",
56122987 23489 "format" : "pve-node",
013dc89f
DM
23490 "type" : "string",
23491 "typetext" : "<string>"
44660702 23492 },
4d47f125
TL
23493 "snapname" : {
23494 "description" : "The name of the snapshot.",
23495 "format" : "pve-configid",
23496 "maxLength" : 40,
23497 "optional" : 1,
23498 "type" : "string",
23499 "typetext" : "<string>"
23500 },
44660702
DM
23501 "vmid" : {
23502 "description" : "The (unique) ID of the VM.",
23503 "format" : "pve-vmid",
23504 "minimum" : 1,
4bd7df8b 23505 "type" : "integer",
013dc89f 23506 "typetext" : "<integer> (1 - N)"
56122987 23507 }
44660702
DM
23508 }
23509 },
23510 "permissions" : {
4d47f125
TL
23511 "check" : [
23512 "perm",
23513 "/vms/{vmid}",
23514 [
23515 "VM.Audit"
23516 ]
23517 ]
56122987 23518 },
4d47f125
TL
23519 "protected" : 1,
23520 "proxyto" : "node",
56122987 23521 "returns" : {
4d47f125
TL
23522 "properties" : {
23523 "hasFeature" : {
23524 "type" : "boolean"
23525 }
7aacca6f 23526 },
4d47f125
TL
23527 "type" : "object"
23528 }
23529 }
23530 },
23531 "leaf" : 1,
23532 "path" : "/nodes/{node}/lxc/{vmid}/feature",
23533 "text" : "feature"
23534 },
23535 {
23536 "info" : {
23537 "POST" : {
23538 "description" : "Create a Template.",
23539 "method" : "POST",
23540 "name" : "template",
23541 "parameters" : {
23542 "additionalProperties" : 0,
23543 "properties" : {
23544 "node" : {
23545 "description" : "The cluster node name.",
23546 "format" : "pve-node",
23547 "type" : "string",
23548 "typetext" : "<string>"
23549 },
23550 "vmid" : {
23551 "description" : "The (unique) ID of the VM.",
23552 "format" : "pve-vmid",
23553 "minimum" : 1,
23554 "type" : "integer",
23555 "typetext" : "<integer> (1 - N)"
56122987 23556 }
4d47f125
TL
23557 }
23558 },
23559 "permissions" : {
23560 "check" : [
23561 "perm",
23562 "/vms/{vmid}",
23563 [
23564 "VM.Allocate"
23565 ]
44660702 23566 ],
4d47f125
TL
23567 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
23568 },
23569 "protected" : 1,
23570 "proxyto" : "node",
23571 "returns" : {
23572 "type" : "null"
56122987
DM
23573 }
23574 }
23575 },
4d47f125
TL
23576 "leaf" : 1,
23577 "path" : "/nodes/{node}/lxc/{vmid}/template",
23578 "text" : "template"
56122987
DM
23579 },
23580 {
56122987 23581 "info" : {
4d47f125
TL
23582 "POST" : {
23583 "description" : "Create a container clone/copy",
23584 "method" : "POST",
23585 "name" : "clone_vm",
56122987 23586 "parameters" : {
7aacca6f 23587 "additionalProperties" : 0,
56122987 23588 "properties" : {
95895385
TL
23589 "bwlimit" : {
23590 "default" : "clone limit from datacenter or storage config",
23591 "description" : "Override I/O bandwidth limit (in KiB/s).",
23592 "minimum" : "0",
23593 "optional" : 1,
23594 "type" : "number",
23595 "typetext" : "<number> (0 - N)"
23596 },
4d47f125
TL
23597 "description" : {
23598 "description" : "Description for the new CT.",
44660702 23599 "optional" : 1,
4d47f125
TL
23600 "type" : "string",
23601 "typetext" : "<string>"
44660702 23602 },
4d47f125
TL
23603 "full" : {
23604 "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.",
23605 "optional" : 1,
23606 "type" : "boolean",
23607 "typetext" : "<boolean>"
23608 },
23609 "hostname" : {
23610 "description" : "Set a hostname for the new CT.",
23611 "format" : "dns-name",
23612 "optional" : 1,
013dc89f
DM
23613 "type" : "string",
23614 "typetext" : "<string>"
44660702 23615 },
4d47f125
TL
23616 "newid" : {
23617 "description" : "VMID for the clone.",
23618 "format" : "pve-vmid",
23619 "minimum" : 1,
23620 "type" : "integer",
23621 "typetext" : "<integer> (1 - N)"
23622 },
7aacca6f
DM
23623 "node" : {
23624 "description" : "The cluster node name.",
44660702 23625 "format" : "pve-node",
013dc89f
DM
23626 "type" : "string",
23627 "typetext" : "<string>"
56122987 23628 },
4d47f125
TL
23629 "pool" : {
23630 "description" : "Add the new CT to the specified pool.",
23631 "format" : "pve-poolid",
23632 "optional" : 1,
23633 "type" : "string",
23634 "typetext" : "<string>"
23635 },
23636 "snapname" : {
23637 "description" : "The name of the snapshot.",
23638 "format" : "pve-configid",
23639 "maxLength" : 40,
23640 "optional" : 1,
23641 "type" : "string",
23642 "typetext" : "<string>"
23643 },
23644 "storage" : {
23645 "description" : "Target storage for full clone.",
23646 "format" : "pve-storage-id",
23647 "optional" : 1,
23648 "type" : "string",
23649 "typetext" : "<string>"
23650 },
23651 "target" : {
23652 "description" : "Target node. Only allowed if the original VM is on shared storage.",
23653 "format" : "pve-node",
23654 "optional" : 1,
23655 "type" : "string",
23656 "typetext" : "<string>"
23657 },
7aacca6f 23658 "vmid" : {
44660702 23659 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23660 "format" : "pve-vmid",
23661 "minimum" : 1,
4bd7df8b 23662 "type" : "integer",
013dc89f 23663 "typetext" : "<integer> (1 - N)"
56122987 23664 }
7aacca6f
DM
23665 }
23666 },
23667 "permissions" : {
23668 "check" : [
4d47f125 23669 "and",
7aacca6f 23670 [
4d47f125
TL
23671 "perm",
23672 "/vms/{vmid}",
23673 [
23674 "VM.Clone"
23675 ]
23676 ],
23677 [
23678 "or",
23679 [
23680 "perm",
23681 "/vms/{newid}",
23682 [
23683 "VM.Allocate"
23684 ]
23685 ],
23686 [
23687 "perm",
23688 "/pool/{pool}",
23689 [
23690 "VM.Allocate"
23691 ],
23692 "require_param",
23693 "pool"
23694 ]
7aacca6f 23695 ]
4d47f125
TL
23696 ],
23697 "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 23698 },
44660702 23699 "protected" : 1,
4d47f125 23700 "proxyto" : "node",
7aacca6f 23701 "returns" : {
4d47f125 23702 "type" : "string"
7aacca6f 23703 }
56122987 23704 }
7aacca6f 23705 },
44660702 23706 "leaf" : 1,
4d47f125
TL
23707 "path" : "/nodes/{node}/lxc/{vmid}/clone",
23708 "text" : "clone"
56122987
DM
23709 },
23710 {
56122987 23711 "info" : {
4d47f125
TL
23712 "PUT" : {
23713 "description" : "Resize a container mount point.",
23714 "method" : "PUT",
23715 "name" : "resize_vm",
56122987 23716 "parameters" : {
7aacca6f 23717 "additionalProperties" : 0,
56122987 23718 "properties" : {
4d47f125
TL
23719 "digest" : {
23720 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23721 "maxLength" : 40,
23722 "optional" : 1,
23723 "type" : "string",
23724 "typetext" : "<string>"
23725 },
23726 "disk" : {
23727 "description" : "The disk you want to resize.",
44660702 23728 "enum" : [
4d47f125
TL
23729 "rootfs",
23730 "mp0",
23731 "mp1",
23732 "mp2",
23733 "mp3",
23734 "mp4",
23735 "mp5",
23736 "mp6",
23737 "mp7",
23738 "mp8",
23739 "mp9",
23740 "mp10",
23741 "mp11",
23742 "mp12",
23743 "mp13",
23744 "mp14",
23745 "mp15",
23746 "mp16",
23747 "mp17",
23748 "mp18",
23749 "mp19",
23750 "mp20",
23751 "mp21",
23752 "mp22",
23753 "mp23",
23754 "mp24",
23755 "mp25",
23756 "mp26",
23757 "mp27",
23758 "mp28",
23759 "mp29",
23760 "mp30",
23761 "mp31",
23762 "mp32",
23763 "mp33",
23764 "mp34",
23765 "mp35",
23766 "mp36",
23767 "mp37",
23768 "mp38",
23769 "mp39",
23770 "mp40",
23771 "mp41",
23772 "mp42",
23773 "mp43",
23774 "mp44",
23775 "mp45",
23776 "mp46",
23777 "mp47",
23778 "mp48",
23779 "mp49",
23780 "mp50",
23781 "mp51",
23782 "mp52",
23783 "mp53",
23784 "mp54",
23785 "mp55",
23786 "mp56",
23787 "mp57",
23788 "mp58",
23789 "mp59",
23790 "mp60",
23791 "mp61",
23792 "mp62",
23793 "mp63",
23794 "mp64",
23795 "mp65",
23796 "mp66",
23797 "mp67",
23798 "mp68",
23799 "mp69",
23800 "mp70",
23801 "mp71",
23802 "mp72",
23803 "mp73",
23804 "mp74",
23805 "mp75",
23806 "mp76",
23807 "mp77",
23808 "mp78",
23809 "mp79",
23810 "mp80",
23811 "mp81",
23812 "mp82",
23813 "mp83",
23814 "mp84",
23815 "mp85",
23816 "mp86",
23817 "mp87",
23818 "mp88",
23819 "mp89",
23820 "mp90",
23821 "mp91",
23822 "mp92",
23823 "mp93",
23824 "mp94",
23825 "mp95",
23826 "mp96",
23827 "mp97",
23828 "mp98",
23829 "mp99",
23830 "mp100",
23831 "mp101",
23832 "mp102",
23833 "mp103",
23834 "mp104",
23835 "mp105",
23836 "mp106",
23837 "mp107",
23838 "mp108",
23839 "mp109",
23840 "mp110",
23841 "mp111",
23842 "mp112",
23843 "mp113",
23844 "mp114",
23845 "mp115",
23846 "mp116",
23847 "mp117",
23848 "mp118",
23849 "mp119",
23850 "mp120",
23851 "mp121",
23852 "mp122",
23853 "mp123",
23854 "mp124",
23855 "mp125",
23856 "mp126",
23857 "mp127",
23858 "mp128",
23859 "mp129",
23860 "mp130",
23861 "mp131",
23862 "mp132",
23863 "mp133",
23864 "mp134",
23865 "mp135",
23866 "mp136",
23867 "mp137",
23868 "mp138",
23869 "mp139",
23870 "mp140",
23871 "mp141",
23872 "mp142",
23873 "mp143",
23874 "mp144",
23875 "mp145",
23876 "mp146",
23877 "mp147",
23878 "mp148",
23879 "mp149",
23880 "mp150",
23881 "mp151",
23882 "mp152",
23883 "mp153",
23884 "mp154",
23885 "mp155",
23886 "mp156",
23887 "mp157",
23888 "mp158",
23889 "mp159",
23890 "mp160",
23891 "mp161",
23892 "mp162",
23893 "mp163",
23894 "mp164",
23895 "mp165",
23896 "mp166",
23897 "mp167",
23898 "mp168",
23899 "mp169",
23900 "mp170",
23901 "mp171",
23902 "mp172",
23903 "mp173",
23904 "mp174",
23905 "mp175",
23906 "mp176",
23907 "mp177",
23908 "mp178",
23909 "mp179",
23910 "mp180",
23911 "mp181",
23912 "mp182",
23913 "mp183",
23914 "mp184",
23915 "mp185",
23916 "mp186",
23917 "mp187",
23918 "mp188",
23919 "mp189",
23920 "mp190",
23921 "mp191",
23922 "mp192",
23923 "mp193",
23924 "mp194",
23925 "mp195",
23926 "mp196",
23927 "mp197",
23928 "mp198",
23929 "mp199",
23930 "mp200",
23931 "mp201",
23932 "mp202",
23933 "mp203",
23934 "mp204",
23935 "mp205",
23936 "mp206",
23937 "mp207",
23938 "mp208",
23939 "mp209",
23940 "mp210",
23941 "mp211",
23942 "mp212",
23943 "mp213",
23944 "mp214",
23945 "mp215",
23946 "mp216",
23947 "mp217",
23948 "mp218",
23949 "mp219",
23950 "mp220",
23951 "mp221",
23952 "mp222",
23953 "mp223",
23954 "mp224",
23955 "mp225",
23956 "mp226",
23957 "mp227",
23958 "mp228",
23959 "mp229",
23960 "mp230",
23961 "mp231",
23962 "mp232",
23963 "mp233",
23964 "mp234",
23965 "mp235",
23966 "mp236",
23967 "mp237",
23968 "mp238",
23969 "mp239",
23970 "mp240",
23971 "mp241",
23972 "mp242",
23973 "mp243",
23974 "mp244",
23975 "mp245",
23976 "mp246",
23977 "mp247",
23978 "mp248",
23979 "mp249",
23980 "mp250",
23981 "mp251",
23982 "mp252",
23983 "mp253",
23984 "mp254",
23985 "mp255"
44660702 23986 ],
44660702
DM
23987 "type" : "string"
23988 },
7aacca6f 23989 "node" : {
44660702 23990 "description" : "The cluster node name.",
7aacca6f 23991 "format" : "pve-node",
013dc89f
DM
23992 "type" : "string",
23993 "typetext" : "<string>"
7aacca6f 23994 },
4d47f125
TL
23995 "size" : {
23996 "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.",
23997 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 23998 "type" : "string"
7aacca6f
DM
23999 },
24000 "vmid" : {
24001 "description" : "The (unique) ID of the VM.",
44660702 24002 "format" : "pve-vmid",
7aacca6f 24003 "minimum" : 1,
4bd7df8b 24004 "type" : "integer",
013dc89f 24005 "typetext" : "<integer> (1 - N)"
56122987 24006 }
56122987
DM
24007 }
24008 },
56122987
DM
24009 "permissions" : {
24010 "check" : [
24011 "perm",
24012 "/vms/{vmid}",
24013 [
4d47f125
TL
24014 "VM.Config.Disk"
24015 ],
24016 "any",
24017 1
56122987
DM
24018 ]
24019 },
7aacca6f 24020 "protected" : 1,
4d47f125 24021 "proxyto" : "node",
7aacca6f 24022 "returns" : {
4d47f125
TL
24023 "description" : "the task ID.",
24024 "type" : "string"
44660702 24025 }
56122987
DM
24026 }
24027 },
44660702 24028 "leaf" : 1,
4d47f125
TL
24029 "path" : "/nodes/{node}/lxc/{vmid}/resize",
24030 "text" : "resize"
56122987
DM
24031 },
24032 {
24033 "info" : {
24034 "POST" : {
4d47f125 24035 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 24036 "method" : "POST",
4d47f125 24037 "name" : "move_volume",
7aacca6f 24038 "parameters" : {
44660702 24039 "additionalProperties" : 0,
7aacca6f 24040 "properties" : {
95895385
TL
24041 "bwlimit" : {
24042 "default" : "clone limit from datacenter or storage config",
24043 "description" : "Override I/O bandwidth limit (in KiB/s).",
24044 "minimum" : "0",
24045 "optional" : 1,
24046 "type" : "number",
24047 "typetext" : "<number> (0 - N)"
24048 },
4d47f125
TL
24049 "delete" : {
24050 "default" : 0,
24051 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 24052 "optional" : 1,
4d47f125
TL
24053 "type" : "boolean",
24054 "typetext" : "<boolean>"
24055 },
24056 "digest" : {
24057 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24058 "maxLength" : 40,
24059 "optional" : 1,
24060 "type" : "string",
24061 "typetext" : "<string>"
5d9c884c 24062 },
44660702
DM
24063 "node" : {
24064 "description" : "The cluster node name.",
24065 "format" : "pve-node",
013dc89f
DM
24066 "type" : "string",
24067 "typetext" : "<string>"
44660702 24068 },
4d47f125
TL
24069 "storage" : {
24070 "description" : "Target Storage.",
24071 "format" : "pve-storage-id",
24072 "type" : "string",
24073 "typetext" : "<string>"
24074 },
7aacca6f 24075 "vmid" : {
44660702 24076 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
24077 "format" : "pve-vmid",
24078 "minimum" : 1,
4bd7df8b 24079 "type" : "integer",
013dc89f 24080 "typetext" : "<integer> (1 - N)"
7aacca6f 24081 },
4d47f125
TL
24082 "volume" : {
24083 "description" : "Volume which will be moved.",
24084 "enum" : [
24085 "rootfs",
24086 "mp0",
24087 "mp1",
24088 "mp2",
24089 "mp3",
24090 "mp4",
24091 "mp5",
24092 "mp6",
24093 "mp7",
24094 "mp8",
24095 "mp9",
24096 "mp10",
24097 "mp11",
24098 "mp12",
24099 "mp13",
24100 "mp14",
24101 "mp15",
24102 "mp16",
24103 "mp17",
24104 "mp18",
24105 "mp19",
24106 "mp20",
24107 "mp21",
24108 "mp22",
24109 "mp23",
24110 "mp24",
24111 "mp25",
24112 "mp26",
24113 "mp27",
24114 "mp28",
24115 "mp29",
24116 "mp30",
24117 "mp31",
24118 "mp32",
24119 "mp33",
24120 "mp34",
24121 "mp35",
24122 "mp36",
24123 "mp37",
24124 "mp38",
24125 "mp39",
24126 "mp40",
24127 "mp41",
24128 "mp42",
24129 "mp43",
24130 "mp44",
24131 "mp45",
24132 "mp46",
24133 "mp47",
24134 "mp48",
24135 "mp49",
24136 "mp50",
24137 "mp51",
24138 "mp52",
24139 "mp53",
24140 "mp54",
24141 "mp55",
24142 "mp56",
24143 "mp57",
24144 "mp58",
24145 "mp59",
24146 "mp60",
24147 "mp61",
24148 "mp62",
24149 "mp63",
24150 "mp64",
24151 "mp65",
24152 "mp66",
24153 "mp67",
24154 "mp68",
24155 "mp69",
24156 "mp70",
24157 "mp71",
24158 "mp72",
24159 "mp73",
24160 "mp74",
24161 "mp75",
24162 "mp76",
24163 "mp77",
24164 "mp78",
24165 "mp79",
24166 "mp80",
24167 "mp81",
24168 "mp82",
24169 "mp83",
24170 "mp84",
24171 "mp85",
24172 "mp86",
24173 "mp87",
24174 "mp88",
24175 "mp89",
24176 "mp90",
24177 "mp91",
24178 "mp92",
24179 "mp93",
24180 "mp94",
24181 "mp95",
24182 "mp96",
24183 "mp97",
24184 "mp98",
24185 "mp99",
24186 "mp100",
24187 "mp101",
24188 "mp102",
24189 "mp103",
24190 "mp104",
24191 "mp105",
24192 "mp106",
24193 "mp107",
24194 "mp108",
24195 "mp109",
24196 "mp110",
24197 "mp111",
24198 "mp112",
24199 "mp113",
24200 "mp114",
24201 "mp115",
24202 "mp116",
24203 "mp117",
24204 "mp118",
24205 "mp119",
24206 "mp120",
24207 "mp121",
24208 "mp122",
24209 "mp123",
24210 "mp124",
24211 "mp125",
24212 "mp126",
24213 "mp127",
24214 "mp128",
24215 "mp129",
24216 "mp130",
24217 "mp131",
24218 "mp132",
24219 "mp133",
24220 "mp134",
24221 "mp135",
24222 "mp136",
24223 "mp137",
24224 "mp138",
24225 "mp139",
24226 "mp140",
24227 "mp141",
24228 "mp142",
24229 "mp143",
24230 "mp144",
24231 "mp145",
24232 "mp146",
24233 "mp147",
24234 "mp148",
24235 "mp149",
24236 "mp150",
24237 "mp151",
24238 "mp152",
24239 "mp153",
24240 "mp154",
24241 "mp155",
24242 "mp156",
24243 "mp157",
24244 "mp158",
24245 "mp159",
24246 "mp160",
24247 "mp161",
24248 "mp162",
24249 "mp163",
24250 "mp164",
24251 "mp165",
24252 "mp166",
24253 "mp167",
24254 "mp168",
24255 "mp169",
24256 "mp170",
24257 "mp171",
24258 "mp172",
24259 "mp173",
24260 "mp174",
24261 "mp175",
24262 "mp176",
24263 "mp177",
24264 "mp178",
24265 "mp179",
24266 "mp180",
24267 "mp181",
24268 "mp182",
24269 "mp183",
24270 "mp184",
24271 "mp185",
24272 "mp186",
24273 "mp187",
24274 "mp188",
24275 "mp189",
24276 "mp190",
24277 "mp191",
24278 "mp192",
24279 "mp193",
24280 "mp194",
24281 "mp195",
24282 "mp196",
24283 "mp197",
24284 "mp198",
24285 "mp199",
24286 "mp200",
24287 "mp201",
24288 "mp202",
24289 "mp203",
24290 "mp204",
24291 "mp205",
24292 "mp206",
24293 "mp207",
24294 "mp208",
24295 "mp209",
24296 "mp210",
24297 "mp211",
24298 "mp212",
24299 "mp213",
24300 "mp214",
24301 "mp215",
24302 "mp216",
24303 "mp217",
24304 "mp218",
24305 "mp219",
24306 "mp220",
24307 "mp221",
24308 "mp222",
24309 "mp223",
24310 "mp224",
24311 "mp225",
24312 "mp226",
24313 "mp227",
24314 "mp228",
24315 "mp229",
24316 "mp230",
24317 "mp231",
24318 "mp232",
24319 "mp233",
24320 "mp234",
24321 "mp235",
24322 "mp236",
24323 "mp237",
24324 "mp238",
24325 "mp239",
24326 "mp240",
24327 "mp241",
24328 "mp242",
24329 "mp243",
24330 "mp244",
24331 "mp245",
24332 "mp246",
24333 "mp247",
24334 "mp248",
24335 "mp249",
24336 "mp250",
24337 "mp251",
24338 "mp252",
24339 "mp253",
24340 "mp254",
24341 "mp255"
24342 ],
24343 "type" : "string"
7aacca6f 24344 }
44660702 24345 }
7aacca6f 24346 },
56122987
DM
24347 "permissions" : {
24348 "check" : [
4d47f125 24349 "and",
56122987 24350 [
4d47f125
TL
24351 "perm",
24352 "/vms/{vmid}",
24353 [
24354 "VM.Config.Disk"
24355 ]
24356 ],
24357 [
24358 "perm",
24359 "/storage/{storage}",
24360 [
24361 "Datastore.AllocateSpace"
24362 ]
56122987 24363 ]
4d47f125
TL
24364 ],
24365 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
24366 },
24367 "protected" : 1,
24368 "proxyto" : "node",
24369 "returns" : {
24370 "type" : "string"
24371 }
24372 }
24373 },
24374 "leaf" : 1,
24375 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
24376 "text" : "move_volume"
24377 }
24378 ],
24379 "info" : {
24380 "DELETE" : {
24381 "description" : "Destroy the container (also delete all uses files).",
24382 "method" : "DELETE",
24383 "name" : "destroy_vm",
24384 "parameters" : {
24385 "additionalProperties" : 0,
24386 "properties" : {
24387 "node" : {
24388 "description" : "The cluster node name.",
24389 "format" : "pve-node",
24390 "type" : "string",
24391 "typetext" : "<string>"
24392 },
24393 "vmid" : {
24394 "description" : "The (unique) ID of the VM.",
24395 "format" : "pve-vmid",
24396 "minimum" : 1,
24397 "type" : "integer",
24398 "typetext" : "<integer> (1 - N)"
24399 }
24400 }
24401 },
24402 "permissions" : {
24403 "check" : [
24404 "perm",
24405 "/vms/{vmid}",
24406 [
24407 "VM.Allocate"
24408 ]
24409 ]
24410 },
24411 "protected" : 1,
24412 "proxyto" : "node",
24413 "returns" : {
24414 "type" : "string"
24415 }
24416 },
24417 "GET" : {
24418 "description" : "Directory index",
24419 "method" : "GET",
24420 "name" : "vmdiridx",
24421 "parameters" : {
24422 "additionalProperties" : 0,
24423 "properties" : {
24424 "node" : {
24425 "description" : "The cluster node name.",
24426 "format" : "pve-node",
24427 "type" : "string",
24428 "typetext" : "<string>"
56122987 24429 },
4d47f125
TL
24430 "vmid" : {
24431 "description" : "The (unique) ID of the VM.",
24432 "format" : "pve-vmid",
24433 "minimum" : 1,
24434 "type" : "integer",
24435 "typetext" : "<integer> (1 - N)"
56122987
DM
24436 }
24437 }
24438 },
4d47f125
TL
24439 "permissions" : {
24440 "user" : "all"
24441 },
24442 "proxyto" : "node",
24443 "returns" : {
24444 "items" : {
24445 "properties" : {
24446 "subdir" : {
24447 "type" : "string"
35a75dd3
DM
24448 }
24449 },
4d47f125
TL
24450 "type" : "object"
24451 },
24452 "links" : [
24453 {
24454 "href" : "{subdir}",
24455 "rel" : "child"
35a75dd3 24456 }
4d47f125
TL
24457 ],
24458 "type" : "array"
24459 }
24460 }
24461 },
24462 "leaf" : 0,
24463 "path" : "/nodes/{node}/lxc/{vmid}",
24464 "text" : "{vmid}"
24465 }
24466 ],
24467 "info" : {
24468 "GET" : {
24469 "description" : "LXC container index (per node).",
24470 "method" : "GET",
24471 "name" : "vmlist",
24472 "parameters" : {
24473 "additionalProperties" : 0,
24474 "properties" : {
24475 "node" : {
24476 "description" : "The cluster node name.",
24477 "format" : "pve-node",
24478 "type" : "string",
24479 "typetext" : "<string>"
24480 }
24481 }
24482 },
24483 "permissions" : {
24484 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
24485 "user" : "all"
24486 },
24487 "protected" : 1,
24488 "proxyto" : "node",
24489 "returns" : {
24490 "items" : {
24491 "properties" : {
24492 "cpus" : {
24493 "description" : "Maximum usable CPUs.",
24494 "optional" : 1,
24495 "type" : "number"
24496 },
95895385
TL
24497 "lock" : {
24498 "description" : "The current config lock, if any.",
24499 "optional" : 1,
24500 "type" : "string"
24501 },
4d47f125
TL
24502 "maxdisk" : {
24503 "description" : "Root disk size in bytes.",
24504 "optional" : 1,
24505 "renderer" : "bytes",
24506 "type" : "integer"
24507 },
24508 "maxmem" : {
24509 "description" : "Maximum memory in bytes.",
24510 "optional" : 1,
24511 "renderer" : "bytes",
24512 "type" : "integer"
24513 },
24514 "maxswap" : {
24515 "description" : "Maximum SWAP memory in bytes.",
24516 "optional" : 1,
24517 "renderer" : "bytes",
24518 "type" : "integer"
24519 },
24520 "name" : {
24521 "description" : "Container name.",
24522 "optional" : 1,
24523 "type" : "string"
24524 },
24525 "status" : {
24526 "description" : "LXC Container status.",
24527 "enum" : [
24528 "stopped",
24529 "running"
24530 ],
24531 "type" : "string"
24532 },
24533 "uptime" : {
24534 "description" : "Uptime.",
24535 "optional" : 1,
24536 "renderer" : "duration",
24537 "type" : "integer"
24538 },
24539 "vmid" : {
24540 "description" : "The (unique) ID of the VM.",
24541 "format" : "pve-vmid",
24542 "minimum" : 1,
24543 "type" : "integer"
35a75dd3
DM
24544 }
24545 },
4d47f125 24546 "type" : "object"
35a75dd3 24547 },
4d47f125
TL
24548 "links" : [
24549 {
24550 "href" : "{vmid}",
24551 "rel" : "child"
24552 }
24553 ],
24554 "type" : "array"
24555 }
24556 },
24557 "POST" : {
24558 "description" : "Create or restore a container.",
24559 "method" : "POST",
24560 "name" : "create_vm",
24561 "parameters" : {
24562 "additionalProperties" : 0,
24563 "properties" : {
24564 "arch" : {
24565 "default" : "amd64",
24566 "description" : "OS architecture type.",
24567 "enum" : [
24568 "amd64",
24569 "i386",
24570 "arm64",
24571 "armhf"
24572 ],
24573 "optional" : 1,
24574 "type" : "string"
24575 },
24576 "bwlimit" : {
95895385
TL
24577 "default" : "restore limit from datacenter or storage config",
24578 "description" : "Override I/O bandwidth limit (in KiB/s).",
4d47f125
TL
24579 "minimum" : "0",
24580 "optional" : 1,
24581 "type" : "number",
24582 "typetext" : "<number> (0 - N)"
24583 },
24584 "cmode" : {
24585 "default" : "tty",
24586 "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).",
24587 "enum" : [
24588 "shell",
24589 "console",
24590 "tty"
24591 ],
24592 "optional" : 1,
24593 "type" : "string"
24594 },
24595 "console" : {
24596 "default" : 1,
24597 "description" : "Attach a console device (/dev/console) to the container.",
24598 "optional" : 1,
24599 "type" : "boolean",
24600 "typetext" : "<boolean>"
24601 },
24602 "cores" : {
24603 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
24604 "maximum" : 128,
24605 "minimum" : 1,
24606 "optional" : 1,
24607 "type" : "integer",
24608 "typetext" : "<integer> (1 - 128)"
24609 },
24610 "cpulimit" : {
24611 "default" : 0,
24612 "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.",
24613 "maximum" : 128,
24614 "minimum" : 0,
24615 "optional" : 1,
24616 "type" : "number",
24617 "typetext" : "<number> (0 - 128)"
24618 },
24619 "cpuunits" : {
24620 "default" : 1024,
24621 "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.",
24622 "maximum" : 500000,
24623 "minimum" : 0,
24624 "optional" : 1,
24625 "type" : "integer",
24626 "typetext" : "<integer> (0 - 500000)"
24627 },
24628 "description" : {
24629 "description" : "Container description. Only used on the configuration web interface.",
24630 "optional" : 1,
24631 "type" : "string",
24632 "typetext" : "<string>"
24633 },
24634 "features" : {
24635 "description" : "Allow containers access to advanced features.",
24636 "format" : {
e2d681b3
TL
24637 "fuse" : {
24638 "default" : 0,
24639 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
24640 "optional" : 1,
24641 "type" : "boolean"
24642 },
4d47f125
TL
24643 "keyctl" : {
24644 "default" : 0,
24645 "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.",
24646 "optional" : 1,
24647 "type" : "boolean"
7aacca6f 24648 },
4d47f125
TL
24649 "mount" : {
24650 "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.",
24651 "format_description" : "fstype;fstype;...",
24652 "optional" : 1,
95895385 24653 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125 24654 "type" : "string"
56122987 24655 },
4d47f125
TL
24656 "nesting" : {
24657 "default" : 0,
24658 "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.",
24659 "optional" : 1,
24660 "type" : "boolean"
44660702 24661 }
4d47f125
TL
24662 },
24663 "optional" : 1,
24664 "type" : "string",
e2d681b3 24665 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 24666 },
4d47f125
TL
24667 "force" : {
24668 "description" : "Allow to overwrite existing container.",
24669 "optional" : 1,
24670 "type" : "boolean",
24671 "typetext" : "<boolean>"
24672 },
5f26e15b
TL
24673 "hookscript" : {
24674 "description" : "Script that will be exectued during various steps in the containers lifetime.",
24675 "format" : "pve-volume-id",
24676 "optional" : 1,
24677 "type" : "string",
24678 "typetext" : "<string>"
24679 },
4d47f125
TL
24680 "hostname" : {
24681 "description" : "Set a host name for the container.",
24682 "format" : "dns-name",
24683 "maxLength" : 255,
24684 "optional" : 1,
24685 "type" : "string",
24686 "typetext" : "<string>"
24687 },
24688 "ignore-unpack-errors" : {
24689 "description" : "Ignore errors when extracting the template.",
24690 "optional" : 1,
24691 "type" : "boolean",
24692 "typetext" : "<boolean>"
24693 },
24694 "lock" : {
24695 "description" : "Lock/unlock the VM.",
24696 "enum" : [
24697 "backup",
bb4c8cf8 24698 "create",
4d47f125 24699 "disk",
bb4c8cf8 24700 "fstrim",
4d47f125
TL
24701 "migrate",
24702 "mounted",
24703 "rollback",
24704 "snapshot",
24705 "snapshot-delete"
24706 ],
24707 "optional" : 1,
24708 "type" : "string"
24709 },
24710 "memory" : {
24711 "default" : 512,
24712 "description" : "Amount of RAM for the VM in MB.",
24713 "minimum" : 16,
24714 "optional" : 1,
24715 "type" : "integer",
24716 "typetext" : "<integer> (16 - N)"
24717 },
24718 "mp[n]" : {
24719 "description" : "Use volume as container mount point.",
24720 "format" : {
24721 "acl" : {
24722 "description" : "Explicitly enable or disable ACL support.",
24723 "optional" : 1,
24724 "type" : "boolean"
56122987 24725 },
4d47f125
TL
24726 "backup" : {
24727 "description" : "Whether to include the mount point in backups.",
24728 "optional" : 1,
24729 "type" : "boolean",
24730 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 24731 },
4d47f125
TL
24732 "mp" : {
24733 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
24734 "format" : "pve-lxc-mp-string",
24735 "format_description" : "Path",
24736 "type" : "string",
24737 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 24738 },
4d47f125
TL
24739 "quota" : {
24740 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24741 "optional" : 1,
24742 "type" : "boolean"
24743 },
24744 "replicate" : {
24745 "default" : 1,
24746 "description" : "Will include this volume to a storage replica job.",
24747 "optional" : 1,
24748 "type" : "boolean"
24749 },
24750 "ro" : {
24751 "description" : "Read-only mount point",
24752 "optional" : 1,
24753 "type" : "boolean"
24754 },
24755 "shared" : {
24756 "default" : 0,
24757 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24758 "optional" : 1,
24759 "type" : "boolean",
24760 "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 24761 },
4d47f125
TL
24762 "size" : {
24763 "description" : "Volume size (read only value).",
24764 "format" : "disk-size",
24765 "format_description" : "DiskSize",
24766 "optional" : 1,
24767 "type" : "string"
24768 },
24769 "volume" : {
24770 "default_key" : 1,
24771 "description" : "Volume, device or directory to mount into the container.",
24772 "format" : "pve-lxc-mp-string",
24773 "format_description" : "volume",
44660702
DM
24774 "type" : "string"
24775 }
4d47f125
TL
24776 },
24777 "optional" : 1,
24778 "type" : "string",
24779 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 24780 },
4d47f125
TL
24781 "nameserver" : {
24782 "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.",
24783 "format" : "address-list",
24784 "optional" : 1,
24785 "type" : "string",
24786 "typetext" : "<string>"
24787 },
24788 "net[n]" : {
24789 "description" : "Specifies network interfaces for the container.",
24790 "format" : {
24791 "bridge" : {
24792 "description" : "Bridge to attach the network device to.",
24793 "format_description" : "bridge",
24794 "optional" : 1,
24795 "pattern" : "[-_.\\w\\d]+",
24796 "type" : "string"
56122987 24797 },
4d47f125
TL
24798 "firewall" : {
24799 "description" : "Controls whether this interface's firewall rules should be used.",
24800 "optional" : 1,
24801 "type" : "boolean"
56122987 24802 },
4d47f125
TL
24803 "gw" : {
24804 "description" : "Default gateway for IPv4 traffic.",
24805 "format" : "ipv4",
24806 "format_description" : "GatewayIPv4",
24807 "optional" : 1,
24808 "type" : "string"
24809 },
24810 "gw6" : {
24811 "description" : "Default gateway for IPv6 traffic.",
24812 "format" : "ipv6",
24813 "format_description" : "GatewayIPv6",
24814 "optional" : 1,
24815 "type" : "string"
24816 },
24817 "hwaddr" : {
24818 "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 24819 "format" : "mac-addr",
4d47f125
TL
24820 "format_description" : "XX:XX:XX:XX:XX:XX",
24821 "optional" : 1,
95895385
TL
24822 "type" : "string",
24823 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
24824 },
24825 "ip" : {
24826 "description" : "IPv4 address in CIDR format.",
24827 "format" : "pve-ipv4-config",
24828 "format_description" : "(IPv4/CIDR|dhcp|manual)",
24829 "optional" : 1,
24830 "type" : "string"
24831 },
24832 "ip6" : {
24833 "description" : "IPv6 address in CIDR format.",
24834 "format" : "pve-ipv6-config",
24835 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
24836 "optional" : 1,
24837 "type" : "string"
24838 },
24839 "mtu" : {
24840 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
24841 "minimum" : 64,
24842 "optional" : 1,
24843 "type" : "integer"
24844 },
24845 "name" : {
24846 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
24847 "format_description" : "string",
24848 "pattern" : "[-_.\\w\\d]+",
24849 "type" : "string"
24850 },
24851 "rate" : {
24852 "description" : "Apply rate limiting to the interface",
24853 "format_description" : "mbps",
24854 "optional" : 1,
24855 "type" : "number"
24856 },
24857 "tag" : {
24858 "description" : "VLAN tag for this interface.",
24859 "maximum" : 4094,
24860 "minimum" : 1,
24861 "optional" : 1,
24862 "type" : "integer"
24863 },
24864 "trunks" : {
24865 "description" : "VLAN ids to pass through the interface",
24866 "format_description" : "vlanid[;vlanid...]",
24867 "optional" : 1,
24868 "pattern" : "(?^:\\d+(?:;\\d+)*)",
24869 "type" : "string"
24870 },
24871 "type" : {
24872 "description" : "Network interface type.",
24873 "enum" : [
24874 "veth"
24875 ],
24876 "optional" : 1,
24877 "type" : "string"
7aacca6f 24878 }
4d47f125
TL
24879 },
24880 "optional" : 1,
24881 "type" : "string",
24882 "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 24883 },
4d47f125
TL
24884 "node" : {
24885 "description" : "The cluster node name.",
24886 "format" : "pve-node",
24887 "type" : "string",
24888 "typetext" : "<string>"
24889 },
24890 "onboot" : {
24891 "default" : 0,
24892 "description" : "Specifies whether a VM will be started during system bootup.",
24893 "optional" : 1,
24894 "type" : "boolean",
24895 "typetext" : "<boolean>"
24896 },
24897 "ostemplate" : {
24898 "description" : "The OS template or backup file.",
24899 "maxLength" : 255,
24900 "type" : "string",
24901 "typetext" : "<string>"
24902 },
24903 "ostype" : {
24904 "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.",
24905 "enum" : [
24906 "debian",
24907 "ubuntu",
24908 "centos",
24909 "fedora",
24910 "opensuse",
24911 "archlinux",
24912 "alpine",
24913 "gentoo",
24914 "unmanaged"
24915 ],
24916 "optional" : 1,
24917 "type" : "string"
24918 },
24919 "password" : {
24920 "description" : "Sets root password inside container.",
24921 "minLength" : 5,
24922 "optional" : 1,
24923 "type" : "string",
24924 "typetext" : "<string>"
24925 },
24926 "pool" : {
24927 "description" : "Add the VM to the specified pool.",
24928 "format" : "pve-poolid",
24929 "optional" : 1,
24930 "type" : "string",
24931 "typetext" : "<string>"
24932 },
24933 "protection" : {
24934 "default" : 0,
24935 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
24936 "optional" : 1,
24937 "type" : "boolean",
24938 "typetext" : "<boolean>"
24939 },
24940 "restore" : {
24941 "description" : "Mark this as restore task.",
24942 "optional" : 1,
24943 "type" : "boolean",
24944 "typetext" : "<boolean>"
24945 },
24946 "rootfs" : {
24947 "description" : "Use volume as container root.",
24948 "format" : {
24949 "acl" : {
24950 "description" : "Explicitly enable or disable ACL support.",
24951 "optional" : 1,
24952 "type" : "boolean"
56122987 24953 },
4d47f125
TL
24954 "quota" : {
24955 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24956 "optional" : 1,
24957 "type" : "boolean"
7aacca6f 24958 },
4d47f125
TL
24959 "replicate" : {
24960 "default" : 1,
24961 "description" : "Will include this volume to a storage replica job.",
24962 "optional" : 1,
24963 "type" : "boolean"
24964 },
24965 "ro" : {
24966 "description" : "Read-only mount point",
24967 "optional" : 1,
24968 "type" : "boolean"
24969 },
24970 "shared" : {
24971 "default" : 0,
24972 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24973 "optional" : 1,
24974 "type" : "boolean",
24975 "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!"
24976 },
24977 "size" : {
24978 "description" : "Volume size (read only value).",
24979 "format" : "disk-size",
24980 "format_description" : "DiskSize",
24981 "optional" : 1,
24982 "type" : "string"
24983 },
24984 "volume" : {
24985 "default_key" : 1,
24986 "description" : "Volume, device or directory to mount into the container.",
24987 "format" : "pve-lxc-mp-string",
24988 "format_description" : "volume",
24989 "type" : "string"
56122987 24990 }
4d47f125
TL
24991 },
24992 "optional" : 1,
24993 "type" : "string",
24994 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 24995 },
4d47f125
TL
24996 "searchdomain" : {
24997 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
24998 "format" : "dns-name-list",
24999 "optional" : 1,
25000 "type" : "string",
25001 "typetext" : "<string>"
25002 },
25003 "ssh-public-keys" : {
25004 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
25005 "optional" : 1,
25006 "type" : "string",
25007 "typetext" : "<string>"
25008 },
25009 "start" : {
25010 "default" : 0,
25011 "description" : "Start the CT after its creation finished successfully.",
25012 "optional" : 1,
25013 "type" : "boolean",
25014 "typetext" : "<boolean>"
25015 },
25016 "startup" : {
25017 "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.",
25018 "format" : "pve-startup-order",
25019 "optional" : 1,
25020 "type" : "string",
25021 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
25022 },
25023 "storage" : {
25024 "default" : "local",
25025 "description" : "Default Storage.",
25026 "format" : "pve-storage-id",
25027 "optional" : 1,
25028 "type" : "string",
25029 "typetext" : "<string>"
25030 },
25031 "swap" : {
25032 "default" : 512,
25033 "description" : "Amount of SWAP for the VM in MB.",
25034 "minimum" : 0,
25035 "optional" : 1,
25036 "type" : "integer",
25037 "typetext" : "<integer> (0 - N)"
25038 },
25039 "template" : {
25040 "default" : 0,
25041 "description" : "Enable/disable Template.",
25042 "optional" : 1,
25043 "type" : "boolean",
25044 "typetext" : "<boolean>"
25045 },
25046 "tty" : {
25047 "default" : 2,
25048 "description" : "Specify the number of tty available to the container",
25049 "maximum" : 6,
25050 "minimum" : 0,
25051 "optional" : 1,
25052 "type" : "integer",
25053 "typetext" : "<integer> (0 - 6)"
25054 },
95895385
TL
25055 "unique" : {
25056 "description" : "Assign a unique random ethernet address.",
25057 "optional" : 1,
25058 "requires" : "restore",
25059 "type" : "boolean",
25060 "typetext" : "<boolean>"
25061 },
4d47f125
TL
25062 "unprivileged" : {
25063 "default" : 0,
25064 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
25065 "optional" : 1,
25066 "type" : "boolean",
25067 "typetext" : "<boolean>"
25068 },
25069 "unused[n]" : {
25070 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
25071 "format" : "pve-volume-id",
25072 "optional" : 1,
25073 "type" : "string",
25074 "typetext" : "<string>"
25075 },
25076 "vmid" : {
25077 "description" : "The (unique) ID of the VM.",
25078 "format" : "pve-vmid",
25079 "minimum" : 1,
25080 "type" : "integer",
25081 "typetext" : "<integer> (1 - N)"
25082 }
25083 }
25084 },
25085 "permissions" : {
25086 "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.",
25087 "user" : "all"
25088 },
25089 "protected" : 1,
25090 "proxyto" : "node",
25091 "returns" : {
25092 "type" : "string"
25093 }
25094 }
25095 },
25096 "leaf" : 0,
25097 "path" : "/nodes/{node}/lxc",
25098 "text" : "lxc"
25099 },
25100 {
25101 "children" : [
25102 {
25103 "children" : [
56122987 25104 {
4d47f125
TL
25105 "children" : [
25106 {
25107 "info" : {
25108 "POST" : {
25109 "description" : "ceph osd in",
25110 "method" : "POST",
25111 "name" : "in",
25112 "parameters" : {
25113 "additionalProperties" : 0,
25114 "properties" : {
25115 "node" : {
25116 "description" : "The cluster node name.",
25117 "format" : "pve-node",
25118 "type" : "string",
25119 "typetext" : "<string>"
25120 },
25121 "osdid" : {
25122 "description" : "OSD ID",
25123 "type" : "integer",
25124 "typetext" : "<integer>"
25125 }
25126 }
27a7acb2 25127 },
4d47f125
TL
25128 "permissions" : {
25129 "check" : [
25130 "perm",
25131 "/",
25132 [
25133 "Sys.Modify"
25134 ]
25135 ]
44660702 25136 },
4d47f125
TL
25137 "protected" : 1,
25138 "proxyto" : "node",
25139 "returns" : {
25140 "type" : "null"
7aacca6f
DM
25141 }
25142 }
56122987 25143 },
4d47f125
TL
25144 "leaf" : 1,
25145 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
25146 "text" : "in"
25147 },
25148 {
25149 "info" : {
25150 "POST" : {
25151 "description" : "ceph osd out",
25152 "method" : "POST",
25153 "name" : "out",
25154 "parameters" : {
25155 "additionalProperties" : 0,
25156 "properties" : {
25157 "node" : {
25158 "description" : "The cluster node name.",
25159 "format" : "pve-node",
25160 "type" : "string",
25161 "typetext" : "<string>"
25162 },
25163 "osdid" : {
25164 "description" : "OSD ID",
25165 "type" : "integer",
25166 "typetext" : "<integer>"
25167 }
25168 }
25169 },
25170 "permissions" : {
25171 "check" : [
56122987 25172 "perm",
4d47f125 25173 "/",
56122987 25174 [
4d47f125 25175 "Sys.Modify"
56122987 25176 ]
56122987 25177 ]
44660702 25178 },
4d47f125
TL
25179 "protected" : 1,
25180 "proxyto" : "node",
25181 "returns" : {
25182 "type" : "null"
56122987 25183 }
44660702 25184 }
56122987 25185 },
4d47f125
TL
25186 "leaf" : 1,
25187 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
25188 "text" : "out"
56122987 25189 }
4d47f125 25190 ],
27a7acb2 25191 "info" : {
4d47f125
TL
25192 "DELETE" : {
25193 "description" : "Destroy OSD",
25194 "method" : "DELETE",
25195 "name" : "destroyosd",
27a7acb2
DM
25196 "parameters" : {
25197 "additionalProperties" : 0,
25198 "properties" : {
4d47f125 25199 "cleanup" : {
27a7acb2 25200 "default" : 0,
4d47f125 25201 "description" : "If set, we remove partition table entries.",
27a7acb2 25202 "optional" : 1,
4d47f125
TL
25203 "type" : "boolean",
25204 "typetext" : "<boolean>"
25205 },
25206 "node" : {
25207 "description" : "The cluster node name.",
25208 "format" : "pve-node",
25209 "type" : "string",
25210 "typetext" : "<string>"
25211 },
25212 "osdid" : {
25213 "description" : "OSD ID",
25214 "type" : "integer",
25215 "typetext" : "<integer>"
25216 }
25217 }
27a7acb2
DM
25218 },
25219 "protected" : 1,
25220 "proxyto" : "node",
25221 "returns" : {
25222 "type" : "string"
25223 }
25224 }
25225 },
4d47f125
TL
25226 "leaf" : 0,
25227 "path" : "/nodes/{node}/ceph/osd/{osdid}",
25228 "text" : "{osdid}"
56122987
DM
25229 }
25230 ],
25231 "info" : {
4d47f125
TL
25232 "GET" : {
25233 "description" : "Get Ceph osd list/tree.",
25234 "method" : "GET",
25235 "name" : "index",
44660702
DM
25236 "parameters" : {
25237 "additionalProperties" : 0,
25238 "properties" : {
25239 "node" : {
25240 "description" : "The cluster node name.",
25241 "format" : "pve-node",
013dc89f
DM
25242 "type" : "string",
25243 "typetext" : "<string>"
44660702
DM
25244 }
25245 }
25246 },
7aacca6f
DM
25247 "permissions" : {
25248 "check" : [
25249 "perm",
4d47f125 25250 "/",
7aacca6f 25251 [
4d47f125
TL
25252 "Sys.Audit",
25253 "Datastore.Audit"
25254 ],
25255 "any",
25256 1
25257 ]
25258 },
25259 "protected" : 1,
25260 "proxyto" : "node",
25261 "returns" : {
25262 "type" : "object"
25263 }
25264 },
25265 "POST" : {
25266 "description" : "Create OSD",
25267 "method" : "POST",
25268 "name" : "createosd",
25269 "parameters" : {
25270 "additionalProperties" : 0,
25271 "properties" : {
25272 "bluestore" : {
25273 "default" : 1,
25274 "description" : "Use bluestore instead of filestore. This is the default.",
44660702 25275 "optional" : 1,
4bd7df8b 25276 "type" : "boolean",
4d47f125 25277 "typetext" : "<boolean>"
44660702 25278 },
4d47f125
TL
25279 "dev" : {
25280 "description" : "Block device name.",
4bd7df8b 25281 "type" : "string",
4d47f125 25282 "typetext" : "<string>"
44660702 25283 },
4d47f125
TL
25284 "fstype" : {
25285 "default" : "xfs",
25286 "description" : "File system type (filestore only).",
25287 "enum" : [
25288 "xfs",
25289 "ext4"
25290 ],
7aacca6f 25291 "optional" : 1,
4d47f125 25292 "type" : "string"
44660702 25293 },
4d47f125
TL
25294 "journal_dev" : {
25295 "description" : "Block device name for journal (filestore) or block.db (bluestore).",
5d9c884c 25296 "optional" : 1,
4d47f125
TL
25297 "type" : "string",
25298 "typetext" : "<string>"
5d9c884c 25299 },
4d47f125
TL
25300 "node" : {
25301 "description" : "The cluster node name.",
25302 "format" : "pve-node",
25303 "type" : "string",
25304 "typetext" : "<string>"
7aacca6f 25305 },
4d47f125
TL
25306 "wal_dev" : {
25307 "description" : "Block device name for block.wal (bluestore only).",
de0983cb 25308 "optional" : 1,
4d47f125
TL
25309 "type" : "string",
25310 "typetext" : "<string>"
25311 }
25312 }
25313 },
25314 "protected" : 1,
25315 "proxyto" : "node",
25316 "returns" : {
25317 "type" : "string"
25318 }
25319 }
25320 },
25321 "leaf" : 0,
25322 "path" : "/nodes/{node}/ceph/osd",
25323 "text" : "osd"
25324 },
e2d681b3
TL
25325 {
25326 "children" : [
25327 {
25328 "info" : {
25329 "DELETE" : {
25330 "description" : "Destroy Ceph Metadata Server",
25331 "method" : "DELETE",
25332 "name" : "destroymds",
25333 "parameters" : {
25334 "additionalProperties" : 0,
25335 "properties" : {
25336 "name" : {
25337 "description" : "The name (ID) of the mds",
25338 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25339 "type" : "string"
25340 },
25341 "node" : {
25342 "description" : "The cluster node name.",
25343 "format" : "pve-node",
25344 "type" : "string",
25345 "typetext" : "<string>"
25346 }
25347 }
25348 },
25349 "permissions" : {
25350 "check" : [
25351 "perm",
25352 "/",
25353 [
25354 "Sys.Modify"
25355 ]
25356 ]
25357 },
25358 "protected" : 1,
25359 "proxyto" : "node",
25360 "returns" : {
25361 "type" : "string"
25362 }
25363 },
25364 "POST" : {
25365 "description" : "Create Ceph Metadata Server (MDS)",
25366 "method" : "POST",
25367 "name" : "createmds",
25368 "parameters" : {
25369 "additionalProperties" : 0,
25370 "properties" : {
25371 "hotstandby" : {
25372 "default" : "0",
25373 "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.",
25374 "optional" : 1,
25375 "type" : "boolean",
25376 "typetext" : "<boolean>"
25377 },
25378 "name" : {
25379 "default" : "nodename",
25380 "description" : "The ID for the mds, when omitted the same as the nodename",
25381 "optional" : 1,
25382 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25383 "type" : "string"
25384 },
25385 "node" : {
25386 "description" : "The cluster node name.",
25387 "format" : "pve-node",
25388 "type" : "string",
25389 "typetext" : "<string>"
25390 }
25391 }
25392 },
25393 "permissions" : {
25394 "check" : [
25395 "perm",
25396 "/",
25397 [
25398 "Sys.Modify"
25399 ]
25400 ]
25401 },
25402 "protected" : 1,
25403 "proxyto" : "node",
25404 "returns" : {
25405 "type" : "string"
25406 }
25407 }
25408 },
25409 "leaf" : 1,
25410 "path" : "/nodes/{node}/ceph/mds/{name}",
25411 "text" : "{name}"
25412 }
25413 ],
25414 "info" : {
25415 "GET" : {
25416 "description" : "MDS directory index.",
25417 "method" : "GET",
25418 "name" : "index",
25419 "parameters" : {
25420 "additionalProperties" : 0,
25421 "properties" : {
25422 "node" : {
25423 "description" : "The cluster node name.",
25424 "format" : "pve-node",
25425 "type" : "string",
25426 "typetext" : "<string>"
25427 }
25428 }
25429 },
25430 "permissions" : {
25431 "check" : [
25432 "perm",
25433 "/",
25434 [
25435 "Sys.Audit",
25436 "Datastore.Audit"
25437 ],
25438 "any",
25439 1
25440 ]
25441 },
25442 "protected" : 1,
25443 "proxyto" : "node",
25444 "returns" : {
25445 "items" : {
25446 "properties" : {
25447 "addr" : {
25448 "optional" : 1,
25449 "type" : "string"
25450 },
25451 "host" : {
25452 "optional" : 1,
25453 "type" : "string"
25454 },
25455 "name" : {
25456 "description" : "The name (ID) for the MDS"
25457 },
25458 "rank" : {
25459 "optional" : 1,
25460 "type" : "integer"
25461 },
25462 "standby_replay" : {
25463 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
25464 "optional" : 1,
25465 "type" : "boolean"
25466 },
25467 "state" : {
25468 "description" : "State of the MDS",
25469 "type" : "string"
25470 }
25471 },
25472 "type" : "object"
25473 },
25474 "links" : [
25475 {
25476 "href" : "{name}",
25477 "rel" : "child"
25478 }
25479 ],
25480 "type" : "array"
25481 }
25482 }
25483 },
25484 "leaf" : 0,
25485 "path" : "/nodes/{node}/ceph/mds",
25486 "text" : "mds"
25487 },
25488 {
25489 "children" : [
25490 {
25491 "info" : {
5f26e15b
TL
25492 "DELETE" : {
25493 "description" : "Destroy Ceph Manager.",
25494 "method" : "DELETE",
25495 "name" : "destroymgr",
e2d681b3
TL
25496 "parameters" : {
25497 "additionalProperties" : 0,
25498 "properties" : {
5f26e15b
TL
25499 "id" : {
25500 "description" : "The ID of the manager",
25501 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25502 "type" : "string"
e2d681b3
TL
25503 },
25504 "node" : {
25505 "description" : "The cluster node name.",
25506 "format" : "pve-node",
25507 "type" : "string",
25508 "typetext" : "<string>"
e2d681b3
TL
25509 }
25510 }
25511 },
25512 "permissions" : {
25513 "check" : [
25514 "perm",
25515 "/",
25516 [
25517 "Sys.Modify"
25518 ]
25519 ]
25520 },
25521 "protected" : 1,
25522 "proxyto" : "node",
25523 "returns" : {
25524 "type" : "string"
25525 }
25526 }
25527 },
25528 "leaf" : 1,
5f26e15b
TL
25529 "path" : "/nodes/{node}/ceph/mgr/{id}",
25530 "text" : "{id}"
e2d681b3
TL
25531 }
25532 ],
25533 "info" : {
5f26e15b
TL
25534 "POST" : {
25535 "description" : "Create Ceph Manager",
25536 "method" : "POST",
25537 "name" : "createmgr",
e2d681b3
TL
25538 "parameters" : {
25539 "additionalProperties" : 0,
25540 "properties" : {
5f26e15b
TL
25541 "id" : {
25542 "description" : "The ID for the manager, when omitted the same as the nodename",
25543 "optional" : 1,
25544 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25545 "type" : "string"
25546 },
e2d681b3
TL
25547 "node" : {
25548 "description" : "The cluster node name.",
25549 "format" : "pve-node",
25550 "type" : "string",
25551 "typetext" : "<string>"
25552 }
25553 }
25554 },
25555 "permissions" : {
25556 "check" : [
25557 "perm",
25558 "/",
25559 [
5f26e15b
TL
25560 "Sys.Modify"
25561 ]
e2d681b3
TL
25562 ]
25563 },
25564 "protected" : 1,
5f26e15b 25565 "proxyto" : "node",
e2d681b3 25566 "returns" : {
5f26e15b 25567 "type" : "string"
e2d681b3
TL
25568 }
25569 }
25570 },
25571 "leaf" : 0,
5f26e15b
TL
25572 "path" : "/nodes/{node}/ceph/mgr",
25573 "text" : "mgr"
e2d681b3 25574 },
4d47f125 25575 {
5f26e15b
TL
25576 "children" : [
25577 {
25578 "info" : {
25579 "DELETE" : {
25580 "description" : "Destroy Ceph Monitor and Manager.",
25581 "method" : "DELETE",
25582 "name" : "destroymon",
25583 "parameters" : {
25584 "additionalProperties" : 0,
25585 "properties" : {
25586 "exclude-manager" : {
25587 "default" : 0,
25588 "description" : "When set, removes only the monitor, not the manager",
25589 "optional" : 1,
25590 "type" : "boolean",
25591 "typetext" : "<boolean>"
25592 },
25593 "monid" : {
25594 "description" : "Monitor ID",
25595 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25596 "type" : "string"
25597 },
25598 "node" : {
25599 "description" : "The cluster node name.",
25600 "format" : "pve-node",
25601 "type" : "string",
25602 "typetext" : "<string>"
25603 }
25604 }
25605 },
25606 "permissions" : {
25607 "check" : [
25608 "perm",
25609 "/",
25610 [
25611 "Sys.Modify"
25612 ]
25613 ]
25614 },
25615 "protected" : 1,
25616 "proxyto" : "node",
25617 "returns" : {
7aacca6f 25618 "type" : "string"
56122987 25619 }
4d47f125 25620 }
56122987 25621 },
5f26e15b
TL
25622 "leaf" : 1,
25623 "path" : "/nodes/{node}/ceph/mon/{monid}",
25624 "text" : "{monid}"
25625 }
25626 ],
25627 "info" : {
25628 "GET" : {
25629 "description" : "Get Ceph monitor list.",
25630 "method" : "GET",
25631 "name" : "listmon",
25632 "parameters" : {
25633 "additionalProperties" : 0,
25634 "properties" : {
25635 "node" : {
25636 "description" : "The cluster node name.",
25637 "format" : "pve-node",
25638 "type" : "string",
25639 "typetext" : "<string>"
25640 }
25641 }
25642 },
4d47f125
TL
25643 "permissions" : {
25644 "check" : [
25645 "perm",
25646 "/",
25647 [
25648 "Sys.Audit",
25649 "Datastore.Audit"
25650 ],
25651 "any",
25652 1
25653 ]
56122987 25654 },
4d47f125
TL
25655 "protected" : 1,
25656 "proxyto" : "node",
25657 "returns" : {
25658 "items" : {
25659 "properties" : {
5f26e15b 25660 "addr" : {
4d47f125
TL
25661 "type" : "string"
25662 },
5f26e15b 25663 "name" : {
4d47f125
TL
25664 "type" : "string"
25665 }
7aacca6f 25666 },
4d47f125
TL
25667 "type" : "object"
25668 },
5f26e15b
TL
25669 "links" : [
25670 {
25671 "href" : "{name}",
25672 "rel" : "child"
25673 }
25674 ],
4d47f125
TL
25675 "type" : "array"
25676 }
5f26e15b
TL
25677 },
25678 "POST" : {
25679 "description" : "Create Ceph Monitor and Manager",
25680 "method" : "POST",
25681 "name" : "createmon",
4d47f125
TL
25682 "parameters" : {
25683 "additionalProperties" : 0,
25684 "properties" : {
5f26e15b
TL
25685 "exclude-manager" : {
25686 "default" : 0,
25687 "description" : "When set, only a monitor will be created.",
25688 "optional" : 1,
25689 "type" : "boolean",
25690 "typetext" : "<boolean>"
25691 },
25692 "id" : {
25693 "description" : "The ID for the monitor, when omitted the same as the nodename",
25694 "optional" : 1,
25695 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25696 "type" : "string"
25697 },
25698 "mon-address" : {
25699 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
25700 "format" : "ip",
25701 "optional" : 1,
25702 "type" : "string",
25703 "typetext" : "<string>"
25704 },
4d47f125
TL
25705 "node" : {
25706 "description" : "The cluster node name.",
25707 "format" : "pve-node",
25708 "type" : "string",
25709 "typetext" : "<string>"
25710 }
25711 }
25712 },
25713 "permissions" : {
25714 "check" : [
25715 "perm",
25716 "/",
25717 [
5f26e15b
TL
25718 "Sys.Modify"
25719 ]
4d47f125
TL
25720 ]
25721 },
5f26e15b
TL
25722 "protected" : 1,
25723 "proxyto" : "node",
4d47f125
TL
25724 "returns" : {
25725 "type" : "string"
25726 }
25727 }
25728 },
5f26e15b
TL
25729 "leaf" : 0,
25730 "path" : "/nodes/{node}/ceph/mon",
25731 "text" : "mon"
4d47f125
TL
25732 },
25733 {
25734 "children" : [
25735 {
25736 "info" : {
5f26e15b
TL
25737 "POST" : {
25738 "description" : "Create a Ceph filesystem",
25739 "method" : "POST",
25740 "name" : "createfs",
4d47f125
TL
25741 "parameters" : {
25742 "additionalProperties" : 0,
25743 "properties" : {
5f26e15b 25744 "add-storage" : {
4d47f125 25745 "default" : 0,
5f26e15b 25746 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
25747 "optional" : 1,
25748 "type" : "boolean",
25749 "typetext" : "<boolean>"
25750 },
5f26e15b
TL
25751 "name" : {
25752 "default" : "cephfs",
25753 "description" : "The ceph filesystem name.",
25754 "optional" : 1,
25755 "type" : "string",
25756 "typetext" : "<string>"
4d47f125
TL
25757 },
25758 "node" : {
25759 "description" : "The cluster node name.",
25760 "format" : "pve-node",
25761 "type" : "string",
25762 "typetext" : "<string>"
5f26e15b
TL
25763 },
25764 "pg_num" : {
25765 "default" : 128,
25766 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
25767 "maximum" : 32768,
25768 "minimum" : 8,
25769 "optional" : 1,
25770 "type" : "integer",
25771 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
25772 }
25773 }
7aacca6f 25774 },
4d47f125
TL
25775 "permissions" : {
25776 "check" : [
25777 "perm",
25778 "/",
25779 [
25780 "Sys.Modify"
25781 ]
25782 ]
7aacca6f 25783 },
4d47f125
TL
25784 "protected" : 1,
25785 "proxyto" : "node",
25786 "returns" : {
44660702 25787 "type" : "string"
4d47f125
TL
25788 }
25789 }
25790 },
25791 "leaf" : 1,
5f26e15b
TL
25792 "path" : "/nodes/{node}/ceph/fs/{name}",
25793 "text" : "{name}"
4d47f125
TL
25794 }
25795 ],
25796 "info" : {
25797 "GET" : {
5f26e15b 25798 "description" : "Directory index.",
4d47f125 25799 "method" : "GET",
5f26e15b 25800 "name" : "index",
4d47f125
TL
25801 "parameters" : {
25802 "additionalProperties" : 0,
25803 "properties" : {
25804 "node" : {
25805 "description" : "The cluster node name.",
25806 "format" : "pve-node",
25807 "type" : "string",
25808 "typetext" : "<string>"
25809 }
25810 }
25811 },
25812 "permissions" : {
25813 "check" : [
25814 "perm",
25815 "/",
25816 [
25817 "Sys.Audit",
25818 "Datastore.Audit"
25819 ],
25820 "any",
25821 1
25822 ]
25823 },
25824 "protected" : 1,
95895385 25825 "proxyto" : "node",
4d47f125
TL
25826 "returns" : {
25827 "items" : {
25828 "properties" : {
5f26e15b
TL
25829 "data_pool" : {
25830 "description" : "The name of the data pool.",
25831 "type" : "string"
25832 },
25833 "metadata_pool" : {
25834 "description" : "The name of the metadata pool.",
4d47f125
TL
25835 "type" : "string"
25836 },
25837 "name" : {
5f26e15b 25838 "description" : "The ceph filesystem name.",
4d47f125
TL
25839 "type" : "string"
25840 }
7aacca6f 25841 },
4d47f125
TL
25842 "type" : "object"
25843 },
25844 "links" : [
25845 {
25846 "href" : "{name}",
25847 "rel" : "child"
25848 }
25849 ],
25850 "type" : "array"
25851 }
5f26e15b
TL
25852 }
25853 },
25854 "leaf" : 0,
25855 "path" : "/nodes/{node}/ceph/fs",
25856 "text" : "fs"
25857 },
25858 {
25859 "info" : {
25860 "GET" : {
25861 "description" : "List local disks.",
25862 "method" : "GET",
25863 "name" : "disks",
4d47f125
TL
25864 "parameters" : {
25865 "additionalProperties" : 0,
25866 "properties" : {
5f26e15b
TL
25867 "node" : {
25868 "description" : "The cluster node name.",
25869 "format" : "pve-node",
25870 "type" : "string",
25871 "typetext" : "<string>"
44660702 25872 },
5f26e15b
TL
25873 "type" : {
25874 "description" : "Only list specific types of disks.",
25875 "enum" : [
25876 "unused",
25877 "journal_disks"
25878 ],
44660702 25879 "optional" : 1,
44660702 25880 "type" : "string"
5f26e15b
TL
25881 }
25882 }
25883 },
25884 "permissions" : {
25885 "check" : [
25886 "perm",
25887 "/",
25888 [
25889 "Sys.Audit",
25890 "Datastore.Audit"
25891 ],
25892 "any",
25893 1
25894 ]
25895 },
25896 "protected" : 1,
25897 "proxyto" : "node",
25898 "returns" : {
25899 "items" : {
25900 "properties" : {
25901 "dev" : {
25902 "type" : "string"
25903 },
25904 "gpt" : {
25905 "type" : "boolean"
25906 },
25907 "model" : {
25908 "optional" : 1,
25909 "type" : "string"
25910 },
25911 "osdid" : {
25912 "type" : "integer"
25913 },
25914 "serial" : {
25915 "optional" : 1,
25916 "type" : "string"
25917 },
25918 "size" : {
25919 "type" : "integer"
25920 },
25921 "used" : {
25922 "optional" : 1,
25923 "type" : "string"
25924 },
25925 "vendor" : {
25926 "optional" : 1,
25927 "type" : "string"
25928 }
44660702 25929 },
5f26e15b
TL
25930 "type" : "object"
25931 },
25932 "type" : "array"
25933 }
25934 }
25935 },
25936 "leaf" : 1,
25937 "path" : "/nodes/{node}/ceph/disks",
25938 "text" : "disks"
25939 },
25940 {
25941 "info" : {
25942 "GET" : {
25943 "description" : "Get Ceph configuration.",
25944 "method" : "GET",
25945 "name" : "config",
25946 "parameters" : {
25947 "additionalProperties" : 0,
25948 "properties" : {
4d47f125
TL
25949 "node" : {
25950 "description" : "The cluster node name.",
25951 "format" : "pve-node",
25952 "type" : "string",
25953 "typetext" : "<string>"
7aacca6f 25954 }
4d47f125 25955 }
44660702 25956 },
4d47f125
TL
25957 "permissions" : {
25958 "check" : [
25959 "perm",
25960 "/",
25961 [
5f26e15b
TL
25962 "Sys.Audit",
25963 "Datastore.Audit"
25964 ],
25965 "any",
25966 1
4d47f125 25967 ]
56122987 25968 },
95895385 25969 "proxyto" : "node",
4d47f125 25970 "returns" : {
7aacca6f 25971 "type" : "string"
4d47f125
TL
25972 }
25973 }
25974 },
5f26e15b
TL
25975 "leaf" : 1,
25976 "path" : "/nodes/{node}/ceph/config",
25977 "text" : "config"
4d47f125
TL
25978 },
25979 {
25980 "info" : {
25981 "POST" : {
25982 "description" : "Create initial ceph default configuration and setup symlinks.",
25983 "method" : "POST",
25984 "name" : "init",
25985 "parameters" : {
25986 "additionalProperties" : 0,
25987 "properties" : {
e2d681b3
TL
25988 "cluster-network" : {
25989 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
25990 "format" : "CIDR",
25991 "maxLength" : 128,
25992 "optional" : 1,
25993 "requires" : "network",
25994 "type" : "string",
25995 "typetext" : "<string>"
25996 },
4d47f125
TL
25997 "disable_cephx" : {
25998 "default" : 0,
25999 "description" : "Disable cephx authentification.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
56122987 26000 "optional" : 1,
4d47f125
TL
26001 "type" : "boolean",
26002 "typetext" : "<boolean>"
56122987 26003 },
4d47f125
TL
26004 "min_size" : {
26005 "default" : 2,
26006 "description" : "Minimum number of available replicas per object to allow I/O",
26007 "maximum" : 7,
26008 "minimum" : 1,
7aacca6f 26009 "optional" : 1,
4d47f125
TL
26010 "type" : "integer",
26011 "typetext" : "<integer> (1 - 7)"
7aacca6f 26012 },
4d47f125
TL
26013 "network" : {
26014 "description" : "Use specific network for all ceph related traffic",
26015 "format" : "CIDR",
26016 "maxLength" : 128,
5d9c884c 26017 "optional" : 1,
4d47f125
TL
26018 "type" : "string",
26019 "typetext" : "<string>"
5d9c884c 26020 },
4d47f125
TL
26021 "node" : {
26022 "description" : "The cluster node name.",
26023 "format" : "pve-node",
26024 "type" : "string",
26025 "typetext" : "<string>"
7aacca6f 26026 },
4d47f125
TL
26027 "pg_bits" : {
26028 "default" : 6,
26029 "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.",
26030 "maximum" : 14,
26031 "minimum" : 6,
de0983cb 26032 "optional" : 1,
4d47f125
TL
26033 "type" : "integer",
26034 "typetext" : "<integer> (6 - 14)"
de0983cb 26035 },
44660702 26036 "size" : {
4d47f125
TL
26037 "default" : 3,
26038 "description" : "Targeted number of replicas per object",
26039 "maximum" : 7,
26040 "minimum" : 1,
7aacca6f 26041 "optional" : 1,
4d47f125
TL
26042 "type" : "integer",
26043 "typetext" : "<integer> (1 - 7)"
56122987 26044 }
4d47f125 26045 }
44660702 26046 },
4d47f125
TL
26047 "permissions" : {
26048 "check" : [
26049 "perm",
26050 "/",
26051 [
26052 "Sys.Modify"
26053 ]
26054 ]
5da3d723 26055 },
4d47f125
TL
26056 "protected" : 1,
26057 "proxyto" : "node",
26058 "returns" : {
26059 "type" : "null"
26060 }
26061 }
26062 },
26063 "leaf" : 1,
26064 "path" : "/nodes/{node}/ceph/init",
26065 "text" : "init"
26066 },
4d47f125
TL
26067 {
26068 "info" : {
26069 "POST" : {
26070 "description" : "Stop ceph services.",
26071 "method" : "POST",
26072 "name" : "stop",
26073 "parameters" : {
26074 "additionalProperties" : 0,
26075 "properties" : {
26076 "node" : {
26077 "description" : "The cluster node name.",
26078 "format" : "pve-node",
26079 "type" : "string",
26080 "typetext" : "<string>"
26081 },
26082 "service" : {
e2d681b3 26083 "default" : "ceph.target",
4d47f125
TL
26084 "description" : "Ceph service name.",
26085 "optional" : 1,
95895385 26086 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
26087 "type" : "string"
26088 }
26089 }
7aacca6f 26090 },
4d47f125
TL
26091 "permissions" : {
26092 "check" : [
26093 "perm",
26094 "/",
26095 [
26096 "Sys.Modify"
26097 ]
26098 ]
7aacca6f 26099 },
4d47f125
TL
26100 "protected" : 1,
26101 "proxyto" : "node",
26102 "returns" : {
26103 "type" : "string"
26104 }
26105 }
26106 },
26107 "leaf" : 1,
26108 "path" : "/nodes/{node}/ceph/stop",
26109 "text" : "stop"
26110 },
26111 {
26112 "info" : {
26113 "POST" : {
26114 "description" : "Start ceph services.",
26115 "method" : "POST",
26116 "name" : "start",
26117 "parameters" : {
26118 "additionalProperties" : 0,
26119 "properties" : {
26120 "node" : {
26121 "description" : "The cluster node name.",
26122 "format" : "pve-node",
26123 "type" : "string",
26124 "typetext" : "<string>"
26125 },
26126 "service" : {
e2d681b3 26127 "default" : "ceph.target",
4d47f125
TL
26128 "description" : "Ceph service name.",
26129 "optional" : 1,
95895385 26130 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
26131 "type" : "string"
26132 }
26133 }
44660702 26134 },
4d47f125
TL
26135 "permissions" : {
26136 "check" : [
26137 "perm",
26138 "/",
26139 [
26140 "Sys.Modify"
26141 ]
26142 ]
44660702 26143 },
4d47f125
TL
26144 "protected" : 1,
26145 "proxyto" : "node",
26146 "returns" : {
26147 "type" : "string"
44660702 26148 }
7aacca6f
DM
26149 }
26150 },
4d47f125
TL
26151 "leaf" : 1,
26152 "path" : "/nodes/{node}/ceph/start",
26153 "text" : "start"
26154 },
e2d681b3
TL
26155 {
26156 "info" : {
26157 "POST" : {
26158 "description" : "Restart ceph services.",
26159 "method" : "POST",
26160 "name" : "restart",
26161 "parameters" : {
26162 "additionalProperties" : 0,
26163 "properties" : {
26164 "node" : {
26165 "description" : "The cluster node name.",
26166 "format" : "pve-node",
26167 "type" : "string",
26168 "typetext" : "<string>"
26169 },
26170 "service" : {
26171 "default" : "ceph.target",
26172 "description" : "Ceph service name.",
26173 "optional" : 1,
26174 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
26175 "type" : "string"
26176 }
26177 }
26178 },
26179 "permissions" : {
26180 "check" : [
26181 "perm",
26182 "/",
26183 [
26184 "Sys.Modify"
26185 ]
26186 ]
26187 },
26188 "protected" : 1,
26189 "proxyto" : "node",
26190 "returns" : {
26191 "type" : "string"
26192 }
26193 }
26194 },
26195 "leaf" : 1,
26196 "path" : "/nodes/{node}/ceph/restart",
26197 "text" : "restart"
26198 },
4d47f125
TL
26199 {
26200 "info" : {
26201 "GET" : {
26202 "description" : "Get ceph status.",
26203 "method" : "GET",
26204 "name" : "status",
26205 "parameters" : {
26206 "additionalProperties" : 0,
26207 "properties" : {
26208 "node" : {
26209 "description" : "The cluster node name.",
26210 "format" : "pve-node",
26211 "type" : "string",
26212 "typetext" : "<string>"
26213 }
26214 }
26215 },
26216 "permissions" : {
26217 "check" : [
26218 "perm",
26219 "/",
26220 [
26221 "Sys.Audit",
26222 "Datastore.Audit"
26223 ],
26224 "any",
26225 1
26226 ]
26227 },
26228 "protected" : 1,
26229 "proxyto" : "node",
26230 "returns" : {
26231 "type" : "object"
26232 }
26233 }
44660702 26234 },
4d47f125
TL
26235 "leaf" : 1,
26236 "path" : "/nodes/{node}/ceph/status",
26237 "text" : "status"
26238 },
44660702 26239 {
56122987
DM
26240 "children" : [
26241 {
44660702
DM
26242 "info" : {
26243 "DELETE" : {
4d47f125 26244 "description" : "Destroy pool",
44660702 26245 "method" : "DELETE",
4d47f125 26246 "name" : "destroypool",
44660702
DM
26247 "parameters" : {
26248 "additionalProperties" : 0,
26249 "properties" : {
4d47f125 26250 "force" : {
44660702 26251 "default" : 0,
4d47f125 26252 "description" : "If true, destroys pool even if in use",
44660702 26253 "optional" : 1,
013dc89f
DM
26254 "type" : "boolean",
26255 "typetext" : "<boolean>"
7aacca6f 26256 },
4d47f125
TL
26257 "name" : {
26258 "description" : "The name of the pool. It must be unique.",
26259 "type" : "string",
26260 "typetext" : "<string>"
26261 },
44660702
DM
26262 "node" : {
26263 "description" : "The cluster node name.",
26264 "format" : "pve-node",
013dc89f
DM
26265 "type" : "string",
26266 "typetext" : "<string>"
56122987 26267 },
4d47f125
TL
26268 "remove_storages" : {
26269 "default" : 0,
26270 "description" : "Remove all pveceph-managed storages configured for this pool",
26271 "optional" : 1,
26272 "type" : "boolean",
26273 "typetext" : "<boolean>"
44660702 26274 }
56122987
DM
26275 }
26276 },
4d47f125
TL
26277 "permissions" : {
26278 "check" : [
26279 "perm",
26280 "/",
26281 [
26282 "Sys.Modify"
26283 ]
26284 ]
26285 },
44660702
DM
26286 "protected" : 1,
26287 "proxyto" : "node",
26288 "returns" : {
26289 "type" : "string"
26290 }
26291 }
26292 },
4d47f125
TL
26293 "leaf" : 1,
26294 "path" : "/nodes/{node}/ceph/pools/{name}",
26295 "text" : "{name}"
44660702
DM
26296 }
26297 ],
26298 "info" : {
26299 "GET" : {
4d47f125 26300 "description" : "List all pools.",
44660702 26301 "method" : "GET",
4d47f125 26302 "name" : "lspools",
44660702
DM
26303 "parameters" : {
26304 "additionalProperties" : 0,
26305 "properties" : {
26306 "node" : {
26307 "description" : "The cluster node name.",
26308 "format" : "pve-node",
013dc89f
DM
26309 "type" : "string",
26310 "typetext" : "<string>"
44660702
DM
26311 }
26312 }
26313 },
26314 "permissions" : {
26315 "check" : [
26316 "perm",
26317 "/",
26318 [
26319 "Sys.Audit",
26320 "Datastore.Audit"
26321 ],
26322 "any",
26323 1
26324 ]
26325 },
26326 "protected" : 1,
26327 "proxyto" : "node",
26328 "returns" : {
4d47f125
TL
26329 "items" : {
26330 "properties" : {
26331 "pool" : {
26332 "type" : "integer"
26333 },
26334 "pool_name" : {
26335 "type" : "string"
26336 },
26337 "size" : {
26338 "type" : "integer"
26339 }
26340 },
26341 "type" : "object"
26342 },
26343 "links" : [
26344 {
26345 "href" : "{pool_name}",
26346 "rel" : "child"
26347 }
26348 ],
26349 "type" : "array"
44660702
DM
26350 }
26351 },
26352 "POST" : {
4d47f125 26353 "description" : "Create POOL",
44660702 26354 "method" : "POST",
4d47f125 26355 "name" : "createpool",
44660702
DM
26356 "parameters" : {
26357 "additionalProperties" : 0,
26358 "properties" : {
4d47f125 26359 "add_storages" : {
e2d681b3 26360 "description" : "Configure VM and CT storage using the new pool.",
5d9c884c
DM
26361 "optional" : 1,
26362 "type" : "boolean",
26363 "typetext" : "<boolean>"
26364 },
4d47f125
TL
26365 "application" : {
26366 "description" : "The application of the pool, 'rbd' by default.",
44660702 26367 "enum" : [
4d47f125
TL
26368 "rbd",
26369 "cephfs",
26370 "rgw"
44660702
DM
26371 ],
26372 "optional" : 1,
26373 "type" : "string"
26374 },
4d47f125
TL
26375 "crush_rule" : {
26376 "description" : "The rule to use for mapping object placement in the cluster.",
26377 "optional" : 1,
26378 "type" : "string",
26379 "typetext" : "<string>"
26380 },
26381 "min_size" : {
26382 "default" : 2,
26383 "description" : "Minimum number of replicas per object",
26384 "maximum" : 7,
26385 "minimum" : 1,
44660702 26386 "optional" : 1,
4d47f125
TL
26387 "type" : "integer",
26388 "typetext" : "<integer> (1 - 7)"
26389 },
26390 "name" : {
26391 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
26392 "type" : "string",
26393 "typetext" : "<string>"
44660702
DM
26394 },
26395 "node" : {
26396 "description" : "The cluster node name.",
26397 "format" : "pve-node",
013dc89f
DM
26398 "type" : "string",
26399 "typetext" : "<string>"
2489d6df 26400 },
4d47f125 26401 "pg_num" : {
e2d681b3 26402 "default" : 128,
4d47f125
TL
26403 "description" : "Number of placement groups.",
26404 "maximum" : 32768,
26405 "minimum" : 8,
2489d6df 26406 "optional" : 1,
4d47f125
TL
26407 "type" : "integer",
26408 "typetext" : "<integer> (8 - 32768)"
26409 },
26410 "size" : {
26411 "default" : 3,
26412 "description" : "Number of replicas per object",
26413 "maximum" : 7,
26414 "minimum" : 1,
26415 "optional" : 1,
26416 "type" : "integer",
26417 "typetext" : "<integer> (1 - 7)"
44660702 26418 }
56122987 26419 }
44660702 26420 },
4d47f125
TL
26421 "permissions" : {
26422 "check" : [
26423 "perm",
26424 "/",
26425 [
26426 "Sys.Modify"
26427 ]
26428 ]
26429 },
44660702
DM
26430 "protected" : 1,
26431 "proxyto" : "node",
26432 "returns" : {
26433 "type" : "string"
26434 }
56122987 26435 }
44660702 26436 },
7aacca6f 26437 "leaf" : 0,
4d47f125
TL
26438 "path" : "/nodes/{node}/ceph/pools",
26439 "text" : "pools"
7aacca6f
DM
26440 },
26441 {
4d47f125
TL
26442 "children" : [
26443 {
26444 "info" : {
26445 "DELETE" : {
26446 "description" : "Unset a ceph flag",
26447 "method" : "DELETE",
26448 "name" : "unset_flag",
26449 "parameters" : {
26450 "additionalProperties" : 0,
26451 "properties" : {
26452 "flag" : {
26453 "description" : "The ceph flag to set/unset",
26454 "enum" : [
26455 "full",
26456 "pause",
26457 "noup",
26458 "nodown",
26459 "noout",
26460 "noin",
26461 "nobackfill",
26462 "norebalance",
26463 "norecover",
26464 "noscrub",
26465 "nodeep-scrub",
26466 "notieragent"
26467 ],
26468 "type" : "string"
26469 },
26470 "node" : {
26471 "description" : "The cluster node name.",
26472 "format" : "pve-node",
26473 "type" : "string",
26474 "typetext" : "<string>"
26475 }
26476 }
26477 },
26478 "permissions" : {
26479 "check" : [
26480 "perm",
26481 "/",
26482 [
26483 "Sys.Modify"
26484 ]
26485 ]
26486 },
26487 "protected" : 1,
26488 "proxyto" : "node",
26489 "returns" : {
26490 "type" : "null"
26491 }
26492 },
26493 "POST" : {
26494 "description" : "Set a ceph flag",
26495 "method" : "POST",
26496 "name" : "set_flag",
26497 "parameters" : {
26498 "additionalProperties" : 0,
26499 "properties" : {
26500 "flag" : {
26501 "description" : "The ceph flag to set/unset",
26502 "enum" : [
26503 "full",
26504 "pause",
26505 "noup",
26506 "nodown",
26507 "noout",
26508 "noin",
26509 "nobackfill",
26510 "norebalance",
26511 "norecover",
26512 "noscrub",
26513 "nodeep-scrub",
26514 "notieragent"
26515 ],
26516 "type" : "string"
26517 },
26518 "node" : {
26519 "description" : "The cluster node name.",
26520 "format" : "pve-node",
26521 "type" : "string",
26522 "typetext" : "<string>"
26523 }
26524 }
26525 },
26526 "permissions" : {
26527 "check" : [
26528 "perm",
26529 "/",
26530 [
26531 "Sys.Modify"
26532 ]
26533 ]
26534 },
26535 "protected" : 1,
26536 "proxyto" : "node",
26537 "returns" : {
26538 "type" : "null"
26539 }
26540 }
26541 },
26542 "leaf" : 1,
26543 "path" : "/nodes/{node}/ceph/flags/{flag}",
26544 "text" : "{flag}"
26545 }
26546 ],
56122987
DM
26547 "info" : {
26548 "GET" : {
4d47f125 26549 "description" : "get all set ceph flags",
44660702 26550 "method" : "GET",
4d47f125 26551 "name" : "get_flags",
44660702
DM
26552 "parameters" : {
26553 "additionalProperties" : 0,
26554 "properties" : {
26555 "node" : {
26556 "description" : "The cluster node name.",
26557 "format" : "pve-node",
013dc89f
DM
26558 "type" : "string",
26559 "typetext" : "<string>"
44660702
DM
26560 }
26561 }
26562 },
56122987
DM
26563 "permissions" : {
26564 "check" : [
26565 "perm",
26566 "/",
26567 [
4d47f125
TL
26568 "Sys.Audit"
26569 ]
56122987 26570 ]
4d47f125
TL
26571 },
26572 "protected" : 1,
26573 "proxyto" : "node",
26574 "returns" : {
26575 "type" : "string"
44660702 26576 }
56122987 26577 }
44660702 26578 },
4d47f125
TL
26579 "leaf" : 0,
26580 "path" : "/nodes/{node}/ceph/flags",
26581 "text" : "flags"
56122987
DM
26582 },
26583 {
56122987
DM
26584 "info" : {
26585 "GET" : {
4d47f125 26586 "description" : "Get OSD crush map",
44660702 26587 "method" : "GET",
4d47f125 26588 "name" : "crush",
56122987 26589 "parameters" : {
7aacca6f 26590 "additionalProperties" : 0,
56122987 26591 "properties" : {
56122987 26592 "node" : {
7aacca6f 26593 "description" : "The cluster node name.",
44660702 26594 "format" : "pve-node",
013dc89f
DM
26595 "type" : "string",
26596 "typetext" : "<string>"
56122987 26597 }
7aacca6f 26598 }
56122987 26599 },
56122987
DM
26600 "permissions" : {
26601 "check" : [
26602 "perm",
26603 "/",
26604 [
26605 "Sys.Audit",
26606 "Datastore.Audit"
26607 ],
26608 "any",
26609 1
26610 ]
44660702 26611 },
4d47f125
TL
26612 "protected" : 1,
26613 "proxyto" : "node",
44660702
DM
26614 "returns" : {
26615 "type" : "string"
7aacca6f
DM
26616 }
26617 }
44660702
DM
26618 },
26619 "leaf" : 1,
4d47f125
TL
26620 "path" : "/nodes/{node}/ceph/crush",
26621 "text" : "crush"
7aacca6f
DM
26622 },
26623 {
7aacca6f
DM
26624 "info" : {
26625 "GET" : {
4d47f125 26626 "description" : "Read ceph log",
7aacca6f 26627 "method" : "GET",
4d47f125 26628 "name" : "log",
7aacca6f
DM
26629 "parameters" : {
26630 "additionalProperties" : 0,
26631 "properties" : {
4d47f125
TL
26632 "limit" : {
26633 "minimum" : 0,
26634 "optional" : 1,
26635 "type" : "integer",
26636 "typetext" : "<integer> (0 - N)"
26637 },
7aacca6f 26638 "node" : {
7aacca6f 26639 "description" : "The cluster node name.",
44660702 26640 "format" : "pve-node",
013dc89f
DM
26641 "type" : "string",
26642 "typetext" : "<string>"
4d47f125
TL
26643 },
26644 "start" : {
26645 "minimum" : 0,
26646 "optional" : 1,
26647 "type" : "integer",
26648 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
26649 }
26650 }
26651 },
44660702
DM
26652 "permissions" : {
26653 "check" : [
26654 "perm",
4d47f125 26655 "/nodes/{node}",
44660702 26656 [
4d47f125
TL
26657 "Sys.Syslog"
26658 ]
44660702
DM
26659 ]
26660 },
7aacca6f 26661 "protected" : 1,
44660702 26662 "proxyto" : "node",
7aacca6f
DM
26663 "returns" : {
26664 "items" : {
26665 "properties" : {
4d47f125
TL
26666 "n" : {
26667 "description" : "Line number",
26668 "type" : "integer"
56122987 26669 },
4d47f125
TL
26670 "t" : {
26671 "description" : "Line text",
56122987
DM
26672 "type" : "string"
26673 }
7aacca6f
DM
26674 },
26675 "type" : "object"
56122987
DM
26676 },
26677 "type" : "array"
44660702 26678 }
4d47f125
TL
26679 }
26680 },
26681 "leaf" : 1,
26682 "path" : "/nodes/{node}/ceph/log",
26683 "text" : "log"
26684 },
26685 {
26686 "info" : {
26687 "GET" : {
26688 "description" : "List ceph rules.",
26689 "method" : "GET",
26690 "name" : "rules",
44660702
DM
26691 "parameters" : {
26692 "additionalProperties" : 0,
26693 "properties" : {
26694 "node" : {
26695 "description" : "The cluster node name.",
26696 "format" : "pve-node",
013dc89f
DM
26697 "type" : "string",
26698 "typetext" : "<string>"
44660702
DM
26699 }
26700 }
26701 },
7aacca6f
DM
26702 "permissions" : {
26703 "check" : [
26704 "perm",
26705 "/",
26706 [
4d47f125
TL
26707 "Sys.Audit",
26708 "Datastore.Audit"
26709 ],
26710 "any",
26711 1
7aacca6f
DM
26712 ]
26713 },
44660702 26714 "protected" : 1,
7aacca6f 26715 "proxyto" : "node",
56122987 26716 "returns" : {
4d47f125
TL
26717 "items" : {
26718 "properties" : {},
26719 "type" : "object"
26720 },
26721 "links" : [
26722 {
26723 "href" : "{name}",
26724 "rel" : "child"
26725 }
26726 ],
26727 "type" : "array"
44660702 26728 }
56122987 26729 }
44660702 26730 },
4d47f125
TL
26731 "leaf" : 1,
26732 "path" : "/nodes/{node}/ceph/rules",
26733 "text" : "rules"
26734 }
26735 ],
26736 "info" : {
26737 "GET" : {
26738 "description" : "Directory index.",
26739 "method" : "GET",
26740 "name" : "index",
26741 "parameters" : {
26742 "additionalProperties" : 0,
26743 "properties" : {
26744 "node" : {
26745 "description" : "The cluster node name.",
26746 "format" : "pve-node",
26747 "type" : "string",
26748 "typetext" : "<string>"
26749 }
26750 }
26751 },
26752 "permissions" : {
26753 "check" : [
26754 "perm",
26755 "/",
26756 [
26757 "Sys.Audit",
26758 "Datastore.Audit"
26759 ],
26760 "any",
26761 1
26762 ]
26763 },
26764 "returns" : {
26765 "items" : {
26766 "properties" : {},
26767 "type" : "object"
26768 },
26769 "links" : [
26770 {
26771 "href" : "{name}",
26772 "rel" : "child"
26773 }
26774 ],
26775 "type" : "array"
26776 }
26777 }
26778 },
26779 "leaf" : 0,
26780 "path" : "/nodes/{node}/ceph",
26781 "text" : "ceph"
26782 },
26783 {
26784 "children" : [
56122987
DM
26785 {
26786 "info" : {
4d47f125
TL
26787 "GET" : {
26788 "description" : "Extract configuration from vzdump backup archive.",
26789 "method" : "GET",
26790 "name" : "extractconfig",
26791 "parameters" : {
26792 "additionalProperties" : 0,
26793 "properties" : {
44660702
DM
26794 "node" : {
26795 "description" : "The cluster node name.",
26796 "format" : "pve-node",
013dc89f
DM
26797 "type" : "string",
26798 "typetext" : "<string>"
44660702 26799 },
4d47f125
TL
26800 "volume" : {
26801 "description" : "Volume identifier",
26802 "type" : "string",
26803 "typetext" : "<string>"
44660702
DM
26804 }
26805 }
7aacca6f 26806 },
56122987 26807 "permissions" : {
4d47f125
TL
26808 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
26809 "user" : "all"
56122987 26810 },
7aacca6f 26811 "protected" : 1,
44660702
DM
26812 "proxyto" : "node",
26813 "returns" : {
4d47f125 26814 "type" : "string"
7aacca6f
DM
26815 }
26816 }
26817 },
7aacca6f 26818 "leaf" : 1,
4d47f125
TL
26819 "path" : "/nodes/{node}/vzdump/extractconfig",
26820 "text" : "extractconfig"
26821 }
26822 ],
26823 "info" : {
26824 "POST" : {
26825 "description" : "Create backup.",
26826 "method" : "POST",
26827 "name" : "vzdump",
26828 "parameters" : {
26829 "additionalProperties" : 0,
26830 "properties" : {
26831 "all" : {
26832 "default" : 0,
26833 "description" : "Backup all known guest systems on this host.",
26834 "optional" : 1,
26835 "type" : "boolean",
26836 "typetext" : "<boolean>"
26837 },
26838 "bwlimit" : {
26839 "default" : 0,
26840 "description" : "Limit I/O bandwidth (KBytes per second).",
26841 "minimum" : 0,
26842 "optional" : 1,
26843 "type" : "integer",
26844 "typetext" : "<integer> (0 - N)"
26845 },
26846 "compress" : {
26847 "default" : "0",
26848 "description" : "Compress dump file.",
26849 "enum" : [
26850 "0",
26851 "1",
26852 "gzip",
26853 "lzo"
26854 ],
26855 "optional" : 1,
26856 "type" : "string"
26857 },
26858 "dumpdir" : {
26859 "description" : "Store resulting files to specified directory.",
26860 "optional" : 1,
26861 "type" : "string",
26862 "typetext" : "<string>"
26863 },
26864 "exclude" : {
26865 "description" : "Exclude specified guest systems (assumes --all)",
26866 "format" : "pve-vmid-list",
26867 "optional" : 1,
26868 "type" : "string",
26869 "typetext" : "<string>"
26870 },
26871 "exclude-path" : {
26872 "description" : "Exclude certain files/directories (shell globs).",
26873 "format" : "string-alist",
26874 "optional" : 1,
26875 "type" : "string",
26876 "typetext" : "<string>"
26877 },
26878 "ionice" : {
26879 "default" : 7,
26880 "description" : "Set CFQ ionice priority.",
26881 "maximum" : 8,
26882 "minimum" : 0,
26883 "optional" : 1,
26884 "type" : "integer",
26885 "typetext" : "<integer> (0 - 8)"
26886 },
26887 "lockwait" : {
26888 "default" : 180,
26889 "description" : "Maximal time to wait for the global lock (minutes).",
26890 "minimum" : 0,
26891 "optional" : 1,
26892 "type" : "integer",
26893 "typetext" : "<integer> (0 - N)"
26894 },
26895 "mailnotification" : {
26896 "default" : "always",
26897 "description" : "Specify when to send an email",
26898 "enum" : [
26899 "always",
26900 "failure"
26901 ],
26902 "optional" : 1,
26903 "type" : "string"
26904 },
26905 "mailto" : {
26906 "description" : "Comma-separated list of email addresses that should receive email notifications.",
26907 "format" : "string-list",
26908 "optional" : 1,
26909 "type" : "string",
26910 "typetext" : "<string>"
26911 },
26912 "maxfiles" : {
26913 "default" : 1,
26914 "description" : "Maximal number of backup files per guest system.",
26915 "minimum" : 1,
26916 "optional" : 1,
26917 "type" : "integer",
26918 "typetext" : "<integer> (1 - N)"
26919 },
26920 "mode" : {
26921 "default" : "snapshot",
26922 "description" : "Backup mode.",
26923 "enum" : [
26924 "snapshot",
26925 "suspend",
26926 "stop"
26927 ],
26928 "optional" : 1,
26929 "type" : "string"
26930 },
26931 "node" : {
26932 "description" : "Only run if executed on this node.",
26933 "format" : "pve-node",
26934 "optional" : 1,
26935 "type" : "string",
26936 "typetext" : "<string>"
26937 },
26938 "pigz" : {
26939 "default" : 0,
26940 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
26941 "optional" : 1,
26942 "type" : "integer",
26943 "typetext" : "<integer>"
26944 },
26945 "quiet" : {
26946 "default" : 0,
26947 "description" : "Be quiet.",
26948 "optional" : 1,
26949 "type" : "boolean",
26950 "typetext" : "<boolean>"
26951 },
26952 "remove" : {
26953 "default" : 1,
26954 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
26955 "optional" : 1,
26956 "type" : "boolean",
26957 "typetext" : "<boolean>"
26958 },
26959 "script" : {
26960 "description" : "Use specified hook script.",
26961 "optional" : 1,
26962 "type" : "string",
26963 "typetext" : "<string>"
26964 },
26965 "size" : {
26966 "default" : 1024,
26967 "description" : "Unused, will be removed in a future release.",
26968 "minimum" : 500,
26969 "optional" : 1,
26970 "type" : "integer",
26971 "typetext" : "<integer> (500 - N)"
26972 },
26973 "stdexcludes" : {
26974 "default" : 1,
26975 "description" : "Exclude temporary files and logs.",
26976 "optional" : 1,
26977 "type" : "boolean",
26978 "typetext" : "<boolean>"
26979 },
26980 "stdout" : {
26981 "description" : "Write tar to stdout, not to a file.",
26982 "optional" : 1,
26983 "type" : "boolean",
26984 "typetext" : "<boolean>"
26985 },
26986 "stop" : {
26987 "default" : 0,
26988 "description" : "Stop runnig backup jobs on this host.",
26989 "optional" : 1,
26990 "type" : "boolean",
26991 "typetext" : "<boolean>"
26992 },
26993 "stopwait" : {
26994 "default" : 10,
26995 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
26996 "minimum" : 0,
26997 "optional" : 1,
26998 "type" : "integer",
26999 "typetext" : "<integer> (0 - N)"
27000 },
27001 "storage" : {
27002 "description" : "Store resulting file to this storage.",
27003 "format" : "pve-storage-id",
27004 "optional" : 1,
27005 "type" : "string",
27006 "typetext" : "<string>"
27007 },
27008 "tmpdir" : {
27009 "description" : "Store temporary files to specified directory.",
27010 "optional" : 1,
27011 "type" : "string",
27012 "typetext" : "<string>"
27013 },
27014 "vmid" : {
27015 "description" : "The ID of the guest system you want to backup.",
27016 "format" : "pve-vmid-list",
27017 "optional" : 1,
27018 "type" : "string",
27019 "typetext" : "<string>"
27020 }
27021 }
27022 },
27023 "permissions" : {
27024 "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.",
27025 "user" : "all"
27026 },
27027 "protected" : 1,
27028 "proxyto" : "node",
27029 "returns" : {
27030 "type" : "string"
27031 }
27032 }
27033 },
27034 "leaf" : 0,
27035 "path" : "/nodes/{node}/vzdump",
27036 "text" : "vzdump"
27037 },
27038 {
27039 "children" : [
2489d6df
WB
27040 {
27041 "children" : [
27042 {
27043 "info" : {
4d47f125
TL
27044 "GET" : {
27045 "description" : "Read service properties",
27046 "method" : "GET",
27047 "name" : "service_state",
2489d6df
WB
27048 "parameters" : {
27049 "additionalProperties" : 0,
27050 "properties" : {
2489d6df
WB
27051 "node" : {
27052 "description" : "The cluster node name.",
27053 "format" : "pve-node",
27054 "type" : "string",
27055 "typetext" : "<string>"
4d47f125
TL
27056 },
27057 "service" : {
27058 "description" : "Service ID",
27059 "enum" : [
27060 "pveproxy",
27061 "pvedaemon",
27062 "spiceproxy",
27063 "pvestatd",
27064 "pve-cluster",
27065 "corosync",
27066 "pve-firewall",
27067 "pvefw-logger",
27068 "pve-ha-crm",
27069 "pve-ha-lrm",
27070 "sshd",
27071 "syslog",
27072 "cron",
27073 "postfix",
27074 "ksmtuned",
27075 "systemd-timesyncd"
27076 ],
27077 "type" : "string"
2489d6df
WB
27078 }
27079 }
27080 },
27081 "permissions" : {
27082 "check" : [
27083 "perm",
4d47f125 27084 "/nodes/{node}",
2489d6df 27085 [
4d47f125 27086 "Sys.Audit"
2489d6df
WB
27087 ]
27088 ]
27089 },
27090 "protected" : 1,
27091 "proxyto" : "node",
27092 "returns" : {
4d47f125 27093 "type" : "object"
2489d6df
WB
27094 }
27095 }
27096 },
27097 "leaf" : 1,
4d47f125
TL
27098 "path" : "/nodes/{node}/services/{service}/state",
27099 "text" : "state"
27100 },
27101 {
27102 "info" : {
27103 "POST" : {
27104 "description" : "Start service.",
27105 "method" : "POST",
27106 "name" : "service_start",
27107 "parameters" : {
27108 "additionalProperties" : 0,
27109 "properties" : {
27110 "node" : {
27111 "description" : "The cluster node name.",
27112 "format" : "pve-node",
27113 "type" : "string",
27114 "typetext" : "<string>"
27115 },
27116 "service" : {
27117 "description" : "Service ID",
27118 "enum" : [
27119 "pveproxy",
27120 "pvedaemon",
27121 "spiceproxy",
27122 "pvestatd",
27123 "pve-cluster",
27124 "corosync",
27125 "pve-firewall",
27126 "pvefw-logger",
27127 "pve-ha-crm",
27128 "pve-ha-lrm",
27129 "sshd",
27130 "syslog",
27131 "cron",
27132 "postfix",
27133 "ksmtuned",
27134 "systemd-timesyncd"
27135 ],
27136 "type" : "string"
27137 }
27138 }
7aacca6f 27139 },
4d47f125
TL
27140 "permissions" : {
27141 "check" : [
27142 "perm",
27143 "/nodes/{node}",
27144 [
27145 "Sys.Modify"
27146 ]
27147 ]
7aacca6f 27148 },
4d47f125
TL
27149 "protected" : 1,
27150 "proxyto" : "node",
27151 "returns" : {
27152 "type" : "string"
27153 }
27154 }
56122987 27155 },
4d47f125
TL
27156 "leaf" : 1,
27157 "path" : "/nodes/{node}/services/{service}/start",
27158 "text" : "start"
27159 },
44660702
DM
27160 {
27161 "info" : {
4d47f125
TL
27162 "POST" : {
27163 "description" : "Stop service.",
27164 "method" : "POST",
27165 "name" : "service_stop",
44660702
DM
27166 "parameters" : {
27167 "additionalProperties" : 0,
27168 "properties" : {
44660702
DM
27169 "node" : {
27170 "description" : "The cluster node name.",
27171 "format" : "pve-node",
013dc89f
DM
27172 "type" : "string",
27173 "typetext" : "<string>"
2489d6df 27174 },
4d47f125
TL
27175 "service" : {
27176 "description" : "Service ID",
27177 "enum" : [
27178 "pveproxy",
27179 "pvedaemon",
27180 "spiceproxy",
27181 "pvestatd",
27182 "pve-cluster",
27183 "corosync",
27184 "pve-firewall",
27185 "pvefw-logger",
27186 "pve-ha-crm",
27187 "pve-ha-lrm",
27188 "sshd",
27189 "syslog",
27190 "cron",
27191 "postfix",
27192 "ksmtuned",
27193 "systemd-timesyncd"
27194 ],
27195 "type" : "string"
44660702
DM
27196 }
27197 }
27198 },
27199 "permissions" : {
27200 "check" : [
27201 "perm",
4d47f125 27202 "/nodes/{node}",
44660702
DM
27203 [
27204 "Sys.Modify"
27205 ]
27206 ]
27207 },
27208 "protected" : 1,
27209 "proxyto" : "node",
27210 "returns" : {
2489d6df 27211 "type" : "string"
44660702
DM
27212 }
27213 }
27214 },
27215 "leaf" : 1,
4d47f125
TL
27216 "path" : "/nodes/{node}/services/{service}/stop",
27217 "text" : "stop"
7aacca6f 27218 },
32d876b5
DM
27219 {
27220 "info" : {
4d47f125
TL
27221 "POST" : {
27222 "description" : "Restart service.",
27223 "method" : "POST",
27224 "name" : "service_restart",
32d876b5
DM
27225 "parameters" : {
27226 "additionalProperties" : 0,
27227 "properties" : {
4d47f125
TL
27228 "node" : {
27229 "description" : "The cluster node name.",
27230 "format" : "pve-node",
27231 "type" : "string",
27232 "typetext" : "<string>"
27233 },
27234 "service" : {
27235 "description" : "Service ID",
32d876b5 27236 "enum" : [
4d47f125
TL
27237 "pveproxy",
27238 "pvedaemon",
27239 "spiceproxy",
27240 "pvestatd",
27241 "pve-cluster",
27242 "corosync",
27243 "pve-firewall",
27244 "pvefw-logger",
27245 "pve-ha-crm",
27246 "pve-ha-lrm",
27247 "sshd",
27248 "syslog",
27249 "cron",
27250 "postfix",
27251 "ksmtuned",
27252 "systemd-timesyncd"
32d876b5
DM
27253 ],
27254 "type" : "string"
32d876b5
DM
27255 }
27256 }
27257 },
27258 "permissions" : {
27259 "check" : [
27260 "perm",
4d47f125 27261 "/nodes/{node}",
32d876b5
DM
27262 [
27263 "Sys.Modify"
27264 ]
27265 ]
27266 },
27267 "protected" : 1,
27268 "proxyto" : "node",
27269 "returns" : {
4d47f125 27270 "type" : "string"
32d876b5 27271 }
4d47f125
TL
27272 }
27273 },
27274 "leaf" : 1,
27275 "path" : "/nodes/{node}/services/{service}/restart",
27276 "text" : "restart"
27277 },
27278 {
27279 "info" : {
32d876b5 27280 "POST" : {
4d47f125 27281 "description" : "Reload service.",
32d876b5 27282 "method" : "POST",
4d47f125 27283 "name" : "service_reload",
32d876b5
DM
27284 "parameters" : {
27285 "additionalProperties" : 0,
27286 "properties" : {
32d876b5
DM
27287 "node" : {
27288 "description" : "The cluster node name.",
27289 "format" : "pve-node",
27290 "type" : "string",
27291 "typetext" : "<string>"
4d47f125
TL
27292 },
27293 "service" : {
27294 "description" : "Service ID",
27295 "enum" : [
27296 "pveproxy",
27297 "pvedaemon",
27298 "spiceproxy",
27299 "pvestatd",
27300 "pve-cluster",
27301 "corosync",
27302 "pve-firewall",
27303 "pvefw-logger",
27304 "pve-ha-crm",
27305 "pve-ha-lrm",
27306 "sshd",
27307 "syslog",
27308 "cron",
27309 "postfix",
27310 "ksmtuned",
27311 "systemd-timesyncd"
27312 ],
27313 "type" : "string"
32d876b5
DM
27314 }
27315 }
27316 },
27317 "permissions" : {
27318 "check" : [
27319 "perm",
4d47f125 27320 "/nodes/{node}",
32d876b5
DM
27321 [
27322 "Sys.Modify"
27323 ]
27324 ]
27325 },
27326 "protected" : 1,
27327 "proxyto" : "node",
27328 "returns" : {
4d47f125 27329 "type" : "string"
32d876b5
DM
27330 }
27331 }
27332 },
27333 "leaf" : 1,
4d47f125
TL
27334 "path" : "/nodes/{node}/services/{service}/reload",
27335 "text" : "reload"
32d876b5
DM
27336 }
27337 ],
27338 "info" : {
27339 "GET" : {
4d47f125 27340 "description" : "Directory index",
44660702 27341 "method" : "GET",
4d47f125 27342 "name" : "srvcmdidx",
44660702
DM
27343 "parameters" : {
27344 "additionalProperties" : 0,
27345 "properties" : {
44660702
DM
27346 "node" : {
27347 "description" : "The cluster node name.",
27348 "format" : "pve-node",
013dc89f
DM
27349 "type" : "string",
27350 "typetext" : "<string>"
44660702 27351 },
4d47f125
TL
27352 "service" : {
27353 "description" : "Service ID",
27354 "enum" : [
27355 "pveproxy",
27356 "pvedaemon",
27357 "spiceproxy",
27358 "pvestatd",
27359 "pve-cluster",
27360 "corosync",
27361 "pve-firewall",
27362 "pvefw-logger",
27363 "pve-ha-crm",
27364 "pve-ha-lrm",
27365 "sshd",
27366 "syslog",
27367 "cron",
27368 "postfix",
27369 "ksmtuned",
27370 "systemd-timesyncd"
27371 ],
27372 "type" : "string"
44660702 27373 }
7aacca6f 27374 }
56122987 27375 },
56122987
DM
27376 "permissions" : {
27377 "check" : [
27378 "perm",
7aacca6f 27379 "/nodes/{node}",
56122987 27380 [
4d47f125 27381 "Sys.Audit"
56122987
DM
27382 ]
27383 ]
27384 },
44660702
DM
27385 "returns" : {
27386 "items" : {
27387 "properties" : {
4d47f125 27388 "subdir" : {
44660702
DM
27389 "type" : "string"
27390 }
56122987 27391 },
44660702 27392 "type" : "object"
56122987 27393 },
2489d6df
WB
27394 "links" : [
27395 {
4d47f125 27396 "href" : "{subdir}",
2489d6df
WB
27397 "rel" : "child"
27398 }
27399 ],
27400 "type" : "array"
27401 }
27402 }
4d47f125
TL
27403 },
27404 "leaf" : 0,
27405 "path" : "/nodes/{node}/services/{service}",
27406 "text" : "{service}"
7aacca6f
DM
27407 }
27408 ],
44660702
DM
27409 "info" : {
27410 "GET" : {
4d47f125 27411 "description" : "Service list.",
44660702
DM
27412 "method" : "GET",
27413 "name" : "index",
27414 "parameters" : {
27415 "additionalProperties" : 0,
27416 "properties" : {
27417 "node" : {
27418 "description" : "The cluster node name.",
27419 "format" : "pve-node",
013dc89f
DM
27420 "type" : "string",
27421 "typetext" : "<string>"
44660702
DM
27422 }
27423 }
27424 },
27425 "permissions" : {
27426 "check" : [
27427 "perm",
4d47f125 27428 "/nodes/{node}",
44660702 27429 [
4d47f125
TL
27430 "Sys.Audit"
27431 ]
44660702
DM
27432 ]
27433 },
4d47f125
TL
27434 "protected" : 1,
27435 "proxyto" : "node",
44660702
DM
27436 "returns" : {
27437 "items" : {
27438 "properties" : {},
27439 "type" : "object"
27440 },
27441 "links" : [
27442 {
4d47f125 27443 "href" : "{service}",
44660702
DM
27444 "rel" : "child"
27445 }
27446 ],
27447 "type" : "array"
27448 }
27449 }
27450 },
7aacca6f 27451 "leaf" : 0,
4d47f125
TL
27452 "path" : "/nodes/{node}/services",
27453 "text" : "services"
7aacca6f
DM
27454 },
27455 {
7aacca6f 27456 "info" : {
4d47f125
TL
27457 "GET" : {
27458 "description" : "Read subscription info.",
27459 "method" : "GET",
27460 "name" : "get",
7aacca6f 27461 "parameters" : {
44660702 27462 "additionalProperties" : 0,
7aacca6f 27463 "properties" : {
44660702 27464 "node" : {
4d47f125 27465 "description" : "The cluster node name.",
44660702 27466 "format" : "pve-node",
013dc89f
DM
27467 "type" : "string",
27468 "typetext" : "<string>"
4d47f125
TL
27469 }
27470 }
27471 },
27472 "permissions" : {
27473 "user" : "all"
27474 },
27475 "proxyto" : "node",
27476 "returns" : {
27477 "type" : "object"
27478 }
27479 },
27480 "POST" : {
27481 "description" : "Update subscription info.",
27482 "method" : "POST",
27483 "name" : "update",
27484 "parameters" : {
27485 "additionalProperties" : 0,
27486 "properties" : {
27487 "force" : {
27488 "default" : 0,
27489 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 27490 "optional" : 1,
4d47f125
TL
27491 "type" : "boolean",
27492 "typetext" : "<boolean>"
44660702 27493 },
4d47f125
TL
27494 "node" : {
27495 "description" : "The cluster node name.",
27496 "format" : "pve-node",
013dc89f
DM
27497 "type" : "string",
27498 "typetext" : "<string>"
4d47f125
TL
27499 }
27500 }
27501 },
27502 "permissions" : {
27503 "check" : [
27504 "perm",
27505 "/nodes/{node}",
27506 [
27507 "Sys.Modify"
27508 ]
27509 ]
27510 },
27511 "protected" : 1,
27512 "proxyto" : "node",
27513 "returns" : {
27514 "type" : "null"
27515 }
27516 },
27517 "PUT" : {
27518 "description" : "Set subscription key.",
27519 "method" : "PUT",
27520 "name" : "set",
27521 "parameters" : {
27522 "additionalProperties" : 0,
27523 "properties" : {
27524 "key" : {
27525 "description" : "Proxmox VE subscription key",
27526 "maxLength" : 32,
5f26e15b 27527 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 27528 "type" : "string"
7aacca6f 27529 },
4d47f125
TL
27530 "node" : {
27531 "description" : "The cluster node name.",
27532 "format" : "pve-node",
013dc89f
DM
27533 "type" : "string",
27534 "typetext" : "<string>"
7aacca6f 27535 }
7aacca6f
DM
27536 }
27537 },
7aacca6f 27538 "permissions" : {
4d47f125
TL
27539 "check" : [
27540 "perm",
27541 "/nodes/{node}",
27542 [
27543 "Sys.Modify"
27544 ]
27545 ]
7aacca6f 27546 },
44660702 27547 "protected" : 1,
7aacca6f 27548 "proxyto" : "node",
7aacca6f 27549 "returns" : {
4d47f125 27550 "type" : "null"
7aacca6f
DM
27551 }
27552 }
27553 },
4d47f125
TL
27554 "leaf" : 1,
27555 "path" : "/nodes/{node}/subscription",
27556 "text" : "subscription"
44660702
DM
27557 },
27558 {
7aacca6f
DM
27559 "children" : [
27560 {
4d47f125
TL
27561 "info" : {
27562 "DELETE" : {
27563 "description" : "Delete network device configuration",
27564 "method" : "DELETE",
27565 "name" : "delete_network",
27566 "parameters" : {
27567 "additionalProperties" : 0,
27568 "properties" : {
27569 "iface" : {
27570 "description" : "Network interface name.",
27571 "format" : "pve-iface",
27572 "maxLength" : 20,
27573 "minLength" : 2,
27574 "type" : "string",
27575 "typetext" : "<string>"
7aacca6f 27576 },
4d47f125
TL
27577 "node" : {
27578 "description" : "The cluster node name.",
27579 "format" : "pve-node",
27580 "type" : "string",
27581 "typetext" : "<string>"
44660702
DM
27582 }
27583 }
27584 },
4d47f125
TL
27585 "permissions" : {
27586 "check" : [
27587 "perm",
27588 "/nodes/{node}",
27589 [
27590 "Sys.Modify"
27591 ]
27592 ]
27593 },
27594 "protected" : 1,
27595 "proxyto" : "node",
27596 "returns" : {
27597 "type" : "null"
27598 }
27599 },
27600 "GET" : {
27601 "description" : "Read network device configuration",
27602 "method" : "GET",
27603 "name" : "network_config",
27604 "parameters" : {
27605 "additionalProperties" : 0,
27606 "properties" : {
27607 "iface" : {
27608 "description" : "Network interface name.",
27609 "format" : "pve-iface",
27610 "maxLength" : 20,
27611 "minLength" : 2,
27612 "type" : "string",
27613 "typetext" : "<string>"
56122987 27614 },
4d47f125
TL
27615 "node" : {
27616 "description" : "The cluster node name.",
27617 "format" : "pve-node",
27618 "type" : "string",
27619 "typetext" : "<string>"
44660702
DM
27620 }
27621 }
27622 },
4d47f125
TL
27623 "permissions" : {
27624 "check" : [
27625 "perm",
27626 "/nodes/{node}",
27627 [
27628 "Sys.Audit"
27629 ]
27630 ]
27631 },
27632 "proxyto" : "node",
27633 "returns" : {
27634 "properties" : {
27635 "method" : {
27636 "type" : "string"
44660702 27637 },
4d47f125 27638 "type" : {
44660702
DM
27639 "type" : "string"
27640 }
4d47f125
TL
27641 },
27642 "type" : "object"
27643 }
56122987 27644 },
4d47f125
TL
27645 "PUT" : {
27646 "description" : "Update network device configuration",
27647 "method" : "PUT",
27648 "name" : "update_network",
27649 "parameters" : {
27650 "additionalProperties" : 0,
27651 "properties" : {
27652 "address" : {
27653 "description" : "IP address.",
27654 "format" : "ipv4",
27655 "optional" : 1,
27656 "requires" : "netmask",
27657 "type" : "string",
27658 "typetext" : "<string>"
27659 },
27660 "address6" : {
27661 "description" : "IP address.",
27662 "format" : "ipv6",
27663 "optional" : 1,
27664 "requires" : "netmask6",
27665 "type" : "string",
27666 "typetext" : "<string>"
27667 },
27668 "autostart" : {
27669 "description" : "Automatically start interface on boot.",
27670 "optional" : 1,
27671 "type" : "boolean",
27672 "typetext" : "<boolean>"
27673 },
27674 "bond_mode" : {
27675 "description" : "Bonding mode.",
27676 "enum" : [
27677 "balance-rr",
27678 "active-backup",
27679 "balance-xor",
27680 "broadcast",
27681 "802.3ad",
27682 "balance-tlb",
27683 "balance-alb",
27684 "balance-slb",
27685 "lacp-balance-slb",
27686 "lacp-balance-tcp"
27687 ],
27688 "optional" : 1,
27689 "type" : "string"
27690 },
27691 "bond_xmit_hash_policy" : {
27692 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
27693 "enum" : [
27694 "layer2",
27695 "layer2+3",
27696 "layer3+4"
27697 ],
27698 "optional" : 1,
27699 "type" : "string"
27700 },
27701 "bridge_ports" : {
27702 "description" : "Specify the iterfaces you want to add to your bridge.",
27703 "format" : "pve-iface-list",
27704 "optional" : 1,
27705 "type" : "string",
27706 "typetext" : "<string>"
27707 },
27708 "bridge_vlan_aware" : {
27709 "description" : "Enable bridge vlan support.",
27710 "optional" : 1,
27711 "type" : "boolean",
27712 "typetext" : "<boolean>"
27713 },
bb4c8cf8
TL
27714 "cidr" : {
27715 "description" : "IPv4 CIDR.",
27716 "format" : "CIDRv4",
27717 "optional" : 1,
27718 "type" : "string",
27719 "typetext" : "<string>"
27720 },
27721 "cidr6" : {
27722 "description" : "IPv6 CIDR.",
27723 "format" : "CIDRv6",
27724 "optional" : 1,
27725 "type" : "string",
27726 "typetext" : "<string>"
27727 },
4d47f125
TL
27728 "comments" : {
27729 "description" : "Comments",
27730 "optional" : 1,
27731 "type" : "string",
27732 "typetext" : "<string>"
27733 },
27734 "comments6" : {
27735 "description" : "Comments",
27736 "optional" : 1,
27737 "type" : "string",
27738 "typetext" : "<string>"
27739 },
27740 "delete" : {
27741 "description" : "A list of settings you want to delete.",
27742 "format" : "pve-configid-list",
27743 "optional" : 1,
27744 "type" : "string",
27745 "typetext" : "<string>"
27746 },
27747 "gateway" : {
27748 "description" : "Default gateway address.",
27749 "format" : "ipv4",
27750 "optional" : 1,
27751 "type" : "string",
27752 "typetext" : "<string>"
27753 },
27754 "gateway6" : {
27755 "description" : "Default ipv6 gateway address.",
27756 "format" : "ipv6",
27757 "optional" : 1,
27758 "type" : "string",
27759 "typetext" : "<string>"
27760 },
27761 "iface" : {
27762 "description" : "Network interface name.",
27763 "format" : "pve-iface",
27764 "maxLength" : 20,
27765 "minLength" : 2,
27766 "type" : "string",
27767 "typetext" : "<string>"
56122987 27768 },
4d47f125
TL
27769 "netmask" : {
27770 "description" : "Network mask.",
27771 "format" : "ipv4mask",
27772 "optional" : 1,
27773 "requires" : "address",
27774 "type" : "string",
27775 "typetext" : "<string>"
27776 },
27777 "netmask6" : {
27778 "description" : "Network mask.",
27779 "maximum" : 128,
27780 "minimum" : 0,
27781 "optional" : 1,
27782 "requires" : "address6",
27783 "type" : "integer",
27784 "typetext" : "<integer> (0 - 128)"
56122987 27785 },
44660702
DM
27786 "node" : {
27787 "description" : "The cluster node name.",
27788 "format" : "pve-node",
013dc89f
DM
27789 "type" : "string",
27790 "typetext" : "<string>"
44660702 27791 },
4d47f125
TL
27792 "ovs_bonds" : {
27793 "description" : "Specify the interfaces used by the bonding device.",
27794 "format" : "pve-iface-list",
27795 "optional" : 1,
27796 "type" : "string",
27797 "typetext" : "<string>"
27798 },
27799 "ovs_bridge" : {
27800 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
27801 "format" : "pve-iface",
27802 "optional" : 1,
27803 "type" : "string",
27804 "typetext" : "<string>"
27805 },
27806 "ovs_options" : {
27807 "description" : "OVS interface options.",
27808 "maxLength" : 1024,
27809 "optional" : 1,
27810 "type" : "string",
27811 "typetext" : "<string>"
27812 },
27813 "ovs_ports" : {
27814 "description" : "Specify the iterfaces you want to add to your bridge.",
27815 "format" : "pve-iface-list",
27816 "optional" : 1,
27817 "type" : "string",
27818 "typetext" : "<string>"
27819 },
27820 "ovs_tag" : {
27821 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
27822 "maximum" : 4094,
27823 "minimum" : 1,
27824 "optional" : 1,
27825 "type" : "integer",
27826 "typetext" : "<integer> (1 - 4094)"
27827 },
27828 "slaves" : {
27829 "description" : "Specify the interfaces used by the bonding device.",
27830 "format" : "pve-iface-list",
27831 "optional" : 1,
27832 "type" : "string",
27833 "typetext" : "<string>"
27834 },
27835 "type" : {
27836 "description" : "Network interface type",
44660702 27837 "enum" : [
4d47f125
TL
27838 "bridge",
27839 "bond",
27840 "eth",
27841 "alias",
27842 "vlan",
27843 "OVSBridge",
27844 "OVSBond",
27845 "OVSPort",
27846 "OVSIntPort",
27847 "unknown"
44660702
DM
27848 ],
27849 "type" : "string"
27850 }
27851 }
27852 },
27853 "permissions" : {
27854 "check" : [
27855 "perm",
27856 "/nodes/{node}",
27857 [
4d47f125 27858 "Sys.Modify"
44660702
DM
27859 ]
27860 ]
27861 },
4d47f125
TL
27862 "protected" : 1,
27863 "proxyto" : "node",
44660702 27864 "returns" : {
4d47f125 27865 "type" : "null"
44660702
DM
27866 }
27867 }
27868 },
4d47f125
TL
27869 "leaf" : 1,
27870 "path" : "/nodes/{node}/network/{iface}",
27871 "text" : "{iface}"
44660702
DM
27872 }
27873 ],
27874 "info" : {
4d47f125
TL
27875 "DELETE" : {
27876 "description" : "Revert network configuration changes.",
27877 "method" : "DELETE",
27878 "name" : "revert_network_changes",
44660702
DM
27879 "parameters" : {
27880 "additionalProperties" : 0,
27881 "properties" : {
27882 "node" : {
27883 "description" : "The cluster node name.",
27884 "format" : "pve-node",
013dc89f
DM
27885 "type" : "string",
27886 "typetext" : "<string>"
44660702
DM
27887 }
27888 }
27889 },
27890 "permissions" : {
27891 "check" : [
27892 "perm",
27893 "/nodes/{node}",
27894 [
4d47f125 27895 "Sys.Modify"
44660702
DM
27896 ]
27897 ]
27898 },
27899 "protected" : 1,
27900 "proxyto" : "node",
4d47f125
TL
27901 "returns" : {
27902 "type" : "null"
27903 }
27904 },
27905 "GET" : {
27906 "description" : "List available networks",
27907 "method" : "GET",
27908 "name" : "index",
27909 "parameters" : {
27910 "additionalProperties" : 0,
27911 "properties" : {
27912 "node" : {
27913 "description" : "The cluster node name.",
27914 "format" : "pve-node",
27915 "type" : "string",
27916 "typetext" : "<string>"
27917 },
27918 "type" : {
27919 "description" : "Only list specific interface types.",
27920 "enum" : [
27921 "bridge",
27922 "bond",
27923 "eth",
27924 "alias",
27925 "vlan",
27926 "OVSBridge",
27927 "OVSBond",
27928 "OVSPort",
27929 "OVSIntPort",
27930 "any_bridge"
27931 ],
27932 "optional" : 1,
27933 "type" : "string"
27934 }
27935 }
27936 },
27937 "permissions" : {
27938 "user" : "all"
27939 },
27940 "proxyto" : "node",
44660702
DM
27941 "returns" : {
27942 "items" : {
27943 "properties" : {},
27944 "type" : "object"
27945 },
27946 "links" : [
27947 {
4d47f125 27948 "href" : "{iface}",
44660702 27949 "rel" : "child"
56122987 27950 }
44660702
DM
27951 ],
27952 "type" : "array"
27953 }
4d47f125
TL
27954 },
27955 "POST" : {
27956 "description" : "Create network device configuration",
27957 "method" : "POST",
27958 "name" : "create_network",
7aacca6f 27959 "parameters" : {
44660702 27960 "additionalProperties" : 0,
7aacca6f 27961 "properties" : {
4d47f125
TL
27962 "address" : {
27963 "description" : "IP address.",
27964 "format" : "ipv4",
27965 "optional" : 1,
27966 "requires" : "netmask",
27967 "type" : "string",
27968 "typetext" : "<string>"
27969 },
27970 "address6" : {
27971 "description" : "IP address.",
27972 "format" : "ipv6",
27973 "optional" : 1,
27974 "requires" : "netmask6",
27975 "type" : "string",
27976 "typetext" : "<string>"
27977 },
27978 "autostart" : {
27979 "description" : "Automatically start interface on boot.",
27980 "optional" : 1,
27981 "type" : "boolean",
27982 "typetext" : "<boolean>"
27983 },
27984 "bond_mode" : {
27985 "description" : "Bonding mode.",
27986 "enum" : [
27987 "balance-rr",
27988 "active-backup",
27989 "balance-xor",
27990 "broadcast",
27991 "802.3ad",
27992 "balance-tlb",
27993 "balance-alb",
27994 "balance-slb",
27995 "lacp-balance-slb",
27996 "lacp-balance-tcp"
27997 ],
27998 "optional" : 1,
27999 "type" : "string"
28000 },
28001 "bond_xmit_hash_policy" : {
28002 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
28003 "enum" : [
28004 "layer2",
28005 "layer2+3",
28006 "layer3+4"
28007 ],
28008 "optional" : 1,
28009 "type" : "string"
28010 },
28011 "bridge_ports" : {
28012 "description" : "Specify the iterfaces you want to add to your bridge.",
28013 "format" : "pve-iface-list",
28014 "optional" : 1,
013dc89f
DM
28015 "type" : "string",
28016 "typetext" : "<string>"
4d47f125
TL
28017 },
28018 "bridge_vlan_aware" : {
28019 "description" : "Enable bridge vlan support.",
44660702 28020 "optional" : 1,
013dc89f
DM
28021 "type" : "boolean",
28022 "typetext" : "<boolean>"
44660702 28023 },
bb4c8cf8
TL
28024 "cidr" : {
28025 "description" : "IPv4 CIDR.",
28026 "format" : "CIDRv4",
28027 "optional" : 1,
28028 "type" : "string",
28029 "typetext" : "<string>"
28030 },
28031 "cidr6" : {
28032 "description" : "IPv6 CIDR.",
28033 "format" : "CIDRv6",
28034 "optional" : 1,
28035 "type" : "string",
28036 "typetext" : "<string>"
28037 },
4d47f125
TL
28038 "comments" : {
28039 "description" : "Comments",
28040 "optional" : 1,
28041 "type" : "string",
28042 "typetext" : "<string>"
28043 },
28044 "comments6" : {
28045 "description" : "Comments",
28046 "optional" : 1,
28047 "type" : "string",
28048 "typetext" : "<string>"
28049 },
28050 "gateway" : {
28051 "description" : "Default gateway address.",
28052 "format" : "ipv4",
28053 "optional" : 1,
28054 "type" : "string",
28055 "typetext" : "<string>"
28056 },
28057 "gateway6" : {
28058 "description" : "Default ipv6 gateway address.",
28059 "format" : "ipv6",
28060 "optional" : 1,
28061 "type" : "string",
28062 "typetext" : "<string>"
28063 },
28064 "iface" : {
28065 "description" : "Network interface name.",
28066 "format" : "pve-iface",
28067 "maxLength" : 20,
28068 "minLength" : 2,
28069 "type" : "string",
28070 "typetext" : "<string>"
28071 },
28072 "netmask" : {
28073 "description" : "Network mask.",
28074 "format" : "ipv4mask",
28075 "optional" : 1,
28076 "requires" : "address",
28077 "type" : "string",
28078 "typetext" : "<string>"
28079 },
28080 "netmask6" : {
28081 "description" : "Network mask.",
28082 "maximum" : 128,
28083 "minimum" : 0,
28084 "optional" : 1,
28085 "requires" : "address6",
28086 "type" : "integer",
28087 "typetext" : "<integer> (0 - 128)"
28088 },
7aacca6f 28089 "node" : {
7aacca6f 28090 "description" : "The cluster node name.",
44660702 28091 "format" : "pve-node",
013dc89f
DM
28092 "type" : "string",
28093 "typetext" : "<string>"
4d47f125
TL
28094 },
28095 "ovs_bonds" : {
28096 "description" : "Specify the interfaces used by the bonding device.",
28097 "format" : "pve-iface-list",
28098 "optional" : 1,
28099 "type" : "string",
28100 "typetext" : "<string>"
28101 },
28102 "ovs_bridge" : {
28103 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
28104 "format" : "pve-iface",
28105 "optional" : 1,
28106 "type" : "string",
28107 "typetext" : "<string>"
28108 },
28109 "ovs_options" : {
28110 "description" : "OVS interface options.",
28111 "maxLength" : 1024,
28112 "optional" : 1,
28113 "type" : "string",
28114 "typetext" : "<string>"
28115 },
28116 "ovs_ports" : {
28117 "description" : "Specify the iterfaces you want to add to your bridge.",
28118 "format" : "pve-iface-list",
28119 "optional" : 1,
28120 "type" : "string",
28121 "typetext" : "<string>"
28122 },
28123 "ovs_tag" : {
28124 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
28125 "maximum" : 4094,
28126 "minimum" : 1,
28127 "optional" : 1,
28128 "type" : "integer",
28129 "typetext" : "<integer> (1 - 4094)"
28130 },
28131 "slaves" : {
28132 "description" : "Specify the interfaces used by the bonding device.",
28133 "format" : "pve-iface-list",
28134 "optional" : 1,
28135 "type" : "string",
28136 "typetext" : "<string>"
28137 },
28138 "type" : {
28139 "description" : "Network interface type",
28140 "enum" : [
28141 "bridge",
28142 "bond",
28143 "eth",
28144 "alias",
28145 "vlan",
28146 "OVSBridge",
28147 "OVSBond",
28148 "OVSPort",
28149 "OVSIntPort",
28150 "unknown"
28151 ],
28152 "type" : "string"
7aacca6f
DM
28153 }
28154 }
28155 },
35a75dd3
DM
28156 "permissions" : {
28157 "check" : [
28158 "perm",
28159 "/nodes/{node}",
28160 [
28161 "Sys.Modify"
28162 ]
28163 ]
28164 },
7aacca6f 28165 "protected" : 1,
7aacca6f 28166 "proxyto" : "node",
44660702
DM
28167 "returns" : {
28168 "type" : "null"
28169 }
28170 },
28171 "PUT" : {
4d47f125 28172 "description" : "Reload network configuration",
44660702 28173 "method" : "PUT",
4d47f125 28174 "name" : "reload_network_config",
7aacca6f
DM
28175 "parameters" : {
28176 "additionalProperties" : 0,
28177 "properties" : {
7aacca6f 28178 "node" : {
7aacca6f 28179 "description" : "The cluster node name.",
44660702 28180 "format" : "pve-node",
013dc89f
DM
28181 "type" : "string",
28182 "typetext" : "<string>"
7aacca6f
DM
28183 }
28184 }
28185 },
35a75dd3
DM
28186 "permissions" : {
28187 "check" : [
28188 "perm",
28189 "/nodes/{node}",
28190 [
28191 "Sys.Modify"
28192 ]
28193 ]
28194 },
44660702
DM
28195 "protected" : 1,
28196 "proxyto" : "node",
7aacca6f 28197 "returns" : {
4d47f125 28198 "type" : "string"
44660702 28199 }
7aacca6f
DM
28200 }
28201 },
4d47f125
TL
28202 "leaf" : 0,
28203 "path" : "/nodes/{node}/network",
28204 "text" : "network"
7aacca6f
DM
28205 },
28206 {
7aacca6f
DM
28207 "children" : [
28208 {
4d47f125
TL
28209 "children" : [
28210 {
28211 "info" : {
28212 "GET" : {
28213 "description" : "Read task log.",
28214 "method" : "GET",
28215 "name" : "read_task_log",
28216 "parameters" : {
28217 "additionalProperties" : 0,
28218 "properties" : {
28219 "limit" : {
28220 "default" : 50,
28221 "minimum" : 0,
28222 "optional" : 1,
28223 "type" : "integer",
28224 "typetext" : "<integer> (0 - N)"
28225 },
28226 "node" : {
28227 "description" : "The cluster node name.",
28228 "format" : "pve-node",
28229 "type" : "string",
28230 "typetext" : "<string>"
28231 },
28232 "start" : {
28233 "default" : 0,
28234 "minimum" : 0,
28235 "optional" : 1,
28236 "type" : "integer",
28237 "typetext" : "<integer> (0 - N)"
28238 },
28239 "upid" : {
28240 "type" : "string",
28241 "typetext" : "<string>"
28242 }
28243 }
28244 },
28245 "permissions" : {
28246 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
28247 "user" : "all"
28248 },
28249 "protected" : 1,
28250 "proxyto" : "node",
28251 "returns" : {
28252 "items" : {
28253 "properties" : {
28254 "n" : {
28255 "description" : "Line number",
28256 "type" : "integer"
28257 },
28258 "t" : {
28259 "description" : "Line text",
28260 "type" : "string"
28261 }
28262 },
28263 "type" : "object"
28264 },
28265 "type" : "array"
28266 }
28267 }
28268 },
28269 "leaf" : 1,
28270 "path" : "/nodes/{node}/tasks/{upid}/log",
28271 "text" : "log"
28272 },
28273 {
28274 "info" : {
28275 "GET" : {
28276 "description" : "Read task status.",
28277 "method" : "GET",
28278 "name" : "read_task_status",
28279 "parameters" : {
28280 "additionalProperties" : 0,
28281 "properties" : {
28282 "node" : {
28283 "description" : "The cluster node name.",
28284 "format" : "pve-node",
28285 "type" : "string",
28286 "typetext" : "<string>"
28287 },
28288 "upid" : {
28289 "type" : "string",
28290 "typetext" : "<string>"
28291 }
28292 }
28293 },
28294 "permissions" : {
28295 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
28296 "user" : "all"
28297 },
28298 "protected" : 1,
28299 "proxyto" : "node",
28300 "returns" : {
28301 "properties" : {
28302 "pid" : {
28303 "type" : "integer"
28304 },
28305 "status" : {
28306 "enum" : [
28307 "running",
28308 "stopped"
28309 ],
28310 "type" : "string"
28311 }
28312 },
28313 "type" : "object"
28314 }
28315 }
28316 },
28317 "leaf" : 1,
28318 "path" : "/nodes/{node}/tasks/{upid}/status",
28319 "text" : "status"
28320 }
28321 ],
56122987 28322 "info" : {
7aacca6f 28323 "DELETE" : {
4d47f125 28324 "description" : "Stop a task.",
44660702 28325 "method" : "DELETE",
4d47f125 28326 "name" : "stop_task",
44660702
DM
28327 "parameters" : {
28328 "additionalProperties" : 0,
28329 "properties" : {
44660702
DM
28330 "node" : {
28331 "description" : "The cluster node name.",
28332 "format" : "pve-node",
013dc89f
DM
28333 "type" : "string",
28334 "typetext" : "<string>"
4d47f125
TL
28335 },
28336 "upid" : {
28337 "type" : "string",
28338 "typetext" : "<string>"
44660702
DM
28339 }
28340 }
7aacca6f
DM
28341 },
28342 "permissions" : {
4d47f125
TL
28343 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
28344 "user" : "all"
7aacca6f 28345 },
44660702 28346 "protected" : 1,
7aacca6f 28347 "proxyto" : "node",
44660702
DM
28348 "returns" : {
28349 "type" : "null"
28350 }
28351 },
28352 "GET" : {
4d47f125 28353 "description" : "",
44660702 28354 "method" : "GET",
4d47f125 28355 "name" : "upid_index",
7aacca6f
DM
28356 "parameters" : {
28357 "additionalProperties" : 0,
28358 "properties" : {
7aacca6f 28359 "node" : {
44660702 28360 "description" : "The cluster node name.",
7aacca6f 28361 "format" : "pve-node",
013dc89f
DM
28362 "type" : "string",
28363 "typetext" : "<string>"
7aacca6f 28364 },
4d47f125
TL
28365 "upid" : {
28366 "type" : "string",
28367 "typetext" : "<string>"
7aacca6f
DM
28368 }
28369 }
28370 },
7aacca6f 28371 "permissions" : {
4d47f125 28372 "user" : "all"
7aacca6f
DM
28373 },
28374 "returns" : {
4d47f125
TL
28375 "items" : {
28376 "properties" : {},
28377 "type" : "object"
28378 },
28379 "links" : [
28380 {
28381 "href" : "{name}",
28382 "rel" : "child"
28383 }
28384 ],
28385 "type" : "array"
44660702 28386 }
7aacca6f
DM
28387 }
28388 },
4d47f125
TL
28389 "leaf" : 0,
28390 "path" : "/nodes/{node}/tasks/{upid}",
28391 "text" : "{upid}"
7aacca6f
DM
28392 }
28393 ],
7aacca6f 28394 "info" : {
44660702 28395 "GET" : {
4d47f125 28396 "description" : "Read task list for one node (finished tasks).",
44660702 28397 "method" : "GET",
4d47f125 28398 "name" : "node_tasks",
44660702
DM
28399 "parameters" : {
28400 "additionalProperties" : 0,
28401 "properties" : {
4d47f125
TL
28402 "errors" : {
28403 "default" : 0,
7aacca6f 28404 "optional" : 1,
4d47f125
TL
28405 "type" : "boolean",
28406 "typetext" : "<boolean>"
7aacca6f 28407 },
4d47f125
TL
28408 "limit" : {
28409 "default" : 50,
28410 "description" : "Only list this amount of tasks.",
28411 "minimum" : 0,
44660702 28412 "optional" : 1,
4d47f125
TL
28413 "type" : "integer",
28414 "typetext" : "<integer> (0 - N)"
28415 },
28416 "node" : {
28417 "description" : "The cluster node name.",
28418 "format" : "pve-node",
013dc89f
DM
28419 "type" : "string",
28420 "typetext" : "<string>"
44660702 28421 },
5f26e15b
TL
28422 "source" : {
28423 "default" : "archive",
28424 "description" : "List archived, active or all tasks.",
28425 "enum" : [
28426 "archive",
28427 "active",
28428 "all"
28429 ],
28430 "optional" : 1,
28431 "type" : "string"
28432 },
4d47f125
TL
28433 "start" : {
28434 "default" : 0,
28435 "description" : "List tasks beginning from this offset.",
28436 "minimum" : 0,
44660702 28437 "optional" : 1,
4d47f125
TL
28438 "type" : "integer",
28439 "typetext" : "<integer> (0 - N)"
44660702 28440 },
5f26e15b
TL
28441 "typefilter" : {
28442 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
28443 "optional" : 1,
28444 "type" : "string",
28445 "typetext" : "<string>"
28446 },
4d47f125
TL
28447 "userfilter" : {
28448 "description" : "Only list tasks from this user.",
44660702 28449 "optional" : 1,
013dc89f
DM
28450 "type" : "string",
28451 "typetext" : "<string>"
44660702 28452 },
4d47f125
TL
28453 "vmid" : {
28454 "description" : "Only list tasks for this VM.",
28455 "format" : "pve-vmid",
44660702
DM
28456 "minimum" : 1,
28457 "optional" : 1,
4bd7df8b 28458 "type" : "integer",
4d47f125
TL
28459 "typetext" : "<integer> (1 - N)"
28460 }
28461 }
28462 },
28463 "permissions" : {
28464 "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).",
28465 "user" : "all"
28466 },
28467 "proxyto" : "node",
28468 "returns" : {
28469 "items" : {
28470 "properties" : {
28471 "endtime" : {
28472 "optional" : 1,
28473 "title" : "Endtime",
28474 "type" : "integer"
28475 },
28476 "id" : {
4d47f125
TL
28477 "title" : "ID",
28478 "type" : "string"
28479 },
28480 "node" : {
4d47f125
TL
28481 "title" : "Node",
28482 "type" : "string"
28483 },
28484 "pid" : {
4d47f125
TL
28485 "title" : "PID",
28486 "type" : "integer"
28487 },
28488 "pstart" : {
4d47f125
TL
28489 "type" : "integer"
28490 },
28491 "starttime" : {
4d47f125
TL
28492 "title" : "Starttime",
28493 "type" : "integer"
28494 },
28495 "status" : {
28496 "optional" : 1,
28497 "title" : "Status",
28498 "type" : "string"
28499 },
28500 "type" : {
4d47f125
TL
28501 "title" : "Type",
28502 "type" : "string"
28503 },
28504 "upid" : {
28505 "title" : "UPID",
28506 "type" : "string"
28507 },
28508 "user" : {
4d47f125
TL
28509 "title" : "User",
28510 "type" : "string"
28511 }
44660702 28512 },
4d47f125
TL
28513 "type" : "object"
28514 },
28515 "links" : [
28516 {
28517 "href" : "{upid}",
28518 "rel" : "child"
28519 }
28520 ],
28521 "type" : "array"
28522 }
28523 }
28524 },
28525 "leaf" : 0,
28526 "path" : "/nodes/{node}/tasks",
28527 "text" : "tasks"
28528 },
28529 {
28530 "children" : [
28531 {
28532 "info" : {
28533 "GET" : {
28534 "description" : "Scan zfs pool list on local node.",
28535 "method" : "GET",
28536 "name" : "zfsscan",
28537 "parameters" : {
28538 "additionalProperties" : 0,
28539 "properties" : {
28540 "node" : {
28541 "description" : "The cluster node name.",
28542 "format" : "pve-node",
28543 "type" : "string",
28544 "typetext" : "<string>"
28545 }
28546 }
44660702 28547 },
4d47f125
TL
28548 "permissions" : {
28549 "check" : [
28550 "perm",
28551 "/storage",
28552 [
28553 "Datastore.Allocate"
28554 ]
28555 ]
28556 },
28557 "protected" : 1,
28558 "proxyto" : "node",
28559 "returns" : {
28560 "items" : {
28561 "properties" : {
28562 "pool" : {
28563 "description" : "ZFS pool name.",
28564 "type" : "string"
28565 }
28566 },
28567 "type" : "object"
28568 },
28569 "type" : "array"
28570 }
28571 }
28572 },
28573 "leaf" : 1,
28574 "path" : "/nodes/{node}/scan/zfs",
28575 "text" : "zfs"
28576 },
28577 {
28578 "info" : {
28579 "GET" : {
28580 "description" : "Scan remote NFS server.",
28581 "method" : "GET",
28582 "name" : "nfsscan",
28583 "parameters" : {
28584 "additionalProperties" : 0,
28585 "properties" : {
28586 "node" : {
28587 "description" : "The cluster node name.",
28588 "format" : "pve-node",
28589 "type" : "string",
28590 "typetext" : "<string>"
28591 },
28592 "server" : {
28593 "description" : "The server address (name or IP).",
28594 "format" : "pve-storage-server",
28595 "type" : "string",
28596 "typetext" : "<string>"
28597 }
28598 }
28599 },
28600 "permissions" : {
28601 "check" : [
28602 "perm",
28603 "/storage",
28604 [
28605 "Datastore.Allocate"
28606 ]
28607 ]
28608 },
28609 "protected" : 1,
28610 "proxyto" : "node",
28611 "returns" : {
28612 "items" : {
28613 "properties" : {
28614 "options" : {
28615 "description" : "NFS export options.",
28616 "type" : "string"
28617 },
28618 "path" : {
28619 "description" : "The exported path.",
28620 "type" : "string"
28621 }
28622 },
28623 "type" : "object"
28624 },
28625 "type" : "array"
28626 }
28627 }
28628 },
28629 "leaf" : 1,
28630 "path" : "/nodes/{node}/scan/nfs",
28631 "text" : "nfs"
28632 },
28633 {
28634 "info" : {
28635 "GET" : {
28636 "description" : "Scan remote CIFS server.",
28637 "method" : "GET",
28638 "name" : "cifsscan",
28639 "parameters" : {
28640 "additionalProperties" : 0,
28641 "properties" : {
28642 "domain" : {
28643 "description" : "SMB domain (Workgroup).",
28644 "optional" : 1,
28645 "type" : "string",
28646 "typetext" : "<string>"
28647 },
28648 "node" : {
28649 "description" : "The cluster node name.",
28650 "format" : "pve-node",
28651 "type" : "string",
28652 "typetext" : "<string>"
28653 },
28654 "password" : {
28655 "description" : "User password.",
28656 "optional" : 1,
28657 "type" : "string",
28658 "typetext" : "<string>"
28659 },
28660 "server" : {
28661 "description" : "The server address (name or IP).",
28662 "format" : "pve-storage-server",
28663 "type" : "string",
28664 "typetext" : "<string>"
28665 },
28666 "username" : {
28667 "description" : "User name.",
28668 "optional" : 1,
28669 "type" : "string",
28670 "typetext" : "<string>"
28671 }
28672 }
28673 },
28674 "permissions" : {
28675 "check" : [
28676 "perm",
28677 "/storage",
28678 [
28679 "Datastore.Allocate"
28680 ]
28681 ]
28682 },
28683 "protected" : 1,
28684 "proxyto" : "node",
28685 "returns" : {
28686 "items" : {
28687 "properties" : {
28688 "description" : {
28689 "description" : "Descriptive text from server.",
28690 "type" : "string"
28691 },
28692 "share" : {
28693 "description" : "The cifs share name.",
28694 "type" : "string"
28695 }
28696 },
28697 "type" : "object"
28698 },
28699 "type" : "array"
56122987 28700 }
44660702 28701 }
56122987 28702 },
4d47f125
TL
28703 "leaf" : 1,
28704 "path" : "/nodes/{node}/scan/cifs",
28705 "text" : "cifs"
28706 },
44660702 28707 {
4d47f125
TL
28708 "info" : {
28709 "GET" : {
28710 "description" : "Scan remote GlusterFS server.",
28711 "method" : "GET",
28712 "name" : "glusterfsscan",
28713 "parameters" : {
28714 "additionalProperties" : 0,
28715 "properties" : {
28716 "node" : {
28717 "description" : "The cluster node name.",
28718 "format" : "pve-node",
28719 "type" : "string",
28720 "typetext" : "<string>"
7aacca6f 28721 },
4d47f125
TL
28722 "server" : {
28723 "description" : "The server address (name or IP).",
28724 "format" : "pve-storage-server",
28725 "type" : "string",
28726 "typetext" : "<string>"
44660702 28727 }
7aacca6f 28728 }
56122987 28729 },
4d47f125
TL
28730 "permissions" : {
28731 "check" : [
28732 "perm",
28733 "/storage",
28734 [
28735 "Datastore.Allocate"
28736 ]
28737 ]
28738 },
28739 "protected" : 1,
28740 "proxyto" : "node",
28741 "returns" : {
28742 "items" : {
28743 "properties" : {
28744 "volname" : {
28745 "description" : "The volume name.",
28746 "type" : "string"
7aacca6f
DM
28747 }
28748 },
4d47f125
TL
28749 "type" : "object"
28750 },
28751 "type" : "array"
28752 }
28753 }
28754 },
28755 "leaf" : 1,
28756 "path" : "/nodes/{node}/scan/glusterfs",
28757 "text" : "glusterfs"
28758 },
28759 {
28760 "info" : {
28761 "GET" : {
28762 "description" : "Scan remote iSCSI server.",
28763 "method" : "GET",
28764 "name" : "iscsiscan",
28765 "parameters" : {
28766 "additionalProperties" : 0,
28767 "properties" : {
28768 "node" : {
28769 "description" : "The cluster node name.",
28770 "format" : "pve-node",
28771 "type" : "string",
28772 "typetext" : "<string>"
56122987 28773 },
4d47f125
TL
28774 "portal" : {
28775 "description" : "The iSCSI portal (IP or DNS name with optional port).",
28776 "format" : "pve-storage-portal-dns",
28777 "type" : "string",
28778 "typetext" : "<string>"
28779 }
28780 }
28781 },
28782 "permissions" : {
28783 "check" : [
28784 "perm",
28785 "/storage",
28786 [
28787 "Datastore.Allocate"
28788 ]
28789 ]
28790 },
28791 "protected" : 1,
28792 "proxyto" : "node",
28793 "returns" : {
28794 "items" : {
28795 "properties" : {
28796 "portal" : {
28797 "description" : "The iSCSI portal name.",
28798 "type" : "string"
7aacca6f 28799 },
4d47f125
TL
28800 "target" : {
28801 "description" : "The iSCSI target name.",
28802 "type" : "string"
28803 }
28804 },
28805 "type" : "object"
28806 },
28807 "type" : "array"
28808 }
28809 }
28810 },
28811 "leaf" : 1,
28812 "path" : "/nodes/{node}/scan/iscsi",
28813 "text" : "iscsi"
28814 },
28815 {
28816 "info" : {
28817 "GET" : {
28818 "description" : "List local LVM volume groups.",
28819 "method" : "GET",
28820 "name" : "lvmscan",
28821 "parameters" : {
28822 "additionalProperties" : 0,
28823 "properties" : {
28824 "node" : {
28825 "description" : "The cluster node name.",
28826 "format" : "pve-node",
28827 "type" : "string",
28828 "typetext" : "<string>"
56122987 28829 }
7aacca6f 28830 }
44660702 28831 },
4d47f125
TL
28832 "permissions" : {
28833 "check" : [
28834 "perm",
28835 "/storage",
28836 [
28837 "Datastore.Allocate"
28838 ]
28839 ]
28840 },
28841 "protected" : 1,
28842 "proxyto" : "node",
28843 "returns" : {
28844 "items" : {
28845 "properties" : {
28846 "vg" : {
28847 "description" : "The LVM logical volume group name.",
28848 "type" : "string"
28849 }
28850 },
28851 "type" : "object"
28852 },
28853 "type" : "array"
28854 }
56122987 28855 }
4d47f125
TL
28856 },
28857 "leaf" : 1,
28858 "path" : "/nodes/{node}/scan/lvm",
28859 "text" : "lvm"
28860 },
28861 {
44660702 28862 "info" : {
4d47f125
TL
28863 "GET" : {
28864 "description" : "List local LVM Thin Pools.",
28865 "method" : "GET",
28866 "name" : "lvmthinscan",
44660702
DM
28867 "parameters" : {
28868 "additionalProperties" : 0,
28869 "properties" : {
28870 "node" : {
28871 "description" : "The cluster node name.",
28872 "format" : "pve-node",
013dc89f
DM
28873 "type" : "string",
28874 "typetext" : "<string>"
44660702 28875 },
4d47f125
TL
28876 "vg" : {
28877 "maxLength" : 100,
28878 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
28879 "type" : "string"
44660702 28880 }
7aacca6f 28881 }
44660702
DM
28882 },
28883 "permissions" : {
4d47f125
TL
28884 "check" : [
28885 "perm",
28886 "/storage",
28887 [
28888 "Datastore.Allocate"
28889 ]
28890 ]
44660702
DM
28891 },
28892 "protected" : 1,
28893 "proxyto" : "node",
28894 "returns" : {
4d47f125
TL
28895 "items" : {
28896 "properties" : {
28897 "lv" : {
28898 "description" : "The LVM Thin Pool name (LVM logical volume).",
28899 "type" : "string"
28900 }
28901 },
28902 "type" : "object"
28903 },
28904 "type" : "array"
7aacca6f 28905 }
4d47f125
TL
28906 }
28907 },
28908 "leaf" : 1,
28909 "path" : "/nodes/{node}/scan/lvmthin",
28910 "text" : "lvmthin"
28911 },
28912 {
28913 "info" : {
44660702 28914 "GET" : {
4d47f125 28915 "description" : "List local USB devices.",
44660702 28916 "method" : "GET",
4d47f125 28917 "name" : "usbscan",
44660702
DM
28918 "parameters" : {
28919 "additionalProperties" : 0,
28920 "properties" : {
28921 "node" : {
28922 "description" : "The cluster node name.",
28923 "format" : "pve-node",
013dc89f
DM
28924 "type" : "string",
28925 "typetext" : "<string>"
44660702
DM
28926 }
28927 }
28928 },
28929 "permissions" : {
4d47f125
TL
28930 "check" : [
28931 "perm",
28932 "/",
28933 [
28934 "Sys.Modify"
28935 ]
28936 ]
44660702 28937 },
4d47f125
TL
28938 "protected" : 1,
28939 "proxyto" : "node",
44660702
DM
28940 "returns" : {
28941 "items" : {
4d47f125
TL
28942 "properties" : {
28943 "busnum" : {
28944 "type" : "integer"
28945 },
28946 "class" : {
28947 "type" : "integer"
28948 },
28949 "devnum" : {
28950 "type" : "integer"
28951 },
28952 "level" : {
28953 "type" : "integer"
28954 },
28955 "manufacturer" : {
28956 "optional" : 1,
28957 "type" : "string"
28958 },
28959 "port" : {
28960 "type" : "integer"
28961 },
28962 "prodid" : {
28963 "type" : "string"
28964 },
28965 "product" : {
28966 "optional" : 1,
28967 "type" : "string"
28968 },
28969 "serial" : {
28970 "optional" : 1,
28971 "type" : "string"
28972 },
28973 "speed" : {
28974 "type" : "string"
28975 },
28976 "usbpath" : {
28977 "optional" : 1,
28978 "type" : "string"
28979 },
28980 "vendid" : {
28981 "type" : "string"
28982 }
28983 },
44660702
DM
28984 "type" : "object"
28985 },
44660702 28986 "type" : "array"
56122987 28987 }
44660702 28988 }
56122987 28989 },
4d47f125
TL
28990 "leaf" : 1,
28991 "path" : "/nodes/{node}/scan/usb",
28992 "text" : "usb"
44660702
DM
28993 }
28994 ],
28995 "info" : {
28996 "GET" : {
4d47f125 28997 "description" : "Index of available scan methods",
44660702 28998 "method" : "GET",
4d47f125 28999 "name" : "index",
56122987 29000 "parameters" : {
7aacca6f 29001 "additionalProperties" : 0,
56122987 29002 "properties" : {
56122987
DM
29003 "node" : {
29004 "description" : "The cluster node name.",
44660702 29005 "format" : "pve-node",
013dc89f
DM
29006 "type" : "string",
29007 "typetext" : "<string>"
56122987
DM
29008 }
29009 }
29010 },
7aacca6f
DM
29011 "permissions" : {
29012 "user" : "all"
29013 },
56122987
DM
29014 "returns" : {
29015 "items" : {
29016 "properties" : {
4d47f125 29017 "method" : {
56122987
DM
29018 "type" : "string"
29019 }
29020 },
29021 "type" : "object"
29022 },
56122987
DM
29023 "links" : [
29024 {
4d47f125 29025 "href" : "{method}",
44660702 29026 "rel" : "child"
56122987 29027 }
44660702
DM
29028 ],
29029 "type" : "array"
56122987
DM
29030 }
29031 }
29032 },
44660702 29033 "leaf" : 0,
4d47f125
TL
29034 "path" : "/nodes/{node}/scan",
29035 "text" : "scan"
44660702 29036 },
e2d681b3
TL
29037 {
29038 "children" : [
29039 {
29040 "children" : [
29041 {
29042 "children" : [
29043 {
29044 "info" : {
29045 "GET" : {
29046 "description" : "List mediated device types for given PCI device.",
29047 "method" : "GET",
29048 "name" : "mdevscan",
29049 "parameters" : {
29050 "additionalProperties" : 0,
29051 "properties" : {
29052 "node" : {
29053 "description" : "The cluster node name.",
29054 "format" : "pve-node",
29055 "type" : "string",
29056 "typetext" : "<string>"
29057 },
29058 "pciid" : {
29059 "description" : "The PCI ID to list the mdev types for.",
29060 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
29061 "type" : "string"
29062 }
29063 }
29064 },
29065 "permissions" : {
29066 "check" : [
29067 "perm",
29068 "/",
29069 [
29070 "Sys.Modify"
29071 ]
29072 ]
29073 },
29074 "protected" : 1,
29075 "proxyto" : "node",
29076 "returns" : {
29077 "items" : {
29078 "properties" : {
29079 "available" : {
29080 "description" : "The number of still available instances of this type.",
29081 "type" : "integer"
29082 },
29083 "description" : {
29084 "type" : "string"
29085 },
29086 "type" : {
29087 "description" : "The name of the mdev type.",
29088 "type" : "string"
29089 }
29090 },
29091 "type" : "object"
29092 },
29093 "type" : "array"
29094 }
29095 }
29096 },
29097 "leaf" : 1,
29098 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
29099 "text" : "mdev"
29100 }
29101 ],
29102 "info" : {
29103 "GET" : {
29104 "description" : "Index of available pci methods",
29105 "method" : "GET",
29106 "name" : "pciindex",
29107 "parameters" : {
29108 "additionalProperties" : 0,
29109 "properties" : {
29110 "node" : {
29111 "description" : "The cluster node name.",
29112 "format" : "pve-node",
29113 "type" : "string",
29114 "typetext" : "<string>"
29115 },
29116 "pciid" : {
29117 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
29118 "type" : "string"
29119 }
29120 }
29121 },
29122 "permissions" : {
29123 "user" : "all"
29124 },
29125 "returns" : {
29126 "items" : {
29127 "properties" : {
29128 "method" : {
29129 "type" : "string"
29130 }
29131 },
29132 "type" : "object"
29133 },
29134 "links" : [
29135 {
29136 "href" : "{method}",
29137 "rel" : "child"
29138 }
29139 ],
29140 "type" : "array"
29141 }
29142 }
29143 },
29144 "leaf" : 0,
29145 "path" : "/nodes/{node}/hardware/pci/{pciid}",
29146 "text" : "{pciid}"
29147 }
29148 ],
29149 "info" : {
29150 "GET" : {
29151 "description" : "List local PCI devices.",
29152 "method" : "GET",
29153 "name" : "pciscan",
29154 "parameters" : {
29155 "additionalProperties" : 0,
29156 "properties" : {
29157 "node" : {
29158 "description" : "The cluster node name.",
29159 "format" : "pve-node",
29160 "type" : "string",
29161 "typetext" : "<string>"
29162 },
29163 "pci-class-blacklist" : {
29164 "default" : "05;06;08;0b",
29165 "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).",
29166 "format" : "string-list",
29167 "optional" : 1,
29168 "type" : "string",
29169 "typetext" : "<string>"
29170 },
29171 "verbose" : {
29172 "default" : 1,
29173 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
29174 "optional" : 1,
29175 "type" : "boolean",
29176 "typetext" : "<boolean>"
29177 }
29178 }
29179 },
29180 "permissions" : {
29181 "check" : [
29182 "perm",
29183 "/",
29184 [
29185 "Sys.Modify"
29186 ]
29187 ]
29188 },
29189 "protected" : 1,
29190 "proxyto" : "node",
29191 "returns" : {
29192 "items" : {
29193 "properties" : {
29194 "class" : {
29195 "description" : "The PCI Class of the device.",
29196 "type" : "string"
29197 },
29198 "device" : {
29199 "description" : "The Device ID.",
29200 "type" : "string"
29201 },
29202 "device_name" : {
29203 "optional" : 1,
29204 "type" : "string"
29205 },
29206 "id" : {
29207 "description" : "The PCI ID.",
29208 "type" : "string"
29209 },
29210 "iommugroup" : {
29211 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
29212 "type" : "integer"
29213 },
29214 "mdev" : {
29215 "description" : "If set, marks that the device is capable of creating mediated devices.",
29216 "optional" : 1,
29217 "type" : "boolean"
29218 },
29219 "subsystem_device" : {
29220 "description" : "The Subsystem Device ID.",
29221 "optional" : 1,
29222 "type" : "string"
29223 },
29224 "subsystem_device_name" : {
29225 "optional" : 1,
29226 "type" : "string"
29227 },
29228 "subsystem_vendor" : {
29229 "description" : "The Subsystem Vendor ID.",
29230 "optional" : 1,
29231 "type" : "string"
29232 },
29233 "subsystem_vendor_name" : {
29234 "optional" : 1,
29235 "type" : "string"
29236 },
29237 "vendor" : {
29238 "description" : "The Vendor ID.",
29239 "type" : "string"
29240 },
29241 "vendor_name" : {
29242 "optional" : 1,
29243 "type" : "string"
29244 }
29245 },
29246 "type" : "object"
29247 },
29248 "links" : [
29249 {
29250 "href" : "{id}",
29251 "rel" : "child"
29252 }
29253 ],
29254 "type" : "array"
29255 }
29256 }
29257 },
29258 "leaf" : 0,
29259 "path" : "/nodes/{node}/hardware/pci",
29260 "text" : "pci"
29261 }
29262 ],
29263 "info" : {
29264 "GET" : {
29265 "description" : "Index of hardware types",
29266 "method" : "GET",
29267 "name" : "index",
29268 "parameters" : {
29269 "additionalProperties" : 0,
29270 "properties" : {
29271 "node" : {
29272 "description" : "The cluster node name.",
29273 "format" : "pve-node",
29274 "type" : "string",
29275 "typetext" : "<string>"
29276 }
29277 }
29278 },
29279 "permissions" : {
29280 "user" : "all"
29281 },
29282 "returns" : {
29283 "items" : {
29284 "properties" : {
29285 "type" : {
29286 "type" : "string"
29287 }
29288 },
29289 "type" : "object"
29290 },
29291 "links" : [
29292 {
29293 "href" : "{type}",
29294 "rel" : "child"
29295 }
29296 ],
29297 "type" : "array"
29298 }
29299 }
29300 },
29301 "leaf" : 0,
29302 "path" : "/nodes/{node}/hardware",
29303 "text" : "hardware"
29304 },
44660702 29305 {
56122987
DM
29306 "children" : [
29307 {
4d47f125
TL
29308 "children" : [
29309 {
29310 "children" : [
29311 {
29312 "info" : {
29313 "DELETE" : {
29314 "description" : "Delete volume",
29315 "method" : "DELETE",
29316 "name" : "delete",
29317 "parameters" : {
29318 "additionalProperties" : 0,
29319 "properties" : {
29320 "node" : {
29321 "description" : "The cluster node name.",
29322 "format" : "pve-node",
29323 "type" : "string",
29324 "typetext" : "<string>"
29325 },
29326 "storage" : {
29327 "description" : "The storage identifier.",
29328 "format" : "pve-storage-id",
29329 "optional" : 1,
29330 "type" : "string",
29331 "typetext" : "<string>"
29332 },
29333 "volume" : {
29334 "description" : "Volume identifier",
29335 "type" : "string",
29336 "typetext" : "<string>"
29337 }
29338 }
29339 },
29340 "permissions" : {
29341 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
29342 "user" : "all"
29343 },
29344 "protected" : 1,
29345 "proxyto" : "node",
29346 "returns" : {
29347 "type" : "null"
29348 }
29349 },
29350 "GET" : {
29351 "description" : "Get volume attributes",
29352 "method" : "GET",
29353 "name" : "info",
29354 "parameters" : {
29355 "additionalProperties" : 0,
29356 "properties" : {
29357 "node" : {
29358 "description" : "The cluster node name.",
29359 "format" : "pve-node",
29360 "type" : "string",
29361 "typetext" : "<string>"
29362 },
29363 "storage" : {
29364 "description" : "The storage identifier.",
29365 "format" : "pve-storage-id",
29366 "optional" : 1,
29367 "type" : "string",
29368 "typetext" : "<string>"
29369 },
29370 "volume" : {
29371 "description" : "Volume identifier",
29372 "type" : "string",
29373 "typetext" : "<string>"
29374 }
29375 }
29376 },
29377 "permissions" : {
29378 "description" : "You need read access for the volume.",
29379 "user" : "all"
29380 },
29381 "protected" : 1,
29382 "proxyto" : "node",
29383 "returns" : {
29384 "type" : "object"
29385 }
29386 },
29387 "POST" : {
29388 "description" : "Copy a volume. This is experimental code - do not use.",
29389 "method" : "POST",
29390 "name" : "copy",
29391 "parameters" : {
29392 "additionalProperties" : 0,
29393 "properties" : {
29394 "node" : {
29395 "description" : "The cluster node name.",
29396 "format" : "pve-node",
29397 "type" : "string",
29398 "typetext" : "<string>"
29399 },
29400 "storage" : {
29401 "description" : "The storage identifier.",
29402 "format" : "pve-storage-id",
29403 "optional" : 1,
29404 "type" : "string",
29405 "typetext" : "<string>"
29406 },
29407 "target" : {
29408 "description" : "Target volume identifier",
29409 "type" : "string",
29410 "typetext" : "<string>"
29411 },
29412 "target_node" : {
29413 "description" : "Target node. Default is local node.",
29414 "format" : "pve-node",
29415 "optional" : 1,
29416 "type" : "string",
29417 "typetext" : "<string>"
29418 },
29419 "volume" : {
29420 "description" : "Source volume identifier",
29421 "type" : "string",
29422 "typetext" : "<string>"
29423 }
29424 }
29425 },
29426 "protected" : 1,
29427 "proxyto" : "node",
29428 "returns" : {
29429 "type" : "string"
29430 }
29431 }
29432 },
29433 "leaf" : 1,
29434 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
29435 "text" : "{volume}"
44660702 29436 }
4d47f125
TL
29437 ],
29438 "info" : {
29439 "GET" : {
29440 "description" : "List storage content.",
29441 "method" : "GET",
29442 "name" : "index",
29443 "parameters" : {
29444 "additionalProperties" : 0,
29445 "properties" : {
29446 "content" : {
29447 "description" : "Only list content of this type.",
29448 "format" : "pve-storage-content",
29449 "optional" : 1,
29450 "type" : "string",
29451 "typetext" : "<string>"
29452 },
29453 "node" : {
29454 "description" : "The cluster node name.",
29455 "format" : "pve-node",
29456 "type" : "string",
29457 "typetext" : "<string>"
29458 },
29459 "storage" : {
29460 "description" : "The storage identifier.",
29461 "format" : "pve-storage-id",
29462 "type" : "string",
29463 "typetext" : "<string>"
29464 },
29465 "vmid" : {
29466 "description" : "Only list images for this VM",
29467 "format" : "pve-vmid",
29468 "minimum" : 1,
29469 "optional" : 1,
29470 "type" : "integer",
29471 "typetext" : "<integer> (1 - N)"
29472 }
56122987 29473 }
44660702 29474 },
4d47f125
TL
29475 "permissions" : {
29476 "check" : [
29477 "perm",
29478 "/storage/{storage}",
29479 [
29480 "Datastore.Audit",
29481 "Datastore.AllocateSpace"
29482 ],
29483 "any",
29484 1
29485 ]
7aacca6f 29486 },
4d47f125
TL
29487 "protected" : 1,
29488 "proxyto" : "node",
29489 "returns" : {
29490 "items" : {
29491 "properties" : {
29492 "format" : {
29493 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
29494 "type" : "string"
29495 },
29496 "parent" : {
29497 "description" : "Volume identifier of parent (for linked cloned).",
29498 "optional" : 1,
29499 "type" : "string"
29500 },
29501 "size" : {
29502 "description" : "Volume size in bytes.",
29503 "renderer" : "bytes",
29504 "type" : "integer"
29505 },
29506 "used" : {
29507 "description" : "Used space. Please note that most storage plugins does not report anything useful here.",
29508 "optional" : 1,
29509 "renderer" : "bytes",
29510 "type" : "integer"
29511 },
29512 "vmid" : {
29513 "description" : "Associated Owner VMID.",
29514 "optional" : 1,
29515 "type" : "integer"
29516 },
29517 "volid" : {
29518 "description" : "Volume identifier.",
29519 "type" : "string"
29520 }
29521 },
29522 "type" : "object"
44660702 29523 },
4d47f125
TL
29524 "links" : [
29525 {
29526 "href" : "{volid}",
29527 "rel" : "child"
29528 }
29529 ],
29530 "type" : "array"
29531 }
29532 },
29533 "POST" : {
29534 "description" : "Allocate disk images.",
29535 "method" : "POST",
29536 "name" : "create",
29537 "parameters" : {
29538 "additionalProperties" : 0,
29539 "properties" : {
29540 "filename" : {
29541 "description" : "The name of the file to create.",
29542 "type" : "string",
29543 "typetext" : "<string>"
29544 },
29545 "format" : {
29546 "enum" : [
29547 "raw",
29548 "qcow2",
29549 "subvol"
29550 ],
29551 "optional" : 1,
29552 "requires" : "size",
29553 "type" : "string"
29554 },
29555 "node" : {
29556 "description" : "The cluster node name.",
29557 "format" : "pve-node",
29558 "type" : "string",
29559 "typetext" : "<string>"
29560 },
29561 "size" : {
29562 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
29563 "pattern" : "\\d+[MG]?",
29564 "type" : "string"
29565 },
29566 "storage" : {
29567 "description" : "The storage identifier.",
29568 "format" : "pve-storage-id",
29569 "type" : "string",
29570 "typetext" : "<string>"
29571 },
29572 "vmid" : {
29573 "description" : "Specify owner VM",
29574 "format" : "pve-vmid",
29575 "minimum" : 1,
29576 "type" : "integer",
29577 "typetext" : "<integer> (1 - N)"
29578 }
44660702
DM
29579 }
29580 },
4d47f125
TL
29581 "permissions" : {
29582 "check" : [
29583 "perm",
29584 "/storage/{storage}",
29585 [
29586 "Datastore.AllocateSpace"
29587 ]
29588 ]
27a7acb2 29589 },
4d47f125
TL
29590 "protected" : 1,
29591 "proxyto" : "node",
29592 "returns" : {
29593 "description" : "Volume identifier",
29594 "type" : "string"
27a7acb2
DM
29595 }
29596 }
29597 },
4d47f125
TL
29598 "leaf" : 0,
29599 "path" : "/nodes/{node}/storage/{storage}/content",
29600 "text" : "content"
29601 },
29602 {
29603 "info" : {
29604 "GET" : {
29605 "description" : "Read storage status.",
29606 "method" : "GET",
29607 "name" : "read_status",
29608 "parameters" : {
29609 "additionalProperties" : 0,
29610 "properties" : {
29611 "node" : {
29612 "description" : "The cluster node name.",
29613 "format" : "pve-node",
29614 "type" : "string",
29615 "typetext" : "<string>"
29616 },
29617 "storage" : {
29618 "description" : "The storage identifier.",
29619 "format" : "pve-storage-id",
29620 "type" : "string",
29621 "typetext" : "<string>"
29622 }
27a7acb2
DM
29623 }
29624 },
4d47f125
TL
29625 "permissions" : {
29626 "check" : [
29627 "perm",
29628 "/storage/{storage}",
29629 [
29630 "Datastore.Audit",
29631 "Datastore.AllocateSpace"
29632 ],
29633 "any",
29634 1
29635 ]
7aacca6f 29636 },
4d47f125
TL
29637 "protected" : 1,
29638 "proxyto" : "node",
29639 "returns" : {
29640 "type" : "object"
56122987 29641 }
44660702
DM
29642 }
29643 },
4d47f125
TL
29644 "leaf" : 1,
29645 "path" : "/nodes/{node}/storage/{storage}/status",
29646 "text" : "status"
29647 },
29648 {
29649 "info" : {
29650 "GET" : {
29651 "description" : "Read storage RRD statistics (returns PNG).",
29652 "method" : "GET",
29653 "name" : "rrd",
29654 "parameters" : {
29655 "additionalProperties" : 0,
29656 "properties" : {
29657 "cf" : {
29658 "description" : "The RRD consolidation function",
29659 "enum" : [
29660 "AVERAGE",
29661 "MAX"
29662 ],
29663 "optional" : 1,
29664 "type" : "string"
29665 },
29666 "ds" : {
29667 "description" : "The list of datasources you want to display.",
29668 "format" : "pve-configid-list",
29669 "type" : "string",
29670 "typetext" : "<string>"
29671 },
29672 "node" : {
29673 "description" : "The cluster node name.",
29674 "format" : "pve-node",
29675 "type" : "string",
29676 "typetext" : "<string>"
29677 },
29678 "storage" : {
29679 "description" : "The storage identifier.",
29680 "format" : "pve-storage-id",
29681 "type" : "string",
29682 "typetext" : "<string>"
29683 },
29684 "timeframe" : {
29685 "description" : "Specify the time frame you are interested in.",
29686 "enum" : [
29687 "hour",
29688 "day",
29689 "week",
29690 "month",
29691 "year"
29692 ],
29693 "type" : "string"
29694 }
44660702
DM
29695 }
29696 },
4d47f125
TL
29697 "permissions" : {
29698 "check" : [
29699 "perm",
29700 "/storage/{storage}",
29701 [
29702 "Datastore.Audit",
29703 "Datastore.AllocateSpace"
29704 ],
29705 "any",
29706 1
29707 ]
29708 },
29709 "protected" : 1,
29710 "proxyto" : "node",
29711 "returns" : {
29712 "properties" : {
29713 "filename" : {
29714 "type" : "string"
29715 }
29716 },
29717 "type" : "object"
44660702
DM
29718 }
29719 }
29720 },
4d47f125
TL
29721 "leaf" : 1,
29722 "path" : "/nodes/{node}/storage/{storage}/rrd",
29723 "text" : "rrd"
29724 },
29725 {
29726 "info" : {
29727 "GET" : {
29728 "description" : "Read storage RRD statistics.",
29729 "method" : "GET",
29730 "name" : "rrddata",
29731 "parameters" : {
29732 "additionalProperties" : 0,
29733 "properties" : {
29734 "cf" : {
29735 "description" : "The RRD consolidation function",
29736 "enum" : [
29737 "AVERAGE",
29738 "MAX"
29739 ],
29740 "optional" : 1,
29741 "type" : "string"
29742 },
29743 "node" : {
29744 "description" : "The cluster node name.",
29745 "format" : "pve-node",
29746 "type" : "string",
29747 "typetext" : "<string>"
29748 },
29749 "storage" : {
29750 "description" : "The storage identifier.",
29751 "format" : "pve-storage-id",
29752 "type" : "string",
29753 "typetext" : "<string>"
29754 },
29755 "timeframe" : {
29756 "description" : "Specify the time frame you are interested in.",
29757 "enum" : [
29758 "hour",
29759 "day",
29760 "week",
29761 "month",
29762 "year"
29763 ],
29764 "type" : "string"
29765 }
56122987
DM
29766 }
29767 },
4d47f125
TL
29768 "permissions" : {
29769 "check" : [
29770 "perm",
29771 "/storage/{storage}",
29772 [
29773 "Datastore.Audit",
29774 "Datastore.AllocateSpace"
29775 ],
29776 "any",
29777 1
29778 ]
29779 },
29780 "protected" : 1,
29781 "proxyto" : "node",
29782 "returns" : {
29783 "items" : {
29784 "properties" : {},
29785 "type" : "object"
29786 },
29787 "type" : "array"
56122987 29788 }
7aacca6f 29789 }
56122987 29790 },
4d47f125
TL
29791 "leaf" : 1,
29792 "path" : "/nodes/{node}/storage/{storage}/rrddata",
29793 "text" : "rrddata"
29794 },
29795 {
29796 "info" : {
29797 "POST" : {
29798 "description" : "Upload templates and ISO images.",
29799 "method" : "POST",
29800 "name" : "upload",
29801 "parameters" : {
29802 "additionalProperties" : 0,
29803 "properties" : {
29804 "content" : {
29805 "description" : "Content type.",
29806 "format" : "pve-storage-content",
29807 "type" : "string",
29808 "typetext" : "<string>"
29809 },
29810 "filename" : {
29811 "description" : "The name of the file to create.",
29812 "type" : "string",
29813 "typetext" : "<string>"
29814 },
29815 "node" : {
29816 "description" : "The cluster node name.",
29817 "format" : "pve-node",
29818 "type" : "string",
29819 "typetext" : "<string>"
29820 },
29821 "storage" : {
29822 "description" : "The storage identifier.",
29823 "format" : "pve-storage-id",
29824 "type" : "string",
29825 "typetext" : "<string>"
29826 },
29827 "tmpfilename" : {
29828 "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trustet port on localhost.",
29829 "optional" : 1,
29830 "type" : "string",
29831 "typetext" : "<string>"
29832 }
44660702
DM
29833 }
29834 },
4d47f125
TL
29835 "permissions" : {
29836 "check" : [
29837 "perm",
29838 "/storage/{storage}",
29839 [
29840 "Datastore.AllocateTemplate"
29841 ]
29842 ]
56122987 29843 },
4d47f125
TL
29844 "protected" : 1,
29845 "returns" : {
44660702 29846 "type" : "string"
56122987 29847 }
44660702 29848 }
56122987 29849 },
4d47f125
TL
29850 "leaf" : 1,
29851 "path" : "/nodes/{node}/storage/{storage}/upload",
29852 "text" : "upload"
56122987 29853 }
4d47f125 29854 ],
56122987
DM
29855 "info" : {
29856 "GET" : {
4d47f125 29857 "description" : "",
44660702 29858 "method" : "GET",
4d47f125 29859 "name" : "diridx",
44660702
DM
29860 "parameters" : {
29861 "additionalProperties" : 0,
29862 "properties" : {
29863 "node" : {
29864 "description" : "The cluster node name.",
29865 "format" : "pve-node",
013dc89f
DM
29866 "type" : "string",
29867 "typetext" : "<string>"
4d47f125
TL
29868 },
29869 "storage" : {
29870 "description" : "The storage identifier.",
29871 "format" : "pve-storage-id",
29872 "type" : "string",
29873 "typetext" : "<string>"
44660702
DM
29874 }
29875 }
29876 },
7aacca6f
DM
29877 "permissions" : {
29878 "check" : [
29879 "perm",
4d47f125 29880 "/storage/{storage}",
7aacca6f 29881 [
4d47f125
TL
29882 "Datastore.Audit",
29883 "Datastore.AllocateSpace"
29884 ],
29885 "any",
29886 1
7aacca6f
DM
29887 ]
29888 },
56122987
DM
29889 "returns" : {
29890 "items" : {
29891 "properties" : {
4d47f125 29892 "subdir" : {
44660702 29893 "type" : "string"
56122987
DM
29894 }
29895 },
29896 "type" : "object"
7aacca6f 29897 },
4d47f125
TL
29898 "links" : [
29899 {
29900 "href" : "{subdir}",
29901 "rel" : "child"
29902 }
29903 ],
7aacca6f 29904 "type" : "array"
44660702
DM
29905 }
29906 }
29907 },
4d47f125
TL
29908 "leaf" : 0,
29909 "path" : "/nodes/{node}/storage/{storage}",
29910 "text" : "{storage}"
44660702
DM
29911 }
29912 ],
29913 "info" : {
29914 "GET" : {
4d47f125 29915 "description" : "Get status for all datastores.",
44660702
DM
29916 "method" : "GET",
29917 "name" : "index",
29918 "parameters" : {
29919 "additionalProperties" : 0,
29920 "properties" : {
4d47f125
TL
29921 "content" : {
29922 "description" : "Only list stores which support this content type.",
29923 "format" : "pve-storage-content-list",
29924 "optional" : 1,
29925 "type" : "string",
29926 "typetext" : "<string>"
29927 },
29928 "enabled" : {
29929 "default" : 0,
29930 "description" : "Only list stores which are enabled (not disabled in config).",
29931 "optional" : 1,
29932 "type" : "boolean",
29933 "typetext" : "<boolean>"
29934 },
29935 "format" : {
29936 "default" : 0,
29937 "description" : "Include information about formats",
29938 "optional" : 1,
29939 "type" : "boolean",
29940 "typetext" : "<boolean>"
29941 },
44660702
DM
29942 "node" : {
29943 "description" : "The cluster node name.",
29944 "format" : "pve-node",
013dc89f
DM
29945 "type" : "string",
29946 "typetext" : "<string>"
4d47f125
TL
29947 },
29948 "storage" : {
29949 "description" : "Only list status for specified storage",
29950 "format" : "pve-storage-id",
29951 "optional" : 1,
29952 "type" : "string",
29953 "typetext" : "<string>"
29954 },
29955 "target" : {
29956 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
29957 "format" : "pve-node",
29958 "optional" : 1,
29959 "type" : "string",
29960 "typetext" : "<string>"
44660702
DM
29961 }
29962 }
29963 },
4d47f125
TL
29964 "permissions" : {
29965 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
29966 "user" : "all"
29967 },
29968 "protected" : 1,
29969 "proxyto" : "node",
29970 "returns" : {
29971 "items" : {
29972 "properties" : {
29973 "active" : {
29974 "description" : "Set when storage is accessible.",
29975 "optional" : 1,
29976 "type" : "boolean"
29977 },
29978 "avail" : {
29979 "description" : "Available storage space in bytes.",
29980 "optional" : 1,
29981 "renderer" : "bytes",
29982 "type" : "integer"
29983 },
29984 "content" : {
29985 "description" : "Allowed storage content types.",
29986 "format" : "pve-storage-content-list",
29987 "type" : "string"
29988 },
29989 "enabled" : {
29990 "description" : "Set when storage is enabled (not disabled).",
29991 "optional" : 1,
29992 "type" : "boolean"
29993 },
29994 "shared" : {
29995 "description" : "Shared flag from storage configuration.",
29996 "optional" : 1,
29997 "type" : "boolean"
29998 },
29999 "storage" : {
30000 "description" : "The storage identifier.",
30001 "format" : "pve-storage-id",
30002 "type" : "string"
30003 },
30004 "total" : {
30005 "description" : "Total storage space in bytes.",
30006 "optional" : 1,
30007 "renderer" : "bytes",
30008 "type" : "integer"
30009 },
30010 "type" : {
30011 "description" : "Storage type.",
30012 "type" : "string"
30013 },
30014 "used" : {
30015 "description" : "Used storage space in bytes.",
30016 "optional" : 1,
30017 "renderer" : "bytes",
30018 "type" : "integer"
30019 },
30020 "used_fraction" : {
30021 "description" : "Used fraction (used/total).",
30022 "optional" : 1,
30023 "renderer" : "fraction_as_percentage",
30024 "type" : "number"
7aacca6f 30025 }
4d47f125
TL
30026 },
30027 "type" : "object"
30028 },
30029 "links" : [
30030 {
30031 "href" : "{storage}",
30032 "rel" : "child"
30033 }
30034 ],
30035 "type" : "array"
30036 }
30037 }
30038 },
30039 "leaf" : 0,
30040 "path" : "/nodes/{node}/storage",
30041 "text" : "storage"
30042 },
30043 {
30044 "children" : [
30045 {
30046 "info" : {
30047 "GET" : {
30048 "description" : "List LVM Volume Groups",
30049 "method" : "GET",
30050 "name" : "index",
30051 "parameters" : {
30052 "additionalProperties" : 0,
30053 "properties" : {
30054 "node" : {
30055 "description" : "The cluster node name.",
30056 "format" : "pve-node",
30057 "type" : "string",
30058 "typetext" : "<string>"
30059 }
30060 }
30061 },
30062 "permissions" : {
30063 "check" : [
30064 "perm",
30065 "/",
30066 [
30067 "Sys.Audit",
30068 "Datastore.Audit"
30069 ],
30070 "any",
30071 1
30072 ]
30073 },
30074 "protected" : 1,
30075 "proxyto" : "node",
30076 "returns" : {
30077 "properties" : {
30078 "children" : {
44660702
DM
30079 "items" : {
30080 "properties" : {
4d47f125
TL
30081 "children" : {
30082 "description" : "The underlying physical volumes",
30083 "items" : {
30084 "properties" : {
30085 "free" : {
30086 "description" : "The free bytes in the physical volume",
30087 "type" : "integer"
30088 },
30089 "leaf" : {
30090 "type" : "boolean"
30091 },
30092 "name" : {
30093 "description" : "The name of the physical volume",
30094 "type" : "string"
30095 },
30096 "size" : {
30097 "description" : "The size of the physical volume in bytes",
30098 "type" : "integer"
30099 }
30100 },
30101 "type" : "object"
30102 },
30103 "optional" : 1,
30104 "type" : "array"
30105 },
30106 "free" : {
30107 "description" : "The free bytes in the volume group",
30108 "type" : "integer"
30109 },
30110 "leaf" : {
30111 "type" : "boolean"
30112 },
30113 "name" : {
30114 "description" : "The name of the volume group",
44660702 30115 "type" : "string"
4d47f125
TL
30116 },
30117 "size" : {
30118 "description" : "The size of the volume group in bytes",
30119 "type" : "integer"
44660702
DM
30120 }
30121 },
30122 "type" : "object"
30123 },
44660702 30124 "type" : "array"
4d47f125
TL
30125 },
30126 "leaf" : {
30127 "type" : "boolean"
44660702
DM
30128 }
30129 },
4d47f125
TL
30130 "type" : "object"
30131 }
30132 },
30133 "POST" : {
30134 "description" : "Create an LVM Volume Group",
30135 "method" : "POST",
30136 "name" : "create",
30137 "parameters" : {
30138 "additionalProperties" : 0,
30139 "properties" : {
30140 "add_storage" : {
30141 "default" : 0,
30142 "description" : "Configure storage using the Volume Group",
30143 "optional" : 1,
30144 "type" : "boolean",
30145 "typetext" : "<boolean>"
44660702 30146 },
4d47f125
TL
30147 "device" : {
30148 "description" : "The block device you want to create the volume group on",
30149 "type" : "string",
30150 "typetext" : "<string>"
44660702 30151 },
4d47f125
TL
30152 "name" : {
30153 "description" : "The storage identifier.",
30154 "format" : "pve-storage-id",
30155 "type" : "string",
30156 "typetext" : "<string>"
30157 },
30158 "node" : {
30159 "description" : "The cluster node name.",
30160 "format" : "pve-node",
30161 "type" : "string",
30162 "typetext" : "<string>"
30163 }
30164 }
30165 },
30166 "permissions" : {
30167 "check" : [
30168 "perm",
30169 "/",
30170 [
30171 "Sys.Modify",
30172 "Datastore.Allocate"
30173 ]
30174 ]
30175 },
30176 "protected" : 1,
30177 "proxyto" : "node",
30178 "returns" : {
30179 "type" : "string"
30180 }
30181 }
30182 },
30183 "leaf" : 1,
30184 "path" : "/nodes/{node}/disks/lvm",
30185 "text" : "lvm"
30186 },
30187 {
30188 "info" : {
30189 "GET" : {
30190 "description" : "List LVM thinpools",
30191 "method" : "GET",
30192 "name" : "index",
30193 "parameters" : {
30194 "additionalProperties" : 0,
30195 "properties" : {
30196 "node" : {
30197 "description" : "The cluster node name.",
30198 "format" : "pve-node",
30199 "type" : "string",
30200 "typetext" : "<string>"
44660702
DM
30201 }
30202 }
30203 },
4d47f125
TL
30204 "permissions" : {
30205 "check" : [
30206 "perm",
30207 "/",
30208 [
30209 "Sys.Audit",
30210 "Datastore.Audit"
30211 ],
30212 "any",
30213 1
30214 ]
30215 },
30216 "protected" : 1,
30217 "proxyto" : "node",
30218 "returns" : {
30219 "items" : {
30220 "properties" : {
30221 "lv" : {
30222 "description" : "The name of the thinpool.",
30223 "type" : "string"
30224 },
30225 "lv_size" : {
30226 "description" : "The size of the thinpool in bytes.",
30227 "type" : "integer"
30228 },
30229 "metadata_size" : {
30230 "description" : "The size of the metadata lv in bytes.",
30231 "type" : "integer"
30232 },
30233 "metadata_used" : {
30234 "description" : "The used bytes of the metadata lv.",
30235 "type" : "integer"
30236 },
30237 "used" : {
30238 "description" : "The used bytes of the thinpool.",
30239 "type" : "integer"
44660702
DM
30240 }
30241 },
4d47f125
TL
30242 "type" : "object"
30243 },
30244 "type" : "array"
30245 }
30246 },
30247 "POST" : {
30248 "description" : "Create an LVM thinpool",
30249 "method" : "POST",
30250 "name" : "create",
30251 "parameters" : {
30252 "additionalProperties" : 0,
30253 "properties" : {
30254 "add_storage" : {
30255 "default" : 0,
30256 "description" : "Configure storage using the thinpool.",
30257 "optional" : 1,
30258 "type" : "boolean",
30259 "typetext" : "<boolean>"
56122987 30260 },
4d47f125
TL
30261 "device" : {
30262 "description" : "The block device you want to create the thinpool on.",
30263 "type" : "string",
30264 "typetext" : "<string>"
30265 },
30266 "name" : {
30267 "description" : "The storage identifier.",
30268 "format" : "pve-storage-id",
30269 "type" : "string",
30270 "typetext" : "<string>"
30271 },
30272 "node" : {
30273 "description" : "The cluster node name.",
30274 "format" : "pve-node",
30275 "type" : "string",
30276 "typetext" : "<string>"
44660702 30277 }
56122987
DM
30278 }
30279 },
4d47f125
TL
30280 "permissions" : {
30281 "check" : [
30282 "perm",
30283 "/",
30284 [
30285 "Sys.Modify",
30286 "Datastore.Allocate"
30287 ]
30288 ]
30289 },
30290 "protected" : 1,
30291 "proxyto" : "node",
30292 "returns" : {
30293 "type" : "string"
30294 }
30295 }
30296 },
30297 "leaf" : 1,
30298 "path" : "/nodes/{node}/disks/lvmthin",
30299 "text" : "lvmthin"
30300 },
30301 {
30302 "info" : {
30303 "GET" : {
30304 "description" : "PVE Managed Directory storages.",
30305 "method" : "GET",
30306 "name" : "index",
30307 "parameters" : {
30308 "additionalProperties" : 0,
30309 "properties" : {
30310 "node" : {
30311 "description" : "The cluster node name.",
30312 "format" : "pve-node",
30313 "type" : "string",
30314 "typetext" : "<string>"
30315 }
30316 }
30317 },
30318 "permissions" : {
30319 "check" : [
30320 "perm",
30321 "/",
30322 [
30323 "Sys.Audit",
30324 "Datastore.Audit"
30325 ],
30326 "any",
30327 1
30328 ]
30329 },
30330 "protected" : 1,
30331 "proxyto" : "node",
30332 "returns" : {
30333 "items" : {
30334 "properties" : {
30335 "device" : {
30336 "description" : "The mounted device.",
30337 "type" : "string"
30338 },
30339 "options" : {
30340 "description" : "The mount options.",
30341 "type" : "string"
30342 },
30343 "path" : {
30344 "description" : "The mount path.",
30345 "type" : "string"
30346 },
30347 "type" : {
30348 "description" : "The filesystem type.",
30349 "type" : "string"
30350 },
30351 "unitfile" : {
30352 "description" : "The path of the mount unit.",
30353 "type" : "string"
44660702 30354 }
56122987 30355 },
4d47f125
TL
30356 "type" : "object"
30357 },
30358 "type" : "array"
30359 }
30360 },
30361 "POST" : {
30362 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
30363 "method" : "POST",
30364 "name" : "create",
30365 "parameters" : {
30366 "additionalProperties" : 0,
30367 "properties" : {
30368 "add_storage" : {
30369 "default" : 0,
30370 "description" : "Configure storage using the directory.",
30371 "optional" : 1,
30372 "type" : "boolean",
30373 "typetext" : "<boolean>"
30374 },
30375 "device" : {
30376 "description" : "The block device you want to create the filesystem on.",
30377 "type" : "string",
30378 "typetext" : "<string>"
30379 },
30380 "filesystem" : {
30381 "default" : "ext4",
30382 "description" : "The desired filesystem.",
30383 "enum" : [
30384 "ext4",
30385 "xfs"
30386 ],
30387 "optional" : 1,
30388 "type" : "string"
56122987 30389 },
4d47f125
TL
30390 "name" : {
30391 "description" : "The storage identifier.",
30392 "format" : "pve-storage-id",
30393 "type" : "string",
30394 "typetext" : "<string>"
30395 },
30396 "node" : {
30397 "description" : "The cluster node name.",
30398 "format" : "pve-node",
30399 "type" : "string",
30400 "typetext" : "<string>"
7aacca6f 30401 }
56122987
DM
30402 }
30403 },
4d47f125
TL
30404 "permissions" : {
30405 "check" : [
30406 "perm",
30407 "/",
30408 [
30409 "Sys.Modify",
30410 "Datastore.Allocate"
30411 ]
30412 ]
30413 },
30414 "protected" : 1,
30415 "proxyto" : "node",
30416 "returns" : {
30417 "type" : "string"
30418 }
30419 }
30420 },
30421 "leaf" : 1,
30422 "path" : "/nodes/{node}/disks/directory",
30423 "text" : "directory"
30424 },
30425 {
30426 "children" : [
56122987 30427 {
56122987
DM
30428 "info" : {
30429 "GET" : {
4d47f125 30430 "description" : "Get details about a zpool.",
44660702 30431 "method" : "GET",
4d47f125 30432 "name" : "detail",
56122987 30433 "parameters" : {
44660702 30434 "additionalProperties" : 0,
56122987 30435 "properties" : {
4d47f125
TL
30436 "name" : {
30437 "description" : "The storage identifier.",
30438 "format" : "pve-storage-id",
30439 "type" : "string",
30440 "typetext" : "<string>"
44660702 30441 },
7aacca6f 30442 "node" : {
7aacca6f 30443 "description" : "The cluster node name.",
44660702 30444 "format" : "pve-node",
013dc89f
DM
30445 "type" : "string",
30446 "typetext" : "<string>"
56122987 30447 }
44660702 30448 }
7aacca6f 30449 },
7aacca6f
DM
30450 "permissions" : {
30451 "check" : [
30452 "perm",
4d47f125 30453 "/",
7aacca6f 30454 [
4d47f125
TL
30455 "Sys.Audit",
30456 "Datastore.Audit"
7aacca6f
DM
30457 ],
30458 "any",
30459 1
30460 ]
30461 },
44660702
DM
30462 "protected" : 1,
30463 "proxyto" : "node",
7aacca6f 30464 "returns" : {
56122987 30465 "properties" : {
4d47f125
TL
30466 "action" : {
30467 "description" : "Information about the recommended action to fix the state.",
30468 "optional" : 1,
30469 "type" : "string"
56122987 30470 },
4d47f125 30471 "children" : {
e2d681b3 30472 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
30473 "items" : {
30474 "properties" : {
30475 "cksum" : {
e2d681b3 30476 "optional" : 1,
4d47f125
TL
30477 "type" : "number"
30478 },
30479 "msg" : {
30480 "description" : "An optional message about the vdev.",
30481 "type" : "string"
30482 },
30483 "name" : {
e2d681b3 30484 "description" : "The name of the vdev or section.",
4d47f125
TL
30485 "type" : "string"
30486 },
30487 "read" : {
e2d681b3 30488 "optional" : 1,
4d47f125
TL
30489 "type" : "number"
30490 },
30491 "state" : {
30492 "description" : "The state of the vdev.",
e2d681b3 30493 "optional" : 1,
4d47f125
TL
30494 "type" : "string"
30495 },
30496 "write" : {
e2d681b3 30497 "optional" : 1,
4d47f125
TL
30498 "type" : "number"
30499 }
30500 },
30501 "type" : "object"
30502 },
30503 "type" : "array"
56122987 30504 },
e2d681b3
TL
30505 "errors" : {
30506 "description" : "Information about the errors on the zpool.",
30507 "type" : "string"
30508 },
4d47f125
TL
30509 "name" : {
30510 "description" : "The name of the zpool.",
30511 "type" : "string"
44660702 30512 },
4d47f125 30513 "scan" : {
e2d681b3 30514 "description" : "Information about the last/current scrub.",
4d47f125 30515 "type" : "string"
44660702 30516 },
4d47f125
TL
30517 "state" : {
30518 "description" : "The state of the zpool.",
30519 "type" : "string"
30520 },
30521 "status" : {
30522 "description" : "Information about the state of the zpool.",
44660702 30523 "optional" : 1,
4d47f125 30524 "type" : "string"
56122987 30525 }
4d47f125
TL
30526 },
30527 "type" : "object"
44660702
DM
30528 }
30529 }
30530 },
30531 "leaf" : 1,
4d47f125
TL
30532 "path" : "/nodes/{node}/disks/zfs/{name}",
30533 "text" : "{name}"
44660702
DM
30534 }
30535 ],
30536 "info" : {
30537 "GET" : {
4d47f125 30538 "description" : "List Zpools.",
44660702 30539 "method" : "GET",
4d47f125 30540 "name" : "index",
44660702
DM
30541 "parameters" : {
30542 "additionalProperties" : 0,
30543 "properties" : {
30544 "node" : {
30545 "description" : "The cluster node name.",
30546 "format" : "pve-node",
013dc89f
DM
30547 "type" : "string",
30548 "typetext" : "<string>"
4d47f125
TL
30549 }
30550 }
30551 },
30552 "permissions" : {
30553 "check" : [
30554 "perm",
30555 "/",
30556 [
30557 "Sys.Audit",
30558 "Datastore.Audit"
30559 ],
30560 "any",
30561 1
30562 ]
30563 },
30564 "protected" : 1,
30565 "proxyto" : "node",
30566 "returns" : {
30567 "items" : {
30568 "properties" : {
30569 "alloc" : {
30570 "description" : "",
30571 "type" : "integer"
30572 },
30573 "dedup" : {
30574 "description" : "",
30575 "type" : "number"
30576 },
30577 "frag" : {
30578 "description" : "",
30579 "type" : "integer"
30580 },
30581 "free" : {
30582 "description" : "",
30583 "type" : "integer"
30584 },
30585 "health" : {
30586 "description" : "",
30587 "type" : "string"
30588 },
30589 "name" : {
30590 "description" : "",
30591 "type" : "string"
30592 },
30593 "size" : {
30594 "description" : "",
30595 "type" : "integer"
30596 }
30597 },
30598 "type" : "object"
30599 },
30600 "links" : [
30601 {
30602 "href" : "{name}",
30603 "rel" : "child"
30604 }
30605 ],
30606 "type" : "array"
30607 }
30608 },
30609 "POST" : {
30610 "description" : "Create a ZFS pool.",
30611 "method" : "POST",
30612 "name" : "create",
30613 "parameters" : {
30614 "additionalProperties" : 0,
30615 "properties" : {
30616 "add_storage" : {
30617 "default" : 0,
30618 "description" : "Configure storage using the zpool.",
30619 "optional" : 1,
30620 "type" : "boolean",
30621 "typetext" : "<boolean>"
30622 },
30623 "ashift" : {
30624 "default" : 12,
30625 "description" : "Pool sector size exponent.",
30626 "maximum" : 16,
30627 "minimum" : 9,
30628 "optional" : 1,
30629 "type" : "integer",
30630 "typetext" : "<integer> (9 - 16)"
30631 },
30632 "compression" : {
30633 "default" : "on",
30634 "description" : "The compression algorithm to use.",
30635 "enum" : [
30636 "on",
30637 "off",
30638 "gzip",
30639 "lz4",
30640 "lzjb",
30641 "zle"
30642 ],
30643 "optional" : 1,
30644 "type" : "string"
30645 },
30646 "devices" : {
30647 "description" : "The block devices you want to create the zpool on.",
30648 "format" : "string-list",
30649 "type" : "string",
30650 "typetext" : "<string>"
44660702 30651 },
4d47f125 30652 "name" : {
44660702
DM
30653 "description" : "The storage identifier.",
30654 "format" : "pve-storage-id",
013dc89f
DM
30655 "type" : "string",
30656 "typetext" : "<string>"
4d47f125
TL
30657 },
30658 "node" : {
30659 "description" : "The cluster node name.",
30660 "format" : "pve-node",
30661 "type" : "string",
30662 "typetext" : "<string>"
30663 },
30664 "raidlevel" : {
30665 "description" : "The RAID level to use.",
30666 "enum" : [
30667 "single",
30668 "mirror",
30669 "raid10",
30670 "raidz",
30671 "raidz2",
30672 "raidz3"
30673 ],
30674 "type" : "string"
56122987
DM
30675 }
30676 }
44660702
DM
30677 },
30678 "permissions" : {
30679 "check" : [
30680 "perm",
4d47f125 30681 "/",
44660702 30682 [
4d47f125
TL
30683 "Sys.Modify",
30684 "Datastore.Allocate"
30685 ]
44660702
DM
30686 ]
30687 },
4d47f125
TL
30688 "protected" : 1,
30689 "proxyto" : "node",
44660702 30690 "returns" : {
4d47f125 30691 "type" : "string"
56122987
DM
30692 }
30693 }
44660702
DM
30694 },
30695 "leaf" : 0,
4d47f125
TL
30696 "path" : "/nodes/{node}/disks/zfs",
30697 "text" : "zfs"
30698 },
2c0dde61
DM
30699 {
30700 "info" : {
30701 "GET" : {
30702 "description" : "List local disks.",
30703 "method" : "GET",
30704 "name" : "list",
30705 "parameters" : {
30706 "additionalProperties" : 0,
30707 "properties" : {
30708 "node" : {
30709 "description" : "The cluster node name.",
30710 "format" : "pve-node",
013dc89f
DM
30711 "type" : "string",
30712 "typetext" : "<string>"
4d47f125
TL
30713 },
30714 "skipsmart" : {
30715 "default" : 0,
30716 "description" : "Skip smart checks.",
30717 "optional" : 1,
30718 "type" : "boolean",
30719 "typetext" : "<boolean>"
30720 },
30721 "type" : {
30722 "description" : "Only list specific types of disks.",
30723 "enum" : [
30724 "unused",
30725 "journal_disks"
30726 ],
30727 "optional" : 1,
30728 "type" : "string"
2c0dde61
DM
30729 }
30730 }
30731 },
30732 "permissions" : {
30733 "check" : [
30734 "perm",
30735 "/",
30736 [
30737 "Sys.Audit",
30738 "Datastore.Audit"
30739 ],
30740 "any",
30741 1
30742 ]
30743 },
30744 "protected" : 1,
30745 "proxyto" : "node",
30746 "returns" : {
30747 "items" : {
30748 "properties" : {
30749 "devpath" : {
30750 "description" : "The device path",
30751 "type" : "string"
30752 },
30753 "gpt" : {
30754 "type" : "boolean"
30755 },
30756 "health" : {
30757 "optional" : 1,
30758 "type" : "string"
30759 },
30760 "model" : {
30761 "optional" : 1,
30762 "type" : "string"
30763 },
30764 "osdid" : {
30765 "type" : "integer"
30766 },
30767 "serial" : {
30768 "optional" : 1,
30769 "type" : "string"
30770 },
30771 "size" : {
30772 "type" : "integer"
30773 },
30774 "used" : {
30775 "optional" : 1,
30776 "type" : "string"
30777 },
30778 "vendor" : {
30779 "optional" : 1,
30780 "type" : "string"
30781 },
30782 "wwn" : {
30783 "optional" : 1,
30784 "type" : "string"
30785 }
30786 },
30787 "type" : "object"
30788 },
30789 "type" : "array"
30790 }
30791 }
30792 },
30793 "leaf" : 1,
30794 "path" : "/nodes/{node}/disks/list",
30795 "text" : "list"
30796 },
30797 {
30798 "info" : {
30799 "GET" : {
30800 "description" : "Get SMART Health of a disk.",
30801 "method" : "GET",
30802 "name" : "smart",
30803 "parameters" : {
30804 "additionalProperties" : 0,
30805 "properties" : {
30806 "disk" : {
30807 "description" : "Block device name",
30808 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
30809 "type" : "string"
30810 },
30811 "healthonly" : {
30812 "description" : "If true returns only the health status",
30813 "optional" : 1,
013dc89f
DM
30814 "type" : "boolean",
30815 "typetext" : "<boolean>"
2c0dde61
DM
30816 },
30817 "node" : {
30818 "description" : "The cluster node name.",
30819 "format" : "pve-node",
013dc89f
DM
30820 "type" : "string",
30821 "typetext" : "<string>"
2c0dde61
DM
30822 }
30823 }
30824 },
30825 "permissions" : {
30826 "check" : [
30827 "perm",
30828 "/",
30829 [
30830 "Sys.Audit",
30831 "Datastore.Audit"
30832 ],
30833 "any",
30834 1
30835 ]
30836 },
30837 "protected" : 1,
30838 "proxyto" : "node",
30839 "returns" : {
de0983cb
DM
30840 "properties" : {
30841 "attributes" : {
30842 "optional" : 1,
30843 "type" : "array"
30844 },
30845 "health" : {
30846 "type" : "string"
30847 },
30848 "text" : {
30849 "optional" : 1,
30850 "type" : "string"
30851 },
30852 "type" : {
30853 "optional" : 1,
30854 "type" : "string"
30855 }
30856 },
2c0dde61
DM
30857 "type" : "object"
30858 }
30859 }
30860 },
30861 "leaf" : 1,
30862 "path" : "/nodes/{node}/disks/smart",
30863 "text" : "smart"
30864 },
30865 {
30866 "info" : {
30867 "POST" : {
30868 "description" : "Initialize Disk with GPT",
30869 "method" : "POST",
30870 "name" : "initgpt",
30871 "parameters" : {
30872 "additionalProperties" : 0,
30873 "properties" : {
30874 "disk" : {
30875 "description" : "Block device name",
30876 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
30877 "type" : "string"
30878 },
30879 "node" : {
30880 "description" : "The cluster node name.",
30881 "format" : "pve-node",
013dc89f
DM
30882 "type" : "string",
30883 "typetext" : "<string>"
2c0dde61
DM
30884 },
30885 "uuid" : {
30886 "description" : "UUID for the GPT table",
30887 "maxLength" : 36,
30888 "optional" : 1,
30889 "pattern" : "[a-fA-F0-9\\-]+",
30890 "type" : "string"
30891 }
30892 }
30893 },
30894 "permissions" : {
30895 "check" : [
30896 "perm",
30897 "/",
30898 [
30899 "Sys.Modify"
30900 ]
30901 ]
30902 },
30903 "protected" : 1,
30904 "proxyto" : "node",
30905 "returns" : {
30906 "type" : "string"
30907 }
30908 }
30909 },
30910 "leaf" : 1,
30911 "path" : "/nodes/{node}/disks/initgpt",
30912 "text" : "initgpt"
30913 }
30914 ],
30915 "info" : {
30916 "GET" : {
30917 "description" : "Node index.",
30918 "method" : "GET",
30919 "name" : "index",
30920 "parameters" : {
30921 "additionalProperties" : 0,
30922 "properties" : {
30923 "node" : {
30924 "description" : "The cluster node name.",
30925 "format" : "pve-node",
013dc89f
DM
30926 "type" : "string",
30927 "typetext" : "<string>"
2c0dde61
DM
30928 }
30929 }
30930 },
30931 "permissions" : {
30932 "user" : "all"
30933 },
30934 "proxyto" : "node",
30935 "returns" : {
30936 "items" : {
30937 "properties" : {},
30938 "type" : "object"
30939 },
30940 "links" : [
30941 {
30942 "href" : "{name}",
30943 "rel" : "child"
30944 }
30945 ],
30946 "type" : "array"
30947 }
30948 }
30949 },
30950 "leaf" : 0,
30951 "path" : "/nodes/{node}/disks",
30952 "text" : "disks"
30953 },
56122987 30954 {
56122987
DM
30955 "children" : [
30956 {
30957 "info" : {
44660702
DM
30958 "GET" : {
30959 "description" : "List available updates.",
30960 "method" : "GET",
30961 "name" : "list_updates",
30962 "parameters" : {
30963 "additionalProperties" : 0,
30964 "properties" : {
30965 "node" : {
30966 "description" : "The cluster node name.",
30967 "format" : "pve-node",
013dc89f
DM
30968 "type" : "string",
30969 "typetext" : "<string>"
44660702
DM
30970 }
30971 }
7aacca6f
DM
30972 },
30973 "permissions" : {
30974 "check" : [
30975 "perm",
30976 "/nodes/{node}",
30977 [
30978 "Sys.Modify"
30979 ]
30980 ]
30981 },
44660702 30982 "protected" : 1,
56122987 30983 "proxyto" : "node",
44660702
DM
30984 "returns" : {
30985 "items" : {
30986 "properties" : {},
30987 "type" : "object"
30988 },
30989 "type" : "array"
30990 }
30991 },
30992 "POST" : {
30993 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
30994 "method" : "POST",
30995 "name" : "update_database",
56122987
DM
30996 "parameters" : {
30997 "additionalProperties" : 0,
30998 "properties" : {
44660702
DM
30999 "node" : {
31000 "description" : "The cluster node name.",
31001 "format" : "pve-node",
013dc89f
DM
31002 "type" : "string",
31003 "typetext" : "<string>"
44660702 31004 },
56122987 31005 "notify" : {
56122987 31006 "default" : 0,
44660702
DM
31007 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
31008 "optional" : 1,
013dc89f
DM
31009 "type" : "boolean",
31010 "typetext" : "<boolean>"
56122987
DM
31011 },
31012 "quiet" : {
56122987 31013 "default" : 0,
44660702 31014 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 31015 "optional" : 1,
013dc89f
DM
31016 "type" : "boolean",
31017 "typetext" : "<boolean>"
56122987 31018 }
7aacca6f
DM
31019 }
31020 },
31021 "permissions" : {
31022 "check" : [
31023 "perm",
31024 "/nodes/{node}",
31025 [
31026 "Sys.Modify"
31027 ]
31028 ]
31029 },
44660702
DM
31030 "protected" : 1,
31031 "proxyto" : "node",
31032 "returns" : {
31033 "type" : "string"
31034 }
56122987
DM
31035 }
31036 },
7aacca6f 31037 "leaf" : 1,
44660702
DM
31038 "path" : "/nodes/{node}/apt/update",
31039 "text" : "update"
56122987
DM
31040 },
31041 {
56122987
DM
31042 "info" : {
31043 "GET" : {
44660702 31044 "description" : "Get package changelogs.",
56122987 31045 "method" : "GET",
7aacca6f 31046 "name" : "changelog",
56122987 31047 "parameters" : {
44660702 31048 "additionalProperties" : 0,
56122987
DM
31049 "properties" : {
31050 "name" : {
31051 "description" : "Package name.",
013dc89f
DM
31052 "type" : "string",
31053 "typetext" : "<string>"
56122987 31054 },
44660702
DM
31055 "node" : {
31056 "description" : "The cluster node name.",
31057 "format" : "pve-node",
013dc89f
DM
31058 "type" : "string",
31059 "typetext" : "<string>"
44660702 31060 },
56122987 31061 "version" : {
7aacca6f 31062 "description" : "Package version.",
44660702 31063 "optional" : 1,
013dc89f
DM
31064 "type" : "string",
31065 "typetext" : "<string>"
56122987 31066 }
44660702 31067 }
56122987 31068 },
44660702
DM
31069 "permissions" : {
31070 "check" : [
31071 "perm",
31072 "/nodes/{node}",
31073 [
31074 "Sys.Modify"
31075 ]
31076 ]
31077 },
31078 "proxyto" : "node",
31079 "returns" : {
31080 "type" : "string"
31081 }
56122987
DM
31082 }
31083 },
44660702
DM
31084 "leaf" : 1,
31085 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 31086 "text" : "changelog"
56122987
DM
31087 },
31088 {
56122987
DM
31089 "info" : {
31090 "GET" : {
44660702
DM
31091 "description" : "Get package information for important Proxmox packages.",
31092 "method" : "GET",
7aacca6f
DM
31093 "name" : "versions",
31094 "parameters" : {
44660702 31095 "additionalProperties" : 0,
7aacca6f
DM
31096 "properties" : {
31097 "node" : {
44660702 31098 "description" : "The cluster node name.",
7aacca6f 31099 "format" : "pve-node",
013dc89f
DM
31100 "type" : "string",
31101 "typetext" : "<string>"
7aacca6f 31102 }
44660702 31103 }
7aacca6f 31104 },
56122987
DM
31105 "permissions" : {
31106 "check" : [
31107 "perm",
31108 "/nodes/{node}",
31109 [
31110 "Sys.Audit"
31111 ]
31112 ]
31113 },
7aacca6f 31114 "proxyto" : "node",
56122987
DM
31115 "returns" : {
31116 "items" : {
7aacca6f
DM
31117 "properties" : {},
31118 "type" : "object"
44660702
DM
31119 },
31120 "type" : "array"
56122987
DM
31121 }
31122 }
31123 },
44660702 31124 "leaf" : 1,
7aacca6f 31125 "path" : "/nodes/{node}/apt/versions",
44660702 31126 "text" : "versions"
56122987
DM
31127 }
31128 ],
56122987
DM
31129 "info" : {
31130 "GET" : {
44660702 31131 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 31132 "method" : "GET",
44660702 31133 "name" : "index",
7aacca6f
DM
31134 "parameters" : {
31135 "additionalProperties" : 0,
31136 "properties" : {
31137 "node" : {
44660702 31138 "description" : "The cluster node name.",
7aacca6f 31139 "format" : "pve-node",
013dc89f
DM
31140 "type" : "string",
31141 "typetext" : "<string>"
7aacca6f
DM
31142 }
31143 }
31144 },
7aacca6f
DM
31145 "permissions" : {
31146 "user" : "all"
31147 },
44660702
DM
31148 "returns" : {
31149 "items" : {
31150 "properties" : {
31151 "id" : {
31152 "type" : "string"
31153 }
31154 },
31155 "type" : "object"
31156 },
31157 "links" : [
31158 {
31159 "href" : "{id}",
31160 "rel" : "child"
31161 }
31162 ],
31163 "type" : "array"
31164 }
56122987 31165 }
7aacca6f 31166 },
44660702 31167 "leaf" : 0,
7aacca6f 31168 "path" : "/nodes/{node}/apt",
44660702 31169 "text" : "apt"
56122987
DM
31170 },
31171 {
56122987
DM
31172 "children" : [
31173 {
31174 "children" : [
31175 {
56122987
DM
31176 "info" : {
31177 "DELETE" : {
44660702 31178 "description" : "Delete rule.",
7aacca6f 31179 "method" : "DELETE",
44660702 31180 "name" : "delete_rule",
56122987
DM
31181 "parameters" : {
31182 "additionalProperties" : 0,
31183 "properties" : {
56122987
DM
31184 "digest" : {
31185 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 31186 "maxLength" : 40,
56122987 31187 "optional" : 1,
013dc89f
DM
31188 "type" : "string",
31189 "typetext" : "<string>"
56122987 31190 },
44660702
DM
31191 "node" : {
31192 "description" : "The cluster node name.",
31193 "format" : "pve-node",
013dc89f
DM
31194 "type" : "string",
31195 "typetext" : "<string>"
44660702 31196 },
7aacca6f 31197 "pos" : {
7aacca6f 31198 "description" : "Update rule at position <pos>.",
44660702
DM
31199 "minimum" : 0,
31200 "optional" : 1,
4bd7df8b 31201 "type" : "integer",
013dc89f 31202 "typetext" : "<integer> (0 - N)"
56122987
DM
31203 }
31204 }
31205 },
44660702
DM
31206 "permissions" : {
31207 "check" : [
31208 "perm",
31209 "/nodes/{node}",
31210 [
31211 "Sys.Modify"
31212 ]
31213 ]
31214 },
31215 "protected" : 1,
31216 "proxyto" : "node",
56122987
DM
31217 "returns" : {
31218 "type" : "null"
44660702
DM
31219 }
31220 },
31221 "GET" : {
31222 "description" : "Get single rule data.",
31223 "method" : "GET",
31224 "name" : "get_rule",
31225 "parameters" : {
31226 "additionalProperties" : 0,
31227 "properties" : {
31228 "node" : {
31229 "description" : "The cluster node name.",
31230 "format" : "pve-node",
013dc89f
DM
31231 "type" : "string",
31232 "typetext" : "<string>"
44660702
DM
31233 },
31234 "pos" : {
31235 "description" : "Update rule at position <pos>.",
31236 "minimum" : 0,
31237 "optional" : 1,
4bd7df8b 31238 "type" : "integer",
013dc89f 31239 "typetext" : "<integer> (0 - N)"
44660702
DM
31240 }
31241 }
56122987 31242 },
56122987
DM
31243 "permissions" : {
31244 "check" : [
31245 "perm",
31246 "/nodes/{node}",
31247 [
44660702 31248 "Sys.Audit"
56122987
DM
31249 ]
31250 ]
44660702
DM
31251 },
31252 "proxyto" : "node",
31253 "returns" : {
31254 "properties" : {
e2d681b3
TL
31255 "action" : {
31256 "type" : "string"
31257 },
31258 "comment" : {
31259 "optional" : 1,
31260 "type" : "string"
31261 },
31262 "dest" : {
31263 "optional" : 1,
31264 "type" : "string"
31265 },
31266 "dport" : {
31267 "optional" : 1,
31268 "type" : "string"
31269 },
31270 "enable" : {
31271 "optional" : 1,
31272 "type" : "integer"
31273 },
31274 "iface" : {
31275 "optional" : 1,
31276 "type" : "string"
31277 },
31278 "ipversion" : {
31279 "optional" : 1,
31280 "type" : "integer"
31281 },
95895385
TL
31282 "log" : {
31283 "description" : "Log level for firewall rule",
31284 "enum" : [
31285 "emerg",
31286 "alert",
31287 "crit",
31288 "err",
31289 "warning",
31290 "notice",
31291 "info",
31292 "debug",
31293 "nolog"
31294 ],
31295 "optional" : 1,
31296 "type" : "string"
31297 },
e2d681b3
TL
31298 "macro" : {
31299 "optional" : 1,
5f26e15b 31300 "type" : "string"
e2d681b3 31301 },
44660702
DM
31302 "pos" : {
31303 "type" : "integer"
e2d681b3
TL
31304 },
31305 "proto" : {
31306 "optional" : 1,
31307 "type" : "string"
31308 },
31309 "source" : {
31310 "optional" : 1,
31311 "type" : "string"
31312 },
31313 "sport" : {
31314 "optional" : 1,
31315 "type" : "string"
31316 },
31317 "type" : {
31318 "type" : "string"
44660702
DM
31319 }
31320 },
31321 "type" : "object"
7aacca6f 31322 }
56122987
DM
31323 },
31324 "PUT" : {
44660702
DM
31325 "description" : "Modify rule data.",
31326 "method" : "PUT",
56122987 31327 "name" : "update_rule",
56122987 31328 "parameters" : {
44660702 31329 "additionalProperties" : 0,
56122987 31330 "properties" : {
44660702
DM
31331 "action" : {
31332 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
31333 "maxLength" : 20,
31334 "minLength" : 2,
56122987 31335 "optional" : 1,
44660702
DM
31336 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
31337 "type" : "string"
56122987 31338 },
7aacca6f 31339 "comment" : {
e94f0d56 31340 "description" : "Descriptive comment.",
56122987 31341 "optional" : 1,
013dc89f
DM
31342 "type" : "string",
31343 "typetext" : "<string>"
56122987 31344 },
44660702
DM
31345 "delete" : {
31346 "description" : "A list of settings you want to delete.",
31347 "format" : "pve-configid-list",
56122987 31348 "optional" : 1,
013dc89f
DM
31349 "type" : "string",
31350 "typetext" : "<string>"
56122987 31351 },
44660702
DM
31352 "dest" : {
31353 "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.",
31354 "format" : "pve-fw-addr-spec",
56122987 31355 "optional" : 1,
013dc89f
DM
31356 "type" : "string",
31357 "typetext" : "<string>"
56122987 31358 },
44660702
DM
31359 "digest" : {
31360 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
31361 "maxLength" : 40,
56122987 31362 "optional" : 1,
013dc89f
DM
31363 "type" : "string",
31364 "typetext" : "<string>"
56122987 31365 },
7aacca6f 31366 "dport" : {
7aacca6f 31367 "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
31368 "format" : "pve-fw-dport-spec",
31369 "optional" : 1,
013dc89f
DM
31370 "type" : "string",
31371 "typetext" : "<string>"
7aacca6f 31372 },
44660702 31373 "enable" : {
e94f0d56 31374 "description" : "Flag to enable/disable a rule.",
44660702 31375 "minimum" : 0,
56122987 31376 "optional" : 1,
4bd7df8b 31377 "type" : "integer",
013dc89f 31378 "typetext" : "<integer> (0 - N)"
56122987 31379 },
7aacca6f 31380 "iface" : {
44660702 31381 "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 31382 "format" : "pve-iface",
44660702 31383 "maxLength" : 20,
56122987 31384 "minLength" : 2,
44660702 31385 "optional" : 1,
013dc89f
DM
31386 "type" : "string",
31387 "typetext" : "<string>"
56122987 31388 },
95895385
TL
31389 "log" : {
31390 "description" : "Log level for firewall rule.",
31391 "enum" : [
31392 "emerg",
31393 "alert",
31394 "crit",
31395 "err",
31396 "warning",
31397 "notice",
31398 "info",
31399 "debug",
31400 "nolog"
31401 ],
31402 "optional" : 1,
31403 "type" : "string"
31404 },
44660702 31405 "macro" : {
e94f0d56 31406 "description" : "Use predefined standard macro.",
44660702
DM
31407 "maxLength" : 128,
31408 "optional" : 1,
013dc89f
DM
31409 "type" : "string",
31410 "typetext" : "<string>"
44660702
DM
31411 },
31412 "moveto" : {
31413 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
31414 "minimum" : 0,
7aacca6f 31415 "optional" : 1,
4bd7df8b 31416 "type" : "integer",
013dc89f 31417 "typetext" : "<integer> (0 - N)"
44660702
DM
31418 },
31419 "node" : {
31420 "description" : "The cluster node name.",
31421 "format" : "pve-node",
013dc89f
DM
31422 "type" : "string",
31423 "typetext" : "<string>"
56122987
DM
31424 },
31425 "pos" : {
44660702 31426 "description" : "Update rule at position <pos>.",
7aacca6f 31427 "minimum" : 0,
7aacca6f 31428 "optional" : 1,
4bd7df8b 31429 "type" : "integer",
013dc89f 31430 "typetext" : "<integer> (0 - N)"
7aacca6f 31431 },
44660702
DM
31432 "proto" : {
31433 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
31434 "format" : "pve-fw-protocol-spec",
7aacca6f 31435 "optional" : 1,
013dc89f
DM
31436 "type" : "string",
31437 "typetext" : "<string>"
7aacca6f 31438 },
44660702
DM
31439 "source" : {
31440 "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.",
31441 "format" : "pve-fw-addr-spec",
56122987 31442 "optional" : 1,
013dc89f
DM
31443 "type" : "string",
31444 "typetext" : "<string>"
7aacca6f 31445 },
44660702
DM
31446 "sport" : {
31447 "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.",
31448 "format" : "pve-fw-sport-spec",
31449 "optional" : 1,
013dc89f
DM
31450 "type" : "string",
31451 "typetext" : "<string>"
44660702
DM
31452 },
31453 "type" : {
e94f0d56 31454 "description" : "Rule type.",
44660702
DM
31455 "enum" : [
31456 "in",
31457 "out",
31458 "group"
31459 ],
31460 "optional" : 1,
31461 "type" : "string"
56122987 31462 }
44660702 31463 }
56122987 31464 },
56122987
DM
31465 "permissions" : {
31466 "check" : [
31467 "perm",
31468 "/nodes/{node}",
31469 [
31470 "Sys.Modify"
31471 ]
31472 ]
7aacca6f 31473 },
44660702 31474 "protected" : 1,
7aacca6f 31475 "proxyto" : "node",
7aacca6f
DM
31476 "returns" : {
31477 "type" : "null"
56122987
DM
31478 }
31479 }
7aacca6f 31480 },
44660702 31481 "leaf" : 1,
7aacca6f 31482 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 31483 "text" : "{pos}"
56122987
DM
31484 }
31485 ],
56122987
DM
31486 "info" : {
31487 "GET" : {
44660702
DM
31488 "description" : "List rules.",
31489 "method" : "GET",
31490 "name" : "get_rules",
31491 "parameters" : {
31492 "additionalProperties" : 0,
31493 "properties" : {
31494 "node" : {
31495 "description" : "The cluster node name.",
31496 "format" : "pve-node",
013dc89f
DM
31497 "type" : "string",
31498 "typetext" : "<string>"
44660702
DM
31499 }
31500 }
31501 },
31502 "permissions" : {
31503 "check" : [
31504 "perm",
31505 "/nodes/{node}",
31506 [
31507 "Sys.Audit"
31508 ]
31509 ]
31510 },
31511 "proxyto" : "node",
56122987 31512 "returns" : {
56122987
DM
31513 "items" : {
31514 "properties" : {
31515 "pos" : {
31516 "type" : "integer"
31517 }
44660702
DM
31518 },
31519 "type" : "object"
56122987 31520 },
7aacca6f
DM
31521 "links" : [
31522 {
31523 "href" : "{pos}",
31524 "rel" : "child"
31525 }
31526 ],
31527 "type" : "array"
44660702 31528 }
56122987
DM
31529 },
31530 "POST" : {
44660702 31531 "description" : "Create new rule.",
7aacca6f
DM
31532 "method" : "POST",
31533 "name" : "create_rule",
56122987 31534 "parameters" : {
44660702 31535 "additionalProperties" : 0,
56122987 31536 "properties" : {
7aacca6f 31537 "action" : {
7aacca6f 31538 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 31539 "maxLength" : 20,
7aacca6f
DM
31540 "minLength" : 2,
31541 "optional" : 0,
44660702
DM
31542 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
31543 "type" : "string"
56122987 31544 },
44660702 31545 "comment" : {
e94f0d56 31546 "description" : "Descriptive comment.",
56122987 31547 "optional" : 1,
013dc89f
DM
31548 "type" : "string",
31549 "typetext" : "<string>"
56122987 31550 },
44660702
DM
31551 "dest" : {
31552 "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.",
31553 "format" : "pve-fw-addr-spec",
7aacca6f 31554 "optional" : 1,
013dc89f
DM
31555 "type" : "string",
31556 "typetext" : "<string>"
56122987 31557 },
44660702
DM
31558 "digest" : {
31559 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
31560 "maxLength" : 40,
31561 "optional" : 1,
013dc89f
DM
31562 "type" : "string",
31563 "typetext" : "<string>"
56122987 31564 },
44660702
DM
31565 "dport" : {
31566 "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.",
31567 "format" : "pve-fw-dport-spec",
7aacca6f 31568 "optional" : 1,
013dc89f
DM
31569 "type" : "string",
31570 "typetext" : "<string>"
56122987 31571 },
44660702 31572 "enable" : {
e94f0d56 31573 "description" : "Flag to enable/disable a rule.",
44660702
DM
31574 "minimum" : 0,
31575 "optional" : 1,
4bd7df8b 31576 "type" : "integer",
013dc89f 31577 "typetext" : "<integer> (0 - N)"
44660702 31578 },
7aacca6f 31579 "iface" : {
44660702 31580 "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 31581 "format" : "pve-iface",
56122987 31582 "maxLength" : 20,
7aacca6f 31583 "minLength" : 2,
7aacca6f 31584 "optional" : 1,
013dc89f
DM
31585 "type" : "string",
31586 "typetext" : "<string>"
56122987 31587 },
95895385
TL
31588 "log" : {
31589 "description" : "Log level for firewall rule.",
31590 "enum" : [
31591 "emerg",
31592 "alert",
31593 "crit",
31594 "err",
31595 "warning",
31596 "notice",
31597 "info",
31598 "debug",
31599 "nolog"
31600 ],
31601 "optional" : 1,
31602 "type" : "string"
31603 },
44660702 31604 "macro" : {
e94f0d56 31605 "description" : "Use predefined standard macro.",
44660702 31606 "maxLength" : 128,
7aacca6f 31607 "optional" : 1,
013dc89f
DM
31608 "type" : "string",
31609 "typetext" : "<string>"
56122987 31610 },
44660702
DM
31611 "node" : {
31612 "description" : "The cluster node name.",
31613 "format" : "pve-node",
013dc89f
DM
31614 "type" : "string",
31615 "typetext" : "<string>"
44660702
DM
31616 },
31617 "pos" : {
31618 "description" : "Update rule at position <pos>.",
31619 "minimum" : 0,
31620 "optional" : 1,
4bd7df8b 31621 "type" : "integer",
013dc89f 31622 "typetext" : "<integer> (0 - N)"
44660702
DM
31623 },
31624 "proto" : {
31625 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
31626 "format" : "pve-fw-protocol-spec",
56122987 31627 "optional" : 1,
013dc89f
DM
31628 "type" : "string",
31629 "typetext" : "<string>"
56122987 31630 },
7aacca6f 31631 "source" : {
7aacca6f 31632 "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
31633 "format" : "pve-fw-addr-spec",
31634 "optional" : 1,
013dc89f
DM
31635 "type" : "string",
31636 "typetext" : "<string>"
7aacca6f 31637 },
44660702
DM
31638 "sport" : {
31639 "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.",
31640 "format" : "pve-fw-sport-spec",
7aacca6f 31641 "optional" : 1,
013dc89f
DM
31642 "type" : "string",
31643 "typetext" : "<string>"
44660702
DM
31644 },
31645 "type" : {
e94f0d56 31646 "description" : "Rule type.",
44660702
DM
31647 "enum" : [
31648 "in",
31649 "out",
31650 "group"
31651 ],
31652 "optional" : 0,
31653 "type" : "string"
56122987 31654 }
44660702 31655 }
7aacca6f 31656 },
56122987
DM
31657 "permissions" : {
31658 "check" : [
31659 "perm",
31660 "/nodes/{node}",
31661 [
31662 "Sys.Modify"
31663 ]
31664 ]
31665 },
44660702
DM
31666 "protected" : 1,
31667 "proxyto" : "node",
31668 "returns" : {
31669 "type" : "null"
31670 }
56122987
DM
31671 }
31672 },
44660702 31673 "leaf" : 0,
7aacca6f 31674 "path" : "/nodes/{node}/firewall/rules",
44660702 31675 "text" : "rules"
56122987
DM
31676 },
31677 {
56122987 31678 "info" : {
44660702
DM
31679 "GET" : {
31680 "description" : "Get host firewall options.",
31681 "method" : "GET",
31682 "name" : "get_options",
56122987 31683 "parameters" : {
7aacca6f 31684 "additionalProperties" : 0,
56122987 31685 "properties" : {
44660702
DM
31686 "node" : {
31687 "description" : "The cluster node name.",
31688 "format" : "pve-node",
013dc89f
DM
31689 "type" : "string",
31690 "typetext" : "<string>"
44660702
DM
31691 }
31692 }
31693 },
31694 "permissions" : {
31695 "check" : [
31696 "perm",
31697 "/nodes/{node}",
31698 [
31699 "Sys.Audit"
31700 ]
31701 ]
31702 },
31703 "proxyto" : "node",
31704 "returns" : {
31705 "properties" : {
31706 "enable" : {
31707 "description" : "Enable host firewall rules.",
7aacca6f 31708 "optional" : 1,
44660702 31709 "type" : "boolean"
7aacca6f 31710 },
44660702
DM
31711 "log_level_in" : {
31712 "description" : "Log level for incoming traffic.",
56122987
DM
31713 "enum" : [
31714 "emerg",
31715 "alert",
31716 "crit",
31717 "err",
31718 "warning",
31719 "notice",
31720 "info",
31721 "debug",
31722 "nolog"
31723 ],
56122987 31724 "optional" : 1,
44660702
DM
31725 "type" : "string"
31726 },
31727 "log_level_out" : {
31728 "description" : "Log level for outgoing traffic.",
56122987
DM
31729 "enum" : [
31730 "emerg",
31731 "alert",
31732 "crit",
31733 "err",
31734 "warning",
31735 "notice",
31736 "info",
31737 "debug",
31738 "nolog"
31739 ],
44660702
DM
31740 "optional" : 1,
31741 "type" : "string"
31742 },
95895385
TL
31743 "log_nf_conntrack" : {
31744 "default" : 0,
31745 "description" : "Enable logging of conntrack information.",
31746 "optional" : 1,
31747 "type" : "boolean"
31748 },
44660702
DM
31749 "ndp" : {
31750 "description" : "Enable NDP.",
31751 "optional" : 1,
31752 "type" : "boolean"
31753 },
5f26e15b
TL
31754 "nf_conntrack_allow_invalid" : {
31755 "default" : 0,
31756 "description" : "Allow invalid packets on connection tracking.",
31757 "optional" : 1,
31758 "type" : "boolean"
31759 },
44660702
DM
31760 "nf_conntrack_max" : {
31761 "description" : "Maximum number of tracked connections.",
31762 "minimum" : 32768,
31763 "optional" : 1,
31764 "type" : "integer"
31765 },
31766 "nf_conntrack_tcp_timeout_established" : {
31767 "description" : "Conntrack established timeout.",
31768 "minimum" : 7875,
31769 "optional" : 1,
31770 "type" : "integer"
31771 },
31772 "nosmurfs" : {
31773 "description" : "Enable SMURFS filter.",
31774 "optional" : 1,
31775 "type" : "boolean"
56122987 31776 },
7aacca6f 31777 "smurf_log_level" : {
44660702 31778 "description" : "Log level for SMURFS filter.",
56122987
DM
31779 "enum" : [
31780 "emerg",
31781 "alert",
31782 "crit",
31783 "err",
31784 "warning",
31785 "notice",
31786 "info",
31787 "debug",
31788 "nolog"
7aacca6f 31789 ],
7aacca6f
DM
31790 "optional" : 1,
31791 "type" : "string"
56122987 31792 },
44660702
DM
31793 "tcp_flags_log_level" : {
31794 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
31795 "enum" : [
31796 "emerg",
31797 "alert",
31798 "crit",
31799 "err",
31800 "warning",
31801 "notice",
31802 "info",
31803 "debug",
31804 "nolog"
31805 ],
44660702
DM
31806 "optional" : 1,
31807 "type" : "string"
7aacca6f 31808 },
44660702
DM
31809 "tcpflags" : {
31810 "description" : "Filter illegal combinations of TCP flags.",
56122987 31811 "optional" : 1,
44660702 31812 "type" : "boolean"
56122987 31813 }
44660702
DM
31814 },
31815 "type" : "object"
7aacca6f 31816 }
56122987 31817 },
44660702
DM
31818 "PUT" : {
31819 "description" : "Set Firewall options.",
31820 "method" : "PUT",
31821 "name" : "set_options",
7aacca6f 31822 "parameters" : {
44660702 31823 "additionalProperties" : 0,
7aacca6f 31824 "properties" : {
44660702
DM
31825 "delete" : {
31826 "description" : "A list of settings you want to delete.",
31827 "format" : "pve-configid-list",
7aacca6f 31828 "optional" : 1,
013dc89f
DM
31829 "type" : "string",
31830 "typetext" : "<string>"
56122987 31831 },
44660702
DM
31832 "digest" : {
31833 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
31834 "maxLength" : 40,
31835 "optional" : 1,
013dc89f
DM
31836 "type" : "string",
31837 "typetext" : "<string>"
56122987 31838 },
44660702
DM
31839 "enable" : {
31840 "description" : "Enable host firewall rules.",
7aacca6f 31841 "optional" : 1,
013dc89f
DM
31842 "type" : "boolean",
31843 "typetext" : "<boolean>"
44660702
DM
31844 },
31845 "log_level_in" : {
31846 "description" : "Log level for incoming traffic.",
56122987
DM
31847 "enum" : [
31848 "emerg",
31849 "alert",
31850 "crit",
31851 "err",
31852 "warning",
31853 "notice",
31854 "info",
31855 "debug",
31856 "nolog"
44660702 31857 ],
7aacca6f 31858 "optional" : 1,
44660702 31859 "type" : "string"
7aacca6f 31860 },
44660702
DM
31861 "log_level_out" : {
31862 "description" : "Log level for outgoing traffic.",
56122987
DM
31863 "enum" : [
31864 "emerg",
31865 "alert",
31866 "crit",
31867 "err",
31868 "warning",
31869 "notice",
31870 "info",
31871 "debug",
31872 "nolog"
31873 ],
31874 "optional" : 1,
7aacca6f 31875 "type" : "string"
56122987 31876 },
95895385
TL
31877 "log_nf_conntrack" : {
31878 "default" : 0,
31879 "description" : "Enable logging of conntrack information.",
31880 "optional" : 1,
31881 "type" : "boolean",
31882 "typetext" : "<boolean>"
31883 },
44660702
DM
31884 "ndp" : {
31885 "description" : "Enable NDP.",
7aacca6f 31886 "optional" : 1,
013dc89f
DM
31887 "type" : "boolean",
31888 "typetext" : "<boolean>"
44660702 31889 },
5f26e15b
TL
31890 "nf_conntrack_allow_invalid" : {
31891 "default" : 0,
31892 "description" : "Allow invalid packets on connection tracking.",
31893 "optional" : 1,
31894 "type" : "boolean",
31895 "typetext" : "<boolean>"
31896 },
44660702
DM
31897 "nf_conntrack_max" : {
31898 "description" : "Maximum number of tracked connections.",
31899 "minimum" : 32768,
31900 "optional" : 1,
4bd7df8b 31901 "type" : "integer",
013dc89f 31902 "typetext" : "<integer> (32768 - N)"
44660702
DM
31903 },
31904 "nf_conntrack_tcp_timeout_established" : {
31905 "description" : "Conntrack established timeout.",
31906 "minimum" : 7875,
31907 "optional" : 1,
4bd7df8b 31908 "type" : "integer",
013dc89f 31909 "typetext" : "<integer> (7875 - N)"
44660702
DM
31910 },
31911 "node" : {
31912 "description" : "The cluster node name.",
31913 "format" : "pve-node",
013dc89f
DM
31914 "type" : "string",
31915 "typetext" : "<string>"
44660702
DM
31916 },
31917 "nosmurfs" : {
31918 "description" : "Enable SMURFS filter.",
31919 "optional" : 1,
013dc89f
DM
31920 "type" : "boolean",
31921 "typetext" : "<boolean>"
44660702
DM
31922 },
31923 "smurf_log_level" : {
31924 "description" : "Log level for SMURFS filter.",
56122987
DM
31925 "enum" : [
31926 "emerg",
31927 "alert",
31928 "crit",
31929 "err",
31930 "warning",
31931 "notice",
31932 "info",
31933 "debug",
31934 "nolog"
44660702
DM
31935 ],
31936 "optional" : 1,
31937 "type" : "string"
56122987 31938 },
44660702
DM
31939 "tcp_flags_log_level" : {
31940 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
31941 "enum" : [
31942 "emerg",
31943 "alert",
31944 "crit",
31945 "err",
31946 "warning",
31947 "notice",
31948 "info",
31949 "debug",
31950 "nolog"
31951 ],
44660702
DM
31952 "optional" : 1,
31953 "type" : "string"
7aacca6f 31954 },
44660702
DM
31955 "tcpflags" : {
31956 "description" : "Filter illegal combinations of TCP flags.",
56122987 31957 "optional" : 1,
013dc89f
DM
31958 "type" : "boolean",
31959 "typetext" : "<boolean>"
56122987 31960 }
7aacca6f 31961 }
56122987 31962 },
44660702
DM
31963 "permissions" : {
31964 "check" : [
31965 "perm",
31966 "/nodes/{node}",
31967 [
31968 "Sys.Modify"
31969 ]
31970 ]
31971 },
31972 "protected" : 1,
31973 "proxyto" : "node",
31974 "returns" : {
31975 "type" : "null"
31976 }
7aacca6f
DM
31977 }
31978 },
44660702
DM
31979 "leaf" : 1,
31980 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
31981 "text" : "options"
31982 },
31983 {
7aacca6f
DM
31984 "info" : {
31985 "GET" : {
44660702
DM
31986 "description" : "Read firewall log",
31987 "method" : "GET",
7aacca6f 31988 "name" : "log",
56122987 31989 "parameters" : {
44660702 31990 "additionalProperties" : 0,
56122987 31991 "properties" : {
7aacca6f 31992 "limit" : {
44660702 31993 "minimum" : 0,
7aacca6f 31994 "optional" : 1,
4bd7df8b 31995 "type" : "integer",
013dc89f 31996 "typetext" : "<integer> (0 - N)"
7aacca6f 31997 },
56122987 31998 "node" : {
7aacca6f 31999 "description" : "The cluster node name.",
44660702 32000 "format" : "pve-node",
013dc89f
DM
32001 "type" : "string",
32002 "typetext" : "<string>"
44660702
DM
32003 },
32004 "start" : {
32005 "minimum" : 0,
32006 "optional" : 1,
4bd7df8b 32007 "type" : "integer",
013dc89f 32008 "typetext" : "<integer> (0 - N)"
56122987 32009 }
44660702 32010 }
7aacca6f 32011 },
56122987
DM
32012 "permissions" : {
32013 "check" : [
32014 "perm",
32015 "/nodes/{node}",
32016 [
32017 "Sys.Syslog"
32018 ]
32019 ]
32020 },
44660702
DM
32021 "protected" : 1,
32022 "proxyto" : "node",
56122987
DM
32023 "returns" : {
32024 "items" : {
56122987 32025 "properties" : {
56122987 32026 "n" : {
44660702
DM
32027 "description" : "Line number",
32028 "type" : "integer"
7aacca6f
DM
32029 },
32030 "t" : {
44660702
DM
32031 "description" : "Line text",
32032 "type" : "string"
56122987 32033 }
44660702
DM
32034 },
32035 "type" : "object"
56122987
DM
32036 },
32037 "type" : "array"
7aacca6f 32038 }
56122987
DM
32039 }
32040 },
44660702
DM
32041 "leaf" : 1,
32042 "path" : "/nodes/{node}/firewall/log",
7aacca6f 32043 "text" : "log"
56122987
DM
32044 }
32045 ],
32046 "info" : {
32047 "GET" : {
44660702
DM
32048 "description" : "Directory index.",
32049 "method" : "GET",
32050 "name" : "index",
56122987 32051 "parameters" : {
44660702 32052 "additionalProperties" : 0,
56122987
DM
32053 "properties" : {
32054 "node" : {
32055 "description" : "The cluster node name.",
44660702 32056 "format" : "pve-node",
013dc89f
DM
32057 "type" : "string",
32058 "typetext" : "<string>"
56122987 32059 }
44660702 32060 }
56122987 32061 },
7aacca6f
DM
32062 "permissions" : {
32063 "user" : "all"
32064 },
56122987
DM
32065 "returns" : {
32066 "items" : {
32067 "properties" : {},
32068 "type" : "object"
32069 },
56122987
DM
32070 "links" : [
32071 {
44660702
DM
32072 "href" : "{name}",
32073 "rel" : "child"
56122987 32074 }
44660702
DM
32075 ],
32076 "type" : "array"
32077 }
56122987 32078 }
7aacca6f 32079 },
44660702 32080 "leaf" : 0,
7aacca6f 32081 "path" : "/nodes/{node}/firewall",
44660702 32082 "text" : "firewall"
56122987 32083 },
5d9c884c
DM
32084 {
32085 "children" : [
32086 {
32087 "children" : [
32088 {
32089 "info" : {
32090 "GET" : {
32091 "description" : "Get replication job status.",
32092 "method" : "GET",
32093 "name" : "job_status",
32094 "parameters" : {
32095 "additionalProperties" : 0,
32096 "properties" : {
32097 "id" : {
32098 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32099 "format" : "pve-replication-job-id",
32100 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32101 "type" : "string"
32102 },
32103 "node" : {
32104 "description" : "The cluster node name.",
32105 "format" : "pve-node",
32106 "type" : "string",
32107 "typetext" : "<string>"
32108 }
32109 }
32110 },
32111 "permissions" : {
32112 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
32113 "user" : "all"
32114 },
32115 "protected" : 1,
32116 "proxyto" : "node",
32117 "returns" : {
5d9c884c
DM
32118 "type" : "object"
32119 }
32120 }
32121 },
32122 "leaf" : 1,
32123 "path" : "/nodes/{node}/replication/{id}/status",
32124 "text" : "status"
32125 },
32126 {
32127 "info" : {
32128 "GET" : {
32129 "description" : "Read replication job log.",
32130 "method" : "GET",
32131 "name" : "read_job_log",
32132 "parameters" : {
32133 "additionalProperties" : 0,
32134 "properties" : {
32135 "id" : {
32136 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32137 "format" : "pve-replication-job-id",
32138 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32139 "type" : "string"
32140 },
32141 "limit" : {
32142 "minimum" : 0,
32143 "optional" : 1,
32144 "type" : "integer",
32145 "typetext" : "<integer> (0 - N)"
32146 },
32147 "node" : {
32148 "description" : "The cluster node name.",
32149 "format" : "pve-node",
32150 "type" : "string",
32151 "typetext" : "<string>"
32152 },
32153 "start" : {
32154 "minimum" : 0,
32155 "optional" : 1,
32156 "type" : "integer",
32157 "typetext" : "<integer> (0 - N)"
32158 }
32159 }
32160 },
32161 "permissions" : {
32162 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
32163 "user" : "all"
32164 },
32165 "protected" : 1,
32166 "proxyto" : "node",
32167 "returns" : {
32168 "items" : {
32169 "properties" : {
32170 "n" : {
32171 "description" : "Line number",
32172 "type" : "integer"
32173 },
32174 "t" : {
32175 "description" : "Line text",
32176 "type" : "string"
32177 }
32178 },
32179 "type" : "object"
32180 },
32181 "type" : "array"
32182 }
32183 }
32184 },
32185 "leaf" : 1,
32186 "path" : "/nodes/{node}/replication/{id}/log",
32187 "text" : "log"
32188 },
32189 {
32190 "info" : {
32191 "POST" : {
32192 "description" : "Schedule replication job to start as soon as possible.",
32193 "method" : "POST",
32194 "name" : "schedule_now",
32195 "parameters" : {
32196 "additionalProperties" : 0,
32197 "properties" : {
32198 "id" : {
32199 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32200 "format" : "pve-replication-job-id",
32201 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32202 "type" : "string"
32203 },
32204 "node" : {
32205 "description" : "The cluster node name.",
32206 "format" : "pve-node",
32207 "type" : "string",
32208 "typetext" : "<string>"
32209 }
32210 }
32211 },
32212 "permissions" : {
32213 "check" : [
32214 "perm",
32215 "/storage",
32216 [
32217 "Datastore.Allocate"
32218 ]
32219 ]
32220 },
32221 "protected" : 1,
32222 "proxyto" : "node",
32223 "returns" : {
32224 "type" : "string"
32225 }
32226 }
32227 },
32228 "leaf" : 1,
32229 "path" : "/nodes/{node}/replication/{id}/schedule_now",
32230 "text" : "schedule_now"
32231 }
32232 ],
32233 "info" : {
32234 "GET" : {
32235 "description" : "Directory index.",
32236 "method" : "GET",
32237 "name" : "index",
32238 "parameters" : {
32239 "additionalProperties" : 0,
32240 "properties" : {
32241 "id" : {
32242 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32243 "format" : "pve-replication-job-id",
32244 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32245 "type" : "string"
32246 },
32247 "node" : {
32248 "description" : "The cluster node name.",
32249 "format" : "pve-node",
32250 "type" : "string",
32251 "typetext" : "<string>"
32252 }
32253 }
32254 },
32255 "permissions" : {
32256 "user" : "all"
32257 },
32258 "returns" : {
32259 "items" : {
32260 "properties" : {},
32261 "type" : "object"
32262 },
32263 "links" : [
32264 {
32265 "href" : "{name}",
32266 "rel" : "child"
32267 }
32268 ],
32269 "type" : "array"
32270 }
32271 }
32272 },
32273 "leaf" : 0,
32274 "path" : "/nodes/{node}/replication/{id}",
32275 "text" : "{id}"
32276 }
32277 ],
32278 "info" : {
32279 "GET" : {
32280 "description" : "List status of all replication jobs on this node.",
32281 "method" : "GET",
32282 "name" : "status",
32283 "parameters" : {
32284 "additionalProperties" : 0,
32285 "properties" : {
32286 "guest" : {
32287 "description" : "Only list replication jobs for this guest.",
32288 "format" : "pve-vmid",
32289 "minimum" : 1,
32290 "optional" : 1,
32291 "type" : "integer",
32292 "typetext" : "<integer> (1 - N)"
32293 },
32294 "node" : {
32295 "description" : "The cluster node name.",
32296 "format" : "pve-node",
32297 "type" : "string",
32298 "typetext" : "<string>"
32299 }
32300 }
32301 },
32302 "permissions" : {
32303 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
32304 "user" : "all"
32305 },
32306 "protected" : 1,
32307 "proxyto" : "node",
32308 "returns" : {
32309 "items" : {
32310 "properties" : {
32311 "id" : {
32312 "type" : "string"
32313 }
32314 },
32315 "type" : "object"
32316 },
32317 "links" : [
32318 {
32319 "href" : "{id}",
32320 "rel" : "child"
32321 }
32322 ],
32323 "type" : "array"
32324 }
32325 }
32326 },
32327 "leaf" : 0,
32328 "path" : "/nodes/{node}/replication",
32329 "text" : "replication"
32330 },
a9a8e3d1
DM
32331 {
32332 "children" : [
32333 {
32334 "children" : [
32335 {
32336 "info" : {
32337 "DELETE" : {
32338 "description" : "Revoke existing certificate from CA.",
32339 "method" : "DELETE",
32340 "name" : "revoke_certificate",
32341 "parameters" : {
32342 "additionalProperties" : 0,
32343 "properties" : {
32344 "node" : {
32345 "description" : "The cluster node name.",
32346 "format" : "pve-node",
32347 "type" : "string",
32348 "typetext" : "<string>"
32349 }
32350 }
32351 },
32352 "protected" : 1,
32353 "proxyto" : "node",
32354 "returns" : {
32355 "type" : "string"
32356 }
32357 },
32358 "POST" : {
32359 "description" : "Order a new certificate from ACME-compatible CA.",
32360 "method" : "POST",
32361 "name" : "new_certificate",
32362 "parameters" : {
32363 "additionalProperties" : 0,
32364 "properties" : {
32365 "force" : {
32366 "default" : 0,
32367 "description" : "Overwrite existing custom certificate.",
32368 "optional" : 1,
32369 "type" : "boolean",
32370 "typetext" : "<boolean>"
32371 },
32372 "node" : {
32373 "description" : "The cluster node name.",
32374 "format" : "pve-node",
32375 "type" : "string",
32376 "typetext" : "<string>"
32377 }
32378 }
32379 },
32380 "protected" : 1,
32381 "proxyto" : "node",
32382 "returns" : {
32383 "type" : "string"
32384 }
32385 },
32386 "PUT" : {
32387 "description" : "Renew existing certificate from CA.",
32388 "method" : "PUT",
32389 "name" : "renew_certificate",
32390 "parameters" : {
32391 "additionalProperties" : 0,
32392 "properties" : {
32393 "force" : {
32394 "default" : 0,
32395 "description" : "Force renewal even if expiry is more than 30 days away.",
32396 "optional" : 1,
32397 "type" : "boolean",
32398 "typetext" : "<boolean>"
32399 },
32400 "node" : {
32401 "description" : "The cluster node name.",
32402 "format" : "pve-node",
32403 "type" : "string",
32404 "typetext" : "<string>"
32405 }
32406 }
32407 },
32408 "protected" : 1,
32409 "proxyto" : "node",
32410 "returns" : {
32411 "type" : "string"
32412 }
32413 }
32414 },
32415 "leaf" : 1,
32416 "path" : "/nodes/{node}/certificates/acme/certificate",
32417 "text" : "certificate"
32418 }
32419 ],
32420 "info" : {
32421 "GET" : {
32422 "description" : "ACME index.",
32423 "method" : "GET",
32424 "name" : "index",
32425 "parameters" : {
32426 "additionalProperties" : 0,
32427 "properties" : {
32428 "node" : {
32429 "description" : "The cluster node name.",
32430 "format" : "pve-node",
32431 "type" : "string",
32432 "typetext" : "<string>"
32433 }
32434 }
32435 },
32436 "permissions" : {
32437 "user" : "all"
32438 },
32439 "returns" : {
32440 "items" : {
32441 "properties" : {},
32442 "type" : "object"
32443 },
32444 "links" : [
32445 {
32446 "href" : "{name}",
32447 "rel" : "child"
32448 }
32449 ],
32450 "type" : "array"
32451 }
32452 }
32453 },
32454 "leaf" : 0,
32455 "path" : "/nodes/{node}/certificates/acme",
32456 "text" : "acme"
32457 },
32458 {
32459 "info" : {
32460 "GET" : {
32461 "description" : "Get information about node's certificates.",
32462 "method" : "GET",
32463 "name" : "info",
32464 "parameters" : {
32465 "additionalProperties" : 0,
32466 "properties" : {
32467 "node" : {
32468 "description" : "The cluster node name.",
32469 "format" : "pve-node",
32470 "type" : "string",
32471 "typetext" : "<string>"
32472 }
32473 }
32474 },
32475 "permissions" : {
32476 "user" : "all"
32477 },
32478 "proxyto" : "node",
32479 "returns" : {
32480 "items" : {
32481 "properties" : {
32482 "filename" : {
32483 "optional" : 1,
32484 "type" : "string"
32485 },
32486 "fingerprint" : {
32487 "description" : "Certificate SHA 256 fingerprint.",
32488 "optional" : 1,
32489 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
32490 "type" : "string"
32491 },
32492 "issuer" : {
32493 "description" : "Certificate issuer name.",
32494 "optional" : 1,
32495 "type" : "string"
32496 },
32497 "notafter" : {
32498 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
32499 "optional" : 1,
4d47f125 32500 "renderer" : "timestamp",
a9a8e3d1
DM
32501 "type" : "integer"
32502 },
32503 "notbefore" : {
32504 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
32505 "optional" : 1,
4d47f125 32506 "renderer" : "timestamp",
a9a8e3d1
DM
32507 "type" : "integer"
32508 },
32509 "pem" : {
32510 "description" : "Certificate in PEM format",
32511 "format" : "pem-certificate",
32512 "optional" : 1,
32513 "type" : "string"
32514 },
32515 "san" : {
32516 "description" : "List of Certificate's SubjectAlternativeName entries.",
32517 "items" : {
32518 "type" : "string"
32519 },
32520 "optional" : 1,
4d47f125 32521 "renderer" : "yaml",
a9a8e3d1
DM
32522 "type" : "array"
32523 },
32524 "subject" : {
32525 "description" : "Certificate subject name.",
32526 "optional" : 1,
32527 "type" : "string"
32528 }
32529 },
32530 "type" : "object"
32531 },
32532 "type" : "array"
32533 }
32534 }
32535 },
32536 "leaf" : 1,
32537 "path" : "/nodes/{node}/certificates/info",
32538 "text" : "info"
32539 },
32540 {
32541 "info" : {
32542 "DELETE" : {
32543 "description" : "DELETE custom certificate chain and key.",
32544 "method" : "DELETE",
32545 "name" : "remove_custom_cert",
32546 "parameters" : {
32547 "additionalProperties" : 0,
32548 "properties" : {
32549 "node" : {
32550 "description" : "The cluster node name.",
32551 "format" : "pve-node",
32552 "type" : "string",
32553 "typetext" : "<string>"
32554 },
32555 "restart" : {
32556 "default" : 0,
32557 "description" : "Restart pveproxy.",
32558 "optional" : 1,
32559 "type" : "boolean",
32560 "typetext" : "<boolean>"
32561 }
32562 }
32563 },
32564 "protected" : 1,
32565 "proxyto" : "node",
32566 "returns" : {
32567 "type" : "null"
32568 }
32569 },
32570 "POST" : {
32571 "description" : "Upload or update custom certificate chain and key.",
32572 "method" : "POST",
32573 "name" : "upload_custom_cert",
32574 "parameters" : {
32575 "additionalProperties" : 0,
32576 "properties" : {
32577 "certificates" : {
32578 "description" : "PEM encoded certificate (chain).",
32579 "format" : "pem-certificate-chain",
32580 "type" : "string",
32581 "typetext" : "<string>"
32582 },
32583 "force" : {
32584 "default" : 0,
32585 "description" : "Overwrite existing custom or ACME certificate files.",
32586 "optional" : 1,
32587 "type" : "boolean",
32588 "typetext" : "<boolean>"
32589 },
32590 "key" : {
32591 "description" : "PEM encoded private key.",
32592 "format" : "pem-string",
32593 "optional" : 1,
32594 "type" : "string",
32595 "typetext" : "<string>"
32596 },
32597 "node" : {
32598 "description" : "The cluster node name.",
32599 "format" : "pve-node",
32600 "type" : "string",
32601 "typetext" : "<string>"
32602 },
32603 "restart" : {
32604 "default" : 0,
32605 "description" : "Restart pveproxy.",
32606 "optional" : 1,
32607 "type" : "boolean",
32608 "typetext" : "<boolean>"
32609 }
32610 }
32611 },
32612 "protected" : 1,
32613 "proxyto" : "node",
32614 "returns" : {
32615 "properties" : {
32616 "filename" : {
32617 "optional" : 1,
32618 "type" : "string"
32619 },
32620 "fingerprint" : {
32621 "description" : "Certificate SHA 256 fingerprint.",
32622 "optional" : 1,
32623 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
32624 "type" : "string"
32625 },
32626 "issuer" : {
32627 "description" : "Certificate issuer name.",
32628 "optional" : 1,
32629 "type" : "string"
32630 },
32631 "notafter" : {
32632 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
32633 "optional" : 1,
4d47f125 32634 "renderer" : "timestamp",
a9a8e3d1
DM
32635 "type" : "integer"
32636 },
32637 "notbefore" : {
32638 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
32639 "optional" : 1,
4d47f125 32640 "renderer" : "timestamp",
a9a8e3d1
DM
32641 "type" : "integer"
32642 },
32643 "pem" : {
32644 "description" : "Certificate in PEM format",
32645 "format" : "pem-certificate",
32646 "optional" : 1,
32647 "type" : "string"
32648 },
32649 "san" : {
32650 "description" : "List of Certificate's SubjectAlternativeName entries.",
32651 "items" : {
32652 "type" : "string"
32653 },
32654 "optional" : 1,
4d47f125 32655 "renderer" : "yaml",
a9a8e3d1
DM
32656 "type" : "array"
32657 },
32658 "subject" : {
32659 "description" : "Certificate subject name.",
32660 "optional" : 1,
32661 "type" : "string"
32662 }
32663 },
32664 "type" : "object"
32665 }
32666 }
32667 },
32668 "leaf" : 1,
32669 "path" : "/nodes/{node}/certificates/custom",
32670 "text" : "custom"
32671 }
32672 ],
32673 "info" : {
32674 "GET" : {
32675 "description" : "Node index.",
32676 "method" : "GET",
32677 "name" : "index",
32678 "parameters" : {
32679 "additionalProperties" : 0,
32680 "properties" : {
32681 "node" : {
32682 "description" : "The cluster node name.",
32683 "format" : "pve-node",
32684 "type" : "string",
32685 "typetext" : "<string>"
32686 }
32687 }
32688 },
32689 "permissions" : {
32690 "user" : "all"
32691 },
32692 "returns" : {
32693 "items" : {
32694 "properties" : {},
32695 "type" : "object"
32696 },
32697 "links" : [
32698 {
32699 "href" : "{name}",
32700 "rel" : "child"
32701 }
32702 ],
32703 "type" : "array"
32704 }
32705 }
32706 },
32707 "leaf" : 0,
32708 "path" : "/nodes/{node}/certificates",
32709 "text" : "certificates"
32710 },
32711 {
32712 "info" : {
32713 "GET" : {
32714 "description" : "Get node configuration options.",
32715 "method" : "GET",
32716 "name" : "get_config",
32717 "parameters" : {
32718 "additionalProperties" : 0,
32719 "properties" : {
32720 "node" : {
32721 "description" : "The cluster node name.",
32722 "format" : "pve-node",
32723 "type" : "string",
32724 "typetext" : "<string>"
32725 }
32726 }
32727 },
32728 "permissions" : {
32729 "check" : [
32730 "perm",
32731 "/",
32732 [
32733 "Sys.Audit"
32734 ]
32735 ]
32736 },
32737 "proxyto" : "node",
32738 "returns" : {
a9a8e3d1
DM
32739 "type" : "object"
32740 }
32741 },
32742 "PUT" : {
32743 "description" : "Set node configuration options.",
32744 "method" : "PUT",
32745 "name" : "set_options",
32746 "parameters" : {
32747 "additionalProperties" : 0,
32748 "properties" : {
32749 "acme" : {
32750 "description" : "Node specific ACME settings.",
32751 "format" : {
32752 "account" : {
32753 "default" : "default",
32754 "description" : "ACME account config file name.",
32755 "format" : "pve-configid",
32756 "format_description" : "name",
32757 "optional" : 1,
32758 "type" : "string"
32759 },
32760 "domains" : {
32761 "description" : "List of domains for this node's ACME certificate",
32762 "format" : "pve-acme-domain-list",
32763 "format_description" : "domain[;domain;...]",
32764 "type" : "string"
32765 }
32766 },
32767 "optional" : 1,
32768 "type" : "string",
32769 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
32770 },
32771 "delete" : {
32772 "description" : "A list of settings you want to delete.",
32773 "format" : "pve-configid-list",
32774 "optional" : 1,
32775 "type" : "string",
32776 "typetext" : "<string>"
32777 },
32778 "description" : {
32779 "description" : "Node description/comment.",
32780 "optional" : 1,
32781 "type" : "string",
32782 "typetext" : "<string>"
32783 },
32784 "digest" : {
32785 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32786 "maxLength" : 40,
32787 "optional" : 1,
32788 "type" : "string",
32789 "typetext" : "<string>"
32790 },
32791 "node" : {
32792 "description" : "The cluster node name.",
32793 "format" : "pve-node",
32794 "type" : "string",
32795 "typetext" : "<string>"
5f26e15b
TL
32796 },
32797 "wakeonlan" : {
32798 "description" : "MAC address for wake on LAN",
32799 "format" : "mac-addr",
32800 "optional" : 1,
32801 "type" : "string",
32802 "typetext" : "<string>"
a9a8e3d1
DM
32803 }
32804 }
32805 },
32806 "permissions" : {
32807 "check" : [
32808 "perm",
32809 "/",
32810 [
32811 "Sys.Modify"
32812 ]
32813 ]
32814 },
32815 "protected" : 1,
32816 "proxyto" : "node",
32817 "returns" : {
32818 "type" : "null"
32819 }
32820 }
32821 },
32822 "leaf" : 1,
32823 "path" : "/nodes/{node}/config",
32824 "text" : "config"
32825 },
56122987 32826 {
56122987
DM
32827 "info" : {
32828 "GET" : {
44660702
DM
32829 "description" : "API version details",
32830 "method" : "GET",
32831 "name" : "version",
56122987 32832 "parameters" : {
44660702 32833 "additionalProperties" : 0,
56122987
DM
32834 "properties" : {
32835 "node" : {
56122987 32836 "description" : "The cluster node name.",
44660702 32837 "format" : "pve-node",
013dc89f
DM
32838 "type" : "string",
32839 "typetext" : "<string>"
56122987 32840 }
44660702 32841 }
56122987 32842 },
56122987 32843 "permissions" : {
7aacca6f 32844 "user" : "all"
56122987 32845 },
56122987 32846 "proxyto" : "node",
56122987 32847 "returns" : {
56122987 32848 "properties" : {
44660702 32849 "release" : {
56122987
DM
32850 "type" : "string"
32851 },
44660702 32852 "repoid" : {
7aacca6f
DM
32853 "type" : "string"
32854 },
32855 "version" : {
32856 "type" : "string"
32857 }
44660702
DM
32858 },
32859 "type" : "object"
7aacca6f 32860 }
56122987
DM
32861 }
32862 },
56122987 32863 "leaf" : 1,
44660702
DM
32864 "path" : "/nodes/{node}/version",
32865 "text" : "version"
56122987
DM
32866 },
32867 {
56122987
DM
32868 "info" : {
32869 "GET" : {
7aacca6f 32870 "description" : "Read node status",
44660702 32871 "method" : "GET",
7aacca6f 32872 "name" : "status",
56122987 32873 "parameters" : {
44660702 32874 "additionalProperties" : 0,
56122987
DM
32875 "properties" : {
32876 "node" : {
7aacca6f 32877 "description" : "The cluster node name.",
44660702 32878 "format" : "pve-node",
013dc89f
DM
32879 "type" : "string",
32880 "typetext" : "<string>"
56122987 32881 }
44660702 32882 }
56122987 32883 },
56122987
DM
32884 "permissions" : {
32885 "check" : [
32886 "perm",
32887 "/nodes/{node}",
32888 [
32889 "Sys.Audit"
32890 ]
32891 ]
44660702
DM
32892 },
32893 "proxyto" : "node",
32894 "returns" : {
44660702 32895 "type" : "object"
7aacca6f
DM
32896 }
32897 },
32898 "POST" : {
44660702
DM
32899 "description" : "Reboot or shutdown a node.",
32900 "method" : "POST",
7aacca6f 32901 "name" : "node_cmd",
56122987 32902 "parameters" : {
44660702 32903 "additionalProperties" : 0,
56122987 32904 "properties" : {
7aacca6f
DM
32905 "command" : {
32906 "description" : "Specify the command.",
56122987 32907 "enum" : [
7aacca6f
DM
32908 "reboot",
32909 "shutdown"
56122987
DM
32910 ],
32911 "type" : "string"
44660702
DM
32912 },
32913 "node" : {
32914 "description" : "The cluster node name.",
32915 "format" : "pve-node",
013dc89f
DM
32916 "type" : "string",
32917 "typetext" : "<string>"
56122987 32918 }
44660702 32919 }
7aacca6f 32920 },
7aacca6f
DM
32921 "permissions" : {
32922 "check" : [
32923 "perm",
32924 "/nodes/{node}",
32925 [
32926 "Sys.PowerMgmt"
32927 ]
32928 ]
32929 },
44660702 32930 "protected" : 1,
7aacca6f 32931 "proxyto" : "node",
7aacca6f
DM
32932 "returns" : {
32933 "type" : "null"
56122987
DM
32934 }
32935 }
32936 },
7aacca6f 32937 "leaf" : 1,
44660702
DM
32938 "path" : "/nodes/{node}/status",
32939 "text" : "status"
56122987
DM
32940 },
32941 {
56122987
DM
32942 "info" : {
32943 "GET" : {
44660702
DM
32944 "description" : "Read tap/vm network device interface counters",
32945 "method" : "GET",
32946 "name" : "netstat",
32947 "parameters" : {
32948 "additionalProperties" : 0,
32949 "properties" : {
32950 "node" : {
32951 "description" : "The cluster node name.",
32952 "format" : "pve-node",
013dc89f
DM
32953 "type" : "string",
32954 "typetext" : "<string>"
44660702 32955 }
56122987
DM
32956 }
32957 },
32958 "permissions" : {
32959 "check" : [
32960 "perm",
32961 "/nodes/{node}",
32962 [
7aacca6f 32963 "Sys.Audit"
56122987
DM
32964 ]
32965 ]
32966 },
7aacca6f 32967 "proxyto" : "node",
44660702
DM
32968 "returns" : {
32969 "items" : {
32970 "properties" : {},
32971 "type" : "object"
32972 },
32973 "type" : "array"
32974 }
7aacca6f
DM
32975 }
32976 },
44660702
DM
32977 "leaf" : 1,
32978 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
32979 "text" : "netstat"
32980 },
32981 {
32982 "info" : {
32983 "POST" : {
7aacca6f 32984 "description" : "Execute multiple commands in order.",
7aacca6f 32985 "method" : "POST",
7aacca6f 32986 "name" : "execute",
56122987
DM
32987 "parameters" : {
32988 "additionalProperties" : 0,
32989 "properties" : {
7aacca6f
DM
32990 "commands" : {
32991 "description" : "JSON encoded array of commands.",
013dc89f
DM
32992 "type" : "string",
32993 "typetext" : "<string>"
56122987
DM
32994 },
32995 "node" : {
44660702 32996 "description" : "The cluster node name.",
56122987 32997 "format" : "pve-node",
013dc89f
DM
32998 "type" : "string",
32999 "typetext" : "<string>"
56122987
DM
33000 }
33001 }
44660702
DM
33002 },
33003 "permissions" : {
33004 "check" : [
33005 "perm",
33006 "/nodes/{node}",
33007 [
33008 "Sys.Audit"
33009 ]
33010 ]
33011 },
33012 "protected" : 1,
33013 "proxyto" : "node",
33014 "returns" : {
44660702 33015 "type" : "array"
56122987
DM
33016 }
33017 }
33018 },
56122987 33019 "leaf" : 1,
44660702
DM
33020 "path" : "/nodes/{node}/execute",
33021 "text" : "execute"
56122987 33022 },
5f26e15b
TL
33023 {
33024 "info" : {
33025 "POST" : {
33026 "description" : "Try to wake a node via 'wake on LAN' network packet.",
33027 "method" : "POST",
33028 "name" : "wakeonlan",
33029 "parameters" : {
33030 "additionalProperties" : 0,
33031 "properties" : {
33032 "node" : {
33033 "description" : "target node for wake on LAN packet",
33034 "format" : "pve-node",
33035 "type" : "string",
33036 "typetext" : "<string>"
33037 }
33038 }
33039 },
33040 "permissions" : {
33041 "check" : [
33042 "perm",
33043 "/nodes/{node}",
33044 [
33045 "Sys.PowerMgmt"
33046 ]
33047 ]
33048 },
33049 "protected" : 1,
33050 "returns" : {
33051 "description" : "MAC address used to assemble the WoL magic packet.",
33052 "format" : "mac-addr",
33053 "type" : "string"
33054 }
33055 }
33056 },
33057 "leaf" : 1,
33058 "path" : "/nodes/{node}/wakeonlan",
33059 "text" : "wakeonlan"
33060 },
56122987
DM
33061 {
33062 "info" : {
7aacca6f 33063 "GET" : {
44660702
DM
33064 "description" : "Read node RRD statistics (returns PNG)",
33065 "method" : "GET",
7aacca6f 33066 "name" : "rrd",
56122987 33067 "parameters" : {
7aacca6f 33068 "additionalProperties" : 0,
56122987 33069 "properties" : {
44660702
DM
33070 "cf" : {
33071 "description" : "The RRD consolidation function",
33072 "enum" : [
33073 "AVERAGE",
33074 "MAX"
33075 ],
33076 "optional" : 1,
33077 "type" : "string"
33078 },
7aacca6f 33079 "ds" : {
7aacca6f 33080 "description" : "The list of datasources you want to display.",
44660702 33081 "format" : "pve-configid-list",
013dc89f
DM
33082 "type" : "string",
33083 "typetext" : "<string>"
44660702
DM
33084 },
33085 "node" : {
33086 "description" : "The cluster node name.",
33087 "format" : "pve-node",
013dc89f
DM
33088 "type" : "string",
33089 "typetext" : "<string>"
7aacca6f
DM
33090 },
33091 "timeframe" : {
33092 "description" : "Specify the time frame you are interested in.",
33093 "enum" : [
33094 "hour",
33095 "day",
33096 "week",
33097 "month",
33098 "year"
33099 ],
33100 "type" : "string"
56122987 33101 }
7aacca6f 33102 }
56122987 33103 },
56122987 33104 "permissions" : {
56122987
DM
33105 "check" : [
33106 "perm",
33107 "/nodes/{node}",
33108 [
7aacca6f 33109 "Sys.Audit"
56122987
DM
33110 ]
33111 ]
33112 },
7aacca6f 33113 "protected" : 1,
56122987 33114 "returns" : {
56122987 33115 "properties" : {
7aacca6f 33116 "filename" : {
56122987
DM
33117 "type" : "string"
33118 }
44660702
DM
33119 },
33120 "type" : "object"
33121 }
56122987
DM
33122 }
33123 },
44660702 33124 "leaf" : 1,
7aacca6f 33125 "path" : "/nodes/{node}/rrd",
44660702 33126 "text" : "rrd"
56122987
DM
33127 },
33128 {
33129 "info" : {
7aacca6f 33130 "GET" : {
44660702
DM
33131 "description" : "Read node RRD statistics",
33132 "method" : "GET",
7aacca6f 33133 "name" : "rrddata",
56122987 33134 "parameters" : {
44660702 33135 "additionalProperties" : 0,
56122987 33136 "properties" : {
7aacca6f 33137 "cf" : {
7aacca6f
DM
33138 "description" : "The RRD consolidation function",
33139 "enum" : [
33140 "AVERAGE",
33141 "MAX"
44660702
DM
33142 ],
33143 "optional" : 1,
33144 "type" : "string"
56122987
DM
33145 },
33146 "node" : {
44660702 33147 "description" : "The cluster node name.",
56122987 33148 "format" : "pve-node",
013dc89f
DM
33149 "type" : "string",
33150 "typetext" : "<string>"
56122987 33151 },
7aacca6f 33152 "timeframe" : {
7aacca6f
DM
33153 "description" : "Specify the time frame you are interested in.",
33154 "enum" : [
33155 "hour",
33156 "day",
33157 "week",
33158 "month",
33159 "year"
44660702
DM
33160 ],
33161 "type" : "string"
56122987 33162 }
56122987
DM
33163 }
33164 },
56122987
DM
33165 "permissions" : {
33166 "check" : [
33167 "perm",
33168 "/nodes/{node}",
33169 [
44660702 33170 "Sys.Audit"
56122987
DM
33171 ]
33172 ]
7aacca6f 33173 },
44660702 33174 "protected" : 1,
56122987 33175 "returns" : {
7aacca6f 33176 "items" : {
44660702 33177 "properties" : {},
7aacca6f
DM
33178 "type" : "object"
33179 },
33180 "type" : "array"
44660702
DM
33181 }
33182 }
33183 },
33184 "leaf" : 1,
33185 "path" : "/nodes/{node}/rrddata",
33186 "text" : "rrddata"
33187 },
33188 {
33189 "info" : {
33190 "GET" : {
33191 "description" : "Read system log",
33192 "method" : "GET",
33193 "name" : "syslog",
56122987 33194 "parameters" : {
44660702 33195 "additionalProperties" : 0,
56122987 33196 "properties" : {
44660702
DM
33197 "limit" : {
33198 "minimum" : 0,
7aacca6f 33199 "optional" : 1,
4bd7df8b 33200 "type" : "integer",
013dc89f 33201 "typetext" : "<integer> (0 - N)"
7aacca6f 33202 },
56122987 33203 "node" : {
7aacca6f 33204 "description" : "The cluster node name.",
44660702 33205 "format" : "pve-node",
013dc89f
DM
33206 "type" : "string",
33207 "typetext" : "<string>"
56122987 33208 },
35a75dd3
DM
33209 "service" : {
33210 "description" : "Service ID",
33211 "maxLength" : 128,
33212 "optional" : 1,
33213 "type" : "string",
33214 "typetext" : "<string>"
33215 },
44660702
DM
33216 "since" : {
33217 "description" : "Display all log since this date-time string.",
33218 "optional" : 1,
33219 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
33220 "type" : "string"
33221 },
33222 "start" : {
7aacca6f
DM
33223 "minimum" : 0,
33224 "optional" : 1,
4bd7df8b 33225 "type" : "integer",
013dc89f 33226 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
33227 },
33228 "until" : {
33229 "description" : "Display all log until this date-time string.",
7aacca6f 33230 "optional" : 1,
44660702 33231 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
33232 "type" : "string"
33233 }
44660702 33234 }
56122987 33235 },
44660702
DM
33236 "permissions" : {
33237 "check" : [
33238 "perm",
33239 "/nodes/{node}",
33240 [
33241 "Sys.Syslog"
33242 ]
33243 ]
33244 },
33245 "protected" : 1,
33246 "proxyto" : "node",
33247 "returns" : {
33248 "items" : {
33249 "properties" : {
33250 "n" : {
33251 "description" : "Line number",
33252 "type" : "integer"
33253 },
33254 "t" : {
33255 "description" : "Line text",
33256 "type" : "string"
33257 }
33258 },
33259 "type" : "object"
33260 },
33261 "type" : "array"
33262 }
56122987
DM
33263 }
33264 },
44660702
DM
33265 "leaf" : 1,
33266 "path" : "/nodes/{node}/syslog",
7aacca6f 33267 "text" : "syslog"
56122987 33268 },
bb4c8cf8
TL
33269 {
33270 "info" : {
33271 "GET" : {
33272 "description" : "Read Journal",
33273 "method" : "GET",
33274 "name" : "journal",
33275 "parameters" : {
33276 "additionalProperties" : 0,
33277 "properties" : {
33278 "endcursor" : {
33279 "description" : "End before the given Cursor. Conflicts with 'until'",
33280 "optional" : 1,
33281 "type" : "string",
33282 "typetext" : "<string>"
33283 },
33284 "lastentries" : {
33285 "description" : "Limit to the last X lines. Conflicts with a range.",
33286 "minimum" : 0,
33287 "optional" : 1,
33288 "type" : "integer",
33289 "typetext" : "<integer> (0 - N)"
33290 },
33291 "node" : {
33292 "description" : "The cluster node name.",
33293 "format" : "pve-node",
33294 "type" : "string",
33295 "typetext" : "<string>"
33296 },
33297 "since" : {
33298 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
33299 "minimum" : 0,
33300 "optional" : 1,
33301 "type" : "integer",
33302 "typetext" : "<integer> (0 - N)"
33303 },
33304 "startcursor" : {
33305 "description" : "Start after the given Cursor. Conflicts with 'since'",
33306 "optional" : 1,
33307 "type" : "string",
33308 "typetext" : "<string>"
33309 },
33310 "until" : {
33311 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
33312 "minimum" : 0,
33313 "optional" : 1,
33314 "type" : "integer",
33315 "typetext" : "<integer> (0 - N)"
33316 }
33317 }
33318 },
33319 "permissions" : {
33320 "check" : [
33321 "perm",
33322 "/nodes/{node}",
33323 [
33324 "Sys.Syslog"
33325 ]
33326 ]
33327 },
33328 "protected" : 1,
33329 "proxyto" : "node",
33330 "returns" : {
33331 "items" : {
33332 "type" : "string"
33333 },
33334 "type" : "array"
33335 }
33336 }
33337 },
33338 "leaf" : 1,
33339 "path" : "/nodes/{node}/journal",
33340 "text" : "journal"
33341 },
56122987 33342 {
56122987
DM
33343 "info" : {
33344 "POST" : {
44660702
DM
33345 "description" : "Creates a VNC Shell proxy.",
33346 "method" : "POST",
33347 "name" : "vncshell",
33348 "parameters" : {
33349 "additionalProperties" : 0,
56122987 33350 "properties" : {
95895385
TL
33351 "cmd" : {
33352 "default" : "login",
33353 "description" : "Run specific command or default to login.",
33354 "enum" : [
95895385 33355 "ceph_install",
bb4c8cf8
TL
33356 "login",
33357 "upgrade"
95895385
TL
33358 ],
33359 "optional" : 1,
33360 "type" : "string"
33361 },
5d9c884c
DM
33362 "height" : {
33363 "description" : "sets the height of the console in pixels.",
33364 "maximum" : 2160,
33365 "minimum" : 16,
33366 "optional" : 1,
33367 "type" : "integer",
33368 "typetext" : "<integer> (16 - 2160)"
33369 },
44660702
DM
33370 "node" : {
33371 "description" : "The cluster node name.",
33372 "format" : "pve-node",
013dc89f
DM
33373 "type" : "string",
33374 "typetext" : "<string>"
7aacca6f 33375 },
44660702
DM
33376 "upgrade" : {
33377 "default" : 0,
95895385 33378 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 33379 "optional" : 1,
013dc89f
DM
33380 "type" : "boolean",
33381 "typetext" : "<boolean>"
7aacca6f 33382 },
44660702
DM
33383 "websocket" : {
33384 "description" : "use websocket instead of standard vnc.",
33385 "optional" : 1,
013dc89f
DM
33386 "type" : "boolean",
33387 "typetext" : "<boolean>"
5d9c884c
DM
33388 },
33389 "width" : {
33390 "description" : "sets the width of the console in pixels.",
33391 "maximum" : 4096,
33392 "minimum" : 16,
33393 "optional" : 1,
33394 "type" : "integer",
33395 "typetext" : "<integer> (16 - 4096)"
56122987 33396 }
44660702 33397 }
56122987 33398 },
56122987
DM
33399 "permissions" : {
33400 "check" : [
33401 "perm",
7aacca6f 33402 "/nodes/{node}",
56122987 33403 [
7aacca6f 33404 "Sys.Console"
56122987 33405 ]
44660702
DM
33406 ],
33407 "description" : "Restricted to users on realm 'pam'"
56122987 33408 },
44660702
DM
33409 "protected" : 1,
33410 "returns" : {
33411 "additionalProperties" : 0,
56122987 33412 "properties" : {
44660702
DM
33413 "cert" : {
33414 "type" : "string"
7aacca6f 33415 },
44660702
DM
33416 "port" : {
33417 "type" : "integer"
7aacca6f 33418 },
44660702
DM
33419 "ticket" : {
33420 "type" : "string"
33421 },
33422 "upid" : {
33423 "type" : "string"
33424 },
33425 "user" : {
33426 "type" : "string"
56122987 33427 }
44660702
DM
33428 }
33429 }
56122987
DM
33430 }
33431 },
7aacca6f 33432 "leaf" : 1,
44660702
DM
33433 "path" : "/nodes/{node}/vncshell",
33434 "text" : "vncshell"
56122987 33435 },
35a75dd3
DM
33436 {
33437 "info" : {
33438 "POST" : {
33439 "description" : "Creates a VNC Shell proxy.",
33440 "method" : "POST",
33441 "name" : "termproxy",
33442 "parameters" : {
33443 "additionalProperties" : 0,
33444 "properties" : {
95895385
TL
33445 "cmd" : {
33446 "default" : "login",
33447 "description" : "Run specific command or default to login.",
33448 "enum" : [
95895385 33449 "ceph_install",
bb4c8cf8
TL
33450 "login",
33451 "upgrade"
95895385
TL
33452 ],
33453 "optional" : 1,
33454 "type" : "string"
33455 },
35a75dd3
DM
33456 "node" : {
33457 "description" : "The cluster node name.",
33458 "format" : "pve-node",
33459 "type" : "string",
33460 "typetext" : "<string>"
33461 },
33462 "upgrade" : {
33463 "default" : 0,
95895385 33464 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
35a75dd3
DM
33465 "optional" : 1,
33466 "type" : "boolean",
33467 "typetext" : "<boolean>"
33468 }
33469 }
33470 },
33471 "permissions" : {
33472 "check" : [
33473 "perm",
33474 "/nodes/{node}",
33475 [
33476 "Sys.Console"
33477 ]
33478 ],
33479 "description" : "Restricted to users on realm 'pam'"
33480 },
33481 "protected" : 1,
33482 "returns" : {
33483 "additionalProperties" : 0,
33484 "properties" : {
33485 "port" : {
33486 "type" : "integer"
33487 },
33488 "ticket" : {
33489 "type" : "string"
33490 },
33491 "upid" : {
33492 "type" : "string"
33493 },
33494 "user" : {
33495 "type" : "string"
33496 }
33497 }
33498 }
33499 }
33500 },
33501 "leaf" : 1,
33502 "path" : "/nodes/{node}/termproxy",
33503 "text" : "termproxy"
33504 },
56122987
DM
33505 {
33506 "info" : {
33507 "GET" : {
7aacca6f 33508 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
33509 "method" : "GET",
33510 "name" : "vncwebsocket",
56122987 33511 "parameters" : {
44660702 33512 "additionalProperties" : 0,
56122987
DM
33513 "properties" : {
33514 "node" : {
33515 "description" : "The cluster node name.",
44660702 33516 "format" : "pve-node",
013dc89f
DM
33517 "type" : "string",
33518 "typetext" : "<string>"
7aacca6f
DM
33519 },
33520 "port" : {
7aacca6f
DM
33521 "description" : "Port number returned by previous vncproxy call.",
33522 "maximum" : 5999,
44660702 33523 "minimum" : 5900,
4bd7df8b 33524 "type" : "integer",
013dc89f 33525 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
33526 },
33527 "vncticket" : {
33528 "description" : "Ticket from previous call to vncproxy.",
33529 "maxLength" : 512,
013dc89f
DM
33530 "type" : "string",
33531 "typetext" : "<string>"
56122987 33532 }
44660702 33533 }
56122987 33534 },
56122987
DM
33535 "permissions" : {
33536 "check" : [
33537 "perm",
33538 "/nodes/{node}",
33539 [
7aacca6f 33540 "Sys.Console"
56122987 33541 ]
44660702
DM
33542 ],
33543 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
33544 },
33545 "returns" : {
33546 "properties" : {
33547 "port" : {
33548 "type" : "string"
33549 }
33550 },
33551 "type" : "object"
7aacca6f 33552 }
56122987
DM
33553 }
33554 },
44660702 33555 "leaf" : 1,
7aacca6f 33556 "path" : "/nodes/{node}/vncwebsocket",
44660702 33557 "text" : "vncwebsocket"
56122987
DM
33558 },
33559 {
33560 "info" : {
33561 "POST" : {
44660702 33562 "description" : "Creates a SPICE shell.",
7aacca6f 33563 "method" : "POST",
44660702 33564 "name" : "spiceshell",
56122987 33565 "parameters" : {
7aacca6f 33566 "additionalProperties" : 0,
56122987 33567 "properties" : {
95895385
TL
33568 "cmd" : {
33569 "default" : "login",
33570 "description" : "Run specific command or default to login.",
33571 "enum" : [
95895385 33572 "ceph_install",
bb4c8cf8
TL
33573 "login",
33574 "upgrade"
95895385
TL
33575 ],
33576 "optional" : 1,
33577 "type" : "string"
33578 },
7aacca6f 33579 "node" : {
44660702 33580 "description" : "The cluster node name.",
56122987 33581 "format" : "pve-node",
013dc89f
DM
33582 "type" : "string",
33583 "typetext" : "<string>"
7aacca6f 33584 },
44660702 33585 "proxy" : {
4d47f125 33586 "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
33587 "format" : "address",
33588 "optional" : 1,
013dc89f
DM
33589 "type" : "string",
33590 "typetext" : "<string>"
7aacca6f 33591 },
44660702
DM
33592 "upgrade" : {
33593 "default" : 0,
95895385 33594 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 33595 "optional" : 1,
013dc89f
DM
33596 "type" : "boolean",
33597 "typetext" : "<boolean>"
56122987 33598 }
7aacca6f 33599 }
56122987 33600 },
56122987
DM
33601 "permissions" : {
33602 "check" : [
33603 "perm",
7aacca6f 33604 "/nodes/{node}",
56122987 33605 [
7aacca6f 33606 "Sys.Console"
56122987 33607 ]
7aacca6f
DM
33608 ],
33609 "description" : "Restricted to users on realm 'pam'"
44660702
DM
33610 },
33611 "protected" : 1,
33612 "proxyto" : "node",
33613 "returns" : {
33614 "additionalProperties" : 1,
33615 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
33616 "properties" : {
33617 "host" : {
33618 "type" : "string"
33619 },
33620 "password" : {
33621 "type" : "string"
33622 },
33623 "proxy" : {
33624 "type" : "string"
33625 },
33626 "tls-port" : {
33627 "type" : "integer"
33628 },
33629 "type" : {
33630 "type" : "string"
33631 }
33632 }
7aacca6f 33633 }
56122987
DM
33634 }
33635 },
56122987 33636 "leaf" : 1,
44660702
DM
33637 "path" : "/nodes/{node}/spiceshell",
33638 "text" : "spiceshell"
56122987
DM
33639 },
33640 {
56122987 33641 "info" : {
7aacca6f 33642 "GET" : {
44660702 33643 "description" : "Read DNS settings.",
7aacca6f 33644 "method" : "GET",
44660702
DM
33645 "name" : "dns",
33646 "parameters" : {
7aacca6f
DM
33647 "additionalProperties" : 0,
33648 "properties" : {
44660702
DM
33649 "node" : {
33650 "description" : "The cluster node name.",
33651 "format" : "pve-node",
013dc89f
DM
33652 "type" : "string",
33653 "typetext" : "<string>"
7aacca6f
DM
33654 }
33655 }
33656 },
7aacca6f
DM
33657 "permissions" : {
33658 "check" : [
33659 "perm",
33660 "/nodes/{node}",
33661 [
33662 "Sys.Audit"
33663 ]
33664 ]
33665 },
44660702
DM
33666 "proxyto" : "node",
33667 "returns" : {
56122987
DM
33668 "additionalProperties" : 0,
33669 "properties" : {
44660702
DM
33670 "dns1" : {
33671 "description" : "First name server IP address.",
33672 "optional" : 1,
33673 "type" : "string"
33674 },
33675 "dns2" : {
33676 "description" : "Second name server IP address.",
33677 "optional" : 1,
33678 "type" : "string"
33679 },
33680 "dns3" : {
33681 "description" : "Third name server IP address.",
33682 "optional" : 1,
33683 "type" : "string"
33684 },
33685 "search" : {
33686 "description" : "Search domain for host-name lookup.",
33687 "optional" : 1,
33688 "type" : "string"
7aacca6f 33689 }
44660702
DM
33690 },
33691 "type" : "object"
33692 }
7aacca6f
DM
33693 },
33694 "PUT" : {
44660702
DM
33695 "description" : "Write DNS settings.",
33696 "method" : "PUT",
7aacca6f
DM
33697 "name" : "update_dns",
33698 "parameters" : {
33699 "additionalProperties" : 0,
33700 "properties" : {
44660702
DM
33701 "dns1" : {
33702 "description" : "First name server IP address.",
33703 "format" : "ip",
33704 "optional" : 1,
013dc89f
DM
33705 "type" : "string",
33706 "typetext" : "<string>"
7aacca6f 33707 },
44660702
DM
33708 "dns2" : {
33709 "description" : "Second name server IP address.",
33710 "format" : "ip",
7aacca6f 33711 "optional" : 1,
013dc89f
DM
33712 "type" : "string",
33713 "typetext" : "<string>"
7aacca6f 33714 },
44660702
DM
33715 "dns3" : {
33716 "description" : "Third name server IP address.",
33717 "format" : "ip",
7aacca6f 33718 "optional" : 1,
013dc89f
DM
33719 "type" : "string",
33720 "typetext" : "<string>"
7aacca6f
DM
33721 },
33722 "node" : {
44660702 33723 "description" : "The cluster node name.",
56122987 33724 "format" : "pve-node",
013dc89f
DM
33725 "type" : "string",
33726 "typetext" : "<string>"
7aacca6f 33727 },
44660702
DM
33728 "search" : {
33729 "description" : "Search domain for host-name lookup.",
013dc89f
DM
33730 "type" : "string",
33731 "typetext" : "<string>"
56122987
DM
33732 }
33733 }
33734 },
33735 "permissions" : {
33736 "check" : [
33737 "perm",
7aacca6f 33738 "/nodes/{node}",
56122987 33739 [
7aacca6f 33740 "Sys.Modify"
56122987
DM
33741 ]
33742 ]
33743 },
44660702 33744 "protected" : 1,
7aacca6f 33745 "proxyto" : "node",
56122987 33746 "returns" : {
7aacca6f
DM
33747 "type" : "null"
33748 }
56122987 33749 }
44660702
DM
33750 },
33751 "leaf" : 1,
33752 "path" : "/nodes/{node}/dns",
33753 "text" : "dns"
56122987
DM
33754 },
33755 {
33756 "info" : {
7aacca6f 33757 "GET" : {
7aacca6f 33758 "description" : "Read server time and time zone settings.",
44660702
DM
33759 "method" : "GET",
33760 "name" : "time",
56122987 33761 "parameters" : {
44660702 33762 "additionalProperties" : 0,
56122987
DM
33763 "properties" : {
33764 "node" : {
44660702 33765 "description" : "The cluster node name.",
56122987 33766 "format" : "pve-node",
013dc89f
DM
33767 "type" : "string",
33768 "typetext" : "<string>"
56122987 33769 }
44660702 33770 }
56122987
DM
33771 },
33772 "permissions" : {
33773 "check" : [
33774 "perm",
7aacca6f 33775 "/nodes/{node}",
56122987 33776 [
7aacca6f 33777 "Sys.Audit"
56122987
DM
33778 ]
33779 ]
44660702
DM
33780 },
33781 "proxyto" : "node",
33782 "returns" : {
33783 "additionalProperties" : 0,
33784 "properties" : {
33785 "localtime" : {
33786 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
33787 "minimum" : 1297163644,
4d47f125 33788 "renderer" : "timestamp_gmt",
44660702
DM
33789 "type" : "integer"
33790 },
33791 "time" : {
33792 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
33793 "minimum" : 1297163644,
4d47f125 33794 "renderer" : "timestamp",
44660702
DM
33795 "type" : "integer"
33796 },
33797 "timezone" : {
33798 "description" : "Time zone",
33799 "type" : "string"
33800 }
33801 },
33802 "type" : "object"
7aacca6f
DM
33803 }
33804 },
33805 "PUT" : {
7aacca6f 33806 "description" : "Set time zone.",
44660702
DM
33807 "method" : "PUT",
33808 "name" : "set_timezone",
33809 "parameters" : {
33810 "additionalProperties" : 0,
33811 "properties" : {
33812 "node" : {
33813 "description" : "The cluster node name.",
33814 "format" : "pve-node",
013dc89f
DM
33815 "type" : "string",
33816 "typetext" : "<string>"
44660702
DM
33817 },
33818 "timezone" : {
33819 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
33820 "type" : "string",
33821 "typetext" : "<string>"
44660702
DM
33822 }
33823 }
33824 },
7aacca6f
DM
33825 "permissions" : {
33826 "check" : [
33827 "perm",
33828 "/nodes/{node}",
33829 [
33830 "Sys.Modify"
33831 ]
33832 ]
56122987 33833 },
7aacca6f 33834 "protected" : 1,
44660702
DM
33835 "proxyto" : "node",
33836 "returns" : {
33837 "type" : "null"
33838 }
7aacca6f
DM
33839 }
33840 },
7aacca6f 33841 "leaf" : 1,
44660702
DM
33842 "path" : "/nodes/{node}/time",
33843 "text" : "time"
7aacca6f
DM
33844 },
33845 {
33846 "info" : {
44660702
DM
33847 "GET" : {
33848 "description" : "Get list of appliances.",
33849 "method" : "GET",
33850 "name" : "aplinfo",
7aacca6f
DM
33851 "parameters" : {
33852 "additionalProperties" : 0,
33853 "properties" : {
7aacca6f 33854 "node" : {
44660702 33855 "description" : "The cluster node name.",
7aacca6f 33856 "format" : "pve-node",
013dc89f
DM
33857 "type" : "string",
33858 "typetext" : "<string>"
7aacca6f
DM
33859 }
33860 }
56122987 33861 },
7aacca6f 33862 "permissions" : {
44660702 33863 "user" : "all"
56122987 33864 },
44660702 33865 "proxyto" : "node",
7aacca6f
DM
33866 "returns" : {
33867 "items" : {
44660702
DM
33868 "properties" : {},
33869 "type" : "object"
7aacca6f
DM
33870 },
33871 "type" : "array"
44660702
DM
33872 }
33873 },
33874 "POST" : {
33875 "description" : "Download appliance templates.",
33876 "method" : "POST",
33877 "name" : "apl_download",
7aacca6f
DM
33878 "parameters" : {
33879 "additionalProperties" : 0,
33880 "properties" : {
33881 "node" : {
7aacca6f 33882 "description" : "The cluster node name.",
44660702 33883 "format" : "pve-node",
013dc89f
DM
33884 "type" : "string",
33885 "typetext" : "<string>"
44660702
DM
33886 },
33887 "storage" : {
4bd7df8b 33888 "description" : "The storage where the template will be stored",
44660702 33889 "format" : "pve-storage-id",
013dc89f
DM
33890 "type" : "string",
33891 "typetext" : "<string>"
44660702
DM
33892 },
33893 "template" : {
33894 "description" : "The template wich will downloaded",
33895 "maxLength" : 255,
013dc89f
DM
33896 "type" : "string",
33897 "typetext" : "<string>"
7aacca6f
DM
33898 }
33899 }
56122987 33900 },
7aacca6f 33901 "permissions" : {
44660702
DM
33902 "check" : [
33903 "perm",
33904 "/storage/{storage}",
33905 [
33906 "Datastore.AllocateTemplate"
33907 ]
33908 ]
33909 },
33910 "protected" : 1,
33911 "proxyto" : "node",
33912 "returns" : {
33913 "type" : "string"
7aacca6f
DM
33914 }
33915 }
33916 },
7aacca6f 33917 "leaf" : 1,
44660702
DM
33918 "path" : "/nodes/{node}/aplinfo",
33919 "text" : "aplinfo"
7aacca6f
DM
33920 },
33921 {
33922 "info" : {
33923 "GET" : {
44660702
DM
33924 "description" : "Gather various systems information about a node",
33925 "method" : "GET",
33926 "name" : "report",
7aacca6f 33927 "parameters" : {
44660702 33928 "additionalProperties" : 0,
7aacca6f
DM
33929 "properties" : {
33930 "node" : {
7aacca6f 33931 "description" : "The cluster node name.",
44660702 33932 "format" : "pve-node",
013dc89f
DM
33933 "type" : "string",
33934 "typetext" : "<string>"
7aacca6f 33935 }
44660702 33936 }
56122987 33937 },
7aacca6f
DM
33938 "permissions" : {
33939 "check" : [
33940 "perm",
33941 "/nodes/{node}",
33942 [
33943 "Sys.Audit"
33944 ]
33945 ]
56122987 33946 },
44660702 33947 "protected" : 1,
7aacca6f
DM
33948 "proxyto" : "node",
33949 "returns" : {
56122987 33950 "type" : "string"
7aacca6f
DM
33951 }
33952 }
33953 },
7aacca6f 33954 "leaf" : 1,
44660702
DM
33955 "path" : "/nodes/{node}/report",
33956 "text" : "report"
7aacca6f
DM
33957 },
33958 {
7aacca6f
DM
33959 "info" : {
33960 "POST" : {
44660702 33961 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 33962 "method" : "POST",
44660702 33963 "name" : "startall",
7aacca6f 33964 "parameters" : {
44660702 33965 "additionalProperties" : 0,
7aacca6f
DM
33966 "properties" : {
33967 "force" : {
44660702 33968 "description" : "force if onboot=0.",
7aacca6f 33969 "optional" : 1,
013dc89f
DM
33970 "type" : "boolean",
33971 "typetext" : "<boolean>"
7aacca6f
DM
33972 },
33973 "node" : {
7aacca6f 33974 "description" : "The cluster node name.",
44660702 33975 "format" : "pve-node",
013dc89f
DM
33976 "type" : "string",
33977 "typetext" : "<string>"
52e44c50
FG
33978 },
33979 "vms" : {
33980 "description" : "Only consider Guests with these IDs.",
33981 "format" : "pve-vmid-list",
33982 "optional" : 1,
33983 "type" : "string",
33984 "typetext" : "<string>"
7aacca6f 33985 }
44660702 33986 }
56122987 33987 },
7aacca6f
DM
33988 "permissions" : {
33989 "check" : [
33990 "perm",
33991 "/",
33992 [
33993 "VM.PowerMgmt"
33994 ]
33995 ]
44660702
DM
33996 },
33997 "protected" : 1,
33998 "proxyto" : "node",
33999 "returns" : {
34000 "type" : "string"
7aacca6f
DM
34001 }
34002 }
34003 },
44660702 34004 "leaf" : 1,
7aacca6f 34005 "path" : "/nodes/{node}/startall",
44660702 34006 "text" : "startall"
7aacca6f
DM
34007 },
34008 {
7aacca6f
DM
34009 "info" : {
34010 "POST" : {
34011 "description" : "Stop all VMs and Containers.",
44660702
DM
34012 "method" : "POST",
34013 "name" : "stopall",
7aacca6f 34014 "parameters" : {
44660702 34015 "additionalProperties" : 0,
7aacca6f
DM
34016 "properties" : {
34017 "node" : {
44660702 34018 "description" : "The cluster node name.",
7aacca6f 34019 "format" : "pve-node",
013dc89f
DM
34020 "type" : "string",
34021 "typetext" : "<string>"
52e44c50
FG
34022 },
34023 "vms" : {
34024 "description" : "Only consider Guests with these IDs.",
34025 "format" : "pve-vmid-list",
34026 "optional" : 1,
34027 "type" : "string",
34028 "typetext" : "<string>"
7aacca6f 34029 }
44660702 34030 }
56122987 34031 },
7aacca6f
DM
34032 "permissions" : {
34033 "check" : [
34034 "perm",
34035 "/",
34036 [
44660702 34037 "VM.PowerMgmt"
7aacca6f
DM
34038 ]
34039 ]
56122987 34040 },
44660702 34041 "protected" : 1,
7aacca6f 34042 "proxyto" : "node",
44660702
DM
34043 "returns" : {
34044 "type" : "string"
34045 }
34046 }
56122987 34047 },
44660702
DM
34048 "leaf" : 1,
34049 "path" : "/nodes/{node}/stopall",
34050 "text" : "stopall"
34051 },
34052 {
34053 "info" : {
34054 "POST" : {
34055 "description" : "Migrate all VMs and Containers.",
34056 "method" : "POST",
34057 "name" : "migrateall",
34058 "parameters" : {
34059 "additionalProperties" : 0,
34060 "properties" : {
34061 "maxworkers" : {
34062 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
34063 "minimum" : 1,
34064 "optional" : 1,
4bd7df8b 34065 "type" : "integer",
013dc89f 34066 "typetext" : "<integer> (1 - N)"
44660702
DM
34067 },
34068 "node" : {
34069 "description" : "The cluster node name.",
34070 "format" : "pve-node",
013dc89f
DM
34071 "type" : "string",
34072 "typetext" : "<string>"
44660702
DM
34073 },
34074 "target" : {
34075 "description" : "Target node.",
34076 "format" : "pve-node",
013dc89f
DM
34077 "type" : "string",
34078 "typetext" : "<string>"
52e44c50
FG
34079 },
34080 "vms" : {
34081 "description" : "Only consider Guests with these IDs.",
34082 "format" : "pve-vmid-list",
34083 "optional" : 1,
34084 "type" : "string",
34085 "typetext" : "<string>"
44660702
DM
34086 }
34087 }
34088 },
34089 "permissions" : {
34090 "check" : [
34091 "perm",
34092 "/",
34093 [
34094 "VM.Migrate"
34095 ]
34096 ]
34097 },
34098 "protected" : 1,
34099 "proxyto" : "node",
34100 "returns" : {
34101 "type" : "string"
34102 }
34103 }
56122987 34104 },
44660702
DM
34105 "leaf" : 1,
34106 "path" : "/nodes/{node}/migrateall",
34107 "text" : "migrateall"
4d47f125
TL
34108 },
34109 {
34110 "info" : {
34111 "GET" : {
34112 "description" : "Get the content of /etc/hosts.",
34113 "method" : "GET",
34114 "name" : "get_etc_hosts",
34115 "parameters" : {
34116 "additionalProperties" : 0,
34117 "properties" : {
34118 "node" : {
34119 "description" : "The cluster node name.",
34120 "format" : "pve-node",
34121 "type" : "string",
34122 "typetext" : "<string>"
34123 }
34124 }
34125 },
34126 "permissions" : {
34127 "check" : [
34128 "perm",
34129 "/",
34130 [
34131 "Sys.Audit"
34132 ]
34133 ]
34134 },
34135 "protected" : 1,
34136 "proxyto" : "node",
34137 "returns" : {
34138 "properties" : {
34139 "data" : {
34140 "description" : "The content of /etc/hosts.",
34141 "type" : "string"
34142 },
34143 "digest" : {
34144 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34145 "maxLength" : 40,
34146 "optional" : 1,
34147 "type" : "string"
34148 }
34149 },
34150 "type" : "object"
34151 }
34152 },
34153 "POST" : {
34154 "description" : "Write /etc/hosts.",
34155 "method" : "POST",
34156 "name" : "write_etc_hosts",
34157 "parameters" : {
34158 "additionalProperties" : 0,
34159 "properties" : {
34160 "data" : {
34161 "description" : "The target content of /etc/hosts.",
34162 "type" : "string",
34163 "typetext" : "<string>"
34164 },
34165 "digest" : {
34166 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34167 "maxLength" : 40,
34168 "optional" : 1,
34169 "type" : "string",
34170 "typetext" : "<string>"
34171 },
34172 "node" : {
34173 "description" : "The cluster node name.",
34174 "format" : "pve-node",
34175 "type" : "string",
34176 "typetext" : "<string>"
34177 }
34178 }
34179 },
34180 "permissions" : {
34181 "check" : [
34182 "perm",
34183 "/nodes/{node}",
34184 [
34185 "Sys.Modify"
34186 ]
34187 ]
34188 },
34189 "protected" : 1,
34190 "proxyto" : "node",
34191 "returns" : {
34192 "type" : "null"
34193 }
34194 }
34195 },
34196 "leaf" : 1,
34197 "path" : "/nodes/{node}/hosts",
34198 "text" : "hosts"
44660702
DM
34199 }
34200 ],
34201 "info" : {
34202 "GET" : {
34203 "description" : "Node index.",
34204 "method" : "GET",
34205 "name" : "index",
34206 "parameters" : {
34207 "additionalProperties" : 0,
34208 "properties" : {
34209 "node" : {
34210 "description" : "The cluster node name.",
34211 "format" : "pve-node",
013dc89f
DM
34212 "type" : "string",
34213 "typetext" : "<string>"
44660702
DM
34214 }
34215 }
56122987 34216 },
44660702
DM
34217 "permissions" : {
34218 "user" : "all"
56122987 34219 },
44660702
DM
34220 "returns" : {
34221 "items" : {
34222 "properties" : {},
34223 "type" : "object"
34224 },
34225 "links" : [
34226 {
34227 "href" : "{name}",
34228 "rel" : "child"
34229 }
56122987 34230 ],
44660702 34231 "type" : "array"
7aacca6f
DM
34232 }
34233 }
34234 },
44660702
DM
34235 "leaf" : 0,
34236 "path" : "/nodes/{node}",
34237 "text" : "{node}"
34238 }
34239 ],
34240 "info" : {
7aacca6f 34241 "GET" : {
44660702 34242 "description" : "Cluster node index.",
7aacca6f 34243 "method" : "GET",
44660702 34244 "name" : "index",
7aacca6f 34245 "parameters" : {
7aacca6f
DM
34246 "additionalProperties" : 0
34247 },
34248 "permissions" : {
7aacca6f
DM
34249 "user" : "all"
34250 },
44660702
DM
34251 "returns" : {
34252 "items" : {
4d47f125
TL
34253 "properties" : {
34254 "cpu" : {
34255 "description" : "CPU utilization.",
34256 "optional" : 1,
34257 "renderer" : "fraction_as_percentage",
34258 "type" : "number"
34259 },
34260 "level" : {
34261 "description" : "Support level.",
34262 "optional" : 1,
34263 "type" : "string"
34264 },
34265 "maxcpu" : {
34266 "description" : "Number of available CPUs.",
34267 "optional" : 1,
34268 "type" : "integer"
34269 },
34270 "maxmem" : {
34271 "description" : "Number of available memory in bytes.",
34272 "optional" : 1,
34273 "renderer" : "bytes",
34274 "type" : "integer"
34275 },
34276 "mem" : {
34277 "description" : "Used memory in bytes.",
34278 "optional" : 1,
34279 "renderer" : "bytes",
34280 "type" : "string"
34281 },
34282 "node" : {
34283 "description" : "The cluster node name.",
34284 "format" : "pve-node",
34285 "type" : "string"
34286 },
34287 "ssl_fingerprint" : {
34288 "description" : "The SSL fingerprint for the node certificate.",
34289 "optional" : 1,
34290 "type" : "string"
34291 },
34292 "status" : {
34293 "description" : "Node status.",
34294 "enum" : [
34295 "unknown",
34296 "online",
34297 "offline"
34298 ],
34299 "type" : "string"
34300 },
34301 "uptime" : {
34302 "description" : "Node uptime in seconds.",
34303 "optional" : 1,
34304 "renderer" : "duration",
34305 "type" : "integer"
34306 }
34307 },
44660702
DM
34308 "type" : "object"
34309 },
34310 "links" : [
34311 {
34312 "href" : "{node}",
34313 "rel" : "child"
34314 }
34315 ],
34316 "type" : "array"
34317 }
7aacca6f
DM
34318 }
34319 },
44660702
DM
34320 "leaf" : 0,
34321 "path" : "/nodes",
34322 "text" : "nodes"
34323 },
34324 {
7aacca6f
DM
34325 "children" : [
34326 {
7aacca6f 34327 "info" : {
44660702
DM
34328 "DELETE" : {
34329 "description" : "Delete storage configuration.",
34330 "method" : "DELETE",
34331 "name" : "delete",
7aacca6f
DM
34332 "parameters" : {
34333 "additionalProperties" : 0,
34334 "properties" : {
34335 "storage" : {
7aacca6f 34336 "description" : "The storage identifier.",
44660702 34337 "format" : "pve-storage-id",
013dc89f
DM
34338 "type" : "string",
34339 "typetext" : "<string>"
7aacca6f
DM
34340 }
34341 }
56122987 34342 },
7aacca6f
DM
34343 "permissions" : {
34344 "check" : [
34345 "perm",
34346 "/storage",
34347 [
34348 "Datastore.Allocate"
34349 ]
34350 ]
56122987 34351 },
44660702
DM
34352 "protected" : 1,
34353 "returns" : {
34354 "type" : "null"
34355 }
34356 },
34357 "GET" : {
34358 "description" : "Read storage configuration.",
34359 "method" : "GET",
34360 "name" : "read",
7aacca6f
DM
34361 "parameters" : {
34362 "additionalProperties" : 0,
34363 "properties" : {
34364 "storage" : {
44660702 34365 "description" : "The storage identifier.",
7aacca6f 34366 "format" : "pve-storage-id",
013dc89f
DM
34367 "type" : "string",
34368 "typetext" : "<string>"
7aacca6f
DM
34369 }
34370 }
34371 },
44660702
DM
34372 "permissions" : {
34373 "check" : [
34374 "perm",
34375 "/storage/{storage}",
34376 [
34377 "Datastore.Allocate"
34378 ]
34379 ]
34380 },
5da3d723
TL
34381 "returns" : {
34382 "type" : "object"
34383 }
7aacca6f
DM
34384 },
34385 "PUT" : {
44660702
DM
34386 "description" : "Update storage configuration.",
34387 "method" : "PUT",
34388 "name" : "update",
34389 "parameters" : {
34390 "additionalProperties" : 0,
34391 "properties" : {
34392 "blocksize" : {
34393 "description" : "block size",
7aacca6f 34394 "optional" : 1,
013dc89f
DM
34395 "type" : "string",
34396 "typetext" : "<string>"
7aacca6f 34397 },
27a7acb2
DM
34398 "bwlimit" : {
34399 "description" : "Set bandwidth/io limits various operations.",
34400 "format" : {
34401 "clone" : {
95895385 34402 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
34403 "format_description" : "LIMIT",
34404 "minimum" : "0",
34405 "optional" : 1,
34406 "type" : "number"
34407 },
34408 "default" : {
95895385 34409 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
34410 "format_description" : "LIMIT",
34411 "minimum" : "0",
34412 "optional" : 1,
34413 "type" : "number"
34414 },
34415 "migration" : {
95895385 34416 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
34417 "format_description" : "LIMIT",
34418 "minimum" : "0",
34419 "optional" : 1,
34420 "type" : "number"
34421 },
34422 "move" : {
95895385 34423 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
34424 "format_description" : "LIMIT",
34425 "minimum" : "0",
34426 "optional" : 1,
34427 "type" : "number"
34428 },
34429 "restore" : {
95895385 34430 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
34431 "format_description" : "LIMIT",
34432 "minimum" : "0",
34433 "optional" : 1,
34434 "type" : "number"
34435 }
34436 },
34437 "optional" : 1,
34438 "type" : "string",
34439 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
34440 },
44660702
DM
34441 "comstar_hg" : {
34442 "description" : "host group for comstar views",
34443 "optional" : 1,
013dc89f
DM
34444 "type" : "string",
34445 "typetext" : "<string>"
7aacca6f 34446 },
44660702
DM
34447 "comstar_tg" : {
34448 "description" : "target group for comstar views",
7aacca6f 34449 "optional" : 1,
013dc89f
DM
34450 "type" : "string",
34451 "typetext" : "<string>"
7aacca6f 34452 },
44660702
DM
34453 "content" : {
34454 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
34455 "format" : "pve-storage-content-list",
7aacca6f 34456 "optional" : 1,
013dc89f
DM
34457 "type" : "string",
34458 "typetext" : "<string>"
7aacca6f 34459 },
44660702
DM
34460 "delete" : {
34461 "description" : "A list of settings you want to delete.",
34462 "format" : "pve-configid-list",
34463 "maxLength" : 4096,
7aacca6f 34464 "optional" : 1,
013dc89f
DM
34465 "type" : "string",
34466 "typetext" : "<string>"
7aacca6f
DM
34467 },
34468 "digest" : {
44660702 34469 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 34470 "maxLength" : 40,
7aacca6f 34471 "optional" : 1,
013dc89f
DM
34472 "type" : "string",
34473 "typetext" : "<string>"
7aacca6f 34474 },
44660702
DM
34475 "disable" : {
34476 "description" : "Flag to disable the storage.",
34477 "optional" : 1,
013dc89f
DM
34478 "type" : "boolean",
34479 "typetext" : "<boolean>"
7aacca6f 34480 },
27a7acb2
DM
34481 "domain" : {
34482 "description" : "CIFS domain.",
34483 "maxLength" : 256,
34484 "optional" : 1,
34485 "type" : "string",
34486 "typetext" : "<string>"
34487 },
7aacca6f
DM
34488 "format" : {
34489 "description" : "Default image format.",
44660702 34490 "format" : "pve-storage-format",
7aacca6f 34491 "optional" : 1,
013dc89f
DM
34492 "type" : "string",
34493 "typetext" : "<string>"
7aacca6f 34494 },
5da3d723
TL
34495 "fuse" : {
34496 "description" : "Mount CephFS through FUSE.",
34497 "optional" : 1,
34498 "type" : "boolean",
34499 "typetext" : "<boolean>"
34500 },
2c0dde61
DM
34501 "is_mountpoint" : {
34502 "default" : "no",
2489d6df 34503 "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 34504 "optional" : 1,
2489d6df
WB
34505 "type" : "string",
34506 "typetext" : "<string>"
2c0dde61 34507 },
44660702 34508 "krbd" : {
e2d681b3 34509 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 34510 "optional" : 1,
013dc89f
DM
34511 "type" : "boolean",
34512 "typetext" : "<boolean>"
7aacca6f 34513 },
4d47f125
TL
34514 "lio_tpg" : {
34515 "description" : "target portal group for Linux LIO targets",
34516 "optional" : 1,
34517 "type" : "string",
34518 "typetext" : "<string>"
34519 },
44660702
DM
34520 "maxfiles" : {
34521 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
34522 "minimum" : 0,
34523 "optional" : 1,
4bd7df8b 34524 "type" : "integer",
013dc89f 34525 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
34526 },
34527 "mkdir" : {
34528 "default" : "yes",
34529 "description" : "Create the directory if it doesn't exist.",
34530 "optional" : 1,
013dc89f
DM
34531 "type" : "boolean",
34532 "typetext" : "<boolean>"
7aacca6f 34533 },
2489d6df
WB
34534 "monhost" : {
34535 "description" : "IP addresses of monitors (for external clusters).",
34536 "format" : "pve-storage-portal-dns-list",
34537 "optional" : 1,
34538 "type" : "string",
34539 "typetext" : "<string>"
34540 },
7aacca6f 34541 "nodes" : {
44660702 34542 "description" : "List of cluster node names.",
7aacca6f
DM
34543 "format" : "pve-node-list",
34544 "optional" : 1,
013dc89f
DM
34545 "type" : "string",
34546 "typetext" : "<string>"
7aacca6f 34547 },
44660702
DM
34548 "nowritecache" : {
34549 "description" : "disable write caching on the target",
7aacca6f 34550 "optional" : 1,
013dc89f
DM
34551 "type" : "boolean",
34552 "typetext" : "<boolean>"
7aacca6f
DM
34553 },
34554 "options" : {
7aacca6f 34555 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
34556 "format" : "pve-storage-options",
34557 "optional" : 1,
013dc89f
DM
34558 "type" : "string",
34559 "typetext" : "<string>"
44660702 34560 },
27a7acb2
DM
34561 "password" : {
34562 "description" : "Password for CIFS share.",
34563 "maxLength" : 256,
34564 "optional" : 1,
34565 "type" : "string",
34566 "typetext" : "<string>"
34567 },
44660702
DM
34568 "pool" : {
34569 "description" : "Pool.",
34570 "optional" : 1,
013dc89f
DM
34571 "type" : "string",
34572 "typetext" : "<string>"
44660702
DM
34573 },
34574 "redundancy" : {
34575 "default" : 2,
34576 "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.",
34577 "maximum" : 16,
34578 "minimum" : 1,
34579 "optional" : 1,
4bd7df8b 34580 "type" : "integer",
013dc89f 34581 "typetext" : "<integer> (1 - 16)"
44660702
DM
34582 },
34583 "saferemove" : {
34584 "description" : "Zero-out data when removing LVs.",
34585 "optional" : 1,
013dc89f
DM
34586 "type" : "boolean",
34587 "typetext" : "<boolean>"
7aacca6f
DM
34588 },
34589 "saferemove_throughput" : {
44660702 34590 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 34591 "optional" : 1,
013dc89f
DM
34592 "type" : "string",
34593 "typetext" : "<string>"
7aacca6f 34594 },
44660702
DM
34595 "server" : {
34596 "description" : "Server IP or DNS name.",
34597 "format" : "pve-storage-server",
7aacca6f 34598 "optional" : 1,
013dc89f
DM
34599 "type" : "string",
34600 "typetext" : "<string>"
7aacca6f 34601 },
44660702
DM
34602 "server2" : {
34603 "description" : "Backup volfile server IP or DNS name.",
34604 "format" : "pve-storage-server",
7aacca6f 34605 "optional" : 1,
44660702 34606 "requires" : "server",
013dc89f
DM
34607 "type" : "string",
34608 "typetext" : "<string>"
44660702
DM
34609 },
34610 "shared" : {
34611 "description" : "Mark storage as shared.",
34612 "optional" : 1,
013dc89f
DM
34613 "type" : "boolean",
34614 "typetext" : "<boolean>"
44660702 34615 },
27a7acb2 34616 "smbversion" : {
5da3d723
TL
34617 "description" : "SMB protocol version",
34618 "enum" : [
34619 "2.0",
34620 "2.1",
34621 "3.0"
34622 ],
27a7acb2 34623 "optional" : 1,
5da3d723 34624 "type" : "string"
27a7acb2 34625 },
44660702
DM
34626 "sparse" : {
34627 "description" : "use sparse volumes",
34628 "optional" : 1,
013dc89f
DM
34629 "type" : "boolean",
34630 "typetext" : "<boolean>"
44660702
DM
34631 },
34632 "storage" : {
34633 "description" : "The storage identifier.",
34634 "format" : "pve-storage-id",
013dc89f
DM
34635 "type" : "string",
34636 "typetext" : "<string>"
44660702 34637 },
5da3d723
TL
34638 "subdir" : {
34639 "description" : "Subdir to mount.",
34640 "format" : "pve-storage-path",
34641 "optional" : 1,
34642 "type" : "string",
34643 "typetext" : "<string>"
34644 },
4bd7df8b
DM
34645 "tagged_only" : {
34646 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
34647 "optional" : 1,
013dc89f
DM
34648 "type" : "boolean",
34649 "typetext" : "<boolean>"
4bd7df8b 34650 },
44660702
DM
34651 "transport" : {
34652 "description" : "Gluster transport: tcp or rdma",
34653 "enum" : [
34654 "tcp",
34655 "rdma",
34656 "unix"
34657 ],
34658 "optional" : 1,
34659 "type" : "string"
7aacca6f
DM
34660 },
34661 "username" : {
34662 "description" : "RBD Id.",
44660702 34663 "optional" : 1,
013dc89f
DM
34664 "type" : "string",
34665 "typetext" : "<string>"
7aacca6f 34666 }
44660702
DM
34667 },
34668 "type" : "object"
34669 },
34670 "permissions" : {
34671 "check" : [
34672 "perm",
34673 "/storage",
34674 [
34675 "Datastore.Allocate"
34676 ]
34677 ]
34678 },
34679 "protected" : 1,
34680 "returns" : {
34681 "type" : "null"
34682 }
34683 }
34684 },
34685 "leaf" : 1,
34686 "path" : "/storage/{storage}",
34687 "text" : "{storage}"
34688 }
34689 ],
34690 "info" : {
34691 "GET" : {
34692 "description" : "Storage index.",
34693 "method" : "GET",
34694 "name" : "index",
34695 "parameters" : {
34696 "additionalProperties" : 0,
34697 "properties" : {
34698 "type" : {
34699 "description" : "Only list storage of specific type",
34700 "enum" : [
5da3d723 34701 "cephfs",
27a7acb2 34702 "cifs",
44660702
DM
34703 "dir",
34704 "drbd",
e2d681b3 34705 "fake",
44660702
DM
34706 "glusterfs",
34707 "iscsi",
34708 "iscsidirect",
34709 "lvm",
34710 "lvmthin",
34711 "nfs",
34712 "rbd",
34713 "sheepdog",
34714 "zfs",
34715 "zfspool"
34716 ],
34717 "optional" : 1,
34718 "type" : "string"
34719 }
34720 }
34721 },
34722 "permissions" : {
34723 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
34724 "user" : "all"
34725 },
34726 "returns" : {
34727 "items" : {
34728 "properties" : {
34729 "storage" : {
34730 "type" : "string"
7aacca6f 34731 }
56122987 34732 },
44660702
DM
34733 "type" : "object"
34734 },
34735 "links" : [
34736 {
34737 "href" : "{storage}",
34738 "rel" : "child"
34739 }
34740 ],
34741 "type" : "array"
34742 }
34743 },
34744 "POST" : {
34745 "description" : "Create a new storage.",
34746 "method" : "POST",
34747 "name" : "create",
34748 "parameters" : {
34749 "additionalProperties" : 0,
34750 "properties" : {
34751 "authsupported" : {
34752 "description" : "Authsupported.",
34753 "optional" : 1,
013dc89f
DM
34754 "type" : "string",
34755 "typetext" : "<string>"
44660702
DM
34756 },
34757 "base" : {
34758 "description" : "Base volume. This volume is automatically activated.",
34759 "format" : "pve-volume-id",
34760 "optional" : 1,
013dc89f
DM
34761 "type" : "string",
34762 "typetext" : "<string>"
44660702
DM
34763 },
34764 "blocksize" : {
34765 "description" : "block size",
34766 "optional" : 1,
013dc89f
DM
34767 "type" : "string",
34768 "typetext" : "<string>"
44660702 34769 },
27a7acb2
DM
34770 "bwlimit" : {
34771 "description" : "Set bandwidth/io limits various operations.",
34772 "format" : {
34773 "clone" : {
95895385 34774 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
34775 "format_description" : "LIMIT",
34776 "minimum" : "0",
34777 "optional" : 1,
34778 "type" : "number"
34779 },
34780 "default" : {
95895385 34781 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
34782 "format_description" : "LIMIT",
34783 "minimum" : "0",
34784 "optional" : 1,
34785 "type" : "number"
34786 },
34787 "migration" : {
95895385 34788 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
34789 "format_description" : "LIMIT",
34790 "minimum" : "0",
34791 "optional" : 1,
34792 "type" : "number"
34793 },
34794 "move" : {
95895385 34795 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
34796 "format_description" : "LIMIT",
34797 "minimum" : "0",
34798 "optional" : 1,
34799 "type" : "number"
34800 },
34801 "restore" : {
95895385 34802 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
34803 "format_description" : "LIMIT",
34804 "minimum" : "0",
34805 "optional" : 1,
34806 "type" : "number"
34807 }
34808 },
34809 "optional" : 1,
34810 "type" : "string",
34811 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
34812 },
44660702
DM
34813 "comstar_hg" : {
34814 "description" : "host group for comstar views",
34815 "optional" : 1,
013dc89f
DM
34816 "type" : "string",
34817 "typetext" : "<string>"
44660702
DM
34818 },
34819 "comstar_tg" : {
34820 "description" : "target group for comstar views",
34821 "optional" : 1,
013dc89f
DM
34822 "type" : "string",
34823 "typetext" : "<string>"
44660702
DM
34824 },
34825 "content" : {
34826 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
34827 "format" : "pve-storage-content-list",
34828 "optional" : 1,
013dc89f
DM
34829 "type" : "string",
34830 "typetext" : "<string>"
44660702
DM
34831 },
34832 "disable" : {
34833 "description" : "Flag to disable the storage.",
34834 "optional" : 1,
013dc89f
DM
34835 "type" : "boolean",
34836 "typetext" : "<boolean>"
44660702 34837 },
27a7acb2
DM
34838 "domain" : {
34839 "description" : "CIFS domain.",
34840 "maxLength" : 256,
34841 "optional" : 1,
34842 "type" : "string",
34843 "typetext" : "<string>"
34844 },
44660702
DM
34845 "export" : {
34846 "description" : "NFS export path.",
34847 "format" : "pve-storage-path",
34848 "optional" : 1,
013dc89f
DM
34849 "type" : "string",
34850 "typetext" : "<string>"
44660702
DM
34851 },
34852 "format" : {
34853 "description" : "Default image format.",
34854 "format" : "pve-storage-format",
34855 "optional" : 1,
013dc89f
DM
34856 "type" : "string",
34857 "typetext" : "<string>"
44660702 34858 },
5da3d723
TL
34859 "fuse" : {
34860 "description" : "Mount CephFS through FUSE.",
34861 "optional" : 1,
34862 "type" : "boolean",
34863 "typetext" : "<boolean>"
34864 },
2c0dde61
DM
34865 "is_mountpoint" : {
34866 "default" : "no",
2489d6df 34867 "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 34868 "optional" : 1,
2489d6df
WB
34869 "type" : "string",
34870 "typetext" : "<string>"
2c0dde61 34871 },
44660702
DM
34872 "iscsiprovider" : {
34873 "description" : "iscsi provider",
34874 "optional" : 1,
013dc89f
DM
34875 "type" : "string",
34876 "typetext" : "<string>"
44660702
DM
34877 },
34878 "krbd" : {
e2d681b3 34879 "description" : "Always access rbd through krbd kernel module.",
44660702 34880 "optional" : 1,
013dc89f
DM
34881 "type" : "boolean",
34882 "typetext" : "<boolean>"
56122987 34883 },
4d47f125
TL
34884 "lio_tpg" : {
34885 "description" : "target portal group for Linux LIO targets",
34886 "optional" : 1,
34887 "type" : "string",
34888 "typetext" : "<string>"
34889 },
44660702
DM
34890 "maxfiles" : {
34891 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
34892 "minimum" : 0,
34893 "optional" : 1,
4bd7df8b 34894 "type" : "integer",
013dc89f 34895 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
34896 },
34897 "mkdir" : {
34898 "default" : "yes",
34899 "description" : "Create the directory if it doesn't exist.",
34900 "optional" : 1,
013dc89f
DM
34901 "type" : "boolean",
34902 "typetext" : "<boolean>"
7aacca6f 34903 },
44660702 34904 "monhost" : {
2489d6df 34905 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 34906 "format" : "pve-storage-portal-dns-list",
44660702 34907 "optional" : 1,
013dc89f
DM
34908 "type" : "string",
34909 "typetext" : "<string>"
7aacca6f 34910 },
44660702
DM
34911 "nodes" : {
34912 "description" : "List of cluster node names.",
34913 "format" : "pve-node-list",
34914 "optional" : 1,
013dc89f
DM
34915 "type" : "string",
34916 "typetext" : "<string>"
7aacca6f 34917 },
44660702
DM
34918 "nowritecache" : {
34919 "description" : "disable write caching on the target",
34920 "optional" : 1,
013dc89f
DM
34921 "type" : "boolean",
34922 "typetext" : "<boolean>"
44660702
DM
34923 },
34924 "options" : {
34925 "description" : "NFS mount options (see 'man nfs')",
34926 "format" : "pve-storage-options",
34927 "optional" : 1,
013dc89f
DM
34928 "type" : "string",
34929 "typetext" : "<string>"
44660702 34930 },
27a7acb2
DM
34931 "password" : {
34932 "description" : "Password for CIFS share.",
34933 "maxLength" : 256,
34934 "optional" : 1,
34935 "type" : "string",
34936 "typetext" : "<string>"
34937 },
44660702
DM
34938 "path" : {
34939 "description" : "File system path.",
34940 "format" : "pve-storage-path",
34941 "optional" : 1,
013dc89f
DM
34942 "type" : "string",
34943 "typetext" : "<string>"
44660702
DM
34944 },
34945 "pool" : {
34946 "description" : "Pool.",
34947 "optional" : 1,
013dc89f
DM
34948 "type" : "string",
34949 "typetext" : "<string>"
44660702
DM
34950 },
34951 "portal" : {
34952 "description" : "iSCSI portal (IP or DNS name with optional port).",
34953 "format" : "pve-storage-portal-dns",
34954 "optional" : 1,
013dc89f
DM
34955 "type" : "string",
34956 "typetext" : "<string>"
44660702
DM
34957 },
34958 "redundancy" : {
34959 "default" : 2,
34960 "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.",
34961 "maximum" : 16,
34962 "minimum" : 1,
34963 "optional" : 1,
4bd7df8b 34964 "type" : "integer",
013dc89f 34965 "typetext" : "<integer> (1 - 16)"
44660702
DM
34966 },
34967 "saferemove" : {
34968 "description" : "Zero-out data when removing LVs.",
34969 "optional" : 1,
013dc89f
DM
34970 "type" : "boolean",
34971 "typetext" : "<boolean>"
44660702
DM
34972 },
34973 "saferemove_throughput" : {
34974 "description" : "Wipe throughput (cstream -t parameter value).",
34975 "optional" : 1,
013dc89f
DM
34976 "type" : "string",
34977 "typetext" : "<string>"
44660702
DM
34978 },
34979 "server" : {
34980 "description" : "Server IP or DNS name.",
34981 "format" : "pve-storage-server",
34982 "optional" : 1,
013dc89f
DM
34983 "type" : "string",
34984 "typetext" : "<string>"
44660702
DM
34985 },
34986 "server2" : {
34987 "description" : "Backup volfile server IP or DNS name.",
34988 "format" : "pve-storage-server",
34989 "optional" : 1,
34990 "requires" : "server",
013dc89f
DM
34991 "type" : "string",
34992 "typetext" : "<string>"
44660702 34993 },
27a7acb2
DM
34994 "share" : {
34995 "description" : "CIFS share.",
34996 "optional" : 1,
34997 "type" : "string",
34998 "typetext" : "<string>"
34999 },
44660702
DM
35000 "shared" : {
35001 "description" : "Mark storage as shared.",
35002 "optional" : 1,
013dc89f
DM
35003 "type" : "boolean",
35004 "typetext" : "<boolean>"
44660702 35005 },
27a7acb2 35006 "smbversion" : {
5da3d723
TL
35007 "description" : "SMB protocol version",
35008 "enum" : [
35009 "2.0",
35010 "2.1",
35011 "3.0"
35012 ],
27a7acb2 35013 "optional" : 1,
5da3d723 35014 "type" : "string"
27a7acb2 35015 },
44660702
DM
35016 "sparse" : {
35017 "description" : "use sparse volumes",
35018 "optional" : 1,
013dc89f
DM
35019 "type" : "boolean",
35020 "typetext" : "<boolean>"
44660702
DM
35021 },
35022 "storage" : {
35023 "description" : "The storage identifier.",
35024 "format" : "pve-storage-id",
013dc89f
DM
35025 "type" : "string",
35026 "typetext" : "<string>"
44660702 35027 },
5da3d723
TL
35028 "subdir" : {
35029 "description" : "Subdir to mount.",
35030 "format" : "pve-storage-path",
35031 "optional" : 1,
35032 "type" : "string",
35033 "typetext" : "<string>"
35034 },
4bd7df8b
DM
35035 "tagged_only" : {
35036 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
35037 "optional" : 1,
013dc89f
DM
35038 "type" : "boolean",
35039 "typetext" : "<boolean>"
4bd7df8b 35040 },
44660702
DM
35041 "target" : {
35042 "description" : "iSCSI target.",
35043 "optional" : 1,
013dc89f
DM
35044 "type" : "string",
35045 "typetext" : "<string>"
44660702
DM
35046 },
35047 "thinpool" : {
35048 "description" : "LVM thin pool LV name.",
35049 "format" : "pve-storage-vgname",
35050 "optional" : 1,
013dc89f
DM
35051 "type" : "string",
35052 "typetext" : "<string>"
44660702
DM
35053 },
35054 "transport" : {
35055 "description" : "Gluster transport: tcp or rdma",
35056 "enum" : [
35057 "tcp",
35058 "rdma",
35059 "unix"
7aacca6f 35060 ],
44660702
DM
35061 "optional" : 1,
35062 "type" : "string"
56122987 35063 },
44660702
DM
35064 "type" : {
35065 "description" : "Storage type.",
35066 "enum" : [
5da3d723 35067 "cephfs",
27a7acb2 35068 "cifs",
44660702
DM
35069 "dir",
35070 "drbd",
e2d681b3 35071 "fake",
44660702
DM
35072 "glusterfs",
35073 "iscsi",
35074 "iscsidirect",
35075 "lvm",
35076 "lvmthin",
35077 "nfs",
35078 "rbd",
35079 "sheepdog",
35080 "zfs",
35081 "zfspool"
35082 ],
35083 "type" : "string"
56122987 35084 },
44660702
DM
35085 "username" : {
35086 "description" : "RBD Id.",
35087 "optional" : 1,
013dc89f
DM
35088 "type" : "string",
35089 "typetext" : "<string>"
7aacca6f 35090 },
44660702
DM
35091 "vgname" : {
35092 "description" : "Volume group name.",
35093 "format" : "pve-storage-vgname",
35094 "optional" : 1,
013dc89f
DM
35095 "type" : "string",
35096 "typetext" : "<string>"
44660702
DM
35097 },
35098 "volume" : {
35099 "description" : "Glusterfs Volume.",
35100 "optional" : 1,
013dc89f
DM
35101 "type" : "string",
35102 "typetext" : "<string>"
44660702
DM
35103 }
35104 },
35105 "type" : "object"
35106 },
35107 "permissions" : {
35108 "check" : [
35109 "perm",
35110 "/storage",
35111 [
35112 "Datastore.Allocate"
35113 ]
35114 ]
56122987 35115 },
44660702
DM
35116 "protected" : 1,
35117 "returns" : {
35118 "type" : "null"
35119 }
35120 }
35121 },
35122 "leaf" : 0,
35123 "path" : "/storage",
35124 "text" : "storage"
35125 },
35126 {
35127 "children" : [
35128 {
56122987
DM
35129 "children" : [
35130 {
bb4c8cf8
TL
35131 "children" : [
35132 {
35133 "info" : {
35134 "GET" : {
35135 "description" : "Get user TFA types (Personal and Realm).",
35136 "method" : "GET",
35137 "name" : "read_user_tfa_type",
35138 "parameters" : {
35139 "additionalProperties" : 0,
35140 "properties" : {
35141 "userid" : {
35142 "description" : "User ID",
35143 "format" : "pve-userid",
35144 "maxLength" : 64,
35145 "type" : "string",
35146 "typetext" : "<string>"
35147 }
35148 }
35149 },
35150 "permissions" : {
35151 "check" : [
35152 "or",
35153 [
35154 "userid-param",
35155 "self"
35156 ],
35157 [
35158 "userid-group",
35159 [
35160 "User.Modify",
35161 "Sys.Audit"
35162 ]
35163 ]
35164 ]
35165 },
35166 "protected" : 1,
35167 "returns" : {
35168 "additionalProperties" : 0,
35169 "properties" : {
35170 "realm" : {
35171 "description" : "The type of TFA the users realm has set, if any.",
35172 "enum" : [
35173 "oath",
35174 "yubico"
35175 ],
35176 "optional" : 1,
35177 "type" : "string"
35178 },
35179 "user" : {
35180 "description" : "The type of TFA the user has set, if any.",
35181 "enum" : [
35182 "oath",
35183 "u2f"
35184 ],
35185 "optional" : 1,
35186 "type" : "string"
35187 }
35188 },
35189 "type" : "object"
35190 }
35191 }
35192 },
35193 "leaf" : 1,
35194 "path" : "/access/users/{userid}/tfa",
35195 "text" : "tfa"
35196 }
35197 ],
56122987 35198 "info" : {
44660702
DM
35199 "DELETE" : {
35200 "description" : "Delete user.",
35201 "method" : "DELETE",
35202 "name" : "delete_user",
56122987 35203 "parameters" : {
7aacca6f 35204 "additionalProperties" : 0,
56122987 35205 "properties" : {
56122987 35206 "userid" : {
56122987
DM
35207 "description" : "User ID",
35208 "format" : "pve-userid",
44660702 35209 "maxLength" : 64,
013dc89f
DM
35210 "type" : "string",
35211 "typetext" : "<string>"
56122987 35212 }
7aacca6f 35213 }
56122987 35214 },
56122987
DM
35215 "permissions" : {
35216 "check" : [
44660702 35217 "and",
56122987 35218 [
44660702
DM
35219 "userid-param",
35220 "Realm.AllocateUser"
56122987 35221 ],
44660702
DM
35222 [
35223 "userid-group",
35224 [
35225 "User.Modify"
35226 ]
35227 ]
56122987 35228 ]
7aacca6f 35229 },
44660702 35230 "protected" : 1,
56122987
DM
35231 "returns" : {
35232 "type" : "null"
44660702 35233 }
7aacca6f 35234 },
44660702
DM
35235 "GET" : {
35236 "description" : "Get user configuration.",
35237 "method" : "GET",
35238 "name" : "read_user",
56122987
DM
35239 "parameters" : {
35240 "additionalProperties" : 0,
35241 "properties" : {
35242 "userid" : {
44660702 35243 "description" : "User ID",
56122987 35244 "format" : "pve-userid",
44660702 35245 "maxLength" : 64,
013dc89f
DM
35246 "type" : "string",
35247 "typetext" : "<string>"
56122987
DM
35248 }
35249 }
35250 },
56122987
DM
35251 "permissions" : {
35252 "check" : [
44660702 35253 "userid-group",
56122987 35254 [
44660702
DM
35255 "User.Modify",
35256 "Sys.Audit"
56122987
DM
35257 ]
35258 ]
35259 },
56122987 35260 "returns" : {
7aacca6f 35261 "additionalProperties" : 0,
56122987 35262 "properties" : {
44660702
DM
35263 "comment" : {
35264 "optional" : 1,
35265 "type" : "string"
56122987 35266 },
44660702 35267 "email" : {
e2d681b3 35268 "format" : "email-opt",
44660702
DM
35269 "optional" : 1,
35270 "type" : "string"
7aacca6f
DM
35271 },
35272 "enable" : {
e2d681b3
TL
35273 "default" : 1,
35274 "description" : "Enable the account (default). You can set this to '0' to disable the account",
35275 "optional" : 1,
7aacca6f
DM
35276 "type" : "boolean"
35277 },
44660702 35278 "expire" : {
e2d681b3
TL
35279 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35280 "minimum" : 0,
44660702
DM
35281 "optional" : 1,
35282 "type" : "integer"
35283 },
35284 "firstname" : {
56122987
DM
35285 "optional" : 1,
35286 "type" : "string"
35287 },
44660702
DM
35288 "groups" : {
35289 "type" : "array"
56122987 35290 },
44660702 35291 "keys" : {
e2d681b3 35292 "description" : "Keys for two factor auth (yubico).",
44660702
DM
35293 "optional" : 1,
35294 "type" : "string"
7aacca6f 35295 },
44660702
DM
35296 "lastname" : {
35297 "optional" : 1,
35298 "type" : "string"
56122987 35299 }
e2d681b3
TL
35300 },
35301 "type" : "object"
44660702
DM
35302 }
35303 },
35304 "PUT" : {
35305 "description" : "Update user configuration.",
35306 "method" : "PUT",
35307 "name" : "update_user",
56122987 35308 "parameters" : {
44660702 35309 "additionalProperties" : 0,
56122987 35310 "properties" : {
44660702
DM
35311 "append" : {
35312 "optional" : 1,
35313 "requires" : "groups",
013dc89f
DM
35314 "type" : "boolean",
35315 "typetext" : "<boolean>"
44660702
DM
35316 },
35317 "comment" : {
35318 "optional" : 1,
013dc89f
DM
35319 "type" : "string",
35320 "typetext" : "<string>"
44660702
DM
35321 },
35322 "email" : {
35323 "format" : "email-opt",
35324 "optional" : 1,
013dc89f
DM
35325 "type" : "string",
35326 "typetext" : "<string>"
44660702
DM
35327 },
35328 "enable" : {
e2d681b3
TL
35329 "default" : 1,
35330 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 35331 "optional" : 1,
013dc89f
DM
35332 "type" : "boolean",
35333 "typetext" : "<boolean>"
44660702
DM
35334 },
35335 "expire" : {
35336 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35337 "minimum" : 0,
35338 "optional" : 1,
4bd7df8b 35339 "type" : "integer",
013dc89f 35340 "typetext" : "<integer> (0 - N)"
44660702
DM
35341 },
35342 "firstname" : {
35343 "optional" : 1,
013dc89f
DM
35344 "type" : "string",
35345 "typetext" : "<string>"
44660702
DM
35346 },
35347 "groups" : {
35348 "format" : "pve-groupid-list",
35349 "optional" : 1,
013dc89f
DM
35350 "type" : "string",
35351 "typetext" : "<string>"
44660702
DM
35352 },
35353 "keys" : {
35354 "description" : "Keys for two factor auth (yubico).",
35355 "optional" : 1,
013dc89f
DM
35356 "type" : "string",
35357 "typetext" : "<string>"
44660702
DM
35358 },
35359 "lastname" : {
35360 "optional" : 1,
013dc89f
DM
35361 "type" : "string",
35362 "typetext" : "<string>"
44660702 35363 },
56122987 35364 "userid" : {
56122987
DM
35365 "description" : "User ID",
35366 "format" : "pve-userid",
44660702 35367 "maxLength" : 64,
013dc89f
DM
35368 "type" : "string",
35369 "typetext" : "<string>"
56122987 35370 }
44660702 35371 }
56122987 35372 },
56122987
DM
35373 "permissions" : {
35374 "check" : [
35375 "userid-group",
35376 [
44660702
DM
35377 "User.Modify"
35378 ],
35379 "groups_param",
35380 1
56122987
DM
35381 ]
35382 },
44660702
DM
35383 "protected" : 1,
35384 "returns" : {
35385 "type" : "null"
35386 }
56122987
DM
35387 }
35388 },
bb4c8cf8 35389 "leaf" : 0,
44660702 35390 "path" : "/access/users/{userid}",
7aacca6f 35391 "text" : "{userid}"
56122987 35392 }
7aacca6f 35393 ],
56122987 35394 "info" : {
7aacca6f 35395 "GET" : {
44660702
DM
35396 "description" : "User index.",
35397 "method" : "GET",
7aacca6f 35398 "name" : "index",
56122987 35399 "parameters" : {
44660702
DM
35400 "additionalProperties" : 0,
35401 "properties" : {
35402 "enabled" : {
35403 "description" : "Optional filter for enable property.",
35404 "optional" : 1,
013dc89f
DM
35405 "type" : "boolean",
35406 "typetext" : "<boolean>"
44660702
DM
35407 }
35408 }
35409 },
35410 "permissions" : {
35411 "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.",
35412 "user" : "all"
56122987 35413 },
7aacca6f 35414 "returns" : {
7aacca6f
DM
35415 "items" : {
35416 "properties" : {
e2d681b3
TL
35417 "comment" : {
35418 "optional" : 1,
35419 "type" : "string"
35420 },
35421 "email" : {
35422 "format" : "email-opt",
35423 "optional" : 1,
35424 "type" : "string"
35425 },
35426 "enable" : {
35427 "default" : 1,
35428 "description" : "Enable the account (default). You can set this to '0' to disable the account",
35429 "optional" : 1,
35430 "type" : "boolean"
35431 },
35432 "expire" : {
35433 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35434 "minimum" : 0,
35435 "optional" : 1,
35436 "type" : "integer"
35437 },
35438 "firstname" : {
35439 "optional" : 1,
35440 "type" : "string"
35441 },
35442 "keys" : {
35443 "description" : "Keys for two factor auth (yubico).",
35444 "optional" : 1,
35445 "type" : "string"
35446 },
35447 "lastname" : {
35448 "optional" : 1,
35449 "type" : "string"
35450 },
44660702 35451 "userid" : {
e2d681b3
TL
35452 "description" : "User ID",
35453 "format" : "pve-userid",
35454 "maxLength" : 64,
7aacca6f
DM
35455 "type" : "string"
35456 }
35457 },
35458 "type" : "object"
35459 },
44660702
DM
35460 "links" : [
35461 {
35462 "href" : "{userid}",
35463 "rel" : "child"
35464 }
35465 ],
7aacca6f
DM
35466 "type" : "array"
35467 }
35468 },
35469 "POST" : {
44660702 35470 "description" : "Create new user.",
7aacca6f 35471 "method" : "POST",
44660702 35472 "name" : "create_user",
56122987 35473 "parameters" : {
7aacca6f
DM
35474 "additionalProperties" : 0,
35475 "properties" : {
44660702
DM
35476 "comment" : {
35477 "optional" : 1,
013dc89f
DM
35478 "type" : "string",
35479 "typetext" : "<string>"
7aacca6f 35480 },
44660702
DM
35481 "email" : {
35482 "format" : "email-opt",
35483 "optional" : 1,
013dc89f
DM
35484 "type" : "string",
35485 "typetext" : "<string>"
44660702
DM
35486 },
35487 "enable" : {
35488 "default" : 1,
e2d681b3 35489 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 35490 "optional" : 1,
013dc89f
DM
35491 "type" : "boolean",
35492 "typetext" : "<boolean>"
44660702
DM
35493 },
35494 "expire" : {
35495 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35496 "minimum" : 0,
35497 "optional" : 1,
4bd7df8b 35498 "type" : "integer",
013dc89f 35499 "typetext" : "<integer> (0 - N)"
44660702
DM
35500 },
35501 "firstname" : {
35502 "optional" : 1,
013dc89f
DM
35503 "type" : "string",
35504 "typetext" : "<string>"
44660702
DM
35505 },
35506 "groups" : {
35507 "format" : "pve-groupid-list",
35508 "optional" : 1,
013dc89f
DM
35509 "type" : "string",
35510 "typetext" : "<string>"
44660702
DM
35511 },
35512 "keys" : {
35513 "description" : "Keys for two factor auth (yubico).",
35514 "optional" : 1,
013dc89f
DM
35515 "type" : "string",
35516 "typetext" : "<string>"
44660702
DM
35517 },
35518 "lastname" : {
7aacca6f 35519 "optional" : 1,
013dc89f
DM
35520 "type" : "string",
35521 "typetext" : "<string>"
44660702
DM
35522 },
35523 "password" : {
35524 "description" : "Initial password.",
35525 "maxLength" : 64,
35526 "minLength" : 5,
35527 "optional" : 1,
013dc89f
DM
35528 "type" : "string",
35529 "typetext" : "<string>"
44660702
DM
35530 },
35531 "userid" : {
35532 "description" : "User ID",
35533 "format" : "pve-userid",
35534 "maxLength" : 64,
013dc89f
DM
35535 "type" : "string",
35536 "typetext" : "<string>"
56122987 35537 }
7aacca6f 35538 }
56122987 35539 },
44660702
DM
35540 "permissions" : {
35541 "check" : [
35542 "and",
35543 [
35544 "userid-param",
35545 "Realm.AllocateUser"
35546 ],
35547 [
35548 "userid-group",
35549 [
35550 "User.Modify"
35551 ],
35552 "groups_param",
35553 1
35554 ]
35555 ],
35556 "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."
35557 },
35558 "protected" : 1,
35559 "returns" : {
35560 "type" : "null"
35561 }
56122987
DM
35562 }
35563 },
44660702
DM
35564 "leaf" : 0,
35565 "path" : "/access/users",
35566 "text" : "users"
35567 },
35568 {
56122987
DM
35569 "children" : [
35570 {
56122987
DM
35571 "info" : {
35572 "DELETE" : {
44660702
DM
35573 "description" : "Delete group.",
35574 "method" : "DELETE",
35575 "name" : "delete_group",
35576 "parameters" : {
35577 "additionalProperties" : 0,
35578 "properties" : {
35579 "groupid" : {
35580 "format" : "pve-groupid",
013dc89f
DM
35581 "type" : "string",
35582 "typetext" : "<string>"
44660702
DM
35583 }
35584 }
35585 },
7aacca6f
DM
35586 "permissions" : {
35587 "check" : [
35588 "perm",
35589 "/access/groups",
35590 [
35591 "Group.Allocate"
35592 ]
35593 ]
35594 },
7aacca6f 35595 "protected" : 1,
7aacca6f
DM
35596 "returns" : {
35597 "type" : "null"
44660702 35598 }
7aacca6f 35599 },
44660702
DM
35600 "GET" : {
35601 "description" : "Get group configuration.",
35602 "method" : "GET",
35603 "name" : "read_group",
35604 "parameters" : {
35605 "additionalProperties" : 0,
35606 "properties" : {
35607 "groupid" : {
35608 "format" : "pve-groupid",
013dc89f
DM
35609 "type" : "string",
35610 "typetext" : "<string>"
44660702
DM
35611 }
35612 }
56122987 35613 },
7aacca6f
DM
35614 "permissions" : {
35615 "check" : [
35616 "perm",
35617 "/access/groups",
35618 [
44660702 35619 "Sys.Audit",
7aacca6f 35620 "Group.Allocate"
44660702
DM
35621 ],
35622 "any",
35623 1
7aacca6f
DM
35624 ]
35625 },
7aacca6f 35626 "returns" : {
44660702 35627 "additionalProperties" : 0,
7aacca6f
DM
35628 "properties" : {
35629 "comment" : {
44660702
DM
35630 "optional" : 1,
35631 "type" : "string"
7aacca6f
DM
35632 },
35633 "members" : {
35634 "items" : {
e2d681b3
TL
35635 "description" : "User ID",
35636 "format" : "pve-userid",
35637 "maxLength" : 64,
7aacca6f
DM
35638 "type" : "string"
35639 },
35640 "type" : "array"
35641 }
35642 },
44660702
DM
35643 "type" : "object"
35644 }
35645 },
35646 "PUT" : {
35647 "description" : "Update group data.",
35648 "method" : "PUT",
35649 "name" : "update_group",
56122987 35650 "parameters" : {
44660702 35651 "additionalProperties" : 0,
56122987 35652 "properties" : {
44660702
DM
35653 "comment" : {
35654 "optional" : 1,
013dc89f
DM
35655 "type" : "string",
35656 "typetext" : "<string>"
44660702 35657 },
56122987
DM
35658 "groupid" : {
35659 "format" : "pve-groupid",
013dc89f
DM
35660 "type" : "string",
35661 "typetext" : "<string>"
56122987 35662 }
44660702 35663 }
56122987 35664 },
56122987
DM
35665 "permissions" : {
35666 "check" : [
35667 "perm",
35668 "/access/groups",
35669 [
35670 "Group.Allocate"
44660702 35671 ]
56122987
DM
35672 ]
35673 },
44660702
DM
35674 "protected" : 1,
35675 "returns" : {
35676 "type" : "null"
35677 }
7aacca6f
DM
35678 }
35679 },
7aacca6f 35680 "leaf" : 1,
44660702
DM
35681 "path" : "/access/groups/{groupid}",
35682 "text" : "{groupid}"
35683 }
35684 ],
35685 "info" : {
35686 "GET" : {
35687 "description" : "Group index.",
35688 "method" : "GET",
35689 "name" : "index",
35690 "parameters" : {
35691 "additionalProperties" : 0
35692 },
35693 "permissions" : {
35694 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
35695 "user" : "all"
35696 },
35697 "returns" : {
35698 "items" : {
35699 "properties" : {
e2d681b3
TL
35700 "comment" : {
35701 "optional" : 1,
35702 "type" : "string"
35703 },
44660702 35704 "groupid" : {
e2d681b3 35705 "format" : "pve-groupid",
44660702
DM
35706 "type" : "string"
35707 }
35708 },
35709 "type" : "object"
35710 },
35711 "links" : [
35712 {
35713 "href" : "{groupid}",
35714 "rel" : "child"
35715 }
35716 ],
35717 "type" : "array"
35718 }
35719 },
35720 "POST" : {
35721 "description" : "Create new group.",
35722 "method" : "POST",
35723 "name" : "create_group",
35724 "parameters" : {
35725 "additionalProperties" : 0,
35726 "properties" : {
35727 "comment" : {
35728 "optional" : 1,
013dc89f
DM
35729 "type" : "string",
35730 "typetext" : "<string>"
44660702
DM
35731 },
35732 "groupid" : {
35733 "format" : "pve-groupid",
013dc89f
DM
35734 "type" : "string",
35735 "typetext" : "<string>"
44660702
DM
35736 }
35737 }
35738 },
35739 "permissions" : {
35740 "check" : [
35741 "perm",
35742 "/access/groups",
35743 [
35744 "Group.Allocate"
35745 ]
35746 ]
35747 },
35748 "protected" : 1,
35749 "returns" : {
35750 "type" : "null"
35751 }
7aacca6f 35752 }
44660702 35753 },
7aacca6f 35754 "leaf" : 0,
44660702
DM
35755 "path" : "/access/groups",
35756 "text" : "groups"
7aacca6f
DM
35757 },
35758 {
35759 "children" : [
35760 {
7aacca6f 35761 "info" : {
7aacca6f 35762 "DELETE" : {
7aacca6f 35763 "description" : "Delete role.",
44660702 35764 "method" : "DELETE",
7aacca6f 35765 "name" : "delete_role",
56122987
DM
35766 "parameters" : {
35767 "additionalProperties" : 0,
35768 "properties" : {
7aacca6f
DM
35769 "roleid" : {
35770 "format" : "pve-roleid",
013dc89f
DM
35771 "type" : "string",
35772 "typetext" : "<string>"
56122987
DM
35773 }
35774 }
35775 },
56122987
DM
35776 "permissions" : {
35777 "check" : [
35778 "perm",
7aacca6f 35779 "/access",
56122987 35780 [
7aacca6f
DM
35781 "Sys.Modify"
35782 ]
56122987 35783 ]
44660702
DM
35784 },
35785 "protected" : 1,
35786 "returns" : {
35787 "type" : "null"
56122987
DM
35788 }
35789 },
44660702
DM
35790 "GET" : {
35791 "description" : "Get role configuration.",
35792 "method" : "GET",
35793 "name" : "read_role",
35794 "parameters" : {
35795 "additionalProperties" : 0,
35796 "properties" : {
35797 "roleid" : {
35798 "format" : "pve-roleid",
013dc89f
DM
35799 "type" : "string",
35800 "typetext" : "<string>"
44660702
DM
35801 }
35802 }
35803 },
7aacca6f 35804 "permissions" : {
44660702 35805 "user" : "all"
56122987 35806 },
e2d681b3
TL
35807 "returns" : {
35808 "additionalProperties" : 0,
35809 "properties" : {
35810 "Datastore.Allocate" : {
35811 "optional" : 1,
35812 "type" : "boolean"
35813 },
35814 "Datastore.AllocateSpace" : {
35815 "optional" : 1,
35816 "type" : "boolean"
35817 },
35818 "Datastore.AllocateTemplate" : {
35819 "optional" : 1,
35820 "type" : "boolean"
35821 },
35822 "Datastore.Audit" : {
35823 "optional" : 1,
35824 "type" : "boolean"
35825 },
35826 "Group.Allocate" : {
35827 "optional" : 1,
35828 "type" : "boolean"
35829 },
35830 "Permissions.Modify" : {
35831 "optional" : 1,
35832 "type" : "boolean"
35833 },
35834 "Pool.Allocate" : {
35835 "optional" : 1,
35836 "type" : "boolean"
35837 },
35838 "Realm.Allocate" : {
35839 "optional" : 1,
35840 "type" : "boolean"
35841 },
35842 "Realm.AllocateUser" : {
35843 "optional" : 1,
35844 "type" : "boolean"
35845 },
35846 "Sys.Audit" : {
35847 "optional" : 1,
35848 "type" : "boolean"
35849 },
35850 "Sys.Console" : {
35851 "optional" : 1,
35852 "type" : "boolean"
35853 },
35854 "Sys.Modify" : {
35855 "optional" : 1,
35856 "type" : "boolean"
35857 },
35858 "Sys.PowerMgmt" : {
35859 "optional" : 1,
35860 "type" : "boolean"
35861 },
35862 "Sys.Syslog" : {
35863 "optional" : 1,
35864 "type" : "boolean"
35865 },
35866 "User.Modify" : {
35867 "optional" : 1,
35868 "type" : "boolean"
35869 },
35870 "VM.Allocate" : {
35871 "optional" : 1,
35872 "type" : "boolean"
35873 },
35874 "VM.Audit" : {
35875 "optional" : 1,
35876 "type" : "boolean"
35877 },
35878 "VM.Backup" : {
35879 "optional" : 1,
35880 "type" : "boolean"
35881 },
35882 "VM.Clone" : {
35883 "optional" : 1,
35884 "type" : "boolean"
35885 },
35886 "VM.Config.CDROM" : {
35887 "optional" : 1,
35888 "type" : "boolean"
35889 },
35890 "VM.Config.CPU" : {
35891 "optional" : 1,
35892 "type" : "boolean"
35893 },
35894 "VM.Config.Disk" : {
35895 "optional" : 1,
35896 "type" : "boolean"
35897 },
35898 "VM.Config.HWType" : {
35899 "optional" : 1,
35900 "type" : "boolean"
35901 },
35902 "VM.Config.Memory" : {
35903 "optional" : 1,
35904 "type" : "boolean"
35905 },
35906 "VM.Config.Network" : {
35907 "optional" : 1,
35908 "type" : "boolean"
35909 },
35910 "VM.Config.Options" : {
35911 "optional" : 1,
35912 "type" : "boolean"
35913 },
35914 "VM.Console" : {
35915 "optional" : 1,
35916 "type" : "boolean"
35917 },
35918 "VM.Migrate" : {
35919 "optional" : 1,
35920 "type" : "boolean"
35921 },
35922 "VM.Monitor" : {
35923 "optional" : 1,
35924 "type" : "boolean"
35925 },
35926 "VM.PowerMgmt" : {
35927 "optional" : 1,
35928 "type" : "boolean"
35929 },
35930 "VM.Snapshot" : {
35931 "optional" : 1,
35932 "type" : "boolean"
35933 },
35934 "VM.Snapshot.Rollback" : {
35935 "optional" : 1,
35936 "type" : "boolean"
35937 }
35938 },
35939 "type" : "object"
35940 }
44660702
DM
35941 },
35942 "PUT" : {
e2d681b3 35943 "description" : "Update an existing role.",
44660702
DM
35944 "method" : "PUT",
35945 "name" : "update_role",
56122987
DM
35946 "parameters" : {
35947 "additionalProperties" : 0,
35948 "properties" : {
7aacca6f 35949 "append" : {
44660702 35950 "optional" : 1,
7aacca6f 35951 "requires" : "privs",
013dc89f
DM
35952 "type" : "boolean",
35953 "typetext" : "<boolean>"
7aacca6f
DM
35954 },
35955 "privs" : {
35956 "format" : "pve-priv-list",
e2d681b3 35957 "optional" : 1,
013dc89f
DM
35958 "type" : "string",
35959 "typetext" : "<string>"
44660702
DM
35960 },
35961 "roleid" : {
35962 "format" : "pve-roleid",
013dc89f
DM
35963 "type" : "string",
35964 "typetext" : "<string>"
56122987
DM
35965 }
35966 }
35967 },
44660702
DM
35968 "permissions" : {
35969 "check" : [
35970 "perm",
35971 "/access",
35972 [
35973 "Sys.Modify"
35974 ]
35975 ]
35976 },
56122987 35977 "protected" : 1,
7aacca6f
DM
35978 "returns" : {
35979 "type" : "null"
56122987
DM
35980 }
35981 }
35982 },
44660702 35983 "leaf" : 1,
7aacca6f 35984 "path" : "/access/roles/{roleid}",
44660702 35985 "text" : "{roleid}"
56122987
DM
35986 }
35987 ],
56122987 35988 "info" : {
7aacca6f
DM
35989 "GET" : {
35990 "description" : "Role index.",
44660702 35991 "method" : "GET",
7aacca6f 35992 "name" : "index",
56122987 35993 "parameters" : {
56122987
DM
35994 "additionalProperties" : 0
35995 },
7aacca6f
DM
35996 "permissions" : {
35997 "user" : "all"
35998 },
56122987 35999 "returns" : {
7aacca6f 36000 "items" : {
7aacca6f 36001 "properties" : {
e2d681b3
TL
36002 "privs" : {
36003 "format" : "pve-priv-list",
36004 "optional" : 1,
36005 "type" : "string"
36006 },
7aacca6f 36007 "roleid" : {
e2d681b3 36008 "format" : "pve-roleid",
7aacca6f 36009 "type" : "string"
e2d681b3
TL
36010 },
36011 "special" : {
36012 "default" : 0,
36013 "optional" : 1,
36014 "type" : "boolean"
7aacca6f 36015 }
44660702
DM
36016 },
36017 "type" : "object"
36018 },
36019 "links" : [
36020 {
36021 "href" : "{roleid}",
36022 "rel" : "child"
7aacca6f 36023 }
44660702
DM
36024 ],
36025 "type" : "array"
36026 }
7aacca6f
DM
36027 },
36028 "POST" : {
36029 "description" : "Create new role.",
44660702
DM
36030 "method" : "POST",
36031 "name" : "create_role",
7aacca6f
DM
36032 "parameters" : {
36033 "additionalProperties" : 0,
36034 "properties" : {
7aacca6f
DM
36035 "privs" : {
36036 "format" : "pve-priv-list",
36037 "optional" : 1,
013dc89f
DM
36038 "type" : "string",
36039 "typetext" : "<string>"
44660702
DM
36040 },
36041 "roleid" : {
36042 "format" : "pve-roleid",
013dc89f
DM
36043 "type" : "string",
36044 "typetext" : "<string>"
7aacca6f
DM
36045 }
36046 }
36047 },
44660702
DM
36048 "permissions" : {
36049 "check" : [
36050 "perm",
36051 "/access",
36052 [
36053 "Sys.Modify"
36054 ]
36055 ]
36056 },
36057 "protected" : 1,
7aacca6f
DM
36058 "returns" : {
36059 "type" : "null"
36060 }
36061 }
36062 },
44660702 36063 "leaf" : 0,
7aacca6f 36064 "path" : "/access/roles",
44660702 36065 "text" : "roles"
7aacca6f
DM
36066 },
36067 {
36068 "info" : {
56122987 36069 "GET" : {
44660702
DM
36070 "description" : "Get Access Control List (ACLs).",
36071 "method" : "GET",
36072 "name" : "read_acl",
7aacca6f
DM
36073 "parameters" : {
36074 "additionalProperties" : 0
36075 },
44660702
DM
36076 "permissions" : {
36077 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
36078 "user" : "all"
36079 },
56122987 36080 "returns" : {
56122987 36081 "items" : {
44660702 36082 "additionalProperties" : 0,
56122987 36083 "properties" : {
7aacca6f 36084 "path" : {
e2d681b3 36085 "description" : "Access control path",
7aacca6f
DM
36086 "type" : "string"
36087 },
44660702 36088 "propagate" : {
e2d681b3
TL
36089 "default" : 1,
36090 "description" : "Allow to propagate (inherit) permissions.",
36091 "optional" : 1,
44660702
DM
36092 "type" : "boolean"
36093 },
36094 "roleid" : {
36095 "type" : "string"
36096 },
7aacca6f
DM
36097 "type" : {
36098 "enum" : [
36099 "user",
36100 "group"
36101 ],
36102 "type" : "string"
36103 },
7aacca6f
DM
36104 "ugid" : {
36105 "type" : "string"
56122987 36106 }
7aacca6f 36107 },
44660702 36108 "type" : "object"
7aacca6f
DM
36109 },
36110 "type" : "array"
44660702 36111 }
7aacca6f
DM
36112 },
36113 "PUT" : {
44660702
DM
36114 "description" : "Update Access Control List (add or remove permissions).",
36115 "method" : "PUT",
7aacca6f
DM
36116 "name" : "update_acl",
36117 "parameters" : {
36118 "additionalProperties" : 0,
36119 "properties" : {
36120 "delete" : {
44660702 36121 "description" : "Remove permissions (instead of adding it).",
7aacca6f 36122 "optional" : 1,
013dc89f
DM
36123 "type" : "boolean",
36124 "typetext" : "<boolean>"
7aacca6f 36125 },
44660702
DM
36126 "groups" : {
36127 "description" : "List of groups.",
36128 "format" : "pve-groupid-list",
7aacca6f 36129 "optional" : 1,
013dc89f
DM
36130 "type" : "string",
36131 "typetext" : "<string>"
7aacca6f
DM
36132 },
36133 "path" : {
36134 "description" : "Access control path",
013dc89f
DM
36135 "type" : "string",
36136 "typetext" : "<string>"
7aacca6f 36137 },
7aacca6f 36138 "propagate" : {
44660702 36139 "default" : 1,
7aacca6f 36140 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 36141 "optional" : 1,
013dc89f
DM
36142 "type" : "boolean",
36143 "typetext" : "<boolean>"
7aacca6f 36144 },
44660702
DM
36145 "roles" : {
36146 "description" : "List of roles.",
36147 "format" : "pve-roleid-list",
013dc89f
DM
36148 "type" : "string",
36149 "typetext" : "<string>"
44660702
DM
36150 },
36151 "users" : {
36152 "description" : "List of users.",
36153 "format" : "pve-userid-list",
7aacca6f 36154 "optional" : 1,
013dc89f
DM
36155 "type" : "string",
36156 "typetext" : "<string>"
56122987
DM
36157 }
36158 }
36159 },
56122987 36160 "permissions" : {
7aacca6f
DM
36161 "check" : [
36162 "perm-modify",
36163 "{path}"
36164 ]
36165 },
7aacca6f
DM
36166 "protected" : 1,
36167 "returns" : {
36168 "type" : "null"
44660702 36169 }
56122987
DM
36170 }
36171 },
7aacca6f 36172 "leaf" : 1,
44660702
DM
36173 "path" : "/access/acl",
36174 "text" : "acl"
7aacca6f
DM
36175 },
36176 {
56122987
DM
36177 "children" : [
36178 {
56122987 36179 "info" : {
44660702
DM
36180 "DELETE" : {
36181 "description" : "Delete an authentication server.",
36182 "method" : "DELETE",
36183 "name" : "delete",
36184 "parameters" : {
36185 "additionalProperties" : 0,
36186 "properties" : {
36187 "realm" : {
36188 "description" : "Authentication domain ID",
36189 "format" : "pve-realm",
36190 "maxLength" : 32,
013dc89f
DM
36191 "type" : "string",
36192 "typetext" : "<string>"
56122987 36193 }
44660702 36194 }
56122987 36195 },
56122987
DM
36196 "permissions" : {
36197 "check" : [
36198 "perm",
7aacca6f 36199 "/access/realm",
56122987 36200 [
7aacca6f 36201 "Realm.Allocate"
56122987
DM
36202 ]
36203 ]
36204 },
7aacca6f 36205 "protected" : 1,
7aacca6f
DM
36206 "returns" : {
36207 "type" : "null"
44660702 36208 }
7aacca6f 36209 },
44660702
DM
36210 "GET" : {
36211 "description" : "Get auth server configuration.",
36212 "method" : "GET",
36213 "name" : "read",
56122987 36214 "parameters" : {
44660702 36215 "additionalProperties" : 0,
56122987 36216 "properties" : {
7aacca6f 36217 "realm" : {
44660702 36218 "description" : "Authentication domain ID",
7aacca6f
DM
36219 "format" : "pve-realm",
36220 "maxLength" : 32,
013dc89f
DM
36221 "type" : "string",
36222 "typetext" : "<string>"
56122987 36223 }
44660702 36224 }
7aacca6f 36225 },
7aacca6f
DM
36226 "permissions" : {
36227 "check" : [
36228 "perm",
36229 "/access/realm",
36230 [
44660702
DM
36231 "Realm.Allocate",
36232 "Sys.Audit"
36233 ],
36234 "any",
36235 1
7aacca6f 36236 ]
44660702
DM
36237 },
36238 "returns" : {}
7aacca6f 36239 },
44660702
DM
36240 "PUT" : {
36241 "description" : "Update authentication server settings.",
36242 "method" : "PUT",
36243 "name" : "update",
7aacca6f 36244 "parameters" : {
44660702 36245 "additionalProperties" : 0,
7aacca6f 36246 "properties" : {
44660702
DM
36247 "base_dn" : {
36248 "description" : "LDAP base domain name",
36249 "maxLength" : 256,
36250 "optional" : 1,
36251 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36252 "type" : "string"
36253 },
4bd7df8b
DM
36254 "bind_dn" : {
36255 "description" : "LDAP bind domain name",
36256 "maxLength" : 256,
36257 "optional" : 1,
36258 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36259 "type" : "string"
36260 },
2489d6df
WB
36261 "capath" : {
36262 "default" : "/etc/ssl/certs",
36263 "description" : "Path to the CA certificate store",
36264 "optional" : 1,
36265 "type" : "string",
36266 "typetext" : "<string>"
36267 },
36268 "cert" : {
36269 "description" : "Path to the client certificate",
36270 "optional" : 1,
36271 "type" : "string",
36272 "typetext" : "<string>"
36273 },
36274 "certkey" : {
36275 "description" : "Path to the client certificate key",
36276 "optional" : 1,
36277 "type" : "string",
36278 "typetext" : "<string>"
36279 },
44660702
DM
36280 "comment" : {
36281 "description" : "Description.",
36282 "maxLength" : 4096,
36283 "optional" : 1,
013dc89f
DM
36284 "type" : "string",
36285 "typetext" : "<string>"
44660702
DM
36286 },
36287 "default" : {
36288 "description" : "Use this as default realm",
36289 "optional" : 1,
013dc89f
DM
36290 "type" : "boolean",
36291 "typetext" : "<boolean>"
44660702
DM
36292 },
36293 "delete" : {
36294 "description" : "A list of settings you want to delete.",
36295 "format" : "pve-configid-list",
36296 "maxLength" : 4096,
36297 "optional" : 1,
013dc89f
DM
36298 "type" : "string",
36299 "typetext" : "<string>"
44660702
DM
36300 },
36301 "digest" : {
36302 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
36303 "maxLength" : 40,
36304 "optional" : 1,
013dc89f
DM
36305 "type" : "string",
36306 "typetext" : "<string>"
44660702
DM
36307 },
36308 "domain" : {
36309 "description" : "AD domain name",
36310 "maxLength" : 256,
36311 "optional" : 1,
36312 "pattern" : "\\S+",
36313 "type" : "string"
36314 },
36315 "port" : {
36316 "description" : "Server port.",
36317 "maximum" : 65535,
36318 "minimum" : 1,
36319 "optional" : 1,
4bd7df8b 36320 "type" : "integer",
013dc89f 36321 "typetext" : "<integer> (1 - 65535)"
44660702 36322 },
7aacca6f 36323 "realm" : {
7aacca6f
DM
36324 "description" : "Authentication domain ID",
36325 "format" : "pve-realm",
44660702 36326 "maxLength" : 32,
013dc89f
DM
36327 "type" : "string",
36328 "typetext" : "<string>"
44660702
DM
36329 },
36330 "secure" : {
36331 "description" : "Use secure LDAPS protocol.",
36332 "optional" : 1,
013dc89f
DM
36333 "type" : "boolean",
36334 "typetext" : "<boolean>"
44660702
DM
36335 },
36336 "server1" : {
36337 "description" : "Server IP address (or DNS name)",
36338 "format" : "address",
36339 "maxLength" : 256,
36340 "optional" : 1,
013dc89f
DM
36341 "type" : "string",
36342 "typetext" : "<string>"
44660702
DM
36343 },
36344 "server2" : {
36345 "description" : "Fallback Server IP address (or DNS name)",
36346 "format" : "address",
36347 "maxLength" : 256,
36348 "optional" : 1,
013dc89f
DM
36349 "type" : "string",
36350 "typetext" : "<string>"
44660702
DM
36351 },
36352 "tfa" : {
36353 "description" : "Use Two-factor authentication.",
36354 "format" : "pve-tfa-config",
36355 "maxLength" : 128,
36356 "optional" : 1,
013dc89f 36357 "type" : "string",
95895385 36358 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
36359 },
36360 "user_attr" : {
36361 "description" : "LDAP user attribute name",
36362 "maxLength" : 256,
36363 "optional" : 1,
36364 "pattern" : "\\S{2,}",
36365 "type" : "string"
2489d6df
WB
36366 },
36367 "verify" : {
36368 "default" : 0,
36369 "description" : "Verify the server's SSL certificate",
36370 "optional" : 1,
36371 "type" : "boolean",
36372 "typetext" : "<boolean>"
7aacca6f 36373 }
56122987 36374 },
44660702 36375 "type" : "object"
56122987 36376 },
7aacca6f
DM
36377 "permissions" : {
36378 "check" : [
36379 "perm",
36380 "/access/realm",
36381 [
44660702
DM
36382 "Realm.Allocate"
36383 ]
7aacca6f
DM
36384 ]
36385 },
44660702
DM
36386 "protected" : 1,
36387 "returns" : {
36388 "type" : "null"
36389 }
56122987 36390 }
44660702
DM
36391 },
36392 "leaf" : 1,
36393 "path" : "/access/domains/{realm}",
36394 "text" : "{realm}"
56122987 36395 }
7aacca6f 36396 ],
56122987
DM
36397 "info" : {
36398 "GET" : {
44660702
DM
36399 "description" : "Authentication domain index.",
36400 "method" : "GET",
36401 "name" : "index",
36402 "parameters" : {
36403 "additionalProperties" : 0
36404 },
36405 "permissions" : {
36406 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
36407 "user" : "world"
36408 },
56122987 36409 "returns" : {
56122987
DM
36410 "items" : {
36411 "properties" : {
7aacca6f 36412 "comment" : {
52e44c50 36413 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
36414 "optional" : 1,
36415 "type" : "string"
36416 },
56122987
DM
36417 "realm" : {
36418 "type" : "string"
36419 },
36420 "tfa" : {
7aacca6f 36421 "description" : "Two-factor authentication provider.",
56122987
DM
36422 "enum" : [
36423 "yubico",
36424 "oath"
36425 ],
44660702
DM
36426 "optional" : 1,
36427 "type" : "string"
56122987
DM
36428 }
36429 },
36430 "type" : "object"
44660702
DM
36431 },
36432 "links" : [
36433 {
36434 "href" : "{realm}",
36435 "rel" : "child"
36436 }
36437 ],
36438 "type" : "array"
36439 }
56122987
DM
36440 },
36441 "POST" : {
7aacca6f 36442 "description" : "Add an authentication server.",
44660702 36443 "method" : "POST",
7aacca6f 36444 "name" : "create",
56122987 36445 "parameters" : {
44660702 36446 "additionalProperties" : 0,
56122987 36447 "properties" : {
44660702
DM
36448 "base_dn" : {
36449 "description" : "LDAP base domain name",
56122987 36450 "maxLength" : 256,
44660702
DM
36451 "optional" : 1,
36452 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 36453 "type" : "string"
56122987 36454 },
4bd7df8b
DM
36455 "bind_dn" : {
36456 "description" : "LDAP bind domain name",
36457 "maxLength" : 256,
36458 "optional" : 1,
36459 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36460 "type" : "string"
36461 },
2489d6df
WB
36462 "capath" : {
36463 "default" : "/etc/ssl/certs",
36464 "description" : "Path to the CA certificate store",
36465 "optional" : 1,
36466 "type" : "string",
36467 "typetext" : "<string>"
36468 },
36469 "cert" : {
36470 "description" : "Path to the client certificate",
36471 "optional" : 1,
36472 "type" : "string",
36473 "typetext" : "<string>"
36474 },
36475 "certkey" : {
36476 "description" : "Path to the client certificate key",
36477 "optional" : 1,
36478 "type" : "string",
36479 "typetext" : "<string>"
36480 },
44660702
DM
36481 "comment" : {
36482 "description" : "Description.",
36483 "maxLength" : 4096,
56122987 36484 "optional" : 1,
013dc89f
DM
36485 "type" : "string",
36486 "typetext" : "<string>"
56122987 36487 },
44660702
DM
36488 "default" : {
36489 "description" : "Use this as default realm",
7aacca6f 36490 "optional" : 1,
013dc89f
DM
36491 "type" : "boolean",
36492 "typetext" : "<boolean>"
56122987 36493 },
44660702
DM
36494 "domain" : {
36495 "description" : "AD domain name",
36496 "maxLength" : 256,
7aacca6f 36497 "optional" : 1,
44660702
DM
36498 "pattern" : "\\S+",
36499 "type" : "string"
56122987 36500 },
7aacca6f 36501 "port" : {
44660702 36502 "description" : "Server port.",
7aacca6f 36503 "maximum" : 65535,
44660702 36504 "minimum" : 1,
7aacca6f 36505 "optional" : 1,
4bd7df8b 36506 "type" : "integer",
013dc89f 36507 "typetext" : "<integer> (1 - 65535)"
56122987 36508 },
44660702
DM
36509 "realm" : {
36510 "description" : "Authentication domain ID",
36511 "format" : "pve-realm",
36512 "maxLength" : 32,
013dc89f
DM
36513 "type" : "string",
36514 "typetext" : "<string>"
44660702
DM
36515 },
36516 "secure" : {
36517 "description" : "Use secure LDAPS protocol.",
7aacca6f 36518 "optional" : 1,
013dc89f
DM
36519 "type" : "boolean",
36520 "typetext" : "<boolean>"
56122987 36521 },
44660702
DM
36522 "server1" : {
36523 "description" : "Server IP address (or DNS name)",
36524 "format" : "address",
36525 "maxLength" : 256,
36526 "optional" : 1,
013dc89f
DM
36527 "type" : "string",
36528 "typetext" : "<string>"
56122987 36529 },
44660702
DM
36530 "server2" : {
36531 "description" : "Fallback Server IP address (or DNS name)",
36532 "format" : "address",
7aacca6f 36533 "maxLength" : 256,
7aacca6f 36534 "optional" : 1,
013dc89f
DM
36535 "type" : "string",
36536 "typetext" : "<string>"
7aacca6f 36537 },
44660702
DM
36538 "tfa" : {
36539 "description" : "Use Two-factor authentication.",
36540 "format" : "pve-tfa-config",
36541 "maxLength" : 128,
36542 "optional" : 1,
013dc89f 36543 "type" : "string",
95895385 36544 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
36545 },
36546 "type" : {
36547 "description" : "Realm type.",
36548 "enum" : [
36549 "ad",
36550 "ldap",
36551 "pam",
36552 "pve"
36553 ],
36554 "type" : "string"
36555 },
36556 "user_attr" : {
36557 "description" : "LDAP user attribute name",
7aacca6f 36558 "maxLength" : 256,
7aacca6f 36559 "optional" : 1,
44660702
DM
36560 "pattern" : "\\S{2,}",
36561 "type" : "string"
2489d6df
WB
36562 },
36563 "verify" : {
36564 "default" : 0,
36565 "description" : "Verify the server's SSL certificate",
36566 "optional" : 1,
36567 "type" : "boolean",
36568 "typetext" : "<boolean>"
7aacca6f
DM
36569 }
36570 },
7aacca6f 36571 "type" : "object"
56122987 36572 },
7aacca6f
DM
36573 "permissions" : {
36574 "check" : [
36575 "perm",
36576 "/access/realm",
36577 [
36578 "Realm.Allocate"
36579 ]
36580 ]
44660702
DM
36581 },
36582 "protected" : 1,
36583 "returns" : {
36584 "type" : "null"
7aacca6f 36585 }
56122987 36586 }
7aacca6f 36587 },
44660702 36588 "leaf" : 0,
56122987 36589 "path" : "/access/domains",
44660702 36590 "text" : "domains"
56122987
DM
36591 },
36592 {
56122987 36593 "info" : {
44660702 36594 "GET" : {
2489d6df 36595 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
36596 "method" : "GET",
36597 "name" : "get_ticket",
36598 "parameters" : {
36599 "additionalProperties" : 0
36600 },
36601 "permissions" : {
36602 "user" : "world"
36603 },
36604 "returns" : {
36605 "type" : "null"
36606 }
36607 },
56122987 36608 "POST" : {
44660702 36609 "description" : "Create or verify authentication ticket.",
56122987 36610 "method" : "POST",
44660702
DM
36611 "name" : "create_ticket",
36612 "parameters" : {
36613 "additionalProperties" : 0,
56122987 36614 "properties" : {
44660702
DM
36615 "otp" : {
36616 "description" : "One-time password for Two-factor authentication.",
7aacca6f 36617 "optional" : 1,
013dc89f
DM
36618 "type" : "string",
36619 "typetext" : "<string>"
56122987 36620 },
7aacca6f
DM
36621 "password" : {
36622 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
36623 "type" : "string",
36624 "typetext" : "<string>"
7aacca6f 36625 },
44660702
DM
36626 "path" : {
36627 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 36628 "maxLength" : 64,
56122987 36629 "optional" : 1,
56122987 36630 "requires" : "privs",
013dc89f
DM
36631 "type" : "string",
36632 "typetext" : "<string>"
44660702
DM
36633 },
36634 "privs" : {
7aacca6f 36635 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
36636 "format" : "pve-priv-list",
36637 "maxLength" : 64,
56122987 36638 "optional" : 1,
44660702 36639 "requires" : "path",
013dc89f
DM
36640 "type" : "string",
36641 "typetext" : "<string>"
56122987
DM
36642 },
36643 "realm" : {
56122987 36644 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 36645 "format" : "pve-realm",
7aacca6f 36646 "maxLength" : 32,
44660702 36647 "optional" : 1,
013dc89f
DM
36648 "type" : "string",
36649 "typetext" : "<string>"
56122987
DM
36650 },
36651 "username" : {
36652 "description" : "User name",
44660702 36653 "maxLength" : 64,
013dc89f
DM
36654 "type" : "string",
36655 "typetext" : "<string>"
56122987 36656 }
44660702 36657 }
7aacca6f 36658 },
56122987 36659 "permissions" : {
44660702 36660 "description" : "You need to pass valid credientials.",
56122987
DM
36661 "user" : "world"
36662 },
44660702 36663 "protected" : 1,
7aacca6f 36664 "returns" : {
56122987 36665 "properties" : {
44660702
DM
36666 "CSRFPreventionToken" : {
36667 "optional" : 1,
36668 "type" : "string"
56122987 36669 },
e2d681b3
TL
36670 "clustername" : {
36671 "optional" : 1,
36672 "type" : "string"
36673 },
44660702
DM
36674 "ticket" : {
36675 "optional" : 1,
36676 "type" : "string"
36677 },
36678 "username" : {
56122987
DM
36679 "type" : "string"
36680 }
36681 },
44660702 36682 "type" : "object"
7aacca6f 36683 }
7aacca6f
DM
36684 }
36685 },
44660702
DM
36686 "leaf" : 1,
36687 "path" : "/access/ticket",
36688 "text" : "ticket"
7aacca6f 36689 },
56122987 36690 {
56122987 36691 "info" : {
7aacca6f 36692 "PUT" : {
44660702 36693 "description" : "Change user password.",
7aacca6f 36694 "method" : "PUT",
e2d681b3 36695 "name" : "change_password",
56122987
DM
36696 "parameters" : {
36697 "additionalProperties" : 0,
36698 "properties" : {
44660702
DM
36699 "password" : {
36700 "description" : "The new password.",
36701 "maxLength" : 64,
36702 "minLength" : 5,
013dc89f
DM
36703 "type" : "string",
36704 "typetext" : "<string>"
7aacca6f 36705 },
44660702
DM
36706 "userid" : {
36707 "description" : "User ID",
36708 "format" : "pve-userid",
36709 "maxLength" : 64,
013dc89f
DM
36710 "type" : "string",
36711 "typetext" : "<string>"
56122987 36712 }
7aacca6f 36713 }
56122987
DM
36714 },
36715 "permissions" : {
36716 "check" : [
44660702 36717 "or",
56122987 36718 [
44660702
DM
36719 "userid-param",
36720 "self"
36721 ],
36722 [
36723 "and",
36724 [
36725 "userid-param",
36726 "Realm.AllocateUser"
36727 ],
36728 [
36729 "userid-group",
36730 [
36731 "User.Modify"
36732 ]
36733 ]
56122987 36734 ]
7aacca6f 36735 ],
44660702 36736 "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 36737 },
44660702 36738 "protected" : 1,
7aacca6f
DM
36739 "returns" : {
36740 "type" : "null"
44660702
DM
36741 }
36742 }
36743 },
36744 "leaf" : 1,
36745 "path" : "/access/password",
36746 "text" : "password"
95895385
TL
36747 },
36748 {
36749 "info" : {
36750 "POST" : {
36751 "description" : "Finish a u2f challenge.",
36752 "method" : "POST",
36753 "name" : "verify_tfa",
36754 "parameters" : {
36755 "additionalProperties" : 0,
36756 "properties" : {
36757 "response" : {
36758 "description" : "The response to the current authentication challenge.",
36759 "type" : "string",
36760 "typetext" : "<string>"
36761 }
36762 }
36763 },
36764 "permissions" : {
36765 "user" : "all"
36766 },
36767 "protected" : 1,
36768 "returns" : {
36769 "properties" : {
36770 "ticket" : {
36771 "type" : "string"
36772 }
36773 },
36774 "type" : "object"
36775 }
36776 },
36777 "PUT" : {
36778 "description" : "Change user u2f authentication.",
36779 "method" : "PUT",
36780 "name" : "change_tfa",
36781 "parameters" : {
36782 "additionalProperties" : 0,
36783 "properties" : {
36784 "action" : {
36785 "description" : "The action to perform",
36786 "enum" : [
36787 "delete",
36788 "new",
36789 "confirm"
36790 ],
36791 "type" : "string"
36792 },
36793 "config" : {
36794 "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
36795 "format" : "pve-tfa-config",
36796 "maxLength" : 128,
36797 "optional" : 1,
36798 "type" : "string",
36799 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
36800 },
36801 "key" : {
36802 "description" : "When adding TOTP, the shared secret value.",
36803 "optional" : 1,
36804 "pattern" : "(?^:[A-Z2-7=]{16}|[A-Fa-f0-9]{40})",
36805 "type" : "string"
36806 },
36807 "password" : {
36808 "description" : "The current password.",
36809 "maxLength" : 64,
36810 "minLength" : 5,
36811 "optional" : 1,
36812 "type" : "string",
36813 "typetext" : "<string>"
36814 },
36815 "response" : {
36816 "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
36817 "optional" : 1,
36818 "type" : "string",
36819 "typetext" : "<string>"
36820 },
36821 "userid" : {
36822 "description" : "User ID",
36823 "format" : "pve-userid",
36824 "maxLength" : 64,
36825 "type" : "string",
36826 "typetext" : "<string>"
36827 }
36828 }
36829 },
36830 "permissions" : {
36831 "check" : [
36832 "or",
36833 [
36834 "userid-param",
36835 "self"
36836 ],
36837 [
36838 "and",
36839 [
36840 "userid-param",
36841 "Realm.AllocateUser"
36842 ],
36843 [
36844 "userid-group",
36845 [
36846 "User.Modify"
36847 ]
36848 ]
36849 ]
36850 ],
36851 "description" : "A user can change their own u2f or totp token."
36852 },
36853 "protected" : 1,
36854 "returns" : {
36855 "type" : "object"
36856 }
36857 }
36858 },
36859 "leaf" : 1,
36860 "path" : "/access/tfa",
36861 "text" : "tfa"
44660702
DM
36862 }
36863 ],
36864 "info" : {
36865 "GET" : {
36866 "description" : "Directory index.",
36867 "method" : "GET",
36868 "name" : "index",
36869 "parameters" : {
36870 "additionalProperties" : 0
36871 },
36872 "permissions" : {
36873 "user" : "all"
36874 },
36875 "returns" : {
36876 "items" : {
36877 "properties" : {
36878 "subdir" : {
36879 "type" : "string"
36880 }
7aacca6f 36881 },
44660702
DM
36882 "type" : "object"
36883 },
36884 "links" : [
36885 {
36886 "href" : "{subdir}",
36887 "rel" : "child"
36888 }
36889 ],
36890 "type" : "array"
36891 }
36892 }
36893 },
36894 "leaf" : 0,
36895 "path" : "/access",
36896 "text" : "access"
36897 },
36898 {
36899 "children" : [
36900 {
36901 "info" : {
36902 "DELETE" : {
7aacca6f 36903 "description" : "Delete pool.",
44660702
DM
36904 "method" : "DELETE",
36905 "name" : "delete_pool",
7aacca6f
DM
36906 "parameters" : {
36907 "additionalProperties" : 0,
36908 "properties" : {
36909 "poolid" : {
36910 "format" : "pve-poolid",
013dc89f
DM
36911 "type" : "string",
36912 "typetext" : "<string>"
7aacca6f
DM
36913 }
36914 }
36915 },
56122987
DM
36916 "permissions" : {
36917 "check" : [
36918 "perm",
36919 "/pool/{poolid}",
36920 [
36921 "Pool.Allocate"
36922 ]
44660702
DM
36923 ],
36924 "description" : "You can only delete empty pools (no members)."
36925 },
36926 "protected" : 1,
36927 "returns" : {
36928 "type" : "null"
7aacca6f
DM
36929 }
36930 },
36931 "GET" : {
36932 "description" : "Get pool configuration.",
44660702 36933 "method" : "GET",
7aacca6f 36934 "name" : "read_pool",
56122987 36935 "parameters" : {
44660702 36936 "additionalProperties" : 0,
56122987
DM
36937 "properties" : {
36938 "poolid" : {
44660702 36939 "format" : "pve-poolid",
013dc89f
DM
36940 "type" : "string",
36941 "typetext" : "<string>"
56122987 36942 }
44660702 36943 }
56122987 36944 },
56122987 36945 "permissions" : {
56122987
DM
36946 "check" : [
36947 "perm",
36948 "/pool/{poolid}",
36949 [
36950 "Pool.Allocate"
36951 ]
36952 ]
36953 },
7aacca6f 36954 "returns" : {
44660702 36955 "additionalProperties" : 0,
56122987 36956 "properties" : {
44660702
DM
36957 "comment" : {
36958 "optional" : 1,
36959 "type" : "string"
36960 },
7aacca6f 36961 "members" : {
7aacca6f
DM
36962 "items" : {
36963 "additionalProperties" : 1,
7aacca6f 36964 "properties" : {
7aacca6f
DM
36965 "id" : {
36966 "type" : "string"
36967 },
36968 "node" : {
36969 "type" : "string"
36970 },
44660702
DM
36971 "storage" : {
36972 "optional" : 1,
36973 "type" : "string"
36974 },
7aacca6f 36975 "type" : {
7aacca6f
DM
36976 "enum" : [
36977 "qemu",
36978 "lxc",
36979 "openvz",
36980 "storage"
44660702
DM
36981 ],
36982 "type" : "string"
36983 },
36984 "vmid" : {
36985 "optional" : 1,
36986 "type" : "integer"
7aacca6f 36987 }
44660702
DM
36988 },
36989 "type" : "object"
36990 },
36991 "type" : "array"
36992 }
36993 },
36994 "type" : "object"
36995 }
36996 },
36997 "PUT" : {
36998 "description" : "Update pool data.",
36999 "method" : "PUT",
37000 "name" : "update_pool",
37001 "parameters" : {
37002 "additionalProperties" : 0,
37003 "properties" : {
56122987
DM
37004 "comment" : {
37005 "optional" : 1,
013dc89f
DM
37006 "type" : "string",
37007 "typetext" : "<string>"
44660702
DM
37008 },
37009 "delete" : {
37010 "description" : "Remove vms/storage (instead of adding it).",
37011 "optional" : 1,
013dc89f
DM
37012 "type" : "boolean",
37013 "typetext" : "<boolean>"
44660702
DM
37014 },
37015 "poolid" : {
37016 "format" : "pve-poolid",
013dc89f
DM
37017 "type" : "string",
37018 "typetext" : "<string>"
44660702
DM
37019 },
37020 "storage" : {
37021 "description" : "List of storage IDs.",
37022 "format" : "pve-storage-id-list",
37023 "optional" : 1,
013dc89f
DM
37024 "type" : "string",
37025 "typetext" : "<string>"
44660702
DM
37026 },
37027 "vms" : {
37028 "description" : "List of virtual machines.",
37029 "format" : "pve-vmid-list",
37030 "optional" : 1,
013dc89f
DM
37031 "type" : "string",
37032 "typetext" : "<string>"
56122987 37033 }
44660702
DM
37034 }
37035 },
37036 "permissions" : {
37037 "check" : [
37038 "perm",
37039 "/pool/{poolid}",
37040 [
37041 "Pool.Allocate"
37042 ]
37043 ],
37044 "description" : "You also need the right to modify permissions on any object you add/delete."
37045 },
37046 "protected" : 1,
37047 "returns" : {
37048 "type" : "null"
56122987
DM
37049 }
37050 }
37051 },
44660702
DM
37052 "leaf" : 1,
37053 "path" : "/pools/{poolid}",
7aacca6f 37054 "text" : "{poolid}"
56122987 37055 }
7aacca6f 37056 ],
56122987
DM
37057 "info" : {
37058 "GET" : {
44660702
DM
37059 "description" : "Pool index.",
37060 "method" : "GET",
37061 "name" : "index",
37062 "parameters" : {
37063 "additionalProperties" : 0
37064 },
37065 "permissions" : {
37066 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
37067 "user" : "all"
37068 },
56122987 37069 "returns" : {
44660702
DM
37070 "items" : {
37071 "properties" : {
37072 "poolid" : {
37073 "type" : "string"
37074 }
56122987 37075 },
44660702
DM
37076 "type" : "object"
37077 },
37078 "links" : [
37079 {
37080 "href" : "{poolid}",
37081 "rel" : "child"
37082 }
37083 ],
37084 "type" : "array"
37085 }
37086 },
37087 "POST" : {
37088 "description" : "Create new pool.",
37089 "method" : "POST",
37090 "name" : "create_pool",
37091 "parameters" : {
37092 "additionalProperties" : 0,
37093 "properties" : {
37094 "comment" : {
37095 "optional" : 1,
013dc89f
DM
37096 "type" : "string",
37097 "typetext" : "<string>"
7aacca6f 37098 },
44660702
DM
37099 "poolid" : {
37100 "format" : "pve-poolid",
013dc89f
DM
37101 "type" : "string",
37102 "typetext" : "<string>"
56122987
DM
37103 }
37104 }
37105 },
56122987 37106 "permissions" : {
44660702
DM
37107 "check" : [
37108 "perm",
37109 "/pool/{poolid}",
37110 [
37111 "Pool.Allocate"
37112 ]
37113 ]
56122987 37114 },
44660702
DM
37115 "protected" : 1,
37116 "returns" : {
37117 "type" : "null"
37118 }
37119 }
37120 },
37121 "leaf" : 0,
37122 "path" : "/pools",
37123 "text" : "pools"
37124 },
37125 {
37126 "info" : {
37127 "GET" : {
37128 "description" : "API version details. The result also includes the global datacenter confguration.",
37129 "method" : "GET",
37130 "name" : "version",
7aacca6f
DM
37131 "parameters" : {
37132 "additionalProperties" : 0
37133 },
44660702
DM
37134 "permissions" : {
37135 "user" : "all"
37136 },
37137 "returns" : {
37138 "properties" : {
37139 "release" : {
37140 "type" : "string"
37141 },
37142 "repoid" : {
37143 "type" : "string"
37144 },
37145 "version" : {
37146 "type" : "string"
37147 }
37148 },
37149 "type" : "object"
37150 }
56122987
DM
37151 }
37152 },
44660702
DM
37153 "leaf" : 1,
37154 "path" : "/version",
56122987
DM
37155 "text" : "version"
37156 }
37157]
37158;
37159