]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
run make update
[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
DM
8562 "type" : "string",
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>]",
57b78691 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>]",
4d47f125 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>]",
57b78691 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",
19587 "disk",
19588 "migrate",
19589 "mounted",
19590 "rollback",
19591 "snapshot",
19592 "snapshot-delete"
19593 ],
19594 "optional" : 1,
19595 "type" : "string"
19596 },
19597 "lxc" : {
19598 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
19599 "items" : {
19600 "items" : {
19601 "type" : "string"
19602 },
19603 "type" : "array"
19604 },
19605 "optional" : 1,
19606 "type" : "array"
19607 },
19608 "memory" : {
19609 "default" : 512,
19610 "description" : "Amount of RAM for the VM in MB.",
19611 "minimum" : 16,
19612 "optional" : 1,
19613 "type" : "integer"
19614 },
19615 "mp[n]" : {
19616 "description" : "Use volume as container mount point.",
19617 "format" : {
19618 "acl" : {
19619 "description" : "Explicitly enable or disable ACL support.",
19620 "optional" : 1,
19621 "type" : "boolean"
19622 },
19623 "backup" : {
19624 "description" : "Whether to include the mount point in backups.",
19625 "optional" : 1,
19626 "type" : "boolean",
19627 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
19628 },
19629 "mp" : {
19630 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
19631 "format" : "pve-lxc-mp-string",
19632 "format_description" : "Path",
19633 "type" : "string",
19634 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
19635 },
19636 "quota" : {
19637 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19638 "optional" : 1,
19639 "type" : "boolean"
19640 },
19641 "replicate" : {
19642 "default" : 1,
19643 "description" : "Will include this volume to a storage replica job.",
19644 "optional" : 1,
19645 "type" : "boolean"
19646 },
19647 "ro" : {
19648 "description" : "Read-only mount point",
19649 "optional" : 1,
19650 "type" : "boolean"
19651 },
19652 "shared" : {
19653 "default" : 0,
19654 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19655 "optional" : 1,
19656 "type" : "boolean",
19657 "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!"
19658 },
19659 "size" : {
19660 "description" : "Volume size (read only value).",
19661 "format" : "disk-size",
19662 "format_description" : "DiskSize",
19663 "optional" : 1,
19664 "type" : "string"
19665 },
19666 "volume" : {
19667 "default_key" : 1,
19668 "description" : "Volume, device or directory to mount into the container.",
19669 "format" : "pve-lxc-mp-string",
19670 "format_description" : "volume",
19671 "type" : "string"
19672 }
19673 },
19674 "optional" : 1,
19675 "type" : "string"
19676 },
19677 "nameserver" : {
19678 "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.",
19679 "format" : "address-list",
19680 "optional" : 1,
19681 "type" : "string"
19682 },
19683 "net[n]" : {
19684 "description" : "Specifies network interfaces for the container.",
19685 "format" : {
19686 "bridge" : {
19687 "description" : "Bridge to attach the network device to.",
19688 "format_description" : "bridge",
19689 "optional" : 1,
19690 "pattern" : "[-_.\\w\\d]+",
19691 "type" : "string"
19692 },
19693 "firewall" : {
19694 "description" : "Controls whether this interface's firewall rules should be used.",
19695 "optional" : 1,
19696 "type" : "boolean"
19697 },
19698 "gw" : {
19699 "description" : "Default gateway for IPv4 traffic.",
19700 "format" : "ipv4",
19701 "format_description" : "GatewayIPv4",
19702 "optional" : 1,
19703 "type" : "string"
19704 },
19705 "gw6" : {
19706 "description" : "Default gateway for IPv6 traffic.",
19707 "format" : "ipv6",
19708 "format_description" : "GatewayIPv6",
19709 "optional" : 1,
19710 "type" : "string"
19711 },
19712 "hwaddr" : {
19713 "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 19714 "format" : "mac-addr",
4d47f125
TL
19715 "format_description" : "XX:XX:XX:XX:XX:XX",
19716 "optional" : 1,
95895385
TL
19717 "type" : "string",
19718 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
19719 },
19720 "ip" : {
19721 "description" : "IPv4 address in CIDR format.",
19722 "format" : "pve-ipv4-config",
19723 "format_description" : "(IPv4/CIDR|dhcp|manual)",
19724 "optional" : 1,
19725 "type" : "string"
19726 },
19727 "ip6" : {
19728 "description" : "IPv6 address in CIDR format.",
19729 "format" : "pve-ipv6-config",
19730 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
19731 "optional" : 1,
19732 "type" : "string"
19733 },
19734 "mtu" : {
19735 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
19736 "minimum" : 64,
19737 "optional" : 1,
19738 "type" : "integer"
19739 },
19740 "name" : {
19741 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
19742 "format_description" : "string",
19743 "pattern" : "[-_.\\w\\d]+",
19744 "type" : "string"
19745 },
19746 "rate" : {
19747 "description" : "Apply rate limiting to the interface",
19748 "format_description" : "mbps",
19749 "optional" : 1,
19750 "type" : "number"
19751 },
19752 "tag" : {
19753 "description" : "VLAN tag for this interface.",
19754 "maximum" : 4094,
19755 "minimum" : 1,
19756 "optional" : 1,
19757 "type" : "integer"
19758 },
19759 "trunks" : {
19760 "description" : "VLAN ids to pass through the interface",
19761 "format_description" : "vlanid[;vlanid...]",
19762 "optional" : 1,
19763 "pattern" : "(?^:\\d+(?:;\\d+)*)",
19764 "type" : "string"
19765 },
19766 "type" : {
19767 "description" : "Network interface type.",
19768 "enum" : [
19769 "veth"
19770 ],
19771 "optional" : 1,
19772 "type" : "string"
19773 }
19774 },
19775 "optional" : 1,
19776 "type" : "string"
19777 },
19778 "onboot" : {
19779 "default" : 0,
19780 "description" : "Specifies whether a VM will be started during system bootup.",
19781 "optional" : 1,
19782 "type" : "boolean"
19783 },
19784 "ostype" : {
19785 "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.",
19786 "enum" : [
19787 "debian",
19788 "ubuntu",
19789 "centos",
19790 "fedora",
19791 "opensuse",
19792 "archlinux",
19793 "alpine",
19794 "gentoo",
19795 "unmanaged"
19796 ],
19797 "optional" : 1,
19798 "type" : "string"
19799 },
19800 "protection" : {
19801 "default" : 0,
19802 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
19803 "optional" : 1,
19804 "type" : "boolean"
19805 },
19806 "rootfs" : {
19807 "description" : "Use volume as container root.",
19808 "format" : {
19809 "acl" : {
19810 "description" : "Explicitly enable or disable ACL support.",
19811 "optional" : 1,
19812 "type" : "boolean"
19813 },
19814 "quota" : {
19815 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19816 "optional" : 1,
19817 "type" : "boolean"
19818 },
19819 "replicate" : {
19820 "default" : 1,
19821 "description" : "Will include this volume to a storage replica job.",
19822 "optional" : 1,
19823 "type" : "boolean"
19824 },
19825 "ro" : {
19826 "description" : "Read-only mount point",
19827 "optional" : 1,
19828 "type" : "boolean"
19829 },
19830 "shared" : {
19831 "default" : 0,
19832 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19833 "optional" : 1,
19834 "type" : "boolean",
19835 "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!"
19836 },
19837 "size" : {
19838 "description" : "Volume size (read only value).",
19839 "format" : "disk-size",
19840 "format_description" : "DiskSize",
19841 "optional" : 1,
19842 "type" : "string"
19843 },
19844 "volume" : {
19845 "default_key" : 1,
19846 "description" : "Volume, device or directory to mount into the container.",
19847 "format" : "pve-lxc-mp-string",
19848 "format_description" : "volume",
19849 "type" : "string"
19850 }
19851 },
19852 "optional" : 1,
19853 "type" : "string"
19854 },
19855 "searchdomain" : {
19856 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
19857 "format" : "dns-name-list",
19858 "optional" : 1,
19859 "type" : "string"
19860 },
19861 "startup" : {
19862 "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.",
19863 "format" : "pve-startup-order",
19864 "optional" : 1,
19865 "type" : "string",
19866 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
19867 },
19868 "swap" : {
19869 "default" : 512,
19870 "description" : "Amount of SWAP for the VM in MB.",
19871 "minimum" : 0,
19872 "optional" : 1,
19873 "type" : "integer"
19874 },
19875 "template" : {
19876 "default" : 0,
19877 "description" : "Enable/disable Template.",
19878 "optional" : 1,
19879 "type" : "boolean"
44660702 19880 },
4d47f125
TL
19881 "tty" : {
19882 "default" : 2,
19883 "description" : "Specify the number of tty available to the container",
19884 "maximum" : 6,
19885 "minimum" : 0,
19886 "optional" : 1,
19887 "type" : "integer"
19888 },
19889 "unprivileged" : {
19890 "default" : 0,
19891 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
19892 "optional" : 1,
19893 "type" : "boolean"
19894 },
19895 "unused[n]" : {
19896 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
19897 "format" : "pve-volume-id",
19898 "optional" : 1,
44660702
DM
19899 "type" : "string"
19900 }
19901 },
19902 "type" : "object"
19903 }
19904 },
56122987 19905 "PUT" : {
44660702
DM
19906 "description" : "Set container options.",
19907 "method" : "PUT",
19908 "name" : "update_vm",
56122987 19909 "parameters" : {
44660702 19910 "additionalProperties" : 0,
56122987 19911 "properties" : {
44660702
DM
19912 "arch" : {
19913 "default" : "amd64",
19914 "description" : "OS architecture type.",
19915 "enum" : [
19916 "amd64",
4d47f125
TL
19917 "i386",
19918 "arm64",
19919 "armhf"
44660702 19920 ],
7aacca6f 19921 "optional" : 1,
44660702
DM
19922 "type" : "string"
19923 },
19924 "cmode" : {
7aacca6f 19925 "default" : "tty",
44660702 19926 "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
19927 "enum" : [
19928 "shell",
19929 "console",
19930 "tty"
19931 ],
44660702
DM
19932 "optional" : 1,
19933 "type" : "string"
7aacca6f 19934 },
44660702
DM
19935 "console" : {
19936 "default" : 1,
19937 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 19938 "optional" : 1,
013dc89f
DM
19939 "type" : "boolean",
19940 "typetext" : "<boolean>"
7aacca6f 19941 },
de0983cb
DM
19942 "cores" : {
19943 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
19944 "maximum" : 128,
19945 "minimum" : 1,
19946 "optional" : 1,
19947 "type" : "integer",
013dc89f 19948 "typetext" : "<integer> (1 - 128)"
de0983cb 19949 },
44660702
DM
19950 "cpulimit" : {
19951 "default" : 0,
19952 "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.",
19953 "maximum" : 128,
7aacca6f 19954 "minimum" : 0,
7aacca6f 19955 "optional" : 1,
4bd7df8b 19956 "type" : "number",
013dc89f 19957 "typetext" : "<number> (0 - 128)"
7aacca6f 19958 },
44660702
DM
19959 "cpuunits" : {
19960 "default" : 1024,
19961 "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.",
19962 "maximum" : 500000,
19963 "minimum" : 0,
19964 "optional" : 1,
4bd7df8b 19965 "type" : "integer",
013dc89f 19966 "typetext" : "<integer> (0 - 500000)"
7aacca6f 19967 },
44660702
DM
19968 "delete" : {
19969 "description" : "A list of settings you want to delete.",
19970 "format" : "pve-configid-list",
7aacca6f 19971 "optional" : 1,
013dc89f
DM
19972 "type" : "string",
19973 "typetext" : "<string>"
7aacca6f 19974 },
44660702
DM
19975 "description" : {
19976 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 19977 "optional" : 1,
013dc89f
DM
19978 "type" : "string",
19979 "typetext" : "<string>"
7aacca6f 19980 },
44660702
DM
19981 "digest" : {
19982 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19983 "maxLength" : 40,
7aacca6f 19984 "optional" : 1,
013dc89f
DM
19985 "type" : "string",
19986 "typetext" : "<string>"
7aacca6f 19987 },
4d47f125
TL
19988 "features" : {
19989 "description" : "Allow containers access to advanced features.",
19990 "format" : {
e2d681b3
TL
19991 "fuse" : {
19992 "default" : 0,
19993 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
19994 "optional" : 1,
19995 "type" : "boolean"
19996 },
4d47f125
TL
19997 "keyctl" : {
19998 "default" : 0,
19999 "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.",
20000 "optional" : 1,
20001 "type" : "boolean"
20002 },
20003 "mount" : {
20004 "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.",
20005 "format_description" : "fstype;fstype;...",
20006 "optional" : 1,
95895385 20007 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
20008 "type" : "string"
20009 },
20010 "nesting" : {
20011 "default" : 0,
20012 "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.",
20013 "optional" : 1,
20014 "type" : "boolean"
20015 }
20016 },
20017 "optional" : 1,
20018 "type" : "string",
e2d681b3 20019 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 20020 },
5f26e15b
TL
20021 "hookscript" : {
20022 "description" : "Script that will be exectued during various steps in the containers lifetime.",
20023 "format" : "pve-volume-id",
20024 "optional" : 1,
20025 "type" : "string",
20026 "typetext" : "<string>"
20027 },
44660702
DM
20028 "hostname" : {
20029 "description" : "Set a host name for the container.",
20030 "format" : "dns-name",
20031 "maxLength" : 255,
56122987 20032 "optional" : 1,
013dc89f
DM
20033 "type" : "string",
20034 "typetext" : "<string>"
44660702
DM
20035 },
20036 "lock" : {
20037 "description" : "Lock/unlock the VM.",
20038 "enum" : [
44660702 20039 "backup",
4d47f125
TL
20040 "disk",
20041 "migrate",
20042 "mounted",
20043 "rollback",
44660702 20044 "snapshot",
4d47f125 20045 "snapshot-delete"
44660702
DM
20046 ],
20047 "optional" : 1,
20048 "type" : "string"
20049 },
20050 "memory" : {
20051 "default" : 512,
20052 "description" : "Amount of RAM for the VM in MB.",
20053 "minimum" : 16,
20054 "optional" : 1,
4bd7df8b 20055 "type" : "integer",
013dc89f 20056 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
20057 },
20058 "mp[n]" : {
c2993fe5 20059 "description" : "Use volume as container mount point.",
7aacca6f 20060 "format" : {
7aacca6f
DM
20061 "acl" : {
20062 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 20063 "optional" : 1,
44660702 20064 "type" : "boolean"
7aacca6f
DM
20065 },
20066 "backup" : {
de0983cb 20067 "description" : "Whether to include the mount point in backups.",
7aacca6f 20068 "optional" : 1,
4bd7df8b 20069 "type" : "boolean",
de0983cb 20070 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
20071 },
20072 "mp" : {
de0983cb 20073 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 20074 "format" : "pve-lxc-mp-string",
44660702 20075 "format_description" : "Path",
4bd7df8b 20076 "type" : "string",
de0983cb 20077 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 20078 },
5d9c884c
DM
20079 "quota" : {
20080 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
20081 "optional" : 1,
20082 "type" : "boolean"
20083 },
20084 "replicate" : {
20085 "default" : 1,
20086 "description" : "Will include this volume to a storage replica job.",
44660702
DM
20087 "optional" : 1,
20088 "type" : "boolean"
20089 },
20090 "ro" : {
de0983cb 20091 "description" : "Read-only mount point",
44660702
DM
20092 "optional" : 1,
20093 "type" : "boolean"
20094 },
de0983cb
DM
20095 "shared" : {
20096 "default" : 0,
20097 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20098 "optional" : 1,
20099 "type" : "boolean",
20100 "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!"
20101 },
44660702
DM
20102 "size" : {
20103 "description" : "Volume size (read only value).",
20104 "format" : "disk-size",
20105 "format_description" : "DiskSize",
20106 "optional" : 1,
20107 "type" : "string"
20108 },
20109 "volume" : {
20110 "default_key" : 1,
20111 "description" : "Volume, device or directory to mount into the container.",
20112 "format" : "pve-lxc-mp-string",
20113 "format_description" : "volume",
20114 "type" : "string"
20115 }
20116 },
7aacca6f 20117 "optional" : 1,
4bd7df8b 20118 "type" : "string",
5d9c884c 20119 "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 20120 },
44660702
DM
20121 "nameserver" : {
20122 "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.",
20123 "format" : "address-list",
56122987 20124 "optional" : 1,
013dc89f
DM
20125 "type" : "string",
20126 "typetext" : "<string>"
56122987
DM
20127 },
20128 "net[n]" : {
44660702 20129 "description" : "Specifies network interfaces for the container.",
56122987 20130 "format" : {
44660702
DM
20131 "bridge" : {
20132 "description" : "Bridge to attach the network device to.",
f004f5b9 20133 "format_description" : "bridge",
56122987 20134 "optional" : 1,
44660702
DM
20135 "pattern" : "[-_.\\w\\d]+",
20136 "type" : "string"
56122987 20137 },
44660702
DM
20138 "firewall" : {
20139 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 20140 "optional" : 1,
44660702 20141 "type" : "boolean"
56122987 20142 },
44660702
DM
20143 "gw" : {
20144 "description" : "Default gateway for IPv4 traffic.",
20145 "format" : "ipv4",
20146 "format_description" : "GatewayIPv4",
56122987 20147 "optional" : 1,
44660702 20148 "type" : "string"
56122987
DM
20149 },
20150 "gw6" : {
7aacca6f 20151 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
20152 "format" : "ipv6",
20153 "format_description" : "GatewayIPv6",
7aacca6f 20154 "optional" : 1,
56122987
DM
20155 "type" : "string"
20156 },
44660702 20157 "hwaddr" : {
f004f5b9 20158 "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 20159 "format" : "mac-addr",
f004f5b9 20160 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702 20161 "optional" : 1,
95895385
TL
20162 "type" : "string",
20163 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
44660702
DM
20164 },
20165 "ip" : {
20166 "description" : "IPv4 address in CIDR format.",
20167 "format" : "pve-ipv4-config",
2489d6df 20168 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 20169 "optional" : 1,
44660702 20170 "type" : "string"
56122987 20171 },
7aacca6f 20172 "ip6" : {
7aacca6f
DM
20173 "description" : "IPv6 address in CIDR format.",
20174 "format" : "pve-ipv6-config",
2489d6df 20175 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 20176 "optional" : 1,
44660702 20177 "type" : "string"
56122987 20178 },
44660702
DM
20179 "mtu" : {
20180 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 20181 "minimum" : 64,
56122987 20182 "optional" : 1,
44660702 20183 "type" : "integer"
56122987
DM
20184 },
20185 "name" : {
44660702 20186 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 20187 "format_description" : "string",
56122987 20188 "pattern" : "[-_.\\w\\d]+",
44660702 20189 "type" : "string"
56122987 20190 },
44660702
DM
20191 "rate" : {
20192 "description" : "Apply rate limiting to the interface",
20193 "format_description" : "mbps",
56122987 20194 "optional" : 1,
44660702 20195 "type" : "number"
7aacca6f 20196 },
44660702
DM
20197 "tag" : {
20198 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
20199 "maximum" : 4094,
20200 "minimum" : 1,
56122987 20201 "optional" : 1,
7aacca6f 20202 "type" : "integer"
56122987 20203 },
44660702
DM
20204 "trunks" : {
20205 "description" : "VLAN ids to pass through the interface",
20206 "format_description" : "vlanid[;vlanid...]",
20207 "optional" : 1,
20208 "pattern" : "(?^:\\d+(?:;\\d+)*)",
20209 "type" : "string"
20210 },
20211 "type" : {
20212 "description" : "Network interface type.",
20213 "enum" : [
20214 "veth"
20215 ],
56122987 20216 "optional" : 1,
44660702 20217 "type" : "string"
56122987
DM
20218 }
20219 },
7aacca6f 20220 "optional" : 1,
4bd7df8b 20221 "type" : "string",
2489d6df 20222 "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 20223 },
44660702
DM
20224 "node" : {
20225 "description" : "The cluster node name.",
20226 "format" : "pve-node",
013dc89f
DM
20227 "type" : "string",
20228 "typetext" : "<string>"
56122987 20229 },
44660702
DM
20230 "onboot" : {
20231 "default" : 0,
20232 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 20233 "optional" : 1,
013dc89f
DM
20234 "type" : "boolean",
20235 "typetext" : "<boolean>"
56122987 20236 },
44660702
DM
20237 "ostype" : {
20238 "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.",
20239 "enum" : [
20240 "debian",
20241 "ubuntu",
20242 "centos",
20243 "fedora",
20244 "opensuse",
20245 "archlinux",
20246 "alpine",
57b78691 20247 "gentoo",
44660702
DM
20248 "unmanaged"
20249 ],
56122987 20250 "optional" : 1,
44660702 20251 "type" : "string"
56122987 20252 },
44660702
DM
20253 "protection" : {
20254 "default" : 0,
20255 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 20256 "optional" : 1,
013dc89f
DM
20257 "type" : "boolean",
20258 "typetext" : "<boolean>"
56122987 20259 },
7aacca6f
DM
20260 "rootfs" : {
20261 "description" : "Use volume as container root.",
56122987
DM
20262 "format" : {
20263 "acl" : {
44660702 20264 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
20265 "optional" : 1,
20266 "type" : "boolean"
56122987 20267 },
44660702
DM
20268 "quota" : {
20269 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
20270 "optional" : 1,
20271 "type" : "boolean"
20272 },
5d9c884c
DM
20273 "replicate" : {
20274 "default" : 1,
20275 "description" : "Will include this volume to a storage replica job.",
20276 "optional" : 1,
20277 "type" : "boolean"
20278 },
44660702 20279 "ro" : {
de0983cb 20280 "description" : "Read-only mount point",
56122987 20281 "optional" : 1,
44660702
DM
20282 "type" : "boolean"
20283 },
de0983cb
DM
20284 "shared" : {
20285 "default" : 0,
20286 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20287 "optional" : 1,
20288 "type" : "boolean",
20289 "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!"
20290 },
44660702 20291 "size" : {
7aacca6f 20292 "description" : "Volume size (read only value).",
44660702 20293 "format" : "disk-size",
56122987 20294 "format_description" : "DiskSize",
56122987 20295 "optional" : 1,
44660702 20296 "type" : "string"
7aacca6f
DM
20297 },
20298 "volume" : {
7aacca6f
DM
20299 "default_key" : 1,
20300 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
20301 "format" : "pve-lxc-mp-string",
20302 "format_description" : "volume",
7aacca6f 20303 "type" : "string"
56122987 20304 }
44660702
DM
20305 },
20306 "optional" : 1,
4bd7df8b 20307 "type" : "string",
5d9c884c 20308 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
20309 },
20310 "searchdomain" : {
20311 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
20312 "format" : "dns-name-list",
20313 "optional" : 1,
013dc89f
DM
20314 "type" : "string",
20315 "typetext" : "<string>"
44660702
DM
20316 },
20317 "startup" : {
20318 "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.",
20319 "format" : "pve-startup-order",
20320 "optional" : 1,
20321 "type" : "string",
20322 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
20323 },
20324 "swap" : {
20325 "default" : 512,
20326 "description" : "Amount of SWAP for the VM in MB.",
20327 "minimum" : 0,
20328 "optional" : 1,
4bd7df8b 20329 "type" : "integer",
013dc89f 20330 "typetext" : "<integer> (0 - N)"
56122987 20331 },
56122987 20332 "template" : {
44660702 20333 "default" : 0,
7aacca6f 20334 "description" : "Enable/disable Template.",
56122987 20335 "optional" : 1,
013dc89f
DM
20336 "type" : "boolean",
20337 "typetext" : "<boolean>"
56122987 20338 },
44660702
DM
20339 "tty" : {
20340 "default" : 2,
20341 "description" : "Specify the number of tty available to the container",
20342 "maximum" : 6,
20343 "minimum" : 0,
20344 "optional" : 1,
4bd7df8b 20345 "type" : "integer",
013dc89f 20346 "typetext" : "<integer> (0 - 6)"
56122987 20347 },
44660702
DM
20348 "unprivileged" : {
20349 "default" : 0,
20350 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 20351 "optional" : 1,
013dc89f
DM
20352 "type" : "boolean",
20353 "typetext" : "<boolean>"
56122987 20354 },
44660702 20355 "unused[n]" : {
c2993fe5 20356 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 20357 "format" : "pve-volume-id",
56122987 20358 "optional" : 1,
013dc89f
DM
20359 "type" : "string",
20360 "typetext" : "<string>"
44660702
DM
20361 },
20362 "vmid" : {
20363 "description" : "The (unique) ID of the VM.",
20364 "format" : "pve-vmid",
20365 "minimum" : 1,
4bd7df8b 20366 "type" : "integer",
013dc89f 20367 "typetext" : "<integer> (1 - N)"
56122987 20368 }
44660702 20369 }
56122987 20370 },
56122987
DM
20371 "permissions" : {
20372 "check" : [
20373 "perm",
20374 "/vms/{vmid}",
20375 [
20376 "VM.Config.Disk",
20377 "VM.Config.CPU",
20378 "VM.Config.Memory",
20379 "VM.Config.Network",
20380 "VM.Config.Options"
20381 ],
20382 "any",
20383 1
52e44c50
FG
20384 ],
20385 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 20386 },
44660702
DM
20387 "protected" : 1,
20388 "proxyto" : "node",
56122987
DM
20389 "returns" : {
20390 "type" : "null"
7aacca6f 20391 }
56122987 20392 }
7aacca6f 20393 },
44660702 20394 "leaf" : 1,
7aacca6f 20395 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 20396 "text" : "config"
56122987
DM
20397 },
20398 {
56122987
DM
20399 "children" : [
20400 {
20401 "info" : {
20402 "GET" : {
44660702 20403 "description" : "Get virtual machine status.",
7aacca6f 20404 "method" : "GET",
44660702 20405 "name" : "vm_status",
56122987 20406 "parameters" : {
44660702 20407 "additionalProperties" : 0,
56122987 20408 "properties" : {
56122987 20409 "node" : {
44660702 20410 "description" : "The cluster node name.",
56122987 20411 "format" : "pve-node",
013dc89f
DM
20412 "type" : "string",
20413 "typetext" : "<string>"
7aacca6f
DM
20414 },
20415 "vmid" : {
20416 "description" : "The (unique) ID of the VM.",
44660702 20417 "format" : "pve-vmid",
7aacca6f 20418 "minimum" : 1,
4bd7df8b 20419 "type" : "integer",
013dc89f 20420 "typetext" : "<integer> (1 - N)"
56122987 20421 }
44660702 20422 }
7aacca6f
DM
20423 },
20424 "permissions" : {
20425 "check" : [
20426 "perm",
20427 "/vms/{vmid}",
20428 [
4d47f125
TL
20429 "VM.Audit"
20430 ]
20431 ]
20432 },
20433 "protected" : 1,
20434 "proxyto" : "node",
20435 "returns" : {
20436 "properties" : {
20437 "cpus" : {
20438 "description" : "Maximum usable CPUs.",
20439 "optional" : 1,
20440 "type" : "number"
20441 },
20442 "ha" : {
20443 "description" : "HA manager service status.",
20444 "type" : "object"
20445 },
95895385
TL
20446 "lock" : {
20447 "description" : "The current config lock, if any.",
20448 "optional" : 1,
20449 "type" : "string"
20450 },
4d47f125
TL
20451 "maxdisk" : {
20452 "description" : "Root disk size in bytes.",
20453 "optional" : 1,
20454 "renderer" : "bytes",
20455 "type" : "integer"
20456 },
20457 "maxmem" : {
20458 "description" : "Maximum memory in bytes.",
20459 "optional" : 1,
20460 "renderer" : "bytes",
20461 "type" : "integer"
20462 },
20463 "maxswap" : {
20464 "description" : "Maximum SWAP memory in bytes.",
20465 "optional" : 1,
20466 "renderer" : "bytes",
20467 "type" : "integer"
20468 },
20469 "name" : {
20470 "description" : "Container name.",
20471 "optional" : 1,
20472 "type" : "string"
20473 },
20474 "status" : {
20475 "description" : "LXC Container status.",
20476 "enum" : [
20477 "stopped",
20478 "running"
20479 ],
20480 "type" : "string"
20481 },
20482 "uptime" : {
20483 "description" : "Uptime.",
20484 "optional" : 1,
20485 "renderer" : "duration",
20486 "type" : "integer"
20487 },
20488 "vmid" : {
20489 "description" : "The (unique) ID of the VM.",
20490 "format" : "pve-vmid",
20491 "minimum" : 1,
20492 "type" : "integer"
20493 }
20494 },
20495 "type" : "object"
20496 }
20497 }
20498 },
20499 "leaf" : 1,
20500 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
20501 "text" : "current"
20502 },
20503 {
20504 "info" : {
20505 "POST" : {
20506 "description" : "Start the container.",
20507 "method" : "POST",
20508 "name" : "vm_start",
20509 "parameters" : {
20510 "additionalProperties" : 0,
20511 "properties" : {
20512 "node" : {
20513 "description" : "The cluster node name.",
20514 "format" : "pve-node",
20515 "type" : "string",
20516 "typetext" : "<string>"
20517 },
20518 "skiplock" : {
20519 "description" : "Ignore locks - only root is allowed to use this option.",
20520 "optional" : 1,
20521 "type" : "boolean",
20522 "typetext" : "<boolean>"
20523 },
20524 "vmid" : {
20525 "description" : "The (unique) ID of the VM.",
20526 "format" : "pve-vmid",
20527 "minimum" : 1,
20528 "type" : "integer",
20529 "typetext" : "<integer> (1 - N)"
20530 }
20531 }
20532 },
20533 "permissions" : {
20534 "check" : [
20535 "perm",
20536 "/vms/{vmid}",
20537 [
20538 "VM.PowerMgmt"
20539 ]
20540 ]
20541 },
20542 "protected" : 1,
20543 "proxyto" : "node",
20544 "returns" : {
20545 "type" : "string"
20546 }
20547 }
20548 },
20549 "leaf" : 1,
20550 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
20551 "text" : "start"
20552 },
20553 {
20554 "info" : {
20555 "POST" : {
20556 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
20557 "method" : "POST",
20558 "name" : "vm_stop",
20559 "parameters" : {
20560 "additionalProperties" : 0,
20561 "properties" : {
20562 "node" : {
20563 "description" : "The cluster node name.",
20564 "format" : "pve-node",
20565 "type" : "string",
20566 "typetext" : "<string>"
20567 },
20568 "skiplock" : {
20569 "description" : "Ignore locks - only root is allowed to use this option.",
20570 "optional" : 1,
20571 "type" : "boolean",
20572 "typetext" : "<boolean>"
20573 },
20574 "vmid" : {
20575 "description" : "The (unique) ID of the VM.",
20576 "format" : "pve-vmid",
20577 "minimum" : 1,
20578 "type" : "integer",
20579 "typetext" : "<integer> (1 - N)"
20580 }
20581 }
20582 },
20583 "permissions" : {
20584 "check" : [
20585 "perm",
20586 "/vms/{vmid}",
20587 [
20588 "VM.PowerMgmt"
20589 ]
20590 ]
20591 },
20592 "protected" : 1,
20593 "proxyto" : "node",
20594 "returns" : {
20595 "type" : "string"
20596 }
20597 }
20598 },
20599 "leaf" : 1,
20600 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
20601 "text" : "stop"
20602 },
20603 {
20604 "info" : {
20605 "POST" : {
20606 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
20607 "method" : "POST",
20608 "name" : "vm_shutdown",
20609 "parameters" : {
20610 "additionalProperties" : 0,
20611 "properties" : {
20612 "forceStop" : {
20613 "default" : 0,
20614 "description" : "Make sure the Container stops.",
20615 "optional" : 1,
20616 "type" : "boolean",
20617 "typetext" : "<boolean>"
20618 },
20619 "node" : {
20620 "description" : "The cluster node name.",
20621 "format" : "pve-node",
20622 "type" : "string",
20623 "typetext" : "<string>"
20624 },
20625 "timeout" : {
20626 "default" : 60,
20627 "description" : "Wait maximal timeout seconds.",
20628 "minimum" : 0,
20629 "optional" : 1,
20630 "type" : "integer",
20631 "typetext" : "<integer> (0 - N)"
20632 },
20633 "vmid" : {
20634 "description" : "The (unique) ID of the VM.",
20635 "format" : "pve-vmid",
20636 "minimum" : 1,
20637 "type" : "integer",
20638 "typetext" : "<integer> (1 - N)"
20639 }
20640 }
20641 },
20642 "permissions" : {
20643 "check" : [
20644 "perm",
20645 "/vms/{vmid}",
20646 [
20647 "VM.PowerMgmt"
7aacca6f
DM
20648 ]
20649 ]
20650 },
44660702 20651 "protected" : 1,
7aacca6f 20652 "proxyto" : "node",
44660702 20653 "returns" : {
4d47f125 20654 "type" : "string"
44660702 20655 }
56122987
DM
20656 }
20657 },
44660702 20658 "leaf" : 1,
4d47f125
TL
20659 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
20660 "text" : "shutdown"
56122987
DM
20661 },
20662 {
56122987
DM
20663 "info" : {
20664 "POST" : {
4d47f125 20665 "description" : "Suspend the container.",
44660702 20666 "method" : "POST",
4d47f125 20667 "name" : "vm_suspend",
56122987
DM
20668 "parameters" : {
20669 "additionalProperties" : 0,
20670 "properties" : {
56122987 20671 "node" : {
7aacca6f 20672 "description" : "The cluster node name.",
44660702 20673 "format" : "pve-node",
013dc89f
DM
20674 "type" : "string",
20675 "typetext" : "<string>"
56122987
DM
20676 },
20677 "vmid" : {
7aacca6f 20678 "description" : "The (unique) ID of the VM.",
44660702 20679 "format" : "pve-vmid",
56122987 20680 "minimum" : 1,
4bd7df8b 20681 "type" : "integer",
013dc89f 20682 "typetext" : "<integer> (1 - N)"
56122987
DM
20683 }
20684 }
20685 },
20686 "permissions" : {
20687 "check" : [
20688 "perm",
20689 "/vms/{vmid}",
20690 [
20691 "VM.PowerMgmt"
20692 ]
20693 ]
20694 },
44660702 20695 "protected" : 1,
7aacca6f 20696 "proxyto" : "node",
44660702
DM
20697 "returns" : {
20698 "type" : "string"
20699 }
20700 }
20701 },
20702 "leaf" : 1,
4d47f125
TL
20703 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
20704 "text" : "suspend"
44660702
DM
20705 },
20706 {
20707 "info" : {
20708 "POST" : {
4d47f125 20709 "description" : "Resume the container.",
7aacca6f 20710 "method" : "POST",
4d47f125 20711 "name" : "vm_resume",
7aacca6f 20712 "parameters" : {
44660702 20713 "additionalProperties" : 0,
7aacca6f 20714 "properties" : {
44660702
DM
20715 "node" : {
20716 "description" : "The cluster node name.",
20717 "format" : "pve-node",
013dc89f
DM
20718 "type" : "string",
20719 "typetext" : "<string>"
44660702 20720 },
7aacca6f 20721 "vmid" : {
44660702 20722 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20723 "format" : "pve-vmid",
20724 "minimum" : 1,
4bd7df8b 20725 "type" : "integer",
013dc89f 20726 "typetext" : "<integer> (1 - N)"
7aacca6f 20727 }
44660702
DM
20728 }
20729 },
20730 "permissions" : {
20731 "check" : [
20732 "perm",
20733 "/vms/{vmid}",
20734 [
20735 "VM.PowerMgmt"
20736 ]
20737 ]
7aacca6f 20738 },
44660702
DM
20739 "protected" : 1,
20740 "proxyto" : "node",
20741 "returns" : {
20742 "type" : "string"
20743 }
56122987 20744 }
7aacca6f 20745 },
7aacca6f 20746 "leaf" : 1,
4d47f125
TL
20747 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
20748 "text" : "resume"
20749 }
20750 ],
20751 "info" : {
20752 "GET" : {
20753 "description" : "Directory index",
20754 "method" : "GET",
20755 "name" : "vmcmdidx",
20756 "parameters" : {
20757 "additionalProperties" : 0,
20758 "properties" : {
20759 "node" : {
20760 "description" : "The cluster node name.",
20761 "format" : "pve-node",
20762 "type" : "string",
20763 "typetext" : "<string>"
20764 },
20765 "vmid" : {
20766 "description" : "The (unique) ID of the VM.",
20767 "format" : "pve-vmid",
20768 "minimum" : 1,
20769 "type" : "integer",
20770 "typetext" : "<integer> (1 - N)"
20771 }
20772 }
20773 },
20774 "permissions" : {
20775 "user" : "all"
20776 },
20777 "proxyto" : "node",
20778 "returns" : {
20779 "items" : {
20780 "properties" : {
20781 "subdir" : {
20782 "type" : "string"
20783 }
20784 },
20785 "type" : "object"
20786 },
20787 "links" : [
20788 {
20789 "href" : "{subdir}",
20790 "rel" : "child"
20791 }
20792 ],
20793 "type" : "array"
20794 }
20795 }
20796 },
20797 "leaf" : 0,
20798 "path" : "/nodes/{node}/lxc/{vmid}/status",
20799 "text" : "status"
20800 },
20801 {
20802 "children" : [
56122987 20803 {
4d47f125
TL
20804 "children" : [
20805 {
20806 "info" : {
20807 "POST" : {
20808 "description" : "Rollback LXC state to specified snapshot.",
20809 "method" : "POST",
20810 "name" : "rollback",
20811 "parameters" : {
20812 "additionalProperties" : 0,
20813 "properties" : {
20814 "node" : {
20815 "description" : "The cluster node name.",
20816 "format" : "pve-node",
20817 "type" : "string",
20818 "typetext" : "<string>"
20819 },
20820 "snapname" : {
20821 "description" : "The name of the snapshot.",
20822 "format" : "pve-configid",
20823 "maxLength" : 40,
20824 "type" : "string",
20825 "typetext" : "<string>"
20826 },
20827 "vmid" : {
20828 "description" : "The (unique) ID of the VM.",
20829 "format" : "pve-vmid",
20830 "minimum" : 1,
20831 "type" : "integer",
20832 "typetext" : "<integer> (1 - N)"
20833 }
20834 }
20835 },
20836 "permissions" : {
20837 "check" : [
20838 "perm",
20839 "/vms/{vmid}",
20840 [
20841 "VM.Snapshot",
20842 "VM.Snapshot.Rollback"
20843 ],
20844 "any",
20845 1
20846 ]
20847 },
20848 "protected" : 1,
20849 "proxyto" : "node",
20850 "returns" : {
20851 "description" : "the task ID.",
20852 "type" : "string"
20853 }
20854 }
20855 },
20856 "leaf" : 1,
20857 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
20858 "text" : "rollback"
20859 },
20860 {
20861 "info" : {
20862 "GET" : {
20863 "description" : "Get snapshot configuration",
20864 "method" : "GET",
20865 "name" : "get_snapshot_config",
20866 "parameters" : {
20867 "additionalProperties" : 0,
20868 "properties" : {
20869 "node" : {
20870 "description" : "The cluster node name.",
20871 "format" : "pve-node",
20872 "type" : "string",
20873 "typetext" : "<string>"
20874 },
20875 "snapname" : {
20876 "description" : "The name of the snapshot.",
20877 "format" : "pve-configid",
20878 "maxLength" : 40,
20879 "type" : "string",
20880 "typetext" : "<string>"
20881 },
20882 "vmid" : {
20883 "description" : "The (unique) ID of the VM.",
20884 "format" : "pve-vmid",
20885 "minimum" : 1,
20886 "type" : "integer",
20887 "typetext" : "<integer> (1 - N)"
20888 }
20889 }
20890 },
20891 "permissions" : {
20892 "check" : [
20893 "perm",
20894 "/vms/{vmid}",
20895 [
20896 "VM.Snapshot",
20897 "VM.Snapshot.Rollback"
20898 ],
20899 "any",
20900 1
20901 ]
20902 },
20903 "proxyto" : "node",
20904 "returns" : {
20905 "type" : "object"
20906 }
20907 },
20908 "PUT" : {
20909 "description" : "Update snapshot metadata.",
20910 "method" : "PUT",
20911 "name" : "update_snapshot_config",
20912 "parameters" : {
20913 "additionalProperties" : 0,
20914 "properties" : {
20915 "description" : {
20916 "description" : "A textual description or comment.",
20917 "optional" : 1,
20918 "type" : "string",
20919 "typetext" : "<string>"
20920 },
20921 "node" : {
20922 "description" : "The cluster node name.",
20923 "format" : "pve-node",
20924 "type" : "string",
20925 "typetext" : "<string>"
20926 },
20927 "snapname" : {
20928 "description" : "The name of the snapshot.",
20929 "format" : "pve-configid",
20930 "maxLength" : 40,
20931 "type" : "string",
20932 "typetext" : "<string>"
20933 },
20934 "vmid" : {
20935 "description" : "The (unique) ID of the VM.",
20936 "format" : "pve-vmid",
20937 "minimum" : 1,
20938 "type" : "integer",
20939 "typetext" : "<integer> (1 - N)"
20940 }
20941 }
20942 },
20943 "permissions" : {
20944 "check" : [
20945 "perm",
20946 "/vms/{vmid}",
20947 [
20948 "VM.Snapshot"
20949 ]
20950 ]
20951 },
20952 "protected" : 1,
20953 "proxyto" : "node",
20954 "returns" : {
20955 "type" : "null"
20956 }
20957 }
20958 },
20959 "leaf" : 1,
20960 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
20961 "text" : "config"
20962 }
20963 ],
56122987 20964 "info" : {
4d47f125
TL
20965 "DELETE" : {
20966 "description" : "Delete a LXC snapshot.",
20967 "method" : "DELETE",
20968 "name" : "delsnapshot",
56122987 20969 "parameters" : {
44660702 20970 "additionalProperties" : 0,
56122987 20971 "properties" : {
4d47f125
TL
20972 "force" : {
20973 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 20974 "optional" : 1,
013dc89f
DM
20975 "type" : "boolean",
20976 "typetext" : "<boolean>"
44660702
DM
20977 },
20978 "node" : {
20979 "description" : "The cluster node name.",
20980 "format" : "pve-node",
013dc89f
DM
20981 "type" : "string",
20982 "typetext" : "<string>"
7aacca6f 20983 },
4d47f125
TL
20984 "snapname" : {
20985 "description" : "The name of the snapshot.",
20986 "format" : "pve-configid",
20987 "maxLength" : 40,
20988 "type" : "string",
20989 "typetext" : "<string>"
56122987
DM
20990 },
20991 "vmid" : {
7aacca6f 20992 "description" : "The (unique) ID of the VM.",
44660702
DM
20993 "format" : "pve-vmid",
20994 "minimum" : 1,
4bd7df8b 20995 "type" : "integer",
013dc89f 20996 "typetext" : "<integer> (1 - N)"
56122987 20997 }
44660702 20998 }
56122987
DM
20999 },
21000 "permissions" : {
21001 "check" : [
21002 "perm",
21003 "/vms/{vmid}",
21004 [
4d47f125 21005 "VM.Snapshot"
56122987
DM
21006 ]
21007 ]
21008 },
44660702
DM
21009 "protected" : 1,
21010 "proxyto" : "node",
7aacca6f 21011 "returns" : {
4d47f125 21012 "description" : "the task ID.",
7aacca6f
DM
21013 "type" : "string"
21014 }
4d47f125
TL
21015 },
21016 "GET" : {
21017 "description" : "",
21018 "method" : "GET",
21019 "name" : "snapshot_cmd_idx",
56122987
DM
21020 "parameters" : {
21021 "additionalProperties" : 0,
21022 "properties" : {
44660702
DM
21023 "node" : {
21024 "description" : "The cluster node name.",
21025 "format" : "pve-node",
013dc89f
DM
21026 "type" : "string",
21027 "typetext" : "<string>"
44660702 21028 },
4d47f125
TL
21029 "snapname" : {
21030 "description" : "The name of the snapshot.",
21031 "format" : "pve-configid",
21032 "maxLength" : 40,
013dc89f
DM
21033 "type" : "string",
21034 "typetext" : "<string>"
56122987
DM
21035 },
21036 "vmid" : {
7aacca6f 21037 "description" : "The (unique) ID of the VM.",
56122987 21038 "format" : "pve-vmid",
44660702 21039 "minimum" : 1,
4bd7df8b 21040 "type" : "integer",
013dc89f 21041 "typetext" : "<integer> (1 - N)"
56122987 21042 }
44660702
DM
21043 }
21044 },
21045 "permissions" : {
4d47f125 21046 "user" : "all"
56122987 21047 },
44660702 21048 "returns" : {
4d47f125
TL
21049 "items" : {
21050 "properties" : {},
21051 "type" : "object"
21052 },
21053 "links" : [
21054 {
21055 "href" : "{cmd}",
21056 "rel" : "child"
21057 }
21058 ],
21059 "type" : "array"
44660702 21060 }
7aacca6f
DM
21061 }
21062 },
4d47f125
TL
21063 "leaf" : 0,
21064 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
21065 "text" : "{snapname}"
7aacca6f
DM
21066 }
21067 ],
21068 "info" : {
21069 "GET" : {
4d47f125 21070 "description" : "List all snapshots.",
44660702 21071 "method" : "GET",
4d47f125 21072 "name" : "list",
7aacca6f
DM
21073 "parameters" : {
21074 "additionalProperties" : 0,
21075 "properties" : {
21076 "node" : {
21077 "description" : "The cluster node name.",
44660702 21078 "format" : "pve-node",
013dc89f
DM
21079 "type" : "string",
21080 "typetext" : "<string>"
56122987 21081 },
7aacca6f 21082 "vmid" : {
44660702 21083 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21084 "format" : "pve-vmid",
21085 "minimum" : 1,
4bd7df8b 21086 "type" : "integer",
013dc89f 21087 "typetext" : "<integer> (1 - N)"
7aacca6f 21088 }
56122987
DM
21089 }
21090 },
44660702 21091 "permissions" : {
4d47f125
TL
21092 "check" : [
21093 "perm",
21094 "/vms/{vmid}",
21095 [
21096 "VM.Audit"
21097 ]
21098 ]
44660702 21099 },
4d47f125 21100 "protected" : 1,
44660702 21101 "proxyto" : "node",
7aacca6f 21102 "returns" : {
7aacca6f
DM
21103 "items" : {
21104 "properties" : {
4d47f125
TL
21105 "description" : {
21106 "description" : "Snapshot description.",
7aacca6f 21107 "type" : "string"
4d47f125
TL
21108 },
21109 "name" : {
21110 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
21111 "type" : "string"
21112 },
21113 "parent" : {
21114 "description" : "Parent snapshot identifier.",
21115 "optional" : 1,
21116 "type" : "string"
21117 },
21118 "snaptime" : {
21119 "description" : "Snapshot creation time",
21120 "optional" : 1,
21121 "renderer" : "timestamp",
21122 "type" : "integer"
7aacca6f
DM
21123 }
21124 },
21125 "type" : "object"
21126 },
21127 "links" : [
21128 {
4d47f125 21129 "href" : "{name}",
44660702 21130 "rel" : "child"
7aacca6f 21131 }
44660702
DM
21132 ],
21133 "type" : "array"
7aacca6f 21134 }
4d47f125
TL
21135 },
21136 "POST" : {
21137 "description" : "Snapshot a container.",
21138 "method" : "POST",
21139 "name" : "snapshot",
21140 "parameters" : {
21141 "additionalProperties" : 0,
21142 "properties" : {
21143 "description" : {
21144 "description" : "A textual description or comment.",
21145 "optional" : 1,
21146 "type" : "string",
21147 "typetext" : "<string>"
21148 },
21149 "node" : {
21150 "description" : "The cluster node name.",
21151 "format" : "pve-node",
21152 "type" : "string",
21153 "typetext" : "<string>"
21154 },
21155 "snapname" : {
21156 "description" : "The name of the snapshot.",
21157 "format" : "pve-configid",
21158 "maxLength" : 40,
21159 "type" : "string",
21160 "typetext" : "<string>"
21161 },
21162 "vmid" : {
21163 "description" : "The (unique) ID of the VM.",
21164 "format" : "pve-vmid",
21165 "minimum" : 1,
21166 "type" : "integer",
21167 "typetext" : "<integer> (1 - N)"
21168 }
21169 }
21170 },
21171 "permissions" : {
21172 "check" : [
21173 "perm",
21174 "/vms/{vmid}",
21175 [
21176 "VM.Snapshot"
21177 ]
21178 ]
21179 },
21180 "protected" : 1,
21181 "proxyto" : "node",
21182 "returns" : {
21183 "description" : "the task ID.",
21184 "type" : "string"
21185 }
7aacca6f 21186 }
44660702
DM
21187 },
21188 "leaf" : 0,
4d47f125
TL
21189 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
21190 "text" : "snapshot"
7aacca6f
DM
21191 },
21192 {
7aacca6f 21193 "children" : [
56122987 21194 {
7aacca6f
DM
21195 "children" : [
21196 {
21197 "info" : {
4d47f125
TL
21198 "DELETE" : {
21199 "description" : "Delete rule.",
21200 "method" : "DELETE",
21201 "name" : "delete_rule",
7aacca6f 21202 "parameters" : {
44660702 21203 "additionalProperties" : 0,
7aacca6f 21204 "properties" : {
4d47f125
TL
21205 "digest" : {
21206 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21207 "maxLength" : 40,
21208 "optional" : 1,
21209 "type" : "string",
21210 "typetext" : "<string>"
21211 },
44660702
DM
21212 "node" : {
21213 "description" : "The cluster node name.",
21214 "format" : "pve-node",
013dc89f
DM
21215 "type" : "string",
21216 "typetext" : "<string>"
44660702 21217 },
4d47f125
TL
21218 "pos" : {
21219 "description" : "Update rule at position <pos>.",
21220 "minimum" : 0,
21221 "optional" : 1,
21222 "type" : "integer",
21223 "typetext" : "<integer> (0 - N)"
7aacca6f 21224 },
7aacca6f 21225 "vmid" : {
44660702 21226 "description" : "The (unique) ID of the VM.",
7aacca6f 21227 "format" : "pve-vmid",
44660702 21228 "minimum" : 1,
4bd7df8b 21229 "type" : "integer",
013dc89f 21230 "typetext" : "<integer> (1 - N)"
7aacca6f 21231 }
44660702
DM
21232 }
21233 },
21234 "permissions" : {
21235 "check" : [
21236 "perm",
21237 "/vms/{vmid}",
21238 [
4d47f125
TL
21239 "VM.Config.Network"
21240 ]
44660702 21241 ]
7aacca6f 21242 },
44660702 21243 "protected" : 1,
4d47f125 21244 "proxyto" : null,
44660702 21245 "returns" : {
4d47f125 21246 "type" : "null"
44660702 21247 }
4d47f125 21248 },
7aacca6f 21249 "GET" : {
4d47f125 21250 "description" : "Get single rule data.",
44660702 21251 "method" : "GET",
4d47f125 21252 "name" : "get_rule",
7aacca6f
DM
21253 "parameters" : {
21254 "additionalProperties" : 0,
4d47f125
TL
21255 "properties" : {
21256 "node" : {
21257 "description" : "The cluster node name.",
21258 "format" : "pve-node",
013dc89f
DM
21259 "type" : "string",
21260 "typetext" : "<string>"
44660702 21261 },
4d47f125
TL
21262 "pos" : {
21263 "description" : "Update rule at position <pos>.",
21264 "minimum" : 0,
21265 "optional" : 1,
21266 "type" : "integer",
21267 "typetext" : "<integer> (0 - N)"
21268 },
44660702
DM
21269 "vmid" : {
21270 "description" : "The (unique) ID of the VM.",
21271 "format" : "pve-vmid",
21272 "minimum" : 1,
4bd7df8b 21273 "type" : "integer",
013dc89f 21274 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
21275 }
21276 }
21277 },
21278 "permissions" : {
21279 "check" : [
21280 "perm",
21281 "/vms/{vmid}",
21282 [
4d47f125
TL
21283 "VM.Audit"
21284 ]
7aacca6f
DM
21285 ]
21286 },
4d47f125 21287 "proxyto" : null,
44660702 21288 "returns" : {
4d47f125 21289 "properties" : {
e2d681b3
TL
21290 "action" : {
21291 "type" : "string"
21292 },
21293 "comment" : {
21294 "optional" : 1,
21295 "type" : "string"
21296 },
21297 "dest" : {
21298 "optional" : 1,
21299 "type" : "string"
21300 },
21301 "dport" : {
21302 "optional" : 1,
21303 "type" : "string"
21304 },
21305 "enable" : {
21306 "optional" : 1,
21307 "type" : "integer"
21308 },
21309 "iface" : {
21310 "optional" : 1,
21311 "type" : "string"
21312 },
21313 "ipversion" : {
21314 "optional" : 1,
21315 "type" : "integer"
21316 },
95895385
TL
21317 "log" : {
21318 "description" : "Log level for firewall rule",
21319 "enum" : [
21320 "emerg",
21321 "alert",
21322 "crit",
21323 "err",
21324 "warning",
21325 "notice",
21326 "info",
21327 "debug",
21328 "nolog"
21329 ],
21330 "optional" : 1,
21331 "type" : "string"
21332 },
e2d681b3
TL
21333 "macro" : {
21334 "optional" : 1,
5f26e15b 21335 "type" : "string"
e2d681b3 21336 },
4d47f125
TL
21337 "pos" : {
21338 "type" : "integer"
e2d681b3
TL
21339 },
21340 "proto" : {
21341 "optional" : 1,
21342 "type" : "string"
21343 },
21344 "source" : {
21345 "optional" : 1,
21346 "type" : "string"
21347 },
21348 "sport" : {
21349 "optional" : 1,
21350 "type" : "string"
21351 },
21352 "type" : {
21353 "type" : "string"
4d47f125
TL
21354 }
21355 },
44660702
DM
21356 "type" : "object"
21357 }
7aacca6f
DM
21358 },
21359 "PUT" : {
4d47f125 21360 "description" : "Modify rule data.",
44660702 21361 "method" : "PUT",
4d47f125 21362 "name" : "update_rule",
7aacca6f
DM
21363 "parameters" : {
21364 "additionalProperties" : 0,
21365 "properties" : {
4d47f125
TL
21366 "action" : {
21367 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21368 "maxLength" : 20,
21369 "minLength" : 2,
21370 "optional" : 1,
21371 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21372 "type" : "string"
21373 },
21374 "comment" : {
21375 "description" : "Descriptive comment.",
21376 "optional" : 1,
21377 "type" : "string",
21378 "typetext" : "<string>"
21379 },
21380 "delete" : {
21381 "description" : "A list of settings you want to delete.",
21382 "format" : "pve-configid-list",
21383 "optional" : 1,
21384 "type" : "string",
21385 "typetext" : "<string>"
21386 },
21387 "dest" : {
21388 "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.",
21389 "format" : "pve-fw-addr-spec",
21390 "optional" : 1,
21391 "type" : "string",
21392 "typetext" : "<string>"
21393 },
21394 "digest" : {
21395 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21396 "maxLength" : 40,
21397 "optional" : 1,
21398 "type" : "string",
21399 "typetext" : "<string>"
21400 },
21401 "dport" : {
21402 "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.",
21403 "format" : "pve-fw-dport-spec",
21404 "optional" : 1,
21405 "type" : "string",
21406 "typetext" : "<string>"
21407 },
21408 "enable" : {
21409 "description" : "Flag to enable/disable a rule.",
21410 "minimum" : 0,
21411 "optional" : 1,
21412 "type" : "integer",
21413 "typetext" : "<integer> (0 - N)"
21414 },
21415 "iface" : {
21416 "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.",
21417 "format" : "pve-iface",
21418 "maxLength" : 20,
21419 "minLength" : 2,
21420 "optional" : 1,
21421 "type" : "string",
21422 "typetext" : "<string>"
21423 },
95895385
TL
21424 "log" : {
21425 "description" : "Log level for firewall rule.",
21426 "enum" : [
21427 "emerg",
21428 "alert",
21429 "crit",
21430 "err",
21431 "warning",
21432 "notice",
21433 "info",
21434 "debug",
21435 "nolog"
21436 ],
21437 "optional" : 1,
21438 "type" : "string"
21439 },
4d47f125
TL
21440 "macro" : {
21441 "description" : "Use predefined standard macro.",
21442 "maxLength" : 128,
44660702 21443 "optional" : 1,
013dc89f
DM
21444 "type" : "string",
21445 "typetext" : "<string>"
44660702 21446 },
4d47f125
TL
21447 "moveto" : {
21448 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
21449 "minimum" : 0,
21450 "optional" : 1,
21451 "type" : "integer",
21452 "typetext" : "<integer> (0 - N)"
21453 },
7aacca6f 21454 "node" : {
7aacca6f 21455 "description" : "The cluster node name.",
44660702 21456 "format" : "pve-node",
013dc89f
DM
21457 "type" : "string",
21458 "typetext" : "<string>"
7aacca6f 21459 },
4d47f125
TL
21460 "pos" : {
21461 "description" : "Update rule at position <pos>.",
21462 "minimum" : 0,
21463 "optional" : 1,
21464 "type" : "integer",
21465 "typetext" : "<integer> (0 - N)"
21466 },
21467 "proto" : {
21468 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21469 "format" : "pve-fw-protocol-spec",
21470 "optional" : 1,
21471 "type" : "string",
21472 "typetext" : "<string>"
21473 },
21474 "source" : {
21475 "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.",
21476 "format" : "pve-fw-addr-spec",
21477 "optional" : 1,
21478 "type" : "string",
21479 "typetext" : "<string>"
21480 },
21481 "sport" : {
21482 "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.",
21483 "format" : "pve-fw-sport-spec",
21484 "optional" : 1,
013dc89f
DM
21485 "type" : "string",
21486 "typetext" : "<string>"
7aacca6f 21487 },
4d47f125
TL
21488 "type" : {
21489 "description" : "Rule type.",
21490 "enum" : [
21491 "in",
21492 "out",
21493 "group"
21494 ],
21495 "optional" : 1,
21496 "type" : "string"
21497 },
7aacca6f 21498 "vmid" : {
44660702 21499 "description" : "The (unique) ID of the VM.",
7aacca6f 21500 "format" : "pve-vmid",
44660702 21501 "minimum" : 1,
4bd7df8b 21502 "type" : "integer",
013dc89f 21503 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
21504 }
21505 }
21506 },
7aacca6f
DM
21507 "permissions" : {
21508 "check" : [
21509 "perm",
21510 "/vms/{vmid}",
21511 [
4d47f125 21512 "VM.Config.Network"
7aacca6f
DM
21513 ]
21514 ]
21515 },
4d47f125
TL
21516 "protected" : 1,
21517 "proxyto" : null,
21518 "returns" : {
21519 "type" : "null"
21520 }
21521 }
21522 },
21523 "leaf" : 1,
21524 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
21525 "text" : "{pos}"
21526 }
21527 ],
21528 "info" : {
21529 "GET" : {
21530 "description" : "List rules.",
21531 "method" : "GET",
21532 "name" : "get_rules",
21533 "parameters" : {
21534 "additionalProperties" : 0,
21535 "properties" : {
21536 "node" : {
21537 "description" : "The cluster node name.",
21538 "format" : "pve-node",
21539 "type" : "string",
21540 "typetext" : "<string>"
21541 },
21542 "vmid" : {
21543 "description" : "The (unique) ID of the VM.",
21544 "format" : "pve-vmid",
21545 "minimum" : 1,
21546 "type" : "integer",
21547 "typetext" : "<integer> (1 - N)"
21548 }
21549 }
21550 },
21551 "permissions" : {
21552 "check" : [
21553 "perm",
21554 "/vms/{vmid}",
21555 [
21556 "VM.Audit"
21557 ]
21558 ]
21559 },
21560 "proxyto" : null,
21561 "returns" : {
21562 "items" : {
21563 "properties" : {
21564 "pos" : {
21565 "type" : "integer"
21566 }
21567 },
21568 "type" : "object"
21569 },
21570 "links" : [
21571 {
21572 "href" : "{pos}",
21573 "rel" : "child"
21574 }
21575 ],
21576 "type" : "array"
21577 }
21578 },
21579 "POST" : {
21580 "description" : "Create new rule.",
21581 "method" : "POST",
21582 "name" : "create_rule",
21583 "parameters" : {
21584 "additionalProperties" : 0,
21585 "properties" : {
21586 "action" : {
21587 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21588 "maxLength" : 20,
21589 "minLength" : 2,
21590 "optional" : 0,
21591 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21592 "type" : "string"
21593 },
21594 "comment" : {
21595 "description" : "Descriptive comment.",
21596 "optional" : 1,
21597 "type" : "string",
21598 "typetext" : "<string>"
21599 },
21600 "dest" : {
21601 "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.",
21602 "format" : "pve-fw-addr-spec",
21603 "optional" : 1,
21604 "type" : "string",
21605 "typetext" : "<string>"
21606 },
21607 "digest" : {
21608 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21609 "maxLength" : 40,
21610 "optional" : 1,
21611 "type" : "string",
21612 "typetext" : "<string>"
21613 },
21614 "dport" : {
21615 "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.",
21616 "format" : "pve-fw-dport-spec",
21617 "optional" : 1,
21618 "type" : "string",
21619 "typetext" : "<string>"
21620 },
21621 "enable" : {
21622 "description" : "Flag to enable/disable a rule.",
21623 "minimum" : 0,
21624 "optional" : 1,
21625 "type" : "integer",
21626 "typetext" : "<integer> (0 - N)"
21627 },
21628 "iface" : {
21629 "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.",
21630 "format" : "pve-iface",
21631 "maxLength" : 20,
21632 "minLength" : 2,
21633 "optional" : 1,
21634 "type" : "string",
21635 "typetext" : "<string>"
21636 },
95895385
TL
21637 "log" : {
21638 "description" : "Log level for firewall rule.",
21639 "enum" : [
21640 "emerg",
21641 "alert",
21642 "crit",
21643 "err",
21644 "warning",
21645 "notice",
21646 "info",
21647 "debug",
21648 "nolog"
21649 ],
21650 "optional" : 1,
21651 "type" : "string"
21652 },
4d47f125
TL
21653 "macro" : {
21654 "description" : "Use predefined standard macro.",
21655 "maxLength" : 128,
44660702 21656 "optional" : 1,
4d47f125
TL
21657 "type" : "string",
21658 "typetext" : "<string>"
44660702
DM
21659 },
21660 "node" : {
21661 "description" : "The cluster node name.",
21662 "format" : "pve-node",
013dc89f
DM
21663 "type" : "string",
21664 "typetext" : "<string>"
7aacca6f 21665 },
4d47f125
TL
21666 "pos" : {
21667 "description" : "Update rule at position <pos>.",
21668 "minimum" : 0,
21669 "optional" : 1,
21670 "type" : "integer",
21671 "typetext" : "<integer> (0 - N)"
21672 },
21673 "proto" : {
21674 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21675 "format" : "pve-fw-protocol-spec",
21676 "optional" : 1,
21677 "type" : "string",
21678 "typetext" : "<string>"
21679 },
21680 "source" : {
21681 "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.",
21682 "format" : "pve-fw-addr-spec",
21683 "optional" : 1,
013dc89f
DM
21684 "type" : "string",
21685 "typetext" : "<string>"
44660702 21686 },
4d47f125
TL
21687 "sport" : {
21688 "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.",
21689 "format" : "pve-fw-sport-spec",
21690 "optional" : 1,
21691 "type" : "string",
21692 "typetext" : "<string>"
21693 },
21694 "type" : {
21695 "description" : "Rule type.",
21696 "enum" : [
21697 "in",
21698 "out",
21699 "group"
21700 ],
21701 "optional" : 0,
21702 "type" : "string"
21703 },
44660702
DM
21704 "vmid" : {
21705 "description" : "The (unique) ID of the VM.",
21706 "format" : "pve-vmid",
21707 "minimum" : 1,
4bd7df8b 21708 "type" : "integer",
013dc89f 21709 "typetext" : "<integer> (1 - N)"
56122987 21710 }
44660702 21711 }
7aacca6f 21712 },
56122987
DM
21713 "permissions" : {
21714 "check" : [
21715 "perm",
21716 "/vms/{vmid}",
21717 [
4d47f125 21718 "VM.Config.Network"
56122987
DM
21719 ]
21720 ]
21721 },
44660702 21722 "protected" : 1,
4d47f125 21723 "proxyto" : null,
44660702 21724 "returns" : {
4d47f125 21725 "type" : "null"
44660702
DM
21726 }
21727 }
21728 },
21729 "leaf" : 0,
4d47f125
TL
21730 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
21731 "text" : "rules"
7aacca6f 21732 },
56122987 21733 {
56122987
DM
21734 "children" : [
21735 {
56122987 21736 "info" : {
44660702 21737 "DELETE" : {
4d47f125 21738 "description" : "Remove IP or Network alias.",
44660702 21739 "method" : "DELETE",
4d47f125 21740 "name" : "remove_alias",
56122987 21741 "parameters" : {
44660702 21742 "additionalProperties" : 0,
56122987 21743 "properties" : {
44660702
DM
21744 "digest" : {
21745 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21746 "maxLength" : 40,
7aacca6f 21747 "optional" : 1,
013dc89f
DM
21748 "type" : "string",
21749 "typetext" : "<string>"
7aacca6f 21750 },
4d47f125
TL
21751 "name" : {
21752 "description" : "Alias name.",
21753 "maxLength" : 64,
21754 "minLength" : 2,
21755 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21756 "type" : "string"
21757 },
7aacca6f 21758 "node" : {
44660702 21759 "description" : "The cluster node name.",
7aacca6f 21760 "format" : "pve-node",
013dc89f
DM
21761 "type" : "string",
21762 "typetext" : "<string>"
44660702 21763 },
44660702
DM
21764 "vmid" : {
21765 "description" : "The (unique) ID of the VM.",
21766 "format" : "pve-vmid",
21767 "minimum" : 1,
4bd7df8b 21768 "type" : "integer",
013dc89f 21769 "typetext" : "<integer> (1 - N)"
56122987 21770 }
44660702 21771 }
56122987 21772 },
56122987
DM
21773 "permissions" : {
21774 "check" : [
21775 "perm",
21776 "/vms/{vmid}",
21777 [
44660702 21778 "VM.Config.Network"
56122987
DM
21779 ]
21780 ]
21781 },
44660702 21782 "protected" : 1,
44660702
DM
21783 "returns" : {
21784 "type" : "null"
21785 }
7aacca6f 21786 },
44660702 21787 "GET" : {
4d47f125 21788 "description" : "Read alias.",
44660702 21789 "method" : "GET",
4d47f125 21790 "name" : "read_alias",
56122987 21791 "parameters" : {
44660702 21792 "additionalProperties" : 0,
56122987 21793 "properties" : {
4d47f125
TL
21794 "name" : {
21795 "description" : "Alias name.",
21796 "maxLength" : 64,
21797 "minLength" : 2,
21798 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21799 "type" : "string"
21800 },
7aacca6f 21801 "node" : {
7aacca6f 21802 "description" : "The cluster node name.",
44660702 21803 "format" : "pve-node",
013dc89f
DM
21804 "type" : "string",
21805 "typetext" : "<string>"
56122987 21806 },
7aacca6f 21807 "vmid" : {
44660702 21808 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21809 "format" : "pve-vmid",
21810 "minimum" : 1,
4bd7df8b 21811 "type" : "integer",
013dc89f 21812 "typetext" : "<integer> (1 - N)"
56122987 21813 }
44660702 21814 }
56122987 21815 },
7aacca6f
DM
21816 "permissions" : {
21817 "check" : [
21818 "perm",
21819 "/vms/{vmid}",
21820 [
44660702 21821 "VM.Audit"
7aacca6f
DM
21822 ]
21823 ]
21824 },
7aacca6f 21825 "returns" : {
44660702 21826 "type" : "object"
7aacca6f 21827 }
56122987 21828 },
44660702 21829 "PUT" : {
4d47f125 21830 "description" : "Update IP or Network alias.",
44660702 21831 "method" : "PUT",
4d47f125 21832 "name" : "update_alias",
56122987
DM
21833 "parameters" : {
21834 "additionalProperties" : 0,
21835 "properties" : {
4d47f125
TL
21836 "cidr" : {
21837 "description" : "Network/IP specification in CIDR format.",
21838 "format" : "IPorCIDR",
013dc89f
DM
21839 "type" : "string",
21840 "typetext" : "<string>"
44660702 21841 },
4d47f125 21842 "comment" : {
44660702 21843 "optional" : 1,
013dc89f
DM
21844 "type" : "string",
21845 "typetext" : "<string>"
44660702
DM
21846 },
21847 "digest" : {
21848 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21849 "maxLength" : 40,
21850 "optional" : 1,
013dc89f
DM
21851 "type" : "string",
21852 "typetext" : "<string>"
44660702 21853 },
4d47f125
TL
21854 "name" : {
21855 "description" : "Alias name.",
21856 "maxLength" : 64,
44660702 21857 "minLength" : 2,
4d47f125
TL
21858 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21859 "type" : "string"
44660702 21860 },
7aacca6f
DM
21861 "node" : {
21862 "description" : "The cluster node name.",
44660702 21863 "format" : "pve-node",
013dc89f
DM
21864 "type" : "string",
21865 "typetext" : "<string>"
56122987 21866 },
4d47f125
TL
21867 "rename" : {
21868 "description" : "Rename an existing alias.",
21869 "maxLength" : 64,
21870 "minLength" : 2,
7aacca6f 21871 "optional" : 1,
4d47f125 21872 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
21873 "type" : "string"
21874 },
21875 "vmid" : {
21876 "description" : "The (unique) ID of the VM.",
21877 "format" : "pve-vmid",
21878 "minimum" : 1,
4bd7df8b 21879 "type" : "integer",
013dc89f 21880 "typetext" : "<integer> (1 - N)"
56122987
DM
21881 }
21882 }
21883 },
56122987
DM
21884 "permissions" : {
21885 "check" : [
21886 "perm",
21887 "/vms/{vmid}",
21888 [
7aacca6f 21889 "VM.Config.Network"
56122987
DM
21890 ]
21891 ]
21892 },
44660702 21893 "protected" : 1,
56122987 21894 "returns" : {
7aacca6f
DM
21895 "type" : "null"
21896 }
56122987 21897 }
44660702
DM
21898 },
21899 "leaf" : 1,
4d47f125
TL
21900 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
21901 "text" : "{name}"
56122987
DM
21902 }
21903 ],
21904 "info" : {
7aacca6f 21905 "GET" : {
4d47f125 21906 "description" : "List aliases",
44660702 21907 "method" : "GET",
4d47f125 21908 "name" : "get_aliases",
7aacca6f 21909 "parameters" : {
44660702 21910 "additionalProperties" : 0,
7aacca6f
DM
21911 "properties" : {
21912 "node" : {
7aacca6f 21913 "description" : "The cluster node name.",
44660702 21914 "format" : "pve-node",
013dc89f
DM
21915 "type" : "string",
21916 "typetext" : "<string>"
7aacca6f
DM
21917 },
21918 "vmid" : {
21919 "description" : "The (unique) ID of the VM.",
44660702 21920 "format" : "pve-vmid",
7aacca6f 21921 "minimum" : 1,
4bd7df8b 21922 "type" : "integer",
013dc89f 21923 "typetext" : "<integer> (1 - N)"
7aacca6f 21924 }
44660702 21925 }
56122987 21926 },
56122987
DM
21927 "permissions" : {
21928 "check" : [
21929 "perm",
21930 "/vms/{vmid}",
21931 [
7aacca6f 21932 "VM.Audit"
56122987
DM
21933 ]
21934 ]
21935 },
7aacca6f 21936 "returns" : {
7aacca6f
DM
21937 "items" : {
21938 "properties" : {
4d47f125
TL
21939 "cidr" : {
21940 "type" : "string"
21941 },
21942 "comment" : {
21943 "optional" : 1,
21944 "type" : "string"
21945 },
21946 "digest" : {
21947 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21948 "maxLength" : 40,
21949 "optional" : 0,
21950 "type" : "string"
21951 },
21952 "name" : {
21953 "type" : "string"
7aacca6f
DM
21954 }
21955 },
21956 "type" : "object"
21957 },
21958 "links" : [
21959 {
4d47f125 21960 "href" : "{name}",
44660702 21961 "rel" : "child"
7aacca6f 21962 }
44660702
DM
21963 ],
21964 "type" : "array"
21965 }
7aacca6f
DM
21966 },
21967 "POST" : {
4d47f125 21968 "description" : "Create IP or Network Alias.",
44660702 21969 "method" : "POST",
4d47f125 21970 "name" : "create_alias",
56122987 21971 "parameters" : {
44660702 21972 "additionalProperties" : 0,
56122987 21973 "properties" : {
4d47f125
TL
21974 "cidr" : {
21975 "description" : "Network/IP specification in CIDR format.",
21976 "format" : "IPorCIDR",
013dc89f 21977 "type" : "string",
4d47f125
TL
21978 "typetext" : "<string>"
21979 },
21980 "comment" : {
44660702 21981 "optional" : 1,
013dc89f
DM
21982 "type" : "string",
21983 "typetext" : "<string>"
7aacca6f 21984 },
4d47f125
TL
21985 "name" : {
21986 "description" : "Alias name.",
21987 "maxLength" : 64,
21988 "minLength" : 2,
21989 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
21990 "type" : "string"
21991 },
4d47f125
TL
21992 "node" : {
21993 "description" : "The cluster node name.",
21994 "format" : "pve-node",
21995 "type" : "string",
21996 "typetext" : "<string>"
21997 },
44660702
DM
21998 "vmid" : {
21999 "description" : "The (unique) ID of the VM.",
22000 "format" : "pve-vmid",
22001 "minimum" : 1,
4bd7df8b 22002 "type" : "integer",
013dc89f 22003 "typetext" : "<integer> (1 - N)"
44660702
DM
22004 }
22005 }
22006 },
22007 "permissions" : {
22008 "check" : [
22009 "perm",
22010 "/vms/{vmid}",
22011 [
22012 "VM.Config.Network"
22013 ]
22014 ]
22015 },
22016 "protected" : 1,
44660702
DM
22017 "returns" : {
22018 "type" : "null"
22019 }
22020 }
22021 },
22022 "leaf" : 0,
4d47f125
TL
22023 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
22024 "text" : "aliases"
44660702
DM
22025 },
22026 {
22027 "children" : [
22028 {
4d47f125
TL
22029 "children" : [
22030 {
22031 "info" : {
22032 "DELETE" : {
22033 "description" : "Remove IP or Network from IPSet.",
22034 "method" : "DELETE",
22035 "name" : "remove_ip",
22036 "parameters" : {
22037 "additionalProperties" : 0,
22038 "properties" : {
22039 "cidr" : {
22040 "description" : "Network/IP specification in CIDR format.",
22041 "format" : "IPorCIDRorAlias",
22042 "type" : "string",
22043 "typetext" : "<string>"
22044 },
22045 "digest" : {
22046 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22047 "maxLength" : 40,
22048 "optional" : 1,
22049 "type" : "string",
22050 "typetext" : "<string>"
22051 },
22052 "name" : {
22053 "description" : "IP set name.",
22054 "maxLength" : 64,
22055 "minLength" : 2,
22056 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22057 "type" : "string"
22058 },
22059 "node" : {
22060 "description" : "The cluster node name.",
22061 "format" : "pve-node",
22062 "type" : "string",
22063 "typetext" : "<string>"
22064 },
22065 "vmid" : {
22066 "description" : "The (unique) ID of the VM.",
22067 "format" : "pve-vmid",
22068 "minimum" : 1,
22069 "type" : "integer",
22070 "typetext" : "<integer> (1 - N)"
22071 }
22072 }
22073 },
22074 "permissions" : {
22075 "check" : [
22076 "perm",
22077 "/vms/{vmid}",
22078 [
22079 "VM.Config.Network"
22080 ]
22081 ]
22082 },
22083 "protected" : 1,
22084 "returns" : {
22085 "type" : "null"
22086 }
22087 },
22088 "GET" : {
22089 "description" : "Read IP or Network settings from IPSet.",
22090 "method" : "GET",
22091 "name" : "read_ip",
22092 "parameters" : {
22093 "additionalProperties" : 0,
22094 "properties" : {
22095 "cidr" : {
22096 "description" : "Network/IP specification in CIDR format.",
22097 "format" : "IPorCIDRorAlias",
22098 "type" : "string",
22099 "typetext" : "<string>"
22100 },
22101 "name" : {
22102 "description" : "IP set name.",
22103 "maxLength" : 64,
22104 "minLength" : 2,
22105 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22106 "type" : "string"
22107 },
22108 "node" : {
22109 "description" : "The cluster node name.",
22110 "format" : "pve-node",
22111 "type" : "string",
22112 "typetext" : "<string>"
22113 },
22114 "vmid" : {
22115 "description" : "The (unique) ID of the VM.",
22116 "format" : "pve-vmid",
22117 "minimum" : 1,
22118 "type" : "integer",
22119 "typetext" : "<integer> (1 - N)"
22120 }
22121 }
22122 },
22123 "permissions" : {
22124 "check" : [
22125 "perm",
22126 "/vms/{vmid}",
22127 [
22128 "VM.Audit"
22129 ]
22130 ]
22131 },
22132 "protected" : 1,
22133 "returns" : {
22134 "type" : "object"
22135 }
22136 },
22137 "PUT" : {
22138 "description" : "Update IP or Network settings",
22139 "method" : "PUT",
22140 "name" : "update_ip",
22141 "parameters" : {
22142 "additionalProperties" : 0,
22143 "properties" : {
22144 "cidr" : {
22145 "description" : "Network/IP specification in CIDR format.",
22146 "format" : "IPorCIDRorAlias",
22147 "type" : "string",
22148 "typetext" : "<string>"
22149 },
22150 "comment" : {
22151 "optional" : 1,
22152 "type" : "string",
22153 "typetext" : "<string>"
22154 },
22155 "digest" : {
22156 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22157 "maxLength" : 40,
22158 "optional" : 1,
22159 "type" : "string",
22160 "typetext" : "<string>"
22161 },
22162 "name" : {
22163 "description" : "IP set name.",
22164 "maxLength" : 64,
22165 "minLength" : 2,
22166 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22167 "type" : "string"
22168 },
22169 "node" : {
22170 "description" : "The cluster node name.",
22171 "format" : "pve-node",
22172 "type" : "string",
22173 "typetext" : "<string>"
22174 },
22175 "nomatch" : {
22176 "optional" : 1,
22177 "type" : "boolean",
22178 "typetext" : "<boolean>"
22179 },
22180 "vmid" : {
22181 "description" : "The (unique) ID of the VM.",
22182 "format" : "pve-vmid",
22183 "minimum" : 1,
22184 "type" : "integer",
22185 "typetext" : "<integer> (1 - N)"
22186 }
22187 }
22188 },
22189 "permissions" : {
22190 "check" : [
22191 "perm",
22192 "/vms/{vmid}",
22193 [
22194 "VM.Config.Network"
22195 ]
22196 ]
22197 },
22198 "protected" : 1,
22199 "returns" : {
22200 "type" : "null"
22201 }
22202 }
22203 },
22204 "leaf" : 1,
22205 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
22206 "text" : "{cidr}"
22207 }
22208 ],
44660702
DM
22209 "info" : {
22210 "DELETE" : {
4d47f125 22211 "description" : "Delete IPSet",
44660702 22212 "method" : "DELETE",
4d47f125 22213 "name" : "delete_ipset",
56122987 22214 "parameters" : {
44660702 22215 "additionalProperties" : 0,
56122987 22216 "properties" : {
7aacca6f 22217 "name" : {
4d47f125 22218 "description" : "IP set name.",
7aacca6f 22219 "maxLength" : 64,
7aacca6f
DM
22220 "minLength" : 2,
22221 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22222 "type" : "string"
7aacca6f
DM
22223 },
22224 "node" : {
44660702 22225 "description" : "The cluster node name.",
56122987 22226 "format" : "pve-node",
013dc89f
DM
22227 "type" : "string",
22228 "typetext" : "<string>"
7aacca6f 22229 },
56122987 22230 "vmid" : {
44660702 22231 "description" : "The (unique) ID of the VM.",
56122987 22232 "format" : "pve-vmid",
44660702 22233 "minimum" : 1,
4bd7df8b 22234 "type" : "integer",
013dc89f 22235 "typetext" : "<integer> (1 - N)"
56122987 22236 }
44660702 22237 }
56122987 22238 },
56122987
DM
22239 "permissions" : {
22240 "check" : [
22241 "perm",
22242 "/vms/{vmid}",
22243 [
7aacca6f 22244 "VM.Config.Network"
56122987
DM
22245 ]
22246 ]
22247 },
44660702 22248 "protected" : 1,
56122987 22249 "returns" : {
7aacca6f 22250 "type" : "null"
44660702 22251 }
56122987 22252 },
44660702 22253 "GET" : {
4d47f125 22254 "description" : "List IPSet content",
44660702 22255 "method" : "GET",
4d47f125 22256 "name" : "get_ipset",
44660702
DM
22257 "parameters" : {
22258 "additionalProperties" : 0,
22259 "properties" : {
22260 "name" : {
4d47f125 22261 "description" : "IP set name.",
44660702
DM
22262 "maxLength" : 64,
22263 "minLength" : 2,
22264 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22265 "type" : "string"
22266 },
22267 "node" : {
22268 "description" : "The cluster node name.",
22269 "format" : "pve-node",
013dc89f
DM
22270 "type" : "string",
22271 "typetext" : "<string>"
44660702
DM
22272 },
22273 "vmid" : {
22274 "description" : "The (unique) ID of the VM.",
22275 "format" : "pve-vmid",
22276 "minimum" : 1,
4bd7df8b 22277 "type" : "integer",
013dc89f 22278 "typetext" : "<integer> (1 - N)"
44660702 22279 }
4d47f125
TL
22280 }
22281 },
22282 "permissions" : {
22283 "check" : [
22284 "perm",
22285 "/vms/{vmid}",
22286 [
22287 "VM.Audit"
22288 ]
22289 ]
22290 },
22291 "returns" : {
22292 "items" : {
22293 "properties" : {
22294 "cidr" : {
22295 "type" : "string"
22296 },
22297 "comment" : {
22298 "optional" : 1,
22299 "type" : "string"
22300 },
22301 "digest" : {
22302 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22303 "maxLength" : 40,
22304 "optional" : 0,
22305 "type" : "string"
22306 },
22307 "nomatch" : {
22308 "optional" : 1,
22309 "type" : "boolean"
22310 }
22311 },
22312 "type" : "object"
22313 },
22314 "links" : [
22315 {
22316 "href" : "{cidr}",
22317 "rel" : "child"
22318 }
22319 ],
22320 "type" : "array"
44660702
DM
22321 }
22322 },
4d47f125
TL
22323 "POST" : {
22324 "description" : "Add IP or Network to IPSet.",
22325 "method" : "POST",
22326 "name" : "create_ip",
56122987
DM
22327 "parameters" : {
22328 "additionalProperties" : 0,
22329 "properties" : {
44660702
DM
22330 "cidr" : {
22331 "description" : "Network/IP specification in CIDR format.",
4d47f125 22332 "format" : "IPorCIDRorAlias",
013dc89f
DM
22333 "type" : "string",
22334 "typetext" : "<string>"
44660702
DM
22335 },
22336 "comment" : {
22337 "optional" : 1,
013dc89f
DM
22338 "type" : "string",
22339 "typetext" : "<string>"
44660702 22340 },
56122987 22341 "name" : {
4d47f125 22342 "description" : "IP set name.",
44660702
DM
22343 "maxLength" : 64,
22344 "minLength" : 2,
7aacca6f 22345 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22346 "type" : "string"
56122987
DM
22347 },
22348 "node" : {
22349 "description" : "The cluster node name.",
44660702 22350 "format" : "pve-node",
013dc89f
DM
22351 "type" : "string",
22352 "typetext" : "<string>"
44660702 22353 },
4d47f125 22354 "nomatch" : {
44660702 22355 "optional" : 1,
4d47f125
TL
22356 "type" : "boolean",
22357 "typetext" : "<boolean>"
56122987 22358 },
7aacca6f 22359 "vmid" : {
7aacca6f 22360 "description" : "The (unique) ID of the VM.",
44660702 22361 "format" : "pve-vmid",
7aacca6f 22362 "minimum" : 1,
4bd7df8b 22363 "type" : "integer",
013dc89f 22364 "typetext" : "<integer> (1 - N)"
56122987
DM
22365 }
22366 }
22367 },
44660702
DM
22368 "permissions" : {
22369 "check" : [
22370 "perm",
22371 "/vms/{vmid}",
22372 [
22373 "VM.Config.Network"
22374 ]
22375 ]
7aacca6f 22376 },
44660702
DM
22377 "protected" : 1,
22378 "returns" : {
22379 "type" : "null"
7aacca6f
DM
22380 }
22381 }
22382 },
4d47f125
TL
22383 "leaf" : 0,
22384 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
22385 "text" : "{name}"
22386 }
22387 ],
22388 "info" : {
22389 "GET" : {
4d47f125 22390 "description" : "List IPSets",
44660702 22391 "method" : "GET",
4d47f125 22392 "name" : "ipset_index",
56122987
DM
22393 "parameters" : {
22394 "additionalProperties" : 0,
22395 "properties" : {
22396 "node" : {
44660702 22397 "description" : "The cluster node name.",
56122987 22398 "format" : "pve-node",
013dc89f
DM
22399 "type" : "string",
22400 "typetext" : "<string>"
56122987
DM
22401 },
22402 "vmid" : {
7aacca6f 22403 "description" : "The (unique) ID of the VM.",
44660702 22404 "format" : "pve-vmid",
7aacca6f 22405 "minimum" : 1,
4bd7df8b 22406 "type" : "integer",
013dc89f 22407 "typetext" : "<integer> (1 - N)"
56122987
DM
22408 }
22409 }
22410 },
44660702
DM
22411 "permissions" : {
22412 "check" : [
22413 "perm",
22414 "/vms/{vmid}",
22415 [
22416 "VM.Audit"
22417 ]
22418 ]
22419 },
56122987
DM
22420 "returns" : {
22421 "items" : {
56122987 22422 "properties" : {
44660702
DM
22423 "comment" : {
22424 "optional" : 1,
56122987
DM
22425 "type" : "string"
22426 },
56122987 22427 "digest" : {
56122987 22428 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
22429 "maxLength" : 40,
22430 "optional" : 0,
22431 "type" : "string"
22432 },
22433 "name" : {
4d47f125
TL
22434 "description" : "IP set name.",
22435 "maxLength" : 64,
22436 "minLength" : 2,
22437 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22438 "type" : "string"
56122987 22439 }
44660702
DM
22440 },
22441 "type" : "object"
22442 },
22443 "links" : [
22444 {
22445 "href" : "{name}",
22446 "rel" : "child"
56122987 22447 }
4d47f125
TL
22448 ],
22449 "type" : "array"
22450 }
22451 },
22452 "POST" : {
22453 "description" : "Create new IPSet",
22454 "method" : "POST",
22455 "name" : "create_ipset",
22456 "parameters" : {
22457 "additionalProperties" : 0,
22458 "properties" : {
22459 "comment" : {
22460 "optional" : 1,
22461 "type" : "string",
22462 "typetext" : "<string>"
22463 },
22464 "digest" : {
22465 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22466 "maxLength" : 40,
22467 "optional" : 1,
22468 "type" : "string",
22469 "typetext" : "<string>"
22470 },
22471 "name" : {
22472 "description" : "IP set name.",
22473 "maxLength" : 64,
22474 "minLength" : 2,
22475 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22476 "type" : "string"
22477 },
22478 "node" : {
22479 "description" : "The cluster node name.",
22480 "format" : "pve-node",
22481 "type" : "string",
22482 "typetext" : "<string>"
22483 },
22484 "rename" : {
22485 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
22486 "maxLength" : 64,
22487 "minLength" : 2,
22488 "optional" : 1,
22489 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22490 "type" : "string"
22491 },
22492 "vmid" : {
22493 "description" : "The (unique) ID of the VM.",
22494 "format" : "pve-vmid",
22495 "minimum" : 1,
22496 "type" : "integer",
22497 "typetext" : "<integer> (1 - N)"
22498 }
22499 }
22500 },
22501 "permissions" : {
22502 "check" : [
22503 "perm",
22504 "/vms/{vmid}",
22505 [
22506 "VM.Config.Network"
22507 ]
22508 ]
22509 },
22510 "protected" : 1,
22511 "returns" : {
22512 "type" : "null"
22513 }
22514 }
22515 },
22516 "leaf" : 0,
22517 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
22518 "text" : "ipset"
22519 },
22520 {
22521 "info" : {
22522 "GET" : {
22523 "description" : "Get VM firewall options.",
22524 "method" : "GET",
22525 "name" : "get_options",
22526 "parameters" : {
22527 "additionalProperties" : 0,
22528 "properties" : {
22529 "node" : {
22530 "description" : "The cluster node name.",
22531 "format" : "pve-node",
22532 "type" : "string",
22533 "typetext" : "<string>"
22534 },
22535 "vmid" : {
22536 "description" : "The (unique) ID of the VM.",
22537 "format" : "pve-vmid",
22538 "minimum" : 1,
22539 "type" : "integer",
22540 "typetext" : "<integer> (1 - N)"
22541 }
22542 }
22543 },
22544 "permissions" : {
22545 "check" : [
22546 "perm",
22547 "/vms/{vmid}",
22548 [
22549 "VM.Audit"
22550 ]
22551 ]
22552 },
22553 "proxyto" : "node",
22554 "returns" : {
22555 "properties" : {
22556 "dhcp" : {
22557 "description" : "Enable DHCP.",
22558 "optional" : 1,
22559 "type" : "boolean"
22560 },
22561 "enable" : {
22562 "description" : "Enable/disable firewall rules.",
22563 "optional" : 1,
22564 "type" : "boolean"
22565 },
22566 "ipfilter" : {
22567 "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.",
22568 "optional" : 1,
22569 "type" : "boolean"
22570 },
22571 "log_level_in" : {
22572 "description" : "Log level for incoming traffic.",
22573 "enum" : [
22574 "emerg",
22575 "alert",
22576 "crit",
22577 "err",
22578 "warning",
22579 "notice",
22580 "info",
22581 "debug",
22582 "nolog"
22583 ],
22584 "optional" : 1,
22585 "type" : "string"
22586 },
22587 "log_level_out" : {
22588 "description" : "Log level for outgoing traffic.",
22589 "enum" : [
22590 "emerg",
22591 "alert",
22592 "crit",
22593 "err",
22594 "warning",
22595 "notice",
22596 "info",
22597 "debug",
22598 "nolog"
22599 ],
22600 "optional" : 1,
22601 "type" : "string"
22602 },
22603 "macfilter" : {
22604 "description" : "Enable/disable MAC address filter.",
22605 "optional" : 1,
22606 "type" : "boolean"
22607 },
22608 "ndp" : {
22609 "description" : "Enable NDP.",
22610 "optional" : 1,
22611 "type" : "boolean"
22612 },
22613 "policy_in" : {
22614 "description" : "Input policy.",
22615 "enum" : [
22616 "ACCEPT",
22617 "REJECT",
22618 "DROP"
22619 ],
22620 "optional" : 1,
22621 "type" : "string"
22622 },
22623 "policy_out" : {
22624 "description" : "Output policy.",
22625 "enum" : [
22626 "ACCEPT",
22627 "REJECT",
22628 "DROP"
22629 ],
22630 "optional" : 1,
22631 "type" : "string"
22632 },
22633 "radv" : {
22634 "description" : "Allow sending Router Advertisement.",
22635 "optional" : 1,
22636 "type" : "boolean"
22637 }
22638 },
22639 "type" : "object"
7aacca6f
DM
22640 }
22641 },
4d47f125
TL
22642 "PUT" : {
22643 "description" : "Set Firewall options.",
22644 "method" : "PUT",
22645 "name" : "set_options",
7aacca6f
DM
22646 "parameters" : {
22647 "additionalProperties" : 0,
22648 "properties" : {
4d47f125
TL
22649 "delete" : {
22650 "description" : "A list of settings you want to delete.",
22651 "format" : "pve-configid-list",
7aacca6f 22652 "optional" : 1,
013dc89f
DM
22653 "type" : "string",
22654 "typetext" : "<string>"
7aacca6f 22655 },
4d47f125
TL
22656 "dhcp" : {
22657 "description" : "Enable DHCP.",
22658 "optional" : 1,
22659 "type" : "boolean",
22660 "typetext" : "<boolean>"
7aacca6f 22661 },
4d47f125
TL
22662 "digest" : {
22663 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22664 "maxLength" : 40,
22665 "optional" : 1,
013dc89f
DM
22666 "type" : "string",
22667 "typetext" : "<string>"
7aacca6f 22668 },
4d47f125
TL
22669 "enable" : {
22670 "description" : "Enable/disable firewall rules.",
22671 "optional" : 1,
22672 "type" : "boolean",
22673 "typetext" : "<boolean>"
22674 },
22675 "ipfilter" : {
22676 "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.",
22677 "optional" : 1,
22678 "type" : "boolean",
22679 "typetext" : "<boolean>"
56122987 22680 },
4d47f125
TL
22681 "log_level_in" : {
22682 "description" : "Log level for incoming traffic.",
22683 "enum" : [
22684 "emerg",
22685 "alert",
22686 "crit",
22687 "err",
22688 "warning",
22689 "notice",
22690 "info",
22691 "debug",
22692 "nolog"
22693 ],
22694 "optional" : 1,
22695 "type" : "string"
44660702 22696 },
4d47f125
TL
22697 "log_level_out" : {
22698 "description" : "Log level for outgoing traffic.",
22699 "enum" : [
22700 "emerg",
22701 "alert",
22702 "crit",
22703 "err",
22704 "warning",
22705 "notice",
22706 "info",
22707 "debug",
22708 "nolog"
22709 ],
22710 "optional" : 1,
22711 "type" : "string"
44660702 22712 },
4d47f125
TL
22713 "macfilter" : {
22714 "description" : "Enable/disable MAC address filter.",
22715 "optional" : 1,
22716 "type" : "boolean",
22717 "typetext" : "<boolean>"
7aacca6f 22718 },
4d47f125
TL
22719 "ndp" : {
22720 "description" : "Enable NDP.",
22721 "optional" : 1,
22722 "type" : "boolean",
22723 "typetext" : "<boolean>"
7aacca6f 22724 },
4d47f125
TL
22725 "node" : {
22726 "description" : "The cluster node name.",
22727 "format" : "pve-node",
22728 "type" : "string",
22729 "typetext" : "<string>"
22730 },
22731 "policy_in" : {
22732 "description" : "Input policy.",
22733 "enum" : [
22734 "ACCEPT",
22735 "REJECT",
22736 "DROP"
44660702 22737 ],
4d47f125
TL
22738 "optional" : 1,
22739 "type" : "string"
22740 },
22741 "policy_out" : {
22742 "description" : "Output policy.",
22743 "enum" : [
22744 "ACCEPT",
22745 "REJECT",
22746 "DROP"
22747 ],
22748 "optional" : 1,
22749 "type" : "string"
22750 },
22751 "radv" : {
22752 "description" : "Allow sending Router Advertisement.",
22753 "optional" : 1,
22754 "type" : "boolean",
22755 "typetext" : "<boolean>"
22756 },
22757 "vmid" : {
22758 "description" : "The (unique) ID of the VM.",
22759 "format" : "pve-vmid",
22760 "minimum" : 1,
22761 "type" : "integer",
22762 "typetext" : "<integer> (1 - N)"
44660702 22763 }
4d47f125
TL
22764 }
22765 },
22766 "permissions" : {
22767 "check" : [
22768 "perm",
22769 "/vms/{vmid}",
22770 [
22771 "VM.Config.Network"
22772 ]
22773 ]
22774 },
22775 "protected" : 1,
22776 "proxyto" : "node",
22777 "returns" : {
22778 "type" : "null"
22779 }
22780 }
22781 },
22782 "leaf" : 1,
22783 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
22784 "text" : "options"
22785 },
22786 {
22787 "info" : {
22788 "GET" : {
22789 "description" : "Read firewall log",
22790 "method" : "GET",
22791 "name" : "log",
22792 "parameters" : {
22793 "additionalProperties" : 0,
22794 "properties" : {
22795 "limit" : {
22796 "minimum" : 0,
22797 "optional" : 1,
22798 "type" : "integer",
22799 "typetext" : "<integer> (0 - N)"
44660702 22800 },
4d47f125
TL
22801 "node" : {
22802 "description" : "The cluster node name.",
22803 "format" : "pve-node",
22804 "type" : "string",
22805 "typetext" : "<string>"
44660702 22806 },
4d47f125
TL
22807 "start" : {
22808 "minimum" : 0,
22809 "optional" : 1,
22810 "type" : "integer",
22811 "typetext" : "<integer> (0 - N)"
22812 },
22813 "vmid" : {
22814 "description" : "The (unique) ID of the VM.",
22815 "format" : "pve-vmid",
22816 "minimum" : 1,
22817 "type" : "integer",
22818 "typetext" : "<integer> (1 - N)"
44660702
DM
22819 }
22820 }
22821 },
4d47f125
TL
22822 "permissions" : {
22823 "check" : [
22824 "perm",
22825 "/vms/{vmid}",
22826 [
22827 "VM.Console"
22828 ]
22829 ]
22830 },
22831 "protected" : 1,
22832 "proxyto" : "node",
22833 "returns" : {
22834 "items" : {
22835 "properties" : {
22836 "n" : {
22837 "description" : "Line number",
22838 "type" : "integer"
22839 },
22840 "t" : {
22841 "description" : "Line text",
22842 "type" : "string"
22843 }
22844 },
22845 "type" : "object"
22846 },
22847 "type" : "array"
22848 }
44660702 22849 }
4d47f125
TL
22850 },
22851 "leaf" : 1,
22852 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
22853 "text" : "log"
22854 },
22855 {
44660702
DM
22856 "info" : {
22857 "GET" : {
4d47f125 22858 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 22859 "method" : "GET",
4d47f125 22860 "name" : "refs",
44660702
DM
22861 "parameters" : {
22862 "additionalProperties" : 0,
22863 "properties" : {
22864 "node" : {
22865 "description" : "The cluster node name.",
22866 "format" : "pve-node",
013dc89f
DM
22867 "type" : "string",
22868 "typetext" : "<string>"
44660702 22869 },
4d47f125
TL
22870 "type" : {
22871 "description" : "Only list references of specified type.",
22872 "enum" : [
22873 "alias",
22874 "ipset"
22875 ],
22876 "optional" : 1,
22877 "type" : "string"
22878 },
44660702
DM
22879 "vmid" : {
22880 "description" : "The (unique) ID of the VM.",
22881 "format" : "pve-vmid",
22882 "minimum" : 1,
4bd7df8b 22883 "type" : "integer",
013dc89f 22884 "typetext" : "<integer> (1 - N)"
44660702
DM
22885 }
22886 }
22887 },
4d47f125
TL
22888 "permissions" : {
22889 "check" : [
22890 "perm",
22891 "/vms/{vmid}",
22892 [
22893 "VM.Audit"
22894 ]
22895 ]
22896 },
22897 "returns" : {
22898 "items" : {
22899 "properties" : {
22900 "comment" : {
22901 "optional" : 1,
22902 "type" : "string"
22903 },
22904 "name" : {
22905 "type" : "string"
22906 },
22907 "type" : {
22908 "enum" : [
22909 "alias",
22910 "ipset"
22911 ],
22912 "type" : "string"
22913 }
22914 },
22915 "type" : "object"
22916 },
22917 "type" : "array"
22918 }
22919 }
22920 },
22921 "leaf" : 1,
22922 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
22923 "text" : "refs"
22924 }
22925 ],
22926 "info" : {
22927 "GET" : {
22928 "description" : "Directory index.",
22929 "method" : "GET",
22930 "name" : "index",
22931 "parameters" : {
22932 "additionalProperties" : 0,
22933 "properties" : {
22934 "node" : {
22935 "description" : "The cluster node name.",
22936 "format" : "pve-node",
22937 "type" : "string",
22938 "typetext" : "<string>"
22939 },
22940 "vmid" : {
22941 "description" : "The (unique) ID of the VM.",
22942 "format" : "pve-vmid",
22943 "minimum" : 1,
22944 "type" : "integer",
22945 "typetext" : "<integer> (1 - N)"
22946 }
22947 }
22948 },
22949 "permissions" : {
22950 "user" : "all"
22951 },
22952 "returns" : {
22953 "items" : {
22954 "properties" : {},
22955 "type" : "object"
22956 },
22957 "links" : [
22958 {
22959 "href" : "{name}",
22960 "rel" : "child"
22961 }
22962 ],
22963 "type" : "array"
22964 }
22965 }
22966 },
22967 "leaf" : 0,
22968 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
22969 "text" : "firewall"
22970 },
22971 {
22972 "info" : {
22973 "GET" : {
22974 "description" : "Read VM RRD statistics (returns PNG)",
22975 "method" : "GET",
22976 "name" : "rrd",
22977 "parameters" : {
22978 "additionalProperties" : 0,
22979 "properties" : {
22980 "cf" : {
22981 "description" : "The RRD consolidation function",
22982 "enum" : [
22983 "AVERAGE",
22984 "MAX"
22985 ],
22986 "optional" : 1,
22987 "type" : "string"
22988 },
22989 "ds" : {
22990 "description" : "The list of datasources you want to display.",
22991 "format" : "pve-configid-list",
22992 "type" : "string",
22993 "typetext" : "<string>"
22994 },
22995 "node" : {
22996 "description" : "The cluster node name.",
22997 "format" : "pve-node",
22998 "type" : "string",
22999 "typetext" : "<string>"
23000 },
23001 "timeframe" : {
23002 "description" : "Specify the time frame you are interested in.",
23003 "enum" : [
23004 "hour",
23005 "day",
23006 "week",
23007 "month",
23008 "year"
23009 ],
23010 "type" : "string"
23011 },
23012 "vmid" : {
23013 "description" : "The (unique) ID of the VM.",
23014 "format" : "pve-vmid",
23015 "minimum" : 1,
23016 "type" : "integer",
23017 "typetext" : "<integer> (1 - N)"
23018 }
23019 }
23020 },
23021 "permissions" : {
23022 "check" : [
23023 "perm",
23024 "/vms/{vmid}",
23025 [
23026 "VM.Audit"
23027 ]
23028 ]
23029 },
23030 "protected" : 1,
23031 "returns" : {
23032 "properties" : {
23033 "filename" : {
23034 "type" : "string"
23035 }
23036 },
23037 "type" : "object"
23038 }
23039 }
23040 },
23041 "leaf" : 1,
23042 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
23043 "text" : "rrd"
23044 },
23045 {
23046 "info" : {
23047 "GET" : {
23048 "description" : "Read VM RRD statistics",
23049 "method" : "GET",
23050 "name" : "rrddata",
23051 "parameters" : {
23052 "additionalProperties" : 0,
23053 "properties" : {
23054 "cf" : {
23055 "description" : "The RRD consolidation function",
23056 "enum" : [
23057 "AVERAGE",
23058 "MAX"
23059 ],
23060 "optional" : 1,
23061 "type" : "string"
23062 },
23063 "node" : {
23064 "description" : "The cluster node name.",
23065 "format" : "pve-node",
23066 "type" : "string",
23067 "typetext" : "<string>"
44660702 23068 },
4d47f125
TL
23069 "timeframe" : {
23070 "description" : "Specify the time frame you are interested in.",
23071 "enum" : [
23072 "hour",
23073 "day",
23074 "week",
23075 "month",
23076 "year"
44660702 23077 ],
4d47f125
TL
23078 "type" : "string"
23079 },
23080 "vmid" : {
23081 "description" : "The (unique) ID of the VM.",
23082 "format" : "pve-vmid",
23083 "minimum" : 1,
23084 "type" : "integer",
23085 "typetext" : "<integer> (1 - N)"
44660702 23086 }
4d47f125
TL
23087 }
23088 },
23089 "permissions" : {
23090 "check" : [
23091 "perm",
23092 "/vms/{vmid}",
23093 [
23094 "VM.Audit"
23095 ]
23096 ]
23097 },
23098 "protected" : 1,
23099 "returns" : {
23100 "items" : {
23101 "properties" : {},
23102 "type" : "object"
44660702 23103 },
4d47f125
TL
23104 "type" : "array"
23105 }
23106 }
23107 },
23108 "leaf" : 1,
23109 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
23110 "text" : "rrddata"
23111 },
23112 {
23113 "info" : {
23114 "POST" : {
23115 "description" : "Creates a TCP VNC proxy connections.",
23116 "method" : "POST",
23117 "name" : "vncproxy",
23118 "parameters" : {
23119 "additionalProperties" : 0,
23120 "properties" : {
23121 "height" : {
23122 "description" : "sets the height of the console in pixels.",
23123 "maximum" : 2160,
23124 "minimum" : 16,
23125 "optional" : 1,
23126 "type" : "integer",
23127 "typetext" : "<integer> (16 - 2160)"
44660702 23128 },
4d47f125
TL
23129 "node" : {
23130 "description" : "The cluster node name.",
23131 "format" : "pve-node",
23132 "type" : "string",
23133 "typetext" : "<string>"
44660702 23134 },
4d47f125
TL
23135 "vmid" : {
23136 "description" : "The (unique) ID of the VM.",
23137 "format" : "pve-vmid",
23138 "minimum" : 1,
23139 "type" : "integer",
23140 "typetext" : "<integer> (1 - N)"
23141 },
23142 "websocket" : {
23143 "description" : "use websocket instead of standard VNC.",
23144 "optional" : 1,
23145 "type" : "boolean",
23146 "typetext" : "<boolean>"
23147 },
23148 "width" : {
23149 "description" : "sets the width of the console in pixels.",
23150 "maximum" : 4096,
23151 "minimum" : 16,
23152 "optional" : 1,
23153 "type" : "integer",
23154 "typetext" : "<integer> (16 - 4096)"
56122987
DM
23155 }
23156 }
44660702 23157 },
4d47f125
TL
23158 "permissions" : {
23159 "check" : [
23160 "perm",
23161 "/vms/{vmid}",
23162 [
23163 "VM.Console"
23164 ]
23165 ]
23166 },
23167 "protected" : 1,
23168 "returns" : {
23169 "additionalProperties" : 0,
23170 "properties" : {
23171 "cert" : {
23172 "type" : "string"
44660702 23173 },
4d47f125
TL
23174 "port" : {
23175 "type" : "integer"
23176 },
23177 "ticket" : {
23178 "type" : "string"
23179 },
23180 "upid" : {
23181 "type" : "string"
23182 },
23183 "user" : {
23184 "type" : "string"
23185 }
23186 }
23187 }
23188 }
23189 },
23190 "leaf" : 1,
23191 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
23192 "text" : "vncproxy"
23193 },
23194 {
23195 "info" : {
23196 "POST" : {
23197 "description" : "Creates a TCP proxy connection.",
23198 "method" : "POST",
23199 "name" : "termproxy",
23200 "parameters" : {
23201 "additionalProperties" : 0,
23202 "properties" : {
23203 "node" : {
23204 "description" : "The cluster node name.",
23205 "format" : "pve-node",
23206 "type" : "string",
23207 "typetext" : "<string>"
44660702 23208 },
4d47f125
TL
23209 "vmid" : {
23210 "description" : "The (unique) ID of the VM.",
23211 "format" : "pve-vmid",
23212 "minimum" : 1,
23213 "type" : "integer",
23214 "typetext" : "<integer> (1 - N)"
44660702 23215 }
4d47f125
TL
23216 }
23217 },
23218 "permissions" : {
23219 "check" : [
23220 "perm",
23221 "/vms/{vmid}",
23222 [
23223 "VM.Console"
23224 ]
23225 ]
23226 },
23227 "protected" : 1,
23228 "returns" : {
23229 "additionalProperties" : 0,
23230 "properties" : {
23231 "port" : {
23232 "type" : "integer"
56122987 23233 },
4d47f125
TL
23234 "ticket" : {
23235 "type" : "string"
7aacca6f 23236 },
4d47f125
TL
23237 "upid" : {
23238 "type" : "string"
23239 },
23240 "user" : {
23241 "type" : "string"
23242 }
23243 }
23244 }
23245 }
23246 },
23247 "leaf" : 1,
23248 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
23249 "text" : "termproxy"
23250 },
23251 {
23252 "info" : {
23253 "GET" : {
23254 "description" : "Opens a weksocket for VNC traffic.",
23255 "method" : "GET",
23256 "name" : "vncwebsocket",
23257 "parameters" : {
23258 "additionalProperties" : 0,
23259 "properties" : {
23260 "node" : {
23261 "description" : "The cluster node name.",
23262 "format" : "pve-node",
23263 "type" : "string",
23264 "typetext" : "<string>"
23265 },
23266 "port" : {
23267 "description" : "Port number returned by previous vncproxy call.",
23268 "maximum" : 5999,
23269 "minimum" : 5900,
23270 "type" : "integer",
23271 "typetext" : "<integer> (5900 - 5999)"
23272 },
23273 "vmid" : {
23274 "description" : "The (unique) ID of the VM.",
23275 "format" : "pve-vmid",
23276 "minimum" : 1,
23277 "type" : "integer",
23278 "typetext" : "<integer> (1 - N)"
23279 },
23280 "vncticket" : {
23281 "description" : "Ticket from previous call to vncproxy.",
23282 "maxLength" : 512,
23283 "type" : "string",
23284 "typetext" : "<string>"
56122987
DM
23285 }
23286 }
23287 },
4d47f125
TL
23288 "permissions" : {
23289 "check" : [
23290 "perm",
23291 "/vms/{vmid}",
23292 [
23293 "VM.Console"
23294 ]
23295 ],
23296 "description" : "You also need to pass a valid ticket (vncticket)."
23297 },
23298 "returns" : {
23299 "properties" : {
23300 "port" : {
23301 "type" : "string"
23302 }
23303 },
23304 "type" : "object"
23305 }
23306 }
23307 },
23308 "leaf" : 1,
23309 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
23310 "text" : "vncwebsocket"
23311 },
23312 {
23313 "info" : {
23314 "POST" : {
23315 "description" : "Returns a SPICE configuration to connect to the CT.",
23316 "method" : "POST",
23317 "name" : "spiceproxy",
23318 "parameters" : {
23319 "additionalProperties" : 0,
23320 "properties" : {
23321 "node" : {
23322 "description" : "The cluster node name.",
23323 "format" : "pve-node",
23324 "type" : "string",
23325 "typetext" : "<string>"
56122987 23326 },
4d47f125
TL
23327 "proxy" : {
23328 "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).",
23329 "format" : "address",
23330 "optional" : 1,
23331 "type" : "string",
23332 "typetext" : "<string>"
44660702 23333 },
4d47f125
TL
23334 "vmid" : {
23335 "description" : "The (unique) ID of the VM.",
23336 "format" : "pve-vmid",
23337 "minimum" : 1,
23338 "type" : "integer",
23339 "typetext" : "<integer> (1 - N)"
44660702 23340 }
56122987
DM
23341 }
23342 },
4d47f125
TL
23343 "permissions" : {
23344 "check" : [
23345 "perm",
23346 "/vms/{vmid}",
23347 [
23348 "VM.Console"
23349 ]
23350 ]
23351 },
23352 "protected" : 1,
23353 "proxyto" : "node",
23354 "returns" : {
23355 "additionalProperties" : 1,
23356 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
23357 "properties" : {
23358 "host" : {
23359 "type" : "string"
23360 },
23361 "password" : {
23362 "type" : "string"
23363 },
23364 "proxy" : {
23365 "type" : "string"
23366 },
23367 "tls-port" : {
23368 "type" : "integer"
23369 },
23370 "type" : {
23371 "type" : "string"
23372 }
23373 }
23374 }
23375 }
23376 },
23377 "leaf" : 1,
23378 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
23379 "text" : "spiceproxy"
23380 },
23381 {
23382 "info" : {
23383 "POST" : {
23384 "description" : "Migrate the container to another node. Creates a new migration task.",
23385 "method" : "POST",
23386 "name" : "migrate_vm",
23387 "parameters" : {
23388 "additionalProperties" : 0,
23389 "properties" : {
95895385
TL
23390 "bwlimit" : {
23391 "default" : "migrate limit from datacenter or storage config",
23392 "description" : "Override I/O bandwidth limit (in KiB/s).",
23393 "minimum" : "0",
23394 "optional" : 1,
23395 "type" : "number",
23396 "typetext" : "<number> (0 - N)"
23397 },
4d47f125
TL
23398 "force" : {
23399 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
23400 "optional" : 1,
23401 "type" : "boolean",
23402 "typetext" : "<boolean>"
56122987 23403 },
4d47f125
TL
23404 "node" : {
23405 "description" : "The cluster node name.",
23406 "format" : "pve-node",
23407 "type" : "string",
23408 "typetext" : "<string>"
44660702 23409 },
4d47f125
TL
23410 "online" : {
23411 "description" : "Use online/live migration.",
23412 "optional" : 1,
23413 "type" : "boolean",
23414 "typetext" : "<boolean>"
23415 },
23416 "restart" : {
23417 "description" : "Use restart migration",
23418 "optional" : 1,
23419 "type" : "boolean",
23420 "typetext" : "<boolean>"
23421 },
23422 "target" : {
23423 "description" : "Target node.",
23424 "format" : "pve-node",
23425 "type" : "string",
23426 "typetext" : "<string>"
23427 },
23428 "timeout" : {
23429 "default" : 180,
23430 "description" : "Timeout in seconds for shutdown for restart migration",
23431 "optional" : 1,
23432 "type" : "integer",
23433 "typetext" : "<integer>"
23434 },
23435 "vmid" : {
23436 "description" : "The (unique) ID of the VM.",
23437 "format" : "pve-vmid",
23438 "minimum" : 1,
23439 "type" : "integer",
23440 "typetext" : "<integer> (1 - N)"
56122987
DM
23441 }
23442 }
23443 },
4d47f125
TL
23444 "permissions" : {
23445 "check" : [
23446 "perm",
23447 "/vms/{vmid}",
23448 [
23449 "VM.Migrate"
23450 ]
23451 ]
23452 },
23453 "protected" : 1,
23454 "proxyto" : "node",
23455 "returns" : {
23456 "description" : "the task ID.",
23457 "type" : "string"
23458 }
56122987 23459 }
4d47f125
TL
23460 },
23461 "leaf" : 1,
23462 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
23463 "text" : "migrate"
23464 },
23465 {
56122987
DM
23466 "info" : {
23467 "GET" : {
4d47f125 23468 "description" : "Check if feature for virtual machine is available.",
44660702 23469 "method" : "GET",
4d47f125 23470 "name" : "vm_feature",
56122987 23471 "parameters" : {
44660702 23472 "additionalProperties" : 0,
56122987 23473 "properties" : {
4d47f125
TL
23474 "feature" : {
23475 "description" : "Feature to check.",
23476 "enum" : [
23477 "snapshot",
23478 "clone",
23479 "copy"
23480 ],
23481 "type" : "string"
23482 },
56122987 23483 "node" : {
44660702 23484 "description" : "The cluster node name.",
56122987 23485 "format" : "pve-node",
013dc89f
DM
23486 "type" : "string",
23487 "typetext" : "<string>"
44660702 23488 },
4d47f125
TL
23489 "snapname" : {
23490 "description" : "The name of the snapshot.",
23491 "format" : "pve-configid",
23492 "maxLength" : 40,
23493 "optional" : 1,
23494 "type" : "string",
23495 "typetext" : "<string>"
23496 },
44660702
DM
23497 "vmid" : {
23498 "description" : "The (unique) ID of the VM.",
23499 "format" : "pve-vmid",
23500 "minimum" : 1,
4bd7df8b 23501 "type" : "integer",
013dc89f 23502 "typetext" : "<integer> (1 - N)"
56122987 23503 }
44660702
DM
23504 }
23505 },
23506 "permissions" : {
4d47f125
TL
23507 "check" : [
23508 "perm",
23509 "/vms/{vmid}",
23510 [
23511 "VM.Audit"
23512 ]
23513 ]
56122987 23514 },
4d47f125
TL
23515 "protected" : 1,
23516 "proxyto" : "node",
56122987 23517 "returns" : {
4d47f125
TL
23518 "properties" : {
23519 "hasFeature" : {
23520 "type" : "boolean"
23521 }
7aacca6f 23522 },
4d47f125
TL
23523 "type" : "object"
23524 }
23525 }
23526 },
23527 "leaf" : 1,
23528 "path" : "/nodes/{node}/lxc/{vmid}/feature",
23529 "text" : "feature"
23530 },
23531 {
23532 "info" : {
23533 "POST" : {
23534 "description" : "Create a Template.",
23535 "method" : "POST",
23536 "name" : "template",
23537 "parameters" : {
23538 "additionalProperties" : 0,
23539 "properties" : {
23540 "node" : {
23541 "description" : "The cluster node name.",
23542 "format" : "pve-node",
23543 "type" : "string",
23544 "typetext" : "<string>"
23545 },
23546 "vmid" : {
23547 "description" : "The (unique) ID of the VM.",
23548 "format" : "pve-vmid",
23549 "minimum" : 1,
23550 "type" : "integer",
23551 "typetext" : "<integer> (1 - N)"
56122987 23552 }
4d47f125
TL
23553 }
23554 },
23555 "permissions" : {
23556 "check" : [
23557 "perm",
23558 "/vms/{vmid}",
23559 [
23560 "VM.Allocate"
23561 ]
44660702 23562 ],
4d47f125
TL
23563 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
23564 },
23565 "protected" : 1,
23566 "proxyto" : "node",
23567 "returns" : {
23568 "type" : "null"
56122987
DM
23569 }
23570 }
23571 },
4d47f125
TL
23572 "leaf" : 1,
23573 "path" : "/nodes/{node}/lxc/{vmid}/template",
23574 "text" : "template"
56122987
DM
23575 },
23576 {
56122987 23577 "info" : {
4d47f125
TL
23578 "POST" : {
23579 "description" : "Create a container clone/copy",
23580 "method" : "POST",
23581 "name" : "clone_vm",
56122987 23582 "parameters" : {
7aacca6f 23583 "additionalProperties" : 0,
56122987 23584 "properties" : {
95895385
TL
23585 "bwlimit" : {
23586 "default" : "clone limit from datacenter or storage config",
23587 "description" : "Override I/O bandwidth limit (in KiB/s).",
23588 "minimum" : "0",
23589 "optional" : 1,
23590 "type" : "number",
23591 "typetext" : "<number> (0 - N)"
23592 },
4d47f125
TL
23593 "description" : {
23594 "description" : "Description for the new CT.",
44660702 23595 "optional" : 1,
4d47f125
TL
23596 "type" : "string",
23597 "typetext" : "<string>"
44660702 23598 },
4d47f125
TL
23599 "full" : {
23600 "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.",
23601 "optional" : 1,
23602 "type" : "boolean",
23603 "typetext" : "<boolean>"
23604 },
23605 "hostname" : {
23606 "description" : "Set a hostname for the new CT.",
23607 "format" : "dns-name",
23608 "optional" : 1,
013dc89f
DM
23609 "type" : "string",
23610 "typetext" : "<string>"
44660702 23611 },
4d47f125
TL
23612 "newid" : {
23613 "description" : "VMID for the clone.",
23614 "format" : "pve-vmid",
23615 "minimum" : 1,
23616 "type" : "integer",
23617 "typetext" : "<integer> (1 - N)"
23618 },
7aacca6f
DM
23619 "node" : {
23620 "description" : "The cluster node name.",
44660702 23621 "format" : "pve-node",
013dc89f
DM
23622 "type" : "string",
23623 "typetext" : "<string>"
56122987 23624 },
4d47f125
TL
23625 "pool" : {
23626 "description" : "Add the new CT to the specified pool.",
23627 "format" : "pve-poolid",
23628 "optional" : 1,
23629 "type" : "string",
23630 "typetext" : "<string>"
23631 },
23632 "snapname" : {
23633 "description" : "The name of the snapshot.",
23634 "format" : "pve-configid",
23635 "maxLength" : 40,
23636 "optional" : 1,
23637 "type" : "string",
23638 "typetext" : "<string>"
23639 },
23640 "storage" : {
23641 "description" : "Target storage for full clone.",
23642 "format" : "pve-storage-id",
23643 "optional" : 1,
23644 "type" : "string",
23645 "typetext" : "<string>"
23646 },
23647 "target" : {
23648 "description" : "Target node. Only allowed if the original VM is on shared storage.",
23649 "format" : "pve-node",
23650 "optional" : 1,
23651 "type" : "string",
23652 "typetext" : "<string>"
23653 },
7aacca6f 23654 "vmid" : {
44660702 23655 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23656 "format" : "pve-vmid",
23657 "minimum" : 1,
4bd7df8b 23658 "type" : "integer",
013dc89f 23659 "typetext" : "<integer> (1 - N)"
56122987 23660 }
7aacca6f
DM
23661 }
23662 },
23663 "permissions" : {
23664 "check" : [
4d47f125 23665 "and",
7aacca6f 23666 [
4d47f125
TL
23667 "perm",
23668 "/vms/{vmid}",
23669 [
23670 "VM.Clone"
23671 ]
23672 ],
23673 [
23674 "or",
23675 [
23676 "perm",
23677 "/vms/{newid}",
23678 [
23679 "VM.Allocate"
23680 ]
23681 ],
23682 [
23683 "perm",
23684 "/pool/{pool}",
23685 [
23686 "VM.Allocate"
23687 ],
23688 "require_param",
23689 "pool"
23690 ]
7aacca6f 23691 ]
4d47f125
TL
23692 ],
23693 "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 23694 },
44660702 23695 "protected" : 1,
4d47f125 23696 "proxyto" : "node",
7aacca6f 23697 "returns" : {
4d47f125 23698 "type" : "string"
7aacca6f 23699 }
56122987 23700 }
7aacca6f 23701 },
44660702 23702 "leaf" : 1,
4d47f125
TL
23703 "path" : "/nodes/{node}/lxc/{vmid}/clone",
23704 "text" : "clone"
56122987
DM
23705 },
23706 {
56122987 23707 "info" : {
4d47f125
TL
23708 "PUT" : {
23709 "description" : "Resize a container mount point.",
23710 "method" : "PUT",
23711 "name" : "resize_vm",
56122987 23712 "parameters" : {
7aacca6f 23713 "additionalProperties" : 0,
56122987 23714 "properties" : {
4d47f125
TL
23715 "digest" : {
23716 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23717 "maxLength" : 40,
23718 "optional" : 1,
23719 "type" : "string",
23720 "typetext" : "<string>"
23721 },
23722 "disk" : {
23723 "description" : "The disk you want to resize.",
44660702 23724 "enum" : [
4d47f125
TL
23725 "rootfs",
23726 "mp0",
23727 "mp1",
23728 "mp2",
23729 "mp3",
23730 "mp4",
23731 "mp5",
23732 "mp6",
23733 "mp7",
23734 "mp8",
23735 "mp9",
23736 "mp10",
23737 "mp11",
23738 "mp12",
23739 "mp13",
23740 "mp14",
23741 "mp15",
23742 "mp16",
23743 "mp17",
23744 "mp18",
23745 "mp19",
23746 "mp20",
23747 "mp21",
23748 "mp22",
23749 "mp23",
23750 "mp24",
23751 "mp25",
23752 "mp26",
23753 "mp27",
23754 "mp28",
23755 "mp29",
23756 "mp30",
23757 "mp31",
23758 "mp32",
23759 "mp33",
23760 "mp34",
23761 "mp35",
23762 "mp36",
23763 "mp37",
23764 "mp38",
23765 "mp39",
23766 "mp40",
23767 "mp41",
23768 "mp42",
23769 "mp43",
23770 "mp44",
23771 "mp45",
23772 "mp46",
23773 "mp47",
23774 "mp48",
23775 "mp49",
23776 "mp50",
23777 "mp51",
23778 "mp52",
23779 "mp53",
23780 "mp54",
23781 "mp55",
23782 "mp56",
23783 "mp57",
23784 "mp58",
23785 "mp59",
23786 "mp60",
23787 "mp61",
23788 "mp62",
23789 "mp63",
23790 "mp64",
23791 "mp65",
23792 "mp66",
23793 "mp67",
23794 "mp68",
23795 "mp69",
23796 "mp70",
23797 "mp71",
23798 "mp72",
23799 "mp73",
23800 "mp74",
23801 "mp75",
23802 "mp76",
23803 "mp77",
23804 "mp78",
23805 "mp79",
23806 "mp80",
23807 "mp81",
23808 "mp82",
23809 "mp83",
23810 "mp84",
23811 "mp85",
23812 "mp86",
23813 "mp87",
23814 "mp88",
23815 "mp89",
23816 "mp90",
23817 "mp91",
23818 "mp92",
23819 "mp93",
23820 "mp94",
23821 "mp95",
23822 "mp96",
23823 "mp97",
23824 "mp98",
23825 "mp99",
23826 "mp100",
23827 "mp101",
23828 "mp102",
23829 "mp103",
23830 "mp104",
23831 "mp105",
23832 "mp106",
23833 "mp107",
23834 "mp108",
23835 "mp109",
23836 "mp110",
23837 "mp111",
23838 "mp112",
23839 "mp113",
23840 "mp114",
23841 "mp115",
23842 "mp116",
23843 "mp117",
23844 "mp118",
23845 "mp119",
23846 "mp120",
23847 "mp121",
23848 "mp122",
23849 "mp123",
23850 "mp124",
23851 "mp125",
23852 "mp126",
23853 "mp127",
23854 "mp128",
23855 "mp129",
23856 "mp130",
23857 "mp131",
23858 "mp132",
23859 "mp133",
23860 "mp134",
23861 "mp135",
23862 "mp136",
23863 "mp137",
23864 "mp138",
23865 "mp139",
23866 "mp140",
23867 "mp141",
23868 "mp142",
23869 "mp143",
23870 "mp144",
23871 "mp145",
23872 "mp146",
23873 "mp147",
23874 "mp148",
23875 "mp149",
23876 "mp150",
23877 "mp151",
23878 "mp152",
23879 "mp153",
23880 "mp154",
23881 "mp155",
23882 "mp156",
23883 "mp157",
23884 "mp158",
23885 "mp159",
23886 "mp160",
23887 "mp161",
23888 "mp162",
23889 "mp163",
23890 "mp164",
23891 "mp165",
23892 "mp166",
23893 "mp167",
23894 "mp168",
23895 "mp169",
23896 "mp170",
23897 "mp171",
23898 "mp172",
23899 "mp173",
23900 "mp174",
23901 "mp175",
23902 "mp176",
23903 "mp177",
23904 "mp178",
23905 "mp179",
23906 "mp180",
23907 "mp181",
23908 "mp182",
23909 "mp183",
23910 "mp184",
23911 "mp185",
23912 "mp186",
23913 "mp187",
23914 "mp188",
23915 "mp189",
23916 "mp190",
23917 "mp191",
23918 "mp192",
23919 "mp193",
23920 "mp194",
23921 "mp195",
23922 "mp196",
23923 "mp197",
23924 "mp198",
23925 "mp199",
23926 "mp200",
23927 "mp201",
23928 "mp202",
23929 "mp203",
23930 "mp204",
23931 "mp205",
23932 "mp206",
23933 "mp207",
23934 "mp208",
23935 "mp209",
23936 "mp210",
23937 "mp211",
23938 "mp212",
23939 "mp213",
23940 "mp214",
23941 "mp215",
23942 "mp216",
23943 "mp217",
23944 "mp218",
23945 "mp219",
23946 "mp220",
23947 "mp221",
23948 "mp222",
23949 "mp223",
23950 "mp224",
23951 "mp225",
23952 "mp226",
23953 "mp227",
23954 "mp228",
23955 "mp229",
23956 "mp230",
23957 "mp231",
23958 "mp232",
23959 "mp233",
23960 "mp234",
23961 "mp235",
23962 "mp236",
23963 "mp237",
23964 "mp238",
23965 "mp239",
23966 "mp240",
23967 "mp241",
23968 "mp242",
23969 "mp243",
23970 "mp244",
23971 "mp245",
23972 "mp246",
23973 "mp247",
23974 "mp248",
23975 "mp249",
23976 "mp250",
23977 "mp251",
23978 "mp252",
23979 "mp253",
23980 "mp254",
23981 "mp255"
44660702 23982 ],
44660702
DM
23983 "type" : "string"
23984 },
7aacca6f 23985 "node" : {
44660702 23986 "description" : "The cluster node name.",
7aacca6f 23987 "format" : "pve-node",
013dc89f
DM
23988 "type" : "string",
23989 "typetext" : "<string>"
7aacca6f 23990 },
4d47f125
TL
23991 "size" : {
23992 "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.",
23993 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 23994 "type" : "string"
7aacca6f
DM
23995 },
23996 "vmid" : {
23997 "description" : "The (unique) ID of the VM.",
44660702 23998 "format" : "pve-vmid",
7aacca6f 23999 "minimum" : 1,
4bd7df8b 24000 "type" : "integer",
013dc89f 24001 "typetext" : "<integer> (1 - N)"
56122987 24002 }
56122987
DM
24003 }
24004 },
56122987
DM
24005 "permissions" : {
24006 "check" : [
24007 "perm",
24008 "/vms/{vmid}",
24009 [
4d47f125
TL
24010 "VM.Config.Disk"
24011 ],
24012 "any",
24013 1
56122987
DM
24014 ]
24015 },
7aacca6f 24016 "protected" : 1,
4d47f125 24017 "proxyto" : "node",
7aacca6f 24018 "returns" : {
4d47f125
TL
24019 "description" : "the task ID.",
24020 "type" : "string"
44660702 24021 }
56122987
DM
24022 }
24023 },
44660702 24024 "leaf" : 1,
4d47f125
TL
24025 "path" : "/nodes/{node}/lxc/{vmid}/resize",
24026 "text" : "resize"
56122987
DM
24027 },
24028 {
24029 "info" : {
24030 "POST" : {
4d47f125 24031 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 24032 "method" : "POST",
4d47f125 24033 "name" : "move_volume",
7aacca6f 24034 "parameters" : {
44660702 24035 "additionalProperties" : 0,
7aacca6f 24036 "properties" : {
95895385
TL
24037 "bwlimit" : {
24038 "default" : "clone limit from datacenter or storage config",
24039 "description" : "Override I/O bandwidth limit (in KiB/s).",
24040 "minimum" : "0",
24041 "optional" : 1,
24042 "type" : "number",
24043 "typetext" : "<number> (0 - N)"
24044 },
4d47f125
TL
24045 "delete" : {
24046 "default" : 0,
24047 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 24048 "optional" : 1,
4d47f125
TL
24049 "type" : "boolean",
24050 "typetext" : "<boolean>"
24051 },
24052 "digest" : {
24053 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24054 "maxLength" : 40,
24055 "optional" : 1,
24056 "type" : "string",
24057 "typetext" : "<string>"
5d9c884c 24058 },
44660702
DM
24059 "node" : {
24060 "description" : "The cluster node name.",
24061 "format" : "pve-node",
013dc89f
DM
24062 "type" : "string",
24063 "typetext" : "<string>"
44660702 24064 },
4d47f125
TL
24065 "storage" : {
24066 "description" : "Target Storage.",
24067 "format" : "pve-storage-id",
24068 "type" : "string",
24069 "typetext" : "<string>"
24070 },
7aacca6f 24071 "vmid" : {
44660702 24072 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
24073 "format" : "pve-vmid",
24074 "minimum" : 1,
4bd7df8b 24075 "type" : "integer",
013dc89f 24076 "typetext" : "<integer> (1 - N)"
7aacca6f 24077 },
4d47f125
TL
24078 "volume" : {
24079 "description" : "Volume which will be moved.",
24080 "enum" : [
24081 "rootfs",
24082 "mp0",
24083 "mp1",
24084 "mp2",
24085 "mp3",
24086 "mp4",
24087 "mp5",
24088 "mp6",
24089 "mp7",
24090 "mp8",
24091 "mp9",
24092 "mp10",
24093 "mp11",
24094 "mp12",
24095 "mp13",
24096 "mp14",
24097 "mp15",
24098 "mp16",
24099 "mp17",
24100 "mp18",
24101 "mp19",
24102 "mp20",
24103 "mp21",
24104 "mp22",
24105 "mp23",
24106 "mp24",
24107 "mp25",
24108 "mp26",
24109 "mp27",
24110 "mp28",
24111 "mp29",
24112 "mp30",
24113 "mp31",
24114 "mp32",
24115 "mp33",
24116 "mp34",
24117 "mp35",
24118 "mp36",
24119 "mp37",
24120 "mp38",
24121 "mp39",
24122 "mp40",
24123 "mp41",
24124 "mp42",
24125 "mp43",
24126 "mp44",
24127 "mp45",
24128 "mp46",
24129 "mp47",
24130 "mp48",
24131 "mp49",
24132 "mp50",
24133 "mp51",
24134 "mp52",
24135 "mp53",
24136 "mp54",
24137 "mp55",
24138 "mp56",
24139 "mp57",
24140 "mp58",
24141 "mp59",
24142 "mp60",
24143 "mp61",
24144 "mp62",
24145 "mp63",
24146 "mp64",
24147 "mp65",
24148 "mp66",
24149 "mp67",
24150 "mp68",
24151 "mp69",
24152 "mp70",
24153 "mp71",
24154 "mp72",
24155 "mp73",
24156 "mp74",
24157 "mp75",
24158 "mp76",
24159 "mp77",
24160 "mp78",
24161 "mp79",
24162 "mp80",
24163 "mp81",
24164 "mp82",
24165 "mp83",
24166 "mp84",
24167 "mp85",
24168 "mp86",
24169 "mp87",
24170 "mp88",
24171 "mp89",
24172 "mp90",
24173 "mp91",
24174 "mp92",
24175 "mp93",
24176 "mp94",
24177 "mp95",
24178 "mp96",
24179 "mp97",
24180 "mp98",
24181 "mp99",
24182 "mp100",
24183 "mp101",
24184 "mp102",
24185 "mp103",
24186 "mp104",
24187 "mp105",
24188 "mp106",
24189 "mp107",
24190 "mp108",
24191 "mp109",
24192 "mp110",
24193 "mp111",
24194 "mp112",
24195 "mp113",
24196 "mp114",
24197 "mp115",
24198 "mp116",
24199 "mp117",
24200 "mp118",
24201 "mp119",
24202 "mp120",
24203 "mp121",
24204 "mp122",
24205 "mp123",
24206 "mp124",
24207 "mp125",
24208 "mp126",
24209 "mp127",
24210 "mp128",
24211 "mp129",
24212 "mp130",
24213 "mp131",
24214 "mp132",
24215 "mp133",
24216 "mp134",
24217 "mp135",
24218 "mp136",
24219 "mp137",
24220 "mp138",
24221 "mp139",
24222 "mp140",
24223 "mp141",
24224 "mp142",
24225 "mp143",
24226 "mp144",
24227 "mp145",
24228 "mp146",
24229 "mp147",
24230 "mp148",
24231 "mp149",
24232 "mp150",
24233 "mp151",
24234 "mp152",
24235 "mp153",
24236 "mp154",
24237 "mp155",
24238 "mp156",
24239 "mp157",
24240 "mp158",
24241 "mp159",
24242 "mp160",
24243 "mp161",
24244 "mp162",
24245 "mp163",
24246 "mp164",
24247 "mp165",
24248 "mp166",
24249 "mp167",
24250 "mp168",
24251 "mp169",
24252 "mp170",
24253 "mp171",
24254 "mp172",
24255 "mp173",
24256 "mp174",
24257 "mp175",
24258 "mp176",
24259 "mp177",
24260 "mp178",
24261 "mp179",
24262 "mp180",
24263 "mp181",
24264 "mp182",
24265 "mp183",
24266 "mp184",
24267 "mp185",
24268 "mp186",
24269 "mp187",
24270 "mp188",
24271 "mp189",
24272 "mp190",
24273 "mp191",
24274 "mp192",
24275 "mp193",
24276 "mp194",
24277 "mp195",
24278 "mp196",
24279 "mp197",
24280 "mp198",
24281 "mp199",
24282 "mp200",
24283 "mp201",
24284 "mp202",
24285 "mp203",
24286 "mp204",
24287 "mp205",
24288 "mp206",
24289 "mp207",
24290 "mp208",
24291 "mp209",
24292 "mp210",
24293 "mp211",
24294 "mp212",
24295 "mp213",
24296 "mp214",
24297 "mp215",
24298 "mp216",
24299 "mp217",
24300 "mp218",
24301 "mp219",
24302 "mp220",
24303 "mp221",
24304 "mp222",
24305 "mp223",
24306 "mp224",
24307 "mp225",
24308 "mp226",
24309 "mp227",
24310 "mp228",
24311 "mp229",
24312 "mp230",
24313 "mp231",
24314 "mp232",
24315 "mp233",
24316 "mp234",
24317 "mp235",
24318 "mp236",
24319 "mp237",
24320 "mp238",
24321 "mp239",
24322 "mp240",
24323 "mp241",
24324 "mp242",
24325 "mp243",
24326 "mp244",
24327 "mp245",
24328 "mp246",
24329 "mp247",
24330 "mp248",
24331 "mp249",
24332 "mp250",
24333 "mp251",
24334 "mp252",
24335 "mp253",
24336 "mp254",
24337 "mp255"
24338 ],
24339 "type" : "string"
7aacca6f 24340 }
44660702 24341 }
7aacca6f 24342 },
56122987
DM
24343 "permissions" : {
24344 "check" : [
4d47f125 24345 "and",
56122987 24346 [
4d47f125
TL
24347 "perm",
24348 "/vms/{vmid}",
24349 [
24350 "VM.Config.Disk"
24351 ]
24352 ],
24353 [
24354 "perm",
24355 "/storage/{storage}",
24356 [
24357 "Datastore.AllocateSpace"
24358 ]
56122987 24359 ]
4d47f125
TL
24360 ],
24361 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
24362 },
24363 "protected" : 1,
24364 "proxyto" : "node",
24365 "returns" : {
24366 "type" : "string"
24367 }
24368 }
24369 },
24370 "leaf" : 1,
24371 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
24372 "text" : "move_volume"
24373 }
24374 ],
24375 "info" : {
24376 "DELETE" : {
24377 "description" : "Destroy the container (also delete all uses files).",
24378 "method" : "DELETE",
24379 "name" : "destroy_vm",
24380 "parameters" : {
24381 "additionalProperties" : 0,
24382 "properties" : {
24383 "node" : {
24384 "description" : "The cluster node name.",
24385 "format" : "pve-node",
24386 "type" : "string",
24387 "typetext" : "<string>"
24388 },
24389 "vmid" : {
24390 "description" : "The (unique) ID of the VM.",
24391 "format" : "pve-vmid",
24392 "minimum" : 1,
24393 "type" : "integer",
24394 "typetext" : "<integer> (1 - N)"
24395 }
24396 }
24397 },
24398 "permissions" : {
24399 "check" : [
24400 "perm",
24401 "/vms/{vmid}",
24402 [
24403 "VM.Allocate"
24404 ]
24405 ]
24406 },
24407 "protected" : 1,
24408 "proxyto" : "node",
24409 "returns" : {
24410 "type" : "string"
24411 }
24412 },
24413 "GET" : {
24414 "description" : "Directory index",
24415 "method" : "GET",
24416 "name" : "vmdiridx",
24417 "parameters" : {
24418 "additionalProperties" : 0,
24419 "properties" : {
24420 "node" : {
24421 "description" : "The cluster node name.",
24422 "format" : "pve-node",
24423 "type" : "string",
24424 "typetext" : "<string>"
56122987 24425 },
4d47f125
TL
24426 "vmid" : {
24427 "description" : "The (unique) ID of the VM.",
24428 "format" : "pve-vmid",
24429 "minimum" : 1,
24430 "type" : "integer",
24431 "typetext" : "<integer> (1 - N)"
56122987
DM
24432 }
24433 }
24434 },
4d47f125
TL
24435 "permissions" : {
24436 "user" : "all"
24437 },
24438 "proxyto" : "node",
24439 "returns" : {
24440 "items" : {
24441 "properties" : {
24442 "subdir" : {
24443 "type" : "string"
35a75dd3
DM
24444 }
24445 },
4d47f125
TL
24446 "type" : "object"
24447 },
24448 "links" : [
24449 {
24450 "href" : "{subdir}",
24451 "rel" : "child"
35a75dd3 24452 }
4d47f125
TL
24453 ],
24454 "type" : "array"
24455 }
24456 }
24457 },
24458 "leaf" : 0,
24459 "path" : "/nodes/{node}/lxc/{vmid}",
24460 "text" : "{vmid}"
24461 }
24462 ],
24463 "info" : {
24464 "GET" : {
24465 "description" : "LXC container index (per node).",
24466 "method" : "GET",
24467 "name" : "vmlist",
24468 "parameters" : {
24469 "additionalProperties" : 0,
24470 "properties" : {
24471 "node" : {
24472 "description" : "The cluster node name.",
24473 "format" : "pve-node",
24474 "type" : "string",
24475 "typetext" : "<string>"
24476 }
24477 }
24478 },
24479 "permissions" : {
24480 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
24481 "user" : "all"
24482 },
24483 "protected" : 1,
24484 "proxyto" : "node",
24485 "returns" : {
24486 "items" : {
24487 "properties" : {
24488 "cpus" : {
24489 "description" : "Maximum usable CPUs.",
24490 "optional" : 1,
24491 "type" : "number"
24492 },
95895385
TL
24493 "lock" : {
24494 "description" : "The current config lock, if any.",
24495 "optional" : 1,
24496 "type" : "string"
24497 },
4d47f125
TL
24498 "maxdisk" : {
24499 "description" : "Root disk size in bytes.",
24500 "optional" : 1,
24501 "renderer" : "bytes",
24502 "type" : "integer"
24503 },
24504 "maxmem" : {
24505 "description" : "Maximum memory in bytes.",
24506 "optional" : 1,
24507 "renderer" : "bytes",
24508 "type" : "integer"
24509 },
24510 "maxswap" : {
24511 "description" : "Maximum SWAP memory in bytes.",
24512 "optional" : 1,
24513 "renderer" : "bytes",
24514 "type" : "integer"
24515 },
24516 "name" : {
24517 "description" : "Container name.",
24518 "optional" : 1,
24519 "type" : "string"
24520 },
24521 "status" : {
24522 "description" : "LXC Container status.",
24523 "enum" : [
24524 "stopped",
24525 "running"
24526 ],
24527 "type" : "string"
24528 },
24529 "uptime" : {
24530 "description" : "Uptime.",
24531 "optional" : 1,
24532 "renderer" : "duration",
24533 "type" : "integer"
24534 },
24535 "vmid" : {
24536 "description" : "The (unique) ID of the VM.",
24537 "format" : "pve-vmid",
24538 "minimum" : 1,
24539 "type" : "integer"
35a75dd3
DM
24540 }
24541 },
4d47f125 24542 "type" : "object"
35a75dd3 24543 },
4d47f125
TL
24544 "links" : [
24545 {
24546 "href" : "{vmid}",
24547 "rel" : "child"
24548 }
24549 ],
24550 "type" : "array"
24551 }
24552 },
24553 "POST" : {
24554 "description" : "Create or restore a container.",
24555 "method" : "POST",
24556 "name" : "create_vm",
24557 "parameters" : {
24558 "additionalProperties" : 0,
24559 "properties" : {
24560 "arch" : {
24561 "default" : "amd64",
24562 "description" : "OS architecture type.",
24563 "enum" : [
24564 "amd64",
24565 "i386",
24566 "arm64",
24567 "armhf"
24568 ],
24569 "optional" : 1,
24570 "type" : "string"
24571 },
24572 "bwlimit" : {
95895385
TL
24573 "default" : "restore limit from datacenter or storage config",
24574 "description" : "Override I/O bandwidth limit (in KiB/s).",
4d47f125
TL
24575 "minimum" : "0",
24576 "optional" : 1,
24577 "type" : "number",
24578 "typetext" : "<number> (0 - N)"
24579 },
24580 "cmode" : {
24581 "default" : "tty",
24582 "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).",
24583 "enum" : [
24584 "shell",
24585 "console",
24586 "tty"
24587 ],
24588 "optional" : 1,
24589 "type" : "string"
24590 },
24591 "console" : {
24592 "default" : 1,
24593 "description" : "Attach a console device (/dev/console) to the container.",
24594 "optional" : 1,
24595 "type" : "boolean",
24596 "typetext" : "<boolean>"
24597 },
24598 "cores" : {
24599 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
24600 "maximum" : 128,
24601 "minimum" : 1,
24602 "optional" : 1,
24603 "type" : "integer",
24604 "typetext" : "<integer> (1 - 128)"
24605 },
24606 "cpulimit" : {
24607 "default" : 0,
24608 "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.",
24609 "maximum" : 128,
24610 "minimum" : 0,
24611 "optional" : 1,
24612 "type" : "number",
24613 "typetext" : "<number> (0 - 128)"
24614 },
24615 "cpuunits" : {
24616 "default" : 1024,
24617 "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.",
24618 "maximum" : 500000,
24619 "minimum" : 0,
24620 "optional" : 1,
24621 "type" : "integer",
24622 "typetext" : "<integer> (0 - 500000)"
24623 },
24624 "description" : {
24625 "description" : "Container description. Only used on the configuration web interface.",
24626 "optional" : 1,
24627 "type" : "string",
24628 "typetext" : "<string>"
24629 },
24630 "features" : {
24631 "description" : "Allow containers access to advanced features.",
24632 "format" : {
e2d681b3
TL
24633 "fuse" : {
24634 "default" : 0,
24635 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
24636 "optional" : 1,
24637 "type" : "boolean"
24638 },
4d47f125
TL
24639 "keyctl" : {
24640 "default" : 0,
24641 "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.",
24642 "optional" : 1,
24643 "type" : "boolean"
7aacca6f 24644 },
4d47f125
TL
24645 "mount" : {
24646 "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.",
24647 "format_description" : "fstype;fstype;...",
24648 "optional" : 1,
95895385 24649 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125 24650 "type" : "string"
56122987 24651 },
4d47f125
TL
24652 "nesting" : {
24653 "default" : 0,
24654 "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.",
24655 "optional" : 1,
24656 "type" : "boolean"
44660702 24657 }
4d47f125
TL
24658 },
24659 "optional" : 1,
24660 "type" : "string",
e2d681b3 24661 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 24662 },
4d47f125
TL
24663 "force" : {
24664 "description" : "Allow to overwrite existing container.",
24665 "optional" : 1,
24666 "type" : "boolean",
24667 "typetext" : "<boolean>"
24668 },
5f26e15b
TL
24669 "hookscript" : {
24670 "description" : "Script that will be exectued during various steps in the containers lifetime.",
24671 "format" : "pve-volume-id",
24672 "optional" : 1,
24673 "type" : "string",
24674 "typetext" : "<string>"
24675 },
4d47f125
TL
24676 "hostname" : {
24677 "description" : "Set a host name for the container.",
24678 "format" : "dns-name",
24679 "maxLength" : 255,
24680 "optional" : 1,
24681 "type" : "string",
24682 "typetext" : "<string>"
24683 },
24684 "ignore-unpack-errors" : {
24685 "description" : "Ignore errors when extracting the template.",
24686 "optional" : 1,
24687 "type" : "boolean",
24688 "typetext" : "<boolean>"
24689 },
24690 "lock" : {
24691 "description" : "Lock/unlock the VM.",
24692 "enum" : [
24693 "backup",
24694 "disk",
24695 "migrate",
24696 "mounted",
24697 "rollback",
24698 "snapshot",
24699 "snapshot-delete"
24700 ],
24701 "optional" : 1,
24702 "type" : "string"
24703 },
24704 "memory" : {
24705 "default" : 512,
24706 "description" : "Amount of RAM for the VM in MB.",
24707 "minimum" : 16,
24708 "optional" : 1,
24709 "type" : "integer",
24710 "typetext" : "<integer> (16 - N)"
24711 },
24712 "mp[n]" : {
24713 "description" : "Use volume as container mount point.",
24714 "format" : {
24715 "acl" : {
24716 "description" : "Explicitly enable or disable ACL support.",
24717 "optional" : 1,
24718 "type" : "boolean"
56122987 24719 },
4d47f125
TL
24720 "backup" : {
24721 "description" : "Whether to include the mount point in backups.",
24722 "optional" : 1,
24723 "type" : "boolean",
24724 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 24725 },
4d47f125
TL
24726 "mp" : {
24727 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
24728 "format" : "pve-lxc-mp-string",
24729 "format_description" : "Path",
24730 "type" : "string",
24731 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 24732 },
4d47f125
TL
24733 "quota" : {
24734 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24735 "optional" : 1,
24736 "type" : "boolean"
24737 },
24738 "replicate" : {
24739 "default" : 1,
24740 "description" : "Will include this volume to a storage replica job.",
24741 "optional" : 1,
24742 "type" : "boolean"
24743 },
24744 "ro" : {
24745 "description" : "Read-only mount point",
24746 "optional" : 1,
24747 "type" : "boolean"
24748 },
24749 "shared" : {
24750 "default" : 0,
24751 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24752 "optional" : 1,
24753 "type" : "boolean",
24754 "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 24755 },
4d47f125
TL
24756 "size" : {
24757 "description" : "Volume size (read only value).",
24758 "format" : "disk-size",
24759 "format_description" : "DiskSize",
24760 "optional" : 1,
24761 "type" : "string"
24762 },
24763 "volume" : {
24764 "default_key" : 1,
24765 "description" : "Volume, device or directory to mount into the container.",
24766 "format" : "pve-lxc-mp-string",
24767 "format_description" : "volume",
44660702
DM
24768 "type" : "string"
24769 }
4d47f125
TL
24770 },
24771 "optional" : 1,
24772 "type" : "string",
24773 "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 24774 },
4d47f125
TL
24775 "nameserver" : {
24776 "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.",
24777 "format" : "address-list",
24778 "optional" : 1,
24779 "type" : "string",
24780 "typetext" : "<string>"
24781 },
24782 "net[n]" : {
24783 "description" : "Specifies network interfaces for the container.",
24784 "format" : {
24785 "bridge" : {
24786 "description" : "Bridge to attach the network device to.",
24787 "format_description" : "bridge",
24788 "optional" : 1,
24789 "pattern" : "[-_.\\w\\d]+",
24790 "type" : "string"
56122987 24791 },
4d47f125
TL
24792 "firewall" : {
24793 "description" : "Controls whether this interface's firewall rules should be used.",
24794 "optional" : 1,
24795 "type" : "boolean"
56122987 24796 },
4d47f125
TL
24797 "gw" : {
24798 "description" : "Default gateway for IPv4 traffic.",
24799 "format" : "ipv4",
24800 "format_description" : "GatewayIPv4",
24801 "optional" : 1,
24802 "type" : "string"
24803 },
24804 "gw6" : {
24805 "description" : "Default gateway for IPv6 traffic.",
24806 "format" : "ipv6",
24807 "format_description" : "GatewayIPv6",
24808 "optional" : 1,
24809 "type" : "string"
24810 },
24811 "hwaddr" : {
24812 "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 24813 "format" : "mac-addr",
4d47f125
TL
24814 "format_description" : "XX:XX:XX:XX:XX:XX",
24815 "optional" : 1,
95895385
TL
24816 "type" : "string",
24817 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
24818 },
24819 "ip" : {
24820 "description" : "IPv4 address in CIDR format.",
24821 "format" : "pve-ipv4-config",
24822 "format_description" : "(IPv4/CIDR|dhcp|manual)",
24823 "optional" : 1,
24824 "type" : "string"
24825 },
24826 "ip6" : {
24827 "description" : "IPv6 address in CIDR format.",
24828 "format" : "pve-ipv6-config",
24829 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
24830 "optional" : 1,
24831 "type" : "string"
24832 },
24833 "mtu" : {
24834 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
24835 "minimum" : 64,
24836 "optional" : 1,
24837 "type" : "integer"
24838 },
24839 "name" : {
24840 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
24841 "format_description" : "string",
24842 "pattern" : "[-_.\\w\\d]+",
24843 "type" : "string"
24844 },
24845 "rate" : {
24846 "description" : "Apply rate limiting to the interface",
24847 "format_description" : "mbps",
24848 "optional" : 1,
24849 "type" : "number"
24850 },
24851 "tag" : {
24852 "description" : "VLAN tag for this interface.",
24853 "maximum" : 4094,
24854 "minimum" : 1,
24855 "optional" : 1,
24856 "type" : "integer"
24857 },
24858 "trunks" : {
24859 "description" : "VLAN ids to pass through the interface",
24860 "format_description" : "vlanid[;vlanid...]",
24861 "optional" : 1,
24862 "pattern" : "(?^:\\d+(?:;\\d+)*)",
24863 "type" : "string"
24864 },
24865 "type" : {
24866 "description" : "Network interface type.",
24867 "enum" : [
24868 "veth"
24869 ],
24870 "optional" : 1,
24871 "type" : "string"
7aacca6f 24872 }
4d47f125
TL
24873 },
24874 "optional" : 1,
24875 "type" : "string",
24876 "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 24877 },
4d47f125
TL
24878 "node" : {
24879 "description" : "The cluster node name.",
24880 "format" : "pve-node",
24881 "type" : "string",
24882 "typetext" : "<string>"
24883 },
24884 "onboot" : {
24885 "default" : 0,
24886 "description" : "Specifies whether a VM will be started during system bootup.",
24887 "optional" : 1,
24888 "type" : "boolean",
24889 "typetext" : "<boolean>"
24890 },
24891 "ostemplate" : {
24892 "description" : "The OS template or backup file.",
24893 "maxLength" : 255,
24894 "type" : "string",
24895 "typetext" : "<string>"
24896 },
24897 "ostype" : {
24898 "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.",
24899 "enum" : [
24900 "debian",
24901 "ubuntu",
24902 "centos",
24903 "fedora",
24904 "opensuse",
24905 "archlinux",
24906 "alpine",
24907 "gentoo",
24908 "unmanaged"
24909 ],
24910 "optional" : 1,
24911 "type" : "string"
24912 },
24913 "password" : {
24914 "description" : "Sets root password inside container.",
24915 "minLength" : 5,
24916 "optional" : 1,
24917 "type" : "string",
24918 "typetext" : "<string>"
24919 },
24920 "pool" : {
24921 "description" : "Add the VM to the specified pool.",
24922 "format" : "pve-poolid",
24923 "optional" : 1,
24924 "type" : "string",
24925 "typetext" : "<string>"
24926 },
24927 "protection" : {
24928 "default" : 0,
24929 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
24930 "optional" : 1,
24931 "type" : "boolean",
24932 "typetext" : "<boolean>"
24933 },
24934 "restore" : {
24935 "description" : "Mark this as restore task.",
24936 "optional" : 1,
24937 "type" : "boolean",
24938 "typetext" : "<boolean>"
24939 },
24940 "rootfs" : {
24941 "description" : "Use volume as container root.",
24942 "format" : {
24943 "acl" : {
24944 "description" : "Explicitly enable or disable ACL support.",
24945 "optional" : 1,
24946 "type" : "boolean"
56122987 24947 },
4d47f125
TL
24948 "quota" : {
24949 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24950 "optional" : 1,
24951 "type" : "boolean"
7aacca6f 24952 },
4d47f125
TL
24953 "replicate" : {
24954 "default" : 1,
24955 "description" : "Will include this volume to a storage replica job.",
24956 "optional" : 1,
24957 "type" : "boolean"
24958 },
24959 "ro" : {
24960 "description" : "Read-only mount point",
24961 "optional" : 1,
24962 "type" : "boolean"
24963 },
24964 "shared" : {
24965 "default" : 0,
24966 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24967 "optional" : 1,
24968 "type" : "boolean",
24969 "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!"
24970 },
24971 "size" : {
24972 "description" : "Volume size (read only value).",
24973 "format" : "disk-size",
24974 "format_description" : "DiskSize",
24975 "optional" : 1,
24976 "type" : "string"
24977 },
24978 "volume" : {
24979 "default_key" : 1,
24980 "description" : "Volume, device or directory to mount into the container.",
24981 "format" : "pve-lxc-mp-string",
24982 "format_description" : "volume",
24983 "type" : "string"
56122987 24984 }
4d47f125
TL
24985 },
24986 "optional" : 1,
24987 "type" : "string",
24988 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 24989 },
4d47f125
TL
24990 "searchdomain" : {
24991 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
24992 "format" : "dns-name-list",
24993 "optional" : 1,
24994 "type" : "string",
24995 "typetext" : "<string>"
24996 },
24997 "ssh-public-keys" : {
24998 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
24999 "optional" : 1,
25000 "type" : "string",
25001 "typetext" : "<string>"
25002 },
25003 "start" : {
25004 "default" : 0,
25005 "description" : "Start the CT after its creation finished successfully.",
25006 "optional" : 1,
25007 "type" : "boolean",
25008 "typetext" : "<boolean>"
25009 },
25010 "startup" : {
25011 "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.",
25012 "format" : "pve-startup-order",
25013 "optional" : 1,
25014 "type" : "string",
25015 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
25016 },
25017 "storage" : {
25018 "default" : "local",
25019 "description" : "Default Storage.",
25020 "format" : "pve-storage-id",
25021 "optional" : 1,
25022 "type" : "string",
25023 "typetext" : "<string>"
25024 },
25025 "swap" : {
25026 "default" : 512,
25027 "description" : "Amount of SWAP for the VM in MB.",
25028 "minimum" : 0,
25029 "optional" : 1,
25030 "type" : "integer",
25031 "typetext" : "<integer> (0 - N)"
25032 },
25033 "template" : {
25034 "default" : 0,
25035 "description" : "Enable/disable Template.",
25036 "optional" : 1,
25037 "type" : "boolean",
25038 "typetext" : "<boolean>"
25039 },
25040 "tty" : {
25041 "default" : 2,
25042 "description" : "Specify the number of tty available to the container",
25043 "maximum" : 6,
25044 "minimum" : 0,
25045 "optional" : 1,
25046 "type" : "integer",
25047 "typetext" : "<integer> (0 - 6)"
25048 },
95895385
TL
25049 "unique" : {
25050 "description" : "Assign a unique random ethernet address.",
25051 "optional" : 1,
25052 "requires" : "restore",
25053 "type" : "boolean",
25054 "typetext" : "<boolean>"
25055 },
4d47f125
TL
25056 "unprivileged" : {
25057 "default" : 0,
25058 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
25059 "optional" : 1,
25060 "type" : "boolean",
25061 "typetext" : "<boolean>"
25062 },
25063 "unused[n]" : {
25064 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
25065 "format" : "pve-volume-id",
25066 "optional" : 1,
25067 "type" : "string",
25068 "typetext" : "<string>"
25069 },
25070 "vmid" : {
25071 "description" : "The (unique) ID of the VM.",
25072 "format" : "pve-vmid",
25073 "minimum" : 1,
25074 "type" : "integer",
25075 "typetext" : "<integer> (1 - N)"
25076 }
25077 }
25078 },
25079 "permissions" : {
25080 "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.",
25081 "user" : "all"
25082 },
25083 "protected" : 1,
25084 "proxyto" : "node",
25085 "returns" : {
25086 "type" : "string"
25087 }
25088 }
25089 },
25090 "leaf" : 0,
25091 "path" : "/nodes/{node}/lxc",
25092 "text" : "lxc"
25093 },
25094 {
25095 "children" : [
25096 {
25097 "children" : [
56122987 25098 {
4d47f125
TL
25099 "children" : [
25100 {
25101 "info" : {
25102 "POST" : {
25103 "description" : "ceph osd in",
25104 "method" : "POST",
25105 "name" : "in",
25106 "parameters" : {
25107 "additionalProperties" : 0,
25108 "properties" : {
25109 "node" : {
25110 "description" : "The cluster node name.",
25111 "format" : "pve-node",
25112 "type" : "string",
25113 "typetext" : "<string>"
25114 },
25115 "osdid" : {
25116 "description" : "OSD ID",
25117 "type" : "integer",
25118 "typetext" : "<integer>"
25119 }
25120 }
27a7acb2 25121 },
4d47f125
TL
25122 "permissions" : {
25123 "check" : [
25124 "perm",
25125 "/",
25126 [
25127 "Sys.Modify"
25128 ]
25129 ]
44660702 25130 },
4d47f125
TL
25131 "protected" : 1,
25132 "proxyto" : "node",
25133 "returns" : {
25134 "type" : "null"
7aacca6f
DM
25135 }
25136 }
56122987 25137 },
4d47f125
TL
25138 "leaf" : 1,
25139 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
25140 "text" : "in"
25141 },
25142 {
25143 "info" : {
25144 "POST" : {
25145 "description" : "ceph osd out",
25146 "method" : "POST",
25147 "name" : "out",
25148 "parameters" : {
25149 "additionalProperties" : 0,
25150 "properties" : {
25151 "node" : {
25152 "description" : "The cluster node name.",
25153 "format" : "pve-node",
25154 "type" : "string",
25155 "typetext" : "<string>"
25156 },
25157 "osdid" : {
25158 "description" : "OSD ID",
25159 "type" : "integer",
25160 "typetext" : "<integer>"
25161 }
25162 }
25163 },
25164 "permissions" : {
25165 "check" : [
56122987 25166 "perm",
4d47f125 25167 "/",
56122987 25168 [
4d47f125 25169 "Sys.Modify"
56122987 25170 ]
56122987 25171 ]
44660702 25172 },
4d47f125
TL
25173 "protected" : 1,
25174 "proxyto" : "node",
25175 "returns" : {
25176 "type" : "null"
56122987 25177 }
44660702 25178 }
56122987 25179 },
4d47f125
TL
25180 "leaf" : 1,
25181 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
25182 "text" : "out"
56122987 25183 }
4d47f125 25184 ],
27a7acb2 25185 "info" : {
4d47f125
TL
25186 "DELETE" : {
25187 "description" : "Destroy OSD",
25188 "method" : "DELETE",
25189 "name" : "destroyosd",
27a7acb2
DM
25190 "parameters" : {
25191 "additionalProperties" : 0,
25192 "properties" : {
4d47f125 25193 "cleanup" : {
27a7acb2 25194 "default" : 0,
4d47f125 25195 "description" : "If set, we remove partition table entries.",
27a7acb2 25196 "optional" : 1,
4d47f125
TL
25197 "type" : "boolean",
25198 "typetext" : "<boolean>"
25199 },
25200 "node" : {
25201 "description" : "The cluster node name.",
25202 "format" : "pve-node",
25203 "type" : "string",
25204 "typetext" : "<string>"
25205 },
25206 "osdid" : {
25207 "description" : "OSD ID",
25208 "type" : "integer",
25209 "typetext" : "<integer>"
25210 }
25211 }
27a7acb2
DM
25212 },
25213 "protected" : 1,
25214 "proxyto" : "node",
25215 "returns" : {
25216 "type" : "string"
25217 }
25218 }
25219 },
4d47f125
TL
25220 "leaf" : 0,
25221 "path" : "/nodes/{node}/ceph/osd/{osdid}",
25222 "text" : "{osdid}"
56122987
DM
25223 }
25224 ],
25225 "info" : {
4d47f125
TL
25226 "GET" : {
25227 "description" : "Get Ceph osd list/tree.",
25228 "method" : "GET",
25229 "name" : "index",
44660702
DM
25230 "parameters" : {
25231 "additionalProperties" : 0,
25232 "properties" : {
25233 "node" : {
25234 "description" : "The cluster node name.",
25235 "format" : "pve-node",
013dc89f
DM
25236 "type" : "string",
25237 "typetext" : "<string>"
44660702
DM
25238 }
25239 }
25240 },
7aacca6f
DM
25241 "permissions" : {
25242 "check" : [
25243 "perm",
4d47f125 25244 "/",
7aacca6f 25245 [
4d47f125
TL
25246 "Sys.Audit",
25247 "Datastore.Audit"
25248 ],
25249 "any",
25250 1
25251 ]
25252 },
25253 "protected" : 1,
25254 "proxyto" : "node",
25255 "returns" : {
25256 "type" : "object"
25257 }
25258 },
25259 "POST" : {
25260 "description" : "Create OSD",
25261 "method" : "POST",
25262 "name" : "createosd",
25263 "parameters" : {
25264 "additionalProperties" : 0,
25265 "properties" : {
25266 "bluestore" : {
25267 "default" : 1,
25268 "description" : "Use bluestore instead of filestore. This is the default.",
44660702 25269 "optional" : 1,
4bd7df8b 25270 "type" : "boolean",
4d47f125 25271 "typetext" : "<boolean>"
44660702 25272 },
4d47f125
TL
25273 "dev" : {
25274 "description" : "Block device name.",
4bd7df8b 25275 "type" : "string",
4d47f125 25276 "typetext" : "<string>"
44660702 25277 },
4d47f125
TL
25278 "fstype" : {
25279 "default" : "xfs",
25280 "description" : "File system type (filestore only).",
25281 "enum" : [
25282 "xfs",
25283 "ext4"
25284 ],
7aacca6f 25285 "optional" : 1,
4d47f125 25286 "type" : "string"
44660702 25287 },
4d47f125
TL
25288 "journal_dev" : {
25289 "description" : "Block device name for journal (filestore) or block.db (bluestore).",
5d9c884c 25290 "optional" : 1,
4d47f125
TL
25291 "type" : "string",
25292 "typetext" : "<string>"
5d9c884c 25293 },
4d47f125
TL
25294 "node" : {
25295 "description" : "The cluster node name.",
25296 "format" : "pve-node",
25297 "type" : "string",
25298 "typetext" : "<string>"
7aacca6f 25299 },
4d47f125
TL
25300 "wal_dev" : {
25301 "description" : "Block device name for block.wal (bluestore only).",
de0983cb 25302 "optional" : 1,
4d47f125
TL
25303 "type" : "string",
25304 "typetext" : "<string>"
25305 }
25306 }
25307 },
25308 "protected" : 1,
25309 "proxyto" : "node",
25310 "returns" : {
25311 "type" : "string"
25312 }
25313 }
25314 },
25315 "leaf" : 0,
25316 "path" : "/nodes/{node}/ceph/osd",
25317 "text" : "osd"
25318 },
e2d681b3
TL
25319 {
25320 "children" : [
25321 {
25322 "info" : {
25323 "DELETE" : {
25324 "description" : "Destroy Ceph Metadata Server",
25325 "method" : "DELETE",
25326 "name" : "destroymds",
25327 "parameters" : {
25328 "additionalProperties" : 0,
25329 "properties" : {
25330 "name" : {
25331 "description" : "The name (ID) of the mds",
25332 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25333 "type" : "string"
25334 },
25335 "node" : {
25336 "description" : "The cluster node name.",
25337 "format" : "pve-node",
25338 "type" : "string",
25339 "typetext" : "<string>"
25340 }
25341 }
25342 },
25343 "permissions" : {
25344 "check" : [
25345 "perm",
25346 "/",
25347 [
25348 "Sys.Modify"
25349 ]
25350 ]
25351 },
25352 "protected" : 1,
25353 "proxyto" : "node",
25354 "returns" : {
25355 "type" : "string"
25356 }
25357 },
25358 "POST" : {
25359 "description" : "Create Ceph Metadata Server (MDS)",
25360 "method" : "POST",
25361 "name" : "createmds",
25362 "parameters" : {
25363 "additionalProperties" : 0,
25364 "properties" : {
25365 "hotstandby" : {
25366 "default" : "0",
25367 "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.",
25368 "optional" : 1,
25369 "type" : "boolean",
25370 "typetext" : "<boolean>"
25371 },
25372 "name" : {
25373 "default" : "nodename",
25374 "description" : "The ID for the mds, when omitted the same as the nodename",
25375 "optional" : 1,
25376 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25377 "type" : "string"
25378 },
25379 "node" : {
25380 "description" : "The cluster node name.",
25381 "format" : "pve-node",
25382 "type" : "string",
25383 "typetext" : "<string>"
25384 }
25385 }
25386 },
25387 "permissions" : {
25388 "check" : [
25389 "perm",
25390 "/",
25391 [
25392 "Sys.Modify"
25393 ]
25394 ]
25395 },
25396 "protected" : 1,
25397 "proxyto" : "node",
25398 "returns" : {
25399 "type" : "string"
25400 }
25401 }
25402 },
25403 "leaf" : 1,
25404 "path" : "/nodes/{node}/ceph/mds/{name}",
25405 "text" : "{name}"
25406 }
25407 ],
25408 "info" : {
25409 "GET" : {
25410 "description" : "MDS directory index.",
25411 "method" : "GET",
25412 "name" : "index",
25413 "parameters" : {
25414 "additionalProperties" : 0,
25415 "properties" : {
25416 "node" : {
25417 "description" : "The cluster node name.",
25418 "format" : "pve-node",
25419 "type" : "string",
25420 "typetext" : "<string>"
25421 }
25422 }
25423 },
25424 "permissions" : {
25425 "check" : [
25426 "perm",
25427 "/",
25428 [
25429 "Sys.Audit",
25430 "Datastore.Audit"
25431 ],
25432 "any",
25433 1
25434 ]
25435 },
25436 "protected" : 1,
25437 "proxyto" : "node",
25438 "returns" : {
25439 "items" : {
25440 "properties" : {
25441 "addr" : {
25442 "optional" : 1,
25443 "type" : "string"
25444 },
25445 "host" : {
25446 "optional" : 1,
25447 "type" : "string"
25448 },
25449 "name" : {
25450 "description" : "The name (ID) for the MDS"
25451 },
25452 "rank" : {
25453 "optional" : 1,
25454 "type" : "integer"
25455 },
25456 "standby_replay" : {
25457 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
25458 "optional" : 1,
25459 "type" : "boolean"
25460 },
25461 "state" : {
25462 "description" : "State of the MDS",
25463 "type" : "string"
25464 }
25465 },
25466 "type" : "object"
25467 },
25468 "links" : [
25469 {
25470 "href" : "{name}",
25471 "rel" : "child"
25472 }
25473 ],
25474 "type" : "array"
25475 }
25476 }
25477 },
25478 "leaf" : 0,
25479 "path" : "/nodes/{node}/ceph/mds",
25480 "text" : "mds"
25481 },
25482 {
25483 "children" : [
25484 {
25485 "info" : {
5f26e15b
TL
25486 "DELETE" : {
25487 "description" : "Destroy Ceph Manager.",
25488 "method" : "DELETE",
25489 "name" : "destroymgr",
e2d681b3
TL
25490 "parameters" : {
25491 "additionalProperties" : 0,
25492 "properties" : {
5f26e15b
TL
25493 "id" : {
25494 "description" : "The ID of the manager",
25495 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25496 "type" : "string"
e2d681b3
TL
25497 },
25498 "node" : {
25499 "description" : "The cluster node name.",
25500 "format" : "pve-node",
25501 "type" : "string",
25502 "typetext" : "<string>"
e2d681b3
TL
25503 }
25504 }
25505 },
25506 "permissions" : {
25507 "check" : [
25508 "perm",
25509 "/",
25510 [
25511 "Sys.Modify"
25512 ]
25513 ]
25514 },
25515 "protected" : 1,
25516 "proxyto" : "node",
25517 "returns" : {
25518 "type" : "string"
25519 }
25520 }
25521 },
25522 "leaf" : 1,
5f26e15b
TL
25523 "path" : "/nodes/{node}/ceph/mgr/{id}",
25524 "text" : "{id}"
e2d681b3
TL
25525 }
25526 ],
25527 "info" : {
5f26e15b
TL
25528 "POST" : {
25529 "description" : "Create Ceph Manager",
25530 "method" : "POST",
25531 "name" : "createmgr",
e2d681b3
TL
25532 "parameters" : {
25533 "additionalProperties" : 0,
25534 "properties" : {
5f26e15b
TL
25535 "id" : {
25536 "description" : "The ID for the manager, when omitted the same as the nodename",
25537 "optional" : 1,
25538 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25539 "type" : "string"
25540 },
e2d681b3
TL
25541 "node" : {
25542 "description" : "The cluster node name.",
25543 "format" : "pve-node",
25544 "type" : "string",
25545 "typetext" : "<string>"
25546 }
25547 }
25548 },
25549 "permissions" : {
25550 "check" : [
25551 "perm",
25552 "/",
25553 [
5f26e15b
TL
25554 "Sys.Modify"
25555 ]
e2d681b3
TL
25556 ]
25557 },
25558 "protected" : 1,
5f26e15b 25559 "proxyto" : "node",
e2d681b3 25560 "returns" : {
5f26e15b 25561 "type" : "string"
e2d681b3
TL
25562 }
25563 }
25564 },
25565 "leaf" : 0,
5f26e15b
TL
25566 "path" : "/nodes/{node}/ceph/mgr",
25567 "text" : "mgr"
e2d681b3 25568 },
4d47f125 25569 {
5f26e15b
TL
25570 "children" : [
25571 {
25572 "info" : {
25573 "DELETE" : {
25574 "description" : "Destroy Ceph Monitor and Manager.",
25575 "method" : "DELETE",
25576 "name" : "destroymon",
25577 "parameters" : {
25578 "additionalProperties" : 0,
25579 "properties" : {
25580 "exclude-manager" : {
25581 "default" : 0,
25582 "description" : "When set, removes only the monitor, not the manager",
25583 "optional" : 1,
25584 "type" : "boolean",
25585 "typetext" : "<boolean>"
25586 },
25587 "monid" : {
25588 "description" : "Monitor ID",
25589 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25590 "type" : "string"
25591 },
25592 "node" : {
25593 "description" : "The cluster node name.",
25594 "format" : "pve-node",
25595 "type" : "string",
25596 "typetext" : "<string>"
25597 }
25598 }
25599 },
25600 "permissions" : {
25601 "check" : [
25602 "perm",
25603 "/",
25604 [
25605 "Sys.Modify"
25606 ]
25607 ]
25608 },
25609 "protected" : 1,
25610 "proxyto" : "node",
25611 "returns" : {
7aacca6f 25612 "type" : "string"
56122987 25613 }
4d47f125 25614 }
56122987 25615 },
5f26e15b
TL
25616 "leaf" : 1,
25617 "path" : "/nodes/{node}/ceph/mon/{monid}",
25618 "text" : "{monid}"
25619 }
25620 ],
25621 "info" : {
25622 "GET" : {
25623 "description" : "Get Ceph monitor list.",
25624 "method" : "GET",
25625 "name" : "listmon",
25626 "parameters" : {
25627 "additionalProperties" : 0,
25628 "properties" : {
25629 "node" : {
25630 "description" : "The cluster node name.",
25631 "format" : "pve-node",
25632 "type" : "string",
25633 "typetext" : "<string>"
25634 }
25635 }
25636 },
4d47f125
TL
25637 "permissions" : {
25638 "check" : [
25639 "perm",
25640 "/",
25641 [
25642 "Sys.Audit",
25643 "Datastore.Audit"
25644 ],
25645 "any",
25646 1
25647 ]
56122987 25648 },
4d47f125
TL
25649 "protected" : 1,
25650 "proxyto" : "node",
25651 "returns" : {
25652 "items" : {
25653 "properties" : {
5f26e15b 25654 "addr" : {
4d47f125
TL
25655 "type" : "string"
25656 },
5f26e15b 25657 "name" : {
4d47f125
TL
25658 "type" : "string"
25659 }
7aacca6f 25660 },
4d47f125
TL
25661 "type" : "object"
25662 },
5f26e15b
TL
25663 "links" : [
25664 {
25665 "href" : "{name}",
25666 "rel" : "child"
25667 }
25668 ],
4d47f125
TL
25669 "type" : "array"
25670 }
5f26e15b
TL
25671 },
25672 "POST" : {
25673 "description" : "Create Ceph Monitor and Manager",
25674 "method" : "POST",
25675 "name" : "createmon",
4d47f125
TL
25676 "parameters" : {
25677 "additionalProperties" : 0,
25678 "properties" : {
5f26e15b
TL
25679 "exclude-manager" : {
25680 "default" : 0,
25681 "description" : "When set, only a monitor will be created.",
25682 "optional" : 1,
25683 "type" : "boolean",
25684 "typetext" : "<boolean>"
25685 },
25686 "id" : {
25687 "description" : "The ID for the monitor, when omitted the same as the nodename",
25688 "optional" : 1,
25689 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25690 "type" : "string"
25691 },
25692 "mon-address" : {
25693 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
25694 "format" : "ip",
25695 "optional" : 1,
25696 "type" : "string",
25697 "typetext" : "<string>"
25698 },
4d47f125
TL
25699 "node" : {
25700 "description" : "The cluster node name.",
25701 "format" : "pve-node",
25702 "type" : "string",
25703 "typetext" : "<string>"
25704 }
25705 }
25706 },
25707 "permissions" : {
25708 "check" : [
25709 "perm",
25710 "/",
25711 [
5f26e15b
TL
25712 "Sys.Modify"
25713 ]
4d47f125
TL
25714 ]
25715 },
5f26e15b
TL
25716 "protected" : 1,
25717 "proxyto" : "node",
4d47f125
TL
25718 "returns" : {
25719 "type" : "string"
25720 }
25721 }
25722 },
5f26e15b
TL
25723 "leaf" : 0,
25724 "path" : "/nodes/{node}/ceph/mon",
25725 "text" : "mon"
4d47f125
TL
25726 },
25727 {
25728 "children" : [
25729 {
25730 "info" : {
5f26e15b
TL
25731 "POST" : {
25732 "description" : "Create a Ceph filesystem",
25733 "method" : "POST",
25734 "name" : "createfs",
4d47f125
TL
25735 "parameters" : {
25736 "additionalProperties" : 0,
25737 "properties" : {
5f26e15b 25738 "add-storage" : {
4d47f125 25739 "default" : 0,
5f26e15b 25740 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
25741 "optional" : 1,
25742 "type" : "boolean",
25743 "typetext" : "<boolean>"
25744 },
5f26e15b
TL
25745 "name" : {
25746 "default" : "cephfs",
25747 "description" : "The ceph filesystem name.",
25748 "optional" : 1,
25749 "type" : "string",
25750 "typetext" : "<string>"
4d47f125
TL
25751 },
25752 "node" : {
25753 "description" : "The cluster node name.",
25754 "format" : "pve-node",
25755 "type" : "string",
25756 "typetext" : "<string>"
5f26e15b
TL
25757 },
25758 "pg_num" : {
25759 "default" : 128,
25760 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
25761 "maximum" : 32768,
25762 "minimum" : 8,
25763 "optional" : 1,
25764 "type" : "integer",
25765 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
25766 }
25767 }
7aacca6f 25768 },
4d47f125
TL
25769 "permissions" : {
25770 "check" : [
25771 "perm",
25772 "/",
25773 [
25774 "Sys.Modify"
25775 ]
25776 ]
7aacca6f 25777 },
4d47f125
TL
25778 "protected" : 1,
25779 "proxyto" : "node",
25780 "returns" : {
44660702 25781 "type" : "string"
4d47f125
TL
25782 }
25783 }
25784 },
25785 "leaf" : 1,
5f26e15b
TL
25786 "path" : "/nodes/{node}/ceph/fs/{name}",
25787 "text" : "{name}"
4d47f125
TL
25788 }
25789 ],
25790 "info" : {
25791 "GET" : {
5f26e15b 25792 "description" : "Directory index.",
4d47f125 25793 "method" : "GET",
5f26e15b 25794 "name" : "index",
4d47f125
TL
25795 "parameters" : {
25796 "additionalProperties" : 0,
25797 "properties" : {
25798 "node" : {
25799 "description" : "The cluster node name.",
25800 "format" : "pve-node",
25801 "type" : "string",
25802 "typetext" : "<string>"
25803 }
25804 }
25805 },
25806 "permissions" : {
25807 "check" : [
25808 "perm",
25809 "/",
25810 [
25811 "Sys.Audit",
25812 "Datastore.Audit"
25813 ],
25814 "any",
25815 1
25816 ]
25817 },
25818 "protected" : 1,
95895385 25819 "proxyto" : "node",
4d47f125
TL
25820 "returns" : {
25821 "items" : {
25822 "properties" : {
5f26e15b
TL
25823 "data_pool" : {
25824 "description" : "The name of the data pool.",
25825 "type" : "string"
25826 },
25827 "metadata_pool" : {
25828 "description" : "The name of the metadata pool.",
4d47f125
TL
25829 "type" : "string"
25830 },
25831 "name" : {
5f26e15b 25832 "description" : "The ceph filesystem name.",
4d47f125
TL
25833 "type" : "string"
25834 }
7aacca6f 25835 },
4d47f125
TL
25836 "type" : "object"
25837 },
25838 "links" : [
25839 {
25840 "href" : "{name}",
25841 "rel" : "child"
25842 }
25843 ],
25844 "type" : "array"
25845 }
5f26e15b
TL
25846 }
25847 },
25848 "leaf" : 0,
25849 "path" : "/nodes/{node}/ceph/fs",
25850 "text" : "fs"
25851 },
25852 {
25853 "info" : {
25854 "GET" : {
25855 "description" : "List local disks.",
25856 "method" : "GET",
25857 "name" : "disks",
4d47f125
TL
25858 "parameters" : {
25859 "additionalProperties" : 0,
25860 "properties" : {
5f26e15b
TL
25861 "node" : {
25862 "description" : "The cluster node name.",
25863 "format" : "pve-node",
25864 "type" : "string",
25865 "typetext" : "<string>"
44660702 25866 },
5f26e15b
TL
25867 "type" : {
25868 "description" : "Only list specific types of disks.",
25869 "enum" : [
25870 "unused",
25871 "journal_disks"
25872 ],
44660702 25873 "optional" : 1,
44660702 25874 "type" : "string"
5f26e15b
TL
25875 }
25876 }
25877 },
25878 "permissions" : {
25879 "check" : [
25880 "perm",
25881 "/",
25882 [
25883 "Sys.Audit",
25884 "Datastore.Audit"
25885 ],
25886 "any",
25887 1
25888 ]
25889 },
25890 "protected" : 1,
25891 "proxyto" : "node",
25892 "returns" : {
25893 "items" : {
25894 "properties" : {
25895 "dev" : {
25896 "type" : "string"
25897 },
25898 "gpt" : {
25899 "type" : "boolean"
25900 },
25901 "model" : {
25902 "optional" : 1,
25903 "type" : "string"
25904 },
25905 "osdid" : {
25906 "type" : "integer"
25907 },
25908 "serial" : {
25909 "optional" : 1,
25910 "type" : "string"
25911 },
25912 "size" : {
25913 "type" : "integer"
25914 },
25915 "used" : {
25916 "optional" : 1,
25917 "type" : "string"
25918 },
25919 "vendor" : {
25920 "optional" : 1,
25921 "type" : "string"
25922 }
44660702 25923 },
5f26e15b
TL
25924 "type" : "object"
25925 },
25926 "type" : "array"
25927 }
25928 }
25929 },
25930 "leaf" : 1,
25931 "path" : "/nodes/{node}/ceph/disks",
25932 "text" : "disks"
25933 },
25934 {
25935 "info" : {
25936 "GET" : {
25937 "description" : "Get Ceph configuration.",
25938 "method" : "GET",
25939 "name" : "config",
25940 "parameters" : {
25941 "additionalProperties" : 0,
25942 "properties" : {
4d47f125
TL
25943 "node" : {
25944 "description" : "The cluster node name.",
25945 "format" : "pve-node",
25946 "type" : "string",
25947 "typetext" : "<string>"
7aacca6f 25948 }
4d47f125 25949 }
44660702 25950 },
4d47f125
TL
25951 "permissions" : {
25952 "check" : [
25953 "perm",
25954 "/",
25955 [
5f26e15b
TL
25956 "Sys.Audit",
25957 "Datastore.Audit"
25958 ],
25959 "any",
25960 1
4d47f125 25961 ]
56122987 25962 },
95895385 25963 "proxyto" : "node",
4d47f125 25964 "returns" : {
7aacca6f 25965 "type" : "string"
4d47f125
TL
25966 }
25967 }
25968 },
5f26e15b
TL
25969 "leaf" : 1,
25970 "path" : "/nodes/{node}/ceph/config",
25971 "text" : "config"
4d47f125
TL
25972 },
25973 {
25974 "info" : {
25975 "POST" : {
25976 "description" : "Create initial ceph default configuration and setup symlinks.",
25977 "method" : "POST",
25978 "name" : "init",
25979 "parameters" : {
25980 "additionalProperties" : 0,
25981 "properties" : {
e2d681b3
TL
25982 "cluster-network" : {
25983 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
25984 "format" : "CIDR",
25985 "maxLength" : 128,
25986 "optional" : 1,
25987 "requires" : "network",
25988 "type" : "string",
25989 "typetext" : "<string>"
25990 },
4d47f125
TL
25991 "disable_cephx" : {
25992 "default" : 0,
25993 "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 25994 "optional" : 1,
4d47f125
TL
25995 "type" : "boolean",
25996 "typetext" : "<boolean>"
56122987 25997 },
4d47f125
TL
25998 "min_size" : {
25999 "default" : 2,
26000 "description" : "Minimum number of available replicas per object to allow I/O",
26001 "maximum" : 7,
26002 "minimum" : 1,
7aacca6f 26003 "optional" : 1,
4d47f125
TL
26004 "type" : "integer",
26005 "typetext" : "<integer> (1 - 7)"
7aacca6f 26006 },
4d47f125
TL
26007 "network" : {
26008 "description" : "Use specific network for all ceph related traffic",
26009 "format" : "CIDR",
26010 "maxLength" : 128,
5d9c884c 26011 "optional" : 1,
4d47f125
TL
26012 "type" : "string",
26013 "typetext" : "<string>"
5d9c884c 26014 },
4d47f125
TL
26015 "node" : {
26016 "description" : "The cluster node name.",
26017 "format" : "pve-node",
26018 "type" : "string",
26019 "typetext" : "<string>"
7aacca6f 26020 },
4d47f125
TL
26021 "pg_bits" : {
26022 "default" : 6,
26023 "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.",
26024 "maximum" : 14,
26025 "minimum" : 6,
de0983cb 26026 "optional" : 1,
4d47f125
TL
26027 "type" : "integer",
26028 "typetext" : "<integer> (6 - 14)"
de0983cb 26029 },
44660702 26030 "size" : {
4d47f125
TL
26031 "default" : 3,
26032 "description" : "Targeted number of replicas per object",
26033 "maximum" : 7,
26034 "minimum" : 1,
7aacca6f 26035 "optional" : 1,
4d47f125
TL
26036 "type" : "integer",
26037 "typetext" : "<integer> (1 - 7)"
56122987 26038 }
4d47f125 26039 }
44660702 26040 },
4d47f125
TL
26041 "permissions" : {
26042 "check" : [
26043 "perm",
26044 "/",
26045 [
26046 "Sys.Modify"
26047 ]
26048 ]
5da3d723 26049 },
4d47f125
TL
26050 "protected" : 1,
26051 "proxyto" : "node",
26052 "returns" : {
26053 "type" : "null"
26054 }
26055 }
26056 },
26057 "leaf" : 1,
26058 "path" : "/nodes/{node}/ceph/init",
26059 "text" : "init"
26060 },
4d47f125
TL
26061 {
26062 "info" : {
26063 "POST" : {
26064 "description" : "Stop ceph services.",
26065 "method" : "POST",
26066 "name" : "stop",
26067 "parameters" : {
26068 "additionalProperties" : 0,
26069 "properties" : {
26070 "node" : {
26071 "description" : "The cluster node name.",
26072 "format" : "pve-node",
26073 "type" : "string",
26074 "typetext" : "<string>"
26075 },
26076 "service" : {
e2d681b3 26077 "default" : "ceph.target",
4d47f125
TL
26078 "description" : "Ceph service name.",
26079 "optional" : 1,
95895385 26080 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
26081 "type" : "string"
26082 }
26083 }
7aacca6f 26084 },
4d47f125
TL
26085 "permissions" : {
26086 "check" : [
26087 "perm",
26088 "/",
26089 [
26090 "Sys.Modify"
26091 ]
26092 ]
7aacca6f 26093 },
4d47f125
TL
26094 "protected" : 1,
26095 "proxyto" : "node",
26096 "returns" : {
26097 "type" : "string"
26098 }
26099 }
26100 },
26101 "leaf" : 1,
26102 "path" : "/nodes/{node}/ceph/stop",
26103 "text" : "stop"
26104 },
26105 {
26106 "info" : {
26107 "POST" : {
26108 "description" : "Start ceph services.",
26109 "method" : "POST",
26110 "name" : "start",
26111 "parameters" : {
26112 "additionalProperties" : 0,
26113 "properties" : {
26114 "node" : {
26115 "description" : "The cluster node name.",
26116 "format" : "pve-node",
26117 "type" : "string",
26118 "typetext" : "<string>"
26119 },
26120 "service" : {
e2d681b3 26121 "default" : "ceph.target",
4d47f125
TL
26122 "description" : "Ceph service name.",
26123 "optional" : 1,
95895385 26124 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
26125 "type" : "string"
26126 }
26127 }
44660702 26128 },
4d47f125
TL
26129 "permissions" : {
26130 "check" : [
26131 "perm",
26132 "/",
26133 [
26134 "Sys.Modify"
26135 ]
26136 ]
44660702 26137 },
4d47f125
TL
26138 "protected" : 1,
26139 "proxyto" : "node",
26140 "returns" : {
26141 "type" : "string"
44660702 26142 }
7aacca6f
DM
26143 }
26144 },
4d47f125
TL
26145 "leaf" : 1,
26146 "path" : "/nodes/{node}/ceph/start",
26147 "text" : "start"
26148 },
e2d681b3
TL
26149 {
26150 "info" : {
26151 "POST" : {
26152 "description" : "Restart ceph services.",
26153 "method" : "POST",
26154 "name" : "restart",
26155 "parameters" : {
26156 "additionalProperties" : 0,
26157 "properties" : {
26158 "node" : {
26159 "description" : "The cluster node name.",
26160 "format" : "pve-node",
26161 "type" : "string",
26162 "typetext" : "<string>"
26163 },
26164 "service" : {
26165 "default" : "ceph.target",
26166 "description" : "Ceph service name.",
26167 "optional" : 1,
26168 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
26169 "type" : "string"
26170 }
26171 }
26172 },
26173 "permissions" : {
26174 "check" : [
26175 "perm",
26176 "/",
26177 [
26178 "Sys.Modify"
26179 ]
26180 ]
26181 },
26182 "protected" : 1,
26183 "proxyto" : "node",
26184 "returns" : {
26185 "type" : "string"
26186 }
26187 }
26188 },
26189 "leaf" : 1,
26190 "path" : "/nodes/{node}/ceph/restart",
26191 "text" : "restart"
26192 },
4d47f125
TL
26193 {
26194 "info" : {
26195 "GET" : {
26196 "description" : "Get ceph status.",
26197 "method" : "GET",
26198 "name" : "status",
26199 "parameters" : {
26200 "additionalProperties" : 0,
26201 "properties" : {
26202 "node" : {
26203 "description" : "The cluster node name.",
26204 "format" : "pve-node",
26205 "type" : "string",
26206 "typetext" : "<string>"
26207 }
26208 }
26209 },
26210 "permissions" : {
26211 "check" : [
26212 "perm",
26213 "/",
26214 [
26215 "Sys.Audit",
26216 "Datastore.Audit"
26217 ],
26218 "any",
26219 1
26220 ]
26221 },
26222 "protected" : 1,
26223 "proxyto" : "node",
26224 "returns" : {
26225 "type" : "object"
26226 }
26227 }
44660702 26228 },
4d47f125
TL
26229 "leaf" : 1,
26230 "path" : "/nodes/{node}/ceph/status",
26231 "text" : "status"
26232 },
44660702 26233 {
56122987
DM
26234 "children" : [
26235 {
44660702
DM
26236 "info" : {
26237 "DELETE" : {
4d47f125 26238 "description" : "Destroy pool",
44660702 26239 "method" : "DELETE",
4d47f125 26240 "name" : "destroypool",
44660702
DM
26241 "parameters" : {
26242 "additionalProperties" : 0,
26243 "properties" : {
4d47f125 26244 "force" : {
44660702 26245 "default" : 0,
4d47f125 26246 "description" : "If true, destroys pool even if in use",
44660702 26247 "optional" : 1,
013dc89f
DM
26248 "type" : "boolean",
26249 "typetext" : "<boolean>"
7aacca6f 26250 },
4d47f125
TL
26251 "name" : {
26252 "description" : "The name of the pool. It must be unique.",
26253 "type" : "string",
26254 "typetext" : "<string>"
26255 },
44660702
DM
26256 "node" : {
26257 "description" : "The cluster node name.",
26258 "format" : "pve-node",
013dc89f
DM
26259 "type" : "string",
26260 "typetext" : "<string>"
56122987 26261 },
4d47f125
TL
26262 "remove_storages" : {
26263 "default" : 0,
26264 "description" : "Remove all pveceph-managed storages configured for this pool",
26265 "optional" : 1,
26266 "type" : "boolean",
26267 "typetext" : "<boolean>"
44660702 26268 }
56122987
DM
26269 }
26270 },
4d47f125
TL
26271 "permissions" : {
26272 "check" : [
26273 "perm",
26274 "/",
26275 [
26276 "Sys.Modify"
26277 ]
26278 ]
26279 },
44660702
DM
26280 "protected" : 1,
26281 "proxyto" : "node",
26282 "returns" : {
26283 "type" : "string"
26284 }
26285 }
26286 },
4d47f125
TL
26287 "leaf" : 1,
26288 "path" : "/nodes/{node}/ceph/pools/{name}",
26289 "text" : "{name}"
44660702
DM
26290 }
26291 ],
26292 "info" : {
26293 "GET" : {
4d47f125 26294 "description" : "List all pools.",
44660702 26295 "method" : "GET",
4d47f125 26296 "name" : "lspools",
44660702
DM
26297 "parameters" : {
26298 "additionalProperties" : 0,
26299 "properties" : {
26300 "node" : {
26301 "description" : "The cluster node name.",
26302 "format" : "pve-node",
013dc89f
DM
26303 "type" : "string",
26304 "typetext" : "<string>"
44660702
DM
26305 }
26306 }
26307 },
26308 "permissions" : {
26309 "check" : [
26310 "perm",
26311 "/",
26312 [
26313 "Sys.Audit",
26314 "Datastore.Audit"
26315 ],
26316 "any",
26317 1
26318 ]
26319 },
26320 "protected" : 1,
26321 "proxyto" : "node",
26322 "returns" : {
4d47f125
TL
26323 "items" : {
26324 "properties" : {
26325 "pool" : {
26326 "type" : "integer"
26327 },
26328 "pool_name" : {
26329 "type" : "string"
26330 },
26331 "size" : {
26332 "type" : "integer"
26333 }
26334 },
26335 "type" : "object"
26336 },
26337 "links" : [
26338 {
26339 "href" : "{pool_name}",
26340 "rel" : "child"
26341 }
26342 ],
26343 "type" : "array"
44660702
DM
26344 }
26345 },
26346 "POST" : {
4d47f125 26347 "description" : "Create POOL",
44660702 26348 "method" : "POST",
4d47f125 26349 "name" : "createpool",
44660702
DM
26350 "parameters" : {
26351 "additionalProperties" : 0,
26352 "properties" : {
4d47f125 26353 "add_storages" : {
e2d681b3 26354 "description" : "Configure VM and CT storage using the new pool.",
5d9c884c
DM
26355 "optional" : 1,
26356 "type" : "boolean",
26357 "typetext" : "<boolean>"
26358 },
4d47f125
TL
26359 "application" : {
26360 "description" : "The application of the pool, 'rbd' by default.",
44660702 26361 "enum" : [
4d47f125
TL
26362 "rbd",
26363 "cephfs",
26364 "rgw"
44660702
DM
26365 ],
26366 "optional" : 1,
26367 "type" : "string"
26368 },
4d47f125
TL
26369 "crush_rule" : {
26370 "description" : "The rule to use for mapping object placement in the cluster.",
26371 "optional" : 1,
26372 "type" : "string",
26373 "typetext" : "<string>"
26374 },
26375 "min_size" : {
26376 "default" : 2,
26377 "description" : "Minimum number of replicas per object",
26378 "maximum" : 7,
26379 "minimum" : 1,
44660702 26380 "optional" : 1,
4d47f125
TL
26381 "type" : "integer",
26382 "typetext" : "<integer> (1 - 7)"
26383 },
26384 "name" : {
26385 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
26386 "type" : "string",
26387 "typetext" : "<string>"
44660702
DM
26388 },
26389 "node" : {
26390 "description" : "The cluster node name.",
26391 "format" : "pve-node",
013dc89f
DM
26392 "type" : "string",
26393 "typetext" : "<string>"
2489d6df 26394 },
4d47f125 26395 "pg_num" : {
e2d681b3 26396 "default" : 128,
4d47f125
TL
26397 "description" : "Number of placement groups.",
26398 "maximum" : 32768,
26399 "minimum" : 8,
2489d6df 26400 "optional" : 1,
4d47f125
TL
26401 "type" : "integer",
26402 "typetext" : "<integer> (8 - 32768)"
26403 },
26404 "size" : {
26405 "default" : 3,
26406 "description" : "Number of replicas per object",
26407 "maximum" : 7,
26408 "minimum" : 1,
26409 "optional" : 1,
26410 "type" : "integer",
26411 "typetext" : "<integer> (1 - 7)"
44660702 26412 }
56122987 26413 }
44660702 26414 },
4d47f125
TL
26415 "permissions" : {
26416 "check" : [
26417 "perm",
26418 "/",
26419 [
26420 "Sys.Modify"
26421 ]
26422 ]
26423 },
44660702
DM
26424 "protected" : 1,
26425 "proxyto" : "node",
26426 "returns" : {
26427 "type" : "string"
26428 }
56122987 26429 }
44660702 26430 },
7aacca6f 26431 "leaf" : 0,
4d47f125
TL
26432 "path" : "/nodes/{node}/ceph/pools",
26433 "text" : "pools"
7aacca6f
DM
26434 },
26435 {
4d47f125
TL
26436 "children" : [
26437 {
26438 "info" : {
26439 "DELETE" : {
26440 "description" : "Unset a ceph flag",
26441 "method" : "DELETE",
26442 "name" : "unset_flag",
26443 "parameters" : {
26444 "additionalProperties" : 0,
26445 "properties" : {
26446 "flag" : {
26447 "description" : "The ceph flag to set/unset",
26448 "enum" : [
26449 "full",
26450 "pause",
26451 "noup",
26452 "nodown",
26453 "noout",
26454 "noin",
26455 "nobackfill",
26456 "norebalance",
26457 "norecover",
26458 "noscrub",
26459 "nodeep-scrub",
26460 "notieragent"
26461 ],
26462 "type" : "string"
26463 },
26464 "node" : {
26465 "description" : "The cluster node name.",
26466 "format" : "pve-node",
26467 "type" : "string",
26468 "typetext" : "<string>"
26469 }
26470 }
26471 },
26472 "permissions" : {
26473 "check" : [
26474 "perm",
26475 "/",
26476 [
26477 "Sys.Modify"
26478 ]
26479 ]
26480 },
26481 "protected" : 1,
26482 "proxyto" : "node",
26483 "returns" : {
26484 "type" : "null"
26485 }
26486 },
26487 "POST" : {
26488 "description" : "Set a ceph flag",
26489 "method" : "POST",
26490 "name" : "set_flag",
26491 "parameters" : {
26492 "additionalProperties" : 0,
26493 "properties" : {
26494 "flag" : {
26495 "description" : "The ceph flag to set/unset",
26496 "enum" : [
26497 "full",
26498 "pause",
26499 "noup",
26500 "nodown",
26501 "noout",
26502 "noin",
26503 "nobackfill",
26504 "norebalance",
26505 "norecover",
26506 "noscrub",
26507 "nodeep-scrub",
26508 "notieragent"
26509 ],
26510 "type" : "string"
26511 },
26512 "node" : {
26513 "description" : "The cluster node name.",
26514 "format" : "pve-node",
26515 "type" : "string",
26516 "typetext" : "<string>"
26517 }
26518 }
26519 },
26520 "permissions" : {
26521 "check" : [
26522 "perm",
26523 "/",
26524 [
26525 "Sys.Modify"
26526 ]
26527 ]
26528 },
26529 "protected" : 1,
26530 "proxyto" : "node",
26531 "returns" : {
26532 "type" : "null"
26533 }
26534 }
26535 },
26536 "leaf" : 1,
26537 "path" : "/nodes/{node}/ceph/flags/{flag}",
26538 "text" : "{flag}"
26539 }
26540 ],
56122987
DM
26541 "info" : {
26542 "GET" : {
4d47f125 26543 "description" : "get all set ceph flags",
44660702 26544 "method" : "GET",
4d47f125 26545 "name" : "get_flags",
44660702
DM
26546 "parameters" : {
26547 "additionalProperties" : 0,
26548 "properties" : {
26549 "node" : {
26550 "description" : "The cluster node name.",
26551 "format" : "pve-node",
013dc89f
DM
26552 "type" : "string",
26553 "typetext" : "<string>"
44660702
DM
26554 }
26555 }
26556 },
56122987
DM
26557 "permissions" : {
26558 "check" : [
26559 "perm",
26560 "/",
26561 [
4d47f125
TL
26562 "Sys.Audit"
26563 ]
56122987 26564 ]
4d47f125
TL
26565 },
26566 "protected" : 1,
26567 "proxyto" : "node",
26568 "returns" : {
26569 "type" : "string"
44660702 26570 }
56122987 26571 }
44660702 26572 },
4d47f125
TL
26573 "leaf" : 0,
26574 "path" : "/nodes/{node}/ceph/flags",
26575 "text" : "flags"
56122987
DM
26576 },
26577 {
56122987
DM
26578 "info" : {
26579 "GET" : {
4d47f125 26580 "description" : "Get OSD crush map",
44660702 26581 "method" : "GET",
4d47f125 26582 "name" : "crush",
56122987 26583 "parameters" : {
7aacca6f 26584 "additionalProperties" : 0,
56122987 26585 "properties" : {
56122987 26586 "node" : {
7aacca6f 26587 "description" : "The cluster node name.",
44660702 26588 "format" : "pve-node",
013dc89f
DM
26589 "type" : "string",
26590 "typetext" : "<string>"
56122987 26591 }
7aacca6f 26592 }
56122987 26593 },
56122987
DM
26594 "permissions" : {
26595 "check" : [
26596 "perm",
26597 "/",
26598 [
26599 "Sys.Audit",
26600 "Datastore.Audit"
26601 ],
26602 "any",
26603 1
26604 ]
44660702 26605 },
4d47f125
TL
26606 "protected" : 1,
26607 "proxyto" : "node",
44660702
DM
26608 "returns" : {
26609 "type" : "string"
7aacca6f
DM
26610 }
26611 }
44660702
DM
26612 },
26613 "leaf" : 1,
4d47f125
TL
26614 "path" : "/nodes/{node}/ceph/crush",
26615 "text" : "crush"
7aacca6f
DM
26616 },
26617 {
7aacca6f
DM
26618 "info" : {
26619 "GET" : {
4d47f125 26620 "description" : "Read ceph log",
7aacca6f 26621 "method" : "GET",
4d47f125 26622 "name" : "log",
7aacca6f
DM
26623 "parameters" : {
26624 "additionalProperties" : 0,
26625 "properties" : {
4d47f125
TL
26626 "limit" : {
26627 "minimum" : 0,
26628 "optional" : 1,
26629 "type" : "integer",
26630 "typetext" : "<integer> (0 - N)"
26631 },
7aacca6f 26632 "node" : {
7aacca6f 26633 "description" : "The cluster node name.",
44660702 26634 "format" : "pve-node",
013dc89f
DM
26635 "type" : "string",
26636 "typetext" : "<string>"
4d47f125
TL
26637 },
26638 "start" : {
26639 "minimum" : 0,
26640 "optional" : 1,
26641 "type" : "integer",
26642 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
26643 }
26644 }
26645 },
44660702
DM
26646 "permissions" : {
26647 "check" : [
26648 "perm",
4d47f125 26649 "/nodes/{node}",
44660702 26650 [
4d47f125
TL
26651 "Sys.Syslog"
26652 ]
44660702
DM
26653 ]
26654 },
7aacca6f 26655 "protected" : 1,
44660702 26656 "proxyto" : "node",
7aacca6f
DM
26657 "returns" : {
26658 "items" : {
26659 "properties" : {
4d47f125
TL
26660 "n" : {
26661 "description" : "Line number",
26662 "type" : "integer"
56122987 26663 },
4d47f125
TL
26664 "t" : {
26665 "description" : "Line text",
56122987
DM
26666 "type" : "string"
26667 }
7aacca6f
DM
26668 },
26669 "type" : "object"
56122987
DM
26670 },
26671 "type" : "array"
44660702 26672 }
4d47f125
TL
26673 }
26674 },
26675 "leaf" : 1,
26676 "path" : "/nodes/{node}/ceph/log",
26677 "text" : "log"
26678 },
26679 {
26680 "info" : {
26681 "GET" : {
26682 "description" : "List ceph rules.",
26683 "method" : "GET",
26684 "name" : "rules",
44660702
DM
26685 "parameters" : {
26686 "additionalProperties" : 0,
26687 "properties" : {
26688 "node" : {
26689 "description" : "The cluster node name.",
26690 "format" : "pve-node",
013dc89f
DM
26691 "type" : "string",
26692 "typetext" : "<string>"
44660702
DM
26693 }
26694 }
26695 },
7aacca6f
DM
26696 "permissions" : {
26697 "check" : [
26698 "perm",
26699 "/",
26700 [
4d47f125
TL
26701 "Sys.Audit",
26702 "Datastore.Audit"
26703 ],
26704 "any",
26705 1
7aacca6f
DM
26706 ]
26707 },
44660702 26708 "protected" : 1,
7aacca6f 26709 "proxyto" : "node",
56122987 26710 "returns" : {
4d47f125
TL
26711 "items" : {
26712 "properties" : {},
26713 "type" : "object"
26714 },
26715 "links" : [
26716 {
26717 "href" : "{name}",
26718 "rel" : "child"
26719 }
26720 ],
26721 "type" : "array"
44660702 26722 }
56122987 26723 }
44660702 26724 },
4d47f125
TL
26725 "leaf" : 1,
26726 "path" : "/nodes/{node}/ceph/rules",
26727 "text" : "rules"
26728 }
26729 ],
26730 "info" : {
26731 "GET" : {
26732 "description" : "Directory index.",
26733 "method" : "GET",
26734 "name" : "index",
26735 "parameters" : {
26736 "additionalProperties" : 0,
26737 "properties" : {
26738 "node" : {
26739 "description" : "The cluster node name.",
26740 "format" : "pve-node",
26741 "type" : "string",
26742 "typetext" : "<string>"
26743 }
26744 }
26745 },
26746 "permissions" : {
26747 "check" : [
26748 "perm",
26749 "/",
26750 [
26751 "Sys.Audit",
26752 "Datastore.Audit"
26753 ],
26754 "any",
26755 1
26756 ]
26757 },
26758 "returns" : {
26759 "items" : {
26760 "properties" : {},
26761 "type" : "object"
26762 },
26763 "links" : [
26764 {
26765 "href" : "{name}",
26766 "rel" : "child"
26767 }
26768 ],
26769 "type" : "array"
26770 }
26771 }
26772 },
26773 "leaf" : 0,
26774 "path" : "/nodes/{node}/ceph",
26775 "text" : "ceph"
26776 },
26777 {
26778 "children" : [
56122987
DM
26779 {
26780 "info" : {
4d47f125
TL
26781 "GET" : {
26782 "description" : "Extract configuration from vzdump backup archive.",
26783 "method" : "GET",
26784 "name" : "extractconfig",
26785 "parameters" : {
26786 "additionalProperties" : 0,
26787 "properties" : {
44660702
DM
26788 "node" : {
26789 "description" : "The cluster node name.",
26790 "format" : "pve-node",
013dc89f
DM
26791 "type" : "string",
26792 "typetext" : "<string>"
44660702 26793 },
4d47f125
TL
26794 "volume" : {
26795 "description" : "Volume identifier",
26796 "type" : "string",
26797 "typetext" : "<string>"
44660702
DM
26798 }
26799 }
7aacca6f 26800 },
56122987 26801 "permissions" : {
4d47f125
TL
26802 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
26803 "user" : "all"
56122987 26804 },
7aacca6f 26805 "protected" : 1,
44660702
DM
26806 "proxyto" : "node",
26807 "returns" : {
4d47f125 26808 "type" : "string"
7aacca6f
DM
26809 }
26810 }
26811 },
7aacca6f 26812 "leaf" : 1,
4d47f125
TL
26813 "path" : "/nodes/{node}/vzdump/extractconfig",
26814 "text" : "extractconfig"
26815 }
26816 ],
26817 "info" : {
26818 "POST" : {
26819 "description" : "Create backup.",
26820 "method" : "POST",
26821 "name" : "vzdump",
26822 "parameters" : {
26823 "additionalProperties" : 0,
26824 "properties" : {
26825 "all" : {
26826 "default" : 0,
26827 "description" : "Backup all known guest systems on this host.",
26828 "optional" : 1,
26829 "type" : "boolean",
26830 "typetext" : "<boolean>"
26831 },
26832 "bwlimit" : {
26833 "default" : 0,
26834 "description" : "Limit I/O bandwidth (KBytes per second).",
26835 "minimum" : 0,
26836 "optional" : 1,
26837 "type" : "integer",
26838 "typetext" : "<integer> (0 - N)"
26839 },
26840 "compress" : {
26841 "default" : "0",
26842 "description" : "Compress dump file.",
26843 "enum" : [
26844 "0",
26845 "1",
26846 "gzip",
26847 "lzo"
26848 ],
26849 "optional" : 1,
26850 "type" : "string"
26851 },
26852 "dumpdir" : {
26853 "description" : "Store resulting files to specified directory.",
26854 "optional" : 1,
26855 "type" : "string",
26856 "typetext" : "<string>"
26857 },
26858 "exclude" : {
26859 "description" : "Exclude specified guest systems (assumes --all)",
26860 "format" : "pve-vmid-list",
26861 "optional" : 1,
26862 "type" : "string",
26863 "typetext" : "<string>"
26864 },
26865 "exclude-path" : {
26866 "description" : "Exclude certain files/directories (shell globs).",
26867 "format" : "string-alist",
26868 "optional" : 1,
26869 "type" : "string",
26870 "typetext" : "<string>"
26871 },
26872 "ionice" : {
26873 "default" : 7,
26874 "description" : "Set CFQ ionice priority.",
26875 "maximum" : 8,
26876 "minimum" : 0,
26877 "optional" : 1,
26878 "type" : "integer",
26879 "typetext" : "<integer> (0 - 8)"
26880 },
26881 "lockwait" : {
26882 "default" : 180,
26883 "description" : "Maximal time to wait for the global lock (minutes).",
26884 "minimum" : 0,
26885 "optional" : 1,
26886 "type" : "integer",
26887 "typetext" : "<integer> (0 - N)"
26888 },
26889 "mailnotification" : {
26890 "default" : "always",
26891 "description" : "Specify when to send an email",
26892 "enum" : [
26893 "always",
26894 "failure"
26895 ],
26896 "optional" : 1,
26897 "type" : "string"
26898 },
26899 "mailto" : {
26900 "description" : "Comma-separated list of email addresses that should receive email notifications.",
26901 "format" : "string-list",
26902 "optional" : 1,
26903 "type" : "string",
26904 "typetext" : "<string>"
26905 },
26906 "maxfiles" : {
26907 "default" : 1,
26908 "description" : "Maximal number of backup files per guest system.",
26909 "minimum" : 1,
26910 "optional" : 1,
26911 "type" : "integer",
26912 "typetext" : "<integer> (1 - N)"
26913 },
26914 "mode" : {
26915 "default" : "snapshot",
26916 "description" : "Backup mode.",
26917 "enum" : [
26918 "snapshot",
26919 "suspend",
26920 "stop"
26921 ],
26922 "optional" : 1,
26923 "type" : "string"
26924 },
26925 "node" : {
26926 "description" : "Only run if executed on this node.",
26927 "format" : "pve-node",
26928 "optional" : 1,
26929 "type" : "string",
26930 "typetext" : "<string>"
26931 },
26932 "pigz" : {
26933 "default" : 0,
26934 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
26935 "optional" : 1,
26936 "type" : "integer",
26937 "typetext" : "<integer>"
26938 },
26939 "quiet" : {
26940 "default" : 0,
26941 "description" : "Be quiet.",
26942 "optional" : 1,
26943 "type" : "boolean",
26944 "typetext" : "<boolean>"
26945 },
26946 "remove" : {
26947 "default" : 1,
26948 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
26949 "optional" : 1,
26950 "type" : "boolean",
26951 "typetext" : "<boolean>"
26952 },
26953 "script" : {
26954 "description" : "Use specified hook script.",
26955 "optional" : 1,
26956 "type" : "string",
26957 "typetext" : "<string>"
26958 },
26959 "size" : {
26960 "default" : 1024,
26961 "description" : "Unused, will be removed in a future release.",
26962 "minimum" : 500,
26963 "optional" : 1,
26964 "type" : "integer",
26965 "typetext" : "<integer> (500 - N)"
26966 },
26967 "stdexcludes" : {
26968 "default" : 1,
26969 "description" : "Exclude temporary files and logs.",
26970 "optional" : 1,
26971 "type" : "boolean",
26972 "typetext" : "<boolean>"
26973 },
26974 "stdout" : {
26975 "description" : "Write tar to stdout, not to a file.",
26976 "optional" : 1,
26977 "type" : "boolean",
26978 "typetext" : "<boolean>"
26979 },
26980 "stop" : {
26981 "default" : 0,
26982 "description" : "Stop runnig backup jobs on this host.",
26983 "optional" : 1,
26984 "type" : "boolean",
26985 "typetext" : "<boolean>"
26986 },
26987 "stopwait" : {
26988 "default" : 10,
26989 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
26990 "minimum" : 0,
26991 "optional" : 1,
26992 "type" : "integer",
26993 "typetext" : "<integer> (0 - N)"
26994 },
26995 "storage" : {
26996 "description" : "Store resulting file to this storage.",
26997 "format" : "pve-storage-id",
26998 "optional" : 1,
26999 "type" : "string",
27000 "typetext" : "<string>"
27001 },
27002 "tmpdir" : {
27003 "description" : "Store temporary files to specified directory.",
27004 "optional" : 1,
27005 "type" : "string",
27006 "typetext" : "<string>"
27007 },
27008 "vmid" : {
27009 "description" : "The ID of the guest system you want to backup.",
27010 "format" : "pve-vmid-list",
27011 "optional" : 1,
27012 "type" : "string",
27013 "typetext" : "<string>"
27014 }
27015 }
27016 },
27017 "permissions" : {
27018 "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.",
27019 "user" : "all"
27020 },
27021 "protected" : 1,
27022 "proxyto" : "node",
27023 "returns" : {
27024 "type" : "string"
27025 }
27026 }
27027 },
27028 "leaf" : 0,
27029 "path" : "/nodes/{node}/vzdump",
27030 "text" : "vzdump"
27031 },
27032 {
27033 "children" : [
2489d6df
WB
27034 {
27035 "children" : [
27036 {
27037 "info" : {
4d47f125
TL
27038 "GET" : {
27039 "description" : "Read service properties",
27040 "method" : "GET",
27041 "name" : "service_state",
2489d6df
WB
27042 "parameters" : {
27043 "additionalProperties" : 0,
27044 "properties" : {
2489d6df
WB
27045 "node" : {
27046 "description" : "The cluster node name.",
27047 "format" : "pve-node",
27048 "type" : "string",
27049 "typetext" : "<string>"
4d47f125
TL
27050 },
27051 "service" : {
27052 "description" : "Service ID",
27053 "enum" : [
27054 "pveproxy",
27055 "pvedaemon",
27056 "spiceproxy",
27057 "pvestatd",
27058 "pve-cluster",
27059 "corosync",
27060 "pve-firewall",
27061 "pvefw-logger",
27062 "pve-ha-crm",
27063 "pve-ha-lrm",
27064 "sshd",
27065 "syslog",
27066 "cron",
27067 "postfix",
27068 "ksmtuned",
27069 "systemd-timesyncd"
27070 ],
27071 "type" : "string"
2489d6df
WB
27072 }
27073 }
27074 },
27075 "permissions" : {
27076 "check" : [
27077 "perm",
4d47f125 27078 "/nodes/{node}",
2489d6df 27079 [
4d47f125 27080 "Sys.Audit"
2489d6df
WB
27081 ]
27082 ]
27083 },
27084 "protected" : 1,
27085 "proxyto" : "node",
27086 "returns" : {
4d47f125 27087 "type" : "object"
2489d6df
WB
27088 }
27089 }
27090 },
27091 "leaf" : 1,
4d47f125
TL
27092 "path" : "/nodes/{node}/services/{service}/state",
27093 "text" : "state"
27094 },
27095 {
27096 "info" : {
27097 "POST" : {
27098 "description" : "Start service.",
27099 "method" : "POST",
27100 "name" : "service_start",
27101 "parameters" : {
27102 "additionalProperties" : 0,
27103 "properties" : {
27104 "node" : {
27105 "description" : "The cluster node name.",
27106 "format" : "pve-node",
27107 "type" : "string",
27108 "typetext" : "<string>"
27109 },
27110 "service" : {
27111 "description" : "Service ID",
27112 "enum" : [
27113 "pveproxy",
27114 "pvedaemon",
27115 "spiceproxy",
27116 "pvestatd",
27117 "pve-cluster",
27118 "corosync",
27119 "pve-firewall",
27120 "pvefw-logger",
27121 "pve-ha-crm",
27122 "pve-ha-lrm",
27123 "sshd",
27124 "syslog",
27125 "cron",
27126 "postfix",
27127 "ksmtuned",
27128 "systemd-timesyncd"
27129 ],
27130 "type" : "string"
27131 }
27132 }
7aacca6f 27133 },
4d47f125
TL
27134 "permissions" : {
27135 "check" : [
27136 "perm",
27137 "/nodes/{node}",
27138 [
27139 "Sys.Modify"
27140 ]
27141 ]
7aacca6f 27142 },
4d47f125
TL
27143 "protected" : 1,
27144 "proxyto" : "node",
27145 "returns" : {
27146 "type" : "string"
27147 }
27148 }
56122987 27149 },
4d47f125
TL
27150 "leaf" : 1,
27151 "path" : "/nodes/{node}/services/{service}/start",
27152 "text" : "start"
27153 },
44660702
DM
27154 {
27155 "info" : {
4d47f125
TL
27156 "POST" : {
27157 "description" : "Stop service.",
27158 "method" : "POST",
27159 "name" : "service_stop",
44660702
DM
27160 "parameters" : {
27161 "additionalProperties" : 0,
27162 "properties" : {
44660702
DM
27163 "node" : {
27164 "description" : "The cluster node name.",
27165 "format" : "pve-node",
013dc89f
DM
27166 "type" : "string",
27167 "typetext" : "<string>"
2489d6df 27168 },
4d47f125
TL
27169 "service" : {
27170 "description" : "Service ID",
27171 "enum" : [
27172 "pveproxy",
27173 "pvedaemon",
27174 "spiceproxy",
27175 "pvestatd",
27176 "pve-cluster",
27177 "corosync",
27178 "pve-firewall",
27179 "pvefw-logger",
27180 "pve-ha-crm",
27181 "pve-ha-lrm",
27182 "sshd",
27183 "syslog",
27184 "cron",
27185 "postfix",
27186 "ksmtuned",
27187 "systemd-timesyncd"
27188 ],
27189 "type" : "string"
44660702
DM
27190 }
27191 }
27192 },
27193 "permissions" : {
27194 "check" : [
27195 "perm",
4d47f125 27196 "/nodes/{node}",
44660702
DM
27197 [
27198 "Sys.Modify"
27199 ]
27200 ]
27201 },
27202 "protected" : 1,
27203 "proxyto" : "node",
27204 "returns" : {
2489d6df 27205 "type" : "string"
44660702
DM
27206 }
27207 }
27208 },
27209 "leaf" : 1,
4d47f125
TL
27210 "path" : "/nodes/{node}/services/{service}/stop",
27211 "text" : "stop"
7aacca6f 27212 },
32d876b5
DM
27213 {
27214 "info" : {
4d47f125
TL
27215 "POST" : {
27216 "description" : "Restart service.",
27217 "method" : "POST",
27218 "name" : "service_restart",
32d876b5
DM
27219 "parameters" : {
27220 "additionalProperties" : 0,
27221 "properties" : {
4d47f125
TL
27222 "node" : {
27223 "description" : "The cluster node name.",
27224 "format" : "pve-node",
27225 "type" : "string",
27226 "typetext" : "<string>"
27227 },
27228 "service" : {
27229 "description" : "Service ID",
32d876b5 27230 "enum" : [
4d47f125
TL
27231 "pveproxy",
27232 "pvedaemon",
27233 "spiceproxy",
27234 "pvestatd",
27235 "pve-cluster",
27236 "corosync",
27237 "pve-firewall",
27238 "pvefw-logger",
27239 "pve-ha-crm",
27240 "pve-ha-lrm",
27241 "sshd",
27242 "syslog",
27243 "cron",
27244 "postfix",
27245 "ksmtuned",
27246 "systemd-timesyncd"
32d876b5
DM
27247 ],
27248 "type" : "string"
32d876b5
DM
27249 }
27250 }
27251 },
27252 "permissions" : {
27253 "check" : [
27254 "perm",
4d47f125 27255 "/nodes/{node}",
32d876b5
DM
27256 [
27257 "Sys.Modify"
27258 ]
27259 ]
27260 },
27261 "protected" : 1,
27262 "proxyto" : "node",
27263 "returns" : {
4d47f125 27264 "type" : "string"
32d876b5 27265 }
4d47f125
TL
27266 }
27267 },
27268 "leaf" : 1,
27269 "path" : "/nodes/{node}/services/{service}/restart",
27270 "text" : "restart"
27271 },
27272 {
27273 "info" : {
32d876b5 27274 "POST" : {
4d47f125 27275 "description" : "Reload service.",
32d876b5 27276 "method" : "POST",
4d47f125 27277 "name" : "service_reload",
32d876b5
DM
27278 "parameters" : {
27279 "additionalProperties" : 0,
27280 "properties" : {
32d876b5
DM
27281 "node" : {
27282 "description" : "The cluster node name.",
27283 "format" : "pve-node",
27284 "type" : "string",
27285 "typetext" : "<string>"
4d47f125
TL
27286 },
27287 "service" : {
27288 "description" : "Service ID",
27289 "enum" : [
27290 "pveproxy",
27291 "pvedaemon",
27292 "spiceproxy",
27293 "pvestatd",
27294 "pve-cluster",
27295 "corosync",
27296 "pve-firewall",
27297 "pvefw-logger",
27298 "pve-ha-crm",
27299 "pve-ha-lrm",
27300 "sshd",
27301 "syslog",
27302 "cron",
27303 "postfix",
27304 "ksmtuned",
27305 "systemd-timesyncd"
27306 ],
27307 "type" : "string"
32d876b5
DM
27308 }
27309 }
27310 },
27311 "permissions" : {
27312 "check" : [
27313 "perm",
4d47f125 27314 "/nodes/{node}",
32d876b5
DM
27315 [
27316 "Sys.Modify"
27317 ]
27318 ]
27319 },
27320 "protected" : 1,
27321 "proxyto" : "node",
27322 "returns" : {
4d47f125 27323 "type" : "string"
32d876b5
DM
27324 }
27325 }
27326 },
27327 "leaf" : 1,
4d47f125
TL
27328 "path" : "/nodes/{node}/services/{service}/reload",
27329 "text" : "reload"
32d876b5
DM
27330 }
27331 ],
27332 "info" : {
27333 "GET" : {
4d47f125 27334 "description" : "Directory index",
44660702 27335 "method" : "GET",
4d47f125 27336 "name" : "srvcmdidx",
44660702
DM
27337 "parameters" : {
27338 "additionalProperties" : 0,
27339 "properties" : {
44660702
DM
27340 "node" : {
27341 "description" : "The cluster node name.",
27342 "format" : "pve-node",
013dc89f
DM
27343 "type" : "string",
27344 "typetext" : "<string>"
44660702 27345 },
4d47f125
TL
27346 "service" : {
27347 "description" : "Service ID",
27348 "enum" : [
27349 "pveproxy",
27350 "pvedaemon",
27351 "spiceproxy",
27352 "pvestatd",
27353 "pve-cluster",
27354 "corosync",
27355 "pve-firewall",
27356 "pvefw-logger",
27357 "pve-ha-crm",
27358 "pve-ha-lrm",
27359 "sshd",
27360 "syslog",
27361 "cron",
27362 "postfix",
27363 "ksmtuned",
27364 "systemd-timesyncd"
27365 ],
27366 "type" : "string"
44660702 27367 }
7aacca6f 27368 }
56122987 27369 },
56122987
DM
27370 "permissions" : {
27371 "check" : [
27372 "perm",
7aacca6f 27373 "/nodes/{node}",
56122987 27374 [
4d47f125 27375 "Sys.Audit"
56122987
DM
27376 ]
27377 ]
27378 },
44660702
DM
27379 "returns" : {
27380 "items" : {
27381 "properties" : {
4d47f125 27382 "subdir" : {
44660702
DM
27383 "type" : "string"
27384 }
56122987 27385 },
44660702 27386 "type" : "object"
56122987 27387 },
2489d6df
WB
27388 "links" : [
27389 {
4d47f125 27390 "href" : "{subdir}",
2489d6df
WB
27391 "rel" : "child"
27392 }
27393 ],
27394 "type" : "array"
27395 }
27396 }
4d47f125
TL
27397 },
27398 "leaf" : 0,
27399 "path" : "/nodes/{node}/services/{service}",
27400 "text" : "{service}"
7aacca6f
DM
27401 }
27402 ],
44660702
DM
27403 "info" : {
27404 "GET" : {
4d47f125 27405 "description" : "Service list.",
44660702
DM
27406 "method" : "GET",
27407 "name" : "index",
27408 "parameters" : {
27409 "additionalProperties" : 0,
27410 "properties" : {
27411 "node" : {
27412 "description" : "The cluster node name.",
27413 "format" : "pve-node",
013dc89f
DM
27414 "type" : "string",
27415 "typetext" : "<string>"
44660702
DM
27416 }
27417 }
27418 },
27419 "permissions" : {
27420 "check" : [
27421 "perm",
4d47f125 27422 "/nodes/{node}",
44660702 27423 [
4d47f125
TL
27424 "Sys.Audit"
27425 ]
44660702
DM
27426 ]
27427 },
4d47f125
TL
27428 "protected" : 1,
27429 "proxyto" : "node",
44660702
DM
27430 "returns" : {
27431 "items" : {
27432 "properties" : {},
27433 "type" : "object"
27434 },
27435 "links" : [
27436 {
4d47f125 27437 "href" : "{service}",
44660702
DM
27438 "rel" : "child"
27439 }
27440 ],
27441 "type" : "array"
27442 }
27443 }
27444 },
7aacca6f 27445 "leaf" : 0,
4d47f125
TL
27446 "path" : "/nodes/{node}/services",
27447 "text" : "services"
7aacca6f
DM
27448 },
27449 {
7aacca6f 27450 "info" : {
4d47f125
TL
27451 "GET" : {
27452 "description" : "Read subscription info.",
27453 "method" : "GET",
27454 "name" : "get",
7aacca6f 27455 "parameters" : {
44660702 27456 "additionalProperties" : 0,
7aacca6f 27457 "properties" : {
44660702 27458 "node" : {
4d47f125 27459 "description" : "The cluster node name.",
44660702 27460 "format" : "pve-node",
013dc89f
DM
27461 "type" : "string",
27462 "typetext" : "<string>"
4d47f125
TL
27463 }
27464 }
27465 },
27466 "permissions" : {
27467 "user" : "all"
27468 },
27469 "proxyto" : "node",
27470 "returns" : {
27471 "type" : "object"
27472 }
27473 },
27474 "POST" : {
27475 "description" : "Update subscription info.",
27476 "method" : "POST",
27477 "name" : "update",
27478 "parameters" : {
27479 "additionalProperties" : 0,
27480 "properties" : {
27481 "force" : {
27482 "default" : 0,
27483 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 27484 "optional" : 1,
4d47f125
TL
27485 "type" : "boolean",
27486 "typetext" : "<boolean>"
44660702 27487 },
4d47f125
TL
27488 "node" : {
27489 "description" : "The cluster node name.",
27490 "format" : "pve-node",
013dc89f
DM
27491 "type" : "string",
27492 "typetext" : "<string>"
4d47f125
TL
27493 }
27494 }
27495 },
27496 "permissions" : {
27497 "check" : [
27498 "perm",
27499 "/nodes/{node}",
27500 [
27501 "Sys.Modify"
27502 ]
27503 ]
27504 },
27505 "protected" : 1,
27506 "proxyto" : "node",
27507 "returns" : {
27508 "type" : "null"
27509 }
27510 },
27511 "PUT" : {
27512 "description" : "Set subscription key.",
27513 "method" : "PUT",
27514 "name" : "set",
27515 "parameters" : {
27516 "additionalProperties" : 0,
27517 "properties" : {
27518 "key" : {
27519 "description" : "Proxmox VE subscription key",
27520 "maxLength" : 32,
5f26e15b 27521 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 27522 "type" : "string"
7aacca6f 27523 },
4d47f125
TL
27524 "node" : {
27525 "description" : "The cluster node name.",
27526 "format" : "pve-node",
013dc89f
DM
27527 "type" : "string",
27528 "typetext" : "<string>"
7aacca6f 27529 }
7aacca6f
DM
27530 }
27531 },
7aacca6f 27532 "permissions" : {
4d47f125
TL
27533 "check" : [
27534 "perm",
27535 "/nodes/{node}",
27536 [
27537 "Sys.Modify"
27538 ]
27539 ]
7aacca6f 27540 },
44660702 27541 "protected" : 1,
7aacca6f 27542 "proxyto" : "node",
7aacca6f 27543 "returns" : {
4d47f125 27544 "type" : "null"
7aacca6f
DM
27545 }
27546 }
27547 },
4d47f125
TL
27548 "leaf" : 1,
27549 "path" : "/nodes/{node}/subscription",
27550 "text" : "subscription"
44660702
DM
27551 },
27552 {
7aacca6f
DM
27553 "children" : [
27554 {
4d47f125
TL
27555 "info" : {
27556 "DELETE" : {
27557 "description" : "Delete network device configuration",
27558 "method" : "DELETE",
27559 "name" : "delete_network",
27560 "parameters" : {
27561 "additionalProperties" : 0,
27562 "properties" : {
27563 "iface" : {
27564 "description" : "Network interface name.",
27565 "format" : "pve-iface",
27566 "maxLength" : 20,
27567 "minLength" : 2,
27568 "type" : "string",
27569 "typetext" : "<string>"
7aacca6f 27570 },
4d47f125
TL
27571 "node" : {
27572 "description" : "The cluster node name.",
27573 "format" : "pve-node",
27574 "type" : "string",
27575 "typetext" : "<string>"
44660702
DM
27576 }
27577 }
27578 },
4d47f125
TL
27579 "permissions" : {
27580 "check" : [
27581 "perm",
27582 "/nodes/{node}",
27583 [
27584 "Sys.Modify"
27585 ]
27586 ]
27587 },
27588 "protected" : 1,
27589 "proxyto" : "node",
27590 "returns" : {
27591 "type" : "null"
27592 }
27593 },
27594 "GET" : {
27595 "description" : "Read network device configuration",
27596 "method" : "GET",
27597 "name" : "network_config",
27598 "parameters" : {
27599 "additionalProperties" : 0,
27600 "properties" : {
27601 "iface" : {
27602 "description" : "Network interface name.",
27603 "format" : "pve-iface",
27604 "maxLength" : 20,
27605 "minLength" : 2,
27606 "type" : "string",
27607 "typetext" : "<string>"
56122987 27608 },
4d47f125
TL
27609 "node" : {
27610 "description" : "The cluster node name.",
27611 "format" : "pve-node",
27612 "type" : "string",
27613 "typetext" : "<string>"
44660702
DM
27614 }
27615 }
27616 },
4d47f125
TL
27617 "permissions" : {
27618 "check" : [
27619 "perm",
27620 "/nodes/{node}",
27621 [
27622 "Sys.Audit"
27623 ]
27624 ]
27625 },
27626 "proxyto" : "node",
27627 "returns" : {
27628 "properties" : {
27629 "method" : {
27630 "type" : "string"
44660702 27631 },
4d47f125 27632 "type" : {
44660702
DM
27633 "type" : "string"
27634 }
4d47f125
TL
27635 },
27636 "type" : "object"
27637 }
56122987 27638 },
4d47f125
TL
27639 "PUT" : {
27640 "description" : "Update network device configuration",
27641 "method" : "PUT",
27642 "name" : "update_network",
27643 "parameters" : {
27644 "additionalProperties" : 0,
27645 "properties" : {
27646 "address" : {
27647 "description" : "IP address.",
27648 "format" : "ipv4",
27649 "optional" : 1,
27650 "requires" : "netmask",
27651 "type" : "string",
27652 "typetext" : "<string>"
27653 },
27654 "address6" : {
27655 "description" : "IP address.",
27656 "format" : "ipv6",
27657 "optional" : 1,
27658 "requires" : "netmask6",
27659 "type" : "string",
27660 "typetext" : "<string>"
27661 },
27662 "autostart" : {
27663 "description" : "Automatically start interface on boot.",
27664 "optional" : 1,
27665 "type" : "boolean",
27666 "typetext" : "<boolean>"
27667 },
27668 "bond_mode" : {
27669 "description" : "Bonding mode.",
27670 "enum" : [
27671 "balance-rr",
27672 "active-backup",
27673 "balance-xor",
27674 "broadcast",
27675 "802.3ad",
27676 "balance-tlb",
27677 "balance-alb",
27678 "balance-slb",
27679 "lacp-balance-slb",
27680 "lacp-balance-tcp"
27681 ],
27682 "optional" : 1,
27683 "type" : "string"
27684 },
27685 "bond_xmit_hash_policy" : {
27686 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
27687 "enum" : [
27688 "layer2",
27689 "layer2+3",
27690 "layer3+4"
27691 ],
27692 "optional" : 1,
27693 "type" : "string"
27694 },
27695 "bridge_ports" : {
27696 "description" : "Specify the iterfaces you want to add to your bridge.",
27697 "format" : "pve-iface-list",
27698 "optional" : 1,
27699 "type" : "string",
27700 "typetext" : "<string>"
27701 },
27702 "bridge_vlan_aware" : {
27703 "description" : "Enable bridge vlan support.",
27704 "optional" : 1,
27705 "type" : "boolean",
27706 "typetext" : "<boolean>"
27707 },
27708 "comments" : {
27709 "description" : "Comments",
27710 "optional" : 1,
27711 "type" : "string",
27712 "typetext" : "<string>"
27713 },
27714 "comments6" : {
27715 "description" : "Comments",
27716 "optional" : 1,
27717 "type" : "string",
27718 "typetext" : "<string>"
27719 },
27720 "delete" : {
27721 "description" : "A list of settings you want to delete.",
27722 "format" : "pve-configid-list",
27723 "optional" : 1,
27724 "type" : "string",
27725 "typetext" : "<string>"
27726 },
27727 "gateway" : {
27728 "description" : "Default gateway address.",
27729 "format" : "ipv4",
27730 "optional" : 1,
27731 "type" : "string",
27732 "typetext" : "<string>"
27733 },
27734 "gateway6" : {
27735 "description" : "Default ipv6 gateway address.",
27736 "format" : "ipv6",
27737 "optional" : 1,
27738 "type" : "string",
27739 "typetext" : "<string>"
27740 },
27741 "iface" : {
27742 "description" : "Network interface name.",
27743 "format" : "pve-iface",
27744 "maxLength" : 20,
27745 "minLength" : 2,
27746 "type" : "string",
27747 "typetext" : "<string>"
56122987 27748 },
4d47f125
TL
27749 "netmask" : {
27750 "description" : "Network mask.",
27751 "format" : "ipv4mask",
27752 "optional" : 1,
27753 "requires" : "address",
27754 "type" : "string",
27755 "typetext" : "<string>"
27756 },
27757 "netmask6" : {
27758 "description" : "Network mask.",
27759 "maximum" : 128,
27760 "minimum" : 0,
27761 "optional" : 1,
27762 "requires" : "address6",
27763 "type" : "integer",
27764 "typetext" : "<integer> (0 - 128)"
56122987 27765 },
44660702
DM
27766 "node" : {
27767 "description" : "The cluster node name.",
27768 "format" : "pve-node",
013dc89f
DM
27769 "type" : "string",
27770 "typetext" : "<string>"
44660702 27771 },
4d47f125
TL
27772 "ovs_bonds" : {
27773 "description" : "Specify the interfaces used by the bonding device.",
27774 "format" : "pve-iface-list",
27775 "optional" : 1,
27776 "type" : "string",
27777 "typetext" : "<string>"
27778 },
27779 "ovs_bridge" : {
27780 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
27781 "format" : "pve-iface",
27782 "optional" : 1,
27783 "type" : "string",
27784 "typetext" : "<string>"
27785 },
27786 "ovs_options" : {
27787 "description" : "OVS interface options.",
27788 "maxLength" : 1024,
27789 "optional" : 1,
27790 "type" : "string",
27791 "typetext" : "<string>"
27792 },
27793 "ovs_ports" : {
27794 "description" : "Specify the iterfaces you want to add to your bridge.",
27795 "format" : "pve-iface-list",
27796 "optional" : 1,
27797 "type" : "string",
27798 "typetext" : "<string>"
27799 },
27800 "ovs_tag" : {
27801 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
27802 "maximum" : 4094,
27803 "minimum" : 1,
27804 "optional" : 1,
27805 "type" : "integer",
27806 "typetext" : "<integer> (1 - 4094)"
27807 },
27808 "slaves" : {
27809 "description" : "Specify the interfaces used by the bonding device.",
27810 "format" : "pve-iface-list",
27811 "optional" : 1,
27812 "type" : "string",
27813 "typetext" : "<string>"
27814 },
27815 "type" : {
27816 "description" : "Network interface type",
44660702 27817 "enum" : [
4d47f125
TL
27818 "bridge",
27819 "bond",
27820 "eth",
27821 "alias",
27822 "vlan",
27823 "OVSBridge",
27824 "OVSBond",
27825 "OVSPort",
27826 "OVSIntPort",
27827 "unknown"
44660702
DM
27828 ],
27829 "type" : "string"
27830 }
27831 }
27832 },
27833 "permissions" : {
27834 "check" : [
27835 "perm",
27836 "/nodes/{node}",
27837 [
4d47f125 27838 "Sys.Modify"
44660702
DM
27839 ]
27840 ]
27841 },
4d47f125
TL
27842 "protected" : 1,
27843 "proxyto" : "node",
44660702 27844 "returns" : {
4d47f125 27845 "type" : "null"
44660702
DM
27846 }
27847 }
27848 },
4d47f125
TL
27849 "leaf" : 1,
27850 "path" : "/nodes/{node}/network/{iface}",
27851 "text" : "{iface}"
44660702
DM
27852 }
27853 ],
27854 "info" : {
4d47f125
TL
27855 "DELETE" : {
27856 "description" : "Revert network configuration changes.",
27857 "method" : "DELETE",
27858 "name" : "revert_network_changes",
44660702
DM
27859 "parameters" : {
27860 "additionalProperties" : 0,
27861 "properties" : {
27862 "node" : {
27863 "description" : "The cluster node name.",
27864 "format" : "pve-node",
013dc89f
DM
27865 "type" : "string",
27866 "typetext" : "<string>"
44660702
DM
27867 }
27868 }
27869 },
27870 "permissions" : {
27871 "check" : [
27872 "perm",
27873 "/nodes/{node}",
27874 [
4d47f125 27875 "Sys.Modify"
44660702
DM
27876 ]
27877 ]
27878 },
27879 "protected" : 1,
27880 "proxyto" : "node",
4d47f125
TL
27881 "returns" : {
27882 "type" : "null"
27883 }
27884 },
27885 "GET" : {
27886 "description" : "List available networks",
27887 "method" : "GET",
27888 "name" : "index",
27889 "parameters" : {
27890 "additionalProperties" : 0,
27891 "properties" : {
27892 "node" : {
27893 "description" : "The cluster node name.",
27894 "format" : "pve-node",
27895 "type" : "string",
27896 "typetext" : "<string>"
27897 },
27898 "type" : {
27899 "description" : "Only list specific interface types.",
27900 "enum" : [
27901 "bridge",
27902 "bond",
27903 "eth",
27904 "alias",
27905 "vlan",
27906 "OVSBridge",
27907 "OVSBond",
27908 "OVSPort",
27909 "OVSIntPort",
27910 "any_bridge"
27911 ],
27912 "optional" : 1,
27913 "type" : "string"
27914 }
27915 }
27916 },
27917 "permissions" : {
27918 "user" : "all"
27919 },
27920 "proxyto" : "node",
44660702
DM
27921 "returns" : {
27922 "items" : {
27923 "properties" : {},
27924 "type" : "object"
27925 },
27926 "links" : [
27927 {
4d47f125 27928 "href" : "{iface}",
44660702 27929 "rel" : "child"
56122987 27930 }
44660702
DM
27931 ],
27932 "type" : "array"
27933 }
4d47f125
TL
27934 },
27935 "POST" : {
27936 "description" : "Create network device configuration",
27937 "method" : "POST",
27938 "name" : "create_network",
7aacca6f 27939 "parameters" : {
44660702 27940 "additionalProperties" : 0,
7aacca6f 27941 "properties" : {
4d47f125
TL
27942 "address" : {
27943 "description" : "IP address.",
27944 "format" : "ipv4",
27945 "optional" : 1,
27946 "requires" : "netmask",
27947 "type" : "string",
27948 "typetext" : "<string>"
27949 },
27950 "address6" : {
27951 "description" : "IP address.",
27952 "format" : "ipv6",
27953 "optional" : 1,
27954 "requires" : "netmask6",
27955 "type" : "string",
27956 "typetext" : "<string>"
27957 },
27958 "autostart" : {
27959 "description" : "Automatically start interface on boot.",
27960 "optional" : 1,
27961 "type" : "boolean",
27962 "typetext" : "<boolean>"
27963 },
27964 "bond_mode" : {
27965 "description" : "Bonding mode.",
27966 "enum" : [
27967 "balance-rr",
27968 "active-backup",
27969 "balance-xor",
27970 "broadcast",
27971 "802.3ad",
27972 "balance-tlb",
27973 "balance-alb",
27974 "balance-slb",
27975 "lacp-balance-slb",
27976 "lacp-balance-tcp"
27977 ],
27978 "optional" : 1,
27979 "type" : "string"
27980 },
27981 "bond_xmit_hash_policy" : {
27982 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
27983 "enum" : [
27984 "layer2",
27985 "layer2+3",
27986 "layer3+4"
27987 ],
27988 "optional" : 1,
27989 "type" : "string"
27990 },
27991 "bridge_ports" : {
27992 "description" : "Specify the iterfaces you want to add to your bridge.",
27993 "format" : "pve-iface-list",
27994 "optional" : 1,
013dc89f
DM
27995 "type" : "string",
27996 "typetext" : "<string>"
4d47f125
TL
27997 },
27998 "bridge_vlan_aware" : {
27999 "description" : "Enable bridge vlan support.",
44660702 28000 "optional" : 1,
013dc89f
DM
28001 "type" : "boolean",
28002 "typetext" : "<boolean>"
44660702 28003 },
4d47f125
TL
28004 "comments" : {
28005 "description" : "Comments",
28006 "optional" : 1,
28007 "type" : "string",
28008 "typetext" : "<string>"
28009 },
28010 "comments6" : {
28011 "description" : "Comments",
28012 "optional" : 1,
28013 "type" : "string",
28014 "typetext" : "<string>"
28015 },
28016 "gateway" : {
28017 "description" : "Default gateway address.",
28018 "format" : "ipv4",
28019 "optional" : 1,
28020 "type" : "string",
28021 "typetext" : "<string>"
28022 },
28023 "gateway6" : {
28024 "description" : "Default ipv6 gateway address.",
28025 "format" : "ipv6",
28026 "optional" : 1,
28027 "type" : "string",
28028 "typetext" : "<string>"
28029 },
28030 "iface" : {
28031 "description" : "Network interface name.",
28032 "format" : "pve-iface",
28033 "maxLength" : 20,
28034 "minLength" : 2,
28035 "type" : "string",
28036 "typetext" : "<string>"
28037 },
28038 "netmask" : {
28039 "description" : "Network mask.",
28040 "format" : "ipv4mask",
28041 "optional" : 1,
28042 "requires" : "address",
28043 "type" : "string",
28044 "typetext" : "<string>"
28045 },
28046 "netmask6" : {
28047 "description" : "Network mask.",
28048 "maximum" : 128,
28049 "minimum" : 0,
28050 "optional" : 1,
28051 "requires" : "address6",
28052 "type" : "integer",
28053 "typetext" : "<integer> (0 - 128)"
28054 },
7aacca6f 28055 "node" : {
7aacca6f 28056 "description" : "The cluster node name.",
44660702 28057 "format" : "pve-node",
013dc89f
DM
28058 "type" : "string",
28059 "typetext" : "<string>"
4d47f125
TL
28060 },
28061 "ovs_bonds" : {
28062 "description" : "Specify the interfaces used by the bonding device.",
28063 "format" : "pve-iface-list",
28064 "optional" : 1,
28065 "type" : "string",
28066 "typetext" : "<string>"
28067 },
28068 "ovs_bridge" : {
28069 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
28070 "format" : "pve-iface",
28071 "optional" : 1,
28072 "type" : "string",
28073 "typetext" : "<string>"
28074 },
28075 "ovs_options" : {
28076 "description" : "OVS interface options.",
28077 "maxLength" : 1024,
28078 "optional" : 1,
28079 "type" : "string",
28080 "typetext" : "<string>"
28081 },
28082 "ovs_ports" : {
28083 "description" : "Specify the iterfaces you want to add to your bridge.",
28084 "format" : "pve-iface-list",
28085 "optional" : 1,
28086 "type" : "string",
28087 "typetext" : "<string>"
28088 },
28089 "ovs_tag" : {
28090 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
28091 "maximum" : 4094,
28092 "minimum" : 1,
28093 "optional" : 1,
28094 "type" : "integer",
28095 "typetext" : "<integer> (1 - 4094)"
28096 },
28097 "slaves" : {
28098 "description" : "Specify the interfaces used by the bonding device.",
28099 "format" : "pve-iface-list",
28100 "optional" : 1,
28101 "type" : "string",
28102 "typetext" : "<string>"
28103 },
28104 "type" : {
28105 "description" : "Network interface type",
28106 "enum" : [
28107 "bridge",
28108 "bond",
28109 "eth",
28110 "alias",
28111 "vlan",
28112 "OVSBridge",
28113 "OVSBond",
28114 "OVSPort",
28115 "OVSIntPort",
28116 "unknown"
28117 ],
28118 "type" : "string"
7aacca6f
DM
28119 }
28120 }
28121 },
35a75dd3
DM
28122 "permissions" : {
28123 "check" : [
28124 "perm",
28125 "/nodes/{node}",
28126 [
28127 "Sys.Modify"
28128 ]
28129 ]
28130 },
7aacca6f 28131 "protected" : 1,
7aacca6f 28132 "proxyto" : "node",
44660702
DM
28133 "returns" : {
28134 "type" : "null"
28135 }
28136 },
28137 "PUT" : {
4d47f125 28138 "description" : "Reload network configuration",
44660702 28139 "method" : "PUT",
4d47f125 28140 "name" : "reload_network_config",
7aacca6f
DM
28141 "parameters" : {
28142 "additionalProperties" : 0,
28143 "properties" : {
7aacca6f 28144 "node" : {
7aacca6f 28145 "description" : "The cluster node name.",
44660702 28146 "format" : "pve-node",
013dc89f
DM
28147 "type" : "string",
28148 "typetext" : "<string>"
7aacca6f
DM
28149 }
28150 }
28151 },
35a75dd3
DM
28152 "permissions" : {
28153 "check" : [
28154 "perm",
28155 "/nodes/{node}",
28156 [
28157 "Sys.Modify"
28158 ]
28159 ]
28160 },
44660702
DM
28161 "protected" : 1,
28162 "proxyto" : "node",
7aacca6f 28163 "returns" : {
4d47f125 28164 "type" : "string"
44660702 28165 }
7aacca6f
DM
28166 }
28167 },
4d47f125
TL
28168 "leaf" : 0,
28169 "path" : "/nodes/{node}/network",
28170 "text" : "network"
7aacca6f
DM
28171 },
28172 {
7aacca6f
DM
28173 "children" : [
28174 {
4d47f125
TL
28175 "children" : [
28176 {
28177 "info" : {
28178 "GET" : {
28179 "description" : "Read task log.",
28180 "method" : "GET",
28181 "name" : "read_task_log",
28182 "parameters" : {
28183 "additionalProperties" : 0,
28184 "properties" : {
28185 "limit" : {
28186 "default" : 50,
28187 "minimum" : 0,
28188 "optional" : 1,
28189 "type" : "integer",
28190 "typetext" : "<integer> (0 - N)"
28191 },
28192 "node" : {
28193 "description" : "The cluster node name.",
28194 "format" : "pve-node",
28195 "type" : "string",
28196 "typetext" : "<string>"
28197 },
28198 "start" : {
28199 "default" : 0,
28200 "minimum" : 0,
28201 "optional" : 1,
28202 "type" : "integer",
28203 "typetext" : "<integer> (0 - N)"
28204 },
28205 "upid" : {
28206 "type" : "string",
28207 "typetext" : "<string>"
28208 }
28209 }
28210 },
28211 "permissions" : {
28212 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
28213 "user" : "all"
28214 },
28215 "protected" : 1,
28216 "proxyto" : "node",
28217 "returns" : {
28218 "items" : {
28219 "properties" : {
28220 "n" : {
28221 "description" : "Line number",
28222 "type" : "integer"
28223 },
28224 "t" : {
28225 "description" : "Line text",
28226 "type" : "string"
28227 }
28228 },
28229 "type" : "object"
28230 },
28231 "type" : "array"
28232 }
28233 }
28234 },
28235 "leaf" : 1,
28236 "path" : "/nodes/{node}/tasks/{upid}/log",
28237 "text" : "log"
28238 },
28239 {
28240 "info" : {
28241 "GET" : {
28242 "description" : "Read task status.",
28243 "method" : "GET",
28244 "name" : "read_task_status",
28245 "parameters" : {
28246 "additionalProperties" : 0,
28247 "properties" : {
28248 "node" : {
28249 "description" : "The cluster node name.",
28250 "format" : "pve-node",
28251 "type" : "string",
28252 "typetext" : "<string>"
28253 },
28254 "upid" : {
28255 "type" : "string",
28256 "typetext" : "<string>"
28257 }
28258 }
28259 },
28260 "permissions" : {
28261 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
28262 "user" : "all"
28263 },
28264 "protected" : 1,
28265 "proxyto" : "node",
28266 "returns" : {
28267 "properties" : {
28268 "pid" : {
28269 "type" : "integer"
28270 },
28271 "status" : {
28272 "enum" : [
28273 "running",
28274 "stopped"
28275 ],
28276 "type" : "string"
28277 }
28278 },
28279 "type" : "object"
28280 }
28281 }
28282 },
28283 "leaf" : 1,
28284 "path" : "/nodes/{node}/tasks/{upid}/status",
28285 "text" : "status"
28286 }
28287 ],
56122987 28288 "info" : {
7aacca6f 28289 "DELETE" : {
4d47f125 28290 "description" : "Stop a task.",
44660702 28291 "method" : "DELETE",
4d47f125 28292 "name" : "stop_task",
44660702
DM
28293 "parameters" : {
28294 "additionalProperties" : 0,
28295 "properties" : {
44660702
DM
28296 "node" : {
28297 "description" : "The cluster node name.",
28298 "format" : "pve-node",
013dc89f
DM
28299 "type" : "string",
28300 "typetext" : "<string>"
4d47f125
TL
28301 },
28302 "upid" : {
28303 "type" : "string",
28304 "typetext" : "<string>"
44660702
DM
28305 }
28306 }
7aacca6f
DM
28307 },
28308 "permissions" : {
4d47f125
TL
28309 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
28310 "user" : "all"
7aacca6f 28311 },
44660702 28312 "protected" : 1,
7aacca6f 28313 "proxyto" : "node",
44660702
DM
28314 "returns" : {
28315 "type" : "null"
28316 }
28317 },
28318 "GET" : {
4d47f125 28319 "description" : "",
44660702 28320 "method" : "GET",
4d47f125 28321 "name" : "upid_index",
7aacca6f
DM
28322 "parameters" : {
28323 "additionalProperties" : 0,
28324 "properties" : {
7aacca6f 28325 "node" : {
44660702 28326 "description" : "The cluster node name.",
7aacca6f 28327 "format" : "pve-node",
013dc89f
DM
28328 "type" : "string",
28329 "typetext" : "<string>"
7aacca6f 28330 },
4d47f125
TL
28331 "upid" : {
28332 "type" : "string",
28333 "typetext" : "<string>"
7aacca6f
DM
28334 }
28335 }
28336 },
7aacca6f 28337 "permissions" : {
4d47f125 28338 "user" : "all"
7aacca6f
DM
28339 },
28340 "returns" : {
4d47f125
TL
28341 "items" : {
28342 "properties" : {},
28343 "type" : "object"
28344 },
28345 "links" : [
28346 {
28347 "href" : "{name}",
28348 "rel" : "child"
28349 }
28350 ],
28351 "type" : "array"
44660702 28352 }
7aacca6f
DM
28353 }
28354 },
4d47f125
TL
28355 "leaf" : 0,
28356 "path" : "/nodes/{node}/tasks/{upid}",
28357 "text" : "{upid}"
7aacca6f
DM
28358 }
28359 ],
7aacca6f 28360 "info" : {
44660702 28361 "GET" : {
4d47f125 28362 "description" : "Read task list for one node (finished tasks).",
44660702 28363 "method" : "GET",
4d47f125 28364 "name" : "node_tasks",
44660702
DM
28365 "parameters" : {
28366 "additionalProperties" : 0,
28367 "properties" : {
4d47f125
TL
28368 "errors" : {
28369 "default" : 0,
7aacca6f 28370 "optional" : 1,
4d47f125
TL
28371 "type" : "boolean",
28372 "typetext" : "<boolean>"
7aacca6f 28373 },
4d47f125
TL
28374 "limit" : {
28375 "default" : 50,
28376 "description" : "Only list this amount of tasks.",
28377 "minimum" : 0,
44660702 28378 "optional" : 1,
4d47f125
TL
28379 "type" : "integer",
28380 "typetext" : "<integer> (0 - N)"
28381 },
28382 "node" : {
28383 "description" : "The cluster node name.",
28384 "format" : "pve-node",
013dc89f
DM
28385 "type" : "string",
28386 "typetext" : "<string>"
44660702 28387 },
5f26e15b
TL
28388 "source" : {
28389 "default" : "archive",
28390 "description" : "List archived, active or all tasks.",
28391 "enum" : [
28392 "archive",
28393 "active",
28394 "all"
28395 ],
28396 "optional" : 1,
28397 "type" : "string"
28398 },
4d47f125
TL
28399 "start" : {
28400 "default" : 0,
28401 "description" : "List tasks beginning from this offset.",
28402 "minimum" : 0,
44660702 28403 "optional" : 1,
4d47f125
TL
28404 "type" : "integer",
28405 "typetext" : "<integer> (0 - N)"
44660702 28406 },
5f26e15b
TL
28407 "typefilter" : {
28408 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
28409 "optional" : 1,
28410 "type" : "string",
28411 "typetext" : "<string>"
28412 },
4d47f125
TL
28413 "userfilter" : {
28414 "description" : "Only list tasks from this user.",
44660702 28415 "optional" : 1,
013dc89f
DM
28416 "type" : "string",
28417 "typetext" : "<string>"
44660702 28418 },
4d47f125
TL
28419 "vmid" : {
28420 "description" : "Only list tasks for this VM.",
28421 "format" : "pve-vmid",
44660702
DM
28422 "minimum" : 1,
28423 "optional" : 1,
4bd7df8b 28424 "type" : "integer",
4d47f125
TL
28425 "typetext" : "<integer> (1 - N)"
28426 }
28427 }
28428 },
28429 "permissions" : {
28430 "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).",
28431 "user" : "all"
28432 },
28433 "proxyto" : "node",
28434 "returns" : {
28435 "items" : {
28436 "properties" : {
28437 "endtime" : {
28438 "optional" : 1,
28439 "title" : "Endtime",
28440 "type" : "integer"
28441 },
28442 "id" : {
4d47f125
TL
28443 "title" : "ID",
28444 "type" : "string"
28445 },
28446 "node" : {
4d47f125
TL
28447 "title" : "Node",
28448 "type" : "string"
28449 },
28450 "pid" : {
4d47f125
TL
28451 "title" : "PID",
28452 "type" : "integer"
28453 },
28454 "pstart" : {
4d47f125
TL
28455 "type" : "integer"
28456 },
28457 "starttime" : {
4d47f125
TL
28458 "title" : "Starttime",
28459 "type" : "integer"
28460 },
28461 "status" : {
28462 "optional" : 1,
28463 "title" : "Status",
28464 "type" : "string"
28465 },
28466 "type" : {
4d47f125
TL
28467 "title" : "Type",
28468 "type" : "string"
28469 },
28470 "upid" : {
28471 "title" : "UPID",
28472 "type" : "string"
28473 },
28474 "user" : {
4d47f125
TL
28475 "title" : "User",
28476 "type" : "string"
28477 }
44660702 28478 },
4d47f125
TL
28479 "type" : "object"
28480 },
28481 "links" : [
28482 {
28483 "href" : "{upid}",
28484 "rel" : "child"
28485 }
28486 ],
28487 "type" : "array"
28488 }
28489 }
28490 },
28491 "leaf" : 0,
28492 "path" : "/nodes/{node}/tasks",
28493 "text" : "tasks"
28494 },
28495 {
28496 "children" : [
28497 {
28498 "info" : {
28499 "GET" : {
28500 "description" : "Scan zfs pool list on local node.",
28501 "method" : "GET",
28502 "name" : "zfsscan",
28503 "parameters" : {
28504 "additionalProperties" : 0,
28505 "properties" : {
28506 "node" : {
28507 "description" : "The cluster node name.",
28508 "format" : "pve-node",
28509 "type" : "string",
28510 "typetext" : "<string>"
28511 }
28512 }
44660702 28513 },
4d47f125
TL
28514 "permissions" : {
28515 "check" : [
28516 "perm",
28517 "/storage",
28518 [
28519 "Datastore.Allocate"
28520 ]
28521 ]
28522 },
28523 "protected" : 1,
28524 "proxyto" : "node",
28525 "returns" : {
28526 "items" : {
28527 "properties" : {
28528 "pool" : {
28529 "description" : "ZFS pool name.",
28530 "type" : "string"
28531 }
28532 },
28533 "type" : "object"
28534 },
28535 "type" : "array"
28536 }
28537 }
28538 },
28539 "leaf" : 1,
28540 "path" : "/nodes/{node}/scan/zfs",
28541 "text" : "zfs"
28542 },
28543 {
28544 "info" : {
28545 "GET" : {
28546 "description" : "Scan remote NFS server.",
28547 "method" : "GET",
28548 "name" : "nfsscan",
28549 "parameters" : {
28550 "additionalProperties" : 0,
28551 "properties" : {
28552 "node" : {
28553 "description" : "The cluster node name.",
28554 "format" : "pve-node",
28555 "type" : "string",
28556 "typetext" : "<string>"
28557 },
28558 "server" : {
28559 "description" : "The server address (name or IP).",
28560 "format" : "pve-storage-server",
28561 "type" : "string",
28562 "typetext" : "<string>"
28563 }
28564 }
28565 },
28566 "permissions" : {
28567 "check" : [
28568 "perm",
28569 "/storage",
28570 [
28571 "Datastore.Allocate"
28572 ]
28573 ]
28574 },
28575 "protected" : 1,
28576 "proxyto" : "node",
28577 "returns" : {
28578 "items" : {
28579 "properties" : {
28580 "options" : {
28581 "description" : "NFS export options.",
28582 "type" : "string"
28583 },
28584 "path" : {
28585 "description" : "The exported path.",
28586 "type" : "string"
28587 }
28588 },
28589 "type" : "object"
28590 },
28591 "type" : "array"
28592 }
28593 }
28594 },
28595 "leaf" : 1,
28596 "path" : "/nodes/{node}/scan/nfs",
28597 "text" : "nfs"
28598 },
28599 {
28600 "info" : {
28601 "GET" : {
28602 "description" : "Scan remote CIFS server.",
28603 "method" : "GET",
28604 "name" : "cifsscan",
28605 "parameters" : {
28606 "additionalProperties" : 0,
28607 "properties" : {
28608 "domain" : {
28609 "description" : "SMB domain (Workgroup).",
28610 "optional" : 1,
28611 "type" : "string",
28612 "typetext" : "<string>"
28613 },
28614 "node" : {
28615 "description" : "The cluster node name.",
28616 "format" : "pve-node",
28617 "type" : "string",
28618 "typetext" : "<string>"
28619 },
28620 "password" : {
28621 "description" : "User password.",
28622 "optional" : 1,
28623 "type" : "string",
28624 "typetext" : "<string>"
28625 },
28626 "server" : {
28627 "description" : "The server address (name or IP).",
28628 "format" : "pve-storage-server",
28629 "type" : "string",
28630 "typetext" : "<string>"
28631 },
28632 "username" : {
28633 "description" : "User name.",
28634 "optional" : 1,
28635 "type" : "string",
28636 "typetext" : "<string>"
28637 }
28638 }
28639 },
28640 "permissions" : {
28641 "check" : [
28642 "perm",
28643 "/storage",
28644 [
28645 "Datastore.Allocate"
28646 ]
28647 ]
28648 },
28649 "protected" : 1,
28650 "proxyto" : "node",
28651 "returns" : {
28652 "items" : {
28653 "properties" : {
28654 "description" : {
28655 "description" : "Descriptive text from server.",
28656 "type" : "string"
28657 },
28658 "share" : {
28659 "description" : "The cifs share name.",
28660 "type" : "string"
28661 }
28662 },
28663 "type" : "object"
28664 },
28665 "type" : "array"
56122987 28666 }
44660702 28667 }
56122987 28668 },
4d47f125
TL
28669 "leaf" : 1,
28670 "path" : "/nodes/{node}/scan/cifs",
28671 "text" : "cifs"
28672 },
44660702 28673 {
4d47f125
TL
28674 "info" : {
28675 "GET" : {
28676 "description" : "Scan remote GlusterFS server.",
28677 "method" : "GET",
28678 "name" : "glusterfsscan",
28679 "parameters" : {
28680 "additionalProperties" : 0,
28681 "properties" : {
28682 "node" : {
28683 "description" : "The cluster node name.",
28684 "format" : "pve-node",
28685 "type" : "string",
28686 "typetext" : "<string>"
7aacca6f 28687 },
4d47f125
TL
28688 "server" : {
28689 "description" : "The server address (name or IP).",
28690 "format" : "pve-storage-server",
28691 "type" : "string",
28692 "typetext" : "<string>"
44660702 28693 }
7aacca6f 28694 }
56122987 28695 },
4d47f125
TL
28696 "permissions" : {
28697 "check" : [
28698 "perm",
28699 "/storage",
28700 [
28701 "Datastore.Allocate"
28702 ]
28703 ]
28704 },
28705 "protected" : 1,
28706 "proxyto" : "node",
28707 "returns" : {
28708 "items" : {
28709 "properties" : {
28710 "volname" : {
28711 "description" : "The volume name.",
28712 "type" : "string"
7aacca6f
DM
28713 }
28714 },
4d47f125
TL
28715 "type" : "object"
28716 },
28717 "type" : "array"
28718 }
28719 }
28720 },
28721 "leaf" : 1,
28722 "path" : "/nodes/{node}/scan/glusterfs",
28723 "text" : "glusterfs"
28724 },
28725 {
28726 "info" : {
28727 "GET" : {
28728 "description" : "Scan remote iSCSI server.",
28729 "method" : "GET",
28730 "name" : "iscsiscan",
28731 "parameters" : {
28732 "additionalProperties" : 0,
28733 "properties" : {
28734 "node" : {
28735 "description" : "The cluster node name.",
28736 "format" : "pve-node",
28737 "type" : "string",
28738 "typetext" : "<string>"
56122987 28739 },
4d47f125
TL
28740 "portal" : {
28741 "description" : "The iSCSI portal (IP or DNS name with optional port).",
28742 "format" : "pve-storage-portal-dns",
28743 "type" : "string",
28744 "typetext" : "<string>"
28745 }
28746 }
28747 },
28748 "permissions" : {
28749 "check" : [
28750 "perm",
28751 "/storage",
28752 [
28753 "Datastore.Allocate"
28754 ]
28755 ]
28756 },
28757 "protected" : 1,
28758 "proxyto" : "node",
28759 "returns" : {
28760 "items" : {
28761 "properties" : {
28762 "portal" : {
28763 "description" : "The iSCSI portal name.",
28764 "type" : "string"
7aacca6f 28765 },
4d47f125
TL
28766 "target" : {
28767 "description" : "The iSCSI target name.",
28768 "type" : "string"
28769 }
28770 },
28771 "type" : "object"
28772 },
28773 "type" : "array"
28774 }
28775 }
28776 },
28777 "leaf" : 1,
28778 "path" : "/nodes/{node}/scan/iscsi",
28779 "text" : "iscsi"
28780 },
28781 {
28782 "info" : {
28783 "GET" : {
28784 "description" : "List local LVM volume groups.",
28785 "method" : "GET",
28786 "name" : "lvmscan",
28787 "parameters" : {
28788 "additionalProperties" : 0,
28789 "properties" : {
28790 "node" : {
28791 "description" : "The cluster node name.",
28792 "format" : "pve-node",
28793 "type" : "string",
28794 "typetext" : "<string>"
56122987 28795 }
7aacca6f 28796 }
44660702 28797 },
4d47f125
TL
28798 "permissions" : {
28799 "check" : [
28800 "perm",
28801 "/storage",
28802 [
28803 "Datastore.Allocate"
28804 ]
28805 ]
28806 },
28807 "protected" : 1,
28808 "proxyto" : "node",
28809 "returns" : {
28810 "items" : {
28811 "properties" : {
28812 "vg" : {
28813 "description" : "The LVM logical volume group name.",
28814 "type" : "string"
28815 }
28816 },
28817 "type" : "object"
28818 },
28819 "type" : "array"
28820 }
56122987 28821 }
4d47f125
TL
28822 },
28823 "leaf" : 1,
28824 "path" : "/nodes/{node}/scan/lvm",
28825 "text" : "lvm"
28826 },
28827 {
44660702 28828 "info" : {
4d47f125
TL
28829 "GET" : {
28830 "description" : "List local LVM Thin Pools.",
28831 "method" : "GET",
28832 "name" : "lvmthinscan",
44660702
DM
28833 "parameters" : {
28834 "additionalProperties" : 0,
28835 "properties" : {
28836 "node" : {
28837 "description" : "The cluster node name.",
28838 "format" : "pve-node",
013dc89f
DM
28839 "type" : "string",
28840 "typetext" : "<string>"
44660702 28841 },
4d47f125
TL
28842 "vg" : {
28843 "maxLength" : 100,
28844 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
28845 "type" : "string"
44660702 28846 }
7aacca6f 28847 }
44660702
DM
28848 },
28849 "permissions" : {
4d47f125
TL
28850 "check" : [
28851 "perm",
28852 "/storage",
28853 [
28854 "Datastore.Allocate"
28855 ]
28856 ]
44660702
DM
28857 },
28858 "protected" : 1,
28859 "proxyto" : "node",
28860 "returns" : {
4d47f125
TL
28861 "items" : {
28862 "properties" : {
28863 "lv" : {
28864 "description" : "The LVM Thin Pool name (LVM logical volume).",
28865 "type" : "string"
28866 }
28867 },
28868 "type" : "object"
28869 },
28870 "type" : "array"
7aacca6f 28871 }
4d47f125
TL
28872 }
28873 },
28874 "leaf" : 1,
28875 "path" : "/nodes/{node}/scan/lvmthin",
28876 "text" : "lvmthin"
28877 },
28878 {
28879 "info" : {
44660702 28880 "GET" : {
4d47f125 28881 "description" : "List local USB devices.",
44660702 28882 "method" : "GET",
4d47f125 28883 "name" : "usbscan",
44660702
DM
28884 "parameters" : {
28885 "additionalProperties" : 0,
28886 "properties" : {
28887 "node" : {
28888 "description" : "The cluster node name.",
28889 "format" : "pve-node",
013dc89f
DM
28890 "type" : "string",
28891 "typetext" : "<string>"
44660702
DM
28892 }
28893 }
28894 },
28895 "permissions" : {
4d47f125
TL
28896 "check" : [
28897 "perm",
28898 "/",
28899 [
28900 "Sys.Modify"
28901 ]
28902 ]
44660702 28903 },
4d47f125
TL
28904 "protected" : 1,
28905 "proxyto" : "node",
44660702
DM
28906 "returns" : {
28907 "items" : {
4d47f125
TL
28908 "properties" : {
28909 "busnum" : {
28910 "type" : "integer"
28911 },
28912 "class" : {
28913 "type" : "integer"
28914 },
28915 "devnum" : {
28916 "type" : "integer"
28917 },
28918 "level" : {
28919 "type" : "integer"
28920 },
28921 "manufacturer" : {
28922 "optional" : 1,
28923 "type" : "string"
28924 },
28925 "port" : {
28926 "type" : "integer"
28927 },
28928 "prodid" : {
28929 "type" : "string"
28930 },
28931 "product" : {
28932 "optional" : 1,
28933 "type" : "string"
28934 },
28935 "serial" : {
28936 "optional" : 1,
28937 "type" : "string"
28938 },
28939 "speed" : {
28940 "type" : "string"
28941 },
28942 "usbpath" : {
28943 "optional" : 1,
28944 "type" : "string"
28945 },
28946 "vendid" : {
28947 "type" : "string"
28948 }
28949 },
44660702
DM
28950 "type" : "object"
28951 },
44660702 28952 "type" : "array"
56122987 28953 }
44660702 28954 }
56122987 28955 },
4d47f125
TL
28956 "leaf" : 1,
28957 "path" : "/nodes/{node}/scan/usb",
28958 "text" : "usb"
44660702
DM
28959 }
28960 ],
28961 "info" : {
28962 "GET" : {
4d47f125 28963 "description" : "Index of available scan methods",
44660702 28964 "method" : "GET",
4d47f125 28965 "name" : "index",
56122987 28966 "parameters" : {
7aacca6f 28967 "additionalProperties" : 0,
56122987 28968 "properties" : {
56122987
DM
28969 "node" : {
28970 "description" : "The cluster node name.",
44660702 28971 "format" : "pve-node",
013dc89f
DM
28972 "type" : "string",
28973 "typetext" : "<string>"
56122987
DM
28974 }
28975 }
28976 },
7aacca6f
DM
28977 "permissions" : {
28978 "user" : "all"
28979 },
56122987
DM
28980 "returns" : {
28981 "items" : {
28982 "properties" : {
4d47f125 28983 "method" : {
56122987
DM
28984 "type" : "string"
28985 }
28986 },
28987 "type" : "object"
28988 },
56122987
DM
28989 "links" : [
28990 {
4d47f125 28991 "href" : "{method}",
44660702 28992 "rel" : "child"
56122987 28993 }
44660702
DM
28994 ],
28995 "type" : "array"
56122987
DM
28996 }
28997 }
28998 },
44660702 28999 "leaf" : 0,
4d47f125
TL
29000 "path" : "/nodes/{node}/scan",
29001 "text" : "scan"
44660702 29002 },
e2d681b3
TL
29003 {
29004 "children" : [
29005 {
29006 "children" : [
29007 {
29008 "children" : [
29009 {
29010 "info" : {
29011 "GET" : {
29012 "description" : "List mediated device types for given PCI device.",
29013 "method" : "GET",
29014 "name" : "mdevscan",
29015 "parameters" : {
29016 "additionalProperties" : 0,
29017 "properties" : {
29018 "node" : {
29019 "description" : "The cluster node name.",
29020 "format" : "pve-node",
29021 "type" : "string",
29022 "typetext" : "<string>"
29023 },
29024 "pciid" : {
29025 "description" : "The PCI ID to list the mdev types for.",
29026 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
29027 "type" : "string"
29028 }
29029 }
29030 },
29031 "permissions" : {
29032 "check" : [
29033 "perm",
29034 "/",
29035 [
29036 "Sys.Modify"
29037 ]
29038 ]
29039 },
29040 "protected" : 1,
29041 "proxyto" : "node",
29042 "returns" : {
29043 "items" : {
29044 "properties" : {
29045 "available" : {
29046 "description" : "The number of still available instances of this type.",
29047 "type" : "integer"
29048 },
29049 "description" : {
29050 "type" : "string"
29051 },
29052 "type" : {
29053 "description" : "The name of the mdev type.",
29054 "type" : "string"
29055 }
29056 },
29057 "type" : "object"
29058 },
29059 "type" : "array"
29060 }
29061 }
29062 },
29063 "leaf" : 1,
29064 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
29065 "text" : "mdev"
29066 }
29067 ],
29068 "info" : {
29069 "GET" : {
29070 "description" : "Index of available pci methods",
29071 "method" : "GET",
29072 "name" : "pciindex",
29073 "parameters" : {
29074 "additionalProperties" : 0,
29075 "properties" : {
29076 "node" : {
29077 "description" : "The cluster node name.",
29078 "format" : "pve-node",
29079 "type" : "string",
29080 "typetext" : "<string>"
29081 },
29082 "pciid" : {
29083 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
29084 "type" : "string"
29085 }
29086 }
29087 },
29088 "permissions" : {
29089 "user" : "all"
29090 },
29091 "returns" : {
29092 "items" : {
29093 "properties" : {
29094 "method" : {
29095 "type" : "string"
29096 }
29097 },
29098 "type" : "object"
29099 },
29100 "links" : [
29101 {
29102 "href" : "{method}",
29103 "rel" : "child"
29104 }
29105 ],
29106 "type" : "array"
29107 }
29108 }
29109 },
29110 "leaf" : 0,
29111 "path" : "/nodes/{node}/hardware/pci/{pciid}",
29112 "text" : "{pciid}"
29113 }
29114 ],
29115 "info" : {
29116 "GET" : {
29117 "description" : "List local PCI devices.",
29118 "method" : "GET",
29119 "name" : "pciscan",
29120 "parameters" : {
29121 "additionalProperties" : 0,
29122 "properties" : {
29123 "node" : {
29124 "description" : "The cluster node name.",
29125 "format" : "pve-node",
29126 "type" : "string",
29127 "typetext" : "<string>"
29128 },
29129 "pci-class-blacklist" : {
29130 "default" : "05;06;08;0b",
29131 "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).",
29132 "format" : "string-list",
29133 "optional" : 1,
29134 "type" : "string",
29135 "typetext" : "<string>"
29136 },
29137 "verbose" : {
29138 "default" : 1,
29139 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
29140 "optional" : 1,
29141 "type" : "boolean",
29142 "typetext" : "<boolean>"
29143 }
29144 }
29145 },
29146 "permissions" : {
29147 "check" : [
29148 "perm",
29149 "/",
29150 [
29151 "Sys.Modify"
29152 ]
29153 ]
29154 },
29155 "protected" : 1,
29156 "proxyto" : "node",
29157 "returns" : {
29158 "items" : {
29159 "properties" : {
29160 "class" : {
29161 "description" : "The PCI Class of the device.",
29162 "type" : "string"
29163 },
29164 "device" : {
29165 "description" : "The Device ID.",
29166 "type" : "string"
29167 },
29168 "device_name" : {
29169 "optional" : 1,
29170 "type" : "string"
29171 },
29172 "id" : {
29173 "description" : "The PCI ID.",
29174 "type" : "string"
29175 },
29176 "iommugroup" : {
29177 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
29178 "type" : "integer"
29179 },
29180 "mdev" : {
29181 "description" : "If set, marks that the device is capable of creating mediated devices.",
29182 "optional" : 1,
29183 "type" : "boolean"
29184 },
29185 "subsystem_device" : {
29186 "description" : "The Subsystem Device ID.",
29187 "optional" : 1,
29188 "type" : "string"
29189 },
29190 "subsystem_device_name" : {
29191 "optional" : 1,
29192 "type" : "string"
29193 },
29194 "subsystem_vendor" : {
29195 "description" : "The Subsystem Vendor ID.",
29196 "optional" : 1,
29197 "type" : "string"
29198 },
29199 "subsystem_vendor_name" : {
29200 "optional" : 1,
29201 "type" : "string"
29202 },
29203 "vendor" : {
29204 "description" : "The Vendor ID.",
29205 "type" : "string"
29206 },
29207 "vendor_name" : {
29208 "optional" : 1,
29209 "type" : "string"
29210 }
29211 },
29212 "type" : "object"
29213 },
29214 "links" : [
29215 {
29216 "href" : "{id}",
29217 "rel" : "child"
29218 }
29219 ],
29220 "type" : "array"
29221 }
29222 }
29223 },
29224 "leaf" : 0,
29225 "path" : "/nodes/{node}/hardware/pci",
29226 "text" : "pci"
29227 }
29228 ],
29229 "info" : {
29230 "GET" : {
29231 "description" : "Index of hardware types",
29232 "method" : "GET",
29233 "name" : "index",
29234 "parameters" : {
29235 "additionalProperties" : 0,
29236 "properties" : {
29237 "node" : {
29238 "description" : "The cluster node name.",
29239 "format" : "pve-node",
29240 "type" : "string",
29241 "typetext" : "<string>"
29242 }
29243 }
29244 },
29245 "permissions" : {
29246 "user" : "all"
29247 },
29248 "returns" : {
29249 "items" : {
29250 "properties" : {
29251 "type" : {
29252 "type" : "string"
29253 }
29254 },
29255 "type" : "object"
29256 },
29257 "links" : [
29258 {
29259 "href" : "{type}",
29260 "rel" : "child"
29261 }
29262 ],
29263 "type" : "array"
29264 }
29265 }
29266 },
29267 "leaf" : 0,
29268 "path" : "/nodes/{node}/hardware",
29269 "text" : "hardware"
29270 },
44660702 29271 {
56122987
DM
29272 "children" : [
29273 {
4d47f125
TL
29274 "children" : [
29275 {
29276 "children" : [
29277 {
29278 "info" : {
29279 "DELETE" : {
29280 "description" : "Delete volume",
29281 "method" : "DELETE",
29282 "name" : "delete",
29283 "parameters" : {
29284 "additionalProperties" : 0,
29285 "properties" : {
29286 "node" : {
29287 "description" : "The cluster node name.",
29288 "format" : "pve-node",
29289 "type" : "string",
29290 "typetext" : "<string>"
29291 },
29292 "storage" : {
29293 "description" : "The storage identifier.",
29294 "format" : "pve-storage-id",
29295 "optional" : 1,
29296 "type" : "string",
29297 "typetext" : "<string>"
29298 },
29299 "volume" : {
29300 "description" : "Volume identifier",
29301 "type" : "string",
29302 "typetext" : "<string>"
29303 }
29304 }
29305 },
29306 "permissions" : {
29307 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
29308 "user" : "all"
29309 },
29310 "protected" : 1,
29311 "proxyto" : "node",
29312 "returns" : {
29313 "type" : "null"
29314 }
29315 },
29316 "GET" : {
29317 "description" : "Get volume attributes",
29318 "method" : "GET",
29319 "name" : "info",
29320 "parameters" : {
29321 "additionalProperties" : 0,
29322 "properties" : {
29323 "node" : {
29324 "description" : "The cluster node name.",
29325 "format" : "pve-node",
29326 "type" : "string",
29327 "typetext" : "<string>"
29328 },
29329 "storage" : {
29330 "description" : "The storage identifier.",
29331 "format" : "pve-storage-id",
29332 "optional" : 1,
29333 "type" : "string",
29334 "typetext" : "<string>"
29335 },
29336 "volume" : {
29337 "description" : "Volume identifier",
29338 "type" : "string",
29339 "typetext" : "<string>"
29340 }
29341 }
29342 },
29343 "permissions" : {
29344 "description" : "You need read access for the volume.",
29345 "user" : "all"
29346 },
29347 "protected" : 1,
29348 "proxyto" : "node",
29349 "returns" : {
29350 "type" : "object"
29351 }
29352 },
29353 "POST" : {
29354 "description" : "Copy a volume. This is experimental code - do not use.",
29355 "method" : "POST",
29356 "name" : "copy",
29357 "parameters" : {
29358 "additionalProperties" : 0,
29359 "properties" : {
29360 "node" : {
29361 "description" : "The cluster node name.",
29362 "format" : "pve-node",
29363 "type" : "string",
29364 "typetext" : "<string>"
29365 },
29366 "storage" : {
29367 "description" : "The storage identifier.",
29368 "format" : "pve-storage-id",
29369 "optional" : 1,
29370 "type" : "string",
29371 "typetext" : "<string>"
29372 },
29373 "target" : {
29374 "description" : "Target volume identifier",
29375 "type" : "string",
29376 "typetext" : "<string>"
29377 },
29378 "target_node" : {
29379 "description" : "Target node. Default is local node.",
29380 "format" : "pve-node",
29381 "optional" : 1,
29382 "type" : "string",
29383 "typetext" : "<string>"
29384 },
29385 "volume" : {
29386 "description" : "Source volume identifier",
29387 "type" : "string",
29388 "typetext" : "<string>"
29389 }
29390 }
29391 },
29392 "protected" : 1,
29393 "proxyto" : "node",
29394 "returns" : {
29395 "type" : "string"
29396 }
29397 }
29398 },
29399 "leaf" : 1,
29400 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
29401 "text" : "{volume}"
44660702 29402 }
4d47f125
TL
29403 ],
29404 "info" : {
29405 "GET" : {
29406 "description" : "List storage content.",
29407 "method" : "GET",
29408 "name" : "index",
29409 "parameters" : {
29410 "additionalProperties" : 0,
29411 "properties" : {
29412 "content" : {
29413 "description" : "Only list content of this type.",
29414 "format" : "pve-storage-content",
29415 "optional" : 1,
29416 "type" : "string",
29417 "typetext" : "<string>"
29418 },
29419 "node" : {
29420 "description" : "The cluster node name.",
29421 "format" : "pve-node",
29422 "type" : "string",
29423 "typetext" : "<string>"
29424 },
29425 "storage" : {
29426 "description" : "The storage identifier.",
29427 "format" : "pve-storage-id",
29428 "type" : "string",
29429 "typetext" : "<string>"
29430 },
29431 "vmid" : {
29432 "description" : "Only list images for this VM",
29433 "format" : "pve-vmid",
29434 "minimum" : 1,
29435 "optional" : 1,
29436 "type" : "integer",
29437 "typetext" : "<integer> (1 - N)"
29438 }
56122987 29439 }
44660702 29440 },
4d47f125
TL
29441 "permissions" : {
29442 "check" : [
29443 "perm",
29444 "/storage/{storage}",
29445 [
29446 "Datastore.Audit",
29447 "Datastore.AllocateSpace"
29448 ],
29449 "any",
29450 1
29451 ]
7aacca6f 29452 },
4d47f125
TL
29453 "protected" : 1,
29454 "proxyto" : "node",
29455 "returns" : {
29456 "items" : {
29457 "properties" : {
29458 "format" : {
29459 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
29460 "type" : "string"
29461 },
29462 "parent" : {
29463 "description" : "Volume identifier of parent (for linked cloned).",
29464 "optional" : 1,
29465 "type" : "string"
29466 },
29467 "size" : {
29468 "description" : "Volume size in bytes.",
29469 "renderer" : "bytes",
29470 "type" : "integer"
29471 },
29472 "used" : {
29473 "description" : "Used space. Please note that most storage plugins does not report anything useful here.",
29474 "optional" : 1,
29475 "renderer" : "bytes",
29476 "type" : "integer"
29477 },
29478 "vmid" : {
29479 "description" : "Associated Owner VMID.",
29480 "optional" : 1,
29481 "type" : "integer"
29482 },
29483 "volid" : {
29484 "description" : "Volume identifier.",
29485 "type" : "string"
29486 }
29487 },
29488 "type" : "object"
44660702 29489 },
4d47f125
TL
29490 "links" : [
29491 {
29492 "href" : "{volid}",
29493 "rel" : "child"
29494 }
29495 ],
29496 "type" : "array"
29497 }
29498 },
29499 "POST" : {
29500 "description" : "Allocate disk images.",
29501 "method" : "POST",
29502 "name" : "create",
29503 "parameters" : {
29504 "additionalProperties" : 0,
29505 "properties" : {
29506 "filename" : {
29507 "description" : "The name of the file to create.",
29508 "type" : "string",
29509 "typetext" : "<string>"
29510 },
29511 "format" : {
29512 "enum" : [
29513 "raw",
29514 "qcow2",
29515 "subvol"
29516 ],
29517 "optional" : 1,
29518 "requires" : "size",
29519 "type" : "string"
29520 },
29521 "node" : {
29522 "description" : "The cluster node name.",
29523 "format" : "pve-node",
29524 "type" : "string",
29525 "typetext" : "<string>"
29526 },
29527 "size" : {
29528 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
29529 "pattern" : "\\d+[MG]?",
29530 "type" : "string"
29531 },
29532 "storage" : {
29533 "description" : "The storage identifier.",
29534 "format" : "pve-storage-id",
29535 "type" : "string",
29536 "typetext" : "<string>"
29537 },
29538 "vmid" : {
29539 "description" : "Specify owner VM",
29540 "format" : "pve-vmid",
29541 "minimum" : 1,
29542 "type" : "integer",
29543 "typetext" : "<integer> (1 - N)"
29544 }
44660702
DM
29545 }
29546 },
4d47f125
TL
29547 "permissions" : {
29548 "check" : [
29549 "perm",
29550 "/storage/{storage}",
29551 [
29552 "Datastore.AllocateSpace"
29553 ]
29554 ]
27a7acb2 29555 },
4d47f125
TL
29556 "protected" : 1,
29557 "proxyto" : "node",
29558 "returns" : {
29559 "description" : "Volume identifier",
29560 "type" : "string"
27a7acb2
DM
29561 }
29562 }
29563 },
4d47f125
TL
29564 "leaf" : 0,
29565 "path" : "/nodes/{node}/storage/{storage}/content",
29566 "text" : "content"
29567 },
29568 {
29569 "info" : {
29570 "GET" : {
29571 "description" : "Read storage status.",
29572 "method" : "GET",
29573 "name" : "read_status",
29574 "parameters" : {
29575 "additionalProperties" : 0,
29576 "properties" : {
29577 "node" : {
29578 "description" : "The cluster node name.",
29579 "format" : "pve-node",
29580 "type" : "string",
29581 "typetext" : "<string>"
29582 },
29583 "storage" : {
29584 "description" : "The storage identifier.",
29585 "format" : "pve-storage-id",
29586 "type" : "string",
29587 "typetext" : "<string>"
29588 }
27a7acb2
DM
29589 }
29590 },
4d47f125
TL
29591 "permissions" : {
29592 "check" : [
29593 "perm",
29594 "/storage/{storage}",
29595 [
29596 "Datastore.Audit",
29597 "Datastore.AllocateSpace"
29598 ],
29599 "any",
29600 1
29601 ]
7aacca6f 29602 },
4d47f125
TL
29603 "protected" : 1,
29604 "proxyto" : "node",
29605 "returns" : {
29606 "type" : "object"
56122987 29607 }
44660702
DM
29608 }
29609 },
4d47f125
TL
29610 "leaf" : 1,
29611 "path" : "/nodes/{node}/storage/{storage}/status",
29612 "text" : "status"
29613 },
29614 {
29615 "info" : {
29616 "GET" : {
29617 "description" : "Read storage RRD statistics (returns PNG).",
29618 "method" : "GET",
29619 "name" : "rrd",
29620 "parameters" : {
29621 "additionalProperties" : 0,
29622 "properties" : {
29623 "cf" : {
29624 "description" : "The RRD consolidation function",
29625 "enum" : [
29626 "AVERAGE",
29627 "MAX"
29628 ],
29629 "optional" : 1,
29630 "type" : "string"
29631 },
29632 "ds" : {
29633 "description" : "The list of datasources you want to display.",
29634 "format" : "pve-configid-list",
29635 "type" : "string",
29636 "typetext" : "<string>"
29637 },
29638 "node" : {
29639 "description" : "The cluster node name.",
29640 "format" : "pve-node",
29641 "type" : "string",
29642 "typetext" : "<string>"
29643 },
29644 "storage" : {
29645 "description" : "The storage identifier.",
29646 "format" : "pve-storage-id",
29647 "type" : "string",
29648 "typetext" : "<string>"
29649 },
29650 "timeframe" : {
29651 "description" : "Specify the time frame you are interested in.",
29652 "enum" : [
29653 "hour",
29654 "day",
29655 "week",
29656 "month",
29657 "year"
29658 ],
29659 "type" : "string"
29660 }
44660702
DM
29661 }
29662 },
4d47f125
TL
29663 "permissions" : {
29664 "check" : [
29665 "perm",
29666 "/storage/{storage}",
29667 [
29668 "Datastore.Audit",
29669 "Datastore.AllocateSpace"
29670 ],
29671 "any",
29672 1
29673 ]
29674 },
29675 "protected" : 1,
29676 "proxyto" : "node",
29677 "returns" : {
29678 "properties" : {
29679 "filename" : {
29680 "type" : "string"
29681 }
29682 },
29683 "type" : "object"
44660702
DM
29684 }
29685 }
29686 },
4d47f125
TL
29687 "leaf" : 1,
29688 "path" : "/nodes/{node}/storage/{storage}/rrd",
29689 "text" : "rrd"
29690 },
29691 {
29692 "info" : {
29693 "GET" : {
29694 "description" : "Read storage RRD statistics.",
29695 "method" : "GET",
29696 "name" : "rrddata",
29697 "parameters" : {
29698 "additionalProperties" : 0,
29699 "properties" : {
29700 "cf" : {
29701 "description" : "The RRD consolidation function",
29702 "enum" : [
29703 "AVERAGE",
29704 "MAX"
29705 ],
29706 "optional" : 1,
29707 "type" : "string"
29708 },
29709 "node" : {
29710 "description" : "The cluster node name.",
29711 "format" : "pve-node",
29712 "type" : "string",
29713 "typetext" : "<string>"
29714 },
29715 "storage" : {
29716 "description" : "The storage identifier.",
29717 "format" : "pve-storage-id",
29718 "type" : "string",
29719 "typetext" : "<string>"
29720 },
29721 "timeframe" : {
29722 "description" : "Specify the time frame you are interested in.",
29723 "enum" : [
29724 "hour",
29725 "day",
29726 "week",
29727 "month",
29728 "year"
29729 ],
29730 "type" : "string"
29731 }
56122987
DM
29732 }
29733 },
4d47f125
TL
29734 "permissions" : {
29735 "check" : [
29736 "perm",
29737 "/storage/{storage}",
29738 [
29739 "Datastore.Audit",
29740 "Datastore.AllocateSpace"
29741 ],
29742 "any",
29743 1
29744 ]
29745 },
29746 "protected" : 1,
29747 "proxyto" : "node",
29748 "returns" : {
29749 "items" : {
29750 "properties" : {},
29751 "type" : "object"
29752 },
29753 "type" : "array"
56122987 29754 }
7aacca6f 29755 }
56122987 29756 },
4d47f125
TL
29757 "leaf" : 1,
29758 "path" : "/nodes/{node}/storage/{storage}/rrddata",
29759 "text" : "rrddata"
29760 },
29761 {
29762 "info" : {
29763 "POST" : {
29764 "description" : "Upload templates and ISO images.",
29765 "method" : "POST",
29766 "name" : "upload",
29767 "parameters" : {
29768 "additionalProperties" : 0,
29769 "properties" : {
29770 "content" : {
29771 "description" : "Content type.",
29772 "format" : "pve-storage-content",
29773 "type" : "string",
29774 "typetext" : "<string>"
29775 },
29776 "filename" : {
29777 "description" : "The name of the file to create.",
29778 "type" : "string",
29779 "typetext" : "<string>"
29780 },
29781 "node" : {
29782 "description" : "The cluster node name.",
29783 "format" : "pve-node",
29784 "type" : "string",
29785 "typetext" : "<string>"
29786 },
29787 "storage" : {
29788 "description" : "The storage identifier.",
29789 "format" : "pve-storage-id",
29790 "type" : "string",
29791 "typetext" : "<string>"
29792 },
29793 "tmpfilename" : {
29794 "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.",
29795 "optional" : 1,
29796 "type" : "string",
29797 "typetext" : "<string>"
29798 }
44660702
DM
29799 }
29800 },
4d47f125
TL
29801 "permissions" : {
29802 "check" : [
29803 "perm",
29804 "/storage/{storage}",
29805 [
29806 "Datastore.AllocateTemplate"
29807 ]
29808 ]
56122987 29809 },
4d47f125
TL
29810 "protected" : 1,
29811 "returns" : {
44660702 29812 "type" : "string"
56122987 29813 }
44660702 29814 }
56122987 29815 },
4d47f125
TL
29816 "leaf" : 1,
29817 "path" : "/nodes/{node}/storage/{storage}/upload",
29818 "text" : "upload"
56122987 29819 }
4d47f125 29820 ],
56122987
DM
29821 "info" : {
29822 "GET" : {
4d47f125 29823 "description" : "",
44660702 29824 "method" : "GET",
4d47f125 29825 "name" : "diridx",
44660702
DM
29826 "parameters" : {
29827 "additionalProperties" : 0,
29828 "properties" : {
29829 "node" : {
29830 "description" : "The cluster node name.",
29831 "format" : "pve-node",
013dc89f
DM
29832 "type" : "string",
29833 "typetext" : "<string>"
4d47f125
TL
29834 },
29835 "storage" : {
29836 "description" : "The storage identifier.",
29837 "format" : "pve-storage-id",
29838 "type" : "string",
29839 "typetext" : "<string>"
44660702
DM
29840 }
29841 }
29842 },
7aacca6f
DM
29843 "permissions" : {
29844 "check" : [
29845 "perm",
4d47f125 29846 "/storage/{storage}",
7aacca6f 29847 [
4d47f125
TL
29848 "Datastore.Audit",
29849 "Datastore.AllocateSpace"
29850 ],
29851 "any",
29852 1
7aacca6f
DM
29853 ]
29854 },
56122987
DM
29855 "returns" : {
29856 "items" : {
29857 "properties" : {
4d47f125 29858 "subdir" : {
44660702 29859 "type" : "string"
56122987
DM
29860 }
29861 },
29862 "type" : "object"
7aacca6f 29863 },
4d47f125
TL
29864 "links" : [
29865 {
29866 "href" : "{subdir}",
29867 "rel" : "child"
29868 }
29869 ],
7aacca6f 29870 "type" : "array"
44660702
DM
29871 }
29872 }
29873 },
4d47f125
TL
29874 "leaf" : 0,
29875 "path" : "/nodes/{node}/storage/{storage}",
29876 "text" : "{storage}"
44660702
DM
29877 }
29878 ],
29879 "info" : {
29880 "GET" : {
4d47f125 29881 "description" : "Get status for all datastores.",
44660702
DM
29882 "method" : "GET",
29883 "name" : "index",
29884 "parameters" : {
29885 "additionalProperties" : 0,
29886 "properties" : {
4d47f125
TL
29887 "content" : {
29888 "description" : "Only list stores which support this content type.",
29889 "format" : "pve-storage-content-list",
29890 "optional" : 1,
29891 "type" : "string",
29892 "typetext" : "<string>"
29893 },
29894 "enabled" : {
29895 "default" : 0,
29896 "description" : "Only list stores which are enabled (not disabled in config).",
29897 "optional" : 1,
29898 "type" : "boolean",
29899 "typetext" : "<boolean>"
29900 },
29901 "format" : {
29902 "default" : 0,
29903 "description" : "Include information about formats",
29904 "optional" : 1,
29905 "type" : "boolean",
29906 "typetext" : "<boolean>"
29907 },
44660702
DM
29908 "node" : {
29909 "description" : "The cluster node name.",
29910 "format" : "pve-node",
013dc89f
DM
29911 "type" : "string",
29912 "typetext" : "<string>"
4d47f125
TL
29913 },
29914 "storage" : {
29915 "description" : "Only list status for specified storage",
29916 "format" : "pve-storage-id",
29917 "optional" : 1,
29918 "type" : "string",
29919 "typetext" : "<string>"
29920 },
29921 "target" : {
29922 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
29923 "format" : "pve-node",
29924 "optional" : 1,
29925 "type" : "string",
29926 "typetext" : "<string>"
44660702
DM
29927 }
29928 }
29929 },
4d47f125
TL
29930 "permissions" : {
29931 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
29932 "user" : "all"
29933 },
29934 "protected" : 1,
29935 "proxyto" : "node",
29936 "returns" : {
29937 "items" : {
29938 "properties" : {
29939 "active" : {
29940 "description" : "Set when storage is accessible.",
29941 "optional" : 1,
29942 "type" : "boolean"
29943 },
29944 "avail" : {
29945 "description" : "Available storage space in bytes.",
29946 "optional" : 1,
29947 "renderer" : "bytes",
29948 "type" : "integer"
29949 },
29950 "content" : {
29951 "description" : "Allowed storage content types.",
29952 "format" : "pve-storage-content-list",
29953 "type" : "string"
29954 },
29955 "enabled" : {
29956 "description" : "Set when storage is enabled (not disabled).",
29957 "optional" : 1,
29958 "type" : "boolean"
29959 },
29960 "shared" : {
29961 "description" : "Shared flag from storage configuration.",
29962 "optional" : 1,
29963 "type" : "boolean"
29964 },
29965 "storage" : {
29966 "description" : "The storage identifier.",
29967 "format" : "pve-storage-id",
29968 "type" : "string"
29969 },
29970 "total" : {
29971 "description" : "Total storage space in bytes.",
29972 "optional" : 1,
29973 "renderer" : "bytes",
29974 "type" : "integer"
29975 },
29976 "type" : {
29977 "description" : "Storage type.",
29978 "type" : "string"
29979 },
29980 "used" : {
29981 "description" : "Used storage space in bytes.",
29982 "optional" : 1,
29983 "renderer" : "bytes",
29984 "type" : "integer"
29985 },
29986 "used_fraction" : {
29987 "description" : "Used fraction (used/total).",
29988 "optional" : 1,
29989 "renderer" : "fraction_as_percentage",
29990 "type" : "number"
7aacca6f 29991 }
4d47f125
TL
29992 },
29993 "type" : "object"
29994 },
29995 "links" : [
29996 {
29997 "href" : "{storage}",
29998 "rel" : "child"
29999 }
30000 ],
30001 "type" : "array"
30002 }
30003 }
30004 },
30005 "leaf" : 0,
30006 "path" : "/nodes/{node}/storage",
30007 "text" : "storage"
30008 },
30009 {
30010 "children" : [
30011 {
30012 "info" : {
30013 "GET" : {
30014 "description" : "List LVM Volume Groups",
30015 "method" : "GET",
30016 "name" : "index",
30017 "parameters" : {
30018 "additionalProperties" : 0,
30019 "properties" : {
30020 "node" : {
30021 "description" : "The cluster node name.",
30022 "format" : "pve-node",
30023 "type" : "string",
30024 "typetext" : "<string>"
30025 }
30026 }
30027 },
30028 "permissions" : {
30029 "check" : [
30030 "perm",
30031 "/",
30032 [
30033 "Sys.Audit",
30034 "Datastore.Audit"
30035 ],
30036 "any",
30037 1
30038 ]
30039 },
30040 "protected" : 1,
30041 "proxyto" : "node",
30042 "returns" : {
30043 "properties" : {
30044 "children" : {
44660702
DM
30045 "items" : {
30046 "properties" : {
4d47f125
TL
30047 "children" : {
30048 "description" : "The underlying physical volumes",
30049 "items" : {
30050 "properties" : {
30051 "free" : {
30052 "description" : "The free bytes in the physical volume",
30053 "type" : "integer"
30054 },
30055 "leaf" : {
30056 "type" : "boolean"
30057 },
30058 "name" : {
30059 "description" : "The name of the physical volume",
30060 "type" : "string"
30061 },
30062 "size" : {
30063 "description" : "The size of the physical volume in bytes",
30064 "type" : "integer"
30065 }
30066 },
30067 "type" : "object"
30068 },
30069 "optional" : 1,
30070 "type" : "array"
30071 },
30072 "free" : {
30073 "description" : "The free bytes in the volume group",
30074 "type" : "integer"
30075 },
30076 "leaf" : {
30077 "type" : "boolean"
30078 },
30079 "name" : {
30080 "description" : "The name of the volume group",
44660702 30081 "type" : "string"
4d47f125
TL
30082 },
30083 "size" : {
30084 "description" : "The size of the volume group in bytes",
30085 "type" : "integer"
44660702
DM
30086 }
30087 },
30088 "type" : "object"
30089 },
44660702 30090 "type" : "array"
4d47f125
TL
30091 },
30092 "leaf" : {
30093 "type" : "boolean"
44660702
DM
30094 }
30095 },
4d47f125
TL
30096 "type" : "object"
30097 }
30098 },
30099 "POST" : {
30100 "description" : "Create an LVM Volume Group",
30101 "method" : "POST",
30102 "name" : "create",
30103 "parameters" : {
30104 "additionalProperties" : 0,
30105 "properties" : {
30106 "add_storage" : {
30107 "default" : 0,
30108 "description" : "Configure storage using the Volume Group",
30109 "optional" : 1,
30110 "type" : "boolean",
30111 "typetext" : "<boolean>"
44660702 30112 },
4d47f125
TL
30113 "device" : {
30114 "description" : "The block device you want to create the volume group on",
30115 "type" : "string",
30116 "typetext" : "<string>"
44660702 30117 },
4d47f125
TL
30118 "name" : {
30119 "description" : "The storage identifier.",
30120 "format" : "pve-storage-id",
30121 "type" : "string",
30122 "typetext" : "<string>"
30123 },
30124 "node" : {
30125 "description" : "The cluster node name.",
30126 "format" : "pve-node",
30127 "type" : "string",
30128 "typetext" : "<string>"
30129 }
30130 }
30131 },
30132 "permissions" : {
30133 "check" : [
30134 "perm",
30135 "/",
30136 [
30137 "Sys.Modify",
30138 "Datastore.Allocate"
30139 ]
30140 ]
30141 },
30142 "protected" : 1,
30143 "proxyto" : "node",
30144 "returns" : {
30145 "type" : "string"
30146 }
30147 }
30148 },
30149 "leaf" : 1,
30150 "path" : "/nodes/{node}/disks/lvm",
30151 "text" : "lvm"
30152 },
30153 {
30154 "info" : {
30155 "GET" : {
30156 "description" : "List LVM thinpools",
30157 "method" : "GET",
30158 "name" : "index",
30159 "parameters" : {
30160 "additionalProperties" : 0,
30161 "properties" : {
30162 "node" : {
30163 "description" : "The cluster node name.",
30164 "format" : "pve-node",
30165 "type" : "string",
30166 "typetext" : "<string>"
44660702
DM
30167 }
30168 }
30169 },
4d47f125
TL
30170 "permissions" : {
30171 "check" : [
30172 "perm",
30173 "/",
30174 [
30175 "Sys.Audit",
30176 "Datastore.Audit"
30177 ],
30178 "any",
30179 1
30180 ]
30181 },
30182 "protected" : 1,
30183 "proxyto" : "node",
30184 "returns" : {
30185 "items" : {
30186 "properties" : {
30187 "lv" : {
30188 "description" : "The name of the thinpool.",
30189 "type" : "string"
30190 },
30191 "lv_size" : {
30192 "description" : "The size of the thinpool in bytes.",
30193 "type" : "integer"
30194 },
30195 "metadata_size" : {
30196 "description" : "The size of the metadata lv in bytes.",
30197 "type" : "integer"
30198 },
30199 "metadata_used" : {
30200 "description" : "The used bytes of the metadata lv.",
30201 "type" : "integer"
30202 },
30203 "used" : {
30204 "description" : "The used bytes of the thinpool.",
30205 "type" : "integer"
44660702
DM
30206 }
30207 },
4d47f125
TL
30208 "type" : "object"
30209 },
30210 "type" : "array"
30211 }
30212 },
30213 "POST" : {
30214 "description" : "Create an LVM thinpool",
30215 "method" : "POST",
30216 "name" : "create",
30217 "parameters" : {
30218 "additionalProperties" : 0,
30219 "properties" : {
30220 "add_storage" : {
30221 "default" : 0,
30222 "description" : "Configure storage using the thinpool.",
30223 "optional" : 1,
30224 "type" : "boolean",
30225 "typetext" : "<boolean>"
56122987 30226 },
4d47f125
TL
30227 "device" : {
30228 "description" : "The block device you want to create the thinpool on.",
30229 "type" : "string",
30230 "typetext" : "<string>"
30231 },
30232 "name" : {
30233 "description" : "The storage identifier.",
30234 "format" : "pve-storage-id",
30235 "type" : "string",
30236 "typetext" : "<string>"
30237 },
30238 "node" : {
30239 "description" : "The cluster node name.",
30240 "format" : "pve-node",
30241 "type" : "string",
30242 "typetext" : "<string>"
44660702 30243 }
56122987
DM
30244 }
30245 },
4d47f125
TL
30246 "permissions" : {
30247 "check" : [
30248 "perm",
30249 "/",
30250 [
30251 "Sys.Modify",
30252 "Datastore.Allocate"
30253 ]
30254 ]
30255 },
30256 "protected" : 1,
30257 "proxyto" : "node",
30258 "returns" : {
30259 "type" : "string"
30260 }
30261 }
30262 },
30263 "leaf" : 1,
30264 "path" : "/nodes/{node}/disks/lvmthin",
30265 "text" : "lvmthin"
30266 },
30267 {
30268 "info" : {
30269 "GET" : {
30270 "description" : "PVE Managed Directory storages.",
30271 "method" : "GET",
30272 "name" : "index",
30273 "parameters" : {
30274 "additionalProperties" : 0,
30275 "properties" : {
30276 "node" : {
30277 "description" : "The cluster node name.",
30278 "format" : "pve-node",
30279 "type" : "string",
30280 "typetext" : "<string>"
30281 }
30282 }
30283 },
30284 "permissions" : {
30285 "check" : [
30286 "perm",
30287 "/",
30288 [
30289 "Sys.Audit",
30290 "Datastore.Audit"
30291 ],
30292 "any",
30293 1
30294 ]
30295 },
30296 "protected" : 1,
30297 "proxyto" : "node",
30298 "returns" : {
30299 "items" : {
30300 "properties" : {
30301 "device" : {
30302 "description" : "The mounted device.",
30303 "type" : "string"
30304 },
30305 "options" : {
30306 "description" : "The mount options.",
30307 "type" : "string"
30308 },
30309 "path" : {
30310 "description" : "The mount path.",
30311 "type" : "string"
30312 },
30313 "type" : {
30314 "description" : "The filesystem type.",
30315 "type" : "string"
30316 },
30317 "unitfile" : {
30318 "description" : "The path of the mount unit.",
30319 "type" : "string"
44660702 30320 }
56122987 30321 },
4d47f125
TL
30322 "type" : "object"
30323 },
30324 "type" : "array"
30325 }
30326 },
30327 "POST" : {
30328 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
30329 "method" : "POST",
30330 "name" : "create",
30331 "parameters" : {
30332 "additionalProperties" : 0,
30333 "properties" : {
30334 "add_storage" : {
30335 "default" : 0,
30336 "description" : "Configure storage using the directory.",
30337 "optional" : 1,
30338 "type" : "boolean",
30339 "typetext" : "<boolean>"
30340 },
30341 "device" : {
30342 "description" : "The block device you want to create the filesystem on.",
30343 "type" : "string",
30344 "typetext" : "<string>"
30345 },
30346 "filesystem" : {
30347 "default" : "ext4",
30348 "description" : "The desired filesystem.",
30349 "enum" : [
30350 "ext4",
30351 "xfs"
30352 ],
30353 "optional" : 1,
30354 "type" : "string"
56122987 30355 },
4d47f125
TL
30356 "name" : {
30357 "description" : "The storage identifier.",
30358 "format" : "pve-storage-id",
30359 "type" : "string",
30360 "typetext" : "<string>"
30361 },
30362 "node" : {
30363 "description" : "The cluster node name.",
30364 "format" : "pve-node",
30365 "type" : "string",
30366 "typetext" : "<string>"
7aacca6f 30367 }
56122987
DM
30368 }
30369 },
4d47f125
TL
30370 "permissions" : {
30371 "check" : [
30372 "perm",
30373 "/",
30374 [
30375 "Sys.Modify",
30376 "Datastore.Allocate"
30377 ]
30378 ]
30379 },
30380 "protected" : 1,
30381 "proxyto" : "node",
30382 "returns" : {
30383 "type" : "string"
30384 }
30385 }
30386 },
30387 "leaf" : 1,
30388 "path" : "/nodes/{node}/disks/directory",
30389 "text" : "directory"
30390 },
30391 {
30392 "children" : [
56122987 30393 {
56122987
DM
30394 "info" : {
30395 "GET" : {
4d47f125 30396 "description" : "Get details about a zpool.",
44660702 30397 "method" : "GET",
4d47f125 30398 "name" : "detail",
56122987 30399 "parameters" : {
44660702 30400 "additionalProperties" : 0,
56122987 30401 "properties" : {
4d47f125
TL
30402 "name" : {
30403 "description" : "The storage identifier.",
30404 "format" : "pve-storage-id",
30405 "type" : "string",
30406 "typetext" : "<string>"
44660702 30407 },
7aacca6f 30408 "node" : {
7aacca6f 30409 "description" : "The cluster node name.",
44660702 30410 "format" : "pve-node",
013dc89f
DM
30411 "type" : "string",
30412 "typetext" : "<string>"
56122987 30413 }
44660702 30414 }
7aacca6f 30415 },
7aacca6f
DM
30416 "permissions" : {
30417 "check" : [
30418 "perm",
4d47f125 30419 "/",
7aacca6f 30420 [
4d47f125
TL
30421 "Sys.Audit",
30422 "Datastore.Audit"
7aacca6f
DM
30423 ],
30424 "any",
30425 1
30426 ]
30427 },
44660702
DM
30428 "protected" : 1,
30429 "proxyto" : "node",
7aacca6f 30430 "returns" : {
56122987 30431 "properties" : {
4d47f125
TL
30432 "action" : {
30433 "description" : "Information about the recommended action to fix the state.",
30434 "optional" : 1,
30435 "type" : "string"
56122987 30436 },
4d47f125 30437 "children" : {
e2d681b3 30438 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
30439 "items" : {
30440 "properties" : {
30441 "cksum" : {
e2d681b3 30442 "optional" : 1,
4d47f125
TL
30443 "type" : "number"
30444 },
30445 "msg" : {
30446 "description" : "An optional message about the vdev.",
30447 "type" : "string"
30448 },
30449 "name" : {
e2d681b3 30450 "description" : "The name of the vdev or section.",
4d47f125
TL
30451 "type" : "string"
30452 },
30453 "read" : {
e2d681b3 30454 "optional" : 1,
4d47f125
TL
30455 "type" : "number"
30456 },
30457 "state" : {
30458 "description" : "The state of the vdev.",
e2d681b3 30459 "optional" : 1,
4d47f125
TL
30460 "type" : "string"
30461 },
30462 "write" : {
e2d681b3 30463 "optional" : 1,
4d47f125
TL
30464 "type" : "number"
30465 }
30466 },
30467 "type" : "object"
30468 },
30469 "type" : "array"
56122987 30470 },
e2d681b3
TL
30471 "errors" : {
30472 "description" : "Information about the errors on the zpool.",
30473 "type" : "string"
30474 },
4d47f125
TL
30475 "name" : {
30476 "description" : "The name of the zpool.",
30477 "type" : "string"
44660702 30478 },
4d47f125 30479 "scan" : {
e2d681b3 30480 "description" : "Information about the last/current scrub.",
4d47f125 30481 "type" : "string"
44660702 30482 },
4d47f125
TL
30483 "state" : {
30484 "description" : "The state of the zpool.",
30485 "type" : "string"
30486 },
30487 "status" : {
30488 "description" : "Information about the state of the zpool.",
44660702 30489 "optional" : 1,
4d47f125 30490 "type" : "string"
56122987 30491 }
4d47f125
TL
30492 },
30493 "type" : "object"
44660702
DM
30494 }
30495 }
30496 },
30497 "leaf" : 1,
4d47f125
TL
30498 "path" : "/nodes/{node}/disks/zfs/{name}",
30499 "text" : "{name}"
44660702
DM
30500 }
30501 ],
30502 "info" : {
30503 "GET" : {
4d47f125 30504 "description" : "List Zpools.",
44660702 30505 "method" : "GET",
4d47f125 30506 "name" : "index",
44660702
DM
30507 "parameters" : {
30508 "additionalProperties" : 0,
30509 "properties" : {
30510 "node" : {
30511 "description" : "The cluster node name.",
30512 "format" : "pve-node",
013dc89f
DM
30513 "type" : "string",
30514 "typetext" : "<string>"
4d47f125
TL
30515 }
30516 }
30517 },
30518 "permissions" : {
30519 "check" : [
30520 "perm",
30521 "/",
30522 [
30523 "Sys.Audit",
30524 "Datastore.Audit"
30525 ],
30526 "any",
30527 1
30528 ]
30529 },
30530 "protected" : 1,
30531 "proxyto" : "node",
30532 "returns" : {
30533 "items" : {
30534 "properties" : {
30535 "alloc" : {
30536 "description" : "",
30537 "type" : "integer"
30538 },
30539 "dedup" : {
30540 "description" : "",
30541 "type" : "number"
30542 },
30543 "frag" : {
30544 "description" : "",
30545 "type" : "integer"
30546 },
30547 "free" : {
30548 "description" : "",
30549 "type" : "integer"
30550 },
30551 "health" : {
30552 "description" : "",
30553 "type" : "string"
30554 },
30555 "name" : {
30556 "description" : "",
30557 "type" : "string"
30558 },
30559 "size" : {
30560 "description" : "",
30561 "type" : "integer"
30562 }
30563 },
30564 "type" : "object"
30565 },
30566 "links" : [
30567 {
30568 "href" : "{name}",
30569 "rel" : "child"
30570 }
30571 ],
30572 "type" : "array"
30573 }
30574 },
30575 "POST" : {
30576 "description" : "Create a ZFS pool.",
30577 "method" : "POST",
30578 "name" : "create",
30579 "parameters" : {
30580 "additionalProperties" : 0,
30581 "properties" : {
30582 "add_storage" : {
30583 "default" : 0,
30584 "description" : "Configure storage using the zpool.",
30585 "optional" : 1,
30586 "type" : "boolean",
30587 "typetext" : "<boolean>"
30588 },
30589 "ashift" : {
30590 "default" : 12,
30591 "description" : "Pool sector size exponent.",
30592 "maximum" : 16,
30593 "minimum" : 9,
30594 "optional" : 1,
30595 "type" : "integer",
30596 "typetext" : "<integer> (9 - 16)"
30597 },
30598 "compression" : {
30599 "default" : "on",
30600 "description" : "The compression algorithm to use.",
30601 "enum" : [
30602 "on",
30603 "off",
30604 "gzip",
30605 "lz4",
30606 "lzjb",
30607 "zle"
30608 ],
30609 "optional" : 1,
30610 "type" : "string"
30611 },
30612 "devices" : {
30613 "description" : "The block devices you want to create the zpool on.",
30614 "format" : "string-list",
30615 "type" : "string",
30616 "typetext" : "<string>"
44660702 30617 },
4d47f125 30618 "name" : {
44660702
DM
30619 "description" : "The storage identifier.",
30620 "format" : "pve-storage-id",
013dc89f
DM
30621 "type" : "string",
30622 "typetext" : "<string>"
4d47f125
TL
30623 },
30624 "node" : {
30625 "description" : "The cluster node name.",
30626 "format" : "pve-node",
30627 "type" : "string",
30628 "typetext" : "<string>"
30629 },
30630 "raidlevel" : {
30631 "description" : "The RAID level to use.",
30632 "enum" : [
30633 "single",
30634 "mirror",
30635 "raid10",
30636 "raidz",
30637 "raidz2",
30638 "raidz3"
30639 ],
30640 "type" : "string"
56122987
DM
30641 }
30642 }
44660702
DM
30643 },
30644 "permissions" : {
30645 "check" : [
30646 "perm",
4d47f125 30647 "/",
44660702 30648 [
4d47f125
TL
30649 "Sys.Modify",
30650 "Datastore.Allocate"
30651 ]
44660702
DM
30652 ]
30653 },
4d47f125
TL
30654 "protected" : 1,
30655 "proxyto" : "node",
44660702 30656 "returns" : {
4d47f125 30657 "type" : "string"
56122987
DM
30658 }
30659 }
44660702
DM
30660 },
30661 "leaf" : 0,
4d47f125
TL
30662 "path" : "/nodes/{node}/disks/zfs",
30663 "text" : "zfs"
30664 },
2c0dde61
DM
30665 {
30666 "info" : {
30667 "GET" : {
30668 "description" : "List local disks.",
30669 "method" : "GET",
30670 "name" : "list",
30671 "parameters" : {
30672 "additionalProperties" : 0,
30673 "properties" : {
30674 "node" : {
30675 "description" : "The cluster node name.",
30676 "format" : "pve-node",
013dc89f
DM
30677 "type" : "string",
30678 "typetext" : "<string>"
4d47f125
TL
30679 },
30680 "skipsmart" : {
30681 "default" : 0,
30682 "description" : "Skip smart checks.",
30683 "optional" : 1,
30684 "type" : "boolean",
30685 "typetext" : "<boolean>"
30686 },
30687 "type" : {
30688 "description" : "Only list specific types of disks.",
30689 "enum" : [
30690 "unused",
30691 "journal_disks"
30692 ],
30693 "optional" : 1,
30694 "type" : "string"
2c0dde61
DM
30695 }
30696 }
30697 },
30698 "permissions" : {
30699 "check" : [
30700 "perm",
30701 "/",
30702 [
30703 "Sys.Audit",
30704 "Datastore.Audit"
30705 ],
30706 "any",
30707 1
30708 ]
30709 },
30710 "protected" : 1,
30711 "proxyto" : "node",
30712 "returns" : {
30713 "items" : {
30714 "properties" : {
30715 "devpath" : {
30716 "description" : "The device path",
30717 "type" : "string"
30718 },
30719 "gpt" : {
30720 "type" : "boolean"
30721 },
30722 "health" : {
30723 "optional" : 1,
30724 "type" : "string"
30725 },
30726 "model" : {
30727 "optional" : 1,
30728 "type" : "string"
30729 },
30730 "osdid" : {
30731 "type" : "integer"
30732 },
30733 "serial" : {
30734 "optional" : 1,
30735 "type" : "string"
30736 },
30737 "size" : {
30738 "type" : "integer"
30739 },
30740 "used" : {
30741 "optional" : 1,
30742 "type" : "string"
30743 },
30744 "vendor" : {
30745 "optional" : 1,
30746 "type" : "string"
30747 },
30748 "wwn" : {
30749 "optional" : 1,
30750 "type" : "string"
30751 }
30752 },
30753 "type" : "object"
30754 },
30755 "type" : "array"
30756 }
30757 }
30758 },
30759 "leaf" : 1,
30760 "path" : "/nodes/{node}/disks/list",
30761 "text" : "list"
30762 },
30763 {
30764 "info" : {
30765 "GET" : {
30766 "description" : "Get SMART Health of a disk.",
30767 "method" : "GET",
30768 "name" : "smart",
30769 "parameters" : {
30770 "additionalProperties" : 0,
30771 "properties" : {
30772 "disk" : {
30773 "description" : "Block device name",
30774 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
30775 "type" : "string"
30776 },
30777 "healthonly" : {
30778 "description" : "If true returns only the health status",
30779 "optional" : 1,
013dc89f
DM
30780 "type" : "boolean",
30781 "typetext" : "<boolean>"
2c0dde61
DM
30782 },
30783 "node" : {
30784 "description" : "The cluster node name.",
30785 "format" : "pve-node",
013dc89f
DM
30786 "type" : "string",
30787 "typetext" : "<string>"
2c0dde61
DM
30788 }
30789 }
30790 },
30791 "permissions" : {
30792 "check" : [
30793 "perm",
30794 "/",
30795 [
30796 "Sys.Audit",
30797 "Datastore.Audit"
30798 ],
30799 "any",
30800 1
30801 ]
30802 },
30803 "protected" : 1,
30804 "proxyto" : "node",
30805 "returns" : {
de0983cb
DM
30806 "properties" : {
30807 "attributes" : {
30808 "optional" : 1,
30809 "type" : "array"
30810 },
30811 "health" : {
30812 "type" : "string"
30813 },
30814 "text" : {
30815 "optional" : 1,
30816 "type" : "string"
30817 },
30818 "type" : {
30819 "optional" : 1,
30820 "type" : "string"
30821 }
30822 },
2c0dde61
DM
30823 "type" : "object"
30824 }
30825 }
30826 },
30827 "leaf" : 1,
30828 "path" : "/nodes/{node}/disks/smart",
30829 "text" : "smart"
30830 },
30831 {
30832 "info" : {
30833 "POST" : {
30834 "description" : "Initialize Disk with GPT",
30835 "method" : "POST",
30836 "name" : "initgpt",
30837 "parameters" : {
30838 "additionalProperties" : 0,
30839 "properties" : {
30840 "disk" : {
30841 "description" : "Block device name",
30842 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
30843 "type" : "string"
30844 },
30845 "node" : {
30846 "description" : "The cluster node name.",
30847 "format" : "pve-node",
013dc89f
DM
30848 "type" : "string",
30849 "typetext" : "<string>"
2c0dde61
DM
30850 },
30851 "uuid" : {
30852 "description" : "UUID for the GPT table",
30853 "maxLength" : 36,
30854 "optional" : 1,
30855 "pattern" : "[a-fA-F0-9\\-]+",
30856 "type" : "string"
30857 }
30858 }
30859 },
30860 "permissions" : {
30861 "check" : [
30862 "perm",
30863 "/",
30864 [
30865 "Sys.Modify"
30866 ]
30867 ]
30868 },
30869 "protected" : 1,
30870 "proxyto" : "node",
30871 "returns" : {
30872 "type" : "string"
30873 }
30874 }
30875 },
30876 "leaf" : 1,
30877 "path" : "/nodes/{node}/disks/initgpt",
30878 "text" : "initgpt"
30879 }
30880 ],
30881 "info" : {
30882 "GET" : {
30883 "description" : "Node index.",
30884 "method" : "GET",
30885 "name" : "index",
30886 "parameters" : {
30887 "additionalProperties" : 0,
30888 "properties" : {
30889 "node" : {
30890 "description" : "The cluster node name.",
30891 "format" : "pve-node",
013dc89f
DM
30892 "type" : "string",
30893 "typetext" : "<string>"
2c0dde61
DM
30894 }
30895 }
30896 },
30897 "permissions" : {
30898 "user" : "all"
30899 },
30900 "proxyto" : "node",
30901 "returns" : {
30902 "items" : {
30903 "properties" : {},
30904 "type" : "object"
30905 },
30906 "links" : [
30907 {
30908 "href" : "{name}",
30909 "rel" : "child"
30910 }
30911 ],
30912 "type" : "array"
30913 }
30914 }
30915 },
30916 "leaf" : 0,
30917 "path" : "/nodes/{node}/disks",
30918 "text" : "disks"
30919 },
56122987 30920 {
56122987
DM
30921 "children" : [
30922 {
30923 "info" : {
44660702
DM
30924 "GET" : {
30925 "description" : "List available updates.",
30926 "method" : "GET",
30927 "name" : "list_updates",
30928 "parameters" : {
30929 "additionalProperties" : 0,
30930 "properties" : {
30931 "node" : {
30932 "description" : "The cluster node name.",
30933 "format" : "pve-node",
013dc89f
DM
30934 "type" : "string",
30935 "typetext" : "<string>"
44660702
DM
30936 }
30937 }
7aacca6f
DM
30938 },
30939 "permissions" : {
30940 "check" : [
30941 "perm",
30942 "/nodes/{node}",
30943 [
30944 "Sys.Modify"
30945 ]
30946 ]
30947 },
44660702 30948 "protected" : 1,
56122987 30949 "proxyto" : "node",
44660702
DM
30950 "returns" : {
30951 "items" : {
30952 "properties" : {},
30953 "type" : "object"
30954 },
30955 "type" : "array"
30956 }
30957 },
30958 "POST" : {
30959 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
30960 "method" : "POST",
30961 "name" : "update_database",
56122987
DM
30962 "parameters" : {
30963 "additionalProperties" : 0,
30964 "properties" : {
44660702
DM
30965 "node" : {
30966 "description" : "The cluster node name.",
30967 "format" : "pve-node",
013dc89f
DM
30968 "type" : "string",
30969 "typetext" : "<string>"
44660702 30970 },
56122987 30971 "notify" : {
56122987 30972 "default" : 0,
44660702
DM
30973 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
30974 "optional" : 1,
013dc89f
DM
30975 "type" : "boolean",
30976 "typetext" : "<boolean>"
56122987
DM
30977 },
30978 "quiet" : {
56122987 30979 "default" : 0,
44660702 30980 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 30981 "optional" : 1,
013dc89f
DM
30982 "type" : "boolean",
30983 "typetext" : "<boolean>"
56122987 30984 }
7aacca6f
DM
30985 }
30986 },
30987 "permissions" : {
30988 "check" : [
30989 "perm",
30990 "/nodes/{node}",
30991 [
30992 "Sys.Modify"
30993 ]
30994 ]
30995 },
44660702
DM
30996 "protected" : 1,
30997 "proxyto" : "node",
30998 "returns" : {
30999 "type" : "string"
31000 }
56122987
DM
31001 }
31002 },
7aacca6f 31003 "leaf" : 1,
44660702
DM
31004 "path" : "/nodes/{node}/apt/update",
31005 "text" : "update"
56122987
DM
31006 },
31007 {
56122987
DM
31008 "info" : {
31009 "GET" : {
44660702 31010 "description" : "Get package changelogs.",
56122987 31011 "method" : "GET",
7aacca6f 31012 "name" : "changelog",
56122987 31013 "parameters" : {
44660702 31014 "additionalProperties" : 0,
56122987
DM
31015 "properties" : {
31016 "name" : {
31017 "description" : "Package name.",
013dc89f
DM
31018 "type" : "string",
31019 "typetext" : "<string>"
56122987 31020 },
44660702
DM
31021 "node" : {
31022 "description" : "The cluster node name.",
31023 "format" : "pve-node",
013dc89f
DM
31024 "type" : "string",
31025 "typetext" : "<string>"
44660702 31026 },
56122987 31027 "version" : {
7aacca6f 31028 "description" : "Package version.",
44660702 31029 "optional" : 1,
013dc89f
DM
31030 "type" : "string",
31031 "typetext" : "<string>"
56122987 31032 }
44660702 31033 }
56122987 31034 },
44660702
DM
31035 "permissions" : {
31036 "check" : [
31037 "perm",
31038 "/nodes/{node}",
31039 [
31040 "Sys.Modify"
31041 ]
31042 ]
31043 },
31044 "proxyto" : "node",
31045 "returns" : {
31046 "type" : "string"
31047 }
56122987
DM
31048 }
31049 },
44660702
DM
31050 "leaf" : 1,
31051 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 31052 "text" : "changelog"
56122987
DM
31053 },
31054 {
56122987
DM
31055 "info" : {
31056 "GET" : {
44660702
DM
31057 "description" : "Get package information for important Proxmox packages.",
31058 "method" : "GET",
7aacca6f
DM
31059 "name" : "versions",
31060 "parameters" : {
44660702 31061 "additionalProperties" : 0,
7aacca6f
DM
31062 "properties" : {
31063 "node" : {
44660702 31064 "description" : "The cluster node name.",
7aacca6f 31065 "format" : "pve-node",
013dc89f
DM
31066 "type" : "string",
31067 "typetext" : "<string>"
7aacca6f 31068 }
44660702 31069 }
7aacca6f 31070 },
56122987
DM
31071 "permissions" : {
31072 "check" : [
31073 "perm",
31074 "/nodes/{node}",
31075 [
31076 "Sys.Audit"
31077 ]
31078 ]
31079 },
7aacca6f 31080 "proxyto" : "node",
56122987
DM
31081 "returns" : {
31082 "items" : {
7aacca6f
DM
31083 "properties" : {},
31084 "type" : "object"
44660702
DM
31085 },
31086 "type" : "array"
56122987
DM
31087 }
31088 }
31089 },
44660702 31090 "leaf" : 1,
7aacca6f 31091 "path" : "/nodes/{node}/apt/versions",
44660702 31092 "text" : "versions"
56122987
DM
31093 }
31094 ],
56122987
DM
31095 "info" : {
31096 "GET" : {
44660702 31097 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 31098 "method" : "GET",
44660702 31099 "name" : "index",
7aacca6f
DM
31100 "parameters" : {
31101 "additionalProperties" : 0,
31102 "properties" : {
31103 "node" : {
44660702 31104 "description" : "The cluster node name.",
7aacca6f 31105 "format" : "pve-node",
013dc89f
DM
31106 "type" : "string",
31107 "typetext" : "<string>"
7aacca6f
DM
31108 }
31109 }
31110 },
7aacca6f
DM
31111 "permissions" : {
31112 "user" : "all"
31113 },
44660702
DM
31114 "returns" : {
31115 "items" : {
31116 "properties" : {
31117 "id" : {
31118 "type" : "string"
31119 }
31120 },
31121 "type" : "object"
31122 },
31123 "links" : [
31124 {
31125 "href" : "{id}",
31126 "rel" : "child"
31127 }
31128 ],
31129 "type" : "array"
31130 }
56122987 31131 }
7aacca6f 31132 },
44660702 31133 "leaf" : 0,
7aacca6f 31134 "path" : "/nodes/{node}/apt",
44660702 31135 "text" : "apt"
56122987
DM
31136 },
31137 {
56122987
DM
31138 "children" : [
31139 {
31140 "children" : [
31141 {
56122987
DM
31142 "info" : {
31143 "DELETE" : {
44660702 31144 "description" : "Delete rule.",
7aacca6f 31145 "method" : "DELETE",
44660702 31146 "name" : "delete_rule",
56122987
DM
31147 "parameters" : {
31148 "additionalProperties" : 0,
31149 "properties" : {
56122987
DM
31150 "digest" : {
31151 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 31152 "maxLength" : 40,
56122987 31153 "optional" : 1,
013dc89f
DM
31154 "type" : "string",
31155 "typetext" : "<string>"
56122987 31156 },
44660702
DM
31157 "node" : {
31158 "description" : "The cluster node name.",
31159 "format" : "pve-node",
013dc89f
DM
31160 "type" : "string",
31161 "typetext" : "<string>"
44660702 31162 },
7aacca6f 31163 "pos" : {
7aacca6f 31164 "description" : "Update rule at position <pos>.",
44660702
DM
31165 "minimum" : 0,
31166 "optional" : 1,
4bd7df8b 31167 "type" : "integer",
013dc89f 31168 "typetext" : "<integer> (0 - N)"
56122987
DM
31169 }
31170 }
31171 },
44660702
DM
31172 "permissions" : {
31173 "check" : [
31174 "perm",
31175 "/nodes/{node}",
31176 [
31177 "Sys.Modify"
31178 ]
31179 ]
31180 },
31181 "protected" : 1,
31182 "proxyto" : "node",
56122987
DM
31183 "returns" : {
31184 "type" : "null"
44660702
DM
31185 }
31186 },
31187 "GET" : {
31188 "description" : "Get single rule data.",
31189 "method" : "GET",
31190 "name" : "get_rule",
31191 "parameters" : {
31192 "additionalProperties" : 0,
31193 "properties" : {
31194 "node" : {
31195 "description" : "The cluster node name.",
31196 "format" : "pve-node",
013dc89f
DM
31197 "type" : "string",
31198 "typetext" : "<string>"
44660702
DM
31199 },
31200 "pos" : {
31201 "description" : "Update rule at position <pos>.",
31202 "minimum" : 0,
31203 "optional" : 1,
4bd7df8b 31204 "type" : "integer",
013dc89f 31205 "typetext" : "<integer> (0 - N)"
44660702
DM
31206 }
31207 }
56122987 31208 },
56122987
DM
31209 "permissions" : {
31210 "check" : [
31211 "perm",
31212 "/nodes/{node}",
31213 [
44660702 31214 "Sys.Audit"
56122987
DM
31215 ]
31216 ]
44660702
DM
31217 },
31218 "proxyto" : "node",
31219 "returns" : {
31220 "properties" : {
e2d681b3
TL
31221 "action" : {
31222 "type" : "string"
31223 },
31224 "comment" : {
31225 "optional" : 1,
31226 "type" : "string"
31227 },
31228 "dest" : {
31229 "optional" : 1,
31230 "type" : "string"
31231 },
31232 "dport" : {
31233 "optional" : 1,
31234 "type" : "string"
31235 },
31236 "enable" : {
31237 "optional" : 1,
31238 "type" : "integer"
31239 },
31240 "iface" : {
31241 "optional" : 1,
31242 "type" : "string"
31243 },
31244 "ipversion" : {
31245 "optional" : 1,
31246 "type" : "integer"
31247 },
95895385
TL
31248 "log" : {
31249 "description" : "Log level for firewall rule",
31250 "enum" : [
31251 "emerg",
31252 "alert",
31253 "crit",
31254 "err",
31255 "warning",
31256 "notice",
31257 "info",
31258 "debug",
31259 "nolog"
31260 ],
31261 "optional" : 1,
31262 "type" : "string"
31263 },
e2d681b3
TL
31264 "macro" : {
31265 "optional" : 1,
5f26e15b 31266 "type" : "string"
e2d681b3 31267 },
44660702
DM
31268 "pos" : {
31269 "type" : "integer"
e2d681b3
TL
31270 },
31271 "proto" : {
31272 "optional" : 1,
31273 "type" : "string"
31274 },
31275 "source" : {
31276 "optional" : 1,
31277 "type" : "string"
31278 },
31279 "sport" : {
31280 "optional" : 1,
31281 "type" : "string"
31282 },
31283 "type" : {
31284 "type" : "string"
44660702
DM
31285 }
31286 },
31287 "type" : "object"
7aacca6f 31288 }
56122987
DM
31289 },
31290 "PUT" : {
44660702
DM
31291 "description" : "Modify rule data.",
31292 "method" : "PUT",
56122987 31293 "name" : "update_rule",
56122987 31294 "parameters" : {
44660702 31295 "additionalProperties" : 0,
56122987 31296 "properties" : {
44660702
DM
31297 "action" : {
31298 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
31299 "maxLength" : 20,
31300 "minLength" : 2,
56122987 31301 "optional" : 1,
44660702
DM
31302 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
31303 "type" : "string"
56122987 31304 },
7aacca6f 31305 "comment" : {
e94f0d56 31306 "description" : "Descriptive comment.",
56122987 31307 "optional" : 1,
013dc89f
DM
31308 "type" : "string",
31309 "typetext" : "<string>"
56122987 31310 },
44660702
DM
31311 "delete" : {
31312 "description" : "A list of settings you want to delete.",
31313 "format" : "pve-configid-list",
56122987 31314 "optional" : 1,
013dc89f
DM
31315 "type" : "string",
31316 "typetext" : "<string>"
56122987 31317 },
44660702
DM
31318 "dest" : {
31319 "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.",
31320 "format" : "pve-fw-addr-spec",
56122987 31321 "optional" : 1,
013dc89f
DM
31322 "type" : "string",
31323 "typetext" : "<string>"
56122987 31324 },
44660702
DM
31325 "digest" : {
31326 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
31327 "maxLength" : 40,
56122987 31328 "optional" : 1,
013dc89f
DM
31329 "type" : "string",
31330 "typetext" : "<string>"
56122987 31331 },
7aacca6f 31332 "dport" : {
7aacca6f 31333 "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
31334 "format" : "pve-fw-dport-spec",
31335 "optional" : 1,
013dc89f
DM
31336 "type" : "string",
31337 "typetext" : "<string>"
7aacca6f 31338 },
44660702 31339 "enable" : {
e94f0d56 31340 "description" : "Flag to enable/disable a rule.",
44660702 31341 "minimum" : 0,
56122987 31342 "optional" : 1,
4bd7df8b 31343 "type" : "integer",
013dc89f 31344 "typetext" : "<integer> (0 - N)"
56122987 31345 },
7aacca6f 31346 "iface" : {
44660702 31347 "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 31348 "format" : "pve-iface",
44660702 31349 "maxLength" : 20,
56122987 31350 "minLength" : 2,
44660702 31351 "optional" : 1,
013dc89f
DM
31352 "type" : "string",
31353 "typetext" : "<string>"
56122987 31354 },
95895385
TL
31355 "log" : {
31356 "description" : "Log level for firewall rule.",
31357 "enum" : [
31358 "emerg",
31359 "alert",
31360 "crit",
31361 "err",
31362 "warning",
31363 "notice",
31364 "info",
31365 "debug",
31366 "nolog"
31367 ],
31368 "optional" : 1,
31369 "type" : "string"
31370 },
44660702 31371 "macro" : {
e94f0d56 31372 "description" : "Use predefined standard macro.",
44660702
DM
31373 "maxLength" : 128,
31374 "optional" : 1,
013dc89f
DM
31375 "type" : "string",
31376 "typetext" : "<string>"
44660702
DM
31377 },
31378 "moveto" : {
31379 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
31380 "minimum" : 0,
7aacca6f 31381 "optional" : 1,
4bd7df8b 31382 "type" : "integer",
013dc89f 31383 "typetext" : "<integer> (0 - N)"
44660702
DM
31384 },
31385 "node" : {
31386 "description" : "The cluster node name.",
31387 "format" : "pve-node",
013dc89f
DM
31388 "type" : "string",
31389 "typetext" : "<string>"
56122987
DM
31390 },
31391 "pos" : {
44660702 31392 "description" : "Update rule at position <pos>.",
7aacca6f 31393 "minimum" : 0,
7aacca6f 31394 "optional" : 1,
4bd7df8b 31395 "type" : "integer",
013dc89f 31396 "typetext" : "<integer> (0 - N)"
7aacca6f 31397 },
44660702
DM
31398 "proto" : {
31399 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
31400 "format" : "pve-fw-protocol-spec",
7aacca6f 31401 "optional" : 1,
013dc89f
DM
31402 "type" : "string",
31403 "typetext" : "<string>"
7aacca6f 31404 },
44660702
DM
31405 "source" : {
31406 "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.",
31407 "format" : "pve-fw-addr-spec",
56122987 31408 "optional" : 1,
013dc89f
DM
31409 "type" : "string",
31410 "typetext" : "<string>"
7aacca6f 31411 },
44660702
DM
31412 "sport" : {
31413 "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.",
31414 "format" : "pve-fw-sport-spec",
31415 "optional" : 1,
013dc89f
DM
31416 "type" : "string",
31417 "typetext" : "<string>"
44660702
DM
31418 },
31419 "type" : {
e94f0d56 31420 "description" : "Rule type.",
44660702
DM
31421 "enum" : [
31422 "in",
31423 "out",
31424 "group"
31425 ],
31426 "optional" : 1,
31427 "type" : "string"
56122987 31428 }
44660702 31429 }
56122987 31430 },
56122987
DM
31431 "permissions" : {
31432 "check" : [
31433 "perm",
31434 "/nodes/{node}",
31435 [
31436 "Sys.Modify"
31437 ]
31438 ]
7aacca6f 31439 },
44660702 31440 "protected" : 1,
7aacca6f 31441 "proxyto" : "node",
7aacca6f
DM
31442 "returns" : {
31443 "type" : "null"
56122987
DM
31444 }
31445 }
7aacca6f 31446 },
44660702 31447 "leaf" : 1,
7aacca6f 31448 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 31449 "text" : "{pos}"
56122987
DM
31450 }
31451 ],
56122987
DM
31452 "info" : {
31453 "GET" : {
44660702
DM
31454 "description" : "List rules.",
31455 "method" : "GET",
31456 "name" : "get_rules",
31457 "parameters" : {
31458 "additionalProperties" : 0,
31459 "properties" : {
31460 "node" : {
31461 "description" : "The cluster node name.",
31462 "format" : "pve-node",
013dc89f
DM
31463 "type" : "string",
31464 "typetext" : "<string>"
44660702
DM
31465 }
31466 }
31467 },
31468 "permissions" : {
31469 "check" : [
31470 "perm",
31471 "/nodes/{node}",
31472 [
31473 "Sys.Audit"
31474 ]
31475 ]
31476 },
31477 "proxyto" : "node",
56122987 31478 "returns" : {
56122987
DM
31479 "items" : {
31480 "properties" : {
31481 "pos" : {
31482 "type" : "integer"
31483 }
44660702
DM
31484 },
31485 "type" : "object"
56122987 31486 },
7aacca6f
DM
31487 "links" : [
31488 {
31489 "href" : "{pos}",
31490 "rel" : "child"
31491 }
31492 ],
31493 "type" : "array"
44660702 31494 }
56122987
DM
31495 },
31496 "POST" : {
44660702 31497 "description" : "Create new rule.",
7aacca6f
DM
31498 "method" : "POST",
31499 "name" : "create_rule",
56122987 31500 "parameters" : {
44660702 31501 "additionalProperties" : 0,
56122987 31502 "properties" : {
7aacca6f 31503 "action" : {
7aacca6f 31504 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 31505 "maxLength" : 20,
7aacca6f
DM
31506 "minLength" : 2,
31507 "optional" : 0,
44660702
DM
31508 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
31509 "type" : "string"
56122987 31510 },
44660702 31511 "comment" : {
e94f0d56 31512 "description" : "Descriptive comment.",
56122987 31513 "optional" : 1,
013dc89f
DM
31514 "type" : "string",
31515 "typetext" : "<string>"
56122987 31516 },
44660702
DM
31517 "dest" : {
31518 "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.",
31519 "format" : "pve-fw-addr-spec",
7aacca6f 31520 "optional" : 1,
013dc89f
DM
31521 "type" : "string",
31522 "typetext" : "<string>"
56122987 31523 },
44660702
DM
31524 "digest" : {
31525 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
31526 "maxLength" : 40,
31527 "optional" : 1,
013dc89f
DM
31528 "type" : "string",
31529 "typetext" : "<string>"
56122987 31530 },
44660702
DM
31531 "dport" : {
31532 "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.",
31533 "format" : "pve-fw-dport-spec",
7aacca6f 31534 "optional" : 1,
013dc89f
DM
31535 "type" : "string",
31536 "typetext" : "<string>"
56122987 31537 },
44660702 31538 "enable" : {
e94f0d56 31539 "description" : "Flag to enable/disable a rule.",
44660702
DM
31540 "minimum" : 0,
31541 "optional" : 1,
4bd7df8b 31542 "type" : "integer",
013dc89f 31543 "typetext" : "<integer> (0 - N)"
44660702 31544 },
7aacca6f 31545 "iface" : {
44660702 31546 "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 31547 "format" : "pve-iface",
56122987 31548 "maxLength" : 20,
7aacca6f 31549 "minLength" : 2,
7aacca6f 31550 "optional" : 1,
013dc89f
DM
31551 "type" : "string",
31552 "typetext" : "<string>"
56122987 31553 },
95895385
TL
31554 "log" : {
31555 "description" : "Log level for firewall rule.",
31556 "enum" : [
31557 "emerg",
31558 "alert",
31559 "crit",
31560 "err",
31561 "warning",
31562 "notice",
31563 "info",
31564 "debug",
31565 "nolog"
31566 ],
31567 "optional" : 1,
31568 "type" : "string"
31569 },
44660702 31570 "macro" : {
e94f0d56 31571 "description" : "Use predefined standard macro.",
44660702 31572 "maxLength" : 128,
7aacca6f 31573 "optional" : 1,
013dc89f
DM
31574 "type" : "string",
31575 "typetext" : "<string>"
56122987 31576 },
44660702
DM
31577 "node" : {
31578 "description" : "The cluster node name.",
31579 "format" : "pve-node",
013dc89f
DM
31580 "type" : "string",
31581 "typetext" : "<string>"
44660702
DM
31582 },
31583 "pos" : {
31584 "description" : "Update rule at position <pos>.",
31585 "minimum" : 0,
31586 "optional" : 1,
4bd7df8b 31587 "type" : "integer",
013dc89f 31588 "typetext" : "<integer> (0 - N)"
44660702
DM
31589 },
31590 "proto" : {
31591 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
31592 "format" : "pve-fw-protocol-spec",
56122987 31593 "optional" : 1,
013dc89f
DM
31594 "type" : "string",
31595 "typetext" : "<string>"
56122987 31596 },
7aacca6f 31597 "source" : {
7aacca6f 31598 "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
31599 "format" : "pve-fw-addr-spec",
31600 "optional" : 1,
013dc89f
DM
31601 "type" : "string",
31602 "typetext" : "<string>"
7aacca6f 31603 },
44660702
DM
31604 "sport" : {
31605 "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.",
31606 "format" : "pve-fw-sport-spec",
7aacca6f 31607 "optional" : 1,
013dc89f
DM
31608 "type" : "string",
31609 "typetext" : "<string>"
44660702
DM
31610 },
31611 "type" : {
e94f0d56 31612 "description" : "Rule type.",
44660702
DM
31613 "enum" : [
31614 "in",
31615 "out",
31616 "group"
31617 ],
31618 "optional" : 0,
31619 "type" : "string"
56122987 31620 }
44660702 31621 }
7aacca6f 31622 },
56122987
DM
31623 "permissions" : {
31624 "check" : [
31625 "perm",
31626 "/nodes/{node}",
31627 [
31628 "Sys.Modify"
31629 ]
31630 ]
31631 },
44660702
DM
31632 "protected" : 1,
31633 "proxyto" : "node",
31634 "returns" : {
31635 "type" : "null"
31636 }
56122987
DM
31637 }
31638 },
44660702 31639 "leaf" : 0,
7aacca6f 31640 "path" : "/nodes/{node}/firewall/rules",
44660702 31641 "text" : "rules"
56122987
DM
31642 },
31643 {
56122987 31644 "info" : {
44660702
DM
31645 "GET" : {
31646 "description" : "Get host firewall options.",
31647 "method" : "GET",
31648 "name" : "get_options",
56122987 31649 "parameters" : {
7aacca6f 31650 "additionalProperties" : 0,
56122987 31651 "properties" : {
44660702
DM
31652 "node" : {
31653 "description" : "The cluster node name.",
31654 "format" : "pve-node",
013dc89f
DM
31655 "type" : "string",
31656 "typetext" : "<string>"
44660702
DM
31657 }
31658 }
31659 },
31660 "permissions" : {
31661 "check" : [
31662 "perm",
31663 "/nodes/{node}",
31664 [
31665 "Sys.Audit"
31666 ]
31667 ]
31668 },
31669 "proxyto" : "node",
31670 "returns" : {
31671 "properties" : {
31672 "enable" : {
31673 "description" : "Enable host firewall rules.",
7aacca6f 31674 "optional" : 1,
44660702 31675 "type" : "boolean"
7aacca6f 31676 },
44660702
DM
31677 "log_level_in" : {
31678 "description" : "Log level for incoming traffic.",
56122987
DM
31679 "enum" : [
31680 "emerg",
31681 "alert",
31682 "crit",
31683 "err",
31684 "warning",
31685 "notice",
31686 "info",
31687 "debug",
31688 "nolog"
31689 ],
56122987 31690 "optional" : 1,
44660702
DM
31691 "type" : "string"
31692 },
31693 "log_level_out" : {
31694 "description" : "Log level for outgoing traffic.",
56122987
DM
31695 "enum" : [
31696 "emerg",
31697 "alert",
31698 "crit",
31699 "err",
31700 "warning",
31701 "notice",
31702 "info",
31703 "debug",
31704 "nolog"
31705 ],
44660702
DM
31706 "optional" : 1,
31707 "type" : "string"
31708 },
95895385
TL
31709 "log_nf_conntrack" : {
31710 "default" : 0,
31711 "description" : "Enable logging of conntrack information.",
31712 "optional" : 1,
31713 "type" : "boolean"
31714 },
44660702
DM
31715 "ndp" : {
31716 "description" : "Enable NDP.",
31717 "optional" : 1,
31718 "type" : "boolean"
31719 },
5f26e15b
TL
31720 "nf_conntrack_allow_invalid" : {
31721 "default" : 0,
31722 "description" : "Allow invalid packets on connection tracking.",
31723 "optional" : 1,
31724 "type" : "boolean"
31725 },
44660702
DM
31726 "nf_conntrack_max" : {
31727 "description" : "Maximum number of tracked connections.",
31728 "minimum" : 32768,
31729 "optional" : 1,
31730 "type" : "integer"
31731 },
31732 "nf_conntrack_tcp_timeout_established" : {
31733 "description" : "Conntrack established timeout.",
31734 "minimum" : 7875,
31735 "optional" : 1,
31736 "type" : "integer"
31737 },
31738 "nosmurfs" : {
31739 "description" : "Enable SMURFS filter.",
31740 "optional" : 1,
31741 "type" : "boolean"
56122987 31742 },
7aacca6f 31743 "smurf_log_level" : {
44660702 31744 "description" : "Log level for SMURFS filter.",
56122987
DM
31745 "enum" : [
31746 "emerg",
31747 "alert",
31748 "crit",
31749 "err",
31750 "warning",
31751 "notice",
31752 "info",
31753 "debug",
31754 "nolog"
7aacca6f 31755 ],
7aacca6f
DM
31756 "optional" : 1,
31757 "type" : "string"
56122987 31758 },
44660702
DM
31759 "tcp_flags_log_level" : {
31760 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
31761 "enum" : [
31762 "emerg",
31763 "alert",
31764 "crit",
31765 "err",
31766 "warning",
31767 "notice",
31768 "info",
31769 "debug",
31770 "nolog"
31771 ],
44660702
DM
31772 "optional" : 1,
31773 "type" : "string"
7aacca6f 31774 },
44660702
DM
31775 "tcpflags" : {
31776 "description" : "Filter illegal combinations of TCP flags.",
56122987 31777 "optional" : 1,
44660702 31778 "type" : "boolean"
56122987 31779 }
44660702
DM
31780 },
31781 "type" : "object"
7aacca6f 31782 }
56122987 31783 },
44660702
DM
31784 "PUT" : {
31785 "description" : "Set Firewall options.",
31786 "method" : "PUT",
31787 "name" : "set_options",
7aacca6f 31788 "parameters" : {
44660702 31789 "additionalProperties" : 0,
7aacca6f 31790 "properties" : {
44660702
DM
31791 "delete" : {
31792 "description" : "A list of settings you want to delete.",
31793 "format" : "pve-configid-list",
7aacca6f 31794 "optional" : 1,
013dc89f
DM
31795 "type" : "string",
31796 "typetext" : "<string>"
56122987 31797 },
44660702
DM
31798 "digest" : {
31799 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
31800 "maxLength" : 40,
31801 "optional" : 1,
013dc89f
DM
31802 "type" : "string",
31803 "typetext" : "<string>"
56122987 31804 },
44660702
DM
31805 "enable" : {
31806 "description" : "Enable host firewall rules.",
7aacca6f 31807 "optional" : 1,
013dc89f
DM
31808 "type" : "boolean",
31809 "typetext" : "<boolean>"
44660702
DM
31810 },
31811 "log_level_in" : {
31812 "description" : "Log level for incoming traffic.",
56122987
DM
31813 "enum" : [
31814 "emerg",
31815 "alert",
31816 "crit",
31817 "err",
31818 "warning",
31819 "notice",
31820 "info",
31821 "debug",
31822 "nolog"
44660702 31823 ],
7aacca6f 31824 "optional" : 1,
44660702 31825 "type" : "string"
7aacca6f 31826 },
44660702
DM
31827 "log_level_out" : {
31828 "description" : "Log level for outgoing traffic.",
56122987
DM
31829 "enum" : [
31830 "emerg",
31831 "alert",
31832 "crit",
31833 "err",
31834 "warning",
31835 "notice",
31836 "info",
31837 "debug",
31838 "nolog"
31839 ],
31840 "optional" : 1,
7aacca6f 31841 "type" : "string"
56122987 31842 },
95895385
TL
31843 "log_nf_conntrack" : {
31844 "default" : 0,
31845 "description" : "Enable logging of conntrack information.",
31846 "optional" : 1,
31847 "type" : "boolean",
31848 "typetext" : "<boolean>"
31849 },
44660702
DM
31850 "ndp" : {
31851 "description" : "Enable NDP.",
7aacca6f 31852 "optional" : 1,
013dc89f
DM
31853 "type" : "boolean",
31854 "typetext" : "<boolean>"
44660702 31855 },
5f26e15b
TL
31856 "nf_conntrack_allow_invalid" : {
31857 "default" : 0,
31858 "description" : "Allow invalid packets on connection tracking.",
31859 "optional" : 1,
31860 "type" : "boolean",
31861 "typetext" : "<boolean>"
31862 },
44660702
DM
31863 "nf_conntrack_max" : {
31864 "description" : "Maximum number of tracked connections.",
31865 "minimum" : 32768,
31866 "optional" : 1,
4bd7df8b 31867 "type" : "integer",
013dc89f 31868 "typetext" : "<integer> (32768 - N)"
44660702
DM
31869 },
31870 "nf_conntrack_tcp_timeout_established" : {
31871 "description" : "Conntrack established timeout.",
31872 "minimum" : 7875,
31873 "optional" : 1,
4bd7df8b 31874 "type" : "integer",
013dc89f 31875 "typetext" : "<integer> (7875 - N)"
44660702
DM
31876 },
31877 "node" : {
31878 "description" : "The cluster node name.",
31879 "format" : "pve-node",
013dc89f
DM
31880 "type" : "string",
31881 "typetext" : "<string>"
44660702
DM
31882 },
31883 "nosmurfs" : {
31884 "description" : "Enable SMURFS filter.",
31885 "optional" : 1,
013dc89f
DM
31886 "type" : "boolean",
31887 "typetext" : "<boolean>"
44660702
DM
31888 },
31889 "smurf_log_level" : {
31890 "description" : "Log level for SMURFS filter.",
56122987
DM
31891 "enum" : [
31892 "emerg",
31893 "alert",
31894 "crit",
31895 "err",
31896 "warning",
31897 "notice",
31898 "info",
31899 "debug",
31900 "nolog"
44660702
DM
31901 ],
31902 "optional" : 1,
31903 "type" : "string"
56122987 31904 },
44660702
DM
31905 "tcp_flags_log_level" : {
31906 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
31907 "enum" : [
31908 "emerg",
31909 "alert",
31910 "crit",
31911 "err",
31912 "warning",
31913 "notice",
31914 "info",
31915 "debug",
31916 "nolog"
31917 ],
44660702
DM
31918 "optional" : 1,
31919 "type" : "string"
7aacca6f 31920 },
44660702
DM
31921 "tcpflags" : {
31922 "description" : "Filter illegal combinations of TCP flags.",
56122987 31923 "optional" : 1,
013dc89f
DM
31924 "type" : "boolean",
31925 "typetext" : "<boolean>"
56122987 31926 }
7aacca6f 31927 }
56122987 31928 },
44660702
DM
31929 "permissions" : {
31930 "check" : [
31931 "perm",
31932 "/nodes/{node}",
31933 [
31934 "Sys.Modify"
31935 ]
31936 ]
31937 },
31938 "protected" : 1,
31939 "proxyto" : "node",
31940 "returns" : {
31941 "type" : "null"
31942 }
7aacca6f
DM
31943 }
31944 },
44660702
DM
31945 "leaf" : 1,
31946 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
31947 "text" : "options"
31948 },
31949 {
7aacca6f
DM
31950 "info" : {
31951 "GET" : {
44660702
DM
31952 "description" : "Read firewall log",
31953 "method" : "GET",
7aacca6f 31954 "name" : "log",
56122987 31955 "parameters" : {
44660702 31956 "additionalProperties" : 0,
56122987 31957 "properties" : {
7aacca6f 31958 "limit" : {
44660702 31959 "minimum" : 0,
7aacca6f 31960 "optional" : 1,
4bd7df8b 31961 "type" : "integer",
013dc89f 31962 "typetext" : "<integer> (0 - N)"
7aacca6f 31963 },
56122987 31964 "node" : {
7aacca6f 31965 "description" : "The cluster node name.",
44660702 31966 "format" : "pve-node",
013dc89f
DM
31967 "type" : "string",
31968 "typetext" : "<string>"
44660702
DM
31969 },
31970 "start" : {
31971 "minimum" : 0,
31972 "optional" : 1,
4bd7df8b 31973 "type" : "integer",
013dc89f 31974 "typetext" : "<integer> (0 - N)"
56122987 31975 }
44660702 31976 }
7aacca6f 31977 },
56122987
DM
31978 "permissions" : {
31979 "check" : [
31980 "perm",
31981 "/nodes/{node}",
31982 [
31983 "Sys.Syslog"
31984 ]
31985 ]
31986 },
44660702
DM
31987 "protected" : 1,
31988 "proxyto" : "node",
56122987
DM
31989 "returns" : {
31990 "items" : {
56122987 31991 "properties" : {
56122987 31992 "n" : {
44660702
DM
31993 "description" : "Line number",
31994 "type" : "integer"
7aacca6f
DM
31995 },
31996 "t" : {
44660702
DM
31997 "description" : "Line text",
31998 "type" : "string"
56122987 31999 }
44660702
DM
32000 },
32001 "type" : "object"
56122987
DM
32002 },
32003 "type" : "array"
7aacca6f 32004 }
56122987
DM
32005 }
32006 },
44660702
DM
32007 "leaf" : 1,
32008 "path" : "/nodes/{node}/firewall/log",
7aacca6f 32009 "text" : "log"
56122987
DM
32010 }
32011 ],
32012 "info" : {
32013 "GET" : {
44660702
DM
32014 "description" : "Directory index.",
32015 "method" : "GET",
32016 "name" : "index",
56122987 32017 "parameters" : {
44660702 32018 "additionalProperties" : 0,
56122987
DM
32019 "properties" : {
32020 "node" : {
32021 "description" : "The cluster node name.",
44660702 32022 "format" : "pve-node",
013dc89f
DM
32023 "type" : "string",
32024 "typetext" : "<string>"
56122987 32025 }
44660702 32026 }
56122987 32027 },
7aacca6f
DM
32028 "permissions" : {
32029 "user" : "all"
32030 },
56122987
DM
32031 "returns" : {
32032 "items" : {
32033 "properties" : {},
32034 "type" : "object"
32035 },
56122987
DM
32036 "links" : [
32037 {
44660702
DM
32038 "href" : "{name}",
32039 "rel" : "child"
56122987 32040 }
44660702
DM
32041 ],
32042 "type" : "array"
32043 }
56122987 32044 }
7aacca6f 32045 },
44660702 32046 "leaf" : 0,
7aacca6f 32047 "path" : "/nodes/{node}/firewall",
44660702 32048 "text" : "firewall"
56122987 32049 },
5d9c884c
DM
32050 {
32051 "children" : [
32052 {
32053 "children" : [
32054 {
32055 "info" : {
32056 "GET" : {
32057 "description" : "Get replication job status.",
32058 "method" : "GET",
32059 "name" : "job_status",
32060 "parameters" : {
32061 "additionalProperties" : 0,
32062 "properties" : {
32063 "id" : {
32064 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32065 "format" : "pve-replication-job-id",
32066 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32067 "type" : "string"
32068 },
32069 "node" : {
32070 "description" : "The cluster node name.",
32071 "format" : "pve-node",
32072 "type" : "string",
32073 "typetext" : "<string>"
32074 }
32075 }
32076 },
32077 "permissions" : {
32078 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
32079 "user" : "all"
32080 },
32081 "protected" : 1,
32082 "proxyto" : "node",
32083 "returns" : {
5d9c884c
DM
32084 "type" : "object"
32085 }
32086 }
32087 },
32088 "leaf" : 1,
32089 "path" : "/nodes/{node}/replication/{id}/status",
32090 "text" : "status"
32091 },
32092 {
32093 "info" : {
32094 "GET" : {
32095 "description" : "Read replication job log.",
32096 "method" : "GET",
32097 "name" : "read_job_log",
32098 "parameters" : {
32099 "additionalProperties" : 0,
32100 "properties" : {
32101 "id" : {
32102 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32103 "format" : "pve-replication-job-id",
32104 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32105 "type" : "string"
32106 },
32107 "limit" : {
32108 "minimum" : 0,
32109 "optional" : 1,
32110 "type" : "integer",
32111 "typetext" : "<integer> (0 - N)"
32112 },
32113 "node" : {
32114 "description" : "The cluster node name.",
32115 "format" : "pve-node",
32116 "type" : "string",
32117 "typetext" : "<string>"
32118 },
32119 "start" : {
32120 "minimum" : 0,
32121 "optional" : 1,
32122 "type" : "integer",
32123 "typetext" : "<integer> (0 - N)"
32124 }
32125 }
32126 },
32127 "permissions" : {
32128 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
32129 "user" : "all"
32130 },
32131 "protected" : 1,
32132 "proxyto" : "node",
32133 "returns" : {
32134 "items" : {
32135 "properties" : {
32136 "n" : {
32137 "description" : "Line number",
32138 "type" : "integer"
32139 },
32140 "t" : {
32141 "description" : "Line text",
32142 "type" : "string"
32143 }
32144 },
32145 "type" : "object"
32146 },
32147 "type" : "array"
32148 }
32149 }
32150 },
32151 "leaf" : 1,
32152 "path" : "/nodes/{node}/replication/{id}/log",
32153 "text" : "log"
32154 },
32155 {
32156 "info" : {
32157 "POST" : {
32158 "description" : "Schedule replication job to start as soon as possible.",
32159 "method" : "POST",
32160 "name" : "schedule_now",
32161 "parameters" : {
32162 "additionalProperties" : 0,
32163 "properties" : {
32164 "id" : {
32165 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32166 "format" : "pve-replication-job-id",
32167 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32168 "type" : "string"
32169 },
32170 "node" : {
32171 "description" : "The cluster node name.",
32172 "format" : "pve-node",
32173 "type" : "string",
32174 "typetext" : "<string>"
32175 }
32176 }
32177 },
32178 "permissions" : {
32179 "check" : [
32180 "perm",
32181 "/storage",
32182 [
32183 "Datastore.Allocate"
32184 ]
32185 ]
32186 },
32187 "protected" : 1,
32188 "proxyto" : "node",
32189 "returns" : {
32190 "type" : "string"
32191 }
32192 }
32193 },
32194 "leaf" : 1,
32195 "path" : "/nodes/{node}/replication/{id}/schedule_now",
32196 "text" : "schedule_now"
32197 }
32198 ],
32199 "info" : {
32200 "GET" : {
32201 "description" : "Directory index.",
32202 "method" : "GET",
32203 "name" : "index",
32204 "parameters" : {
32205 "additionalProperties" : 0,
32206 "properties" : {
32207 "id" : {
32208 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32209 "format" : "pve-replication-job-id",
32210 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32211 "type" : "string"
32212 },
32213 "node" : {
32214 "description" : "The cluster node name.",
32215 "format" : "pve-node",
32216 "type" : "string",
32217 "typetext" : "<string>"
32218 }
32219 }
32220 },
32221 "permissions" : {
32222 "user" : "all"
32223 },
32224 "returns" : {
32225 "items" : {
32226 "properties" : {},
32227 "type" : "object"
32228 },
32229 "links" : [
32230 {
32231 "href" : "{name}",
32232 "rel" : "child"
32233 }
32234 ],
32235 "type" : "array"
32236 }
32237 }
32238 },
32239 "leaf" : 0,
32240 "path" : "/nodes/{node}/replication/{id}",
32241 "text" : "{id}"
32242 }
32243 ],
32244 "info" : {
32245 "GET" : {
32246 "description" : "List status of all replication jobs on this node.",
32247 "method" : "GET",
32248 "name" : "status",
32249 "parameters" : {
32250 "additionalProperties" : 0,
32251 "properties" : {
32252 "guest" : {
32253 "description" : "Only list replication jobs for this guest.",
32254 "format" : "pve-vmid",
32255 "minimum" : 1,
32256 "optional" : 1,
32257 "type" : "integer",
32258 "typetext" : "<integer> (1 - N)"
32259 },
32260 "node" : {
32261 "description" : "The cluster node name.",
32262 "format" : "pve-node",
32263 "type" : "string",
32264 "typetext" : "<string>"
32265 }
32266 }
32267 },
32268 "permissions" : {
32269 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
32270 "user" : "all"
32271 },
32272 "protected" : 1,
32273 "proxyto" : "node",
32274 "returns" : {
32275 "items" : {
32276 "properties" : {
32277 "id" : {
32278 "type" : "string"
32279 }
32280 },
32281 "type" : "object"
32282 },
32283 "links" : [
32284 {
32285 "href" : "{id}",
32286 "rel" : "child"
32287 }
32288 ],
32289 "type" : "array"
32290 }
32291 }
32292 },
32293 "leaf" : 0,
32294 "path" : "/nodes/{node}/replication",
32295 "text" : "replication"
32296 },
a9a8e3d1
DM
32297 {
32298 "children" : [
32299 {
32300 "children" : [
32301 {
32302 "info" : {
32303 "DELETE" : {
32304 "description" : "Revoke existing certificate from CA.",
32305 "method" : "DELETE",
32306 "name" : "revoke_certificate",
32307 "parameters" : {
32308 "additionalProperties" : 0,
32309 "properties" : {
32310 "node" : {
32311 "description" : "The cluster node name.",
32312 "format" : "pve-node",
32313 "type" : "string",
32314 "typetext" : "<string>"
32315 }
32316 }
32317 },
32318 "protected" : 1,
32319 "proxyto" : "node",
32320 "returns" : {
32321 "type" : "string"
32322 }
32323 },
32324 "POST" : {
32325 "description" : "Order a new certificate from ACME-compatible CA.",
32326 "method" : "POST",
32327 "name" : "new_certificate",
32328 "parameters" : {
32329 "additionalProperties" : 0,
32330 "properties" : {
32331 "force" : {
32332 "default" : 0,
32333 "description" : "Overwrite existing custom certificate.",
32334 "optional" : 1,
32335 "type" : "boolean",
32336 "typetext" : "<boolean>"
32337 },
32338 "node" : {
32339 "description" : "The cluster node name.",
32340 "format" : "pve-node",
32341 "type" : "string",
32342 "typetext" : "<string>"
32343 }
32344 }
32345 },
32346 "protected" : 1,
32347 "proxyto" : "node",
32348 "returns" : {
32349 "type" : "string"
32350 }
32351 },
32352 "PUT" : {
32353 "description" : "Renew existing certificate from CA.",
32354 "method" : "PUT",
32355 "name" : "renew_certificate",
32356 "parameters" : {
32357 "additionalProperties" : 0,
32358 "properties" : {
32359 "force" : {
32360 "default" : 0,
32361 "description" : "Force renewal even if expiry is more than 30 days away.",
32362 "optional" : 1,
32363 "type" : "boolean",
32364 "typetext" : "<boolean>"
32365 },
32366 "node" : {
32367 "description" : "The cluster node name.",
32368 "format" : "pve-node",
32369 "type" : "string",
32370 "typetext" : "<string>"
32371 }
32372 }
32373 },
32374 "protected" : 1,
32375 "proxyto" : "node",
32376 "returns" : {
32377 "type" : "string"
32378 }
32379 }
32380 },
32381 "leaf" : 1,
32382 "path" : "/nodes/{node}/certificates/acme/certificate",
32383 "text" : "certificate"
32384 }
32385 ],
32386 "info" : {
32387 "GET" : {
32388 "description" : "ACME index.",
32389 "method" : "GET",
32390 "name" : "index",
32391 "parameters" : {
32392 "additionalProperties" : 0,
32393 "properties" : {
32394 "node" : {
32395 "description" : "The cluster node name.",
32396 "format" : "pve-node",
32397 "type" : "string",
32398 "typetext" : "<string>"
32399 }
32400 }
32401 },
32402 "permissions" : {
32403 "user" : "all"
32404 },
32405 "returns" : {
32406 "items" : {
32407 "properties" : {},
32408 "type" : "object"
32409 },
32410 "links" : [
32411 {
32412 "href" : "{name}",
32413 "rel" : "child"
32414 }
32415 ],
32416 "type" : "array"
32417 }
32418 }
32419 },
32420 "leaf" : 0,
32421 "path" : "/nodes/{node}/certificates/acme",
32422 "text" : "acme"
32423 },
32424 {
32425 "info" : {
32426 "GET" : {
32427 "description" : "Get information about node's certificates.",
32428 "method" : "GET",
32429 "name" : "info",
32430 "parameters" : {
32431 "additionalProperties" : 0,
32432 "properties" : {
32433 "node" : {
32434 "description" : "The cluster node name.",
32435 "format" : "pve-node",
32436 "type" : "string",
32437 "typetext" : "<string>"
32438 }
32439 }
32440 },
32441 "permissions" : {
32442 "user" : "all"
32443 },
32444 "proxyto" : "node",
32445 "returns" : {
32446 "items" : {
32447 "properties" : {
32448 "filename" : {
32449 "optional" : 1,
32450 "type" : "string"
32451 },
32452 "fingerprint" : {
32453 "description" : "Certificate SHA 256 fingerprint.",
32454 "optional" : 1,
32455 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
32456 "type" : "string"
32457 },
32458 "issuer" : {
32459 "description" : "Certificate issuer name.",
32460 "optional" : 1,
32461 "type" : "string"
32462 },
32463 "notafter" : {
32464 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
32465 "optional" : 1,
4d47f125 32466 "renderer" : "timestamp",
a9a8e3d1
DM
32467 "type" : "integer"
32468 },
32469 "notbefore" : {
32470 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
32471 "optional" : 1,
4d47f125 32472 "renderer" : "timestamp",
a9a8e3d1
DM
32473 "type" : "integer"
32474 },
32475 "pem" : {
32476 "description" : "Certificate in PEM format",
32477 "format" : "pem-certificate",
32478 "optional" : 1,
32479 "type" : "string"
32480 },
32481 "san" : {
32482 "description" : "List of Certificate's SubjectAlternativeName entries.",
32483 "items" : {
32484 "type" : "string"
32485 },
32486 "optional" : 1,
4d47f125 32487 "renderer" : "yaml",
a9a8e3d1
DM
32488 "type" : "array"
32489 },
32490 "subject" : {
32491 "description" : "Certificate subject name.",
32492 "optional" : 1,
32493 "type" : "string"
32494 }
32495 },
32496 "type" : "object"
32497 },
32498 "type" : "array"
32499 }
32500 }
32501 },
32502 "leaf" : 1,
32503 "path" : "/nodes/{node}/certificates/info",
32504 "text" : "info"
32505 },
32506 {
32507 "info" : {
32508 "DELETE" : {
32509 "description" : "DELETE custom certificate chain and key.",
32510 "method" : "DELETE",
32511 "name" : "remove_custom_cert",
32512 "parameters" : {
32513 "additionalProperties" : 0,
32514 "properties" : {
32515 "node" : {
32516 "description" : "The cluster node name.",
32517 "format" : "pve-node",
32518 "type" : "string",
32519 "typetext" : "<string>"
32520 },
32521 "restart" : {
32522 "default" : 0,
32523 "description" : "Restart pveproxy.",
32524 "optional" : 1,
32525 "type" : "boolean",
32526 "typetext" : "<boolean>"
32527 }
32528 }
32529 },
32530 "protected" : 1,
32531 "proxyto" : "node",
32532 "returns" : {
32533 "type" : "null"
32534 }
32535 },
32536 "POST" : {
32537 "description" : "Upload or update custom certificate chain and key.",
32538 "method" : "POST",
32539 "name" : "upload_custom_cert",
32540 "parameters" : {
32541 "additionalProperties" : 0,
32542 "properties" : {
32543 "certificates" : {
32544 "description" : "PEM encoded certificate (chain).",
32545 "format" : "pem-certificate-chain",
32546 "type" : "string",
32547 "typetext" : "<string>"
32548 },
32549 "force" : {
32550 "default" : 0,
32551 "description" : "Overwrite existing custom or ACME certificate files.",
32552 "optional" : 1,
32553 "type" : "boolean",
32554 "typetext" : "<boolean>"
32555 },
32556 "key" : {
32557 "description" : "PEM encoded private key.",
32558 "format" : "pem-string",
32559 "optional" : 1,
32560 "type" : "string",
32561 "typetext" : "<string>"
32562 },
32563 "node" : {
32564 "description" : "The cluster node name.",
32565 "format" : "pve-node",
32566 "type" : "string",
32567 "typetext" : "<string>"
32568 },
32569 "restart" : {
32570 "default" : 0,
32571 "description" : "Restart pveproxy.",
32572 "optional" : 1,
32573 "type" : "boolean",
32574 "typetext" : "<boolean>"
32575 }
32576 }
32577 },
32578 "protected" : 1,
32579 "proxyto" : "node",
32580 "returns" : {
32581 "properties" : {
32582 "filename" : {
32583 "optional" : 1,
32584 "type" : "string"
32585 },
32586 "fingerprint" : {
32587 "description" : "Certificate SHA 256 fingerprint.",
32588 "optional" : 1,
32589 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
32590 "type" : "string"
32591 },
32592 "issuer" : {
32593 "description" : "Certificate issuer name.",
32594 "optional" : 1,
32595 "type" : "string"
32596 },
32597 "notafter" : {
32598 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
32599 "optional" : 1,
4d47f125 32600 "renderer" : "timestamp",
a9a8e3d1
DM
32601 "type" : "integer"
32602 },
32603 "notbefore" : {
32604 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
32605 "optional" : 1,
4d47f125 32606 "renderer" : "timestamp",
a9a8e3d1
DM
32607 "type" : "integer"
32608 },
32609 "pem" : {
32610 "description" : "Certificate in PEM format",
32611 "format" : "pem-certificate",
32612 "optional" : 1,
32613 "type" : "string"
32614 },
32615 "san" : {
32616 "description" : "List of Certificate's SubjectAlternativeName entries.",
32617 "items" : {
32618 "type" : "string"
32619 },
32620 "optional" : 1,
4d47f125 32621 "renderer" : "yaml",
a9a8e3d1
DM
32622 "type" : "array"
32623 },
32624 "subject" : {
32625 "description" : "Certificate subject name.",
32626 "optional" : 1,
32627 "type" : "string"
32628 }
32629 },
32630 "type" : "object"
32631 }
32632 }
32633 },
32634 "leaf" : 1,
32635 "path" : "/nodes/{node}/certificates/custom",
32636 "text" : "custom"
32637 }
32638 ],
32639 "info" : {
32640 "GET" : {
32641 "description" : "Node index.",
32642 "method" : "GET",
32643 "name" : "index",
32644 "parameters" : {
32645 "additionalProperties" : 0,
32646 "properties" : {
32647 "node" : {
32648 "description" : "The cluster node name.",
32649 "format" : "pve-node",
32650 "type" : "string",
32651 "typetext" : "<string>"
32652 }
32653 }
32654 },
32655 "permissions" : {
32656 "user" : "all"
32657 },
32658 "returns" : {
32659 "items" : {
32660 "properties" : {},
32661 "type" : "object"
32662 },
32663 "links" : [
32664 {
32665 "href" : "{name}",
32666 "rel" : "child"
32667 }
32668 ],
32669 "type" : "array"
32670 }
32671 }
32672 },
32673 "leaf" : 0,
32674 "path" : "/nodes/{node}/certificates",
32675 "text" : "certificates"
32676 },
32677 {
32678 "info" : {
32679 "GET" : {
32680 "description" : "Get node configuration options.",
32681 "method" : "GET",
32682 "name" : "get_config",
32683 "parameters" : {
32684 "additionalProperties" : 0,
32685 "properties" : {
32686 "node" : {
32687 "description" : "The cluster node name.",
32688 "format" : "pve-node",
32689 "type" : "string",
32690 "typetext" : "<string>"
32691 }
32692 }
32693 },
32694 "permissions" : {
32695 "check" : [
32696 "perm",
32697 "/",
32698 [
32699 "Sys.Audit"
32700 ]
32701 ]
32702 },
32703 "proxyto" : "node",
32704 "returns" : {
a9a8e3d1
DM
32705 "type" : "object"
32706 }
32707 },
32708 "PUT" : {
32709 "description" : "Set node configuration options.",
32710 "method" : "PUT",
32711 "name" : "set_options",
32712 "parameters" : {
32713 "additionalProperties" : 0,
32714 "properties" : {
32715 "acme" : {
32716 "description" : "Node specific ACME settings.",
32717 "format" : {
32718 "account" : {
32719 "default" : "default",
32720 "description" : "ACME account config file name.",
32721 "format" : "pve-configid",
32722 "format_description" : "name",
32723 "optional" : 1,
32724 "type" : "string"
32725 },
32726 "domains" : {
32727 "description" : "List of domains for this node's ACME certificate",
32728 "format" : "pve-acme-domain-list",
32729 "format_description" : "domain[;domain;...]",
32730 "type" : "string"
32731 }
32732 },
32733 "optional" : 1,
32734 "type" : "string",
32735 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
32736 },
32737 "delete" : {
32738 "description" : "A list of settings you want to delete.",
32739 "format" : "pve-configid-list",
32740 "optional" : 1,
32741 "type" : "string",
32742 "typetext" : "<string>"
32743 },
32744 "description" : {
32745 "description" : "Node description/comment.",
32746 "optional" : 1,
32747 "type" : "string",
32748 "typetext" : "<string>"
32749 },
32750 "digest" : {
32751 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32752 "maxLength" : 40,
32753 "optional" : 1,
32754 "type" : "string",
32755 "typetext" : "<string>"
32756 },
32757 "node" : {
32758 "description" : "The cluster node name.",
32759 "format" : "pve-node",
32760 "type" : "string",
32761 "typetext" : "<string>"
5f26e15b
TL
32762 },
32763 "wakeonlan" : {
32764 "description" : "MAC address for wake on LAN",
32765 "format" : "mac-addr",
32766 "optional" : 1,
32767 "type" : "string",
32768 "typetext" : "<string>"
a9a8e3d1
DM
32769 }
32770 }
32771 },
32772 "permissions" : {
32773 "check" : [
32774 "perm",
32775 "/",
32776 [
32777 "Sys.Modify"
32778 ]
32779 ]
32780 },
32781 "protected" : 1,
32782 "proxyto" : "node",
32783 "returns" : {
32784 "type" : "null"
32785 }
32786 }
32787 },
32788 "leaf" : 1,
32789 "path" : "/nodes/{node}/config",
32790 "text" : "config"
32791 },
56122987 32792 {
56122987
DM
32793 "info" : {
32794 "GET" : {
44660702
DM
32795 "description" : "API version details",
32796 "method" : "GET",
32797 "name" : "version",
56122987 32798 "parameters" : {
44660702 32799 "additionalProperties" : 0,
56122987
DM
32800 "properties" : {
32801 "node" : {
56122987 32802 "description" : "The cluster node name.",
44660702 32803 "format" : "pve-node",
013dc89f
DM
32804 "type" : "string",
32805 "typetext" : "<string>"
56122987 32806 }
44660702 32807 }
56122987 32808 },
56122987 32809 "permissions" : {
7aacca6f 32810 "user" : "all"
56122987 32811 },
56122987 32812 "proxyto" : "node",
56122987 32813 "returns" : {
56122987 32814 "properties" : {
44660702 32815 "release" : {
56122987
DM
32816 "type" : "string"
32817 },
44660702 32818 "repoid" : {
7aacca6f
DM
32819 "type" : "string"
32820 },
32821 "version" : {
32822 "type" : "string"
32823 }
44660702
DM
32824 },
32825 "type" : "object"
7aacca6f 32826 }
56122987
DM
32827 }
32828 },
56122987 32829 "leaf" : 1,
44660702
DM
32830 "path" : "/nodes/{node}/version",
32831 "text" : "version"
56122987
DM
32832 },
32833 {
56122987
DM
32834 "info" : {
32835 "GET" : {
7aacca6f 32836 "description" : "Read node status",
44660702 32837 "method" : "GET",
7aacca6f 32838 "name" : "status",
56122987 32839 "parameters" : {
44660702 32840 "additionalProperties" : 0,
56122987
DM
32841 "properties" : {
32842 "node" : {
7aacca6f 32843 "description" : "The cluster node name.",
44660702 32844 "format" : "pve-node",
013dc89f
DM
32845 "type" : "string",
32846 "typetext" : "<string>"
56122987 32847 }
44660702 32848 }
56122987 32849 },
56122987
DM
32850 "permissions" : {
32851 "check" : [
32852 "perm",
32853 "/nodes/{node}",
32854 [
32855 "Sys.Audit"
32856 ]
32857 ]
44660702
DM
32858 },
32859 "proxyto" : "node",
32860 "returns" : {
44660702 32861 "type" : "object"
7aacca6f
DM
32862 }
32863 },
32864 "POST" : {
44660702
DM
32865 "description" : "Reboot or shutdown a node.",
32866 "method" : "POST",
7aacca6f 32867 "name" : "node_cmd",
56122987 32868 "parameters" : {
44660702 32869 "additionalProperties" : 0,
56122987 32870 "properties" : {
7aacca6f
DM
32871 "command" : {
32872 "description" : "Specify the command.",
56122987 32873 "enum" : [
7aacca6f
DM
32874 "reboot",
32875 "shutdown"
56122987
DM
32876 ],
32877 "type" : "string"
44660702
DM
32878 },
32879 "node" : {
32880 "description" : "The cluster node name.",
32881 "format" : "pve-node",
013dc89f
DM
32882 "type" : "string",
32883 "typetext" : "<string>"
56122987 32884 }
44660702 32885 }
7aacca6f 32886 },
7aacca6f
DM
32887 "permissions" : {
32888 "check" : [
32889 "perm",
32890 "/nodes/{node}",
32891 [
32892 "Sys.PowerMgmt"
32893 ]
32894 ]
32895 },
44660702 32896 "protected" : 1,
7aacca6f 32897 "proxyto" : "node",
7aacca6f
DM
32898 "returns" : {
32899 "type" : "null"
56122987
DM
32900 }
32901 }
32902 },
7aacca6f 32903 "leaf" : 1,
44660702
DM
32904 "path" : "/nodes/{node}/status",
32905 "text" : "status"
56122987
DM
32906 },
32907 {
56122987
DM
32908 "info" : {
32909 "GET" : {
44660702
DM
32910 "description" : "Read tap/vm network device interface counters",
32911 "method" : "GET",
32912 "name" : "netstat",
32913 "parameters" : {
32914 "additionalProperties" : 0,
32915 "properties" : {
32916 "node" : {
32917 "description" : "The cluster node name.",
32918 "format" : "pve-node",
013dc89f
DM
32919 "type" : "string",
32920 "typetext" : "<string>"
44660702 32921 }
56122987
DM
32922 }
32923 },
32924 "permissions" : {
32925 "check" : [
32926 "perm",
32927 "/nodes/{node}",
32928 [
7aacca6f 32929 "Sys.Audit"
56122987
DM
32930 ]
32931 ]
32932 },
7aacca6f 32933 "proxyto" : "node",
44660702
DM
32934 "returns" : {
32935 "items" : {
32936 "properties" : {},
32937 "type" : "object"
32938 },
32939 "type" : "array"
32940 }
7aacca6f
DM
32941 }
32942 },
44660702
DM
32943 "leaf" : 1,
32944 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
32945 "text" : "netstat"
32946 },
32947 {
32948 "info" : {
32949 "POST" : {
7aacca6f 32950 "description" : "Execute multiple commands in order.",
7aacca6f 32951 "method" : "POST",
7aacca6f 32952 "name" : "execute",
56122987
DM
32953 "parameters" : {
32954 "additionalProperties" : 0,
32955 "properties" : {
7aacca6f
DM
32956 "commands" : {
32957 "description" : "JSON encoded array of commands.",
013dc89f
DM
32958 "type" : "string",
32959 "typetext" : "<string>"
56122987
DM
32960 },
32961 "node" : {
44660702 32962 "description" : "The cluster node name.",
56122987 32963 "format" : "pve-node",
013dc89f
DM
32964 "type" : "string",
32965 "typetext" : "<string>"
56122987
DM
32966 }
32967 }
44660702
DM
32968 },
32969 "permissions" : {
32970 "check" : [
32971 "perm",
32972 "/nodes/{node}",
32973 [
32974 "Sys.Audit"
32975 ]
32976 ]
32977 },
32978 "protected" : 1,
32979 "proxyto" : "node",
32980 "returns" : {
44660702 32981 "type" : "array"
56122987
DM
32982 }
32983 }
32984 },
56122987 32985 "leaf" : 1,
44660702
DM
32986 "path" : "/nodes/{node}/execute",
32987 "text" : "execute"
56122987 32988 },
5f26e15b
TL
32989 {
32990 "info" : {
32991 "POST" : {
32992 "description" : "Try to wake a node via 'wake on LAN' network packet.",
32993 "method" : "POST",
32994 "name" : "wakeonlan",
32995 "parameters" : {
32996 "additionalProperties" : 0,
32997 "properties" : {
32998 "node" : {
32999 "description" : "target node for wake on LAN packet",
33000 "format" : "pve-node",
33001 "type" : "string",
33002 "typetext" : "<string>"
33003 }
33004 }
33005 },
33006 "permissions" : {
33007 "check" : [
33008 "perm",
33009 "/nodes/{node}",
33010 [
33011 "Sys.PowerMgmt"
33012 ]
33013 ]
33014 },
33015 "protected" : 1,
33016 "returns" : {
33017 "description" : "MAC address used to assemble the WoL magic packet.",
33018 "format" : "mac-addr",
33019 "type" : "string"
33020 }
33021 }
33022 },
33023 "leaf" : 1,
33024 "path" : "/nodes/{node}/wakeonlan",
33025 "text" : "wakeonlan"
33026 },
56122987
DM
33027 {
33028 "info" : {
7aacca6f 33029 "GET" : {
44660702
DM
33030 "description" : "Read node RRD statistics (returns PNG)",
33031 "method" : "GET",
7aacca6f 33032 "name" : "rrd",
56122987 33033 "parameters" : {
7aacca6f 33034 "additionalProperties" : 0,
56122987 33035 "properties" : {
44660702
DM
33036 "cf" : {
33037 "description" : "The RRD consolidation function",
33038 "enum" : [
33039 "AVERAGE",
33040 "MAX"
33041 ],
33042 "optional" : 1,
33043 "type" : "string"
33044 },
7aacca6f 33045 "ds" : {
7aacca6f 33046 "description" : "The list of datasources you want to display.",
44660702 33047 "format" : "pve-configid-list",
013dc89f
DM
33048 "type" : "string",
33049 "typetext" : "<string>"
44660702
DM
33050 },
33051 "node" : {
33052 "description" : "The cluster node name.",
33053 "format" : "pve-node",
013dc89f
DM
33054 "type" : "string",
33055 "typetext" : "<string>"
7aacca6f
DM
33056 },
33057 "timeframe" : {
33058 "description" : "Specify the time frame you are interested in.",
33059 "enum" : [
33060 "hour",
33061 "day",
33062 "week",
33063 "month",
33064 "year"
33065 ],
33066 "type" : "string"
56122987 33067 }
7aacca6f 33068 }
56122987 33069 },
56122987 33070 "permissions" : {
56122987
DM
33071 "check" : [
33072 "perm",
33073 "/nodes/{node}",
33074 [
7aacca6f 33075 "Sys.Audit"
56122987
DM
33076 ]
33077 ]
33078 },
7aacca6f 33079 "protected" : 1,
56122987 33080 "returns" : {
56122987 33081 "properties" : {
7aacca6f 33082 "filename" : {
56122987
DM
33083 "type" : "string"
33084 }
44660702
DM
33085 },
33086 "type" : "object"
33087 }
56122987
DM
33088 }
33089 },
44660702 33090 "leaf" : 1,
7aacca6f 33091 "path" : "/nodes/{node}/rrd",
44660702 33092 "text" : "rrd"
56122987
DM
33093 },
33094 {
33095 "info" : {
7aacca6f 33096 "GET" : {
44660702
DM
33097 "description" : "Read node RRD statistics",
33098 "method" : "GET",
7aacca6f 33099 "name" : "rrddata",
56122987 33100 "parameters" : {
44660702 33101 "additionalProperties" : 0,
56122987 33102 "properties" : {
7aacca6f 33103 "cf" : {
7aacca6f
DM
33104 "description" : "The RRD consolidation function",
33105 "enum" : [
33106 "AVERAGE",
33107 "MAX"
44660702
DM
33108 ],
33109 "optional" : 1,
33110 "type" : "string"
56122987
DM
33111 },
33112 "node" : {
44660702 33113 "description" : "The cluster node name.",
56122987 33114 "format" : "pve-node",
013dc89f
DM
33115 "type" : "string",
33116 "typetext" : "<string>"
56122987 33117 },
7aacca6f 33118 "timeframe" : {
7aacca6f
DM
33119 "description" : "Specify the time frame you are interested in.",
33120 "enum" : [
33121 "hour",
33122 "day",
33123 "week",
33124 "month",
33125 "year"
44660702
DM
33126 ],
33127 "type" : "string"
56122987 33128 }
56122987
DM
33129 }
33130 },
56122987
DM
33131 "permissions" : {
33132 "check" : [
33133 "perm",
33134 "/nodes/{node}",
33135 [
44660702 33136 "Sys.Audit"
56122987
DM
33137 ]
33138 ]
7aacca6f 33139 },
44660702 33140 "protected" : 1,
56122987 33141 "returns" : {
7aacca6f 33142 "items" : {
44660702 33143 "properties" : {},
7aacca6f
DM
33144 "type" : "object"
33145 },
33146 "type" : "array"
44660702
DM
33147 }
33148 }
33149 },
33150 "leaf" : 1,
33151 "path" : "/nodes/{node}/rrddata",
33152 "text" : "rrddata"
33153 },
33154 {
33155 "info" : {
33156 "GET" : {
33157 "description" : "Read system log",
33158 "method" : "GET",
33159 "name" : "syslog",
56122987 33160 "parameters" : {
44660702 33161 "additionalProperties" : 0,
56122987 33162 "properties" : {
44660702
DM
33163 "limit" : {
33164 "minimum" : 0,
7aacca6f 33165 "optional" : 1,
4bd7df8b 33166 "type" : "integer",
013dc89f 33167 "typetext" : "<integer> (0 - N)"
7aacca6f 33168 },
56122987 33169 "node" : {
7aacca6f 33170 "description" : "The cluster node name.",
44660702 33171 "format" : "pve-node",
013dc89f
DM
33172 "type" : "string",
33173 "typetext" : "<string>"
56122987 33174 },
35a75dd3
DM
33175 "service" : {
33176 "description" : "Service ID",
33177 "maxLength" : 128,
33178 "optional" : 1,
33179 "type" : "string",
33180 "typetext" : "<string>"
33181 },
44660702
DM
33182 "since" : {
33183 "description" : "Display all log since this date-time string.",
33184 "optional" : 1,
33185 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
33186 "type" : "string"
33187 },
33188 "start" : {
7aacca6f
DM
33189 "minimum" : 0,
33190 "optional" : 1,
4bd7df8b 33191 "type" : "integer",
013dc89f 33192 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
33193 },
33194 "until" : {
33195 "description" : "Display all log until this date-time string.",
7aacca6f 33196 "optional" : 1,
44660702 33197 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
33198 "type" : "string"
33199 }
44660702 33200 }
56122987 33201 },
44660702
DM
33202 "permissions" : {
33203 "check" : [
33204 "perm",
33205 "/nodes/{node}",
33206 [
33207 "Sys.Syslog"
33208 ]
33209 ]
33210 },
33211 "protected" : 1,
33212 "proxyto" : "node",
33213 "returns" : {
33214 "items" : {
33215 "properties" : {
33216 "n" : {
33217 "description" : "Line number",
33218 "type" : "integer"
33219 },
33220 "t" : {
33221 "description" : "Line text",
33222 "type" : "string"
33223 }
33224 },
33225 "type" : "object"
33226 },
33227 "type" : "array"
33228 }
56122987
DM
33229 }
33230 },
44660702
DM
33231 "leaf" : 1,
33232 "path" : "/nodes/{node}/syslog",
7aacca6f 33233 "text" : "syslog"
56122987
DM
33234 },
33235 {
56122987
DM
33236 "info" : {
33237 "POST" : {
44660702
DM
33238 "description" : "Creates a VNC Shell proxy.",
33239 "method" : "POST",
33240 "name" : "vncshell",
33241 "parameters" : {
33242 "additionalProperties" : 0,
56122987 33243 "properties" : {
95895385
TL
33244 "cmd" : {
33245 "default" : "login",
33246 "description" : "Run specific command or default to login.",
33247 "enum" : [
33248 "upgrade",
33249 "ceph_install",
33250 "login"
33251 ],
33252 "optional" : 1,
33253 "type" : "string"
33254 },
5d9c884c
DM
33255 "height" : {
33256 "description" : "sets the height of the console in pixels.",
33257 "maximum" : 2160,
33258 "minimum" : 16,
33259 "optional" : 1,
33260 "type" : "integer",
33261 "typetext" : "<integer> (16 - 2160)"
33262 },
44660702
DM
33263 "node" : {
33264 "description" : "The cluster node name.",
33265 "format" : "pve-node",
013dc89f
DM
33266 "type" : "string",
33267 "typetext" : "<string>"
7aacca6f 33268 },
44660702
DM
33269 "upgrade" : {
33270 "default" : 0,
95895385 33271 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 33272 "optional" : 1,
013dc89f
DM
33273 "type" : "boolean",
33274 "typetext" : "<boolean>"
7aacca6f 33275 },
44660702
DM
33276 "websocket" : {
33277 "description" : "use websocket instead of standard vnc.",
33278 "optional" : 1,
013dc89f
DM
33279 "type" : "boolean",
33280 "typetext" : "<boolean>"
5d9c884c
DM
33281 },
33282 "width" : {
33283 "description" : "sets the width of the console in pixels.",
33284 "maximum" : 4096,
33285 "minimum" : 16,
33286 "optional" : 1,
33287 "type" : "integer",
33288 "typetext" : "<integer> (16 - 4096)"
56122987 33289 }
44660702 33290 }
56122987 33291 },
56122987
DM
33292 "permissions" : {
33293 "check" : [
33294 "perm",
7aacca6f 33295 "/nodes/{node}",
56122987 33296 [
7aacca6f 33297 "Sys.Console"
56122987 33298 ]
44660702
DM
33299 ],
33300 "description" : "Restricted to users on realm 'pam'"
56122987 33301 },
44660702
DM
33302 "protected" : 1,
33303 "returns" : {
33304 "additionalProperties" : 0,
56122987 33305 "properties" : {
44660702
DM
33306 "cert" : {
33307 "type" : "string"
7aacca6f 33308 },
44660702
DM
33309 "port" : {
33310 "type" : "integer"
7aacca6f 33311 },
44660702
DM
33312 "ticket" : {
33313 "type" : "string"
33314 },
33315 "upid" : {
33316 "type" : "string"
33317 },
33318 "user" : {
33319 "type" : "string"
56122987 33320 }
44660702
DM
33321 }
33322 }
56122987
DM
33323 }
33324 },
7aacca6f 33325 "leaf" : 1,
44660702
DM
33326 "path" : "/nodes/{node}/vncshell",
33327 "text" : "vncshell"
56122987 33328 },
35a75dd3
DM
33329 {
33330 "info" : {
33331 "POST" : {
33332 "description" : "Creates a VNC Shell proxy.",
33333 "method" : "POST",
33334 "name" : "termproxy",
33335 "parameters" : {
33336 "additionalProperties" : 0,
33337 "properties" : {
95895385
TL
33338 "cmd" : {
33339 "default" : "login",
33340 "description" : "Run specific command or default to login.",
33341 "enum" : [
33342 "upgrade",
33343 "ceph_install",
33344 "login"
33345 ],
33346 "optional" : 1,
33347 "type" : "string"
33348 },
35a75dd3
DM
33349 "node" : {
33350 "description" : "The cluster node name.",
33351 "format" : "pve-node",
33352 "type" : "string",
33353 "typetext" : "<string>"
33354 },
33355 "upgrade" : {
33356 "default" : 0,
95895385 33357 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
35a75dd3
DM
33358 "optional" : 1,
33359 "type" : "boolean",
33360 "typetext" : "<boolean>"
33361 }
33362 }
33363 },
33364 "permissions" : {
33365 "check" : [
33366 "perm",
33367 "/nodes/{node}",
33368 [
33369 "Sys.Console"
33370 ]
33371 ],
33372 "description" : "Restricted to users on realm 'pam'"
33373 },
33374 "protected" : 1,
33375 "returns" : {
33376 "additionalProperties" : 0,
33377 "properties" : {
33378 "port" : {
33379 "type" : "integer"
33380 },
33381 "ticket" : {
33382 "type" : "string"
33383 },
33384 "upid" : {
33385 "type" : "string"
33386 },
33387 "user" : {
33388 "type" : "string"
33389 }
33390 }
33391 }
33392 }
33393 },
33394 "leaf" : 1,
33395 "path" : "/nodes/{node}/termproxy",
33396 "text" : "termproxy"
33397 },
56122987
DM
33398 {
33399 "info" : {
33400 "GET" : {
7aacca6f 33401 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
33402 "method" : "GET",
33403 "name" : "vncwebsocket",
56122987 33404 "parameters" : {
44660702 33405 "additionalProperties" : 0,
56122987
DM
33406 "properties" : {
33407 "node" : {
33408 "description" : "The cluster node name.",
44660702 33409 "format" : "pve-node",
013dc89f
DM
33410 "type" : "string",
33411 "typetext" : "<string>"
7aacca6f
DM
33412 },
33413 "port" : {
7aacca6f
DM
33414 "description" : "Port number returned by previous vncproxy call.",
33415 "maximum" : 5999,
44660702 33416 "minimum" : 5900,
4bd7df8b 33417 "type" : "integer",
013dc89f 33418 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
33419 },
33420 "vncticket" : {
33421 "description" : "Ticket from previous call to vncproxy.",
33422 "maxLength" : 512,
013dc89f
DM
33423 "type" : "string",
33424 "typetext" : "<string>"
56122987 33425 }
44660702 33426 }
56122987 33427 },
56122987
DM
33428 "permissions" : {
33429 "check" : [
33430 "perm",
33431 "/nodes/{node}",
33432 [
7aacca6f 33433 "Sys.Console"
56122987 33434 ]
44660702
DM
33435 ],
33436 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
33437 },
33438 "returns" : {
33439 "properties" : {
33440 "port" : {
33441 "type" : "string"
33442 }
33443 },
33444 "type" : "object"
7aacca6f 33445 }
56122987
DM
33446 }
33447 },
44660702 33448 "leaf" : 1,
7aacca6f 33449 "path" : "/nodes/{node}/vncwebsocket",
44660702 33450 "text" : "vncwebsocket"
56122987
DM
33451 },
33452 {
33453 "info" : {
33454 "POST" : {
44660702 33455 "description" : "Creates a SPICE shell.",
7aacca6f 33456 "method" : "POST",
44660702 33457 "name" : "spiceshell",
56122987 33458 "parameters" : {
7aacca6f 33459 "additionalProperties" : 0,
56122987 33460 "properties" : {
95895385
TL
33461 "cmd" : {
33462 "default" : "login",
33463 "description" : "Run specific command or default to login.",
33464 "enum" : [
33465 "upgrade",
33466 "ceph_install",
33467 "login"
33468 ],
33469 "optional" : 1,
33470 "type" : "string"
33471 },
7aacca6f 33472 "node" : {
44660702 33473 "description" : "The cluster node name.",
56122987 33474 "format" : "pve-node",
013dc89f
DM
33475 "type" : "string",
33476 "typetext" : "<string>"
7aacca6f 33477 },
44660702 33478 "proxy" : {
4d47f125 33479 "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
33480 "format" : "address",
33481 "optional" : 1,
013dc89f
DM
33482 "type" : "string",
33483 "typetext" : "<string>"
7aacca6f 33484 },
44660702
DM
33485 "upgrade" : {
33486 "default" : 0,
95895385 33487 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 33488 "optional" : 1,
013dc89f
DM
33489 "type" : "boolean",
33490 "typetext" : "<boolean>"
56122987 33491 }
7aacca6f 33492 }
56122987 33493 },
56122987
DM
33494 "permissions" : {
33495 "check" : [
33496 "perm",
7aacca6f 33497 "/nodes/{node}",
56122987 33498 [
7aacca6f 33499 "Sys.Console"
56122987 33500 ]
7aacca6f
DM
33501 ],
33502 "description" : "Restricted to users on realm 'pam'"
44660702
DM
33503 },
33504 "protected" : 1,
33505 "proxyto" : "node",
33506 "returns" : {
33507 "additionalProperties" : 1,
33508 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
33509 "properties" : {
33510 "host" : {
33511 "type" : "string"
33512 },
33513 "password" : {
33514 "type" : "string"
33515 },
33516 "proxy" : {
33517 "type" : "string"
33518 },
33519 "tls-port" : {
33520 "type" : "integer"
33521 },
33522 "type" : {
33523 "type" : "string"
33524 }
33525 }
7aacca6f 33526 }
56122987
DM
33527 }
33528 },
56122987 33529 "leaf" : 1,
44660702
DM
33530 "path" : "/nodes/{node}/spiceshell",
33531 "text" : "spiceshell"
56122987
DM
33532 },
33533 {
56122987 33534 "info" : {
7aacca6f 33535 "GET" : {
44660702 33536 "description" : "Read DNS settings.",
7aacca6f 33537 "method" : "GET",
44660702
DM
33538 "name" : "dns",
33539 "parameters" : {
7aacca6f
DM
33540 "additionalProperties" : 0,
33541 "properties" : {
44660702
DM
33542 "node" : {
33543 "description" : "The cluster node name.",
33544 "format" : "pve-node",
013dc89f
DM
33545 "type" : "string",
33546 "typetext" : "<string>"
7aacca6f
DM
33547 }
33548 }
33549 },
7aacca6f
DM
33550 "permissions" : {
33551 "check" : [
33552 "perm",
33553 "/nodes/{node}",
33554 [
33555 "Sys.Audit"
33556 ]
33557 ]
33558 },
44660702
DM
33559 "proxyto" : "node",
33560 "returns" : {
56122987
DM
33561 "additionalProperties" : 0,
33562 "properties" : {
44660702
DM
33563 "dns1" : {
33564 "description" : "First name server IP address.",
33565 "optional" : 1,
33566 "type" : "string"
33567 },
33568 "dns2" : {
33569 "description" : "Second name server IP address.",
33570 "optional" : 1,
33571 "type" : "string"
33572 },
33573 "dns3" : {
33574 "description" : "Third name server IP address.",
33575 "optional" : 1,
33576 "type" : "string"
33577 },
33578 "search" : {
33579 "description" : "Search domain for host-name lookup.",
33580 "optional" : 1,
33581 "type" : "string"
7aacca6f 33582 }
44660702
DM
33583 },
33584 "type" : "object"
33585 }
7aacca6f
DM
33586 },
33587 "PUT" : {
44660702
DM
33588 "description" : "Write DNS settings.",
33589 "method" : "PUT",
7aacca6f
DM
33590 "name" : "update_dns",
33591 "parameters" : {
33592 "additionalProperties" : 0,
33593 "properties" : {
44660702
DM
33594 "dns1" : {
33595 "description" : "First name server IP address.",
33596 "format" : "ip",
33597 "optional" : 1,
013dc89f
DM
33598 "type" : "string",
33599 "typetext" : "<string>"
7aacca6f 33600 },
44660702
DM
33601 "dns2" : {
33602 "description" : "Second name server IP address.",
33603 "format" : "ip",
7aacca6f 33604 "optional" : 1,
013dc89f
DM
33605 "type" : "string",
33606 "typetext" : "<string>"
7aacca6f 33607 },
44660702
DM
33608 "dns3" : {
33609 "description" : "Third name server IP address.",
33610 "format" : "ip",
7aacca6f 33611 "optional" : 1,
013dc89f
DM
33612 "type" : "string",
33613 "typetext" : "<string>"
7aacca6f
DM
33614 },
33615 "node" : {
44660702 33616 "description" : "The cluster node name.",
56122987 33617 "format" : "pve-node",
013dc89f
DM
33618 "type" : "string",
33619 "typetext" : "<string>"
7aacca6f 33620 },
44660702
DM
33621 "search" : {
33622 "description" : "Search domain for host-name lookup.",
013dc89f
DM
33623 "type" : "string",
33624 "typetext" : "<string>"
56122987
DM
33625 }
33626 }
33627 },
33628 "permissions" : {
33629 "check" : [
33630 "perm",
7aacca6f 33631 "/nodes/{node}",
56122987 33632 [
7aacca6f 33633 "Sys.Modify"
56122987
DM
33634 ]
33635 ]
33636 },
44660702 33637 "protected" : 1,
7aacca6f 33638 "proxyto" : "node",
56122987 33639 "returns" : {
7aacca6f
DM
33640 "type" : "null"
33641 }
56122987 33642 }
44660702
DM
33643 },
33644 "leaf" : 1,
33645 "path" : "/nodes/{node}/dns",
33646 "text" : "dns"
56122987
DM
33647 },
33648 {
33649 "info" : {
7aacca6f 33650 "GET" : {
7aacca6f 33651 "description" : "Read server time and time zone settings.",
44660702
DM
33652 "method" : "GET",
33653 "name" : "time",
56122987 33654 "parameters" : {
44660702 33655 "additionalProperties" : 0,
56122987
DM
33656 "properties" : {
33657 "node" : {
44660702 33658 "description" : "The cluster node name.",
56122987 33659 "format" : "pve-node",
013dc89f
DM
33660 "type" : "string",
33661 "typetext" : "<string>"
56122987 33662 }
44660702 33663 }
56122987
DM
33664 },
33665 "permissions" : {
33666 "check" : [
33667 "perm",
7aacca6f 33668 "/nodes/{node}",
56122987 33669 [
7aacca6f 33670 "Sys.Audit"
56122987
DM
33671 ]
33672 ]
44660702
DM
33673 },
33674 "proxyto" : "node",
33675 "returns" : {
33676 "additionalProperties" : 0,
33677 "properties" : {
33678 "localtime" : {
33679 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
33680 "minimum" : 1297163644,
4d47f125 33681 "renderer" : "timestamp_gmt",
44660702
DM
33682 "type" : "integer"
33683 },
33684 "time" : {
33685 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
33686 "minimum" : 1297163644,
4d47f125 33687 "renderer" : "timestamp",
44660702
DM
33688 "type" : "integer"
33689 },
33690 "timezone" : {
33691 "description" : "Time zone",
33692 "type" : "string"
33693 }
33694 },
33695 "type" : "object"
7aacca6f
DM
33696 }
33697 },
33698 "PUT" : {
7aacca6f 33699 "description" : "Set time zone.",
44660702
DM
33700 "method" : "PUT",
33701 "name" : "set_timezone",
33702 "parameters" : {
33703 "additionalProperties" : 0,
33704 "properties" : {
33705 "node" : {
33706 "description" : "The cluster node name.",
33707 "format" : "pve-node",
013dc89f
DM
33708 "type" : "string",
33709 "typetext" : "<string>"
44660702
DM
33710 },
33711 "timezone" : {
33712 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
33713 "type" : "string",
33714 "typetext" : "<string>"
44660702
DM
33715 }
33716 }
33717 },
7aacca6f
DM
33718 "permissions" : {
33719 "check" : [
33720 "perm",
33721 "/nodes/{node}",
33722 [
33723 "Sys.Modify"
33724 ]
33725 ]
56122987 33726 },
7aacca6f 33727 "protected" : 1,
44660702
DM
33728 "proxyto" : "node",
33729 "returns" : {
33730 "type" : "null"
33731 }
7aacca6f
DM
33732 }
33733 },
7aacca6f 33734 "leaf" : 1,
44660702
DM
33735 "path" : "/nodes/{node}/time",
33736 "text" : "time"
7aacca6f
DM
33737 },
33738 {
33739 "info" : {
44660702
DM
33740 "GET" : {
33741 "description" : "Get list of appliances.",
33742 "method" : "GET",
33743 "name" : "aplinfo",
7aacca6f
DM
33744 "parameters" : {
33745 "additionalProperties" : 0,
33746 "properties" : {
7aacca6f 33747 "node" : {
44660702 33748 "description" : "The cluster node name.",
7aacca6f 33749 "format" : "pve-node",
013dc89f
DM
33750 "type" : "string",
33751 "typetext" : "<string>"
7aacca6f
DM
33752 }
33753 }
56122987 33754 },
7aacca6f 33755 "permissions" : {
44660702 33756 "user" : "all"
56122987 33757 },
44660702 33758 "proxyto" : "node",
7aacca6f
DM
33759 "returns" : {
33760 "items" : {
44660702
DM
33761 "properties" : {},
33762 "type" : "object"
7aacca6f
DM
33763 },
33764 "type" : "array"
44660702
DM
33765 }
33766 },
33767 "POST" : {
33768 "description" : "Download appliance templates.",
33769 "method" : "POST",
33770 "name" : "apl_download",
7aacca6f
DM
33771 "parameters" : {
33772 "additionalProperties" : 0,
33773 "properties" : {
33774 "node" : {
7aacca6f 33775 "description" : "The cluster node name.",
44660702 33776 "format" : "pve-node",
013dc89f
DM
33777 "type" : "string",
33778 "typetext" : "<string>"
44660702
DM
33779 },
33780 "storage" : {
4bd7df8b 33781 "description" : "The storage where the template will be stored",
44660702 33782 "format" : "pve-storage-id",
013dc89f
DM
33783 "type" : "string",
33784 "typetext" : "<string>"
44660702
DM
33785 },
33786 "template" : {
33787 "description" : "The template wich will downloaded",
33788 "maxLength" : 255,
013dc89f
DM
33789 "type" : "string",
33790 "typetext" : "<string>"
7aacca6f
DM
33791 }
33792 }
56122987 33793 },
7aacca6f 33794 "permissions" : {
44660702
DM
33795 "check" : [
33796 "perm",
33797 "/storage/{storage}",
33798 [
33799 "Datastore.AllocateTemplate"
33800 ]
33801 ]
33802 },
33803 "protected" : 1,
33804 "proxyto" : "node",
33805 "returns" : {
33806 "type" : "string"
7aacca6f
DM
33807 }
33808 }
33809 },
7aacca6f 33810 "leaf" : 1,
44660702
DM
33811 "path" : "/nodes/{node}/aplinfo",
33812 "text" : "aplinfo"
7aacca6f
DM
33813 },
33814 {
33815 "info" : {
33816 "GET" : {
44660702
DM
33817 "description" : "Gather various systems information about a node",
33818 "method" : "GET",
33819 "name" : "report",
7aacca6f 33820 "parameters" : {
44660702 33821 "additionalProperties" : 0,
7aacca6f
DM
33822 "properties" : {
33823 "node" : {
7aacca6f 33824 "description" : "The cluster node name.",
44660702 33825 "format" : "pve-node",
013dc89f
DM
33826 "type" : "string",
33827 "typetext" : "<string>"
7aacca6f 33828 }
44660702 33829 }
56122987 33830 },
7aacca6f
DM
33831 "permissions" : {
33832 "check" : [
33833 "perm",
33834 "/nodes/{node}",
33835 [
33836 "Sys.Audit"
33837 ]
33838 ]
56122987 33839 },
44660702 33840 "protected" : 1,
7aacca6f
DM
33841 "proxyto" : "node",
33842 "returns" : {
56122987 33843 "type" : "string"
7aacca6f
DM
33844 }
33845 }
33846 },
7aacca6f 33847 "leaf" : 1,
44660702
DM
33848 "path" : "/nodes/{node}/report",
33849 "text" : "report"
7aacca6f
DM
33850 },
33851 {
7aacca6f
DM
33852 "info" : {
33853 "POST" : {
44660702 33854 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 33855 "method" : "POST",
44660702 33856 "name" : "startall",
7aacca6f 33857 "parameters" : {
44660702 33858 "additionalProperties" : 0,
7aacca6f
DM
33859 "properties" : {
33860 "force" : {
44660702 33861 "description" : "force if onboot=0.",
7aacca6f 33862 "optional" : 1,
013dc89f
DM
33863 "type" : "boolean",
33864 "typetext" : "<boolean>"
7aacca6f
DM
33865 },
33866 "node" : {
7aacca6f 33867 "description" : "The cluster node name.",
44660702 33868 "format" : "pve-node",
013dc89f
DM
33869 "type" : "string",
33870 "typetext" : "<string>"
52e44c50
FG
33871 },
33872 "vms" : {
33873 "description" : "Only consider Guests with these IDs.",
33874 "format" : "pve-vmid-list",
33875 "optional" : 1,
33876 "type" : "string",
33877 "typetext" : "<string>"
7aacca6f 33878 }
44660702 33879 }
56122987 33880 },
7aacca6f
DM
33881 "permissions" : {
33882 "check" : [
33883 "perm",
33884 "/",
33885 [
33886 "VM.PowerMgmt"
33887 ]
33888 ]
44660702
DM
33889 },
33890 "protected" : 1,
33891 "proxyto" : "node",
33892 "returns" : {
33893 "type" : "string"
7aacca6f
DM
33894 }
33895 }
33896 },
44660702 33897 "leaf" : 1,
7aacca6f 33898 "path" : "/nodes/{node}/startall",
44660702 33899 "text" : "startall"
7aacca6f
DM
33900 },
33901 {
7aacca6f
DM
33902 "info" : {
33903 "POST" : {
33904 "description" : "Stop all VMs and Containers.",
44660702
DM
33905 "method" : "POST",
33906 "name" : "stopall",
7aacca6f 33907 "parameters" : {
44660702 33908 "additionalProperties" : 0,
7aacca6f
DM
33909 "properties" : {
33910 "node" : {
44660702 33911 "description" : "The cluster node name.",
7aacca6f 33912 "format" : "pve-node",
013dc89f
DM
33913 "type" : "string",
33914 "typetext" : "<string>"
52e44c50
FG
33915 },
33916 "vms" : {
33917 "description" : "Only consider Guests with these IDs.",
33918 "format" : "pve-vmid-list",
33919 "optional" : 1,
33920 "type" : "string",
33921 "typetext" : "<string>"
7aacca6f 33922 }
44660702 33923 }
56122987 33924 },
7aacca6f
DM
33925 "permissions" : {
33926 "check" : [
33927 "perm",
33928 "/",
33929 [
44660702 33930 "VM.PowerMgmt"
7aacca6f
DM
33931 ]
33932 ]
56122987 33933 },
44660702 33934 "protected" : 1,
7aacca6f 33935 "proxyto" : "node",
44660702
DM
33936 "returns" : {
33937 "type" : "string"
33938 }
33939 }
56122987 33940 },
44660702
DM
33941 "leaf" : 1,
33942 "path" : "/nodes/{node}/stopall",
33943 "text" : "stopall"
33944 },
33945 {
33946 "info" : {
33947 "POST" : {
33948 "description" : "Migrate all VMs and Containers.",
33949 "method" : "POST",
33950 "name" : "migrateall",
33951 "parameters" : {
33952 "additionalProperties" : 0,
33953 "properties" : {
33954 "maxworkers" : {
33955 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
33956 "minimum" : 1,
33957 "optional" : 1,
4bd7df8b 33958 "type" : "integer",
013dc89f 33959 "typetext" : "<integer> (1 - N)"
44660702
DM
33960 },
33961 "node" : {
33962 "description" : "The cluster node name.",
33963 "format" : "pve-node",
013dc89f
DM
33964 "type" : "string",
33965 "typetext" : "<string>"
44660702
DM
33966 },
33967 "target" : {
33968 "description" : "Target node.",
33969 "format" : "pve-node",
013dc89f
DM
33970 "type" : "string",
33971 "typetext" : "<string>"
52e44c50
FG
33972 },
33973 "vms" : {
33974 "description" : "Only consider Guests with these IDs.",
33975 "format" : "pve-vmid-list",
33976 "optional" : 1,
33977 "type" : "string",
33978 "typetext" : "<string>"
44660702
DM
33979 }
33980 }
33981 },
33982 "permissions" : {
33983 "check" : [
33984 "perm",
33985 "/",
33986 [
33987 "VM.Migrate"
33988 ]
33989 ]
33990 },
33991 "protected" : 1,
33992 "proxyto" : "node",
33993 "returns" : {
33994 "type" : "string"
33995 }
33996 }
56122987 33997 },
44660702
DM
33998 "leaf" : 1,
33999 "path" : "/nodes/{node}/migrateall",
34000 "text" : "migrateall"
4d47f125
TL
34001 },
34002 {
34003 "info" : {
34004 "GET" : {
34005 "description" : "Get the content of /etc/hosts.",
34006 "method" : "GET",
34007 "name" : "get_etc_hosts",
34008 "parameters" : {
34009 "additionalProperties" : 0,
34010 "properties" : {
34011 "node" : {
34012 "description" : "The cluster node name.",
34013 "format" : "pve-node",
34014 "type" : "string",
34015 "typetext" : "<string>"
34016 }
34017 }
34018 },
34019 "permissions" : {
34020 "check" : [
34021 "perm",
34022 "/",
34023 [
34024 "Sys.Audit"
34025 ]
34026 ]
34027 },
34028 "protected" : 1,
34029 "proxyto" : "node",
34030 "returns" : {
34031 "properties" : {
34032 "data" : {
34033 "description" : "The content of /etc/hosts.",
34034 "type" : "string"
34035 },
34036 "digest" : {
34037 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34038 "maxLength" : 40,
34039 "optional" : 1,
34040 "type" : "string"
34041 }
34042 },
34043 "type" : "object"
34044 }
34045 },
34046 "POST" : {
34047 "description" : "Write /etc/hosts.",
34048 "method" : "POST",
34049 "name" : "write_etc_hosts",
34050 "parameters" : {
34051 "additionalProperties" : 0,
34052 "properties" : {
34053 "data" : {
34054 "description" : "The target content of /etc/hosts.",
34055 "type" : "string",
34056 "typetext" : "<string>"
34057 },
34058 "digest" : {
34059 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34060 "maxLength" : 40,
34061 "optional" : 1,
34062 "type" : "string",
34063 "typetext" : "<string>"
34064 },
34065 "node" : {
34066 "description" : "The cluster node name.",
34067 "format" : "pve-node",
34068 "type" : "string",
34069 "typetext" : "<string>"
34070 }
34071 }
34072 },
34073 "permissions" : {
34074 "check" : [
34075 "perm",
34076 "/nodes/{node}",
34077 [
34078 "Sys.Modify"
34079 ]
34080 ]
34081 },
34082 "protected" : 1,
34083 "proxyto" : "node",
34084 "returns" : {
34085 "type" : "null"
34086 }
34087 }
34088 },
34089 "leaf" : 1,
34090 "path" : "/nodes/{node}/hosts",
34091 "text" : "hosts"
44660702
DM
34092 }
34093 ],
34094 "info" : {
34095 "GET" : {
34096 "description" : "Node index.",
34097 "method" : "GET",
34098 "name" : "index",
34099 "parameters" : {
34100 "additionalProperties" : 0,
34101 "properties" : {
34102 "node" : {
34103 "description" : "The cluster node name.",
34104 "format" : "pve-node",
013dc89f
DM
34105 "type" : "string",
34106 "typetext" : "<string>"
44660702
DM
34107 }
34108 }
56122987 34109 },
44660702
DM
34110 "permissions" : {
34111 "user" : "all"
56122987 34112 },
44660702
DM
34113 "returns" : {
34114 "items" : {
34115 "properties" : {},
34116 "type" : "object"
34117 },
34118 "links" : [
34119 {
34120 "href" : "{name}",
34121 "rel" : "child"
34122 }
56122987 34123 ],
44660702 34124 "type" : "array"
7aacca6f
DM
34125 }
34126 }
34127 },
44660702
DM
34128 "leaf" : 0,
34129 "path" : "/nodes/{node}",
34130 "text" : "{node}"
34131 }
34132 ],
34133 "info" : {
7aacca6f 34134 "GET" : {
44660702 34135 "description" : "Cluster node index.",
7aacca6f 34136 "method" : "GET",
44660702 34137 "name" : "index",
7aacca6f 34138 "parameters" : {
7aacca6f
DM
34139 "additionalProperties" : 0
34140 },
34141 "permissions" : {
7aacca6f
DM
34142 "user" : "all"
34143 },
44660702
DM
34144 "returns" : {
34145 "items" : {
4d47f125
TL
34146 "properties" : {
34147 "cpu" : {
34148 "description" : "CPU utilization.",
34149 "optional" : 1,
34150 "renderer" : "fraction_as_percentage",
34151 "type" : "number"
34152 },
34153 "level" : {
34154 "description" : "Support level.",
34155 "optional" : 1,
34156 "type" : "string"
34157 },
34158 "maxcpu" : {
34159 "description" : "Number of available CPUs.",
34160 "optional" : 1,
34161 "type" : "integer"
34162 },
34163 "maxmem" : {
34164 "description" : "Number of available memory in bytes.",
34165 "optional" : 1,
34166 "renderer" : "bytes",
34167 "type" : "integer"
34168 },
34169 "mem" : {
34170 "description" : "Used memory in bytes.",
34171 "optional" : 1,
34172 "renderer" : "bytes",
34173 "type" : "string"
34174 },
34175 "node" : {
34176 "description" : "The cluster node name.",
34177 "format" : "pve-node",
34178 "type" : "string"
34179 },
34180 "ssl_fingerprint" : {
34181 "description" : "The SSL fingerprint for the node certificate.",
34182 "optional" : 1,
34183 "type" : "string"
34184 },
34185 "status" : {
34186 "description" : "Node status.",
34187 "enum" : [
34188 "unknown",
34189 "online",
34190 "offline"
34191 ],
34192 "type" : "string"
34193 },
34194 "uptime" : {
34195 "description" : "Node uptime in seconds.",
34196 "optional" : 1,
34197 "renderer" : "duration",
34198 "type" : "integer"
34199 }
34200 },
44660702
DM
34201 "type" : "object"
34202 },
34203 "links" : [
34204 {
34205 "href" : "{node}",
34206 "rel" : "child"
34207 }
34208 ],
34209 "type" : "array"
34210 }
7aacca6f
DM
34211 }
34212 },
44660702
DM
34213 "leaf" : 0,
34214 "path" : "/nodes",
34215 "text" : "nodes"
34216 },
34217 {
7aacca6f
DM
34218 "children" : [
34219 {
7aacca6f 34220 "info" : {
44660702
DM
34221 "DELETE" : {
34222 "description" : "Delete storage configuration.",
34223 "method" : "DELETE",
34224 "name" : "delete",
7aacca6f
DM
34225 "parameters" : {
34226 "additionalProperties" : 0,
34227 "properties" : {
34228 "storage" : {
7aacca6f 34229 "description" : "The storage identifier.",
44660702 34230 "format" : "pve-storage-id",
013dc89f
DM
34231 "type" : "string",
34232 "typetext" : "<string>"
7aacca6f
DM
34233 }
34234 }
56122987 34235 },
7aacca6f
DM
34236 "permissions" : {
34237 "check" : [
34238 "perm",
34239 "/storage",
34240 [
34241 "Datastore.Allocate"
34242 ]
34243 ]
56122987 34244 },
44660702
DM
34245 "protected" : 1,
34246 "returns" : {
34247 "type" : "null"
34248 }
34249 },
34250 "GET" : {
34251 "description" : "Read storage configuration.",
34252 "method" : "GET",
34253 "name" : "read",
7aacca6f
DM
34254 "parameters" : {
34255 "additionalProperties" : 0,
34256 "properties" : {
34257 "storage" : {
44660702 34258 "description" : "The storage identifier.",
7aacca6f 34259 "format" : "pve-storage-id",
013dc89f
DM
34260 "type" : "string",
34261 "typetext" : "<string>"
7aacca6f
DM
34262 }
34263 }
34264 },
44660702
DM
34265 "permissions" : {
34266 "check" : [
34267 "perm",
34268 "/storage/{storage}",
34269 [
34270 "Datastore.Allocate"
34271 ]
34272 ]
34273 },
5da3d723
TL
34274 "returns" : {
34275 "type" : "object"
34276 }
7aacca6f
DM
34277 },
34278 "PUT" : {
44660702
DM
34279 "description" : "Update storage configuration.",
34280 "method" : "PUT",
34281 "name" : "update",
34282 "parameters" : {
34283 "additionalProperties" : 0,
34284 "properties" : {
34285 "blocksize" : {
34286 "description" : "block size",
7aacca6f 34287 "optional" : 1,
013dc89f
DM
34288 "type" : "string",
34289 "typetext" : "<string>"
7aacca6f 34290 },
27a7acb2
DM
34291 "bwlimit" : {
34292 "description" : "Set bandwidth/io limits various operations.",
34293 "format" : {
34294 "clone" : {
95895385 34295 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
34296 "format_description" : "LIMIT",
34297 "minimum" : "0",
34298 "optional" : 1,
34299 "type" : "number"
34300 },
34301 "default" : {
95895385 34302 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
34303 "format_description" : "LIMIT",
34304 "minimum" : "0",
34305 "optional" : 1,
34306 "type" : "number"
34307 },
34308 "migration" : {
95895385 34309 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
34310 "format_description" : "LIMIT",
34311 "minimum" : "0",
34312 "optional" : 1,
34313 "type" : "number"
34314 },
34315 "move" : {
95895385 34316 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
34317 "format_description" : "LIMIT",
34318 "minimum" : "0",
34319 "optional" : 1,
34320 "type" : "number"
34321 },
34322 "restore" : {
95895385 34323 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
34324 "format_description" : "LIMIT",
34325 "minimum" : "0",
34326 "optional" : 1,
34327 "type" : "number"
34328 }
34329 },
34330 "optional" : 1,
34331 "type" : "string",
34332 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
34333 },
44660702
DM
34334 "comstar_hg" : {
34335 "description" : "host group for comstar views",
34336 "optional" : 1,
013dc89f
DM
34337 "type" : "string",
34338 "typetext" : "<string>"
7aacca6f 34339 },
44660702
DM
34340 "comstar_tg" : {
34341 "description" : "target group for comstar views",
7aacca6f 34342 "optional" : 1,
013dc89f
DM
34343 "type" : "string",
34344 "typetext" : "<string>"
7aacca6f 34345 },
44660702
DM
34346 "content" : {
34347 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
34348 "format" : "pve-storage-content-list",
7aacca6f 34349 "optional" : 1,
013dc89f
DM
34350 "type" : "string",
34351 "typetext" : "<string>"
7aacca6f 34352 },
44660702
DM
34353 "delete" : {
34354 "description" : "A list of settings you want to delete.",
34355 "format" : "pve-configid-list",
34356 "maxLength" : 4096,
7aacca6f 34357 "optional" : 1,
013dc89f
DM
34358 "type" : "string",
34359 "typetext" : "<string>"
7aacca6f
DM
34360 },
34361 "digest" : {
44660702 34362 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 34363 "maxLength" : 40,
7aacca6f 34364 "optional" : 1,
013dc89f
DM
34365 "type" : "string",
34366 "typetext" : "<string>"
7aacca6f 34367 },
44660702
DM
34368 "disable" : {
34369 "description" : "Flag to disable the storage.",
34370 "optional" : 1,
013dc89f
DM
34371 "type" : "boolean",
34372 "typetext" : "<boolean>"
7aacca6f 34373 },
27a7acb2
DM
34374 "domain" : {
34375 "description" : "CIFS domain.",
34376 "maxLength" : 256,
34377 "optional" : 1,
34378 "type" : "string",
34379 "typetext" : "<string>"
34380 },
7aacca6f
DM
34381 "format" : {
34382 "description" : "Default image format.",
44660702 34383 "format" : "pve-storage-format",
7aacca6f 34384 "optional" : 1,
013dc89f
DM
34385 "type" : "string",
34386 "typetext" : "<string>"
7aacca6f 34387 },
5da3d723
TL
34388 "fuse" : {
34389 "description" : "Mount CephFS through FUSE.",
34390 "optional" : 1,
34391 "type" : "boolean",
34392 "typetext" : "<boolean>"
34393 },
2c0dde61
DM
34394 "is_mountpoint" : {
34395 "default" : "no",
2489d6df 34396 "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 34397 "optional" : 1,
2489d6df
WB
34398 "type" : "string",
34399 "typetext" : "<string>"
2c0dde61 34400 },
44660702 34401 "krbd" : {
e2d681b3 34402 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 34403 "optional" : 1,
013dc89f
DM
34404 "type" : "boolean",
34405 "typetext" : "<boolean>"
7aacca6f 34406 },
4d47f125
TL
34407 "lio_tpg" : {
34408 "description" : "target portal group for Linux LIO targets",
34409 "optional" : 1,
34410 "type" : "string",
34411 "typetext" : "<string>"
34412 },
44660702
DM
34413 "maxfiles" : {
34414 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
34415 "minimum" : 0,
34416 "optional" : 1,
4bd7df8b 34417 "type" : "integer",
013dc89f 34418 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
34419 },
34420 "mkdir" : {
34421 "default" : "yes",
34422 "description" : "Create the directory if it doesn't exist.",
34423 "optional" : 1,
013dc89f
DM
34424 "type" : "boolean",
34425 "typetext" : "<boolean>"
7aacca6f 34426 },
2489d6df
WB
34427 "monhost" : {
34428 "description" : "IP addresses of monitors (for external clusters).",
34429 "format" : "pve-storage-portal-dns-list",
34430 "optional" : 1,
34431 "type" : "string",
34432 "typetext" : "<string>"
34433 },
7aacca6f 34434 "nodes" : {
44660702 34435 "description" : "List of cluster node names.",
7aacca6f
DM
34436 "format" : "pve-node-list",
34437 "optional" : 1,
013dc89f
DM
34438 "type" : "string",
34439 "typetext" : "<string>"
7aacca6f 34440 },
44660702
DM
34441 "nowritecache" : {
34442 "description" : "disable write caching on the target",
7aacca6f 34443 "optional" : 1,
013dc89f
DM
34444 "type" : "boolean",
34445 "typetext" : "<boolean>"
7aacca6f
DM
34446 },
34447 "options" : {
7aacca6f 34448 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
34449 "format" : "pve-storage-options",
34450 "optional" : 1,
013dc89f
DM
34451 "type" : "string",
34452 "typetext" : "<string>"
44660702 34453 },
27a7acb2
DM
34454 "password" : {
34455 "description" : "Password for CIFS share.",
34456 "maxLength" : 256,
34457 "optional" : 1,
34458 "type" : "string",
34459 "typetext" : "<string>"
34460 },
44660702
DM
34461 "pool" : {
34462 "description" : "Pool.",
34463 "optional" : 1,
013dc89f
DM
34464 "type" : "string",
34465 "typetext" : "<string>"
44660702
DM
34466 },
34467 "redundancy" : {
34468 "default" : 2,
34469 "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.",
34470 "maximum" : 16,
34471 "minimum" : 1,
34472 "optional" : 1,
4bd7df8b 34473 "type" : "integer",
013dc89f 34474 "typetext" : "<integer> (1 - 16)"
44660702
DM
34475 },
34476 "saferemove" : {
34477 "description" : "Zero-out data when removing LVs.",
34478 "optional" : 1,
013dc89f
DM
34479 "type" : "boolean",
34480 "typetext" : "<boolean>"
7aacca6f
DM
34481 },
34482 "saferemove_throughput" : {
44660702 34483 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 34484 "optional" : 1,
013dc89f
DM
34485 "type" : "string",
34486 "typetext" : "<string>"
7aacca6f 34487 },
44660702
DM
34488 "server" : {
34489 "description" : "Server IP or DNS name.",
34490 "format" : "pve-storage-server",
7aacca6f 34491 "optional" : 1,
013dc89f
DM
34492 "type" : "string",
34493 "typetext" : "<string>"
7aacca6f 34494 },
44660702
DM
34495 "server2" : {
34496 "description" : "Backup volfile server IP or DNS name.",
34497 "format" : "pve-storage-server",
7aacca6f 34498 "optional" : 1,
44660702 34499 "requires" : "server",
013dc89f
DM
34500 "type" : "string",
34501 "typetext" : "<string>"
44660702
DM
34502 },
34503 "shared" : {
34504 "description" : "Mark storage as shared.",
34505 "optional" : 1,
013dc89f
DM
34506 "type" : "boolean",
34507 "typetext" : "<boolean>"
44660702 34508 },
27a7acb2 34509 "smbversion" : {
5da3d723
TL
34510 "description" : "SMB protocol version",
34511 "enum" : [
34512 "2.0",
34513 "2.1",
34514 "3.0"
34515 ],
27a7acb2 34516 "optional" : 1,
5da3d723 34517 "type" : "string"
27a7acb2 34518 },
44660702
DM
34519 "sparse" : {
34520 "description" : "use sparse volumes",
34521 "optional" : 1,
013dc89f
DM
34522 "type" : "boolean",
34523 "typetext" : "<boolean>"
44660702
DM
34524 },
34525 "storage" : {
34526 "description" : "The storage identifier.",
34527 "format" : "pve-storage-id",
013dc89f
DM
34528 "type" : "string",
34529 "typetext" : "<string>"
44660702 34530 },
5da3d723
TL
34531 "subdir" : {
34532 "description" : "Subdir to mount.",
34533 "format" : "pve-storage-path",
34534 "optional" : 1,
34535 "type" : "string",
34536 "typetext" : "<string>"
34537 },
4bd7df8b
DM
34538 "tagged_only" : {
34539 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
34540 "optional" : 1,
013dc89f
DM
34541 "type" : "boolean",
34542 "typetext" : "<boolean>"
4bd7df8b 34543 },
44660702
DM
34544 "transport" : {
34545 "description" : "Gluster transport: tcp or rdma",
34546 "enum" : [
34547 "tcp",
34548 "rdma",
34549 "unix"
34550 ],
34551 "optional" : 1,
34552 "type" : "string"
7aacca6f
DM
34553 },
34554 "username" : {
34555 "description" : "RBD Id.",
44660702 34556 "optional" : 1,
013dc89f
DM
34557 "type" : "string",
34558 "typetext" : "<string>"
7aacca6f 34559 }
44660702
DM
34560 },
34561 "type" : "object"
34562 },
34563 "permissions" : {
34564 "check" : [
34565 "perm",
34566 "/storage",
34567 [
34568 "Datastore.Allocate"
34569 ]
34570 ]
34571 },
34572 "protected" : 1,
34573 "returns" : {
34574 "type" : "null"
34575 }
34576 }
34577 },
34578 "leaf" : 1,
34579 "path" : "/storage/{storage}",
34580 "text" : "{storage}"
34581 }
34582 ],
34583 "info" : {
34584 "GET" : {
34585 "description" : "Storage index.",
34586 "method" : "GET",
34587 "name" : "index",
34588 "parameters" : {
34589 "additionalProperties" : 0,
34590 "properties" : {
34591 "type" : {
34592 "description" : "Only list storage of specific type",
34593 "enum" : [
5da3d723 34594 "cephfs",
27a7acb2 34595 "cifs",
44660702
DM
34596 "dir",
34597 "drbd",
e2d681b3 34598 "fake",
44660702
DM
34599 "glusterfs",
34600 "iscsi",
34601 "iscsidirect",
34602 "lvm",
34603 "lvmthin",
34604 "nfs",
34605 "rbd",
34606 "sheepdog",
34607 "zfs",
34608 "zfspool"
34609 ],
34610 "optional" : 1,
34611 "type" : "string"
34612 }
34613 }
34614 },
34615 "permissions" : {
34616 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
34617 "user" : "all"
34618 },
34619 "returns" : {
34620 "items" : {
34621 "properties" : {
34622 "storage" : {
34623 "type" : "string"
7aacca6f 34624 }
56122987 34625 },
44660702
DM
34626 "type" : "object"
34627 },
34628 "links" : [
34629 {
34630 "href" : "{storage}",
34631 "rel" : "child"
34632 }
34633 ],
34634 "type" : "array"
34635 }
34636 },
34637 "POST" : {
34638 "description" : "Create a new storage.",
34639 "method" : "POST",
34640 "name" : "create",
34641 "parameters" : {
34642 "additionalProperties" : 0,
34643 "properties" : {
34644 "authsupported" : {
34645 "description" : "Authsupported.",
34646 "optional" : 1,
013dc89f
DM
34647 "type" : "string",
34648 "typetext" : "<string>"
44660702
DM
34649 },
34650 "base" : {
34651 "description" : "Base volume. This volume is automatically activated.",
34652 "format" : "pve-volume-id",
34653 "optional" : 1,
013dc89f
DM
34654 "type" : "string",
34655 "typetext" : "<string>"
44660702
DM
34656 },
34657 "blocksize" : {
34658 "description" : "block size",
34659 "optional" : 1,
013dc89f
DM
34660 "type" : "string",
34661 "typetext" : "<string>"
44660702 34662 },
27a7acb2
DM
34663 "bwlimit" : {
34664 "description" : "Set bandwidth/io limits various operations.",
34665 "format" : {
34666 "clone" : {
95895385 34667 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
34668 "format_description" : "LIMIT",
34669 "minimum" : "0",
34670 "optional" : 1,
34671 "type" : "number"
34672 },
34673 "default" : {
95895385 34674 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
34675 "format_description" : "LIMIT",
34676 "minimum" : "0",
34677 "optional" : 1,
34678 "type" : "number"
34679 },
34680 "migration" : {
95895385 34681 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
34682 "format_description" : "LIMIT",
34683 "minimum" : "0",
34684 "optional" : 1,
34685 "type" : "number"
34686 },
34687 "move" : {
95895385 34688 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
34689 "format_description" : "LIMIT",
34690 "minimum" : "0",
34691 "optional" : 1,
34692 "type" : "number"
34693 },
34694 "restore" : {
95895385 34695 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
34696 "format_description" : "LIMIT",
34697 "minimum" : "0",
34698 "optional" : 1,
34699 "type" : "number"
34700 }
34701 },
34702 "optional" : 1,
34703 "type" : "string",
34704 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
34705 },
44660702
DM
34706 "comstar_hg" : {
34707 "description" : "host group for comstar views",
34708 "optional" : 1,
013dc89f
DM
34709 "type" : "string",
34710 "typetext" : "<string>"
44660702
DM
34711 },
34712 "comstar_tg" : {
34713 "description" : "target group for comstar views",
34714 "optional" : 1,
013dc89f
DM
34715 "type" : "string",
34716 "typetext" : "<string>"
44660702
DM
34717 },
34718 "content" : {
34719 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
34720 "format" : "pve-storage-content-list",
34721 "optional" : 1,
013dc89f
DM
34722 "type" : "string",
34723 "typetext" : "<string>"
44660702
DM
34724 },
34725 "disable" : {
34726 "description" : "Flag to disable the storage.",
34727 "optional" : 1,
013dc89f
DM
34728 "type" : "boolean",
34729 "typetext" : "<boolean>"
44660702 34730 },
27a7acb2
DM
34731 "domain" : {
34732 "description" : "CIFS domain.",
34733 "maxLength" : 256,
34734 "optional" : 1,
34735 "type" : "string",
34736 "typetext" : "<string>"
34737 },
44660702
DM
34738 "export" : {
34739 "description" : "NFS export path.",
34740 "format" : "pve-storage-path",
34741 "optional" : 1,
013dc89f
DM
34742 "type" : "string",
34743 "typetext" : "<string>"
44660702
DM
34744 },
34745 "format" : {
34746 "description" : "Default image format.",
34747 "format" : "pve-storage-format",
34748 "optional" : 1,
013dc89f
DM
34749 "type" : "string",
34750 "typetext" : "<string>"
44660702 34751 },
5da3d723
TL
34752 "fuse" : {
34753 "description" : "Mount CephFS through FUSE.",
34754 "optional" : 1,
34755 "type" : "boolean",
34756 "typetext" : "<boolean>"
34757 },
2c0dde61
DM
34758 "is_mountpoint" : {
34759 "default" : "no",
2489d6df 34760 "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 34761 "optional" : 1,
2489d6df
WB
34762 "type" : "string",
34763 "typetext" : "<string>"
2c0dde61 34764 },
44660702
DM
34765 "iscsiprovider" : {
34766 "description" : "iscsi provider",
34767 "optional" : 1,
013dc89f
DM
34768 "type" : "string",
34769 "typetext" : "<string>"
44660702
DM
34770 },
34771 "krbd" : {
e2d681b3 34772 "description" : "Always access rbd through krbd kernel module.",
44660702 34773 "optional" : 1,
013dc89f
DM
34774 "type" : "boolean",
34775 "typetext" : "<boolean>"
56122987 34776 },
4d47f125
TL
34777 "lio_tpg" : {
34778 "description" : "target portal group for Linux LIO targets",
34779 "optional" : 1,
34780 "type" : "string",
34781 "typetext" : "<string>"
34782 },
44660702
DM
34783 "maxfiles" : {
34784 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
34785 "minimum" : 0,
34786 "optional" : 1,
4bd7df8b 34787 "type" : "integer",
013dc89f 34788 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
34789 },
34790 "mkdir" : {
34791 "default" : "yes",
34792 "description" : "Create the directory if it doesn't exist.",
34793 "optional" : 1,
013dc89f
DM
34794 "type" : "boolean",
34795 "typetext" : "<boolean>"
7aacca6f 34796 },
44660702 34797 "monhost" : {
2489d6df 34798 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 34799 "format" : "pve-storage-portal-dns-list",
44660702 34800 "optional" : 1,
013dc89f
DM
34801 "type" : "string",
34802 "typetext" : "<string>"
7aacca6f 34803 },
44660702
DM
34804 "nodes" : {
34805 "description" : "List of cluster node names.",
34806 "format" : "pve-node-list",
34807 "optional" : 1,
013dc89f
DM
34808 "type" : "string",
34809 "typetext" : "<string>"
7aacca6f 34810 },
44660702
DM
34811 "nowritecache" : {
34812 "description" : "disable write caching on the target",
34813 "optional" : 1,
013dc89f
DM
34814 "type" : "boolean",
34815 "typetext" : "<boolean>"
44660702
DM
34816 },
34817 "options" : {
34818 "description" : "NFS mount options (see 'man nfs')",
34819 "format" : "pve-storage-options",
34820 "optional" : 1,
013dc89f
DM
34821 "type" : "string",
34822 "typetext" : "<string>"
44660702 34823 },
27a7acb2
DM
34824 "password" : {
34825 "description" : "Password for CIFS share.",
34826 "maxLength" : 256,
34827 "optional" : 1,
34828 "type" : "string",
34829 "typetext" : "<string>"
34830 },
44660702
DM
34831 "path" : {
34832 "description" : "File system path.",
34833 "format" : "pve-storage-path",
34834 "optional" : 1,
013dc89f
DM
34835 "type" : "string",
34836 "typetext" : "<string>"
44660702
DM
34837 },
34838 "pool" : {
34839 "description" : "Pool.",
34840 "optional" : 1,
013dc89f
DM
34841 "type" : "string",
34842 "typetext" : "<string>"
44660702
DM
34843 },
34844 "portal" : {
34845 "description" : "iSCSI portal (IP or DNS name with optional port).",
34846 "format" : "pve-storage-portal-dns",
34847 "optional" : 1,
013dc89f
DM
34848 "type" : "string",
34849 "typetext" : "<string>"
44660702
DM
34850 },
34851 "redundancy" : {
34852 "default" : 2,
34853 "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.",
34854 "maximum" : 16,
34855 "minimum" : 1,
34856 "optional" : 1,
4bd7df8b 34857 "type" : "integer",
013dc89f 34858 "typetext" : "<integer> (1 - 16)"
44660702
DM
34859 },
34860 "saferemove" : {
34861 "description" : "Zero-out data when removing LVs.",
34862 "optional" : 1,
013dc89f
DM
34863 "type" : "boolean",
34864 "typetext" : "<boolean>"
44660702
DM
34865 },
34866 "saferemove_throughput" : {
34867 "description" : "Wipe throughput (cstream -t parameter value).",
34868 "optional" : 1,
013dc89f
DM
34869 "type" : "string",
34870 "typetext" : "<string>"
44660702
DM
34871 },
34872 "server" : {
34873 "description" : "Server IP or DNS name.",
34874 "format" : "pve-storage-server",
34875 "optional" : 1,
013dc89f
DM
34876 "type" : "string",
34877 "typetext" : "<string>"
44660702
DM
34878 },
34879 "server2" : {
34880 "description" : "Backup volfile server IP or DNS name.",
34881 "format" : "pve-storage-server",
34882 "optional" : 1,
34883 "requires" : "server",
013dc89f
DM
34884 "type" : "string",
34885 "typetext" : "<string>"
44660702 34886 },
27a7acb2
DM
34887 "share" : {
34888 "description" : "CIFS share.",
34889 "optional" : 1,
34890 "type" : "string",
34891 "typetext" : "<string>"
34892 },
44660702
DM
34893 "shared" : {
34894 "description" : "Mark storage as shared.",
34895 "optional" : 1,
013dc89f
DM
34896 "type" : "boolean",
34897 "typetext" : "<boolean>"
44660702 34898 },
27a7acb2 34899 "smbversion" : {
5da3d723
TL
34900 "description" : "SMB protocol version",
34901 "enum" : [
34902 "2.0",
34903 "2.1",
34904 "3.0"
34905 ],
27a7acb2 34906 "optional" : 1,
5da3d723 34907 "type" : "string"
27a7acb2 34908 },
44660702
DM
34909 "sparse" : {
34910 "description" : "use sparse volumes",
34911 "optional" : 1,
013dc89f
DM
34912 "type" : "boolean",
34913 "typetext" : "<boolean>"
44660702
DM
34914 },
34915 "storage" : {
34916 "description" : "The storage identifier.",
34917 "format" : "pve-storage-id",
013dc89f
DM
34918 "type" : "string",
34919 "typetext" : "<string>"
44660702 34920 },
5da3d723
TL
34921 "subdir" : {
34922 "description" : "Subdir to mount.",
34923 "format" : "pve-storage-path",
34924 "optional" : 1,
34925 "type" : "string",
34926 "typetext" : "<string>"
34927 },
4bd7df8b
DM
34928 "tagged_only" : {
34929 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
34930 "optional" : 1,
013dc89f
DM
34931 "type" : "boolean",
34932 "typetext" : "<boolean>"
4bd7df8b 34933 },
44660702
DM
34934 "target" : {
34935 "description" : "iSCSI target.",
34936 "optional" : 1,
013dc89f
DM
34937 "type" : "string",
34938 "typetext" : "<string>"
44660702
DM
34939 },
34940 "thinpool" : {
34941 "description" : "LVM thin pool LV name.",
34942 "format" : "pve-storage-vgname",
34943 "optional" : 1,
013dc89f
DM
34944 "type" : "string",
34945 "typetext" : "<string>"
44660702
DM
34946 },
34947 "transport" : {
34948 "description" : "Gluster transport: tcp or rdma",
34949 "enum" : [
34950 "tcp",
34951 "rdma",
34952 "unix"
7aacca6f 34953 ],
44660702
DM
34954 "optional" : 1,
34955 "type" : "string"
56122987 34956 },
44660702
DM
34957 "type" : {
34958 "description" : "Storage type.",
34959 "enum" : [
5da3d723 34960 "cephfs",
27a7acb2 34961 "cifs",
44660702
DM
34962 "dir",
34963 "drbd",
e2d681b3 34964 "fake",
44660702
DM
34965 "glusterfs",
34966 "iscsi",
34967 "iscsidirect",
34968 "lvm",
34969 "lvmthin",
34970 "nfs",
34971 "rbd",
34972 "sheepdog",
34973 "zfs",
34974 "zfspool"
34975 ],
34976 "type" : "string"
56122987 34977 },
44660702
DM
34978 "username" : {
34979 "description" : "RBD Id.",
34980 "optional" : 1,
013dc89f
DM
34981 "type" : "string",
34982 "typetext" : "<string>"
7aacca6f 34983 },
44660702
DM
34984 "vgname" : {
34985 "description" : "Volume group name.",
34986 "format" : "pve-storage-vgname",
34987 "optional" : 1,
013dc89f
DM
34988 "type" : "string",
34989 "typetext" : "<string>"
44660702
DM
34990 },
34991 "volume" : {
34992 "description" : "Glusterfs Volume.",
34993 "optional" : 1,
013dc89f
DM
34994 "type" : "string",
34995 "typetext" : "<string>"
44660702
DM
34996 }
34997 },
34998 "type" : "object"
34999 },
35000 "permissions" : {
35001 "check" : [
35002 "perm",
35003 "/storage",
35004 [
35005 "Datastore.Allocate"
35006 ]
35007 ]
56122987 35008 },
44660702
DM
35009 "protected" : 1,
35010 "returns" : {
35011 "type" : "null"
35012 }
35013 }
35014 },
35015 "leaf" : 0,
35016 "path" : "/storage",
35017 "text" : "storage"
35018 },
35019 {
35020 "children" : [
35021 {
56122987
DM
35022 "children" : [
35023 {
56122987 35024 "info" : {
44660702
DM
35025 "DELETE" : {
35026 "description" : "Delete user.",
35027 "method" : "DELETE",
35028 "name" : "delete_user",
56122987 35029 "parameters" : {
7aacca6f 35030 "additionalProperties" : 0,
56122987 35031 "properties" : {
56122987 35032 "userid" : {
56122987
DM
35033 "description" : "User ID",
35034 "format" : "pve-userid",
44660702 35035 "maxLength" : 64,
013dc89f
DM
35036 "type" : "string",
35037 "typetext" : "<string>"
56122987 35038 }
7aacca6f 35039 }
56122987 35040 },
56122987
DM
35041 "permissions" : {
35042 "check" : [
44660702 35043 "and",
56122987 35044 [
44660702
DM
35045 "userid-param",
35046 "Realm.AllocateUser"
56122987 35047 ],
44660702
DM
35048 [
35049 "userid-group",
35050 [
35051 "User.Modify"
35052 ]
35053 ]
56122987 35054 ]
7aacca6f 35055 },
44660702 35056 "protected" : 1,
56122987
DM
35057 "returns" : {
35058 "type" : "null"
44660702 35059 }
7aacca6f 35060 },
44660702
DM
35061 "GET" : {
35062 "description" : "Get user configuration.",
35063 "method" : "GET",
35064 "name" : "read_user",
56122987
DM
35065 "parameters" : {
35066 "additionalProperties" : 0,
35067 "properties" : {
35068 "userid" : {
44660702 35069 "description" : "User ID",
56122987 35070 "format" : "pve-userid",
44660702 35071 "maxLength" : 64,
013dc89f
DM
35072 "type" : "string",
35073 "typetext" : "<string>"
56122987
DM
35074 }
35075 }
35076 },
56122987
DM
35077 "permissions" : {
35078 "check" : [
44660702 35079 "userid-group",
56122987 35080 [
44660702
DM
35081 "User.Modify",
35082 "Sys.Audit"
56122987
DM
35083 ]
35084 ]
35085 },
56122987 35086 "returns" : {
7aacca6f 35087 "additionalProperties" : 0,
56122987 35088 "properties" : {
44660702
DM
35089 "comment" : {
35090 "optional" : 1,
35091 "type" : "string"
56122987 35092 },
44660702 35093 "email" : {
e2d681b3 35094 "format" : "email-opt",
44660702
DM
35095 "optional" : 1,
35096 "type" : "string"
7aacca6f
DM
35097 },
35098 "enable" : {
e2d681b3
TL
35099 "default" : 1,
35100 "description" : "Enable the account (default). You can set this to '0' to disable the account",
35101 "optional" : 1,
7aacca6f
DM
35102 "type" : "boolean"
35103 },
44660702 35104 "expire" : {
e2d681b3
TL
35105 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35106 "minimum" : 0,
44660702
DM
35107 "optional" : 1,
35108 "type" : "integer"
35109 },
35110 "firstname" : {
56122987
DM
35111 "optional" : 1,
35112 "type" : "string"
35113 },
44660702
DM
35114 "groups" : {
35115 "type" : "array"
56122987 35116 },
44660702 35117 "keys" : {
e2d681b3 35118 "description" : "Keys for two factor auth (yubico).",
44660702
DM
35119 "optional" : 1,
35120 "type" : "string"
7aacca6f 35121 },
44660702
DM
35122 "lastname" : {
35123 "optional" : 1,
35124 "type" : "string"
56122987 35125 }
e2d681b3
TL
35126 },
35127 "type" : "object"
44660702
DM
35128 }
35129 },
35130 "PUT" : {
35131 "description" : "Update user configuration.",
35132 "method" : "PUT",
35133 "name" : "update_user",
56122987 35134 "parameters" : {
44660702 35135 "additionalProperties" : 0,
56122987 35136 "properties" : {
44660702
DM
35137 "append" : {
35138 "optional" : 1,
35139 "requires" : "groups",
013dc89f
DM
35140 "type" : "boolean",
35141 "typetext" : "<boolean>"
44660702
DM
35142 },
35143 "comment" : {
35144 "optional" : 1,
013dc89f
DM
35145 "type" : "string",
35146 "typetext" : "<string>"
44660702
DM
35147 },
35148 "email" : {
35149 "format" : "email-opt",
35150 "optional" : 1,
013dc89f
DM
35151 "type" : "string",
35152 "typetext" : "<string>"
44660702
DM
35153 },
35154 "enable" : {
e2d681b3
TL
35155 "default" : 1,
35156 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 35157 "optional" : 1,
013dc89f
DM
35158 "type" : "boolean",
35159 "typetext" : "<boolean>"
44660702
DM
35160 },
35161 "expire" : {
35162 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35163 "minimum" : 0,
35164 "optional" : 1,
4bd7df8b 35165 "type" : "integer",
013dc89f 35166 "typetext" : "<integer> (0 - N)"
44660702
DM
35167 },
35168 "firstname" : {
35169 "optional" : 1,
013dc89f
DM
35170 "type" : "string",
35171 "typetext" : "<string>"
44660702
DM
35172 },
35173 "groups" : {
35174 "format" : "pve-groupid-list",
35175 "optional" : 1,
013dc89f
DM
35176 "type" : "string",
35177 "typetext" : "<string>"
44660702
DM
35178 },
35179 "keys" : {
35180 "description" : "Keys for two factor auth (yubico).",
35181 "optional" : 1,
013dc89f
DM
35182 "type" : "string",
35183 "typetext" : "<string>"
44660702
DM
35184 },
35185 "lastname" : {
35186 "optional" : 1,
013dc89f
DM
35187 "type" : "string",
35188 "typetext" : "<string>"
44660702 35189 },
56122987 35190 "userid" : {
56122987
DM
35191 "description" : "User ID",
35192 "format" : "pve-userid",
44660702 35193 "maxLength" : 64,
013dc89f
DM
35194 "type" : "string",
35195 "typetext" : "<string>"
56122987 35196 }
44660702 35197 }
56122987 35198 },
56122987
DM
35199 "permissions" : {
35200 "check" : [
35201 "userid-group",
35202 [
44660702
DM
35203 "User.Modify"
35204 ],
35205 "groups_param",
35206 1
56122987
DM
35207 ]
35208 },
44660702
DM
35209 "protected" : 1,
35210 "returns" : {
35211 "type" : "null"
35212 }
56122987
DM
35213 }
35214 },
44660702
DM
35215 "leaf" : 1,
35216 "path" : "/access/users/{userid}",
7aacca6f 35217 "text" : "{userid}"
56122987 35218 }
7aacca6f 35219 ],
56122987 35220 "info" : {
7aacca6f 35221 "GET" : {
44660702
DM
35222 "description" : "User index.",
35223 "method" : "GET",
7aacca6f 35224 "name" : "index",
56122987 35225 "parameters" : {
44660702
DM
35226 "additionalProperties" : 0,
35227 "properties" : {
35228 "enabled" : {
35229 "description" : "Optional filter for enable property.",
35230 "optional" : 1,
013dc89f
DM
35231 "type" : "boolean",
35232 "typetext" : "<boolean>"
44660702
DM
35233 }
35234 }
35235 },
35236 "permissions" : {
35237 "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.",
35238 "user" : "all"
56122987 35239 },
7aacca6f 35240 "returns" : {
7aacca6f
DM
35241 "items" : {
35242 "properties" : {
e2d681b3
TL
35243 "comment" : {
35244 "optional" : 1,
35245 "type" : "string"
35246 },
35247 "email" : {
35248 "format" : "email-opt",
35249 "optional" : 1,
35250 "type" : "string"
35251 },
35252 "enable" : {
35253 "default" : 1,
35254 "description" : "Enable the account (default). You can set this to '0' to disable the account",
35255 "optional" : 1,
35256 "type" : "boolean"
35257 },
35258 "expire" : {
35259 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35260 "minimum" : 0,
35261 "optional" : 1,
35262 "type" : "integer"
35263 },
35264 "firstname" : {
35265 "optional" : 1,
35266 "type" : "string"
35267 },
35268 "keys" : {
35269 "description" : "Keys for two factor auth (yubico).",
35270 "optional" : 1,
35271 "type" : "string"
35272 },
35273 "lastname" : {
35274 "optional" : 1,
35275 "type" : "string"
35276 },
44660702 35277 "userid" : {
e2d681b3
TL
35278 "description" : "User ID",
35279 "format" : "pve-userid",
35280 "maxLength" : 64,
7aacca6f
DM
35281 "type" : "string"
35282 }
35283 },
35284 "type" : "object"
35285 },
44660702
DM
35286 "links" : [
35287 {
35288 "href" : "{userid}",
35289 "rel" : "child"
35290 }
35291 ],
7aacca6f
DM
35292 "type" : "array"
35293 }
35294 },
35295 "POST" : {
44660702 35296 "description" : "Create new user.",
7aacca6f 35297 "method" : "POST",
44660702 35298 "name" : "create_user",
56122987 35299 "parameters" : {
7aacca6f
DM
35300 "additionalProperties" : 0,
35301 "properties" : {
44660702
DM
35302 "comment" : {
35303 "optional" : 1,
013dc89f
DM
35304 "type" : "string",
35305 "typetext" : "<string>"
7aacca6f 35306 },
44660702
DM
35307 "email" : {
35308 "format" : "email-opt",
35309 "optional" : 1,
013dc89f
DM
35310 "type" : "string",
35311 "typetext" : "<string>"
44660702
DM
35312 },
35313 "enable" : {
35314 "default" : 1,
e2d681b3 35315 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 35316 "optional" : 1,
013dc89f
DM
35317 "type" : "boolean",
35318 "typetext" : "<boolean>"
44660702
DM
35319 },
35320 "expire" : {
35321 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35322 "minimum" : 0,
35323 "optional" : 1,
4bd7df8b 35324 "type" : "integer",
013dc89f 35325 "typetext" : "<integer> (0 - N)"
44660702
DM
35326 },
35327 "firstname" : {
35328 "optional" : 1,
013dc89f
DM
35329 "type" : "string",
35330 "typetext" : "<string>"
44660702
DM
35331 },
35332 "groups" : {
35333 "format" : "pve-groupid-list",
35334 "optional" : 1,
013dc89f
DM
35335 "type" : "string",
35336 "typetext" : "<string>"
44660702
DM
35337 },
35338 "keys" : {
35339 "description" : "Keys for two factor auth (yubico).",
35340 "optional" : 1,
013dc89f
DM
35341 "type" : "string",
35342 "typetext" : "<string>"
44660702
DM
35343 },
35344 "lastname" : {
7aacca6f 35345 "optional" : 1,
013dc89f
DM
35346 "type" : "string",
35347 "typetext" : "<string>"
44660702
DM
35348 },
35349 "password" : {
35350 "description" : "Initial password.",
35351 "maxLength" : 64,
35352 "minLength" : 5,
35353 "optional" : 1,
013dc89f
DM
35354 "type" : "string",
35355 "typetext" : "<string>"
44660702
DM
35356 },
35357 "userid" : {
35358 "description" : "User ID",
35359 "format" : "pve-userid",
35360 "maxLength" : 64,
013dc89f
DM
35361 "type" : "string",
35362 "typetext" : "<string>"
56122987 35363 }
7aacca6f 35364 }
56122987 35365 },
44660702
DM
35366 "permissions" : {
35367 "check" : [
35368 "and",
35369 [
35370 "userid-param",
35371 "Realm.AllocateUser"
35372 ],
35373 [
35374 "userid-group",
35375 [
35376 "User.Modify"
35377 ],
35378 "groups_param",
35379 1
35380 ]
35381 ],
35382 "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."
35383 },
35384 "protected" : 1,
35385 "returns" : {
35386 "type" : "null"
35387 }
56122987
DM
35388 }
35389 },
44660702
DM
35390 "leaf" : 0,
35391 "path" : "/access/users",
35392 "text" : "users"
35393 },
35394 {
56122987
DM
35395 "children" : [
35396 {
56122987
DM
35397 "info" : {
35398 "DELETE" : {
44660702
DM
35399 "description" : "Delete group.",
35400 "method" : "DELETE",
35401 "name" : "delete_group",
35402 "parameters" : {
35403 "additionalProperties" : 0,
35404 "properties" : {
35405 "groupid" : {
35406 "format" : "pve-groupid",
013dc89f
DM
35407 "type" : "string",
35408 "typetext" : "<string>"
44660702
DM
35409 }
35410 }
35411 },
7aacca6f
DM
35412 "permissions" : {
35413 "check" : [
35414 "perm",
35415 "/access/groups",
35416 [
35417 "Group.Allocate"
35418 ]
35419 ]
35420 },
7aacca6f 35421 "protected" : 1,
7aacca6f
DM
35422 "returns" : {
35423 "type" : "null"
44660702 35424 }
7aacca6f 35425 },
44660702
DM
35426 "GET" : {
35427 "description" : "Get group configuration.",
35428 "method" : "GET",
35429 "name" : "read_group",
35430 "parameters" : {
35431 "additionalProperties" : 0,
35432 "properties" : {
35433 "groupid" : {
35434 "format" : "pve-groupid",
013dc89f
DM
35435 "type" : "string",
35436 "typetext" : "<string>"
44660702
DM
35437 }
35438 }
56122987 35439 },
7aacca6f
DM
35440 "permissions" : {
35441 "check" : [
35442 "perm",
35443 "/access/groups",
35444 [
44660702 35445 "Sys.Audit",
7aacca6f 35446 "Group.Allocate"
44660702
DM
35447 ],
35448 "any",
35449 1
7aacca6f
DM
35450 ]
35451 },
7aacca6f 35452 "returns" : {
44660702 35453 "additionalProperties" : 0,
7aacca6f
DM
35454 "properties" : {
35455 "comment" : {
44660702
DM
35456 "optional" : 1,
35457 "type" : "string"
7aacca6f
DM
35458 },
35459 "members" : {
35460 "items" : {
e2d681b3
TL
35461 "description" : "User ID",
35462 "format" : "pve-userid",
35463 "maxLength" : 64,
7aacca6f
DM
35464 "type" : "string"
35465 },
35466 "type" : "array"
35467 }
35468 },
44660702
DM
35469 "type" : "object"
35470 }
35471 },
35472 "PUT" : {
35473 "description" : "Update group data.",
35474 "method" : "PUT",
35475 "name" : "update_group",
56122987 35476 "parameters" : {
44660702 35477 "additionalProperties" : 0,
56122987 35478 "properties" : {
44660702
DM
35479 "comment" : {
35480 "optional" : 1,
013dc89f
DM
35481 "type" : "string",
35482 "typetext" : "<string>"
44660702 35483 },
56122987
DM
35484 "groupid" : {
35485 "format" : "pve-groupid",
013dc89f
DM
35486 "type" : "string",
35487 "typetext" : "<string>"
56122987 35488 }
44660702 35489 }
56122987 35490 },
56122987
DM
35491 "permissions" : {
35492 "check" : [
35493 "perm",
35494 "/access/groups",
35495 [
35496 "Group.Allocate"
44660702 35497 ]
56122987
DM
35498 ]
35499 },
44660702
DM
35500 "protected" : 1,
35501 "returns" : {
35502 "type" : "null"
35503 }
7aacca6f
DM
35504 }
35505 },
7aacca6f 35506 "leaf" : 1,
44660702
DM
35507 "path" : "/access/groups/{groupid}",
35508 "text" : "{groupid}"
35509 }
35510 ],
35511 "info" : {
35512 "GET" : {
35513 "description" : "Group index.",
35514 "method" : "GET",
35515 "name" : "index",
35516 "parameters" : {
35517 "additionalProperties" : 0
35518 },
35519 "permissions" : {
35520 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
35521 "user" : "all"
35522 },
35523 "returns" : {
35524 "items" : {
35525 "properties" : {
e2d681b3
TL
35526 "comment" : {
35527 "optional" : 1,
35528 "type" : "string"
35529 },
44660702 35530 "groupid" : {
e2d681b3 35531 "format" : "pve-groupid",
44660702
DM
35532 "type" : "string"
35533 }
35534 },
35535 "type" : "object"
35536 },
35537 "links" : [
35538 {
35539 "href" : "{groupid}",
35540 "rel" : "child"
35541 }
35542 ],
35543 "type" : "array"
35544 }
35545 },
35546 "POST" : {
35547 "description" : "Create new group.",
35548 "method" : "POST",
35549 "name" : "create_group",
35550 "parameters" : {
35551 "additionalProperties" : 0,
35552 "properties" : {
35553 "comment" : {
35554 "optional" : 1,
013dc89f
DM
35555 "type" : "string",
35556 "typetext" : "<string>"
44660702
DM
35557 },
35558 "groupid" : {
35559 "format" : "pve-groupid",
013dc89f
DM
35560 "type" : "string",
35561 "typetext" : "<string>"
44660702
DM
35562 }
35563 }
35564 },
35565 "permissions" : {
35566 "check" : [
35567 "perm",
35568 "/access/groups",
35569 [
35570 "Group.Allocate"
35571 ]
35572 ]
35573 },
35574 "protected" : 1,
35575 "returns" : {
35576 "type" : "null"
35577 }
7aacca6f 35578 }
44660702 35579 },
7aacca6f 35580 "leaf" : 0,
44660702
DM
35581 "path" : "/access/groups",
35582 "text" : "groups"
7aacca6f
DM
35583 },
35584 {
35585 "children" : [
35586 {
7aacca6f 35587 "info" : {
7aacca6f 35588 "DELETE" : {
7aacca6f 35589 "description" : "Delete role.",
44660702 35590 "method" : "DELETE",
7aacca6f 35591 "name" : "delete_role",
56122987
DM
35592 "parameters" : {
35593 "additionalProperties" : 0,
35594 "properties" : {
7aacca6f
DM
35595 "roleid" : {
35596 "format" : "pve-roleid",
013dc89f
DM
35597 "type" : "string",
35598 "typetext" : "<string>"
56122987
DM
35599 }
35600 }
35601 },
56122987
DM
35602 "permissions" : {
35603 "check" : [
35604 "perm",
7aacca6f 35605 "/access",
56122987 35606 [
7aacca6f
DM
35607 "Sys.Modify"
35608 ]
56122987 35609 ]
44660702
DM
35610 },
35611 "protected" : 1,
35612 "returns" : {
35613 "type" : "null"
56122987
DM
35614 }
35615 },
44660702
DM
35616 "GET" : {
35617 "description" : "Get role configuration.",
35618 "method" : "GET",
35619 "name" : "read_role",
35620 "parameters" : {
35621 "additionalProperties" : 0,
35622 "properties" : {
35623 "roleid" : {
35624 "format" : "pve-roleid",
013dc89f
DM
35625 "type" : "string",
35626 "typetext" : "<string>"
44660702
DM
35627 }
35628 }
35629 },
7aacca6f 35630 "permissions" : {
44660702 35631 "user" : "all"
56122987 35632 },
e2d681b3
TL
35633 "returns" : {
35634 "additionalProperties" : 0,
35635 "properties" : {
35636 "Datastore.Allocate" : {
35637 "optional" : 1,
35638 "type" : "boolean"
35639 },
35640 "Datastore.AllocateSpace" : {
35641 "optional" : 1,
35642 "type" : "boolean"
35643 },
35644 "Datastore.AllocateTemplate" : {
35645 "optional" : 1,
35646 "type" : "boolean"
35647 },
35648 "Datastore.Audit" : {
35649 "optional" : 1,
35650 "type" : "boolean"
35651 },
35652 "Group.Allocate" : {
35653 "optional" : 1,
35654 "type" : "boolean"
35655 },
35656 "Permissions.Modify" : {
35657 "optional" : 1,
35658 "type" : "boolean"
35659 },
35660 "Pool.Allocate" : {
35661 "optional" : 1,
35662 "type" : "boolean"
35663 },
35664 "Realm.Allocate" : {
35665 "optional" : 1,
35666 "type" : "boolean"
35667 },
35668 "Realm.AllocateUser" : {
35669 "optional" : 1,
35670 "type" : "boolean"
35671 },
35672 "Sys.Audit" : {
35673 "optional" : 1,
35674 "type" : "boolean"
35675 },
35676 "Sys.Console" : {
35677 "optional" : 1,
35678 "type" : "boolean"
35679 },
35680 "Sys.Modify" : {
35681 "optional" : 1,
35682 "type" : "boolean"
35683 },
35684 "Sys.PowerMgmt" : {
35685 "optional" : 1,
35686 "type" : "boolean"
35687 },
35688 "Sys.Syslog" : {
35689 "optional" : 1,
35690 "type" : "boolean"
35691 },
35692 "User.Modify" : {
35693 "optional" : 1,
35694 "type" : "boolean"
35695 },
35696 "VM.Allocate" : {
35697 "optional" : 1,
35698 "type" : "boolean"
35699 },
35700 "VM.Audit" : {
35701 "optional" : 1,
35702 "type" : "boolean"
35703 },
35704 "VM.Backup" : {
35705 "optional" : 1,
35706 "type" : "boolean"
35707 },
35708 "VM.Clone" : {
35709 "optional" : 1,
35710 "type" : "boolean"
35711 },
35712 "VM.Config.CDROM" : {
35713 "optional" : 1,
35714 "type" : "boolean"
35715 },
35716 "VM.Config.CPU" : {
35717 "optional" : 1,
35718 "type" : "boolean"
35719 },
35720 "VM.Config.Disk" : {
35721 "optional" : 1,
35722 "type" : "boolean"
35723 },
35724 "VM.Config.HWType" : {
35725 "optional" : 1,
35726 "type" : "boolean"
35727 },
35728 "VM.Config.Memory" : {
35729 "optional" : 1,
35730 "type" : "boolean"
35731 },
35732 "VM.Config.Network" : {
35733 "optional" : 1,
35734 "type" : "boolean"
35735 },
35736 "VM.Config.Options" : {
35737 "optional" : 1,
35738 "type" : "boolean"
35739 },
35740 "VM.Console" : {
35741 "optional" : 1,
35742 "type" : "boolean"
35743 },
35744 "VM.Migrate" : {
35745 "optional" : 1,
35746 "type" : "boolean"
35747 },
35748 "VM.Monitor" : {
35749 "optional" : 1,
35750 "type" : "boolean"
35751 },
35752 "VM.PowerMgmt" : {
35753 "optional" : 1,
35754 "type" : "boolean"
35755 },
35756 "VM.Snapshot" : {
35757 "optional" : 1,
35758 "type" : "boolean"
35759 },
35760 "VM.Snapshot.Rollback" : {
35761 "optional" : 1,
35762 "type" : "boolean"
35763 }
35764 },
35765 "type" : "object"
35766 }
44660702
DM
35767 },
35768 "PUT" : {
e2d681b3 35769 "description" : "Update an existing role.",
44660702
DM
35770 "method" : "PUT",
35771 "name" : "update_role",
56122987
DM
35772 "parameters" : {
35773 "additionalProperties" : 0,
35774 "properties" : {
7aacca6f 35775 "append" : {
44660702 35776 "optional" : 1,
7aacca6f 35777 "requires" : "privs",
013dc89f
DM
35778 "type" : "boolean",
35779 "typetext" : "<boolean>"
7aacca6f
DM
35780 },
35781 "privs" : {
35782 "format" : "pve-priv-list",
e2d681b3 35783 "optional" : 1,
013dc89f
DM
35784 "type" : "string",
35785 "typetext" : "<string>"
44660702
DM
35786 },
35787 "roleid" : {
35788 "format" : "pve-roleid",
013dc89f
DM
35789 "type" : "string",
35790 "typetext" : "<string>"
56122987
DM
35791 }
35792 }
35793 },
44660702
DM
35794 "permissions" : {
35795 "check" : [
35796 "perm",
35797 "/access",
35798 [
35799 "Sys.Modify"
35800 ]
35801 ]
35802 },
56122987 35803 "protected" : 1,
7aacca6f
DM
35804 "returns" : {
35805 "type" : "null"
56122987
DM
35806 }
35807 }
35808 },
44660702 35809 "leaf" : 1,
7aacca6f 35810 "path" : "/access/roles/{roleid}",
44660702 35811 "text" : "{roleid}"
56122987
DM
35812 }
35813 ],
56122987 35814 "info" : {
7aacca6f
DM
35815 "GET" : {
35816 "description" : "Role index.",
44660702 35817 "method" : "GET",
7aacca6f 35818 "name" : "index",
56122987 35819 "parameters" : {
56122987
DM
35820 "additionalProperties" : 0
35821 },
7aacca6f
DM
35822 "permissions" : {
35823 "user" : "all"
35824 },
56122987 35825 "returns" : {
7aacca6f 35826 "items" : {
7aacca6f 35827 "properties" : {
e2d681b3
TL
35828 "privs" : {
35829 "format" : "pve-priv-list",
35830 "optional" : 1,
35831 "type" : "string"
35832 },
7aacca6f 35833 "roleid" : {
e2d681b3 35834 "format" : "pve-roleid",
7aacca6f 35835 "type" : "string"
e2d681b3
TL
35836 },
35837 "special" : {
35838 "default" : 0,
35839 "optional" : 1,
35840 "type" : "boolean"
7aacca6f 35841 }
44660702
DM
35842 },
35843 "type" : "object"
35844 },
35845 "links" : [
35846 {
35847 "href" : "{roleid}",
35848 "rel" : "child"
7aacca6f 35849 }
44660702
DM
35850 ],
35851 "type" : "array"
35852 }
7aacca6f
DM
35853 },
35854 "POST" : {
35855 "description" : "Create new role.",
44660702
DM
35856 "method" : "POST",
35857 "name" : "create_role",
7aacca6f
DM
35858 "parameters" : {
35859 "additionalProperties" : 0,
35860 "properties" : {
7aacca6f
DM
35861 "privs" : {
35862 "format" : "pve-priv-list",
35863 "optional" : 1,
013dc89f
DM
35864 "type" : "string",
35865 "typetext" : "<string>"
44660702
DM
35866 },
35867 "roleid" : {
35868 "format" : "pve-roleid",
013dc89f
DM
35869 "type" : "string",
35870 "typetext" : "<string>"
7aacca6f
DM
35871 }
35872 }
35873 },
44660702
DM
35874 "permissions" : {
35875 "check" : [
35876 "perm",
35877 "/access",
35878 [
35879 "Sys.Modify"
35880 ]
35881 ]
35882 },
35883 "protected" : 1,
7aacca6f
DM
35884 "returns" : {
35885 "type" : "null"
35886 }
35887 }
35888 },
44660702 35889 "leaf" : 0,
7aacca6f 35890 "path" : "/access/roles",
44660702 35891 "text" : "roles"
7aacca6f
DM
35892 },
35893 {
35894 "info" : {
56122987 35895 "GET" : {
44660702
DM
35896 "description" : "Get Access Control List (ACLs).",
35897 "method" : "GET",
35898 "name" : "read_acl",
7aacca6f
DM
35899 "parameters" : {
35900 "additionalProperties" : 0
35901 },
44660702
DM
35902 "permissions" : {
35903 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
35904 "user" : "all"
35905 },
56122987 35906 "returns" : {
56122987 35907 "items" : {
44660702 35908 "additionalProperties" : 0,
56122987 35909 "properties" : {
7aacca6f 35910 "path" : {
e2d681b3 35911 "description" : "Access control path",
7aacca6f
DM
35912 "type" : "string"
35913 },
44660702 35914 "propagate" : {
e2d681b3
TL
35915 "default" : 1,
35916 "description" : "Allow to propagate (inherit) permissions.",
35917 "optional" : 1,
44660702
DM
35918 "type" : "boolean"
35919 },
35920 "roleid" : {
35921 "type" : "string"
35922 },
7aacca6f
DM
35923 "type" : {
35924 "enum" : [
35925 "user",
35926 "group"
35927 ],
35928 "type" : "string"
35929 },
7aacca6f
DM
35930 "ugid" : {
35931 "type" : "string"
56122987 35932 }
7aacca6f 35933 },
44660702 35934 "type" : "object"
7aacca6f
DM
35935 },
35936 "type" : "array"
44660702 35937 }
7aacca6f
DM
35938 },
35939 "PUT" : {
44660702
DM
35940 "description" : "Update Access Control List (add or remove permissions).",
35941 "method" : "PUT",
7aacca6f
DM
35942 "name" : "update_acl",
35943 "parameters" : {
35944 "additionalProperties" : 0,
35945 "properties" : {
35946 "delete" : {
44660702 35947 "description" : "Remove permissions (instead of adding it).",
7aacca6f 35948 "optional" : 1,
013dc89f
DM
35949 "type" : "boolean",
35950 "typetext" : "<boolean>"
7aacca6f 35951 },
44660702
DM
35952 "groups" : {
35953 "description" : "List of groups.",
35954 "format" : "pve-groupid-list",
7aacca6f 35955 "optional" : 1,
013dc89f
DM
35956 "type" : "string",
35957 "typetext" : "<string>"
7aacca6f
DM
35958 },
35959 "path" : {
35960 "description" : "Access control path",
013dc89f
DM
35961 "type" : "string",
35962 "typetext" : "<string>"
7aacca6f 35963 },
7aacca6f 35964 "propagate" : {
44660702 35965 "default" : 1,
7aacca6f 35966 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 35967 "optional" : 1,
013dc89f
DM
35968 "type" : "boolean",
35969 "typetext" : "<boolean>"
7aacca6f 35970 },
44660702
DM
35971 "roles" : {
35972 "description" : "List of roles.",
35973 "format" : "pve-roleid-list",
013dc89f
DM
35974 "type" : "string",
35975 "typetext" : "<string>"
44660702
DM
35976 },
35977 "users" : {
35978 "description" : "List of users.",
35979 "format" : "pve-userid-list",
7aacca6f 35980 "optional" : 1,
013dc89f
DM
35981 "type" : "string",
35982 "typetext" : "<string>"
56122987
DM
35983 }
35984 }
35985 },
56122987 35986 "permissions" : {
7aacca6f
DM
35987 "check" : [
35988 "perm-modify",
35989 "{path}"
35990 ]
35991 },
7aacca6f
DM
35992 "protected" : 1,
35993 "returns" : {
35994 "type" : "null"
44660702 35995 }
56122987
DM
35996 }
35997 },
7aacca6f 35998 "leaf" : 1,
44660702
DM
35999 "path" : "/access/acl",
36000 "text" : "acl"
7aacca6f
DM
36001 },
36002 {
56122987
DM
36003 "children" : [
36004 {
56122987 36005 "info" : {
44660702
DM
36006 "DELETE" : {
36007 "description" : "Delete an authentication server.",
36008 "method" : "DELETE",
36009 "name" : "delete",
36010 "parameters" : {
36011 "additionalProperties" : 0,
36012 "properties" : {
36013 "realm" : {
36014 "description" : "Authentication domain ID",
36015 "format" : "pve-realm",
36016 "maxLength" : 32,
013dc89f
DM
36017 "type" : "string",
36018 "typetext" : "<string>"
56122987 36019 }
44660702 36020 }
56122987 36021 },
56122987
DM
36022 "permissions" : {
36023 "check" : [
36024 "perm",
7aacca6f 36025 "/access/realm",
56122987 36026 [
7aacca6f 36027 "Realm.Allocate"
56122987
DM
36028 ]
36029 ]
36030 },
7aacca6f 36031 "protected" : 1,
7aacca6f
DM
36032 "returns" : {
36033 "type" : "null"
44660702 36034 }
7aacca6f 36035 },
44660702
DM
36036 "GET" : {
36037 "description" : "Get auth server configuration.",
36038 "method" : "GET",
36039 "name" : "read",
56122987 36040 "parameters" : {
44660702 36041 "additionalProperties" : 0,
56122987 36042 "properties" : {
7aacca6f 36043 "realm" : {
44660702 36044 "description" : "Authentication domain ID",
7aacca6f
DM
36045 "format" : "pve-realm",
36046 "maxLength" : 32,
013dc89f
DM
36047 "type" : "string",
36048 "typetext" : "<string>"
56122987 36049 }
44660702 36050 }
7aacca6f 36051 },
7aacca6f
DM
36052 "permissions" : {
36053 "check" : [
36054 "perm",
36055 "/access/realm",
36056 [
44660702
DM
36057 "Realm.Allocate",
36058 "Sys.Audit"
36059 ],
36060 "any",
36061 1
7aacca6f 36062 ]
44660702
DM
36063 },
36064 "returns" : {}
7aacca6f 36065 },
44660702
DM
36066 "PUT" : {
36067 "description" : "Update authentication server settings.",
36068 "method" : "PUT",
36069 "name" : "update",
7aacca6f 36070 "parameters" : {
44660702 36071 "additionalProperties" : 0,
7aacca6f 36072 "properties" : {
44660702
DM
36073 "base_dn" : {
36074 "description" : "LDAP base domain name",
36075 "maxLength" : 256,
36076 "optional" : 1,
36077 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36078 "type" : "string"
36079 },
4bd7df8b
DM
36080 "bind_dn" : {
36081 "description" : "LDAP bind domain name",
36082 "maxLength" : 256,
36083 "optional" : 1,
36084 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36085 "type" : "string"
36086 },
2489d6df
WB
36087 "capath" : {
36088 "default" : "/etc/ssl/certs",
36089 "description" : "Path to the CA certificate store",
36090 "optional" : 1,
36091 "type" : "string",
36092 "typetext" : "<string>"
36093 },
36094 "cert" : {
36095 "description" : "Path to the client certificate",
36096 "optional" : 1,
36097 "type" : "string",
36098 "typetext" : "<string>"
36099 },
36100 "certkey" : {
36101 "description" : "Path to the client certificate key",
36102 "optional" : 1,
36103 "type" : "string",
36104 "typetext" : "<string>"
36105 },
44660702
DM
36106 "comment" : {
36107 "description" : "Description.",
36108 "maxLength" : 4096,
36109 "optional" : 1,
013dc89f
DM
36110 "type" : "string",
36111 "typetext" : "<string>"
44660702
DM
36112 },
36113 "default" : {
36114 "description" : "Use this as default realm",
36115 "optional" : 1,
013dc89f
DM
36116 "type" : "boolean",
36117 "typetext" : "<boolean>"
44660702
DM
36118 },
36119 "delete" : {
36120 "description" : "A list of settings you want to delete.",
36121 "format" : "pve-configid-list",
36122 "maxLength" : 4096,
36123 "optional" : 1,
013dc89f
DM
36124 "type" : "string",
36125 "typetext" : "<string>"
44660702
DM
36126 },
36127 "digest" : {
36128 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
36129 "maxLength" : 40,
36130 "optional" : 1,
013dc89f
DM
36131 "type" : "string",
36132 "typetext" : "<string>"
44660702
DM
36133 },
36134 "domain" : {
36135 "description" : "AD domain name",
36136 "maxLength" : 256,
36137 "optional" : 1,
36138 "pattern" : "\\S+",
36139 "type" : "string"
36140 },
36141 "port" : {
36142 "description" : "Server port.",
36143 "maximum" : 65535,
36144 "minimum" : 1,
36145 "optional" : 1,
4bd7df8b 36146 "type" : "integer",
013dc89f 36147 "typetext" : "<integer> (1 - 65535)"
44660702 36148 },
7aacca6f 36149 "realm" : {
7aacca6f
DM
36150 "description" : "Authentication domain ID",
36151 "format" : "pve-realm",
44660702 36152 "maxLength" : 32,
013dc89f
DM
36153 "type" : "string",
36154 "typetext" : "<string>"
44660702
DM
36155 },
36156 "secure" : {
36157 "description" : "Use secure LDAPS protocol.",
36158 "optional" : 1,
013dc89f
DM
36159 "type" : "boolean",
36160 "typetext" : "<boolean>"
44660702
DM
36161 },
36162 "server1" : {
36163 "description" : "Server IP address (or DNS name)",
36164 "format" : "address",
36165 "maxLength" : 256,
36166 "optional" : 1,
013dc89f
DM
36167 "type" : "string",
36168 "typetext" : "<string>"
44660702
DM
36169 },
36170 "server2" : {
36171 "description" : "Fallback Server IP address (or DNS name)",
36172 "format" : "address",
36173 "maxLength" : 256,
36174 "optional" : 1,
013dc89f
DM
36175 "type" : "string",
36176 "typetext" : "<string>"
44660702
DM
36177 },
36178 "tfa" : {
36179 "description" : "Use Two-factor authentication.",
36180 "format" : "pve-tfa-config",
36181 "maxLength" : 128,
36182 "optional" : 1,
013dc89f 36183 "type" : "string",
95895385 36184 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
36185 },
36186 "user_attr" : {
36187 "description" : "LDAP user attribute name",
36188 "maxLength" : 256,
36189 "optional" : 1,
36190 "pattern" : "\\S{2,}",
36191 "type" : "string"
2489d6df
WB
36192 },
36193 "verify" : {
36194 "default" : 0,
36195 "description" : "Verify the server's SSL certificate",
36196 "optional" : 1,
36197 "type" : "boolean",
36198 "typetext" : "<boolean>"
7aacca6f 36199 }
56122987 36200 },
44660702 36201 "type" : "object"
56122987 36202 },
7aacca6f
DM
36203 "permissions" : {
36204 "check" : [
36205 "perm",
36206 "/access/realm",
36207 [
44660702
DM
36208 "Realm.Allocate"
36209 ]
7aacca6f
DM
36210 ]
36211 },
44660702
DM
36212 "protected" : 1,
36213 "returns" : {
36214 "type" : "null"
36215 }
56122987 36216 }
44660702
DM
36217 },
36218 "leaf" : 1,
36219 "path" : "/access/domains/{realm}",
36220 "text" : "{realm}"
56122987 36221 }
7aacca6f 36222 ],
56122987
DM
36223 "info" : {
36224 "GET" : {
44660702
DM
36225 "description" : "Authentication domain index.",
36226 "method" : "GET",
36227 "name" : "index",
36228 "parameters" : {
36229 "additionalProperties" : 0
36230 },
36231 "permissions" : {
36232 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
36233 "user" : "world"
36234 },
56122987 36235 "returns" : {
56122987
DM
36236 "items" : {
36237 "properties" : {
7aacca6f 36238 "comment" : {
52e44c50 36239 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
36240 "optional" : 1,
36241 "type" : "string"
36242 },
56122987
DM
36243 "realm" : {
36244 "type" : "string"
36245 },
36246 "tfa" : {
7aacca6f 36247 "description" : "Two-factor authentication provider.",
56122987
DM
36248 "enum" : [
36249 "yubico",
36250 "oath"
36251 ],
44660702
DM
36252 "optional" : 1,
36253 "type" : "string"
56122987
DM
36254 }
36255 },
36256 "type" : "object"
44660702
DM
36257 },
36258 "links" : [
36259 {
36260 "href" : "{realm}",
36261 "rel" : "child"
36262 }
36263 ],
36264 "type" : "array"
36265 }
56122987
DM
36266 },
36267 "POST" : {
7aacca6f 36268 "description" : "Add an authentication server.",
44660702 36269 "method" : "POST",
7aacca6f 36270 "name" : "create",
56122987 36271 "parameters" : {
44660702 36272 "additionalProperties" : 0,
56122987 36273 "properties" : {
44660702
DM
36274 "base_dn" : {
36275 "description" : "LDAP base domain name",
56122987 36276 "maxLength" : 256,
44660702
DM
36277 "optional" : 1,
36278 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 36279 "type" : "string"
56122987 36280 },
4bd7df8b
DM
36281 "bind_dn" : {
36282 "description" : "LDAP bind domain name",
36283 "maxLength" : 256,
36284 "optional" : 1,
36285 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36286 "type" : "string"
36287 },
2489d6df
WB
36288 "capath" : {
36289 "default" : "/etc/ssl/certs",
36290 "description" : "Path to the CA certificate store",
36291 "optional" : 1,
36292 "type" : "string",
36293 "typetext" : "<string>"
36294 },
36295 "cert" : {
36296 "description" : "Path to the client certificate",
36297 "optional" : 1,
36298 "type" : "string",
36299 "typetext" : "<string>"
36300 },
36301 "certkey" : {
36302 "description" : "Path to the client certificate key",
36303 "optional" : 1,
36304 "type" : "string",
36305 "typetext" : "<string>"
36306 },
44660702
DM
36307 "comment" : {
36308 "description" : "Description.",
36309 "maxLength" : 4096,
56122987 36310 "optional" : 1,
013dc89f
DM
36311 "type" : "string",
36312 "typetext" : "<string>"
56122987 36313 },
44660702
DM
36314 "default" : {
36315 "description" : "Use this as default realm",
7aacca6f 36316 "optional" : 1,
013dc89f
DM
36317 "type" : "boolean",
36318 "typetext" : "<boolean>"
56122987 36319 },
44660702
DM
36320 "domain" : {
36321 "description" : "AD domain name",
36322 "maxLength" : 256,
7aacca6f 36323 "optional" : 1,
44660702
DM
36324 "pattern" : "\\S+",
36325 "type" : "string"
56122987 36326 },
7aacca6f 36327 "port" : {
44660702 36328 "description" : "Server port.",
7aacca6f 36329 "maximum" : 65535,
44660702 36330 "minimum" : 1,
7aacca6f 36331 "optional" : 1,
4bd7df8b 36332 "type" : "integer",
013dc89f 36333 "typetext" : "<integer> (1 - 65535)"
56122987 36334 },
44660702
DM
36335 "realm" : {
36336 "description" : "Authentication domain ID",
36337 "format" : "pve-realm",
36338 "maxLength" : 32,
013dc89f
DM
36339 "type" : "string",
36340 "typetext" : "<string>"
44660702
DM
36341 },
36342 "secure" : {
36343 "description" : "Use secure LDAPS protocol.",
7aacca6f 36344 "optional" : 1,
013dc89f
DM
36345 "type" : "boolean",
36346 "typetext" : "<boolean>"
56122987 36347 },
44660702
DM
36348 "server1" : {
36349 "description" : "Server IP address (or DNS name)",
36350 "format" : "address",
36351 "maxLength" : 256,
36352 "optional" : 1,
013dc89f
DM
36353 "type" : "string",
36354 "typetext" : "<string>"
56122987 36355 },
44660702
DM
36356 "server2" : {
36357 "description" : "Fallback Server IP address (or DNS name)",
36358 "format" : "address",
7aacca6f 36359 "maxLength" : 256,
7aacca6f 36360 "optional" : 1,
013dc89f
DM
36361 "type" : "string",
36362 "typetext" : "<string>"
7aacca6f 36363 },
44660702
DM
36364 "tfa" : {
36365 "description" : "Use Two-factor authentication.",
36366 "format" : "pve-tfa-config",
36367 "maxLength" : 128,
36368 "optional" : 1,
013dc89f 36369 "type" : "string",
95895385 36370 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
36371 },
36372 "type" : {
36373 "description" : "Realm type.",
36374 "enum" : [
36375 "ad",
36376 "ldap",
36377 "pam",
36378 "pve"
36379 ],
36380 "type" : "string"
36381 },
36382 "user_attr" : {
36383 "description" : "LDAP user attribute name",
7aacca6f 36384 "maxLength" : 256,
7aacca6f 36385 "optional" : 1,
44660702
DM
36386 "pattern" : "\\S{2,}",
36387 "type" : "string"
2489d6df
WB
36388 },
36389 "verify" : {
36390 "default" : 0,
36391 "description" : "Verify the server's SSL certificate",
36392 "optional" : 1,
36393 "type" : "boolean",
36394 "typetext" : "<boolean>"
7aacca6f
DM
36395 }
36396 },
7aacca6f 36397 "type" : "object"
56122987 36398 },
7aacca6f
DM
36399 "permissions" : {
36400 "check" : [
36401 "perm",
36402 "/access/realm",
36403 [
36404 "Realm.Allocate"
36405 ]
36406 ]
44660702
DM
36407 },
36408 "protected" : 1,
36409 "returns" : {
36410 "type" : "null"
7aacca6f 36411 }
56122987 36412 }
7aacca6f 36413 },
44660702 36414 "leaf" : 0,
56122987 36415 "path" : "/access/domains",
44660702 36416 "text" : "domains"
56122987
DM
36417 },
36418 {
56122987 36419 "info" : {
44660702 36420 "GET" : {
2489d6df 36421 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
36422 "method" : "GET",
36423 "name" : "get_ticket",
36424 "parameters" : {
36425 "additionalProperties" : 0
36426 },
36427 "permissions" : {
36428 "user" : "world"
36429 },
36430 "returns" : {
36431 "type" : "null"
36432 }
36433 },
56122987 36434 "POST" : {
44660702 36435 "description" : "Create or verify authentication ticket.",
56122987 36436 "method" : "POST",
44660702
DM
36437 "name" : "create_ticket",
36438 "parameters" : {
36439 "additionalProperties" : 0,
56122987 36440 "properties" : {
44660702
DM
36441 "otp" : {
36442 "description" : "One-time password for Two-factor authentication.",
7aacca6f 36443 "optional" : 1,
013dc89f
DM
36444 "type" : "string",
36445 "typetext" : "<string>"
56122987 36446 },
7aacca6f
DM
36447 "password" : {
36448 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
36449 "type" : "string",
36450 "typetext" : "<string>"
7aacca6f 36451 },
44660702
DM
36452 "path" : {
36453 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 36454 "maxLength" : 64,
56122987 36455 "optional" : 1,
56122987 36456 "requires" : "privs",
013dc89f
DM
36457 "type" : "string",
36458 "typetext" : "<string>"
44660702
DM
36459 },
36460 "privs" : {
7aacca6f 36461 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
36462 "format" : "pve-priv-list",
36463 "maxLength" : 64,
56122987 36464 "optional" : 1,
44660702 36465 "requires" : "path",
013dc89f
DM
36466 "type" : "string",
36467 "typetext" : "<string>"
56122987
DM
36468 },
36469 "realm" : {
56122987 36470 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 36471 "format" : "pve-realm",
7aacca6f 36472 "maxLength" : 32,
44660702 36473 "optional" : 1,
013dc89f
DM
36474 "type" : "string",
36475 "typetext" : "<string>"
56122987
DM
36476 },
36477 "username" : {
36478 "description" : "User name",
44660702 36479 "maxLength" : 64,
013dc89f
DM
36480 "type" : "string",
36481 "typetext" : "<string>"
56122987 36482 }
44660702 36483 }
7aacca6f 36484 },
56122987 36485 "permissions" : {
44660702 36486 "description" : "You need to pass valid credientials.",
56122987
DM
36487 "user" : "world"
36488 },
44660702 36489 "protected" : 1,
7aacca6f 36490 "returns" : {
56122987 36491 "properties" : {
44660702
DM
36492 "CSRFPreventionToken" : {
36493 "optional" : 1,
36494 "type" : "string"
56122987 36495 },
e2d681b3
TL
36496 "clustername" : {
36497 "optional" : 1,
36498 "type" : "string"
36499 },
44660702
DM
36500 "ticket" : {
36501 "optional" : 1,
36502 "type" : "string"
36503 },
36504 "username" : {
56122987
DM
36505 "type" : "string"
36506 }
36507 },
44660702 36508 "type" : "object"
7aacca6f 36509 }
7aacca6f
DM
36510 }
36511 },
44660702
DM
36512 "leaf" : 1,
36513 "path" : "/access/ticket",
36514 "text" : "ticket"
7aacca6f 36515 },
56122987 36516 {
56122987 36517 "info" : {
7aacca6f 36518 "PUT" : {
44660702 36519 "description" : "Change user password.",
7aacca6f 36520 "method" : "PUT",
e2d681b3 36521 "name" : "change_password",
56122987
DM
36522 "parameters" : {
36523 "additionalProperties" : 0,
36524 "properties" : {
44660702
DM
36525 "password" : {
36526 "description" : "The new password.",
36527 "maxLength" : 64,
36528 "minLength" : 5,
013dc89f
DM
36529 "type" : "string",
36530 "typetext" : "<string>"
7aacca6f 36531 },
44660702
DM
36532 "userid" : {
36533 "description" : "User ID",
36534 "format" : "pve-userid",
36535 "maxLength" : 64,
013dc89f
DM
36536 "type" : "string",
36537 "typetext" : "<string>"
56122987 36538 }
7aacca6f 36539 }
56122987
DM
36540 },
36541 "permissions" : {
36542 "check" : [
44660702 36543 "or",
56122987 36544 [
44660702
DM
36545 "userid-param",
36546 "self"
36547 ],
36548 [
36549 "and",
36550 [
36551 "userid-param",
36552 "Realm.AllocateUser"
36553 ],
36554 [
36555 "userid-group",
36556 [
36557 "User.Modify"
36558 ]
36559 ]
56122987 36560 ]
7aacca6f 36561 ],
44660702 36562 "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 36563 },
44660702 36564 "protected" : 1,
7aacca6f
DM
36565 "returns" : {
36566 "type" : "null"
44660702
DM
36567 }
36568 }
36569 },
36570 "leaf" : 1,
36571 "path" : "/access/password",
36572 "text" : "password"
95895385
TL
36573 },
36574 {
36575 "info" : {
36576 "POST" : {
36577 "description" : "Finish a u2f challenge.",
36578 "method" : "POST",
36579 "name" : "verify_tfa",
36580 "parameters" : {
36581 "additionalProperties" : 0,
36582 "properties" : {
36583 "response" : {
36584 "description" : "The response to the current authentication challenge.",
36585 "type" : "string",
36586 "typetext" : "<string>"
36587 }
36588 }
36589 },
36590 "permissions" : {
36591 "user" : "all"
36592 },
36593 "protected" : 1,
36594 "returns" : {
36595 "properties" : {
36596 "ticket" : {
36597 "type" : "string"
36598 }
36599 },
36600 "type" : "object"
36601 }
36602 },
36603 "PUT" : {
36604 "description" : "Change user u2f authentication.",
36605 "method" : "PUT",
36606 "name" : "change_tfa",
36607 "parameters" : {
36608 "additionalProperties" : 0,
36609 "properties" : {
36610 "action" : {
36611 "description" : "The action to perform",
36612 "enum" : [
36613 "delete",
36614 "new",
36615 "confirm"
36616 ],
36617 "type" : "string"
36618 },
36619 "config" : {
36620 "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
36621 "format" : "pve-tfa-config",
36622 "maxLength" : 128,
36623 "optional" : 1,
36624 "type" : "string",
36625 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
36626 },
36627 "key" : {
36628 "description" : "When adding TOTP, the shared secret value.",
36629 "optional" : 1,
36630 "pattern" : "(?^:[A-Z2-7=]{16}|[A-Fa-f0-9]{40})",
36631 "type" : "string"
36632 },
36633 "password" : {
36634 "description" : "The current password.",
36635 "maxLength" : 64,
36636 "minLength" : 5,
36637 "optional" : 1,
36638 "type" : "string",
36639 "typetext" : "<string>"
36640 },
36641 "response" : {
36642 "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
36643 "optional" : 1,
36644 "type" : "string",
36645 "typetext" : "<string>"
36646 },
36647 "userid" : {
36648 "description" : "User ID",
36649 "format" : "pve-userid",
36650 "maxLength" : 64,
36651 "type" : "string",
36652 "typetext" : "<string>"
36653 }
36654 }
36655 },
36656 "permissions" : {
36657 "check" : [
36658 "or",
36659 [
36660 "userid-param",
36661 "self"
36662 ],
36663 [
36664 "and",
36665 [
36666 "userid-param",
36667 "Realm.AllocateUser"
36668 ],
36669 [
36670 "userid-group",
36671 [
36672 "User.Modify"
36673 ]
36674 ]
36675 ]
36676 ],
36677 "description" : "A user can change their own u2f or totp token."
36678 },
36679 "protected" : 1,
36680 "returns" : {
36681 "type" : "object"
36682 }
36683 }
36684 },
36685 "leaf" : 1,
36686 "path" : "/access/tfa",
36687 "text" : "tfa"
44660702
DM
36688 }
36689 ],
36690 "info" : {
36691 "GET" : {
36692 "description" : "Directory index.",
36693 "method" : "GET",
36694 "name" : "index",
36695 "parameters" : {
36696 "additionalProperties" : 0
36697 },
36698 "permissions" : {
36699 "user" : "all"
36700 },
36701 "returns" : {
36702 "items" : {
36703 "properties" : {
36704 "subdir" : {
36705 "type" : "string"
36706 }
7aacca6f 36707 },
44660702
DM
36708 "type" : "object"
36709 },
36710 "links" : [
36711 {
36712 "href" : "{subdir}",
36713 "rel" : "child"
36714 }
36715 ],
36716 "type" : "array"
36717 }
36718 }
36719 },
36720 "leaf" : 0,
36721 "path" : "/access",
36722 "text" : "access"
36723 },
36724 {
36725 "children" : [
36726 {
36727 "info" : {
36728 "DELETE" : {
7aacca6f 36729 "description" : "Delete pool.",
44660702
DM
36730 "method" : "DELETE",
36731 "name" : "delete_pool",
7aacca6f
DM
36732 "parameters" : {
36733 "additionalProperties" : 0,
36734 "properties" : {
36735 "poolid" : {
36736 "format" : "pve-poolid",
013dc89f
DM
36737 "type" : "string",
36738 "typetext" : "<string>"
7aacca6f
DM
36739 }
36740 }
36741 },
56122987
DM
36742 "permissions" : {
36743 "check" : [
36744 "perm",
36745 "/pool/{poolid}",
36746 [
36747 "Pool.Allocate"
36748 ]
44660702
DM
36749 ],
36750 "description" : "You can only delete empty pools (no members)."
36751 },
36752 "protected" : 1,
36753 "returns" : {
36754 "type" : "null"
7aacca6f
DM
36755 }
36756 },
36757 "GET" : {
36758 "description" : "Get pool configuration.",
44660702 36759 "method" : "GET",
7aacca6f 36760 "name" : "read_pool",
56122987 36761 "parameters" : {
44660702 36762 "additionalProperties" : 0,
56122987
DM
36763 "properties" : {
36764 "poolid" : {
44660702 36765 "format" : "pve-poolid",
013dc89f
DM
36766 "type" : "string",
36767 "typetext" : "<string>"
56122987 36768 }
44660702 36769 }
56122987 36770 },
56122987 36771 "permissions" : {
56122987
DM
36772 "check" : [
36773 "perm",
36774 "/pool/{poolid}",
36775 [
36776 "Pool.Allocate"
36777 ]
36778 ]
36779 },
7aacca6f 36780 "returns" : {
44660702 36781 "additionalProperties" : 0,
56122987 36782 "properties" : {
44660702
DM
36783 "comment" : {
36784 "optional" : 1,
36785 "type" : "string"
36786 },
7aacca6f 36787 "members" : {
7aacca6f
DM
36788 "items" : {
36789 "additionalProperties" : 1,
7aacca6f 36790 "properties" : {
7aacca6f
DM
36791 "id" : {
36792 "type" : "string"
36793 },
36794 "node" : {
36795 "type" : "string"
36796 },
44660702
DM
36797 "storage" : {
36798 "optional" : 1,
36799 "type" : "string"
36800 },
7aacca6f 36801 "type" : {
7aacca6f
DM
36802 "enum" : [
36803 "qemu",
36804 "lxc",
36805 "openvz",
36806 "storage"
44660702
DM
36807 ],
36808 "type" : "string"
36809 },
36810 "vmid" : {
36811 "optional" : 1,
36812 "type" : "integer"
7aacca6f 36813 }
44660702
DM
36814 },
36815 "type" : "object"
36816 },
36817 "type" : "array"
36818 }
36819 },
36820 "type" : "object"
36821 }
36822 },
36823 "PUT" : {
36824 "description" : "Update pool data.",
36825 "method" : "PUT",
36826 "name" : "update_pool",
36827 "parameters" : {
36828 "additionalProperties" : 0,
36829 "properties" : {
56122987
DM
36830 "comment" : {
36831 "optional" : 1,
013dc89f
DM
36832 "type" : "string",
36833 "typetext" : "<string>"
44660702
DM
36834 },
36835 "delete" : {
36836 "description" : "Remove vms/storage (instead of adding it).",
36837 "optional" : 1,
013dc89f
DM
36838 "type" : "boolean",
36839 "typetext" : "<boolean>"
44660702
DM
36840 },
36841 "poolid" : {
36842 "format" : "pve-poolid",
013dc89f
DM
36843 "type" : "string",
36844 "typetext" : "<string>"
44660702
DM
36845 },
36846 "storage" : {
36847 "description" : "List of storage IDs.",
36848 "format" : "pve-storage-id-list",
36849 "optional" : 1,
013dc89f
DM
36850 "type" : "string",
36851 "typetext" : "<string>"
44660702
DM
36852 },
36853 "vms" : {
36854 "description" : "List of virtual machines.",
36855 "format" : "pve-vmid-list",
36856 "optional" : 1,
013dc89f
DM
36857 "type" : "string",
36858 "typetext" : "<string>"
56122987 36859 }
44660702
DM
36860 }
36861 },
36862 "permissions" : {
36863 "check" : [
36864 "perm",
36865 "/pool/{poolid}",
36866 [
36867 "Pool.Allocate"
36868 ]
36869 ],
36870 "description" : "You also need the right to modify permissions on any object you add/delete."
36871 },
36872 "protected" : 1,
36873 "returns" : {
36874 "type" : "null"
56122987
DM
36875 }
36876 }
36877 },
44660702
DM
36878 "leaf" : 1,
36879 "path" : "/pools/{poolid}",
7aacca6f 36880 "text" : "{poolid}"
56122987 36881 }
7aacca6f 36882 ],
56122987
DM
36883 "info" : {
36884 "GET" : {
44660702
DM
36885 "description" : "Pool index.",
36886 "method" : "GET",
36887 "name" : "index",
36888 "parameters" : {
36889 "additionalProperties" : 0
36890 },
36891 "permissions" : {
36892 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
36893 "user" : "all"
36894 },
56122987 36895 "returns" : {
44660702
DM
36896 "items" : {
36897 "properties" : {
36898 "poolid" : {
36899 "type" : "string"
36900 }
56122987 36901 },
44660702
DM
36902 "type" : "object"
36903 },
36904 "links" : [
36905 {
36906 "href" : "{poolid}",
36907 "rel" : "child"
36908 }
36909 ],
36910 "type" : "array"
36911 }
36912 },
36913 "POST" : {
36914 "description" : "Create new pool.",
36915 "method" : "POST",
36916 "name" : "create_pool",
36917 "parameters" : {
36918 "additionalProperties" : 0,
36919 "properties" : {
36920 "comment" : {
36921 "optional" : 1,
013dc89f
DM
36922 "type" : "string",
36923 "typetext" : "<string>"
7aacca6f 36924 },
44660702
DM
36925 "poolid" : {
36926 "format" : "pve-poolid",
013dc89f
DM
36927 "type" : "string",
36928 "typetext" : "<string>"
56122987
DM
36929 }
36930 }
36931 },
56122987 36932 "permissions" : {
44660702
DM
36933 "check" : [
36934 "perm",
36935 "/pool/{poolid}",
36936 [
36937 "Pool.Allocate"
36938 ]
36939 ]
56122987 36940 },
44660702
DM
36941 "protected" : 1,
36942 "returns" : {
36943 "type" : "null"
36944 }
36945 }
36946 },
36947 "leaf" : 0,
36948 "path" : "/pools",
36949 "text" : "pools"
36950 },
36951 {
36952 "info" : {
36953 "GET" : {
36954 "description" : "API version details. The result also includes the global datacenter confguration.",
36955 "method" : "GET",
36956 "name" : "version",
7aacca6f
DM
36957 "parameters" : {
36958 "additionalProperties" : 0
36959 },
44660702
DM
36960 "permissions" : {
36961 "user" : "all"
36962 },
36963 "returns" : {
36964 "properties" : {
36965 "release" : {
36966 "type" : "string"
36967 },
36968 "repoid" : {
36969 "type" : "string"
36970 },
36971 "version" : {
36972 "type" : "string"
36973 }
36974 },
36975 "type" : "object"
36976 }
56122987
DM
36977 }
36978 },
44660702
DM
36979 "leaf" : 1,
36980 "path" : "/version",
56122987
DM
36981 "text" : "version"
36982 }
36983]
36984;
36985