]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
make update-static
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
56122987
DM
1var pveapi = [
2 {
56122987 3 "children" : [
5d9c884c
DM
4 {
5 "children" : [
6 {
7 "info" : {
8 "DELETE" : {
9 "description" : "Mark replication job for removal.",
10 "method" : "DELETE",
11 "name" : "delete",
12 "parameters" : {
13 "additionalProperties" : 0,
14 "properties" : {
15 "force" : {
16 "default" : 0,
17 "description" : "Will remove the jobconfig entry, but will not cleanup.",
18 "optional" : 1,
19 "type" : "boolean",
20 "typetext" : "<boolean>"
21 },
22 "id" : {
23 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
24 "format" : "pve-replication-job-id",
25 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
26 "type" : "string"
27 },
28 "keep" : {
29 "default" : 0,
30 "description" : "Keep replicated data at target (do not remove).",
31 "optional" : 1,
32 "type" : "boolean",
33 "typetext" : "<boolean>"
34 }
35 }
36 },
37 "permissions" : {
38 "check" : [
39 "perm",
40 "/storage",
41 [
42 "Datastore.Allocate"
43 ]
44 ]
45 },
46 "protected" : 1,
47 "returns" : {
48 "type" : "null"
49 }
50 },
51 "GET" : {
52 "description" : "Read replication job configuration.",
53 "method" : "GET",
54 "name" : "read",
55 "parameters" : {
56 "additionalProperties" : 0,
57 "properties" : {
58 "id" : {
59 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
60 "format" : "pve-replication-job-id",
61 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
62 "type" : "string"
63 }
64 }
65 },
66 "permissions" : {
67 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
68 "user" : "all"
69 },
70 "returns" : {
71 "type" : "object"
72 }
73 },
74 "PUT" : {
75 "description" : "Update replication job configuration.",
76 "method" : "PUT",
77 "name" : "update",
78 "parameters" : {
79 "additionalProperties" : 0,
80 "properties" : {
81 "comment" : {
82 "description" : "Description.",
83 "maxLength" : 4096,
84 "optional" : 1,
85 "type" : "string",
86 "typetext" : "<string>"
87 },
88 "delete" : {
89 "description" : "A list of settings you want to delete.",
90 "format" : "pve-configid-list",
91 "maxLength" : 4096,
92 "optional" : 1,
93 "type" : "string",
94 "typetext" : "<string>"
95 },
96 "digest" : {
97 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
98 "maxLength" : 40,
99 "optional" : 1,
100 "type" : "string",
101 "typetext" : "<string>"
102 },
103 "disable" : {
104 "description" : "Flag to disable/deactivate the entry.",
105 "optional" : 1,
106 "type" : "boolean",
107 "typetext" : "<boolean>"
108 },
109 "id" : {
110 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
111 "format" : "pve-replication-job-id",
112 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
113 "type" : "string"
114 },
115 "rate" : {
116 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
117 "minimum" : 1,
118 "optional" : 1,
119 "type" : "number",
120 "typetext" : "<number> (1 - N)"
121 },
122 "remove_job" : {
123 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
124 "enum" : [
125 "local",
126 "full"
127 ],
128 "optional" : 1,
129 "type" : "string"
130 },
131 "schedule" : {
132 "default" : "*/15",
133 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
134 "format" : "pve-calendar-event",
135 "maxLength" : 128,
136 "optional" : 1,
137 "type" : "string",
138 "typetext" : "<string>"
a9a8e3d1
DM
139 },
140 "source" : {
141 "description" : "Source of the replication.",
142 "format" : "pve-node",
143 "optional" : 1,
144 "type" : "string",
145 "typetext" : "<string>"
5d9c884c
DM
146 }
147 },
148 "type" : "object"
149 },
150 "permissions" : {
151 "check" : [
152 "perm",
153 "/storage",
154 [
155 "Datastore.Allocate"
156 ]
157 ]
158 },
159 "protected" : 1,
160 "returns" : {
161 "type" : "null"
162 }
163 }
164 },
165 "leaf" : 1,
166 "path" : "/cluster/replication/{id}",
167 "text" : "{id}"
168 }
169 ],
170 "info" : {
171 "GET" : {
172 "description" : "List replication jobs.",
173 "method" : "GET",
174 "name" : "index",
175 "parameters" : {
176 "additionalProperties" : 0
177 },
178 "permissions" : {
179 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
180 "user" : "all"
181 },
182 "returns" : {
183 "items" : {
184 "properties" : {},
185 "type" : "object"
186 },
187 "links" : [
188 {
189 "href" : "{id}",
190 "rel" : "child"
191 }
192 ],
193 "type" : "array"
194 }
195 },
196 "POST" : {
197 "description" : "Create a new replication job",
198 "method" : "POST",
199 "name" : "create",
200 "parameters" : {
201 "additionalProperties" : 0,
202 "properties" : {
203 "comment" : {
204 "description" : "Description.",
205 "maxLength" : 4096,
206 "optional" : 1,
207 "type" : "string",
208 "typetext" : "<string>"
209 },
210 "disable" : {
211 "description" : "Flag to disable/deactivate the entry.",
212 "optional" : 1,
213 "type" : "boolean",
214 "typetext" : "<boolean>"
215 },
216 "id" : {
217 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
218 "format" : "pve-replication-job-id",
219 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
220 "type" : "string"
221 },
222 "rate" : {
223 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
224 "minimum" : 1,
225 "optional" : 1,
226 "type" : "number",
227 "typetext" : "<number> (1 - N)"
228 },
229 "remove_job" : {
230 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
231 "enum" : [
232 "local",
233 "full"
234 ],
235 "optional" : 1,
236 "type" : "string"
237 },
238 "schedule" : {
239 "default" : "*/15",
240 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
241 "format" : "pve-calendar-event",
242 "maxLength" : 128,
243 "optional" : 1,
244 "type" : "string",
245 "typetext" : "<string>"
246 },
a9a8e3d1
DM
247 "source" : {
248 "description" : "Source of the replication.",
249 "format" : "pve-node",
250 "optional" : 1,
251 "type" : "string",
252 "typetext" : "<string>"
253 },
5d9c884c
DM
254 "target" : {
255 "description" : "Target node.",
256 "format" : "pve-node",
257 "optional" : 0,
258 "type" : "string",
259 "typetext" : "<string>"
260 },
261 "type" : {
262 "description" : "Section type.",
263 "enum" : [
264 "local"
265 ],
266 "type" : "string"
267 }
268 },
269 "type" : "object"
270 },
271 "permissions" : {
272 "check" : [
273 "perm",
274 "/storage",
275 [
276 "Datastore.Allocate"
277 ]
278 ]
279 },
280 "protected" : 1,
281 "returns" : {
282 "type" : "null"
283 }
284 }
285 },
286 "leaf" : 0,
287 "path" : "/cluster/replication",
288 "text" : "replication"
289 },
32d876b5
DM
290 {
291 "children" : [
292 {
27a7acb2
DM
293 "children" : [
294 {
295 "info" : {
296 "DELETE" : {
297 "description" : "Removes a node from the cluster configuration.",
298 "method" : "DELETE",
299 "name" : "delnode",
300 "parameters" : {
301 "additionalProperties" : 0,
302 "properties" : {
303 "node" : {
304 "description" : "The cluster node name.",
305 "format" : "pve-node",
306 "type" : "string",
307 "typetext" : "<string>"
308 }
309 }
310 },
311 "protected" : 1,
312 "returns" : {
313 "type" : "null"
314 }
315 },
316 "POST" : {
317 "description" : "Adds a node to the cluster configuration.",
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" : {
797 "pos" : {
798 "type" : "integer"
799 }
800 },
801 "type" : "object"
56122987 802 }
44660702 803 },
7aacca6f 804 "PUT" : {
44660702
DM
805 "description" : "Modify rule data.",
806 "method" : "PUT",
807 "name" : "update_rule",
7aacca6f
DM
808 "parameters" : {
809 "additionalProperties" : 0,
810 "properties" : {
44660702
DM
811 "action" : {
812 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 813 "maxLength" : 20,
44660702 814 "minLength" : 2,
7aacca6f 815 "optional" : 1,
44660702 816 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
817 "type" : "string"
818 },
44660702 819 "comment" : {
e94f0d56 820 "description" : "Descriptive comment.",
7aacca6f 821 "optional" : 1,
013dc89f
DM
822 "type" : "string",
823 "typetext" : "<string>"
7aacca6f 824 },
44660702
DM
825 "delete" : {
826 "description" : "A list of settings you want to delete.",
827 "format" : "pve-configid-list",
7aacca6f 828 "optional" : 1,
013dc89f
DM
829 "type" : "string",
830 "typetext" : "<string>"
7aacca6f 831 },
44660702
DM
832 "dest" : {
833 "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.",
834 "format" : "pve-fw-addr-spec",
7aacca6f 835 "optional" : 1,
013dc89f
DM
836 "type" : "string",
837 "typetext" : "<string>"
7aacca6f
DM
838 },
839 "digest" : {
840 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 841 "maxLength" : 40,
7aacca6f 842 "optional" : 1,
013dc89f
DM
843 "type" : "string",
844 "typetext" : "<string>"
7aacca6f 845 },
44660702
DM
846 "dport" : {
847 "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.",
848 "format" : "pve-fw-dport-spec",
7aacca6f 849 "optional" : 1,
013dc89f
DM
850 "type" : "string",
851 "typetext" : "<string>"
7aacca6f 852 },
44660702 853 "enable" : {
e94f0d56 854 "description" : "Flag to enable/disable a rule.",
44660702 855 "minimum" : 0,
7aacca6f 856 "optional" : 1,
4bd7df8b 857 "type" : "integer",
013dc89f 858 "typetext" : "<integer> (0 - N)"
7aacca6f 859 },
44660702
DM
860 "group" : {
861 "description" : "Security Group name.",
4bd7df8b 862 "maxLength" : 18,
44660702
DM
863 "minLength" : 2,
864 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
865 "type" : "string"
866 },
867 "iface" : {
868 "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.",
869 "format" : "pve-iface",
870 "maxLength" : 20,
871 "minLength" : 2,
7aacca6f 872 "optional" : 1,
013dc89f
DM
873 "type" : "string",
874 "typetext" : "<string>"
7aacca6f 875 },
44660702 876 "macro" : {
e94f0d56 877 "description" : "Use predefined standard macro.",
44660702
DM
878 "maxLength" : 128,
879 "optional" : 1,
013dc89f
DM
880 "type" : "string",
881 "typetext" : "<string>"
7aacca6f
DM
882 },
883 "moveto" : {
884 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 885 "minimum" : 0,
7aacca6f 886 "optional" : 1,
4bd7df8b 887 "type" : "integer",
013dc89f 888 "typetext" : "<integer> (0 - N)"
7aacca6f 889 },
44660702
DM
890 "pos" : {
891 "description" : "Update rule at position <pos>.",
892 "minimum" : 0,
893 "optional" : 1,
4bd7df8b 894 "type" : "integer",
013dc89f 895 "typetext" : "<integer> (0 - N)"
7aacca6f 896 },
44660702
DM
897 "proto" : {
898 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
899 "format" : "pve-fw-protocol-spec",
7aacca6f 900 "optional" : 1,
013dc89f
DM
901 "type" : "string",
902 "typetext" : "<string>"
44660702
DM
903 },
904 "source" : {
905 "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.",
906 "format" : "pve-fw-addr-spec",
907 "optional" : 1,
013dc89f
DM
908 "type" : "string",
909 "typetext" : "<string>"
44660702
DM
910 },
911 "sport" : {
912 "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.",
913 "format" : "pve-fw-sport-spec",
914 "optional" : 1,
013dc89f
DM
915 "type" : "string",
916 "typetext" : "<string>"
7aacca6f
DM
917 },
918 "type" : {
e94f0d56 919 "description" : "Rule type.",
7aacca6f
DM
920 "enum" : [
921 "in",
922 "out",
923 "group"
924 ],
925 "optional" : 1,
926 "type" : "string"
927 }
928 }
929 },
7aacca6f
DM
930 "permissions" : {
931 "check" : [
932 "perm",
933 "/",
934 [
935 "Sys.Modify"
936 ]
937 ]
938 },
44660702 939 "protected" : 1,
7aacca6f
DM
940 "proxyto" : null,
941 "returns" : {
942 "type" : "null"
943 }
7aacca6f
DM
944 }
945 },
44660702 946 "leaf" : 1,
7aacca6f 947 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 948 "text" : "{pos}"
7aacca6f
DM
949 }
950 ],
44660702
DM
951 "info" : {
952 "DELETE" : {
953 "description" : "Delete security group.",
954 "method" : "DELETE",
955 "name" : "delete_security_group",
956 "parameters" : {
957 "additionalProperties" : 0,
958 "properties" : {
959 "group" : {
960 "description" : "Security Group name.",
4bd7df8b 961 "maxLength" : 18,
44660702
DM
962 "minLength" : 2,
963 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
964 "type" : "string"
965 }
56122987 966 }
7aacca6f 967 },
44660702
DM
968 "permissions" : {
969 "check" : [
970 "perm",
971 "/",
972 [
973 "Sys.Modify"
974 ]
7aacca6f 975 ]
56122987 976 },
44660702
DM
977 "protected" : 1,
978 "returns" : {
979 "type" : "null"
56122987 980 }
7aacca6f 981 },
7aacca6f 982 "GET" : {
44660702 983 "description" : "List rules.",
7aacca6f 984 "method" : "GET",
44660702
DM
985 "name" : "get_rules",
986 "parameters" : {
987 "additionalProperties" : 0,
7aacca6f 988 "properties" : {
44660702
DM
989 "group" : {
990 "description" : "Security Group name.",
4bd7df8b 991 "maxLength" : 18,
44660702
DM
992 "minLength" : 2,
993 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
994 "type" : "string"
7aacca6f 995 }
44660702 996 }
7aacca6f
DM
997 },
998 "permissions" : {
999 "check" : [
1000 "perm",
1001 "/",
1002 [
1003 "Sys.Audit"
1004 ]
1005 ]
1006 },
44660702
DM
1007 "proxyto" : null,
1008 "returns" : {
1009 "items" : {
1010 "properties" : {
1011 "pos" : {
1012 "type" : "integer"
1013 }
1014 },
1015 "type" : "object"
1016 },
1017 "links" : [
1018 {
1019 "href" : "{pos}",
1020 "rel" : "child"
1021 }
1022 ],
1023 "type" : "array"
1024 }
1025 },
1026 "POST" : {
1027 "description" : "Create new rule.",
1028 "method" : "POST",
1029 "name" : "create_rule",
7aacca6f
DM
1030 "parameters" : {
1031 "additionalProperties" : 0,
1032 "properties" : {
44660702
DM
1033 "action" : {
1034 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1035 "maxLength" : 20,
56122987 1036 "minLength" : 2,
44660702
DM
1037 "optional" : 0,
1038 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1039 "type" : "string"
56122987 1040 },
44660702 1041 "comment" : {
e94f0d56 1042 "description" : "Descriptive comment.",
56122987 1043 "optional" : 1,
013dc89f
DM
1044 "type" : "string",
1045 "typetext" : "<string>"
56122987 1046 },
44660702
DM
1047 "dest" : {
1048 "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
1049 "format" : "pve-fw-addr-spec",
1050 "optional" : 1,
013dc89f
DM
1051 "type" : "string",
1052 "typetext" : "<string>"
56122987 1053 },
44660702
DM
1054 "digest" : {
1055 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1056 "maxLength" : 40,
7aacca6f 1057 "optional" : 1,
013dc89f
DM
1058 "type" : "string",
1059 "typetext" : "<string>"
56122987 1060 },
44660702
DM
1061 "dport" : {
1062 "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.",
1063 "format" : "pve-fw-dport-spec",
56122987 1064 "optional" : 1,
013dc89f
DM
1065 "type" : "string",
1066 "typetext" : "<string>"
56122987 1067 },
7aacca6f 1068 "enable" : {
e94f0d56 1069 "description" : "Flag to enable/disable a rule.",
44660702 1070 "minimum" : 0,
7aacca6f 1071 "optional" : 1,
4bd7df8b 1072 "type" : "integer",
013dc89f 1073 "typetext" : "<integer> (0 - N)"
56122987 1074 },
44660702
DM
1075 "group" : {
1076 "description" : "Security Group name.",
4bd7df8b 1077 "maxLength" : 18,
44660702 1078 "minLength" : 2,
7aacca6f 1079 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1080 "type" : "string"
1081 },
1082 "iface" : {
1083 "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.",
1084 "format" : "pve-iface",
1085 "maxLength" : 20,
7aacca6f 1086 "minLength" : 2,
44660702 1087 "optional" : 1,
013dc89f
DM
1088 "type" : "string",
1089 "typetext" : "<string>"
56122987 1090 },
7aacca6f 1091 "macro" : {
e94f0d56 1092 "description" : "Use predefined standard macro.",
44660702 1093 "maxLength" : 128,
7aacca6f 1094 "optional" : 1,
013dc89f
DM
1095 "type" : "string",
1096 "typetext" : "<string>"
7aacca6f
DM
1097 },
1098 "pos" : {
1099 "description" : "Update rule at position <pos>.",
44660702 1100 "minimum" : 0,
56122987 1101 "optional" : 1,
4bd7df8b 1102 "type" : "integer",
013dc89f 1103 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1104 },
1105 "proto" : {
1106 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1107 "format" : "pve-fw-protocol-spec",
7aacca6f 1108 "optional" : 1,
013dc89f
DM
1109 "type" : "string",
1110 "typetext" : "<string>"
44660702
DM
1111 },
1112 "source" : {
1113 "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.",
1114 "format" : "pve-fw-addr-spec",
1115 "optional" : 1,
013dc89f
DM
1116 "type" : "string",
1117 "typetext" : "<string>"
44660702
DM
1118 },
1119 "sport" : {
1120 "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.",
1121 "format" : "pve-fw-sport-spec",
1122 "optional" : 1,
013dc89f
DM
1123 "type" : "string",
1124 "typetext" : "<string>"
44660702
DM
1125 },
1126 "type" : {
e94f0d56 1127 "description" : "Rule type.",
44660702
DM
1128 "enum" : [
1129 "in",
1130 "out",
1131 "group"
1132 ],
1133 "optional" : 0,
1134 "type" : "string"
56122987 1135 }
44660702 1136 }
56122987 1137 },
56122987
DM
1138 "permissions" : {
1139 "check" : [
1140 "perm",
1141 "/",
1142 [
1143 "Sys.Modify"
1144 ]
1145 ]
1146 },
44660702
DM
1147 "protected" : 1,
1148 "proxyto" : null,
56122987
DM
1149 "returns" : {
1150 "type" : "null"
7aacca6f 1151 }
44660702
DM
1152 }
1153 },
1154 "leaf" : 0,
1155 "path" : "/cluster/firewall/groups/{group}",
1156 "text" : "{group}"
1157 }
1158 ],
1159 "info" : {
1160 "GET" : {
1161 "description" : "List security groups.",
1162 "method" : "GET",
1163 "name" : "list_security_groups",
1164 "parameters" : {
1165 "additionalProperties" : 0
1166 },
1167 "permissions" : {
1168 "user" : "all"
1169 },
1170 "returns" : {
1171 "items" : {
1172 "properties" : {
1173 "comment" : {
1174 "optional" : 1,
1175 "type" : "string"
1176 },
1177 "digest" : {
1178 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1179 "maxLength" : 40,
1180 "optional" : 0,
1181 "type" : "string"
1182 },
1183 "group" : {
1184 "description" : "Security Group name.",
4bd7df8b 1185 "maxLength" : 18,
44660702
DM
1186 "minLength" : 2,
1187 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1188 "type" : "string"
1189 }
1190 },
1191 "type" : "object"
56122987 1192 },
44660702
DM
1193 "links" : [
1194 {
1195 "href" : "{group}",
1196 "rel" : "child"
1197 }
1198 ],
1199 "type" : "array"
1200 }
1201 },
1202 "POST" : {
1203 "description" : "Create new security group.",
1204 "method" : "POST",
1205 "name" : "create_security_group",
1206 "parameters" : {
1207 "additionalProperties" : 0,
1208 "properties" : {
1209 "comment" : {
1210 "optional" : 1,
013dc89f
DM
1211 "type" : "string",
1212 "typetext" : "<string>"
44660702
DM
1213 },
1214 "digest" : {
1215 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1216 "maxLength" : 40,
1217 "optional" : 1,
013dc89f
DM
1218 "type" : "string",
1219 "typetext" : "<string>"
44660702
DM
1220 },
1221 "group" : {
1222 "description" : "Security Group name.",
4bd7df8b 1223 "maxLength" : 18,
44660702
DM
1224 "minLength" : 2,
1225 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1226 "type" : "string"
1227 },
1228 "rename" : {
1229 "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 1230 "maxLength" : 18,
44660702
DM
1231 "minLength" : 2,
1232 "optional" : 1,
1233 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1234 "type" : "string"
1235 }
1236 }
1237 },
1238 "permissions" : {
1239 "check" : [
1240 "perm",
1241 "/",
1242 [
1243 "Sys.Modify"
1244 ]
1245 ]
1246 },
1247 "protected" : 1,
1248 "returns" : {
1249 "type" : "null"
1250 }
1251 }
1252 },
1253 "leaf" : 0,
1254 "path" : "/cluster/firewall/groups",
1255 "text" : "groups"
1256 },
1257 {
1258 "children" : [
1259 {
1260 "info" : {
7aacca6f 1261 "DELETE" : {
44660702
DM
1262 "description" : "Delete rule.",
1263 "method" : "DELETE",
1264 "name" : "delete_rule",
1265 "parameters" : {
1266 "additionalProperties" : 0,
1267 "properties" : {
1268 "digest" : {
1269 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1270 "maxLength" : 40,
1271 "optional" : 1,
013dc89f
DM
1272 "type" : "string",
1273 "typetext" : "<string>"
44660702
DM
1274 },
1275 "pos" : {
1276 "description" : "Update rule at position <pos>.",
1277 "minimum" : 0,
1278 "optional" : 1,
4bd7df8b 1279 "type" : "integer",
013dc89f 1280 "typetext" : "<integer> (0 - N)"
44660702
DM
1281 }
1282 }
1283 },
56122987
DM
1284 "permissions" : {
1285 "check" : [
1286 "perm",
1287 "/",
1288 [
7aacca6f 1289 "Sys.Modify"
56122987
DM
1290 ]
1291 ]
1292 },
44660702 1293 "protected" : 1,
56122987
DM
1294 "proxyto" : null,
1295 "returns" : {
7aacca6f 1296 "type" : "null"
44660702
DM
1297 }
1298 },
1299 "GET" : {
1300 "description" : "Get single rule data.",
1301 "method" : "GET",
1302 "name" : "get_rule",
56122987
DM
1303 "parameters" : {
1304 "additionalProperties" : 0,
1305 "properties" : {
1306 "pos" : {
7aacca6f 1307 "description" : "Update rule at position <pos>.",
44660702 1308 "minimum" : 0,
56122987 1309 "optional" : 1,
4bd7df8b 1310 "type" : "integer",
013dc89f 1311 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1312 }
1313 }
1314 },
7aacca6f
DM
1315 "permissions" : {
1316 "check" : [
1317 "perm",
1318 "/",
1319 [
1320 "Sys.Audit"
1321 ]
1322 ]
56122987 1323 },
44660702
DM
1324 "proxyto" : null,
1325 "returns" : {
7aacca6f 1326 "properties" : {
44660702
DM
1327 "pos" : {
1328 "type" : "integer"
7aacca6f 1329 }
44660702
DM
1330 },
1331 "type" : "object"
1332 }
56122987 1333 },
44660702
DM
1334 "PUT" : {
1335 "description" : "Modify rule data.",
1336 "method" : "PUT",
1337 "name" : "update_rule",
7aacca6f
DM
1338 "parameters" : {
1339 "additionalProperties" : 0,
1340 "properties" : {
44660702
DM
1341 "action" : {
1342 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1343 "maxLength" : 20,
1344 "minLength" : 2,
1345 "optional" : 1,
1346 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1347 "type" : "string"
7aacca6f 1348 },
44660702 1349 "comment" : {
e94f0d56 1350 "description" : "Descriptive comment.",
44660702 1351 "optional" : 1,
013dc89f
DM
1352 "type" : "string",
1353 "typetext" : "<string>"
7aacca6f 1354 },
44660702
DM
1355 "delete" : {
1356 "description" : "A list of settings you want to delete.",
1357 "format" : "pve-configid-list",
1358 "optional" : 1,
013dc89f
DM
1359 "type" : "string",
1360 "typetext" : "<string>"
44660702
DM
1361 },
1362 "dest" : {
1363 "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.",
1364 "format" : "pve-fw-addr-spec",
1365 "optional" : 1,
013dc89f
DM
1366 "type" : "string",
1367 "typetext" : "<string>"
44660702
DM
1368 },
1369 "digest" : {
1370 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1371 "maxLength" : 40,
1372 "optional" : 1,
013dc89f
DM
1373 "type" : "string",
1374 "typetext" : "<string>"
44660702
DM
1375 },
1376 "dport" : {
1377 "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.",
1378 "format" : "pve-fw-dport-spec",
1379 "optional" : 1,
013dc89f
DM
1380 "type" : "string",
1381 "typetext" : "<string>"
44660702
DM
1382 },
1383 "enable" : {
e94f0d56 1384 "description" : "Flag to enable/disable a rule.",
44660702
DM
1385 "minimum" : 0,
1386 "optional" : 1,
4bd7df8b 1387 "type" : "integer",
013dc89f 1388 "typetext" : "<integer> (0 - N)"
44660702
DM
1389 },
1390 "iface" : {
1391 "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.",
1392 "format" : "pve-iface",
1393 "maxLength" : 20,
7aacca6f 1394 "minLength" : 2,
44660702 1395 "optional" : 1,
013dc89f
DM
1396 "type" : "string",
1397 "typetext" : "<string>"
7aacca6f 1398 },
44660702 1399 "macro" : {
e94f0d56 1400 "description" : "Use predefined standard macro.",
44660702
DM
1401 "maxLength" : 128,
1402 "optional" : 1,
013dc89f
DM
1403 "type" : "string",
1404 "typetext" : "<string>"
44660702
DM
1405 },
1406 "moveto" : {
1407 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1408 "minimum" : 0,
1409 "optional" : 1,
4bd7df8b 1410 "type" : "integer",
013dc89f 1411 "typetext" : "<integer> (0 - N)"
44660702
DM
1412 },
1413 "pos" : {
1414 "description" : "Update rule at position <pos>.",
1415 "minimum" : 0,
1416 "optional" : 1,
4bd7df8b 1417 "type" : "integer",
013dc89f 1418 "typetext" : "<integer> (0 - N)"
44660702
DM
1419 },
1420 "proto" : {
1421 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1422 "format" : "pve-fw-protocol-spec",
1423 "optional" : 1,
013dc89f
DM
1424 "type" : "string",
1425 "typetext" : "<string>"
44660702
DM
1426 },
1427 "source" : {
1428 "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.",
1429 "format" : "pve-fw-addr-spec",
1430 "optional" : 1,
013dc89f
DM
1431 "type" : "string",
1432 "typetext" : "<string>"
44660702
DM
1433 },
1434 "sport" : {
1435 "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.",
1436 "format" : "pve-fw-sport-spec",
1437 "optional" : 1,
013dc89f
DM
1438 "type" : "string",
1439 "typetext" : "<string>"
44660702
DM
1440 },
1441 "type" : {
e94f0d56 1442 "description" : "Rule type.",
44660702
DM
1443 "enum" : [
1444 "in",
1445 "out",
1446 "group"
1447 ],
1448 "optional" : 1,
1449 "type" : "string"
7aacca6f 1450 }
56122987
DM
1451 }
1452 },
7aacca6f
DM
1453 "permissions" : {
1454 "check" : [
1455 "perm",
1456 "/",
1457 [
1458 "Sys.Modify"
1459 ]
1460 ]
1461 },
44660702
DM
1462 "protected" : 1,
1463 "proxyto" : null,
1464 "returns" : {
1465 "type" : "null"
1466 }
7aacca6f 1467 }
56122987 1468 },
44660702
DM
1469 "leaf" : 1,
1470 "path" : "/cluster/firewall/rules/{pos}",
1471 "text" : "{pos}"
7aacca6f
DM
1472 }
1473 ],
7aacca6f 1474 "info" : {
44660702
DM
1475 "GET" : {
1476 "description" : "List rules.",
1477 "method" : "GET",
1478 "name" : "get_rules",
7aacca6f 1479 "parameters" : {
44660702 1480 "additionalProperties" : 0
7aacca6f
DM
1481 },
1482 "permissions" : {
1483 "check" : [
1484 "perm",
1485 "/",
1486 [
44660702 1487 "Sys.Audit"
7aacca6f
DM
1488 ]
1489 ]
1490 },
44660702 1491 "proxyto" : null,
7aacca6f 1492 "returns" : {
7aacca6f
DM
1493 "items" : {
1494 "properties" : {
44660702
DM
1495 "pos" : {
1496 "type" : "integer"
7aacca6f
DM
1497 }
1498 },
1499 "type" : "object"
56122987 1500 },
7aacca6f
DM
1501 "links" : [
1502 {
44660702 1503 "href" : "{pos}",
7aacca6f
DM
1504 "rel" : "child"
1505 }
44660702
DM
1506 ],
1507 "type" : "array"
7aacca6f 1508 }
44660702 1509 },
7aacca6f 1510 "POST" : {
44660702 1511 "description" : "Create new rule.",
7aacca6f 1512 "method" : "POST",
44660702 1513 "name" : "create_rule",
7aacca6f
DM
1514 "parameters" : {
1515 "additionalProperties" : 0,
1516 "properties" : {
44660702
DM
1517 "action" : {
1518 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1519 "maxLength" : 20,
7aacca6f 1520 "minLength" : 2,
44660702
DM
1521 "optional" : 0,
1522 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1523 "type" : "string"
7aacca6f
DM
1524 },
1525 "comment" : {
e94f0d56 1526 "description" : "Descriptive comment.",
7aacca6f 1527 "optional" : 1,
013dc89f
DM
1528 "type" : "string",
1529 "typetext" : "<string>"
44660702
DM
1530 },
1531 "dest" : {
1532 "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.",
1533 "format" : "pve-fw-addr-spec",
1534 "optional" : 1,
013dc89f
DM
1535 "type" : "string",
1536 "typetext" : "<string>"
44660702
DM
1537 },
1538 "digest" : {
1539 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1540 "maxLength" : 40,
1541 "optional" : 1,
013dc89f
DM
1542 "type" : "string",
1543 "typetext" : "<string>"
44660702
DM
1544 },
1545 "dport" : {
1546 "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.",
1547 "format" : "pve-fw-dport-spec",
1548 "optional" : 1,
013dc89f
DM
1549 "type" : "string",
1550 "typetext" : "<string>"
44660702
DM
1551 },
1552 "enable" : {
e94f0d56 1553 "description" : "Flag to enable/disable a rule.",
44660702
DM
1554 "minimum" : 0,
1555 "optional" : 1,
4bd7df8b 1556 "type" : "integer",
013dc89f 1557 "typetext" : "<integer> (0 - N)"
44660702
DM
1558 },
1559 "iface" : {
1560 "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.",
1561 "format" : "pve-iface",
1562 "maxLength" : 20,
1563 "minLength" : 2,
1564 "optional" : 1,
013dc89f
DM
1565 "type" : "string",
1566 "typetext" : "<string>"
44660702
DM
1567 },
1568 "macro" : {
e94f0d56 1569 "description" : "Use predefined standard macro.",
44660702
DM
1570 "maxLength" : 128,
1571 "optional" : 1,
013dc89f
DM
1572 "type" : "string",
1573 "typetext" : "<string>"
44660702
DM
1574 },
1575 "pos" : {
1576 "description" : "Update rule at position <pos>.",
1577 "minimum" : 0,
1578 "optional" : 1,
4bd7df8b 1579 "type" : "integer",
013dc89f 1580 "typetext" : "<integer> (0 - N)"
44660702
DM
1581 },
1582 "proto" : {
1583 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1584 "format" : "pve-fw-protocol-spec",
1585 "optional" : 1,
013dc89f
DM
1586 "type" : "string",
1587 "typetext" : "<string>"
44660702
DM
1588 },
1589 "source" : {
1590 "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.",
1591 "format" : "pve-fw-addr-spec",
1592 "optional" : 1,
013dc89f
DM
1593 "type" : "string",
1594 "typetext" : "<string>"
44660702
DM
1595 },
1596 "sport" : {
1597 "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.",
1598 "format" : "pve-fw-sport-spec",
1599 "optional" : 1,
013dc89f
DM
1600 "type" : "string",
1601 "typetext" : "<string>"
44660702
DM
1602 },
1603 "type" : {
e94f0d56 1604 "description" : "Rule type.",
44660702
DM
1605 "enum" : [
1606 "in",
1607 "out",
1608 "group"
1609 ],
1610 "optional" : 0,
1611 "type" : "string"
7aacca6f
DM
1612 }
1613 }
1614 },
1615 "permissions" : {
1616 "check" : [
1617 "perm",
1618 "/",
1619 [
1620 "Sys.Modify"
1621 ]
1622 ]
1623 },
44660702
DM
1624 "protected" : 1,
1625 "proxyto" : null,
7aacca6f 1626 "returns" : {
44660702
DM
1627 "type" : "null"
1628 }
1629 }
1630 },
1631 "leaf" : 0,
1632 "path" : "/cluster/firewall/rules",
1633 "text" : "rules"
1634 },
1635 {
1636 "children" : [
1637 {
1638 "children" : [
1639 {
1640 "info" : {
1641 "DELETE" : {
1642 "description" : "Remove IP or Network from IPSet.",
1643 "method" : "DELETE",
1644 "name" : "remove_ip",
1645 "parameters" : {
1646 "additionalProperties" : 0,
1647 "properties" : {
1648 "cidr" : {
1649 "description" : "Network/IP specification in CIDR format.",
1650 "format" : "IPorCIDRorAlias",
013dc89f
DM
1651 "type" : "string",
1652 "typetext" : "<string>"
44660702
DM
1653 },
1654 "digest" : {
1655 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1656 "maxLength" : 40,
1657 "optional" : 1,
013dc89f
DM
1658 "type" : "string",
1659 "typetext" : "<string>"
44660702
DM
1660 },
1661 "name" : {
1662 "description" : "IP set name.",
1663 "maxLength" : 64,
1664 "minLength" : 2,
1665 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1666 "type" : "string"
1667 }
1668 }
1669 },
1670 "permissions" : {
1671 "check" : [
1672 "perm",
1673 "/",
1674 [
1675 "Sys.Modify"
1676 ]
1677 ]
1678 },
1679 "protected" : 1,
1680 "returns" : {
1681 "type" : "null"
1682 }
7aacca6f 1683 },
44660702
DM
1684 "GET" : {
1685 "description" : "Read IP or Network settings from IPSet.",
1686 "method" : "GET",
1687 "name" : "read_ip",
1688 "parameters" : {
1689 "additionalProperties" : 0,
1690 "properties" : {
1691 "cidr" : {
1692 "description" : "Network/IP specification in CIDR format.",
1693 "format" : "IPorCIDRorAlias",
013dc89f
DM
1694 "type" : "string",
1695 "typetext" : "<string>"
44660702
DM
1696 },
1697 "name" : {
1698 "description" : "IP set name.",
1699 "maxLength" : 64,
1700 "minLength" : 2,
1701 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1702 "type" : "string"
1703 }
1704 }
1705 },
1706 "permissions" : {
1707 "check" : [
1708 "perm",
1709 "/",
1710 [
1711 "Sys.Audit"
1712 ]
1713 ]
1714 },
1715 "protected" : 1,
1716 "returns" : {
1717 "type" : "object"
1718 }
7aacca6f 1719 },
44660702
DM
1720 "PUT" : {
1721 "description" : "Update IP or Network settings",
1722 "method" : "PUT",
1723 "name" : "update_ip",
1724 "parameters" : {
1725 "additionalProperties" : 0,
1726 "properties" : {
1727 "cidr" : {
1728 "description" : "Network/IP specification in CIDR format.",
1729 "format" : "IPorCIDRorAlias",
013dc89f
DM
1730 "type" : "string",
1731 "typetext" : "<string>"
44660702
DM
1732 },
1733 "comment" : {
1734 "optional" : 1,
013dc89f
DM
1735 "type" : "string",
1736 "typetext" : "<string>"
44660702
DM
1737 },
1738 "digest" : {
1739 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1740 "maxLength" : 40,
1741 "optional" : 1,
013dc89f
DM
1742 "type" : "string",
1743 "typetext" : "<string>"
44660702
DM
1744 },
1745 "name" : {
1746 "description" : "IP set name.",
1747 "maxLength" : 64,
1748 "minLength" : 2,
1749 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1750 "type" : "string"
1751 },
1752 "nomatch" : {
1753 "optional" : 1,
013dc89f
DM
1754 "type" : "boolean",
1755 "typetext" : "<boolean>"
44660702
DM
1756 }
1757 }
1758 },
1759 "permissions" : {
1760 "check" : [
1761 "perm",
1762 "/",
1763 [
1764 "Sys.Modify"
1765 ]
1766 ]
1767 },
1768 "protected" : 1,
1769 "returns" : {
1770 "type" : "null"
1771 }
7aacca6f
DM
1772 }
1773 },
44660702
DM
1774 "leaf" : 1,
1775 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1776 "text" : "{cidr}"
7aacca6f 1777 }
44660702 1778 ],
7aacca6f
DM
1779 "info" : {
1780 "DELETE" : {
44660702
DM
1781 "description" : "Delete IPSet",
1782 "method" : "DELETE",
1783 "name" : "delete_ipset",
56122987 1784 "parameters" : {
44660702 1785 "additionalProperties" : 0,
56122987
DM
1786 "properties" : {
1787 "name" : {
44660702 1788 "description" : "IP set name.",
56122987 1789 "maxLength" : 64,
44660702 1790 "minLength" : 2,
56122987 1791 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 1792 "type" : "string"
56122987 1793 }
44660702 1794 }
7aacca6f 1795 },
56122987
DM
1796 "permissions" : {
1797 "check" : [
1798 "perm",
1799 "/",
1800 [
1801 "Sys.Modify"
1802 ]
1803 ]
1804 },
7aacca6f
DM
1805 "protected" : 1,
1806 "returns" : {
1807 "type" : "null"
44660702 1808 }
7aacca6f 1809 },
44660702
DM
1810 "GET" : {
1811 "description" : "List IPSet content",
1812 "method" : "GET",
1813 "name" : "get_ipset",
56122987
DM
1814 "parameters" : {
1815 "additionalProperties" : 0,
1816 "properties" : {
7aacca6f 1817 "name" : {
44660702 1818 "description" : "IP set name.",
7aacca6f 1819 "maxLength" : 64,
7aacca6f 1820 "minLength" : 2,
44660702 1821 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 1822 "type" : "string"
56122987 1823 }
7aacca6f 1824 }
56122987 1825 },
56122987
DM
1826 "permissions" : {
1827 "check" : [
1828 "perm",
1829 "/",
1830 [
44660702 1831 "Sys.Audit"
56122987
DM
1832 ]
1833 ]
44660702
DM
1834 },
1835 "returns" : {
1836 "items" : {
1837 "properties" : {
1838 "cidr" : {
1839 "type" : "string"
1840 },
1841 "comment" : {
1842 "optional" : 1,
1843 "type" : "string"
1844 },
1845 "digest" : {
1846 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1847 "maxLength" : 40,
1848 "optional" : 0,
1849 "type" : "string"
1850 },
1851 "nomatch" : {
1852 "optional" : 1,
1853 "type" : "boolean"
1854 }
1855 },
1856 "type" : "object"
1857 },
1858 "links" : [
1859 {
1860 "href" : "{cidr}",
1861 "rel" : "child"
1862 }
1863 ],
1864 "type" : "array"
7aacca6f
DM
1865 }
1866 },
44660702
DM
1867 "POST" : {
1868 "description" : "Add IP or Network to IPSet.",
1869 "method" : "POST",
1870 "name" : "create_ip",
56122987
DM
1871 "parameters" : {
1872 "additionalProperties" : 0,
1873 "properties" : {
44660702
DM
1874 "cidr" : {
1875 "description" : "Network/IP specification in CIDR format.",
1876 "format" : "IPorCIDRorAlias",
013dc89f
DM
1877 "type" : "string",
1878 "typetext" : "<string>"
44660702
DM
1879 },
1880 "comment" : {
1881 "optional" : 1,
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 "nomatch" : {
1893 "optional" : 1,
013dc89f
DM
1894 "type" : "boolean",
1895 "typetext" : "<boolean>"
56122987
DM
1896 }
1897 }
1898 },
56122987
DM
1899 "permissions" : {
1900 "check" : [
1901 "perm",
1902 "/",
1903 [
44660702 1904 "Sys.Modify"
56122987
DM
1905 ]
1906 ]
1907 },
44660702 1908 "protected" : 1,
56122987 1909 "returns" : {
44660702
DM
1910 "type" : "null"
1911 }
56122987
DM
1912 }
1913 },
44660702
DM
1914 "leaf" : 0,
1915 "path" : "/cluster/firewall/ipset/{name}",
1916 "text" : "{name}"
56122987
DM
1917 }
1918 ],
56122987 1919 "info" : {
44660702
DM
1920 "GET" : {
1921 "description" : "List IPSets",
1922 "method" : "GET",
1923 "name" : "ipset_index",
56122987 1924 "parameters" : {
7aacca6f 1925 "additionalProperties" : 0
56122987 1926 },
56122987
DM
1927 "permissions" : {
1928 "check" : [
1929 "perm",
1930 "/",
1931 [
7aacca6f 1932 "Sys.Audit"
56122987
DM
1933 ]
1934 ]
1935 },
56122987
DM
1936 "returns" : {
1937 "items" : {
1938 "properties" : {
44660702
DM
1939 "comment" : {
1940 "optional" : 1,
1941 "type" : "string"
56122987 1942 },
44660702
DM
1943 "digest" : {
1944 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1945 "maxLength" : 40,
1946 "optional" : 0,
1947 "type" : "string"
1948 },
1949 "name" : {
1950 "description" : "IP set name.",
1951 "maxLength" : 64,
1952 "minLength" : 2,
1953 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1954 "type" : "string"
56122987
DM
1955 }
1956 },
1957 "type" : "object"
44660702
DM
1958 },
1959 "links" : [
1960 {
1961 "href" : "{name}",
1962 "rel" : "child"
1963 }
1964 ],
1965 "type" : "array"
56122987 1966 }
44660702
DM
1967 },
1968 "POST" : {
1969 "description" : "Create new IPSet",
1970 "method" : "POST",
1971 "name" : "create_ipset",
7aacca6f
DM
1972 "parameters" : {
1973 "additionalProperties" : 0,
1974 "properties" : {
44660702
DM
1975 "comment" : {
1976 "optional" : 1,
013dc89f
DM
1977 "type" : "string",
1978 "typetext" : "<string>"
44660702
DM
1979 },
1980 "digest" : {
1981 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1982 "maxLength" : 40,
1983 "optional" : 1,
013dc89f
DM
1984 "type" : "string",
1985 "typetext" : "<string>"
44660702
DM
1986 },
1987 "name" : {
1988 "description" : "IP set name.",
1989 "maxLength" : 64,
1990 "minLength" : 2,
1991 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1992 "type" : "string"
1993 },
1994 "rename" : {
1995 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
1996 "maxLength" : 64,
1997 "minLength" : 2,
1998 "optional" : 1,
1999 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2000 "type" : "string"
7aacca6f
DM
2001 }
2002 }
2003 },
56122987
DM
2004 "permissions" : {
2005 "check" : [
2006 "perm",
2007 "/",
2008 [
44660702 2009 "Sys.Modify"
56122987
DM
2010 ]
2011 ]
2012 },
44660702 2013 "protected" : 1,
56122987 2014 "returns" : {
44660702
DM
2015 "type" : "null"
2016 }
56122987 2017 }
7aacca6f 2018 },
44660702
DM
2019 "leaf" : 0,
2020 "path" : "/cluster/firewall/ipset",
2021 "text" : "ipset"
2022 },
56122987 2023 {
44660702
DM
2024 "children" : [
2025 {
2026 "info" : {
2027 "DELETE" : {
2028 "description" : "Remove IP or Network alias.",
2029 "method" : "DELETE",
2030 "name" : "remove_alias",
2031 "parameters" : {
2032 "additionalProperties" : 0,
2033 "properties" : {
2034 "digest" : {
2035 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2036 "maxLength" : 40,
2037 "optional" : 1,
013dc89f
DM
2038 "type" : "string",
2039 "typetext" : "<string>"
44660702
DM
2040 },
2041 "name" : {
2042 "description" : "Alias name.",
2043 "maxLength" : 64,
2044 "minLength" : 2,
2045 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2046 "type" : "string"
2047 }
2048 }
2049 },
2050 "permissions" : {
2051 "check" : [
2052 "perm",
2053 "/",
2054 [
2055 "Sys.Modify"
2056 ]
2057 ]
2058 },
2059 "protected" : 1,
2060 "returns" : {
2061 "type" : "null"
2062 }
2063 },
2064 "GET" : {
2065 "description" : "Read alias.",
2066 "method" : "GET",
2067 "name" : "read_alias",
2068 "parameters" : {
2069 "additionalProperties" : 0,
2070 "properties" : {
2071 "name" : {
2072 "description" : "Alias name.",
2073 "maxLength" : 64,
2074 "minLength" : 2,
2075 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2076 "type" : "string"
2077 }
2078 }
2079 },
2080 "permissions" : {
2081 "check" : [
2082 "perm",
2083 "/",
2084 [
2085 "Sys.Audit"
2086 ]
2087 ]
2088 },
2089 "returns" : {
2090 "type" : "object"
2091 }
2092 },
2093 "PUT" : {
2094 "description" : "Update IP or Network alias.",
2095 "method" : "PUT",
2096 "name" : "update_alias",
2097 "parameters" : {
2098 "additionalProperties" : 0,
2099 "properties" : {
2100 "cidr" : {
2101 "description" : "Network/IP specification in CIDR format.",
2102 "format" : "IPorCIDR",
013dc89f
DM
2103 "type" : "string",
2104 "typetext" : "<string>"
44660702
DM
2105 },
2106 "comment" : {
2107 "optional" : 1,
013dc89f
DM
2108 "type" : "string",
2109 "typetext" : "<string>"
44660702
DM
2110 },
2111 "digest" : {
2112 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2113 "maxLength" : 40,
2114 "optional" : 1,
013dc89f
DM
2115 "type" : "string",
2116 "typetext" : "<string>"
44660702
DM
2117 },
2118 "name" : {
2119 "description" : "Alias name.",
2120 "maxLength" : 64,
2121 "minLength" : 2,
2122 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2123 "type" : "string"
2124 },
2125 "rename" : {
2126 "description" : "Rename an existing alias.",
2127 "maxLength" : 64,
2128 "minLength" : 2,
2129 "optional" : 1,
2130 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2131 "type" : "string"
2132 }
2133 }
2134 },
2135 "permissions" : {
2136 "check" : [
2137 "perm",
2138 "/",
2139 [
2140 "Sys.Modify"
2141 ]
2142 ]
2143 },
2144 "protected" : 1,
2145 "returns" : {
2146 "type" : "null"
2147 }
2148 }
2149 },
2150 "leaf" : 1,
2151 "path" : "/cluster/firewall/aliases/{name}",
2152 "text" : "{name}"
2153 }
2154 ],
2155 "info" : {
2156 "GET" : {
2157 "description" : "List aliases",
2158 "method" : "GET",
2159 "name" : "get_aliases",
2160 "parameters" : {
2161 "additionalProperties" : 0
2162 },
2163 "permissions" : {
2164 "check" : [
2165 "perm",
2166 "/",
2167 [
2168 "Sys.Audit"
2169 ]
2170 ]
2171 },
2172 "returns" : {
2173 "items" : {
2174 "properties" : {
2175 "cidr" : {
2176 "type" : "string"
2177 },
2178 "comment" : {
2179 "optional" : 1,
2180 "type" : "string"
2181 },
2182 "digest" : {
2183 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2184 "maxLength" : 40,
2185 "optional" : 0,
2186 "type" : "string"
2187 },
2188 "name" : {
2189 "type" : "string"
2190 }
2191 },
2192 "type" : "object"
2193 },
2194 "links" : [
2195 {
2196 "href" : "{name}",
2197 "rel" : "child"
2198 }
2199 ],
2200 "type" : "array"
2201 }
2202 },
2203 "POST" : {
2204 "description" : "Create IP or Network Alias.",
2205 "method" : "POST",
2206 "name" : "create_alias",
56122987
DM
2207 "parameters" : {
2208 "additionalProperties" : 0,
2209 "properties" : {
44660702
DM
2210 "cidr" : {
2211 "description" : "Network/IP specification in CIDR format.",
2212 "format" : "IPorCIDR",
013dc89f
DM
2213 "type" : "string",
2214 "typetext" : "<string>"
44660702
DM
2215 },
2216 "comment" : {
2217 "optional" : 1,
013dc89f
DM
2218 "type" : "string",
2219 "typetext" : "<string>"
44660702
DM
2220 },
2221 "name" : {
2222 "description" : "Alias name.",
2223 "maxLength" : 64,
2224 "minLength" : 2,
2225 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2226 "type" : "string"
56122987
DM
2227 }
2228 }
2229 },
56122987
DM
2230 "permissions" : {
2231 "check" : [
2232 "perm",
2233 "/",
2234 [
2235 "Sys.Modify"
2236 ]
2237 ]
2238 },
44660702 2239 "protected" : 1,
56122987
DM
2240 "returns" : {
2241 "type" : "null"
2242 }
44660702
DM
2243 }
2244 },
2245 "leaf" : 0,
2246 "path" : "/cluster/firewall/aliases",
2247 "text" : "aliases"
2248 },
2249 {
2250 "info" : {
2251 "GET" : {
2252 "description" : "Get Firewall options.",
2253 "method" : "GET",
2254 "name" : "get_options",
2255 "parameters" : {
2256 "additionalProperties" : 0
7aacca6f 2257 },
56122987
DM
2258 "permissions" : {
2259 "check" : [
2260 "perm",
2261 "/",
2262 [
44660702 2263 "Sys.Audit"
56122987
DM
2264 ]
2265 ]
2266 },
44660702 2267 "returns" : {
56122987 2268 "properties" : {
5da3d723
TL
2269 "ebtables" : {
2270 "default" : 1,
2271 "description" : "Enable ebtables rules cluster wide.",
2272 "optional" : 1,
2273 "type" : "boolean"
2274 },
44660702
DM
2275 "enable" : {
2276 "description" : "Enable or disable the firewall cluster wide.",
2277 "minimum" : 0,
56122987 2278 "optional" : 1,
7aacca6f 2279 "type" : "integer"
56122987 2280 },
44660702
DM
2281 "policy_in" : {
2282 "description" : "Input policy.",
2283 "enum" : [
2284 "ACCEPT",
2285 "REJECT",
2286 "DROP"
2287 ],
56122987 2288 "optional" : 1,
44660702 2289 "type" : "string"
7aacca6f 2290 },
44660702
DM
2291 "policy_out" : {
2292 "description" : "Output policy.",
2293 "enum" : [
2294 "ACCEPT",
2295 "REJECT",
2296 "DROP"
2297 ],
7aacca6f 2298 "optional" : 1,
44660702
DM
2299 "type" : "string"
2300 }
2301 },
2302 "type" : "object"
2303 }
2304 },
2305 "PUT" : {
2306 "description" : "Set Firewall options.",
2307 "method" : "PUT",
2308 "name" : "set_options",
2309 "parameters" : {
2310 "additionalProperties" : 0,
2311 "properties" : {
2312 "delete" : {
2313 "description" : "A list of settings you want to delete.",
2314 "format" : "pve-configid-list",
56122987 2315 "optional" : 1,
013dc89f
DM
2316 "type" : "string",
2317 "typetext" : "<string>"
56122987 2318 },
44660702
DM
2319 "digest" : {
2320 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2321 "maxLength" : 40,
56122987 2322 "optional" : 1,
013dc89f
DM
2323 "type" : "string",
2324 "typetext" : "<string>"
56122987 2325 },
5da3d723
TL
2326 "ebtables" : {
2327 "default" : 1,
2328 "description" : "Enable ebtables rules cluster wide.",
2329 "optional" : 1,
2330 "type" : "boolean",
2331 "typetext" : "<boolean>"
2332 },
44660702
DM
2333 "enable" : {
2334 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2335 "minimum" : 0,
56122987 2336 "optional" : 1,
4bd7df8b 2337 "type" : "integer",
013dc89f 2338 "typetext" : "<integer> (0 - N)"
56122987 2339 },
44660702
DM
2340 "policy_in" : {
2341 "description" : "Input policy.",
56122987 2342 "enum" : [
44660702
DM
2343 "ACCEPT",
2344 "REJECT",
2345 "DROP"
56122987 2346 ],
56122987 2347 "optional" : 1,
44660702 2348 "type" : "string"
56122987 2349 },
44660702
DM
2350 "policy_out" : {
2351 "description" : "Output policy.",
56122987 2352 "enum" : [
44660702
DM
2353 "ACCEPT",
2354 "REJECT",
2355 "DROP"
56122987 2356 ],
7aacca6f 2357 "optional" : 1,
44660702 2358 "type" : "string"
56122987 2359 }
44660702
DM
2360 }
2361 },
2362 "permissions" : {
2363 "check" : [
2364 "perm",
2365 "/",
2366 [
2367 "Sys.Modify"
2368 ]
2369 ]
7aacca6f
DM
2370 },
2371 "protected" : 1,
44660702
DM
2372 "returns" : {
2373 "type" : "null"
2374 }
2375 }
2376 },
2377 "leaf" : 1,
2378 "path" : "/cluster/firewall/options",
2379 "text" : "options"
2380 },
2381 {
2382 "info" : {
7aacca6f 2383 "GET" : {
44660702 2384 "description" : "List available macros",
7aacca6f 2385 "method" : "GET",
44660702
DM
2386 "name" : "get_macros",
2387 "parameters" : {
2388 "additionalProperties" : 0
7aacca6f 2389 },
44660702
DM
2390 "permissions" : {
2391 "user" : "all"
2392 },
2393 "returns" : {
2394 "items" : {
2395 "properties" : {
2396 "descr" : {
2397 "description" : "More verbose description (if available).",
2398 "type" : "string"
2399 },
2400 "macro" : {
2401 "description" : "Macro name.",
2402 "type" : "string"
2403 }
2404 },
2405 "type" : "object"
2406 },
2407 "type" : "array"
2408 }
2409 }
2410 },
2411 "leaf" : 1,
2412 "path" : "/cluster/firewall/macros",
2413 "text" : "macros"
2414 },
2415 {
2416 "info" : {
2417 "GET" : {
2418 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2419 "method" : "GET",
2420 "name" : "refs",
7aacca6f 2421 "parameters" : {
44660702 2422 "additionalProperties" : 0,
7aacca6f 2423 "properties" : {
44660702
DM
2424 "type" : {
2425 "description" : "Only list references of specified type.",
2426 "enum" : [
2427 "alias",
2428 "ipset"
2429 ],
2430 "optional" : 1,
2431 "type" : "string"
7aacca6f 2432 }
44660702 2433 }
7aacca6f
DM
2434 },
2435 "permissions" : {
2436 "check" : [
2437 "perm",
2438 "/",
2439 [
2440 "Sys.Audit"
2441 ]
2442 ]
2443 },
44660702
DM
2444 "returns" : {
2445 "items" : {
2446 "properties" : {
2447 "comment" : {
2448 "optional" : 1,
2449 "type" : "string"
2450 },
2451 "name" : {
2452 "type" : "string"
2453 },
2454 "ref" : {
2455 "type" : "string"
2456 },
2457 "type" : {
2458 "enum" : [
2459 "alias",
2460 "ipset"
2461 ],
2462 "type" : "string"
2463 }
2464 },
2465 "type" : "object"
2466 },
2467 "type" : "array"
2468 }
56122987
DM
2469 }
2470 },
7aacca6f 2471 "leaf" : 1,
44660702
DM
2472 "path" : "/cluster/firewall/refs",
2473 "text" : "refs"
56122987
DM
2474 }
2475 ],
56122987 2476 "info" : {
44660702
DM
2477 "GET" : {
2478 "description" : "Directory index.",
2479 "method" : "GET",
2480 "name" : "index",
56122987 2481 "parameters" : {
56122987
DM
2482 "additionalProperties" : 0
2483 },
44660702
DM
2484 "permissions" : {
2485 "user" : "all"
2486 },
56122987 2487 "returns" : {
44660702
DM
2488 "items" : {
2489 "properties" : {},
2490 "type" : "object"
2491 },
7aacca6f
DM
2492 "links" : [
2493 {
44660702
DM
2494 "href" : "{name}",
2495 "rel" : "child"
7aacca6f
DM
2496 }
2497 ],
7aacca6f 2498 "type" : "array"
7aacca6f 2499 }
56122987
DM
2500 }
2501 },
44660702
DM
2502 "leaf" : 0,
2503 "path" : "/cluster/firewall",
2504 "text" : "firewall"
7aacca6f
DM
2505 },
2506 {
56122987
DM
2507 "children" : [
2508 {
56122987 2509 "info" : {
44660702
DM
2510 "DELETE" : {
2511 "description" : "Delete vzdump backup job definition.",
2512 "method" : "DELETE",
2513 "name" : "delete_job",
2514 "parameters" : {
2515 "additionalProperties" : 0,
2516 "properties" : {
2517 "id" : {
2518 "description" : "The job ID.",
2519 "maxLength" : 50,
013dc89f
DM
2520 "type" : "string",
2521 "typetext" : "<string>"
44660702
DM
2522 }
2523 }
2524 },
2525 "permissions" : {
2526 "check" : [
2527 "perm",
2528 "/",
2529 [
2530 "Sys.Modify"
2531 ]
2532 ]
2533 },
2534 "protected" : 1,
56122987
DM
2535 "returns" : {
2536 "type" : "null"
44660702
DM
2537 }
2538 },
2539 "GET" : {
2540 "description" : "Read vzdump backup job definition.",
2541 "method" : "GET",
2542 "name" : "read_job",
2543 "parameters" : {
2544 "additionalProperties" : 0,
2545 "properties" : {
2546 "id" : {
2547 "description" : "The job ID.",
2548 "maxLength" : 50,
013dc89f
DM
2549 "type" : "string",
2550 "typetext" : "<string>"
44660702
DM
2551 }
2552 }
56122987 2553 },
7aacca6f
DM
2554 "permissions" : {
2555 "check" : [
2556 "perm",
2557 "/",
2558 [
44660702 2559 "Sys.Audit"
7aacca6f
DM
2560 ]
2561 ]
2562 },
44660702
DM
2563 "returns" : {
2564 "type" : "object"
2565 }
2566 },
2567 "PUT" : {
2568 "description" : "Update vzdump backup job definition.",
2569 "method" : "PUT",
2570 "name" : "update_job",
56122987 2571 "parameters" : {
44660702 2572 "additionalProperties" : 0,
56122987 2573 "properties" : {
44660702
DM
2574 "all" : {
2575 "default" : 0,
2576 "description" : "Backup all known guest systems on this host.",
7aacca6f 2577 "optional" : 1,
013dc89f
DM
2578 "type" : "boolean",
2579 "typetext" : "<boolean>"
7aacca6f 2580 },
44660702
DM
2581 "bwlimit" : {
2582 "default" : 0,
2583 "description" : "Limit I/O bandwidth (KBytes per second).",
2584 "minimum" : 0,
2585 "optional" : 1,
4bd7df8b 2586 "type" : "integer",
013dc89f 2587 "typetext" : "<integer> (0 - N)"
44660702
DM
2588 },
2589 "compress" : {
2590 "default" : "0",
2591 "description" : "Compress dump file.",
7aacca6f 2592 "enum" : [
44660702
DM
2593 "0",
2594 "1",
2595 "gzip",
2596 "lzo"
7aacca6f 2597 ],
44660702
DM
2598 "optional" : 1,
2599 "type" : "string"
7aacca6f 2600 },
44660702
DM
2601 "delete" : {
2602 "description" : "A list of settings you want to delete.",
2603 "format" : "pve-configid-list",
7aacca6f 2604 "optional" : 1,
013dc89f
DM
2605 "type" : "string",
2606 "typetext" : "<string>"
56122987 2607 },
44660702
DM
2608 "dow" : {
2609 "description" : "Day of week selection.",
2610 "format" : "pve-day-of-week-list",
7aacca6f 2611 "optional" : 1,
013dc89f
DM
2612 "type" : "string",
2613 "typetext" : "<string>"
56122987 2614 },
44660702
DM
2615 "dumpdir" : {
2616 "description" : "Store resulting files to specified directory.",
56122987 2617 "optional" : 1,
013dc89f
DM
2618 "type" : "string",
2619 "typetext" : "<string>"
56122987 2620 },
44660702
DM
2621 "enabled" : {
2622 "default" : "1",
2623 "description" : "Enable or disable the job.",
2624 "optional" : 1,
013dc89f
DM
2625 "type" : "boolean",
2626 "typetext" : "<boolean>"
44660702
DM
2627 },
2628 "exclude" : {
2629 "description" : "Exclude specified guest systems (assumes --all)",
2630 "format" : "pve-vmid-list",
2631 "optional" : 1,
013dc89f
DM
2632 "type" : "string",
2633 "typetext" : "<string>"
44660702
DM
2634 },
2635 "exclude-path" : {
2636 "description" : "Exclude certain files/directories (shell globs).",
2637 "format" : "string-alist",
2638 "optional" : 1,
013dc89f
DM
2639 "type" : "string",
2640 "typetext" : "<string>"
44660702
DM
2641 },
2642 "id" : {
2643 "description" : "The job ID.",
2644 "maxLength" : 50,
013dc89f
DM
2645 "type" : "string",
2646 "typetext" : "<string>"
44660702
DM
2647 },
2648 "ionice" : {
2649 "default" : 7,
2650 "description" : "Set CFQ ionice priority.",
2651 "maximum" : 8,
2652 "minimum" : 0,
2653 "optional" : 1,
4bd7df8b 2654 "type" : "integer",
013dc89f 2655 "typetext" : "<integer> (0 - 8)"
44660702
DM
2656 },
2657 "lockwait" : {
2658 "default" : 180,
2659 "description" : "Maximal time to wait for the global lock (minutes).",
2660 "minimum" : 0,
2661 "optional" : 1,
4bd7df8b 2662 "type" : "integer",
013dc89f 2663 "typetext" : "<integer> (0 - N)"
44660702
DM
2664 },
2665 "mailnotification" : {
2666 "default" : "always",
2667 "description" : "Specify when to send an email",
56122987 2668 "enum" : [
44660702
DM
2669 "always",
2670 "failure"
56122987 2671 ],
44660702
DM
2672 "optional" : 1,
2673 "type" : "string"
2674 },
2675 "mailto" : {
2676 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2677 "format" : "string-list",
2678 "optional" : 1,
013dc89f
DM
2679 "type" : "string",
2680 "typetext" : "<string>"
44660702
DM
2681 },
2682 "maxfiles" : {
2683 "default" : 1,
2684 "description" : "Maximal number of backup files per guest system.",
2685 "minimum" : 1,
2686 "optional" : 1,
4bd7df8b 2687 "type" : "integer",
013dc89f 2688 "typetext" : "<integer> (1 - N)"
44660702
DM
2689 },
2690 "mode" : {
2691 "default" : "snapshot",
2692 "description" : "Backup mode.",
2693 "enum" : [
2694 "snapshot",
2695 "suspend",
2696 "stop"
2697 ],
2698 "optional" : 1,
2699 "type" : "string"
2700 },
2701 "node" : {
2702 "description" : "Only run if executed on this node.",
2703 "format" : "pve-node",
2704 "optional" : 1,
013dc89f
DM
2705 "type" : "string",
2706 "typetext" : "<string>"
44660702
DM
2707 },
2708 "pigz" : {
2709 "default" : 0,
2710 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2711 "optional" : 1,
013dc89f
DM
2712 "type" : "integer",
2713 "typetext" : "<integer>"
44660702
DM
2714 },
2715 "quiet" : {
2716 "default" : 0,
2717 "description" : "Be quiet.",
2718 "optional" : 1,
013dc89f
DM
2719 "type" : "boolean",
2720 "typetext" : "<boolean>"
44660702
DM
2721 },
2722 "remove" : {
2723 "default" : 1,
2724 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2725 "optional" : 1,
013dc89f
DM
2726 "type" : "boolean",
2727 "typetext" : "<boolean>"
44660702
DM
2728 },
2729 "script" : {
2730 "description" : "Use specified hook script.",
2731 "optional" : 1,
013dc89f
DM
2732 "type" : "string",
2733 "typetext" : "<string>"
44660702
DM
2734 },
2735 "size" : {
2736 "default" : 1024,
2737 "description" : "Unused, will be removed in a future release.",
2738 "minimum" : 500,
2739 "optional" : 1,
4bd7df8b 2740 "type" : "integer",
013dc89f 2741 "typetext" : "<integer> (500 - N)"
44660702
DM
2742 },
2743 "starttime" : {
2744 "description" : "Job Start time.",
2745 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 2746 "type" : "string",
44660702 2747 "typetext" : "HH:MM"
7aacca6f 2748 },
44660702
DM
2749 "stdexcludes" : {
2750 "default" : 1,
2751 "description" : "Exclude temporary files and logs.",
2752 "optional" : 1,
013dc89f
DM
2753 "type" : "boolean",
2754 "typetext" : "<boolean>"
44660702
DM
2755 },
2756 "stop" : {
2757 "default" : 0,
2758 "description" : "Stop runnig backup jobs on this host.",
2759 "optional" : 1,
013dc89f
DM
2760 "type" : "boolean",
2761 "typetext" : "<boolean>"
44660702
DM
2762 },
2763 "stopwait" : {
2764 "default" : 10,
2765 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2766 "minimum" : 0,
2767 "optional" : 1,
4bd7df8b 2768 "type" : "integer",
013dc89f 2769 "typetext" : "<integer> (0 - N)"
44660702
DM
2770 },
2771 "storage" : {
2772 "description" : "Store resulting file to this storage.",
2773 "format" : "pve-storage-id",
2774 "optional" : 1,
013dc89f
DM
2775 "type" : "string",
2776 "typetext" : "<string>"
56122987 2777 },
44660702
DM
2778 "tmpdir" : {
2779 "description" : "Store temporary files to specified directory.",
2780 "optional" : 1,
013dc89f
DM
2781 "type" : "string",
2782 "typetext" : "<string>"
44660702
DM
2783 },
2784 "vmid" : {
2785 "description" : "The ID of the guest system you want to backup.",
2786 "format" : "pve-vmid-list",
2787 "optional" : 1,
013dc89f
DM
2788 "type" : "string",
2789 "typetext" : "<string>"
56122987 2790 }
44660702 2791 }
56122987
DM
2792 },
2793 "permissions" : {
2794 "check" : [
2795 "perm",
2796 "/",
2797 [
44660702 2798 "Sys.Modify"
56122987
DM
2799 ]
2800 ]
2801 },
44660702
DM
2802 "protected" : 1,
2803 "returns" : {
2804 "type" : "null"
7aacca6f 2805 }
56122987
DM
2806 }
2807 },
44660702
DM
2808 "leaf" : 1,
2809 "path" : "/cluster/backup/{id}",
2810 "text" : "{id}"
2811 }
2812 ],
2813 "info" : {
2814 "GET" : {
2815 "description" : "List vzdump backup schedule.",
2816 "method" : "GET",
2817 "name" : "index",
2818 "parameters" : {
2819 "additionalProperties" : 0
2820 },
2821 "permissions" : {
2822 "check" : [
2823 "perm",
2824 "/",
2825 [
2826 "Sys.Audit"
2827 ]
2828 ]
2829 },
2830 "returns" : {
2831 "items" : {
2832 "properties" : {
2833 "id" : {
2834 "type" : "string"
2835 }
2836 },
2837 "type" : "object"
2838 },
2839 "links" : [
2840 {
2841 "href" : "{id}",
2842 "rel" : "child"
2843 }
2844 ],
2845 "type" : "array"
2846 }
2847 },
2848 "POST" : {
2849 "description" : "Create new vzdump backup job.",
2850 "method" : "POST",
2851 "name" : "create_job",
2852 "parameters" : {
2853 "additionalProperties" : 0,
2854 "properties" : {
2855 "all" : {
2856 "default" : 0,
2857 "description" : "Backup all known guest systems on this host.",
2858 "optional" : 1,
013dc89f
DM
2859 "type" : "boolean",
2860 "typetext" : "<boolean>"
44660702
DM
2861 },
2862 "bwlimit" : {
2863 "default" : 0,
2864 "description" : "Limit I/O bandwidth (KBytes per second).",
2865 "minimum" : 0,
2866 "optional" : 1,
4bd7df8b 2867 "type" : "integer",
013dc89f 2868 "typetext" : "<integer> (0 - N)"
44660702
DM
2869 },
2870 "compress" : {
2871 "default" : "0",
2872 "description" : "Compress dump file.",
2873 "enum" : [
2874 "0",
2875 "1",
2876 "gzip",
2877 "lzo"
2878 ],
2879 "optional" : 1,
2880 "type" : "string"
2881 },
2882 "dow" : {
2883 "default" : "mon,tue,wed,thu,fri,sat,sun",
2884 "description" : "Day of week selection.",
2885 "format" : "pve-day-of-week-list",
2886 "optional" : 1,
013dc89f
DM
2887 "type" : "string",
2888 "typetext" : "<string>"
44660702
DM
2889 },
2890 "dumpdir" : {
2891 "description" : "Store resulting files to specified directory.",
2892 "optional" : 1,
013dc89f
DM
2893 "type" : "string",
2894 "typetext" : "<string>"
44660702
DM
2895 },
2896 "enabled" : {
2897 "default" : "1",
2898 "description" : "Enable or disable the job.",
2899 "optional" : 1,
013dc89f
DM
2900 "type" : "boolean",
2901 "typetext" : "<boolean>"
44660702
DM
2902 },
2903 "exclude" : {
2904 "description" : "Exclude specified guest systems (assumes --all)",
2905 "format" : "pve-vmid-list",
2906 "optional" : 1,
013dc89f
DM
2907 "type" : "string",
2908 "typetext" : "<string>"
44660702
DM
2909 },
2910 "exclude-path" : {
2911 "description" : "Exclude certain files/directories (shell globs).",
2912 "format" : "string-alist",
2913 "optional" : 1,
013dc89f
DM
2914 "type" : "string",
2915 "typetext" : "<string>"
44660702
DM
2916 },
2917 "ionice" : {
2918 "default" : 7,
2919 "description" : "Set CFQ ionice priority.",
2920 "maximum" : 8,
2921 "minimum" : 0,
2922 "optional" : 1,
4bd7df8b 2923 "type" : "integer",
013dc89f 2924 "typetext" : "<integer> (0 - 8)"
44660702
DM
2925 },
2926 "lockwait" : {
2927 "default" : 180,
2928 "description" : "Maximal time to wait for the global lock (minutes).",
2929 "minimum" : 0,
2930 "optional" : 1,
4bd7df8b 2931 "type" : "integer",
013dc89f 2932 "typetext" : "<integer> (0 - N)"
44660702
DM
2933 },
2934 "mailnotification" : {
2935 "default" : "always",
2936 "description" : "Specify when to send an email",
2937 "enum" : [
2938 "always",
2939 "failure"
2940 ],
2941 "optional" : 1,
2942 "type" : "string"
2943 },
2944 "mailto" : {
2945 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2946 "format" : "string-list",
2947 "optional" : 1,
013dc89f
DM
2948 "type" : "string",
2949 "typetext" : "<string>"
44660702
DM
2950 },
2951 "maxfiles" : {
2952 "default" : 1,
2953 "description" : "Maximal number of backup files per guest system.",
2954 "minimum" : 1,
2955 "optional" : 1,
4bd7df8b 2956 "type" : "integer",
013dc89f 2957 "typetext" : "<integer> (1 - N)"
44660702
DM
2958 },
2959 "mode" : {
2960 "default" : "snapshot",
2961 "description" : "Backup mode.",
2962 "enum" : [
2963 "snapshot",
2964 "suspend",
2965 "stop"
2966 ],
2967 "optional" : 1,
2968 "type" : "string"
2969 },
2970 "node" : {
2971 "description" : "Only run if executed on this node.",
2972 "format" : "pve-node",
2973 "optional" : 1,
013dc89f
DM
2974 "type" : "string",
2975 "typetext" : "<string>"
44660702
DM
2976 },
2977 "pigz" : {
2978 "default" : 0,
2979 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2980 "optional" : 1,
013dc89f
DM
2981 "type" : "integer",
2982 "typetext" : "<integer>"
44660702
DM
2983 },
2984 "quiet" : {
2985 "default" : 0,
2986 "description" : "Be quiet.",
2987 "optional" : 1,
013dc89f
DM
2988 "type" : "boolean",
2989 "typetext" : "<boolean>"
44660702
DM
2990 },
2991 "remove" : {
2992 "default" : 1,
2993 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2994 "optional" : 1,
013dc89f
DM
2995 "type" : "boolean",
2996 "typetext" : "<boolean>"
44660702
DM
2997 },
2998 "script" : {
2999 "description" : "Use specified hook script.",
3000 "optional" : 1,
013dc89f
DM
3001 "type" : "string",
3002 "typetext" : "<string>"
44660702
DM
3003 },
3004 "size" : {
3005 "default" : 1024,
3006 "description" : "Unused, will be removed in a future release.",
3007 "minimum" : 500,
3008 "optional" : 1,
4bd7df8b 3009 "type" : "integer",
013dc89f 3010 "typetext" : "<integer> (500 - N)"
44660702
DM
3011 },
3012 "starttime" : {
3013 "description" : "Job Start time.",
3014 "pattern" : "\\d{1,2}:\\d{1,2}",
3015 "type" : "string",
3016 "typetext" : "HH:MM"
3017 },
3018 "stdexcludes" : {
3019 "default" : 1,
3020 "description" : "Exclude temporary files and logs.",
3021 "optional" : 1,
013dc89f
DM
3022 "type" : "boolean",
3023 "typetext" : "<boolean>"
44660702
DM
3024 },
3025 "stop" : {
3026 "default" : 0,
3027 "description" : "Stop runnig backup jobs on this host.",
3028 "optional" : 1,
013dc89f
DM
3029 "type" : "boolean",
3030 "typetext" : "<boolean>"
44660702
DM
3031 },
3032 "stopwait" : {
3033 "default" : 10,
3034 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3035 "minimum" : 0,
3036 "optional" : 1,
4bd7df8b 3037 "type" : "integer",
013dc89f 3038 "typetext" : "<integer> (0 - N)"
44660702
DM
3039 },
3040 "storage" : {
3041 "description" : "Store resulting file to this storage.",
3042 "format" : "pve-storage-id",
3043 "optional" : 1,
013dc89f
DM
3044 "type" : "string",
3045 "typetext" : "<string>"
44660702
DM
3046 },
3047 "tmpdir" : {
3048 "description" : "Store temporary files to specified directory.",
3049 "optional" : 1,
013dc89f
DM
3050 "type" : "string",
3051 "typetext" : "<string>"
44660702
DM
3052 },
3053 "vmid" : {
3054 "description" : "The ID of the guest system you want to backup.",
3055 "format" : "pve-vmid-list",
3056 "optional" : 1,
013dc89f
DM
3057 "type" : "string",
3058 "typetext" : "<string>"
44660702
DM
3059 }
3060 }
3061 },
3062 "permissions" : {
3063 "check" : [
3064 "perm",
3065 "/",
3066 [
3067 "Sys.Modify"
3068 ]
de0983cb
DM
3069 ],
3070 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3071 },
3072 "protected" : 1,
3073 "returns" : {
3074 "type" : "null"
3075 }
3076 }
3077 },
3078 "leaf" : 0,
3079 "path" : "/cluster/backup",
3080 "text" : "backup"
3081 },
3082 {
3083 "children" : [
3084 {
3085 "children" : [
3086 {
3087 "children" : [
56122987 3088 {
56122987
DM
3089 "info" : {
3090 "POST" : {
44660702
DM
3091 "description" : "Request resource migration (online) to another node.",
3092 "method" : "POST",
3093 "name" : "migrate",
56122987 3094 "parameters" : {
7aacca6f 3095 "additionalProperties" : 0,
56122987
DM
3096 "properties" : {
3097 "node" : {
7aacca6f 3098 "description" : "The cluster node name.",
44660702 3099 "format" : "pve-node",
013dc89f
DM
3100 "type" : "string",
3101 "typetext" : "<string>"
56122987
DM
3102 },
3103 "sid" : {
44660702 3104 "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 3105 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3106 "type" : "string",
44660702 3107 "typetext" : "<type>:<name>"
56122987 3108 }
7aacca6f 3109 }
56122987 3110 },
56122987
DM
3111 "permissions" : {
3112 "check" : [
3113 "perm",
3114 "/",
3115 [
3116 "Sys.Console"
3117 ]
3118 ]
3119 },
7aacca6f 3120 "protected" : 1,
7aacca6f
DM
3121 "returns" : {
3122 "type" : "null"
44660702 3123 }
56122987 3124 }
44660702
DM
3125 },
3126 "leaf" : 1,
3127 "path" : "/cluster/ha/resources/{sid}/migrate",
3128 "text" : "migrate"
3129 },
3130 {
3131 "info" : {
3132 "POST" : {
3133 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3134 "method" : "POST",
3135 "name" : "relocate",
3136 "parameters" : {
3137 "additionalProperties" : 0,
3138 "properties" : {
3139 "node" : {
3140 "description" : "The cluster node name.",
3141 "format" : "pve-node",
013dc89f
DM
3142 "type" : "string",
3143 "typetext" : "<string>"
44660702
DM
3144 },
3145 "sid" : {
3146 "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).",
3147 "format" : "pve-ha-resource-or-vm-id",
3148 "type" : "string",
3149 "typetext" : "<type>:<name>"
3150 }
3151 }
3152 },
3153 "permissions" : {
3154 "check" : [
3155 "perm",
3156 "/",
3157 [
3158 "Sys.Console"
3159 ]
3160 ]
3161 },
3162 "protected" : 1,
3163 "returns" : {
3164 "type" : "null"
3165 }
3166 }
3167 },
3168 "leaf" : 1,
3169 "path" : "/cluster/ha/resources/{sid}/relocate",
3170 "text" : "relocate"
3171 }
3172 ],
3173 "info" : {
3174 "DELETE" : {
3175 "description" : "Delete resource configuration.",
3176 "method" : "DELETE",
3177 "name" : "delete",
7aacca6f 3178 "parameters" : {
44660702 3179 "additionalProperties" : 0,
7aacca6f
DM
3180 "properties" : {
3181 "sid" : {
3182 "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 3183 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3184 "type" : "string",
44660702
DM
3185 "typetext" : "<type>:<name>"
3186 }
3187 }
3188 },
3189 "permissions" : {
3190 "check" : [
3191 "perm",
3192 "/",
3193 [
3194 "Sys.Console"
3195 ]
3196 ]
3197 },
3198 "protected" : 1,
3199 "returns" : {
3200 "type" : "null"
3201 }
3202 },
3203 "GET" : {
3204 "description" : "Read resource configuration.",
3205 "method" : "GET",
3206 "name" : "read",
3207 "parameters" : {
3208 "additionalProperties" : 0,
3209 "properties" : {
3210 "sid" : {
3211 "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 3212 "format" : "pve-ha-resource-or-vm-id",
44660702 3213 "type" : "string",
7aacca6f
DM
3214 "typetext" : "<type>:<name>"
3215 }
44660702 3216 }
7aacca6f
DM
3217 },
3218 "permissions" : {
3219 "check" : [
3220 "perm",
3221 "/",
3222 [
3223 "Sys.Audit"
3224 ]
3225 ]
3226 },
44660702 3227 "returns" : {}
7aacca6f 3228 },
56122987 3229 "PUT" : {
44660702 3230 "description" : "Update resource configuration.",
7aacca6f 3231 "method" : "PUT",
44660702 3232 "name" : "update",
56122987
DM
3233 "parameters" : {
3234 "additionalProperties" : 0,
3235 "properties" : {
44660702
DM
3236 "comment" : {
3237 "description" : "Description.",
3238 "maxLength" : 4096,
56122987 3239 "optional" : 1,
013dc89f
DM
3240 "type" : "string",
3241 "typetext" : "<string>"
56122987 3242 },
7aacca6f
DM
3243 "delete" : {
3244 "description" : "A list of settings you want to delete.",
7aacca6f 3245 "format" : "pve-configid-list",
44660702
DM
3246 "maxLength" : 4096,
3247 "optional" : 1,
013dc89f
DM
3248 "type" : "string",
3249 "typetext" : "<string>"
56122987 3250 },
44660702
DM
3251 "digest" : {
3252 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3253 "maxLength" : 40,
3254 "optional" : 1,
013dc89f
DM
3255 "type" : "string",
3256 "typetext" : "<string>"
56122987 3257 },
44660702
DM
3258 "group" : {
3259 "description" : "The HA group identifier.",
3260 "format" : "pve-configid",
7aacca6f 3261 "optional" : 1,
013dc89f
DM
3262 "type" : "string",
3263 "typetext" : "<string>"
56122987
DM
3264 },
3265 "max_relocate" : {
7aacca6f 3266 "default" : 1,
56122987 3267 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3268 "minimum" : 0,
3269 "optional" : 1,
4bd7df8b 3270 "type" : "integer",
013dc89f 3271 "typetext" : "<integer> (0 - N)"
7aacca6f 3272 },
44660702
DM
3273 "max_restart" : {
3274 "default" : 1,
3275 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3276 "minimum" : 0,
7aacca6f 3277 "optional" : 1,
4bd7df8b 3278 "type" : "integer",
013dc89f 3279 "typetext" : "<integer> (0 - N)"
44660702
DM
3280 },
3281 "sid" : {
3282 "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).",
3283 "format" : "pve-ha-resource-or-vm-id",
3284 "type" : "string",
3285 "typetext" : "<type>:<name>"
7aacca6f
DM
3286 },
3287 "state" : {
f13c1238
DM
3288 "default" : "started",
3289 "description" : "Requested resource state.",
7aacca6f 3290 "enum" : [
f13c1238
DM
3291 "started",
3292 "stopped",
7aacca6f 3293 "enabled",
2489d6df
WB
3294 "disabled",
3295 "ignored"
7aacca6f 3296 ],
7aacca6f 3297 "optional" : 1,
f13c1238 3298 "type" : "string",
2489d6df 3299 "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 3300 }
44660702
DM
3301 },
3302 "type" : "object"
56122987 3303 },
56122987
DM
3304 "permissions" : {
3305 "check" : [
3306 "perm",
3307 "/",
3308 [
3309 "Sys.Console"
3310 ]
3311 ]
3312 },
7aacca6f 3313 "protected" : 1,
56122987
DM
3314 "returns" : {
3315 "type" : "null"
3316 }
3317 }
3318 },
44660702 3319 "leaf" : 0,
7aacca6f 3320 "path" : "/cluster/ha/resources/{sid}",
44660702 3321 "text" : "{sid}"
56122987
DM
3322 }
3323 ],
7aacca6f
DM
3324 "info" : {
3325 "GET" : {
44660702
DM
3326 "description" : "List HA resources.",
3327 "method" : "GET",
3328 "name" : "index",
7aacca6f 3329 "parameters" : {
44660702
DM
3330 "additionalProperties" : 0,
3331 "properties" : {
3332 "type" : {
3333 "description" : "Only list resources of specific type",
3334 "enum" : [
3335 "ct",
3336 "vm"
3337 ],
3338 "optional" : 1,
3339 "type" : "string"
3340 }
3341 }
7aacca6f 3342 },
7aacca6f
DM
3343 "permissions" : {
3344 "check" : [
3345 "perm",
3346 "/",
3347 [
3348 "Sys.Audit"
3349 ]
3350 ]
3351 },
7aacca6f 3352 "returns" : {
7aacca6f 3353 "items" : {
7aacca6f 3354 "properties" : {
44660702 3355 "sid" : {
7aacca6f
DM
3356 "type" : "string"
3357 }
44660702
DM
3358 },
3359 "type" : "object"
7aacca6f
DM
3360 },
3361 "links" : [
3362 {
44660702 3363 "href" : "{sid}",
7aacca6f
DM
3364 "rel" : "child"
3365 }
44660702
DM
3366 ],
3367 "type" : "array"
7aacca6f
DM
3368 }
3369 },
3370 "POST" : {
44660702 3371 "description" : "Create a new HA resource.",
7aacca6f 3372 "method" : "POST",
44660702 3373 "name" : "create",
7aacca6f 3374 "parameters" : {
44660702 3375 "additionalProperties" : 0,
7aacca6f
DM
3376 "properties" : {
3377 "comment" : {
7aacca6f 3378 "description" : "Description.",
44660702 3379 "maxLength" : 4096,
7aacca6f 3380 "optional" : 1,
013dc89f
DM
3381 "type" : "string",
3382 "typetext" : "<string>"
7aacca6f 3383 },
44660702
DM
3384 "group" : {
3385 "description" : "The HA group identifier.",
3386 "format" : "pve-configid",
7aacca6f 3387 "optional" : 1,
013dc89f
DM
3388 "type" : "string",
3389 "typetext" : "<string>"
7aacca6f 3390 },
44660702
DM
3391 "max_relocate" : {
3392 "default" : 1,
3393 "description" : "Maximal number of service relocate tries when a service failes to start.",
3394 "minimum" : 0,
7aacca6f 3395 "optional" : 1,
4bd7df8b 3396 "type" : "integer",
013dc89f 3397 "typetext" : "<integer> (0 - N)"
7aacca6f 3398 },
44660702
DM
3399 "max_restart" : {
3400 "default" : 1,
3401 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3402 "minimum" : 0,
3403 "optional" : 1,
4bd7df8b 3404 "type" : "integer",
013dc89f 3405 "typetext" : "<integer> (0 - N)"
44660702
DM
3406 },
3407 "sid" : {
3408 "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).",
3409 "format" : "pve-ha-resource-or-vm-id",
3410 "type" : "string",
3411 "typetext" : "<type>:<name>"
3412 },
3413 "state" : {
f13c1238
DM
3414 "default" : "started",
3415 "description" : "Requested resource state.",
7aacca6f 3416 "enum" : [
f13c1238
DM
3417 "started",
3418 "stopped",
44660702 3419 "enabled",
2489d6df
WB
3420 "disabled",
3421 "ignored"
7aacca6f 3422 ],
7aacca6f 3423 "optional" : 1,
f13c1238 3424 "type" : "string",
2489d6df 3425 "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 3426 },
44660702
DM
3427 "type" : {
3428 "description" : "Resource type.",
3429 "enum" : [
3430 "ct",
3431 "vm"
3432 ],
3433 "optional" : 1,
3434 "type" : "string"
3435 }
7aacca6f 3436 },
44660702 3437 "type" : "object"
7aacca6f
DM
3438 },
3439 "permissions" : {
3440 "check" : [
3441 "perm",
3442 "/",
3443 [
3444 "Sys.Console"
3445 ]
3446 ]
3447 },
44660702
DM
3448 "protected" : 1,
3449 "returns" : {
3450 "type" : "null"
3451 }
7aacca6f
DM
3452 }
3453 },
44660702
DM
3454 "leaf" : 0,
3455 "path" : "/cluster/ha/resources",
3456 "text" : "resources"
3457 },
3458 {
56122987
DM
3459 "children" : [
3460 {
56122987 3461 "info" : {
44660702
DM
3462 "DELETE" : {
3463 "description" : "Delete ha group configuration.",
3464 "method" : "DELETE",
3465 "name" : "delete",
56122987 3466 "parameters" : {
7aacca6f 3467 "additionalProperties" : 0,
56122987 3468 "properties" : {
7aacca6f
DM
3469 "group" : {
3470 "description" : "The HA group identifier.",
44660702 3471 "format" : "pve-configid",
013dc89f
DM
3472 "type" : "string",
3473 "typetext" : "<string>"
56122987 3474 }
7aacca6f 3475 }
56122987 3476 },
56122987
DM
3477 "permissions" : {
3478 "check" : [
3479 "perm",
3480 "/",
3481 [
7aacca6f 3482 "Sys.Console"
56122987
DM
3483 ]
3484 ]
3485 },
44660702 3486 "protected" : 1,
7aacca6f
DM
3487 "returns" : {
3488 "type" : "null"
56122987
DM
3489 }
3490 },
44660702
DM
3491 "GET" : {
3492 "description" : "Read ha group configuration.",
3493 "method" : "GET",
3494 "name" : "read",
56122987 3495 "parameters" : {
44660702 3496 "additionalProperties" : 0,
56122987
DM
3497 "properties" : {
3498 "group" : {
3499 "description" : "The HA group identifier.",
44660702 3500 "format" : "pve-configid",
013dc89f
DM
3501 "type" : "string",
3502 "typetext" : "<string>"
56122987 3503 }
44660702 3504 }
56122987 3505 },
56122987
DM
3506 "permissions" : {
3507 "check" : [
3508 "perm",
3509 "/",
3510 [
44660702 3511 "Sys.Audit"
56122987
DM
3512 ]
3513 ]
3514 },
44660702 3515 "returns" : {}
7aacca6f 3516 },
44660702
DM
3517 "PUT" : {
3518 "description" : "Update ha group configuration.",
3519 "method" : "PUT",
3520 "name" : "update",
7aacca6f 3521 "parameters" : {
44660702 3522 "additionalProperties" : 0,
7aacca6f 3523 "properties" : {
44660702
DM
3524 "comment" : {
3525 "description" : "Description.",
3526 "maxLength" : 4096,
3527 "optional" : 1,
013dc89f
DM
3528 "type" : "string",
3529 "typetext" : "<string>"
44660702
DM
3530 },
3531 "delete" : {
3532 "description" : "A list of settings you want to delete.",
3533 "format" : "pve-configid-list",
3534 "maxLength" : 4096,
3535 "optional" : 1,
013dc89f
DM
3536 "type" : "string",
3537 "typetext" : "<string>"
44660702
DM
3538 },
3539 "digest" : {
3540 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3541 "maxLength" : 40,
3542 "optional" : 1,
013dc89f
DM
3543 "type" : "string",
3544 "typetext" : "<string>"
44660702 3545 },
7aacca6f
DM
3546 "group" : {
3547 "description" : "The HA group identifier.",
44660702 3548 "format" : "pve-configid",
013dc89f
DM
3549 "type" : "string",
3550 "typetext" : "<string>"
44660702
DM
3551 },
3552 "nodes" : {
f13c1238 3553 "description" : "List of cluster node names with optional priority.",
44660702
DM
3554 "format" : "pve-ha-group-node-list",
3555 "optional" : 1,
7aacca6f 3556 "type" : "string",
f13c1238
DM
3557 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3558 "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
3559 },
3560 "nofailback" : {
3561 "default" : 0,
3562 "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.",
3563 "optional" : 1,
013dc89f
DM
3564 "type" : "boolean",
3565 "typetext" : "<boolean>"
44660702
DM
3566 },
3567 "restricted" : {
3568 "default" : 0,
c4808e75 3569 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3570 "optional" : 1,
013dc89f 3571 "type" : "boolean",
c4808e75
DM
3572 "typetext" : "<boolean>",
3573 "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
3574 }
3575 },
44660702 3576 "type" : "object"
7aacca6f 3577 },
7aacca6f
DM
3578 "permissions" : {
3579 "check" : [
3580 "perm",
3581 "/",
3582 [
44660702 3583 "Sys.Console"
7aacca6f
DM
3584 ]
3585 ]
3586 },
44660702
DM
3587 "protected" : 1,
3588 "returns" : {
3589 "type" : "null"
3590 }
56122987
DM
3591 }
3592 },
3593 "leaf" : 1,
44660702
DM
3594 "path" : "/cluster/ha/groups/{group}",
3595 "text" : "{group}"
56122987 3596 }
44660702
DM
3597 ],
3598 "info" : {
3599 "GET" : {
3600 "description" : "Get HA groups.",
3601 "method" : "GET",
3602 "name" : "index",
3603 "parameters" : {
3604 "additionalProperties" : 0
3605 },
3606 "permissions" : {
3607 "check" : [
3608 "perm",
3609 "/",
3610 [
3611 "Sys.Audit"
3612 ]
3613 ]
3614 },
3615 "returns" : {
3616 "items" : {
3617 "properties" : {
3618 "group" : {
3619 "type" : "string"
3620 }
3621 },
3622 "type" : "object"
3623 },
3624 "links" : [
3625 {
3626 "href" : "{group}",
3627 "rel" : "child"
3628 }
3629 ],
3630 "type" : "array"
3631 }
3632 },
3633 "POST" : {
3634 "description" : "Create a new HA group.",
3635 "method" : "POST",
3636 "name" : "create",
3637 "parameters" : {
3638 "additionalProperties" : 0,
3639 "properties" : {
3640 "comment" : {
3641 "description" : "Description.",
3642 "maxLength" : 4096,
3643 "optional" : 1,
013dc89f
DM
3644 "type" : "string",
3645 "typetext" : "<string>"
44660702
DM
3646 },
3647 "group" : {
3648 "description" : "The HA group identifier.",
3649 "format" : "pve-configid",
013dc89f
DM
3650 "type" : "string",
3651 "typetext" : "<string>"
44660702
DM
3652 },
3653 "nodes" : {
f13c1238 3654 "description" : "List of cluster node names with optional priority.",
44660702
DM
3655 "format" : "pve-ha-group-node-list",
3656 "optional" : 0,
3657 "type" : "string",
f13c1238
DM
3658 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3659 "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
3660 },
3661 "nofailback" : {
3662 "default" : 0,
3663 "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.",
3664 "optional" : 1,
013dc89f
DM
3665 "type" : "boolean",
3666 "typetext" : "<boolean>"
44660702
DM
3667 },
3668 "restricted" : {
3669 "default" : 0,
c4808e75 3670 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3671 "optional" : 1,
013dc89f 3672 "type" : "boolean",
c4808e75
DM
3673 "typetext" : "<boolean>",
3674 "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
3675 },
3676 "type" : {
3677 "description" : "Group type.",
3678 "enum" : [
3679 "group"
3680 ],
3681 "optional" : 1,
3682 "type" : "string"
3683 }
3684 },
3685 "type" : "object"
3686 },
3687 "permissions" : {
3688 "check" : [
3689 "perm",
3690 "/",
3691 [
3692 "Sys.Console"
3693 ]
3694 ]
3695 },
3696 "protected" : 1,
3697 "returns" : {
3698 "type" : "null"
3699 }
3700 }
3701 },
3702 "leaf" : 0,
3703 "path" : "/cluster/ha/groups",
3704 "text" : "groups"
7aacca6f
DM
3705 },
3706 {
7aacca6f
DM
3707 "children" : [
3708 {
3709 "info" : {
3710 "GET" : {
56122987 3711 "description" : "Get HA manger status.",
44660702 3712 "method" : "GET",
7aacca6f 3713 "name" : "status",
44660702
DM
3714 "parameters" : {
3715 "additionalProperties" : 0
3716 },
56122987
DM
3717 "permissions" : {
3718 "check" : [
3719 "perm",
3720 "/",
3721 [
3722 "Sys.Audit"
3723 ]
3724 ]
7aacca6f 3725 },
44660702
DM
3726 "returns" : {
3727 "type" : "array"
56122987
DM
3728 }
3729 }
7aacca6f 3730 },
7aacca6f 3731 "leaf" : 1,
44660702
DM
3732 "path" : "/cluster/ha/status/current",
3733 "text" : "current"
56122987
DM
3734 },
3735 {
3736 "info" : {
3737 "GET" : {
7aacca6f 3738 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3739 "method" : "GET",
3740 "name" : "manager_status",
7aacca6f
DM
3741 "parameters" : {
3742 "additionalProperties" : 0
3743 },
56122987
DM
3744 "permissions" : {
3745 "check" : [
3746 "perm",
3747 "/",
3748 [
3749 "Sys.Audit"
3750 ]
3751 ]
44660702
DM
3752 },
3753 "returns" : {
3754 "type" : "object"
7aacca6f 3755 }
56122987
DM
3756 }
3757 },
56122987 3758 "leaf" : 1,
44660702
DM
3759 "path" : "/cluster/ha/status/manager_status",
3760 "text" : "manager_status"
56122987
DM
3761 }
3762 ],
56122987
DM
3763 "info" : {
3764 "GET" : {
44660702 3765 "description" : "Directory index.",
7aacca6f 3766 "method" : "GET",
44660702
DM
3767 "name" : "index",
3768 "parameters" : {
3769 "additionalProperties" : 0
3770 },
3771 "permissions" : {
3772 "user" : "all"
3773 },
56122987 3774 "returns" : {
56122987
DM
3775 "items" : {
3776 "properties" : {},
3777 "type" : "object"
3778 },
3779 "links" : [
3780 {
44660702
DM
3781 "href" : "{name}",
3782 "rel" : "child"
56122987 3783 }
7aacca6f
DM
3784 ],
3785 "type" : "array"
44660702 3786 }
56122987 3787 }
7aacca6f 3788 },
44660702 3789 "leaf" : 0,
7aacca6f 3790 "path" : "/cluster/ha/status",
44660702 3791 "text" : "status"
56122987
DM
3792 }
3793 ],
56122987
DM
3794 "info" : {
3795 "GET" : {
7aacca6f 3796 "description" : "Directory index.",
44660702
DM
3797 "method" : "GET",
3798 "name" : "index",
3799 "parameters" : {
3800 "additionalProperties" : 0
3801 },
7aacca6f
DM
3802 "permissions" : {
3803 "check" : [
3804 "perm",
3805 "/",
3806 [
3807 "Sys.Audit"
3808 ]
3809 ]
3810 },
56122987 3811 "returns" : {
56122987 3812 "items" : {
7aacca6f
DM
3813 "properties" : {
3814 "id" : {
3815 "type" : "string"
3816 }
44660702
DM
3817 },
3818 "type" : "object"
7aacca6f
DM
3819 },
3820 "links" : [
3821 {
3822 "href" : "{id}",
3823 "rel" : "child"
3824 }
44660702
DM
3825 ],
3826 "type" : "array"
7aacca6f
DM
3827 }
3828 }
44660702
DM
3829 },
3830 "leaf" : 0,
3831 "path" : "/cluster/ha",
3832 "text" : "ha"
7aacca6f 3833 },
a9a8e3d1
DM
3834 {
3835 "children" : [
3836 {
3837 "children" : [
3838 {
3839 "info" : {
3840 "DELETE" : {
3841 "description" : "Deactivate existing ACME account at CA.",
3842 "method" : "DELETE",
3843 "name" : "deactivate_account",
3844 "parameters" : {
3845 "additionalProperties" : 0,
3846 "properties" : {
3847 "name" : {
3848 "default" : "default",
3849 "description" : "ACME account config file name.",
3850 "format" : "pve-configid",
3851 "format_description" : "name",
3852 "optional" : 1,
3853 "type" : "string",
3854 "typetext" : "<name>"
3855 }
3856 }
3857 },
3858 "protected" : 1,
3859 "returns" : {
3860 "type" : "string"
3861 }
3862 },
3863 "GET" : {
3864 "description" : "Return existing ACME account information.",
3865 "method" : "GET",
3866 "name" : "get_account",
3867 "parameters" : {
3868 "additionalProperties" : 0,
3869 "properties" : {
3870 "name" : {
3871 "default" : "default",
3872 "description" : "ACME account config file name.",
3873 "format" : "pve-configid",
3874 "format_description" : "name",
3875 "optional" : 1,
3876 "type" : "string",
3877 "typetext" : "<name>"
3878 }
3879 }
3880 },
3881 "protected" : 1,
3882 "returns" : {
3883 "additionalProperties" : 0,
3884 "properties" : {
3885 "account" : {
3886 "optional" : 1,
4d47f125 3887 "renderer" : "yaml",
a9a8e3d1
DM
3888 "type" : "object"
3889 },
3890 "directory" : {
3891 "description" : "URL of ACME CA directory endpoint.",
3892 "optional" : 1,
3893 "pattern" : "^https?://.*",
3894 "type" : "string"
3895 },
3896 "location" : {
3897 "optional" : 1,
3898 "type" : "string"
3899 },
3900 "tos" : {
3901 "optional" : 1,
3902 "type" : "string"
3903 }
3904 },
3905 "type" : "object"
3906 }
3907 },
3908 "PUT" : {
3909 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
3910 "method" : "PUT",
3911 "name" : "update_account",
3912 "parameters" : {
3913 "additionalProperties" : 0,
3914 "properties" : {
3915 "contact" : {
3916 "description" : "Contact email addresses.",
3917 "format" : "email-list",
3918 "optional" : 1,
3919 "type" : "string",
3920 "typetext" : "<string>"
3921 },
3922 "name" : {
3923 "default" : "default",
3924 "description" : "ACME account config file name.",
3925 "format" : "pve-configid",
3926 "format_description" : "name",
3927 "optional" : 1,
3928 "type" : "string",
3929 "typetext" : "<name>"
3930 }
3931 }
3932 },
3933 "protected" : 1,
3934 "returns" : {
3935 "type" : "string"
3936 }
3937 }
3938 },
3939 "leaf" : 1,
3940 "path" : "/cluster/acme/account/{name}",
3941 "text" : "{name}"
3942 }
3943 ],
3944 "info" : {
3945 "GET" : {
3946 "description" : "ACMEAccount index.",
3947 "method" : "GET",
3948 "name" : "account_index",
3949 "parameters" : {
3950 "additionalProperties" : 0
3951 },
3952 "permissions" : {
3953 "user" : "all"
3954 },
3955 "protected" : 1,
3956 "returns" : {
3957 "items" : {
3958 "properties" : {},
3959 "type" : "object"
3960 },
3961 "links" : [
3962 {
3963 "href" : "{name}",
3964 "rel" : "child"
3965 }
3966 ],
3967 "type" : "array"
3968 }
3969 },
3970 "POST" : {
3971 "description" : "Register a new ACME account with CA.",
3972 "method" : "POST",
3973 "name" : "register_account",
3974 "parameters" : {
3975 "additionalProperties" : 0,
3976 "properties" : {
3977 "contact" : {
3978 "description" : "Contact email addresses.",
3979 "format" : "email-list",
3980 "type" : "string",
3981 "typetext" : "<string>"
3982 },
3983 "directory" : {
3984 "default" : "https://acme-v02.api.letsencrypt.org/directory",
3985 "description" : "URL of ACME CA directory endpoint.",
3986 "optional" : 1,
3987 "pattern" : "^https?://.*",
3988 "type" : "string"
3989 },
3990 "name" : {
3991 "default" : "default",
3992 "description" : "ACME account config file name.",
3993 "format" : "pve-configid",
3994 "format_description" : "name",
3995 "optional" : 1,
3996 "type" : "string",
3997 "typetext" : "<name>"
3998 },
3999 "tos_url" : {
4000 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
4001 "optional" : 1,
4002 "type" : "string",
4003 "typetext" : "<string>"
4004 }
4005 }
4006 },
4007 "protected" : 1,
4008 "returns" : {
4009 "type" : "string"
4010 }
4011 }
4012 },
4013 "leaf" : 0,
4014 "path" : "/cluster/acme/account",
4015 "text" : "account"
4016 },
4017 {
4018 "info" : {
4019 "GET" : {
4020 "description" : "Retrieve ACME TermsOfService URL from CA.",
4021 "method" : "GET",
4022 "name" : "get_tos",
4023 "parameters" : {
4024 "additionalProperties" : 0,
4025 "properties" : {
4026 "directory" : {
4027 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4028 "description" : "URL of ACME CA directory endpoint.",
4029 "optional" : 1,
4030 "pattern" : "^https?://.*",
4031 "type" : "string"
4032 }
4033 }
4034 },
5da3d723
TL
4035 "permissions" : {
4036 "user" : "all"
4037 },
a9a8e3d1
DM
4038 "returns" : {
4039 "description" : "ACME TermsOfService URL.",
4040 "type" : "string"
4041 }
4042 }
4043 },
4044 "leaf" : 1,
4045 "path" : "/cluster/acme/tos",
4046 "text" : "tos"
4047 },
4048 {
4049 "info" : {
4050 "GET" : {
4051 "description" : "Get named known ACME directory endpoints.",
4052 "method" : "GET",
4053 "name" : "get_directories",
4054 "parameters" : {
4055 "additionalProperties" : 0
4056 },
5da3d723
TL
4057 "permissions" : {
4058 "user" : "all"
4059 },
a9a8e3d1
DM
4060 "returns" : {
4061 "items" : {
4062 "additionalProperties" : 0,
4063 "properties" : {
4064 "name" : {
4065 "type" : "string"
4066 },
4067 "url" : {
4068 "description" : "URL of ACME CA directory endpoint.",
4069 "pattern" : "^https?://.*",
4070 "type" : "string"
4071 }
4072 },
4073 "type" : "object"
4074 },
4075 "type" : "array"
4076 }
4077 }
4078 },
4079 "leaf" : 1,
4080 "path" : "/cluster/acme/directories",
4081 "text" : "directories"
4082 }
4083 ],
4084 "info" : {
4085 "GET" : {
4086 "description" : "ACMEAccount index.",
4087 "method" : "GET",
4088 "name" : "index",
4089 "parameters" : {
4090 "additionalProperties" : 0
4091 },
4092 "permissions" : {
4093 "user" : "all"
4094 },
4095 "returns" : {
4096 "items" : {
4097 "properties" : {},
4098 "type" : "object"
4099 },
4100 "links" : [
4101 {
4102 "href" : "{name}",
4103 "rel" : "child"
4104 }
4105 ],
4106 "type" : "array"
4107 }
4108 }
4109 },
4110 "leaf" : 0,
4111 "path" : "/cluster/acme",
4112 "text" : "acme"
4113 },
7aacca6f 4114 {
7aacca6f
DM
4115 "info" : {
4116 "GET" : {
4117 "description" : "Read cluster log",
44660702
DM
4118 "method" : "GET",
4119 "name" : "log",
56122987 4120 "parameters" : {
7aacca6f 4121 "additionalProperties" : 0,
56122987
DM
4122 "properties" : {
4123 "max" : {
7aacca6f 4124 "description" : "Maximum number of entries.",
44660702
DM
4125 "minimum" : 1,
4126 "optional" : 1,
4bd7df8b 4127 "type" : "integer",
013dc89f 4128 "typetext" : "<integer> (1 - N)"
56122987 4129 }
7aacca6f 4130 }
56122987 4131 },
44660702
DM
4132 "permissions" : {
4133 "user" : "all"
4134 },
7aacca6f 4135 "returns" : {
7aacca6f 4136 "items" : {
44660702
DM
4137 "properties" : {},
4138 "type" : "object"
4139 },
4140 "type" : "array"
7aacca6f 4141 }
56122987 4142 }
44660702
DM
4143 },
4144 "leaf" : 1,
4145 "path" : "/cluster/log",
4146 "text" : "log"
56122987
DM
4147 },
4148 {
56122987
DM
4149 "info" : {
4150 "GET" : {
44660702 4151 "description" : "Resources index (cluster wide).",
7aacca6f 4152 "method" : "GET",
7aacca6f 4153 "name" : "resources",
56122987
DM
4154 "parameters" : {
4155 "additionalProperties" : 0,
4156 "properties" : {
4157 "type" : {
4158 "enum" : [
4159 "vm",
4160 "storage",
4161 "node"
44660702
DM
4162 ],
4163 "optional" : 1,
4164 "type" : "string"
56122987
DM
4165 }
4166 }
4167 },
44660702
DM
4168 "permissions" : {
4169 "user" : "all"
4170 },
4171 "returns" : {
4172 "items" : {
4d47f125
TL
4173 "properties" : {
4174 "cpu" : {
4175 "description" : "CPU utilization (when type in node,qemu,lxc).",
4176 "optional" : 1,
4177 "renderer" : "fraction_as_percentage",
4178 "type" : "number"
4179 },
4180 "disk" : {
4181 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
4182 "optional" : 1,
4183 "renderer" : "bytes",
4184 "type" : "string"
4185 },
4186 "hastate" : {
4187 "description" : "HA service status (for HA managed VMs).",
4188 "optional" : 1,
4189 "type" : "string"
4190 },
4191 "id" : {
4192 "type" : "string"
4193 },
4194 "level" : {
4195 "description" : "Support level (when type == node).",
4196 "optional" : 1,
4197 "type" : "string"
4198 },
4199 "maxcpu" : {
4200 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
4201 "optional" : 1,
4202 "type" : "number"
4203 },
4204 "maxdisk" : {
4205 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
4206 "optional" : 1,
4207 "renderer" : "bytes",
4208 "type" : "integer"
4209 },
4210 "maxmem" : {
4211 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
4212 "optional" : 1,
4213 "renderer" : "bytes",
4214 "type" : "integer"
4215 },
4216 "mem" : {
4217 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
4218 "optional" : 1,
4219 "renderer" : "bytes",
4220 "type" : "string"
4221 },
4222 "node" : {
4223 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
4224 "format" : "pve-node",
4225 "optional" : 1,
4226 "type" : "string"
4227 },
4228 "pool" : {
4229 "description" : "The pool name (when type in pool,qemu,lxc).",
4230 "optional" : 1,
4231 "type" : "string"
4232 },
4233 "status" : {
4234 "description" : "Resource type dependent status.",
4235 "optional" : 1,
4236 "type" : "string"
4237 },
4238 "storage" : {
4239 "description" : "The storage identifier (when type == storage).",
4240 "format" : "pve-storage-id",
4241 "optional" : 1,
4242 "type" : "string"
4243 },
4244 "type" : {
4245 "description" : "Resource type.",
4246 "enum" : [
4247 "node",
4248 "storage",
4249 "pool",
4250 "qemu",
4251 "lxc",
4252 "openvz"
4253 ],
4254 "type" : "string"
4255 },
4256 "uptime" : {
4257 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
4258 "optional" : 1,
4259 "renderer" : "duration",
4260 "type" : "integer"
4261 }
4262 },
44660702
DM
4263 "type" : "object"
4264 },
4265 "type" : "array"
4266 }
56122987
DM
4267 }
4268 },
7aacca6f 4269 "leaf" : 1,
44660702
DM
4270 "path" : "/cluster/resources",
4271 "text" : "resources"
56122987
DM
4272 },
4273 {
56122987
DM
4274 "info" : {
4275 "GET" : {
7aacca6f 4276 "description" : "List recent tasks (cluster wide).",
44660702 4277 "method" : "GET",
7aacca6f 4278 "name" : "tasks",
56122987
DM
4279 "parameters" : {
4280 "additionalProperties" : 0
4281 },
44660702
DM
4282 "permissions" : {
4283 "user" : "all"
4284 },
56122987
DM
4285 "returns" : {
4286 "items" : {
4287 "properties" : {
4288 "upid" : {
4289 "type" : "string"
4290 }
44660702
DM
4291 },
4292 "type" : "object"
4293 },
4294 "type" : "array"
7aacca6f 4295 }
56122987
DM
4296 }
4297 },
7aacca6f 4298 "leaf" : 1,
44660702
DM
4299 "path" : "/cluster/tasks",
4300 "text" : "tasks"
56122987
DM
4301 },
4302 {
56122987 4303 "info" : {
7aacca6f 4304 "GET" : {
44660702
DM
4305 "description" : "Get datacenter options.",
4306 "method" : "GET",
4307 "name" : "get_options",
56122987 4308 "parameters" : {
7aacca6f
DM
4309 "additionalProperties" : 0
4310 },
4311 "permissions" : {
4312 "check" : [
4313 "perm",
4314 "/",
4315 [
4316 "Sys.Audit"
4317 ]
4318 ]
4319 },
7aacca6f 4320 "returns" : {
44660702 4321 "type" : "object"
7aacca6f
DM
4322 }
4323 },
4324 "PUT" : {
44660702
DM
4325 "description" : "Set datacenter options.",
4326 "method" : "PUT",
7aacca6f
DM
4327 "name" : "set_options",
4328 "parameters" : {
4329 "additionalProperties" : 0,
4330 "properties" : {
27a7acb2
DM
4331 "bwlimit" : {
4332 "description" : "Set bandwidth/io limits various operations.",
4333 "format" : {
4334 "clone" : {
4335 "description" : "bandwidth limit in MiB/s for cloning disks",
4336 "format_description" : "LIMIT",
4337 "minimum" : "0",
4338 "optional" : 1,
4339 "type" : "number"
4340 },
4341 "default" : {
4342 "description" : "default bandwidth limit in MiB/s",
4343 "format_description" : "LIMIT",
4344 "minimum" : "0",
4345 "optional" : 1,
4346 "type" : "number"
4347 },
4348 "migration" : {
4349 "description" : "bandwidth limit in MiB/s for migrating guests",
4350 "format_description" : "LIMIT",
4351 "minimum" : "0",
4352 "optional" : 1,
4353 "type" : "number"
4354 },
4355 "move" : {
4356 "description" : "bandwidth limit in MiB/s for moving disks",
4357 "format_description" : "LIMIT",
4358 "minimum" : "0",
4359 "optional" : 1,
4360 "type" : "number"
4361 },
4362 "restore" : {
4363 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
4364 "format_description" : "LIMIT",
4365 "minimum" : "0",
4366 "optional" : 1,
4367 "type" : "number"
4368 }
4369 },
4370 "optional" : 1,
4371 "type" : "string",
4372 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
4373 },
56122987 4374 "console" : {
a9a8e3d1 4375 "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
4376 "enum" : [
4377 "applet",
4378 "vv",
a9a8e3d1
DM
4379 "html5",
4380 "xtermjs"
44660702
DM
4381 ],
4382 "optional" : 1,
4383 "type" : "string"
56122987 4384 },
7aacca6f 4385 "delete" : {
7aacca6f 4386 "description" : "A list of settings you want to delete.",
44660702 4387 "format" : "pve-configid-list",
7aacca6f 4388 "optional" : 1,
013dc89f
DM
4389 "type" : "string",
4390 "typetext" : "<string>"
7aacca6f 4391 },
44660702
DM
4392 "email_from" : {
4393 "description" : "Specify email address to send notification from (default is root@$hostname)",
4394 "format" : "email-opt",
7aacca6f 4395 "optional" : 1,
013dc89f
DM
4396 "type" : "string",
4397 "typetext" : "<string>"
44660702
DM
4398 },
4399 "fencing" : {
4400 "default" : "watchdog",
4401 "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 4402 "enum" : [
44660702
DM
4403 "watchdog",
4404 "hardware",
4405 "both"
7aacca6f 4406 ],
44660702
DM
4407 "optional" : 1,
4408 "type" : "string"
4409 },
4410 "http_proxy" : {
4411 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
4412 "optional" : 1,
4413 "pattern" : "http://.*",
4414 "type" : "string"
7aacca6f 4415 },
56122987 4416 "keyboard" : {
44660702 4417 "description" : "Default keybord layout for vnc server.",
56122987 4418 "enum" : [
44660702
DM
4419 "de",
4420 "de-ch",
7aacca6f 4421 "da",
56122987 4422 "en-gb",
44660702
DM
4423 "en-us",
4424 "es",
4425 "fi",
4426 "fr",
4427 "fr-be",
4428 "fr-ca",
4429 "fr-ch",
4430 "hu",
7aacca6f 4431 "is",
44660702
DM
4432 "it",
4433 "ja",
4434 "lt",
56122987 4435 "mk",
7aacca6f 4436 "nl",
56122987 4437 "no",
44660702 4438 "pl",
7aacca6f 4439 "pt",
44660702
DM
4440 "pt-br",
4441 "sv",
4442 "sl",
4443 "tr"
56122987 4444 ],
56122987
DM
4445 "optional" : 1,
4446 "type" : "string"
4447 },
44660702
DM
4448 "language" : {
4449 "description" : "Default GUI language.",
4450 "enum" : [
4d47f125
TL
4451 "zh_CN",
4452 "zh_TW",
4453 "ca",
44660702 4454 "en",
4d47f125
TL
4455 "eu",
4456 "fr",
4457 "de",
4458 "it",
4459 "es",
4460 "ja",
4461 "nb",
4462 "nn",
4463 "fa",
4464 "pl",
4465 "pt_BR",
4466 "ru",
4467 "sl",
4468 "sv",
4469 "tr"
44660702 4470 ],
56122987 4471 "optional" : 1,
44660702 4472 "type" : "string"
56122987 4473 },
4bd7df8b
DM
4474 "mac_prefix" : {
4475 "description" : "Prefix for autogenerated MAC addresses.",
4476 "optional" : 1,
4477 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
4478 "type" : "string"
4479 },
44660702
DM
4480 "max_workers" : {
4481 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
4482 "minimum" : 1,
56122987 4483 "optional" : 1,
4bd7df8b 4484 "type" : "integer",
013dc89f 4485 "typetext" : "<integer> (1 - N)"
56122987 4486 },
de0983cb
DM
4487 "migration" : {
4488 "description" : "For cluster wide migration settings.",
4489 "format" : {
4490 "network" : {
4491 "description" : "CIDR of the (sub) network that is used for migration.",
4492 "format" : "CIDR",
4493 "format_description" : "CIDR",
4494 "optional" : 1,
4495 "type" : "string"
4496 },
4497 "type" : {
4498 "default" : "secure",
4499 "default_key" : 1,
4500 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
4501 "enum" : [
4502 "secure",
4503 "insecure"
4504 ],
4505 "type" : "string"
4506 }
4507 },
4508 "optional" : 1,
4509 "type" : "string",
4510 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
4511 },
7aacca6f 4512 "migration_unsecure" : {
de0983cb 4513 "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 4514 "optional" : 1,
013dc89f
DM
4515 "type" : "boolean",
4516 "typetext" : "<boolean>"
56122987
DM
4517 }
4518 }
4519 },
44660702
DM
4520 "permissions" : {
4521 "check" : [
4522 "perm",
4523 "/",
4524 [
4525 "Sys.Modify"
4526 ]
4527 ]
4528 },
56122987 4529 "protected" : 1,
7aacca6f
DM
4530 "returns" : {
4531 "type" : "null"
44660702 4532 }
7aacca6f
DM
4533 }
4534 },
44660702
DM
4535 "leaf" : 1,
4536 "path" : "/cluster/options",
7aacca6f
DM
4537 "text" : "options"
4538 },
4539 {
7aacca6f 4540 "info" : {
56122987 4541 "GET" : {
44660702
DM
4542 "description" : "Get cluster status informations.",
4543 "method" : "GET",
4544 "name" : "get_status",
56122987
DM
4545 "parameters" : {
4546 "additionalProperties" : 0
4547 },
56122987
DM
4548 "permissions" : {
4549 "check" : [
4550 "perm",
4551 "/",
4552 [
4553 "Sys.Audit"
4554 ]
4555 ]
4556 },
7aacca6f 4557 "protected" : 1,
56122987 4558 "returns" : {
56122987 4559 "items" : {
56122987
DM
4560 "properties" : {
4561 "type" : {
4562 "type" : "string"
4563 }
44660702
DM
4564 },
4565 "type" : "object"
7aacca6f
DM
4566 },
4567 "type" : "array"
56122987
DM
4568 }
4569 }
4570 },
44660702 4571 "leaf" : 1,
7aacca6f 4572 "path" : "/cluster/status",
44660702 4573 "text" : "status"
56122987
DM
4574 },
4575 {
56122987
DM
4576 "info" : {
4577 "GET" : {
56122987 4578 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
4579 "method" : "GET",
4580 "name" : "nextid",
56122987 4581 "parameters" : {
44660702 4582 "additionalProperties" : 0,
56122987
DM
4583 "properties" : {
4584 "vmid" : {
44660702 4585 "description" : "The (unique) ID of the VM.",
56122987 4586 "format" : "pve-vmid",
7aacca6f 4587 "minimum" : 1,
7aacca6f 4588 "optional" : 1,
4bd7df8b 4589 "type" : "integer",
013dc89f 4590 "typetext" : "<integer> (1 - N)"
56122987 4591 }
44660702 4592 }
56122987 4593 },
7aacca6f
DM
4594 "permissions" : {
4595 "user" : "all"
44660702
DM
4596 },
4597 "returns" : {
4598 "description" : "The next free VMID.",
4599 "type" : "integer"
7aacca6f 4600 }
56122987
DM
4601 }
4602 },
7aacca6f 4603 "leaf" : 1,
44660702
DM
4604 "path" : "/cluster/nextid",
4605 "text" : "nextid"
56122987
DM
4606 }
4607 ],
44660702
DM
4608 "info" : {
4609 "GET" : {
4610 "description" : "Cluster index.",
4611 "method" : "GET",
4612 "name" : "index",
4613 "parameters" : {
4614 "additionalProperties" : 0
4615 },
4616 "permissions" : {
4617 "user" : "all"
4618 },
4619 "returns" : {
4620 "items" : {
4621 "properties" : {},
4622 "type" : "object"
4623 },
4624 "links" : [
4625 {
4626 "href" : "{name}",
4627 "rel" : "child"
4628 }
4629 ],
4630 "type" : "array"
4631 }
4632 }
4633 },
4634 "leaf" : 0,
4635 "path" : "/cluster",
7aacca6f 4636 "text" : "cluster"
56122987
DM
4637 },
4638 {
56122987
DM
4639 "children" : [
4640 {
7aacca6f
DM
4641 "children" : [
4642 {
4643 "children" : [
4644 {
56122987
DM
4645 "children" : [
4646 {
56122987
DM
4647 "children" : [
4648 {
4649 "children" : [
4650 {
56122987
DM
4651 "info" : {
4652 "DELETE" : {
44660702 4653 "description" : "Delete rule.",
7aacca6f 4654 "method" : "DELETE",
44660702 4655 "name" : "delete_rule",
56122987 4656 "parameters" : {
44660702 4657 "additionalProperties" : 0,
56122987 4658 "properties" : {
44660702
DM
4659 "digest" : {
4660 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4661 "maxLength" : 40,
4662 "optional" : 1,
013dc89f
DM
4663 "type" : "string",
4664 "typetext" : "<string>"
44660702 4665 },
56122987 4666 "node" : {
7aacca6f 4667 "description" : "The cluster node name.",
44660702 4668 "format" : "pve-node",
013dc89f
DM
4669 "type" : "string",
4670 "typetext" : "<string>"
7aacca6f 4671 },
56122987 4672 "pos" : {
7aacca6f 4673 "description" : "Update rule at position <pos>.",
44660702 4674 "minimum" : 0,
56122987 4675 "optional" : 1,
4bd7df8b 4676 "type" : "integer",
013dc89f 4677 "typetext" : "<integer> (0 - N)"
44660702
DM
4678 },
4679 "vmid" : {
4680 "description" : "The (unique) ID of the VM.",
4681 "format" : "pve-vmid",
4682 "minimum" : 1,
4bd7df8b 4683 "type" : "integer",
013dc89f 4684 "typetext" : "<integer> (1 - N)"
56122987 4685 }
44660702 4686 }
7aacca6f 4687 },
56122987
DM
4688 "permissions" : {
4689 "check" : [
4690 "perm",
4691 "/vms/{vmid}",
4692 [
4693 "VM.Config.Network"
4694 ]
4695 ]
4696 },
44660702
DM
4697 "protected" : 1,
4698 "proxyto" : null,
56122987
DM
4699 "returns" : {
4700 "type" : "null"
44660702
DM
4701 }
4702 },
4703 "GET" : {
4704 "description" : "Get single rule data.",
4705 "method" : "GET",
4706 "name" : "get_rule",
4707 "parameters" : {
4708 "additionalProperties" : 0,
4709 "properties" : {
4710 "node" : {
4711 "description" : "The cluster node name.",
4712 "format" : "pve-node",
013dc89f
DM
4713 "type" : "string",
4714 "typetext" : "<string>"
44660702
DM
4715 },
4716 "pos" : {
4717 "description" : "Update rule at position <pos>.",
4718 "minimum" : 0,
4719 "optional" : 1,
4bd7df8b 4720 "type" : "integer",
013dc89f 4721 "typetext" : "<integer> (0 - N)"
44660702
DM
4722 },
4723 "vmid" : {
4724 "description" : "The (unique) ID of the VM.",
4725 "format" : "pve-vmid",
4726 "minimum" : 1,
4bd7df8b 4727 "type" : "integer",
013dc89f 4728 "typetext" : "<integer> (1 - N)"
44660702
DM
4729 }
4730 }
56122987 4731 },
56122987
DM
4732 "permissions" : {
4733 "check" : [
4734 "perm",
4735 "/vms/{vmid}",
4736 [
44660702 4737 "VM.Audit"
56122987
DM
4738 ]
4739 ]
4740 },
56122987 4741 "proxyto" : null,
44660702
DM
4742 "returns" : {
4743 "properties" : {
4744 "pos" : {
4745 "type" : "integer"
4746 }
4747 },
4748 "type" : "object"
4749 }
4750 },
4751 "PUT" : {
7aacca6f
DM
4752 "description" : "Modify rule data.",
4753 "method" : "PUT",
44660702 4754 "name" : "update_rule",
56122987 4755 "parameters" : {
44660702 4756 "additionalProperties" : 0,
56122987 4757 "properties" : {
44660702
DM
4758 "action" : {
4759 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4760 "maxLength" : 20,
4761 "minLength" : 2,
56122987 4762 "optional" : 1,
44660702 4763 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
4764 "type" : "string"
4765 },
7aacca6f 4766 "comment" : {
e94f0d56 4767 "description" : "Descriptive comment.",
7aacca6f 4768 "optional" : 1,
013dc89f
DM
4769 "type" : "string",
4770 "typetext" : "<string>"
7aacca6f
DM
4771 },
4772 "delete" : {
7aacca6f 4773 "description" : "A list of settings you want to delete.",
44660702
DM
4774 "format" : "pve-configid-list",
4775 "optional" : 1,
013dc89f
DM
4776 "type" : "string",
4777 "typetext" : "<string>"
7aacca6f
DM
4778 },
4779 "dest" : {
44660702 4780 "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 4781 "format" : "pve-fw-addr-spec",
56122987 4782 "optional" : 1,
013dc89f
DM
4783 "type" : "string",
4784 "typetext" : "<string>"
56122987 4785 },
7aacca6f 4786 "digest" : {
44660702 4787 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 4788 "maxLength" : 40,
56122987 4789 "optional" : 1,
013dc89f
DM
4790 "type" : "string",
4791 "typetext" : "<string>"
44660702
DM
4792 },
4793 "dport" : {
4794 "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.",
4795 "format" : "pve-fw-dport-spec",
4796 "optional" : 1,
013dc89f
DM
4797 "type" : "string",
4798 "typetext" : "<string>"
56122987 4799 },
7aacca6f 4800 "enable" : {
e94f0d56 4801 "description" : "Flag to enable/disable a rule.",
44660702 4802 "minimum" : 0,
56122987 4803 "optional" : 1,
4bd7df8b 4804 "type" : "integer",
013dc89f 4805 "typetext" : "<integer> (0 - N)"
7aacca6f 4806 },
44660702
DM
4807 "iface" : {
4808 "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.",
4809 "format" : "pve-iface",
4810 "maxLength" : 20,
7aacca6f 4811 "minLength" : 2,
56122987 4812 "optional" : 1,
013dc89f
DM
4813 "type" : "string",
4814 "typetext" : "<string>"
56122987 4815 },
44660702 4816 "macro" : {
e94f0d56 4817 "description" : "Use predefined standard macro.",
44660702 4818 "maxLength" : 128,
56122987 4819 "optional" : 1,
013dc89f
DM
4820 "type" : "string",
4821 "typetext" : "<string>"
56122987 4822 },
44660702
DM
4823 "moveto" : {
4824 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
4825 "minimum" : 0,
56122987 4826 "optional" : 1,
4bd7df8b 4827 "type" : "integer",
013dc89f 4828 "typetext" : "<integer> (0 - N)"
56122987 4829 },
44660702
DM
4830 "node" : {
4831 "description" : "The cluster node name.",
4832 "format" : "pve-node",
013dc89f
DM
4833 "type" : "string",
4834 "typetext" : "<string>"
44660702
DM
4835 },
4836 "pos" : {
4837 "description" : "Update rule at position <pos>.",
4838 "minimum" : 0,
4839 "optional" : 1,
4bd7df8b 4840 "type" : "integer",
013dc89f 4841 "typetext" : "<integer> (0 - N)"
56122987 4842 },
44660702
DM
4843 "proto" : {
4844 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4845 "format" : "pve-fw-protocol-spec",
4846 "optional" : 1,
013dc89f
DM
4847 "type" : "string",
4848 "typetext" : "<string>"
7aacca6f 4849 },
44660702
DM
4850 "source" : {
4851 "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.",
4852 "format" : "pve-fw-addr-spec",
56122987 4853 "optional" : 1,
013dc89f
DM
4854 "type" : "string",
4855 "typetext" : "<string>"
56122987
DM
4856 },
4857 "sport" : {
4858 "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
4859 "format" : "pve-fw-sport-spec",
4860 "optional" : 1,
013dc89f
DM
4861 "type" : "string",
4862 "typetext" : "<string>"
44660702
DM
4863 },
4864 "type" : {
e94f0d56 4865 "description" : "Rule type.",
44660702
DM
4866 "enum" : [
4867 "in",
4868 "out",
4869 "group"
4870 ],
56122987 4871 "optional" : 1,
56122987 4872 "type" : "string"
44660702
DM
4873 },
4874 "vmid" : {
4875 "description" : "The (unique) ID of the VM.",
4876 "format" : "pve-vmid",
4877 "minimum" : 1,
4bd7df8b 4878 "type" : "integer",
013dc89f 4879 "typetext" : "<integer> (1 - N)"
56122987 4880 }
44660702 4881 }
56122987 4882 },
56122987
DM
4883 "permissions" : {
4884 "check" : [
4885 "perm",
4886 "/vms/{vmid}",
4887 [
44660702 4888 "VM.Config.Network"
56122987
DM
4889 ]
4890 ]
7aacca6f 4891 },
44660702 4892 "protected" : 1,
7aacca6f 4893 "proxyto" : null,
7aacca6f 4894 "returns" : {
44660702
DM
4895 "type" : "null"
4896 }
56122987 4897 }
7aacca6f 4898 },
44660702 4899 "leaf" : 1,
7aacca6f 4900 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 4901 "text" : "{pos}"
56122987
DM
4902 }
4903 ],
56122987 4904 "info" : {
44660702
DM
4905 "GET" : {
4906 "description" : "List rules.",
4907 "method" : "GET",
4908 "name" : "get_rules",
4909 "parameters" : {
4910 "additionalProperties" : 0,
4911 "properties" : {
4912 "node" : {
4913 "description" : "The cluster node name.",
4914 "format" : "pve-node",
013dc89f
DM
4915 "type" : "string",
4916 "typetext" : "<string>"
44660702
DM
4917 },
4918 "vmid" : {
4919 "description" : "The (unique) ID of the VM.",
4920 "format" : "pve-vmid",
4921 "minimum" : 1,
4bd7df8b 4922 "type" : "integer",
013dc89f 4923 "typetext" : "<integer> (1 - N)"
44660702
DM
4924 }
4925 }
56122987 4926 },
56122987
DM
4927 "permissions" : {
4928 "check" : [
4929 "perm",
4930 "/vms/{vmid}",
4931 [
44660702 4932 "VM.Audit"
56122987
DM
4933 ]
4934 ]
7aacca6f 4935 },
44660702
DM
4936 "proxyto" : null,
4937 "returns" : {
4938 "items" : {
4939 "properties" : {
4940 "pos" : {
4941 "type" : "integer"
4942 }
4943 },
4944 "type" : "object"
4945 },
4946 "links" : [
4947 {
4948 "href" : "{pos}",
4949 "rel" : "child"
4950 }
4951 ],
4952 "type" : "array"
4953 }
4954 },
4955 "POST" : {
4956 "description" : "Create new rule.",
7aacca6f 4957 "method" : "POST",
44660702 4958 "name" : "create_rule",
56122987 4959 "parameters" : {
44660702 4960 "additionalProperties" : 0,
56122987 4961 "properties" : {
44660702
DM
4962 "action" : {
4963 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4964 "maxLength" : 20,
4965 "minLength" : 2,
4966 "optional" : 0,
4967 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4968 "type" : "string"
56122987 4969 },
44660702 4970 "comment" : {
e94f0d56 4971 "description" : "Descriptive comment.",
56122987 4972 "optional" : 1,
013dc89f
DM
4973 "type" : "string",
4974 "typetext" : "<string>"
56122987 4975 },
44660702
DM
4976 "dest" : {
4977 "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.",
4978 "format" : "pve-fw-addr-spec",
4979 "optional" : 1,
013dc89f
DM
4980 "type" : "string",
4981 "typetext" : "<string>"
56122987 4982 },
44660702
DM
4983 "digest" : {
4984 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4985 "maxLength" : 40,
56122987 4986 "optional" : 1,
013dc89f
DM
4987 "type" : "string",
4988 "typetext" : "<string>"
56122987 4989 },
7aacca6f
DM
4990 "dport" : {
4991 "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 4992 "format" : "pve-fw-dport-spec",
7aacca6f 4993 "optional" : 1,
013dc89f
DM
4994 "type" : "string",
4995 "typetext" : "<string>"
56122987
DM
4996 },
4997 "enable" : {
e94f0d56 4998 "description" : "Flag to enable/disable a rule.",
56122987 4999 "minimum" : 0,
44660702 5000 "optional" : 1,
4bd7df8b 5001 "type" : "integer",
013dc89f 5002 "typetext" : "<integer> (0 - N)"
56122987 5003 },
44660702
DM
5004 "iface" : {
5005 "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.",
5006 "format" : "pve-iface",
5007 "maxLength" : 20,
7aacca6f 5008 "minLength" : 2,
44660702 5009 "optional" : 1,
013dc89f
DM
5010 "type" : "string",
5011 "typetext" : "<string>"
56122987 5012 },
44660702 5013 "macro" : {
e94f0d56 5014 "description" : "Use predefined standard macro.",
44660702 5015 "maxLength" : 128,
56122987 5016 "optional" : 1,
013dc89f
DM
5017 "type" : "string",
5018 "typetext" : "<string>"
7aacca6f 5019 },
44660702
DM
5020 "node" : {
5021 "description" : "The cluster node name.",
5022 "format" : "pve-node",
013dc89f
DM
5023 "type" : "string",
5024 "typetext" : "<string>"
44660702
DM
5025 },
5026 "pos" : {
5027 "description" : "Update rule at position <pos>.",
5028 "minimum" : 0,
5029 "optional" : 1,
4bd7df8b 5030 "type" : "integer",
013dc89f 5031 "typetext" : "<integer> (0 - N)"
44660702
DM
5032 },
5033 "proto" : {
5034 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5035 "format" : "pve-fw-protocol-spec",
7aacca6f 5036 "optional" : 1,
013dc89f
DM
5037 "type" : "string",
5038 "typetext" : "<string>"
7aacca6f
DM
5039 },
5040 "source" : {
5041 "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 5042 "format" : "pve-fw-addr-spec",
7aacca6f 5043 "optional" : 1,
013dc89f
DM
5044 "type" : "string",
5045 "typetext" : "<string>"
7aacca6f 5046 },
44660702
DM
5047 "sport" : {
5048 "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.",
5049 "format" : "pve-fw-sport-spec",
7aacca6f 5050 "optional" : 1,
013dc89f
DM
5051 "type" : "string",
5052 "typetext" : "<string>"
7aacca6f 5053 },
44660702 5054 "type" : {
e94f0d56 5055 "description" : "Rule type.",
44660702
DM
5056 "enum" : [
5057 "in",
5058 "out",
5059 "group"
5060 ],
5061 "optional" : 0,
5062 "type" : "string"
7aacca6f 5063 },
7aacca6f 5064 "vmid" : {
44660702 5065 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
5066 "format" : "pve-vmid",
5067 "minimum" : 1,
4bd7df8b 5068 "type" : "integer",
013dc89f 5069 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5070 }
5071 }
5072 },
56122987
DM
5073 "permissions" : {
5074 "check" : [
5075 "perm",
5076 "/vms/{vmid}",
5077 [
44660702 5078 "VM.Config.Network"
56122987
DM
5079 ]
5080 ]
5081 },
44660702
DM
5082 "protected" : 1,
5083 "proxyto" : null,
56122987 5084 "returns" : {
44660702
DM
5085 "type" : "null"
5086 }
56122987
DM
5087 }
5088 },
44660702 5089 "leaf" : 0,
7aacca6f 5090 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 5091 "text" : "rules"
56122987
DM
5092 },
5093 {
5094 "children" : [
5095 {
56122987 5096 "info" : {
44660702
DM
5097 "DELETE" : {
5098 "description" : "Remove IP or Network alias.",
5099 "method" : "DELETE",
5100 "name" : "remove_alias",
56122987 5101 "parameters" : {
44660702 5102 "additionalProperties" : 0,
56122987 5103 "properties" : {
44660702
DM
5104 "digest" : {
5105 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5106 "maxLength" : 40,
5107 "optional" : 1,
013dc89f
DM
5108 "type" : "string",
5109 "typetext" : "<string>"
56122987
DM
5110 },
5111 "name" : {
56122987 5112 "description" : "Alias name.",
44660702 5113 "maxLength" : 64,
7aacca6f 5114 "minLength" : 2,
44660702 5115 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
5116 "type" : "string"
5117 },
7aacca6f 5118 "node" : {
44660702 5119 "description" : "The cluster node name.",
7aacca6f 5120 "format" : "pve-node",
013dc89f
DM
5121 "type" : "string",
5122 "typetext" : "<string>"
44660702
DM
5123 },
5124 "vmid" : {
5125 "description" : "The (unique) ID of the VM.",
5126 "format" : "pve-vmid",
5127 "minimum" : 1,
4bd7df8b 5128 "type" : "integer",
013dc89f 5129 "typetext" : "<integer> (1 - N)"
56122987 5130 }
44660702 5131 }
56122987 5132 },
7aacca6f
DM
5133 "permissions" : {
5134 "check" : [
5135 "perm",
5136 "/vms/{vmid}",
5137 [
5138 "VM.Config.Network"
5139 ]
5140 ]
56122987 5141 },
44660702
DM
5142 "protected" : 1,
5143 "returns" : {
5144 "type" : "null"
5145 }
5146 },
5147 "GET" : {
5148 "description" : "Read alias.",
5149 "method" : "GET",
5150 "name" : "read_alias",
56122987 5151 "parameters" : {
44660702 5152 "additionalProperties" : 0,
56122987 5153 "properties" : {
56122987 5154 "name" : {
7aacca6f 5155 "description" : "Alias name.",
44660702 5156 "maxLength" : 64,
56122987 5157 "minLength" : 2,
44660702 5158 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 5159 "type" : "string"
7aacca6f
DM
5160 },
5161 "node" : {
5162 "description" : "The cluster node name.",
44660702 5163 "format" : "pve-node",
013dc89f
DM
5164 "type" : "string",
5165 "typetext" : "<string>"
44660702
DM
5166 },
5167 "vmid" : {
5168 "description" : "The (unique) ID of the VM.",
5169 "format" : "pve-vmid",
5170 "minimum" : 1,
4bd7df8b 5171 "type" : "integer",
013dc89f 5172 "typetext" : "<integer> (1 - N)"
56122987 5173 }
44660702 5174 }
56122987 5175 },
44660702
DM
5176 "permissions" : {
5177 "check" : [
5178 "perm",
5179 "/vms/{vmid}",
5180 [
5181 "VM.Audit"
5182 ]
5183 ]
56122987 5184 },
44660702
DM
5185 "returns" : {
5186 "type" : "object"
5187 }
7aacca6f 5188 },
44660702
DM
5189 "PUT" : {
5190 "description" : "Update IP or Network alias.",
5191 "method" : "PUT",
5192 "name" : "update_alias",
56122987
DM
5193 "parameters" : {
5194 "additionalProperties" : 0,
5195 "properties" : {
44660702
DM
5196 "cidr" : {
5197 "description" : "Network/IP specification in CIDR format.",
5198 "format" : "IPorCIDR",
013dc89f
DM
5199 "type" : "string",
5200 "typetext" : "<string>"
44660702
DM
5201 },
5202 "comment" : {
5203 "optional" : 1,
013dc89f
DM
5204 "type" : "string",
5205 "typetext" : "<string>"
56122987
DM
5206 },
5207 "digest" : {
44660702 5208 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
5209 "maxLength" : 40,
5210 "optional" : 1,
013dc89f
DM
5211 "type" : "string",
5212 "typetext" : "<string>"
56122987 5213 },
7aacca6f 5214 "name" : {
44660702 5215 "description" : "Alias name.",
56122987
DM
5216 "maxLength" : 64,
5217 "minLength" : 2,
5218 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5219 "type" : "string"
7aacca6f
DM
5220 },
5221 "node" : {
7aacca6f 5222 "description" : "The cluster node name.",
44660702 5223 "format" : "pve-node",
013dc89f
DM
5224 "type" : "string",
5225 "typetext" : "<string>"
44660702
DM
5226 },
5227 "rename" : {
5228 "description" : "Rename an existing alias.",
5229 "maxLength" : 64,
5230 "minLength" : 2,
5231 "optional" : 1,
5232 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5233 "type" : "string"
5234 },
5235 "vmid" : {
5236 "description" : "The (unique) ID of the VM.",
5237 "format" : "pve-vmid",
5238 "minimum" : 1,
4bd7df8b 5239 "type" : "integer",
013dc89f 5240 "typetext" : "<integer> (1 - N)"
56122987
DM
5241 }
5242 }
5243 },
7aacca6f
DM
5244 "permissions" : {
5245 "check" : [
5246 "perm",
5247 "/vms/{vmid}",
5248 [
5249 "VM.Config.Network"
5250 ]
5251 ]
5252 },
5253 "protected" : 1,
7aacca6f
DM
5254 "returns" : {
5255 "type" : "null"
44660702 5256 }
56122987
DM
5257 }
5258 },
44660702 5259 "leaf" : 1,
7aacca6f 5260 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 5261 "text" : "{name}"
56122987
DM
5262 }
5263 ],
5264 "info" : {
44660702
DM
5265 "GET" : {
5266 "description" : "List aliases",
5267 "method" : "GET",
5268 "name" : "get_aliases",
56122987 5269 "parameters" : {
44660702 5270 "additionalProperties" : 0,
56122987 5271 "properties" : {
7aacca6f 5272 "node" : {
7aacca6f 5273 "description" : "The cluster node name.",
44660702 5274 "format" : "pve-node",
013dc89f
DM
5275 "type" : "string",
5276 "typetext" : "<string>"
56122987 5277 },
44660702
DM
5278 "vmid" : {
5279 "description" : "The (unique) ID of the VM.",
5280 "format" : "pve-vmid",
5281 "minimum" : 1,
4bd7df8b 5282 "type" : "integer",
013dc89f 5283 "typetext" : "<integer> (1 - N)"
56122987 5284 }
44660702 5285 }
56122987 5286 },
56122987
DM
5287 "permissions" : {
5288 "check" : [
5289 "perm",
5290 "/vms/{vmid}",
5291 [
44660702 5292 "VM.Audit"
56122987
DM
5293 ]
5294 ]
5295 },
56122987
DM
5296 "returns" : {
5297 "items" : {
5298 "properties" : {
44660702 5299 "cidr" : {
56122987
DM
5300 "type" : "string"
5301 },
44660702
DM
5302 "comment" : {
5303 "optional" : 1,
7aacca6f 5304 "type" : "string"
56122987
DM
5305 },
5306 "digest" : {
56122987 5307 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5308 "maxLength" : 40,
56122987
DM
5309 "optional" : 0,
5310 "type" : "string"
5311 },
44660702 5312 "name" : {
56122987
DM
5313 "type" : "string"
5314 }
44660702
DM
5315 },
5316 "type" : "object"
56122987 5317 },
56122987
DM
5318 "links" : [
5319 {
5320 "href" : "{name}",
5321 "rel" : "child"
5322 }
44660702
DM
5323 ],
5324 "type" : "array"
5325 }
5326 },
5327 "POST" : {
5328 "description" : "Create IP or Network Alias.",
5329 "method" : "POST",
5330 "name" : "create_alias",
56122987 5331 "parameters" : {
7aacca6f 5332 "additionalProperties" : 0,
56122987 5333 "properties" : {
44660702
DM
5334 "cidr" : {
5335 "description" : "Network/IP specification in CIDR format.",
5336 "format" : "IPorCIDR",
013dc89f
DM
5337 "type" : "string",
5338 "typetext" : "<string>"
44660702
DM
5339 },
5340 "comment" : {
5341 "optional" : 1,
013dc89f
DM
5342 "type" : "string",
5343 "typetext" : "<string>"
44660702
DM
5344 },
5345 "name" : {
5346 "description" : "Alias name.",
5347 "maxLength" : 64,
5348 "minLength" : 2,
5349 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5350 "type" : "string"
56122987
DM
5351 },
5352 "node" : {
7aacca6f 5353 "description" : "The cluster node name.",
44660702 5354 "format" : "pve-node",
013dc89f
DM
5355 "type" : "string",
5356 "typetext" : "<string>"
44660702
DM
5357 },
5358 "vmid" : {
5359 "description" : "The (unique) ID of the VM.",
5360 "format" : "pve-vmid",
5361 "minimum" : 1,
4bd7df8b 5362 "type" : "integer",
013dc89f 5363 "typetext" : "<integer> (1 - N)"
56122987 5364 }
7aacca6f 5365 }
56122987 5366 },
44660702
DM
5367 "permissions" : {
5368 "check" : [
5369 "perm",
5370 "/vms/{vmid}",
5371 [
5372 "VM.Config.Network"
5373 ]
5374 ]
5375 },
5376 "protected" : 1,
5377 "returns" : {
5378 "type" : "null"
5379 }
56122987 5380 }
44660702
DM
5381 },
5382 "leaf" : 0,
5383 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
5384 "text" : "aliases"
56122987
DM
5385 },
5386 {
56122987
DM
5387 "children" : [
5388 {
7aacca6f
DM
5389 "children" : [
5390 {
5391 "info" : {
5392 "DELETE" : {
44660702 5393 "description" : "Remove IP or Network from IPSet.",
7aacca6f 5394 "method" : "DELETE",
44660702 5395 "name" : "remove_ip",
7aacca6f 5396 "parameters" : {
44660702 5397 "additionalProperties" : 0,
7aacca6f 5398 "properties" : {
44660702
DM
5399 "cidr" : {
5400 "description" : "Network/IP specification in CIDR format.",
5401 "format" : "IPorCIDRorAlias",
013dc89f
DM
5402 "type" : "string",
5403 "typetext" : "<string>"
44660702
DM
5404 },
5405 "digest" : {
5406 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5407 "maxLength" : 40,
5408 "optional" : 1,
013dc89f
DM
5409 "type" : "string",
5410 "typetext" : "<string>"
44660702 5411 },
7aacca6f 5412 "name" : {
7aacca6f 5413 "description" : "IP set name.",
44660702
DM
5414 "maxLength" : 64,
5415 "minLength" : 2,
7aacca6f 5416 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5417 "type" : "string"
7aacca6f
DM
5418 },
5419 "node" : {
5420 "description" : "The cluster node name.",
44660702 5421 "format" : "pve-node",
013dc89f
DM
5422 "type" : "string",
5423 "typetext" : "<string>"
7aacca6f
DM
5424 },
5425 "vmid" : {
44660702 5426 "description" : "The (unique) ID of the VM.",
7aacca6f 5427 "format" : "pve-vmid",
44660702 5428 "minimum" : 1,
4bd7df8b 5429 "type" : "integer",
013dc89f 5430 "typetext" : "<integer> (1 - N)"
7aacca6f 5431 }
44660702 5432 }
7aacca6f 5433 },
7aacca6f
DM
5434 "permissions" : {
5435 "check" : [
5436 "perm",
5437 "/vms/{vmid}",
5438 [
5439 "VM.Config.Network"
5440 ]
5441 ]
5442 },
5443 "protected" : 1,
44660702
DM
5444 "returns" : {
5445 "type" : "null"
5446 }
56122987 5447 },
44660702
DM
5448 "GET" : {
5449 "description" : "Read IP or Network settings from IPSet.",
5450 "method" : "GET",
5451 "name" : "read_ip",
7aacca6f 5452 "parameters" : {
44660702 5453 "additionalProperties" : 0,
7aacca6f 5454 "properties" : {
7aacca6f 5455 "cidr" : {
44660702 5456 "description" : "Network/IP specification in CIDR format.",
7aacca6f 5457 "format" : "IPorCIDRorAlias",
013dc89f
DM
5458 "type" : "string",
5459 "typetext" : "<string>"
7aacca6f
DM
5460 },
5461 "name" : {
7aacca6f 5462 "description" : "IP set name.",
44660702 5463 "maxLength" : 64,
7aacca6f 5464 "minLength" : 2,
44660702
DM
5465 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5466 "type" : "string"
7aacca6f 5467 },
44660702
DM
5468 "node" : {
5469 "description" : "The cluster node name.",
5470 "format" : "pve-node",
013dc89f
DM
5471 "type" : "string",
5472 "typetext" : "<string>"
7aacca6f 5473 },
44660702
DM
5474 "vmid" : {
5475 "description" : "The (unique) ID of the VM.",
5476 "format" : "pve-vmid",
5477 "minimum" : 1,
4bd7df8b 5478 "type" : "integer",
013dc89f 5479 "typetext" : "<integer> (1 - N)"
7aacca6f 5480 }
44660702 5481 }
7aacca6f 5482 },
44660702
DM
5483 "permissions" : {
5484 "check" : [
5485 "perm",
5486 "/vms/{vmid}",
5487 [
5488 "VM.Audit"
5489 ]
5490 ]
5491 },
5492 "protected" : 1,
7aacca6f 5493 "returns" : {
44660702 5494 "type" : "object"
7aacca6f 5495 }
56122987 5496 },
44660702
DM
5497 "PUT" : {
5498 "description" : "Update IP or Network settings",
5499 "method" : "PUT",
5500 "name" : "update_ip",
7aacca6f
DM
5501 "parameters" : {
5502 "additionalProperties" : 0,
5503 "properties" : {
44660702
DM
5504 "cidr" : {
5505 "description" : "Network/IP specification in CIDR format.",
5506 "format" : "IPorCIDRorAlias",
013dc89f
DM
5507 "type" : "string",
5508 "typetext" : "<string>"
44660702
DM
5509 },
5510 "comment" : {
5511 "optional" : 1,
013dc89f
DM
5512 "type" : "string",
5513 "typetext" : "<string>"
44660702
DM
5514 },
5515 "digest" : {
5516 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5517 "maxLength" : 40,
5518 "optional" : 1,
013dc89f
DM
5519 "type" : "string",
5520 "typetext" : "<string>"
44660702 5521 },
7aacca6f 5522 "name" : {
7aacca6f 5523 "description" : "IP set name.",
44660702 5524 "maxLength" : 64,
7aacca6f 5525 "minLength" : 2,
44660702
DM
5526 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5527 "type" : "string"
7aacca6f
DM
5528 },
5529 "node" : {
7aacca6f 5530 "description" : "The cluster node name.",
44660702 5531 "format" : "pve-node",
013dc89f
DM
5532 "type" : "string",
5533 "typetext" : "<string>"
7aacca6f 5534 },
44660702
DM
5535 "nomatch" : {
5536 "optional" : 1,
013dc89f
DM
5537 "type" : "boolean",
5538 "typetext" : "<boolean>"
7aacca6f
DM
5539 },
5540 "vmid" : {
5541 "description" : "The (unique) ID of the VM.",
44660702 5542 "format" : "pve-vmid",
7aacca6f 5543 "minimum" : 1,
4bd7df8b 5544 "type" : "integer",
013dc89f 5545 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5546 }
5547 }
5548 },
5549 "permissions" : {
5550 "check" : [
5551 "perm",
5552 "/vms/{vmid}",
5553 [
44660702 5554 "VM.Config.Network"
7aacca6f
DM
5555 ]
5556 ]
5557 },
7aacca6f 5558 "protected" : 1,
7aacca6f 5559 "returns" : {
44660702 5560 "type" : "null"
7aacca6f 5561 }
56122987 5562 }
7aacca6f 5563 },
7aacca6f 5564 "leaf" : 1,
44660702
DM
5565 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
5566 "text" : "{cidr}"
7aacca6f 5567 }
44660702
DM
5568 ],
5569 "info" : {
5570 "DELETE" : {
5571 "description" : "Delete IPSet",
5572 "method" : "DELETE",
5573 "name" : "delete_ipset",
5574 "parameters" : {
5575 "additionalProperties" : 0,
5576 "properties" : {
5577 "name" : {
5578 "description" : "IP set name.",
5579 "maxLength" : 64,
5580 "minLength" : 2,
5581 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5582 "type" : "string"
5583 },
5584 "node" : {
5585 "description" : "The cluster node name.",
5586 "format" : "pve-node",
013dc89f
DM
5587 "type" : "string",
5588 "typetext" : "<string>"
44660702
DM
5589 },
5590 "vmid" : {
5591 "description" : "The (unique) ID of the VM.",
5592 "format" : "pve-vmid",
5593 "minimum" : 1,
4bd7df8b 5594 "type" : "integer",
013dc89f 5595 "typetext" : "<integer> (1 - N)"
44660702
DM
5596 }
5597 }
7aacca6f 5598 },
44660702
DM
5599 "permissions" : {
5600 "check" : [
5601 "perm",
5602 "/vms/{vmid}",
5603 [
5604 "VM.Config.Network"
5605 ]
5606 ]
7aacca6f 5607 },
44660702
DM
5608 "protected" : 1,
5609 "returns" : {
5610 "type" : "null"
5611 }
5612 },
5613 "GET" : {
5614 "description" : "List IPSet content",
5615 "method" : "GET",
5616 "name" : "get_ipset",
5617 "parameters" : {
5618 "additionalProperties" : 0,
5619 "properties" : {
5620 "name" : {
5621 "description" : "IP set name.",
5622 "maxLength" : 64,
5623 "minLength" : 2,
5624 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5625 "type" : "string"
5626 },
5627 "node" : {
5628 "description" : "The cluster node name.",
5629 "format" : "pve-node",
013dc89f
DM
5630 "type" : "string",
5631 "typetext" : "<string>"
44660702
DM
5632 },
5633 "vmid" : {
5634 "description" : "The (unique) ID of the VM.",
5635 "format" : "pve-vmid",
5636 "minimum" : 1,
4bd7df8b 5637 "type" : "integer",
013dc89f 5638 "typetext" : "<integer> (1 - N)"
44660702
DM
5639 }
5640 }
7aacca6f 5641 },
44660702
DM
5642 "permissions" : {
5643 "check" : [
5644 "perm",
5645 "/vms/{vmid}",
5646 [
5647 "VM.Audit"
5648 ]
5649 ]
7aacca6f 5650 },
44660702
DM
5651 "returns" : {
5652 "items" : {
5653 "properties" : {
5654 "cidr" : {
5655 "type" : "string"
5656 },
5657 "comment" : {
5658 "optional" : 1,
5659 "type" : "string"
5660 },
5661 "digest" : {
5662 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5663 "maxLength" : 40,
5664 "optional" : 0,
5665 "type" : "string"
5666 },
5667 "nomatch" : {
5668 "optional" : 1,
5669 "type" : "boolean"
5670 }
5671 },
5672 "type" : "object"
5673 },
5674 "links" : [
5675 {
5676 "href" : "{cidr}",
5677 "rel" : "child"
5678 }
5679 ],
5680 "type" : "array"
56122987
DM
5681 }
5682 },
44660702
DM
5683 "POST" : {
5684 "description" : "Add IP or Network to IPSet.",
5685 "method" : "POST",
5686 "name" : "create_ip",
5687 "parameters" : {
5688 "additionalProperties" : 0,
5689 "properties" : {
5690 "cidr" : {
5691 "description" : "Network/IP specification in CIDR format.",
5692 "format" : "IPorCIDRorAlias",
013dc89f
DM
5693 "type" : "string",
5694 "typetext" : "<string>"
44660702
DM
5695 },
5696 "comment" : {
5697 "optional" : 1,
013dc89f
DM
5698 "type" : "string",
5699 "typetext" : "<string>"
44660702
DM
5700 },
5701 "name" : {
5702 "description" : "IP set name.",
5703 "maxLength" : 64,
5704 "minLength" : 2,
5705 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5706 "type" : "string"
5707 },
5708 "node" : {
5709 "description" : "The cluster node name.",
5710 "format" : "pve-node",
013dc89f
DM
5711 "type" : "string",
5712 "typetext" : "<string>"
44660702
DM
5713 },
5714 "nomatch" : {
5715 "optional" : 1,
013dc89f
DM
5716 "type" : "boolean",
5717 "typetext" : "<boolean>"
44660702
DM
5718 },
5719 "vmid" : {
5720 "description" : "The (unique) ID of the VM.",
5721 "format" : "pve-vmid",
5722 "minimum" : 1,
4bd7df8b 5723 "type" : "integer",
013dc89f 5724 "typetext" : "<integer> (1 - N)"
44660702
DM
5725 }
5726 }
5727 },
5728 "permissions" : {
5729 "check" : [
5730 "perm",
5731 "/vms/{vmid}",
5732 [
5733 "VM.Config.Network"
5734 ]
5735 ]
5736 },
5737 "protected" : 1,
5738 "returns" : {
5739 "type" : "null"
5740 }
5741 }
5742 },
5743 "leaf" : 0,
5744 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
5745 "text" : "{name}"
5746 }
5747 ],
5748 "info" : {
5749 "GET" : {
5750 "description" : "List IPSets",
5751 "method" : "GET",
5752 "name" : "ipset_index",
5753 "parameters" : {
5754 "additionalProperties" : 0,
5755 "properties" : {
5756 "node" : {
5757 "description" : "The cluster node name.",
5758 "format" : "pve-node",
013dc89f
DM
5759 "type" : "string",
5760 "typetext" : "<string>"
44660702
DM
5761 },
5762 "vmid" : {
5763 "description" : "The (unique) ID of the VM.",
5764 "format" : "pve-vmid",
5765 "minimum" : 1,
4bd7df8b 5766 "type" : "integer",
013dc89f 5767 "typetext" : "<integer> (1 - N)"
44660702
DM
5768 }
5769 }
56122987
DM
5770 },
5771 "permissions" : {
5772 "check" : [
5773 "perm",
5774 "/vms/{vmid}",
5775 [
44660702 5776 "VM.Audit"
56122987
DM
5777 ]
5778 ]
5779 },
7aacca6f 5780 "returns" : {
7aacca6f
DM
5781 "items" : {
5782 "properties" : {
7aacca6f
DM
5783 "comment" : {
5784 "optional" : 1,
5785 "type" : "string"
5786 },
5787 "digest" : {
7aacca6f 5788 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
5789 "maxLength" : 40,
5790 "optional" : 0,
5791 "type" : "string"
5792 },
5793 "name" : {
5794 "description" : "IP set name.",
5795 "maxLength" : 64,
5796 "minLength" : 2,
5797 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5798 "type" : "string"
7aacca6f
DM
5799 }
5800 },
5801 "type" : "object"
5802 },
5803 "links" : [
5804 {
44660702
DM
5805 "href" : "{name}",
5806 "rel" : "child"
7aacca6f 5807 }
44660702
DM
5808 ],
5809 "type" : "array"
5810 }
5811 },
5812 "POST" : {
5813 "description" : "Create new IPSet",
5814 "method" : "POST",
5815 "name" : "create_ipset",
56122987
DM
5816 "parameters" : {
5817 "additionalProperties" : 0,
5818 "properties" : {
44660702
DM
5819 "comment" : {
5820 "optional" : 1,
013dc89f
DM
5821 "type" : "string",
5822 "typetext" : "<string>"
56122987 5823 },
44660702
DM
5824 "digest" : {
5825 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5826 "maxLength" : 40,
5827 "optional" : 1,
013dc89f
DM
5828 "type" : "string",
5829 "typetext" : "<string>"
44660702
DM
5830 },
5831 "name" : {
5832 "description" : "IP set name.",
5833 "maxLength" : 64,
5834 "minLength" : 2,
5835 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5836 "type" : "string"
5837 },
5838 "node" : {
5839 "description" : "The cluster node name.",
5840 "format" : "pve-node",
013dc89f
DM
5841 "type" : "string",
5842 "typetext" : "<string>"
44660702
DM
5843 },
5844 "rename" : {
5845 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
5846 "maxLength" : 64,
5847 "minLength" : 2,
5848 "optional" : 1,
5849 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5850 "type" : "string"
5851 },
5852 "vmid" : {
5853 "description" : "The (unique) ID of the VM.",
5854 "format" : "pve-vmid",
5855 "minimum" : 1,
4bd7df8b 5856 "type" : "integer",
013dc89f 5857 "typetext" : "<integer> (1 - N)"
44660702
DM
5858 }
5859 }
5860 },
7aacca6f
DM
5861 "permissions" : {
5862 "check" : [
5863 "perm",
5864 "/vms/{vmid}",
5865 [
5866 "VM.Config.Network"
5867 ]
5868 ]
5869 },
44660702 5870 "protected" : 1,
56122987 5871 "returns" : {
7aacca6f 5872 "type" : "null"
44660702
DM
5873 }
5874 }
5875 },
5876 "leaf" : 0,
5877 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
5878 "text" : "ipset"
5879 },
5880 {
5881 "info" : {
5882 "GET" : {
5883 "description" : "Get VM firewall options.",
5884 "method" : "GET",
5885 "name" : "get_options",
7aacca6f
DM
5886 "parameters" : {
5887 "additionalProperties" : 0,
56122987 5888 "properties" : {
7aacca6f
DM
5889 "node" : {
5890 "description" : "The cluster node name.",
44660702 5891 "format" : "pve-node",
013dc89f
DM
5892 "type" : "string",
5893 "typetext" : "<string>"
7aacca6f 5894 },
44660702
DM
5895 "vmid" : {
5896 "description" : "The (unique) ID of the VM.",
5897 "format" : "pve-vmid",
5898 "minimum" : 1,
4bd7df8b 5899 "type" : "integer",
013dc89f 5900 "typetext" : "<integer> (1 - N)"
44660702
DM
5901 }
5902 }
5903 },
5904 "permissions" : {
5905 "check" : [
5906 "perm",
5907 "/vms/{vmid}",
5908 [
5909 "VM.Audit"
5910 ]
5911 ]
5912 },
5913 "proxyto" : "node",
5914 "returns" : {
5915 "properties" : {
5916 "dhcp" : {
5917 "description" : "Enable DHCP.",
56122987 5918 "optional" : 1,
44660702 5919 "type" : "boolean"
56122987 5920 },
44660702
DM
5921 "enable" : {
5922 "description" : "Enable/disable firewall rules.",
7aacca6f 5923 "optional" : 1,
44660702 5924 "type" : "boolean"
56122987 5925 },
44660702
DM
5926 "ipfilter" : {
5927 "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 5928 "optional" : 1,
44660702 5929 "type" : "boolean"
7aacca6f 5930 },
56122987 5931 "log_level_in" : {
7aacca6f 5932 "description" : "Log level for incoming traffic.",
56122987
DM
5933 "enum" : [
5934 "emerg",
5935 "alert",
5936 "crit",
5937 "err",
5938 "warning",
5939 "notice",
5940 "info",
5941 "debug",
5942 "nolog"
5943 ],
56122987
DM
5944 "optional" : 1,
5945 "type" : "string"
5946 },
44660702
DM
5947 "log_level_out" : {
5948 "description" : "Log level for outgoing traffic.",
5949 "enum" : [
5950 "emerg",
5951 "alert",
5952 "crit",
5953 "err",
5954 "warning",
5955 "notice",
5956 "info",
5957 "debug",
5958 "nolog"
5959 ],
5960 "optional" : 1,
5961 "type" : "string"
5962 },
5963 "macfilter" : {
5964 "description" : "Enable/disable MAC address filter.",
56122987 5965 "optional" : 1,
7aacca6f 5966 "type" : "boolean"
56122987
DM
5967 },
5968 "ndp" : {
44660702 5969 "description" : "Enable NDP.",
56122987 5970 "optional" : 1,
44660702 5971 "type" : "boolean"
56122987
DM
5972 },
5973 "policy_in" : {
56122987
DM
5974 "description" : "Input policy.",
5975 "enum" : [
5976 "ACCEPT",
5977 "REJECT",
5978 "DROP"
44660702
DM
5979 ],
5980 "optional" : 1,
5981 "type" : "string"
56122987 5982 },
44660702
DM
5983 "policy_out" : {
5984 "description" : "Output policy.",
5985 "enum" : [
5986 "ACCEPT",
5987 "REJECT",
5988 "DROP"
5989 ],
5990 "optional" : 1,
5991 "type" : "string"
5992 },
5993 "radv" : {
5994 "description" : "Allow sending Router Advertisement.",
5995 "optional" : 1,
5996 "type" : "boolean"
5997 }
5998 },
5999 "type" : "object"
6000 }
6001 },
6002 "PUT" : {
6003 "description" : "Set Firewall options.",
6004 "method" : "PUT",
6005 "name" : "set_options",
6006 "parameters" : {
6007 "additionalProperties" : 0,
6008 "properties" : {
6009 "delete" : {
6010 "description" : "A list of settings you want to delete.",
6011 "format" : "pve-configid-list",
6012 "optional" : 1,
013dc89f
DM
6013 "type" : "string",
6014 "typetext" : "<string>"
44660702
DM
6015 },
6016 "dhcp" : {
6017 "description" : "Enable DHCP.",
7aacca6f 6018 "optional" : 1,
013dc89f
DM
6019 "type" : "boolean",
6020 "typetext" : "<boolean>"
7aacca6f
DM
6021 },
6022 "digest" : {
6023 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 6024 "maxLength" : 40,
7aacca6f 6025 "optional" : 1,
013dc89f
DM
6026 "type" : "string",
6027 "typetext" : "<string>"
7aacca6f
DM
6028 },
6029 "enable" : {
6030 "description" : "Enable/disable firewall rules.",
56122987 6031 "optional" : 1,
013dc89f
DM
6032 "type" : "boolean",
6033 "typetext" : "<boolean>"
7aacca6f 6034 },
44660702
DM
6035 "ipfilter" : {
6036 "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.",
6037 "optional" : 1,
013dc89f
DM
6038 "type" : "boolean",
6039 "typetext" : "<boolean>"
44660702
DM
6040 },
6041 "log_level_in" : {
6042 "description" : "Log level for incoming traffic.",
56122987
DM
6043 "enum" : [
6044 "emerg",
6045 "alert",
6046 "crit",
6047 "err",
6048 "warning",
6049 "notice",
6050 "info",
6051 "debug",
6052 "nolog"
7aacca6f 6053 ],
7aacca6f 6054 "optional" : 1,
44660702 6055 "type" : "string"
7aacca6f 6056 },
44660702
DM
6057 "log_level_out" : {
6058 "description" : "Log level for outgoing traffic.",
56122987
DM
6059 "enum" : [
6060 "emerg",
6061 "alert",
6062 "crit",
6063 "err",
6064 "warning",
6065 "notice",
6066 "info",
6067 "debug",
6068 "nolog"
6069 ],
56122987 6070 "optional" : 1,
44660702 6071 "type" : "string"
56122987
DM
6072 },
6073 "macfilter" : {
56122987 6074 "description" : "Enable/disable MAC address filter.",
7aacca6f 6075 "optional" : 1,
013dc89f
DM
6076 "type" : "boolean",
6077 "typetext" : "<boolean>"
56122987 6078 },
44660702
DM
6079 "ndp" : {
6080 "description" : "Enable NDP.",
6081 "optional" : 1,
013dc89f
DM
6082 "type" : "boolean",
6083 "typetext" : "<boolean>"
44660702
DM
6084 },
6085 "node" : {
6086 "description" : "The cluster node name.",
6087 "format" : "pve-node",
013dc89f
DM
6088 "type" : "string",
6089 "typetext" : "<string>"
44660702 6090 },
56122987 6091 "policy_in" : {
44660702 6092 "description" : "Input policy.",
56122987
DM
6093 "enum" : [
6094 "ACCEPT",
6095 "REJECT",
6096 "DROP"
7aacca6f 6097 ],
56122987 6098 "optional" : 1,
7aacca6f 6099 "type" : "string"
56122987 6100 },
44660702
DM
6101 "policy_out" : {
6102 "description" : "Output policy.",
6103 "enum" : [
6104 "ACCEPT",
6105 "REJECT",
6106 "DROP"
6107 ],
56122987 6108 "optional" : 1,
44660702 6109 "type" : "string"
56122987 6110 },
44660702
DM
6111 "radv" : {
6112 "description" : "Allow sending Router Advertisement.",
56122987 6113 "optional" : 1,
013dc89f
DM
6114 "type" : "boolean",
6115 "typetext" : "<boolean>"
7aacca6f
DM
6116 },
6117 "vmid" : {
6118 "description" : "The (unique) ID of the VM.",
44660702 6119 "format" : "pve-vmid",
7aacca6f 6120 "minimum" : 1,
4bd7df8b 6121 "type" : "integer",
013dc89f 6122 "typetext" : "<integer> (1 - N)"
56122987
DM
6123 }
6124 }
6125 },
56122987
DM
6126 "permissions" : {
6127 "check" : [
6128 "perm",
6129 "/vms/{vmid}",
6130 [
44660702 6131 "VM.Config.Network"
56122987
DM
6132 ]
6133 ]
7aacca6f 6134 },
44660702 6135 "protected" : 1,
7aacca6f 6136 "proxyto" : "node",
44660702
DM
6137 "returns" : {
6138 "type" : "null"
6139 }
56122987
DM
6140 }
6141 },
44660702 6142 "leaf" : 1,
7aacca6f 6143 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 6144 "text" : "options"
56122987
DM
6145 },
6146 {
56122987
DM
6147 "info" : {
6148 "GET" : {
44660702
DM
6149 "description" : "Read firewall log",
6150 "method" : "GET",
6151 "name" : "log",
6152 "parameters" : {
6153 "additionalProperties" : 0,
6154 "properties" : {
6155 "limit" : {
6156 "minimum" : 0,
6157 "optional" : 1,
4bd7df8b 6158 "type" : "integer",
013dc89f 6159 "typetext" : "<integer> (0 - N)"
56122987 6160 },
44660702
DM
6161 "node" : {
6162 "description" : "The cluster node name.",
6163 "format" : "pve-node",
013dc89f
DM
6164 "type" : "string",
6165 "typetext" : "<string>"
44660702
DM
6166 },
6167 "start" : {
6168 "minimum" : 0,
6169 "optional" : 1,
4bd7df8b 6170 "type" : "integer",
013dc89f 6171 "typetext" : "<integer> (0 - N)"
44660702
DM
6172 },
6173 "vmid" : {
6174 "description" : "The (unique) ID of the VM.",
6175 "format" : "pve-vmid",
6176 "minimum" : 1,
4bd7df8b 6177 "type" : "integer",
013dc89f 6178 "typetext" : "<integer> (1 - N)"
44660702
DM
6179 }
6180 }
7aacca6f 6181 },
7aacca6f
DM
6182 "permissions" : {
6183 "check" : [
6184 "perm",
6185 "/vms/{vmid}",
6186 [
6187 "VM.Console"
6188 ]
6189 ]
56122987 6190 },
7aacca6f 6191 "protected" : 1,
44660702
DM
6192 "proxyto" : "node",
6193 "returns" : {
6194 "items" : {
6195 "properties" : {
6196 "n" : {
6197 "description" : "Line number",
6198 "type" : "integer"
6199 },
6200 "t" : {
6201 "description" : "Line text",
6202 "type" : "string"
6203 }
56122987 6204 },
44660702 6205 "type" : "object"
7aacca6f 6206 },
44660702 6207 "type" : "array"
7aacca6f
DM
6208 }
6209 }
6210 },
44660702 6211 "leaf" : 1,
7aacca6f 6212 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 6213 "text" : "log"
7aacca6f
DM
6214 },
6215 {
7aacca6f
DM
6216 "info" : {
6217 "GET" : {
6218 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
6219 "method" : "GET",
6220 "name" : "refs",
56122987 6221 "parameters" : {
44660702 6222 "additionalProperties" : 0,
56122987
DM
6223 "properties" : {
6224 "node" : {
7aacca6f 6225 "description" : "The cluster node name.",
44660702 6226 "format" : "pve-node",
013dc89f
DM
6227 "type" : "string",
6228 "typetext" : "<string>"
56122987
DM
6229 },
6230 "type" : {
56122987
DM
6231 "description" : "Only list references of specified type.",
6232 "enum" : [
6233 "alias",
6234 "ipset"
7aacca6f 6235 ],
44660702
DM
6236 "optional" : 1,
6237 "type" : "string"
6238 },
6239 "vmid" : {
6240 "description" : "The (unique) ID of the VM.",
6241 "format" : "pve-vmid",
6242 "minimum" : 1,
4bd7df8b 6243 "type" : "integer",
013dc89f 6244 "typetext" : "<integer> (1 - N)"
56122987 6245 }
44660702
DM
6246 }
6247 },
6248 "permissions" : {
6249 "check" : [
6250 "perm",
6251 "/vms/{vmid}",
6252 [
6253 "VM.Audit"
6254 ]
6255 ]
56122987
DM
6256 },
6257 "returns" : {
56122987
DM
6258 "items" : {
6259 "properties" : {
44660702
DM
6260 "comment" : {
6261 "optional" : 1,
56122987
DM
6262 "type" : "string"
6263 },
6264 "name" : {
6265 "type" : "string"
6266 },
44660702
DM
6267 "type" : {
6268 "enum" : [
6269 "alias",
6270 "ipset"
6271 ],
7aacca6f 6272 "type" : "string"
56122987
DM
6273 }
6274 },
6275 "type" : "object"
7aacca6f
DM
6276 },
6277 "type" : "array"
6278 }
56122987 6279 }
44660702
DM
6280 },
6281 "leaf" : 1,
6282 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
6283 "text" : "refs"
56122987
DM
6284 }
6285 ],
56122987
DM
6286 "info" : {
6287 "GET" : {
44660702 6288 "description" : "Directory index.",
56122987 6289 "method" : "GET",
44660702 6290 "name" : "index",
56122987 6291 "parameters" : {
44660702 6292 "additionalProperties" : 0,
56122987
DM
6293 "properties" : {
6294 "node" : {
6295 "description" : "The cluster node name.",
44660702 6296 "format" : "pve-node",
013dc89f
DM
6297 "type" : "string",
6298 "typetext" : "<string>"
56122987
DM
6299 },
6300 "vmid" : {
44660702 6301 "description" : "The (unique) ID of the VM.",
56122987
DM
6302 "format" : "pve-vmid",
6303 "minimum" : 1,
4bd7df8b 6304 "type" : "integer",
013dc89f 6305 "typetext" : "<integer> (1 - N)"
56122987 6306 }
44660702 6307 }
56122987 6308 },
56122987 6309 "permissions" : {
27a7acb2
DM
6310 "user" : "all"
6311 },
6312 "returns" : {
6313 "items" : {
6314 "properties" : {},
6315 "type" : "object"
6316 },
6317 "links" : [
6318 {
6319 "href" : "{name}",
6320 "rel" : "child"
6321 }
6322 ],
6323 "type" : "array"
6324 }
6325 }
6326 },
6327 "leaf" : 0,
6328 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
6329 "text" : "firewall"
6330 },
6331 {
6332 "children" : [
6333 {
6334 "info" : {
6335 "POST" : {
6336 "description" : "Execute fsfreeze-freeze.",
6337 "method" : "POST",
6338 "name" : "fsfreeze-freeze",
6339 "parameters" : {
6340 "additionalProperties" : 0,
6341 "properties" : {
6342 "node" : {
6343 "description" : "The cluster node name.",
6344 "format" : "pve-node",
6345 "type" : "string",
6346 "typetext" : "<string>"
6347 },
6348 "vmid" : {
6349 "description" : "The (unique) ID of the VM.",
6350 "format" : "pve-vmid",
6351 "minimum" : 1,
6352 "type" : "integer",
6353 "typetext" : "<integer> (1 - N)"
6354 }
6355 }
6356 },
6357 "permissions" : {
6358 "check" : [
6359 "perm",
6360 "/vms/{vmid}",
6361 [
6362 "VM.Monitor"
6363 ]
6364 ]
6365 },
6366 "protected" : 1,
6367 "proxyto" : "node",
6368 "returns" : {
6369 "description" : "Returns an object with a single `result` property.",
6370 "type" : "object"
6371 }
6372 }
6373 },
6374 "leaf" : 1,
6375 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
6376 "text" : "fsfreeze-freeze"
6377 },
6378 {
6379 "info" : {
6380 "POST" : {
6381 "description" : "Execute fsfreeze-status.",
6382 "method" : "POST",
6383 "name" : "fsfreeze-status",
6384 "parameters" : {
6385 "additionalProperties" : 0,
6386 "properties" : {
6387 "node" : {
6388 "description" : "The cluster node name.",
6389 "format" : "pve-node",
6390 "type" : "string",
6391 "typetext" : "<string>"
6392 },
6393 "vmid" : {
6394 "description" : "The (unique) ID of the VM.",
6395 "format" : "pve-vmid",
6396 "minimum" : 1,
6397 "type" : "integer",
6398 "typetext" : "<integer> (1 - N)"
6399 }
6400 }
6401 },
6402 "permissions" : {
6403 "check" : [
6404 "perm",
6405 "/vms/{vmid}",
6406 [
6407 "VM.Monitor"
6408 ]
6409 ]
6410 },
6411 "protected" : 1,
6412 "proxyto" : "node",
6413 "returns" : {
6414 "description" : "Returns an object with a single `result` property.",
6415 "type" : "object"
6416 }
6417 }
6418 },
6419 "leaf" : 1,
6420 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
6421 "text" : "fsfreeze-status"
6422 },
6423 {
6424 "info" : {
6425 "POST" : {
6426 "description" : "Execute fsfreeze-thaw.",
6427 "method" : "POST",
6428 "name" : "fsfreeze-thaw",
6429 "parameters" : {
6430 "additionalProperties" : 0,
6431 "properties" : {
6432 "node" : {
6433 "description" : "The cluster node name.",
6434 "format" : "pve-node",
6435 "type" : "string",
6436 "typetext" : "<string>"
6437 },
6438 "vmid" : {
6439 "description" : "The (unique) ID of the VM.",
6440 "format" : "pve-vmid",
6441 "minimum" : 1,
6442 "type" : "integer",
6443 "typetext" : "<integer> (1 - N)"
6444 }
6445 }
6446 },
6447 "permissions" : {
6448 "check" : [
6449 "perm",
6450 "/vms/{vmid}",
6451 [
6452 "VM.Monitor"
6453 ]
6454 ]
6455 },
6456 "protected" : 1,
6457 "proxyto" : "node",
6458 "returns" : {
6459 "description" : "Returns an object with a single `result` property.",
6460 "type" : "object"
6461 }
6462 }
6463 },
6464 "leaf" : 1,
6465 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
6466 "text" : "fsfreeze-thaw"
6467 },
6468 {
6469 "info" : {
6470 "POST" : {
6471 "description" : "Execute fstrim.",
6472 "method" : "POST",
6473 "name" : "fstrim",
6474 "parameters" : {
6475 "additionalProperties" : 0,
6476 "properties" : {
6477 "node" : {
6478 "description" : "The cluster node name.",
6479 "format" : "pve-node",
6480 "type" : "string",
6481 "typetext" : "<string>"
6482 },
6483 "vmid" : {
6484 "description" : "The (unique) ID of the VM.",
6485 "format" : "pve-vmid",
6486 "minimum" : 1,
6487 "type" : "integer",
6488 "typetext" : "<integer> (1 - N)"
6489 }
6490 }
6491 },
6492 "permissions" : {
6493 "check" : [
6494 "perm",
6495 "/vms/{vmid}",
6496 [
6497 "VM.Monitor"
6498 ]
6499 ]
6500 },
6501 "protected" : 1,
6502 "proxyto" : "node",
6503 "returns" : {
6504 "description" : "Returns an object with a single `result` property.",
6505 "type" : "object"
6506 }
6507 }
6508 },
6509 "leaf" : 1,
6510 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
6511 "text" : "fstrim"
6512 },
6513 {
6514 "info" : {
6515 "GET" : {
6516 "description" : "Execute get-fsinfo.",
6517 "method" : "GET",
6518 "name" : "get-fsinfo",
6519 "parameters" : {
6520 "additionalProperties" : 0,
6521 "properties" : {
6522 "node" : {
6523 "description" : "The cluster node name.",
6524 "format" : "pve-node",
6525 "type" : "string",
6526 "typetext" : "<string>"
6527 },
6528 "vmid" : {
6529 "description" : "The (unique) ID of the VM.",
6530 "format" : "pve-vmid",
6531 "minimum" : 1,
6532 "type" : "integer",
6533 "typetext" : "<integer> (1 - N)"
6534 }
6535 }
6536 },
6537 "permissions" : {
6538 "check" : [
6539 "perm",
6540 "/vms/{vmid}",
6541 [
6542 "VM.Monitor"
6543 ]
6544 ]
6545 },
6546 "protected" : 1,
6547 "proxyto" : "node",
6548 "returns" : {
6549 "description" : "Returns an object with a single `result` property.",
6550 "type" : "object"
6551 }
6552 }
6553 },
6554 "leaf" : 1,
6555 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
6556 "text" : "get-fsinfo"
6557 },
6558 {
6559 "info" : {
6560 "GET" : {
6561 "description" : "Execute get-host-name.",
6562 "method" : "GET",
6563 "name" : "get-host-name",
6564 "parameters" : {
6565 "additionalProperties" : 0,
6566 "properties" : {
6567 "node" : {
6568 "description" : "The cluster node name.",
6569 "format" : "pve-node",
6570 "type" : "string",
6571 "typetext" : "<string>"
6572 },
6573 "vmid" : {
6574 "description" : "The (unique) ID of the VM.",
6575 "format" : "pve-vmid",
6576 "minimum" : 1,
6577 "type" : "integer",
6578 "typetext" : "<integer> (1 - N)"
6579 }
6580 }
6581 },
6582 "permissions" : {
6583 "check" : [
6584 "perm",
6585 "/vms/{vmid}",
6586 [
6587 "VM.Monitor"
6588 ]
6589 ]
6590 },
6591 "protected" : 1,
6592 "proxyto" : "node",
6593 "returns" : {
6594 "description" : "Returns an object with a single `result` property.",
6595 "type" : "object"
6596 }
6597 }
6598 },
6599 "leaf" : 1,
6600 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
6601 "text" : "get-host-name"
6602 },
6603 {
6604 "info" : {
6605 "GET" : {
6606 "description" : "Execute get-memory-block-info.",
6607 "method" : "GET",
6608 "name" : "get-memory-block-info",
6609 "parameters" : {
6610 "additionalProperties" : 0,
6611 "properties" : {
6612 "node" : {
6613 "description" : "The cluster node name.",
6614 "format" : "pve-node",
6615 "type" : "string",
6616 "typetext" : "<string>"
6617 },
6618 "vmid" : {
6619 "description" : "The (unique) ID of the VM.",
6620 "format" : "pve-vmid",
6621 "minimum" : 1,
6622 "type" : "integer",
6623 "typetext" : "<integer> (1 - N)"
6624 }
6625 }
6626 },
6627 "permissions" : {
6628 "check" : [
6629 "perm",
6630 "/vms/{vmid}",
6631 [
6632 "VM.Monitor"
6633 ]
6634 ]
6635 },
6636 "protected" : 1,
6637 "proxyto" : "node",
6638 "returns" : {
6639 "description" : "Returns an object with a single `result` property.",
6640 "type" : "object"
6641 }
6642 }
6643 },
6644 "leaf" : 1,
6645 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
6646 "text" : "get-memory-block-info"
6647 },
6648 {
6649 "info" : {
6650 "GET" : {
6651 "description" : "Execute get-memory-blocks.",
6652 "method" : "GET",
6653 "name" : "get-memory-blocks",
6654 "parameters" : {
6655 "additionalProperties" : 0,
6656 "properties" : {
6657 "node" : {
6658 "description" : "The cluster node name.",
6659 "format" : "pve-node",
6660 "type" : "string",
6661 "typetext" : "<string>"
6662 },
6663 "vmid" : {
6664 "description" : "The (unique) ID of the VM.",
6665 "format" : "pve-vmid",
6666 "minimum" : 1,
6667 "type" : "integer",
6668 "typetext" : "<integer> (1 - N)"
6669 }
6670 }
6671 },
6672 "permissions" : {
6673 "check" : [
6674 "perm",
6675 "/vms/{vmid}",
6676 [
6677 "VM.Monitor"
6678 ]
6679 ]
6680 },
6681 "protected" : 1,
6682 "proxyto" : "node",
6683 "returns" : {
6684 "description" : "Returns an object with a single `result` property.",
6685 "type" : "object"
6686 }
6687 }
6688 },
6689 "leaf" : 1,
6690 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
6691 "text" : "get-memory-blocks"
6692 },
6693 {
6694 "info" : {
6695 "GET" : {
6696 "description" : "Execute get-osinfo.",
6697 "method" : "GET",
6698 "name" : "get-osinfo",
6699 "parameters" : {
6700 "additionalProperties" : 0,
6701 "properties" : {
6702 "node" : {
6703 "description" : "The cluster node name.",
6704 "format" : "pve-node",
6705 "type" : "string",
6706 "typetext" : "<string>"
6707 },
6708 "vmid" : {
6709 "description" : "The (unique) ID of the VM.",
6710 "format" : "pve-vmid",
6711 "minimum" : 1,
6712 "type" : "integer",
6713 "typetext" : "<integer> (1 - N)"
6714 }
6715 }
6716 },
6717 "permissions" : {
6718 "check" : [
6719 "perm",
6720 "/vms/{vmid}",
6721 [
6722 "VM.Monitor"
6723 ]
6724 ]
6725 },
6726 "protected" : 1,
6727 "proxyto" : "node",
6728 "returns" : {
6729 "description" : "Returns an object with a single `result` property.",
6730 "type" : "object"
6731 }
6732 }
6733 },
6734 "leaf" : 1,
6735 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
6736 "text" : "get-osinfo"
6737 },
6738 {
6739 "info" : {
6740 "GET" : {
6741 "description" : "Execute get-time.",
6742 "method" : "GET",
6743 "name" : "get-time",
6744 "parameters" : {
6745 "additionalProperties" : 0,
6746 "properties" : {
6747 "node" : {
6748 "description" : "The cluster node name.",
6749 "format" : "pve-node",
6750 "type" : "string",
6751 "typetext" : "<string>"
6752 },
6753 "vmid" : {
6754 "description" : "The (unique) ID of the VM.",
6755 "format" : "pve-vmid",
6756 "minimum" : 1,
6757 "type" : "integer",
6758 "typetext" : "<integer> (1 - N)"
6759 }
6760 }
6761 },
6762 "permissions" : {
6763 "check" : [
6764 "perm",
6765 "/vms/{vmid}",
6766 [
6767 "VM.Monitor"
6768 ]
6769 ]
6770 },
6771 "protected" : 1,
6772 "proxyto" : "node",
6773 "returns" : {
6774 "description" : "Returns an object with a single `result` property.",
6775 "type" : "object"
6776 }
6777 }
6778 },
6779 "leaf" : 1,
6780 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
6781 "text" : "get-time"
6782 },
6783 {
6784 "info" : {
6785 "GET" : {
6786 "description" : "Execute get-timezone.",
6787 "method" : "GET",
6788 "name" : "get-timezone",
6789 "parameters" : {
6790 "additionalProperties" : 0,
6791 "properties" : {
6792 "node" : {
6793 "description" : "The cluster node name.",
6794 "format" : "pve-node",
6795 "type" : "string",
6796 "typetext" : "<string>"
6797 },
6798 "vmid" : {
6799 "description" : "The (unique) ID of the VM.",
6800 "format" : "pve-vmid",
6801 "minimum" : 1,
6802 "type" : "integer",
6803 "typetext" : "<integer> (1 - N)"
6804 }
6805 }
6806 },
6807 "permissions" : {
6808 "check" : [
6809 "perm",
6810 "/vms/{vmid}",
6811 [
6812 "VM.Monitor"
6813 ]
6814 ]
6815 },
6816 "protected" : 1,
6817 "proxyto" : "node",
6818 "returns" : {
6819 "description" : "Returns an object with a single `result` property.",
6820 "type" : "object"
6821 }
6822 }
6823 },
6824 "leaf" : 1,
6825 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
6826 "text" : "get-timezone"
6827 },
6828 {
6829 "info" : {
6830 "GET" : {
6831 "description" : "Execute get-users.",
6832 "method" : "GET",
6833 "name" : "get-users",
6834 "parameters" : {
6835 "additionalProperties" : 0,
6836 "properties" : {
6837 "node" : {
6838 "description" : "The cluster node name.",
6839 "format" : "pve-node",
6840 "type" : "string",
6841 "typetext" : "<string>"
6842 },
6843 "vmid" : {
6844 "description" : "The (unique) ID of the VM.",
6845 "format" : "pve-vmid",
6846 "minimum" : 1,
6847 "type" : "integer",
6848 "typetext" : "<integer> (1 - N)"
6849 }
6850 }
6851 },
6852 "permissions" : {
6853 "check" : [
6854 "perm",
6855 "/vms/{vmid}",
6856 [
6857 "VM.Monitor"
6858 ]
6859 ]
6860 },
6861 "protected" : 1,
6862 "proxyto" : "node",
6863 "returns" : {
6864 "description" : "Returns an object with a single `result` property.",
6865 "type" : "object"
6866 }
6867 }
6868 },
6869 "leaf" : 1,
6870 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
6871 "text" : "get-users"
6872 },
6873 {
6874 "info" : {
6875 "GET" : {
6876 "description" : "Execute get-vcpus.",
6877 "method" : "GET",
6878 "name" : "get-vcpus",
6879 "parameters" : {
6880 "additionalProperties" : 0,
6881 "properties" : {
6882 "node" : {
6883 "description" : "The cluster node name.",
6884 "format" : "pve-node",
6885 "type" : "string",
6886 "typetext" : "<string>"
6887 },
6888 "vmid" : {
6889 "description" : "The (unique) ID of the VM.",
6890 "format" : "pve-vmid",
6891 "minimum" : 1,
6892 "type" : "integer",
6893 "typetext" : "<integer> (1 - N)"
6894 }
6895 }
6896 },
6897 "permissions" : {
6898 "check" : [
6899 "perm",
6900 "/vms/{vmid}",
6901 [
6902 "VM.Monitor"
6903 ]
6904 ]
6905 },
6906 "protected" : 1,
6907 "proxyto" : "node",
6908 "returns" : {
6909 "description" : "Returns an object with a single `result` property.",
6910 "type" : "object"
6911 }
6912 }
6913 },
6914 "leaf" : 1,
6915 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
6916 "text" : "get-vcpus"
6917 },
6918 {
6919 "info" : {
6920 "GET" : {
6921 "description" : "Execute info.",
6922 "method" : "GET",
6923 "name" : "info",
6924 "parameters" : {
6925 "additionalProperties" : 0,
6926 "properties" : {
6927 "node" : {
6928 "description" : "The cluster node name.",
6929 "format" : "pve-node",
6930 "type" : "string",
6931 "typetext" : "<string>"
6932 },
6933 "vmid" : {
6934 "description" : "The (unique) ID of the VM.",
6935 "format" : "pve-vmid",
6936 "minimum" : 1,
6937 "type" : "integer",
6938 "typetext" : "<integer> (1 - N)"
6939 }
6940 }
6941 },
6942 "permissions" : {
6943 "check" : [
6944 "perm",
6945 "/vms/{vmid}",
6946 [
6947 "VM.Monitor"
6948 ]
6949 ]
6950 },
6951 "protected" : 1,
6952 "proxyto" : "node",
6953 "returns" : {
6954 "description" : "Returns an object with a single `result` property.",
6955 "type" : "object"
6956 }
6957 }
6958 },
6959 "leaf" : 1,
6960 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
6961 "text" : "info"
6962 },
6963 {
6964 "info" : {
6965 "GET" : {
6966 "description" : "Execute network-get-interfaces.",
6967 "method" : "GET",
6968 "name" : "network-get-interfaces",
6969 "parameters" : {
6970 "additionalProperties" : 0,
6971 "properties" : {
6972 "node" : {
6973 "description" : "The cluster node name.",
6974 "format" : "pve-node",
6975 "type" : "string",
6976 "typetext" : "<string>"
6977 },
6978 "vmid" : {
6979 "description" : "The (unique) ID of the VM.",
6980 "format" : "pve-vmid",
6981 "minimum" : 1,
6982 "type" : "integer",
6983 "typetext" : "<integer> (1 - N)"
6984 }
6985 }
6986 },
6987 "permissions" : {
6988 "check" : [
6989 "perm",
6990 "/vms/{vmid}",
6991 [
6992 "VM.Monitor"
6993 ]
6994 ]
6995 },
6996 "protected" : 1,
6997 "proxyto" : "node",
6998 "returns" : {
6999 "description" : "Returns an object with a single `result` property.",
7000 "type" : "object"
7001 }
7002 }
7003 },
7004 "leaf" : 1,
7005 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
7006 "text" : "network-get-interfaces"
7007 },
7008 {
7009 "info" : {
7010 "POST" : {
7011 "description" : "Execute ping.",
7012 "method" : "POST",
7013 "name" : "ping",
7014 "parameters" : {
7015 "additionalProperties" : 0,
7016 "properties" : {
7017 "node" : {
7018 "description" : "The cluster node name.",
7019 "format" : "pve-node",
7020 "type" : "string",
7021 "typetext" : "<string>"
7022 },
7023 "vmid" : {
7024 "description" : "The (unique) ID of the VM.",
7025 "format" : "pve-vmid",
7026 "minimum" : 1,
7027 "type" : "integer",
7028 "typetext" : "<integer> (1 - N)"
7029 }
7030 }
7031 },
7032 "permissions" : {
7033 "check" : [
7034 "perm",
7035 "/vms/{vmid}",
7036 [
7037 "VM.Monitor"
7038 ]
7039 ]
7040 },
7041 "protected" : 1,
7042 "proxyto" : "node",
7043 "returns" : {
7044 "description" : "Returns an object with a single `result` property.",
7045 "type" : "object"
7046 }
7047 }
7048 },
7049 "leaf" : 1,
7050 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
7051 "text" : "ping"
7052 },
7053 {
7054 "info" : {
7055 "POST" : {
7056 "description" : "Execute shutdown.",
7057 "method" : "POST",
7058 "name" : "shutdown",
7059 "parameters" : {
7060 "additionalProperties" : 0,
7061 "properties" : {
7062 "node" : {
7063 "description" : "The cluster node name.",
7064 "format" : "pve-node",
7065 "type" : "string",
7066 "typetext" : "<string>"
7067 },
7068 "vmid" : {
7069 "description" : "The (unique) ID of the VM.",
7070 "format" : "pve-vmid",
7071 "minimum" : 1,
7072 "type" : "integer",
7073 "typetext" : "<integer> (1 - N)"
7074 }
7075 }
7076 },
7077 "permissions" : {
7078 "check" : [
7079 "perm",
7080 "/vms/{vmid}",
7081 [
7082 "VM.Monitor"
7083 ]
7084 ]
7085 },
7086 "protected" : 1,
7087 "proxyto" : "node",
7088 "returns" : {
7089 "description" : "Returns an object with a single `result` property.",
7090 "type" : "object"
7091 }
7092 }
7093 },
7094 "leaf" : 1,
7095 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
7096 "text" : "shutdown"
7097 },
7098 {
7099 "info" : {
7100 "POST" : {
7101 "description" : "Execute suspend-disk.",
7102 "method" : "POST",
7103 "name" : "suspend-disk",
7104 "parameters" : {
7105 "additionalProperties" : 0,
7106 "properties" : {
7107 "node" : {
7108 "description" : "The cluster node name.",
7109 "format" : "pve-node",
7110 "type" : "string",
7111 "typetext" : "<string>"
7112 },
7113 "vmid" : {
7114 "description" : "The (unique) ID of the VM.",
7115 "format" : "pve-vmid",
7116 "minimum" : 1,
7117 "type" : "integer",
7118 "typetext" : "<integer> (1 - N)"
7119 }
7120 }
7121 },
7122 "permissions" : {
7123 "check" : [
7124 "perm",
7125 "/vms/{vmid}",
7126 [
7127 "VM.Monitor"
7128 ]
7129 ]
7130 },
7131 "protected" : 1,
7132 "proxyto" : "node",
7133 "returns" : {
7134 "description" : "Returns an object with a single `result` property.",
7135 "type" : "object"
7136 }
7137 }
7138 },
7139 "leaf" : 1,
7140 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
7141 "text" : "suspend-disk"
7142 },
7143 {
7144 "info" : {
7145 "POST" : {
7146 "description" : "Execute suspend-hybrid.",
7147 "method" : "POST",
7148 "name" : "suspend-hybrid",
7149 "parameters" : {
7150 "additionalProperties" : 0,
7151 "properties" : {
7152 "node" : {
7153 "description" : "The cluster node name.",
7154 "format" : "pve-node",
7155 "type" : "string",
7156 "typetext" : "<string>"
7157 },
7158 "vmid" : {
7159 "description" : "The (unique) ID of the VM.",
7160 "format" : "pve-vmid",
7161 "minimum" : 1,
7162 "type" : "integer",
7163 "typetext" : "<integer> (1 - N)"
7164 }
7165 }
7166 },
7167 "permissions" : {
7168 "check" : [
7169 "perm",
7170 "/vms/{vmid}",
7171 [
7172 "VM.Monitor"
7173 ]
7174 ]
7175 },
7176 "protected" : 1,
7177 "proxyto" : "node",
7178 "returns" : {
7179 "description" : "Returns an object with a single `result` property.",
7180 "type" : "object"
7181 }
7182 }
7183 },
7184 "leaf" : 1,
7185 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
7186 "text" : "suspend-hybrid"
7187 },
7188 {
7189 "info" : {
7190 "POST" : {
7191 "description" : "Execute suspend-ram.",
7192 "method" : "POST",
7193 "name" : "suspend-ram",
7194 "parameters" : {
7195 "additionalProperties" : 0,
7196 "properties" : {
7197 "node" : {
7198 "description" : "The cluster node name.",
7199 "format" : "pve-node",
7200 "type" : "string",
7201 "typetext" : "<string>"
7202 },
7203 "vmid" : {
7204 "description" : "The (unique) ID of the VM.",
7205 "format" : "pve-vmid",
7206 "minimum" : 1,
7207 "type" : "integer",
7208 "typetext" : "<integer> (1 - N)"
7209 }
7210 }
7211 },
7212 "permissions" : {
7213 "check" : [
7214 "perm",
7215 "/vms/{vmid}",
7216 [
7217 "VM.Monitor"
7218 ]
7219 ]
7220 },
7221 "protected" : 1,
7222 "proxyto" : "node",
7223 "returns" : {
7224 "description" : "Returns an object with a single `result` property.",
7225 "type" : "object"
7226 }
7227 }
7228 },
7229 "leaf" : 1,
7230 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
7231 "text" : "suspend-ram"
4d47f125
TL
7232 },
7233 {
7234 "info" : {
7235 "POST" : {
7236 "description" : "Sets the password for the given user to the given password",
7237 "method" : "POST",
7238 "name" : "set-user-password",
7239 "parameters" : {
7240 "additionalProperties" : 0,
7241 "properties" : {
7242 "crypted" : {
7243 "default" : 0,
7244 "description" : "set to 1 if the password has already been passed through crypt()",
7245 "optional" : 1,
7246 "type" : "boolean",
7247 "typetext" : "<boolean>"
7248 },
7249 "node" : {
7250 "description" : "The cluster node name.",
7251 "format" : "pve-node",
7252 "type" : "string",
7253 "typetext" : "<string>"
7254 },
7255 "password" : {
7256 "description" : "The new password.",
7257 "maxLength" : 64,
7258 "minLength" : 5,
7259 "type" : "string",
7260 "typetext" : "<string>"
7261 },
7262 "username" : {
7263 "description" : "The user to set the password for.",
7264 "type" : "string",
7265 "typetext" : "<string>"
7266 },
7267 "vmid" : {
7268 "description" : "The (unique) ID of the VM.",
7269 "format" : "pve-vmid",
7270 "minimum" : 1,
7271 "type" : "integer",
7272 "typetext" : "<integer> (1 - N)"
7273 }
7274 }
27a7acb2 7275 },
4d47f125
TL
7276 "permissions" : {
7277 "check" : [
7278 "perm",
7279 "/vms/{vmid}",
7280 [
7281 "VM.Monitor"
7282 ]
7283 ]
7284 },
7285 "protected" : 1,
7286 "proxyto" : "node",
7287 "returns" : {
7288 "description" : "Returns an object with a single `result` property.",
7289 "type" : "object"
27a7acb2
DM
7290 }
7291 }
7292 },
4d47f125
TL
7293 "leaf" : 1,
7294 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
7295 "text" : "set-user-password"
27a7acb2 7296 },
4d47f125
TL
7297 {
7298 "info" : {
7299 "POST" : {
7300 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
7301 "method" : "POST",
7302 "name" : "exec",
7303 "parameters" : {
7304 "additionalProperties" : 0,
7305 "properties" : {
7306 "command" : {
7307 "description" : "The command as a list of program + arguments",
7308 "format" : "string-alist",
7309 "type" : "string",
7310 "typetext" : "<string>"
7311 },
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 }
27a7acb2 7326 },
4d47f125
TL
7327 "permissions" : {
7328 "check" : [
7329 "perm",
7330 "/vms/{vmid}",
7331 [
7332 "VM.Monitor"
7333 ]
7334 ]
27a7acb2 7335 },
4d47f125
TL
7336 "protected" : 1,
7337 "proxyto" : "node",
7338 "returns" : {
7339 "properties" : {
7340 "pid" : {
7341 "description" : "The PID of the process started by the guest-agent.",
7342 "type" : "integer"
7343 }
7344 },
7345 "type" : "object"
27a7acb2
DM
7346 }
7347 }
7348 },
4d47f125
TL
7349 "leaf" : 1,
7350 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
7351 "text" : "exec"
7352 },
7353 {
7354 "info" : {
7355 "GET" : {
7356 "description" : "Gets the status of the given pid started by the guest-agent",
7357 "method" : "GET",
7358 "name" : "exec-status",
7359 "parameters" : {
7360 "additionalProperties" : 0,
7361 "properties" : {
7362 "node" : {
7363 "description" : "The cluster node name.",
7364 "format" : "pve-node",
7365 "type" : "string",
7366 "typetext" : "<string>"
7367 },
7368 "pid" : {
7369 "description" : "The PID to query",
7370 "type" : "integer",
7371 "typetext" : "<integer>"
7372 },
7373 "vmid" : {
7374 "description" : "The (unique) ID of the VM.",
7375 "format" : "pve-vmid",
7376 "minimum" : 1,
7377 "type" : "integer",
7378 "typetext" : "<integer> (1 - N)"
7379 }
7380 }
56122987 7381 },
4d47f125
TL
7382 "permissions" : {
7383 "check" : [
7384 "perm",
7385 "/vms/{vmid}",
7386 [
7387 "VM.Monitor"
7388 ]
7389 ]
56122987 7390 },
4d47f125
TL
7391 "protected" : 1,
7392 "proxyto" : "node",
7393 "returns" : {
7394 "properties" : {
7395 "err-data" : {
7396 "description" : "stderr of the process",
7397 "optional" : 1,
7398 "type" : "string"
7399 },
7400 "err-truncated" : {
7401 "description" : "true if stderr was not fully captured",
7402 "optional" : 1,
7403 "type" : "boolean"
7404 },
7405 "exitcode" : {
7406 "description" : "process exit code if it was normally terminated.",
7407 "optional" : 1,
7408 "type" : "integer"
7409 },
7410 "exited" : {
7411 "description" : "Tells if the given command has exited yet.",
7412 "type" : "boolean"
7413 },
7414 "out-data" : {
7415 "description" : "stdout of the process",
7416 "optional" : 1,
7417 "type" : "string"
7418 },
7419 "out-truncated" : {
7420 "description" : "true if stdout was not fully captured",
7421 "optional" : 1,
7422 "type" : "boolean"
7423 },
7424 "signal" : {
7425 "description" : "signal number or exception code if the process was abnormally terminated.",
7426 "optional" : 1,
7427 "type" : "integer"
7428 }
7429 },
7430 "type" : "object"
56122987
DM
7431 }
7432 }
7433 },
4d47f125
TL
7434 "leaf" : 1,
7435 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
7436 "text" : "exec-status"
7437 },
7438 {
7439 "info" : {
7440 "GET" : {
7441 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
7442 "method" : "GET",
7443 "name" : "file-read",
7444 "parameters" : {
7445 "additionalProperties" : 0,
7446 "properties" : {
7447 "file" : {
7448 "description" : "The path to the file",
7449 "type" : "string",
7450 "typetext" : "<string>"
7451 },
7452 "node" : {
7453 "description" : "The cluster node name.",
7454 "format" : "pve-node",
7455 "type" : "string",
7456 "typetext" : "<string>"
7457 },
7458 "vmid" : {
7459 "description" : "The (unique) ID of the VM.",
7460 "format" : "pve-vmid",
7461 "minimum" : 1,
7462 "type" : "integer",
7463 "typetext" : "<integer> (1 - N)"
7464 }
7465 }
7466 },
7467 "permissions" : {
7468 "check" : [
7469 "perm",
7470 "/vms/{vmid}",
7471 [
7472 "VM.Monitor"
7473 ]
7474 ]
7475 },
7476 "protected" : 1,
7477 "proxyto" : "node",
7478 "returns" : {
7479 "description" : "Returns an object with a `content` property.",
7480 "properties" : {
7481 "content" : {
7482 "description" : "The content of the file, maximum 16777216",
7483 "type" : "string"
7484 },
7485 "truncated" : {
7486 "description" : "If set to 1, the output is truncated and not complete",
7487 "optional" : 1,
7488 "type" : "boolean"
7489 }
7490 },
7491 "type" : "object"
7492 }
7493 }
56122987 7494 },
4d47f125
TL
7495 "leaf" : 1,
7496 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
7497 "text" : "file-read"
7498 },
7499 {
7500 "info" : {
7501 "POST" : {
7502 "description" : "Writes the given file via guest agent.",
7503 "method" : "POST",
7504 "name" : "file-write",
7505 "parameters" : {
7506 "additionalProperties" : 0,
7507 "properties" : {
7508 "content" : {
7509 "description" : "The content to write into the file.",
7510 "maxLength" : 61440,
7511 "type" : "string",
7512 "typetext" : "<string>"
7513 },
7514 "file" : {
7515 "description" : "The path to the file.",
7516 "type" : "string",
7517 "typetext" : "<string>"
7518 },
7519 "node" : {
7520 "description" : "The cluster node name.",
7521 "format" : "pve-node",
7522 "type" : "string",
7523 "typetext" : "<string>"
7524 },
7525 "vmid" : {
7526 "description" : "The (unique) ID of the VM.",
7527 "format" : "pve-vmid",
7528 "minimum" : 1,
7529 "type" : "integer",
7530 "typetext" : "<integer> (1 - N)"
7531 }
7532 }
7533 },
7534 "permissions" : {
7535 "check" : [
7536 "perm",
7537 "/vms/{vmid}",
7538 [
7539 "VM.Monitor"
7540 ]
7541 ]
7542 },
7543 "protected" : 1,
7544 "proxyto" : "node",
7545 "returns" : {
7546 "type" : "null"
7aacca6f 7547 }
4d47f125
TL
7548 }
7549 },
7550 "leaf" : 1,
7551 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
7552 "text" : "file-write"
56122987 7553 }
4d47f125 7554 ],
7aacca6f 7555 "info" : {
56122987 7556 "GET" : {
4d47f125 7557 "description" : "Qemu Agent command index.",
44660702 7558 "method" : "GET",
4d47f125 7559 "name" : "index",
56122987 7560 "parameters" : {
4d47f125 7561 "additionalProperties" : 1,
56122987
DM
7562 "properties" : {
7563 "node" : {
44660702 7564 "description" : "The cluster node name.",
56122987 7565 "format" : "pve-node",
013dc89f
DM
7566 "type" : "string",
7567 "typetext" : "<string>"
56122987 7568 },
7aacca6f 7569 "vmid" : {
7aacca6f
DM
7570 "description" : "The (unique) ID of the VM.",
7571 "format" : "pve-vmid",
44660702 7572 "minimum" : 1,
4bd7df8b 7573 "type" : "integer",
013dc89f 7574 "typetext" : "<integer> (1 - N)"
56122987 7575 }
44660702 7576 }
56122987 7577 },
56122987 7578 "permissions" : {
4d47f125 7579 "user" : "all"
56122987 7580 },
4d47f125 7581 "proxyto" : "node",
7aacca6f 7582 "returns" : {
4d47f125 7583 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 7584 "items" : {
44660702
DM
7585 "properties" : {},
7586 "type" : "object"
7587 },
4d47f125
TL
7588 "links" : [
7589 {
7590 "href" : "{name}",
7591 "rel" : "child"
7592 }
7593 ],
44660702 7594 "type" : "array"
7aacca6f 7595 }
4d47f125
TL
7596 },
7597 "POST" : {
7598 "description" : "Execute Qemu Guest Agent commands.",
7599 "method" : "POST",
7600 "name" : "agent",
44660702
DM
7601 "parameters" : {
7602 "additionalProperties" : 0,
7603 "properties" : {
4d47f125
TL
7604 "command" : {
7605 "description" : "The QGA command.",
7606 "enum" : [
7607 "fsfreeze-freeze",
7608 "fsfreeze-status",
7609 "fsfreeze-thaw",
7610 "fstrim",
7611 "get-fsinfo",
7612 "get-host-name",
7613 "get-memory-block-info",
7614 "get-memory-blocks",
7615 "get-osinfo",
7616 "get-time",
7617 "get-timezone",
7618 "get-users",
7619 "get-vcpus",
7620 "info",
7621 "network-get-interfaces",
7622 "ping",
7623 "shutdown",
7624 "suspend-disk",
7625 "suspend-hybrid",
7626 "suspend-ram"
7627 ],
7628 "type" : "string"
7629 },
7630 "node" : {
7631 "description" : "The cluster node name.",
7632 "format" : "pve-node",
7633 "type" : "string",
7634 "typetext" : "<string>"
7635 },
7636 "vmid" : {
7637 "description" : "The (unique) ID of the VM.",
7638 "format" : "pve-vmid",
7639 "minimum" : 1,
7640 "type" : "integer",
7641 "typetext" : "<integer> (1 - N)"
7642 }
7643 }
7644 },
7645 "permissions" : {
7646 "check" : [
7647 "perm",
7648 "/vms/{vmid}",
7649 [
7650 "VM.Monitor"
7651 ]
7652 ]
7653 },
7654 "protected" : 1,
7655 "proxyto" : "node",
7656 "returns" : {
7657 "description" : "Returns an object with a single `result` property.",
7658 "type" : "object"
7659 }
7660 }
7661 },
7662 "leaf" : 0,
7663 "path" : "/nodes/{node}/qemu/{vmid}/agent",
7664 "text" : "agent"
7665 },
7666 {
7667 "info" : {
7668 "GET" : {
7669 "description" : "Read VM RRD statistics (returns PNG)",
7670 "method" : "GET",
7671 "name" : "rrd",
7672 "parameters" : {
7673 "additionalProperties" : 0,
7674 "properties" : {
7675 "cf" : {
7676 "description" : "The RRD consolidation function",
7677 "enum" : [
7678 "AVERAGE",
7679 "MAX"
7680 ],
44660702 7681 "optional" : 1,
4d47f125
TL
7682 "type" : "string"
7683 },
7684 "ds" : {
7685 "description" : "The list of datasources you want to display.",
7686 "format" : "pve-configid-list",
7687 "type" : "string",
7688 "typetext" : "<string>"
44660702
DM
7689 },
7690 "node" : {
7691 "description" : "The cluster node name.",
7692 "format" : "pve-node",
013dc89f
DM
7693 "type" : "string",
7694 "typetext" : "<string>"
44660702 7695 },
4d47f125
TL
7696 "timeframe" : {
7697 "description" : "Specify the time frame you are interested in.",
7698 "enum" : [
7699 "hour",
7700 "day",
7701 "week",
7702 "month",
7703 "year"
7704 ],
7705 "type" : "string"
7706 },
44660702
DM
7707 "vmid" : {
7708 "description" : "The (unique) ID of the VM.",
7709 "format" : "pve-vmid",
7710 "minimum" : 1,
4bd7df8b 7711 "type" : "integer",
013dc89f 7712 "typetext" : "<integer> (1 - N)"
44660702
DM
7713 }
7714 }
7aacca6f 7715 },
56122987
DM
7716 "permissions" : {
7717 "check" : [
7718 "perm",
7719 "/vms/{vmid}",
7720 [
44660702
DM
7721 "VM.Audit"
7722 ]
56122987
DM
7723 ]
7724 },
4d47f125 7725 "protected" : 1,
44660702
DM
7726 "returns" : {
7727 "properties" : {
4d47f125 7728 "filename" : {
44660702
DM
7729 "type" : "string"
7730 }
7731 },
7732 "type" : "object"
7733 }
4d47f125
TL
7734 }
7735 },
7736 "leaf" : 1,
7737 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
7738 "text" : "rrd"
7739 },
7740 {
7741 "info" : {
7742 "GET" : {
7743 "description" : "Read VM RRD statistics",
7744 "method" : "GET",
7745 "name" : "rrddata",
7746 "parameters" : {
7747 "additionalProperties" : 0,
7748 "properties" : {
7749 "cf" : {
7750 "description" : "The RRD consolidation function",
7751 "enum" : [
7752 "AVERAGE",
7753 "MAX"
7754 ],
7755 "optional" : 1,
7756 "type" : "string"
7757 },
7758 "node" : {
7759 "description" : "The cluster node name.",
7760 "format" : "pve-node",
7761 "type" : "string",
7762 "typetext" : "<string>"
7763 },
7764 "timeframe" : {
7765 "description" : "Specify the time frame you are interested in.",
7766 "enum" : [
7767 "hour",
7768 "day",
7769 "week",
7770 "month",
7771 "year"
7772 ],
7773 "type" : "string"
7774 },
7775 "vmid" : {
7776 "description" : "The (unique) ID of the VM.",
7777 "format" : "pve-vmid",
7778 "minimum" : 1,
7779 "type" : "integer",
7780 "typetext" : "<integer> (1 - N)"
7781 }
7782 }
7783 },
7784 "permissions" : {
7785 "check" : [
7786 "perm",
7787 "/vms/{vmid}",
7788 [
7789 "VM.Audit"
7790 ]
7791 ]
7792 },
7793 "protected" : 1,
7794 "returns" : {
7795 "items" : {
7796 "properties" : {},
7797 "type" : "object"
7798 },
7799 "type" : "array"
7800 }
7801 }
7802 },
7803 "leaf" : 1,
7804 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
7805 "text" : "rrddata"
7806 },
7807 {
7808 "info" : {
7809 "GET" : {
7810 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
7811 "method" : "GET",
7812 "name" : "vm_config",
56122987 7813 "parameters" : {
44660702 7814 "additionalProperties" : 0,
4d47f125
TL
7815 "properties" : {
7816 "current" : {
7817 "default" : 0,
7818 "description" : "Get current values (instead of pending values).",
7819 "optional" : 1,
7820 "type" : "boolean",
7821 "typetext" : "<boolean>"
7822 },
7823 "node" : {
7824 "description" : "The cluster node name.",
7825 "format" : "pve-node",
7826 "type" : "string",
7827 "typetext" : "<string>"
7828 },
7829 "vmid" : {
7830 "description" : "The (unique) ID of the VM.",
7831 "format" : "pve-vmid",
7832 "minimum" : 1,
7833 "type" : "integer",
7834 "typetext" : "<integer> (1 - N)"
7835 }
7836 }
7837 },
7838 "permissions" : {
7839 "check" : [
7840 "perm",
7841 "/vms/{vmid}",
7842 [
7843 "VM.Audit"
7844 ]
7845 ]
7846 },
7847 "proxyto" : "node",
7848 "returns" : {
7849 "description" : "The current VM configuration.",
56122987 7850 "properties" : {
44660702
DM
7851 "acpi" : {
7852 "default" : 1,
7853 "description" : "Enable/disable ACPI.",
7854 "optional" : 1,
4d47f125 7855 "type" : "boolean"
44660702
DM
7856 },
7857 "agent" : {
4d47f125
TL
7858 "description" : "Enable/disable Qemu GuestAgent and its properties.",
7859 "format" : {
7860 "enabled" : {
7861 "default" : 0,
7862 "default_key" : 1,
7863 "description" : "Enable/disable Qemu GuestAgent.",
7864 "type" : "boolean"
7865 },
7866 "fstrim_cloned_disks" : {
7867 "default" : 0,
7868 "description" : "Run fstrim after cloning/moving a disk.",
7869 "optional" : 1,
7870 "type" : "boolean"
7871 }
7872 },
7aacca6f 7873 "optional" : 1,
4d47f125 7874 "type" : "string"
7aacca6f 7875 },
44660702 7876 "args" : {
c2993fe5 7877 "description" : "Arbitrary arguments passed to kvm.",
44660702 7878 "optional" : 1,
c2993fe5
DM
7879 "type" : "string",
7880 "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 7881 },
44660702
DM
7882 "autostart" : {
7883 "default" : 0,
7884 "description" : "Automatic restart after crash (currently ignored).",
56122987 7885 "optional" : 1,
4d47f125 7886 "type" : "boolean"
56122987 7887 },
4d47f125
TL
7888 "balloon" : {
7889 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
7890 "minimum" : 0,
7aacca6f 7891 "optional" : 1,
4d47f125 7892 "type" : "integer"
7aacca6f 7893 },
44660702
DM
7894 "bios" : {
7895 "default" : "seabios",
7896 "description" : "Select BIOS implementation.",
7897 "enum" : [
7898 "seabios",
7899 "ovmf"
7900 ],
56122987 7901 "optional" : 1,
44660702 7902 "type" : "string"
7aacca6f 7903 },
44660702
DM
7904 "boot" : {
7905 "default" : "cdn",
7906 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7907 "optional" : 1,
7908 "pattern" : "[acdn]{1,4}",
7909 "type" : "string"
7910 },
7911 "bootdisk" : {
7912 "description" : "Enable booting from specified disk.",
7913 "format" : "pve-qm-bootdisk",
7914 "optional" : 1,
7915 "pattern" : "(ide|sata|scsi|virtio)\\d+",
7916 "type" : "string"
7917 },
7918 "cdrom" : {
7919 "description" : "This is an alias for option -ide2",
de0983cb 7920 "format" : "pve-qm-ide",
44660702 7921 "optional" : 1,
7aacca6f 7922 "type" : "string",
013dc89f 7923 "typetext" : "<volume>"
44660702 7924 },
27a7acb2
DM
7925 "cipassword" : {
7926 "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.",
7927 "optional" : 1,
4d47f125 7928 "type" : "string"
27a7acb2
DM
7929 },
7930 "citype" : {
7931 "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.",
7932 "enum" : [
7933 "configdrive2",
7934 "nocloud"
7935 ],
7936 "optional" : 1,
7937 "type" : "string"
7938 },
7939 "ciuser" : {
7940 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
7941 "optional" : 1,
4d47f125 7942 "type" : "string"
27a7acb2 7943 },
44660702
DM
7944 "cores" : {
7945 "default" : 1,
7946 "description" : "The number of cores per socket.",
7947 "minimum" : 1,
7aacca6f 7948 "optional" : 1,
4d47f125 7949 "type" : "integer"
7aacca6f 7950 },
44660702
DM
7951 "cpu" : {
7952 "description" : "Emulated CPU type.",
56122987 7953 "format" : {
44660702
DM
7954 "cputype" : {
7955 "default" : "kvm64",
7aacca6f 7956 "default_key" : 1,
44660702 7957 "description" : "Emulated CPU type.",
56122987 7958 "enum" : [
44660702
DM
7959 "486",
7960 "athlon",
f004f5b9 7961 "Broadwell",
35a75dd3 7962 "Broadwell-IBRS",
f004f5b9 7963 "Broadwell-noTSX",
35a75dd3 7964 "Broadwell-noTSX-IBRS",
f004f5b9 7965 "Conroe",
44660702 7966 "core2duo",
f004f5b9 7967 "coreduo",
27a7acb2
DM
7968 "EPYC",
7969 "EPYC-IBPB",
f004f5b9 7970 "Haswell",
35a75dd3 7971 "Haswell-IBRS",
f004f5b9 7972 "Haswell-noTSX",
35a75dd3 7973 "Haswell-noTSX-IBRS",
f004f5b9
DM
7974 "host",
7975 "IvyBridge",
35a75dd3 7976 "IvyBridge-IBRS",
44660702
DM
7977 "kvm32",
7978 "kvm64",
35a75dd3 7979 "max",
44660702 7980 "Nehalem",
35a75dd3 7981 "Nehalem-IBRS",
44660702
DM
7982 "Opteron_G1",
7983 "Opteron_G2",
7984 "Opteron_G3",
7985 "Opteron_G4",
7986 "Opteron_G5",
f004f5b9
DM
7987 "Penryn",
7988 "pentium",
7989 "pentium2",
7990 "pentium3",
7991 "phenom",
7992 "qemu32",
7993 "qemu64",
7994 "SandyBridge",
35a75dd3 7995 "SandyBridge-IBRS",
5d9c884c 7996 "Skylake-Client",
35a75dd3
DM
7997 "Skylake-Client-IBRS",
7998 "Skylake-Server",
7999 "Skylake-Server-IBRS",
8000 "Westmere",
8001 "Westmere-IBRS"
56122987 8002 ],
56122987
DM
8003 "type" : "string"
8004 },
35a75dd3 8005 "flags" : {
4d47f125 8006 "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
8007 "format_description" : "+FLAG[;-FLAG...]",
8008 "optional" : 1,
4d47f125 8009 "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
8010 "type" : "string"
8011 },
44660702
DM
8012 "hidden" : {
8013 "default" : 0,
8014 "description" : "Do not identify as a KVM virtual machine.",
56122987 8015 "optional" : 1,
44660702
DM
8016 "type" : "boolean"
8017 }
8018 },
8019 "optional" : 1,
4d47f125 8020 "type" : "string"
44660702
DM
8021 },
8022 "cpulimit" : {
8023 "default" : 0,
c2993fe5 8024 "description" : "Limit of CPU usage.",
44660702
DM
8025 "maximum" : 128,
8026 "minimum" : 0,
8027 "optional" : 1,
c2993fe5
DM
8028 "type" : "number",
8029 "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
8030 },
8031 "cpuunits" : {
de0983cb 8032 "default" : 1024,
c2993fe5 8033 "description" : "CPU weight for a VM.",
2489d6df
WB
8034 "maximum" : 262144,
8035 "minimum" : 2,
44660702 8036 "optional" : 1,
c2993fe5 8037 "type" : "integer",
2489d6df 8038 "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 8039 },
44660702
DM
8040 "description" : {
8041 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
8042 "optional" : 1,
4d47f125 8043 "type" : "string"
44660702
DM
8044 },
8045 "digest" : {
4d47f125
TL
8046 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
8047 "type" : "string"
44660702 8048 },
4d47f125
TL
8049 "efidisk0" : {
8050 "description" : "Configure a Disk for storing EFI vars",
8051 "format" : {
8052 "file" : {
8053 "default_key" : 1,
8054 "description" : "The drive's backing volume.",
8055 "format" : "pve-volume-id-or-qm-path",
8056 "format_description" : "volume",
8057 "type" : "string"
8058 },
8059 "format" : {
8060 "description" : "The drive's backing file's data format.",
8061 "enum" : [
8062 "raw",
8063 "cow",
8064 "qcow",
8065 "qed",
8066 "qcow2",
8067 "vmdk",
8068 "cloop"
8069 ],
8070 "optional" : 1,
8071 "type" : "string"
8072 },
8073 "size" : {
8074 "description" : "Disk size. This is purely informational and has no effect.",
8075 "format" : "disk-size",
8076 "format_description" : "DiskSize",
8077 "optional" : 1,
8078 "type" : "string"
8079 },
8080 "volume" : {
8081 "alias" : "file"
8082 }
8083 },
44660702 8084 "optional" : 1,
4d47f125 8085 "type" : "string"
44660702
DM
8086 },
8087 "freeze" : {
8088 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
8089 "optional" : 1,
4d47f125 8090 "type" : "boolean"
44660702
DM
8091 },
8092 "hostpci[n]" : {
c2993fe5 8093 "description" : "Map host PCI devices into guest.",
44660702
DM
8094 "format" : "pve-qm-hostpci",
8095 "optional" : 1,
57b78691
DM
8096 "type" : "string",
8097 "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
8098 },
8099 "hotplug" : {
8100 "default" : "network,disk,usb",
8101 "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'.",
8102 "format" : "pve-hotplug-features",
8103 "optional" : 1,
4d47f125 8104 "type" : "string"
44660702 8105 },
4bd7df8b
DM
8106 "hugepages" : {
8107 "description" : "Enable/disable hugepages memory.",
8108 "enum" : [
8109 "any",
8110 "2",
8111 "1024"
8112 ],
8113 "optional" : 1,
8114 "type" : "string"
8115 },
44660702
DM
8116 "ide[n]" : {
8117 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
8118 "format" : {
8119 "aio" : {
8120 "description" : "AIO type to use.",
8121 "enum" : [
8122 "native",
8123 "threads"
56122987 8124 ],
56122987 8125 "optional" : 1,
44660702 8126 "type" : "string"
56122987 8127 },
44660702
DM
8128 "backup" : {
8129 "description" : "Whether the drive should be included when making backups.",
56122987 8130 "optional" : 1,
44660702 8131 "type" : "boolean"
56122987 8132 },
7aacca6f 8133 "bps" : {
de0983cb 8134 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
8135 "format_description" : "bps",
8136 "optional" : 1,
8137 "type" : "integer"
8138 },
de0983cb
DM
8139 "bps_max_length" : {
8140 "description" : "Maximum length of I/O bursts in seconds.",
8141 "format_description" : "seconds",
8142 "minimum" : 1,
8143 "optional" : 1,
8144 "type" : "integer"
8145 },
44660702 8146 "bps_rd" : {
de0983cb 8147 "description" : "Maximum read speed in bytes per second.",
44660702 8148 "format_description" : "bps",
56122987 8149 "optional" : 1,
44660702 8150 "type" : "integer"
56122987 8151 },
de0983cb 8152 "bps_rd_length" : {
5d9c884c
DM
8153 "alias" : "bps_rd_max_length"
8154 },
8155 "bps_rd_max_length" : {
de0983cb
DM
8156 "description" : "Maximum length of read I/O bursts in seconds.",
8157 "format_description" : "seconds",
8158 "minimum" : 1,
8159 "optional" : 1,
8160 "type" : "integer"
8161 },
44660702 8162 "bps_wr" : {
de0983cb 8163 "description" : "Maximum write speed in bytes per second.",
44660702
DM
8164 "format_description" : "bps",
8165 "optional" : 1,
8166 "type" : "integer"
8167 },
de0983cb 8168 "bps_wr_length" : {
5d9c884c
DM
8169 "alias" : "bps_wr_max_length"
8170 },
8171 "bps_wr_max_length" : {
de0983cb
DM
8172 "description" : "Maximum length of write I/O bursts in seconds.",
8173 "format_description" : "seconds",
8174 "minimum" : 1,
8175 "optional" : 1,
8176 "type" : "integer"
8177 },
44660702
DM
8178 "cache" : {
8179 "description" : "The drive's cache mode",
8180 "enum" : [
8181 "none",
8182 "writethrough",
8183 "writeback",
8184 "unsafe",
8185 "directsync"
8186 ],
44660702
DM
8187 "optional" : 1,
8188 "type" : "string"
8189 },
8190 "cyls" : {
8191 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8192 "optional" : 1,
8193 "type" : "integer"
8194 },
8195 "detect_zeroes" : {
8196 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8197 "optional" : 1,
8198 "type" : "boolean"
8199 },
8200 "discard" : {
8201 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8202 "enum" : [
8203 "ignore",
8204 "on"
8205 ],
56122987 8206 "optional" : 1,
44660702
DM
8207 "type" : "string"
8208 },
8209 "file" : {
8210 "default_key" : 1,
8211 "description" : "The drive's backing volume.",
8212 "format" : "pve-volume-id-or-qm-path",
8213 "format_description" : "volume",
8214 "type" : "string"
56122987 8215 },
7aacca6f 8216 "format" : {
7aacca6f 8217 "description" : "The drive's backing file's data format.",
56122987 8218 "enum" : [
7aacca6f
DM
8219 "raw",
8220 "cow",
8221 "qcow",
8222 "qed",
8223 "qcow2",
8224 "vmdk",
8225 "cloop"
56122987
DM
8226 ],
8227 "optional" : 1,
56122987
DM
8228 "type" : "string"
8229 },
44660702
DM
8230 "heads" : {
8231 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8232 "optional" : 1,
8233 "type" : "integer"
7aacca6f 8234 },
44660702 8235 "iops" : {
de0983cb 8236 "description" : "Maximum r/w I/O in operations per second.",
44660702 8237 "format_description" : "iops",
56122987 8238 "optional" : 1,
44660702 8239 "type" : "integer"
56122987 8240 },
44660702 8241 "iops_max" : {
de0983cb 8242 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8243 "format_description" : "iops",
56122987 8244 "optional" : 1,
44660702 8245 "type" : "integer"
56122987 8246 },
de0983cb
DM
8247 "iops_max_length" : {
8248 "description" : "Maximum length of I/O bursts in seconds.",
8249 "format_description" : "seconds",
8250 "minimum" : 1,
8251 "optional" : 1,
8252 "type" : "integer"
8253 },
44660702 8254 "iops_rd" : {
de0983cb 8255 "description" : "Maximum read I/O in operations per second.",
44660702
DM
8256 "format_description" : "iops",
8257 "optional" : 1,
8258 "type" : "integer"
8259 },
de0983cb 8260 "iops_rd_length" : {
5d9c884c 8261 "alias" : "iops_rd_max_length"
de0983cb 8262 },
44660702 8263 "iops_rd_max" : {
de0983cb 8264 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 8265 "format_description" : "iops",
44660702
DM
8266 "optional" : 1,
8267 "type" : "integer"
8268 },
5d9c884c
DM
8269 "iops_rd_max_length" : {
8270 "description" : "Maximum length of read I/O bursts in seconds.",
8271 "format_description" : "seconds",
8272 "minimum" : 1,
8273 "optional" : 1,
8274 "type" : "integer"
8275 },
44660702 8276 "iops_wr" : {
de0983cb 8277 "description" : "Maximum write I/O in operations per second.",
44660702 8278 "format_description" : "iops",
56122987 8279 "optional" : 1,
7aacca6f 8280 "type" : "integer"
56122987 8281 },
de0983cb 8282 "iops_wr_length" : {
5d9c884c 8283 "alias" : "iops_wr_max_length"
de0983cb 8284 },
44660702 8285 "iops_wr_max" : {
de0983cb 8286 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8287 "format_description" : "iops",
7aacca6f 8288 "optional" : 1,
44660702 8289 "type" : "integer"
56122987 8290 },
5d9c884c
DM
8291 "iops_wr_max_length" : {
8292 "description" : "Maximum length of write I/O bursts in seconds.",
8293 "format_description" : "seconds",
8294 "minimum" : 1,
8295 "optional" : 1,
8296 "type" : "integer"
8297 },
44660702 8298 "mbps" : {
de0983cb 8299 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8300 "format_description" : "mbps",
8301 "optional" : 1,
8302 "type" : "number"
8303 },
8304 "mbps_max" : {
de0983cb 8305 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8306 "format_description" : "mbps",
8307 "optional" : 1,
8308 "type" : "number"
8309 },
8310 "mbps_rd" : {
de0983cb 8311 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8312 "format_description" : "mbps",
8313 "optional" : 1,
8314 "type" : "number"
8315 },
8316 "mbps_rd_max" : {
de0983cb 8317 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8318 "format_description" : "mbps",
8319 "optional" : 1,
8320 "type" : "number"
8321 },
8322 "mbps_wr" : {
de0983cb 8323 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8324 "format_description" : "mbps",
8325 "optional" : 1,
8326 "type" : "number"
8327 },
8328 "mbps_wr_max" : {
de0983cb 8329 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 8330 "format_description" : "mbps",
56122987 8331 "optional" : 1,
44660702 8332 "type" : "number"
56122987 8333 },
7aacca6f 8334 "media" : {
7aacca6f 8335 "default" : "disk",
7aacca6f
DM
8336 "description" : "The drive's media type.",
8337 "enum" : [
8338 "cdrom",
8339 "disk"
44660702 8340 ],
44660702
DM
8341 "optional" : 1,
8342 "type" : "string"
56122987 8343 },
44660702
DM
8344 "model" : {
8345 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
8346 "format" : "urlencoded",
8347 "format_description" : "model",
8348 "maxLength" : 120,
56122987 8349 "optional" : 1,
44660702 8350 "type" : "string"
56122987 8351 },
5d9c884c
DM
8352 "replicate" : {
8353 "default" : 1,
8354 "description" : "Whether the drive should considered for replication jobs.",
8355 "optional" : 1,
8356 "type" : "boolean"
8357 },
44660702
DM
8358 "rerror" : {
8359 "description" : "Read error action.",
8360 "enum" : [
8361 "ignore",
8362 "report",
8363 "stop"
8364 ],
56122987 8365 "optional" : 1,
44660702
DM
8366 "type" : "string"
8367 },
8368 "secs" : {
8369 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
8370 "optional" : 1,
8371 "type" : "integer"
8372 },
8373 "serial" : {
8374 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8375 "format" : "urlencoded",
8376 "format_description" : "serial",
8377 "maxLength" : 60,
8378 "optional" : 1,
8379 "type" : "string"
8380 },
27a7acb2
DM
8381 "shared" : {
8382 "default" : 0,
8383 "description" : "Mark this locally-managed volume as available on all nodes",
8384 "optional" : 1,
8385 "type" : "boolean",
8386 "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!"
8387 },
44660702
DM
8388 "size" : {
8389 "description" : "Disk size. This is purely informational and has no effect.",
8390 "format" : "disk-size",
f004f5b9 8391 "format_description" : "DiskSize",
44660702
DM
8392 "optional" : 1,
8393 "type" : "string"
8394 },
8395 "snapshot" : {
27a7acb2 8396 "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
8397 "optional" : 1,
8398 "type" : "boolean"
8399 },
8400 "trans" : {
8401 "description" : "Force disk geometry bios translation mode.",
8402 "enum" : [
8403 "none",
8404 "lba",
8405 "auto"
8406 ],
44660702
DM
8407 "optional" : 1,
8408 "type" : "string"
8409 },
8410 "volume" : {
8411 "alias" : "file"
8412 },
8413 "werror" : {
8414 "description" : "Write error action.",
8415 "enum" : [
8416 "enospc",
8417 "ignore",
8418 "report",
8419 "stop"
8420 ],
44660702
DM
8421 "optional" : 1,
8422 "type" : "string"
56122987
DM
8423 }
8424 },
44660702 8425 "optional" : 1,
4d47f125 8426 "type" : "string"
27a7acb2
DM
8427 },
8428 "ipconfig[n]" : {
8429 "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",
8430 "format" : "pve-qm-ipconfig",
8431 "optional" : 1,
4d47f125 8432 "type" : "string"
56122987 8433 },
44660702 8434 "keyboard" : {
35a75dd3 8435 "default" : null,
5da3d723 8436 "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
8437 "enum" : [
8438 "de",
8439 "de-ch",
8440 "da",
8441 "en-gb",
8442 "en-us",
8443 "es",
8444 "fi",
8445 "fr",
8446 "fr-be",
8447 "fr-ca",
8448 "fr-ch",
8449 "hu",
8450 "is",
8451 "it",
8452 "ja",
8453 "lt",
8454 "mk",
8455 "nl",
8456 "no",
8457 "pl",
8458 "pt",
8459 "pt-br",
8460 "sv",
8461 "sl",
8462 "tr"
8463 ],
56122987 8464 "optional" : 1,
44660702
DM
8465 "type" : "string"
8466 },
8467 "kvm" : {
7aacca6f 8468 "default" : 1,
44660702
DM
8469 "description" : "Enable/disable KVM hardware virtualization.",
8470 "optional" : 1,
4d47f125 8471 "type" : "boolean"
56122987 8472 },
44660702
DM
8473 "localtime" : {
8474 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 8475 "optional" : 1,
4d47f125 8476 "type" : "boolean"
56122987 8477 },
44660702
DM
8478 "lock" : {
8479 "description" : "Lock/unlock the VM.",
8480 "enum" : [
8481 "migrate",
8482 "backup",
8483 "snapshot",
8484 "rollback"
8485 ],
7aacca6f 8486 "optional" : 1,
44660702
DM
8487 "type" : "string"
8488 },
8489 "machine" : {
4d47f125 8490 "description" : "Specifies the Qemu machine type.",
44660702
DM
8491 "maxLength" : 40,
8492 "optional" : 1,
8493 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
8494 "type" : "string"
8495 },
8496 "memory" : {
8497 "default" : 512,
8498 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
8499 "minimum" : 16,
8500 "optional" : 1,
4d47f125 8501 "type" : "integer"
44660702
DM
8502 },
8503 "migrate_downtime" : {
8504 "default" : 0.1,
8505 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
8506 "minimum" : 0,
8507 "optional" : 1,
4d47f125 8508 "type" : "number"
44660702
DM
8509 },
8510 "migrate_speed" : {
8511 "default" : 0,
8512 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
8513 "minimum" : 0,
8514 "optional" : 1,
4d47f125 8515 "type" : "integer"
44660702
DM
8516 },
8517 "name" : {
8518 "description" : "Set a name for the VM. Only used on the configuration web interface.",
8519 "format" : "dns-name",
8520 "optional" : 1,
4d47f125 8521 "type" : "string"
44660702 8522 },
27a7acb2
DM
8523 "nameserver" : {
8524 "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.",
8525 "format" : "address-list",
8526 "optional" : 1,
4d47f125 8527 "type" : "string"
27a7acb2 8528 },
44660702 8529 "net[n]" : {
c2993fe5 8530 "description" : "Specify network devices.",
f004f5b9
DM
8531 "format" : {
8532 "bridge" : {
c2993fe5 8533 "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
8534 "format_description" : "bridge",
8535 "optional" : 1,
8536 "type" : "string"
8537 },
8538 "e1000" : {
8539 "alias" : "macaddr",
8540 "keyAlias" : "model"
8541 },
8542 "e1000-82540em" : {
8543 "alias" : "macaddr",
8544 "keyAlias" : "model"
8545 },
8546 "e1000-82544gc" : {
8547 "alias" : "macaddr",
8548 "keyAlias" : "model"
8549 },
8550 "e1000-82545em" : {
8551 "alias" : "macaddr",
8552 "keyAlias" : "model"
8553 },
8554 "firewall" : {
8555 "description" : "Whether this interface should be protected by the firewall.",
8556 "optional" : 1,
8557 "type" : "boolean"
8558 },
8559 "i82551" : {
8560 "alias" : "macaddr",
8561 "keyAlias" : "model"
8562 },
8563 "i82557b" : {
8564 "alias" : "macaddr",
8565 "keyAlias" : "model"
8566 },
8567 "i82559er" : {
8568 "alias" : "macaddr",
8569 "keyAlias" : "model"
8570 },
8571 "link_down" : {
c2993fe5 8572 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
8573 "optional" : 1,
8574 "type" : "boolean"
8575 },
8576 "macaddr" : {
c2993fe5 8577 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 8578 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
8579 "optional" : 1,
8580 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
8581 "type" : "string"
8582 },
8583 "model" : {
8584 "default_key" : 1,
c2993fe5 8585 "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
8586 "enum" : [
8587 "rtl8139",
8588 "ne2k_pci",
8589 "e1000",
8590 "pcnet",
8591 "virtio",
8592 "ne2k_isa",
8593 "i82551",
8594 "i82557b",
8595 "i82559er",
8596 "vmxnet3",
8597 "e1000-82540em",
8598 "e1000-82544gc",
8599 "e1000-82545em"
8600 ],
f004f5b9
DM
8601 "type" : "string"
8602 },
8603 "ne2k_isa" : {
8604 "alias" : "macaddr",
8605 "keyAlias" : "model"
8606 },
8607 "ne2k_pci" : {
8608 "alias" : "macaddr",
8609 "keyAlias" : "model"
8610 },
8611 "pcnet" : {
8612 "alias" : "macaddr",
8613 "keyAlias" : "model"
8614 },
8615 "queues" : {
8616 "description" : "Number of packet queues to be used on the device.",
8617 "maximum" : 16,
8618 "minimum" : 0,
8619 "optional" : 1,
8620 "type" : "integer"
8621 },
8622 "rate" : {
c2993fe5 8623 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
8624 "minimum" : 0,
8625 "optional" : 1,
8626 "type" : "number"
8627 },
8628 "rtl8139" : {
8629 "alias" : "macaddr",
8630 "keyAlias" : "model"
8631 },
8632 "tag" : {
8633 "description" : "VLAN tag to apply to packets on this interface.",
8634 "maximum" : 4094,
c2993fe5 8635 "minimum" : 1,
f004f5b9
DM
8636 "optional" : 1,
8637 "type" : "integer"
8638 },
8639 "trunks" : {
8640 "description" : "VLAN trunks to pass through this interface.",
8641 "format_description" : "vlanid[;vlanid...]",
8642 "optional" : 1,
8643 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8644 "type" : "string"
8645 },
8646 "virtio" : {
8647 "alias" : "macaddr",
8648 "keyAlias" : "model"
8649 },
8650 "vmxnet3" : {
8651 "alias" : "macaddr",
8652 "keyAlias" : "model"
8653 }
8654 },
44660702 8655 "optional" : 1,
4d47f125 8656 "type" : "string"
44660702
DM
8657 },
8658 "numa" : {
8659 "default" : 0,
8660 "description" : "Enable/disable NUMA.",
8661 "optional" : 1,
4d47f125 8662 "type" : "boolean"
44660702
DM
8663 },
8664 "numa[n]" : {
c2993fe5 8665 "description" : "NUMA topology.",
56122987 8666 "format" : {
7aacca6f 8667 "cpus" : {
c2993fe5 8668 "description" : "CPUs accessing this NUMA node.",
44660702
DM
8669 "format_description" : "id[-id];...",
8670 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8671 "type" : "string"
7aacca6f
DM
8672 },
8673 "hostnodes" : {
c2993fe5 8674 "description" : "Host NUMA nodes to use.",
44660702 8675 "format_description" : "id[-id];...",
7aacca6f 8676 "optional" : 1,
7aacca6f 8677 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 8678 "type" : "string"
7aacca6f 8679 },
44660702 8680 "memory" : {
c2993fe5 8681 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 8682 "optional" : 1,
44660702
DM
8683 "type" : "number"
8684 },
8685 "policy" : {
c2993fe5 8686 "description" : "NUMA allocation policy.",
7aacca6f
DM
8687 "enum" : [
8688 "preferred",
8689 "bind",
8690 "interleave"
8691 ],
44660702
DM
8692 "optional" : 1,
8693 "type" : "string"
56122987 8694 }
44660702 8695 },
56122987 8696 "optional" : 1,
4d47f125 8697 "type" : "string"
56122987 8698 },
44660702 8699 "onboot" : {
7aacca6f 8700 "default" : 0,
44660702
DM
8701 "description" : "Specifies whether a VM will be started during system bootup.",
8702 "optional" : 1,
4d47f125 8703 "type" : "boolean"
7aacca6f
DM
8704 },
8705 "ostype" : {
c2993fe5 8706 "description" : "Specify guest operating system.",
7aacca6f
DM
8707 "enum" : [
8708 "other",
8709 "wxp",
8710 "w2k",
8711 "w2k3",
8712 "w2k8",
8713 "wvista",
8714 "win7",
8715 "win8",
32d876b5 8716 "win10",
7aacca6f
DM
8717 "l24",
8718 "l26",
8719 "solaris"
8720 ],
7aacca6f 8721 "optional" : 1,
c2993fe5 8722 "type" : "string",
35a75dd3 8723 "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 8724 },
44660702 8725 "parallel[n]" : {
c2993fe5 8726 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8727 "optional" : 1,
44660702 8728 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8729 "type" : "string",
8730 "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
8731 },
8732 "protection" : {
8733 "default" : 0,
c2993fe5 8734 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8735 "optional" : 1,
4d47f125 8736 "type" : "boolean"
7aacca6f 8737 },
44660702
DM
8738 "reboot" : {
8739 "default" : 1,
8740 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8741 "optional" : 1,
4d47f125 8742 "type" : "boolean"
44660702
DM
8743 },
8744 "sata[n]" : {
8745 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 8746 "format" : {
44660702
DM
8747 "aio" : {
8748 "description" : "AIO type to use.",
7aacca6f 8749 "enum" : [
44660702
DM
8750 "native",
8751 "threads"
7aacca6f 8752 ],
44660702
DM
8753 "optional" : 1,
8754 "type" : "string"
7aacca6f 8755 },
44660702
DM
8756 "backup" : {
8757 "description" : "Whether the drive should be included when making backups.",
56122987 8758 "optional" : 1,
7aacca6f 8759 "type" : "boolean"
44660702
DM
8760 },
8761 "bps" : {
de0983cb 8762 "description" : "Maximum r/w speed in bytes per second.",
44660702 8763 "format_description" : "bps",
7aacca6f 8764 "optional" : 1,
44660702 8765 "type" : "integer"
56122987 8766 },
de0983cb
DM
8767 "bps_max_length" : {
8768 "description" : "Maximum length of I/O bursts in seconds.",
8769 "format_description" : "seconds",
8770 "minimum" : 1,
8771 "optional" : 1,
8772 "type" : "integer"
8773 },
44660702 8774 "bps_rd" : {
de0983cb 8775 "description" : "Maximum read speed in bytes per second.",
44660702 8776 "format_description" : "bps",
56122987 8777 "optional" : 1,
44660702 8778 "type" : "integer"
56122987 8779 },
de0983cb 8780 "bps_rd_length" : {
5d9c884c
DM
8781 "alias" : "bps_rd_max_length"
8782 },
8783 "bps_rd_max_length" : {
de0983cb
DM
8784 "description" : "Maximum length of read I/O bursts in seconds.",
8785 "format_description" : "seconds",
8786 "minimum" : 1,
8787 "optional" : 1,
8788 "type" : "integer"
8789 },
44660702 8790 "bps_wr" : {
de0983cb 8791 "description" : "Maximum write speed in bytes per second.",
44660702 8792 "format_description" : "bps",
56122987 8793 "optional" : 1,
44660702 8794 "type" : "integer"
56122987 8795 },
de0983cb 8796 "bps_wr_length" : {
5d9c884c
DM
8797 "alias" : "bps_wr_max_length"
8798 },
8799 "bps_wr_max_length" : {
de0983cb
DM
8800 "description" : "Maximum length of write I/O bursts in seconds.",
8801 "format_description" : "seconds",
8802 "minimum" : 1,
8803 "optional" : 1,
8804 "type" : "integer"
8805 },
56122987 8806 "cache" : {
44660702 8807 "description" : "The drive's cache mode",
56122987
DM
8808 "enum" : [
8809 "none",
8810 "writethrough",
8811 "writeback",
8812 "unsafe",
8813 "directsync"
8814 ],
56122987 8815 "optional" : 1,
44660702 8816 "type" : "string"
56122987 8817 },
44660702
DM
8818 "cyls" : {
8819 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8820 "optional" : 1,
44660702 8821 "type" : "integer"
7aacca6f
DM
8822 },
8823 "detect_zeroes" : {
8824 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 8825 "optional" : 1,
44660702 8826 "type" : "boolean"
56122987 8827 },
44660702
DM
8828 "discard" : {
8829 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8830 "enum" : [
8831 "ignore",
8832 "on"
8833 ],
56122987 8834 "optional" : 1,
44660702 8835 "type" : "string"
7aacca6f 8836 },
44660702
DM
8837 "file" : {
8838 "default_key" : 1,
8839 "description" : "The drive's backing volume.",
8840 "format" : "pve-volume-id-or-qm-path",
8841 "format_description" : "volume",
8842 "type" : "string"
56122987 8843 },
7aacca6f 8844 "format" : {
44660702 8845 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8846 "enum" : [
8847 "raw",
8848 "cow",
8849 "qcow",
8850 "qed",
8851 "qcow2",
8852 "vmdk",
8853 "cloop"
8854 ],
7aacca6f 8855 "optional" : 1,
44660702 8856 "type" : "string"
56122987 8857 },
7aacca6f 8858 "heads" : {
7aacca6f 8859 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8860 "optional" : 1,
7aacca6f 8861 "type" : "integer"
56122987 8862 },
44660702 8863 "iops" : {
de0983cb 8864 "description" : "Maximum r/w I/O in operations per second.",
44660702 8865 "format_description" : "iops",
56122987 8866 "optional" : 1,
44660702 8867 "type" : "integer"
56122987 8868 },
44660702 8869 "iops_max" : {
de0983cb 8870 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8871 "format_description" : "iops",
56122987 8872 "optional" : 1,
44660702 8873 "type" : "integer"
56122987 8874 },
de0983cb
DM
8875 "iops_max_length" : {
8876 "description" : "Maximum length of I/O bursts in seconds.",
8877 "format_description" : "seconds",
8878 "minimum" : 1,
8879 "optional" : 1,
8880 "type" : "integer"
8881 },
44660702 8882 "iops_rd" : {
de0983cb 8883 "description" : "Maximum read I/O in operations per second.",
44660702 8884 "format_description" : "iops",
7aacca6f 8885 "optional" : 1,
44660702 8886 "type" : "integer"
56122987 8887 },
de0983cb 8888 "iops_rd_length" : {
5d9c884c 8889 "alias" : "iops_rd_max_length"
de0983cb 8890 },
44660702 8891 "iops_rd_max" : {
de0983cb 8892 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8893 "format_description" : "iops",
56122987 8894 "optional" : 1,
44660702 8895 "type" : "integer"
7aacca6f 8896 },
5d9c884c
DM
8897 "iops_rd_max_length" : {
8898 "description" : "Maximum length of read I/O bursts in seconds.",
8899 "format_description" : "seconds",
8900 "minimum" : 1,
8901 "optional" : 1,
8902 "type" : "integer"
8903 },
44660702 8904 "iops_wr" : {
de0983cb 8905 "description" : "Maximum write I/O in operations per second.",
44660702 8906 "format_description" : "iops",
56122987 8907 "optional" : 1,
44660702 8908 "type" : "integer"
56122987 8909 },
de0983cb 8910 "iops_wr_length" : {
5d9c884c 8911 "alias" : "iops_wr_max_length"
de0983cb 8912 },
56122987 8913 "iops_wr_max" : {
de0983cb 8914 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8915 "format_description" : "iops",
56122987 8916 "optional" : 1,
44660702 8917 "type" : "integer"
56122987 8918 },
5d9c884c
DM
8919 "iops_wr_max_length" : {
8920 "description" : "Maximum length of write I/O bursts in seconds.",
8921 "format_description" : "seconds",
8922 "minimum" : 1,
8923 "optional" : 1,
8924 "type" : "integer"
8925 },
44660702 8926 "mbps" : {
de0983cb 8927 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8928 "format_description" : "mbps",
56122987 8929 "optional" : 1,
44660702 8930 "type" : "number"
56122987 8931 },
44660702 8932 "mbps_max" : {
de0983cb 8933 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8934 "format_description" : "mbps",
8935 "optional" : 1,
8936 "type" : "number"
56122987 8937 },
44660702 8938 "mbps_rd" : {
de0983cb 8939 "description" : "Maximum read speed in megabytes per second.",
44660702 8940 "format_description" : "mbps",
56122987 8941 "optional" : 1,
44660702 8942 "type" : "number"
56122987 8943 },
44660702 8944 "mbps_rd_max" : {
de0983cb 8945 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 8946 "format_description" : "mbps",
56122987 8947 "optional" : 1,
44660702 8948 "type" : "number"
56122987 8949 },
44660702 8950 "mbps_wr" : {
de0983cb 8951 "description" : "Maximum write speed in megabytes per second.",
56122987 8952 "format_description" : "mbps",
44660702
DM
8953 "optional" : 1,
8954 "type" : "number"
56122987 8955 },
44660702 8956 "mbps_wr_max" : {
de0983cb 8957 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8958 "format_description" : "mbps",
8959 "optional" : 1,
8960 "type" : "number"
7aacca6f 8961 },
44660702
DM
8962 "media" : {
8963 "default" : "disk",
8964 "description" : "The drive's media type.",
8965 "enum" : [
8966 "cdrom",
8967 "disk"
8968 ],
56122987 8969 "optional" : 1,
44660702
DM
8970 "type" : "string"
8971 },
5d9c884c
DM
8972 "replicate" : {
8973 "default" : 1,
8974 "description" : "Whether the drive should considered for replication jobs.",
8975 "optional" : 1,
8976 "type" : "boolean"
8977 },
44660702
DM
8978 "rerror" : {
8979 "description" : "Read error action.",
7aacca6f 8980 "enum" : [
44660702
DM
8981 "ignore",
8982 "report",
8983 "stop"
8984 ],
7aacca6f 8985 "optional" : 1,
44660702 8986 "type" : "string"
56122987 8987 },
44660702
DM
8988 "secs" : {
8989 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8990 "optional" : 1,
44660702 8991 "type" : "integer"
56122987 8992 },
44660702
DM
8993 "serial" : {
8994 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8995 "format" : "urlencoded",
8996 "format_description" : "serial",
8997 "maxLength" : 60,
56122987 8998 "optional" : 1,
44660702 8999 "type" : "string"
56122987 9000 },
27a7acb2
DM
9001 "shared" : {
9002 "default" : 0,
9003 "description" : "Mark this locally-managed volume as available on all nodes",
9004 "optional" : 1,
9005 "type" : "boolean",
9006 "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!"
9007 },
44660702
DM
9008 "size" : {
9009 "description" : "Disk size. This is purely informational and has no effect.",
9010 "format" : "disk-size",
f004f5b9 9011 "format_description" : "DiskSize",
44660702
DM
9012 "optional" : 1,
9013 "type" : "string"
9014 },
9015 "snapshot" : {
27a7acb2 9016 "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 9017 "optional" : 1,
44660702
DM
9018 "type" : "boolean"
9019 },
9020 "trans" : {
9021 "description" : "Force disk geometry bios translation mode.",
56122987 9022 "enum" : [
7aacca6f
DM
9023 "none",
9024 "lba",
9025 "auto"
56122987 9026 ],
44660702
DM
9027 "optional" : 1,
9028 "type" : "string"
56122987 9029 },
7aacca6f
DM
9030 "volume" : {
9031 "alias" : "file"
56122987 9032 },
44660702
DM
9033 "werror" : {
9034 "description" : "Write error action.",
9035 "enum" : [
9036 "enospc",
9037 "ignore",
9038 "report",
9039 "stop"
9040 ],
7aacca6f 9041 "optional" : 1,
44660702
DM
9042 "type" : "string"
9043 }
9044 },
9045 "optional" : 1,
4d47f125 9046 "type" : "string"
44660702
DM
9047 },
9048 "scsi[n]" : {
9049 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
9050 "format" : {
56122987 9051 "aio" : {
56122987
DM
9052 "description" : "AIO type to use.",
9053 "enum" : [
9054 "native",
9055 "threads"
9056 ],
7aacca6f 9057 "optional" : 1,
44660702 9058 "type" : "string"
56122987 9059 },
44660702
DM
9060 "backup" : {
9061 "description" : "Whether the drive should be included when making backups.",
56122987 9062 "optional" : 1,
44660702 9063 "type" : "boolean"
56122987 9064 },
44660702 9065 "bps" : {
de0983cb 9066 "description" : "Maximum r/w speed in bytes per second.",
44660702 9067 "format_description" : "bps",
56122987 9068 "optional" : 1,
44660702 9069 "type" : "integer"
56122987 9070 },
de0983cb
DM
9071 "bps_max_length" : {
9072 "description" : "Maximum length of I/O bursts in seconds.",
9073 "format_description" : "seconds",
9074 "minimum" : 1,
9075 "optional" : 1,
9076 "type" : "integer"
9077 },
44660702 9078 "bps_rd" : {
de0983cb 9079 "description" : "Maximum read speed in bytes per second.",
44660702 9080 "format_description" : "bps",
56122987 9081 "optional" : 1,
44660702 9082 "type" : "integer"
56122987 9083 },
de0983cb 9084 "bps_rd_length" : {
5d9c884c
DM
9085 "alias" : "bps_rd_max_length"
9086 },
9087 "bps_rd_max_length" : {
de0983cb
DM
9088 "description" : "Maximum length of read I/O bursts in seconds.",
9089 "format_description" : "seconds",
9090 "minimum" : 1,
9091 "optional" : 1,
9092 "type" : "integer"
9093 },
7aacca6f 9094 "bps_wr" : {
de0983cb 9095 "description" : "Maximum write speed in bytes per second.",
7aacca6f 9096 "format_description" : "bps",
56122987 9097 "optional" : 1,
44660702 9098 "type" : "integer"
56122987 9099 },
de0983cb 9100 "bps_wr_length" : {
5d9c884c
DM
9101 "alias" : "bps_wr_max_length"
9102 },
9103 "bps_wr_max_length" : {
de0983cb
DM
9104 "description" : "Maximum length of write I/O bursts in seconds.",
9105 "format_description" : "seconds",
9106 "minimum" : 1,
9107 "optional" : 1,
9108 "type" : "integer"
9109 },
44660702
DM
9110 "cache" : {
9111 "description" : "The drive's cache mode",
7aacca6f 9112 "enum" : [
44660702
DM
9113 "none",
9114 "writethrough",
9115 "writeback",
9116 "unsafe",
9117 "directsync"
7aacca6f 9118 ],
56122987 9119 "optional" : 1,
44660702 9120 "type" : "string"
56122987 9121 },
44660702
DM
9122 "cyls" : {
9123 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 9124 "optional" : 1,
44660702 9125 "type" : "integer"
56122987 9126 },
44660702
DM
9127 "detect_zeroes" : {
9128 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 9129 "optional" : 1,
44660702 9130 "type" : "boolean"
56122987 9131 },
44660702
DM
9132 "discard" : {
9133 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9134 "enum" : [
9135 "ignore",
9136 "on"
9137 ],
7aacca6f 9138 "optional" : 1,
44660702 9139 "type" : "string"
56122987 9140 },
44660702
DM
9141 "file" : {
9142 "default_key" : 1,
9143 "description" : "The drive's backing volume.",
9144 "format" : "pve-volume-id-or-qm-path",
9145 "format_description" : "volume",
9146 "type" : "string"
56122987 9147 },
7aacca6f 9148 "format" : {
44660702 9149 "description" : "The drive's backing file's data format.",
56122987 9150 "enum" : [
7aacca6f
DM
9151 "raw",
9152 "cow",
9153 "qcow",
9154 "qed",
9155 "qcow2",
9156 "vmdk",
9157 "cloop"
9158 ],
44660702
DM
9159 "optional" : 1,
9160 "type" : "string"
56122987 9161 },
44660702
DM
9162 "heads" : {
9163 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9164 "optional" : 1,
7aacca6f 9165 "type" : "integer"
56122987 9166 },
44660702 9167 "iops" : {
de0983cb 9168 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9169 "format_description" : "iops",
44660702
DM
9170 "optional" : 1,
9171 "type" : "integer"
7aacca6f 9172 },
44660702 9173 "iops_max" : {
de0983cb 9174 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9175 "format_description" : "iops",
56122987 9176 "optional" : 1,
44660702 9177 "type" : "integer"
7aacca6f 9178 },
de0983cb
DM
9179 "iops_max_length" : {
9180 "description" : "Maximum length of I/O bursts in seconds.",
9181 "format_description" : "seconds",
9182 "minimum" : 1,
9183 "optional" : 1,
9184 "type" : "integer"
9185 },
44660702 9186 "iops_rd" : {
de0983cb 9187 "description" : "Maximum read I/O in operations per second.",
44660702 9188 "format_description" : "iops",
7aacca6f 9189 "optional" : 1,
44660702 9190 "type" : "integer"
56122987 9191 },
de0983cb 9192 "iops_rd_length" : {
5d9c884c 9193 "alias" : "iops_rd_max_length"
de0983cb 9194 },
44660702 9195 "iops_rd_max" : {
de0983cb 9196 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
9197 "format_description" : "iops",
9198 "optional" : 1,
9199 "type" : "integer"
9200 },
5d9c884c
DM
9201 "iops_rd_max_length" : {
9202 "description" : "Maximum length of read I/O bursts in seconds.",
9203 "format_description" : "seconds",
9204 "minimum" : 1,
9205 "optional" : 1,
9206 "type" : "integer"
9207 },
44660702 9208 "iops_wr" : {
de0983cb 9209 "description" : "Maximum write I/O in operations per second.",
44660702 9210 "format_description" : "iops",
56122987 9211 "optional" : 1,
44660702
DM
9212 "type" : "integer"
9213 },
de0983cb 9214 "iops_wr_length" : {
5d9c884c 9215 "alias" : "iops_wr_max_length"
de0983cb 9216 },
44660702 9217 "iops_wr_max" : {
de0983cb 9218 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
9219 "format_description" : "iops",
9220 "optional" : 1,
9221 "type" : "integer"
56122987 9222 },
5d9c884c
DM
9223 "iops_wr_max_length" : {
9224 "description" : "Maximum length of write I/O bursts in seconds.",
9225 "format_description" : "seconds",
9226 "minimum" : 1,
9227 "optional" : 1,
9228 "type" : "integer"
9229 },
7aacca6f 9230 "iothread" : {
7aacca6f 9231 "description" : "Whether to use iothreads for this drive",
56122987 9232 "optional" : 1,
56122987
DM
9233 "type" : "boolean"
9234 },
44660702 9235 "mbps" : {
de0983cb 9236 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
9237 "format_description" : "mbps",
9238 "optional" : 1,
9239 "type" : "number"
9240 },
9241 "mbps_max" : {
de0983cb 9242 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9243 "format_description" : "mbps",
9244 "optional" : 1,
9245 "type" : "number"
9246 },
9247 "mbps_rd" : {
de0983cb 9248 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
9249 "format_description" : "mbps",
9250 "optional" : 1,
9251 "type" : "number"
9252 },
9253 "mbps_rd_max" : {
de0983cb 9254 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9255 "format_description" : "mbps",
9256 "optional" : 1,
9257 "type" : "number"
9258 },
9259 "mbps_wr" : {
de0983cb 9260 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
9261 "format_description" : "mbps",
9262 "optional" : 1,
9263 "type" : "number"
9264 },
9265 "mbps_wr_max" : {
de0983cb 9266 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9267 "format_description" : "mbps",
9268 "optional" : 1,
9269 "type" : "number"
9270 },
7aacca6f 9271 "media" : {
44660702
DM
9272 "default" : "disk",
9273 "description" : "The drive's media type.",
7aacca6f
DM
9274 "enum" : [
9275 "cdrom",
9276 "disk"
9277 ],
56122987 9278 "optional" : 1,
44660702
DM
9279 "type" : "string"
9280 },
9281 "queues" : {
9282 "description" : "Number of queues.",
44660702
DM
9283 "minimum" : 2,
9284 "optional" : 1,
9285 "type" : "integer"
9286 },
5d9c884c
DM
9287 "replicate" : {
9288 "default" : 1,
9289 "description" : "Whether the drive should considered for replication jobs.",
9290 "optional" : 1,
9291 "type" : "boolean"
9292 },
9293 "rerror" : {
9294 "description" : "Read error action.",
9295 "enum" : [
9296 "ignore",
9297 "report",
9298 "stop"
9299 ],
9300 "optional" : 1,
9301 "type" : "string"
9302 },
52e44c50
FG
9303 "scsiblock" : {
9304 "default" : 0,
9305 "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",
9306 "optional" : 1,
9307 "type" : "boolean"
9308 },
44660702
DM
9309 "secs" : {
9310 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9311 "optional" : 1,
9312 "type" : "integer"
9313 },
9314 "serial" : {
9315 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9316 "format" : "urlencoded",
9317 "format_description" : "serial",
9318 "maxLength" : 60,
9319 "optional" : 1,
9320 "type" : "string"
9321 },
27a7acb2
DM
9322 "shared" : {
9323 "default" : 0,
9324 "description" : "Mark this locally-managed volume as available on all nodes",
9325 "optional" : 1,
9326 "type" : "boolean",
9327 "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!"
9328 },
44660702
DM
9329 "size" : {
9330 "description" : "Disk size. This is purely informational and has no effect.",
9331 "format" : "disk-size",
f004f5b9 9332 "format_description" : "DiskSize",
44660702
DM
9333 "optional" : 1,
9334 "type" : "string"
56122987 9335 },
7aacca6f 9336 "snapshot" : {
27a7acb2 9337 "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 9338 "optional" : 1,
44660702 9339 "type" : "boolean"
7aacca6f 9340 },
44660702
DM
9341 "trans" : {
9342 "description" : "Force disk geometry bios translation mode.",
9343 "enum" : [
9344 "none",
9345 "lba",
9346 "auto"
9347 ],
44660702
DM
9348 "optional" : 1,
9349 "type" : "string"
9350 },
9351 "volume" : {
9352 "alias" : "file"
9353 },
9354 "werror" : {
9355 "description" : "Write error action.",
9356 "enum" : [
9357 "enospc",
9358 "ignore",
9359 "report",
9360 "stop"
9361 ],
56122987 9362 "optional" : 1,
44660702 9363 "type" : "string"
56122987 9364 }
44660702 9365 },
7aacca6f 9366 "optional" : 1,
4d47f125 9367 "type" : "string"
44660702
DM
9368 },
9369 "scsihw" : {
9370 "default" : "lsi",
c2993fe5 9371 "description" : "SCSI controller model",
7aacca6f 9372 "enum" : [
44660702
DM
9373 "lsi",
9374 "lsi53c810",
9375 "virtio-scsi-pci",
9376 "virtio-scsi-single",
9377 "megasas",
9378 "pvscsi"
7aacca6f 9379 ],
44660702
DM
9380 "optional" : 1,
9381 "type" : "string"
56122987 9382 },
27a7acb2
DM
9383 "searchdomain" : {
9384 "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.",
9385 "optional" : 1,
4d47f125 9386 "type" : "string"
27a7acb2 9387 },
44660702 9388 "serial[n]" : {
c2993fe5 9389 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 9390 "optional" : 1,
44660702 9391 "pattern" : "(/dev/.+|socket)",
c2993fe5 9392 "type" : "string",
57b78691 9393 "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 9394 },
44660702
DM
9395 "shares" : {
9396 "default" : 1000,
5da3d723 9397 "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
9398 "maximum" : 50000,
9399 "minimum" : 0,
56122987 9400 "optional" : 1,
4d47f125 9401 "type" : "integer"
56122987 9402 },
44660702
DM
9403 "smbios1" : {
9404 "description" : "Specify SMBIOS type 1 fields.",
9405 "format" : "pve-qm-smbios1",
9406 "maxLength" : 256,
56122987 9407 "optional" : 1,
4d47f125 9408 "type" : "string"
56122987 9409 },
44660702
DM
9410 "smp" : {
9411 "default" : 1,
9412 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 9413 "minimum" : 1,
7aacca6f 9414 "optional" : 1,
4d47f125 9415 "type" : "integer"
7aacca6f 9416 },
44660702
DM
9417 "sockets" : {
9418 "default" : 1,
9419 "description" : "The number of CPU sockets.",
9420 "minimum" : 1,
7aacca6f 9421 "optional" : 1,
4d47f125 9422 "type" : "integer"
56122987 9423 },
27a7acb2
DM
9424 "sshkeys" : {
9425 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
9426 "format" : "urlencoded",
9427 "optional" : 1,
4d47f125 9428 "type" : "string"
27a7acb2 9429 },
44660702
DM
9430 "startdate" : {
9431 "default" : "now",
9432 "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 9433 "optional" : 1,
44660702 9434 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 9435 "type" : "string",
44660702 9436 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 9437 },
7aacca6f 9438 "startup" : {
7aacca6f 9439 "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 9440 "format" : "pve-startup-order",
56122987 9441 "optional" : 1,
44660702
DM
9442 "type" : "string",
9443 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 9444 },
44660702 9445 "tablet" : {
7aacca6f 9446 "default" : 1,
c2993fe5 9447 "description" : "Enable/disable the USB tablet device.",
7aacca6f 9448 "optional" : 1,
c2993fe5
DM
9449 "type" : "boolean",
9450 "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 9451 },
44660702
DM
9452 "tdf" : {
9453 "default" : 0,
9454 "description" : "Enable/disable time drift fix.",
7aacca6f 9455 "optional" : 1,
4d47f125 9456 "type" : "boolean"
7aacca6f 9457 },
44660702
DM
9458 "template" : {
9459 "default" : 0,
9460 "description" : "Enable/disable Template.",
7aacca6f 9461 "optional" : 1,
4d47f125 9462 "type" : "boolean"
7aacca6f 9463 },
44660702 9464 "unused[n]" : {
c2993fe5 9465 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 9466 "format" : "pve-volume-id",
7aacca6f 9467 "optional" : 1,
4d47f125 9468 "type" : "string"
7aacca6f 9469 },
44660702 9470 "usb[n]" : {
c2993fe5 9471 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
9472 "format" : {
9473 "host" : {
9474 "default_key" : 1,
c2993fe5 9475 "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
9476 "format" : "pve-qm-usb-device",
9477 "format_description" : "HOSTUSBDEVICE|spice",
9478 "type" : "string"
9479 },
9480 "usb3" : {
c2993fe5
DM
9481 "default" : 0,
9482 "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
9483 "optional" : 1,
9484 "type" : "boolean"
9485 }
9486 },
7aacca6f 9487 "optional" : 1,
4d47f125 9488 "type" : "string"
56122987 9489 },
44660702
DM
9490 "vcpus" : {
9491 "default" : 0,
9492 "description" : "Number of hotplugged vcpus.",
9493 "minimum" : 1,
56122987 9494 "optional" : 1,
4d47f125 9495 "type" : "integer"
56122987 9496 },
44660702 9497 "vga" : {
c2993fe5 9498 "description" : "Select the VGA type.",
44660702 9499 "enum" : [
44660702 9500 "cirrus",
44660702 9501 "qxl",
4d47f125
TL
9502 "qxl2",
9503 "qxl3",
9504 "qxl4",
44660702
DM
9505 "serial0",
9506 "serial1",
9507 "serial2",
9508 "serial3",
4d47f125
TL
9509 "std",
9510 "virtio",
9511 "vmware"
44660702 9512 ],
56122987 9513 "optional" : 1,
c2993fe5
DM
9514 "type" : "string",
9515 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
56122987 9516 },
44660702
DM
9517 "virtio[n]" : {
9518 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 9519 "format" : {
44660702
DM
9520 "aio" : {
9521 "description" : "AIO type to use.",
56122987 9522 "enum" : [
44660702
DM
9523 "native",
9524 "threads"
56122987 9525 ],
56122987
DM
9526 "optional" : 1,
9527 "type" : "string"
9528 },
44660702
DM
9529 "backup" : {
9530 "description" : "Whether the drive should be included when making backups.",
44660702
DM
9531 "optional" : 1,
9532 "type" : "boolean"
7aacca6f 9533 },
44660702 9534 "bps" : {
de0983cb 9535 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
9536 "format_description" : "bps",
9537 "optional" : 1,
9538 "type" : "integer"
56122987 9539 },
de0983cb
DM
9540 "bps_max_length" : {
9541 "description" : "Maximum length of I/O bursts in seconds.",
9542 "format_description" : "seconds",
9543 "minimum" : 1,
9544 "optional" : 1,
9545 "type" : "integer"
9546 },
44660702 9547 "bps_rd" : {
de0983cb 9548 "description" : "Maximum read speed in bytes per second.",
44660702 9549 "format_description" : "bps",
56122987 9550 "optional" : 1,
44660702 9551 "type" : "integer"
56122987 9552 },
de0983cb 9553 "bps_rd_length" : {
5d9c884c
DM
9554 "alias" : "bps_rd_max_length"
9555 },
9556 "bps_rd_max_length" : {
de0983cb
DM
9557 "description" : "Maximum length of read I/O bursts in seconds.",
9558 "format_description" : "seconds",
9559 "minimum" : 1,
9560 "optional" : 1,
9561 "type" : "integer"
9562 },
44660702 9563 "bps_wr" : {
de0983cb 9564 "description" : "Maximum write speed in bytes per second.",
44660702 9565 "format_description" : "bps",
56122987 9566 "optional" : 1,
44660702
DM
9567 "type" : "integer"
9568 },
de0983cb 9569 "bps_wr_length" : {
5d9c884c
DM
9570 "alias" : "bps_wr_max_length"
9571 },
9572 "bps_wr_max_length" : {
de0983cb
DM
9573 "description" : "Maximum length of write I/O bursts in seconds.",
9574 "format_description" : "seconds",
9575 "minimum" : 1,
9576 "optional" : 1,
9577 "type" : "integer"
9578 },
44660702
DM
9579 "cache" : {
9580 "description" : "The drive's cache mode",
56122987 9581 "enum" : [
44660702
DM
9582 "none",
9583 "writethrough",
9584 "writeback",
9585 "unsafe",
9586 "directsync"
56122987 9587 ],
56122987 9588 "optional" : 1,
44660702 9589 "type" : "string"
56122987 9590 },
44660702
DM
9591 "cyls" : {
9592 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 9593 "optional" : 1,
44660702 9594 "type" : "integer"
7aacca6f 9595 },
44660702
DM
9596 "detect_zeroes" : {
9597 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9598 "optional" : 1,
9599 "type" : "boolean"
7aacca6f 9600 },
44660702
DM
9601 "discard" : {
9602 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9603 "enum" : [
9604 "ignore",
9605 "on"
9606 ],
56122987 9607 "optional" : 1,
44660702 9608 "type" : "string"
56122987
DM
9609 },
9610 "file" : {
7aacca6f 9611 "default_key" : 1,
44660702 9612 "description" : "The drive's backing volume.",
7aacca6f 9613 "format" : "pve-volume-id-or-qm-path",
44660702
DM
9614 "format_description" : "volume",
9615 "type" : "string"
7aacca6f
DM
9616 },
9617 "format" : {
7aacca6f
DM
9618 "description" : "The drive's backing file's data format.",
9619 "enum" : [
9620 "raw",
9621 "cow",
9622 "qcow",
9623 "qed",
9624 "qcow2",
9625 "vmdk",
9626 "cloop"
56122987
DM
9627 ],
9628 "optional" : 1,
56122987
DM
9629 "type" : "string"
9630 },
44660702
DM
9631 "heads" : {
9632 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9633 "optional" : 1,
44660702 9634 "type" : "integer"
56122987 9635 },
44660702 9636 "iops" : {
de0983cb 9637 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9638 "format_description" : "iops",
56122987 9639 "optional" : 1,
44660702 9640 "type" : "integer"
56122987 9641 },
44660702 9642 "iops_max" : {
de0983cb 9643 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9644 "format_description" : "iops",
56122987 9645 "optional" : 1,
56122987
DM
9646 "type" : "integer"
9647 },
de0983cb
DM
9648 "iops_max_length" : {
9649 "description" : "Maximum length of I/O bursts in seconds.",
9650 "format_description" : "seconds",
9651 "minimum" : 1,
9652 "optional" : 1,
9653 "type" : "integer"
9654 },
44660702 9655 "iops_rd" : {
de0983cb 9656 "description" : "Maximum read I/O in operations per second.",
44660702 9657 "format_description" : "iops",
56122987 9658 "optional" : 1,
44660702 9659 "type" : "integer"
56122987 9660 },
de0983cb 9661 "iops_rd_length" : {
5d9c884c 9662 "alias" : "iops_rd_max_length"
de0983cb 9663 },
44660702 9664 "iops_rd_max" : {
de0983cb 9665 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9666 "format_description" : "iops",
7aacca6f 9667 "optional" : 1,
44660702 9668 "type" : "integer"
56122987 9669 },
5d9c884c
DM
9670 "iops_rd_max_length" : {
9671 "description" : "Maximum length of read I/O bursts in seconds.",
9672 "format_description" : "seconds",
9673 "minimum" : 1,
9674 "optional" : 1,
9675 "type" : "integer"
9676 },
44660702 9677 "iops_wr" : {
de0983cb 9678 "description" : "Maximum write I/O in operations per second.",
44660702 9679 "format_description" : "iops",
7aacca6f 9680 "optional" : 1,
44660702 9681 "type" : "integer"
56122987 9682 },
de0983cb 9683 "iops_wr_length" : {
5d9c884c 9684 "alias" : "iops_wr_max_length"
de0983cb 9685 },
44660702 9686 "iops_wr_max" : {
de0983cb 9687 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9688 "format_description" : "iops",
56122987
DM
9689 "optional" : 1,
9690 "type" : "integer"
9691 },
5d9c884c
DM
9692 "iops_wr_max_length" : {
9693 "description" : "Maximum length of write I/O bursts in seconds.",
9694 "format_description" : "seconds",
9695 "minimum" : 1,
9696 "optional" : 1,
9697 "type" : "integer"
9698 },
44660702
DM
9699 "iothread" : {
9700 "description" : "Whether to use iothreads for this drive",
44660702
DM
9701 "optional" : 1,
9702 "type" : "boolean"
9703 },
9704 "mbps" : {
de0983cb 9705 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 9706 "format_description" : "mbps",
44660702
DM
9707 "optional" : 1,
9708 "type" : "number"
9709 },
9710 "mbps_max" : {
de0983cb 9711 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9712 "format_description" : "mbps",
9713 "optional" : 1,
9714 "type" : "number"
7aacca6f 9715 },
44660702 9716 "mbps_rd" : {
de0983cb 9717 "description" : "Maximum read speed in megabytes per second.",
44660702 9718 "format_description" : "mbps",
56122987 9719 "optional" : 1,
44660702 9720 "type" : "number"
56122987 9721 },
44660702 9722 "mbps_rd_max" : {
de0983cb 9723 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9724 "format_description" : "mbps",
7aacca6f 9725 "optional" : 1,
44660702 9726 "type" : "number"
56122987 9727 },
44660702 9728 "mbps_wr" : {
de0983cb 9729 "description" : "Maximum write speed in megabytes per second.",
44660702 9730 "format_description" : "mbps",
56122987 9731 "optional" : 1,
44660702 9732 "type" : "number"
56122987 9733 },
44660702 9734 "mbps_wr_max" : {
de0983cb 9735 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 9736 "format_description" : "mbps",
56122987 9737 "optional" : 1,
44660702 9738 "type" : "number"
56122987
DM
9739 },
9740 "media" : {
7aacca6f 9741 "default" : "disk",
44660702 9742 "description" : "The drive's media type.",
56122987
DM
9743 "enum" : [
9744 "cdrom",
9745 "disk"
9746 ],
44660702
DM
9747 "optional" : 1,
9748 "type" : "string"
56122987 9749 },
5d9c884c
DM
9750 "replicate" : {
9751 "default" : 1,
9752 "description" : "Whether the drive should considered for replication jobs.",
9753 "optional" : 1,
9754 "type" : "boolean"
9755 },
7aacca6f 9756 "rerror" : {
44660702 9757 "description" : "Read error action.",
56122987 9758 "enum" : [
7aacca6f
DM
9759 "ignore",
9760 "report",
9761 "stop"
56122987 9762 ],
56122987 9763 "optional" : 1,
44660702 9764 "type" : "string"
56122987 9765 },
44660702
DM
9766 "secs" : {
9767 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9768 "optional" : 1,
9769 "type" : "integer"
9770 },
9771 "serial" : {
9772 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9773 "format" : "urlencoded",
9774 "format_description" : "serial",
9775 "maxLength" : 60,
56122987 9776 "optional" : 1,
7aacca6f 9777 "type" : "string"
56122987 9778 },
27a7acb2
DM
9779 "shared" : {
9780 "default" : 0,
9781 "description" : "Mark this locally-managed volume as available on all nodes",
9782 "optional" : 1,
9783 "type" : "boolean",
9784 "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!"
9785 },
44660702
DM
9786 "size" : {
9787 "description" : "Disk size. This is purely informational and has no effect.",
9788 "format" : "disk-size",
f004f5b9 9789 "format_description" : "DiskSize",
56122987 9790 "optional" : 1,
44660702 9791 "type" : "string"
56122987 9792 },
44660702 9793 "snapshot" : {
27a7acb2 9794 "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 9795 "optional" : 1,
44660702 9796 "type" : "boolean"
56122987 9797 },
44660702
DM
9798 "trans" : {
9799 "description" : "Force disk geometry bios translation mode.",
9800 "enum" : [
9801 "none",
9802 "lba",
9803 "auto"
9804 ],
44660702
DM
9805 "optional" : 1,
9806 "type" : "string"
9807 },
9808 "volume" : {
9809 "alias" : "file"
9810 },
9811 "werror" : {
9812 "description" : "Write error action.",
9813 "enum" : [
9814 "enospc",
9815 "ignore",
9816 "report",
9817 "stop"
9818 ],
56122987 9819 "optional" : 1,
44660702 9820 "type" : "string"
56122987 9821 }
44660702 9822 },
56122987 9823 "optional" : 1,
4d47f125 9824 "type" : "string"
56122987 9825 },
4d47f125
TL
9826 "vmgenid" : {
9827 "default" : "1 (autogenerated)",
9828 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
9829 "format_description" : "UUID",
9830 "optional" : 1,
9831 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
9832 "type" : "string",
9833 "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 9834 },
2489d6df
WB
9835 "vmstatestorage" : {
9836 "description" : "Default storage for VM state volumes/files.",
9837 "format" : "pve-storage-id",
9838 "optional" : 1,
4d47f125 9839 "type" : "string"
2489d6df 9840 },
44660702 9841 "watchdog" : {
c2993fe5 9842 "description" : "Create a virtual hardware watchdog device.",
44660702 9843 "format" : "pve-qm-watchdog",
56122987 9844 "optional" : 1,
c2993fe5
DM
9845 "type" : "string",
9846 "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 9847 }
4d47f125
TL
9848 },
9849 "type" : "object"
44660702 9850 }
56122987 9851 },
4d47f125
TL
9852 "POST" : {
9853 "description" : "Set virtual machine options (asynchrounous API).",
9854 "method" : "POST",
9855 "name" : "update_vm_async",
56122987 9856 "parameters" : {
7aacca6f 9857 "additionalProperties" : 0,
56122987 9858 "properties" : {
44660702
DM
9859 "acpi" : {
9860 "default" : 1,
9861 "description" : "Enable/disable ACPI.",
7aacca6f 9862 "optional" : 1,
013dc89f
DM
9863 "type" : "boolean",
9864 "typetext" : "<boolean>"
7aacca6f 9865 },
44660702 9866 "agent" : {
4d47f125
TL
9867 "description" : "Enable/disable Qemu GuestAgent and its properties.",
9868 "format" : {
9869 "enabled" : {
9870 "default" : 0,
9871 "default_key" : 1,
9872 "description" : "Enable/disable Qemu GuestAgent.",
9873 "type" : "boolean"
9874 },
9875 "fstrim_cloned_disks" : {
9876 "default" : 0,
9877 "description" : "Run fstrim after cloning/moving a disk.",
9878 "optional" : 1,
9879 "type" : "boolean"
9880 }
9881 },
7aacca6f 9882 "optional" : 1,
4d47f125
TL
9883 "type" : "string",
9884 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 9885 },
44660702 9886 "args" : {
c2993fe5 9887 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 9888 "optional" : 1,
c2993fe5 9889 "type" : "string",
013dc89f 9890 "typetext" : "<string>",
c2993fe5 9891 "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 9892 },
44660702
DM
9893 "autostart" : {
9894 "default" : 0,
9895 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 9896 "optional" : 1,
013dc89f
DM
9897 "type" : "boolean",
9898 "typetext" : "<boolean>"
7aacca6f 9899 },
4d47f125
TL
9900 "background_delay" : {
9901 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
9902 "maximum" : 30,
9903 "minimum" : 1,
9904 "optional" : 1,
9905 "type" : "integer",
9906 "typetext" : "<integer> (1 - 30)"
9907 },
44660702
DM
9908 "balloon" : {
9909 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
9910 "minimum" : 0,
9911 "optional" : 1,
4bd7df8b 9912 "type" : "integer",
013dc89f 9913 "typetext" : "<integer> (0 - N)"
44660702
DM
9914 },
9915 "bios" : {
9916 "default" : "seabios",
9917 "description" : "Select BIOS implementation.",
7aacca6f 9918 "enum" : [
44660702
DM
9919 "seabios",
9920 "ovmf"
7aacca6f 9921 ],
56122987 9922 "optional" : 1,
7aacca6f
DM
9923 "type" : "string"
9924 },
44660702
DM
9925 "boot" : {
9926 "default" : "cdn",
9927 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 9928 "optional" : 1,
44660702
DM
9929 "pattern" : "[acdn]{1,4}",
9930 "type" : "string"
56122987 9931 },
44660702
DM
9932 "bootdisk" : {
9933 "description" : "Enable booting from specified disk.",
9934 "format" : "pve-qm-bootdisk",
9935 "optional" : 1,
9936 "pattern" : "(ide|sata|scsi|virtio)\\d+",
9937 "type" : "string"
9938 },
9939 "cdrom" : {
9940 "description" : "This is an alias for option -ide2",
de0983cb 9941 "format" : "pve-qm-ide",
56122987 9942 "optional" : 1,
7aacca6f 9943 "type" : "string",
013dc89f 9944 "typetext" : "<volume>"
44660702 9945 },
27a7acb2
DM
9946 "cipassword" : {
9947 "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.",
9948 "optional" : 1,
9949 "type" : "string",
9950 "typetext" : "<string>"
9951 },
9952 "citype" : {
9953 "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.",
9954 "enum" : [
9955 "configdrive2",
9956 "nocloud"
9957 ],
9958 "optional" : 1,
9959 "type" : "string"
9960 },
9961 "ciuser" : {
9962 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
9963 "optional" : 1,
9964 "type" : "string",
9965 "typetext" : "<string>"
9966 },
44660702
DM
9967 "cores" : {
9968 "default" : 1,
9969 "description" : "The number of cores per socket.",
9970 "minimum" : 1,
9971 "optional" : 1,
4bd7df8b 9972 "type" : "integer",
013dc89f 9973 "typetext" : "<integer> (1 - N)"
44660702
DM
9974 },
9975 "cpu" : {
9976 "description" : "Emulated CPU type.",
9977 "format" : {
9978 "cputype" : {
9979 "default" : "kvm64",
9980 "default_key" : 1,
9981 "description" : "Emulated CPU type.",
9982 "enum" : [
9983 "486",
9984 "athlon",
f004f5b9 9985 "Broadwell",
35a75dd3 9986 "Broadwell-IBRS",
f004f5b9 9987 "Broadwell-noTSX",
35a75dd3 9988 "Broadwell-noTSX-IBRS",
f004f5b9 9989 "Conroe",
44660702 9990 "core2duo",
f004f5b9 9991 "coreduo",
27a7acb2
DM
9992 "EPYC",
9993 "EPYC-IBPB",
f004f5b9 9994 "Haswell",
35a75dd3 9995 "Haswell-IBRS",
f004f5b9 9996 "Haswell-noTSX",
35a75dd3 9997 "Haswell-noTSX-IBRS",
f004f5b9
DM
9998 "host",
9999 "IvyBridge",
35a75dd3 10000 "IvyBridge-IBRS",
44660702
DM
10001 "kvm32",
10002 "kvm64",
35a75dd3 10003 "max",
44660702 10004 "Nehalem",
35a75dd3 10005 "Nehalem-IBRS",
44660702
DM
10006 "Opteron_G1",
10007 "Opteron_G2",
10008 "Opteron_G3",
10009 "Opteron_G4",
10010 "Opteron_G5",
f004f5b9
DM
10011 "Penryn",
10012 "pentium",
10013 "pentium2",
10014 "pentium3",
10015 "phenom",
10016 "qemu32",
10017 "qemu64",
10018 "SandyBridge",
35a75dd3 10019 "SandyBridge-IBRS",
5d9c884c 10020 "Skylake-Client",
35a75dd3
DM
10021 "Skylake-Client-IBRS",
10022 "Skylake-Server",
10023 "Skylake-Server-IBRS",
10024 "Westmere",
10025 "Westmere-IBRS"
44660702 10026 ],
44660702
DM
10027 "type" : "string"
10028 },
35a75dd3 10029 "flags" : {
4d47f125 10030 "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
10031 "format_description" : "+FLAG[;-FLAG...]",
10032 "optional" : 1,
4d47f125 10033 "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
10034 "type" : "string"
10035 },
44660702
DM
10036 "hidden" : {
10037 "default" : 0,
10038 "description" : "Do not identify as a KVM virtual machine.",
10039 "optional" : 1,
10040 "type" : "boolean"
10041 }
10042 },
10043 "optional" : 1,
4bd7df8b 10044 "type" : "string",
35a75dd3 10045 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702
DM
10046 },
10047 "cpulimit" : {
10048 "default" : 0,
c2993fe5 10049 "description" : "Limit of CPU usage.",
44660702
DM
10050 "maximum" : 128,
10051 "minimum" : 0,
10052 "optional" : 1,
c2993fe5 10053 "type" : "number",
013dc89f 10054 "typetext" : "<number> (0 - 128)",
c2993fe5 10055 "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
10056 },
10057 "cpuunits" : {
de0983cb 10058 "default" : 1024,
c2993fe5 10059 "description" : "CPU weight for a VM.",
2489d6df
WB
10060 "maximum" : 262144,
10061 "minimum" : 2,
44660702 10062 "optional" : 1,
c2993fe5 10063 "type" : "integer",
2489d6df
WB
10064 "typetext" : "<integer> (2 - 262144)",
10065 "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
10066 },
10067 "delete" : {
10068 "description" : "A list of settings you want to delete.",
10069 "format" : "pve-configid-list",
10070 "optional" : 1,
013dc89f
DM
10071 "type" : "string",
10072 "typetext" : "<string>"
44660702
DM
10073 },
10074 "description" : {
10075 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
10076 "optional" : 1,
013dc89f
DM
10077 "type" : "string",
10078 "typetext" : "<string>"
44660702
DM
10079 },
10080 "digest" : {
10081 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10082 "maxLength" : 40,
10083 "optional" : 1,
013dc89f
DM
10084 "type" : "string",
10085 "typetext" : "<string>"
44660702 10086 },
4d47f125
TL
10087 "efidisk0" : {
10088 "description" : "Configure a Disk for storing EFI vars",
10089 "format" : {
10090 "file" : {
10091 "default_key" : 1,
10092 "description" : "The drive's backing volume.",
10093 "format" : "pve-volume-id-or-qm-path",
10094 "format_description" : "volume",
10095 "type" : "string"
10096 },
10097 "format" : {
10098 "description" : "The drive's backing file's data format.",
10099 "enum" : [
10100 "raw",
10101 "cow",
10102 "qcow",
10103 "qed",
10104 "qcow2",
10105 "vmdk",
10106 "cloop"
10107 ],
10108 "optional" : 1,
10109 "type" : "string"
10110 },
10111 "size" : {
10112 "description" : "Disk size. This is purely informational and has no effect.",
10113 "format" : "disk-size",
10114 "format_description" : "DiskSize",
10115 "optional" : 1,
10116 "type" : "string"
10117 },
10118 "volume" : {
10119 "alias" : "file"
10120 }
10121 },
10122 "optional" : 1,
10123 "type" : "string",
10124 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
10125 },
44660702
DM
10126 "force" : {
10127 "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.",
10128 "optional" : 1,
10129 "requires" : "delete",
013dc89f
DM
10130 "type" : "boolean",
10131 "typetext" : "<boolean>"
44660702
DM
10132 },
10133 "freeze" : {
10134 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
10135 "optional" : 1,
013dc89f
DM
10136 "type" : "boolean",
10137 "typetext" : "<boolean>"
44660702
DM
10138 },
10139 "hostpci[n]" : {
c2993fe5 10140 "description" : "Map host PCI devices into guest.",
44660702
DM
10141 "format" : "pve-qm-hostpci",
10142 "optional" : 1,
57b78691 10143 "type" : "string",
52e44c50 10144 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 10145 "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 10146 },
7aacca6f 10147 "hotplug" : {
7aacca6f 10148 "default" : "network,disk,usb",
44660702
DM
10149 "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'.",
10150 "format" : "pve-hotplug-features",
56122987 10151 "optional" : 1,
013dc89f
DM
10152 "type" : "string",
10153 "typetext" : "<string>"
56122987 10154 },
4bd7df8b
DM
10155 "hugepages" : {
10156 "description" : "Enable/disable hugepages memory.",
10157 "enum" : [
10158 "any",
10159 "2",
10160 "1024"
10161 ],
10162 "optional" : 1,
10163 "type" : "string"
10164 },
56122987 10165 "ide[n]" : {
7aacca6f 10166 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 10167 "format" : {
44660702
DM
10168 "aio" : {
10169 "description" : "AIO type to use.",
10170 "enum" : [
10171 "native",
10172 "threads"
10173 ],
56122987 10174 "optional" : 1,
44660702 10175 "type" : "string"
56122987 10176 },
44660702
DM
10177 "backup" : {
10178 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10179 "optional" : 1,
10180 "type" : "boolean"
10181 },
10182 "bps" : {
de0983cb 10183 "description" : "Maximum r/w speed in bytes per second.",
44660702 10184 "format_description" : "bps",
56122987 10185 "optional" : 1,
44660702 10186 "type" : "integer"
56122987 10187 },
de0983cb
DM
10188 "bps_max_length" : {
10189 "description" : "Maximum length of I/O bursts in seconds.",
10190 "format_description" : "seconds",
10191 "minimum" : 1,
10192 "optional" : 1,
10193 "type" : "integer"
10194 },
44660702 10195 "bps_rd" : {
de0983cb 10196 "description" : "Maximum read speed in bytes per second.",
44660702 10197 "format_description" : "bps",
56122987 10198 "optional" : 1,
44660702 10199 "type" : "integer"
56122987 10200 },
de0983cb 10201 "bps_rd_length" : {
5d9c884c
DM
10202 "alias" : "bps_rd_max_length"
10203 },
10204 "bps_rd_max_length" : {
de0983cb
DM
10205 "description" : "Maximum length of read I/O bursts in seconds.",
10206 "format_description" : "seconds",
10207 "minimum" : 1,
10208 "optional" : 1,
10209 "type" : "integer"
10210 },
7aacca6f 10211 "bps_wr" : {
de0983cb 10212 "description" : "Maximum write speed in bytes per second.",
44660702
DM
10213 "format_description" : "bps",
10214 "optional" : 1,
10215 "type" : "integer"
7aacca6f 10216 },
de0983cb 10217 "bps_wr_length" : {
5d9c884c
DM
10218 "alias" : "bps_wr_max_length"
10219 },
10220 "bps_wr_max_length" : {
de0983cb
DM
10221 "description" : "Maximum length of write I/O bursts in seconds.",
10222 "format_description" : "seconds",
10223 "minimum" : 1,
10224 "optional" : 1,
10225 "type" : "integer"
10226 },
44660702
DM
10227 "cache" : {
10228 "description" : "The drive's cache mode",
10229 "enum" : [
10230 "none",
10231 "writethrough",
10232 "writeback",
10233 "unsafe",
10234 "directsync"
10235 ],
56122987 10236 "optional" : 1,
44660702
DM
10237 "type" : "string"
10238 },
10239 "cyls" : {
10240 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10241 "optional" : 1,
10242 "type" : "integer"
10243 },
10244 "detect_zeroes" : {
10245 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10246 "optional" : 1,
10247 "type" : "boolean"
56122987 10248 },
7aacca6f 10249 "discard" : {
7aacca6f 10250 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 10251 "enum" : [
7aacca6f
DM
10252 "ignore",
10253 "on"
56122987
DM
10254 ],
10255 "optional" : 1,
44660702 10256 "type" : "string"
7aacca6f 10257 },
44660702
DM
10258 "file" : {
10259 "default_key" : 1,
10260 "description" : "The drive's backing volume.",
10261 "format" : "pve-volume-id-or-qm-path",
10262 "format_description" : "volume",
10263 "type" : "string"
7aacca6f
DM
10264 },
10265 "format" : {
44660702 10266 "description" : "The drive's backing file's data format.",
7aacca6f
DM
10267 "enum" : [
10268 "raw",
10269 "cow",
10270 "qcow",
10271 "qed",
10272 "qcow2",
10273 "vmdk",
10274 "cloop"
10275 ],
7aacca6f 10276 "optional" : 1,
44660702 10277 "type" : "string"
56122987 10278 },
7aacca6f 10279 "heads" : {
44660702 10280 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10281 "optional" : 1,
44660702 10282 "type" : "integer"
7aacca6f 10283 },
44660702 10284 "iops" : {
de0983cb 10285 "description" : "Maximum r/w I/O in operations per second.",
44660702 10286 "format_description" : "iops",
7aacca6f 10287 "optional" : 1,
44660702 10288 "type" : "integer"
56122987 10289 },
44660702 10290 "iops_max" : {
de0983cb 10291 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10292 "format_description" : "iops",
56122987 10293 "optional" : 1,
44660702 10294 "type" : "integer"
56122987 10295 },
de0983cb
DM
10296 "iops_max_length" : {
10297 "description" : "Maximum length of I/O bursts in seconds.",
10298 "format_description" : "seconds",
10299 "minimum" : 1,
10300 "optional" : 1,
10301 "type" : "integer"
10302 },
44660702 10303 "iops_rd" : {
de0983cb 10304 "description" : "Maximum read I/O in operations per second.",
44660702 10305 "format_description" : "iops",
56122987 10306 "optional" : 1,
44660702 10307 "type" : "integer"
7aacca6f 10308 },
de0983cb 10309 "iops_rd_length" : {
5d9c884c 10310 "alias" : "iops_rd_max_length"
de0983cb 10311 },
44660702 10312 "iops_rd_max" : {
de0983cb 10313 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10314 "format_description" : "iops",
7aacca6f 10315 "optional" : 1,
44660702 10316 "type" : "integer"
7aacca6f 10317 },
5d9c884c
DM
10318 "iops_rd_max_length" : {
10319 "description" : "Maximum length of read I/O bursts in seconds.",
10320 "format_description" : "seconds",
10321 "minimum" : 1,
10322 "optional" : 1,
10323 "type" : "integer"
10324 },
44660702 10325 "iops_wr" : {
de0983cb 10326 "description" : "Maximum write I/O in operations per second.",
44660702 10327 "format_description" : "iops",
7aacca6f 10328 "optional" : 1,
44660702 10329 "type" : "integer"
56122987 10330 },
de0983cb 10331 "iops_wr_length" : {
5d9c884c 10332 "alias" : "iops_wr_max_length"
de0983cb 10333 },
44660702 10334 "iops_wr_max" : {
de0983cb 10335 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 10336 "format_description" : "iops",
7aacca6f 10337 "optional" : 1,
44660702 10338 "type" : "integer"
7aacca6f 10339 },
5d9c884c
DM
10340 "iops_wr_max_length" : {
10341 "description" : "Maximum length of write I/O bursts in seconds.",
10342 "format_description" : "seconds",
10343 "minimum" : 1,
10344 "optional" : 1,
10345 "type" : "integer"
10346 },
7aacca6f 10347 "mbps" : {
de0983cb 10348 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 10349 "format_description" : "mbps",
7aacca6f 10350 "optional" : 1,
44660702 10351 "type" : "number"
7aacca6f 10352 },
44660702 10353 "mbps_max" : {
de0983cb 10354 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 10355 "format_description" : "mbps",
7aacca6f 10356 "optional" : 1,
44660702 10357 "type" : "number"
7aacca6f 10358 },
44660702 10359 "mbps_rd" : {
de0983cb 10360 "description" : "Maximum read speed in megabytes per second.",
44660702 10361 "format_description" : "mbps",
7aacca6f 10362 "optional" : 1,
44660702 10363 "type" : "number"
7aacca6f 10364 },
44660702 10365 "mbps_rd_max" : {
de0983cb 10366 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
10367 "format_description" : "mbps",
10368 "optional" : 1,
10369 "type" : "number"
7aacca6f 10370 },
44660702 10371 "mbps_wr" : {
de0983cb 10372 "description" : "Maximum write speed in megabytes per second.",
44660702 10373 "format_description" : "mbps",
7aacca6f 10374 "optional" : 1,
44660702
DM
10375 "type" : "number"
10376 },
10377 "mbps_wr_max" : {
de0983cb 10378 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
10379 "format_description" : "mbps",
10380 "optional" : 1,
10381 "type" : "number"
10382 },
10383 "media" : {
10384 "default" : "disk",
10385 "description" : "The drive's media type.",
56122987 10386 "enum" : [
44660702
DM
10387 "cdrom",
10388 "disk"
56122987 10389 ],
44660702
DM
10390 "optional" : 1,
10391 "type" : "string"
56122987 10392 },
7aacca6f 10393 "model" : {
44660702 10394 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 10395 "format" : "urlencoded",
7aacca6f 10396 "format_description" : "model",
44660702 10397 "maxLength" : 120,
56122987 10398 "optional" : 1,
44660702 10399 "type" : "string"
56122987 10400 },
5d9c884c
DM
10401 "replicate" : {
10402 "default" : 1,
10403 "description" : "Whether the drive should considered for replication jobs.",
10404 "optional" : 1,
10405 "type" : "boolean"
10406 },
44660702
DM
10407 "rerror" : {
10408 "description" : "Read error action.",
10409 "enum" : [
10410 "ignore",
10411 "report",
10412 "stop"
10413 ],
56122987 10414 "optional" : 1,
44660702 10415 "type" : "string"
56122987 10416 },
44660702
DM
10417 "secs" : {
10418 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10419 "optional" : 1,
10420 "type" : "integer"
56122987 10421 },
44660702
DM
10422 "serial" : {
10423 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10424 "format" : "urlencoded",
10425 "format_description" : "serial",
10426 "maxLength" : 60,
56122987 10427 "optional" : 1,
44660702 10428 "type" : "string"
56122987 10429 },
27a7acb2
DM
10430 "shared" : {
10431 "default" : 0,
10432 "description" : "Mark this locally-managed volume as available on all nodes",
10433 "optional" : 1,
10434 "type" : "boolean",
10435 "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!"
10436 },
44660702
DM
10437 "size" : {
10438 "description" : "Disk size. This is purely informational and has no effect.",
10439 "format" : "disk-size",
f004f5b9 10440 "format_description" : "DiskSize",
56122987 10441 "optional" : 1,
44660702 10442 "type" : "string"
56122987 10443 },
44660702 10444 "snapshot" : {
27a7acb2 10445 "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 10446 "optional" : 1,
44660702 10447 "type" : "boolean"
56122987 10448 },
44660702
DM
10449 "trans" : {
10450 "description" : "Force disk geometry bios translation mode.",
10451 "enum" : [
10452 "none",
10453 "lba",
10454 "auto"
10455 ],
56122987 10456 "optional" : 1,
44660702
DM
10457 "type" : "string"
10458 },
10459 "volume" : {
10460 "alias" : "file"
56122987 10461 },
7aacca6f 10462 "werror" : {
44660702 10463 "description" : "Write error action.",
7aacca6f
DM
10464 "enum" : [
10465 "enospc",
10466 "ignore",
10467 "report",
10468 "stop"
10469 ],
56122987 10470 "optional" : 1,
44660702 10471 "type" : "string"
7aacca6f 10472 }
44660702
DM
10473 },
10474 "optional" : 1,
4bd7df8b 10475 "type" : "string",
27a7acb2
DM
10476 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
10477 },
10478 "ipconfig[n]" : {
10479 "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",
10480 "format" : "pve-qm-ipconfig",
10481 "optional" : 1,
10482 "type" : "string",
10483 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 10484 },
44660702 10485 "keyboard" : {
35a75dd3 10486 "default" : null,
5da3d723 10487 "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
10488 "enum" : [
10489 "de",
10490 "de-ch",
10491 "da",
10492 "en-gb",
10493 "en-us",
10494 "es",
10495 "fi",
10496 "fr",
10497 "fr-be",
10498 "fr-ca",
10499 "fr-ch",
10500 "hu",
10501 "is",
10502 "it",
10503 "ja",
10504 "lt",
10505 "mk",
10506 "nl",
10507 "no",
10508 "pl",
10509 "pt",
10510 "pt-br",
10511 "sv",
10512 "sl",
10513 "tr"
10514 ],
7aacca6f 10515 "optional" : 1,
44660702 10516 "type" : "string"
7aacca6f 10517 },
44660702 10518 "kvm" : {
7aacca6f 10519 "default" : 1,
44660702 10520 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 10521 "optional" : 1,
013dc89f
DM
10522 "type" : "boolean",
10523 "typetext" : "<boolean>"
7aacca6f 10524 },
44660702
DM
10525 "localtime" : {
10526 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 10527 "optional" : 1,
013dc89f
DM
10528 "type" : "boolean",
10529 "typetext" : "<boolean>"
7aacca6f 10530 },
44660702
DM
10531 "lock" : {
10532 "description" : "Lock/unlock the VM.",
10533 "enum" : [
10534 "migrate",
10535 "backup",
10536 "snapshot",
10537 "rollback"
10538 ],
7aacca6f 10539 "optional" : 1,
44660702 10540 "type" : "string"
7aacca6f 10541 },
44660702 10542 "machine" : {
4d47f125 10543 "description" : "Specifies the Qemu machine type.",
44660702 10544 "maxLength" : 40,
7aacca6f 10545 "optional" : 1,
44660702
DM
10546 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
10547 "type" : "string"
7aacca6f 10548 },
44660702
DM
10549 "memory" : {
10550 "default" : 512,
10551 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
10552 "minimum" : 16,
7aacca6f 10553 "optional" : 1,
4bd7df8b 10554 "type" : "integer",
013dc89f 10555 "typetext" : "<integer> (16 - N)"
7aacca6f 10556 },
44660702
DM
10557 "migrate_downtime" : {
10558 "default" : 0.1,
10559 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
10560 "minimum" : 0,
7aacca6f 10561 "optional" : 1,
4bd7df8b 10562 "type" : "number",
013dc89f 10563 "typetext" : "<number> (0 - N)"
7aacca6f 10564 },
44660702 10565 "migrate_speed" : {
7aacca6f 10566 "default" : 0,
44660702
DM
10567 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
10568 "minimum" : 0,
10569 "optional" : 1,
4bd7df8b 10570 "type" : "integer",
013dc89f 10571 "typetext" : "<integer> (0 - N)"
7aacca6f 10572 },
44660702
DM
10573 "name" : {
10574 "description" : "Set a name for the VM. Only used on the configuration web interface.",
10575 "format" : "dns-name",
7aacca6f 10576 "optional" : 1,
013dc89f
DM
10577 "type" : "string",
10578 "typetext" : "<string>"
7aacca6f 10579 },
27a7acb2
DM
10580 "nameserver" : {
10581 "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.",
10582 "format" : "address-list",
10583 "optional" : 1,
10584 "type" : "string",
10585 "typetext" : "<string>"
10586 },
44660702 10587 "net[n]" : {
c2993fe5 10588 "description" : "Specify network devices.",
f004f5b9
DM
10589 "format" : {
10590 "bridge" : {
c2993fe5 10591 "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
10592 "format_description" : "bridge",
10593 "optional" : 1,
10594 "type" : "string"
10595 },
10596 "e1000" : {
10597 "alias" : "macaddr",
10598 "keyAlias" : "model"
10599 },
10600 "e1000-82540em" : {
10601 "alias" : "macaddr",
10602 "keyAlias" : "model"
10603 },
10604 "e1000-82544gc" : {
10605 "alias" : "macaddr",
10606 "keyAlias" : "model"
10607 },
10608 "e1000-82545em" : {
10609 "alias" : "macaddr",
10610 "keyAlias" : "model"
10611 },
10612 "firewall" : {
10613 "description" : "Whether this interface should be protected by the firewall.",
10614 "optional" : 1,
10615 "type" : "boolean"
10616 },
10617 "i82551" : {
10618 "alias" : "macaddr",
10619 "keyAlias" : "model"
10620 },
10621 "i82557b" : {
10622 "alias" : "macaddr",
10623 "keyAlias" : "model"
10624 },
10625 "i82559er" : {
10626 "alias" : "macaddr",
10627 "keyAlias" : "model"
10628 },
10629 "link_down" : {
c2993fe5 10630 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
10631 "optional" : 1,
10632 "type" : "boolean"
10633 },
10634 "macaddr" : {
c2993fe5 10635 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 10636 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
10637 "optional" : 1,
10638 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
10639 "type" : "string"
10640 },
10641 "model" : {
10642 "default_key" : 1,
c2993fe5 10643 "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
10644 "enum" : [
10645 "rtl8139",
10646 "ne2k_pci",
10647 "e1000",
10648 "pcnet",
10649 "virtio",
10650 "ne2k_isa",
10651 "i82551",
10652 "i82557b",
10653 "i82559er",
10654 "vmxnet3",
10655 "e1000-82540em",
10656 "e1000-82544gc",
10657 "e1000-82545em"
10658 ],
f004f5b9
DM
10659 "type" : "string"
10660 },
10661 "ne2k_isa" : {
10662 "alias" : "macaddr",
10663 "keyAlias" : "model"
10664 },
10665 "ne2k_pci" : {
10666 "alias" : "macaddr",
10667 "keyAlias" : "model"
10668 },
10669 "pcnet" : {
10670 "alias" : "macaddr",
10671 "keyAlias" : "model"
10672 },
10673 "queues" : {
10674 "description" : "Number of packet queues to be used on the device.",
10675 "maximum" : 16,
10676 "minimum" : 0,
10677 "optional" : 1,
10678 "type" : "integer"
10679 },
10680 "rate" : {
c2993fe5 10681 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
10682 "minimum" : 0,
10683 "optional" : 1,
10684 "type" : "number"
10685 },
10686 "rtl8139" : {
10687 "alias" : "macaddr",
10688 "keyAlias" : "model"
10689 },
10690 "tag" : {
10691 "description" : "VLAN tag to apply to packets on this interface.",
10692 "maximum" : 4094,
c2993fe5 10693 "minimum" : 1,
f004f5b9
DM
10694 "optional" : 1,
10695 "type" : "integer"
10696 },
10697 "trunks" : {
10698 "description" : "VLAN trunks to pass through this interface.",
10699 "format_description" : "vlanid[;vlanid...]",
10700 "optional" : 1,
10701 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10702 "type" : "string"
10703 },
10704 "virtio" : {
10705 "alias" : "macaddr",
10706 "keyAlias" : "model"
10707 },
10708 "vmxnet3" : {
10709 "alias" : "macaddr",
10710 "keyAlias" : "model"
10711 }
10712 },
7aacca6f 10713 "optional" : 1,
4bd7df8b 10714 "type" : "string",
013dc89f 10715 "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 10716 },
44660702
DM
10717 "node" : {
10718 "description" : "The cluster node name.",
10719 "format" : "pve-node",
013dc89f
DM
10720 "type" : "string",
10721 "typetext" : "<string>"
44660702
DM
10722 },
10723 "numa" : {
10724 "default" : 0,
10725 "description" : "Enable/disable NUMA.",
7aacca6f 10726 "optional" : 1,
013dc89f
DM
10727 "type" : "boolean",
10728 "typetext" : "<boolean>"
7aacca6f 10729 },
44660702 10730 "numa[n]" : {
c2993fe5 10731 "description" : "NUMA topology.",
44660702
DM
10732 "format" : {
10733 "cpus" : {
c2993fe5 10734 "description" : "CPUs accessing this NUMA node.",
44660702
DM
10735 "format_description" : "id[-id];...",
10736 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10737 "type" : "string"
10738 },
10739 "hostnodes" : {
c2993fe5 10740 "description" : "Host NUMA nodes to use.",
44660702
DM
10741 "format_description" : "id[-id];...",
10742 "optional" : 1,
10743 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10744 "type" : "string"
10745 },
10746 "memory" : {
c2993fe5 10747 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
10748 "optional" : 1,
10749 "type" : "number"
10750 },
10751 "policy" : {
c2993fe5 10752 "description" : "NUMA allocation policy.",
44660702
DM
10753 "enum" : [
10754 "preferred",
10755 "bind",
10756 "interleave"
10757 ],
44660702
DM
10758 "optional" : 1,
10759 "type" : "string"
10760 }
10761 },
7aacca6f 10762 "optional" : 1,
4bd7df8b
DM
10763 "type" : "string",
10764 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 10765 },
44660702
DM
10766 "onboot" : {
10767 "default" : 0,
10768 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 10769 "optional" : 1,
013dc89f
DM
10770 "type" : "boolean",
10771 "typetext" : "<boolean>"
7aacca6f 10772 },
44660702 10773 "ostype" : {
c2993fe5 10774 "description" : "Specify guest operating system.",
44660702
DM
10775 "enum" : [
10776 "other",
10777 "wxp",
10778 "w2k",
10779 "w2k3",
10780 "w2k8",
10781 "wvista",
10782 "win7",
10783 "win8",
32d876b5 10784 "win10",
44660702
DM
10785 "l24",
10786 "l26",
10787 "solaris"
10788 ],
7aacca6f 10789 "optional" : 1,
c2993fe5 10790 "type" : "string",
35a75dd3 10791 "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 10792 },
44660702 10793 "parallel[n]" : {
c2993fe5 10794 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 10795 "optional" : 1,
44660702 10796 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
10797 "type" : "string",
10798 "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 10799 },
44660702
DM
10800 "protection" : {
10801 "default" : 0,
c2993fe5 10802 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 10803 "optional" : 1,
013dc89f
DM
10804 "type" : "boolean",
10805 "typetext" : "<boolean>"
7aacca6f 10806 },
44660702
DM
10807 "reboot" : {
10808 "default" : 1,
10809 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 10810 "optional" : 1,
013dc89f
DM
10811 "type" : "boolean",
10812 "typetext" : "<boolean>"
7aacca6f 10813 },
44660702
DM
10814 "revert" : {
10815 "description" : "Revert a pending change.",
10816 "format" : "pve-configid-list",
7aacca6f 10817 "optional" : 1,
013dc89f
DM
10818 "type" : "string",
10819 "typetext" : "<string>"
7aacca6f 10820 },
44660702
DM
10821 "sata[n]" : {
10822 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 10823 "format" : {
44660702
DM
10824 "aio" : {
10825 "description" : "AIO type to use.",
10826 "enum" : [
10827 "native",
10828 "threads"
10829 ],
44660702
DM
10830 "optional" : 1,
10831 "type" : "string"
10832 },
10833 "backup" : {
10834 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10835 "optional" : 1,
10836 "type" : "boolean"
10837 },
10838 "bps" : {
de0983cb 10839 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 10840 "format_description" : "bps",
7aacca6f
DM
10841 "optional" : 1,
10842 "type" : "integer"
56122987 10843 },
de0983cb
DM
10844 "bps_max_length" : {
10845 "description" : "Maximum length of I/O bursts in seconds.",
10846 "format_description" : "seconds",
10847 "minimum" : 1,
10848 "optional" : 1,
10849 "type" : "integer"
10850 },
44660702 10851 "bps_rd" : {
de0983cb 10852 "description" : "Maximum read speed in bytes per second.",
44660702 10853 "format_description" : "bps",
7aacca6f 10854 "optional" : 1,
44660702 10855 "type" : "integer"
7aacca6f 10856 },
de0983cb 10857 "bps_rd_length" : {
5d9c884c
DM
10858 "alias" : "bps_rd_max_length"
10859 },
10860 "bps_rd_max_length" : {
de0983cb
DM
10861 "description" : "Maximum length of read I/O bursts in seconds.",
10862 "format_description" : "seconds",
10863 "minimum" : 1,
10864 "optional" : 1,
10865 "type" : "integer"
10866 },
44660702 10867 "bps_wr" : {
de0983cb 10868 "description" : "Maximum write speed in bytes per second.",
44660702 10869 "format_description" : "bps",
7aacca6f 10870 "optional" : 1,
44660702 10871 "type" : "integer"
7aacca6f 10872 },
de0983cb 10873 "bps_wr_length" : {
5d9c884c
DM
10874 "alias" : "bps_wr_max_length"
10875 },
10876 "bps_wr_max_length" : {
de0983cb
DM
10877 "description" : "Maximum length of write I/O bursts in seconds.",
10878 "format_description" : "seconds",
10879 "minimum" : 1,
10880 "optional" : 1,
10881 "type" : "integer"
10882 },
44660702
DM
10883 "cache" : {
10884 "description" : "The drive's cache mode",
10885 "enum" : [
10886 "none",
10887 "writethrough",
10888 "writeback",
10889 "unsafe",
10890 "directsync"
10891 ],
7aacca6f 10892 "optional" : 1,
44660702 10893 "type" : "string"
7aacca6f 10894 },
44660702
DM
10895 "cyls" : {
10896 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 10897 "optional" : 1,
44660702 10898 "type" : "integer"
7aacca6f 10899 },
44660702
DM
10900 "detect_zeroes" : {
10901 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 10902 "optional" : 1,
44660702 10903 "type" : "boolean"
7aacca6f 10904 },
44660702
DM
10905 "discard" : {
10906 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10907 "enum" : [
10908 "ignore",
10909 "on"
10910 ],
7aacca6f 10911 "optional" : 1,
44660702
DM
10912 "type" : "string"
10913 },
10914 "file" : {
10915 "default_key" : 1,
10916 "description" : "The drive's backing volume.",
10917 "format" : "pve-volume-id-or-qm-path",
10918 "format_description" : "volume",
10919 "type" : "string"
7aacca6f
DM
10920 },
10921 "format" : {
7aacca6f 10922 "description" : "The drive's backing file's data format.",
56122987
DM
10923 "enum" : [
10924 "raw",
10925 "cow",
10926 "qcow",
10927 "qed",
10928 "qcow2",
10929 "vmdk",
10930 "cloop"
10931 ],
10932 "optional" : 1,
7aacca6f 10933 "type" : "string"
56122987 10934 },
7aacca6f 10935 "heads" : {
7aacca6f 10936 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
10937 "optional" : 1,
10938 "type" : "integer"
56122987 10939 },
44660702 10940 "iops" : {
de0983cb 10941 "description" : "Maximum r/w I/O in operations per second.",
44660702 10942 "format_description" : "iops",
56122987 10943 "optional" : 1,
44660702 10944 "type" : "integer"
7aacca6f 10945 },
44660702 10946 "iops_max" : {
de0983cb 10947 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10948 "format_description" : "iops",
7aacca6f 10949 "optional" : 1,
44660702 10950 "type" : "integer"
56122987 10951 },
de0983cb
DM
10952 "iops_max_length" : {
10953 "description" : "Maximum length of I/O bursts in seconds.",
10954 "format_description" : "seconds",
10955 "minimum" : 1,
10956 "optional" : 1,
10957 "type" : "integer"
10958 },
44660702 10959 "iops_rd" : {
de0983cb 10960 "description" : "Maximum read I/O in operations per second.",
44660702 10961 "format_description" : "iops",
56122987 10962 "optional" : 1,
44660702 10963 "type" : "integer"
7aacca6f 10964 },
de0983cb 10965 "iops_rd_length" : {
5d9c884c 10966 "alias" : "iops_rd_max_length"
de0983cb 10967 },
44660702 10968 "iops_rd_max" : {
de0983cb 10969 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10970 "format_description" : "iops",
56122987 10971 "optional" : 1,
44660702 10972 "type" : "integer"
56122987 10973 },
5d9c884c
DM
10974 "iops_rd_max_length" : {
10975 "description" : "Maximum length of read I/O bursts in seconds.",
10976 "format_description" : "seconds",
10977 "minimum" : 1,
10978 "optional" : 1,
10979 "type" : "integer"
10980 },
44660702 10981 "iops_wr" : {
de0983cb 10982 "description" : "Maximum write I/O in operations per second.",
44660702
DM
10983 "format_description" : "iops",
10984 "optional" : 1,
10985 "type" : "integer"
56122987 10986 },
de0983cb 10987 "iops_wr_length" : {
5d9c884c 10988 "alias" : "iops_wr_max_length"
de0983cb 10989 },
44660702 10990 "iops_wr_max" : {
de0983cb 10991 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
10992 "format_description" : "iops",
10993 "optional" : 1,
10994 "type" : "integer"
10995 },
5d9c884c
DM
10996 "iops_wr_max_length" : {
10997 "description" : "Maximum length of write I/O bursts in seconds.",
10998 "format_description" : "seconds",
10999 "minimum" : 1,
11000 "optional" : 1,
11001 "type" : "integer"
11002 },
44660702 11003 "mbps" : {
de0983cb 11004 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
11005 "format_description" : "mbps",
11006 "optional" : 1,
11007 "type" : "number"
11008 },
11009 "mbps_max" : {
de0983cb 11010 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
11011 "format_description" : "mbps",
11012 "optional" : 1,
11013 "type" : "number"
11014 },
11015 "mbps_rd" : {
de0983cb 11016 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
11017 "format_description" : "mbps",
11018 "optional" : 1,
11019 "type" : "number"
11020 },
11021 "mbps_rd_max" : {
de0983cb 11022 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11023 "format_description" : "mbps",
11024 "optional" : 1,
11025 "type" : "number"
11026 },
11027 "mbps_wr" : {
de0983cb 11028 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11029 "format_description" : "mbps",
11030 "optional" : 1,
11031 "type" : "number"
11032 },
11033 "mbps_wr_max" : {
de0983cb 11034 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11035 "format_description" : "mbps",
11036 "optional" : 1,
11037 "type" : "number"
11038 },
11039 "media" : {
11040 "default" : "disk",
11041 "description" : "The drive's media type.",
11042 "enum" : [
11043 "cdrom",
11044 "disk"
11045 ],
56122987 11046 "optional" : 1,
44660702
DM
11047 "type" : "string"
11048 },
5d9c884c
DM
11049 "replicate" : {
11050 "default" : 1,
11051 "description" : "Whether the drive should considered for replication jobs.",
11052 "optional" : 1,
11053 "type" : "boolean"
11054 },
44660702 11055 "rerror" : {
7aacca6f
DM
11056 "description" : "Read error action.",
11057 "enum" : [
11058 "ignore",
11059 "report",
11060 "stop"
44660702 11061 ],
56122987 11062 "optional" : 1,
44660702 11063 "type" : "string"
56122987 11064 },
7aacca6f 11065 "secs" : {
44660702 11066 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11067 "optional" : 1,
44660702 11068 "type" : "integer"
56122987 11069 },
44660702
DM
11070 "serial" : {
11071 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11072 "format" : "urlencoded",
11073 "format_description" : "serial",
11074 "maxLength" : 60,
56122987 11075 "optional" : 1,
44660702 11076 "type" : "string"
56122987 11077 },
27a7acb2
DM
11078 "shared" : {
11079 "default" : 0,
11080 "description" : "Mark this locally-managed volume as available on all nodes",
11081 "optional" : 1,
11082 "type" : "boolean",
11083 "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!"
11084 },
44660702
DM
11085 "size" : {
11086 "description" : "Disk size. This is purely informational and has no effect.",
11087 "format" : "disk-size",
f004f5b9 11088 "format_description" : "DiskSize",
56122987 11089 "optional" : 1,
44660702 11090 "type" : "string"
56122987
DM
11091 },
11092 "snapshot" : {
27a7acb2 11093 "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 11094 "optional" : 1,
44660702 11095 "type" : "boolean"
56122987 11096 },
56122987 11097 "trans" : {
7aacca6f 11098 "description" : "Force disk geometry bios translation mode.",
56122987
DM
11099 "enum" : [
11100 "none",
11101 "lba",
11102 "auto"
11103 ],
11104 "optional" : 1,
44660702 11105 "type" : "string"
56122987 11106 },
44660702
DM
11107 "volume" : {
11108 "alias" : "file"
56122987 11109 },
7aacca6f 11110 "werror" : {
44660702 11111 "description" : "Write error action.",
56122987 11112 "enum" : [
7aacca6f 11113 "enospc",
56122987 11114 "ignore",
7aacca6f
DM
11115 "report",
11116 "stop"
11117 ],
7aacca6f 11118 "optional" : 1,
44660702
DM
11119 "type" : "string"
11120 }
11121 },
11122 "optional" : 1,
4bd7df8b 11123 "type" : "string",
27a7acb2 11124 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
11125 },
11126 "scsi[n]" : {
11127 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
11128 "format" : {
11129 "aio" : {
7aacca6f 11130 "description" : "AIO type to use.",
56122987
DM
11131 "enum" : [
11132 "native",
11133 "threads"
44660702 11134 ],
56122987 11135 "optional" : 1,
44660702 11136 "type" : "string"
56122987 11137 },
7aacca6f 11138 "backup" : {
7aacca6f 11139 "description" : "Whether the drive should be included when making backups.",
7aacca6f 11140 "optional" : 1,
44660702 11141 "type" : "boolean"
56122987 11142 },
44660702 11143 "bps" : {
de0983cb 11144 "description" : "Maximum r/w speed in bytes per second.",
44660702 11145 "format_description" : "bps",
7aacca6f 11146 "optional" : 1,
44660702 11147 "type" : "integer"
7aacca6f 11148 },
de0983cb
DM
11149 "bps_max_length" : {
11150 "description" : "Maximum length of I/O bursts in seconds.",
11151 "format_description" : "seconds",
11152 "minimum" : 1,
11153 "optional" : 1,
11154 "type" : "integer"
11155 },
44660702 11156 "bps_rd" : {
de0983cb 11157 "description" : "Maximum read speed in bytes per second.",
44660702 11158 "format_description" : "bps",
56122987 11159 "optional" : 1,
44660702 11160 "type" : "integer"
56122987 11161 },
de0983cb 11162 "bps_rd_length" : {
5d9c884c
DM
11163 "alias" : "bps_rd_max_length"
11164 },
11165 "bps_rd_max_length" : {
de0983cb
DM
11166 "description" : "Maximum length of read I/O bursts in seconds.",
11167 "format_description" : "seconds",
11168 "minimum" : 1,
11169 "optional" : 1,
11170 "type" : "integer"
11171 },
44660702 11172 "bps_wr" : {
de0983cb 11173 "description" : "Maximum write speed in bytes per second.",
44660702 11174 "format_description" : "bps",
56122987 11175 "optional" : 1,
44660702 11176 "type" : "integer"
56122987 11177 },
de0983cb 11178 "bps_wr_length" : {
5d9c884c
DM
11179 "alias" : "bps_wr_max_length"
11180 },
11181 "bps_wr_max_length" : {
de0983cb
DM
11182 "description" : "Maximum length of write I/O bursts in seconds.",
11183 "format_description" : "seconds",
11184 "minimum" : 1,
11185 "optional" : 1,
11186 "type" : "integer"
11187 },
44660702
DM
11188 "cache" : {
11189 "description" : "The drive's cache mode",
11190 "enum" : [
11191 "none",
11192 "writethrough",
11193 "writeback",
11194 "unsafe",
11195 "directsync"
11196 ],
56122987 11197 "optional" : 1,
44660702
DM
11198 "type" : "string"
11199 },
11200 "cyls" : {
11201 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11202 "optional" : 1,
11203 "type" : "integer"
11204 },
11205 "detect_zeroes" : {
11206 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11207 "optional" : 1,
11208 "type" : "boolean"
11209 },
11210 "discard" : {
11211 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11212 "enum" : [
11213 "ignore",
11214 "on"
11215 ],
44660702
DM
11216 "optional" : 1,
11217 "type" : "string"
11218 },
11219 "file" : {
11220 "default_key" : 1,
11221 "description" : "The drive's backing volume.",
11222 "format" : "pve-volume-id-or-qm-path",
11223 "format_description" : "volume",
11224 "type" : "string"
56122987 11225 },
7aacca6f 11226 "format" : {
44660702 11227 "description" : "The drive's backing file's data format.",
7aacca6f
DM
11228 "enum" : [
11229 "raw",
11230 "cow",
11231 "qcow",
11232 "qed",
11233 "qcow2",
11234 "vmdk",
11235 "cloop"
11236 ],
56122987 11237 "optional" : 1,
44660702 11238 "type" : "string"
56122987 11239 },
44660702
DM
11240 "heads" : {
11241 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11242 "optional" : 1,
44660702 11243 "type" : "integer"
56122987 11244 },
44660702 11245 "iops" : {
de0983cb 11246 "description" : "Maximum r/w I/O in operations per second.",
44660702 11247 "format_description" : "iops",
7aacca6f 11248 "optional" : 1,
44660702 11249 "type" : "integer"
56122987 11250 },
44660702 11251 "iops_max" : {
de0983cb 11252 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 11253 "format_description" : "iops",
7aacca6f 11254 "optional" : 1,
44660702 11255 "type" : "integer"
56122987 11256 },
de0983cb
DM
11257 "iops_max_length" : {
11258 "description" : "Maximum length of I/O bursts in seconds.",
11259 "format_description" : "seconds",
11260 "minimum" : 1,
11261 "optional" : 1,
11262 "type" : "integer"
11263 },
44660702 11264 "iops_rd" : {
de0983cb 11265 "description" : "Maximum read I/O in operations per second.",
44660702 11266 "format_description" : "iops",
56122987 11267 "optional" : 1,
44660702 11268 "type" : "integer"
56122987 11269 },
de0983cb 11270 "iops_rd_length" : {
5d9c884c 11271 "alias" : "iops_rd_max_length"
de0983cb 11272 },
44660702 11273 "iops_rd_max" : {
de0983cb 11274 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11275 "format_description" : "iops",
56122987 11276 "optional" : 1,
44660702 11277 "type" : "integer"
56122987 11278 },
5d9c884c
DM
11279 "iops_rd_max_length" : {
11280 "description" : "Maximum length of read I/O bursts in seconds.",
11281 "format_description" : "seconds",
11282 "minimum" : 1,
11283 "optional" : 1,
11284 "type" : "integer"
11285 },
44660702 11286 "iops_wr" : {
de0983cb 11287 "description" : "Maximum write I/O in operations per second.",
44660702 11288 "format_description" : "iops",
56122987 11289 "optional" : 1,
44660702 11290 "type" : "integer"
56122987 11291 },
de0983cb 11292 "iops_wr_length" : {
5d9c884c 11293 "alias" : "iops_wr_max_length"
de0983cb 11294 },
44660702 11295 "iops_wr_max" : {
de0983cb 11296 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 11297 "format_description" : "iops",
44660702
DM
11298 "optional" : 1,
11299 "type" : "integer"
7aacca6f 11300 },
5d9c884c
DM
11301 "iops_wr_max_length" : {
11302 "description" : "Maximum length of write I/O bursts in seconds.",
11303 "format_description" : "seconds",
11304 "minimum" : 1,
11305 "optional" : 1,
11306 "type" : "integer"
11307 },
7aacca6f 11308 "iothread" : {
44660702 11309 "description" : "Whether to use iothreads for this drive",
56122987 11310 "optional" : 1,
44660702 11311 "type" : "boolean"
56122987 11312 },
44660702 11313 "mbps" : {
de0983cb 11314 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11315 "format_description" : "mbps",
56122987 11316 "optional" : 1,
44660702 11317 "type" : "number"
56122987 11318 },
44660702 11319 "mbps_max" : {
de0983cb 11320 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11321 "format_description" : "mbps",
56122987 11322 "optional" : 1,
44660702 11323 "type" : "number"
56122987 11324 },
44660702 11325 "mbps_rd" : {
de0983cb 11326 "description" : "Maximum read speed in megabytes per second.",
44660702 11327 "format_description" : "mbps",
7aacca6f 11328 "optional" : 1,
44660702 11329 "type" : "number"
56122987 11330 },
44660702 11331 "mbps_rd_max" : {
de0983cb 11332 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11333 "format_description" : "mbps",
7aacca6f 11334 "optional" : 1,
44660702 11335 "type" : "number"
7aacca6f 11336 },
44660702 11337 "mbps_wr" : {
de0983cb 11338 "description" : "Maximum write speed in megabytes per second.",
44660702 11339 "format_description" : "mbps",
56122987 11340 "optional" : 1,
44660702 11341 "type" : "number"
56122987 11342 },
44660702 11343 "mbps_wr_max" : {
de0983cb 11344 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11345 "format_description" : "mbps",
56122987 11346 "optional" : 1,
44660702
DM
11347 "type" : "number"
11348 },
11349 "media" : {
11350 "default" : "disk",
11351 "description" : "The drive's media type.",
7aacca6f 11352 "enum" : [
44660702
DM
11353 "cdrom",
11354 "disk"
7aacca6f 11355 ],
56122987 11356 "optional" : 1,
44660702 11357 "type" : "string"
56122987 11358 },
7aacca6f 11359 "queues" : {
44660702 11360 "description" : "Number of queues.",
7aacca6f 11361 "minimum" : 2,
7aacca6f
DM
11362 "optional" : 1,
11363 "type" : "integer"
56122987 11364 },
5d9c884c
DM
11365 "replicate" : {
11366 "default" : 1,
11367 "description" : "Whether the drive should considered for replication jobs.",
11368 "optional" : 1,
11369 "type" : "boolean"
11370 },
11371 "rerror" : {
11372 "description" : "Read error action.",
11373 "enum" : [
11374 "ignore",
11375 "report",
11376 "stop"
11377 ],
11378 "optional" : 1,
11379 "type" : "string"
11380 },
52e44c50
FG
11381 "scsiblock" : {
11382 "default" : 0,
11383 "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",
11384 "optional" : 1,
11385 "type" : "boolean"
11386 },
44660702
DM
11387 "secs" : {
11388 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11389 "optional" : 1,
44660702 11390 "type" : "integer"
56122987 11391 },
44660702
DM
11392 "serial" : {
11393 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11394 "format" : "urlencoded",
11395 "format_description" : "serial",
11396 "maxLength" : 60,
56122987 11397 "optional" : 1,
44660702 11398 "type" : "string"
56122987 11399 },
27a7acb2
DM
11400 "shared" : {
11401 "default" : 0,
11402 "description" : "Mark this locally-managed volume as available on all nodes",
11403 "optional" : 1,
11404 "type" : "boolean",
11405 "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!"
11406 },
44660702
DM
11407 "size" : {
11408 "description" : "Disk size. This is purely informational and has no effect.",
11409 "format" : "disk-size",
f004f5b9 11410 "format_description" : "DiskSize",
44660702
DM
11411 "optional" : 1,
11412 "type" : "string"
11413 },
11414 "snapshot" : {
27a7acb2 11415 "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 11416 "optional" : 1,
44660702
DM
11417 "type" : "boolean"
11418 },
11419 "trans" : {
11420 "description" : "Force disk geometry bios translation mode.",
56122987 11421 "enum" : [
44660702
DM
11422 "none",
11423 "lba",
11424 "auto"
56122987 11425 ],
44660702
DM
11426 "optional" : 1,
11427 "type" : "string"
11428 },
11429 "volume" : {
11430 "alias" : "file"
56122987 11431 },
7aacca6f 11432 "werror" : {
7aacca6f
DM
11433 "description" : "Write error action.",
11434 "enum" : [
11435 "enospc",
11436 "ignore",
11437 "report",
11438 "stop"
44660702 11439 ],
56122987 11440 "optional" : 1,
7aacca6f 11441 "type" : "string"
56122987 11442 }
44660702 11443 },
56122987 11444 "optional" : 1,
4bd7df8b 11445 "type" : "string",
27a7acb2 11446 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987
DM
11447 },
11448 "scsihw" : {
44660702 11449 "default" : "lsi",
c2993fe5 11450 "description" : "SCSI controller model",
56122987
DM
11451 "enum" : [
11452 "lsi",
11453 "lsi53c810",
11454 "virtio-scsi-pci",
11455 "virtio-scsi-single",
11456 "megasas",
11457 "pvscsi"
11458 ],
11459 "optional" : 1,
56122987
DM
11460 "type" : "string"
11461 },
27a7acb2
DM
11462 "searchdomain" : {
11463 "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.",
11464 "optional" : 1,
11465 "type" : "string",
11466 "typetext" : "<string>"
11467 },
44660702 11468 "serial[n]" : {
c2993fe5 11469 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 11470 "optional" : 1,
44660702 11471 "pattern" : "(/dev/.+|socket)",
c2993fe5 11472 "type" : "string",
57b78691 11473 "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 11474 },
44660702
DM
11475 "shares" : {
11476 "default" : 1000,
5da3d723 11477 "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
11478 "maximum" : 50000,
11479 "minimum" : 0,
7aacca6f 11480 "optional" : 1,
4bd7df8b 11481 "type" : "integer",
013dc89f 11482 "typetext" : "<integer> (0 - 50000)"
56122987 11483 },
7aacca6f
DM
11484 "skiplock" : {
11485 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 11486 "optional" : 1,
013dc89f
DM
11487 "type" : "boolean",
11488 "typetext" : "<boolean>"
56122987 11489 },
44660702
DM
11490 "smbios1" : {
11491 "description" : "Specify SMBIOS type 1 fields.",
11492 "format" : "pve-qm-smbios1",
11493 "maxLength" : 256,
56122987 11494 "optional" : 1,
4bd7df8b
DM
11495 "type" : "string",
11496 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 11497 },
44660702
DM
11498 "smp" : {
11499 "default" : 1,
11500 "description" : "The number of CPUs. Please use option -sockets instead.",
11501 "minimum" : 1,
56122987 11502 "optional" : 1,
4bd7df8b 11503 "type" : "integer",
013dc89f 11504 "typetext" : "<integer> (1 - N)"
56122987 11505 },
44660702
DM
11506 "sockets" : {
11507 "default" : 1,
11508 "description" : "The number of CPU sockets.",
11509 "minimum" : 1,
56122987 11510 "optional" : 1,
4bd7df8b 11511 "type" : "integer",
013dc89f 11512 "typetext" : "<integer> (1 - N)"
56122987 11513 },
27a7acb2
DM
11514 "sshkeys" : {
11515 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
11516 "format" : "urlencoded",
11517 "optional" : 1,
11518 "type" : "string",
11519 "typetext" : "<string>"
11520 },
44660702
DM
11521 "startdate" : {
11522 "default" : "now",
11523 "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'.",
11524 "optional" : 1,
11525 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 11526 "type" : "string",
44660702
DM
11527 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
11528 },
11529 "startup" : {
11530 "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.",
11531 "format" : "pve-startup-order",
7aacca6f 11532 "optional" : 1,
44660702
DM
11533 "type" : "string",
11534 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 11535 },
44660702
DM
11536 "tablet" : {
11537 "default" : 1,
c2993fe5 11538 "description" : "Enable/disable the USB tablet device.",
7aacca6f 11539 "optional" : 1,
c2993fe5 11540 "type" : "boolean",
013dc89f 11541 "typetext" : "<boolean>",
c2993fe5 11542 "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 11543 },
44660702
DM
11544 "tdf" : {
11545 "default" : 0,
11546 "description" : "Enable/disable time drift fix.",
7aacca6f 11547 "optional" : 1,
013dc89f
DM
11548 "type" : "boolean",
11549 "typetext" : "<boolean>"
7aacca6f 11550 },
44660702
DM
11551 "template" : {
11552 "default" : 0,
11553 "description" : "Enable/disable Template.",
7aacca6f 11554 "optional" : 1,
013dc89f
DM
11555 "type" : "boolean",
11556 "typetext" : "<boolean>"
7aacca6f 11557 },
44660702 11558 "unused[n]" : {
c2993fe5 11559 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 11560 "format" : "pve-volume-id",
7aacca6f 11561 "optional" : 1,
013dc89f
DM
11562 "type" : "string",
11563 "typetext" : "<string>"
7aacca6f 11564 },
44660702 11565 "usb[n]" : {
c2993fe5 11566 "description" : "Configure an USB device (n is 0 to 4).",
56122987 11567 "format" : {
44660702
DM
11568 "host" : {
11569 "default_key" : 1,
c2993fe5 11570 "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
11571 "format" : "pve-qm-usb-device",
11572 "format_description" : "HOSTUSBDEVICE|spice",
11573 "type" : "string"
7aacca6f 11574 },
44660702 11575 "usb3" : {
c2993fe5
DM
11576 "default" : 0,
11577 "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 11578 "optional" : 1,
44660702 11579 "type" : "boolean"
7aacca6f 11580 }
44660702 11581 },
7aacca6f 11582 "optional" : 1,
4bd7df8b
DM
11583 "type" : "string",
11584 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 11585 },
44660702 11586 "vcpus" : {
7aacca6f 11587 "default" : 0,
44660702
DM
11588 "description" : "Number of hotplugged vcpus.",
11589 "minimum" : 1,
7aacca6f 11590 "optional" : 1,
4bd7df8b 11591 "type" : "integer",
013dc89f 11592 "typetext" : "<integer> (1 - N)"
7aacca6f 11593 },
44660702 11594 "vga" : {
c2993fe5 11595 "description" : "Select the VGA type.",
44660702 11596 "enum" : [
44660702 11597 "cirrus",
44660702 11598 "qxl",
4d47f125
TL
11599 "qxl2",
11600 "qxl3",
11601 "qxl4",
44660702
DM
11602 "serial0",
11603 "serial1",
11604 "serial2",
11605 "serial3",
4d47f125
TL
11606 "std",
11607 "virtio",
11608 "vmware"
44660702 11609 ],
7aacca6f 11610 "optional" : 1,
c2993fe5
DM
11611 "type" : "string",
11612 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
7aacca6f 11613 },
44660702
DM
11614 "virtio[n]" : {
11615 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 11616 "format" : {
7aacca6f 11617 "aio" : {
7aacca6f 11618 "description" : "AIO type to use.",
56122987 11619 "enum" : [
7aacca6f
DM
11620 "native",
11621 "threads"
7aacca6f 11622 ],
44660702
DM
11623 "optional" : 1,
11624 "type" : "string"
56122987 11625 },
44660702
DM
11626 "backup" : {
11627 "description" : "Whether the drive should be included when making backups.",
56122987 11628 "optional" : 1,
44660702 11629 "type" : "boolean"
7aacca6f 11630 },
44660702 11631 "bps" : {
de0983cb 11632 "description" : "Maximum r/w speed in bytes per second.",
44660702 11633 "format_description" : "bps",
7aacca6f 11634 "optional" : 1,
44660702 11635 "type" : "integer"
56122987 11636 },
de0983cb
DM
11637 "bps_max_length" : {
11638 "description" : "Maximum length of I/O bursts in seconds.",
11639 "format_description" : "seconds",
11640 "minimum" : 1,
11641 "optional" : 1,
11642 "type" : "integer"
11643 },
56122987 11644 "bps_rd" : {
de0983cb 11645 "description" : "Maximum read speed in bytes per second.",
44660702 11646 "format_description" : "bps",
56122987 11647 "optional" : 1,
7aacca6f 11648 "type" : "integer"
56122987 11649 },
de0983cb 11650 "bps_rd_length" : {
5d9c884c
DM
11651 "alias" : "bps_rd_max_length"
11652 },
11653 "bps_rd_max_length" : {
de0983cb
DM
11654 "description" : "Maximum length of read I/O bursts in seconds.",
11655 "format_description" : "seconds",
11656 "minimum" : 1,
11657 "optional" : 1,
11658 "type" : "integer"
11659 },
44660702 11660 "bps_wr" : {
de0983cb 11661 "description" : "Maximum write speed in bytes per second.",
44660702 11662 "format_description" : "bps",
56122987 11663 "optional" : 1,
7aacca6f 11664 "type" : "integer"
56122987 11665 },
de0983cb 11666 "bps_wr_length" : {
5d9c884c
DM
11667 "alias" : "bps_wr_max_length"
11668 },
11669 "bps_wr_max_length" : {
de0983cb
DM
11670 "description" : "Maximum length of write I/O bursts in seconds.",
11671 "format_description" : "seconds",
11672 "minimum" : 1,
11673 "optional" : 1,
11674 "type" : "integer"
11675 },
7aacca6f 11676 "cache" : {
44660702 11677 "description" : "The drive's cache mode",
7aacca6f
DM
11678 "enum" : [
11679 "none",
11680 "writethrough",
11681 "writeback",
11682 "unsafe",
11683 "directsync"
11684 ],
56122987 11685 "optional" : 1,
44660702 11686 "type" : "string"
7aacca6f 11687 },
44660702
DM
11688 "cyls" : {
11689 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11690 "optional" : 1,
11691 "type" : "integer"
11692 },
11693 "detect_zeroes" : {
11694 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11695 "optional" : 1,
11696 "type" : "boolean"
11697 },
11698 "discard" : {
11699 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 11700 "enum" : [
44660702
DM
11701 "ignore",
11702 "on"
56122987
DM
11703 ],
11704 "optional" : 1,
44660702 11705 "type" : "string"
56122987 11706 },
44660702
DM
11707 "file" : {
11708 "default_key" : 1,
11709 "description" : "The drive's backing volume.",
11710 "format" : "pve-volume-id-or-qm-path",
11711 "format_description" : "volume",
11712 "type" : "string"
11713 },
11714 "format" : {
11715 "description" : "The drive's backing file's data format.",
11716 "enum" : [
11717 "raw",
11718 "cow",
11719 "qcow",
11720 "qed",
11721 "qcow2",
11722 "vmdk",
11723 "cloop"
11724 ],
56122987 11725 "optional" : 1,
44660702 11726 "type" : "string"
56122987 11727 },
44660702
DM
11728 "heads" : {
11729 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11730 "optional" : 1,
11731 "type" : "integer"
11732 },
11733 "iops" : {
de0983cb 11734 "description" : "Maximum r/w I/O in operations per second.",
44660702 11735 "format_description" : "iops",
56122987 11736 "optional" : 1,
44660702
DM
11737 "type" : "integer"
11738 },
11739 "iops_max" : {
de0983cb 11740 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
11741 "format_description" : "iops",
11742 "optional" : 1,
11743 "type" : "integer"
56122987 11744 },
de0983cb
DM
11745 "iops_max_length" : {
11746 "description" : "Maximum length of I/O bursts in seconds.",
11747 "format_description" : "seconds",
11748 "minimum" : 1,
11749 "optional" : 1,
11750 "type" : "integer"
11751 },
7aacca6f 11752 "iops_rd" : {
de0983cb 11753 "description" : "Maximum read I/O in operations per second.",
7aacca6f 11754 "format_description" : "iops",
7aacca6f 11755 "optional" : 1,
44660702 11756 "type" : "integer"
56122987 11757 },
de0983cb 11758 "iops_rd_length" : {
5d9c884c 11759 "alias" : "iops_rd_max_length"
de0983cb 11760 },
44660702 11761 "iops_rd_max" : {
de0983cb 11762 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
11763 "format_description" : "iops",
11764 "optional" : 1,
11765 "type" : "integer"
11766 },
5d9c884c
DM
11767 "iops_rd_max_length" : {
11768 "description" : "Maximum length of read I/O bursts in seconds.",
11769 "format_description" : "seconds",
11770 "minimum" : 1,
11771 "optional" : 1,
11772 "type" : "integer"
11773 },
44660702 11774 "iops_wr" : {
de0983cb 11775 "description" : "Maximum write I/O in operations per second.",
44660702
DM
11776 "format_description" : "iops",
11777 "optional" : 1,
11778 "type" : "integer"
11779 },
de0983cb 11780 "iops_wr_length" : {
5d9c884c 11781 "alias" : "iops_wr_max_length"
de0983cb 11782 },
44660702 11783 "iops_wr_max" : {
de0983cb 11784 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
11785 "format_description" : "iops",
11786 "optional" : 1,
11787 "type" : "integer"
11788 },
5d9c884c
DM
11789 "iops_wr_max_length" : {
11790 "description" : "Maximum length of write I/O bursts in seconds.",
11791 "format_description" : "seconds",
11792 "minimum" : 1,
11793 "optional" : 1,
11794 "type" : "integer"
11795 },
44660702
DM
11796 "iothread" : {
11797 "description" : "Whether to use iothreads for this drive",
44660702
DM
11798 "optional" : 1,
11799 "type" : "boolean"
11800 },
11801 "mbps" : {
de0983cb 11802 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11803 "format_description" : "mbps",
7aacca6f 11804 "optional" : 1,
44660702 11805 "type" : "number"
7aacca6f
DM
11806 },
11807 "mbps_max" : {
de0983cb 11808 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11809 "format_description" : "mbps",
56122987 11810 "optional" : 1,
44660702 11811 "type" : "number"
56122987 11812 },
44660702 11813 "mbps_rd" : {
de0983cb 11814 "description" : "Maximum read speed in megabytes per second.",
44660702 11815 "format_description" : "mbps",
56122987 11816 "optional" : 1,
44660702 11817 "type" : "number"
56122987 11818 },
44660702 11819 "mbps_rd_max" : {
de0983cb 11820 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11821 "format_description" : "mbps",
11822 "optional" : 1,
11823 "type" : "number"
11824 },
11825 "mbps_wr" : {
de0983cb 11826 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11827 "format_description" : "mbps",
11828 "optional" : 1,
11829 "type" : "number"
11830 },
11831 "mbps_wr_max" : {
de0983cb 11832 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11833 "format_description" : "mbps",
11834 "optional" : 1,
11835 "type" : "number"
11836 },
11837 "media" : {
11838 "default" : "disk",
11839 "description" : "The drive's media type.",
56122987 11840 "enum" : [
44660702
DM
11841 "cdrom",
11842 "disk"
56122987
DM
11843 ],
11844 "optional" : 1,
44660702 11845 "type" : "string"
56122987 11846 },
5d9c884c
DM
11847 "replicate" : {
11848 "default" : 1,
11849 "description" : "Whether the drive should considered for replication jobs.",
11850 "optional" : 1,
11851 "type" : "boolean"
11852 },
44660702
DM
11853 "rerror" : {
11854 "description" : "Read error action.",
11855 "enum" : [
11856 "ignore",
11857 "report",
11858 "stop"
11859 ],
56122987 11860 "optional" : 1,
44660702 11861 "type" : "string"
56122987 11862 },
44660702
DM
11863 "secs" : {
11864 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11865 "optional" : 1,
44660702 11866 "type" : "integer"
56122987 11867 },
7aacca6f
DM
11868 "serial" : {
11869 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 11870 "format" : "urlencoded",
44660702 11871 "format_description" : "serial",
7aacca6f 11872 "maxLength" : 60,
44660702
DM
11873 "optional" : 1,
11874 "type" : "string"
56122987 11875 },
27a7acb2
DM
11876 "shared" : {
11877 "default" : 0,
11878 "description" : "Mark this locally-managed volume as available on all nodes",
11879 "optional" : 1,
11880 "type" : "boolean",
11881 "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!"
11882 },
44660702
DM
11883 "size" : {
11884 "description" : "Disk size. This is purely informational and has no effect.",
11885 "format" : "disk-size",
f004f5b9 11886 "format_description" : "DiskSize",
44660702
DM
11887 "optional" : 1,
11888 "type" : "string"
56122987 11889 },
44660702 11890 "snapshot" : {
27a7acb2 11891 "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 11892 "optional" : 1,
44660702 11893 "type" : "boolean"
56122987 11894 },
44660702
DM
11895 "trans" : {
11896 "description" : "Force disk geometry bios translation mode.",
11897 "enum" : [
11898 "none",
11899 "lba",
11900 "auto"
11901 ],
7aacca6f 11902 "optional" : 1,
44660702 11903 "type" : "string"
7aacca6f 11904 },
44660702
DM
11905 "volume" : {
11906 "alias" : "file"
11907 },
11908 "werror" : {
11909 "description" : "Write error action.",
11910 "enum" : [
11911 "enospc",
11912 "ignore",
11913 "report",
11914 "stop"
11915 ],
7aacca6f 11916 "optional" : 1,
44660702 11917 "type" : "string"
56122987
DM
11918 }
11919 },
7aacca6f 11920 "optional" : 1,
4bd7df8b 11921 "type" : "string",
27a7acb2 11922 "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 11923 },
4d47f125
TL
11924 "vmgenid" : {
11925 "default" : "1 (autogenerated)",
11926 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
11927 "format_description" : "UUID",
11928 "optional" : 1,
11929 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
11930 "type" : "string",
11931 "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."
11932 },
44660702
DM
11933 "vmid" : {
11934 "description" : "The (unique) ID of the VM.",
11935 "format" : "pve-vmid",
11936 "minimum" : 1,
4bd7df8b 11937 "type" : "integer",
013dc89f 11938 "typetext" : "<integer> (1 - N)"
56122987 11939 },
2489d6df
WB
11940 "vmstatestorage" : {
11941 "description" : "Default storage for VM state volumes/files.",
11942 "format" : "pve-storage-id",
11943 "optional" : 1,
11944 "type" : "string",
11945 "typetext" : "<string>"
11946 },
44660702 11947 "watchdog" : {
c2993fe5 11948 "description" : "Create a virtual hardware watchdog device.",
44660702 11949 "format" : "pve-qm-watchdog",
56122987 11950 "optional" : 1,
c2993fe5 11951 "type" : "string",
013dc89f 11952 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 11953 "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 11954 }
7aacca6f 11955 }
56122987 11956 },
56122987
DM
11957 "permissions" : {
11958 "check" : [
11959 "perm",
11960 "/vms/{vmid}",
11961 [
11962 "VM.Config.Disk",
11963 "VM.Config.CDROM",
11964 "VM.Config.CPU",
11965 "VM.Config.Memory",
11966 "VM.Config.Network",
11967 "VM.Config.HWType",
11968 "VM.Config.Options"
11969 ],
11970 "any",
11971 1
11972 ]
11973 },
44660702 11974 "protected" : 1,
7aacca6f 11975 "proxyto" : "node",
56122987 11976 "returns" : {
4d47f125
TL
11977 "optional" : 1,
11978 "type" : "string"
7aacca6f 11979 }
4d47f125
TL
11980 },
11981 "PUT" : {
11982 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
11983 "method" : "PUT",
11984 "name" : "update_vm",
7aacca6f 11985 "parameters" : {
44660702 11986 "additionalProperties" : 0,
7aacca6f 11987 "properties" : {
4d47f125
TL
11988 "acpi" : {
11989 "default" : 1,
11990 "description" : "Enable/disable ACPI.",
11991 "optional" : 1,
11992 "type" : "boolean",
11993 "typetext" : "<boolean>"
7aacca6f 11994 },
4d47f125
TL
11995 "agent" : {
11996 "description" : "Enable/disable Qemu GuestAgent and its properties.",
11997 "format" : {
11998 "enabled" : {
11999 "default" : 0,
12000 "default_key" : 1,
12001 "description" : "Enable/disable Qemu GuestAgent.",
12002 "type" : "boolean"
12003 },
12004 "fstrim_cloned_disks" : {
12005 "default" : 0,
12006 "description" : "Run fstrim after cloning/moving a disk.",
12007 "optional" : 1,
12008 "type" : "boolean"
12009 }
44660702 12010 },
4d47f125
TL
12011 "optional" : 1,
12012 "type" : "string",
12013 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
44660702 12014 },
4d47f125
TL
12015 "args" : {
12016 "description" : "Arbitrary arguments passed to kvm.",
12017 "optional" : 1,
12018 "type" : "string",
12019 "typetext" : "<string>",
12020 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
12021 },
12022 "autostart" : {
12023 "default" : 0,
12024 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 12025 "optional" : 1,
013dc89f
DM
12026 "type" : "boolean",
12027 "typetext" : "<boolean>"
7aacca6f 12028 },
4d47f125
TL
12029 "balloon" : {
12030 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
12031 "minimum" : 0,
12032 "optional" : 1,
12033 "type" : "integer",
12034 "typetext" : "<integer> (0 - N)"
12035 },
12036 "bios" : {
12037 "default" : "seabios",
12038 "description" : "Select BIOS implementation.",
12039 "enum" : [
12040 "seabios",
12041 "ovmf"
12042 ],
12043 "optional" : 1,
12044 "type" : "string"
12045 },
12046 "boot" : {
12047 "default" : "cdn",
12048 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
12049 "optional" : 1,
12050 "pattern" : "[acdn]{1,4}",
12051 "type" : "string"
12052 },
12053 "bootdisk" : {
12054 "description" : "Enable booting from specified disk.",
12055 "format" : "pve-qm-bootdisk",
12056 "optional" : 1,
12057 "pattern" : "(ide|sata|scsi|virtio)\\d+",
12058 "type" : "string"
12059 },
12060 "cdrom" : {
12061 "description" : "This is an alias for option -ide2",
12062 "format" : "pve-qm-ide",
12063 "optional" : 1,
12064 "type" : "string",
12065 "typetext" : "<volume>"
12066 },
12067 "cipassword" : {
12068 "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.",
12069 "optional" : 1,
013dc89f
DM
12070 "type" : "string",
12071 "typetext" : "<string>"
44660702 12072 },
4d47f125
TL
12073 "citype" : {
12074 "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.",
12075 "enum" : [
12076 "configdrive2",
12077 "nocloud"
12078 ],
12079 "optional" : 1,
12080 "type" : "string"
12081 },
12082 "ciuser" : {
12083 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
12084 "optional" : 1,
013dc89f
DM
12085 "type" : "string",
12086 "typetext" : "<string>"
56122987 12087 },
4d47f125
TL
12088 "cores" : {
12089 "default" : 1,
12090 "description" : "The number of cores per socket.",
7aacca6f 12091 "minimum" : 1,
4d47f125 12092 "optional" : 1,
4bd7df8b 12093 "type" : "integer",
013dc89f 12094 "typetext" : "<integer> (1 - N)"
4d47f125
TL
12095 },
12096 "cpu" : {
12097 "description" : "Emulated CPU type.",
12098 "format" : {
12099 "cputype" : {
12100 "default" : "kvm64",
12101 "default_key" : 1,
12102 "description" : "Emulated CPU type.",
12103 "enum" : [
12104 "486",
12105 "athlon",
12106 "Broadwell",
12107 "Broadwell-IBRS",
12108 "Broadwell-noTSX",
12109 "Broadwell-noTSX-IBRS",
12110 "Conroe",
12111 "core2duo",
12112 "coreduo",
12113 "EPYC",
12114 "EPYC-IBPB",
12115 "Haswell",
12116 "Haswell-IBRS",
12117 "Haswell-noTSX",
12118 "Haswell-noTSX-IBRS",
12119 "host",
12120 "IvyBridge",
12121 "IvyBridge-IBRS",
12122 "kvm32",
12123 "kvm64",
12124 "max",
12125 "Nehalem",
12126 "Nehalem-IBRS",
12127 "Opteron_G1",
12128 "Opteron_G2",
12129 "Opteron_G3",
12130 "Opteron_G4",
12131 "Opteron_G5",
12132 "Penryn",
12133 "pentium",
12134 "pentium2",
12135 "pentium3",
12136 "phenom",
12137 "qemu32",
12138 "qemu64",
12139 "SandyBridge",
12140 "SandyBridge-IBRS",
12141 "Skylake-Client",
12142 "Skylake-Client-IBRS",
12143 "Skylake-Server",
12144 "Skylake-Server-IBRS",
12145 "Westmere",
12146 "Westmere-IBRS"
12147 ],
12148 "type" : "string"
12149 },
12150 "flags" : {
12151 "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'.",
12152 "format_description" : "+FLAG[;-FLAG...]",
12153 "optional" : 1,
12154 "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)))*)",
12155 "type" : "string"
12156 },
12157 "hidden" : {
12158 "default" : 0,
12159 "description" : "Do not identify as a KVM virtual machine.",
12160 "optional" : 1,
12161 "type" : "boolean"
12162 }
12163 },
12164 "optional" : 1,
013dc89f 12165 "type" : "string",
4d47f125 12166 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702 12167 },
4d47f125
TL
12168 "cpulimit" : {
12169 "default" : 0,
12170 "description" : "Limit of CPU usage.",
12171 "maximum" : 128,
12172 "minimum" : 0,
12173 "optional" : 1,
12174 "type" : "number",
12175 "typetext" : "<number> (0 - 128)",
12176 "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."
12177 },
12178 "cpuunits" : {
12179 "default" : 1024,
12180 "description" : "CPU weight for a VM.",
12181 "maximum" : 262144,
12182 "minimum" : 2,
12183 "optional" : 1,
4bd7df8b 12184 "type" : "integer",
4d47f125
TL
12185 "typetext" : "<integer> (2 - 262144)",
12186 "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 12187 },
4d47f125
TL
12188 "delete" : {
12189 "description" : "A list of settings you want to delete.",
12190 "format" : "pve-configid-list",
12191 "optional" : 1,
12192 "type" : "string",
12193 "typetext" : "<string>"
12194 },
12195 "description" : {
12196 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
12197 "optional" : 1,
12198 "type" : "string",
12199 "typetext" : "<string>"
12200 },
12201 "digest" : {
12202 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12203 "maxLength" : 40,
44660702 12204 "optional" : 1,
4d47f125
TL
12205 "type" : "string",
12206 "typetext" : "<string>"
12207 },
12208 "efidisk0" : {
12209 "description" : "Configure a Disk for storing EFI vars",
12210 "format" : {
12211 "file" : {
12212 "default_key" : 1,
12213 "description" : "The drive's backing volume.",
12214 "format" : "pve-volume-id-or-qm-path",
12215 "format_description" : "volume",
12216 "type" : "string"
12217 },
12218 "format" : {
12219 "description" : "The drive's backing file's data format.",
12220 "enum" : [
12221 "raw",
12222 "cow",
12223 "qcow",
12224 "qed",
12225 "qcow2",
12226 "vmdk",
12227 "cloop"
12228 ],
12229 "optional" : 1,
12230 "type" : "string"
12231 },
12232 "size" : {
12233 "description" : "Disk size. This is purely informational and has no effect.",
12234 "format" : "disk-size",
12235 "format_description" : "DiskSize",
12236 "optional" : 1,
12237 "type" : "string"
12238 },
12239 "volume" : {
12240 "alias" : "file"
12241 }
12242 },
12243 "optional" : 1,
12244 "type" : "string",
12245 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
12246 },
12247 "force" : {
12248 "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.",
12249 "optional" : 1,
12250 "requires" : "delete",
013dc89f
DM
12251 "type" : "boolean",
12252 "typetext" : "<boolean>"
56122987 12253 },
4d47f125
TL
12254 "freeze" : {
12255 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
12256 "optional" : 1,
12257 "type" : "boolean",
12258 "typetext" : "<boolean>"
7aacca6f 12259 },
4d47f125
TL
12260 "hostpci[n]" : {
12261 "description" : "Map host PCI devices into guest.",
12262 "format" : "pve-qm-hostpci",
12263 "optional" : 1,
12264 "type" : "string",
12265 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
12266 "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 12267 },
4d47f125
TL
12268 "hotplug" : {
12269 "default" : "network,disk,usb",
12270 "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'.",
12271 "format" : "pve-hotplug-features",
12272 "optional" : 1,
35a75dd3
DM
12273 "type" : "string",
12274 "typetext" : "<string>"
12275 },
4d47f125
TL
12276 "hugepages" : {
12277 "description" : "Enable/disable hugepages memory.",
35a75dd3 12278 "enum" : [
4d47f125
TL
12279 "any",
12280 "2",
12281 "1024"
35a75dd3
DM
12282 ],
12283 "optional" : 1,
12284 "type" : "string"
12285 },
4d47f125
TL
12286 "ide[n]" : {
12287 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
12288 "format" : {
12289 "aio" : {
12290 "description" : "AIO type to use.",
12291 "enum" : [
12292 "native",
12293 "threads"
12294 ],
44660702 12295 "optional" : 1,
44660702
DM
12296 "type" : "string"
12297 },
4d47f125
TL
12298 "backup" : {
12299 "description" : "Whether the drive should be included when making backups.",
56122987 12300 "optional" : 1,
4d47f125 12301 "type" : "boolean"
56122987 12302 },
4d47f125
TL
12303 "bps" : {
12304 "description" : "Maximum r/w speed in bytes per second.",
12305 "format_description" : "bps",
de0983cb 12306 "optional" : 1,
4d47f125 12307 "type" : "integer"
de0983cb 12308 },
4d47f125
TL
12309 "bps_max_length" : {
12310 "description" : "Maximum length of I/O bursts in seconds.",
12311 "format_description" : "seconds",
12312 "minimum" : 1,
de0983cb 12313 "optional" : 1,
4d47f125 12314 "type" : "integer"
7aacca6f 12315 },
4d47f125
TL
12316 "bps_rd" : {
12317 "description" : "Maximum read speed in bytes per second.",
12318 "format_description" : "bps",
7aacca6f 12319 "optional" : 1,
4d47f125 12320 "type" : "integer"
56122987 12321 },
4d47f125
TL
12322 "bps_rd_length" : {
12323 "alias" : "bps_rd_max_length"
12324 },
12325 "bps_rd_max_length" : {
12326 "description" : "Maximum length of read I/O bursts in seconds.",
12327 "format_description" : "seconds",
12328 "minimum" : 1,
56122987 12329 "optional" : 1,
4d47f125 12330 "type" : "integer"
56122987 12331 },
4d47f125
TL
12332 "bps_wr" : {
12333 "description" : "Maximum write speed in bytes per second.",
12334 "format_description" : "bps",
52e44c50 12335 "optional" : 1,
4d47f125 12336 "type" : "integer"
52e44c50 12337 },
4d47f125
TL
12338 "bps_wr_length" : {
12339 "alias" : "bps_wr_max_length"
12340 },
12341 "bps_wr_max_length" : {
12342 "description" : "Maximum length of write I/O bursts in seconds.",
12343 "format_description" : "seconds",
44660702 12344 "minimum" : 1,
56122987 12345 "optional" : 1,
4d47f125 12346 "type" : "integer"
56122987 12347 },
4d47f125
TL
12348 "cache" : {
12349 "description" : "The drive's cache mode",
12350 "enum" : [
12351 "none",
12352 "writethrough",
12353 "writeback",
12354 "unsafe",
12355 "directsync"
12356 ],
7aacca6f 12357 "optional" : 1,
4d47f125 12358 "type" : "string"
7aacca6f 12359 },
4d47f125
TL
12360 "cyls" : {
12361 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
12362 "optional" : 1,
12363 "type" : "integer"
56122987 12364 },
4d47f125
TL
12365 "detect_zeroes" : {
12366 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12367 "optional" : 1,
4d47f125 12368 "type" : "boolean"
56122987 12369 },
4d47f125
TL
12370 "discard" : {
12371 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12372 "enum" : [
12373 "ignore",
12374 "on"
12375 ],
56122987 12376 "optional" : 1,
4d47f125 12377 "type" : "string"
7aacca6f 12378 },
4d47f125
TL
12379 "file" : {
12380 "default_key" : 1,
12381 "description" : "The drive's backing volume.",
12382 "format" : "pve-volume-id-or-qm-path",
12383 "format_description" : "volume",
12384 "type" : "string"
56122987 12385 },
4d47f125
TL
12386 "format" : {
12387 "description" : "The drive's backing file's data format.",
12388 "enum" : [
12389 "raw",
12390 "cow",
12391 "qcow",
12392 "qed",
12393 "qcow2",
12394 "vmdk",
12395 "cloop"
12396 ],
7aacca6f 12397 "optional" : 1,
4d47f125 12398 "type" : "string"
7aacca6f 12399 },
4d47f125
TL
12400 "heads" : {
12401 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 12402 "optional" : 1,
4d47f125 12403 "type" : "integer"
56122987 12404 },
4d47f125
TL
12405 "iops" : {
12406 "description" : "Maximum r/w I/O in operations per second.",
12407 "format_description" : "iops",
44660702 12408 "optional" : 1,
4d47f125 12409 "type" : "integer"
44660702 12410 },
4d47f125
TL
12411 "iops_max" : {
12412 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
12413 "format_description" : "iops",
44660702 12414 "optional" : 1,
4d47f125 12415 "type" : "integer"
56122987 12416 },
4d47f125
TL
12417 "iops_max_length" : {
12418 "description" : "Maximum length of I/O bursts in seconds.",
12419 "format_description" : "seconds",
12420 "minimum" : 1,
7aacca6f 12421 "optional" : 1,
4d47f125 12422 "type" : "integer"
7aacca6f 12423 },
4d47f125
TL
12424 "iops_rd" : {
12425 "description" : "Maximum read I/O in operations per second.",
12426 "format_description" : "iops",
12427 "optional" : 1,
12428 "type" : "integer"
12429 },
12430 "iops_rd_length" : {
12431 "alias" : "iops_rd_max_length"
12432 },
12433 "iops_rd_max" : {
12434 "description" : "Maximum unthrottled read I/O pool in operations per second.",
12435 "format_description" : "iops",
12436 "optional" : 1,
12437 "type" : "integer"
12438 },
12439 "iops_rd_max_length" : {
12440 "description" : "Maximum length of read I/O bursts in seconds.",
12441 "format_description" : "seconds",
44660702 12442 "minimum" : 1,
4d47f125
TL
12443 "optional" : 1,
12444 "type" : "integer"
7aacca6f 12445 },
4d47f125
TL
12446 "iops_wr" : {
12447 "description" : "Maximum write I/O in operations per second.",
12448 "format_description" : "iops",
44660702 12449 "optional" : 1,
4d47f125 12450 "type" : "integer"
44660702 12451 },
4d47f125
TL
12452 "iops_wr_length" : {
12453 "alias" : "iops_wr_max_length"
12454 },
12455 "iops_wr_max" : {
12456 "description" : "Maximum unthrottled write I/O pool in operations per second.",
12457 "format_description" : "iops",
12458 "optional" : 1,
12459 "type" : "integer"
12460 },
12461 "iops_wr_max_length" : {
12462 "description" : "Maximum length of write I/O bursts in seconds.",
12463 "format_description" : "seconds",
44660702 12464 "minimum" : 1,
44660702 12465 "optional" : 1,
4d47f125 12466 "type" : "integer"
44660702 12467 },
4d47f125
TL
12468 "mbps" : {
12469 "description" : "Maximum r/w speed in megabytes per second.",
12470 "format_description" : "mbps",
12471 "optional" : 1,
12472 "type" : "number"
56122987 12473 },
4d47f125
TL
12474 "mbps_max" : {
12475 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
12476 "format_description" : "mbps",
12477 "optional" : 1,
12478 "type" : "number"
12479 },
12480 "mbps_rd" : {
12481 "description" : "Maximum read speed in megabytes per second.",
12482 "format_description" : "mbps",
12483 "optional" : 1,
12484 "type" : "number"
12485 },
12486 "mbps_rd_max" : {
12487 "description" : "Maximum unthrottled read pool in megabytes per second.",
12488 "format_description" : "mbps",
12489 "optional" : 1,
12490 "type" : "number"
12491 },
12492 "mbps_wr" : {
12493 "description" : "Maximum write speed in megabytes per second.",
12494 "format_description" : "mbps",
12495 "optional" : 1,
12496 "type" : "number"
12497 },
12498 "mbps_wr_max" : {
12499 "description" : "Maximum unthrottled write pool in megabytes per second.",
12500 "format_description" : "mbps",
12501 "optional" : 1,
12502 "type" : "number"
12503 },
12504 "media" : {
12505 "default" : "disk",
12506 "description" : "The drive's media type.",
12507 "enum" : [
12508 "cdrom",
12509 "disk"
12510 ],
12511 "optional" : 1,
12512 "type" : "string"
12513 },
12514 "model" : {
12515 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
12516 "format" : "urlencoded",
12517 "format_description" : "model",
12518 "maxLength" : 120,
12519 "optional" : 1,
12520 "type" : "string"
12521 },
12522 "replicate" : {
12523 "default" : 1,
12524 "description" : "Whether the drive should considered for replication jobs.",
12525 "optional" : 1,
12526 "type" : "boolean"
12527 },
12528 "rerror" : {
12529 "description" : "Read error action.",
12530 "enum" : [
12531 "ignore",
12532 "report",
12533 "stop"
12534 ],
12535 "optional" : 1,
12536 "type" : "string"
12537 },
12538 "secs" : {
12539 "description" : "Force the drive's physical geometry to have a specific sector count.",
12540 "optional" : 1,
12541 "type" : "integer"
12542 },
12543 "serial" : {
12544 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12545 "format" : "urlencoded",
12546 "format_description" : "serial",
12547 "maxLength" : 60,
12548 "optional" : 1,
12549 "type" : "string"
12550 },
12551 "shared" : {
12552 "default" : 0,
12553 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 12554 "optional" : 1,
013dc89f 12555 "type" : "boolean",
4d47f125 12556 "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 12557 },
4d47f125
TL
12558 "size" : {
12559 "description" : "Disk size. This is purely informational and has no effect.",
12560 "format" : "disk-size",
12561 "format_description" : "DiskSize",
12562 "optional" : 1,
12563 "type" : "string"
12564 },
12565 "snapshot" : {
12566 "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.",
12567 "optional" : 1,
12568 "type" : "boolean"
12569 },
12570 "trans" : {
12571 "description" : "Force disk geometry bios translation mode.",
12572 "enum" : [
12573 "none",
12574 "lba",
12575 "auto"
12576 ],
12577 "optional" : 1,
12578 "type" : "string"
12579 },
12580 "volume" : {
12581 "alias" : "file"
12582 },
12583 "werror" : {
12584 "description" : "Write error action.",
12585 "enum" : [
12586 "enospc",
12587 "ignore",
12588 "report",
12589 "stop"
12590 ],
12591 "optional" : 1,
12592 "type" : "string"
12593 }
12594 },
12595 "optional" : 1,
013dc89f 12596 "type" : "string",
4d47f125 12597 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702 12598 },
4d47f125
TL
12599 "ipconfig[n]" : {
12600 "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",
12601 "format" : "pve-qm-ipconfig",
12602 "optional" : 1,
013dc89f 12603 "type" : "string",
4d47f125 12604 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 12605 },
4d47f125
TL
12606 "keyboard" : {
12607 "default" : null,
12608 "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.",
12609 "enum" : [
12610 "de",
12611 "de-ch",
12612 "da",
12613 "en-gb",
12614 "en-us",
12615 "es",
12616 "fi",
12617 "fr",
12618 "fr-be",
12619 "fr-ca",
12620 "fr-ch",
12621 "hu",
12622 "is",
12623 "it",
12624 "ja",
12625 "lt",
12626 "mk",
12627 "nl",
12628 "no",
12629 "pl",
12630 "pt",
12631 "pt-br",
12632 "sv",
12633 "sl",
12634 "tr"
12635 ],
12636 "optional" : 1,
12637 "type" : "string"
44660702 12638 },
4d47f125
TL
12639 "kvm" : {
12640 "default" : 1,
12641 "description" : "Enable/disable KVM hardware virtualization.",
44660702 12642 "optional" : 1,
013dc89f
DM
12643 "type" : "boolean",
12644 "typetext" : "<boolean>"
7aacca6f 12645 },
4d47f125
TL
12646 "localtime" : {
12647 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
12648 "optional" : 1,
12649 "type" : "boolean",
12650 "typetext" : "<boolean>"
12651 },
12652 "lock" : {
12653 "description" : "Lock/unlock the VM.",
56122987 12654 "enum" : [
4d47f125
TL
12655 "migrate",
12656 "backup",
56122987 12657 "snapshot",
4d47f125 12658 "rollback"
56122987 12659 ],
4d47f125 12660 "optional" : 1,
44660702
DM
12661 "type" : "string"
12662 },
4d47f125
TL
12663 "machine" : {
12664 "description" : "Specifies the Qemu machine type.",
12665 "maxLength" : 40,
12666 "optional" : 1,
12667 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
12668 "type" : "string"
12669 },
12670 "memory" : {
12671 "default" : 512,
12672 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
12673 "minimum" : 16,
12674 "optional" : 1,
12675 "type" : "integer",
12676 "typetext" : "<integer> (16 - N)"
12677 },
12678 "migrate_downtime" : {
12679 "default" : 0.1,
12680 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
12681 "minimum" : 0,
12682 "optional" : 1,
12683 "type" : "number",
12684 "typetext" : "<number> (0 - N)"
12685 },
12686 "migrate_speed" : {
12687 "default" : 0,
12688 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
12689 "minimum" : 0,
12690 "optional" : 1,
12691 "type" : "integer",
12692 "typetext" : "<integer> (0 - N)"
12693 },
12694 "name" : {
12695 "description" : "Set a name for the VM. Only used on the configuration web interface.",
12696 "format" : "dns-name",
12697 "optional" : 1,
013dc89f
DM
12698 "type" : "string",
12699 "typetext" : "<string>"
56122987 12700 },
4d47f125
TL
12701 "nameserver" : {
12702 "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.",
12703 "format" : "address-list",
7aacca6f 12704 "optional" : 1,
013dc89f
DM
12705 "type" : "string",
12706 "typetext" : "<string>"
7aacca6f 12707 },
4d47f125
TL
12708 "net[n]" : {
12709 "description" : "Specify network devices.",
12710 "format" : {
12711 "bridge" : {
12712 "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",
12713 "format_description" : "bridge",
12714 "optional" : 1,
12715 "type" : "string"
12716 },
12717 "e1000" : {
12718 "alias" : "macaddr",
12719 "keyAlias" : "model"
12720 },
12721 "e1000-82540em" : {
12722 "alias" : "macaddr",
12723 "keyAlias" : "model"
12724 },
12725 "e1000-82544gc" : {
12726 "alias" : "macaddr",
12727 "keyAlias" : "model"
12728 },
12729 "e1000-82545em" : {
12730 "alias" : "macaddr",
12731 "keyAlias" : "model"
12732 },
12733 "firewall" : {
12734 "description" : "Whether this interface should be protected by the firewall.",
12735 "optional" : 1,
12736 "type" : "boolean"
12737 },
12738 "i82551" : {
12739 "alias" : "macaddr",
12740 "keyAlias" : "model"
12741 },
12742 "i82557b" : {
12743 "alias" : "macaddr",
12744 "keyAlias" : "model"
12745 },
12746 "i82559er" : {
12747 "alias" : "macaddr",
12748 "keyAlias" : "model"
12749 },
12750 "link_down" : {
12751 "description" : "Whether this interface should be disconnected (like pulling the plug).",
12752 "optional" : 1,
12753 "type" : "boolean"
12754 },
12755 "macaddr" : {
12756 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
12757 "format_description" : "XX:XX:XX:XX:XX:XX",
12758 "optional" : 1,
12759 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
12760 "type" : "string"
12761 },
12762 "model" : {
12763 "default_key" : 1,
12764 "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'.",
12765 "enum" : [
12766 "rtl8139",
12767 "ne2k_pci",
12768 "e1000",
12769 "pcnet",
12770 "virtio",
12771 "ne2k_isa",
12772 "i82551",
12773 "i82557b",
12774 "i82559er",
12775 "vmxnet3",
12776 "e1000-82540em",
12777 "e1000-82544gc",
12778 "e1000-82545em"
12779 ],
12780 "type" : "string"
12781 },
12782 "ne2k_isa" : {
12783 "alias" : "macaddr",
12784 "keyAlias" : "model"
12785 },
12786 "ne2k_pci" : {
12787 "alias" : "macaddr",
12788 "keyAlias" : "model"
12789 },
12790 "pcnet" : {
12791 "alias" : "macaddr",
12792 "keyAlias" : "model"
12793 },
12794 "queues" : {
12795 "description" : "Number of packet queues to be used on the device.",
12796 "maximum" : 16,
12797 "minimum" : 0,
12798 "optional" : 1,
12799 "type" : "integer"
12800 },
12801 "rate" : {
12802 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
12803 "minimum" : 0,
12804 "optional" : 1,
12805 "type" : "number"
12806 },
12807 "rtl8139" : {
12808 "alias" : "macaddr",
12809 "keyAlias" : "model"
12810 },
12811 "tag" : {
12812 "description" : "VLAN tag to apply to packets on this interface.",
12813 "maximum" : 4094,
12814 "minimum" : 1,
12815 "optional" : 1,
12816 "type" : "integer"
12817 },
12818 "trunks" : {
12819 "description" : "VLAN trunks to pass through this interface.",
12820 "format_description" : "vlanid[;vlanid...]",
12821 "optional" : 1,
12822 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12823 "type" : "string"
12824 },
12825 "virtio" : {
12826 "alias" : "macaddr",
12827 "keyAlias" : "model"
12828 },
12829 "vmxnet3" : {
12830 "alias" : "macaddr",
12831 "keyAlias" : "model"
12832 }
44660702 12833 },
44660702 12834 "optional" : 1,
013dc89f 12835 "type" : "string",
4d47f125 12836 "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
12837 },
12838 "node" : {
12839 "description" : "The cluster node name.",
12840 "format" : "pve-node",
013dc89f
DM
12841 "type" : "string",
12842 "typetext" : "<string>"
7aacca6f 12843 },
4d47f125
TL
12844 "numa" : {
12845 "default" : 0,
12846 "description" : "Enable/disable NUMA.",
56122987 12847 "optional" : 1,
4d47f125
TL
12848 "type" : "boolean",
12849 "typetext" : "<boolean>"
56122987 12850 },
4d47f125
TL
12851 "numa[n]" : {
12852 "description" : "NUMA topology.",
12853 "format" : {
12854 "cpus" : {
12855 "description" : "CPUs accessing this NUMA node.",
12856 "format_description" : "id[-id];...",
12857 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12858 "type" : "string"
12859 },
12860 "hostnodes" : {
12861 "description" : "Host NUMA nodes to use.",
12862 "format_description" : "id[-id];...",
12863 "optional" : 1,
12864 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12865 "type" : "string"
12866 },
12867 "memory" : {
12868 "description" : "Amount of memory this NUMA node provides.",
12869 "optional" : 1,
12870 "type" : "number"
12871 },
12872 "policy" : {
12873 "description" : "NUMA allocation policy.",
12874 "enum" : [
12875 "preferred",
12876 "bind",
12877 "interleave"
12878 ],
12879 "optional" : 1,
12880 "type" : "string"
12881 }
12882 },
7aacca6f 12883 "optional" : 1,
013dc89f 12884 "type" : "string",
4d47f125 12885 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 12886 },
4d47f125 12887 "onboot" : {
44660702 12888 "default" : 0,
4d47f125 12889 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 12890 "optional" : 1,
013dc89f
DM
12891 "type" : "boolean",
12892 "typetext" : "<boolean>"
56122987 12893 },
4d47f125
TL
12894 "ostype" : {
12895 "description" : "Specify guest operating system.",
7aacca6f 12896 "enum" : [
4d47f125
TL
12897 "other",
12898 "wxp",
12899 "w2k",
12900 "w2k3",
12901 "w2k8",
12902 "wvista",
12903 "win7",
12904 "win8",
12905 "win10",
12906 "l24",
12907 "l26",
12908 "solaris"
7aacca6f
DM
12909 ],
12910 "optional" : 1,
013dc89f 12911 "type" : "string",
4d47f125 12912 "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 12913 },
4d47f125
TL
12914 "parallel[n]" : {
12915 "description" : "Map host parallel devices (n is 0 to 2).",
12916 "optional" : 1,
12917 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 12918 "type" : "string",
4d47f125 12919 "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 12920 },
4d47f125
TL
12921 "protection" : {
12922 "default" : 0,
12923 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 12924 "optional" : 1,
013dc89f
DM
12925 "type" : "boolean",
12926 "typetext" : "<boolean>"
44660702 12927 },
4d47f125
TL
12928 "reboot" : {
12929 "default" : 1,
12930 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 12931 "optional" : 1,
013dc89f
DM
12932 "type" : "boolean",
12933 "typetext" : "<boolean>"
56122987 12934 },
4d47f125
TL
12935 "revert" : {
12936 "description" : "Revert a pending change.",
12937 "format" : "pve-configid-list",
12938 "optional" : 1,
013dc89f
DM
12939 "type" : "string",
12940 "typetext" : "<string>"
56122987 12941 },
4d47f125
TL
12942 "sata[n]" : {
12943 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
12944 "format" : {
12945 "aio" : {
12946 "description" : "AIO type to use.",
12947 "enum" : [
12948 "native",
12949 "threads"
12950 ],
12951 "optional" : 1,
12952 "type" : "string"
12953 },
12954 "backup" : {
12955 "description" : "Whether the drive should be included when making backups.",
12956 "optional" : 1,
12957 "type" : "boolean"
12958 },
12959 "bps" : {
12960 "description" : "Maximum r/w speed in bytes per second.",
12961 "format_description" : "bps",
12962 "optional" : 1,
12963 "type" : "integer"
12964 },
12965 "bps_max_length" : {
12966 "description" : "Maximum length of I/O bursts in seconds.",
12967 "format_description" : "seconds",
12968 "minimum" : 1,
12969 "optional" : 1,
12970 "type" : "integer"
12971 },
12972 "bps_rd" : {
12973 "description" : "Maximum read speed in bytes per second.",
12974 "format_description" : "bps",
12975 "optional" : 1,
12976 "type" : "integer"
12977 },
12978 "bps_rd_length" : {
12979 "alias" : "bps_rd_max_length"
12980 },
12981 "bps_rd_max_length" : {
12982 "description" : "Maximum length of read I/O bursts in seconds.",
12983 "format_description" : "seconds",
12984 "minimum" : 1,
12985 "optional" : 1,
12986 "type" : "integer"
12987 },
12988 "bps_wr" : {
12989 "description" : "Maximum write speed in bytes per second.",
12990 "format_description" : "bps",
12991 "optional" : 1,
12992 "type" : "integer"
12993 },
12994 "bps_wr_length" : {
12995 "alias" : "bps_wr_max_length"
12996 },
12997 "bps_wr_max_length" : {
12998 "description" : "Maximum length of write I/O bursts in seconds.",
12999 "format_description" : "seconds",
13000 "minimum" : 1,
13001 "optional" : 1,
13002 "type" : "integer"
13003 },
13004 "cache" : {
13005 "description" : "The drive's cache mode",
13006 "enum" : [
13007 "none",
13008 "writethrough",
13009 "writeback",
13010 "unsafe",
13011 "directsync"
13012 ],
13013 "optional" : 1,
13014 "type" : "string"
13015 },
13016 "cyls" : {
13017 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13018 "optional" : 1,
13019 "type" : "integer"
13020 },
13021 "detect_zeroes" : {
13022 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13023 "optional" : 1,
13024 "type" : "boolean"
13025 },
13026 "discard" : {
13027 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13028 "enum" : [
13029 "ignore",
13030 "on"
13031 ],
13032 "optional" : 1,
13033 "type" : "string"
13034 },
13035 "file" : {
13036 "default_key" : 1,
13037 "description" : "The drive's backing volume.",
13038 "format" : "pve-volume-id-or-qm-path",
13039 "format_description" : "volume",
13040 "type" : "string"
13041 },
13042 "format" : {
13043 "description" : "The drive's backing file's data format.",
13044 "enum" : [
13045 "raw",
13046 "cow",
13047 "qcow",
13048 "qed",
13049 "qcow2",
13050 "vmdk",
13051 "cloop"
13052 ],
13053 "optional" : 1,
13054 "type" : "string"
13055 },
13056 "heads" : {
13057 "description" : "Force the drive's physical geometry to have a specific head count.",
13058 "optional" : 1,
13059 "type" : "integer"
13060 },
13061 "iops" : {
13062 "description" : "Maximum r/w I/O in operations per second.",
13063 "format_description" : "iops",
13064 "optional" : 1,
13065 "type" : "integer"
13066 },
13067 "iops_max" : {
13068 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13069 "format_description" : "iops",
13070 "optional" : 1,
13071 "type" : "integer"
13072 },
13073 "iops_max_length" : {
13074 "description" : "Maximum length of I/O bursts in seconds.",
13075 "format_description" : "seconds",
13076 "minimum" : 1,
13077 "optional" : 1,
13078 "type" : "integer"
13079 },
13080 "iops_rd" : {
13081 "description" : "Maximum read I/O in operations per second.",
13082 "format_description" : "iops",
13083 "optional" : 1,
13084 "type" : "integer"
13085 },
13086 "iops_rd_length" : {
13087 "alias" : "iops_rd_max_length"
13088 },
13089 "iops_rd_max" : {
13090 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13091 "format_description" : "iops",
13092 "optional" : 1,
13093 "type" : "integer"
13094 },
13095 "iops_rd_max_length" : {
13096 "description" : "Maximum length of read I/O bursts in seconds.",
13097 "format_description" : "seconds",
13098 "minimum" : 1,
13099 "optional" : 1,
13100 "type" : "integer"
13101 },
13102 "iops_wr" : {
13103 "description" : "Maximum write I/O in operations per second.",
13104 "format_description" : "iops",
13105 "optional" : 1,
13106 "type" : "integer"
13107 },
13108 "iops_wr_length" : {
13109 "alias" : "iops_wr_max_length"
13110 },
13111 "iops_wr_max" : {
13112 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13113 "format_description" : "iops",
13114 "optional" : 1,
13115 "type" : "integer"
13116 },
13117 "iops_wr_max_length" : {
13118 "description" : "Maximum length of write I/O bursts in seconds.",
13119 "format_description" : "seconds",
13120 "minimum" : 1,
13121 "optional" : 1,
13122 "type" : "integer"
13123 },
13124 "mbps" : {
13125 "description" : "Maximum r/w speed in megabytes per second.",
13126 "format_description" : "mbps",
13127 "optional" : 1,
13128 "type" : "number"
13129 },
13130 "mbps_max" : {
13131 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13132 "format_description" : "mbps",
13133 "optional" : 1,
13134 "type" : "number"
13135 },
13136 "mbps_rd" : {
13137 "description" : "Maximum read speed in megabytes per second.",
13138 "format_description" : "mbps",
13139 "optional" : 1,
13140 "type" : "number"
13141 },
13142 "mbps_rd_max" : {
13143 "description" : "Maximum unthrottled read pool in megabytes per second.",
13144 "format_description" : "mbps",
13145 "optional" : 1,
13146 "type" : "number"
13147 },
13148 "mbps_wr" : {
13149 "description" : "Maximum write speed in megabytes per second.",
13150 "format_description" : "mbps",
13151 "optional" : 1,
13152 "type" : "number"
13153 },
13154 "mbps_wr_max" : {
13155 "description" : "Maximum unthrottled write pool in megabytes per second.",
13156 "format_description" : "mbps",
13157 "optional" : 1,
13158 "type" : "number"
13159 },
13160 "media" : {
13161 "default" : "disk",
13162 "description" : "The drive's media type.",
13163 "enum" : [
13164 "cdrom",
13165 "disk"
13166 ],
13167 "optional" : 1,
13168 "type" : "string"
13169 },
13170 "replicate" : {
13171 "default" : 1,
13172 "description" : "Whether the drive should considered for replication jobs.",
13173 "optional" : 1,
13174 "type" : "boolean"
13175 },
13176 "rerror" : {
13177 "description" : "Read error action.",
13178 "enum" : [
13179 "ignore",
13180 "report",
13181 "stop"
13182 ],
13183 "optional" : 1,
13184 "type" : "string"
13185 },
13186 "secs" : {
13187 "description" : "Force the drive's physical geometry to have a specific sector count.",
13188 "optional" : 1,
13189 "type" : "integer"
13190 },
13191 "serial" : {
13192 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13193 "format" : "urlencoded",
13194 "format_description" : "serial",
13195 "maxLength" : 60,
13196 "optional" : 1,
13197 "type" : "string"
13198 },
13199 "shared" : {
13200 "default" : 0,
13201 "description" : "Mark this locally-managed volume as available on all nodes",
13202 "optional" : 1,
13203 "type" : "boolean",
13204 "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!"
13205 },
13206 "size" : {
13207 "description" : "Disk size. This is purely informational and has no effect.",
13208 "format" : "disk-size",
13209 "format_description" : "DiskSize",
13210 "optional" : 1,
13211 "type" : "string"
13212 },
13213 "snapshot" : {
13214 "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.",
13215 "optional" : 1,
13216 "type" : "boolean"
13217 },
13218 "trans" : {
13219 "description" : "Force disk geometry bios translation mode.",
13220 "enum" : [
13221 "none",
13222 "lba",
13223 "auto"
13224 ],
13225 "optional" : 1,
13226 "type" : "string"
13227 },
13228 "volume" : {
13229 "alias" : "file"
13230 },
13231 "werror" : {
13232 "description" : "Write error action.",
13233 "enum" : [
13234 "enospc",
13235 "ignore",
13236 "report",
13237 "stop"
13238 ],
13239 "optional" : 1,
13240 "type" : "string"
13241 }
13242 },
13243 "optional" : 1,
13244 "type" : "string",
13245 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
13246 },
13247 "scsi[n]" : {
13248 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
13249 "format" : {
13250 "aio" : {
13251 "description" : "AIO type to use.",
13252 "enum" : [
13253 "native",
13254 "threads"
13255 ],
13256 "optional" : 1,
13257 "type" : "string"
13258 },
13259 "backup" : {
13260 "description" : "Whether the drive should be included when making backups.",
13261 "optional" : 1,
13262 "type" : "boolean"
13263 },
13264 "bps" : {
13265 "description" : "Maximum r/w speed in bytes per second.",
13266 "format_description" : "bps",
13267 "optional" : 1,
13268 "type" : "integer"
13269 },
13270 "bps_max_length" : {
13271 "description" : "Maximum length of I/O bursts in seconds.",
13272 "format_description" : "seconds",
13273 "minimum" : 1,
13274 "optional" : 1,
13275 "type" : "integer"
13276 },
13277 "bps_rd" : {
13278 "description" : "Maximum read speed in bytes per second.",
13279 "format_description" : "bps",
13280 "optional" : 1,
13281 "type" : "integer"
13282 },
13283 "bps_rd_length" : {
13284 "alias" : "bps_rd_max_length"
13285 },
13286 "bps_rd_max_length" : {
13287 "description" : "Maximum length of read I/O bursts in seconds.",
13288 "format_description" : "seconds",
13289 "minimum" : 1,
13290 "optional" : 1,
13291 "type" : "integer"
13292 },
13293 "bps_wr" : {
13294 "description" : "Maximum write speed in bytes per second.",
13295 "format_description" : "bps",
13296 "optional" : 1,
13297 "type" : "integer"
13298 },
13299 "bps_wr_length" : {
13300 "alias" : "bps_wr_max_length"
13301 },
13302 "bps_wr_max_length" : {
13303 "description" : "Maximum length of write I/O bursts in seconds.",
13304 "format_description" : "seconds",
13305 "minimum" : 1,
13306 "optional" : 1,
13307 "type" : "integer"
13308 },
13309 "cache" : {
13310 "description" : "The drive's cache mode",
13311 "enum" : [
13312 "none",
13313 "writethrough",
13314 "writeback",
13315 "unsafe",
13316 "directsync"
13317 ],
13318 "optional" : 1,
13319 "type" : "string"
13320 },
13321 "cyls" : {
13322 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13323 "optional" : 1,
13324 "type" : "integer"
13325 },
13326 "detect_zeroes" : {
13327 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13328 "optional" : 1,
13329 "type" : "boolean"
13330 },
13331 "discard" : {
13332 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13333 "enum" : [
13334 "ignore",
13335 "on"
13336 ],
13337 "optional" : 1,
13338 "type" : "string"
13339 },
13340 "file" : {
13341 "default_key" : 1,
13342 "description" : "The drive's backing volume.",
13343 "format" : "pve-volume-id-or-qm-path",
13344 "format_description" : "volume",
13345 "type" : "string"
13346 },
13347 "format" : {
13348 "description" : "The drive's backing file's data format.",
13349 "enum" : [
13350 "raw",
13351 "cow",
13352 "qcow",
13353 "qed",
13354 "qcow2",
13355 "vmdk",
13356 "cloop"
13357 ],
13358 "optional" : 1,
13359 "type" : "string"
13360 },
13361 "heads" : {
13362 "description" : "Force the drive's physical geometry to have a specific head count.",
13363 "optional" : 1,
13364 "type" : "integer"
13365 },
13366 "iops" : {
13367 "description" : "Maximum r/w I/O in operations per second.",
13368 "format_description" : "iops",
13369 "optional" : 1,
13370 "type" : "integer"
13371 },
13372 "iops_max" : {
13373 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13374 "format_description" : "iops",
13375 "optional" : 1,
13376 "type" : "integer"
13377 },
13378 "iops_max_length" : {
13379 "description" : "Maximum length of I/O bursts in seconds.",
13380 "format_description" : "seconds",
13381 "minimum" : 1,
13382 "optional" : 1,
13383 "type" : "integer"
13384 },
13385 "iops_rd" : {
13386 "description" : "Maximum read I/O in operations per second.",
13387 "format_description" : "iops",
13388 "optional" : 1,
13389 "type" : "integer"
13390 },
13391 "iops_rd_length" : {
13392 "alias" : "iops_rd_max_length"
13393 },
13394 "iops_rd_max" : {
13395 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13396 "format_description" : "iops",
13397 "optional" : 1,
13398 "type" : "integer"
13399 },
13400 "iops_rd_max_length" : {
13401 "description" : "Maximum length of read I/O bursts in seconds.",
13402 "format_description" : "seconds",
13403 "minimum" : 1,
13404 "optional" : 1,
13405 "type" : "integer"
13406 },
13407 "iops_wr" : {
13408 "description" : "Maximum write I/O in operations per second.",
13409 "format_description" : "iops",
13410 "optional" : 1,
13411 "type" : "integer"
13412 },
13413 "iops_wr_length" : {
13414 "alias" : "iops_wr_max_length"
13415 },
13416 "iops_wr_max" : {
13417 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13418 "format_description" : "iops",
13419 "optional" : 1,
13420 "type" : "integer"
13421 },
13422 "iops_wr_max_length" : {
13423 "description" : "Maximum length of write I/O bursts in seconds.",
13424 "format_description" : "seconds",
13425 "minimum" : 1,
13426 "optional" : 1,
13427 "type" : "integer"
13428 },
13429 "iothread" : {
13430 "description" : "Whether to use iothreads for this drive",
13431 "optional" : 1,
13432 "type" : "boolean"
13433 },
13434 "mbps" : {
13435 "description" : "Maximum r/w speed in megabytes per second.",
13436 "format_description" : "mbps",
13437 "optional" : 1,
13438 "type" : "number"
13439 },
13440 "mbps_max" : {
13441 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13442 "format_description" : "mbps",
13443 "optional" : 1,
13444 "type" : "number"
13445 },
13446 "mbps_rd" : {
13447 "description" : "Maximum read speed in megabytes per second.",
13448 "format_description" : "mbps",
13449 "optional" : 1,
13450 "type" : "number"
13451 },
13452 "mbps_rd_max" : {
13453 "description" : "Maximum unthrottled read pool in megabytes per second.",
13454 "format_description" : "mbps",
13455 "optional" : 1,
13456 "type" : "number"
13457 },
13458 "mbps_wr" : {
13459 "description" : "Maximum write speed in megabytes per second.",
13460 "format_description" : "mbps",
13461 "optional" : 1,
13462 "type" : "number"
13463 },
13464 "mbps_wr_max" : {
13465 "description" : "Maximum unthrottled write pool in megabytes per second.",
13466 "format_description" : "mbps",
13467 "optional" : 1,
13468 "type" : "number"
13469 },
13470 "media" : {
13471 "default" : "disk",
13472 "description" : "The drive's media type.",
13473 "enum" : [
13474 "cdrom",
13475 "disk"
13476 ],
13477 "optional" : 1,
13478 "type" : "string"
13479 },
13480 "queues" : {
13481 "description" : "Number of queues.",
13482 "minimum" : 2,
13483 "optional" : 1,
13484 "type" : "integer"
13485 },
13486 "replicate" : {
13487 "default" : 1,
13488 "description" : "Whether the drive should considered for replication jobs.",
13489 "optional" : 1,
13490 "type" : "boolean"
13491 },
13492 "rerror" : {
13493 "description" : "Read error action.",
13494 "enum" : [
13495 "ignore",
13496 "report",
13497 "stop"
13498 ],
13499 "optional" : 1,
13500 "type" : "string"
13501 },
13502 "scsiblock" : {
13503 "default" : 0,
13504 "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",
13505 "optional" : 1,
13506 "type" : "boolean"
13507 },
13508 "secs" : {
13509 "description" : "Force the drive's physical geometry to have a specific sector count.",
13510 "optional" : 1,
13511 "type" : "integer"
13512 },
13513 "serial" : {
13514 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13515 "format" : "urlencoded",
13516 "format_description" : "serial",
13517 "maxLength" : 60,
13518 "optional" : 1,
13519 "type" : "string"
13520 },
13521 "shared" : {
13522 "default" : 0,
13523 "description" : "Mark this locally-managed volume as available on all nodes",
13524 "optional" : 1,
13525 "type" : "boolean",
13526 "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!"
13527 },
13528 "size" : {
13529 "description" : "Disk size. This is purely informational and has no effect.",
13530 "format" : "disk-size",
13531 "format_description" : "DiskSize",
13532 "optional" : 1,
13533 "type" : "string"
13534 },
13535 "snapshot" : {
13536 "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.",
13537 "optional" : 1,
13538 "type" : "boolean"
13539 },
13540 "trans" : {
13541 "description" : "Force disk geometry bios translation mode.",
13542 "enum" : [
13543 "none",
13544 "lba",
13545 "auto"
13546 ],
13547 "optional" : 1,
13548 "type" : "string"
13549 },
13550 "volume" : {
13551 "alias" : "file"
13552 },
13553 "werror" : {
13554 "description" : "Write error action.",
13555 "enum" : [
13556 "enospc",
13557 "ignore",
13558 "report",
13559 "stop"
13560 ],
13561 "optional" : 1,
13562 "type" : "string"
13563 }
13564 },
13565 "optional" : 1,
13566 "type" : "string",
13567 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
13568 },
13569 "scsihw" : {
13570 "default" : "lsi",
13571 "description" : "SCSI controller model",
13572 "enum" : [
13573 "lsi",
13574 "lsi53c810",
13575 "virtio-scsi-pci",
13576 "virtio-scsi-single",
13577 "megasas",
13578 "pvscsi"
13579 ],
13580 "optional" : 1,
13581 "type" : "string"
13582 },
13583 "searchdomain" : {
13584 "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.",
13585 "optional" : 1,
13586 "type" : "string",
13587 "typetext" : "<string>"
13588 },
13589 "serial[n]" : {
13590 "description" : "Create a serial device inside the VM (n is 0 to 3)",
13591 "optional" : 1,
13592 "pattern" : "(/dev/.+|socket)",
13593 "type" : "string",
13594 "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"
13595 },
13596 "shares" : {
13597 "default" : 1000,
13598 "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.",
13599 "maximum" : 50000,
13600 "minimum" : 0,
13601 "optional" : 1,
13602 "type" : "integer",
13603 "typetext" : "<integer> (0 - 50000)"
13604 },
13605 "skiplock" : {
13606 "description" : "Ignore locks - only root is allowed to use this option.",
13607 "optional" : 1,
13608 "type" : "boolean",
13609 "typetext" : "<boolean>"
13610 },
13611 "smbios1" : {
13612 "description" : "Specify SMBIOS type 1 fields.",
13613 "format" : "pve-qm-smbios1",
13614 "maxLength" : 256,
13615 "optional" : 1,
13616 "type" : "string",
13617 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
13618 },
13619 "smp" : {
13620 "default" : 1,
13621 "description" : "The number of CPUs. Please use option -sockets instead.",
13622 "minimum" : 1,
13623 "optional" : 1,
13624 "type" : "integer",
13625 "typetext" : "<integer> (1 - N)"
13626 },
13627 "sockets" : {
13628 "default" : 1,
13629 "description" : "The number of CPU sockets.",
13630 "minimum" : 1,
13631 "optional" : 1,
13632 "type" : "integer",
13633 "typetext" : "<integer> (1 - N)"
13634 },
13635 "sshkeys" : {
13636 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
13637 "format" : "urlencoded",
13638 "optional" : 1,
13639 "type" : "string",
13640 "typetext" : "<string>"
13641 },
13642 "startdate" : {
13643 "default" : "now",
13644 "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'.",
13645 "optional" : 1,
13646 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
13647 "type" : "string",
13648 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
13649 },
13650 "startup" : {
13651 "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.",
13652 "format" : "pve-startup-order",
13653 "optional" : 1,
13654 "type" : "string",
13655 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
13656 },
13657 "tablet" : {
13658 "default" : 1,
13659 "description" : "Enable/disable the USB tablet device.",
13660 "optional" : 1,
13661 "type" : "boolean",
13662 "typetext" : "<boolean>",
13663 "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)."
13664 },
13665 "tdf" : {
13666 "default" : 0,
13667 "description" : "Enable/disable time drift fix.",
13668 "optional" : 1,
13669 "type" : "boolean",
13670 "typetext" : "<boolean>"
13671 },
13672 "template" : {
13673 "default" : 0,
13674 "description" : "Enable/disable Template.",
13675 "optional" : 1,
13676 "type" : "boolean",
13677 "typetext" : "<boolean>"
13678 },
13679 "unused[n]" : {
13680 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
13681 "format" : "pve-volume-id",
13682 "optional" : 1,
13683 "type" : "string",
13684 "typetext" : "<string>"
13685 },
13686 "usb[n]" : {
13687 "description" : "Configure an USB device (n is 0 to 4).",
13688 "format" : {
13689 "host" : {
13690 "default_key" : 1,
13691 "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",
13692 "format" : "pve-qm-usb-device",
13693 "format_description" : "HOSTUSBDEVICE|spice",
13694 "type" : "string"
13695 },
13696 "usb3" : {
13697 "default" : 0,
13698 "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).",
13699 "optional" : 1,
13700 "type" : "boolean"
13701 }
13702 },
13703 "optional" : 1,
13704 "type" : "string",
13705 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
13706 },
13707 "vcpus" : {
13708 "default" : 0,
13709 "description" : "Number of hotplugged vcpus.",
13710 "minimum" : 1,
13711 "optional" : 1,
13712 "type" : "integer",
13713 "typetext" : "<integer> (1 - N)"
13714 },
13715 "vga" : {
13716 "description" : "Select the VGA type.",
13717 "enum" : [
13718 "cirrus",
13719 "qxl",
13720 "qxl2",
13721 "qxl3",
13722 "qxl4",
13723 "serial0",
13724 "serial1",
13725 "serial2",
13726 "serial3",
13727 "std",
13728 "virtio",
13729 "vmware"
13730 ],
13731 "optional" : 1,
13732 "type" : "string",
13733 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
13734 },
13735 "virtio[n]" : {
13736 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
13737 "format" : {
13738 "aio" : {
13739 "description" : "AIO type to use.",
13740 "enum" : [
13741 "native",
13742 "threads"
13743 ],
13744 "optional" : 1,
13745 "type" : "string"
13746 },
13747 "backup" : {
13748 "description" : "Whether the drive should be included when making backups.",
13749 "optional" : 1,
13750 "type" : "boolean"
13751 },
13752 "bps" : {
13753 "description" : "Maximum r/w speed in bytes per second.",
13754 "format_description" : "bps",
13755 "optional" : 1,
13756 "type" : "integer"
13757 },
13758 "bps_max_length" : {
13759 "description" : "Maximum length of I/O bursts in seconds.",
13760 "format_description" : "seconds",
13761 "minimum" : 1,
13762 "optional" : 1,
13763 "type" : "integer"
13764 },
13765 "bps_rd" : {
13766 "description" : "Maximum read speed in bytes per second.",
13767 "format_description" : "bps",
13768 "optional" : 1,
13769 "type" : "integer"
13770 },
13771 "bps_rd_length" : {
13772 "alias" : "bps_rd_max_length"
13773 },
13774 "bps_rd_max_length" : {
13775 "description" : "Maximum length of read I/O bursts in seconds.",
13776 "format_description" : "seconds",
13777 "minimum" : 1,
13778 "optional" : 1,
13779 "type" : "integer"
13780 },
13781 "bps_wr" : {
13782 "description" : "Maximum write speed in bytes per second.",
13783 "format_description" : "bps",
13784 "optional" : 1,
13785 "type" : "integer"
13786 },
13787 "bps_wr_length" : {
13788 "alias" : "bps_wr_max_length"
13789 },
13790 "bps_wr_max_length" : {
13791 "description" : "Maximum length of write I/O bursts in seconds.",
13792 "format_description" : "seconds",
13793 "minimum" : 1,
13794 "optional" : 1,
13795 "type" : "integer"
13796 },
13797 "cache" : {
13798 "description" : "The drive's cache mode",
13799 "enum" : [
13800 "none",
13801 "writethrough",
13802 "writeback",
13803 "unsafe",
13804 "directsync"
13805 ],
13806 "optional" : 1,
13807 "type" : "string"
13808 },
13809 "cyls" : {
13810 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13811 "optional" : 1,
13812 "type" : "integer"
13813 },
13814 "detect_zeroes" : {
13815 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13816 "optional" : 1,
13817 "type" : "boolean"
13818 },
13819 "discard" : {
13820 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13821 "enum" : [
13822 "ignore",
13823 "on"
13824 ],
13825 "optional" : 1,
13826 "type" : "string"
13827 },
13828 "file" : {
13829 "default_key" : 1,
13830 "description" : "The drive's backing volume.",
13831 "format" : "pve-volume-id-or-qm-path",
13832 "format_description" : "volume",
13833 "type" : "string"
13834 },
13835 "format" : {
13836 "description" : "The drive's backing file's data format.",
13837 "enum" : [
13838 "raw",
13839 "cow",
13840 "qcow",
13841 "qed",
13842 "qcow2",
13843 "vmdk",
13844 "cloop"
13845 ],
13846 "optional" : 1,
13847 "type" : "string"
13848 },
13849 "heads" : {
13850 "description" : "Force the drive's physical geometry to have a specific head count.",
13851 "optional" : 1,
13852 "type" : "integer"
13853 },
13854 "iops" : {
13855 "description" : "Maximum r/w I/O in operations per second.",
13856 "format_description" : "iops",
13857 "optional" : 1,
13858 "type" : "integer"
13859 },
13860 "iops_max" : {
13861 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13862 "format_description" : "iops",
13863 "optional" : 1,
13864 "type" : "integer"
13865 },
13866 "iops_max_length" : {
13867 "description" : "Maximum length of I/O bursts in seconds.",
13868 "format_description" : "seconds",
13869 "minimum" : 1,
13870 "optional" : 1,
13871 "type" : "integer"
13872 },
13873 "iops_rd" : {
13874 "description" : "Maximum read I/O in operations per second.",
13875 "format_description" : "iops",
13876 "optional" : 1,
13877 "type" : "integer"
13878 },
13879 "iops_rd_length" : {
13880 "alias" : "iops_rd_max_length"
13881 },
13882 "iops_rd_max" : {
13883 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13884 "format_description" : "iops",
13885 "optional" : 1,
13886 "type" : "integer"
13887 },
13888 "iops_rd_max_length" : {
13889 "description" : "Maximum length of read I/O bursts in seconds.",
13890 "format_description" : "seconds",
13891 "minimum" : 1,
13892 "optional" : 1,
13893 "type" : "integer"
13894 },
13895 "iops_wr" : {
13896 "description" : "Maximum write I/O in operations per second.",
13897 "format_description" : "iops",
13898 "optional" : 1,
13899 "type" : "integer"
13900 },
13901 "iops_wr_length" : {
13902 "alias" : "iops_wr_max_length"
13903 },
13904 "iops_wr_max" : {
13905 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13906 "format_description" : "iops",
13907 "optional" : 1,
13908 "type" : "integer"
13909 },
13910 "iops_wr_max_length" : {
13911 "description" : "Maximum length of write I/O bursts in seconds.",
13912 "format_description" : "seconds",
13913 "minimum" : 1,
13914 "optional" : 1,
13915 "type" : "integer"
13916 },
13917 "iothread" : {
13918 "description" : "Whether to use iothreads for this drive",
13919 "optional" : 1,
13920 "type" : "boolean"
13921 },
13922 "mbps" : {
13923 "description" : "Maximum r/w speed in megabytes per second.",
13924 "format_description" : "mbps",
13925 "optional" : 1,
13926 "type" : "number"
13927 },
13928 "mbps_max" : {
13929 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13930 "format_description" : "mbps",
13931 "optional" : 1,
13932 "type" : "number"
13933 },
13934 "mbps_rd" : {
13935 "description" : "Maximum read speed in megabytes per second.",
13936 "format_description" : "mbps",
13937 "optional" : 1,
13938 "type" : "number"
13939 },
13940 "mbps_rd_max" : {
13941 "description" : "Maximum unthrottled read pool in megabytes per second.",
13942 "format_description" : "mbps",
13943 "optional" : 1,
13944 "type" : "number"
13945 },
13946 "mbps_wr" : {
13947 "description" : "Maximum write speed in megabytes per second.",
13948 "format_description" : "mbps",
13949 "optional" : 1,
13950 "type" : "number"
13951 },
13952 "mbps_wr_max" : {
13953 "description" : "Maximum unthrottled write pool in megabytes per second.",
13954 "format_description" : "mbps",
13955 "optional" : 1,
13956 "type" : "number"
13957 },
13958 "media" : {
13959 "default" : "disk",
13960 "description" : "The drive's media type.",
13961 "enum" : [
13962 "cdrom",
13963 "disk"
13964 ],
13965 "optional" : 1,
13966 "type" : "string"
13967 },
13968 "replicate" : {
13969 "default" : 1,
13970 "description" : "Whether the drive should considered for replication jobs.",
13971 "optional" : 1,
13972 "type" : "boolean"
13973 },
13974 "rerror" : {
13975 "description" : "Read error action.",
13976 "enum" : [
13977 "ignore",
13978 "report",
13979 "stop"
13980 ],
13981 "optional" : 1,
13982 "type" : "string"
13983 },
13984 "secs" : {
13985 "description" : "Force the drive's physical geometry to have a specific sector count.",
13986 "optional" : 1,
13987 "type" : "integer"
13988 },
13989 "serial" : {
13990 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13991 "format" : "urlencoded",
13992 "format_description" : "serial",
13993 "maxLength" : 60,
13994 "optional" : 1,
13995 "type" : "string"
13996 },
13997 "shared" : {
13998 "default" : 0,
13999 "description" : "Mark this locally-managed volume as available on all nodes",
14000 "optional" : 1,
14001 "type" : "boolean",
14002 "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!"
14003 },
14004 "size" : {
14005 "description" : "Disk size. This is purely informational and has no effect.",
14006 "format" : "disk-size",
14007 "format_description" : "DiskSize",
14008 "optional" : 1,
14009 "type" : "string"
14010 },
14011 "snapshot" : {
14012 "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.",
14013 "optional" : 1,
14014 "type" : "boolean"
14015 },
14016 "trans" : {
14017 "description" : "Force disk geometry bios translation mode.",
14018 "enum" : [
14019 "none",
14020 "lba",
14021 "auto"
14022 ],
14023 "optional" : 1,
14024 "type" : "string"
14025 },
14026 "volume" : {
14027 "alias" : "file"
14028 },
14029 "werror" : {
14030 "description" : "Write error action.",
14031 "enum" : [
14032 "enospc",
14033 "ignore",
14034 "report",
14035 "stop"
14036 ],
14037 "optional" : 1,
14038 "type" : "string"
14039 }
14040 },
14041 "optional" : 1,
14042 "type" : "string",
14043 "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>]"
14044 },
14045 "vmgenid" : {
14046 "default" : "1 (autogenerated)",
14047 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
14048 "format_description" : "UUID",
14049 "optional" : 1,
14050 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
14051 "type" : "string",
14052 "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."
14053 },
14054 "vmid" : {
14055 "description" : "The (unique) ID of the VM.",
14056 "format" : "pve-vmid",
14057 "minimum" : 1,
14058 "type" : "integer",
14059 "typetext" : "<integer> (1 - N)"
14060 },
14061 "vmstatestorage" : {
14062 "description" : "Default storage for VM state volumes/files.",
14063 "format" : "pve-storage-id",
14064 "optional" : 1,
14065 "type" : "string",
14066 "typetext" : "<string>"
14067 },
14068 "watchdog" : {
14069 "description" : "Create a virtual hardware watchdog device.",
14070 "format" : "pve-qm-watchdog",
14071 "optional" : 1,
14072 "type" : "string",
14073 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
14074 "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)"
14075 }
14076 }
14077 },
14078 "permissions" : {
14079 "check" : [
14080 "perm",
14081 "/vms/{vmid}",
14082 [
14083 "VM.Config.Disk",
14084 "VM.Config.CDROM",
14085 "VM.Config.CPU",
14086 "VM.Config.Memory",
14087 "VM.Config.Network",
14088 "VM.Config.HWType",
14089 "VM.Config.Options"
14090 ],
14091 "any",
14092 1
14093 ]
14094 },
14095 "protected" : 1,
14096 "proxyto" : "node",
14097 "returns" : {
14098 "type" : "null"
14099 }
14100 }
14101 },
14102 "leaf" : 1,
14103 "path" : "/nodes/{node}/qemu/{vmid}/config",
14104 "text" : "config"
14105 },
14106 {
14107 "info" : {
14108 "GET" : {
14109 "description" : "Get virtual machine configuration, including pending changes.",
14110 "method" : "GET",
14111 "name" : "vm_pending",
14112 "parameters" : {
14113 "additionalProperties" : 0,
14114 "properties" : {
14115 "node" : {
14116 "description" : "The cluster node name.",
14117 "format" : "pve-node",
14118 "type" : "string",
14119 "typetext" : "<string>"
14120 },
14121 "vmid" : {
14122 "description" : "The (unique) ID of the VM.",
14123 "format" : "pve-vmid",
14124 "minimum" : 1,
14125 "type" : "integer",
14126 "typetext" : "<integer> (1 - N)"
14127 }
14128 }
14129 },
14130 "permissions" : {
14131 "check" : [
14132 "perm",
14133 "/vms/{vmid}",
14134 [
14135 "VM.Audit"
14136 ]
14137 ]
14138 },
14139 "proxyto" : "node",
14140 "returns" : {
14141 "items" : {
14142 "properties" : {
14143 "delete" : {
14144 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
14145 "maximum" : 2,
14146 "minimum" : 0,
14147 "optional" : 1,
14148 "type" : "integer"
14149 },
14150 "key" : {
14151 "description" : "Configuration option name.",
14152 "type" : "string"
14153 },
14154 "pending" : {
14155 "description" : "Pending value.",
14156 "optional" : 1,
14157 "type" : "string"
14158 },
14159 "value" : {
14160 "description" : "Current value.",
14161 "optional" : 1,
14162 "type" : "string"
14163 }
14164 },
14165 "type" : "object"
14166 },
14167 "type" : "array"
14168 }
14169 }
14170 },
14171 "leaf" : 1,
14172 "path" : "/nodes/{node}/qemu/{vmid}/pending",
14173 "text" : "pending"
14174 },
14175 {
14176 "info" : {
14177 "PUT" : {
14178 "description" : "Unlink/delete disk images.",
14179 "method" : "PUT",
14180 "name" : "unlink",
14181 "parameters" : {
14182 "additionalProperties" : 0,
14183 "properties" : {
14184 "force" : {
14185 "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.",
14186 "optional" : 1,
14187 "type" : "boolean",
14188 "typetext" : "<boolean>"
14189 },
14190 "idlist" : {
14191 "description" : "A list of disk IDs you want to delete.",
14192 "format" : "pve-configid-list",
14193 "type" : "string",
14194 "typetext" : "<string>"
14195 },
14196 "node" : {
14197 "description" : "The cluster node name.",
14198 "format" : "pve-node",
14199 "type" : "string",
14200 "typetext" : "<string>"
14201 },
14202 "vmid" : {
14203 "description" : "The (unique) ID of the VM.",
14204 "format" : "pve-vmid",
14205 "minimum" : 1,
14206 "type" : "integer",
14207 "typetext" : "<integer> (1 - N)"
14208 }
14209 }
14210 },
14211 "permissions" : {
14212 "check" : [
14213 "perm",
14214 "/vms/{vmid}",
14215 [
14216 "VM.Config.Disk"
14217 ]
14218 ]
14219 },
14220 "protected" : 1,
14221 "proxyto" : "node",
14222 "returns" : {
14223 "type" : "null"
14224 }
14225 }
14226 },
14227 "leaf" : 1,
14228 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
14229 "text" : "unlink"
14230 },
14231 {
14232 "info" : {
14233 "POST" : {
14234 "description" : "Creates a TCP VNC proxy connections.",
14235 "method" : "POST",
14236 "name" : "vncproxy",
14237 "parameters" : {
14238 "additionalProperties" : 0,
14239 "properties" : {
14240 "node" : {
14241 "description" : "The cluster node name.",
14242 "format" : "pve-node",
14243 "type" : "string",
14244 "typetext" : "<string>"
14245 },
14246 "vmid" : {
14247 "description" : "The (unique) ID of the VM.",
14248 "format" : "pve-vmid",
14249 "minimum" : 1,
14250 "type" : "integer",
14251 "typetext" : "<integer> (1 - N)"
14252 },
14253 "websocket" : {
14254 "description" : "starts websockify instead of vncproxy",
14255 "optional" : 1,
14256 "type" : "boolean",
14257 "typetext" : "<boolean>"
14258 }
14259 }
14260 },
14261 "permissions" : {
14262 "check" : [
14263 "perm",
14264 "/vms/{vmid}",
14265 [
14266 "VM.Console"
14267 ]
14268 ]
14269 },
14270 "protected" : 1,
14271 "returns" : {
14272 "additionalProperties" : 0,
14273 "properties" : {
14274 "cert" : {
14275 "type" : "string"
14276 },
14277 "port" : {
14278 "type" : "integer"
14279 },
14280 "ticket" : {
14281 "type" : "string"
14282 },
14283 "upid" : {
14284 "type" : "string"
14285 },
14286 "user" : {
14287 "type" : "string"
14288 }
14289 }
14290 }
14291 }
14292 },
14293 "leaf" : 1,
14294 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
14295 "text" : "vncproxy"
14296 },
14297 {
14298 "info" : {
14299 "POST" : {
14300 "description" : "Creates a TCP proxy connections.",
14301 "method" : "POST",
14302 "name" : "termproxy",
14303 "parameters" : {
14304 "additionalProperties" : 0,
14305 "properties" : {
14306 "node" : {
14307 "description" : "The cluster node name.",
14308 "format" : "pve-node",
14309 "type" : "string",
14310 "typetext" : "<string>"
14311 },
14312 "serial" : {
14313 "description" : "opens a serial terminal (defaults to display)",
14314 "enum" : [
14315 "serial0",
14316 "serial1",
14317 "serial2",
14318 "serial3"
14319 ],
14320 "optional" : 1,
14321 "type" : "string"
14322 },
14323 "vmid" : {
14324 "description" : "The (unique) ID of the VM.",
14325 "format" : "pve-vmid",
14326 "minimum" : 1,
14327 "type" : "integer",
14328 "typetext" : "<integer> (1 - N)"
14329 }
14330 }
14331 },
14332 "permissions" : {
14333 "check" : [
14334 "perm",
14335 "/vms/{vmid}",
14336 [
14337 "VM.Console"
14338 ]
14339 ]
14340 },
14341 "protected" : 1,
14342 "returns" : {
14343 "additionalProperties" : 0,
14344 "properties" : {
14345 "port" : {
14346 "type" : "integer"
14347 },
14348 "ticket" : {
14349 "type" : "string"
14350 },
14351 "upid" : {
14352 "type" : "string"
14353 },
14354 "user" : {
14355 "type" : "string"
14356 }
14357 }
14358 }
14359 }
14360 },
14361 "leaf" : 1,
14362 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
14363 "text" : "termproxy"
14364 },
14365 {
14366 "info" : {
14367 "GET" : {
14368 "description" : "Opens a weksocket for VNC traffic.",
14369 "method" : "GET",
14370 "name" : "vncwebsocket",
14371 "parameters" : {
14372 "additionalProperties" : 0,
14373 "properties" : {
14374 "node" : {
14375 "description" : "The cluster node name.",
14376 "format" : "pve-node",
14377 "type" : "string",
14378 "typetext" : "<string>"
14379 },
14380 "port" : {
14381 "description" : "Port number returned by previous vncproxy call.",
14382 "maximum" : 5999,
14383 "minimum" : 5900,
14384 "type" : "integer",
14385 "typetext" : "<integer> (5900 - 5999)"
14386 },
14387 "vmid" : {
14388 "description" : "The (unique) ID of the VM.",
14389 "format" : "pve-vmid",
14390 "minimum" : 1,
14391 "type" : "integer",
14392 "typetext" : "<integer> (1 - N)"
14393 },
14394 "vncticket" : {
14395 "description" : "Ticket from previous call to vncproxy.",
14396 "maxLength" : 512,
14397 "type" : "string",
14398 "typetext" : "<string>"
14399 }
14400 }
14401 },
14402 "permissions" : {
14403 "check" : [
14404 "perm",
14405 "/vms/{vmid}",
14406 [
14407 "VM.Console"
14408 ]
14409 ],
14410 "description" : "You also need to pass a valid ticket (vncticket)."
14411 },
14412 "returns" : {
14413 "properties" : {
14414 "port" : {
14415 "type" : "string"
14416 }
14417 },
14418 "type" : "object"
14419 }
14420 }
14421 },
14422 "leaf" : 1,
14423 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
14424 "text" : "vncwebsocket"
14425 },
14426 {
14427 "info" : {
14428 "POST" : {
14429 "description" : "Returns a SPICE configuration to connect to the VM.",
14430 "method" : "POST",
14431 "name" : "spiceproxy",
14432 "parameters" : {
14433 "additionalProperties" : 0,
14434 "properties" : {
14435 "node" : {
14436 "description" : "The cluster node name.",
14437 "format" : "pve-node",
14438 "type" : "string",
14439 "typetext" : "<string>"
14440 },
14441 "proxy" : {
14442 "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).",
14443 "format" : "address",
14444 "optional" : 1,
14445 "type" : "string",
14446 "typetext" : "<string>"
14447 },
14448 "vmid" : {
14449 "description" : "The (unique) ID of the VM.",
14450 "format" : "pve-vmid",
14451 "minimum" : 1,
14452 "type" : "integer",
14453 "typetext" : "<integer> (1 - N)"
14454 }
14455 }
14456 },
14457 "permissions" : {
14458 "check" : [
14459 "perm",
14460 "/vms/{vmid}",
14461 [
14462 "VM.Console"
14463 ]
14464 ]
14465 },
14466 "protected" : 1,
14467 "proxyto" : "node",
14468 "returns" : {
14469 "additionalProperties" : 1,
14470 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
14471 "properties" : {
14472 "host" : {
14473 "type" : "string"
14474 },
14475 "password" : {
14476 "type" : "string"
14477 },
14478 "proxy" : {
14479 "type" : "string"
14480 },
14481 "tls-port" : {
14482 "type" : "integer"
14483 },
14484 "type" : {
14485 "type" : "string"
14486 }
14487 }
14488 }
14489 }
14490 },
14491 "leaf" : 1,
14492 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
14493 "text" : "spiceproxy"
14494 },
14495 {
14496 "children" : [
14497 {
14498 "info" : {
14499 "GET" : {
14500 "description" : "Get virtual machine status.",
14501 "method" : "GET",
14502 "name" : "vm_status",
14503 "parameters" : {
14504 "additionalProperties" : 0,
14505 "properties" : {
14506 "node" : {
14507 "description" : "The cluster node name.",
14508 "format" : "pve-node",
14509 "type" : "string",
14510 "typetext" : "<string>"
14511 },
14512 "vmid" : {
14513 "description" : "The (unique) ID of the VM.",
14514 "format" : "pve-vmid",
14515 "minimum" : 1,
14516 "type" : "integer",
14517 "typetext" : "<integer> (1 - N)"
14518 }
14519 }
14520 },
14521 "permissions" : {
14522 "check" : [
14523 "perm",
14524 "/vms/{vmid}",
14525 [
14526 "VM.Audit"
14527 ]
14528 ]
14529 },
14530 "protected" : 1,
14531 "proxyto" : "node",
14532 "returns" : {
14533 "properties" : {
14534 "agent" : {
14535 "description" : "Qemu GuestAgent enabled in config.",
14536 "optional" : 1,
14537 "type" : "boolean"
14538 },
14539 "cpus" : {
14540 "description" : "Maximum usable CPUs.",
14541 "optional" : 1,
14542 "type" : "number"
14543 },
14544 "ha" : {
14545 "description" : "HA manager service status.",
14546 "type" : "object"
14547 },
14548 "maxdisk" : {
14549 "description" : "Root disk size in bytes.",
14550 "optional" : 1,
14551 "renderer" : "bytes",
14552 "type" : "integer"
14553 },
14554 "maxmem" : {
14555 "description" : "Maximum memory in bytes.",
14556 "optional" : 1,
14557 "renderer" : "bytes",
14558 "type" : "integer"
14559 },
14560 "name" : {
14561 "description" : "VM name.",
14562 "optional" : 1,
14563 "type" : "string"
14564 },
14565 "pid" : {
14566 "description" : "PID of running qemu process.",
14567 "optional" : 1,
14568 "type" : "integer"
14569 },
14570 "qmpstatus" : {
14571 "description" : "Qemu QMP agent status.",
14572 "optional" : 1,
14573 "type" : "string"
14574 },
14575 "spice" : {
14576 "description" : "Qemu VGA configuration supports spice.",
14577 "optional" : 1,
14578 "type" : "boolean"
14579 },
14580 "status" : {
14581 "description" : "Qemu process status.",
14582 "enum" : [
14583 "stopped",
14584 "running"
14585 ],
14586 "type" : "string"
14587 },
14588 "uptime" : {
14589 "description" : "Uptime.",
14590 "optional" : 1,
14591 "renderer" : "duration",
14592 "type" : "integer"
14593 },
14594 "vmid" : {
14595 "description" : "The (unique) ID of the VM.",
14596 "format" : "pve-vmid",
14597 "minimum" : 1,
14598 "type" : "integer"
14599 }
14600 },
14601 "type" : "object"
14602 }
14603 }
14604 },
14605 "leaf" : 1,
14606 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
14607 "text" : "current"
14608 },
14609 {
14610 "info" : {
14611 "POST" : {
14612 "description" : "Start virtual machine.",
14613 "method" : "POST",
14614 "name" : "vm_start",
14615 "parameters" : {
14616 "additionalProperties" : 0,
14617 "properties" : {
14618 "machine" : {
14619 "description" : "Specifies the Qemu machine type.",
14620 "maxLength" : 40,
14621 "optional" : 1,
14622 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
14623 "type" : "string"
14624 },
14625 "migratedfrom" : {
14626 "description" : "The cluster node name.",
14627 "format" : "pve-node",
14628 "optional" : 1,
14629 "type" : "string",
14630 "typetext" : "<string>"
14631 },
14632 "migration_network" : {
14633 "description" : "CIDR of the (sub) network that is used for migration.",
14634 "format" : "CIDR",
14635 "optional" : 1,
14636 "type" : "string",
14637 "typetext" : "<string>"
14638 },
14639 "migration_type" : {
14640 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
14641 "enum" : [
14642 "secure",
14643 "insecure"
14644 ],
14645 "optional" : 1,
14646 "type" : "string"
14647 },
14648 "node" : {
14649 "description" : "The cluster node name.",
14650 "format" : "pve-node",
14651 "type" : "string",
14652 "typetext" : "<string>"
14653 },
14654 "skiplock" : {
14655 "description" : "Ignore locks - only root is allowed to use this option.",
14656 "optional" : 1,
14657 "type" : "boolean",
14658 "typetext" : "<boolean>"
14659 },
14660 "stateuri" : {
14661 "description" : "Some command save/restore state from this location.",
14662 "maxLength" : 128,
14663 "optional" : 1,
14664 "type" : "string",
14665 "typetext" : "<string>"
14666 },
14667 "targetstorage" : {
14668 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
14669 "optional" : 1,
14670 "type" : "string",
14671 "typetext" : "<string>"
14672 },
14673 "vmid" : {
14674 "description" : "The (unique) ID of the VM.",
14675 "format" : "pve-vmid",
14676 "minimum" : 1,
14677 "type" : "integer",
14678 "typetext" : "<integer> (1 - N)"
14679 }
14680 }
14681 },
14682 "permissions" : {
14683 "check" : [
14684 "perm",
14685 "/vms/{vmid}",
14686 [
14687 "VM.PowerMgmt"
14688 ]
14689 ]
14690 },
14691 "protected" : 1,
14692 "proxyto" : "node",
14693 "returns" : {
14694 "type" : "string"
14695 }
14696 }
14697 },
14698 "leaf" : 1,
14699 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
14700 "text" : "start"
14701 },
14702 {
14703 "info" : {
14704 "POST" : {
14705 "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",
14706 "method" : "POST",
14707 "name" : "vm_stop",
14708 "parameters" : {
14709 "additionalProperties" : 0,
14710 "properties" : {
14711 "keepActive" : {
14712 "default" : 0,
14713 "description" : "Do not deactivate storage volumes.",
14714 "optional" : 1,
14715 "type" : "boolean",
14716 "typetext" : "<boolean>"
14717 },
14718 "migratedfrom" : {
14719 "description" : "The cluster node name.",
14720 "format" : "pve-node",
14721 "optional" : 1,
14722 "type" : "string",
14723 "typetext" : "<string>"
14724 },
14725 "node" : {
14726 "description" : "The cluster node name.",
14727 "format" : "pve-node",
14728 "type" : "string",
14729 "typetext" : "<string>"
14730 },
14731 "skiplock" : {
14732 "description" : "Ignore locks - only root is allowed to use this option.",
14733 "optional" : 1,
14734 "type" : "boolean",
14735 "typetext" : "<boolean>"
14736 },
14737 "timeout" : {
14738 "description" : "Wait maximal timeout seconds.",
14739 "minimum" : 0,
14740 "optional" : 1,
14741 "type" : "integer",
14742 "typetext" : "<integer> (0 - N)"
14743 },
14744 "vmid" : {
14745 "description" : "The (unique) ID of the VM.",
14746 "format" : "pve-vmid",
14747 "minimum" : 1,
14748 "type" : "integer",
14749 "typetext" : "<integer> (1 - N)"
14750 }
14751 }
14752 },
14753 "permissions" : {
14754 "check" : [
14755 "perm",
14756 "/vms/{vmid}",
14757 [
14758 "VM.PowerMgmt"
14759 ]
14760 ]
14761 },
14762 "protected" : 1,
14763 "proxyto" : "node",
14764 "returns" : {
14765 "type" : "string"
14766 }
14767 }
14768 },
14769 "leaf" : 1,
14770 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
14771 "text" : "stop"
14772 },
14773 {
14774 "info" : {
14775 "POST" : {
14776 "description" : "Reset virtual machine.",
14777 "method" : "POST",
14778 "name" : "vm_reset",
14779 "parameters" : {
14780 "additionalProperties" : 0,
14781 "properties" : {
14782 "node" : {
14783 "description" : "The cluster node name.",
14784 "format" : "pve-node",
14785 "type" : "string",
14786 "typetext" : "<string>"
14787 },
14788 "skiplock" : {
14789 "description" : "Ignore locks - only root is allowed to use this option.",
14790 "optional" : 1,
14791 "type" : "boolean",
14792 "typetext" : "<boolean>"
14793 },
14794 "vmid" : {
14795 "description" : "The (unique) ID of the VM.",
14796 "format" : "pve-vmid",
14797 "minimum" : 1,
14798 "type" : "integer",
14799 "typetext" : "<integer> (1 - N)"
14800 }
14801 }
14802 },
14803 "permissions" : {
14804 "check" : [
14805 "perm",
14806 "/vms/{vmid}",
14807 [
14808 "VM.PowerMgmt"
14809 ]
14810 ]
14811 },
14812 "protected" : 1,
14813 "proxyto" : "node",
14814 "returns" : {
14815 "type" : "string"
14816 }
14817 }
14818 },
14819 "leaf" : 1,
14820 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
14821 "text" : "reset"
14822 },
14823 {
14824 "info" : {
14825 "POST" : {
14826 "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.",
14827 "method" : "POST",
14828 "name" : "vm_shutdown",
14829 "parameters" : {
14830 "additionalProperties" : 0,
14831 "properties" : {
14832 "forceStop" : {
14833 "default" : 0,
14834 "description" : "Make sure the VM stops.",
14835 "optional" : 1,
14836 "type" : "boolean",
14837 "typetext" : "<boolean>"
14838 },
14839 "keepActive" : {
14840 "default" : 0,
14841 "description" : "Do not deactivate storage volumes.",
14842 "optional" : 1,
14843 "type" : "boolean",
14844 "typetext" : "<boolean>"
14845 },
14846 "node" : {
14847 "description" : "The cluster node name.",
14848 "format" : "pve-node",
14849 "type" : "string",
14850 "typetext" : "<string>"
14851 },
14852 "skiplock" : {
14853 "description" : "Ignore locks - only root is allowed to use this option.",
14854 "optional" : 1,
14855 "type" : "boolean",
14856 "typetext" : "<boolean>"
14857 },
14858 "timeout" : {
14859 "description" : "Wait maximal timeout seconds.",
14860 "minimum" : 0,
14861 "optional" : 1,
14862 "type" : "integer",
14863 "typetext" : "<integer> (0 - N)"
14864 },
14865 "vmid" : {
14866 "description" : "The (unique) ID of the VM.",
14867 "format" : "pve-vmid",
14868 "minimum" : 1,
14869 "type" : "integer",
14870 "typetext" : "<integer> (1 - N)"
14871 }
14872 }
14873 },
14874 "permissions" : {
14875 "check" : [
14876 "perm",
14877 "/vms/{vmid}",
14878 [
14879 "VM.PowerMgmt"
14880 ]
14881 ]
14882 },
14883 "protected" : 1,
14884 "proxyto" : "node",
14885 "returns" : {
14886 "type" : "string"
14887 }
14888 }
14889 },
14890 "leaf" : 1,
14891 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
14892 "text" : "shutdown"
14893 },
14894 {
14895 "info" : {
14896 "POST" : {
14897 "description" : "Suspend virtual machine.",
14898 "method" : "POST",
14899 "name" : "vm_suspend",
14900 "parameters" : {
14901 "additionalProperties" : 0,
14902 "properties" : {
14903 "node" : {
14904 "description" : "The cluster node name.",
14905 "format" : "pve-node",
14906 "type" : "string",
14907 "typetext" : "<string>"
14908 },
14909 "skiplock" : {
14910 "description" : "Ignore locks - only root is allowed to use this option.",
14911 "optional" : 1,
14912 "type" : "boolean",
14913 "typetext" : "<boolean>"
14914 },
14915 "vmid" : {
14916 "description" : "The (unique) ID of the VM.",
14917 "format" : "pve-vmid",
14918 "minimum" : 1,
14919 "type" : "integer",
14920 "typetext" : "<integer> (1 - N)"
14921 }
14922 }
14923 },
14924 "permissions" : {
14925 "check" : [
14926 "perm",
14927 "/vms/{vmid}",
14928 [
14929 "VM.PowerMgmt"
14930 ]
14931 ]
14932 },
14933 "protected" : 1,
14934 "proxyto" : "node",
14935 "returns" : {
14936 "type" : "string"
14937 }
14938 }
14939 },
14940 "leaf" : 1,
14941 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
14942 "text" : "suspend"
14943 },
14944 {
14945 "info" : {
14946 "POST" : {
14947 "description" : "Resume virtual machine.",
14948 "method" : "POST",
14949 "name" : "vm_resume",
14950 "parameters" : {
14951 "additionalProperties" : 0,
14952 "properties" : {
14953 "nocheck" : {
14954 "optional" : 1,
14955 "type" : "boolean",
14956 "typetext" : "<boolean>"
14957 },
14958 "node" : {
14959 "description" : "The cluster node name.",
14960 "format" : "pve-node",
14961 "type" : "string",
14962 "typetext" : "<string>"
14963 },
14964 "skiplock" : {
14965 "description" : "Ignore locks - only root is allowed to use this option.",
14966 "optional" : 1,
14967 "type" : "boolean",
14968 "typetext" : "<boolean>"
14969 },
14970 "vmid" : {
14971 "description" : "The (unique) ID of the VM.",
14972 "format" : "pve-vmid",
14973 "minimum" : 1,
14974 "type" : "integer",
14975 "typetext" : "<integer> (1 - N)"
14976 }
14977 }
14978 },
14979 "permissions" : {
14980 "check" : [
14981 "perm",
14982 "/vms/{vmid}",
14983 [
14984 "VM.PowerMgmt"
14985 ]
14986 ]
14987 },
14988 "protected" : 1,
14989 "proxyto" : "node",
14990 "returns" : {
14991 "type" : "string"
14992 }
14993 }
14994 },
14995 "leaf" : 1,
14996 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
14997 "text" : "resume"
14998 }
14999 ],
15000 "info" : {
15001 "GET" : {
15002 "description" : "Directory index",
15003 "method" : "GET",
15004 "name" : "vmcmdidx",
15005 "parameters" : {
15006 "additionalProperties" : 0,
15007 "properties" : {
15008 "node" : {
15009 "description" : "The cluster node name.",
15010 "format" : "pve-node",
15011 "type" : "string",
15012 "typetext" : "<string>"
15013 },
15014 "vmid" : {
15015 "description" : "The (unique) ID of the VM.",
15016 "format" : "pve-vmid",
15017 "minimum" : 1,
15018 "type" : "integer",
15019 "typetext" : "<integer> (1 - N)"
15020 }
15021 }
15022 },
15023 "permissions" : {
15024 "user" : "all"
15025 },
15026 "proxyto" : "node",
15027 "returns" : {
15028 "items" : {
15029 "properties" : {
15030 "subdir" : {
15031 "type" : "string"
15032 }
15033 },
15034 "type" : "object"
15035 },
15036 "links" : [
15037 {
15038 "href" : "{subdir}",
15039 "rel" : "child"
15040 }
15041 ],
15042 "type" : "array"
15043 }
15044 }
15045 },
15046 "leaf" : 0,
15047 "path" : "/nodes/{node}/qemu/{vmid}/status",
15048 "text" : "status"
15049 },
15050 {
15051 "info" : {
15052 "PUT" : {
15053 "description" : "Send key event to virtual machine.",
15054 "method" : "PUT",
15055 "name" : "vm_sendkey",
15056 "parameters" : {
15057 "additionalProperties" : 0,
15058 "properties" : {
15059 "key" : {
15060 "description" : "The key (qemu monitor encoding).",
15061 "type" : "string",
15062 "typetext" : "<string>"
15063 },
15064 "node" : {
15065 "description" : "The cluster node name.",
15066 "format" : "pve-node",
15067 "type" : "string",
15068 "typetext" : "<string>"
15069 },
15070 "skiplock" : {
15071 "description" : "Ignore locks - only root is allowed to use this option.",
15072 "optional" : 1,
15073 "type" : "boolean",
15074 "typetext" : "<boolean>"
15075 },
15076 "vmid" : {
15077 "description" : "The (unique) ID of the VM.",
15078 "format" : "pve-vmid",
15079 "minimum" : 1,
15080 "type" : "integer",
15081 "typetext" : "<integer> (1 - N)"
15082 }
15083 }
15084 },
15085 "permissions" : {
15086 "check" : [
15087 "perm",
15088 "/vms/{vmid}",
15089 [
15090 "VM.Console"
15091 ]
15092 ]
15093 },
15094 "protected" : 1,
15095 "proxyto" : "node",
15096 "returns" : {
15097 "type" : "null"
15098 }
15099 }
15100 },
15101 "leaf" : 1,
15102 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
15103 "text" : "sendkey"
15104 },
15105 {
15106 "info" : {
15107 "GET" : {
15108 "description" : "Check if feature for virtual machine is available.",
15109 "method" : "GET",
15110 "name" : "vm_feature",
15111 "parameters" : {
15112 "additionalProperties" : 0,
15113 "properties" : {
15114 "feature" : {
15115 "description" : "Feature to check.",
15116 "enum" : [
15117 "snapshot",
15118 "clone",
15119 "copy"
15120 ],
15121 "type" : "string"
15122 },
15123 "node" : {
15124 "description" : "The cluster node name.",
15125 "format" : "pve-node",
15126 "type" : "string",
15127 "typetext" : "<string>"
15128 },
15129 "snapname" : {
15130 "description" : "The name of the snapshot.",
15131 "format" : "pve-configid",
15132 "maxLength" : 40,
15133 "optional" : 1,
15134 "type" : "string",
15135 "typetext" : "<string>"
15136 },
15137 "vmid" : {
15138 "description" : "The (unique) ID of the VM.",
15139 "format" : "pve-vmid",
15140 "minimum" : 1,
15141 "type" : "integer",
15142 "typetext" : "<integer> (1 - N)"
15143 }
15144 }
15145 },
15146 "permissions" : {
15147 "check" : [
15148 "perm",
15149 "/vms/{vmid}",
15150 [
15151 "VM.Audit"
15152 ]
15153 ]
15154 },
15155 "protected" : 1,
15156 "proxyto" : "node",
15157 "returns" : {
15158 "properties" : {
15159 "hasFeature" : {
15160 "type" : "boolean"
15161 },
15162 "nodes" : {
15163 "items" : {
15164 "type" : "string"
15165 },
15166 "type" : "array"
15167 }
15168 },
15169 "type" : "object"
15170 }
15171 }
15172 },
15173 "leaf" : 1,
15174 "path" : "/nodes/{node}/qemu/{vmid}/feature",
15175 "text" : "feature"
15176 },
15177 {
15178 "info" : {
15179 "POST" : {
15180 "description" : "Create a copy of virtual machine/template.",
15181 "method" : "POST",
15182 "name" : "clone_vm",
15183 "parameters" : {
15184 "additionalProperties" : 0,
15185 "properties" : {
15186 "description" : {
15187 "description" : "Description for the new VM.",
15188 "optional" : 1,
15189 "type" : "string",
15190 "typetext" : "<string>"
15191 },
15192 "format" : {
15193 "description" : "Target format for file storage. Only valid for full clone.",
15194 "enum" : [
15195 "raw",
15196 "qcow2",
15197 "vmdk"
15198 ],
15199 "optional" : 1,
15200 "type" : "string"
15201 },
15202 "full" : {
15203 "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.",
15204 "optional" : 1,
15205 "type" : "boolean",
15206 "typetext" : "<boolean>"
15207 },
15208 "name" : {
15209 "description" : "Set a name for the new VM.",
15210 "format" : "dns-name",
15211 "optional" : 1,
15212 "type" : "string",
15213 "typetext" : "<string>"
15214 },
15215 "newid" : {
15216 "description" : "VMID for the clone.",
15217 "format" : "pve-vmid",
15218 "minimum" : 1,
15219 "type" : "integer",
15220 "typetext" : "<integer> (1 - N)"
15221 },
15222 "node" : {
15223 "description" : "The cluster node name.",
15224 "format" : "pve-node",
15225 "type" : "string",
15226 "typetext" : "<string>"
15227 },
15228 "pool" : {
15229 "description" : "Add the new VM to the specified pool.",
15230 "format" : "pve-poolid",
15231 "optional" : 1,
15232 "type" : "string",
15233 "typetext" : "<string>"
15234 },
15235 "snapname" : {
15236 "description" : "The name of the snapshot.",
15237 "format" : "pve-configid",
15238 "maxLength" : 40,
15239 "optional" : 1,
15240 "type" : "string",
15241 "typetext" : "<string>"
15242 },
15243 "storage" : {
15244 "description" : "Target storage for full clone.",
15245 "format" : "pve-storage-id",
15246 "optional" : 1,
15247 "type" : "string",
15248 "typetext" : "<string>"
15249 },
15250 "target" : {
15251 "description" : "Target node. Only allowed if the original VM is on shared storage.",
15252 "format" : "pve-node",
15253 "optional" : 1,
15254 "type" : "string",
15255 "typetext" : "<string>"
15256 },
15257 "vmid" : {
15258 "description" : "The (unique) ID of the VM.",
15259 "format" : "pve-vmid",
15260 "minimum" : 1,
15261 "type" : "integer",
15262 "typetext" : "<integer> (1 - N)"
15263 }
15264 }
15265 },
15266 "permissions" : {
15267 "check" : [
15268 "and",
15269 [
15270 "perm",
15271 "/vms/{vmid}",
15272 [
15273 "VM.Clone"
15274 ]
15275 ],
15276 [
15277 "or",
15278 [
15279 "perm",
15280 "/vms/{newid}",
15281 [
15282 "VM.Allocate"
15283 ]
15284 ],
15285 [
15286 "perm",
15287 "/pool/{pool}",
15288 [
15289 "VM.Allocate"
15290 ],
15291 "require_param",
15292 "pool"
15293 ]
15294 ]
15295 ],
15296 "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."
15297 },
15298 "protected" : 1,
15299 "proxyto" : "node",
15300 "returns" : {
15301 "type" : "string"
15302 }
15303 }
15304 },
15305 "leaf" : 1,
15306 "path" : "/nodes/{node}/qemu/{vmid}/clone",
15307 "text" : "clone"
15308 },
15309 {
15310 "info" : {
15311 "POST" : {
15312 "description" : "Move volume to different storage.",
15313 "method" : "POST",
15314 "name" : "move_vm_disk",
15315 "parameters" : {
15316 "additionalProperties" : 0,
15317 "properties" : {
15318 "delete" : {
15319 "default" : 0,
15320 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
15321 "optional" : 1,
15322 "type" : "boolean",
15323 "typetext" : "<boolean>"
15324 },
15325 "digest" : {
15326 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15327 "maxLength" : 40,
15328 "optional" : 1,
15329 "type" : "string",
15330 "typetext" : "<string>"
15331 },
15332 "disk" : {
15333 "description" : "The disk you want to move.",
15334 "enum" : [
15335 "ide0",
15336 "ide1",
15337 "ide2",
15338 "ide3",
15339 "scsi0",
15340 "scsi1",
15341 "scsi2",
15342 "scsi3",
15343 "scsi4",
15344 "scsi5",
15345 "scsi6",
15346 "scsi7",
15347 "scsi8",
15348 "scsi9",
15349 "scsi10",
15350 "scsi11",
15351 "scsi12",
15352 "scsi13",
15353 "virtio0",
15354 "virtio1",
15355 "virtio2",
15356 "virtio3",
15357 "virtio4",
15358 "virtio5",
15359 "virtio6",
15360 "virtio7",
15361 "virtio8",
15362 "virtio9",
15363 "virtio10",
15364 "virtio11",
15365 "virtio12",
15366 "virtio13",
15367 "virtio14",
15368 "virtio15",
15369 "sata0",
15370 "sata1",
15371 "sata2",
15372 "sata3",
15373 "sata4",
15374 "sata5",
15375 "efidisk0"
15376 ],
15377 "type" : "string"
15378 },
15379 "format" : {
15380 "description" : "Target Format.",
15381 "enum" : [
15382 "raw",
15383 "qcow2",
15384 "vmdk"
15385 ],
15386 "optional" : 1,
15387 "type" : "string"
15388 },
15389 "node" : {
15390 "description" : "The cluster node name.",
15391 "format" : "pve-node",
15392 "type" : "string",
15393 "typetext" : "<string>"
15394 },
15395 "storage" : {
15396 "description" : "Target storage.",
15397 "format" : "pve-storage-id",
15398 "type" : "string",
15399 "typetext" : "<string>"
15400 },
15401 "vmid" : {
15402 "description" : "The (unique) ID of the VM.",
15403 "format" : "pve-vmid",
15404 "minimum" : 1,
15405 "type" : "integer",
15406 "typetext" : "<integer> (1 - N)"
15407 }
15408 }
15409 },
15410 "permissions" : {
15411 "check" : [
15412 "and",
15413 [
15414 "perm",
15415 "/vms/{vmid}",
15416 [
15417 "VM.Config.Disk"
15418 ]
15419 ],
15420 [
15421 "perm",
15422 "/storage/{storage}",
15423 [
15424 "Datastore.AllocateSpace"
15425 ]
15426 ]
15427 ],
15428 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
15429 },
15430 "protected" : 1,
15431 "proxyto" : "node",
15432 "returns" : {
15433 "description" : "the task ID.",
15434 "type" : "string"
15435 }
15436 }
15437 },
15438 "leaf" : 1,
15439 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
15440 "text" : "move_disk"
15441 },
15442 {
15443 "info" : {
15444 "POST" : {
15445 "description" : "Migrate virtual machine. Creates a new migration task.",
15446 "method" : "POST",
15447 "name" : "migrate_vm",
15448 "parameters" : {
15449 "additionalProperties" : 0,
15450 "properties" : {
15451 "force" : {
15452 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
15453 "optional" : 1,
15454 "type" : "boolean",
15455 "typetext" : "<boolean>"
15456 },
15457 "migration_network" : {
15458 "description" : "CIDR of the (sub) network that is used for migration.",
15459 "format" : "CIDR",
15460 "optional" : 1,
15461 "type" : "string",
15462 "typetext" : "<string>"
15463 },
15464 "migration_type" : {
15465 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
15466 "enum" : [
15467 "secure",
15468 "insecure"
15469 ],
15470 "optional" : 1,
15471 "type" : "string"
15472 },
15473 "node" : {
15474 "description" : "The cluster node name.",
15475 "format" : "pve-node",
15476 "type" : "string",
15477 "typetext" : "<string>"
15478 },
15479 "online" : {
15480 "description" : "Use online/live migration.",
15481 "optional" : 1,
15482 "type" : "boolean",
15483 "typetext" : "<boolean>"
15484 },
15485 "target" : {
15486 "description" : "Target node.",
15487 "format" : "pve-node",
15488 "type" : "string",
15489 "typetext" : "<string>"
15490 },
15491 "targetstorage" : {
15492 "description" : "Default target storage.",
15493 "format" : "pve-storage-id",
15494 "optional" : 1,
52e44c50
FG
15495 "type" : "string",
15496 "typetext" : "<string>"
15497 },
7aacca6f 15498 "vmid" : {
7aacca6f 15499 "description" : "The (unique) ID of the VM.",
44660702 15500 "format" : "pve-vmid",
7aacca6f 15501 "minimum" : 1,
4bd7df8b 15502 "type" : "integer",
013dc89f 15503 "typetext" : "<integer> (1 - N)"
52e44c50
FG
15504 },
15505 "with-local-disks" : {
15506 "description" : "Enable live storage migration for local disk",
15507 "optional" : 1,
15508 "type" : "boolean",
15509 "typetext" : "<boolean>"
56122987 15510 }
44660702
DM
15511 }
15512 },
15513 "permissions" : {
15514 "check" : [
15515 "perm",
15516 "/vms/{vmid}",
15517 [
15518 "VM.Migrate"
15519 ]
15520 ]
56122987
DM
15521 },
15522 "protected" : 1,
44660702
DM
15523 "proxyto" : "node",
15524 "returns" : {
15525 "description" : "the task ID.",
15526 "type" : "string"
15527 }
56122987 15528 }
7aacca6f 15529 },
44660702
DM
15530 "leaf" : 1,
15531 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 15532 "text" : "migrate"
56122987
DM
15533 },
15534 {
15535 "info" : {
15536 "POST" : {
44660702 15537 "description" : "Execute Qemu monitor commands.",
56122987 15538 "method" : "POST",
44660702 15539 "name" : "monitor",
56122987 15540 "parameters" : {
7aacca6f 15541 "additionalProperties" : 0,
56122987 15542 "properties" : {
44660702
DM
15543 "command" : {
15544 "description" : "The monitor command.",
013dc89f
DM
15545 "type" : "string",
15546 "typetext" : "<string>"
44660702 15547 },
56122987 15548 "node" : {
44660702 15549 "description" : "The cluster node name.",
7aacca6f 15550 "format" : "pve-node",
013dc89f
DM
15551 "type" : "string",
15552 "typetext" : "<string>"
56122987
DM
15553 },
15554 "vmid" : {
44660702 15555 "description" : "The (unique) ID of the VM.",
56122987 15556 "format" : "pve-vmid",
7aacca6f 15557 "minimum" : 1,
4bd7df8b 15558 "type" : "integer",
013dc89f 15559 "typetext" : "<integer> (1 - N)"
56122987 15560 }
7aacca6f 15561 }
56122987 15562 },
56122987
DM
15563 "permissions" : {
15564 "check" : [
15565 "perm",
15566 "/vms/{vmid}",
15567 [
15568 "VM.Monitor"
15569 ]
32d876b5
DM
15570 ],
15571 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 15572 },
44660702
DM
15573 "protected" : 1,
15574 "proxyto" : "node",
15575 "returns" : {
15576 "type" : "string"
15577 }
56122987 15578 }
44660702
DM
15579 },
15580 "leaf" : 1,
15581 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
15582 "text" : "monitor"
56122987
DM
15583 },
15584 {
56122987
DM
15585 "info" : {
15586 "PUT" : {
44660702
DM
15587 "description" : "Extend volume size.",
15588 "method" : "PUT",
15589 "name" : "resize_vm",
56122987 15590 "parameters" : {
44660702 15591 "additionalProperties" : 0,
56122987 15592 "properties" : {
44660702
DM
15593 "digest" : {
15594 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15595 "maxLength" : 40,
15596 "optional" : 1,
013dc89f
DM
15597 "type" : "string",
15598 "typetext" : "<string>"
56122987 15599 },
56122987
DM
15600 "disk" : {
15601 "description" : "The disk you want to resize.",
15602 "enum" : [
15603 "ide0",
15604 "ide1",
15605 "ide2",
15606 "ide3",
15607 "scsi0",
15608 "scsi1",
15609 "scsi2",
15610 "scsi3",
15611 "scsi4",
15612 "scsi5",
15613 "scsi6",
15614 "scsi7",
15615 "scsi8",
15616 "scsi9",
15617 "scsi10",
15618 "scsi11",
15619 "scsi12",
15620 "scsi13",
15621 "virtio0",
15622 "virtio1",
15623 "virtio2",
15624 "virtio3",
15625 "virtio4",
15626 "virtio5",
15627 "virtio6",
15628 "virtio7",
15629 "virtio8",
15630 "virtio9",
15631 "virtio10",
15632 "virtio11",
15633 "virtio12",
15634 "virtio13",
15635 "virtio14",
15636 "virtio15",
15637 "sata0",
15638 "sata1",
15639 "sata2",
15640 "sata3",
15641 "sata4",
2c0dde61
DM
15642 "sata5",
15643 "efidisk0"
44660702
DM
15644 ],
15645 "type" : "string"
56122987 15646 },
44660702
DM
15647 "node" : {
15648 "description" : "The cluster node name.",
15649 "format" : "pve-node",
013dc89f
DM
15650 "type" : "string",
15651 "typetext" : "<string>"
7aacca6f 15652 },
44660702 15653 "size" : {
5d9c884c 15654 "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
15655 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
15656 "type" : "string"
56122987
DM
15657 },
15658 "skiplock" : {
15659 "description" : "Ignore locks - only root is allowed to use this option.",
15660 "optional" : 1,
013dc89f
DM
15661 "type" : "boolean",
15662 "typetext" : "<boolean>"
56122987
DM
15663 },
15664 "vmid" : {
7aacca6f 15665 "description" : "The (unique) ID of the VM.",
56122987 15666 "format" : "pve-vmid",
44660702 15667 "minimum" : 1,
4bd7df8b 15668 "type" : "integer",
013dc89f 15669 "typetext" : "<integer> (1 - N)"
56122987
DM
15670 }
15671 }
15672 },
15673 "permissions" : {
15674 "check" : [
15675 "perm",
15676 "/vms/{vmid}",
15677 [
44660702 15678 "VM.Config.Disk"
56122987
DM
15679 ]
15680 ]
15681 },
7aacca6f 15682 "protected" : 1,
7aacca6f 15683 "proxyto" : "node",
44660702
DM
15684 "returns" : {
15685 "type" : "null"
15686 }
7aacca6f
DM
15687 }
15688 },
44660702
DM
15689 "leaf" : 1,
15690 "path" : "/nodes/{node}/qemu/{vmid}/resize",
15691 "text" : "resize"
15692 },
15693 {
56122987
DM
15694 "children" : [
15695 {
15696 "children" : [
15697 {
56122987 15698 "info" : {
44660702
DM
15699 "GET" : {
15700 "description" : "Get snapshot configuration",
15701 "method" : "GET",
15702 "name" : "get_snapshot_config",
56122987 15703 "parameters" : {
44660702 15704 "additionalProperties" : 0,
56122987 15705 "properties" : {
56122987 15706 "node" : {
44660702 15707 "description" : "The cluster node name.",
56122987 15708 "format" : "pve-node",
013dc89f
DM
15709 "type" : "string",
15710 "typetext" : "<string>"
7aacca6f
DM
15711 },
15712 "snapname" : {
44660702 15713 "description" : "The name of the snapshot.",
7aacca6f 15714 "format" : "pve-configid",
44660702 15715 "maxLength" : 40,
013dc89f
DM
15716 "type" : "string",
15717 "typetext" : "<string>"
7aacca6f
DM
15718 },
15719 "vmid" : {
44660702 15720 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15721 "format" : "pve-vmid",
15722 "minimum" : 1,
4bd7df8b 15723 "type" : "integer",
013dc89f 15724 "typetext" : "<integer> (1 - N)"
56122987 15725 }
44660702 15726 }
56122987
DM
15727 },
15728 "permissions" : {
15729 "check" : [
15730 "perm",
15731 "/vms/{vmid}",
15732 [
2489d6df
WB
15733 "VM.Snapshot",
15734 "VM.Snapshot.Rollback"
15735 ],
15736 "any",
15737 1
56122987
DM
15738 ]
15739 },
44660702 15740 "proxyto" : "node",
56122987 15741 "returns" : {
44660702 15742 "type" : "object"
7aacca6f
DM
15743 }
15744 },
44660702
DM
15745 "PUT" : {
15746 "description" : "Update snapshot metadata.",
15747 "method" : "PUT",
15748 "name" : "update_snapshot_config",
56122987 15749 "parameters" : {
44660702 15750 "additionalProperties" : 0,
56122987 15751 "properties" : {
44660702
DM
15752 "description" : {
15753 "description" : "A textual description or comment.",
15754 "optional" : 1,
013dc89f
DM
15755 "type" : "string",
15756 "typetext" : "<string>"
44660702 15757 },
56122987 15758 "node" : {
7aacca6f 15759 "description" : "The cluster node name.",
44660702 15760 "format" : "pve-node",
013dc89f
DM
15761 "type" : "string",
15762 "typetext" : "<string>"
56122987 15763 },
56122987
DM
15764 "snapname" : {
15765 "description" : "The name of the snapshot.",
44660702 15766 "format" : "pve-configid",
7aacca6f 15767 "maxLength" : 40,
013dc89f
DM
15768 "type" : "string",
15769 "typetext" : "<string>"
7aacca6f
DM
15770 },
15771 "vmid" : {
15772 "description" : "The (unique) ID of the VM.",
44660702 15773 "format" : "pve-vmid",
7aacca6f 15774 "minimum" : 1,
4bd7df8b 15775 "type" : "integer",
013dc89f 15776 "typetext" : "<integer> (1 - N)"
56122987 15777 }
44660702 15778 }
56122987 15779 },
7aacca6f
DM
15780 "permissions" : {
15781 "check" : [
15782 "perm",
15783 "/vms/{vmid}",
15784 [
15785 "VM.Snapshot"
15786 ]
15787 ]
44660702
DM
15788 },
15789 "protected" : 1,
15790 "proxyto" : "node",
15791 "returns" : {
15792 "type" : "null"
7aacca6f 15793 }
56122987
DM
15794 }
15795 },
44660702 15796 "leaf" : 1,
7aacca6f 15797 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 15798 "text" : "config"
56122987
DM
15799 },
15800 {
56122987
DM
15801 "info" : {
15802 "POST" : {
44660702 15803 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 15804 "method" : "POST",
44660702 15805 "name" : "rollback",
56122987
DM
15806 "parameters" : {
15807 "additionalProperties" : 0,
15808 "properties" : {
44660702
DM
15809 "node" : {
15810 "description" : "The cluster node name.",
15811 "format" : "pve-node",
013dc89f
DM
15812 "type" : "string",
15813 "typetext" : "<string>"
44660702 15814 },
56122987 15815 "snapname" : {
44660702 15816 "description" : "The name of the snapshot.",
56122987
DM
15817 "format" : "pve-configid",
15818 "maxLength" : 40,
013dc89f
DM
15819 "type" : "string",
15820 "typetext" : "<string>"
7aacca6f 15821 },
56122987 15822 "vmid" : {
7aacca6f 15823 "description" : "The (unique) ID of the VM.",
44660702 15824 "format" : "pve-vmid",
56122987 15825 "minimum" : 1,
4bd7df8b 15826 "type" : "integer",
013dc89f 15827 "typetext" : "<integer> (1 - N)"
56122987
DM
15828 }
15829 }
15830 },
7aacca6f 15831 "permissions" : {
56122987
DM
15832 "check" : [
15833 "perm",
15834 "/vms/{vmid}",
15835 [
2489d6df
WB
15836 "VM.Snapshot",
15837 "VM.Snapshot.Rollback"
15838 ],
15839 "any",
15840 1
56122987
DM
15841 ]
15842 },
44660702 15843 "protected" : 1,
7aacca6f 15844 "proxyto" : "node",
44660702
DM
15845 "returns" : {
15846 "description" : "the task ID.",
15847 "type" : "string"
15848 }
56122987
DM
15849 }
15850 },
44660702
DM
15851 "leaf" : 1,
15852 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 15853 "text" : "rollback"
56122987 15854 }
44660702
DM
15855 ],
15856 "info" : {
15857 "DELETE" : {
15858 "description" : "Delete a VM snapshot.",
15859 "method" : "DELETE",
15860 "name" : "delsnapshot",
15861 "parameters" : {
15862 "additionalProperties" : 0,
15863 "properties" : {
15864 "force" : {
15865 "description" : "For removal from config file, even if removing disk snapshots fails.",
15866 "optional" : 1,
013dc89f
DM
15867 "type" : "boolean",
15868 "typetext" : "<boolean>"
44660702
DM
15869 },
15870 "node" : {
15871 "description" : "The cluster node name.",
15872 "format" : "pve-node",
013dc89f
DM
15873 "type" : "string",
15874 "typetext" : "<string>"
44660702
DM
15875 },
15876 "snapname" : {
15877 "description" : "The name of the snapshot.",
15878 "format" : "pve-configid",
15879 "maxLength" : 40,
013dc89f
DM
15880 "type" : "string",
15881 "typetext" : "<string>"
44660702
DM
15882 },
15883 "vmid" : {
15884 "description" : "The (unique) ID of the VM.",
15885 "format" : "pve-vmid",
15886 "minimum" : 1,
4bd7df8b 15887 "type" : "integer",
013dc89f 15888 "typetext" : "<integer> (1 - N)"
44660702
DM
15889 }
15890 }
15891 },
15892 "permissions" : {
15893 "check" : [
15894 "perm",
15895 "/vms/{vmid}",
15896 [
15897 "VM.Snapshot"
15898 ]
15899 ]
15900 },
15901 "protected" : 1,
15902 "proxyto" : "node",
15903 "returns" : {
15904 "description" : "the task ID.",
15905 "type" : "string"
15906 }
15907 },
15908 "GET" : {
15909 "description" : "",
15910 "method" : "GET",
15911 "name" : "snapshot_cmd_idx",
15912 "parameters" : {
15913 "additionalProperties" : 0,
15914 "properties" : {
15915 "node" : {
15916 "description" : "The cluster node name.",
15917 "format" : "pve-node",
013dc89f
DM
15918 "type" : "string",
15919 "typetext" : "<string>"
44660702
DM
15920 },
15921 "snapname" : {
15922 "description" : "The name of the snapshot.",
15923 "format" : "pve-configid",
15924 "maxLength" : 40,
013dc89f
DM
15925 "type" : "string",
15926 "typetext" : "<string>"
44660702
DM
15927 },
15928 "vmid" : {
15929 "description" : "The (unique) ID of the VM.",
15930 "format" : "pve-vmid",
15931 "minimum" : 1,
4bd7df8b 15932 "type" : "integer",
013dc89f 15933 "typetext" : "<integer> (1 - N)"
44660702
DM
15934 }
15935 }
15936 },
15937 "permissions" : {
15938 "user" : "all"
15939 },
15940 "returns" : {
15941 "items" : {
15942 "properties" : {},
15943 "type" : "object"
15944 },
15945 "links" : [
15946 {
15947 "href" : "{cmd}",
15948 "rel" : "child"
15949 }
15950 ],
15951 "type" : "array"
15952 }
15953 }
15954 },
15955 "leaf" : 0,
15956 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
15957 "text" : "{snapname}"
56122987
DM
15958 }
15959 ],
44660702
DM
15960 "info" : {
15961 "GET" : {
15962 "description" : "List all snapshots.",
15963 "method" : "GET",
15964 "name" : "snapshot_list",
15965 "parameters" : {
15966 "additionalProperties" : 0,
15967 "properties" : {
15968 "node" : {
15969 "description" : "The cluster node name.",
15970 "format" : "pve-node",
013dc89f
DM
15971 "type" : "string",
15972 "typetext" : "<string>"
44660702
DM
15973 },
15974 "vmid" : {
15975 "description" : "The (unique) ID of the VM.",
15976 "format" : "pve-vmid",
15977 "minimum" : 1,
4bd7df8b 15978 "type" : "integer",
013dc89f 15979 "typetext" : "<integer> (1 - N)"
44660702
DM
15980 }
15981 }
15982 },
15983 "permissions" : {
15984 "check" : [
15985 "perm",
15986 "/vms/{vmid}",
15987 [
15988 "VM.Audit"
15989 ]
15990 ]
15991 },
15992 "protected" : 1,
15993 "proxyto" : "node",
15994 "returns" : {
15995 "items" : {
4d47f125
TL
15996 "properties" : {
15997 "description" : {
15998 "description" : "Snapshot description.",
15999 "type" : "string"
16000 },
16001 "name" : {
16002 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
16003 "type" : "string"
16004 },
16005 "parent" : {
16006 "description" : "Parent snapshot identifier.",
16007 "optional" : 1,
16008 "type" : "string"
16009 },
16010 "snaptime" : {
16011 "description" : "Snapshot creation time",
16012 "optional" : 1,
16013 "renderer" : "timestamp",
16014 "type" : "integer"
16015 },
16016 "vmstate" : {
16017 "description" : "Snapshot includes RAM.",
16018 "optional" : 1,
16019 "type" : "boolean"
16020 }
16021 },
44660702
DM
16022 "type" : "object"
16023 },
16024 "links" : [
16025 {
16026 "href" : "{name}",
16027 "rel" : "child"
16028 }
16029 ],
16030 "type" : "array"
16031 }
16032 },
16033 "POST" : {
16034 "description" : "Snapshot a VM.",
16035 "method" : "POST",
16036 "name" : "snapshot",
16037 "parameters" : {
16038 "additionalProperties" : 0,
16039 "properties" : {
16040 "description" : {
16041 "description" : "A textual description or comment.",
16042 "optional" : 1,
013dc89f
DM
16043 "type" : "string",
16044 "typetext" : "<string>"
44660702
DM
16045 },
16046 "node" : {
16047 "description" : "The cluster node name.",
16048 "format" : "pve-node",
013dc89f
DM
16049 "type" : "string",
16050 "typetext" : "<string>"
44660702
DM
16051 },
16052 "snapname" : {
16053 "description" : "The name of the snapshot.",
16054 "format" : "pve-configid",
16055 "maxLength" : 40,
013dc89f
DM
16056 "type" : "string",
16057 "typetext" : "<string>"
44660702
DM
16058 },
16059 "vmid" : {
16060 "description" : "The (unique) ID of the VM.",
16061 "format" : "pve-vmid",
16062 "minimum" : 1,
4bd7df8b 16063 "type" : "integer",
013dc89f 16064 "typetext" : "<integer> (1 - N)"
44660702
DM
16065 },
16066 "vmstate" : {
16067 "description" : "Save the vmstate",
16068 "optional" : 1,
013dc89f
DM
16069 "type" : "boolean",
16070 "typetext" : "<boolean>"
44660702
DM
16071 }
16072 }
16073 },
16074 "permissions" : {
16075 "check" : [
16076 "perm",
16077 "/vms/{vmid}",
16078 [
16079 "VM.Snapshot"
16080 ]
16081 ]
16082 },
16083 "protected" : 1,
16084 "proxyto" : "node",
16085 "returns" : {
16086 "description" : "the task ID.",
16087 "type" : "string"
16088 }
16089 }
16090 },
16091 "leaf" : 0,
16092 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 16093 "text" : "snapshot"
56122987
DM
16094 },
16095 {
56122987
DM
16096 "info" : {
16097 "POST" : {
44660702
DM
16098 "description" : "Create a Template.",
16099 "method" : "POST",
56122987 16100 "name" : "template",
56122987 16101 "parameters" : {
7aacca6f 16102 "additionalProperties" : 0,
56122987 16103 "properties" : {
56122987 16104 "disk" : {
56122987
DM
16105 "description" : "If you want to convert only 1 disk to base image.",
16106 "enum" : [
16107 "ide0",
16108 "ide1",
16109 "ide2",
16110 "ide3",
16111 "scsi0",
16112 "scsi1",
16113 "scsi2",
16114 "scsi3",
16115 "scsi4",
16116 "scsi5",
16117 "scsi6",
16118 "scsi7",
16119 "scsi8",
16120 "scsi9",
16121 "scsi10",
16122 "scsi11",
16123 "scsi12",
16124 "scsi13",
16125 "virtio0",
16126 "virtio1",
16127 "virtio2",
16128 "virtio3",
16129 "virtio4",
16130 "virtio5",
16131 "virtio6",
16132 "virtio7",
16133 "virtio8",
16134 "virtio9",
16135 "virtio10",
16136 "virtio11",
16137 "virtio12",
16138 "virtio13",
16139 "virtio14",
16140 "virtio15",
16141 "sata0",
16142 "sata1",
16143 "sata2",
16144 "sata3",
16145 "sata4",
2c0dde61
DM
16146 "sata5",
16147 "efidisk0"
56122987 16148 ],
7aacca6f 16149 "optional" : 1,
56122987
DM
16150 "type" : "string"
16151 },
44660702
DM
16152 "node" : {
16153 "description" : "The cluster node name.",
16154 "format" : "pve-node",
013dc89f
DM
16155 "type" : "string",
16156 "typetext" : "<string>"
44660702
DM
16157 },
16158 "vmid" : {
16159 "description" : "The (unique) ID of the VM.",
7aacca6f 16160 "format" : "pve-vmid",
44660702 16161 "minimum" : 1,
4bd7df8b 16162 "type" : "integer",
013dc89f 16163 "typetext" : "<integer> (1 - N)"
56122987 16164 }
7aacca6f 16165 }
56122987 16166 },
7aacca6f
DM
16167 "permissions" : {
16168 "check" : [
16169 "perm",
16170 "/vms/{vmid}",
16171 [
16172 "VM.Allocate"
16173 ]
16174 ],
16175 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
16176 },
44660702 16177 "protected" : 1,
7aacca6f 16178 "proxyto" : "node",
7aacca6f
DM
16179 "returns" : {
16180 "type" : "null"
16181 }
56122987
DM
16182 }
16183 },
44660702 16184 "leaf" : 1,
7aacca6f 16185 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 16186 "text" : "template"
56122987
DM
16187 }
16188 ],
7aacca6f 16189 "info" : {
44660702
DM
16190 "DELETE" : {
16191 "description" : "Destroy the vm (also delete all used/owned volumes).",
16192 "method" : "DELETE",
16193 "name" : "destroy_vm",
7aacca6f 16194 "parameters" : {
44660702 16195 "additionalProperties" : 0,
7aacca6f
DM
16196 "properties" : {
16197 "node" : {
44660702 16198 "description" : "The cluster node name.",
7aacca6f 16199 "format" : "pve-node",
013dc89f
DM
16200 "type" : "string",
16201 "typetext" : "<string>"
44660702
DM
16202 },
16203 "skiplock" : {
16204 "description" : "Ignore locks - only root is allowed to use this option.",
16205 "optional" : 1,
013dc89f
DM
16206 "type" : "boolean",
16207 "typetext" : "<boolean>"
7aacca6f
DM
16208 },
16209 "vmid" : {
44660702 16210 "description" : "The (unique) ID of the VM.",
7aacca6f 16211 "format" : "pve-vmid",
44660702 16212 "minimum" : 1,
4bd7df8b 16213 "type" : "integer",
013dc89f 16214 "typetext" : "<integer> (1 - N)"
7aacca6f 16215 }
44660702 16216 }
7aacca6f 16217 },
7aacca6f
DM
16218 "permissions" : {
16219 "check" : [
16220 "perm",
16221 "/vms/{vmid}",
16222 [
16223 "VM.Allocate"
16224 ]
16225 ]
16226 },
44660702
DM
16227 "protected" : 1,
16228 "proxyto" : "node",
7aacca6f
DM
16229 "returns" : {
16230 "type" : "string"
44660702
DM
16231 }
16232 },
16233 "GET" : {
16234 "description" : "Directory index",
16235 "method" : "GET",
16236 "name" : "vmdiridx",
7aacca6f 16237 "parameters" : {
44660702 16238 "additionalProperties" : 0,
7aacca6f 16239 "properties" : {
7aacca6f 16240 "node" : {
7aacca6f 16241 "description" : "The cluster node name.",
44660702 16242 "format" : "pve-node",
013dc89f
DM
16243 "type" : "string",
16244 "typetext" : "<string>"
44660702
DM
16245 },
16246 "vmid" : {
16247 "description" : "The (unique) ID of the VM.",
16248 "format" : "pve-vmid",
16249 "minimum" : 1,
4bd7df8b 16250 "type" : "integer",
013dc89f 16251 "typetext" : "<integer> (1 - N)"
7aacca6f 16252 }
44660702 16253 }
7aacca6f 16254 },
44660702
DM
16255 "permissions" : {
16256 "user" : "all"
16257 },
16258 "proxyto" : "node",
16259 "returns" : {
16260 "items" : {
16261 "properties" : {
16262 "subdir" : {
16263 "type" : "string"
16264 }
16265 },
16266 "type" : "object"
16267 },
16268 "links" : [
16269 {
16270 "href" : "{subdir}",
16271 "rel" : "child"
16272 }
16273 ],
16274 "type" : "array"
16275 }
7aacca6f 16276 }
44660702
DM
16277 },
16278 "leaf" : 0,
16279 "path" : "/nodes/{node}/qemu/{vmid}",
16280 "text" : "{vmid}"
56122987
DM
16281 }
16282 ],
16283 "info" : {
44660702
DM
16284 "GET" : {
16285 "description" : "Virtual machine index (per node).",
16286 "method" : "GET",
16287 "name" : "vmlist",
56122987 16288 "parameters" : {
44660702 16289 "additionalProperties" : 0,
56122987 16290 "properties" : {
44660702
DM
16291 "full" : {
16292 "description" : "Determine the full status of active VMs.",
56122987 16293 "optional" : 1,
013dc89f
DM
16294 "type" : "boolean",
16295 "typetext" : "<boolean>"
56122987 16296 },
44660702
DM
16297 "node" : {
16298 "description" : "The cluster node name.",
16299 "format" : "pve-node",
013dc89f
DM
16300 "type" : "string",
16301 "typetext" : "<string>"
44660702
DM
16302 }
16303 }
16304 },
16305 "permissions" : {
16306 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
16307 "user" : "all"
16308 },
16309 "protected" : 1,
16310 "proxyto" : "node",
16311 "returns" : {
16312 "items" : {
4d47f125
TL
16313 "properties" : {
16314 "cpus" : {
16315 "description" : "Maximum usable CPUs.",
16316 "optional" : 1,
16317 "type" : "number"
16318 },
16319 "maxdisk" : {
16320 "description" : "Root disk size in bytes.",
16321 "optional" : 1,
16322 "renderer" : "bytes",
16323 "type" : "integer"
16324 },
16325 "maxmem" : {
16326 "description" : "Maximum memory in bytes.",
16327 "optional" : 1,
16328 "renderer" : "bytes",
16329 "type" : "integer"
16330 },
16331 "name" : {
16332 "description" : "VM name.",
16333 "optional" : 1,
16334 "type" : "string"
16335 },
16336 "pid" : {
16337 "description" : "PID of running qemu process.",
16338 "optional" : 1,
16339 "type" : "integer"
16340 },
16341 "qmpstatus" : {
16342 "description" : "Qemu QMP agent status.",
16343 "optional" : 1,
16344 "type" : "string"
16345 },
16346 "status" : {
16347 "description" : "Qemu process status.",
16348 "enum" : [
16349 "stopped",
16350 "running"
16351 ],
16352 "type" : "string"
16353 },
16354 "uptime" : {
16355 "description" : "Uptime.",
16356 "optional" : 1,
16357 "renderer" : "duration",
16358 "type" : "integer"
16359 },
16360 "vmid" : {
16361 "description" : "The (unique) ID of the VM.",
16362 "format" : "pve-vmid",
16363 "minimum" : 1,
16364 "type" : "integer"
16365 }
16366 },
44660702
DM
16367 "type" : "object"
16368 },
16369 "links" : [
16370 {
16371 "href" : "{vmid}",
16372 "rel" : "child"
16373 }
16374 ],
16375 "type" : "array"
16376 }
16377 },
16378 "POST" : {
16379 "description" : "Create or restore a virtual machine.",
16380 "method" : "POST",
16381 "name" : "create_vm",
16382 "parameters" : {
16383 "additionalProperties" : 0,
16384 "properties" : {
7aacca6f 16385 "acpi" : {
7aacca6f 16386 "default" : 1,
44660702 16387 "description" : "Enable/disable ACPI.",
56122987 16388 "optional" : 1,
013dc89f
DM
16389 "type" : "boolean",
16390 "typetext" : "<boolean>"
56122987 16391 },
44660702 16392 "agent" : {
4d47f125
TL
16393 "description" : "Enable/disable Qemu GuestAgent and its properties.",
16394 "format" : {
16395 "enabled" : {
16396 "default" : 0,
16397 "default_key" : 1,
16398 "description" : "Enable/disable Qemu GuestAgent.",
16399 "type" : "boolean"
16400 },
16401 "fstrim_cloned_disks" : {
16402 "default" : 0,
16403 "description" : "Run fstrim after cloning/moving a disk.",
16404 "optional" : 1,
16405 "type" : "boolean"
16406 }
16407 },
7aacca6f 16408 "optional" : 1,
4d47f125
TL
16409 "type" : "string",
16410 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 16411 },
44660702
DM
16412 "archive" : {
16413 "description" : "The backup file.",
16414 "maxLength" : 255,
56122987 16415 "optional" : 1,
013dc89f
DM
16416 "type" : "string",
16417 "typetext" : "<string>"
56122987 16418 },
44660702 16419 "args" : {
c2993fe5 16420 "description" : "Arbitrary arguments passed to kvm.",
56122987 16421 "optional" : 1,
c2993fe5 16422 "type" : "string",
013dc89f 16423 "typetext" : "<string>",
c2993fe5 16424 "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 16425 },
44660702 16426 "autostart" : {
7aacca6f 16427 "default" : 0,
44660702
DM
16428 "description" : "Automatic restart after crash (currently ignored).",
16429 "optional" : 1,
013dc89f
DM
16430 "type" : "boolean",
16431 "typetext" : "<boolean>"
7aacca6f 16432 },
44660702
DM
16433 "balloon" : {
16434 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
16435 "minimum" : 0,
56122987 16436 "optional" : 1,
4bd7df8b 16437 "type" : "integer",
013dc89f 16438 "typetext" : "<integer> (0 - N)"
56122987 16439 },
44660702
DM
16440 "bios" : {
16441 "default" : "seabios",
16442 "description" : "Select BIOS implementation.",
16443 "enum" : [
16444 "seabios",
16445 "ovmf"
16446 ],
56122987 16447 "optional" : 1,
44660702 16448 "type" : "string"
56122987 16449 },
44660702
DM
16450 "boot" : {
16451 "default" : "cdn",
16452 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 16453 "optional" : 1,
44660702
DM
16454 "pattern" : "[acdn]{1,4}",
16455 "type" : "string"
56122987 16456 },
7aacca6f
DM
16457 "bootdisk" : {
16458 "description" : "Enable booting from specified disk.",
44660702
DM
16459 "format" : "pve-qm-bootdisk",
16460 "optional" : 1,
7aacca6f 16461 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
16462 "type" : "string"
16463 },
27a7acb2
DM
16464 "bwlimit" : {
16465 "description" : "Override i/o bandwidth limit (in KiB/s).",
16466 "minimum" : "0",
16467 "optional" : 1,
16468 "type" : "integer",
16469 "typetext" : "<integer> (0 - N)"
16470 },
44660702
DM
16471 "cdrom" : {
16472 "description" : "This is an alias for option -ide2",
de0983cb 16473 "format" : "pve-qm-ide",
56122987 16474 "optional" : 1,
44660702 16475 "type" : "string",
013dc89f 16476 "typetext" : "<volume>"
56122987 16477 },
27a7acb2
DM
16478 "cipassword" : {
16479 "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.",
16480 "optional" : 1,
16481 "type" : "string",
16482 "typetext" : "<string>"
16483 },
16484 "citype" : {
16485 "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.",
16486 "enum" : [
16487 "configdrive2",
16488 "nocloud"
16489 ],
16490 "optional" : 1,
16491 "type" : "string"
16492 },
16493 "ciuser" : {
16494 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
16495 "optional" : 1,
16496 "type" : "string",
16497 "typetext" : "<string>"
16498 },
44660702
DM
16499 "cores" : {
16500 "default" : 1,
16501 "description" : "The number of cores per socket.",
7aacca6f 16502 "minimum" : 1,
44660702 16503 "optional" : 1,
4bd7df8b 16504 "type" : "integer",
013dc89f 16505 "typetext" : "<integer> (1 - N)"
7aacca6f 16506 },
44660702
DM
16507 "cpu" : {
16508 "description" : "Emulated CPU type.",
16509 "format" : {
16510 "cputype" : {
16511 "default" : "kvm64",
16512 "default_key" : 1,
16513 "description" : "Emulated CPU type.",
16514 "enum" : [
16515 "486",
16516 "athlon",
f004f5b9 16517 "Broadwell",
35a75dd3 16518 "Broadwell-IBRS",
f004f5b9 16519 "Broadwell-noTSX",
35a75dd3 16520 "Broadwell-noTSX-IBRS",
f004f5b9 16521 "Conroe",
44660702 16522 "core2duo",
f004f5b9 16523 "coreduo",
27a7acb2
DM
16524 "EPYC",
16525 "EPYC-IBPB",
f004f5b9 16526 "Haswell",
35a75dd3 16527 "Haswell-IBRS",
f004f5b9 16528 "Haswell-noTSX",
35a75dd3 16529 "Haswell-noTSX-IBRS",
f004f5b9
DM
16530 "host",
16531 "IvyBridge",
35a75dd3 16532 "IvyBridge-IBRS",
44660702
DM
16533 "kvm32",
16534 "kvm64",
35a75dd3 16535 "max",
44660702 16536 "Nehalem",
35a75dd3 16537 "Nehalem-IBRS",
44660702
DM
16538 "Opteron_G1",
16539 "Opteron_G2",
16540 "Opteron_G3",
16541 "Opteron_G4",
16542 "Opteron_G5",
f004f5b9
DM
16543 "Penryn",
16544 "pentium",
16545 "pentium2",
16546 "pentium3",
16547 "phenom",
16548 "qemu32",
16549 "qemu64",
16550 "SandyBridge",
35a75dd3 16551 "SandyBridge-IBRS",
5d9c884c 16552 "Skylake-Client",
35a75dd3
DM
16553 "Skylake-Client-IBRS",
16554 "Skylake-Server",
16555 "Skylake-Server-IBRS",
16556 "Westmere",
16557 "Westmere-IBRS"
44660702 16558 ],
44660702
DM
16559 "type" : "string"
16560 },
35a75dd3 16561 "flags" : {
4d47f125 16562 "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
16563 "format_description" : "+FLAG[;-FLAG...]",
16564 "optional" : 1,
4d47f125 16565 "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
16566 "type" : "string"
16567 },
44660702
DM
16568 "hidden" : {
16569 "default" : 0,
16570 "description" : "Do not identify as a KVM virtual machine.",
16571 "optional" : 1,
16572 "type" : "boolean"
16573 }
16574 },
56122987 16575 "optional" : 1,
4bd7df8b 16576 "type" : "string",
35a75dd3 16577 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
56122987 16578 },
44660702 16579 "cpulimit" : {
7aacca6f 16580 "default" : 0,
c2993fe5 16581 "description" : "Limit of CPU usage.",
44660702
DM
16582 "maximum" : 128,
16583 "minimum" : 0,
7aacca6f 16584 "optional" : 1,
c2993fe5 16585 "type" : "number",
013dc89f 16586 "typetext" : "<number> (0 - 128)",
c2993fe5 16587 "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
16588 },
16589 "cpuunits" : {
de0983cb 16590 "default" : 1024,
c2993fe5 16591 "description" : "CPU weight for a VM.",
2489d6df
WB
16592 "maximum" : 262144,
16593 "minimum" : 2,
44660702 16594 "optional" : 1,
c2993fe5 16595 "type" : "integer",
2489d6df
WB
16596 "typetext" : "<integer> (2 - 262144)",
16597 "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
16598 },
16599 "description" : {
16600 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 16601 "optional" : 1,
013dc89f
DM
16602 "type" : "string",
16603 "typetext" : "<string>"
44660702 16604 },
4d47f125
TL
16605 "efidisk0" : {
16606 "description" : "Configure a Disk for storing EFI vars",
16607 "format" : {
16608 "file" : {
16609 "default_key" : 1,
16610 "description" : "The drive's backing volume.",
16611 "format" : "pve-volume-id-or-qm-path",
16612 "format_description" : "volume",
16613 "type" : "string"
16614 },
16615 "format" : {
16616 "description" : "The drive's backing file's data format.",
16617 "enum" : [
16618 "raw",
16619 "cow",
16620 "qcow",
16621 "qed",
16622 "qcow2",
16623 "vmdk",
16624 "cloop"
16625 ],
16626 "optional" : 1,
16627 "type" : "string"
16628 },
16629 "size" : {
16630 "description" : "Disk size. This is purely informational and has no effect.",
16631 "format" : "disk-size",
16632 "format_description" : "DiskSize",
16633 "optional" : 1,
16634 "type" : "string"
16635 },
16636 "volume" : {
16637 "alias" : "file"
16638 }
16639 },
16640 "optional" : 1,
16641 "type" : "string",
16642 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
16643 },
44660702
DM
16644 "force" : {
16645 "description" : "Allow to overwrite existing VM.",
16646 "optional" : 1,
16647 "requires" : "archive",
013dc89f
DM
16648 "type" : "boolean",
16649 "typetext" : "<boolean>"
44660702
DM
16650 },
16651 "freeze" : {
16652 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
16653 "optional" : 1,
013dc89f
DM
16654 "type" : "boolean",
16655 "typetext" : "<boolean>"
44660702
DM
16656 },
16657 "hostpci[n]" : {
c2993fe5 16658 "description" : "Map host PCI devices into guest.",
44660702
DM
16659 "format" : "pve-qm-hostpci",
16660 "optional" : 1,
57b78691 16661 "type" : "string",
52e44c50 16662 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 16663 "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
16664 },
16665 "hotplug" : {
16666 "default" : "network,disk,usb",
16667 "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'.",
16668 "format" : "pve-hotplug-features",
16669 "optional" : 1,
013dc89f
DM
16670 "type" : "string",
16671 "typetext" : "<string>"
7aacca6f 16672 },
4bd7df8b
DM
16673 "hugepages" : {
16674 "description" : "Enable/disable hugepages memory.",
16675 "enum" : [
16676 "any",
16677 "2",
16678 "1024"
16679 ],
16680 "optional" : 1,
16681 "type" : "string"
16682 },
7aacca6f 16683 "ide[n]" : {
44660702 16684 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 16685 "format" : {
44660702
DM
16686 "aio" : {
16687 "description" : "AIO type to use.",
16688 "enum" : [
16689 "native",
16690 "threads"
16691 ],
44660702
DM
16692 "optional" : 1,
16693 "type" : "string"
16694 },
16695 "backup" : {
16696 "description" : "Whether the drive should be included when making backups.",
44660702
DM
16697 "optional" : 1,
16698 "type" : "boolean"
16699 },
16700 "bps" : {
de0983cb 16701 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 16702 "format_description" : "bps",
56122987 16703 "optional" : 1,
44660702 16704 "type" : "integer"
56122987 16705 },
de0983cb
DM
16706 "bps_max_length" : {
16707 "description" : "Maximum length of I/O bursts in seconds.",
16708 "format_description" : "seconds",
16709 "minimum" : 1,
16710 "optional" : 1,
16711 "type" : "integer"
16712 },
44660702 16713 "bps_rd" : {
de0983cb 16714 "description" : "Maximum read speed in bytes per second.",
44660702 16715 "format_description" : "bps",
56122987 16716 "optional" : 1,
44660702 16717 "type" : "integer"
56122987 16718 },
de0983cb 16719 "bps_rd_length" : {
5d9c884c
DM
16720 "alias" : "bps_rd_max_length"
16721 },
16722 "bps_rd_max_length" : {
de0983cb
DM
16723 "description" : "Maximum length of read I/O bursts in seconds.",
16724 "format_description" : "seconds",
16725 "minimum" : 1,
16726 "optional" : 1,
16727 "type" : "integer"
16728 },
44660702 16729 "bps_wr" : {
de0983cb 16730 "description" : "Maximum write speed in bytes per second.",
44660702 16731 "format_description" : "bps",
56122987 16732 "optional" : 1,
44660702 16733 "type" : "integer"
56122987 16734 },
de0983cb 16735 "bps_wr_length" : {
5d9c884c
DM
16736 "alias" : "bps_wr_max_length"
16737 },
16738 "bps_wr_max_length" : {
de0983cb
DM
16739 "description" : "Maximum length of write I/O bursts in seconds.",
16740 "format_description" : "seconds",
16741 "minimum" : 1,
16742 "optional" : 1,
16743 "type" : "integer"
16744 },
44660702
DM
16745 "cache" : {
16746 "description" : "The drive's cache mode",
56122987 16747 "enum" : [
7aacca6f 16748 "none",
44660702
DM
16749 "writethrough",
16750 "writeback",
16751 "unsafe",
16752 "directsync"
56122987 16753 ],
56122987 16754 "optional" : 1,
44660702 16755 "type" : "string"
56122987 16756 },
44660702
DM
16757 "cyls" : {
16758 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
16759 "optional" : 1,
16760 "type" : "integer"
7aacca6f 16761 },
44660702
DM
16762 "detect_zeroes" : {
16763 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 16764 "optional" : 1,
44660702 16765 "type" : "boolean"
56122987 16766 },
44660702
DM
16767 "discard" : {
16768 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
16769 "enum" : [
16770 "ignore",
16771 "on"
16772 ],
56122987 16773 "optional" : 1,
44660702 16774 "type" : "string"
56122987 16775 },
7aacca6f 16776 "file" : {
44660702 16777 "default_key" : 1,
7aacca6f 16778 "description" : "The drive's backing volume.",
7aacca6f
DM
16779 "format" : "pve-volume-id-or-qm-path",
16780 "format_description" : "volume",
7aacca6f 16781 "type" : "string"
56122987 16782 },
44660702
DM
16783 "format" : {
16784 "description" : "The drive's backing file's data format.",
56122987 16785 "enum" : [
44660702
DM
16786 "raw",
16787 "cow",
16788 "qcow",
16789 "qed",
16790 "qcow2",
16791 "vmdk",
16792 "cloop"
7aacca6f 16793 ],
7aacca6f
DM
16794 "optional" : 1,
16795 "type" : "string"
56122987 16796 },
44660702
DM
16797 "heads" : {
16798 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 16799 "optional" : 1,
44660702 16800 "type" : "integer"
56122987 16801 },
44660702 16802 "iops" : {
de0983cb 16803 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 16804 "format_description" : "iops",
56122987 16805 "optional" : 1,
44660702 16806 "type" : "integer"
56122987 16807 },
44660702 16808 "iops_max" : {
de0983cb 16809 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 16810 "format_description" : "iops",
56122987 16811 "optional" : 1,
44660702 16812 "type" : "integer"
56122987 16813 },
de0983cb
DM
16814 "iops_max_length" : {
16815 "description" : "Maximum length of I/O bursts in seconds.",
16816 "format_description" : "seconds",
16817 "minimum" : 1,
16818 "optional" : 1,
16819 "type" : "integer"
16820 },
7aacca6f 16821 "iops_rd" : {
de0983cb 16822 "description" : "Maximum read I/O in operations per second.",
44660702
DM
16823 "format_description" : "iops",
16824 "optional" : 1,
16825 "type" : "integer"
7aacca6f 16826 },
de0983cb 16827 "iops_rd_length" : {
5d9c884c 16828 "alias" : "iops_rd_max_length"
de0983cb 16829 },
44660702 16830 "iops_rd_max" : {
de0983cb 16831 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 16832 "format_description" : "iops",
56122987 16833 "optional" : 1,
44660702 16834 "type" : "integer"
56122987 16835 },
5d9c884c
DM
16836 "iops_rd_max_length" : {
16837 "description" : "Maximum length of read I/O bursts in seconds.",
16838 "format_description" : "seconds",
16839 "minimum" : 1,
16840 "optional" : 1,
16841 "type" : "integer"
16842 },
44660702 16843 "iops_wr" : {
de0983cb 16844 "description" : "Maximum write I/O in operations per second.",
44660702 16845 "format_description" : "iops",
56122987 16846 "optional" : 1,
44660702 16847 "type" : "integer"
7aacca6f 16848 },
de0983cb 16849 "iops_wr_length" : {
5d9c884c 16850 "alias" : "iops_wr_max_length"
de0983cb 16851 },
44660702 16852 "iops_wr_max" : {
de0983cb 16853 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 16854 "format_description" : "iops",
7aacca6f 16855 "optional" : 1,
44660702 16856 "type" : "integer"
56122987 16857 },
5d9c884c
DM
16858 "iops_wr_max_length" : {
16859 "description" : "Maximum length of write I/O bursts in seconds.",
16860 "format_description" : "seconds",
16861 "minimum" : 1,
16862 "optional" : 1,
16863 "type" : "integer"
16864 },
44660702 16865 "mbps" : {
de0983cb 16866 "description" : "Maximum r/w speed in megabytes per second.",
44660702 16867 "format_description" : "mbps",
7aacca6f 16868 "optional" : 1,
44660702 16869 "type" : "number"
56122987 16870 },
44660702 16871 "mbps_max" : {
de0983cb 16872 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 16873 "format_description" : "mbps",
56122987 16874 "optional" : 1,
44660702 16875 "type" : "number"
56122987 16876 },
44660702 16877 "mbps_rd" : {
de0983cb 16878 "description" : "Maximum read speed in megabytes per second.",
44660702 16879 "format_description" : "mbps",
7aacca6f 16880 "optional" : 1,
44660702 16881 "type" : "number"
7aacca6f 16882 },
44660702 16883 "mbps_rd_max" : {
de0983cb 16884 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 16885 "format_description" : "mbps",
56122987 16886 "optional" : 1,
44660702 16887 "type" : "number"
56122987 16888 },
44660702 16889 "mbps_wr" : {
de0983cb 16890 "description" : "Maximum write speed in megabytes per second.",
44660702 16891 "format_description" : "mbps",
7aacca6f 16892 "optional" : 1,
44660702 16893 "type" : "number"
56122987 16894 },
44660702 16895 "mbps_wr_max" : {
de0983cb 16896 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 16897 "format_description" : "mbps",
56122987 16898 "optional" : 1,
44660702 16899 "type" : "number"
7aacca6f
DM
16900 },
16901 "media" : {
44660702
DM
16902 "default" : "disk",
16903 "description" : "The drive's media type.",
56122987 16904 "enum" : [
7aacca6f
DM
16905 "cdrom",
16906 "disk"
56122987 16907 ],
56122987 16908 "optional" : 1,
44660702 16909 "type" : "string"
56122987 16910 },
44660702
DM
16911 "model" : {
16912 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
16913 "format" : "urlencoded",
16914 "format_description" : "model",
16915 "maxLength" : 120,
56122987 16916 "optional" : 1,
44660702 16917 "type" : "string"
56122987 16918 },
5d9c884c
DM
16919 "replicate" : {
16920 "default" : 1,
16921 "description" : "Whether the drive should considered for replication jobs.",
16922 "optional" : 1,
16923 "type" : "boolean"
16924 },
7aacca6f 16925 "rerror" : {
7aacca6f
DM
16926 "description" : "Read error action.",
16927 "enum" : [
16928 "ignore",
16929 "report",
16930 "stop"
44660702 16931 ],
44660702
DM
16932 "optional" : 1,
16933 "type" : "string"
56122987 16934 },
44660702
DM
16935 "secs" : {
16936 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 16937 "optional" : 1,
44660702
DM
16938 "type" : "integer"
16939 },
16940 "serial" : {
16941 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
16942 "format" : "urlencoded",
16943 "format_description" : "serial",
16944 "maxLength" : 60,
16945 "optional" : 1,
16946 "type" : "string"
16947 },
27a7acb2
DM
16948 "shared" : {
16949 "default" : 0,
16950 "description" : "Mark this locally-managed volume as available on all nodes",
16951 "optional" : 1,
16952 "type" : "boolean",
16953 "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!"
16954 },
44660702
DM
16955 "size" : {
16956 "description" : "Disk size. This is purely informational and has no effect.",
16957 "format" : "disk-size",
f004f5b9 16958 "format_description" : "DiskSize",
44660702
DM
16959 "optional" : 1,
16960 "type" : "string"
7aacca6f
DM
16961 },
16962 "snapshot" : {
27a7acb2 16963 "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 16964 "optional" : 1,
44660702 16965 "type" : "boolean"
7aacca6f 16966 },
44660702
DM
16967 "trans" : {
16968 "description" : "Force disk geometry bios translation mode.",
16969 "enum" : [
16970 "none",
16971 "lba",
16972 "auto"
16973 ],
7aacca6f 16974 "optional" : 1,
44660702
DM
16975 "type" : "string"
16976 },
16977 "volume" : {
16978 "alias" : "file"
16979 },
16980 "werror" : {
16981 "description" : "Write error action.",
16982 "enum" : [
16983 "enospc",
16984 "ignore",
16985 "report",
16986 "stop"
16987 ],
44660702
DM
16988 "optional" : 1,
16989 "type" : "string"
56122987
DM
16990 }
16991 },
56122987 16992 "optional" : 1,
4bd7df8b 16993 "type" : "string",
27a7acb2
DM
16994 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
16995 },
16996 "ipconfig[n]" : {
16997 "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",
16998 "format" : "pve-qm-ipconfig",
16999 "optional" : 1,
17000 "type" : "string",
17001 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 17002 },
56122987 17003 "keyboard" : {
35a75dd3 17004 "default" : null,
5da3d723 17005 "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 17006 "enum" : [
44660702
DM
17007 "de",
17008 "de-ch",
7aacca6f 17009 "da",
56122987 17010 "en-gb",
44660702
DM
17011 "en-us",
17012 "es",
17013 "fi",
17014 "fr",
17015 "fr-be",
17016 "fr-ca",
17017 "fr-ch",
17018 "hu",
7aacca6f 17019 "is",
44660702
DM
17020 "it",
17021 "ja",
17022 "lt",
56122987 17023 "mk",
7aacca6f 17024 "nl",
56122987 17025 "no",
44660702 17026 "pl",
7aacca6f 17027 "pt",
44660702
DM
17028 "pt-br",
17029 "sv",
17030 "sl",
17031 "tr"
56122987 17032 ],
44660702
DM
17033 "optional" : 1,
17034 "type" : "string"
56122987 17035 },
44660702
DM
17036 "kvm" : {
17037 "default" : 1,
17038 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 17039 "optional" : 1,
013dc89f
DM
17040 "type" : "boolean",
17041 "typetext" : "<boolean>"
7aacca6f 17042 },
44660702
DM
17043 "localtime" : {
17044 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 17045 "optional" : 1,
013dc89f
DM
17046 "type" : "boolean",
17047 "typetext" : "<boolean>"
44660702
DM
17048 },
17049 "lock" : {
17050 "description" : "Lock/unlock the VM.",
7aacca6f
DM
17051 "enum" : [
17052 "migrate",
17053 "backup",
17054 "snapshot",
17055 "rollback"
17056 ],
44660702
DM
17057 "optional" : 1,
17058 "type" : "string"
56122987 17059 },
44660702 17060 "machine" : {
4d47f125 17061 "description" : "Specifies the Qemu machine type.",
44660702
DM
17062 "maxLength" : 40,
17063 "optional" : 1,
17064 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
17065 "type" : "string"
17066 },
17067 "memory" : {
17068 "default" : 512,
17069 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
17070 "minimum" : 16,
17071 "optional" : 1,
4bd7df8b 17072 "type" : "integer",
013dc89f 17073 "typetext" : "<integer> (16 - N)"
44660702
DM
17074 },
17075 "migrate_downtime" : {
17076 "default" : 0.1,
17077 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
17078 "minimum" : 0,
17079 "optional" : 1,
4bd7df8b 17080 "type" : "number",
013dc89f 17081 "typetext" : "<number> (0 - N)"
44660702
DM
17082 },
17083 "migrate_speed" : {
56122987 17084 "default" : 0,
44660702
DM
17085 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
17086 "minimum" : 0,
56122987 17087 "optional" : 1,
4bd7df8b 17088 "type" : "integer",
013dc89f 17089 "typetext" : "<integer> (0 - N)"
56122987 17090 },
27a7acb2
DM
17091 "name" : {
17092 "description" : "Set a name for the VM. Only used on the configuration web interface.",
17093 "format" : "dns-name",
17094 "optional" : 1,
17095 "type" : "string",
17096 "typetext" : "<string>"
17097 },
17098 "nameserver" : {
17099 "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.",
17100 "format" : "address-list",
44660702 17101 "optional" : 1,
013dc89f
DM
17102 "type" : "string",
17103 "typetext" : "<string>"
44660702
DM
17104 },
17105 "net[n]" : {
c2993fe5 17106 "description" : "Specify network devices.",
f004f5b9
DM
17107 "format" : {
17108 "bridge" : {
c2993fe5 17109 "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
17110 "format_description" : "bridge",
17111 "optional" : 1,
17112 "type" : "string"
17113 },
17114 "e1000" : {
17115 "alias" : "macaddr",
17116 "keyAlias" : "model"
17117 },
17118 "e1000-82540em" : {
17119 "alias" : "macaddr",
17120 "keyAlias" : "model"
17121 },
17122 "e1000-82544gc" : {
17123 "alias" : "macaddr",
17124 "keyAlias" : "model"
17125 },
17126 "e1000-82545em" : {
17127 "alias" : "macaddr",
17128 "keyAlias" : "model"
17129 },
17130 "firewall" : {
17131 "description" : "Whether this interface should be protected by the firewall.",
17132 "optional" : 1,
17133 "type" : "boolean"
17134 },
17135 "i82551" : {
17136 "alias" : "macaddr",
17137 "keyAlias" : "model"
17138 },
17139 "i82557b" : {
17140 "alias" : "macaddr",
17141 "keyAlias" : "model"
17142 },
17143 "i82559er" : {
17144 "alias" : "macaddr",
17145 "keyAlias" : "model"
17146 },
17147 "link_down" : {
c2993fe5 17148 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
17149 "optional" : 1,
17150 "type" : "boolean"
17151 },
17152 "macaddr" : {
c2993fe5 17153 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 17154 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
17155 "optional" : 1,
17156 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
17157 "type" : "string"
17158 },
17159 "model" : {
17160 "default_key" : 1,
c2993fe5 17161 "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
17162 "enum" : [
17163 "rtl8139",
17164 "ne2k_pci",
17165 "e1000",
17166 "pcnet",
17167 "virtio",
17168 "ne2k_isa",
17169 "i82551",
17170 "i82557b",
17171 "i82559er",
17172 "vmxnet3",
17173 "e1000-82540em",
17174 "e1000-82544gc",
17175 "e1000-82545em"
17176 ],
f004f5b9
DM
17177 "type" : "string"
17178 },
17179 "ne2k_isa" : {
17180 "alias" : "macaddr",
17181 "keyAlias" : "model"
17182 },
17183 "ne2k_pci" : {
17184 "alias" : "macaddr",
17185 "keyAlias" : "model"
17186 },
17187 "pcnet" : {
17188 "alias" : "macaddr",
17189 "keyAlias" : "model"
17190 },
17191 "queues" : {
17192 "description" : "Number of packet queues to be used on the device.",
17193 "maximum" : 16,
17194 "minimum" : 0,
17195 "optional" : 1,
17196 "type" : "integer"
17197 },
17198 "rate" : {
c2993fe5 17199 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
17200 "minimum" : 0,
17201 "optional" : 1,
17202 "type" : "number"
17203 },
17204 "rtl8139" : {
17205 "alias" : "macaddr",
17206 "keyAlias" : "model"
17207 },
17208 "tag" : {
17209 "description" : "VLAN tag to apply to packets on this interface.",
17210 "maximum" : 4094,
c2993fe5 17211 "minimum" : 1,
f004f5b9
DM
17212 "optional" : 1,
17213 "type" : "integer"
17214 },
17215 "trunks" : {
17216 "description" : "VLAN trunks to pass through this interface.",
17217 "format_description" : "vlanid[;vlanid...]",
17218 "optional" : 1,
17219 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17220 "type" : "string"
17221 },
17222 "virtio" : {
17223 "alias" : "macaddr",
17224 "keyAlias" : "model"
17225 },
17226 "vmxnet3" : {
17227 "alias" : "macaddr",
17228 "keyAlias" : "model"
17229 }
17230 },
44660702 17231 "optional" : 1,
4bd7df8b 17232 "type" : "string",
013dc89f 17233 "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
17234 },
17235 "node" : {
17236 "description" : "The cluster node name.",
17237 "format" : "pve-node",
013dc89f
DM
17238 "type" : "string",
17239 "typetext" : "<string>"
44660702
DM
17240 },
17241 "numa" : {
7aacca6f 17242 "default" : 0,
44660702
DM
17243 "description" : "Enable/disable NUMA.",
17244 "optional" : 1,
013dc89f
DM
17245 "type" : "boolean",
17246 "typetext" : "<boolean>"
56122987 17247 },
7aacca6f 17248 "numa[n]" : {
c2993fe5 17249 "description" : "NUMA topology.",
7aacca6f 17250 "format" : {
44660702 17251 "cpus" : {
c2993fe5 17252 "description" : "CPUs accessing this NUMA node.",
44660702
DM
17253 "format_description" : "id[-id];...",
17254 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17255 "type" : "string"
17256 },
7aacca6f 17257 "hostnodes" : {
c2993fe5 17258 "description" : "Host NUMA nodes to use.",
44660702 17259 "format_description" : "id[-id];...",
7aacca6f 17260 "optional" : 1,
44660702
DM
17261 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17262 "type" : "string"
7aacca6f 17263 },
44660702 17264 "memory" : {
c2993fe5 17265 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
17266 "optional" : 1,
17267 "type" : "number"
7aacca6f
DM
17268 },
17269 "policy" : {
c2993fe5 17270 "description" : "NUMA allocation policy.",
7aacca6f
DM
17271 "enum" : [
17272 "preferred",
17273 "bind",
17274 "interleave"
17275 ],
7aacca6f 17276 "optional" : 1,
44660702 17277 "type" : "string"
7aacca6f
DM
17278 }
17279 },
56122987 17280 "optional" : 1,
4bd7df8b
DM
17281 "type" : "string",
17282 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 17283 },
44660702
DM
17284 "onboot" : {
17285 "default" : 0,
17286 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 17287 "optional" : 1,
013dc89f
DM
17288 "type" : "boolean",
17289 "typetext" : "<boolean>"
56122987
DM
17290 },
17291 "ostype" : {
c2993fe5 17292 "description" : "Specify guest operating system.",
56122987
DM
17293 "enum" : [
17294 "other",
17295 "wxp",
17296 "w2k",
17297 "w2k3",
17298 "w2k8",
17299 "wvista",
17300 "win7",
17301 "win8",
32d876b5 17302 "win10",
56122987
DM
17303 "l24",
17304 "l26",
17305 "solaris"
44660702 17306 ],
56122987 17307 "optional" : 1,
c2993fe5 17308 "type" : "string",
35a75dd3 17309 "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 17310 },
44660702 17311 "parallel[n]" : {
c2993fe5 17312 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 17313 "optional" : 1,
44660702 17314 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
17315 "type" : "string",
17316 "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 17317 },
44660702
DM
17318 "pool" : {
17319 "description" : "Add the VM to the specified pool.",
17320 "format" : "pve-poolid",
56122987 17321 "optional" : 1,
013dc89f
DM
17322 "type" : "string",
17323 "typetext" : "<string>"
56122987 17324 },
44660702
DM
17325 "protection" : {
17326 "default" : 0,
c2993fe5 17327 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 17328 "optional" : 1,
013dc89f
DM
17329 "type" : "boolean",
17330 "typetext" : "<boolean>"
56122987 17331 },
44660702 17332 "reboot" : {
7aacca6f 17333 "default" : 1,
44660702
DM
17334 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
17335 "optional" : 1,
013dc89f
DM
17336 "type" : "boolean",
17337 "typetext" : "<boolean>"
56122987 17338 },
56122987 17339 "sata[n]" : {
44660702 17340 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 17341 "format" : {
7aacca6f 17342 "aio" : {
44660702 17343 "description" : "AIO type to use.",
56122987 17344 "enum" : [
7aacca6f
DM
17345 "native",
17346 "threads"
56122987 17347 ],
7aacca6f 17348 "optional" : 1,
44660702 17349 "type" : "string"
7aacca6f
DM
17350 },
17351 "backup" : {
7aacca6f 17352 "description" : "Whether the drive should be included when making backups.",
7aacca6f 17353 "optional" : 1,
44660702 17354 "type" : "boolean"
56122987 17355 },
44660702 17356 "bps" : {
de0983cb 17357 "description" : "Maximum r/w speed in bytes per second.",
44660702 17358 "format_description" : "bps",
7aacca6f 17359 "optional" : 1,
44660702 17360 "type" : "integer"
56122987 17361 },
de0983cb
DM
17362 "bps_max_length" : {
17363 "description" : "Maximum length of I/O bursts in seconds.",
17364 "format_description" : "seconds",
17365 "minimum" : 1,
17366 "optional" : 1,
17367 "type" : "integer"
17368 },
44660702 17369 "bps_rd" : {
de0983cb 17370 "description" : "Maximum read speed in bytes per second.",
44660702 17371 "format_description" : "bps",
56122987 17372 "optional" : 1,
44660702 17373 "type" : "integer"
7aacca6f 17374 },
de0983cb 17375 "bps_rd_length" : {
5d9c884c
DM
17376 "alias" : "bps_rd_max_length"
17377 },
17378 "bps_rd_max_length" : {
de0983cb
DM
17379 "description" : "Maximum length of read I/O bursts in seconds.",
17380 "format_description" : "seconds",
17381 "minimum" : 1,
17382 "optional" : 1,
17383 "type" : "integer"
17384 },
44660702 17385 "bps_wr" : {
de0983cb 17386 "description" : "Maximum write speed in bytes per second.",
44660702 17387 "format_description" : "bps",
56122987 17388 "optional" : 1,
44660702 17389 "type" : "integer"
56122987 17390 },
de0983cb 17391 "bps_wr_length" : {
5d9c884c
DM
17392 "alias" : "bps_wr_max_length"
17393 },
17394 "bps_wr_max_length" : {
de0983cb
DM
17395 "description" : "Maximum length of write I/O bursts in seconds.",
17396 "format_description" : "seconds",
17397 "minimum" : 1,
17398 "optional" : 1,
17399 "type" : "integer"
17400 },
7aacca6f 17401 "cache" : {
7aacca6f
DM
17402 "description" : "The drive's cache mode",
17403 "enum" : [
17404 "none",
17405 "writethrough",
17406 "writeback",
17407 "unsafe",
17408 "directsync"
17409 ],
44660702
DM
17410 "optional" : 1,
17411 "type" : "string"
56122987 17412 },
44660702
DM
17413 "cyls" : {
17414 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 17415 "optional" : 1,
7aacca6f 17416 "type" : "integer"
56122987 17417 },
7aacca6f
DM
17418 "detect_zeroes" : {
17419 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 17420 "optional" : 1,
7aacca6f 17421 "type" : "boolean"
56122987 17422 },
44660702
DM
17423 "discard" : {
17424 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17425 "enum" : [
17426 "ignore",
17427 "on"
17428 ],
56122987 17429 "optional" : 1,
44660702 17430 "type" : "string"
56122987 17431 },
44660702
DM
17432 "file" : {
17433 "default_key" : 1,
17434 "description" : "The drive's backing volume.",
17435 "format" : "pve-volume-id-or-qm-path",
17436 "format_description" : "volume",
17437 "type" : "string"
56122987
DM
17438 },
17439 "format" : {
44660702 17440 "description" : "The drive's backing file's data format.",
56122987
DM
17441 "enum" : [
17442 "raw",
17443 "cow",
17444 "qcow",
17445 "qed",
17446 "qcow2",
17447 "vmdk",
17448 "cloop"
17449 ],
56122987 17450 "optional" : 1,
44660702 17451 "type" : "string"
56122987 17452 },
7aacca6f 17453 "heads" : {
7aacca6f 17454 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
17455 "optional" : 1,
17456 "type" : "integer"
56122987 17457 },
44660702 17458 "iops" : {
de0983cb 17459 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
17460 "format_description" : "iops",
17461 "optional" : 1,
17462 "type" : "integer"
56122987 17463 },
44660702 17464 "iops_max" : {
de0983cb 17465 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 17466 "format_description" : "iops",
56122987 17467 "optional" : 1,
44660702 17468 "type" : "integer"
56122987 17469 },
de0983cb
DM
17470 "iops_max_length" : {
17471 "description" : "Maximum length of I/O bursts in seconds.",
17472 "format_description" : "seconds",
17473 "minimum" : 1,
17474 "optional" : 1,
17475 "type" : "integer"
17476 },
44660702 17477 "iops_rd" : {
de0983cb 17478 "description" : "Maximum read I/O in operations per second.",
44660702 17479 "format_description" : "iops",
56122987 17480 "optional" : 1,
44660702 17481 "type" : "integer"
56122987 17482 },
de0983cb 17483 "iops_rd_length" : {
5d9c884c 17484 "alias" : "iops_rd_max_length"
de0983cb 17485 },
44660702 17486 "iops_rd_max" : {
de0983cb 17487 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 17488 "format_description" : "iops",
56122987 17489 "optional" : 1,
44660702 17490 "type" : "integer"
56122987 17491 },
5d9c884c
DM
17492 "iops_rd_max_length" : {
17493 "description" : "Maximum length of read I/O bursts in seconds.",
17494 "format_description" : "seconds",
17495 "minimum" : 1,
17496 "optional" : 1,
17497 "type" : "integer"
17498 },
44660702 17499 "iops_wr" : {
de0983cb 17500 "description" : "Maximum write I/O in operations per second.",
44660702 17501 "format_description" : "iops",
7aacca6f 17502 "optional" : 1,
44660702 17503 "type" : "integer"
7aacca6f 17504 },
de0983cb 17505 "iops_wr_length" : {
5d9c884c 17506 "alias" : "iops_wr_max_length"
de0983cb 17507 },
44660702 17508 "iops_wr_max" : {
de0983cb 17509 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 17510 "format_description" : "iops",
56122987 17511 "optional" : 1,
7aacca6f 17512 "type" : "integer"
56122987 17513 },
5d9c884c
DM
17514 "iops_wr_max_length" : {
17515 "description" : "Maximum length of write I/O bursts in seconds.",
17516 "format_description" : "seconds",
17517 "minimum" : 1,
17518 "optional" : 1,
17519 "type" : "integer"
17520 },
44660702 17521 "mbps" : {
de0983cb 17522 "description" : "Maximum r/w speed in megabytes per second.",
44660702 17523 "format_description" : "mbps",
56122987 17524 "optional" : 1,
44660702 17525 "type" : "number"
56122987 17526 },
44660702 17527 "mbps_max" : {
de0983cb 17528 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 17529 "format_description" : "mbps",
7aacca6f 17530 "optional" : 1,
44660702 17531 "type" : "number"
7aacca6f 17532 },
44660702 17533 "mbps_rd" : {
de0983cb 17534 "description" : "Maximum read speed in megabytes per second.",
44660702 17535 "format_description" : "mbps",
7aacca6f 17536 "optional" : 1,
44660702 17537 "type" : "number"
7aacca6f 17538 },
44660702 17539 "mbps_rd_max" : {
de0983cb 17540 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 17541 "format_description" : "mbps",
7aacca6f 17542 "optional" : 1,
44660702 17543 "type" : "number"
7aacca6f 17544 },
44660702 17545 "mbps_wr" : {
de0983cb 17546 "description" : "Maximum write speed in megabytes per second.",
44660702 17547 "format_description" : "mbps",
7aacca6f 17548 "optional" : 1,
44660702 17549 "type" : "number"
7aacca6f
DM
17550 },
17551 "mbps_wr_max" : {
de0983cb 17552 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 17553 "format_description" : "mbps",
7aacca6f 17554 "optional" : 1,
44660702 17555 "type" : "number"
7aacca6f 17556 },
44660702
DM
17557 "media" : {
17558 "default" : "disk",
17559 "description" : "The drive's media type.",
56122987 17560 "enum" : [
44660702
DM
17561 "cdrom",
17562 "disk"
56122987 17563 ],
56122987 17564 "optional" : 1,
44660702 17565 "type" : "string"
56122987 17566 },
5d9c884c
DM
17567 "replicate" : {
17568 "default" : 1,
17569 "description" : "Whether the drive should considered for replication jobs.",
17570 "optional" : 1,
17571 "type" : "boolean"
17572 },
44660702
DM
17573 "rerror" : {
17574 "description" : "Read error action.",
7aacca6f
DM
17575 "enum" : [
17576 "ignore",
44660702
DM
17577 "report",
17578 "stop"
7aacca6f 17579 ],
56122987 17580 "optional" : 1,
44660702 17581 "type" : "string"
56122987 17582 },
44660702
DM
17583 "secs" : {
17584 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 17585 "optional" : 1,
44660702 17586 "type" : "integer"
56122987 17587 },
44660702
DM
17588 "serial" : {
17589 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17590 "format" : "urlencoded",
17591 "format_description" : "serial",
17592 "maxLength" : 60,
17593 "optional" : 1,
17594 "type" : "string"
7aacca6f 17595 },
27a7acb2
DM
17596 "shared" : {
17597 "default" : 0,
17598 "description" : "Mark this locally-managed volume as available on all nodes",
17599 "optional" : 1,
17600 "type" : "boolean",
17601 "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!"
17602 },
7aacca6f
DM
17603 "size" : {
17604 "description" : "Disk size. This is purely informational and has no effect.",
44660702 17605 "format" : "disk-size",
f004f5b9 17606 "format_description" : "DiskSize",
56122987 17607 "optional" : 1,
44660702 17608 "type" : "string"
56122987 17609 },
44660702 17610 "snapshot" : {
27a7acb2 17611 "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 17612 "optional" : 1,
44660702 17613 "type" : "boolean"
56122987 17614 },
44660702
DM
17615 "trans" : {
17616 "description" : "Force disk geometry bios translation mode.",
56122987 17617 "enum" : [
44660702
DM
17618 "none",
17619 "lba",
17620 "auto"
7aacca6f 17621 ],
44660702
DM
17622 "optional" : 1,
17623 "type" : "string"
17624 },
17625 "volume" : {
17626 "alias" : "file"
56122987
DM
17627 },
17628 "werror" : {
56122987
DM
17629 "description" : "Write error action.",
17630 "enum" : [
17631 "enospc",
17632 "ignore",
17633 "report",
17634 "stop"
17635 ],
56122987 17636 "optional" : 1,
44660702
DM
17637 "type" : "string"
17638 }
17639 },
17640 "optional" : 1,
4bd7df8b 17641 "type" : "string",
27a7acb2 17642 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
17643 },
17644 "scsi[n]" : {
17645 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
17646 "format" : {
17647 "aio" : {
17648 "description" : "AIO type to use.",
17649 "enum" : [
17650 "native",
17651 "threads"
17652 ],
44660702
DM
17653 "optional" : 1,
17654 "type" : "string"
56122987 17655 },
7aacca6f 17656 "backup" : {
44660702 17657 "description" : "Whether the drive should be included when making backups.",
7aacca6f 17658 "optional" : 1,
44660702 17659 "type" : "boolean"
7aacca6f 17660 },
44660702 17661 "bps" : {
de0983cb 17662 "description" : "Maximum r/w speed in bytes per second.",
44660702 17663 "format_description" : "bps",
7aacca6f 17664 "optional" : 1,
44660702 17665 "type" : "integer"
7aacca6f 17666 },
de0983cb
DM
17667 "bps_max_length" : {
17668 "description" : "Maximum length of I/O bursts in seconds.",
17669 "format_description" : "seconds",
17670 "minimum" : 1,
17671 "optional" : 1,
17672 "type" : "integer"
17673 },
44660702 17674 "bps_rd" : {
de0983cb 17675 "description" : "Maximum read speed in bytes per second.",
44660702 17676 "format_description" : "bps",
56122987 17677 "optional" : 1,
44660702 17678 "type" : "integer"
56122987 17679 },
de0983cb 17680 "bps_rd_length" : {
5d9c884c
DM
17681 "alias" : "bps_rd_max_length"
17682 },
17683 "bps_rd_max_length" : {
de0983cb
DM
17684 "description" : "Maximum length of read I/O bursts in seconds.",
17685 "format_description" : "seconds",
17686 "minimum" : 1,
17687 "optional" : 1,
17688 "type" : "integer"
17689 },
44660702 17690 "bps_wr" : {
de0983cb 17691 "description" : "Maximum write speed in bytes per second.",
44660702 17692 "format_description" : "bps",
7aacca6f 17693 "optional" : 1,
44660702 17694 "type" : "integer"
56122987 17695 },
de0983cb 17696 "bps_wr_length" : {
5d9c884c
DM
17697 "alias" : "bps_wr_max_length"
17698 },
17699 "bps_wr_max_length" : {
de0983cb
DM
17700 "description" : "Maximum length of write I/O bursts in seconds.",
17701 "format_description" : "seconds",
17702 "minimum" : 1,
17703 "optional" : 1,
17704 "type" : "integer"
17705 },
44660702
DM
17706 "cache" : {
17707 "description" : "The drive's cache mode",
7aacca6f
DM
17708 "enum" : [
17709 "none",
44660702
DM
17710 "writethrough",
17711 "writeback",
17712 "unsafe",
17713 "directsync"
7aacca6f 17714 ],
56122987 17715 "optional" : 1,
44660702 17716 "type" : "string"
56122987 17717 },
7aacca6f
DM
17718 "cyls" : {
17719 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
17720 "optional" : 1,
44660702 17721 "type" : "integer"
7aacca6f 17722 },
44660702
DM
17723 "detect_zeroes" : {
17724 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 17725 "optional" : 1,
44660702 17726 "type" : "boolean"
56122987 17727 },
44660702
DM
17728 "discard" : {
17729 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 17730 "enum" : [
44660702
DM
17731 "ignore",
17732 "on"
7aacca6f 17733 ],
7aacca6f 17734 "optional" : 1,
44660702 17735 "type" : "string"
56122987
DM
17736 },
17737 "file" : {
7aacca6f
DM
17738 "default_key" : 1,
17739 "description" : "The drive's backing volume.",
44660702
DM
17740 "format" : "pve-volume-id-or-qm-path",
17741 "format_description" : "volume",
7aacca6f 17742 "type" : "string"
56122987 17743 },
7aacca6f 17744 "format" : {
44660702 17745 "description" : "The drive's backing file's data format.",
56122987 17746 "enum" : [
7aacca6f
DM
17747 "raw",
17748 "cow",
17749 "qcow",
17750 "qed",
17751 "qcow2",
17752 "vmdk",
17753 "cloop"
56122987 17754 ],
44660702
DM
17755 "optional" : 1,
17756 "type" : "string"
56122987 17757 },
44660702
DM
17758 "heads" : {
17759 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
17760 "optional" : 1,
17761 "type" : "integer"
17762 },
17763 "iops" : {
de0983cb 17764 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 17765 "format_description" : "iops",
56122987 17766 "optional" : 1,
44660702 17767 "type" : "integer"
56122987 17768 },
44660702 17769 "iops_max" : {
de0983cb 17770 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 17771 "format_description" : "iops",
7aacca6f 17772 "optional" : 1,
44660702 17773 "type" : "integer"
56122987 17774 },
de0983cb
DM
17775 "iops_max_length" : {
17776 "description" : "Maximum length of I/O bursts in seconds.",
17777 "format_description" : "seconds",
17778 "minimum" : 1,
17779 "optional" : 1,
17780 "type" : "integer"
17781 },
44660702 17782 "iops_rd" : {
de0983cb 17783 "description" : "Maximum read I/O in operations per second.",
44660702 17784 "format_description" : "iops",
56122987 17785 "optional" : 1,
44660702 17786 "type" : "integer"
56122987 17787 },
de0983cb 17788 "iops_rd_length" : {
5d9c884c 17789 "alias" : "iops_rd_max_length"
de0983cb 17790 },
44660702 17791 "iops_rd_max" : {
de0983cb 17792 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
17793 "format_description" : "iops",
17794 "optional" : 1,
17795 "type" : "integer"
56122987 17796 },
5d9c884c
DM
17797 "iops_rd_max_length" : {
17798 "description" : "Maximum length of read I/O bursts in seconds.",
17799 "format_description" : "seconds",
17800 "minimum" : 1,
17801 "optional" : 1,
17802 "type" : "integer"
17803 },
44660702 17804 "iops_wr" : {
de0983cb 17805 "description" : "Maximum write I/O in operations per second.",
44660702 17806 "format_description" : "iops",
56122987 17807 "optional" : 1,
44660702 17808 "type" : "integer"
56122987 17809 },
de0983cb 17810 "iops_wr_length" : {
5d9c884c 17811 "alias" : "iops_wr_max_length"
de0983cb 17812 },
44660702 17813 "iops_wr_max" : {
de0983cb 17814 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 17815 "format_description" : "iops",
56122987 17816 "optional" : 1,
56122987
DM
17817 "type" : "integer"
17818 },
5d9c884c
DM
17819 "iops_wr_max_length" : {
17820 "description" : "Maximum length of write I/O bursts in seconds.",
17821 "format_description" : "seconds",
17822 "minimum" : 1,
17823 "optional" : 1,
17824 "type" : "integer"
17825 },
44660702
DM
17826 "iothread" : {
17827 "description" : "Whether to use iothreads for this drive",
44660702
DM
17828 "optional" : 1,
17829 "type" : "boolean"
17830 },
17831 "mbps" : {
de0983cb 17832 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
17833 "format_description" : "mbps",
17834 "optional" : 1,
17835 "type" : "number"
17836 },
7aacca6f 17837 "mbps_max" : {
de0983cb 17838 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 17839 "format_description" : "mbps",
56122987 17840 "optional" : 1,
44660702 17841 "type" : "number"
56122987 17842 },
44660702 17843 "mbps_rd" : {
de0983cb 17844 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
17845 "format_description" : "mbps",
17846 "optional" : 1,
17847 "type" : "number"
56122987 17848 },
44660702 17849 "mbps_rd_max" : {
de0983cb 17850 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 17851 "format_description" : "mbps",
56122987 17852 "optional" : 1,
44660702 17853 "type" : "number"
56122987 17854 },
44660702 17855 "mbps_wr" : {
de0983cb 17856 "description" : "Maximum write speed in megabytes per second.",
44660702 17857 "format_description" : "mbps",
56122987 17858 "optional" : 1,
44660702 17859 "type" : "number"
56122987 17860 },
44660702 17861 "mbps_wr_max" : {
de0983cb 17862 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 17863 "format_description" : "mbps",
7aacca6f 17864 "optional" : 1,
44660702 17865 "type" : "number"
56122987 17866 },
7aacca6f 17867 "media" : {
44660702 17868 "default" : "disk",
7aacca6f
DM
17869 "description" : "The drive's media type.",
17870 "enum" : [
17871 "cdrom",
17872 "disk"
17873 ],
56122987 17874 "optional" : 1,
44660702 17875 "type" : "string"
56122987 17876 },
44660702
DM
17877 "queues" : {
17878 "description" : "Number of queues.",
44660702
DM
17879 "minimum" : 2,
17880 "optional" : 1,
17881 "type" : "integer"
56122987 17882 },
5d9c884c
DM
17883 "replicate" : {
17884 "default" : 1,
17885 "description" : "Whether the drive should considered for replication jobs.",
17886 "optional" : 1,
17887 "type" : "boolean"
17888 },
17889 "rerror" : {
17890 "description" : "Read error action.",
17891 "enum" : [
17892 "ignore",
17893 "report",
17894 "stop"
17895 ],
17896 "optional" : 1,
17897 "type" : "string"
17898 },
52e44c50
FG
17899 "scsiblock" : {
17900 "default" : 0,
17901 "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",
17902 "optional" : 1,
17903 "type" : "boolean"
17904 },
7aacca6f 17905 "secs" : {
7aacca6f 17906 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
17907 "optional" : 1,
17908 "type" : "integer"
17909 },
17910 "serial" : {
17911 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17912 "format" : "urlencoded",
17913 "format_description" : "serial",
17914 "maxLength" : 60,
17915 "optional" : 1,
17916 "type" : "string"
17917 },
27a7acb2
DM
17918 "shared" : {
17919 "default" : 0,
17920 "description" : "Mark this locally-managed volume as available on all nodes",
17921 "optional" : 1,
17922 "type" : "boolean",
17923 "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!"
17924 },
44660702
DM
17925 "size" : {
17926 "description" : "Disk size. This is purely informational and has no effect.",
17927 "format" : "disk-size",
f004f5b9 17928 "format_description" : "DiskSize",
44660702
DM
17929 "optional" : 1,
17930 "type" : "string"
17931 },
17932 "snapshot" : {
27a7acb2 17933 "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
17934 "optional" : 1,
17935 "type" : "boolean"
17936 },
17937 "trans" : {
17938 "description" : "Force disk geometry bios translation mode.",
17939 "enum" : [
17940 "none",
17941 "lba",
17942 "auto"
17943 ],
44660702
DM
17944 "optional" : 1,
17945 "type" : "string"
17946 },
17947 "volume" : {
17948 "alias" : "file"
17949 },
17950 "werror" : {
17951 "description" : "Write error action.",
17952 "enum" : [
17953 "enospc",
17954 "ignore",
17955 "report",
17956 "stop"
17957 ],
44660702
DM
17958 "optional" : 1,
17959 "type" : "string"
56122987
DM
17960 }
17961 },
7aacca6f 17962 "optional" : 1,
4bd7df8b 17963 "type" : "string",
27a7acb2 17964 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 17965 },
44660702
DM
17966 "scsihw" : {
17967 "default" : "lsi",
c2993fe5 17968 "description" : "SCSI controller model",
44660702
DM
17969 "enum" : [
17970 "lsi",
17971 "lsi53c810",
17972 "virtio-scsi-pci",
17973 "virtio-scsi-single",
17974 "megasas",
17975 "pvscsi"
17976 ],
7aacca6f 17977 "optional" : 1,
44660702 17978 "type" : "string"
7aacca6f 17979 },
27a7acb2
DM
17980 "searchdomain" : {
17981 "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.",
17982 "optional" : 1,
17983 "type" : "string",
17984 "typetext" : "<string>"
17985 },
44660702 17986 "serial[n]" : {
c2993fe5 17987 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
17988 "optional" : 1,
17989 "pattern" : "(/dev/.+|socket)",
c2993fe5 17990 "type" : "string",
57b78691 17991 "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
17992 },
17993 "shares" : {
17994 "default" : 1000,
5da3d723 17995 "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
17996 "maximum" : 50000,
17997 "minimum" : 0,
17998 "optional" : 1,
4bd7df8b 17999 "type" : "integer",
013dc89f 18000 "typetext" : "<integer> (0 - 50000)"
44660702
DM
18001 },
18002 "smbios1" : {
18003 "description" : "Specify SMBIOS type 1 fields.",
18004 "format" : "pve-qm-smbios1",
18005 "maxLength" : 256,
7aacca6f 18006 "optional" : 1,
4bd7df8b
DM
18007 "type" : "string",
18008 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
18009 },
18010 "smp" : {
44660702 18011 "default" : 1,
7aacca6f 18012 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 18013 "minimum" : 1,
56122987 18014 "optional" : 1,
4bd7df8b 18015 "type" : "integer",
013dc89f 18016 "typetext" : "<integer> (1 - N)"
44660702
DM
18017 },
18018 "sockets" : {
7aacca6f 18019 "default" : 1,
44660702
DM
18020 "description" : "The number of CPU sockets.",
18021 "minimum" : 1,
18022 "optional" : 1,
4bd7df8b 18023 "type" : "integer",
013dc89f 18024 "typetext" : "<integer> (1 - N)"
7aacca6f 18025 },
27a7acb2
DM
18026 "sshkeys" : {
18027 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
18028 "format" : "urlencoded",
18029 "optional" : 1,
18030 "type" : "string",
18031 "typetext" : "<string>"
18032 },
5da3d723
TL
18033 "start" : {
18034 "default" : 0,
18035 "description" : "Start VM after it was created successfully.",
18036 "optional" : 1,
18037 "type" : "boolean",
18038 "typetext" : "<boolean>"
18039 },
44660702
DM
18040 "startdate" : {
18041 "default" : "now",
18042 "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'.",
18043 "optional" : 1,
18044 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
18045 "type" : "string",
18046 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
18047 },
18048 "startup" : {
18049 "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.",
18050 "format" : "pve-startup-order",
18051 "optional" : 1,
18052 "type" : "string",
18053 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
18054 },
18055 "storage" : {
18056 "description" : "Default storage.",
18057 "format" : "pve-storage-id",
7aacca6f 18058 "optional" : 1,
013dc89f
DM
18059 "type" : "string",
18060 "typetext" : "<string>"
56122987 18061 },
44660702
DM
18062 "tablet" : {
18063 "default" : 1,
c2993fe5 18064 "description" : "Enable/disable the USB tablet device.",
56122987 18065 "optional" : 1,
c2993fe5 18066 "type" : "boolean",
013dc89f 18067 "typetext" : "<boolean>",
c2993fe5 18068 "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
18069 },
18070 "tdf" : {
18071 "default" : 0,
18072 "description" : "Enable/disable time drift fix.",
18073 "optional" : 1,
013dc89f
DM
18074 "type" : "boolean",
18075 "typetext" : "<boolean>"
7aacca6f
DM
18076 },
18077 "template" : {
7aacca6f 18078 "default" : 0,
44660702 18079 "description" : "Enable/disable Template.",
7aacca6f 18080 "optional" : 1,
013dc89f
DM
18081 "type" : "boolean",
18082 "typetext" : "<boolean>"
7aacca6f 18083 },
44660702
DM
18084 "unique" : {
18085 "description" : "Assign a unique random ethernet address.",
7aacca6f 18086 "optional" : 1,
44660702 18087 "requires" : "archive",
013dc89f
DM
18088 "type" : "boolean",
18089 "typetext" : "<boolean>"
56122987 18090 },
44660702 18091 "unused[n]" : {
c2993fe5 18092 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 18093 "format" : "pve-volume-id",
7aacca6f 18094 "optional" : 1,
013dc89f
DM
18095 "type" : "string",
18096 "typetext" : "<string>"
44660702
DM
18097 },
18098 "usb[n]" : {
c2993fe5 18099 "description" : "Configure an USB device (n is 0 to 4).",
56122987 18100 "format" : {
7aacca6f
DM
18101 "host" : {
18102 "default_key" : 1,
c2993fe5 18103 "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 18104 "format" : "pve-qm-usb-device",
44660702
DM
18105 "format_description" : "HOSTUSBDEVICE|spice",
18106 "type" : "string"
7aacca6f 18107 },
56122987 18108 "usb3" : {
c2993fe5
DM
18109 "default" : 0,
18110 "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 18111 "optional" : 1,
56122987 18112 "type" : "boolean"
7aacca6f 18113 }
56122987 18114 },
56122987 18115 "optional" : 1,
4bd7df8b
DM
18116 "type" : "string",
18117 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 18118 },
44660702
DM
18119 "vcpus" : {
18120 "default" : 0,
18121 "description" : "Number of hotplugged vcpus.",
18122 "minimum" : 1,
56122987 18123 "optional" : 1,
4bd7df8b 18124 "type" : "integer",
013dc89f 18125 "typetext" : "<integer> (1 - N)"
7aacca6f 18126 },
44660702 18127 "vga" : {
c2993fe5 18128 "description" : "Select the VGA type.",
44660702 18129 "enum" : [
44660702 18130 "cirrus",
44660702 18131 "qxl",
4d47f125
TL
18132 "qxl2",
18133 "qxl3",
18134 "qxl4",
44660702
DM
18135 "serial0",
18136 "serial1",
18137 "serial2",
18138 "serial3",
4d47f125
TL
18139 "std",
18140 "virtio",
18141 "vmware"
44660702
DM
18142 ],
18143 "optional" : 1,
c2993fe5
DM
18144 "type" : "string",
18145 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
7aacca6f 18146 },
44660702
DM
18147 "virtio[n]" : {
18148 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
18149 "format" : {
18150 "aio" : {
18151 "description" : "AIO type to use.",
18152 "enum" : [
18153 "native",
18154 "threads"
18155 ],
44660702
DM
18156 "optional" : 1,
18157 "type" : "string"
18158 },
18159 "backup" : {
18160 "description" : "Whether the drive should be included when making backups.",
44660702
DM
18161 "optional" : 1,
18162 "type" : "boolean"
18163 },
18164 "bps" : {
de0983cb 18165 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
18166 "format_description" : "bps",
18167 "optional" : 1,
18168 "type" : "integer"
18169 },
de0983cb
DM
18170 "bps_max_length" : {
18171 "description" : "Maximum length of I/O bursts in seconds.",
18172 "format_description" : "seconds",
18173 "minimum" : 1,
18174 "optional" : 1,
18175 "type" : "integer"
18176 },
44660702 18177 "bps_rd" : {
de0983cb 18178 "description" : "Maximum read speed in bytes per second.",
44660702
DM
18179 "format_description" : "bps",
18180 "optional" : 1,
18181 "type" : "integer"
18182 },
de0983cb 18183 "bps_rd_length" : {
5d9c884c
DM
18184 "alias" : "bps_rd_max_length"
18185 },
18186 "bps_rd_max_length" : {
de0983cb
DM
18187 "description" : "Maximum length of read I/O bursts in seconds.",
18188 "format_description" : "seconds",
18189 "minimum" : 1,
18190 "optional" : 1,
18191 "type" : "integer"
18192 },
44660702 18193 "bps_wr" : {
de0983cb 18194 "description" : "Maximum write speed in bytes per second.",
44660702
DM
18195 "format_description" : "bps",
18196 "optional" : 1,
18197 "type" : "integer"
18198 },
de0983cb 18199 "bps_wr_length" : {
5d9c884c
DM
18200 "alias" : "bps_wr_max_length"
18201 },
18202 "bps_wr_max_length" : {
de0983cb
DM
18203 "description" : "Maximum length of write I/O bursts in seconds.",
18204 "format_description" : "seconds",
18205 "minimum" : 1,
18206 "optional" : 1,
18207 "type" : "integer"
18208 },
44660702
DM
18209 "cache" : {
18210 "description" : "The drive's cache mode",
18211 "enum" : [
18212 "none",
18213 "writethrough",
18214 "writeback",
18215 "unsafe",
18216 "directsync"
18217 ],
44660702
DM
18218 "optional" : 1,
18219 "type" : "string"
18220 },
18221 "cyls" : {
18222 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
18223 "optional" : 1,
18224 "type" : "integer"
18225 },
18226 "detect_zeroes" : {
18227 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
18228 "optional" : 1,
18229 "type" : "boolean"
18230 },
18231 "discard" : {
18232 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
18233 "enum" : [
18234 "ignore",
18235 "on"
18236 ],
44660702
DM
18237 "optional" : 1,
18238 "type" : "string"
18239 },
18240 "file" : {
18241 "default_key" : 1,
18242 "description" : "The drive's backing volume.",
18243 "format" : "pve-volume-id-or-qm-path",
18244 "format_description" : "volume",
18245 "type" : "string"
18246 },
18247 "format" : {
18248 "description" : "The drive's backing file's data format.",
18249 "enum" : [
18250 "raw",
18251 "cow",
18252 "qcow",
18253 "qed",
18254 "qcow2",
18255 "vmdk",
18256 "cloop"
18257 ],
44660702
DM
18258 "optional" : 1,
18259 "type" : "string"
18260 },
18261 "heads" : {
18262 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
18263 "optional" : 1,
18264 "type" : "integer"
18265 },
18266 "iops" : {
de0983cb 18267 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
18268 "format_description" : "iops",
18269 "optional" : 1,
18270 "type" : "integer"
18271 },
18272 "iops_max" : {
de0983cb 18273 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
18274 "format_description" : "iops",
18275 "optional" : 1,
18276 "type" : "integer"
18277 },
de0983cb
DM
18278 "iops_max_length" : {
18279 "description" : "Maximum length of I/O bursts in seconds.",
18280 "format_description" : "seconds",
18281 "minimum" : 1,
18282 "optional" : 1,
18283 "type" : "integer"
18284 },
44660702 18285 "iops_rd" : {
de0983cb 18286 "description" : "Maximum read I/O in operations per second.",
44660702
DM
18287 "format_description" : "iops",
18288 "optional" : 1,
18289 "type" : "integer"
18290 },
de0983cb 18291 "iops_rd_length" : {
5d9c884c 18292 "alias" : "iops_rd_max_length"
de0983cb 18293 },
44660702 18294 "iops_rd_max" : {
de0983cb 18295 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
18296 "format_description" : "iops",
18297 "optional" : 1,
18298 "type" : "integer"
18299 },
5d9c884c
DM
18300 "iops_rd_max_length" : {
18301 "description" : "Maximum length of read I/O bursts in seconds.",
18302 "format_description" : "seconds",
18303 "minimum" : 1,
18304 "optional" : 1,
18305 "type" : "integer"
18306 },
44660702 18307 "iops_wr" : {
de0983cb 18308 "description" : "Maximum write I/O in operations per second.",
44660702
DM
18309 "format_description" : "iops",
18310 "optional" : 1,
18311 "type" : "integer"
18312 },
de0983cb 18313 "iops_wr_length" : {
5d9c884c 18314 "alias" : "iops_wr_max_length"
de0983cb 18315 },
44660702 18316 "iops_wr_max" : {
de0983cb 18317 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
18318 "format_description" : "iops",
18319 "optional" : 1,
18320 "type" : "integer"
18321 },
5d9c884c
DM
18322 "iops_wr_max_length" : {
18323 "description" : "Maximum length of write I/O bursts in seconds.",
18324 "format_description" : "seconds",
18325 "minimum" : 1,
18326 "optional" : 1,
18327 "type" : "integer"
18328 },
44660702
DM
18329 "iothread" : {
18330 "description" : "Whether to use iothreads for this drive",
44660702
DM
18331 "optional" : 1,
18332 "type" : "boolean"
18333 },
18334 "mbps" : {
de0983cb 18335 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
18336 "format_description" : "mbps",
18337 "optional" : 1,
18338 "type" : "number"
18339 },
18340 "mbps_max" : {
de0983cb 18341 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
18342 "format_description" : "mbps",
18343 "optional" : 1,
18344 "type" : "number"
18345 },
18346 "mbps_rd" : {
de0983cb 18347 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
18348 "format_description" : "mbps",
18349 "optional" : 1,
18350 "type" : "number"
18351 },
18352 "mbps_rd_max" : {
de0983cb 18353 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
18354 "format_description" : "mbps",
18355 "optional" : 1,
18356 "type" : "number"
18357 },
18358 "mbps_wr" : {
de0983cb 18359 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
18360 "format_description" : "mbps",
18361 "optional" : 1,
18362 "type" : "number"
18363 },
18364 "mbps_wr_max" : {
de0983cb 18365 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
18366 "format_description" : "mbps",
18367 "optional" : 1,
18368 "type" : "number"
18369 },
18370 "media" : {
18371 "default" : "disk",
18372 "description" : "The drive's media type.",
18373 "enum" : [
18374 "cdrom",
18375 "disk"
18376 ],
44660702
DM
18377 "optional" : 1,
18378 "type" : "string"
18379 },
5d9c884c
DM
18380 "replicate" : {
18381 "default" : 1,
18382 "description" : "Whether the drive should considered for replication jobs.",
18383 "optional" : 1,
18384 "type" : "boolean"
18385 },
44660702
DM
18386 "rerror" : {
18387 "description" : "Read error action.",
18388 "enum" : [
18389 "ignore",
18390 "report",
18391 "stop"
18392 ],
44660702
DM
18393 "optional" : 1,
18394 "type" : "string"
18395 },
18396 "secs" : {
18397 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
18398 "optional" : 1,
18399 "type" : "integer"
18400 },
18401 "serial" : {
18402 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18403 "format" : "urlencoded",
18404 "format_description" : "serial",
18405 "maxLength" : 60,
18406 "optional" : 1,
18407 "type" : "string"
18408 },
27a7acb2
DM
18409 "shared" : {
18410 "default" : 0,
18411 "description" : "Mark this locally-managed volume as available on all nodes",
18412 "optional" : 1,
18413 "type" : "boolean",
18414 "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!"
18415 },
44660702
DM
18416 "size" : {
18417 "description" : "Disk size. This is purely informational and has no effect.",
18418 "format" : "disk-size",
f004f5b9 18419 "format_description" : "DiskSize",
44660702
DM
18420 "optional" : 1,
18421 "type" : "string"
18422 },
18423 "snapshot" : {
27a7acb2 18424 "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
18425 "optional" : 1,
18426 "type" : "boolean"
18427 },
18428 "trans" : {
18429 "description" : "Force disk geometry bios translation mode.",
18430 "enum" : [
18431 "none",
18432 "lba",
18433 "auto"
18434 ],
44660702
DM
18435 "optional" : 1,
18436 "type" : "string"
18437 },
18438 "volume" : {
18439 "alias" : "file"
18440 },
18441 "werror" : {
18442 "description" : "Write error action.",
18443 "enum" : [
18444 "enospc",
18445 "ignore",
18446 "report",
18447 "stop"
18448 ],
44660702
DM
18449 "optional" : 1,
18450 "type" : "string"
18451 }
18452 },
18453 "optional" : 1,
4bd7df8b 18454 "type" : "string",
27a7acb2 18455 "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 18456 },
4d47f125
TL
18457 "vmgenid" : {
18458 "default" : "1 (autogenerated)",
18459 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
18460 "format_description" : "UUID",
18461 "optional" : 1,
18462 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
18463 "type" : "string",
18464 "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."
18465 },
44660702
DM
18466 "vmid" : {
18467 "description" : "The (unique) ID of the VM.",
18468 "format" : "pve-vmid",
18469 "minimum" : 1,
4bd7df8b 18470 "type" : "integer",
013dc89f 18471 "typetext" : "<integer> (1 - N)"
44660702 18472 },
2489d6df
WB
18473 "vmstatestorage" : {
18474 "description" : "Default storage for VM state volumes/files.",
18475 "format" : "pve-storage-id",
18476 "optional" : 1,
18477 "type" : "string",
18478 "typetext" : "<string>"
18479 },
44660702 18480 "watchdog" : {
c2993fe5 18481 "description" : "Create a virtual hardware watchdog device.",
44660702 18482 "format" : "pve-qm-watchdog",
7aacca6f 18483 "optional" : 1,
c2993fe5 18484 "type" : "string",
013dc89f 18485 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 18486 "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 18487 }
44660702 18488 }
56122987 18489 },
56122987 18490 "permissions" : {
44660702
DM
18491 "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.",
18492 "user" : "all"
56122987 18493 },
44660702
DM
18494 "protected" : 1,
18495 "proxyto" : "node",
56122987 18496 "returns" : {
44660702 18497 "type" : "string"
7aacca6f 18498 }
56122987 18499 }
7aacca6f 18500 },
44660702 18501 "leaf" : 0,
7aacca6f 18502 "path" : "/nodes/{node}/qemu",
44660702 18503 "text" : "qemu"
56122987
DM
18504 },
18505 {
18506 "children" : [
18507 {
56122987
DM
18508 "children" : [
18509 {
56122987 18510 "info" : {
44660702
DM
18511 "GET" : {
18512 "description" : "Get container configuration.",
18513 "method" : "GET",
18514 "name" : "vm_config",
18515 "parameters" : {
18516 "additionalProperties" : 0,
18517 "properties" : {
18518 "node" : {
18519 "description" : "The cluster node name.",
18520 "format" : "pve-node",
013dc89f 18521 "type" : "string",
4d47f125
TL
18522 "typetext" : "<string>"
18523 },
18524 "vmid" : {
18525 "description" : "The (unique) ID of the VM.",
18526 "format" : "pve-vmid",
18527 "minimum" : 1,
18528 "type" : "integer",
18529 "typetext" : "<integer> (1 - N)"
18530 }
18531 }
18532 },
18533 "permissions" : {
18534 "check" : [
18535 "perm",
18536 "/vms/{vmid}",
18537 [
18538 "VM.Audit"
18539 ]
18540 ]
18541 },
18542 "proxyto" : "node",
18543 "returns" : {
18544 "properties" : {
18545 "arch" : {
18546 "default" : "amd64",
18547 "description" : "OS architecture type.",
18548 "enum" : [
18549 "amd64",
18550 "i386",
18551 "arm64",
18552 "armhf"
18553 ],
18554 "optional" : 1,
18555 "type" : "string"
18556 },
18557 "cmode" : {
18558 "default" : "tty",
18559 "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).",
18560 "enum" : [
18561 "shell",
18562 "console",
18563 "tty"
18564 ],
18565 "optional" : 1,
18566 "type" : "string"
18567 },
18568 "console" : {
18569 "default" : 1,
18570 "description" : "Attach a console device (/dev/console) to the container.",
18571 "optional" : 1,
18572 "type" : "boolean"
18573 },
18574 "cores" : {
18575 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
18576 "maximum" : 128,
18577 "minimum" : 1,
18578 "optional" : 1,
18579 "type" : "integer"
18580 },
18581 "cpulimit" : {
18582 "default" : 0,
18583 "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.",
18584 "maximum" : 128,
18585 "minimum" : 0,
18586 "optional" : 1,
18587 "type" : "number"
18588 },
18589 "cpuunits" : {
18590 "default" : 1024,
18591 "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.",
18592 "maximum" : 500000,
18593 "minimum" : 0,
18594 "optional" : 1,
18595 "type" : "integer"
18596 },
18597 "description" : {
18598 "description" : "Container description. Only used on the configuration web interface.",
18599 "optional" : 1,
18600 "type" : "string"
18601 },
18602 "digest" : {
18603 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
18604 "type" : "string"
18605 },
18606 "features" : {
18607 "description" : "Allow containers access to advanced features.",
18608 "format" : {
18609 "keyctl" : {
18610 "default" : 0,
18611 "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.",
18612 "optional" : 1,
18613 "type" : "boolean"
18614 },
18615 "mount" : {
18616 "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.",
18617 "format_description" : "fstype;fstype;...",
18618 "optional" : 1,
18619 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
18620 "type" : "string"
18621 },
18622 "nesting" : {
18623 "default" : 0,
18624 "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.",
18625 "optional" : 1,
18626 "type" : "boolean"
18627 }
18628 },
18629 "optional" : 1,
18630 "type" : "string"
18631 },
18632 "hostname" : {
18633 "description" : "Set a host name for the container.",
18634 "format" : "dns-name",
18635 "maxLength" : 255,
18636 "optional" : 1,
18637 "type" : "string"
18638 },
18639 "lock" : {
18640 "description" : "Lock/unlock the VM.",
18641 "enum" : [
18642 "backup",
18643 "disk",
18644 "migrate",
18645 "mounted",
18646 "rollback",
18647 "snapshot",
18648 "snapshot-delete"
18649 ],
18650 "optional" : 1,
18651 "type" : "string"
18652 },
18653 "lxc" : {
18654 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
18655 "items" : {
18656 "items" : {
18657 "type" : "string"
18658 },
18659 "type" : "array"
18660 },
18661 "optional" : 1,
18662 "type" : "array"
18663 },
18664 "memory" : {
18665 "default" : 512,
18666 "description" : "Amount of RAM for the VM in MB.",
18667 "minimum" : 16,
18668 "optional" : 1,
18669 "type" : "integer"
18670 },
18671 "mp[n]" : {
18672 "description" : "Use volume as container mount point.",
18673 "format" : {
18674 "acl" : {
18675 "description" : "Explicitly enable or disable ACL support.",
18676 "optional" : 1,
18677 "type" : "boolean"
18678 },
18679 "backup" : {
18680 "description" : "Whether to include the mount point in backups.",
18681 "optional" : 1,
18682 "type" : "boolean",
18683 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
18684 },
18685 "mp" : {
18686 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
18687 "format" : "pve-lxc-mp-string",
18688 "format_description" : "Path",
18689 "type" : "string",
18690 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
18691 },
18692 "quota" : {
18693 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
18694 "optional" : 1,
18695 "type" : "boolean"
18696 },
18697 "replicate" : {
18698 "default" : 1,
18699 "description" : "Will include this volume to a storage replica job.",
18700 "optional" : 1,
18701 "type" : "boolean"
18702 },
18703 "ro" : {
18704 "description" : "Read-only mount point",
18705 "optional" : 1,
18706 "type" : "boolean"
18707 },
18708 "shared" : {
18709 "default" : 0,
18710 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
18711 "optional" : 1,
18712 "type" : "boolean",
18713 "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!"
18714 },
18715 "size" : {
18716 "description" : "Volume size (read only value).",
18717 "format" : "disk-size",
18718 "format_description" : "DiskSize",
18719 "optional" : 1,
18720 "type" : "string"
18721 },
18722 "volume" : {
18723 "default_key" : 1,
18724 "description" : "Volume, device or directory to mount into the container.",
18725 "format" : "pve-lxc-mp-string",
18726 "format_description" : "volume",
18727 "type" : "string"
18728 }
18729 },
18730 "optional" : 1,
18731 "type" : "string"
18732 },
18733 "nameserver" : {
18734 "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.",
18735 "format" : "address-list",
18736 "optional" : 1,
18737 "type" : "string"
18738 },
18739 "net[n]" : {
18740 "description" : "Specifies network interfaces for the container.",
18741 "format" : {
18742 "bridge" : {
18743 "description" : "Bridge to attach the network device to.",
18744 "format_description" : "bridge",
18745 "optional" : 1,
18746 "pattern" : "[-_.\\w\\d]+",
18747 "type" : "string"
18748 },
18749 "firewall" : {
18750 "description" : "Controls whether this interface's firewall rules should be used.",
18751 "optional" : 1,
18752 "type" : "boolean"
18753 },
18754 "gw" : {
18755 "description" : "Default gateway for IPv4 traffic.",
18756 "format" : "ipv4",
18757 "format_description" : "GatewayIPv4",
18758 "optional" : 1,
18759 "type" : "string"
18760 },
18761 "gw6" : {
18762 "description" : "Default gateway for IPv6 traffic.",
18763 "format" : "ipv6",
18764 "format_description" : "GatewayIPv6",
18765 "optional" : 1,
18766 "type" : "string"
18767 },
18768 "hwaddr" : {
18769 "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)",
18770 "format_description" : "XX:XX:XX:XX:XX:XX",
18771 "optional" : 1,
18772 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
18773 "type" : "string"
18774 },
18775 "ip" : {
18776 "description" : "IPv4 address in CIDR format.",
18777 "format" : "pve-ipv4-config",
18778 "format_description" : "(IPv4/CIDR|dhcp|manual)",
18779 "optional" : 1,
18780 "type" : "string"
18781 },
18782 "ip6" : {
18783 "description" : "IPv6 address in CIDR format.",
18784 "format" : "pve-ipv6-config",
18785 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
18786 "optional" : 1,
18787 "type" : "string"
18788 },
18789 "mtu" : {
18790 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
18791 "minimum" : 64,
18792 "optional" : 1,
18793 "type" : "integer"
18794 },
18795 "name" : {
18796 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
18797 "format_description" : "string",
18798 "pattern" : "[-_.\\w\\d]+",
18799 "type" : "string"
18800 },
18801 "rate" : {
18802 "description" : "Apply rate limiting to the interface",
18803 "format_description" : "mbps",
18804 "optional" : 1,
18805 "type" : "number"
18806 },
18807 "tag" : {
18808 "description" : "VLAN tag for this interface.",
18809 "maximum" : 4094,
18810 "minimum" : 1,
18811 "optional" : 1,
18812 "type" : "integer"
18813 },
18814 "trunks" : {
18815 "description" : "VLAN ids to pass through the interface",
18816 "format_description" : "vlanid[;vlanid...]",
18817 "optional" : 1,
18818 "pattern" : "(?^:\\d+(?:;\\d+)*)",
18819 "type" : "string"
18820 },
18821 "type" : {
18822 "description" : "Network interface type.",
18823 "enum" : [
18824 "veth"
18825 ],
18826 "optional" : 1,
18827 "type" : "string"
18828 }
18829 },
18830 "optional" : 1,
18831 "type" : "string"
18832 },
18833 "onboot" : {
18834 "default" : 0,
18835 "description" : "Specifies whether a VM will be started during system bootup.",
18836 "optional" : 1,
18837 "type" : "boolean"
18838 },
18839 "ostype" : {
18840 "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.",
18841 "enum" : [
18842 "debian",
18843 "ubuntu",
18844 "centos",
18845 "fedora",
18846 "opensuse",
18847 "archlinux",
18848 "alpine",
18849 "gentoo",
18850 "unmanaged"
18851 ],
18852 "optional" : 1,
18853 "type" : "string"
18854 },
18855 "protection" : {
18856 "default" : 0,
18857 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
18858 "optional" : 1,
18859 "type" : "boolean"
18860 },
18861 "rootfs" : {
18862 "description" : "Use volume as container root.",
18863 "format" : {
18864 "acl" : {
18865 "description" : "Explicitly enable or disable ACL support.",
18866 "optional" : 1,
18867 "type" : "boolean"
18868 },
18869 "quota" : {
18870 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
18871 "optional" : 1,
18872 "type" : "boolean"
18873 },
18874 "replicate" : {
18875 "default" : 1,
18876 "description" : "Will include this volume to a storage replica job.",
18877 "optional" : 1,
18878 "type" : "boolean"
18879 },
18880 "ro" : {
18881 "description" : "Read-only mount point",
18882 "optional" : 1,
18883 "type" : "boolean"
18884 },
18885 "shared" : {
18886 "default" : 0,
18887 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
18888 "optional" : 1,
18889 "type" : "boolean",
18890 "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!"
18891 },
18892 "size" : {
18893 "description" : "Volume size (read only value).",
18894 "format" : "disk-size",
18895 "format_description" : "DiskSize",
18896 "optional" : 1,
18897 "type" : "string"
18898 },
18899 "volume" : {
18900 "default_key" : 1,
18901 "description" : "Volume, device or directory to mount into the container.",
18902 "format" : "pve-lxc-mp-string",
18903 "format_description" : "volume",
18904 "type" : "string"
18905 }
18906 },
18907 "optional" : 1,
18908 "type" : "string"
18909 },
18910 "searchdomain" : {
18911 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
18912 "format" : "dns-name-list",
18913 "optional" : 1,
18914 "type" : "string"
18915 },
18916 "startup" : {
18917 "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.",
18918 "format" : "pve-startup-order",
18919 "optional" : 1,
18920 "type" : "string",
18921 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
18922 },
18923 "swap" : {
18924 "default" : 512,
18925 "description" : "Amount of SWAP for the VM in MB.",
18926 "minimum" : 0,
18927 "optional" : 1,
18928 "type" : "integer"
18929 },
18930 "template" : {
18931 "default" : 0,
18932 "description" : "Enable/disable Template.",
18933 "optional" : 1,
18934 "type" : "boolean"
44660702 18935 },
4d47f125
TL
18936 "tty" : {
18937 "default" : 2,
18938 "description" : "Specify the number of tty available to the container",
18939 "maximum" : 6,
18940 "minimum" : 0,
18941 "optional" : 1,
18942 "type" : "integer"
18943 },
18944 "unprivileged" : {
18945 "default" : 0,
18946 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
18947 "optional" : 1,
18948 "type" : "boolean"
18949 },
18950 "unused[n]" : {
18951 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
18952 "format" : "pve-volume-id",
18953 "optional" : 1,
44660702
DM
18954 "type" : "string"
18955 }
18956 },
18957 "type" : "object"
18958 }
18959 },
56122987 18960 "PUT" : {
44660702
DM
18961 "description" : "Set container options.",
18962 "method" : "PUT",
18963 "name" : "update_vm",
56122987 18964 "parameters" : {
44660702 18965 "additionalProperties" : 0,
56122987 18966 "properties" : {
44660702
DM
18967 "arch" : {
18968 "default" : "amd64",
18969 "description" : "OS architecture type.",
18970 "enum" : [
18971 "amd64",
4d47f125
TL
18972 "i386",
18973 "arm64",
18974 "armhf"
44660702 18975 ],
7aacca6f 18976 "optional" : 1,
44660702
DM
18977 "type" : "string"
18978 },
18979 "cmode" : {
7aacca6f 18980 "default" : "tty",
44660702 18981 "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
18982 "enum" : [
18983 "shell",
18984 "console",
18985 "tty"
18986 ],
44660702
DM
18987 "optional" : 1,
18988 "type" : "string"
7aacca6f 18989 },
44660702
DM
18990 "console" : {
18991 "default" : 1,
18992 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 18993 "optional" : 1,
013dc89f
DM
18994 "type" : "boolean",
18995 "typetext" : "<boolean>"
7aacca6f 18996 },
de0983cb
DM
18997 "cores" : {
18998 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
18999 "maximum" : 128,
19000 "minimum" : 1,
19001 "optional" : 1,
19002 "type" : "integer",
013dc89f 19003 "typetext" : "<integer> (1 - 128)"
de0983cb 19004 },
44660702
DM
19005 "cpulimit" : {
19006 "default" : 0,
19007 "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.",
19008 "maximum" : 128,
7aacca6f 19009 "minimum" : 0,
7aacca6f 19010 "optional" : 1,
4bd7df8b 19011 "type" : "number",
013dc89f 19012 "typetext" : "<number> (0 - 128)"
7aacca6f 19013 },
44660702
DM
19014 "cpuunits" : {
19015 "default" : 1024,
19016 "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.",
19017 "maximum" : 500000,
19018 "minimum" : 0,
19019 "optional" : 1,
4bd7df8b 19020 "type" : "integer",
013dc89f 19021 "typetext" : "<integer> (0 - 500000)"
7aacca6f 19022 },
44660702
DM
19023 "delete" : {
19024 "description" : "A list of settings you want to delete.",
19025 "format" : "pve-configid-list",
7aacca6f 19026 "optional" : 1,
013dc89f
DM
19027 "type" : "string",
19028 "typetext" : "<string>"
7aacca6f 19029 },
44660702
DM
19030 "description" : {
19031 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 19032 "optional" : 1,
013dc89f
DM
19033 "type" : "string",
19034 "typetext" : "<string>"
7aacca6f 19035 },
44660702
DM
19036 "digest" : {
19037 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19038 "maxLength" : 40,
7aacca6f 19039 "optional" : 1,
013dc89f
DM
19040 "type" : "string",
19041 "typetext" : "<string>"
7aacca6f 19042 },
4d47f125
TL
19043 "features" : {
19044 "description" : "Allow containers access to advanced features.",
19045 "format" : {
19046 "keyctl" : {
19047 "default" : 0,
19048 "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.",
19049 "optional" : 1,
19050 "type" : "boolean"
19051 },
19052 "mount" : {
19053 "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.",
19054 "format_description" : "fstype;fstype;...",
19055 "optional" : 1,
19056 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
19057 "type" : "string"
19058 },
19059 "nesting" : {
19060 "default" : 0,
19061 "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.",
19062 "optional" : 1,
19063 "type" : "boolean"
19064 }
19065 },
19066 "optional" : 1,
19067 "type" : "string",
19068 "typetext" : "[keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
19069 },
44660702
DM
19070 "hostname" : {
19071 "description" : "Set a host name for the container.",
19072 "format" : "dns-name",
19073 "maxLength" : 255,
56122987 19074 "optional" : 1,
013dc89f
DM
19075 "type" : "string",
19076 "typetext" : "<string>"
44660702
DM
19077 },
19078 "lock" : {
19079 "description" : "Lock/unlock the VM.",
19080 "enum" : [
44660702 19081 "backup",
4d47f125
TL
19082 "disk",
19083 "migrate",
19084 "mounted",
19085 "rollback",
44660702 19086 "snapshot",
4d47f125 19087 "snapshot-delete"
44660702
DM
19088 ],
19089 "optional" : 1,
19090 "type" : "string"
19091 },
19092 "memory" : {
19093 "default" : 512,
19094 "description" : "Amount of RAM for the VM in MB.",
19095 "minimum" : 16,
19096 "optional" : 1,
4bd7df8b 19097 "type" : "integer",
013dc89f 19098 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
19099 },
19100 "mp[n]" : {
c2993fe5 19101 "description" : "Use volume as container mount point.",
7aacca6f 19102 "format" : {
7aacca6f
DM
19103 "acl" : {
19104 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 19105 "optional" : 1,
44660702 19106 "type" : "boolean"
7aacca6f
DM
19107 },
19108 "backup" : {
de0983cb 19109 "description" : "Whether to include the mount point in backups.",
7aacca6f 19110 "optional" : 1,
4bd7df8b 19111 "type" : "boolean",
de0983cb 19112 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
19113 },
19114 "mp" : {
de0983cb 19115 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 19116 "format" : "pve-lxc-mp-string",
44660702 19117 "format_description" : "Path",
4bd7df8b 19118 "type" : "string",
de0983cb 19119 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 19120 },
5d9c884c
DM
19121 "quota" : {
19122 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19123 "optional" : 1,
19124 "type" : "boolean"
19125 },
19126 "replicate" : {
19127 "default" : 1,
19128 "description" : "Will include this volume to a storage replica job.",
44660702
DM
19129 "optional" : 1,
19130 "type" : "boolean"
19131 },
19132 "ro" : {
de0983cb 19133 "description" : "Read-only mount point",
44660702
DM
19134 "optional" : 1,
19135 "type" : "boolean"
19136 },
de0983cb
DM
19137 "shared" : {
19138 "default" : 0,
19139 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19140 "optional" : 1,
19141 "type" : "boolean",
19142 "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!"
19143 },
44660702
DM
19144 "size" : {
19145 "description" : "Volume size (read only value).",
19146 "format" : "disk-size",
19147 "format_description" : "DiskSize",
19148 "optional" : 1,
19149 "type" : "string"
19150 },
19151 "volume" : {
19152 "default_key" : 1,
19153 "description" : "Volume, device or directory to mount into the container.",
19154 "format" : "pve-lxc-mp-string",
19155 "format_description" : "volume",
19156 "type" : "string"
19157 }
19158 },
7aacca6f 19159 "optional" : 1,
4bd7df8b 19160 "type" : "string",
5d9c884c 19161 "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 19162 },
44660702
DM
19163 "nameserver" : {
19164 "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.",
19165 "format" : "address-list",
56122987 19166 "optional" : 1,
013dc89f
DM
19167 "type" : "string",
19168 "typetext" : "<string>"
56122987
DM
19169 },
19170 "net[n]" : {
44660702 19171 "description" : "Specifies network interfaces for the container.",
56122987 19172 "format" : {
44660702
DM
19173 "bridge" : {
19174 "description" : "Bridge to attach the network device to.",
f004f5b9 19175 "format_description" : "bridge",
56122987 19176 "optional" : 1,
44660702
DM
19177 "pattern" : "[-_.\\w\\d]+",
19178 "type" : "string"
56122987 19179 },
44660702
DM
19180 "firewall" : {
19181 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 19182 "optional" : 1,
44660702 19183 "type" : "boolean"
56122987 19184 },
44660702
DM
19185 "gw" : {
19186 "description" : "Default gateway for IPv4 traffic.",
19187 "format" : "ipv4",
19188 "format_description" : "GatewayIPv4",
56122987 19189 "optional" : 1,
44660702 19190 "type" : "string"
56122987
DM
19191 },
19192 "gw6" : {
7aacca6f 19193 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
19194 "format" : "ipv6",
19195 "format_description" : "GatewayIPv6",
7aacca6f 19196 "optional" : 1,
56122987
DM
19197 "type" : "string"
19198 },
44660702 19199 "hwaddr" : {
f004f5b9
DM
19200 "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)",
19201 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
19202 "optional" : 1,
19203 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
19204 "type" : "string"
19205 },
19206 "ip" : {
19207 "description" : "IPv4 address in CIDR format.",
19208 "format" : "pve-ipv4-config",
2489d6df 19209 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 19210 "optional" : 1,
44660702 19211 "type" : "string"
56122987 19212 },
7aacca6f 19213 "ip6" : {
7aacca6f
DM
19214 "description" : "IPv6 address in CIDR format.",
19215 "format" : "pve-ipv6-config",
2489d6df 19216 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 19217 "optional" : 1,
44660702 19218 "type" : "string"
56122987 19219 },
44660702
DM
19220 "mtu" : {
19221 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 19222 "minimum" : 64,
56122987 19223 "optional" : 1,
44660702 19224 "type" : "integer"
56122987
DM
19225 },
19226 "name" : {
44660702 19227 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 19228 "format_description" : "string",
56122987 19229 "pattern" : "[-_.\\w\\d]+",
44660702 19230 "type" : "string"
56122987 19231 },
44660702
DM
19232 "rate" : {
19233 "description" : "Apply rate limiting to the interface",
19234 "format_description" : "mbps",
56122987 19235 "optional" : 1,
44660702 19236 "type" : "number"
7aacca6f 19237 },
44660702
DM
19238 "tag" : {
19239 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
19240 "maximum" : 4094,
19241 "minimum" : 1,
56122987 19242 "optional" : 1,
7aacca6f 19243 "type" : "integer"
56122987 19244 },
44660702
DM
19245 "trunks" : {
19246 "description" : "VLAN ids to pass through the interface",
19247 "format_description" : "vlanid[;vlanid...]",
19248 "optional" : 1,
19249 "pattern" : "(?^:\\d+(?:;\\d+)*)",
19250 "type" : "string"
19251 },
19252 "type" : {
19253 "description" : "Network interface type.",
19254 "enum" : [
19255 "veth"
19256 ],
56122987 19257 "optional" : 1,
44660702 19258 "type" : "string"
56122987
DM
19259 }
19260 },
7aacca6f 19261 "optional" : 1,
4bd7df8b 19262 "type" : "string",
2489d6df 19263 "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 19264 },
44660702
DM
19265 "node" : {
19266 "description" : "The cluster node name.",
19267 "format" : "pve-node",
013dc89f
DM
19268 "type" : "string",
19269 "typetext" : "<string>"
56122987 19270 },
44660702
DM
19271 "onboot" : {
19272 "default" : 0,
19273 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 19274 "optional" : 1,
013dc89f
DM
19275 "type" : "boolean",
19276 "typetext" : "<boolean>"
56122987 19277 },
44660702
DM
19278 "ostype" : {
19279 "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.",
19280 "enum" : [
19281 "debian",
19282 "ubuntu",
19283 "centos",
19284 "fedora",
19285 "opensuse",
19286 "archlinux",
19287 "alpine",
57b78691 19288 "gentoo",
44660702
DM
19289 "unmanaged"
19290 ],
56122987 19291 "optional" : 1,
44660702 19292 "type" : "string"
56122987 19293 },
44660702
DM
19294 "protection" : {
19295 "default" : 0,
19296 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 19297 "optional" : 1,
013dc89f
DM
19298 "type" : "boolean",
19299 "typetext" : "<boolean>"
56122987 19300 },
7aacca6f
DM
19301 "rootfs" : {
19302 "description" : "Use volume as container root.",
56122987
DM
19303 "format" : {
19304 "acl" : {
44660702 19305 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
19306 "optional" : 1,
19307 "type" : "boolean"
56122987 19308 },
44660702
DM
19309 "quota" : {
19310 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
19311 "optional" : 1,
19312 "type" : "boolean"
19313 },
5d9c884c
DM
19314 "replicate" : {
19315 "default" : 1,
19316 "description" : "Will include this volume to a storage replica job.",
19317 "optional" : 1,
19318 "type" : "boolean"
19319 },
44660702 19320 "ro" : {
de0983cb 19321 "description" : "Read-only mount point",
56122987 19322 "optional" : 1,
44660702
DM
19323 "type" : "boolean"
19324 },
de0983cb
DM
19325 "shared" : {
19326 "default" : 0,
19327 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19328 "optional" : 1,
19329 "type" : "boolean",
19330 "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!"
19331 },
44660702 19332 "size" : {
7aacca6f 19333 "description" : "Volume size (read only value).",
44660702 19334 "format" : "disk-size",
56122987 19335 "format_description" : "DiskSize",
56122987 19336 "optional" : 1,
44660702 19337 "type" : "string"
7aacca6f
DM
19338 },
19339 "volume" : {
7aacca6f
DM
19340 "default_key" : 1,
19341 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
19342 "format" : "pve-lxc-mp-string",
19343 "format_description" : "volume",
7aacca6f 19344 "type" : "string"
56122987 19345 }
44660702
DM
19346 },
19347 "optional" : 1,
4bd7df8b 19348 "type" : "string",
5d9c884c 19349 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
19350 },
19351 "searchdomain" : {
19352 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
19353 "format" : "dns-name-list",
19354 "optional" : 1,
013dc89f
DM
19355 "type" : "string",
19356 "typetext" : "<string>"
44660702
DM
19357 },
19358 "startup" : {
19359 "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.",
19360 "format" : "pve-startup-order",
19361 "optional" : 1,
19362 "type" : "string",
19363 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
19364 },
19365 "swap" : {
19366 "default" : 512,
19367 "description" : "Amount of SWAP for the VM in MB.",
19368 "minimum" : 0,
19369 "optional" : 1,
4bd7df8b 19370 "type" : "integer",
013dc89f 19371 "typetext" : "<integer> (0 - N)"
56122987 19372 },
56122987 19373 "template" : {
44660702 19374 "default" : 0,
7aacca6f 19375 "description" : "Enable/disable Template.",
56122987 19376 "optional" : 1,
013dc89f
DM
19377 "type" : "boolean",
19378 "typetext" : "<boolean>"
56122987 19379 },
44660702
DM
19380 "tty" : {
19381 "default" : 2,
19382 "description" : "Specify the number of tty available to the container",
19383 "maximum" : 6,
19384 "minimum" : 0,
19385 "optional" : 1,
4bd7df8b 19386 "type" : "integer",
013dc89f 19387 "typetext" : "<integer> (0 - 6)"
56122987 19388 },
44660702
DM
19389 "unprivileged" : {
19390 "default" : 0,
19391 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 19392 "optional" : 1,
013dc89f
DM
19393 "type" : "boolean",
19394 "typetext" : "<boolean>"
56122987 19395 },
44660702 19396 "unused[n]" : {
c2993fe5 19397 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 19398 "format" : "pve-volume-id",
56122987 19399 "optional" : 1,
013dc89f
DM
19400 "type" : "string",
19401 "typetext" : "<string>"
44660702
DM
19402 },
19403 "vmid" : {
19404 "description" : "The (unique) ID of the VM.",
19405 "format" : "pve-vmid",
19406 "minimum" : 1,
4bd7df8b 19407 "type" : "integer",
013dc89f 19408 "typetext" : "<integer> (1 - N)"
56122987 19409 }
44660702 19410 }
56122987 19411 },
56122987
DM
19412 "permissions" : {
19413 "check" : [
19414 "perm",
19415 "/vms/{vmid}",
19416 [
19417 "VM.Config.Disk",
19418 "VM.Config.CPU",
19419 "VM.Config.Memory",
19420 "VM.Config.Network",
19421 "VM.Config.Options"
19422 ],
19423 "any",
19424 1
52e44c50
FG
19425 ],
19426 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 19427 },
44660702
DM
19428 "protected" : 1,
19429 "proxyto" : "node",
56122987
DM
19430 "returns" : {
19431 "type" : "null"
7aacca6f 19432 }
56122987 19433 }
7aacca6f 19434 },
44660702 19435 "leaf" : 1,
7aacca6f 19436 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 19437 "text" : "config"
56122987
DM
19438 },
19439 {
56122987
DM
19440 "children" : [
19441 {
19442 "info" : {
19443 "GET" : {
44660702 19444 "description" : "Get virtual machine status.",
7aacca6f 19445 "method" : "GET",
44660702 19446 "name" : "vm_status",
56122987 19447 "parameters" : {
44660702 19448 "additionalProperties" : 0,
56122987 19449 "properties" : {
56122987 19450 "node" : {
44660702 19451 "description" : "The cluster node name.",
56122987 19452 "format" : "pve-node",
013dc89f
DM
19453 "type" : "string",
19454 "typetext" : "<string>"
7aacca6f
DM
19455 },
19456 "vmid" : {
19457 "description" : "The (unique) ID of the VM.",
44660702 19458 "format" : "pve-vmid",
7aacca6f 19459 "minimum" : 1,
4bd7df8b 19460 "type" : "integer",
013dc89f 19461 "typetext" : "<integer> (1 - N)"
56122987 19462 }
44660702 19463 }
7aacca6f
DM
19464 },
19465 "permissions" : {
19466 "check" : [
19467 "perm",
19468 "/vms/{vmid}",
19469 [
4d47f125
TL
19470 "VM.Audit"
19471 ]
19472 ]
19473 },
19474 "protected" : 1,
19475 "proxyto" : "node",
19476 "returns" : {
19477 "properties" : {
19478 "cpus" : {
19479 "description" : "Maximum usable CPUs.",
19480 "optional" : 1,
19481 "type" : "number"
19482 },
19483 "ha" : {
19484 "description" : "HA manager service status.",
19485 "type" : "object"
19486 },
19487 "maxdisk" : {
19488 "description" : "Root disk size in bytes.",
19489 "optional" : 1,
19490 "renderer" : "bytes",
19491 "type" : "integer"
19492 },
19493 "maxmem" : {
19494 "description" : "Maximum memory in bytes.",
19495 "optional" : 1,
19496 "renderer" : "bytes",
19497 "type" : "integer"
19498 },
19499 "maxswap" : {
19500 "description" : "Maximum SWAP memory in bytes.",
19501 "optional" : 1,
19502 "renderer" : "bytes",
19503 "type" : "integer"
19504 },
19505 "name" : {
19506 "description" : "Container name.",
19507 "optional" : 1,
19508 "type" : "string"
19509 },
19510 "status" : {
19511 "description" : "LXC Container status.",
19512 "enum" : [
19513 "stopped",
19514 "running"
19515 ],
19516 "type" : "string"
19517 },
19518 "uptime" : {
19519 "description" : "Uptime.",
19520 "optional" : 1,
19521 "renderer" : "duration",
19522 "type" : "integer"
19523 },
19524 "vmid" : {
19525 "description" : "The (unique) ID of the VM.",
19526 "format" : "pve-vmid",
19527 "minimum" : 1,
19528 "type" : "integer"
19529 }
19530 },
19531 "type" : "object"
19532 }
19533 }
19534 },
19535 "leaf" : 1,
19536 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
19537 "text" : "current"
19538 },
19539 {
19540 "info" : {
19541 "POST" : {
19542 "description" : "Start the container.",
19543 "method" : "POST",
19544 "name" : "vm_start",
19545 "parameters" : {
19546 "additionalProperties" : 0,
19547 "properties" : {
19548 "node" : {
19549 "description" : "The cluster node name.",
19550 "format" : "pve-node",
19551 "type" : "string",
19552 "typetext" : "<string>"
19553 },
19554 "skiplock" : {
19555 "description" : "Ignore locks - only root is allowed to use this option.",
19556 "optional" : 1,
19557 "type" : "boolean",
19558 "typetext" : "<boolean>"
19559 },
19560 "vmid" : {
19561 "description" : "The (unique) ID of the VM.",
19562 "format" : "pve-vmid",
19563 "minimum" : 1,
19564 "type" : "integer",
19565 "typetext" : "<integer> (1 - N)"
19566 }
19567 }
19568 },
19569 "permissions" : {
19570 "check" : [
19571 "perm",
19572 "/vms/{vmid}",
19573 [
19574 "VM.PowerMgmt"
19575 ]
19576 ]
19577 },
19578 "protected" : 1,
19579 "proxyto" : "node",
19580 "returns" : {
19581 "type" : "string"
19582 }
19583 }
19584 },
19585 "leaf" : 1,
19586 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
19587 "text" : "start"
19588 },
19589 {
19590 "info" : {
19591 "POST" : {
19592 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
19593 "method" : "POST",
19594 "name" : "vm_stop",
19595 "parameters" : {
19596 "additionalProperties" : 0,
19597 "properties" : {
19598 "node" : {
19599 "description" : "The cluster node name.",
19600 "format" : "pve-node",
19601 "type" : "string",
19602 "typetext" : "<string>"
19603 },
19604 "skiplock" : {
19605 "description" : "Ignore locks - only root is allowed to use this option.",
19606 "optional" : 1,
19607 "type" : "boolean",
19608 "typetext" : "<boolean>"
19609 },
19610 "vmid" : {
19611 "description" : "The (unique) ID of the VM.",
19612 "format" : "pve-vmid",
19613 "minimum" : 1,
19614 "type" : "integer",
19615 "typetext" : "<integer> (1 - N)"
19616 }
19617 }
19618 },
19619 "permissions" : {
19620 "check" : [
19621 "perm",
19622 "/vms/{vmid}",
19623 [
19624 "VM.PowerMgmt"
19625 ]
19626 ]
19627 },
19628 "protected" : 1,
19629 "proxyto" : "node",
19630 "returns" : {
19631 "type" : "string"
19632 }
19633 }
19634 },
19635 "leaf" : 1,
19636 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
19637 "text" : "stop"
19638 },
19639 {
19640 "info" : {
19641 "POST" : {
19642 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
19643 "method" : "POST",
19644 "name" : "vm_shutdown",
19645 "parameters" : {
19646 "additionalProperties" : 0,
19647 "properties" : {
19648 "forceStop" : {
19649 "default" : 0,
19650 "description" : "Make sure the Container stops.",
19651 "optional" : 1,
19652 "type" : "boolean",
19653 "typetext" : "<boolean>"
19654 },
19655 "node" : {
19656 "description" : "The cluster node name.",
19657 "format" : "pve-node",
19658 "type" : "string",
19659 "typetext" : "<string>"
19660 },
19661 "timeout" : {
19662 "default" : 60,
19663 "description" : "Wait maximal timeout seconds.",
19664 "minimum" : 0,
19665 "optional" : 1,
19666 "type" : "integer",
19667 "typetext" : "<integer> (0 - N)"
19668 },
19669 "vmid" : {
19670 "description" : "The (unique) ID of the VM.",
19671 "format" : "pve-vmid",
19672 "minimum" : 1,
19673 "type" : "integer",
19674 "typetext" : "<integer> (1 - N)"
19675 }
19676 }
19677 },
19678 "permissions" : {
19679 "check" : [
19680 "perm",
19681 "/vms/{vmid}",
19682 [
19683 "VM.PowerMgmt"
7aacca6f
DM
19684 ]
19685 ]
19686 },
44660702 19687 "protected" : 1,
7aacca6f 19688 "proxyto" : "node",
44660702 19689 "returns" : {
4d47f125 19690 "type" : "string"
44660702 19691 }
56122987
DM
19692 }
19693 },
44660702 19694 "leaf" : 1,
4d47f125
TL
19695 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
19696 "text" : "shutdown"
56122987
DM
19697 },
19698 {
56122987
DM
19699 "info" : {
19700 "POST" : {
4d47f125 19701 "description" : "Suspend the container.",
44660702 19702 "method" : "POST",
4d47f125 19703 "name" : "vm_suspend",
56122987
DM
19704 "parameters" : {
19705 "additionalProperties" : 0,
19706 "properties" : {
56122987 19707 "node" : {
7aacca6f 19708 "description" : "The cluster node name.",
44660702 19709 "format" : "pve-node",
013dc89f
DM
19710 "type" : "string",
19711 "typetext" : "<string>"
56122987
DM
19712 },
19713 "vmid" : {
7aacca6f 19714 "description" : "The (unique) ID of the VM.",
44660702 19715 "format" : "pve-vmid",
56122987 19716 "minimum" : 1,
4bd7df8b 19717 "type" : "integer",
013dc89f 19718 "typetext" : "<integer> (1 - N)"
56122987
DM
19719 }
19720 }
19721 },
19722 "permissions" : {
19723 "check" : [
19724 "perm",
19725 "/vms/{vmid}",
19726 [
19727 "VM.PowerMgmt"
19728 ]
19729 ]
19730 },
44660702 19731 "protected" : 1,
7aacca6f 19732 "proxyto" : "node",
44660702
DM
19733 "returns" : {
19734 "type" : "string"
19735 }
19736 }
19737 },
19738 "leaf" : 1,
4d47f125
TL
19739 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
19740 "text" : "suspend"
44660702
DM
19741 },
19742 {
19743 "info" : {
19744 "POST" : {
4d47f125 19745 "description" : "Resume the container.",
7aacca6f 19746 "method" : "POST",
4d47f125 19747 "name" : "vm_resume",
7aacca6f 19748 "parameters" : {
44660702 19749 "additionalProperties" : 0,
7aacca6f 19750 "properties" : {
44660702
DM
19751 "node" : {
19752 "description" : "The cluster node name.",
19753 "format" : "pve-node",
013dc89f
DM
19754 "type" : "string",
19755 "typetext" : "<string>"
44660702 19756 },
7aacca6f 19757 "vmid" : {
44660702 19758 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
19759 "format" : "pve-vmid",
19760 "minimum" : 1,
4bd7df8b 19761 "type" : "integer",
013dc89f 19762 "typetext" : "<integer> (1 - N)"
7aacca6f 19763 }
44660702
DM
19764 }
19765 },
19766 "permissions" : {
19767 "check" : [
19768 "perm",
19769 "/vms/{vmid}",
19770 [
19771 "VM.PowerMgmt"
19772 ]
19773 ]
7aacca6f 19774 },
44660702
DM
19775 "protected" : 1,
19776 "proxyto" : "node",
19777 "returns" : {
19778 "type" : "string"
19779 }
56122987 19780 }
7aacca6f 19781 },
7aacca6f 19782 "leaf" : 1,
4d47f125
TL
19783 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
19784 "text" : "resume"
19785 }
19786 ],
19787 "info" : {
19788 "GET" : {
19789 "description" : "Directory index",
19790 "method" : "GET",
19791 "name" : "vmcmdidx",
19792 "parameters" : {
19793 "additionalProperties" : 0,
19794 "properties" : {
19795 "node" : {
19796 "description" : "The cluster node name.",
19797 "format" : "pve-node",
19798 "type" : "string",
19799 "typetext" : "<string>"
19800 },
19801 "vmid" : {
19802 "description" : "The (unique) ID of the VM.",
19803 "format" : "pve-vmid",
19804 "minimum" : 1,
19805 "type" : "integer",
19806 "typetext" : "<integer> (1 - N)"
19807 }
19808 }
19809 },
19810 "permissions" : {
19811 "user" : "all"
19812 },
19813 "proxyto" : "node",
19814 "returns" : {
19815 "items" : {
19816 "properties" : {
19817 "subdir" : {
19818 "type" : "string"
19819 }
19820 },
19821 "type" : "object"
19822 },
19823 "links" : [
19824 {
19825 "href" : "{subdir}",
19826 "rel" : "child"
19827 }
19828 ],
19829 "type" : "array"
19830 }
19831 }
19832 },
19833 "leaf" : 0,
19834 "path" : "/nodes/{node}/lxc/{vmid}/status",
19835 "text" : "status"
19836 },
19837 {
19838 "children" : [
56122987 19839 {
4d47f125
TL
19840 "children" : [
19841 {
19842 "info" : {
19843 "POST" : {
19844 "description" : "Rollback LXC state to specified snapshot.",
19845 "method" : "POST",
19846 "name" : "rollback",
19847 "parameters" : {
19848 "additionalProperties" : 0,
19849 "properties" : {
19850 "node" : {
19851 "description" : "The cluster node name.",
19852 "format" : "pve-node",
19853 "type" : "string",
19854 "typetext" : "<string>"
19855 },
19856 "snapname" : {
19857 "description" : "The name of the snapshot.",
19858 "format" : "pve-configid",
19859 "maxLength" : 40,
19860 "type" : "string",
19861 "typetext" : "<string>"
19862 },
19863 "vmid" : {
19864 "description" : "The (unique) ID of the VM.",
19865 "format" : "pve-vmid",
19866 "minimum" : 1,
19867 "type" : "integer",
19868 "typetext" : "<integer> (1 - N)"
19869 }
19870 }
19871 },
19872 "permissions" : {
19873 "check" : [
19874 "perm",
19875 "/vms/{vmid}",
19876 [
19877 "VM.Snapshot",
19878 "VM.Snapshot.Rollback"
19879 ],
19880 "any",
19881 1
19882 ]
19883 },
19884 "protected" : 1,
19885 "proxyto" : "node",
19886 "returns" : {
19887 "description" : "the task ID.",
19888 "type" : "string"
19889 }
19890 }
19891 },
19892 "leaf" : 1,
19893 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
19894 "text" : "rollback"
19895 },
19896 {
19897 "info" : {
19898 "GET" : {
19899 "description" : "Get snapshot configuration",
19900 "method" : "GET",
19901 "name" : "get_snapshot_config",
19902 "parameters" : {
19903 "additionalProperties" : 0,
19904 "properties" : {
19905 "node" : {
19906 "description" : "The cluster node name.",
19907 "format" : "pve-node",
19908 "type" : "string",
19909 "typetext" : "<string>"
19910 },
19911 "snapname" : {
19912 "description" : "The name of the snapshot.",
19913 "format" : "pve-configid",
19914 "maxLength" : 40,
19915 "type" : "string",
19916 "typetext" : "<string>"
19917 },
19918 "vmid" : {
19919 "description" : "The (unique) ID of the VM.",
19920 "format" : "pve-vmid",
19921 "minimum" : 1,
19922 "type" : "integer",
19923 "typetext" : "<integer> (1 - N)"
19924 }
19925 }
19926 },
19927 "permissions" : {
19928 "check" : [
19929 "perm",
19930 "/vms/{vmid}",
19931 [
19932 "VM.Snapshot",
19933 "VM.Snapshot.Rollback"
19934 ],
19935 "any",
19936 1
19937 ]
19938 },
19939 "proxyto" : "node",
19940 "returns" : {
19941 "type" : "object"
19942 }
19943 },
19944 "PUT" : {
19945 "description" : "Update snapshot metadata.",
19946 "method" : "PUT",
19947 "name" : "update_snapshot_config",
19948 "parameters" : {
19949 "additionalProperties" : 0,
19950 "properties" : {
19951 "description" : {
19952 "description" : "A textual description or comment.",
19953 "optional" : 1,
19954 "type" : "string",
19955 "typetext" : "<string>"
19956 },
19957 "node" : {
19958 "description" : "The cluster node name.",
19959 "format" : "pve-node",
19960 "type" : "string",
19961 "typetext" : "<string>"
19962 },
19963 "snapname" : {
19964 "description" : "The name of the snapshot.",
19965 "format" : "pve-configid",
19966 "maxLength" : 40,
19967 "type" : "string",
19968 "typetext" : "<string>"
19969 },
19970 "vmid" : {
19971 "description" : "The (unique) ID of the VM.",
19972 "format" : "pve-vmid",
19973 "minimum" : 1,
19974 "type" : "integer",
19975 "typetext" : "<integer> (1 - N)"
19976 }
19977 }
19978 },
19979 "permissions" : {
19980 "check" : [
19981 "perm",
19982 "/vms/{vmid}",
19983 [
19984 "VM.Snapshot"
19985 ]
19986 ]
19987 },
19988 "protected" : 1,
19989 "proxyto" : "node",
19990 "returns" : {
19991 "type" : "null"
19992 }
19993 }
19994 },
19995 "leaf" : 1,
19996 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
19997 "text" : "config"
19998 }
19999 ],
56122987 20000 "info" : {
4d47f125
TL
20001 "DELETE" : {
20002 "description" : "Delete a LXC snapshot.",
20003 "method" : "DELETE",
20004 "name" : "delsnapshot",
56122987 20005 "parameters" : {
44660702 20006 "additionalProperties" : 0,
56122987 20007 "properties" : {
4d47f125
TL
20008 "force" : {
20009 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 20010 "optional" : 1,
013dc89f
DM
20011 "type" : "boolean",
20012 "typetext" : "<boolean>"
44660702
DM
20013 },
20014 "node" : {
20015 "description" : "The cluster node name.",
20016 "format" : "pve-node",
013dc89f
DM
20017 "type" : "string",
20018 "typetext" : "<string>"
7aacca6f 20019 },
4d47f125
TL
20020 "snapname" : {
20021 "description" : "The name of the snapshot.",
20022 "format" : "pve-configid",
20023 "maxLength" : 40,
20024 "type" : "string",
20025 "typetext" : "<string>"
56122987
DM
20026 },
20027 "vmid" : {
7aacca6f 20028 "description" : "The (unique) ID of the VM.",
44660702
DM
20029 "format" : "pve-vmid",
20030 "minimum" : 1,
4bd7df8b 20031 "type" : "integer",
013dc89f 20032 "typetext" : "<integer> (1 - N)"
56122987 20033 }
44660702 20034 }
56122987
DM
20035 },
20036 "permissions" : {
20037 "check" : [
20038 "perm",
20039 "/vms/{vmid}",
20040 [
4d47f125 20041 "VM.Snapshot"
56122987
DM
20042 ]
20043 ]
20044 },
44660702
DM
20045 "protected" : 1,
20046 "proxyto" : "node",
7aacca6f 20047 "returns" : {
4d47f125 20048 "description" : "the task ID.",
7aacca6f
DM
20049 "type" : "string"
20050 }
4d47f125
TL
20051 },
20052 "GET" : {
20053 "description" : "",
20054 "method" : "GET",
20055 "name" : "snapshot_cmd_idx",
56122987
DM
20056 "parameters" : {
20057 "additionalProperties" : 0,
20058 "properties" : {
44660702
DM
20059 "node" : {
20060 "description" : "The cluster node name.",
20061 "format" : "pve-node",
013dc89f
DM
20062 "type" : "string",
20063 "typetext" : "<string>"
44660702 20064 },
4d47f125
TL
20065 "snapname" : {
20066 "description" : "The name of the snapshot.",
20067 "format" : "pve-configid",
20068 "maxLength" : 40,
013dc89f
DM
20069 "type" : "string",
20070 "typetext" : "<string>"
56122987
DM
20071 },
20072 "vmid" : {
7aacca6f 20073 "description" : "The (unique) ID of the VM.",
56122987 20074 "format" : "pve-vmid",
44660702 20075 "minimum" : 1,
4bd7df8b 20076 "type" : "integer",
013dc89f 20077 "typetext" : "<integer> (1 - N)"
56122987 20078 }
44660702
DM
20079 }
20080 },
20081 "permissions" : {
4d47f125 20082 "user" : "all"
56122987 20083 },
44660702 20084 "returns" : {
4d47f125
TL
20085 "items" : {
20086 "properties" : {},
20087 "type" : "object"
20088 },
20089 "links" : [
20090 {
20091 "href" : "{cmd}",
20092 "rel" : "child"
20093 }
20094 ],
20095 "type" : "array"
44660702 20096 }
7aacca6f
DM
20097 }
20098 },
4d47f125
TL
20099 "leaf" : 0,
20100 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
20101 "text" : "{snapname}"
7aacca6f
DM
20102 }
20103 ],
20104 "info" : {
20105 "GET" : {
4d47f125 20106 "description" : "List all snapshots.",
44660702 20107 "method" : "GET",
4d47f125 20108 "name" : "list",
7aacca6f
DM
20109 "parameters" : {
20110 "additionalProperties" : 0,
20111 "properties" : {
20112 "node" : {
20113 "description" : "The cluster node name.",
44660702 20114 "format" : "pve-node",
013dc89f
DM
20115 "type" : "string",
20116 "typetext" : "<string>"
56122987 20117 },
7aacca6f 20118 "vmid" : {
44660702 20119 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20120 "format" : "pve-vmid",
20121 "minimum" : 1,
4bd7df8b 20122 "type" : "integer",
013dc89f 20123 "typetext" : "<integer> (1 - N)"
7aacca6f 20124 }
56122987
DM
20125 }
20126 },
44660702 20127 "permissions" : {
4d47f125
TL
20128 "check" : [
20129 "perm",
20130 "/vms/{vmid}",
20131 [
20132 "VM.Audit"
20133 ]
20134 ]
44660702 20135 },
4d47f125 20136 "protected" : 1,
44660702 20137 "proxyto" : "node",
7aacca6f 20138 "returns" : {
7aacca6f
DM
20139 "items" : {
20140 "properties" : {
4d47f125
TL
20141 "description" : {
20142 "description" : "Snapshot description.",
7aacca6f 20143 "type" : "string"
4d47f125
TL
20144 },
20145 "name" : {
20146 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
20147 "type" : "string"
20148 },
20149 "parent" : {
20150 "description" : "Parent snapshot identifier.",
20151 "optional" : 1,
20152 "type" : "string"
20153 },
20154 "snaptime" : {
20155 "description" : "Snapshot creation time",
20156 "optional" : 1,
20157 "renderer" : "timestamp",
20158 "type" : "integer"
7aacca6f
DM
20159 }
20160 },
20161 "type" : "object"
20162 },
20163 "links" : [
20164 {
4d47f125 20165 "href" : "{name}",
44660702 20166 "rel" : "child"
7aacca6f 20167 }
44660702
DM
20168 ],
20169 "type" : "array"
7aacca6f 20170 }
4d47f125
TL
20171 },
20172 "POST" : {
20173 "description" : "Snapshot a container.",
20174 "method" : "POST",
20175 "name" : "snapshot",
20176 "parameters" : {
20177 "additionalProperties" : 0,
20178 "properties" : {
20179 "description" : {
20180 "description" : "A textual description or comment.",
20181 "optional" : 1,
20182 "type" : "string",
20183 "typetext" : "<string>"
20184 },
20185 "node" : {
20186 "description" : "The cluster node name.",
20187 "format" : "pve-node",
20188 "type" : "string",
20189 "typetext" : "<string>"
20190 },
20191 "snapname" : {
20192 "description" : "The name of the snapshot.",
20193 "format" : "pve-configid",
20194 "maxLength" : 40,
20195 "type" : "string",
20196 "typetext" : "<string>"
20197 },
20198 "vmid" : {
20199 "description" : "The (unique) ID of the VM.",
20200 "format" : "pve-vmid",
20201 "minimum" : 1,
20202 "type" : "integer",
20203 "typetext" : "<integer> (1 - N)"
20204 }
20205 }
20206 },
20207 "permissions" : {
20208 "check" : [
20209 "perm",
20210 "/vms/{vmid}",
20211 [
20212 "VM.Snapshot"
20213 ]
20214 ]
20215 },
20216 "protected" : 1,
20217 "proxyto" : "node",
20218 "returns" : {
20219 "description" : "the task ID.",
20220 "type" : "string"
20221 }
7aacca6f 20222 }
44660702
DM
20223 },
20224 "leaf" : 0,
4d47f125
TL
20225 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
20226 "text" : "snapshot"
7aacca6f
DM
20227 },
20228 {
7aacca6f 20229 "children" : [
56122987 20230 {
7aacca6f
DM
20231 "children" : [
20232 {
20233 "info" : {
4d47f125
TL
20234 "DELETE" : {
20235 "description" : "Delete rule.",
20236 "method" : "DELETE",
20237 "name" : "delete_rule",
7aacca6f 20238 "parameters" : {
44660702 20239 "additionalProperties" : 0,
7aacca6f 20240 "properties" : {
4d47f125
TL
20241 "digest" : {
20242 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20243 "maxLength" : 40,
20244 "optional" : 1,
20245 "type" : "string",
20246 "typetext" : "<string>"
20247 },
44660702
DM
20248 "node" : {
20249 "description" : "The cluster node name.",
20250 "format" : "pve-node",
013dc89f
DM
20251 "type" : "string",
20252 "typetext" : "<string>"
44660702 20253 },
4d47f125
TL
20254 "pos" : {
20255 "description" : "Update rule at position <pos>.",
20256 "minimum" : 0,
20257 "optional" : 1,
20258 "type" : "integer",
20259 "typetext" : "<integer> (0 - N)"
7aacca6f 20260 },
7aacca6f 20261 "vmid" : {
44660702 20262 "description" : "The (unique) ID of the VM.",
7aacca6f 20263 "format" : "pve-vmid",
44660702 20264 "minimum" : 1,
4bd7df8b 20265 "type" : "integer",
013dc89f 20266 "typetext" : "<integer> (1 - N)"
7aacca6f 20267 }
44660702
DM
20268 }
20269 },
20270 "permissions" : {
20271 "check" : [
20272 "perm",
20273 "/vms/{vmid}",
20274 [
4d47f125
TL
20275 "VM.Config.Network"
20276 ]
44660702 20277 ]
7aacca6f 20278 },
44660702 20279 "protected" : 1,
4d47f125 20280 "proxyto" : null,
44660702 20281 "returns" : {
4d47f125 20282 "type" : "null"
44660702 20283 }
4d47f125 20284 },
7aacca6f 20285 "GET" : {
4d47f125 20286 "description" : "Get single rule data.",
44660702 20287 "method" : "GET",
4d47f125 20288 "name" : "get_rule",
7aacca6f
DM
20289 "parameters" : {
20290 "additionalProperties" : 0,
4d47f125
TL
20291 "properties" : {
20292 "node" : {
20293 "description" : "The cluster node name.",
20294 "format" : "pve-node",
013dc89f
DM
20295 "type" : "string",
20296 "typetext" : "<string>"
44660702 20297 },
4d47f125
TL
20298 "pos" : {
20299 "description" : "Update rule at position <pos>.",
20300 "minimum" : 0,
20301 "optional" : 1,
20302 "type" : "integer",
20303 "typetext" : "<integer> (0 - N)"
20304 },
44660702
DM
20305 "vmid" : {
20306 "description" : "The (unique) ID of the VM.",
20307 "format" : "pve-vmid",
20308 "minimum" : 1,
4bd7df8b 20309 "type" : "integer",
013dc89f 20310 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
20311 }
20312 }
20313 },
20314 "permissions" : {
20315 "check" : [
20316 "perm",
20317 "/vms/{vmid}",
20318 [
4d47f125
TL
20319 "VM.Audit"
20320 ]
7aacca6f
DM
20321 ]
20322 },
4d47f125 20323 "proxyto" : null,
44660702 20324 "returns" : {
4d47f125
TL
20325 "properties" : {
20326 "pos" : {
20327 "type" : "integer"
20328 }
20329 },
44660702
DM
20330 "type" : "object"
20331 }
7aacca6f
DM
20332 },
20333 "PUT" : {
4d47f125 20334 "description" : "Modify rule data.",
44660702 20335 "method" : "PUT",
4d47f125 20336 "name" : "update_rule",
7aacca6f
DM
20337 "parameters" : {
20338 "additionalProperties" : 0,
20339 "properties" : {
4d47f125
TL
20340 "action" : {
20341 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
20342 "maxLength" : 20,
20343 "minLength" : 2,
20344 "optional" : 1,
20345 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20346 "type" : "string"
20347 },
20348 "comment" : {
20349 "description" : "Descriptive comment.",
20350 "optional" : 1,
20351 "type" : "string",
20352 "typetext" : "<string>"
20353 },
20354 "delete" : {
20355 "description" : "A list of settings you want to delete.",
20356 "format" : "pve-configid-list",
20357 "optional" : 1,
20358 "type" : "string",
20359 "typetext" : "<string>"
20360 },
20361 "dest" : {
20362 "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.",
20363 "format" : "pve-fw-addr-spec",
20364 "optional" : 1,
20365 "type" : "string",
20366 "typetext" : "<string>"
20367 },
20368 "digest" : {
20369 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20370 "maxLength" : 40,
20371 "optional" : 1,
20372 "type" : "string",
20373 "typetext" : "<string>"
20374 },
20375 "dport" : {
20376 "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.",
20377 "format" : "pve-fw-dport-spec",
20378 "optional" : 1,
20379 "type" : "string",
20380 "typetext" : "<string>"
20381 },
20382 "enable" : {
20383 "description" : "Flag to enable/disable a rule.",
20384 "minimum" : 0,
20385 "optional" : 1,
20386 "type" : "integer",
20387 "typetext" : "<integer> (0 - N)"
20388 },
20389 "iface" : {
20390 "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.",
20391 "format" : "pve-iface",
20392 "maxLength" : 20,
20393 "minLength" : 2,
20394 "optional" : 1,
20395 "type" : "string",
20396 "typetext" : "<string>"
20397 },
20398 "macro" : {
20399 "description" : "Use predefined standard macro.",
20400 "maxLength" : 128,
44660702 20401 "optional" : 1,
013dc89f
DM
20402 "type" : "string",
20403 "typetext" : "<string>"
44660702 20404 },
4d47f125
TL
20405 "moveto" : {
20406 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
20407 "minimum" : 0,
20408 "optional" : 1,
20409 "type" : "integer",
20410 "typetext" : "<integer> (0 - N)"
20411 },
7aacca6f 20412 "node" : {
7aacca6f 20413 "description" : "The cluster node name.",
44660702 20414 "format" : "pve-node",
013dc89f
DM
20415 "type" : "string",
20416 "typetext" : "<string>"
7aacca6f 20417 },
4d47f125
TL
20418 "pos" : {
20419 "description" : "Update rule at position <pos>.",
20420 "minimum" : 0,
20421 "optional" : 1,
20422 "type" : "integer",
20423 "typetext" : "<integer> (0 - N)"
20424 },
20425 "proto" : {
20426 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
20427 "format" : "pve-fw-protocol-spec",
20428 "optional" : 1,
20429 "type" : "string",
20430 "typetext" : "<string>"
20431 },
20432 "source" : {
20433 "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.",
20434 "format" : "pve-fw-addr-spec",
20435 "optional" : 1,
20436 "type" : "string",
20437 "typetext" : "<string>"
20438 },
20439 "sport" : {
20440 "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.",
20441 "format" : "pve-fw-sport-spec",
20442 "optional" : 1,
013dc89f
DM
20443 "type" : "string",
20444 "typetext" : "<string>"
7aacca6f 20445 },
4d47f125
TL
20446 "type" : {
20447 "description" : "Rule type.",
20448 "enum" : [
20449 "in",
20450 "out",
20451 "group"
20452 ],
20453 "optional" : 1,
20454 "type" : "string"
20455 },
7aacca6f 20456 "vmid" : {
44660702 20457 "description" : "The (unique) ID of the VM.",
7aacca6f 20458 "format" : "pve-vmid",
44660702 20459 "minimum" : 1,
4bd7df8b 20460 "type" : "integer",
013dc89f 20461 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
20462 }
20463 }
20464 },
7aacca6f
DM
20465 "permissions" : {
20466 "check" : [
20467 "perm",
20468 "/vms/{vmid}",
20469 [
4d47f125 20470 "VM.Config.Network"
7aacca6f
DM
20471 ]
20472 ]
20473 },
4d47f125
TL
20474 "protected" : 1,
20475 "proxyto" : null,
20476 "returns" : {
20477 "type" : "null"
20478 }
20479 }
20480 },
20481 "leaf" : 1,
20482 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
20483 "text" : "{pos}"
20484 }
20485 ],
20486 "info" : {
20487 "GET" : {
20488 "description" : "List rules.",
20489 "method" : "GET",
20490 "name" : "get_rules",
20491 "parameters" : {
20492 "additionalProperties" : 0,
20493 "properties" : {
20494 "node" : {
20495 "description" : "The cluster node name.",
20496 "format" : "pve-node",
20497 "type" : "string",
20498 "typetext" : "<string>"
20499 },
20500 "vmid" : {
20501 "description" : "The (unique) ID of the VM.",
20502 "format" : "pve-vmid",
20503 "minimum" : 1,
20504 "type" : "integer",
20505 "typetext" : "<integer> (1 - N)"
20506 }
20507 }
20508 },
20509 "permissions" : {
20510 "check" : [
20511 "perm",
20512 "/vms/{vmid}",
20513 [
20514 "VM.Audit"
20515 ]
20516 ]
20517 },
20518 "proxyto" : null,
20519 "returns" : {
20520 "items" : {
20521 "properties" : {
20522 "pos" : {
20523 "type" : "integer"
20524 }
20525 },
20526 "type" : "object"
20527 },
20528 "links" : [
20529 {
20530 "href" : "{pos}",
20531 "rel" : "child"
20532 }
20533 ],
20534 "type" : "array"
20535 }
20536 },
20537 "POST" : {
20538 "description" : "Create new rule.",
20539 "method" : "POST",
20540 "name" : "create_rule",
20541 "parameters" : {
20542 "additionalProperties" : 0,
20543 "properties" : {
20544 "action" : {
20545 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
20546 "maxLength" : 20,
20547 "minLength" : 2,
20548 "optional" : 0,
20549 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20550 "type" : "string"
20551 },
20552 "comment" : {
20553 "description" : "Descriptive comment.",
20554 "optional" : 1,
20555 "type" : "string",
20556 "typetext" : "<string>"
20557 },
20558 "dest" : {
20559 "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.",
20560 "format" : "pve-fw-addr-spec",
20561 "optional" : 1,
20562 "type" : "string",
20563 "typetext" : "<string>"
20564 },
20565 "digest" : {
20566 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20567 "maxLength" : 40,
20568 "optional" : 1,
20569 "type" : "string",
20570 "typetext" : "<string>"
20571 },
20572 "dport" : {
20573 "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.",
20574 "format" : "pve-fw-dport-spec",
20575 "optional" : 1,
20576 "type" : "string",
20577 "typetext" : "<string>"
20578 },
20579 "enable" : {
20580 "description" : "Flag to enable/disable a rule.",
20581 "minimum" : 0,
20582 "optional" : 1,
20583 "type" : "integer",
20584 "typetext" : "<integer> (0 - N)"
20585 },
20586 "iface" : {
20587 "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.",
20588 "format" : "pve-iface",
20589 "maxLength" : 20,
20590 "minLength" : 2,
20591 "optional" : 1,
20592 "type" : "string",
20593 "typetext" : "<string>"
20594 },
20595 "macro" : {
20596 "description" : "Use predefined standard macro.",
20597 "maxLength" : 128,
44660702 20598 "optional" : 1,
4d47f125
TL
20599 "type" : "string",
20600 "typetext" : "<string>"
44660702
DM
20601 },
20602 "node" : {
20603 "description" : "The cluster node name.",
20604 "format" : "pve-node",
013dc89f
DM
20605 "type" : "string",
20606 "typetext" : "<string>"
7aacca6f 20607 },
4d47f125
TL
20608 "pos" : {
20609 "description" : "Update rule at position <pos>.",
20610 "minimum" : 0,
20611 "optional" : 1,
20612 "type" : "integer",
20613 "typetext" : "<integer> (0 - N)"
20614 },
20615 "proto" : {
20616 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
20617 "format" : "pve-fw-protocol-spec",
20618 "optional" : 1,
20619 "type" : "string",
20620 "typetext" : "<string>"
20621 },
20622 "source" : {
20623 "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.",
20624 "format" : "pve-fw-addr-spec",
20625 "optional" : 1,
013dc89f
DM
20626 "type" : "string",
20627 "typetext" : "<string>"
44660702 20628 },
4d47f125
TL
20629 "sport" : {
20630 "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.",
20631 "format" : "pve-fw-sport-spec",
20632 "optional" : 1,
20633 "type" : "string",
20634 "typetext" : "<string>"
20635 },
20636 "type" : {
20637 "description" : "Rule type.",
20638 "enum" : [
20639 "in",
20640 "out",
20641 "group"
20642 ],
20643 "optional" : 0,
20644 "type" : "string"
20645 },
44660702
DM
20646 "vmid" : {
20647 "description" : "The (unique) ID of the VM.",
20648 "format" : "pve-vmid",
20649 "minimum" : 1,
4bd7df8b 20650 "type" : "integer",
013dc89f 20651 "typetext" : "<integer> (1 - N)"
56122987 20652 }
44660702 20653 }
7aacca6f 20654 },
56122987
DM
20655 "permissions" : {
20656 "check" : [
20657 "perm",
20658 "/vms/{vmid}",
20659 [
4d47f125 20660 "VM.Config.Network"
56122987
DM
20661 ]
20662 ]
20663 },
44660702 20664 "protected" : 1,
4d47f125 20665 "proxyto" : null,
44660702 20666 "returns" : {
4d47f125 20667 "type" : "null"
44660702
DM
20668 }
20669 }
20670 },
20671 "leaf" : 0,
4d47f125
TL
20672 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
20673 "text" : "rules"
7aacca6f 20674 },
56122987 20675 {
56122987
DM
20676 "children" : [
20677 {
56122987 20678 "info" : {
44660702 20679 "DELETE" : {
4d47f125 20680 "description" : "Remove IP or Network alias.",
44660702 20681 "method" : "DELETE",
4d47f125 20682 "name" : "remove_alias",
56122987 20683 "parameters" : {
44660702 20684 "additionalProperties" : 0,
56122987 20685 "properties" : {
44660702
DM
20686 "digest" : {
20687 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20688 "maxLength" : 40,
7aacca6f 20689 "optional" : 1,
013dc89f
DM
20690 "type" : "string",
20691 "typetext" : "<string>"
7aacca6f 20692 },
4d47f125
TL
20693 "name" : {
20694 "description" : "Alias name.",
20695 "maxLength" : 64,
20696 "minLength" : 2,
20697 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20698 "type" : "string"
20699 },
7aacca6f 20700 "node" : {
44660702 20701 "description" : "The cluster node name.",
7aacca6f 20702 "format" : "pve-node",
013dc89f
DM
20703 "type" : "string",
20704 "typetext" : "<string>"
44660702 20705 },
44660702
DM
20706 "vmid" : {
20707 "description" : "The (unique) ID of the VM.",
20708 "format" : "pve-vmid",
20709 "minimum" : 1,
4bd7df8b 20710 "type" : "integer",
013dc89f 20711 "typetext" : "<integer> (1 - N)"
56122987 20712 }
44660702 20713 }
56122987 20714 },
56122987
DM
20715 "permissions" : {
20716 "check" : [
20717 "perm",
20718 "/vms/{vmid}",
20719 [
44660702 20720 "VM.Config.Network"
56122987
DM
20721 ]
20722 ]
20723 },
44660702 20724 "protected" : 1,
44660702
DM
20725 "returns" : {
20726 "type" : "null"
20727 }
7aacca6f 20728 },
44660702 20729 "GET" : {
4d47f125 20730 "description" : "Read alias.",
44660702 20731 "method" : "GET",
4d47f125 20732 "name" : "read_alias",
56122987 20733 "parameters" : {
44660702 20734 "additionalProperties" : 0,
56122987 20735 "properties" : {
4d47f125
TL
20736 "name" : {
20737 "description" : "Alias name.",
20738 "maxLength" : 64,
20739 "minLength" : 2,
20740 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20741 "type" : "string"
20742 },
7aacca6f 20743 "node" : {
7aacca6f 20744 "description" : "The cluster node name.",
44660702 20745 "format" : "pve-node",
013dc89f
DM
20746 "type" : "string",
20747 "typetext" : "<string>"
56122987 20748 },
7aacca6f 20749 "vmid" : {
44660702 20750 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20751 "format" : "pve-vmid",
20752 "minimum" : 1,
4bd7df8b 20753 "type" : "integer",
013dc89f 20754 "typetext" : "<integer> (1 - N)"
56122987 20755 }
44660702 20756 }
56122987 20757 },
7aacca6f
DM
20758 "permissions" : {
20759 "check" : [
20760 "perm",
20761 "/vms/{vmid}",
20762 [
44660702 20763 "VM.Audit"
7aacca6f
DM
20764 ]
20765 ]
20766 },
7aacca6f 20767 "returns" : {
44660702 20768 "type" : "object"
7aacca6f 20769 }
56122987 20770 },
44660702 20771 "PUT" : {
4d47f125 20772 "description" : "Update IP or Network alias.",
44660702 20773 "method" : "PUT",
4d47f125 20774 "name" : "update_alias",
56122987
DM
20775 "parameters" : {
20776 "additionalProperties" : 0,
20777 "properties" : {
4d47f125
TL
20778 "cidr" : {
20779 "description" : "Network/IP specification in CIDR format.",
20780 "format" : "IPorCIDR",
013dc89f
DM
20781 "type" : "string",
20782 "typetext" : "<string>"
44660702 20783 },
4d47f125 20784 "comment" : {
44660702 20785 "optional" : 1,
013dc89f
DM
20786 "type" : "string",
20787 "typetext" : "<string>"
44660702
DM
20788 },
20789 "digest" : {
20790 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20791 "maxLength" : 40,
20792 "optional" : 1,
013dc89f
DM
20793 "type" : "string",
20794 "typetext" : "<string>"
44660702 20795 },
4d47f125
TL
20796 "name" : {
20797 "description" : "Alias name.",
20798 "maxLength" : 64,
44660702 20799 "minLength" : 2,
4d47f125
TL
20800 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20801 "type" : "string"
44660702 20802 },
7aacca6f
DM
20803 "node" : {
20804 "description" : "The cluster node name.",
44660702 20805 "format" : "pve-node",
013dc89f
DM
20806 "type" : "string",
20807 "typetext" : "<string>"
56122987 20808 },
4d47f125
TL
20809 "rename" : {
20810 "description" : "Rename an existing alias.",
20811 "maxLength" : 64,
20812 "minLength" : 2,
7aacca6f 20813 "optional" : 1,
4d47f125 20814 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
20815 "type" : "string"
20816 },
20817 "vmid" : {
20818 "description" : "The (unique) ID of the VM.",
20819 "format" : "pve-vmid",
20820 "minimum" : 1,
4bd7df8b 20821 "type" : "integer",
013dc89f 20822 "typetext" : "<integer> (1 - N)"
56122987
DM
20823 }
20824 }
20825 },
56122987
DM
20826 "permissions" : {
20827 "check" : [
20828 "perm",
20829 "/vms/{vmid}",
20830 [
7aacca6f 20831 "VM.Config.Network"
56122987
DM
20832 ]
20833 ]
20834 },
44660702 20835 "protected" : 1,
56122987 20836 "returns" : {
7aacca6f
DM
20837 "type" : "null"
20838 }
56122987 20839 }
44660702
DM
20840 },
20841 "leaf" : 1,
4d47f125
TL
20842 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
20843 "text" : "{name}"
56122987
DM
20844 }
20845 ],
20846 "info" : {
7aacca6f 20847 "GET" : {
4d47f125 20848 "description" : "List aliases",
44660702 20849 "method" : "GET",
4d47f125 20850 "name" : "get_aliases",
7aacca6f 20851 "parameters" : {
44660702 20852 "additionalProperties" : 0,
7aacca6f
DM
20853 "properties" : {
20854 "node" : {
7aacca6f 20855 "description" : "The cluster node name.",
44660702 20856 "format" : "pve-node",
013dc89f
DM
20857 "type" : "string",
20858 "typetext" : "<string>"
7aacca6f
DM
20859 },
20860 "vmid" : {
20861 "description" : "The (unique) ID of the VM.",
44660702 20862 "format" : "pve-vmid",
7aacca6f 20863 "minimum" : 1,
4bd7df8b 20864 "type" : "integer",
013dc89f 20865 "typetext" : "<integer> (1 - N)"
7aacca6f 20866 }
44660702 20867 }
56122987 20868 },
56122987
DM
20869 "permissions" : {
20870 "check" : [
20871 "perm",
20872 "/vms/{vmid}",
20873 [
7aacca6f 20874 "VM.Audit"
56122987
DM
20875 ]
20876 ]
20877 },
7aacca6f 20878 "returns" : {
7aacca6f
DM
20879 "items" : {
20880 "properties" : {
4d47f125
TL
20881 "cidr" : {
20882 "type" : "string"
20883 },
20884 "comment" : {
20885 "optional" : 1,
20886 "type" : "string"
20887 },
20888 "digest" : {
20889 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20890 "maxLength" : 40,
20891 "optional" : 0,
20892 "type" : "string"
20893 },
20894 "name" : {
20895 "type" : "string"
7aacca6f
DM
20896 }
20897 },
20898 "type" : "object"
20899 },
20900 "links" : [
20901 {
4d47f125 20902 "href" : "{name}",
44660702 20903 "rel" : "child"
7aacca6f 20904 }
44660702
DM
20905 ],
20906 "type" : "array"
20907 }
7aacca6f
DM
20908 },
20909 "POST" : {
4d47f125 20910 "description" : "Create IP or Network Alias.",
44660702 20911 "method" : "POST",
4d47f125 20912 "name" : "create_alias",
56122987 20913 "parameters" : {
44660702 20914 "additionalProperties" : 0,
56122987 20915 "properties" : {
4d47f125
TL
20916 "cidr" : {
20917 "description" : "Network/IP specification in CIDR format.",
20918 "format" : "IPorCIDR",
013dc89f 20919 "type" : "string",
4d47f125
TL
20920 "typetext" : "<string>"
20921 },
20922 "comment" : {
44660702 20923 "optional" : 1,
013dc89f
DM
20924 "type" : "string",
20925 "typetext" : "<string>"
7aacca6f 20926 },
4d47f125
TL
20927 "name" : {
20928 "description" : "Alias name.",
20929 "maxLength" : 64,
20930 "minLength" : 2,
20931 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
20932 "type" : "string"
20933 },
4d47f125
TL
20934 "node" : {
20935 "description" : "The cluster node name.",
20936 "format" : "pve-node",
20937 "type" : "string",
20938 "typetext" : "<string>"
20939 },
44660702
DM
20940 "vmid" : {
20941 "description" : "The (unique) ID of the VM.",
20942 "format" : "pve-vmid",
20943 "minimum" : 1,
4bd7df8b 20944 "type" : "integer",
013dc89f 20945 "typetext" : "<integer> (1 - N)"
44660702
DM
20946 }
20947 }
20948 },
20949 "permissions" : {
20950 "check" : [
20951 "perm",
20952 "/vms/{vmid}",
20953 [
20954 "VM.Config.Network"
20955 ]
20956 ]
20957 },
20958 "protected" : 1,
44660702
DM
20959 "returns" : {
20960 "type" : "null"
20961 }
20962 }
20963 },
20964 "leaf" : 0,
4d47f125
TL
20965 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
20966 "text" : "aliases"
44660702
DM
20967 },
20968 {
20969 "children" : [
20970 {
4d47f125
TL
20971 "children" : [
20972 {
20973 "info" : {
20974 "DELETE" : {
20975 "description" : "Remove IP or Network from IPSet.",
20976 "method" : "DELETE",
20977 "name" : "remove_ip",
20978 "parameters" : {
20979 "additionalProperties" : 0,
20980 "properties" : {
20981 "cidr" : {
20982 "description" : "Network/IP specification in CIDR format.",
20983 "format" : "IPorCIDRorAlias",
20984 "type" : "string",
20985 "typetext" : "<string>"
20986 },
20987 "digest" : {
20988 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20989 "maxLength" : 40,
20990 "optional" : 1,
20991 "type" : "string",
20992 "typetext" : "<string>"
20993 },
20994 "name" : {
20995 "description" : "IP set name.",
20996 "maxLength" : 64,
20997 "minLength" : 2,
20998 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20999 "type" : "string"
21000 },
21001 "node" : {
21002 "description" : "The cluster node name.",
21003 "format" : "pve-node",
21004 "type" : "string",
21005 "typetext" : "<string>"
21006 },
21007 "vmid" : {
21008 "description" : "The (unique) ID of the VM.",
21009 "format" : "pve-vmid",
21010 "minimum" : 1,
21011 "type" : "integer",
21012 "typetext" : "<integer> (1 - N)"
21013 }
21014 }
21015 },
21016 "permissions" : {
21017 "check" : [
21018 "perm",
21019 "/vms/{vmid}",
21020 [
21021 "VM.Config.Network"
21022 ]
21023 ]
21024 },
21025 "protected" : 1,
21026 "returns" : {
21027 "type" : "null"
21028 }
21029 },
21030 "GET" : {
21031 "description" : "Read IP or Network settings from IPSet.",
21032 "method" : "GET",
21033 "name" : "read_ip",
21034 "parameters" : {
21035 "additionalProperties" : 0,
21036 "properties" : {
21037 "cidr" : {
21038 "description" : "Network/IP specification in CIDR format.",
21039 "format" : "IPorCIDRorAlias",
21040 "type" : "string",
21041 "typetext" : "<string>"
21042 },
21043 "name" : {
21044 "description" : "IP set name.",
21045 "maxLength" : 64,
21046 "minLength" : 2,
21047 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21048 "type" : "string"
21049 },
21050 "node" : {
21051 "description" : "The cluster node name.",
21052 "format" : "pve-node",
21053 "type" : "string",
21054 "typetext" : "<string>"
21055 },
21056 "vmid" : {
21057 "description" : "The (unique) ID of the VM.",
21058 "format" : "pve-vmid",
21059 "minimum" : 1,
21060 "type" : "integer",
21061 "typetext" : "<integer> (1 - N)"
21062 }
21063 }
21064 },
21065 "permissions" : {
21066 "check" : [
21067 "perm",
21068 "/vms/{vmid}",
21069 [
21070 "VM.Audit"
21071 ]
21072 ]
21073 },
21074 "protected" : 1,
21075 "returns" : {
21076 "type" : "object"
21077 }
21078 },
21079 "PUT" : {
21080 "description" : "Update IP or Network settings",
21081 "method" : "PUT",
21082 "name" : "update_ip",
21083 "parameters" : {
21084 "additionalProperties" : 0,
21085 "properties" : {
21086 "cidr" : {
21087 "description" : "Network/IP specification in CIDR format.",
21088 "format" : "IPorCIDRorAlias",
21089 "type" : "string",
21090 "typetext" : "<string>"
21091 },
21092 "comment" : {
21093 "optional" : 1,
21094 "type" : "string",
21095 "typetext" : "<string>"
21096 },
21097 "digest" : {
21098 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21099 "maxLength" : 40,
21100 "optional" : 1,
21101 "type" : "string",
21102 "typetext" : "<string>"
21103 },
21104 "name" : {
21105 "description" : "IP set name.",
21106 "maxLength" : 64,
21107 "minLength" : 2,
21108 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21109 "type" : "string"
21110 },
21111 "node" : {
21112 "description" : "The cluster node name.",
21113 "format" : "pve-node",
21114 "type" : "string",
21115 "typetext" : "<string>"
21116 },
21117 "nomatch" : {
21118 "optional" : 1,
21119 "type" : "boolean",
21120 "typetext" : "<boolean>"
21121 },
21122 "vmid" : {
21123 "description" : "The (unique) ID of the VM.",
21124 "format" : "pve-vmid",
21125 "minimum" : 1,
21126 "type" : "integer",
21127 "typetext" : "<integer> (1 - N)"
21128 }
21129 }
21130 },
21131 "permissions" : {
21132 "check" : [
21133 "perm",
21134 "/vms/{vmid}",
21135 [
21136 "VM.Config.Network"
21137 ]
21138 ]
21139 },
21140 "protected" : 1,
21141 "returns" : {
21142 "type" : "null"
21143 }
21144 }
21145 },
21146 "leaf" : 1,
21147 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
21148 "text" : "{cidr}"
21149 }
21150 ],
44660702
DM
21151 "info" : {
21152 "DELETE" : {
4d47f125 21153 "description" : "Delete IPSet",
44660702 21154 "method" : "DELETE",
4d47f125 21155 "name" : "delete_ipset",
56122987 21156 "parameters" : {
44660702 21157 "additionalProperties" : 0,
56122987 21158 "properties" : {
7aacca6f 21159 "name" : {
4d47f125 21160 "description" : "IP set name.",
7aacca6f 21161 "maxLength" : 64,
7aacca6f
DM
21162 "minLength" : 2,
21163 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21164 "type" : "string"
7aacca6f
DM
21165 },
21166 "node" : {
44660702 21167 "description" : "The cluster node name.",
56122987 21168 "format" : "pve-node",
013dc89f
DM
21169 "type" : "string",
21170 "typetext" : "<string>"
7aacca6f 21171 },
56122987 21172 "vmid" : {
44660702 21173 "description" : "The (unique) ID of the VM.",
56122987 21174 "format" : "pve-vmid",
44660702 21175 "minimum" : 1,
4bd7df8b 21176 "type" : "integer",
013dc89f 21177 "typetext" : "<integer> (1 - N)"
56122987 21178 }
44660702 21179 }
56122987 21180 },
56122987
DM
21181 "permissions" : {
21182 "check" : [
21183 "perm",
21184 "/vms/{vmid}",
21185 [
7aacca6f 21186 "VM.Config.Network"
56122987
DM
21187 ]
21188 ]
21189 },
44660702 21190 "protected" : 1,
56122987 21191 "returns" : {
7aacca6f 21192 "type" : "null"
44660702 21193 }
56122987 21194 },
44660702 21195 "GET" : {
4d47f125 21196 "description" : "List IPSet content",
44660702 21197 "method" : "GET",
4d47f125 21198 "name" : "get_ipset",
44660702
DM
21199 "parameters" : {
21200 "additionalProperties" : 0,
21201 "properties" : {
21202 "name" : {
4d47f125 21203 "description" : "IP set name.",
44660702
DM
21204 "maxLength" : 64,
21205 "minLength" : 2,
21206 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21207 "type" : "string"
21208 },
21209 "node" : {
21210 "description" : "The cluster node name.",
21211 "format" : "pve-node",
013dc89f
DM
21212 "type" : "string",
21213 "typetext" : "<string>"
44660702
DM
21214 },
21215 "vmid" : {
21216 "description" : "The (unique) ID of the VM.",
21217 "format" : "pve-vmid",
21218 "minimum" : 1,
4bd7df8b 21219 "type" : "integer",
013dc89f 21220 "typetext" : "<integer> (1 - N)"
44660702 21221 }
4d47f125
TL
21222 }
21223 },
21224 "permissions" : {
21225 "check" : [
21226 "perm",
21227 "/vms/{vmid}",
21228 [
21229 "VM.Audit"
21230 ]
21231 ]
21232 },
21233 "returns" : {
21234 "items" : {
21235 "properties" : {
21236 "cidr" : {
21237 "type" : "string"
21238 },
21239 "comment" : {
21240 "optional" : 1,
21241 "type" : "string"
21242 },
21243 "digest" : {
21244 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21245 "maxLength" : 40,
21246 "optional" : 0,
21247 "type" : "string"
21248 },
21249 "nomatch" : {
21250 "optional" : 1,
21251 "type" : "boolean"
21252 }
21253 },
21254 "type" : "object"
21255 },
21256 "links" : [
21257 {
21258 "href" : "{cidr}",
21259 "rel" : "child"
21260 }
21261 ],
21262 "type" : "array"
44660702
DM
21263 }
21264 },
4d47f125
TL
21265 "POST" : {
21266 "description" : "Add IP or Network to IPSet.",
21267 "method" : "POST",
21268 "name" : "create_ip",
56122987
DM
21269 "parameters" : {
21270 "additionalProperties" : 0,
21271 "properties" : {
44660702
DM
21272 "cidr" : {
21273 "description" : "Network/IP specification in CIDR format.",
4d47f125 21274 "format" : "IPorCIDRorAlias",
013dc89f
DM
21275 "type" : "string",
21276 "typetext" : "<string>"
44660702
DM
21277 },
21278 "comment" : {
21279 "optional" : 1,
013dc89f
DM
21280 "type" : "string",
21281 "typetext" : "<string>"
44660702 21282 },
56122987 21283 "name" : {
4d47f125 21284 "description" : "IP set name.",
44660702
DM
21285 "maxLength" : 64,
21286 "minLength" : 2,
7aacca6f 21287 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21288 "type" : "string"
56122987
DM
21289 },
21290 "node" : {
21291 "description" : "The cluster node name.",
44660702 21292 "format" : "pve-node",
013dc89f
DM
21293 "type" : "string",
21294 "typetext" : "<string>"
44660702 21295 },
4d47f125 21296 "nomatch" : {
44660702 21297 "optional" : 1,
4d47f125
TL
21298 "type" : "boolean",
21299 "typetext" : "<boolean>"
56122987 21300 },
7aacca6f 21301 "vmid" : {
7aacca6f 21302 "description" : "The (unique) ID of the VM.",
44660702 21303 "format" : "pve-vmid",
7aacca6f 21304 "minimum" : 1,
4bd7df8b 21305 "type" : "integer",
013dc89f 21306 "typetext" : "<integer> (1 - N)"
56122987
DM
21307 }
21308 }
21309 },
44660702
DM
21310 "permissions" : {
21311 "check" : [
21312 "perm",
21313 "/vms/{vmid}",
21314 [
21315 "VM.Config.Network"
21316 ]
21317 ]
7aacca6f 21318 },
44660702
DM
21319 "protected" : 1,
21320 "returns" : {
21321 "type" : "null"
7aacca6f
DM
21322 }
21323 }
21324 },
4d47f125
TL
21325 "leaf" : 0,
21326 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
21327 "text" : "{name}"
21328 }
21329 ],
21330 "info" : {
21331 "GET" : {
4d47f125 21332 "description" : "List IPSets",
44660702 21333 "method" : "GET",
4d47f125 21334 "name" : "ipset_index",
56122987
DM
21335 "parameters" : {
21336 "additionalProperties" : 0,
21337 "properties" : {
21338 "node" : {
44660702 21339 "description" : "The cluster node name.",
56122987 21340 "format" : "pve-node",
013dc89f
DM
21341 "type" : "string",
21342 "typetext" : "<string>"
56122987
DM
21343 },
21344 "vmid" : {
7aacca6f 21345 "description" : "The (unique) ID of the VM.",
44660702 21346 "format" : "pve-vmid",
7aacca6f 21347 "minimum" : 1,
4bd7df8b 21348 "type" : "integer",
013dc89f 21349 "typetext" : "<integer> (1 - N)"
56122987
DM
21350 }
21351 }
21352 },
44660702
DM
21353 "permissions" : {
21354 "check" : [
21355 "perm",
21356 "/vms/{vmid}",
21357 [
21358 "VM.Audit"
21359 ]
21360 ]
21361 },
56122987
DM
21362 "returns" : {
21363 "items" : {
56122987 21364 "properties" : {
44660702
DM
21365 "comment" : {
21366 "optional" : 1,
56122987
DM
21367 "type" : "string"
21368 },
56122987 21369 "digest" : {
56122987 21370 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
21371 "maxLength" : 40,
21372 "optional" : 0,
21373 "type" : "string"
21374 },
21375 "name" : {
4d47f125
TL
21376 "description" : "IP set name.",
21377 "maxLength" : 64,
21378 "minLength" : 2,
21379 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21380 "type" : "string"
56122987 21381 }
44660702
DM
21382 },
21383 "type" : "object"
21384 },
21385 "links" : [
21386 {
21387 "href" : "{name}",
21388 "rel" : "child"
56122987 21389 }
4d47f125
TL
21390 ],
21391 "type" : "array"
21392 }
21393 },
21394 "POST" : {
21395 "description" : "Create new IPSet",
21396 "method" : "POST",
21397 "name" : "create_ipset",
21398 "parameters" : {
21399 "additionalProperties" : 0,
21400 "properties" : {
21401 "comment" : {
21402 "optional" : 1,
21403 "type" : "string",
21404 "typetext" : "<string>"
21405 },
21406 "digest" : {
21407 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21408 "maxLength" : 40,
21409 "optional" : 1,
21410 "type" : "string",
21411 "typetext" : "<string>"
21412 },
21413 "name" : {
21414 "description" : "IP set name.",
21415 "maxLength" : 64,
21416 "minLength" : 2,
21417 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21418 "type" : "string"
21419 },
21420 "node" : {
21421 "description" : "The cluster node name.",
21422 "format" : "pve-node",
21423 "type" : "string",
21424 "typetext" : "<string>"
21425 },
21426 "rename" : {
21427 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
21428 "maxLength" : 64,
21429 "minLength" : 2,
21430 "optional" : 1,
21431 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21432 "type" : "string"
21433 },
21434 "vmid" : {
21435 "description" : "The (unique) ID of the VM.",
21436 "format" : "pve-vmid",
21437 "minimum" : 1,
21438 "type" : "integer",
21439 "typetext" : "<integer> (1 - N)"
21440 }
21441 }
21442 },
21443 "permissions" : {
21444 "check" : [
21445 "perm",
21446 "/vms/{vmid}",
21447 [
21448 "VM.Config.Network"
21449 ]
21450 ]
21451 },
21452 "protected" : 1,
21453 "returns" : {
21454 "type" : "null"
21455 }
21456 }
21457 },
21458 "leaf" : 0,
21459 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
21460 "text" : "ipset"
21461 },
21462 {
21463 "info" : {
21464 "GET" : {
21465 "description" : "Get VM firewall options.",
21466 "method" : "GET",
21467 "name" : "get_options",
21468 "parameters" : {
21469 "additionalProperties" : 0,
21470 "properties" : {
21471 "node" : {
21472 "description" : "The cluster node name.",
21473 "format" : "pve-node",
21474 "type" : "string",
21475 "typetext" : "<string>"
21476 },
21477 "vmid" : {
21478 "description" : "The (unique) ID of the VM.",
21479 "format" : "pve-vmid",
21480 "minimum" : 1,
21481 "type" : "integer",
21482 "typetext" : "<integer> (1 - N)"
21483 }
21484 }
21485 },
21486 "permissions" : {
21487 "check" : [
21488 "perm",
21489 "/vms/{vmid}",
21490 [
21491 "VM.Audit"
21492 ]
21493 ]
21494 },
21495 "proxyto" : "node",
21496 "returns" : {
21497 "properties" : {
21498 "dhcp" : {
21499 "description" : "Enable DHCP.",
21500 "optional" : 1,
21501 "type" : "boolean"
21502 },
21503 "enable" : {
21504 "description" : "Enable/disable firewall rules.",
21505 "optional" : 1,
21506 "type" : "boolean"
21507 },
21508 "ipfilter" : {
21509 "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.",
21510 "optional" : 1,
21511 "type" : "boolean"
21512 },
21513 "log_level_in" : {
21514 "description" : "Log level for incoming traffic.",
21515 "enum" : [
21516 "emerg",
21517 "alert",
21518 "crit",
21519 "err",
21520 "warning",
21521 "notice",
21522 "info",
21523 "debug",
21524 "nolog"
21525 ],
21526 "optional" : 1,
21527 "type" : "string"
21528 },
21529 "log_level_out" : {
21530 "description" : "Log level for outgoing traffic.",
21531 "enum" : [
21532 "emerg",
21533 "alert",
21534 "crit",
21535 "err",
21536 "warning",
21537 "notice",
21538 "info",
21539 "debug",
21540 "nolog"
21541 ],
21542 "optional" : 1,
21543 "type" : "string"
21544 },
21545 "macfilter" : {
21546 "description" : "Enable/disable MAC address filter.",
21547 "optional" : 1,
21548 "type" : "boolean"
21549 },
21550 "ndp" : {
21551 "description" : "Enable NDP.",
21552 "optional" : 1,
21553 "type" : "boolean"
21554 },
21555 "policy_in" : {
21556 "description" : "Input policy.",
21557 "enum" : [
21558 "ACCEPT",
21559 "REJECT",
21560 "DROP"
21561 ],
21562 "optional" : 1,
21563 "type" : "string"
21564 },
21565 "policy_out" : {
21566 "description" : "Output policy.",
21567 "enum" : [
21568 "ACCEPT",
21569 "REJECT",
21570 "DROP"
21571 ],
21572 "optional" : 1,
21573 "type" : "string"
21574 },
21575 "radv" : {
21576 "description" : "Allow sending Router Advertisement.",
21577 "optional" : 1,
21578 "type" : "boolean"
21579 }
21580 },
21581 "type" : "object"
7aacca6f
DM
21582 }
21583 },
4d47f125
TL
21584 "PUT" : {
21585 "description" : "Set Firewall options.",
21586 "method" : "PUT",
21587 "name" : "set_options",
7aacca6f
DM
21588 "parameters" : {
21589 "additionalProperties" : 0,
21590 "properties" : {
4d47f125
TL
21591 "delete" : {
21592 "description" : "A list of settings you want to delete.",
21593 "format" : "pve-configid-list",
7aacca6f 21594 "optional" : 1,
013dc89f
DM
21595 "type" : "string",
21596 "typetext" : "<string>"
7aacca6f 21597 },
4d47f125
TL
21598 "dhcp" : {
21599 "description" : "Enable DHCP.",
21600 "optional" : 1,
21601 "type" : "boolean",
21602 "typetext" : "<boolean>"
7aacca6f 21603 },
4d47f125
TL
21604 "digest" : {
21605 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21606 "maxLength" : 40,
21607 "optional" : 1,
013dc89f
DM
21608 "type" : "string",
21609 "typetext" : "<string>"
7aacca6f 21610 },
4d47f125
TL
21611 "enable" : {
21612 "description" : "Enable/disable firewall rules.",
21613 "optional" : 1,
21614 "type" : "boolean",
21615 "typetext" : "<boolean>"
21616 },
21617 "ipfilter" : {
21618 "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.",
21619 "optional" : 1,
21620 "type" : "boolean",
21621 "typetext" : "<boolean>"
56122987 21622 },
4d47f125
TL
21623 "log_level_in" : {
21624 "description" : "Log level for incoming traffic.",
21625 "enum" : [
21626 "emerg",
21627 "alert",
21628 "crit",
21629 "err",
21630 "warning",
21631 "notice",
21632 "info",
21633 "debug",
21634 "nolog"
21635 ],
21636 "optional" : 1,
21637 "type" : "string"
44660702 21638 },
4d47f125
TL
21639 "log_level_out" : {
21640 "description" : "Log level for outgoing traffic.",
21641 "enum" : [
21642 "emerg",
21643 "alert",
21644 "crit",
21645 "err",
21646 "warning",
21647 "notice",
21648 "info",
21649 "debug",
21650 "nolog"
21651 ],
21652 "optional" : 1,
21653 "type" : "string"
44660702 21654 },
4d47f125
TL
21655 "macfilter" : {
21656 "description" : "Enable/disable MAC address filter.",
21657 "optional" : 1,
21658 "type" : "boolean",
21659 "typetext" : "<boolean>"
7aacca6f 21660 },
4d47f125
TL
21661 "ndp" : {
21662 "description" : "Enable NDP.",
21663 "optional" : 1,
21664 "type" : "boolean",
21665 "typetext" : "<boolean>"
7aacca6f 21666 },
4d47f125
TL
21667 "node" : {
21668 "description" : "The cluster node name.",
21669 "format" : "pve-node",
21670 "type" : "string",
21671 "typetext" : "<string>"
21672 },
21673 "policy_in" : {
21674 "description" : "Input policy.",
21675 "enum" : [
21676 "ACCEPT",
21677 "REJECT",
21678 "DROP"
44660702 21679 ],
4d47f125
TL
21680 "optional" : 1,
21681 "type" : "string"
21682 },
21683 "policy_out" : {
21684 "description" : "Output policy.",
21685 "enum" : [
21686 "ACCEPT",
21687 "REJECT",
21688 "DROP"
21689 ],
21690 "optional" : 1,
21691 "type" : "string"
21692 },
21693 "radv" : {
21694 "description" : "Allow sending Router Advertisement.",
21695 "optional" : 1,
21696 "type" : "boolean",
21697 "typetext" : "<boolean>"
21698 },
21699 "vmid" : {
21700 "description" : "The (unique) ID of the VM.",
21701 "format" : "pve-vmid",
21702 "minimum" : 1,
21703 "type" : "integer",
21704 "typetext" : "<integer> (1 - N)"
44660702 21705 }
4d47f125
TL
21706 }
21707 },
21708 "permissions" : {
21709 "check" : [
21710 "perm",
21711 "/vms/{vmid}",
21712 [
21713 "VM.Config.Network"
21714 ]
21715 ]
21716 },
21717 "protected" : 1,
21718 "proxyto" : "node",
21719 "returns" : {
21720 "type" : "null"
21721 }
21722 }
21723 },
21724 "leaf" : 1,
21725 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
21726 "text" : "options"
21727 },
21728 {
21729 "info" : {
21730 "GET" : {
21731 "description" : "Read firewall log",
21732 "method" : "GET",
21733 "name" : "log",
21734 "parameters" : {
21735 "additionalProperties" : 0,
21736 "properties" : {
21737 "limit" : {
21738 "minimum" : 0,
21739 "optional" : 1,
21740 "type" : "integer",
21741 "typetext" : "<integer> (0 - N)"
44660702 21742 },
4d47f125
TL
21743 "node" : {
21744 "description" : "The cluster node name.",
21745 "format" : "pve-node",
21746 "type" : "string",
21747 "typetext" : "<string>"
44660702 21748 },
4d47f125
TL
21749 "start" : {
21750 "minimum" : 0,
21751 "optional" : 1,
21752 "type" : "integer",
21753 "typetext" : "<integer> (0 - N)"
21754 },
21755 "vmid" : {
21756 "description" : "The (unique) ID of the VM.",
21757 "format" : "pve-vmid",
21758 "minimum" : 1,
21759 "type" : "integer",
21760 "typetext" : "<integer> (1 - N)"
44660702
DM
21761 }
21762 }
21763 },
4d47f125
TL
21764 "permissions" : {
21765 "check" : [
21766 "perm",
21767 "/vms/{vmid}",
21768 [
21769 "VM.Console"
21770 ]
21771 ]
21772 },
21773 "protected" : 1,
21774 "proxyto" : "node",
21775 "returns" : {
21776 "items" : {
21777 "properties" : {
21778 "n" : {
21779 "description" : "Line number",
21780 "type" : "integer"
21781 },
21782 "t" : {
21783 "description" : "Line text",
21784 "type" : "string"
21785 }
21786 },
21787 "type" : "object"
21788 },
21789 "type" : "array"
21790 }
44660702 21791 }
4d47f125
TL
21792 },
21793 "leaf" : 1,
21794 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
21795 "text" : "log"
21796 },
21797 {
44660702
DM
21798 "info" : {
21799 "GET" : {
4d47f125 21800 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 21801 "method" : "GET",
4d47f125 21802 "name" : "refs",
44660702
DM
21803 "parameters" : {
21804 "additionalProperties" : 0,
21805 "properties" : {
21806 "node" : {
21807 "description" : "The cluster node name.",
21808 "format" : "pve-node",
013dc89f
DM
21809 "type" : "string",
21810 "typetext" : "<string>"
44660702 21811 },
4d47f125
TL
21812 "type" : {
21813 "description" : "Only list references of specified type.",
21814 "enum" : [
21815 "alias",
21816 "ipset"
21817 ],
21818 "optional" : 1,
21819 "type" : "string"
21820 },
44660702
DM
21821 "vmid" : {
21822 "description" : "The (unique) ID of the VM.",
21823 "format" : "pve-vmid",
21824 "minimum" : 1,
4bd7df8b 21825 "type" : "integer",
013dc89f 21826 "typetext" : "<integer> (1 - N)"
44660702
DM
21827 }
21828 }
21829 },
4d47f125
TL
21830 "permissions" : {
21831 "check" : [
21832 "perm",
21833 "/vms/{vmid}",
21834 [
21835 "VM.Audit"
21836 ]
21837 ]
21838 },
21839 "returns" : {
21840 "items" : {
21841 "properties" : {
21842 "comment" : {
21843 "optional" : 1,
21844 "type" : "string"
21845 },
21846 "name" : {
21847 "type" : "string"
21848 },
21849 "type" : {
21850 "enum" : [
21851 "alias",
21852 "ipset"
21853 ],
21854 "type" : "string"
21855 }
21856 },
21857 "type" : "object"
21858 },
21859 "type" : "array"
21860 }
21861 }
21862 },
21863 "leaf" : 1,
21864 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
21865 "text" : "refs"
21866 }
21867 ],
21868 "info" : {
21869 "GET" : {
21870 "description" : "Directory index.",
21871 "method" : "GET",
21872 "name" : "index",
21873 "parameters" : {
21874 "additionalProperties" : 0,
21875 "properties" : {
21876 "node" : {
21877 "description" : "The cluster node name.",
21878 "format" : "pve-node",
21879 "type" : "string",
21880 "typetext" : "<string>"
21881 },
21882 "vmid" : {
21883 "description" : "The (unique) ID of the VM.",
21884 "format" : "pve-vmid",
21885 "minimum" : 1,
21886 "type" : "integer",
21887 "typetext" : "<integer> (1 - N)"
21888 }
21889 }
21890 },
21891 "permissions" : {
21892 "user" : "all"
21893 },
21894 "returns" : {
21895 "items" : {
21896 "properties" : {},
21897 "type" : "object"
21898 },
21899 "links" : [
21900 {
21901 "href" : "{name}",
21902 "rel" : "child"
21903 }
21904 ],
21905 "type" : "array"
21906 }
21907 }
21908 },
21909 "leaf" : 0,
21910 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
21911 "text" : "firewall"
21912 },
21913 {
21914 "info" : {
21915 "GET" : {
21916 "description" : "Read VM RRD statistics (returns PNG)",
21917 "method" : "GET",
21918 "name" : "rrd",
21919 "parameters" : {
21920 "additionalProperties" : 0,
21921 "properties" : {
21922 "cf" : {
21923 "description" : "The RRD consolidation function",
21924 "enum" : [
21925 "AVERAGE",
21926 "MAX"
21927 ],
21928 "optional" : 1,
21929 "type" : "string"
21930 },
21931 "ds" : {
21932 "description" : "The list of datasources you want to display.",
21933 "format" : "pve-configid-list",
21934 "type" : "string",
21935 "typetext" : "<string>"
21936 },
21937 "node" : {
21938 "description" : "The cluster node name.",
21939 "format" : "pve-node",
21940 "type" : "string",
21941 "typetext" : "<string>"
21942 },
21943 "timeframe" : {
21944 "description" : "Specify the time frame you are interested in.",
21945 "enum" : [
21946 "hour",
21947 "day",
21948 "week",
21949 "month",
21950 "year"
21951 ],
21952 "type" : "string"
21953 },
21954 "vmid" : {
21955 "description" : "The (unique) ID of the VM.",
21956 "format" : "pve-vmid",
21957 "minimum" : 1,
21958 "type" : "integer",
21959 "typetext" : "<integer> (1 - N)"
21960 }
21961 }
21962 },
21963 "permissions" : {
21964 "check" : [
21965 "perm",
21966 "/vms/{vmid}",
21967 [
21968 "VM.Audit"
21969 ]
21970 ]
21971 },
21972 "protected" : 1,
21973 "returns" : {
21974 "properties" : {
21975 "filename" : {
21976 "type" : "string"
21977 }
21978 },
21979 "type" : "object"
21980 }
21981 }
21982 },
21983 "leaf" : 1,
21984 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
21985 "text" : "rrd"
21986 },
21987 {
21988 "info" : {
21989 "GET" : {
21990 "description" : "Read VM RRD statistics",
21991 "method" : "GET",
21992 "name" : "rrddata",
21993 "parameters" : {
21994 "additionalProperties" : 0,
21995 "properties" : {
21996 "cf" : {
21997 "description" : "The RRD consolidation function",
21998 "enum" : [
21999 "AVERAGE",
22000 "MAX"
22001 ],
22002 "optional" : 1,
22003 "type" : "string"
22004 },
22005 "node" : {
22006 "description" : "The cluster node name.",
22007 "format" : "pve-node",
22008 "type" : "string",
22009 "typetext" : "<string>"
44660702 22010 },
4d47f125
TL
22011 "timeframe" : {
22012 "description" : "Specify the time frame you are interested in.",
22013 "enum" : [
22014 "hour",
22015 "day",
22016 "week",
22017 "month",
22018 "year"
44660702 22019 ],
4d47f125
TL
22020 "type" : "string"
22021 },
22022 "vmid" : {
22023 "description" : "The (unique) ID of the VM.",
22024 "format" : "pve-vmid",
22025 "minimum" : 1,
22026 "type" : "integer",
22027 "typetext" : "<integer> (1 - N)"
44660702 22028 }
4d47f125
TL
22029 }
22030 },
22031 "permissions" : {
22032 "check" : [
22033 "perm",
22034 "/vms/{vmid}",
22035 [
22036 "VM.Audit"
22037 ]
22038 ]
22039 },
22040 "protected" : 1,
22041 "returns" : {
22042 "items" : {
22043 "properties" : {},
22044 "type" : "object"
44660702 22045 },
4d47f125
TL
22046 "type" : "array"
22047 }
22048 }
22049 },
22050 "leaf" : 1,
22051 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
22052 "text" : "rrddata"
22053 },
22054 {
22055 "info" : {
22056 "POST" : {
22057 "description" : "Creates a TCP VNC proxy connections.",
22058 "method" : "POST",
22059 "name" : "vncproxy",
22060 "parameters" : {
22061 "additionalProperties" : 0,
22062 "properties" : {
22063 "height" : {
22064 "description" : "sets the height of the console in pixels.",
22065 "maximum" : 2160,
22066 "minimum" : 16,
22067 "optional" : 1,
22068 "type" : "integer",
22069 "typetext" : "<integer> (16 - 2160)"
44660702 22070 },
4d47f125
TL
22071 "node" : {
22072 "description" : "The cluster node name.",
22073 "format" : "pve-node",
22074 "type" : "string",
22075 "typetext" : "<string>"
44660702 22076 },
4d47f125
TL
22077 "vmid" : {
22078 "description" : "The (unique) ID of the VM.",
22079 "format" : "pve-vmid",
22080 "minimum" : 1,
22081 "type" : "integer",
22082 "typetext" : "<integer> (1 - N)"
22083 },
22084 "websocket" : {
22085 "description" : "use websocket instead of standard VNC.",
22086 "optional" : 1,
22087 "type" : "boolean",
22088 "typetext" : "<boolean>"
22089 },
22090 "width" : {
22091 "description" : "sets the width of the console in pixels.",
22092 "maximum" : 4096,
22093 "minimum" : 16,
22094 "optional" : 1,
22095 "type" : "integer",
22096 "typetext" : "<integer> (16 - 4096)"
56122987
DM
22097 }
22098 }
44660702 22099 },
4d47f125
TL
22100 "permissions" : {
22101 "check" : [
22102 "perm",
22103 "/vms/{vmid}",
22104 [
22105 "VM.Console"
22106 ]
22107 ]
22108 },
22109 "protected" : 1,
22110 "returns" : {
22111 "additionalProperties" : 0,
22112 "properties" : {
22113 "cert" : {
22114 "type" : "string"
44660702 22115 },
4d47f125
TL
22116 "port" : {
22117 "type" : "integer"
22118 },
22119 "ticket" : {
22120 "type" : "string"
22121 },
22122 "upid" : {
22123 "type" : "string"
22124 },
22125 "user" : {
22126 "type" : "string"
22127 }
22128 }
22129 }
22130 }
22131 },
22132 "leaf" : 1,
22133 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
22134 "text" : "vncproxy"
22135 },
22136 {
22137 "info" : {
22138 "POST" : {
22139 "description" : "Creates a TCP proxy connection.",
22140 "method" : "POST",
22141 "name" : "termproxy",
22142 "parameters" : {
22143 "additionalProperties" : 0,
22144 "properties" : {
22145 "node" : {
22146 "description" : "The cluster node name.",
22147 "format" : "pve-node",
22148 "type" : "string",
22149 "typetext" : "<string>"
44660702 22150 },
4d47f125
TL
22151 "vmid" : {
22152 "description" : "The (unique) ID of the VM.",
22153 "format" : "pve-vmid",
22154 "minimum" : 1,
22155 "type" : "integer",
22156 "typetext" : "<integer> (1 - N)"
44660702 22157 }
4d47f125
TL
22158 }
22159 },
22160 "permissions" : {
22161 "check" : [
22162 "perm",
22163 "/vms/{vmid}",
22164 [
22165 "VM.Console"
22166 ]
22167 ]
22168 },
22169 "protected" : 1,
22170 "returns" : {
22171 "additionalProperties" : 0,
22172 "properties" : {
22173 "port" : {
22174 "type" : "integer"
56122987 22175 },
4d47f125
TL
22176 "ticket" : {
22177 "type" : "string"
7aacca6f 22178 },
4d47f125
TL
22179 "upid" : {
22180 "type" : "string"
22181 },
22182 "user" : {
22183 "type" : "string"
22184 }
22185 }
22186 }
22187 }
22188 },
22189 "leaf" : 1,
22190 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
22191 "text" : "termproxy"
22192 },
22193 {
22194 "info" : {
22195 "GET" : {
22196 "description" : "Opens a weksocket for VNC traffic.",
22197 "method" : "GET",
22198 "name" : "vncwebsocket",
22199 "parameters" : {
22200 "additionalProperties" : 0,
22201 "properties" : {
22202 "node" : {
22203 "description" : "The cluster node name.",
22204 "format" : "pve-node",
22205 "type" : "string",
22206 "typetext" : "<string>"
22207 },
22208 "port" : {
22209 "description" : "Port number returned by previous vncproxy call.",
22210 "maximum" : 5999,
22211 "minimum" : 5900,
22212 "type" : "integer",
22213 "typetext" : "<integer> (5900 - 5999)"
22214 },
22215 "vmid" : {
22216 "description" : "The (unique) ID of the VM.",
22217 "format" : "pve-vmid",
22218 "minimum" : 1,
22219 "type" : "integer",
22220 "typetext" : "<integer> (1 - N)"
22221 },
22222 "vncticket" : {
22223 "description" : "Ticket from previous call to vncproxy.",
22224 "maxLength" : 512,
22225 "type" : "string",
22226 "typetext" : "<string>"
56122987
DM
22227 }
22228 }
22229 },
4d47f125
TL
22230 "permissions" : {
22231 "check" : [
22232 "perm",
22233 "/vms/{vmid}",
22234 [
22235 "VM.Console"
22236 ]
22237 ],
22238 "description" : "You also need to pass a valid ticket (vncticket)."
22239 },
22240 "returns" : {
22241 "properties" : {
22242 "port" : {
22243 "type" : "string"
22244 }
22245 },
22246 "type" : "object"
22247 }
22248 }
22249 },
22250 "leaf" : 1,
22251 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
22252 "text" : "vncwebsocket"
22253 },
22254 {
22255 "info" : {
22256 "POST" : {
22257 "description" : "Returns a SPICE configuration to connect to the CT.",
22258 "method" : "POST",
22259 "name" : "spiceproxy",
22260 "parameters" : {
22261 "additionalProperties" : 0,
22262 "properties" : {
22263 "node" : {
22264 "description" : "The cluster node name.",
22265 "format" : "pve-node",
22266 "type" : "string",
22267 "typetext" : "<string>"
56122987 22268 },
4d47f125
TL
22269 "proxy" : {
22270 "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).",
22271 "format" : "address",
22272 "optional" : 1,
22273 "type" : "string",
22274 "typetext" : "<string>"
44660702 22275 },
4d47f125
TL
22276 "vmid" : {
22277 "description" : "The (unique) ID of the VM.",
22278 "format" : "pve-vmid",
22279 "minimum" : 1,
22280 "type" : "integer",
22281 "typetext" : "<integer> (1 - N)"
44660702 22282 }
56122987
DM
22283 }
22284 },
4d47f125
TL
22285 "permissions" : {
22286 "check" : [
22287 "perm",
22288 "/vms/{vmid}",
22289 [
22290 "VM.Console"
22291 ]
22292 ]
22293 },
22294 "protected" : 1,
22295 "proxyto" : "node",
22296 "returns" : {
22297 "additionalProperties" : 1,
22298 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
22299 "properties" : {
22300 "host" : {
22301 "type" : "string"
22302 },
22303 "password" : {
22304 "type" : "string"
22305 },
22306 "proxy" : {
22307 "type" : "string"
22308 },
22309 "tls-port" : {
22310 "type" : "integer"
22311 },
22312 "type" : {
22313 "type" : "string"
22314 }
22315 }
22316 }
22317 }
22318 },
22319 "leaf" : 1,
22320 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
22321 "text" : "spiceproxy"
22322 },
22323 {
22324 "info" : {
22325 "POST" : {
22326 "description" : "Migrate the container to another node. Creates a new migration task.",
22327 "method" : "POST",
22328 "name" : "migrate_vm",
22329 "parameters" : {
22330 "additionalProperties" : 0,
22331 "properties" : {
22332 "force" : {
22333 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
22334 "optional" : 1,
22335 "type" : "boolean",
22336 "typetext" : "<boolean>"
56122987 22337 },
4d47f125
TL
22338 "node" : {
22339 "description" : "The cluster node name.",
22340 "format" : "pve-node",
22341 "type" : "string",
22342 "typetext" : "<string>"
44660702 22343 },
4d47f125
TL
22344 "online" : {
22345 "description" : "Use online/live migration.",
22346 "optional" : 1,
22347 "type" : "boolean",
22348 "typetext" : "<boolean>"
22349 },
22350 "restart" : {
22351 "description" : "Use restart migration",
22352 "optional" : 1,
22353 "type" : "boolean",
22354 "typetext" : "<boolean>"
22355 },
22356 "target" : {
22357 "description" : "Target node.",
22358 "format" : "pve-node",
22359 "type" : "string",
22360 "typetext" : "<string>"
22361 },
22362 "timeout" : {
22363 "default" : 180,
22364 "description" : "Timeout in seconds for shutdown for restart migration",
22365 "optional" : 1,
22366 "type" : "integer",
22367 "typetext" : "<integer>"
22368 },
22369 "vmid" : {
22370 "description" : "The (unique) ID of the VM.",
22371 "format" : "pve-vmid",
22372 "minimum" : 1,
22373 "type" : "integer",
22374 "typetext" : "<integer> (1 - N)"
56122987
DM
22375 }
22376 }
22377 },
4d47f125
TL
22378 "permissions" : {
22379 "check" : [
22380 "perm",
22381 "/vms/{vmid}",
22382 [
22383 "VM.Migrate"
22384 ]
22385 ]
22386 },
22387 "protected" : 1,
22388 "proxyto" : "node",
22389 "returns" : {
22390 "description" : "the task ID.",
22391 "type" : "string"
22392 }
56122987 22393 }
4d47f125
TL
22394 },
22395 "leaf" : 1,
22396 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
22397 "text" : "migrate"
22398 },
22399 {
56122987
DM
22400 "info" : {
22401 "GET" : {
4d47f125 22402 "description" : "Check if feature for virtual machine is available.",
44660702 22403 "method" : "GET",
4d47f125 22404 "name" : "vm_feature",
56122987 22405 "parameters" : {
44660702 22406 "additionalProperties" : 0,
56122987 22407 "properties" : {
4d47f125
TL
22408 "feature" : {
22409 "description" : "Feature to check.",
22410 "enum" : [
22411 "snapshot",
22412 "clone",
22413 "copy"
22414 ],
22415 "type" : "string"
22416 },
56122987 22417 "node" : {
44660702 22418 "description" : "The cluster node name.",
56122987 22419 "format" : "pve-node",
013dc89f
DM
22420 "type" : "string",
22421 "typetext" : "<string>"
44660702 22422 },
4d47f125
TL
22423 "snapname" : {
22424 "description" : "The name of the snapshot.",
22425 "format" : "pve-configid",
22426 "maxLength" : 40,
22427 "optional" : 1,
22428 "type" : "string",
22429 "typetext" : "<string>"
22430 },
44660702
DM
22431 "vmid" : {
22432 "description" : "The (unique) ID of the VM.",
22433 "format" : "pve-vmid",
22434 "minimum" : 1,
4bd7df8b 22435 "type" : "integer",
013dc89f 22436 "typetext" : "<integer> (1 - N)"
56122987 22437 }
44660702
DM
22438 }
22439 },
22440 "permissions" : {
4d47f125
TL
22441 "check" : [
22442 "perm",
22443 "/vms/{vmid}",
22444 [
22445 "VM.Audit"
22446 ]
22447 ]
56122987 22448 },
4d47f125
TL
22449 "protected" : 1,
22450 "proxyto" : "node",
56122987 22451 "returns" : {
4d47f125
TL
22452 "properties" : {
22453 "hasFeature" : {
22454 "type" : "boolean"
22455 }
7aacca6f 22456 },
4d47f125
TL
22457 "type" : "object"
22458 }
22459 }
22460 },
22461 "leaf" : 1,
22462 "path" : "/nodes/{node}/lxc/{vmid}/feature",
22463 "text" : "feature"
22464 },
22465 {
22466 "info" : {
22467 "POST" : {
22468 "description" : "Create a Template.",
22469 "method" : "POST",
22470 "name" : "template",
22471 "parameters" : {
22472 "additionalProperties" : 0,
22473 "properties" : {
22474 "node" : {
22475 "description" : "The cluster node name.",
22476 "format" : "pve-node",
22477 "type" : "string",
22478 "typetext" : "<string>"
22479 },
22480 "vmid" : {
22481 "description" : "The (unique) ID of the VM.",
22482 "format" : "pve-vmid",
22483 "minimum" : 1,
22484 "type" : "integer",
22485 "typetext" : "<integer> (1 - N)"
56122987 22486 }
4d47f125
TL
22487 }
22488 },
22489 "permissions" : {
22490 "check" : [
22491 "perm",
22492 "/vms/{vmid}",
22493 [
22494 "VM.Allocate"
22495 ]
44660702 22496 ],
4d47f125
TL
22497 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
22498 },
22499 "protected" : 1,
22500 "proxyto" : "node",
22501 "returns" : {
22502 "type" : "null"
56122987
DM
22503 }
22504 }
22505 },
4d47f125
TL
22506 "leaf" : 1,
22507 "path" : "/nodes/{node}/lxc/{vmid}/template",
22508 "text" : "template"
56122987
DM
22509 },
22510 {
56122987 22511 "info" : {
4d47f125
TL
22512 "POST" : {
22513 "description" : "Create a container clone/copy",
22514 "method" : "POST",
22515 "name" : "clone_vm",
56122987 22516 "parameters" : {
7aacca6f 22517 "additionalProperties" : 0,
56122987 22518 "properties" : {
4d47f125
TL
22519 "description" : {
22520 "description" : "Description for the new CT.",
44660702 22521 "optional" : 1,
4d47f125
TL
22522 "type" : "string",
22523 "typetext" : "<string>"
44660702 22524 },
4d47f125
TL
22525 "full" : {
22526 "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.",
22527 "optional" : 1,
22528 "type" : "boolean",
22529 "typetext" : "<boolean>"
22530 },
22531 "hostname" : {
22532 "description" : "Set a hostname for the new CT.",
22533 "format" : "dns-name",
22534 "optional" : 1,
013dc89f
DM
22535 "type" : "string",
22536 "typetext" : "<string>"
44660702 22537 },
4d47f125
TL
22538 "newid" : {
22539 "description" : "VMID for the clone.",
22540 "format" : "pve-vmid",
22541 "minimum" : 1,
22542 "type" : "integer",
22543 "typetext" : "<integer> (1 - N)"
22544 },
7aacca6f
DM
22545 "node" : {
22546 "description" : "The cluster node name.",
44660702 22547 "format" : "pve-node",
013dc89f
DM
22548 "type" : "string",
22549 "typetext" : "<string>"
56122987 22550 },
4d47f125
TL
22551 "pool" : {
22552 "description" : "Add the new CT to the specified pool.",
22553 "format" : "pve-poolid",
22554 "optional" : 1,
22555 "type" : "string",
22556 "typetext" : "<string>"
22557 },
22558 "snapname" : {
22559 "description" : "The name of the snapshot.",
22560 "format" : "pve-configid",
22561 "maxLength" : 40,
22562 "optional" : 1,
22563 "type" : "string",
22564 "typetext" : "<string>"
22565 },
22566 "storage" : {
22567 "description" : "Target storage for full clone.",
22568 "format" : "pve-storage-id",
22569 "optional" : 1,
22570 "type" : "string",
22571 "typetext" : "<string>"
22572 },
22573 "target" : {
22574 "description" : "Target node. Only allowed if the original VM is on shared storage.",
22575 "format" : "pve-node",
22576 "optional" : 1,
22577 "type" : "string",
22578 "typetext" : "<string>"
22579 },
7aacca6f 22580 "vmid" : {
44660702 22581 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
22582 "format" : "pve-vmid",
22583 "minimum" : 1,
4bd7df8b 22584 "type" : "integer",
013dc89f 22585 "typetext" : "<integer> (1 - N)"
56122987 22586 }
7aacca6f
DM
22587 }
22588 },
22589 "permissions" : {
22590 "check" : [
4d47f125 22591 "and",
7aacca6f 22592 [
4d47f125
TL
22593 "perm",
22594 "/vms/{vmid}",
22595 [
22596 "VM.Clone"
22597 ]
22598 ],
22599 [
22600 "or",
22601 [
22602 "perm",
22603 "/vms/{newid}",
22604 [
22605 "VM.Allocate"
22606 ]
22607 ],
22608 [
22609 "perm",
22610 "/pool/{pool}",
22611 [
22612 "VM.Allocate"
22613 ],
22614 "require_param",
22615 "pool"
22616 ]
7aacca6f 22617 ]
4d47f125
TL
22618 ],
22619 "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 22620 },
44660702 22621 "protected" : 1,
4d47f125 22622 "proxyto" : "node",
7aacca6f 22623 "returns" : {
4d47f125 22624 "type" : "string"
7aacca6f 22625 }
56122987 22626 }
7aacca6f 22627 },
44660702 22628 "leaf" : 1,
4d47f125
TL
22629 "path" : "/nodes/{node}/lxc/{vmid}/clone",
22630 "text" : "clone"
56122987
DM
22631 },
22632 {
56122987 22633 "info" : {
4d47f125
TL
22634 "PUT" : {
22635 "description" : "Resize a container mount point.",
22636 "method" : "PUT",
22637 "name" : "resize_vm",
56122987 22638 "parameters" : {
7aacca6f 22639 "additionalProperties" : 0,
56122987 22640 "properties" : {
4d47f125
TL
22641 "digest" : {
22642 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22643 "maxLength" : 40,
22644 "optional" : 1,
22645 "type" : "string",
22646 "typetext" : "<string>"
22647 },
22648 "disk" : {
22649 "description" : "The disk you want to resize.",
44660702 22650 "enum" : [
4d47f125
TL
22651 "rootfs",
22652 "mp0",
22653 "mp1",
22654 "mp2",
22655 "mp3",
22656 "mp4",
22657 "mp5",
22658 "mp6",
22659 "mp7",
22660 "mp8",
22661 "mp9",
22662 "mp10",
22663 "mp11",
22664 "mp12",
22665 "mp13",
22666 "mp14",
22667 "mp15",
22668 "mp16",
22669 "mp17",
22670 "mp18",
22671 "mp19",
22672 "mp20",
22673 "mp21",
22674 "mp22",
22675 "mp23",
22676 "mp24",
22677 "mp25",
22678 "mp26",
22679 "mp27",
22680 "mp28",
22681 "mp29",
22682 "mp30",
22683 "mp31",
22684 "mp32",
22685 "mp33",
22686 "mp34",
22687 "mp35",
22688 "mp36",
22689 "mp37",
22690 "mp38",
22691 "mp39",
22692 "mp40",
22693 "mp41",
22694 "mp42",
22695 "mp43",
22696 "mp44",
22697 "mp45",
22698 "mp46",
22699 "mp47",
22700 "mp48",
22701 "mp49",
22702 "mp50",
22703 "mp51",
22704 "mp52",
22705 "mp53",
22706 "mp54",
22707 "mp55",
22708 "mp56",
22709 "mp57",
22710 "mp58",
22711 "mp59",
22712 "mp60",
22713 "mp61",
22714 "mp62",
22715 "mp63",
22716 "mp64",
22717 "mp65",
22718 "mp66",
22719 "mp67",
22720 "mp68",
22721 "mp69",
22722 "mp70",
22723 "mp71",
22724 "mp72",
22725 "mp73",
22726 "mp74",
22727 "mp75",
22728 "mp76",
22729 "mp77",
22730 "mp78",
22731 "mp79",
22732 "mp80",
22733 "mp81",
22734 "mp82",
22735 "mp83",
22736 "mp84",
22737 "mp85",
22738 "mp86",
22739 "mp87",
22740 "mp88",
22741 "mp89",
22742 "mp90",
22743 "mp91",
22744 "mp92",
22745 "mp93",
22746 "mp94",
22747 "mp95",
22748 "mp96",
22749 "mp97",
22750 "mp98",
22751 "mp99",
22752 "mp100",
22753 "mp101",
22754 "mp102",
22755 "mp103",
22756 "mp104",
22757 "mp105",
22758 "mp106",
22759 "mp107",
22760 "mp108",
22761 "mp109",
22762 "mp110",
22763 "mp111",
22764 "mp112",
22765 "mp113",
22766 "mp114",
22767 "mp115",
22768 "mp116",
22769 "mp117",
22770 "mp118",
22771 "mp119",
22772 "mp120",
22773 "mp121",
22774 "mp122",
22775 "mp123",
22776 "mp124",
22777 "mp125",
22778 "mp126",
22779 "mp127",
22780 "mp128",
22781 "mp129",
22782 "mp130",
22783 "mp131",
22784 "mp132",
22785 "mp133",
22786 "mp134",
22787 "mp135",
22788 "mp136",
22789 "mp137",
22790 "mp138",
22791 "mp139",
22792 "mp140",
22793 "mp141",
22794 "mp142",
22795 "mp143",
22796 "mp144",
22797 "mp145",
22798 "mp146",
22799 "mp147",
22800 "mp148",
22801 "mp149",
22802 "mp150",
22803 "mp151",
22804 "mp152",
22805 "mp153",
22806 "mp154",
22807 "mp155",
22808 "mp156",
22809 "mp157",
22810 "mp158",
22811 "mp159",
22812 "mp160",
22813 "mp161",
22814 "mp162",
22815 "mp163",
22816 "mp164",
22817 "mp165",
22818 "mp166",
22819 "mp167",
22820 "mp168",
22821 "mp169",
22822 "mp170",
22823 "mp171",
22824 "mp172",
22825 "mp173",
22826 "mp174",
22827 "mp175",
22828 "mp176",
22829 "mp177",
22830 "mp178",
22831 "mp179",
22832 "mp180",
22833 "mp181",
22834 "mp182",
22835 "mp183",
22836 "mp184",
22837 "mp185",
22838 "mp186",
22839 "mp187",
22840 "mp188",
22841 "mp189",
22842 "mp190",
22843 "mp191",
22844 "mp192",
22845 "mp193",
22846 "mp194",
22847 "mp195",
22848 "mp196",
22849 "mp197",
22850 "mp198",
22851 "mp199",
22852 "mp200",
22853 "mp201",
22854 "mp202",
22855 "mp203",
22856 "mp204",
22857 "mp205",
22858 "mp206",
22859 "mp207",
22860 "mp208",
22861 "mp209",
22862 "mp210",
22863 "mp211",
22864 "mp212",
22865 "mp213",
22866 "mp214",
22867 "mp215",
22868 "mp216",
22869 "mp217",
22870 "mp218",
22871 "mp219",
22872 "mp220",
22873 "mp221",
22874 "mp222",
22875 "mp223",
22876 "mp224",
22877 "mp225",
22878 "mp226",
22879 "mp227",
22880 "mp228",
22881 "mp229",
22882 "mp230",
22883 "mp231",
22884 "mp232",
22885 "mp233",
22886 "mp234",
22887 "mp235",
22888 "mp236",
22889 "mp237",
22890 "mp238",
22891 "mp239",
22892 "mp240",
22893 "mp241",
22894 "mp242",
22895 "mp243",
22896 "mp244",
22897 "mp245",
22898 "mp246",
22899 "mp247",
22900 "mp248",
22901 "mp249",
22902 "mp250",
22903 "mp251",
22904 "mp252",
22905 "mp253",
22906 "mp254",
22907 "mp255"
44660702 22908 ],
44660702
DM
22909 "type" : "string"
22910 },
7aacca6f 22911 "node" : {
44660702 22912 "description" : "The cluster node name.",
7aacca6f 22913 "format" : "pve-node",
013dc89f
DM
22914 "type" : "string",
22915 "typetext" : "<string>"
7aacca6f 22916 },
4d47f125
TL
22917 "size" : {
22918 "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.",
22919 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 22920 "type" : "string"
7aacca6f
DM
22921 },
22922 "vmid" : {
22923 "description" : "The (unique) ID of the VM.",
44660702 22924 "format" : "pve-vmid",
7aacca6f 22925 "minimum" : 1,
4bd7df8b 22926 "type" : "integer",
013dc89f 22927 "typetext" : "<integer> (1 - N)"
56122987 22928 }
56122987
DM
22929 }
22930 },
56122987
DM
22931 "permissions" : {
22932 "check" : [
22933 "perm",
22934 "/vms/{vmid}",
22935 [
4d47f125
TL
22936 "VM.Config.Disk"
22937 ],
22938 "any",
22939 1
56122987
DM
22940 ]
22941 },
7aacca6f 22942 "protected" : 1,
4d47f125 22943 "proxyto" : "node",
7aacca6f 22944 "returns" : {
4d47f125
TL
22945 "description" : "the task ID.",
22946 "type" : "string"
44660702 22947 }
56122987
DM
22948 }
22949 },
44660702 22950 "leaf" : 1,
4d47f125
TL
22951 "path" : "/nodes/{node}/lxc/{vmid}/resize",
22952 "text" : "resize"
56122987
DM
22953 },
22954 {
22955 "info" : {
22956 "POST" : {
4d47f125 22957 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 22958 "method" : "POST",
4d47f125 22959 "name" : "move_volume",
7aacca6f 22960 "parameters" : {
44660702 22961 "additionalProperties" : 0,
7aacca6f 22962 "properties" : {
4d47f125
TL
22963 "delete" : {
22964 "default" : 0,
22965 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 22966 "optional" : 1,
4d47f125
TL
22967 "type" : "boolean",
22968 "typetext" : "<boolean>"
22969 },
22970 "digest" : {
22971 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22972 "maxLength" : 40,
22973 "optional" : 1,
22974 "type" : "string",
22975 "typetext" : "<string>"
5d9c884c 22976 },
44660702
DM
22977 "node" : {
22978 "description" : "The cluster node name.",
22979 "format" : "pve-node",
013dc89f
DM
22980 "type" : "string",
22981 "typetext" : "<string>"
44660702 22982 },
4d47f125
TL
22983 "storage" : {
22984 "description" : "Target Storage.",
22985 "format" : "pve-storage-id",
22986 "type" : "string",
22987 "typetext" : "<string>"
22988 },
7aacca6f 22989 "vmid" : {
44660702 22990 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
22991 "format" : "pve-vmid",
22992 "minimum" : 1,
4bd7df8b 22993 "type" : "integer",
013dc89f 22994 "typetext" : "<integer> (1 - N)"
7aacca6f 22995 },
4d47f125
TL
22996 "volume" : {
22997 "description" : "Volume which will be moved.",
22998 "enum" : [
22999 "rootfs",
23000 "mp0",
23001 "mp1",
23002 "mp2",
23003 "mp3",
23004 "mp4",
23005 "mp5",
23006 "mp6",
23007 "mp7",
23008 "mp8",
23009 "mp9",
23010 "mp10",
23011 "mp11",
23012 "mp12",
23013 "mp13",
23014 "mp14",
23015 "mp15",
23016 "mp16",
23017 "mp17",
23018 "mp18",
23019 "mp19",
23020 "mp20",
23021 "mp21",
23022 "mp22",
23023 "mp23",
23024 "mp24",
23025 "mp25",
23026 "mp26",
23027 "mp27",
23028 "mp28",
23029 "mp29",
23030 "mp30",
23031 "mp31",
23032 "mp32",
23033 "mp33",
23034 "mp34",
23035 "mp35",
23036 "mp36",
23037 "mp37",
23038 "mp38",
23039 "mp39",
23040 "mp40",
23041 "mp41",
23042 "mp42",
23043 "mp43",
23044 "mp44",
23045 "mp45",
23046 "mp46",
23047 "mp47",
23048 "mp48",
23049 "mp49",
23050 "mp50",
23051 "mp51",
23052 "mp52",
23053 "mp53",
23054 "mp54",
23055 "mp55",
23056 "mp56",
23057 "mp57",
23058 "mp58",
23059 "mp59",
23060 "mp60",
23061 "mp61",
23062 "mp62",
23063 "mp63",
23064 "mp64",
23065 "mp65",
23066 "mp66",
23067 "mp67",
23068 "mp68",
23069 "mp69",
23070 "mp70",
23071 "mp71",
23072 "mp72",
23073 "mp73",
23074 "mp74",
23075 "mp75",
23076 "mp76",
23077 "mp77",
23078 "mp78",
23079 "mp79",
23080 "mp80",
23081 "mp81",
23082 "mp82",
23083 "mp83",
23084 "mp84",
23085 "mp85",
23086 "mp86",
23087 "mp87",
23088 "mp88",
23089 "mp89",
23090 "mp90",
23091 "mp91",
23092 "mp92",
23093 "mp93",
23094 "mp94",
23095 "mp95",
23096 "mp96",
23097 "mp97",
23098 "mp98",
23099 "mp99",
23100 "mp100",
23101 "mp101",
23102 "mp102",
23103 "mp103",
23104 "mp104",
23105 "mp105",
23106 "mp106",
23107 "mp107",
23108 "mp108",
23109 "mp109",
23110 "mp110",
23111 "mp111",
23112 "mp112",
23113 "mp113",
23114 "mp114",
23115 "mp115",
23116 "mp116",
23117 "mp117",
23118 "mp118",
23119 "mp119",
23120 "mp120",
23121 "mp121",
23122 "mp122",
23123 "mp123",
23124 "mp124",
23125 "mp125",
23126 "mp126",
23127 "mp127",
23128 "mp128",
23129 "mp129",
23130 "mp130",
23131 "mp131",
23132 "mp132",
23133 "mp133",
23134 "mp134",
23135 "mp135",
23136 "mp136",
23137 "mp137",
23138 "mp138",
23139 "mp139",
23140 "mp140",
23141 "mp141",
23142 "mp142",
23143 "mp143",
23144 "mp144",
23145 "mp145",
23146 "mp146",
23147 "mp147",
23148 "mp148",
23149 "mp149",
23150 "mp150",
23151 "mp151",
23152 "mp152",
23153 "mp153",
23154 "mp154",
23155 "mp155",
23156 "mp156",
23157 "mp157",
23158 "mp158",
23159 "mp159",
23160 "mp160",
23161 "mp161",
23162 "mp162",
23163 "mp163",
23164 "mp164",
23165 "mp165",
23166 "mp166",
23167 "mp167",
23168 "mp168",
23169 "mp169",
23170 "mp170",
23171 "mp171",
23172 "mp172",
23173 "mp173",
23174 "mp174",
23175 "mp175",
23176 "mp176",
23177 "mp177",
23178 "mp178",
23179 "mp179",
23180 "mp180",
23181 "mp181",
23182 "mp182",
23183 "mp183",
23184 "mp184",
23185 "mp185",
23186 "mp186",
23187 "mp187",
23188 "mp188",
23189 "mp189",
23190 "mp190",
23191 "mp191",
23192 "mp192",
23193 "mp193",
23194 "mp194",
23195 "mp195",
23196 "mp196",
23197 "mp197",
23198 "mp198",
23199 "mp199",
23200 "mp200",
23201 "mp201",
23202 "mp202",
23203 "mp203",
23204 "mp204",
23205 "mp205",
23206 "mp206",
23207 "mp207",
23208 "mp208",
23209 "mp209",
23210 "mp210",
23211 "mp211",
23212 "mp212",
23213 "mp213",
23214 "mp214",
23215 "mp215",
23216 "mp216",
23217 "mp217",
23218 "mp218",
23219 "mp219",
23220 "mp220",
23221 "mp221",
23222 "mp222",
23223 "mp223",
23224 "mp224",
23225 "mp225",
23226 "mp226",
23227 "mp227",
23228 "mp228",
23229 "mp229",
23230 "mp230",
23231 "mp231",
23232 "mp232",
23233 "mp233",
23234 "mp234",
23235 "mp235",
23236 "mp236",
23237 "mp237",
23238 "mp238",
23239 "mp239",
23240 "mp240",
23241 "mp241",
23242 "mp242",
23243 "mp243",
23244 "mp244",
23245 "mp245",
23246 "mp246",
23247 "mp247",
23248 "mp248",
23249 "mp249",
23250 "mp250",
23251 "mp251",
23252 "mp252",
23253 "mp253",
23254 "mp254",
23255 "mp255"
23256 ],
23257 "type" : "string"
7aacca6f 23258 }
44660702 23259 }
7aacca6f 23260 },
56122987
DM
23261 "permissions" : {
23262 "check" : [
4d47f125 23263 "and",
56122987 23264 [
4d47f125
TL
23265 "perm",
23266 "/vms/{vmid}",
23267 [
23268 "VM.Config.Disk"
23269 ]
23270 ],
23271 [
23272 "perm",
23273 "/storage/{storage}",
23274 [
23275 "Datastore.AllocateSpace"
23276 ]
56122987 23277 ]
4d47f125
TL
23278 ],
23279 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
23280 },
23281 "protected" : 1,
23282 "proxyto" : "node",
23283 "returns" : {
23284 "type" : "string"
23285 }
23286 }
23287 },
23288 "leaf" : 1,
23289 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
23290 "text" : "move_volume"
23291 }
23292 ],
23293 "info" : {
23294 "DELETE" : {
23295 "description" : "Destroy the container (also delete all uses files).",
23296 "method" : "DELETE",
23297 "name" : "destroy_vm",
23298 "parameters" : {
23299 "additionalProperties" : 0,
23300 "properties" : {
23301 "node" : {
23302 "description" : "The cluster node name.",
23303 "format" : "pve-node",
23304 "type" : "string",
23305 "typetext" : "<string>"
23306 },
23307 "vmid" : {
23308 "description" : "The (unique) ID of the VM.",
23309 "format" : "pve-vmid",
23310 "minimum" : 1,
23311 "type" : "integer",
23312 "typetext" : "<integer> (1 - N)"
23313 }
23314 }
23315 },
23316 "permissions" : {
23317 "check" : [
23318 "perm",
23319 "/vms/{vmid}",
23320 [
23321 "VM.Allocate"
23322 ]
23323 ]
23324 },
23325 "protected" : 1,
23326 "proxyto" : "node",
23327 "returns" : {
23328 "type" : "string"
23329 }
23330 },
23331 "GET" : {
23332 "description" : "Directory index",
23333 "method" : "GET",
23334 "name" : "vmdiridx",
23335 "parameters" : {
23336 "additionalProperties" : 0,
23337 "properties" : {
23338 "node" : {
23339 "description" : "The cluster node name.",
23340 "format" : "pve-node",
23341 "type" : "string",
23342 "typetext" : "<string>"
56122987 23343 },
4d47f125
TL
23344 "vmid" : {
23345 "description" : "The (unique) ID of the VM.",
23346 "format" : "pve-vmid",
23347 "minimum" : 1,
23348 "type" : "integer",
23349 "typetext" : "<integer> (1 - N)"
56122987
DM
23350 }
23351 }
23352 },
4d47f125
TL
23353 "permissions" : {
23354 "user" : "all"
23355 },
23356 "proxyto" : "node",
23357 "returns" : {
23358 "items" : {
23359 "properties" : {
23360 "subdir" : {
23361 "type" : "string"
35a75dd3
DM
23362 }
23363 },
4d47f125
TL
23364 "type" : "object"
23365 },
23366 "links" : [
23367 {
23368 "href" : "{subdir}",
23369 "rel" : "child"
35a75dd3 23370 }
4d47f125
TL
23371 ],
23372 "type" : "array"
23373 }
23374 }
23375 },
23376 "leaf" : 0,
23377 "path" : "/nodes/{node}/lxc/{vmid}",
23378 "text" : "{vmid}"
23379 }
23380 ],
23381 "info" : {
23382 "GET" : {
23383 "description" : "LXC container index (per node).",
23384 "method" : "GET",
23385 "name" : "vmlist",
23386 "parameters" : {
23387 "additionalProperties" : 0,
23388 "properties" : {
23389 "node" : {
23390 "description" : "The cluster node name.",
23391 "format" : "pve-node",
23392 "type" : "string",
23393 "typetext" : "<string>"
23394 }
23395 }
23396 },
23397 "permissions" : {
23398 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
23399 "user" : "all"
23400 },
23401 "protected" : 1,
23402 "proxyto" : "node",
23403 "returns" : {
23404 "items" : {
23405 "properties" : {
23406 "cpus" : {
23407 "description" : "Maximum usable CPUs.",
23408 "optional" : 1,
23409 "type" : "number"
23410 },
23411 "maxdisk" : {
23412 "description" : "Root disk size in bytes.",
23413 "optional" : 1,
23414 "renderer" : "bytes",
23415 "type" : "integer"
23416 },
23417 "maxmem" : {
23418 "description" : "Maximum memory in bytes.",
23419 "optional" : 1,
23420 "renderer" : "bytes",
23421 "type" : "integer"
23422 },
23423 "maxswap" : {
23424 "description" : "Maximum SWAP memory in bytes.",
23425 "optional" : 1,
23426 "renderer" : "bytes",
23427 "type" : "integer"
23428 },
23429 "name" : {
23430 "description" : "Container name.",
23431 "optional" : 1,
23432 "type" : "string"
23433 },
23434 "status" : {
23435 "description" : "LXC Container status.",
23436 "enum" : [
23437 "stopped",
23438 "running"
23439 ],
23440 "type" : "string"
23441 },
23442 "uptime" : {
23443 "description" : "Uptime.",
23444 "optional" : 1,
23445 "renderer" : "duration",
23446 "type" : "integer"
23447 },
23448 "vmid" : {
23449 "description" : "The (unique) ID of the VM.",
23450 "format" : "pve-vmid",
23451 "minimum" : 1,
23452 "type" : "integer"
35a75dd3
DM
23453 }
23454 },
4d47f125 23455 "type" : "object"
35a75dd3 23456 },
4d47f125
TL
23457 "links" : [
23458 {
23459 "href" : "{vmid}",
23460 "rel" : "child"
23461 }
23462 ],
23463 "type" : "array"
23464 }
23465 },
23466 "POST" : {
23467 "description" : "Create or restore a container.",
23468 "method" : "POST",
23469 "name" : "create_vm",
23470 "parameters" : {
23471 "additionalProperties" : 0,
23472 "properties" : {
23473 "arch" : {
23474 "default" : "amd64",
23475 "description" : "OS architecture type.",
23476 "enum" : [
23477 "amd64",
23478 "i386",
23479 "arm64",
23480 "armhf"
23481 ],
23482 "optional" : 1,
23483 "type" : "string"
23484 },
23485 "bwlimit" : {
23486 "description" : "Override i/o bandwidth limit (in KiB/s).",
23487 "minimum" : "0",
23488 "optional" : 1,
23489 "type" : "number",
23490 "typetext" : "<number> (0 - N)"
23491 },
23492 "cmode" : {
23493 "default" : "tty",
23494 "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).",
23495 "enum" : [
23496 "shell",
23497 "console",
23498 "tty"
23499 ],
23500 "optional" : 1,
23501 "type" : "string"
23502 },
23503 "console" : {
23504 "default" : 1,
23505 "description" : "Attach a console device (/dev/console) to the container.",
23506 "optional" : 1,
23507 "type" : "boolean",
23508 "typetext" : "<boolean>"
23509 },
23510 "cores" : {
23511 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
23512 "maximum" : 128,
23513 "minimum" : 1,
23514 "optional" : 1,
23515 "type" : "integer",
23516 "typetext" : "<integer> (1 - 128)"
23517 },
23518 "cpulimit" : {
23519 "default" : 0,
23520 "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.",
23521 "maximum" : 128,
23522 "minimum" : 0,
23523 "optional" : 1,
23524 "type" : "number",
23525 "typetext" : "<number> (0 - 128)"
23526 },
23527 "cpuunits" : {
23528 "default" : 1024,
23529 "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.",
23530 "maximum" : 500000,
23531 "minimum" : 0,
23532 "optional" : 1,
23533 "type" : "integer",
23534 "typetext" : "<integer> (0 - 500000)"
23535 },
23536 "description" : {
23537 "description" : "Container description. Only used on the configuration web interface.",
23538 "optional" : 1,
23539 "type" : "string",
23540 "typetext" : "<string>"
23541 },
23542 "features" : {
23543 "description" : "Allow containers access to advanced features.",
23544 "format" : {
23545 "keyctl" : {
23546 "default" : 0,
23547 "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.",
23548 "optional" : 1,
23549 "type" : "boolean"
7aacca6f 23550 },
4d47f125
TL
23551 "mount" : {
23552 "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.",
23553 "format_description" : "fstype;fstype;...",
23554 "optional" : 1,
23555 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
23556 "type" : "string"
56122987 23557 },
4d47f125
TL
23558 "nesting" : {
23559 "default" : 0,
23560 "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.",
23561 "optional" : 1,
23562 "type" : "boolean"
44660702 23563 }
4d47f125
TL
23564 },
23565 "optional" : 1,
23566 "type" : "string",
23567 "typetext" : "[keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 23568 },
4d47f125
TL
23569 "force" : {
23570 "description" : "Allow to overwrite existing container.",
23571 "optional" : 1,
23572 "type" : "boolean",
23573 "typetext" : "<boolean>"
23574 },
23575 "hostname" : {
23576 "description" : "Set a host name for the container.",
23577 "format" : "dns-name",
23578 "maxLength" : 255,
23579 "optional" : 1,
23580 "type" : "string",
23581 "typetext" : "<string>"
23582 },
23583 "ignore-unpack-errors" : {
23584 "description" : "Ignore errors when extracting the template.",
23585 "optional" : 1,
23586 "type" : "boolean",
23587 "typetext" : "<boolean>"
23588 },
23589 "lock" : {
23590 "description" : "Lock/unlock the VM.",
23591 "enum" : [
23592 "backup",
23593 "disk",
23594 "migrate",
23595 "mounted",
23596 "rollback",
23597 "snapshot",
23598 "snapshot-delete"
23599 ],
23600 "optional" : 1,
23601 "type" : "string"
23602 },
23603 "memory" : {
23604 "default" : 512,
23605 "description" : "Amount of RAM for the VM in MB.",
23606 "minimum" : 16,
23607 "optional" : 1,
23608 "type" : "integer",
23609 "typetext" : "<integer> (16 - N)"
23610 },
23611 "mp[n]" : {
23612 "description" : "Use volume as container mount point.",
23613 "format" : {
23614 "acl" : {
23615 "description" : "Explicitly enable or disable ACL support.",
23616 "optional" : 1,
23617 "type" : "boolean"
56122987 23618 },
4d47f125
TL
23619 "backup" : {
23620 "description" : "Whether to include the mount point in backups.",
23621 "optional" : 1,
23622 "type" : "boolean",
23623 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 23624 },
4d47f125
TL
23625 "mp" : {
23626 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
23627 "format" : "pve-lxc-mp-string",
23628 "format_description" : "Path",
23629 "type" : "string",
23630 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 23631 },
4d47f125
TL
23632 "quota" : {
23633 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
23634 "optional" : 1,
23635 "type" : "boolean"
23636 },
23637 "replicate" : {
23638 "default" : 1,
23639 "description" : "Will include this volume to a storage replica job.",
23640 "optional" : 1,
23641 "type" : "boolean"
23642 },
23643 "ro" : {
23644 "description" : "Read-only mount point",
23645 "optional" : 1,
23646 "type" : "boolean"
23647 },
23648 "shared" : {
23649 "default" : 0,
23650 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
23651 "optional" : 1,
23652 "type" : "boolean",
23653 "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 23654 },
4d47f125
TL
23655 "size" : {
23656 "description" : "Volume size (read only value).",
23657 "format" : "disk-size",
23658 "format_description" : "DiskSize",
23659 "optional" : 1,
23660 "type" : "string"
23661 },
23662 "volume" : {
23663 "default_key" : 1,
23664 "description" : "Volume, device or directory to mount into the container.",
23665 "format" : "pve-lxc-mp-string",
23666 "format_description" : "volume",
44660702
DM
23667 "type" : "string"
23668 }
4d47f125
TL
23669 },
23670 "optional" : 1,
23671 "type" : "string",
23672 "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 23673 },
4d47f125
TL
23674 "nameserver" : {
23675 "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.",
23676 "format" : "address-list",
23677 "optional" : 1,
23678 "type" : "string",
23679 "typetext" : "<string>"
23680 },
23681 "net[n]" : {
23682 "description" : "Specifies network interfaces for the container.",
23683 "format" : {
23684 "bridge" : {
23685 "description" : "Bridge to attach the network device to.",
23686 "format_description" : "bridge",
23687 "optional" : 1,
23688 "pattern" : "[-_.\\w\\d]+",
23689 "type" : "string"
56122987 23690 },
4d47f125
TL
23691 "firewall" : {
23692 "description" : "Controls whether this interface's firewall rules should be used.",
23693 "optional" : 1,
23694 "type" : "boolean"
56122987 23695 },
4d47f125
TL
23696 "gw" : {
23697 "description" : "Default gateway for IPv4 traffic.",
23698 "format" : "ipv4",
23699 "format_description" : "GatewayIPv4",
23700 "optional" : 1,
23701 "type" : "string"
23702 },
23703 "gw6" : {
23704 "description" : "Default gateway for IPv6 traffic.",
23705 "format" : "ipv6",
23706 "format_description" : "GatewayIPv6",
23707 "optional" : 1,
23708 "type" : "string"
23709 },
23710 "hwaddr" : {
23711 "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)",
23712 "format_description" : "XX:XX:XX:XX:XX:XX",
23713 "optional" : 1,
23714 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
23715 "type" : "string"
23716 },
23717 "ip" : {
23718 "description" : "IPv4 address in CIDR format.",
23719 "format" : "pve-ipv4-config",
23720 "format_description" : "(IPv4/CIDR|dhcp|manual)",
23721 "optional" : 1,
23722 "type" : "string"
23723 },
23724 "ip6" : {
23725 "description" : "IPv6 address in CIDR format.",
23726 "format" : "pve-ipv6-config",
23727 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
23728 "optional" : 1,
23729 "type" : "string"
23730 },
23731 "mtu" : {
23732 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
23733 "minimum" : 64,
23734 "optional" : 1,
23735 "type" : "integer"
23736 },
23737 "name" : {
23738 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
23739 "format_description" : "string",
23740 "pattern" : "[-_.\\w\\d]+",
23741 "type" : "string"
23742 },
23743 "rate" : {
23744 "description" : "Apply rate limiting to the interface",
23745 "format_description" : "mbps",
23746 "optional" : 1,
23747 "type" : "number"
23748 },
23749 "tag" : {
23750 "description" : "VLAN tag for this interface.",
23751 "maximum" : 4094,
23752 "minimum" : 1,
23753 "optional" : 1,
23754 "type" : "integer"
23755 },
23756 "trunks" : {
23757 "description" : "VLAN ids to pass through the interface",
23758 "format_description" : "vlanid[;vlanid...]",
23759 "optional" : 1,
23760 "pattern" : "(?^:\\d+(?:;\\d+)*)",
23761 "type" : "string"
23762 },
23763 "type" : {
23764 "description" : "Network interface type.",
23765 "enum" : [
23766 "veth"
23767 ],
23768 "optional" : 1,
23769 "type" : "string"
7aacca6f 23770 }
4d47f125
TL
23771 },
23772 "optional" : 1,
23773 "type" : "string",
23774 "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 23775 },
4d47f125
TL
23776 "node" : {
23777 "description" : "The cluster node name.",
23778 "format" : "pve-node",
23779 "type" : "string",
23780 "typetext" : "<string>"
23781 },
23782 "onboot" : {
23783 "default" : 0,
23784 "description" : "Specifies whether a VM will be started during system bootup.",
23785 "optional" : 1,
23786 "type" : "boolean",
23787 "typetext" : "<boolean>"
23788 },
23789 "ostemplate" : {
23790 "description" : "The OS template or backup file.",
23791 "maxLength" : 255,
23792 "type" : "string",
23793 "typetext" : "<string>"
23794 },
23795 "ostype" : {
23796 "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.",
23797 "enum" : [
23798 "debian",
23799 "ubuntu",
23800 "centos",
23801 "fedora",
23802 "opensuse",
23803 "archlinux",
23804 "alpine",
23805 "gentoo",
23806 "unmanaged"
23807 ],
23808 "optional" : 1,
23809 "type" : "string"
23810 },
23811 "password" : {
23812 "description" : "Sets root password inside container.",
23813 "minLength" : 5,
23814 "optional" : 1,
23815 "type" : "string",
23816 "typetext" : "<string>"
23817 },
23818 "pool" : {
23819 "description" : "Add the VM to the specified pool.",
23820 "format" : "pve-poolid",
23821 "optional" : 1,
23822 "type" : "string",
23823 "typetext" : "<string>"
23824 },
23825 "protection" : {
23826 "default" : 0,
23827 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
23828 "optional" : 1,
23829 "type" : "boolean",
23830 "typetext" : "<boolean>"
23831 },
23832 "restore" : {
23833 "description" : "Mark this as restore task.",
23834 "optional" : 1,
23835 "type" : "boolean",
23836 "typetext" : "<boolean>"
23837 },
23838 "rootfs" : {
23839 "description" : "Use volume as container root.",
23840 "format" : {
23841 "acl" : {
23842 "description" : "Explicitly enable or disable ACL support.",
23843 "optional" : 1,
23844 "type" : "boolean"
56122987 23845 },
4d47f125
TL
23846 "quota" : {
23847 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
23848 "optional" : 1,
23849 "type" : "boolean"
7aacca6f 23850 },
4d47f125
TL
23851 "replicate" : {
23852 "default" : 1,
23853 "description" : "Will include this volume to a storage replica job.",
23854 "optional" : 1,
23855 "type" : "boolean"
23856 },
23857 "ro" : {
23858 "description" : "Read-only mount point",
23859 "optional" : 1,
23860 "type" : "boolean"
23861 },
23862 "shared" : {
23863 "default" : 0,
23864 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
23865 "optional" : 1,
23866 "type" : "boolean",
23867 "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!"
23868 },
23869 "size" : {
23870 "description" : "Volume size (read only value).",
23871 "format" : "disk-size",
23872 "format_description" : "DiskSize",
23873 "optional" : 1,
23874 "type" : "string"
23875 },
23876 "volume" : {
23877 "default_key" : 1,
23878 "description" : "Volume, device or directory to mount into the container.",
23879 "format" : "pve-lxc-mp-string",
23880 "format_description" : "volume",
23881 "type" : "string"
56122987 23882 }
4d47f125
TL
23883 },
23884 "optional" : 1,
23885 "type" : "string",
23886 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 23887 },
4d47f125
TL
23888 "searchdomain" : {
23889 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
23890 "format" : "dns-name-list",
23891 "optional" : 1,
23892 "type" : "string",
23893 "typetext" : "<string>"
23894 },
23895 "ssh-public-keys" : {
23896 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
23897 "optional" : 1,
23898 "type" : "string",
23899 "typetext" : "<string>"
23900 },
23901 "start" : {
23902 "default" : 0,
23903 "description" : "Start the CT after its creation finished successfully.",
23904 "optional" : 1,
23905 "type" : "boolean",
23906 "typetext" : "<boolean>"
23907 },
23908 "startup" : {
23909 "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.",
23910 "format" : "pve-startup-order",
23911 "optional" : 1,
23912 "type" : "string",
23913 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
23914 },
23915 "storage" : {
23916 "default" : "local",
23917 "description" : "Default Storage.",
23918 "format" : "pve-storage-id",
23919 "optional" : 1,
23920 "type" : "string",
23921 "typetext" : "<string>"
23922 },
23923 "swap" : {
23924 "default" : 512,
23925 "description" : "Amount of SWAP for the VM in MB.",
23926 "minimum" : 0,
23927 "optional" : 1,
23928 "type" : "integer",
23929 "typetext" : "<integer> (0 - N)"
23930 },
23931 "template" : {
23932 "default" : 0,
23933 "description" : "Enable/disable Template.",
23934 "optional" : 1,
23935 "type" : "boolean",
23936 "typetext" : "<boolean>"
23937 },
23938 "tty" : {
23939 "default" : 2,
23940 "description" : "Specify the number of tty available to the container",
23941 "maximum" : 6,
23942 "minimum" : 0,
23943 "optional" : 1,
23944 "type" : "integer",
23945 "typetext" : "<integer> (0 - 6)"
23946 },
23947 "unprivileged" : {
23948 "default" : 0,
23949 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
23950 "optional" : 1,
23951 "type" : "boolean",
23952 "typetext" : "<boolean>"
23953 },
23954 "unused[n]" : {
23955 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
23956 "format" : "pve-volume-id",
23957 "optional" : 1,
23958 "type" : "string",
23959 "typetext" : "<string>"
23960 },
23961 "vmid" : {
23962 "description" : "The (unique) ID of the VM.",
23963 "format" : "pve-vmid",
23964 "minimum" : 1,
23965 "type" : "integer",
23966 "typetext" : "<integer> (1 - N)"
23967 }
23968 }
23969 },
23970 "permissions" : {
23971 "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.",
23972 "user" : "all"
23973 },
23974 "protected" : 1,
23975 "proxyto" : "node",
23976 "returns" : {
23977 "type" : "string"
23978 }
23979 }
23980 },
23981 "leaf" : 0,
23982 "path" : "/nodes/{node}/lxc",
23983 "text" : "lxc"
23984 },
23985 {
23986 "children" : [
23987 {
23988 "children" : [
56122987 23989 {
4d47f125
TL
23990 "children" : [
23991 {
23992 "info" : {
23993 "POST" : {
23994 "description" : "ceph osd in",
23995 "method" : "POST",
23996 "name" : "in",
23997 "parameters" : {
23998 "additionalProperties" : 0,
23999 "properties" : {
24000 "node" : {
24001 "description" : "The cluster node name.",
24002 "format" : "pve-node",
24003 "type" : "string",
24004 "typetext" : "<string>"
24005 },
24006 "osdid" : {
24007 "description" : "OSD ID",
24008 "type" : "integer",
24009 "typetext" : "<integer>"
24010 }
24011 }
27a7acb2 24012 },
4d47f125
TL
24013 "permissions" : {
24014 "check" : [
24015 "perm",
24016 "/",
24017 [
24018 "Sys.Modify"
24019 ]
24020 ]
44660702 24021 },
4d47f125
TL
24022 "protected" : 1,
24023 "proxyto" : "node",
24024 "returns" : {
24025 "type" : "null"
7aacca6f
DM
24026 }
24027 }
56122987 24028 },
4d47f125
TL
24029 "leaf" : 1,
24030 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
24031 "text" : "in"
24032 },
24033 {
24034 "info" : {
24035 "POST" : {
24036 "description" : "ceph osd out",
24037 "method" : "POST",
24038 "name" : "out",
24039 "parameters" : {
24040 "additionalProperties" : 0,
24041 "properties" : {
24042 "node" : {
24043 "description" : "The cluster node name.",
24044 "format" : "pve-node",
24045 "type" : "string",
24046 "typetext" : "<string>"
24047 },
24048 "osdid" : {
24049 "description" : "OSD ID",
24050 "type" : "integer",
24051 "typetext" : "<integer>"
24052 }
24053 }
24054 },
24055 "permissions" : {
24056 "check" : [
56122987 24057 "perm",
4d47f125 24058 "/",
56122987 24059 [
4d47f125 24060 "Sys.Modify"
56122987 24061 ]
56122987 24062 ]
44660702 24063 },
4d47f125
TL
24064 "protected" : 1,
24065 "proxyto" : "node",
24066 "returns" : {
24067 "type" : "null"
56122987 24068 }
44660702 24069 }
56122987 24070 },
4d47f125
TL
24071 "leaf" : 1,
24072 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
24073 "text" : "out"
56122987 24074 }
4d47f125 24075 ],
27a7acb2 24076 "info" : {
4d47f125
TL
24077 "DELETE" : {
24078 "description" : "Destroy OSD",
24079 "method" : "DELETE",
24080 "name" : "destroyosd",
27a7acb2
DM
24081 "parameters" : {
24082 "additionalProperties" : 0,
24083 "properties" : {
4d47f125 24084 "cleanup" : {
27a7acb2 24085 "default" : 0,
4d47f125 24086 "description" : "If set, we remove partition table entries.",
27a7acb2 24087 "optional" : 1,
4d47f125
TL
24088 "type" : "boolean",
24089 "typetext" : "<boolean>"
24090 },
24091 "node" : {
24092 "description" : "The cluster node name.",
24093 "format" : "pve-node",
24094 "type" : "string",
24095 "typetext" : "<string>"
24096 },
24097 "osdid" : {
24098 "description" : "OSD ID",
24099 "type" : "integer",
24100 "typetext" : "<integer>"
24101 }
24102 }
27a7acb2
DM
24103 },
24104 "protected" : 1,
24105 "proxyto" : "node",
24106 "returns" : {
24107 "type" : "string"
24108 }
24109 }
24110 },
4d47f125
TL
24111 "leaf" : 0,
24112 "path" : "/nodes/{node}/ceph/osd/{osdid}",
24113 "text" : "{osdid}"
56122987
DM
24114 }
24115 ],
24116 "info" : {
4d47f125
TL
24117 "GET" : {
24118 "description" : "Get Ceph osd list/tree.",
24119 "method" : "GET",
24120 "name" : "index",
44660702
DM
24121 "parameters" : {
24122 "additionalProperties" : 0,
24123 "properties" : {
24124 "node" : {
24125 "description" : "The cluster node name.",
24126 "format" : "pve-node",
013dc89f
DM
24127 "type" : "string",
24128 "typetext" : "<string>"
44660702
DM
24129 }
24130 }
24131 },
7aacca6f
DM
24132 "permissions" : {
24133 "check" : [
24134 "perm",
4d47f125 24135 "/",
7aacca6f 24136 [
4d47f125
TL
24137 "Sys.Audit",
24138 "Datastore.Audit"
24139 ],
24140 "any",
24141 1
24142 ]
24143 },
24144 "protected" : 1,
24145 "proxyto" : "node",
24146 "returns" : {
24147 "type" : "object"
24148 }
24149 },
24150 "POST" : {
24151 "description" : "Create OSD",
24152 "method" : "POST",
24153 "name" : "createosd",
24154 "parameters" : {
24155 "additionalProperties" : 0,
24156 "properties" : {
24157 "bluestore" : {
24158 "default" : 1,
24159 "description" : "Use bluestore instead of filestore. This is the default.",
44660702 24160 "optional" : 1,
4bd7df8b 24161 "type" : "boolean",
4d47f125 24162 "typetext" : "<boolean>"
44660702 24163 },
4d47f125
TL
24164 "dev" : {
24165 "description" : "Block device name.",
4bd7df8b 24166 "type" : "string",
4d47f125 24167 "typetext" : "<string>"
44660702 24168 },
4d47f125
TL
24169 "fstype" : {
24170 "default" : "xfs",
24171 "description" : "File system type (filestore only).",
24172 "enum" : [
24173 "xfs",
24174 "ext4"
24175 ],
7aacca6f 24176 "optional" : 1,
4d47f125 24177 "type" : "string"
44660702 24178 },
4d47f125
TL
24179 "journal_dev" : {
24180 "description" : "Block device name for journal (filestore) or block.db (bluestore).",
5d9c884c 24181 "optional" : 1,
4d47f125
TL
24182 "type" : "string",
24183 "typetext" : "<string>"
5d9c884c 24184 },
4d47f125
TL
24185 "node" : {
24186 "description" : "The cluster node name.",
24187 "format" : "pve-node",
24188 "type" : "string",
24189 "typetext" : "<string>"
7aacca6f 24190 },
4d47f125
TL
24191 "wal_dev" : {
24192 "description" : "Block device name for block.wal (bluestore only).",
de0983cb 24193 "optional" : 1,
4d47f125
TL
24194 "type" : "string",
24195 "typetext" : "<string>"
24196 }
24197 }
24198 },
24199 "protected" : 1,
24200 "proxyto" : "node",
24201 "returns" : {
24202 "type" : "string"
24203 }
24204 }
24205 },
24206 "leaf" : 0,
24207 "path" : "/nodes/{node}/ceph/osd",
24208 "text" : "osd"
24209 },
24210 {
24211 "info" : {
24212 "GET" : {
24213 "description" : "List local disks.",
24214 "method" : "GET",
24215 "name" : "disks",
24216 "parameters" : {
24217 "additionalProperties" : 0,
24218 "properties" : {
24219 "node" : {
24220 "description" : "The cluster node name.",
24221 "format" : "pve-node",
24222 "type" : "string",
24223 "typetext" : "<string>"
de0983cb 24224 },
4d47f125
TL
24225 "type" : {
24226 "description" : "Only list specific types of disks.",
24227 "enum" : [
24228 "unused",
24229 "journal_disks"
24230 ],
7aacca6f
DM
24231 "optional" : 1,
24232 "type" : "string"
56122987 24233 }
4d47f125 24234 }
56122987 24235 },
4d47f125
TL
24236 "permissions" : {
24237 "check" : [
24238 "perm",
24239 "/",
24240 [
24241 "Sys.Audit",
24242 "Datastore.Audit"
24243 ],
24244 "any",
24245 1
24246 ]
56122987 24247 },
4d47f125
TL
24248 "protected" : 1,
24249 "proxyto" : "node",
24250 "returns" : {
24251 "items" : {
24252 "properties" : {
24253 "dev" : {
24254 "type" : "string"
24255 },
24256 "gpt" : {
24257 "type" : "boolean"
24258 },
24259 "model" : {
24260 "optional" : 1,
24261 "type" : "string"
24262 },
24263 "osdid" : {
24264 "type" : "integer"
24265 },
24266 "serial" : {
24267 "optional" : 1,
24268 "type" : "string"
24269 },
24270 "size" : {
24271 "type" : "integer"
24272 },
24273 "used" : {
24274 "optional" : 1,
24275 "type" : "string"
24276 },
24277 "vendor" : {
24278 "optional" : 1,
24279 "type" : "string"
24280 }
7aacca6f 24281 },
4d47f125
TL
24282 "type" : "object"
24283 },
24284 "type" : "array"
24285 }
24286 }
24287 },
24288 "leaf" : 1,
24289 "path" : "/nodes/{node}/ceph/disks",
24290 "text" : "disks"
24291 },
24292 {
24293 "info" : {
24294 "GET" : {
24295 "description" : "Get Ceph configuration.",
24296 "method" : "GET",
24297 "name" : "config",
24298 "parameters" : {
24299 "additionalProperties" : 0,
24300 "properties" : {
24301 "node" : {
24302 "description" : "The cluster node name.",
24303 "format" : "pve-node",
24304 "type" : "string",
24305 "typetext" : "<string>"
24306 }
24307 }
24308 },
24309 "permissions" : {
24310 "check" : [
24311 "perm",
24312 "/",
24313 [
24314 "Sys.Audit",
24315 "Datastore.Audit"
24316 ],
24317 "any",
24318 1
24319 ]
24320 },
24321 "returns" : {
24322 "type" : "string"
24323 }
24324 }
24325 },
24326 "leaf" : 1,
24327 "path" : "/nodes/{node}/ceph/config",
24328 "text" : "config"
24329 },
24330 {
24331 "children" : [
24332 {
24333 "info" : {
24334 "DELETE" : {
24335 "description" : "Destroy Ceph Monitor and Manager.",
24336 "method" : "DELETE",
24337 "name" : "destroymon",
24338 "parameters" : {
24339 "additionalProperties" : 0,
24340 "properties" : {
24341 "exclude-manager" : {
24342 "default" : 0,
24343 "description" : "When set, removes only the monitor, not the manager",
24344 "optional" : 1,
24345 "type" : "boolean",
24346 "typetext" : "<boolean>"
24347 },
24348 "monid" : {
24349 "description" : "Monitor ID",
24350 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24351 "type" : "string"
24352 },
24353 "node" : {
24354 "description" : "The cluster node name.",
24355 "format" : "pve-node",
24356 "type" : "string",
24357 "typetext" : "<string>"
24358 }
24359 }
7aacca6f 24360 },
4d47f125
TL
24361 "permissions" : {
24362 "check" : [
24363 "perm",
24364 "/",
24365 [
24366 "Sys.Modify"
24367 ]
24368 ]
7aacca6f 24369 },
4d47f125
TL
24370 "protected" : 1,
24371 "proxyto" : "node",
24372 "returns" : {
44660702 24373 "type" : "string"
4d47f125
TL
24374 }
24375 }
24376 },
24377 "leaf" : 1,
24378 "path" : "/nodes/{node}/ceph/mon/{monid}",
24379 "text" : "{monid}"
24380 }
24381 ],
24382 "info" : {
24383 "GET" : {
24384 "description" : "Get Ceph monitor list.",
24385 "method" : "GET",
24386 "name" : "listmon",
24387 "parameters" : {
24388 "additionalProperties" : 0,
24389 "properties" : {
24390 "node" : {
24391 "description" : "The cluster node name.",
24392 "format" : "pve-node",
24393 "type" : "string",
24394 "typetext" : "<string>"
24395 }
24396 }
24397 },
24398 "permissions" : {
24399 "check" : [
24400 "perm",
24401 "/",
24402 [
24403 "Sys.Audit",
24404 "Datastore.Audit"
24405 ],
24406 "any",
24407 1
24408 ]
24409 },
24410 "protected" : 1,
24411 "proxyto" : "node",
24412 "returns" : {
24413 "items" : {
24414 "properties" : {
24415 "addr" : {
24416 "type" : "string"
24417 },
24418 "name" : {
24419 "type" : "string"
24420 }
7aacca6f 24421 },
4d47f125
TL
24422 "type" : "object"
24423 },
24424 "links" : [
24425 {
24426 "href" : "{name}",
24427 "rel" : "child"
24428 }
24429 ],
24430 "type" : "array"
24431 }
24432 },
24433 "POST" : {
24434 "description" : "Create Ceph Monitor and Manager",
24435 "method" : "POST",
24436 "name" : "createmon",
24437 "parameters" : {
24438 "additionalProperties" : 0,
24439 "properties" : {
24440 "exclude-manager" : {
24441 "default" : 0,
24442 "description" : "When set, only a monitor will be created.",
44660702 24443 "optional" : 1,
4d47f125
TL
24444 "type" : "boolean",
24445 "typetext" : "<boolean>"
44660702 24446 },
4d47f125
TL
24447 "id" : {
24448 "description" : "The ID for the monitor, when omitted the same as the nodename",
44660702 24449 "optional" : 1,
4d47f125 24450 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
44660702
DM
24451 "type" : "string"
24452 },
4d47f125
TL
24453 "mon-address" : {
24454 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
24455 "format" : "ip",
44660702 24456 "optional" : 1,
4d47f125
TL
24457 "type" : "string",
24458 "typetext" : "<string>"
44660702 24459 },
4d47f125
TL
24460 "node" : {
24461 "description" : "The cluster node name.",
24462 "format" : "pve-node",
24463 "type" : "string",
24464 "typetext" : "<string>"
7aacca6f 24465 }
4d47f125 24466 }
44660702 24467 },
4d47f125
TL
24468 "permissions" : {
24469 "check" : [
24470 "perm",
24471 "/",
24472 [
24473 "Sys.Modify"
24474 ]
24475 ]
56122987 24476 },
4d47f125
TL
24477 "protected" : 1,
24478 "proxyto" : "node",
24479 "returns" : {
7aacca6f 24480 "type" : "string"
4d47f125
TL
24481 }
24482 }
24483 },
24484 "leaf" : 0,
24485 "path" : "/nodes/{node}/ceph/mon",
24486 "text" : "mon"
24487 },
24488 {
24489 "info" : {
24490 "POST" : {
24491 "description" : "Create initial ceph default configuration and setup symlinks.",
24492 "method" : "POST",
24493 "name" : "init",
24494 "parameters" : {
24495 "additionalProperties" : 0,
24496 "properties" : {
24497 "disable_cephx" : {
24498 "default" : 0,
24499 "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 24500 "optional" : 1,
4d47f125
TL
24501 "type" : "boolean",
24502 "typetext" : "<boolean>"
56122987 24503 },
4d47f125
TL
24504 "min_size" : {
24505 "default" : 2,
24506 "description" : "Minimum number of available replicas per object to allow I/O",
24507 "maximum" : 7,
24508 "minimum" : 1,
7aacca6f 24509 "optional" : 1,
4d47f125
TL
24510 "type" : "integer",
24511 "typetext" : "<integer> (1 - 7)"
7aacca6f 24512 },
4d47f125
TL
24513 "network" : {
24514 "description" : "Use specific network for all ceph related traffic",
24515 "format" : "CIDR",
24516 "maxLength" : 128,
5d9c884c 24517 "optional" : 1,
4d47f125
TL
24518 "type" : "string",
24519 "typetext" : "<string>"
5d9c884c 24520 },
4d47f125
TL
24521 "node" : {
24522 "description" : "The cluster node name.",
24523 "format" : "pve-node",
24524 "type" : "string",
24525 "typetext" : "<string>"
7aacca6f 24526 },
4d47f125
TL
24527 "pg_bits" : {
24528 "default" : 6,
24529 "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.",
24530 "maximum" : 14,
24531 "minimum" : 6,
de0983cb 24532 "optional" : 1,
4d47f125
TL
24533 "type" : "integer",
24534 "typetext" : "<integer> (6 - 14)"
de0983cb 24535 },
44660702 24536 "size" : {
4d47f125
TL
24537 "default" : 3,
24538 "description" : "Targeted number of replicas per object",
24539 "maximum" : 7,
24540 "minimum" : 1,
7aacca6f 24541 "optional" : 1,
4d47f125
TL
24542 "type" : "integer",
24543 "typetext" : "<integer> (1 - 7)"
56122987 24544 }
4d47f125 24545 }
44660702 24546 },
4d47f125
TL
24547 "permissions" : {
24548 "check" : [
24549 "perm",
24550 "/",
24551 [
24552 "Sys.Modify"
24553 ]
24554 ]
5da3d723 24555 },
4d47f125
TL
24556 "protected" : 1,
24557 "proxyto" : "node",
24558 "returns" : {
24559 "type" : "null"
24560 }
24561 }
24562 },
24563 "leaf" : 1,
24564 "path" : "/nodes/{node}/ceph/init",
24565 "text" : "init"
24566 },
24567 {
24568 "children" : [
24569 {
24570 "info" : {
24571 "DELETE" : {
24572 "description" : "Destroy Ceph Manager.",
24573 "method" : "DELETE",
24574 "name" : "destroymgr",
24575 "parameters" : {
24576 "additionalProperties" : 0,
24577 "properties" : {
24578 "id" : {
24579 "description" : "The ID of the manager",
24580 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24581 "type" : "string"
24582 },
24583 "node" : {
24584 "description" : "The cluster node name.",
24585 "format" : "pve-node",
24586 "type" : "string",
24587 "typetext" : "<string>"
24588 }
24589 }
24590 },
24591 "permissions" : {
24592 "check" : [
24593 "perm",
24594 "/",
24595 [
24596 "Sys.Modify"
24597 ]
24598 ]
24599 },
24600 "protected" : 1,
24601 "proxyto" : "node",
24602 "returns" : {
24603 "type" : "string"
24604 }
24605 }
7aacca6f 24606 },
4d47f125
TL
24607 "leaf" : 1,
24608 "path" : "/nodes/{node}/ceph/mgr/{id}",
24609 "text" : "{id}"
24610 }
24611 ],
24612 "info" : {
24613 "POST" : {
24614 "description" : "Create Ceph Manager",
24615 "method" : "POST",
24616 "name" : "createmgr",
24617 "parameters" : {
24618 "additionalProperties" : 0,
24619 "properties" : {
24620 "id" : {
24621 "description" : "The ID for the manager, when omitted the same as the nodename",
24622 "optional" : 1,
24623 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24624 "type" : "string"
24625 },
24626 "node" : {
24627 "description" : "The cluster node name.",
24628 "format" : "pve-node",
24629 "type" : "string",
24630 "typetext" : "<string>"
24631 }
24632 }
7aacca6f 24633 },
4d47f125
TL
24634 "permissions" : {
24635 "check" : [
24636 "perm",
24637 "/",
24638 [
24639 "Sys.Modify"
24640 ]
24641 ]
44660702 24642 },
4d47f125
TL
24643 "protected" : 1,
24644 "proxyto" : "node",
24645 "returns" : {
24646 "type" : "string"
24647 }
24648 }
24649 },
24650 "leaf" : 0,
24651 "path" : "/nodes/{node}/ceph/mgr",
24652 "text" : "mgr"
24653 },
24654 {
24655 "info" : {
24656 "POST" : {
24657 "description" : "Stop ceph services.",
24658 "method" : "POST",
24659 "name" : "stop",
24660 "parameters" : {
24661 "additionalProperties" : 0,
24662 "properties" : {
24663 "node" : {
24664 "description" : "The cluster node name.",
24665 "format" : "pve-node",
24666 "type" : "string",
24667 "typetext" : "<string>"
24668 },
24669 "service" : {
24670 "description" : "Ceph service name.",
24671 "optional" : 1,
24672 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
24673 "type" : "string"
24674 }
24675 }
7aacca6f 24676 },
4d47f125
TL
24677 "permissions" : {
24678 "check" : [
24679 "perm",
24680 "/",
24681 [
24682 "Sys.Modify"
24683 ]
24684 ]
7aacca6f 24685 },
4d47f125
TL
24686 "protected" : 1,
24687 "proxyto" : "node",
24688 "returns" : {
24689 "type" : "string"
24690 }
24691 }
24692 },
24693 "leaf" : 1,
24694 "path" : "/nodes/{node}/ceph/stop",
24695 "text" : "stop"
24696 },
24697 {
24698 "info" : {
24699 "POST" : {
24700 "description" : "Start ceph services.",
24701 "method" : "POST",
24702 "name" : "start",
24703 "parameters" : {
24704 "additionalProperties" : 0,
24705 "properties" : {
24706 "node" : {
24707 "description" : "The cluster node name.",
24708 "format" : "pve-node",
24709 "type" : "string",
24710 "typetext" : "<string>"
24711 },
24712 "service" : {
24713 "description" : "Ceph service name.",
24714 "optional" : 1,
24715 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
24716 "type" : "string"
24717 }
24718 }
44660702 24719 },
4d47f125
TL
24720 "permissions" : {
24721 "check" : [
24722 "perm",
24723 "/",
24724 [
24725 "Sys.Modify"
24726 ]
24727 ]
44660702 24728 },
4d47f125
TL
24729 "protected" : 1,
24730 "proxyto" : "node",
24731 "returns" : {
24732 "type" : "string"
44660702 24733 }
7aacca6f
DM
24734 }
24735 },
4d47f125
TL
24736 "leaf" : 1,
24737 "path" : "/nodes/{node}/ceph/start",
24738 "text" : "start"
24739 },
24740 {
24741 "info" : {
24742 "GET" : {
24743 "description" : "Get ceph status.",
24744 "method" : "GET",
24745 "name" : "status",
24746 "parameters" : {
24747 "additionalProperties" : 0,
24748 "properties" : {
24749 "node" : {
24750 "description" : "The cluster node name.",
24751 "format" : "pve-node",
24752 "type" : "string",
24753 "typetext" : "<string>"
24754 }
24755 }
24756 },
24757 "permissions" : {
24758 "check" : [
24759 "perm",
24760 "/",
24761 [
24762 "Sys.Audit",
24763 "Datastore.Audit"
24764 ],
24765 "any",
24766 1
24767 ]
24768 },
24769 "protected" : 1,
24770 "proxyto" : "node",
24771 "returns" : {
24772 "type" : "object"
24773 }
24774 }
44660702 24775 },
4d47f125
TL
24776 "leaf" : 1,
24777 "path" : "/nodes/{node}/ceph/status",
24778 "text" : "status"
24779 },
44660702 24780 {
56122987
DM
24781 "children" : [
24782 {
44660702
DM
24783 "info" : {
24784 "DELETE" : {
4d47f125 24785 "description" : "Destroy pool",
44660702 24786 "method" : "DELETE",
4d47f125 24787 "name" : "destroypool",
44660702
DM
24788 "parameters" : {
24789 "additionalProperties" : 0,
24790 "properties" : {
4d47f125 24791 "force" : {
44660702 24792 "default" : 0,
4d47f125 24793 "description" : "If true, destroys pool even if in use",
44660702 24794 "optional" : 1,
013dc89f
DM
24795 "type" : "boolean",
24796 "typetext" : "<boolean>"
7aacca6f 24797 },
4d47f125
TL
24798 "name" : {
24799 "description" : "The name of the pool. It must be unique.",
24800 "type" : "string",
24801 "typetext" : "<string>"
24802 },
44660702
DM
24803 "node" : {
24804 "description" : "The cluster node name.",
24805 "format" : "pve-node",
013dc89f
DM
24806 "type" : "string",
24807 "typetext" : "<string>"
56122987 24808 },
4d47f125
TL
24809 "remove_storages" : {
24810 "default" : 0,
24811 "description" : "Remove all pveceph-managed storages configured for this pool",
24812 "optional" : 1,
24813 "type" : "boolean",
24814 "typetext" : "<boolean>"
44660702 24815 }
56122987
DM
24816 }
24817 },
4d47f125
TL
24818 "permissions" : {
24819 "check" : [
24820 "perm",
24821 "/",
24822 [
24823 "Sys.Modify"
24824 ]
24825 ]
24826 },
44660702
DM
24827 "protected" : 1,
24828 "proxyto" : "node",
24829 "returns" : {
24830 "type" : "string"
24831 }
24832 }
24833 },
4d47f125
TL
24834 "leaf" : 1,
24835 "path" : "/nodes/{node}/ceph/pools/{name}",
24836 "text" : "{name}"
44660702
DM
24837 }
24838 ],
24839 "info" : {
24840 "GET" : {
4d47f125 24841 "description" : "List all pools.",
44660702 24842 "method" : "GET",
4d47f125 24843 "name" : "lspools",
44660702
DM
24844 "parameters" : {
24845 "additionalProperties" : 0,
24846 "properties" : {
24847 "node" : {
24848 "description" : "The cluster node name.",
24849 "format" : "pve-node",
013dc89f
DM
24850 "type" : "string",
24851 "typetext" : "<string>"
44660702
DM
24852 }
24853 }
24854 },
24855 "permissions" : {
24856 "check" : [
24857 "perm",
24858 "/",
24859 [
24860 "Sys.Audit",
24861 "Datastore.Audit"
24862 ],
24863 "any",
24864 1
24865 ]
24866 },
24867 "protected" : 1,
24868 "proxyto" : "node",
24869 "returns" : {
4d47f125
TL
24870 "items" : {
24871 "properties" : {
24872 "pool" : {
24873 "type" : "integer"
24874 },
24875 "pool_name" : {
24876 "type" : "string"
24877 },
24878 "size" : {
24879 "type" : "integer"
24880 }
24881 },
24882 "type" : "object"
24883 },
24884 "links" : [
24885 {
24886 "href" : "{pool_name}",
24887 "rel" : "child"
24888 }
24889 ],
24890 "type" : "array"
44660702
DM
24891 }
24892 },
24893 "POST" : {
4d47f125 24894 "description" : "Create POOL",
44660702 24895 "method" : "POST",
4d47f125 24896 "name" : "createpool",
44660702
DM
24897 "parameters" : {
24898 "additionalProperties" : 0,
24899 "properties" : {
4d47f125
TL
24900 "add_storages" : {
24901 "description" : "Configure VM and CT storages using the new pool.",
5d9c884c
DM
24902 "optional" : 1,
24903 "type" : "boolean",
24904 "typetext" : "<boolean>"
24905 },
4d47f125
TL
24906 "application" : {
24907 "description" : "The application of the pool, 'rbd' by default.",
44660702 24908 "enum" : [
4d47f125
TL
24909 "rbd",
24910 "cephfs",
24911 "rgw"
44660702
DM
24912 ],
24913 "optional" : 1,
24914 "type" : "string"
24915 },
4d47f125
TL
24916 "crush_rule" : {
24917 "description" : "The rule to use for mapping object placement in the cluster.",
24918 "optional" : 1,
24919 "type" : "string",
24920 "typetext" : "<string>"
24921 },
24922 "min_size" : {
24923 "default" : 2,
24924 "description" : "Minimum number of replicas per object",
24925 "maximum" : 7,
24926 "minimum" : 1,
44660702 24927 "optional" : 1,
4d47f125
TL
24928 "type" : "integer",
24929 "typetext" : "<integer> (1 - 7)"
24930 },
24931 "name" : {
24932 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
24933 "type" : "string",
24934 "typetext" : "<string>"
44660702
DM
24935 },
24936 "node" : {
24937 "description" : "The cluster node name.",
24938 "format" : "pve-node",
013dc89f
DM
24939 "type" : "string",
24940 "typetext" : "<string>"
2489d6df 24941 },
4d47f125
TL
24942 "pg_num" : {
24943 "default" : 64,
24944 "description" : "Number of placement groups.",
24945 "maximum" : 32768,
24946 "minimum" : 8,
2489d6df 24947 "optional" : 1,
4d47f125
TL
24948 "type" : "integer",
24949 "typetext" : "<integer> (8 - 32768)"
24950 },
24951 "size" : {
24952 "default" : 3,
24953 "description" : "Number of replicas per object",
24954 "maximum" : 7,
24955 "minimum" : 1,
24956 "optional" : 1,
24957 "type" : "integer",
24958 "typetext" : "<integer> (1 - 7)"
44660702 24959 }
56122987 24960 }
44660702 24961 },
4d47f125
TL
24962 "permissions" : {
24963 "check" : [
24964 "perm",
24965 "/",
24966 [
24967 "Sys.Modify"
24968 ]
24969 ]
24970 },
44660702
DM
24971 "protected" : 1,
24972 "proxyto" : "node",
24973 "returns" : {
24974 "type" : "string"
24975 }
56122987 24976 }
44660702 24977 },
7aacca6f 24978 "leaf" : 0,
4d47f125
TL
24979 "path" : "/nodes/{node}/ceph/pools",
24980 "text" : "pools"
7aacca6f
DM
24981 },
24982 {
4d47f125
TL
24983 "children" : [
24984 {
24985 "info" : {
24986 "DELETE" : {
24987 "description" : "Unset a ceph flag",
24988 "method" : "DELETE",
24989 "name" : "unset_flag",
24990 "parameters" : {
24991 "additionalProperties" : 0,
24992 "properties" : {
24993 "flag" : {
24994 "description" : "The ceph flag to set/unset",
24995 "enum" : [
24996 "full",
24997 "pause",
24998 "noup",
24999 "nodown",
25000 "noout",
25001 "noin",
25002 "nobackfill",
25003 "norebalance",
25004 "norecover",
25005 "noscrub",
25006 "nodeep-scrub",
25007 "notieragent"
25008 ],
25009 "type" : "string"
25010 },
25011 "node" : {
25012 "description" : "The cluster node name.",
25013 "format" : "pve-node",
25014 "type" : "string",
25015 "typetext" : "<string>"
25016 }
25017 }
25018 },
25019 "permissions" : {
25020 "check" : [
25021 "perm",
25022 "/",
25023 [
25024 "Sys.Modify"
25025 ]
25026 ]
25027 },
25028 "protected" : 1,
25029 "proxyto" : "node",
25030 "returns" : {
25031 "type" : "null"
25032 }
25033 },
25034 "POST" : {
25035 "description" : "Set a ceph flag",
25036 "method" : "POST",
25037 "name" : "set_flag",
25038 "parameters" : {
25039 "additionalProperties" : 0,
25040 "properties" : {
25041 "flag" : {
25042 "description" : "The ceph flag to set/unset",
25043 "enum" : [
25044 "full",
25045 "pause",
25046 "noup",
25047 "nodown",
25048 "noout",
25049 "noin",
25050 "nobackfill",
25051 "norebalance",
25052 "norecover",
25053 "noscrub",
25054 "nodeep-scrub",
25055 "notieragent"
25056 ],
25057 "type" : "string"
25058 },
25059 "node" : {
25060 "description" : "The cluster node name.",
25061 "format" : "pve-node",
25062 "type" : "string",
25063 "typetext" : "<string>"
25064 }
25065 }
25066 },
25067 "permissions" : {
25068 "check" : [
25069 "perm",
25070 "/",
25071 [
25072 "Sys.Modify"
25073 ]
25074 ]
25075 },
25076 "protected" : 1,
25077 "proxyto" : "node",
25078 "returns" : {
25079 "type" : "null"
25080 }
25081 }
25082 },
25083 "leaf" : 1,
25084 "path" : "/nodes/{node}/ceph/flags/{flag}",
25085 "text" : "{flag}"
25086 }
25087 ],
56122987
DM
25088 "info" : {
25089 "GET" : {
4d47f125 25090 "description" : "get all set ceph flags",
44660702 25091 "method" : "GET",
4d47f125 25092 "name" : "get_flags",
44660702
DM
25093 "parameters" : {
25094 "additionalProperties" : 0,
25095 "properties" : {
25096 "node" : {
25097 "description" : "The cluster node name.",
25098 "format" : "pve-node",
013dc89f
DM
25099 "type" : "string",
25100 "typetext" : "<string>"
44660702
DM
25101 }
25102 }
25103 },
56122987
DM
25104 "permissions" : {
25105 "check" : [
25106 "perm",
25107 "/",
25108 [
4d47f125
TL
25109 "Sys.Audit"
25110 ]
56122987 25111 ]
4d47f125
TL
25112 },
25113 "protected" : 1,
25114 "proxyto" : "node",
25115 "returns" : {
25116 "type" : "string"
44660702 25117 }
56122987 25118 }
44660702 25119 },
4d47f125
TL
25120 "leaf" : 0,
25121 "path" : "/nodes/{node}/ceph/flags",
25122 "text" : "flags"
56122987
DM
25123 },
25124 {
56122987
DM
25125 "info" : {
25126 "GET" : {
4d47f125 25127 "description" : "Get OSD crush map",
44660702 25128 "method" : "GET",
4d47f125 25129 "name" : "crush",
56122987 25130 "parameters" : {
7aacca6f 25131 "additionalProperties" : 0,
56122987 25132 "properties" : {
56122987 25133 "node" : {
7aacca6f 25134 "description" : "The cluster node name.",
44660702 25135 "format" : "pve-node",
013dc89f
DM
25136 "type" : "string",
25137 "typetext" : "<string>"
56122987 25138 }
7aacca6f 25139 }
56122987 25140 },
56122987
DM
25141 "permissions" : {
25142 "check" : [
25143 "perm",
25144 "/",
25145 [
25146 "Sys.Audit",
25147 "Datastore.Audit"
25148 ],
25149 "any",
25150 1
25151 ]
44660702 25152 },
4d47f125
TL
25153 "protected" : 1,
25154 "proxyto" : "node",
44660702
DM
25155 "returns" : {
25156 "type" : "string"
7aacca6f
DM
25157 }
25158 }
44660702
DM
25159 },
25160 "leaf" : 1,
4d47f125
TL
25161 "path" : "/nodes/{node}/ceph/crush",
25162 "text" : "crush"
7aacca6f
DM
25163 },
25164 {
7aacca6f
DM
25165 "info" : {
25166 "GET" : {
4d47f125 25167 "description" : "Read ceph log",
7aacca6f 25168 "method" : "GET",
4d47f125 25169 "name" : "log",
7aacca6f
DM
25170 "parameters" : {
25171 "additionalProperties" : 0,
25172 "properties" : {
4d47f125
TL
25173 "limit" : {
25174 "minimum" : 0,
25175 "optional" : 1,
25176 "type" : "integer",
25177 "typetext" : "<integer> (0 - N)"
25178 },
7aacca6f 25179 "node" : {
7aacca6f 25180 "description" : "The cluster node name.",
44660702 25181 "format" : "pve-node",
013dc89f
DM
25182 "type" : "string",
25183 "typetext" : "<string>"
4d47f125
TL
25184 },
25185 "start" : {
25186 "minimum" : 0,
25187 "optional" : 1,
25188 "type" : "integer",
25189 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
25190 }
25191 }
25192 },
44660702
DM
25193 "permissions" : {
25194 "check" : [
25195 "perm",
4d47f125 25196 "/nodes/{node}",
44660702 25197 [
4d47f125
TL
25198 "Sys.Syslog"
25199 ]
44660702
DM
25200 ]
25201 },
7aacca6f 25202 "protected" : 1,
44660702 25203 "proxyto" : "node",
7aacca6f
DM
25204 "returns" : {
25205 "items" : {
25206 "properties" : {
4d47f125
TL
25207 "n" : {
25208 "description" : "Line number",
25209 "type" : "integer"
56122987 25210 },
4d47f125
TL
25211 "t" : {
25212 "description" : "Line text",
56122987
DM
25213 "type" : "string"
25214 }
7aacca6f
DM
25215 },
25216 "type" : "object"
56122987
DM
25217 },
25218 "type" : "array"
44660702 25219 }
4d47f125
TL
25220 }
25221 },
25222 "leaf" : 1,
25223 "path" : "/nodes/{node}/ceph/log",
25224 "text" : "log"
25225 },
25226 {
25227 "info" : {
25228 "GET" : {
25229 "description" : "List ceph rules.",
25230 "method" : "GET",
25231 "name" : "rules",
44660702
DM
25232 "parameters" : {
25233 "additionalProperties" : 0,
25234 "properties" : {
25235 "node" : {
25236 "description" : "The cluster node name.",
25237 "format" : "pve-node",
013dc89f
DM
25238 "type" : "string",
25239 "typetext" : "<string>"
44660702
DM
25240 }
25241 }
25242 },
7aacca6f
DM
25243 "permissions" : {
25244 "check" : [
25245 "perm",
25246 "/",
25247 [
4d47f125
TL
25248 "Sys.Audit",
25249 "Datastore.Audit"
25250 ],
25251 "any",
25252 1
7aacca6f
DM
25253 ]
25254 },
44660702 25255 "protected" : 1,
7aacca6f 25256 "proxyto" : "node",
56122987 25257 "returns" : {
4d47f125
TL
25258 "items" : {
25259 "properties" : {},
25260 "type" : "object"
25261 },
25262 "links" : [
25263 {
25264 "href" : "{name}",
25265 "rel" : "child"
25266 }
25267 ],
25268 "type" : "array"
44660702 25269 }
56122987 25270 }
44660702 25271 },
4d47f125
TL
25272 "leaf" : 1,
25273 "path" : "/nodes/{node}/ceph/rules",
25274 "text" : "rules"
25275 }
25276 ],
25277 "info" : {
25278 "GET" : {
25279 "description" : "Directory index.",
25280 "method" : "GET",
25281 "name" : "index",
25282 "parameters" : {
25283 "additionalProperties" : 0,
25284 "properties" : {
25285 "node" : {
25286 "description" : "The cluster node name.",
25287 "format" : "pve-node",
25288 "type" : "string",
25289 "typetext" : "<string>"
25290 }
25291 }
25292 },
25293 "permissions" : {
25294 "check" : [
25295 "perm",
25296 "/",
25297 [
25298 "Sys.Audit",
25299 "Datastore.Audit"
25300 ],
25301 "any",
25302 1
25303 ]
25304 },
25305 "returns" : {
25306 "items" : {
25307 "properties" : {},
25308 "type" : "object"
25309 },
25310 "links" : [
25311 {
25312 "href" : "{name}",
25313 "rel" : "child"
25314 }
25315 ],
25316 "type" : "array"
25317 }
25318 }
25319 },
25320 "leaf" : 0,
25321 "path" : "/nodes/{node}/ceph",
25322 "text" : "ceph"
25323 },
25324 {
25325 "children" : [
56122987
DM
25326 {
25327 "info" : {
4d47f125
TL
25328 "GET" : {
25329 "description" : "Extract configuration from vzdump backup archive.",
25330 "method" : "GET",
25331 "name" : "extractconfig",
25332 "parameters" : {
25333 "additionalProperties" : 0,
25334 "properties" : {
44660702
DM
25335 "node" : {
25336 "description" : "The cluster node name.",
25337 "format" : "pve-node",
013dc89f
DM
25338 "type" : "string",
25339 "typetext" : "<string>"
44660702 25340 },
4d47f125
TL
25341 "volume" : {
25342 "description" : "Volume identifier",
25343 "type" : "string",
25344 "typetext" : "<string>"
44660702
DM
25345 }
25346 }
7aacca6f 25347 },
56122987 25348 "permissions" : {
4d47f125
TL
25349 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
25350 "user" : "all"
56122987 25351 },
7aacca6f 25352 "protected" : 1,
44660702
DM
25353 "proxyto" : "node",
25354 "returns" : {
4d47f125 25355 "type" : "string"
7aacca6f
DM
25356 }
25357 }
25358 },
7aacca6f 25359 "leaf" : 1,
4d47f125
TL
25360 "path" : "/nodes/{node}/vzdump/extractconfig",
25361 "text" : "extractconfig"
25362 }
25363 ],
25364 "info" : {
25365 "POST" : {
25366 "description" : "Create backup.",
25367 "method" : "POST",
25368 "name" : "vzdump",
25369 "parameters" : {
25370 "additionalProperties" : 0,
25371 "properties" : {
25372 "all" : {
25373 "default" : 0,
25374 "description" : "Backup all known guest systems on this host.",
25375 "optional" : 1,
25376 "type" : "boolean",
25377 "typetext" : "<boolean>"
25378 },
25379 "bwlimit" : {
25380 "default" : 0,
25381 "description" : "Limit I/O bandwidth (KBytes per second).",
25382 "minimum" : 0,
25383 "optional" : 1,
25384 "type" : "integer",
25385 "typetext" : "<integer> (0 - N)"
25386 },
25387 "compress" : {
25388 "default" : "0",
25389 "description" : "Compress dump file.",
25390 "enum" : [
25391 "0",
25392 "1",
25393 "gzip",
25394 "lzo"
25395 ],
25396 "optional" : 1,
25397 "type" : "string"
25398 },
25399 "dumpdir" : {
25400 "description" : "Store resulting files to specified directory.",
25401 "optional" : 1,
25402 "type" : "string",
25403 "typetext" : "<string>"
25404 },
25405 "exclude" : {
25406 "description" : "Exclude specified guest systems (assumes --all)",
25407 "format" : "pve-vmid-list",
25408 "optional" : 1,
25409 "type" : "string",
25410 "typetext" : "<string>"
25411 },
25412 "exclude-path" : {
25413 "description" : "Exclude certain files/directories (shell globs).",
25414 "format" : "string-alist",
25415 "optional" : 1,
25416 "type" : "string",
25417 "typetext" : "<string>"
25418 },
25419 "ionice" : {
25420 "default" : 7,
25421 "description" : "Set CFQ ionice priority.",
25422 "maximum" : 8,
25423 "minimum" : 0,
25424 "optional" : 1,
25425 "type" : "integer",
25426 "typetext" : "<integer> (0 - 8)"
25427 },
25428 "lockwait" : {
25429 "default" : 180,
25430 "description" : "Maximal time to wait for the global lock (minutes).",
25431 "minimum" : 0,
25432 "optional" : 1,
25433 "type" : "integer",
25434 "typetext" : "<integer> (0 - N)"
25435 },
25436 "mailnotification" : {
25437 "default" : "always",
25438 "description" : "Specify when to send an email",
25439 "enum" : [
25440 "always",
25441 "failure"
25442 ],
25443 "optional" : 1,
25444 "type" : "string"
25445 },
25446 "mailto" : {
25447 "description" : "Comma-separated list of email addresses that should receive email notifications.",
25448 "format" : "string-list",
25449 "optional" : 1,
25450 "type" : "string",
25451 "typetext" : "<string>"
25452 },
25453 "maxfiles" : {
25454 "default" : 1,
25455 "description" : "Maximal number of backup files per guest system.",
25456 "minimum" : 1,
25457 "optional" : 1,
25458 "type" : "integer",
25459 "typetext" : "<integer> (1 - N)"
25460 },
25461 "mode" : {
25462 "default" : "snapshot",
25463 "description" : "Backup mode.",
25464 "enum" : [
25465 "snapshot",
25466 "suspend",
25467 "stop"
25468 ],
25469 "optional" : 1,
25470 "type" : "string"
25471 },
25472 "node" : {
25473 "description" : "Only run if executed on this node.",
25474 "format" : "pve-node",
25475 "optional" : 1,
25476 "type" : "string",
25477 "typetext" : "<string>"
25478 },
25479 "pigz" : {
25480 "default" : 0,
25481 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
25482 "optional" : 1,
25483 "type" : "integer",
25484 "typetext" : "<integer>"
25485 },
25486 "quiet" : {
25487 "default" : 0,
25488 "description" : "Be quiet.",
25489 "optional" : 1,
25490 "type" : "boolean",
25491 "typetext" : "<boolean>"
25492 },
25493 "remove" : {
25494 "default" : 1,
25495 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
25496 "optional" : 1,
25497 "type" : "boolean",
25498 "typetext" : "<boolean>"
25499 },
25500 "script" : {
25501 "description" : "Use specified hook script.",
25502 "optional" : 1,
25503 "type" : "string",
25504 "typetext" : "<string>"
25505 },
25506 "size" : {
25507 "default" : 1024,
25508 "description" : "Unused, will be removed in a future release.",
25509 "minimum" : 500,
25510 "optional" : 1,
25511 "type" : "integer",
25512 "typetext" : "<integer> (500 - N)"
25513 },
25514 "stdexcludes" : {
25515 "default" : 1,
25516 "description" : "Exclude temporary files and logs.",
25517 "optional" : 1,
25518 "type" : "boolean",
25519 "typetext" : "<boolean>"
25520 },
25521 "stdout" : {
25522 "description" : "Write tar to stdout, not to a file.",
25523 "optional" : 1,
25524 "type" : "boolean",
25525 "typetext" : "<boolean>"
25526 },
25527 "stop" : {
25528 "default" : 0,
25529 "description" : "Stop runnig backup jobs on this host.",
25530 "optional" : 1,
25531 "type" : "boolean",
25532 "typetext" : "<boolean>"
25533 },
25534 "stopwait" : {
25535 "default" : 10,
25536 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
25537 "minimum" : 0,
25538 "optional" : 1,
25539 "type" : "integer",
25540 "typetext" : "<integer> (0 - N)"
25541 },
25542 "storage" : {
25543 "description" : "Store resulting file to this storage.",
25544 "format" : "pve-storage-id",
25545 "optional" : 1,
25546 "type" : "string",
25547 "typetext" : "<string>"
25548 },
25549 "tmpdir" : {
25550 "description" : "Store temporary files to specified directory.",
25551 "optional" : 1,
25552 "type" : "string",
25553 "typetext" : "<string>"
25554 },
25555 "vmid" : {
25556 "description" : "The ID of the guest system you want to backup.",
25557 "format" : "pve-vmid-list",
25558 "optional" : 1,
25559 "type" : "string",
25560 "typetext" : "<string>"
25561 }
25562 }
25563 },
25564 "permissions" : {
25565 "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.",
25566 "user" : "all"
25567 },
25568 "protected" : 1,
25569 "proxyto" : "node",
25570 "returns" : {
25571 "type" : "string"
25572 }
25573 }
25574 },
25575 "leaf" : 0,
25576 "path" : "/nodes/{node}/vzdump",
25577 "text" : "vzdump"
25578 },
25579 {
25580 "children" : [
2489d6df
WB
25581 {
25582 "children" : [
25583 {
25584 "info" : {
4d47f125
TL
25585 "GET" : {
25586 "description" : "Read service properties",
25587 "method" : "GET",
25588 "name" : "service_state",
2489d6df
WB
25589 "parameters" : {
25590 "additionalProperties" : 0,
25591 "properties" : {
2489d6df
WB
25592 "node" : {
25593 "description" : "The cluster node name.",
25594 "format" : "pve-node",
25595 "type" : "string",
25596 "typetext" : "<string>"
4d47f125
TL
25597 },
25598 "service" : {
25599 "description" : "Service ID",
25600 "enum" : [
25601 "pveproxy",
25602 "pvedaemon",
25603 "spiceproxy",
25604 "pvestatd",
25605 "pve-cluster",
25606 "corosync",
25607 "pve-firewall",
25608 "pvefw-logger",
25609 "pve-ha-crm",
25610 "pve-ha-lrm",
25611 "sshd",
25612 "syslog",
25613 "cron",
25614 "postfix",
25615 "ksmtuned",
25616 "systemd-timesyncd"
25617 ],
25618 "type" : "string"
2489d6df
WB
25619 }
25620 }
25621 },
25622 "permissions" : {
25623 "check" : [
25624 "perm",
4d47f125 25625 "/nodes/{node}",
2489d6df 25626 [
4d47f125 25627 "Sys.Audit"
2489d6df
WB
25628 ]
25629 ]
25630 },
25631 "protected" : 1,
25632 "proxyto" : "node",
25633 "returns" : {
4d47f125 25634 "type" : "object"
2489d6df
WB
25635 }
25636 }
25637 },
25638 "leaf" : 1,
4d47f125
TL
25639 "path" : "/nodes/{node}/services/{service}/state",
25640 "text" : "state"
25641 },
25642 {
25643 "info" : {
25644 "POST" : {
25645 "description" : "Start service.",
25646 "method" : "POST",
25647 "name" : "service_start",
25648 "parameters" : {
25649 "additionalProperties" : 0,
25650 "properties" : {
25651 "node" : {
25652 "description" : "The cluster node name.",
25653 "format" : "pve-node",
25654 "type" : "string",
25655 "typetext" : "<string>"
25656 },
25657 "service" : {
25658 "description" : "Service ID",
25659 "enum" : [
25660 "pveproxy",
25661 "pvedaemon",
25662 "spiceproxy",
25663 "pvestatd",
25664 "pve-cluster",
25665 "corosync",
25666 "pve-firewall",
25667 "pvefw-logger",
25668 "pve-ha-crm",
25669 "pve-ha-lrm",
25670 "sshd",
25671 "syslog",
25672 "cron",
25673 "postfix",
25674 "ksmtuned",
25675 "systemd-timesyncd"
25676 ],
25677 "type" : "string"
25678 }
25679 }
7aacca6f 25680 },
4d47f125
TL
25681 "permissions" : {
25682 "check" : [
25683 "perm",
25684 "/nodes/{node}",
25685 [
25686 "Sys.Modify"
25687 ]
25688 ]
7aacca6f 25689 },
4d47f125
TL
25690 "protected" : 1,
25691 "proxyto" : "node",
25692 "returns" : {
25693 "type" : "string"
25694 }
25695 }
56122987 25696 },
4d47f125
TL
25697 "leaf" : 1,
25698 "path" : "/nodes/{node}/services/{service}/start",
25699 "text" : "start"
25700 },
44660702
DM
25701 {
25702 "info" : {
4d47f125
TL
25703 "POST" : {
25704 "description" : "Stop service.",
25705 "method" : "POST",
25706 "name" : "service_stop",
44660702
DM
25707 "parameters" : {
25708 "additionalProperties" : 0,
25709 "properties" : {
44660702
DM
25710 "node" : {
25711 "description" : "The cluster node name.",
25712 "format" : "pve-node",
013dc89f
DM
25713 "type" : "string",
25714 "typetext" : "<string>"
2489d6df 25715 },
4d47f125
TL
25716 "service" : {
25717 "description" : "Service ID",
25718 "enum" : [
25719 "pveproxy",
25720 "pvedaemon",
25721 "spiceproxy",
25722 "pvestatd",
25723 "pve-cluster",
25724 "corosync",
25725 "pve-firewall",
25726 "pvefw-logger",
25727 "pve-ha-crm",
25728 "pve-ha-lrm",
25729 "sshd",
25730 "syslog",
25731 "cron",
25732 "postfix",
25733 "ksmtuned",
25734 "systemd-timesyncd"
25735 ],
25736 "type" : "string"
44660702
DM
25737 }
25738 }
25739 },
25740 "permissions" : {
25741 "check" : [
25742 "perm",
4d47f125 25743 "/nodes/{node}",
44660702
DM
25744 [
25745 "Sys.Modify"
25746 ]
25747 ]
25748 },
25749 "protected" : 1,
25750 "proxyto" : "node",
25751 "returns" : {
2489d6df 25752 "type" : "string"
44660702
DM
25753 }
25754 }
25755 },
25756 "leaf" : 1,
4d47f125
TL
25757 "path" : "/nodes/{node}/services/{service}/stop",
25758 "text" : "stop"
7aacca6f 25759 },
32d876b5
DM
25760 {
25761 "info" : {
4d47f125
TL
25762 "POST" : {
25763 "description" : "Restart service.",
25764 "method" : "POST",
25765 "name" : "service_restart",
32d876b5
DM
25766 "parameters" : {
25767 "additionalProperties" : 0,
25768 "properties" : {
4d47f125
TL
25769 "node" : {
25770 "description" : "The cluster node name.",
25771 "format" : "pve-node",
25772 "type" : "string",
25773 "typetext" : "<string>"
25774 },
25775 "service" : {
25776 "description" : "Service ID",
32d876b5 25777 "enum" : [
4d47f125
TL
25778 "pveproxy",
25779 "pvedaemon",
25780 "spiceproxy",
25781 "pvestatd",
25782 "pve-cluster",
25783 "corosync",
25784 "pve-firewall",
25785 "pvefw-logger",
25786 "pve-ha-crm",
25787 "pve-ha-lrm",
25788 "sshd",
25789 "syslog",
25790 "cron",
25791 "postfix",
25792 "ksmtuned",
25793 "systemd-timesyncd"
32d876b5
DM
25794 ],
25795 "type" : "string"
32d876b5
DM
25796 }
25797 }
25798 },
25799 "permissions" : {
25800 "check" : [
25801 "perm",
4d47f125 25802 "/nodes/{node}",
32d876b5
DM
25803 [
25804 "Sys.Modify"
25805 ]
25806 ]
25807 },
25808 "protected" : 1,
25809 "proxyto" : "node",
25810 "returns" : {
4d47f125 25811 "type" : "string"
32d876b5 25812 }
4d47f125
TL
25813 }
25814 },
25815 "leaf" : 1,
25816 "path" : "/nodes/{node}/services/{service}/restart",
25817 "text" : "restart"
25818 },
25819 {
25820 "info" : {
32d876b5 25821 "POST" : {
4d47f125 25822 "description" : "Reload service.",
32d876b5 25823 "method" : "POST",
4d47f125 25824 "name" : "service_reload",
32d876b5
DM
25825 "parameters" : {
25826 "additionalProperties" : 0,
25827 "properties" : {
32d876b5
DM
25828 "node" : {
25829 "description" : "The cluster node name.",
25830 "format" : "pve-node",
25831 "type" : "string",
25832 "typetext" : "<string>"
4d47f125
TL
25833 },
25834 "service" : {
25835 "description" : "Service ID",
25836 "enum" : [
25837 "pveproxy",
25838 "pvedaemon",
25839 "spiceproxy",
25840 "pvestatd",
25841 "pve-cluster",
25842 "corosync",
25843 "pve-firewall",
25844 "pvefw-logger",
25845 "pve-ha-crm",
25846 "pve-ha-lrm",
25847 "sshd",
25848 "syslog",
25849 "cron",
25850 "postfix",
25851 "ksmtuned",
25852 "systemd-timesyncd"
25853 ],
25854 "type" : "string"
32d876b5
DM
25855 }
25856 }
25857 },
25858 "permissions" : {
25859 "check" : [
25860 "perm",
4d47f125 25861 "/nodes/{node}",
32d876b5
DM
25862 [
25863 "Sys.Modify"
25864 ]
25865 ]
25866 },
25867 "protected" : 1,
25868 "proxyto" : "node",
25869 "returns" : {
4d47f125 25870 "type" : "string"
32d876b5
DM
25871 }
25872 }
25873 },
25874 "leaf" : 1,
4d47f125
TL
25875 "path" : "/nodes/{node}/services/{service}/reload",
25876 "text" : "reload"
32d876b5
DM
25877 }
25878 ],
25879 "info" : {
25880 "GET" : {
4d47f125 25881 "description" : "Directory index",
44660702 25882 "method" : "GET",
4d47f125 25883 "name" : "srvcmdidx",
44660702
DM
25884 "parameters" : {
25885 "additionalProperties" : 0,
25886 "properties" : {
44660702
DM
25887 "node" : {
25888 "description" : "The cluster node name.",
25889 "format" : "pve-node",
013dc89f
DM
25890 "type" : "string",
25891 "typetext" : "<string>"
44660702 25892 },
4d47f125
TL
25893 "service" : {
25894 "description" : "Service ID",
25895 "enum" : [
25896 "pveproxy",
25897 "pvedaemon",
25898 "spiceproxy",
25899 "pvestatd",
25900 "pve-cluster",
25901 "corosync",
25902 "pve-firewall",
25903 "pvefw-logger",
25904 "pve-ha-crm",
25905 "pve-ha-lrm",
25906 "sshd",
25907 "syslog",
25908 "cron",
25909 "postfix",
25910 "ksmtuned",
25911 "systemd-timesyncd"
25912 ],
25913 "type" : "string"
44660702 25914 }
7aacca6f 25915 }
56122987 25916 },
56122987
DM
25917 "permissions" : {
25918 "check" : [
25919 "perm",
7aacca6f 25920 "/nodes/{node}",
56122987 25921 [
4d47f125 25922 "Sys.Audit"
56122987
DM
25923 ]
25924 ]
25925 },
44660702
DM
25926 "returns" : {
25927 "items" : {
25928 "properties" : {
4d47f125 25929 "subdir" : {
44660702
DM
25930 "type" : "string"
25931 }
56122987 25932 },
44660702 25933 "type" : "object"
56122987 25934 },
2489d6df
WB
25935 "links" : [
25936 {
4d47f125 25937 "href" : "{subdir}",
2489d6df
WB
25938 "rel" : "child"
25939 }
25940 ],
25941 "type" : "array"
25942 }
25943 }
4d47f125
TL
25944 },
25945 "leaf" : 0,
25946 "path" : "/nodes/{node}/services/{service}",
25947 "text" : "{service}"
7aacca6f
DM
25948 }
25949 ],
44660702
DM
25950 "info" : {
25951 "GET" : {
4d47f125 25952 "description" : "Service list.",
44660702
DM
25953 "method" : "GET",
25954 "name" : "index",
25955 "parameters" : {
25956 "additionalProperties" : 0,
25957 "properties" : {
25958 "node" : {
25959 "description" : "The cluster node name.",
25960 "format" : "pve-node",
013dc89f
DM
25961 "type" : "string",
25962 "typetext" : "<string>"
44660702
DM
25963 }
25964 }
25965 },
25966 "permissions" : {
25967 "check" : [
25968 "perm",
4d47f125 25969 "/nodes/{node}",
44660702 25970 [
4d47f125
TL
25971 "Sys.Audit"
25972 ]
44660702
DM
25973 ]
25974 },
4d47f125
TL
25975 "protected" : 1,
25976 "proxyto" : "node",
44660702
DM
25977 "returns" : {
25978 "items" : {
25979 "properties" : {},
25980 "type" : "object"
25981 },
25982 "links" : [
25983 {
4d47f125 25984 "href" : "{service}",
44660702
DM
25985 "rel" : "child"
25986 }
25987 ],
25988 "type" : "array"
25989 }
25990 }
25991 },
7aacca6f 25992 "leaf" : 0,
4d47f125
TL
25993 "path" : "/nodes/{node}/services",
25994 "text" : "services"
7aacca6f
DM
25995 },
25996 {
7aacca6f 25997 "info" : {
4d47f125
TL
25998 "GET" : {
25999 "description" : "Read subscription info.",
26000 "method" : "GET",
26001 "name" : "get",
7aacca6f 26002 "parameters" : {
44660702 26003 "additionalProperties" : 0,
7aacca6f 26004 "properties" : {
44660702 26005 "node" : {
4d47f125 26006 "description" : "The cluster node name.",
44660702 26007 "format" : "pve-node",
013dc89f
DM
26008 "type" : "string",
26009 "typetext" : "<string>"
4d47f125
TL
26010 }
26011 }
26012 },
26013 "permissions" : {
26014 "user" : "all"
26015 },
26016 "proxyto" : "node",
26017 "returns" : {
26018 "type" : "object"
26019 }
26020 },
26021 "POST" : {
26022 "description" : "Update subscription info.",
26023 "method" : "POST",
26024 "name" : "update",
26025 "parameters" : {
26026 "additionalProperties" : 0,
26027 "properties" : {
26028 "force" : {
26029 "default" : 0,
26030 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 26031 "optional" : 1,
4d47f125
TL
26032 "type" : "boolean",
26033 "typetext" : "<boolean>"
44660702 26034 },
4d47f125
TL
26035 "node" : {
26036 "description" : "The cluster node name.",
26037 "format" : "pve-node",
013dc89f
DM
26038 "type" : "string",
26039 "typetext" : "<string>"
4d47f125
TL
26040 }
26041 }
26042 },
26043 "permissions" : {
26044 "check" : [
26045 "perm",
26046 "/nodes/{node}",
26047 [
26048 "Sys.Modify"
26049 ]
26050 ]
26051 },
26052 "protected" : 1,
26053 "proxyto" : "node",
26054 "returns" : {
26055 "type" : "null"
26056 }
26057 },
26058 "PUT" : {
26059 "description" : "Set subscription key.",
26060 "method" : "PUT",
26061 "name" : "set",
26062 "parameters" : {
26063 "additionalProperties" : 0,
26064 "properties" : {
26065 "key" : {
26066 "description" : "Proxmox VE subscription key",
26067 "maxLength" : 32,
26068 "pattern" : "pve([124])([cbsp])-[0-9a-f]{10}",
26069 "type" : "string"
7aacca6f 26070 },
4d47f125
TL
26071 "node" : {
26072 "description" : "The cluster node name.",
26073 "format" : "pve-node",
013dc89f
DM
26074 "type" : "string",
26075 "typetext" : "<string>"
7aacca6f 26076 }
7aacca6f
DM
26077 }
26078 },
7aacca6f 26079 "permissions" : {
4d47f125
TL
26080 "check" : [
26081 "perm",
26082 "/nodes/{node}",
26083 [
26084 "Sys.Modify"
26085 ]
26086 ]
7aacca6f 26087 },
44660702 26088 "protected" : 1,
7aacca6f 26089 "proxyto" : "node",
7aacca6f 26090 "returns" : {
4d47f125 26091 "type" : "null"
7aacca6f
DM
26092 }
26093 }
26094 },
4d47f125
TL
26095 "leaf" : 1,
26096 "path" : "/nodes/{node}/subscription",
26097 "text" : "subscription"
44660702
DM
26098 },
26099 {
7aacca6f
DM
26100 "children" : [
26101 {
4d47f125
TL
26102 "info" : {
26103 "DELETE" : {
26104 "description" : "Delete network device configuration",
26105 "method" : "DELETE",
26106 "name" : "delete_network",
26107 "parameters" : {
26108 "additionalProperties" : 0,
26109 "properties" : {
26110 "iface" : {
26111 "description" : "Network interface name.",
26112 "format" : "pve-iface",
26113 "maxLength" : 20,
26114 "minLength" : 2,
26115 "type" : "string",
26116 "typetext" : "<string>"
7aacca6f 26117 },
4d47f125
TL
26118 "node" : {
26119 "description" : "The cluster node name.",
26120 "format" : "pve-node",
26121 "type" : "string",
26122 "typetext" : "<string>"
44660702
DM
26123 }
26124 }
26125 },
4d47f125
TL
26126 "permissions" : {
26127 "check" : [
26128 "perm",
26129 "/nodes/{node}",
26130 [
26131 "Sys.Modify"
26132 ]
26133 ]
26134 },
26135 "protected" : 1,
26136 "proxyto" : "node",
26137 "returns" : {
26138 "type" : "null"
26139 }
26140 },
26141 "GET" : {
26142 "description" : "Read network device configuration",
26143 "method" : "GET",
26144 "name" : "network_config",
26145 "parameters" : {
26146 "additionalProperties" : 0,
26147 "properties" : {
26148 "iface" : {
26149 "description" : "Network interface name.",
26150 "format" : "pve-iface",
26151 "maxLength" : 20,
26152 "minLength" : 2,
26153 "type" : "string",
26154 "typetext" : "<string>"
56122987 26155 },
4d47f125
TL
26156 "node" : {
26157 "description" : "The cluster node name.",
26158 "format" : "pve-node",
26159 "type" : "string",
26160 "typetext" : "<string>"
44660702
DM
26161 }
26162 }
26163 },
4d47f125
TL
26164 "permissions" : {
26165 "check" : [
26166 "perm",
26167 "/nodes/{node}",
26168 [
26169 "Sys.Audit"
26170 ]
26171 ]
26172 },
26173 "proxyto" : "node",
26174 "returns" : {
26175 "properties" : {
26176 "method" : {
26177 "type" : "string"
44660702 26178 },
4d47f125 26179 "type" : {
44660702
DM
26180 "type" : "string"
26181 }
4d47f125
TL
26182 },
26183 "type" : "object"
26184 }
56122987 26185 },
4d47f125
TL
26186 "PUT" : {
26187 "description" : "Update network device configuration",
26188 "method" : "PUT",
26189 "name" : "update_network",
26190 "parameters" : {
26191 "additionalProperties" : 0,
26192 "properties" : {
26193 "address" : {
26194 "description" : "IP address.",
26195 "format" : "ipv4",
26196 "optional" : 1,
26197 "requires" : "netmask",
26198 "type" : "string",
26199 "typetext" : "<string>"
26200 },
26201 "address6" : {
26202 "description" : "IP address.",
26203 "format" : "ipv6",
26204 "optional" : 1,
26205 "requires" : "netmask6",
26206 "type" : "string",
26207 "typetext" : "<string>"
26208 },
26209 "autostart" : {
26210 "description" : "Automatically start interface on boot.",
26211 "optional" : 1,
26212 "type" : "boolean",
26213 "typetext" : "<boolean>"
26214 },
26215 "bond_mode" : {
26216 "description" : "Bonding mode.",
26217 "enum" : [
26218 "balance-rr",
26219 "active-backup",
26220 "balance-xor",
26221 "broadcast",
26222 "802.3ad",
26223 "balance-tlb",
26224 "balance-alb",
26225 "balance-slb",
26226 "lacp-balance-slb",
26227 "lacp-balance-tcp"
26228 ],
26229 "optional" : 1,
26230 "type" : "string"
26231 },
26232 "bond_xmit_hash_policy" : {
26233 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
26234 "enum" : [
26235 "layer2",
26236 "layer2+3",
26237 "layer3+4"
26238 ],
26239 "optional" : 1,
26240 "type" : "string"
26241 },
26242 "bridge_ports" : {
26243 "description" : "Specify the iterfaces you want to add to your bridge.",
26244 "format" : "pve-iface-list",
26245 "optional" : 1,
26246 "type" : "string",
26247 "typetext" : "<string>"
26248 },
26249 "bridge_vlan_aware" : {
26250 "description" : "Enable bridge vlan support.",
26251 "optional" : 1,
26252 "type" : "boolean",
26253 "typetext" : "<boolean>"
26254 },
26255 "comments" : {
26256 "description" : "Comments",
26257 "optional" : 1,
26258 "type" : "string",
26259 "typetext" : "<string>"
26260 },
26261 "comments6" : {
26262 "description" : "Comments",
26263 "optional" : 1,
26264 "type" : "string",
26265 "typetext" : "<string>"
26266 },
26267 "delete" : {
26268 "description" : "A list of settings you want to delete.",
26269 "format" : "pve-configid-list",
26270 "optional" : 1,
26271 "type" : "string",
26272 "typetext" : "<string>"
26273 },
26274 "gateway" : {
26275 "description" : "Default gateway address.",
26276 "format" : "ipv4",
26277 "optional" : 1,
26278 "type" : "string",
26279 "typetext" : "<string>"
26280 },
26281 "gateway6" : {
26282 "description" : "Default ipv6 gateway address.",
26283 "format" : "ipv6",
26284 "optional" : 1,
26285 "type" : "string",
26286 "typetext" : "<string>"
26287 },
26288 "iface" : {
26289 "description" : "Network interface name.",
26290 "format" : "pve-iface",
26291 "maxLength" : 20,
26292 "minLength" : 2,
26293 "type" : "string",
26294 "typetext" : "<string>"
56122987 26295 },
4d47f125
TL
26296 "netmask" : {
26297 "description" : "Network mask.",
26298 "format" : "ipv4mask",
26299 "optional" : 1,
26300 "requires" : "address",
26301 "type" : "string",
26302 "typetext" : "<string>"
26303 },
26304 "netmask6" : {
26305 "description" : "Network mask.",
26306 "maximum" : 128,
26307 "minimum" : 0,
26308 "optional" : 1,
26309 "requires" : "address6",
26310 "type" : "integer",
26311 "typetext" : "<integer> (0 - 128)"
56122987 26312 },
44660702
DM
26313 "node" : {
26314 "description" : "The cluster node name.",
26315 "format" : "pve-node",
013dc89f
DM
26316 "type" : "string",
26317 "typetext" : "<string>"
44660702 26318 },
4d47f125
TL
26319 "ovs_bonds" : {
26320 "description" : "Specify the interfaces used by the bonding device.",
26321 "format" : "pve-iface-list",
26322 "optional" : 1,
26323 "type" : "string",
26324 "typetext" : "<string>"
26325 },
26326 "ovs_bridge" : {
26327 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
26328 "format" : "pve-iface",
26329 "optional" : 1,
26330 "type" : "string",
26331 "typetext" : "<string>"
26332 },
26333 "ovs_options" : {
26334 "description" : "OVS interface options.",
26335 "maxLength" : 1024,
26336 "optional" : 1,
26337 "type" : "string",
26338 "typetext" : "<string>"
26339 },
26340 "ovs_ports" : {
26341 "description" : "Specify the iterfaces you want to add to your bridge.",
26342 "format" : "pve-iface-list",
26343 "optional" : 1,
26344 "type" : "string",
26345 "typetext" : "<string>"
26346 },
26347 "ovs_tag" : {
26348 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
26349 "maximum" : 4094,
26350 "minimum" : 1,
26351 "optional" : 1,
26352 "type" : "integer",
26353 "typetext" : "<integer> (1 - 4094)"
26354 },
26355 "slaves" : {
26356 "description" : "Specify the interfaces used by the bonding device.",
26357 "format" : "pve-iface-list",
26358 "optional" : 1,
26359 "type" : "string",
26360 "typetext" : "<string>"
26361 },
26362 "type" : {
26363 "description" : "Network interface type",
44660702 26364 "enum" : [
4d47f125
TL
26365 "bridge",
26366 "bond",
26367 "eth",
26368 "alias",
26369 "vlan",
26370 "OVSBridge",
26371 "OVSBond",
26372 "OVSPort",
26373 "OVSIntPort",
26374 "unknown"
44660702
DM
26375 ],
26376 "type" : "string"
26377 }
26378 }
26379 },
26380 "permissions" : {
26381 "check" : [
26382 "perm",
26383 "/nodes/{node}",
26384 [
4d47f125 26385 "Sys.Modify"
44660702
DM
26386 ]
26387 ]
26388 },
4d47f125
TL
26389 "protected" : 1,
26390 "proxyto" : "node",
44660702 26391 "returns" : {
4d47f125 26392 "type" : "null"
44660702
DM
26393 }
26394 }
26395 },
4d47f125
TL
26396 "leaf" : 1,
26397 "path" : "/nodes/{node}/network/{iface}",
26398 "text" : "{iface}"
44660702
DM
26399 }
26400 ],
26401 "info" : {
4d47f125
TL
26402 "DELETE" : {
26403 "description" : "Revert network configuration changes.",
26404 "method" : "DELETE",
26405 "name" : "revert_network_changes",
44660702
DM
26406 "parameters" : {
26407 "additionalProperties" : 0,
26408 "properties" : {
26409 "node" : {
26410 "description" : "The cluster node name.",
26411 "format" : "pve-node",
013dc89f
DM
26412 "type" : "string",
26413 "typetext" : "<string>"
44660702
DM
26414 }
26415 }
26416 },
26417 "permissions" : {
26418 "check" : [
26419 "perm",
26420 "/nodes/{node}",
26421 [
4d47f125 26422 "Sys.Modify"
44660702
DM
26423 ]
26424 ]
26425 },
26426 "protected" : 1,
26427 "proxyto" : "node",
4d47f125
TL
26428 "returns" : {
26429 "type" : "null"
26430 }
26431 },
26432 "GET" : {
26433 "description" : "List available networks",
26434 "method" : "GET",
26435 "name" : "index",
26436 "parameters" : {
26437 "additionalProperties" : 0,
26438 "properties" : {
26439 "node" : {
26440 "description" : "The cluster node name.",
26441 "format" : "pve-node",
26442 "type" : "string",
26443 "typetext" : "<string>"
26444 },
26445 "type" : {
26446 "description" : "Only list specific interface types.",
26447 "enum" : [
26448 "bridge",
26449 "bond",
26450 "eth",
26451 "alias",
26452 "vlan",
26453 "OVSBridge",
26454 "OVSBond",
26455 "OVSPort",
26456 "OVSIntPort",
26457 "any_bridge"
26458 ],
26459 "optional" : 1,
26460 "type" : "string"
26461 }
26462 }
26463 },
26464 "permissions" : {
26465 "user" : "all"
26466 },
26467 "proxyto" : "node",
44660702
DM
26468 "returns" : {
26469 "items" : {
26470 "properties" : {},
26471 "type" : "object"
26472 },
26473 "links" : [
26474 {
4d47f125 26475 "href" : "{iface}",
44660702 26476 "rel" : "child"
56122987 26477 }
44660702
DM
26478 ],
26479 "type" : "array"
26480 }
4d47f125
TL
26481 },
26482 "POST" : {
26483 "description" : "Create network device configuration",
26484 "method" : "POST",
26485 "name" : "create_network",
7aacca6f 26486 "parameters" : {
44660702 26487 "additionalProperties" : 0,
7aacca6f 26488 "properties" : {
4d47f125
TL
26489 "address" : {
26490 "description" : "IP address.",
26491 "format" : "ipv4",
26492 "optional" : 1,
26493 "requires" : "netmask",
26494 "type" : "string",
26495 "typetext" : "<string>"
26496 },
26497 "address6" : {
26498 "description" : "IP address.",
26499 "format" : "ipv6",
26500 "optional" : 1,
26501 "requires" : "netmask6",
26502 "type" : "string",
26503 "typetext" : "<string>"
26504 },
26505 "autostart" : {
26506 "description" : "Automatically start interface on boot.",
26507 "optional" : 1,
26508 "type" : "boolean",
26509 "typetext" : "<boolean>"
26510 },
26511 "bond_mode" : {
26512 "description" : "Bonding mode.",
26513 "enum" : [
26514 "balance-rr",
26515 "active-backup",
26516 "balance-xor",
26517 "broadcast",
26518 "802.3ad",
26519 "balance-tlb",
26520 "balance-alb",
26521 "balance-slb",
26522 "lacp-balance-slb",
26523 "lacp-balance-tcp"
26524 ],
26525 "optional" : 1,
26526 "type" : "string"
26527 },
26528 "bond_xmit_hash_policy" : {
26529 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
26530 "enum" : [
26531 "layer2",
26532 "layer2+3",
26533 "layer3+4"
26534 ],
26535 "optional" : 1,
26536 "type" : "string"
26537 },
26538 "bridge_ports" : {
26539 "description" : "Specify the iterfaces you want to add to your bridge.",
26540 "format" : "pve-iface-list",
26541 "optional" : 1,
013dc89f
DM
26542 "type" : "string",
26543 "typetext" : "<string>"
4d47f125
TL
26544 },
26545 "bridge_vlan_aware" : {
26546 "description" : "Enable bridge vlan support.",
44660702 26547 "optional" : 1,
013dc89f
DM
26548 "type" : "boolean",
26549 "typetext" : "<boolean>"
44660702 26550 },
4d47f125
TL
26551 "comments" : {
26552 "description" : "Comments",
26553 "optional" : 1,
26554 "type" : "string",
26555 "typetext" : "<string>"
26556 },
26557 "comments6" : {
26558 "description" : "Comments",
26559 "optional" : 1,
26560 "type" : "string",
26561 "typetext" : "<string>"
26562 },
26563 "gateway" : {
26564 "description" : "Default gateway address.",
26565 "format" : "ipv4",
26566 "optional" : 1,
26567 "type" : "string",
26568 "typetext" : "<string>"
26569 },
26570 "gateway6" : {
26571 "description" : "Default ipv6 gateway address.",
26572 "format" : "ipv6",
26573 "optional" : 1,
26574 "type" : "string",
26575 "typetext" : "<string>"
26576 },
26577 "iface" : {
26578 "description" : "Network interface name.",
26579 "format" : "pve-iface",
26580 "maxLength" : 20,
26581 "minLength" : 2,
26582 "type" : "string",
26583 "typetext" : "<string>"
26584 },
26585 "netmask" : {
26586 "description" : "Network mask.",
26587 "format" : "ipv4mask",
26588 "optional" : 1,
26589 "requires" : "address",
26590 "type" : "string",
26591 "typetext" : "<string>"
26592 },
26593 "netmask6" : {
26594 "description" : "Network mask.",
26595 "maximum" : 128,
26596 "minimum" : 0,
26597 "optional" : 1,
26598 "requires" : "address6",
26599 "type" : "integer",
26600 "typetext" : "<integer> (0 - 128)"
26601 },
7aacca6f 26602 "node" : {
7aacca6f 26603 "description" : "The cluster node name.",
44660702 26604 "format" : "pve-node",
013dc89f
DM
26605 "type" : "string",
26606 "typetext" : "<string>"
4d47f125
TL
26607 },
26608 "ovs_bonds" : {
26609 "description" : "Specify the interfaces used by the bonding device.",
26610 "format" : "pve-iface-list",
26611 "optional" : 1,
26612 "type" : "string",
26613 "typetext" : "<string>"
26614 },
26615 "ovs_bridge" : {
26616 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
26617 "format" : "pve-iface",
26618 "optional" : 1,
26619 "type" : "string",
26620 "typetext" : "<string>"
26621 },
26622 "ovs_options" : {
26623 "description" : "OVS interface options.",
26624 "maxLength" : 1024,
26625 "optional" : 1,
26626 "type" : "string",
26627 "typetext" : "<string>"
26628 },
26629 "ovs_ports" : {
26630 "description" : "Specify the iterfaces you want to add to your bridge.",
26631 "format" : "pve-iface-list",
26632 "optional" : 1,
26633 "type" : "string",
26634 "typetext" : "<string>"
26635 },
26636 "ovs_tag" : {
26637 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
26638 "maximum" : 4094,
26639 "minimum" : 1,
26640 "optional" : 1,
26641 "type" : "integer",
26642 "typetext" : "<integer> (1 - 4094)"
26643 },
26644 "slaves" : {
26645 "description" : "Specify the interfaces used by the bonding device.",
26646 "format" : "pve-iface-list",
26647 "optional" : 1,
26648 "type" : "string",
26649 "typetext" : "<string>"
26650 },
26651 "type" : {
26652 "description" : "Network interface type",
26653 "enum" : [
26654 "bridge",
26655 "bond",
26656 "eth",
26657 "alias",
26658 "vlan",
26659 "OVSBridge",
26660 "OVSBond",
26661 "OVSPort",
26662 "OVSIntPort",
26663 "unknown"
26664 ],
26665 "type" : "string"
7aacca6f
DM
26666 }
26667 }
26668 },
35a75dd3
DM
26669 "permissions" : {
26670 "check" : [
26671 "perm",
26672 "/nodes/{node}",
26673 [
26674 "Sys.Modify"
26675 ]
26676 ]
26677 },
7aacca6f 26678 "protected" : 1,
7aacca6f 26679 "proxyto" : "node",
44660702
DM
26680 "returns" : {
26681 "type" : "null"
26682 }
26683 },
26684 "PUT" : {
4d47f125 26685 "description" : "Reload network configuration",
44660702 26686 "method" : "PUT",
4d47f125 26687 "name" : "reload_network_config",
7aacca6f
DM
26688 "parameters" : {
26689 "additionalProperties" : 0,
26690 "properties" : {
7aacca6f 26691 "node" : {
7aacca6f 26692 "description" : "The cluster node name.",
44660702 26693 "format" : "pve-node",
013dc89f
DM
26694 "type" : "string",
26695 "typetext" : "<string>"
7aacca6f
DM
26696 }
26697 }
26698 },
35a75dd3
DM
26699 "permissions" : {
26700 "check" : [
26701 "perm",
26702 "/nodes/{node}",
26703 [
26704 "Sys.Modify"
26705 ]
26706 ]
26707 },
44660702
DM
26708 "protected" : 1,
26709 "proxyto" : "node",
7aacca6f 26710 "returns" : {
4d47f125 26711 "type" : "string"
44660702 26712 }
7aacca6f
DM
26713 }
26714 },
4d47f125
TL
26715 "leaf" : 0,
26716 "path" : "/nodes/{node}/network",
26717 "text" : "network"
7aacca6f
DM
26718 },
26719 {
7aacca6f
DM
26720 "children" : [
26721 {
4d47f125
TL
26722 "children" : [
26723 {
26724 "info" : {
26725 "GET" : {
26726 "description" : "Read task log.",
26727 "method" : "GET",
26728 "name" : "read_task_log",
26729 "parameters" : {
26730 "additionalProperties" : 0,
26731 "properties" : {
26732 "limit" : {
26733 "default" : 50,
26734 "minimum" : 0,
26735 "optional" : 1,
26736 "type" : "integer",
26737 "typetext" : "<integer> (0 - N)"
26738 },
26739 "node" : {
26740 "description" : "The cluster node name.",
26741 "format" : "pve-node",
26742 "type" : "string",
26743 "typetext" : "<string>"
26744 },
26745 "start" : {
26746 "default" : 0,
26747 "minimum" : 0,
26748 "optional" : 1,
26749 "type" : "integer",
26750 "typetext" : "<integer> (0 - N)"
26751 },
26752 "upid" : {
26753 "type" : "string",
26754 "typetext" : "<string>"
26755 }
26756 }
26757 },
26758 "permissions" : {
26759 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
26760 "user" : "all"
26761 },
26762 "protected" : 1,
26763 "proxyto" : "node",
26764 "returns" : {
26765 "items" : {
26766 "properties" : {
26767 "n" : {
26768 "description" : "Line number",
26769 "type" : "integer"
26770 },
26771 "t" : {
26772 "description" : "Line text",
26773 "type" : "string"
26774 }
26775 },
26776 "type" : "object"
26777 },
26778 "type" : "array"
26779 }
26780 }
26781 },
26782 "leaf" : 1,
26783 "path" : "/nodes/{node}/tasks/{upid}/log",
26784 "text" : "log"
26785 },
26786 {
26787 "info" : {
26788 "GET" : {
26789 "description" : "Read task status.",
26790 "method" : "GET",
26791 "name" : "read_task_status",
26792 "parameters" : {
26793 "additionalProperties" : 0,
26794 "properties" : {
26795 "node" : {
26796 "description" : "The cluster node name.",
26797 "format" : "pve-node",
26798 "type" : "string",
26799 "typetext" : "<string>"
26800 },
26801 "upid" : {
26802 "type" : "string",
26803 "typetext" : "<string>"
26804 }
26805 }
26806 },
26807 "permissions" : {
26808 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
26809 "user" : "all"
26810 },
26811 "protected" : 1,
26812 "proxyto" : "node",
26813 "returns" : {
26814 "properties" : {
26815 "pid" : {
26816 "type" : "integer"
26817 },
26818 "status" : {
26819 "enum" : [
26820 "running",
26821 "stopped"
26822 ],
26823 "type" : "string"
26824 }
26825 },
26826 "type" : "object"
26827 }
26828 }
26829 },
26830 "leaf" : 1,
26831 "path" : "/nodes/{node}/tasks/{upid}/status",
26832 "text" : "status"
26833 }
26834 ],
56122987 26835 "info" : {
7aacca6f 26836 "DELETE" : {
4d47f125 26837 "description" : "Stop a task.",
44660702 26838 "method" : "DELETE",
4d47f125 26839 "name" : "stop_task",
44660702
DM
26840 "parameters" : {
26841 "additionalProperties" : 0,
26842 "properties" : {
44660702
DM
26843 "node" : {
26844 "description" : "The cluster node name.",
26845 "format" : "pve-node",
013dc89f
DM
26846 "type" : "string",
26847 "typetext" : "<string>"
4d47f125
TL
26848 },
26849 "upid" : {
26850 "type" : "string",
26851 "typetext" : "<string>"
44660702
DM
26852 }
26853 }
7aacca6f
DM
26854 },
26855 "permissions" : {
4d47f125
TL
26856 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
26857 "user" : "all"
7aacca6f 26858 },
44660702 26859 "protected" : 1,
7aacca6f 26860 "proxyto" : "node",
44660702
DM
26861 "returns" : {
26862 "type" : "null"
26863 }
26864 },
26865 "GET" : {
4d47f125 26866 "description" : "",
44660702 26867 "method" : "GET",
4d47f125 26868 "name" : "upid_index",
7aacca6f
DM
26869 "parameters" : {
26870 "additionalProperties" : 0,
26871 "properties" : {
7aacca6f 26872 "node" : {
44660702 26873 "description" : "The cluster node name.",
7aacca6f 26874 "format" : "pve-node",
013dc89f
DM
26875 "type" : "string",
26876 "typetext" : "<string>"
7aacca6f 26877 },
4d47f125
TL
26878 "upid" : {
26879 "type" : "string",
26880 "typetext" : "<string>"
7aacca6f
DM
26881 }
26882 }
26883 },
7aacca6f 26884 "permissions" : {
4d47f125 26885 "user" : "all"
7aacca6f
DM
26886 },
26887 "returns" : {
4d47f125
TL
26888 "items" : {
26889 "properties" : {},
26890 "type" : "object"
26891 },
26892 "links" : [
26893 {
26894 "href" : "{name}",
26895 "rel" : "child"
26896 }
26897 ],
26898 "type" : "array"
44660702 26899 }
7aacca6f
DM
26900 }
26901 },
4d47f125
TL
26902 "leaf" : 0,
26903 "path" : "/nodes/{node}/tasks/{upid}",
26904 "text" : "{upid}"
7aacca6f
DM
26905 }
26906 ],
7aacca6f 26907 "info" : {
44660702 26908 "GET" : {
4d47f125 26909 "description" : "Read task list for one node (finished tasks).",
44660702 26910 "method" : "GET",
4d47f125 26911 "name" : "node_tasks",
44660702
DM
26912 "parameters" : {
26913 "additionalProperties" : 0,
26914 "properties" : {
4d47f125
TL
26915 "errors" : {
26916 "default" : 0,
7aacca6f 26917 "optional" : 1,
4d47f125
TL
26918 "type" : "boolean",
26919 "typetext" : "<boolean>"
7aacca6f 26920 },
4d47f125
TL
26921 "limit" : {
26922 "default" : 50,
26923 "description" : "Only list this amount of tasks.",
26924 "minimum" : 0,
44660702 26925 "optional" : 1,
4d47f125
TL
26926 "type" : "integer",
26927 "typetext" : "<integer> (0 - N)"
26928 },
26929 "node" : {
26930 "description" : "The cluster node name.",
26931 "format" : "pve-node",
013dc89f
DM
26932 "type" : "string",
26933 "typetext" : "<string>"
44660702 26934 },
4d47f125
TL
26935 "start" : {
26936 "default" : 0,
26937 "description" : "List tasks beginning from this offset.",
26938 "minimum" : 0,
44660702 26939 "optional" : 1,
4d47f125
TL
26940 "type" : "integer",
26941 "typetext" : "<integer> (0 - N)"
44660702 26942 },
4d47f125
TL
26943 "userfilter" : {
26944 "description" : "Only list tasks from this user.",
44660702 26945 "optional" : 1,
013dc89f
DM
26946 "type" : "string",
26947 "typetext" : "<string>"
44660702 26948 },
4d47f125
TL
26949 "vmid" : {
26950 "description" : "Only list tasks for this VM.",
26951 "format" : "pve-vmid",
44660702
DM
26952 "minimum" : 1,
26953 "optional" : 1,
4bd7df8b 26954 "type" : "integer",
4d47f125
TL
26955 "typetext" : "<integer> (1 - N)"
26956 }
26957 }
26958 },
26959 "permissions" : {
26960 "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).",
26961 "user" : "all"
26962 },
26963 "proxyto" : "node",
26964 "returns" : {
26965 "items" : {
26966 "properties" : {
26967 "endtime" : {
26968 "optional" : 1,
26969 "title" : "Endtime",
26970 "type" : "integer"
26971 },
26972 "id" : {
26973 "optional" : 1,
26974 "title" : "ID",
26975 "type" : "string"
26976 },
26977 "node" : {
26978 "optional" : 1,
26979 "title" : "Node",
26980 "type" : "string"
26981 },
26982 "pid" : {
26983 "optional" : 1,
26984 "title" : "PID",
26985 "type" : "integer"
26986 },
26987 "pstart" : {
26988 "optional" : 1,
26989 "type" : "integer"
26990 },
26991 "starttime" : {
26992 "optional" : 1,
26993 "title" : "Starttime",
26994 "type" : "integer"
26995 },
26996 "status" : {
26997 "optional" : 1,
26998 "title" : "Status",
26999 "type" : "string"
27000 },
27001 "type" : {
27002 "optional" : 1,
27003 "title" : "Type",
27004 "type" : "string"
27005 },
27006 "upid" : {
27007 "title" : "UPID",
27008 "type" : "string"
27009 },
27010 "user" : {
27011 "optional" : 1,
27012 "title" : "User",
27013 "type" : "string"
27014 }
44660702 27015 },
4d47f125
TL
27016 "type" : "object"
27017 },
27018 "links" : [
27019 {
27020 "href" : "{upid}",
27021 "rel" : "child"
27022 }
27023 ],
27024 "type" : "array"
27025 }
27026 }
27027 },
27028 "leaf" : 0,
27029 "path" : "/nodes/{node}/tasks",
27030 "text" : "tasks"
27031 },
27032 {
27033 "children" : [
27034 {
27035 "info" : {
27036 "GET" : {
27037 "description" : "Scan zfs pool list on local node.",
27038 "method" : "GET",
27039 "name" : "zfsscan",
27040 "parameters" : {
27041 "additionalProperties" : 0,
27042 "properties" : {
27043 "node" : {
27044 "description" : "The cluster node name.",
27045 "format" : "pve-node",
27046 "type" : "string",
27047 "typetext" : "<string>"
27048 }
27049 }
44660702 27050 },
4d47f125
TL
27051 "permissions" : {
27052 "check" : [
27053 "perm",
27054 "/storage",
27055 [
27056 "Datastore.Allocate"
27057 ]
27058 ]
27059 },
27060 "protected" : 1,
27061 "proxyto" : "node",
27062 "returns" : {
27063 "items" : {
27064 "properties" : {
27065 "pool" : {
27066 "description" : "ZFS pool name.",
27067 "type" : "string"
27068 }
27069 },
27070 "type" : "object"
27071 },
27072 "type" : "array"
27073 }
27074 }
27075 },
27076 "leaf" : 1,
27077 "path" : "/nodes/{node}/scan/zfs",
27078 "text" : "zfs"
27079 },
27080 {
27081 "info" : {
27082 "GET" : {
27083 "description" : "Scan remote NFS server.",
27084 "method" : "GET",
27085 "name" : "nfsscan",
27086 "parameters" : {
27087 "additionalProperties" : 0,
27088 "properties" : {
27089 "node" : {
27090 "description" : "The cluster node name.",
27091 "format" : "pve-node",
27092 "type" : "string",
27093 "typetext" : "<string>"
27094 },
27095 "server" : {
27096 "description" : "The server address (name or IP).",
27097 "format" : "pve-storage-server",
27098 "type" : "string",
27099 "typetext" : "<string>"
27100 }
27101 }
27102 },
27103 "permissions" : {
27104 "check" : [
27105 "perm",
27106 "/storage",
27107 [
27108 "Datastore.Allocate"
27109 ]
27110 ]
27111 },
27112 "protected" : 1,
27113 "proxyto" : "node",
27114 "returns" : {
27115 "items" : {
27116 "properties" : {
27117 "options" : {
27118 "description" : "NFS export options.",
27119 "type" : "string"
27120 },
27121 "path" : {
27122 "description" : "The exported path.",
27123 "type" : "string"
27124 }
27125 },
27126 "type" : "object"
27127 },
27128 "type" : "array"
27129 }
27130 }
27131 },
27132 "leaf" : 1,
27133 "path" : "/nodes/{node}/scan/nfs",
27134 "text" : "nfs"
27135 },
27136 {
27137 "info" : {
27138 "GET" : {
27139 "description" : "Scan remote CIFS server.",
27140 "method" : "GET",
27141 "name" : "cifsscan",
27142 "parameters" : {
27143 "additionalProperties" : 0,
27144 "properties" : {
27145 "domain" : {
27146 "description" : "SMB domain (Workgroup).",
27147 "optional" : 1,
27148 "type" : "string",
27149 "typetext" : "<string>"
27150 },
27151 "node" : {
27152 "description" : "The cluster node name.",
27153 "format" : "pve-node",
27154 "type" : "string",
27155 "typetext" : "<string>"
27156 },
27157 "password" : {
27158 "description" : "User password.",
27159 "optional" : 1,
27160 "type" : "string",
27161 "typetext" : "<string>"
27162 },
27163 "server" : {
27164 "description" : "The server address (name or IP).",
27165 "format" : "pve-storage-server",
27166 "type" : "string",
27167 "typetext" : "<string>"
27168 },
27169 "username" : {
27170 "description" : "User name.",
27171 "optional" : 1,
27172 "type" : "string",
27173 "typetext" : "<string>"
27174 }
27175 }
27176 },
27177 "permissions" : {
27178 "check" : [
27179 "perm",
27180 "/storage",
27181 [
27182 "Datastore.Allocate"
27183 ]
27184 ]
27185 },
27186 "protected" : 1,
27187 "proxyto" : "node",
27188 "returns" : {
27189 "items" : {
27190 "properties" : {
27191 "description" : {
27192 "description" : "Descriptive text from server.",
27193 "type" : "string"
27194 },
27195 "share" : {
27196 "description" : "The cifs share name.",
27197 "type" : "string"
27198 }
27199 },
27200 "type" : "object"
27201 },
27202 "type" : "array"
56122987 27203 }
44660702 27204 }
56122987 27205 },
4d47f125
TL
27206 "leaf" : 1,
27207 "path" : "/nodes/{node}/scan/cifs",
27208 "text" : "cifs"
27209 },
44660702 27210 {
4d47f125
TL
27211 "info" : {
27212 "GET" : {
27213 "description" : "Scan remote GlusterFS server.",
27214 "method" : "GET",
27215 "name" : "glusterfsscan",
27216 "parameters" : {
27217 "additionalProperties" : 0,
27218 "properties" : {
27219 "node" : {
27220 "description" : "The cluster node name.",
27221 "format" : "pve-node",
27222 "type" : "string",
27223 "typetext" : "<string>"
7aacca6f 27224 },
4d47f125
TL
27225 "server" : {
27226 "description" : "The server address (name or IP).",
27227 "format" : "pve-storage-server",
27228 "type" : "string",
27229 "typetext" : "<string>"
44660702 27230 }
7aacca6f 27231 }
56122987 27232 },
4d47f125
TL
27233 "permissions" : {
27234 "check" : [
27235 "perm",
27236 "/storage",
27237 [
27238 "Datastore.Allocate"
27239 ]
27240 ]
27241 },
27242 "protected" : 1,
27243 "proxyto" : "node",
27244 "returns" : {
27245 "items" : {
27246 "properties" : {
27247 "volname" : {
27248 "description" : "The volume name.",
27249 "type" : "string"
7aacca6f
DM
27250 }
27251 },
4d47f125
TL
27252 "type" : "object"
27253 },
27254 "type" : "array"
27255 }
27256 }
27257 },
27258 "leaf" : 1,
27259 "path" : "/nodes/{node}/scan/glusterfs",
27260 "text" : "glusterfs"
27261 },
27262 {
27263 "info" : {
27264 "GET" : {
27265 "description" : "Scan remote iSCSI server.",
27266 "method" : "GET",
27267 "name" : "iscsiscan",
27268 "parameters" : {
27269 "additionalProperties" : 0,
27270 "properties" : {
27271 "node" : {
27272 "description" : "The cluster node name.",
27273 "format" : "pve-node",
27274 "type" : "string",
27275 "typetext" : "<string>"
56122987 27276 },
4d47f125
TL
27277 "portal" : {
27278 "description" : "The iSCSI portal (IP or DNS name with optional port).",
27279 "format" : "pve-storage-portal-dns",
27280 "type" : "string",
27281 "typetext" : "<string>"
27282 }
27283 }
27284 },
27285 "permissions" : {
27286 "check" : [
27287 "perm",
27288 "/storage",
27289 [
27290 "Datastore.Allocate"
27291 ]
27292 ]
27293 },
27294 "protected" : 1,
27295 "proxyto" : "node",
27296 "returns" : {
27297 "items" : {
27298 "properties" : {
27299 "portal" : {
27300 "description" : "The iSCSI portal name.",
27301 "type" : "string"
7aacca6f 27302 },
4d47f125
TL
27303 "target" : {
27304 "description" : "The iSCSI target name.",
27305 "type" : "string"
27306 }
27307 },
27308 "type" : "object"
27309 },
27310 "type" : "array"
27311 }
27312 }
27313 },
27314 "leaf" : 1,
27315 "path" : "/nodes/{node}/scan/iscsi",
27316 "text" : "iscsi"
27317 },
27318 {
27319 "info" : {
27320 "GET" : {
27321 "description" : "List local LVM volume groups.",
27322 "method" : "GET",
27323 "name" : "lvmscan",
27324 "parameters" : {
27325 "additionalProperties" : 0,
27326 "properties" : {
27327 "node" : {
27328 "description" : "The cluster node name.",
27329 "format" : "pve-node",
27330 "type" : "string",
27331 "typetext" : "<string>"
56122987 27332 }
7aacca6f 27333 }
44660702 27334 },
4d47f125
TL
27335 "permissions" : {
27336 "check" : [
27337 "perm",
27338 "/storage",
27339 [
27340 "Datastore.Allocate"
27341 ]
27342 ]
27343 },
27344 "protected" : 1,
27345 "proxyto" : "node",
27346 "returns" : {
27347 "items" : {
27348 "properties" : {
27349 "vg" : {
27350 "description" : "The LVM logical volume group name.",
27351 "type" : "string"
27352 }
27353 },
27354 "type" : "object"
27355 },
27356 "type" : "array"
27357 }
56122987 27358 }
4d47f125
TL
27359 },
27360 "leaf" : 1,
27361 "path" : "/nodes/{node}/scan/lvm",
27362 "text" : "lvm"
27363 },
27364 {
44660702 27365 "info" : {
4d47f125
TL
27366 "GET" : {
27367 "description" : "List local LVM Thin Pools.",
27368 "method" : "GET",
27369 "name" : "lvmthinscan",
44660702
DM
27370 "parameters" : {
27371 "additionalProperties" : 0,
27372 "properties" : {
27373 "node" : {
27374 "description" : "The cluster node name.",
27375 "format" : "pve-node",
013dc89f
DM
27376 "type" : "string",
27377 "typetext" : "<string>"
44660702 27378 },
4d47f125
TL
27379 "vg" : {
27380 "maxLength" : 100,
27381 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
27382 "type" : "string"
44660702 27383 }
7aacca6f 27384 }
44660702
DM
27385 },
27386 "permissions" : {
4d47f125
TL
27387 "check" : [
27388 "perm",
27389 "/storage",
27390 [
27391 "Datastore.Allocate"
27392 ]
27393 ]
44660702
DM
27394 },
27395 "protected" : 1,
27396 "proxyto" : "node",
27397 "returns" : {
4d47f125
TL
27398 "items" : {
27399 "properties" : {
27400 "lv" : {
27401 "description" : "The LVM Thin Pool name (LVM logical volume).",
27402 "type" : "string"
27403 }
27404 },
27405 "type" : "object"
27406 },
27407 "type" : "array"
7aacca6f 27408 }
4d47f125
TL
27409 }
27410 },
27411 "leaf" : 1,
27412 "path" : "/nodes/{node}/scan/lvmthin",
27413 "text" : "lvmthin"
27414 },
27415 {
27416 "info" : {
44660702 27417 "GET" : {
4d47f125 27418 "description" : "List local USB devices.",
44660702 27419 "method" : "GET",
4d47f125 27420 "name" : "usbscan",
44660702
DM
27421 "parameters" : {
27422 "additionalProperties" : 0,
27423 "properties" : {
27424 "node" : {
27425 "description" : "The cluster node name.",
27426 "format" : "pve-node",
013dc89f
DM
27427 "type" : "string",
27428 "typetext" : "<string>"
44660702
DM
27429 }
27430 }
27431 },
27432 "permissions" : {
4d47f125
TL
27433 "check" : [
27434 "perm",
27435 "/",
27436 [
27437 "Sys.Modify"
27438 ]
27439 ]
44660702 27440 },
4d47f125
TL
27441 "protected" : 1,
27442 "proxyto" : "node",
44660702
DM
27443 "returns" : {
27444 "items" : {
4d47f125
TL
27445 "properties" : {
27446 "busnum" : {
27447 "type" : "integer"
27448 },
27449 "class" : {
27450 "type" : "integer"
27451 },
27452 "devnum" : {
27453 "type" : "integer"
27454 },
27455 "level" : {
27456 "type" : "integer"
27457 },
27458 "manufacturer" : {
27459 "optional" : 1,
27460 "type" : "string"
27461 },
27462 "port" : {
27463 "type" : "integer"
27464 },
27465 "prodid" : {
27466 "type" : "string"
27467 },
27468 "product" : {
27469 "optional" : 1,
27470 "type" : "string"
27471 },
27472 "serial" : {
27473 "optional" : 1,
27474 "type" : "string"
27475 },
27476 "speed" : {
27477 "type" : "string"
27478 },
27479 "usbpath" : {
27480 "optional" : 1,
27481 "type" : "string"
27482 },
27483 "vendid" : {
27484 "type" : "string"
27485 }
27486 },
44660702
DM
27487 "type" : "object"
27488 },
44660702 27489 "type" : "array"
56122987 27490 }
44660702 27491 }
56122987 27492 },
4d47f125
TL
27493 "leaf" : 1,
27494 "path" : "/nodes/{node}/scan/usb",
27495 "text" : "usb"
44660702
DM
27496 }
27497 ],
27498 "info" : {
27499 "GET" : {
4d47f125 27500 "description" : "Index of available scan methods",
44660702 27501 "method" : "GET",
4d47f125 27502 "name" : "index",
56122987 27503 "parameters" : {
7aacca6f 27504 "additionalProperties" : 0,
56122987 27505 "properties" : {
56122987
DM
27506 "node" : {
27507 "description" : "The cluster node name.",
44660702 27508 "format" : "pve-node",
013dc89f
DM
27509 "type" : "string",
27510 "typetext" : "<string>"
56122987
DM
27511 }
27512 }
27513 },
7aacca6f
DM
27514 "permissions" : {
27515 "user" : "all"
27516 },
56122987
DM
27517 "returns" : {
27518 "items" : {
27519 "properties" : {
4d47f125 27520 "method" : {
56122987
DM
27521 "type" : "string"
27522 }
27523 },
27524 "type" : "object"
27525 },
56122987
DM
27526 "links" : [
27527 {
4d47f125 27528 "href" : "{method}",
44660702 27529 "rel" : "child"
56122987 27530 }
44660702
DM
27531 ],
27532 "type" : "array"
56122987
DM
27533 }
27534 }
27535 },
44660702 27536 "leaf" : 0,
4d47f125
TL
27537 "path" : "/nodes/{node}/scan",
27538 "text" : "scan"
44660702
DM
27539 },
27540 {
56122987
DM
27541 "children" : [
27542 {
4d47f125
TL
27543 "children" : [
27544 {
27545 "children" : [
27546 {
27547 "info" : {
27548 "DELETE" : {
27549 "description" : "Delete volume",
27550 "method" : "DELETE",
27551 "name" : "delete",
27552 "parameters" : {
27553 "additionalProperties" : 0,
27554 "properties" : {
27555 "node" : {
27556 "description" : "The cluster node name.",
27557 "format" : "pve-node",
27558 "type" : "string",
27559 "typetext" : "<string>"
27560 },
27561 "storage" : {
27562 "description" : "The storage identifier.",
27563 "format" : "pve-storage-id",
27564 "optional" : 1,
27565 "type" : "string",
27566 "typetext" : "<string>"
27567 },
27568 "volume" : {
27569 "description" : "Volume identifier",
27570 "type" : "string",
27571 "typetext" : "<string>"
27572 }
27573 }
27574 },
27575 "permissions" : {
27576 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
27577 "user" : "all"
27578 },
27579 "protected" : 1,
27580 "proxyto" : "node",
27581 "returns" : {
27582 "type" : "null"
27583 }
27584 },
27585 "GET" : {
27586 "description" : "Get volume attributes",
27587 "method" : "GET",
27588 "name" : "info",
27589 "parameters" : {
27590 "additionalProperties" : 0,
27591 "properties" : {
27592 "node" : {
27593 "description" : "The cluster node name.",
27594 "format" : "pve-node",
27595 "type" : "string",
27596 "typetext" : "<string>"
27597 },
27598 "storage" : {
27599 "description" : "The storage identifier.",
27600 "format" : "pve-storage-id",
27601 "optional" : 1,
27602 "type" : "string",
27603 "typetext" : "<string>"
27604 },
27605 "volume" : {
27606 "description" : "Volume identifier",
27607 "type" : "string",
27608 "typetext" : "<string>"
27609 }
27610 }
27611 },
27612 "permissions" : {
27613 "description" : "You need read access for the volume.",
27614 "user" : "all"
27615 },
27616 "protected" : 1,
27617 "proxyto" : "node",
27618 "returns" : {
27619 "type" : "object"
27620 }
27621 },
27622 "POST" : {
27623 "description" : "Copy a volume. This is experimental code - do not use.",
27624 "method" : "POST",
27625 "name" : "copy",
27626 "parameters" : {
27627 "additionalProperties" : 0,
27628 "properties" : {
27629 "node" : {
27630 "description" : "The cluster node name.",
27631 "format" : "pve-node",
27632 "type" : "string",
27633 "typetext" : "<string>"
27634 },
27635 "storage" : {
27636 "description" : "The storage identifier.",
27637 "format" : "pve-storage-id",
27638 "optional" : 1,
27639 "type" : "string",
27640 "typetext" : "<string>"
27641 },
27642 "target" : {
27643 "description" : "Target volume identifier",
27644 "type" : "string",
27645 "typetext" : "<string>"
27646 },
27647 "target_node" : {
27648 "description" : "Target node. Default is local node.",
27649 "format" : "pve-node",
27650 "optional" : 1,
27651 "type" : "string",
27652 "typetext" : "<string>"
27653 },
27654 "volume" : {
27655 "description" : "Source volume identifier",
27656 "type" : "string",
27657 "typetext" : "<string>"
27658 }
27659 }
27660 },
27661 "protected" : 1,
27662 "proxyto" : "node",
27663 "returns" : {
27664 "type" : "string"
27665 }
27666 }
27667 },
27668 "leaf" : 1,
27669 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
27670 "text" : "{volume}"
44660702 27671 }
4d47f125
TL
27672 ],
27673 "info" : {
27674 "GET" : {
27675 "description" : "List storage content.",
27676 "method" : "GET",
27677 "name" : "index",
27678 "parameters" : {
27679 "additionalProperties" : 0,
27680 "properties" : {
27681 "content" : {
27682 "description" : "Only list content of this type.",
27683 "format" : "pve-storage-content",
27684 "optional" : 1,
27685 "type" : "string",
27686 "typetext" : "<string>"
27687 },
27688 "node" : {
27689 "description" : "The cluster node name.",
27690 "format" : "pve-node",
27691 "type" : "string",
27692 "typetext" : "<string>"
27693 },
27694 "storage" : {
27695 "description" : "The storage identifier.",
27696 "format" : "pve-storage-id",
27697 "type" : "string",
27698 "typetext" : "<string>"
27699 },
27700 "vmid" : {
27701 "description" : "Only list images for this VM",
27702 "format" : "pve-vmid",
27703 "minimum" : 1,
27704 "optional" : 1,
27705 "type" : "integer",
27706 "typetext" : "<integer> (1 - N)"
27707 }
56122987 27708 }
44660702 27709 },
4d47f125
TL
27710 "permissions" : {
27711 "check" : [
27712 "perm",
27713 "/storage/{storage}",
27714 [
27715 "Datastore.Audit",
27716 "Datastore.AllocateSpace"
27717 ],
27718 "any",
27719 1
27720 ]
7aacca6f 27721 },
4d47f125
TL
27722 "protected" : 1,
27723 "proxyto" : "node",
27724 "returns" : {
27725 "items" : {
27726 "properties" : {
27727 "format" : {
27728 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
27729 "type" : "string"
27730 },
27731 "parent" : {
27732 "description" : "Volume identifier of parent (for linked cloned).",
27733 "optional" : 1,
27734 "type" : "string"
27735 },
27736 "size" : {
27737 "description" : "Volume size in bytes.",
27738 "renderer" : "bytes",
27739 "type" : "integer"
27740 },
27741 "used" : {
27742 "description" : "Used space. Please note that most storage plugins does not report anything useful here.",
27743 "optional" : 1,
27744 "renderer" : "bytes",
27745 "type" : "integer"
27746 },
27747 "vmid" : {
27748 "description" : "Associated Owner VMID.",
27749 "optional" : 1,
27750 "type" : "integer"
27751 },
27752 "volid" : {
27753 "description" : "Volume identifier.",
27754 "type" : "string"
27755 }
27756 },
27757 "type" : "object"
44660702 27758 },
4d47f125
TL
27759 "links" : [
27760 {
27761 "href" : "{volid}",
27762 "rel" : "child"
27763 }
27764 ],
27765 "type" : "array"
27766 }
27767 },
27768 "POST" : {
27769 "description" : "Allocate disk images.",
27770 "method" : "POST",
27771 "name" : "create",
27772 "parameters" : {
27773 "additionalProperties" : 0,
27774 "properties" : {
27775 "filename" : {
27776 "description" : "The name of the file to create.",
27777 "type" : "string",
27778 "typetext" : "<string>"
27779 },
27780 "format" : {
27781 "enum" : [
27782 "raw",
27783 "qcow2",
27784 "subvol"
27785 ],
27786 "optional" : 1,
27787 "requires" : "size",
27788 "type" : "string"
27789 },
27790 "node" : {
27791 "description" : "The cluster node name.",
27792 "format" : "pve-node",
27793 "type" : "string",
27794 "typetext" : "<string>"
27795 },
27796 "size" : {
27797 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
27798 "pattern" : "\\d+[MG]?",
27799 "type" : "string"
27800 },
27801 "storage" : {
27802 "description" : "The storage identifier.",
27803 "format" : "pve-storage-id",
27804 "type" : "string",
27805 "typetext" : "<string>"
27806 },
27807 "vmid" : {
27808 "description" : "Specify owner VM",
27809 "format" : "pve-vmid",
27810 "minimum" : 1,
27811 "type" : "integer",
27812 "typetext" : "<integer> (1 - N)"
27813 }
44660702
DM
27814 }
27815 },
4d47f125
TL
27816 "permissions" : {
27817 "check" : [
27818 "perm",
27819 "/storage/{storage}",
27820 [
27821 "Datastore.AllocateSpace"
27822 ]
27823 ]
27a7acb2 27824 },
4d47f125
TL
27825 "protected" : 1,
27826 "proxyto" : "node",
27827 "returns" : {
27828 "description" : "Volume identifier",
27829 "type" : "string"
27a7acb2
DM
27830 }
27831 }
27832 },
4d47f125
TL
27833 "leaf" : 0,
27834 "path" : "/nodes/{node}/storage/{storage}/content",
27835 "text" : "content"
27836 },
27837 {
27838 "info" : {
27839 "GET" : {
27840 "description" : "Read storage status.",
27841 "method" : "GET",
27842 "name" : "read_status",
27843 "parameters" : {
27844 "additionalProperties" : 0,
27845 "properties" : {
27846 "node" : {
27847 "description" : "The cluster node name.",
27848 "format" : "pve-node",
27849 "type" : "string",
27850 "typetext" : "<string>"
27851 },
27852 "storage" : {
27853 "description" : "The storage identifier.",
27854 "format" : "pve-storage-id",
27855 "type" : "string",
27856 "typetext" : "<string>"
27857 }
27a7acb2
DM
27858 }
27859 },
4d47f125
TL
27860 "permissions" : {
27861 "check" : [
27862 "perm",
27863 "/storage/{storage}",
27864 [
27865 "Datastore.Audit",
27866 "Datastore.AllocateSpace"
27867 ],
27868 "any",
27869 1
27870 ]
7aacca6f 27871 },
4d47f125
TL
27872 "protected" : 1,
27873 "proxyto" : "node",
27874 "returns" : {
27875 "type" : "object"
56122987 27876 }
44660702
DM
27877 }
27878 },
4d47f125
TL
27879 "leaf" : 1,
27880 "path" : "/nodes/{node}/storage/{storage}/status",
27881 "text" : "status"
27882 },
27883 {
27884 "info" : {
27885 "GET" : {
27886 "description" : "Read storage RRD statistics (returns PNG).",
27887 "method" : "GET",
27888 "name" : "rrd",
27889 "parameters" : {
27890 "additionalProperties" : 0,
27891 "properties" : {
27892 "cf" : {
27893 "description" : "The RRD consolidation function",
27894 "enum" : [
27895 "AVERAGE",
27896 "MAX"
27897 ],
27898 "optional" : 1,
27899 "type" : "string"
27900 },
27901 "ds" : {
27902 "description" : "The list of datasources you want to display.",
27903 "format" : "pve-configid-list",
27904 "type" : "string",
27905 "typetext" : "<string>"
27906 },
27907 "node" : {
27908 "description" : "The cluster node name.",
27909 "format" : "pve-node",
27910 "type" : "string",
27911 "typetext" : "<string>"
27912 },
27913 "storage" : {
27914 "description" : "The storage identifier.",
27915 "format" : "pve-storage-id",
27916 "type" : "string",
27917 "typetext" : "<string>"
27918 },
27919 "timeframe" : {
27920 "description" : "Specify the time frame you are interested in.",
27921 "enum" : [
27922 "hour",
27923 "day",
27924 "week",
27925 "month",
27926 "year"
27927 ],
27928 "type" : "string"
27929 }
44660702
DM
27930 }
27931 },
4d47f125
TL
27932 "permissions" : {
27933 "check" : [
27934 "perm",
27935 "/storage/{storage}",
27936 [
27937 "Datastore.Audit",
27938 "Datastore.AllocateSpace"
27939 ],
27940 "any",
27941 1
27942 ]
27943 },
27944 "protected" : 1,
27945 "proxyto" : "node",
27946 "returns" : {
27947 "properties" : {
27948 "filename" : {
27949 "type" : "string"
27950 }
27951 },
27952 "type" : "object"
44660702
DM
27953 }
27954 }
27955 },
4d47f125
TL
27956 "leaf" : 1,
27957 "path" : "/nodes/{node}/storage/{storage}/rrd",
27958 "text" : "rrd"
27959 },
27960 {
27961 "info" : {
27962 "GET" : {
27963 "description" : "Read storage RRD statistics.",
27964 "method" : "GET",
27965 "name" : "rrddata",
27966 "parameters" : {
27967 "additionalProperties" : 0,
27968 "properties" : {
27969 "cf" : {
27970 "description" : "The RRD consolidation function",
27971 "enum" : [
27972 "AVERAGE",
27973 "MAX"
27974 ],
27975 "optional" : 1,
27976 "type" : "string"
27977 },
27978 "node" : {
27979 "description" : "The cluster node name.",
27980 "format" : "pve-node",
27981 "type" : "string",
27982 "typetext" : "<string>"
27983 },
27984 "storage" : {
27985 "description" : "The storage identifier.",
27986 "format" : "pve-storage-id",
27987 "type" : "string",
27988 "typetext" : "<string>"
27989 },
27990 "timeframe" : {
27991 "description" : "Specify the time frame you are interested in.",
27992 "enum" : [
27993 "hour",
27994 "day",
27995 "week",
27996 "month",
27997 "year"
27998 ],
27999 "type" : "string"
28000 }
56122987
DM
28001 }
28002 },
4d47f125
TL
28003 "permissions" : {
28004 "check" : [
28005 "perm",
28006 "/storage/{storage}",
28007 [
28008 "Datastore.Audit",
28009 "Datastore.AllocateSpace"
28010 ],
28011 "any",
28012 1
28013 ]
28014 },
28015 "protected" : 1,
28016 "proxyto" : "node",
28017 "returns" : {
28018 "items" : {
28019 "properties" : {},
28020 "type" : "object"
28021 },
28022 "type" : "array"
56122987 28023 }
7aacca6f 28024 }
56122987 28025 },
4d47f125
TL
28026 "leaf" : 1,
28027 "path" : "/nodes/{node}/storage/{storage}/rrddata",
28028 "text" : "rrddata"
28029 },
28030 {
28031 "info" : {
28032 "POST" : {
28033 "description" : "Upload templates and ISO images.",
28034 "method" : "POST",
28035 "name" : "upload",
28036 "parameters" : {
28037 "additionalProperties" : 0,
28038 "properties" : {
28039 "content" : {
28040 "description" : "Content type.",
28041 "format" : "pve-storage-content",
28042 "type" : "string",
28043 "typetext" : "<string>"
28044 },
28045 "filename" : {
28046 "description" : "The name of the file to create.",
28047 "type" : "string",
28048 "typetext" : "<string>"
28049 },
28050 "node" : {
28051 "description" : "The cluster node name.",
28052 "format" : "pve-node",
28053 "type" : "string",
28054 "typetext" : "<string>"
28055 },
28056 "storage" : {
28057 "description" : "The storage identifier.",
28058 "format" : "pve-storage-id",
28059 "type" : "string",
28060 "typetext" : "<string>"
28061 },
28062 "tmpfilename" : {
28063 "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.",
28064 "optional" : 1,
28065 "type" : "string",
28066 "typetext" : "<string>"
28067 }
44660702
DM
28068 }
28069 },
4d47f125
TL
28070 "permissions" : {
28071 "check" : [
28072 "perm",
28073 "/storage/{storage}",
28074 [
28075 "Datastore.AllocateTemplate"
28076 ]
28077 ]
56122987 28078 },
4d47f125
TL
28079 "protected" : 1,
28080 "returns" : {
44660702 28081 "type" : "string"
56122987 28082 }
44660702 28083 }
56122987 28084 },
4d47f125
TL
28085 "leaf" : 1,
28086 "path" : "/nodes/{node}/storage/{storage}/upload",
28087 "text" : "upload"
56122987 28088 }
4d47f125 28089 ],
56122987
DM
28090 "info" : {
28091 "GET" : {
4d47f125 28092 "description" : "",
44660702 28093 "method" : "GET",
4d47f125 28094 "name" : "diridx",
44660702
DM
28095 "parameters" : {
28096 "additionalProperties" : 0,
28097 "properties" : {
28098 "node" : {
28099 "description" : "The cluster node name.",
28100 "format" : "pve-node",
013dc89f
DM
28101 "type" : "string",
28102 "typetext" : "<string>"
4d47f125
TL
28103 },
28104 "storage" : {
28105 "description" : "The storage identifier.",
28106 "format" : "pve-storage-id",
28107 "type" : "string",
28108 "typetext" : "<string>"
44660702
DM
28109 }
28110 }
28111 },
7aacca6f
DM
28112 "permissions" : {
28113 "check" : [
28114 "perm",
4d47f125 28115 "/storage/{storage}",
7aacca6f 28116 [
4d47f125
TL
28117 "Datastore.Audit",
28118 "Datastore.AllocateSpace"
28119 ],
28120 "any",
28121 1
7aacca6f
DM
28122 ]
28123 },
56122987
DM
28124 "returns" : {
28125 "items" : {
28126 "properties" : {
4d47f125 28127 "subdir" : {
44660702 28128 "type" : "string"
56122987
DM
28129 }
28130 },
28131 "type" : "object"
7aacca6f 28132 },
4d47f125
TL
28133 "links" : [
28134 {
28135 "href" : "{subdir}",
28136 "rel" : "child"
28137 }
28138 ],
7aacca6f 28139 "type" : "array"
44660702
DM
28140 }
28141 }
28142 },
4d47f125
TL
28143 "leaf" : 0,
28144 "path" : "/nodes/{node}/storage/{storage}",
28145 "text" : "{storage}"
44660702
DM
28146 }
28147 ],
28148 "info" : {
28149 "GET" : {
4d47f125 28150 "description" : "Get status for all datastores.",
44660702
DM
28151 "method" : "GET",
28152 "name" : "index",
28153 "parameters" : {
28154 "additionalProperties" : 0,
28155 "properties" : {
4d47f125
TL
28156 "content" : {
28157 "description" : "Only list stores which support this content type.",
28158 "format" : "pve-storage-content-list",
28159 "optional" : 1,
28160 "type" : "string",
28161 "typetext" : "<string>"
28162 },
28163 "enabled" : {
28164 "default" : 0,
28165 "description" : "Only list stores which are enabled (not disabled in config).",
28166 "optional" : 1,
28167 "type" : "boolean",
28168 "typetext" : "<boolean>"
28169 },
28170 "format" : {
28171 "default" : 0,
28172 "description" : "Include information about formats",
28173 "optional" : 1,
28174 "type" : "boolean",
28175 "typetext" : "<boolean>"
28176 },
44660702
DM
28177 "node" : {
28178 "description" : "The cluster node name.",
28179 "format" : "pve-node",
013dc89f
DM
28180 "type" : "string",
28181 "typetext" : "<string>"
4d47f125
TL
28182 },
28183 "storage" : {
28184 "description" : "Only list status for specified storage",
28185 "format" : "pve-storage-id",
28186 "optional" : 1,
28187 "type" : "string",
28188 "typetext" : "<string>"
28189 },
28190 "target" : {
28191 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
28192 "format" : "pve-node",
28193 "optional" : 1,
28194 "type" : "string",
28195 "typetext" : "<string>"
44660702
DM
28196 }
28197 }
28198 },
4d47f125
TL
28199 "permissions" : {
28200 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
28201 "user" : "all"
28202 },
28203 "protected" : 1,
28204 "proxyto" : "node",
28205 "returns" : {
28206 "items" : {
28207 "properties" : {
28208 "active" : {
28209 "description" : "Set when storage is accessible.",
28210 "optional" : 1,
28211 "type" : "boolean"
28212 },
28213 "avail" : {
28214 "description" : "Available storage space in bytes.",
28215 "optional" : 1,
28216 "renderer" : "bytes",
28217 "type" : "integer"
28218 },
28219 "content" : {
28220 "description" : "Allowed storage content types.",
28221 "format" : "pve-storage-content-list",
28222 "type" : "string"
28223 },
28224 "enabled" : {
28225 "description" : "Set when storage is enabled (not disabled).",
28226 "optional" : 1,
28227 "type" : "boolean"
28228 },
28229 "shared" : {
28230 "description" : "Shared flag from storage configuration.",
28231 "optional" : 1,
28232 "type" : "boolean"
28233 },
28234 "storage" : {
28235 "description" : "The storage identifier.",
28236 "format" : "pve-storage-id",
28237 "type" : "string"
28238 },
28239 "total" : {
28240 "description" : "Total storage space in bytes.",
28241 "optional" : 1,
28242 "renderer" : "bytes",
28243 "type" : "integer"
28244 },
28245 "type" : {
28246 "description" : "Storage type.",
28247 "type" : "string"
28248 },
28249 "used" : {
28250 "description" : "Used storage space in bytes.",
28251 "optional" : 1,
28252 "renderer" : "bytes",
28253 "type" : "integer"
28254 },
28255 "used_fraction" : {
28256 "description" : "Used fraction (used/total).",
28257 "optional" : 1,
28258 "renderer" : "fraction_as_percentage",
28259 "type" : "number"
7aacca6f 28260 }
4d47f125
TL
28261 },
28262 "type" : "object"
28263 },
28264 "links" : [
28265 {
28266 "href" : "{storage}",
28267 "rel" : "child"
28268 }
28269 ],
28270 "type" : "array"
28271 }
28272 }
28273 },
28274 "leaf" : 0,
28275 "path" : "/nodes/{node}/storage",
28276 "text" : "storage"
28277 },
28278 {
28279 "children" : [
28280 {
28281 "info" : {
28282 "GET" : {
28283 "description" : "List LVM Volume Groups",
28284 "method" : "GET",
28285 "name" : "index",
28286 "parameters" : {
28287 "additionalProperties" : 0,
28288 "properties" : {
28289 "node" : {
28290 "description" : "The cluster node name.",
28291 "format" : "pve-node",
28292 "type" : "string",
28293 "typetext" : "<string>"
28294 }
28295 }
28296 },
28297 "permissions" : {
28298 "check" : [
28299 "perm",
28300 "/",
28301 [
28302 "Sys.Audit",
28303 "Datastore.Audit"
28304 ],
28305 "any",
28306 1
28307 ]
28308 },
28309 "protected" : 1,
28310 "proxyto" : "node",
28311 "returns" : {
28312 "properties" : {
28313 "children" : {
44660702
DM
28314 "items" : {
28315 "properties" : {
4d47f125
TL
28316 "children" : {
28317 "description" : "The underlying physical volumes",
28318 "items" : {
28319 "properties" : {
28320 "free" : {
28321 "description" : "The free bytes in the physical volume",
28322 "type" : "integer"
28323 },
28324 "leaf" : {
28325 "type" : "boolean"
28326 },
28327 "name" : {
28328 "description" : "The name of the physical volume",
28329 "type" : "string"
28330 },
28331 "size" : {
28332 "description" : "The size of the physical volume in bytes",
28333 "type" : "integer"
28334 }
28335 },
28336 "type" : "object"
28337 },
28338 "optional" : 1,
28339 "type" : "array"
28340 },
28341 "free" : {
28342 "description" : "The free bytes in the volume group",
28343 "type" : "integer"
28344 },
28345 "leaf" : {
28346 "type" : "boolean"
28347 },
28348 "name" : {
28349 "description" : "The name of the volume group",
44660702 28350 "type" : "string"
4d47f125
TL
28351 },
28352 "size" : {
28353 "description" : "The size of the volume group in bytes",
28354 "type" : "integer"
44660702
DM
28355 }
28356 },
28357 "type" : "object"
28358 },
44660702 28359 "type" : "array"
4d47f125
TL
28360 },
28361 "leaf" : {
28362 "type" : "boolean"
44660702
DM
28363 }
28364 },
4d47f125
TL
28365 "type" : "object"
28366 }
28367 },
28368 "POST" : {
28369 "description" : "Create an LVM Volume Group",
28370 "method" : "POST",
28371 "name" : "create",
28372 "parameters" : {
28373 "additionalProperties" : 0,
28374 "properties" : {
28375 "add_storage" : {
28376 "default" : 0,
28377 "description" : "Configure storage using the Volume Group",
28378 "optional" : 1,
28379 "type" : "boolean",
28380 "typetext" : "<boolean>"
44660702 28381 },
4d47f125
TL
28382 "device" : {
28383 "description" : "The block device you want to create the volume group on",
28384 "type" : "string",
28385 "typetext" : "<string>"
44660702 28386 },
4d47f125
TL
28387 "name" : {
28388 "description" : "The storage identifier.",
28389 "format" : "pve-storage-id",
28390 "type" : "string",
28391 "typetext" : "<string>"
28392 },
28393 "node" : {
28394 "description" : "The cluster node name.",
28395 "format" : "pve-node",
28396 "type" : "string",
28397 "typetext" : "<string>"
28398 }
28399 }
28400 },
28401 "permissions" : {
28402 "check" : [
28403 "perm",
28404 "/",
28405 [
28406 "Sys.Modify",
28407 "Datastore.Allocate"
28408 ]
28409 ]
28410 },
28411 "protected" : 1,
28412 "proxyto" : "node",
28413 "returns" : {
28414 "type" : "string"
28415 }
28416 }
28417 },
28418 "leaf" : 1,
28419 "path" : "/nodes/{node}/disks/lvm",
28420 "text" : "lvm"
28421 },
28422 {
28423 "info" : {
28424 "GET" : {
28425 "description" : "List LVM thinpools",
28426 "method" : "GET",
28427 "name" : "index",
28428 "parameters" : {
28429 "additionalProperties" : 0,
28430 "properties" : {
28431 "node" : {
28432 "description" : "The cluster node name.",
28433 "format" : "pve-node",
28434 "type" : "string",
28435 "typetext" : "<string>"
44660702
DM
28436 }
28437 }
28438 },
4d47f125
TL
28439 "permissions" : {
28440 "check" : [
28441 "perm",
28442 "/",
28443 [
28444 "Sys.Audit",
28445 "Datastore.Audit"
28446 ],
28447 "any",
28448 1
28449 ]
28450 },
28451 "protected" : 1,
28452 "proxyto" : "node",
28453 "returns" : {
28454 "items" : {
28455 "properties" : {
28456 "lv" : {
28457 "description" : "The name of the thinpool.",
28458 "type" : "string"
28459 },
28460 "lv_size" : {
28461 "description" : "The size of the thinpool in bytes.",
28462 "type" : "integer"
28463 },
28464 "metadata_size" : {
28465 "description" : "The size of the metadata lv in bytes.",
28466 "type" : "integer"
28467 },
28468 "metadata_used" : {
28469 "description" : "The used bytes of the metadata lv.",
28470 "type" : "integer"
28471 },
28472 "used" : {
28473 "description" : "The used bytes of the thinpool.",
28474 "type" : "integer"
44660702
DM
28475 }
28476 },
4d47f125
TL
28477 "type" : "object"
28478 },
28479 "type" : "array"
28480 }
28481 },
28482 "POST" : {
28483 "description" : "Create an LVM thinpool",
28484 "method" : "POST",
28485 "name" : "create",
28486 "parameters" : {
28487 "additionalProperties" : 0,
28488 "properties" : {
28489 "add_storage" : {
28490 "default" : 0,
28491 "description" : "Configure storage using the thinpool.",
28492 "optional" : 1,
28493 "type" : "boolean",
28494 "typetext" : "<boolean>"
56122987 28495 },
4d47f125
TL
28496 "device" : {
28497 "description" : "The block device you want to create the thinpool on.",
28498 "type" : "string",
28499 "typetext" : "<string>"
28500 },
28501 "name" : {
28502 "description" : "The storage identifier.",
28503 "format" : "pve-storage-id",
28504 "type" : "string",
28505 "typetext" : "<string>"
28506 },
28507 "node" : {
28508 "description" : "The cluster node name.",
28509 "format" : "pve-node",
28510 "type" : "string",
28511 "typetext" : "<string>"
44660702 28512 }
56122987
DM
28513 }
28514 },
4d47f125
TL
28515 "permissions" : {
28516 "check" : [
28517 "perm",
28518 "/",
28519 [
28520 "Sys.Modify",
28521 "Datastore.Allocate"
28522 ]
28523 ]
28524 },
28525 "protected" : 1,
28526 "proxyto" : "node",
28527 "returns" : {
28528 "type" : "string"
28529 }
28530 }
28531 },
28532 "leaf" : 1,
28533 "path" : "/nodes/{node}/disks/lvmthin",
28534 "text" : "lvmthin"
28535 },
28536 {
28537 "info" : {
28538 "GET" : {
28539 "description" : "PVE Managed Directory storages.",
28540 "method" : "GET",
28541 "name" : "index",
28542 "parameters" : {
28543 "additionalProperties" : 0,
28544 "properties" : {
28545 "node" : {
28546 "description" : "The cluster node name.",
28547 "format" : "pve-node",
28548 "type" : "string",
28549 "typetext" : "<string>"
28550 }
28551 }
28552 },
28553 "permissions" : {
28554 "check" : [
28555 "perm",
28556 "/",
28557 [
28558 "Sys.Audit",
28559 "Datastore.Audit"
28560 ],
28561 "any",
28562 1
28563 ]
28564 },
28565 "protected" : 1,
28566 "proxyto" : "node",
28567 "returns" : {
28568 "items" : {
28569 "properties" : {
28570 "device" : {
28571 "description" : "The mounted device.",
28572 "type" : "string"
28573 },
28574 "options" : {
28575 "description" : "The mount options.",
28576 "type" : "string"
28577 },
28578 "path" : {
28579 "description" : "The mount path.",
28580 "type" : "string"
28581 },
28582 "type" : {
28583 "description" : "The filesystem type.",
28584 "type" : "string"
28585 },
28586 "unitfile" : {
28587 "description" : "The path of the mount unit.",
28588 "type" : "string"
44660702 28589 }
56122987 28590 },
4d47f125
TL
28591 "type" : "object"
28592 },
28593 "type" : "array"
28594 }
28595 },
28596 "POST" : {
28597 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
28598 "method" : "POST",
28599 "name" : "create",
28600 "parameters" : {
28601 "additionalProperties" : 0,
28602 "properties" : {
28603 "add_storage" : {
28604 "default" : 0,
28605 "description" : "Configure storage using the directory.",
28606 "optional" : 1,
28607 "type" : "boolean",
28608 "typetext" : "<boolean>"
28609 },
28610 "device" : {
28611 "description" : "The block device you want to create the filesystem on.",
28612 "type" : "string",
28613 "typetext" : "<string>"
28614 },
28615 "filesystem" : {
28616 "default" : "ext4",
28617 "description" : "The desired filesystem.",
28618 "enum" : [
28619 "ext4",
28620 "xfs"
28621 ],
28622 "optional" : 1,
28623 "type" : "string"
56122987 28624 },
4d47f125
TL
28625 "name" : {
28626 "description" : "The storage identifier.",
28627 "format" : "pve-storage-id",
28628 "type" : "string",
28629 "typetext" : "<string>"
28630 },
28631 "node" : {
28632 "description" : "The cluster node name.",
28633 "format" : "pve-node",
28634 "type" : "string",
28635 "typetext" : "<string>"
7aacca6f 28636 }
56122987
DM
28637 }
28638 },
4d47f125
TL
28639 "permissions" : {
28640 "check" : [
28641 "perm",
28642 "/",
28643 [
28644 "Sys.Modify",
28645 "Datastore.Allocate"
28646 ]
28647 ]
28648 },
28649 "protected" : 1,
28650 "proxyto" : "node",
28651 "returns" : {
28652 "type" : "string"
28653 }
28654 }
28655 },
28656 "leaf" : 1,
28657 "path" : "/nodes/{node}/disks/directory",
28658 "text" : "directory"
28659 },
28660 {
28661 "children" : [
56122987 28662 {
56122987
DM
28663 "info" : {
28664 "GET" : {
4d47f125 28665 "description" : "Get details about a zpool.",
44660702 28666 "method" : "GET",
4d47f125 28667 "name" : "detail",
56122987 28668 "parameters" : {
44660702 28669 "additionalProperties" : 0,
56122987 28670 "properties" : {
4d47f125
TL
28671 "name" : {
28672 "description" : "The storage identifier.",
28673 "format" : "pve-storage-id",
28674 "type" : "string",
28675 "typetext" : "<string>"
44660702 28676 },
7aacca6f 28677 "node" : {
7aacca6f 28678 "description" : "The cluster node name.",
44660702 28679 "format" : "pve-node",
013dc89f
DM
28680 "type" : "string",
28681 "typetext" : "<string>"
56122987 28682 }
44660702 28683 }
7aacca6f 28684 },
7aacca6f
DM
28685 "permissions" : {
28686 "check" : [
28687 "perm",
4d47f125 28688 "/",
7aacca6f 28689 [
4d47f125
TL
28690 "Sys.Audit",
28691 "Datastore.Audit"
7aacca6f
DM
28692 ],
28693 "any",
28694 1
28695 ]
28696 },
44660702
DM
28697 "protected" : 1,
28698 "proxyto" : "node",
7aacca6f 28699 "returns" : {
56122987 28700 "properties" : {
4d47f125
TL
28701 "action" : {
28702 "description" : "Information about the recommended action to fix the state.",
28703 "optional" : 1,
28704 "type" : "string"
56122987 28705 },
4d47f125
TL
28706 "children" : {
28707 "description" : "The tree of the vdevs. Depending on the configuration of the zpool, they can be nested.",
28708 "items" : {
28709 "properties" : {
28710 "cksum" : {
28711 "type" : "number"
28712 },
28713 "msg" : {
28714 "description" : "An optional message about the vdev.",
28715 "type" : "string"
28716 },
28717 "name" : {
28718 "description" : "The name of the vdev.",
28719 "type" : "string"
28720 },
28721 "read" : {
28722 "type" : "number"
28723 },
28724 "state" : {
28725 "description" : "The state of the vdev.",
28726 "type" : "string"
28727 },
28728 "write" : {
28729 "type" : "number"
28730 }
28731 },
28732 "type" : "object"
28733 },
28734 "type" : "array"
56122987 28735 },
4d47f125
TL
28736 "name" : {
28737 "description" : "The name of the zpool.",
28738 "type" : "string"
44660702 28739 },
4d47f125
TL
28740 "scan" : {
28741 "description" : "Information about the errors on the zpool.",
28742 "type" : "string"
44660702 28743 },
4d47f125
TL
28744 "state" : {
28745 "description" : "The state of the zpool.",
28746 "type" : "string"
28747 },
28748 "status" : {
28749 "description" : "Information about the state of the zpool.",
44660702 28750 "optional" : 1,
4d47f125 28751 "type" : "string"
56122987 28752 }
4d47f125
TL
28753 },
28754 "type" : "object"
44660702
DM
28755 }
28756 }
28757 },
28758 "leaf" : 1,
4d47f125
TL
28759 "path" : "/nodes/{node}/disks/zfs/{name}",
28760 "text" : "{name}"
44660702
DM
28761 }
28762 ],
28763 "info" : {
28764 "GET" : {
4d47f125 28765 "description" : "List Zpools.",
44660702 28766 "method" : "GET",
4d47f125 28767 "name" : "index",
44660702
DM
28768 "parameters" : {
28769 "additionalProperties" : 0,
28770 "properties" : {
28771 "node" : {
28772 "description" : "The cluster node name.",
28773 "format" : "pve-node",
013dc89f
DM
28774 "type" : "string",
28775 "typetext" : "<string>"
4d47f125
TL
28776 }
28777 }
28778 },
28779 "permissions" : {
28780 "check" : [
28781 "perm",
28782 "/",
28783 [
28784 "Sys.Audit",
28785 "Datastore.Audit"
28786 ],
28787 "any",
28788 1
28789 ]
28790 },
28791 "protected" : 1,
28792 "proxyto" : "node",
28793 "returns" : {
28794 "items" : {
28795 "properties" : {
28796 "alloc" : {
28797 "description" : "",
28798 "type" : "integer"
28799 },
28800 "dedup" : {
28801 "description" : "",
28802 "type" : "number"
28803 },
28804 "frag" : {
28805 "description" : "",
28806 "type" : "integer"
28807 },
28808 "free" : {
28809 "description" : "",
28810 "type" : "integer"
28811 },
28812 "health" : {
28813 "description" : "",
28814 "type" : "string"
28815 },
28816 "name" : {
28817 "description" : "",
28818 "type" : "string"
28819 },
28820 "size" : {
28821 "description" : "",
28822 "type" : "integer"
28823 }
28824 },
28825 "type" : "object"
28826 },
28827 "links" : [
28828 {
28829 "href" : "{name}",
28830 "rel" : "child"
28831 }
28832 ],
28833 "type" : "array"
28834 }
28835 },
28836 "POST" : {
28837 "description" : "Create a ZFS pool.",
28838 "method" : "POST",
28839 "name" : "create",
28840 "parameters" : {
28841 "additionalProperties" : 0,
28842 "properties" : {
28843 "add_storage" : {
28844 "default" : 0,
28845 "description" : "Configure storage using the zpool.",
28846 "optional" : 1,
28847 "type" : "boolean",
28848 "typetext" : "<boolean>"
28849 },
28850 "ashift" : {
28851 "default" : 12,
28852 "description" : "Pool sector size exponent.",
28853 "maximum" : 16,
28854 "minimum" : 9,
28855 "optional" : 1,
28856 "type" : "integer",
28857 "typetext" : "<integer> (9 - 16)"
28858 },
28859 "compression" : {
28860 "default" : "on",
28861 "description" : "The compression algorithm to use.",
28862 "enum" : [
28863 "on",
28864 "off",
28865 "gzip",
28866 "lz4",
28867 "lzjb",
28868 "zle"
28869 ],
28870 "optional" : 1,
28871 "type" : "string"
28872 },
28873 "devices" : {
28874 "description" : "The block devices you want to create the zpool on.",
28875 "format" : "string-list",
28876 "type" : "string",
28877 "typetext" : "<string>"
44660702 28878 },
4d47f125 28879 "name" : {
44660702
DM
28880 "description" : "The storage identifier.",
28881 "format" : "pve-storage-id",
013dc89f
DM
28882 "type" : "string",
28883 "typetext" : "<string>"
4d47f125
TL
28884 },
28885 "node" : {
28886 "description" : "The cluster node name.",
28887 "format" : "pve-node",
28888 "type" : "string",
28889 "typetext" : "<string>"
28890 },
28891 "raidlevel" : {
28892 "description" : "The RAID level to use.",
28893 "enum" : [
28894 "single",
28895 "mirror",
28896 "raid10",
28897 "raidz",
28898 "raidz2",
28899 "raidz3"
28900 ],
28901 "type" : "string"
56122987
DM
28902 }
28903 }
44660702
DM
28904 },
28905 "permissions" : {
28906 "check" : [
28907 "perm",
4d47f125 28908 "/",
44660702 28909 [
4d47f125
TL
28910 "Sys.Modify",
28911 "Datastore.Allocate"
28912 ]
44660702
DM
28913 ]
28914 },
4d47f125
TL
28915 "protected" : 1,
28916 "proxyto" : "node",
44660702 28917 "returns" : {
4d47f125 28918 "type" : "string"
56122987
DM
28919 }
28920 }
44660702
DM
28921 },
28922 "leaf" : 0,
4d47f125
TL
28923 "path" : "/nodes/{node}/disks/zfs",
28924 "text" : "zfs"
28925 },
2c0dde61
DM
28926 {
28927 "info" : {
28928 "GET" : {
28929 "description" : "List local disks.",
28930 "method" : "GET",
28931 "name" : "list",
28932 "parameters" : {
28933 "additionalProperties" : 0,
28934 "properties" : {
28935 "node" : {
28936 "description" : "The cluster node name.",
28937 "format" : "pve-node",
013dc89f
DM
28938 "type" : "string",
28939 "typetext" : "<string>"
4d47f125
TL
28940 },
28941 "skipsmart" : {
28942 "default" : 0,
28943 "description" : "Skip smart checks.",
28944 "optional" : 1,
28945 "type" : "boolean",
28946 "typetext" : "<boolean>"
28947 },
28948 "type" : {
28949 "description" : "Only list specific types of disks.",
28950 "enum" : [
28951 "unused",
28952 "journal_disks"
28953 ],
28954 "optional" : 1,
28955 "type" : "string"
2c0dde61
DM
28956 }
28957 }
28958 },
28959 "permissions" : {
28960 "check" : [
28961 "perm",
28962 "/",
28963 [
28964 "Sys.Audit",
28965 "Datastore.Audit"
28966 ],
28967 "any",
28968 1
28969 ]
28970 },
28971 "protected" : 1,
28972 "proxyto" : "node",
28973 "returns" : {
28974 "items" : {
28975 "properties" : {
28976 "devpath" : {
28977 "description" : "The device path",
28978 "type" : "string"
28979 },
28980 "gpt" : {
28981 "type" : "boolean"
28982 },
28983 "health" : {
28984 "optional" : 1,
28985 "type" : "string"
28986 },
28987 "model" : {
28988 "optional" : 1,
28989 "type" : "string"
28990 },
28991 "osdid" : {
28992 "type" : "integer"
28993 },
28994 "serial" : {
28995 "optional" : 1,
28996 "type" : "string"
28997 },
28998 "size" : {
28999 "type" : "integer"
29000 },
29001 "used" : {
29002 "optional" : 1,
29003 "type" : "string"
29004 },
29005 "vendor" : {
29006 "optional" : 1,
29007 "type" : "string"
29008 },
29009 "wwn" : {
29010 "optional" : 1,
29011 "type" : "string"
29012 }
29013 },
29014 "type" : "object"
29015 },
29016 "type" : "array"
29017 }
29018 }
29019 },
29020 "leaf" : 1,
29021 "path" : "/nodes/{node}/disks/list",
29022 "text" : "list"
29023 },
29024 {
29025 "info" : {
29026 "GET" : {
29027 "description" : "Get SMART Health of a disk.",
29028 "method" : "GET",
29029 "name" : "smart",
29030 "parameters" : {
29031 "additionalProperties" : 0,
29032 "properties" : {
29033 "disk" : {
29034 "description" : "Block device name",
29035 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
29036 "type" : "string"
29037 },
29038 "healthonly" : {
29039 "description" : "If true returns only the health status",
29040 "optional" : 1,
013dc89f
DM
29041 "type" : "boolean",
29042 "typetext" : "<boolean>"
2c0dde61
DM
29043 },
29044 "node" : {
29045 "description" : "The cluster node name.",
29046 "format" : "pve-node",
013dc89f
DM
29047 "type" : "string",
29048 "typetext" : "<string>"
2c0dde61
DM
29049 }
29050 }
29051 },
29052 "permissions" : {
29053 "check" : [
29054 "perm",
29055 "/",
29056 [
29057 "Sys.Audit",
29058 "Datastore.Audit"
29059 ],
29060 "any",
29061 1
29062 ]
29063 },
29064 "protected" : 1,
29065 "proxyto" : "node",
29066 "returns" : {
de0983cb
DM
29067 "properties" : {
29068 "attributes" : {
29069 "optional" : 1,
29070 "type" : "array"
29071 },
29072 "health" : {
29073 "type" : "string"
29074 },
29075 "text" : {
29076 "optional" : 1,
29077 "type" : "string"
29078 },
29079 "type" : {
29080 "optional" : 1,
29081 "type" : "string"
29082 }
29083 },
2c0dde61
DM
29084 "type" : "object"
29085 }
29086 }
29087 },
29088 "leaf" : 1,
29089 "path" : "/nodes/{node}/disks/smart",
29090 "text" : "smart"
29091 },
29092 {
29093 "info" : {
29094 "POST" : {
29095 "description" : "Initialize Disk with GPT",
29096 "method" : "POST",
29097 "name" : "initgpt",
29098 "parameters" : {
29099 "additionalProperties" : 0,
29100 "properties" : {
29101 "disk" : {
29102 "description" : "Block device name",
29103 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
29104 "type" : "string"
29105 },
29106 "node" : {
29107 "description" : "The cluster node name.",
29108 "format" : "pve-node",
013dc89f
DM
29109 "type" : "string",
29110 "typetext" : "<string>"
2c0dde61
DM
29111 },
29112 "uuid" : {
29113 "description" : "UUID for the GPT table",
29114 "maxLength" : 36,
29115 "optional" : 1,
29116 "pattern" : "[a-fA-F0-9\\-]+",
29117 "type" : "string"
29118 }
29119 }
29120 },
29121 "permissions" : {
29122 "check" : [
29123 "perm",
29124 "/",
29125 [
29126 "Sys.Modify"
29127 ]
29128 ]
29129 },
29130 "protected" : 1,
29131 "proxyto" : "node",
29132 "returns" : {
29133 "type" : "string"
29134 }
29135 }
29136 },
29137 "leaf" : 1,
29138 "path" : "/nodes/{node}/disks/initgpt",
29139 "text" : "initgpt"
29140 }
29141 ],
29142 "info" : {
29143 "GET" : {
29144 "description" : "Node index.",
29145 "method" : "GET",
29146 "name" : "index",
29147 "parameters" : {
29148 "additionalProperties" : 0,
29149 "properties" : {
29150 "node" : {
29151 "description" : "The cluster node name.",
29152 "format" : "pve-node",
013dc89f
DM
29153 "type" : "string",
29154 "typetext" : "<string>"
2c0dde61
DM
29155 }
29156 }
29157 },
29158 "permissions" : {
29159 "user" : "all"
29160 },
29161 "proxyto" : "node",
29162 "returns" : {
29163 "items" : {
29164 "properties" : {},
29165 "type" : "object"
29166 },
29167 "links" : [
29168 {
29169 "href" : "{name}",
29170 "rel" : "child"
29171 }
29172 ],
29173 "type" : "array"
29174 }
29175 }
29176 },
29177 "leaf" : 0,
29178 "path" : "/nodes/{node}/disks",
29179 "text" : "disks"
29180 },
56122987 29181 {
56122987
DM
29182 "children" : [
29183 {
29184 "info" : {
44660702
DM
29185 "GET" : {
29186 "description" : "List available updates.",
29187 "method" : "GET",
29188 "name" : "list_updates",
29189 "parameters" : {
29190 "additionalProperties" : 0,
29191 "properties" : {
29192 "node" : {
29193 "description" : "The cluster node name.",
29194 "format" : "pve-node",
013dc89f
DM
29195 "type" : "string",
29196 "typetext" : "<string>"
44660702
DM
29197 }
29198 }
7aacca6f
DM
29199 },
29200 "permissions" : {
29201 "check" : [
29202 "perm",
29203 "/nodes/{node}",
29204 [
29205 "Sys.Modify"
29206 ]
29207 ]
29208 },
44660702 29209 "protected" : 1,
56122987 29210 "proxyto" : "node",
44660702
DM
29211 "returns" : {
29212 "items" : {
29213 "properties" : {},
29214 "type" : "object"
29215 },
29216 "type" : "array"
29217 }
29218 },
29219 "POST" : {
29220 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
29221 "method" : "POST",
29222 "name" : "update_database",
56122987
DM
29223 "parameters" : {
29224 "additionalProperties" : 0,
29225 "properties" : {
44660702
DM
29226 "node" : {
29227 "description" : "The cluster node name.",
29228 "format" : "pve-node",
013dc89f
DM
29229 "type" : "string",
29230 "typetext" : "<string>"
44660702 29231 },
56122987 29232 "notify" : {
56122987 29233 "default" : 0,
44660702
DM
29234 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
29235 "optional" : 1,
013dc89f
DM
29236 "type" : "boolean",
29237 "typetext" : "<boolean>"
56122987
DM
29238 },
29239 "quiet" : {
56122987 29240 "default" : 0,
44660702 29241 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 29242 "optional" : 1,
013dc89f
DM
29243 "type" : "boolean",
29244 "typetext" : "<boolean>"
56122987 29245 }
7aacca6f
DM
29246 }
29247 },
29248 "permissions" : {
29249 "check" : [
29250 "perm",
29251 "/nodes/{node}",
29252 [
29253 "Sys.Modify"
29254 ]
29255 ]
29256 },
44660702
DM
29257 "protected" : 1,
29258 "proxyto" : "node",
29259 "returns" : {
29260 "type" : "string"
29261 }
56122987
DM
29262 }
29263 },
7aacca6f 29264 "leaf" : 1,
44660702
DM
29265 "path" : "/nodes/{node}/apt/update",
29266 "text" : "update"
56122987
DM
29267 },
29268 {
56122987
DM
29269 "info" : {
29270 "GET" : {
44660702 29271 "description" : "Get package changelogs.",
56122987 29272 "method" : "GET",
7aacca6f 29273 "name" : "changelog",
56122987 29274 "parameters" : {
44660702 29275 "additionalProperties" : 0,
56122987
DM
29276 "properties" : {
29277 "name" : {
29278 "description" : "Package name.",
013dc89f
DM
29279 "type" : "string",
29280 "typetext" : "<string>"
56122987 29281 },
44660702
DM
29282 "node" : {
29283 "description" : "The cluster node name.",
29284 "format" : "pve-node",
013dc89f
DM
29285 "type" : "string",
29286 "typetext" : "<string>"
44660702 29287 },
56122987 29288 "version" : {
7aacca6f 29289 "description" : "Package version.",
44660702 29290 "optional" : 1,
013dc89f
DM
29291 "type" : "string",
29292 "typetext" : "<string>"
56122987 29293 }
44660702 29294 }
56122987 29295 },
44660702
DM
29296 "permissions" : {
29297 "check" : [
29298 "perm",
29299 "/nodes/{node}",
29300 [
29301 "Sys.Modify"
29302 ]
29303 ]
29304 },
29305 "proxyto" : "node",
29306 "returns" : {
29307 "type" : "string"
29308 }
56122987
DM
29309 }
29310 },
44660702
DM
29311 "leaf" : 1,
29312 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 29313 "text" : "changelog"
56122987
DM
29314 },
29315 {
56122987
DM
29316 "info" : {
29317 "GET" : {
44660702
DM
29318 "description" : "Get package information for important Proxmox packages.",
29319 "method" : "GET",
7aacca6f
DM
29320 "name" : "versions",
29321 "parameters" : {
44660702 29322 "additionalProperties" : 0,
7aacca6f
DM
29323 "properties" : {
29324 "node" : {
44660702 29325 "description" : "The cluster node name.",
7aacca6f 29326 "format" : "pve-node",
013dc89f
DM
29327 "type" : "string",
29328 "typetext" : "<string>"
7aacca6f 29329 }
44660702 29330 }
7aacca6f 29331 },
56122987
DM
29332 "permissions" : {
29333 "check" : [
29334 "perm",
29335 "/nodes/{node}",
29336 [
29337 "Sys.Audit"
29338 ]
29339 ]
29340 },
7aacca6f 29341 "proxyto" : "node",
56122987
DM
29342 "returns" : {
29343 "items" : {
7aacca6f
DM
29344 "properties" : {},
29345 "type" : "object"
44660702
DM
29346 },
29347 "type" : "array"
56122987
DM
29348 }
29349 }
29350 },
44660702 29351 "leaf" : 1,
7aacca6f 29352 "path" : "/nodes/{node}/apt/versions",
44660702 29353 "text" : "versions"
56122987
DM
29354 }
29355 ],
56122987
DM
29356 "info" : {
29357 "GET" : {
44660702 29358 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 29359 "method" : "GET",
44660702 29360 "name" : "index",
7aacca6f
DM
29361 "parameters" : {
29362 "additionalProperties" : 0,
29363 "properties" : {
29364 "node" : {
44660702 29365 "description" : "The cluster node name.",
7aacca6f 29366 "format" : "pve-node",
013dc89f
DM
29367 "type" : "string",
29368 "typetext" : "<string>"
7aacca6f
DM
29369 }
29370 }
29371 },
7aacca6f
DM
29372 "permissions" : {
29373 "user" : "all"
29374 },
44660702
DM
29375 "returns" : {
29376 "items" : {
29377 "properties" : {
29378 "id" : {
29379 "type" : "string"
29380 }
29381 },
29382 "type" : "object"
29383 },
29384 "links" : [
29385 {
29386 "href" : "{id}",
29387 "rel" : "child"
29388 }
29389 ],
29390 "type" : "array"
29391 }
56122987 29392 }
7aacca6f 29393 },
44660702 29394 "leaf" : 0,
7aacca6f 29395 "path" : "/nodes/{node}/apt",
44660702 29396 "text" : "apt"
56122987
DM
29397 },
29398 {
56122987
DM
29399 "children" : [
29400 {
29401 "children" : [
29402 {
56122987
DM
29403 "info" : {
29404 "DELETE" : {
44660702 29405 "description" : "Delete rule.",
7aacca6f 29406 "method" : "DELETE",
44660702 29407 "name" : "delete_rule",
56122987
DM
29408 "parameters" : {
29409 "additionalProperties" : 0,
29410 "properties" : {
56122987
DM
29411 "digest" : {
29412 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 29413 "maxLength" : 40,
56122987 29414 "optional" : 1,
013dc89f
DM
29415 "type" : "string",
29416 "typetext" : "<string>"
56122987 29417 },
44660702
DM
29418 "node" : {
29419 "description" : "The cluster node name.",
29420 "format" : "pve-node",
013dc89f
DM
29421 "type" : "string",
29422 "typetext" : "<string>"
44660702 29423 },
7aacca6f 29424 "pos" : {
7aacca6f 29425 "description" : "Update rule at position <pos>.",
44660702
DM
29426 "minimum" : 0,
29427 "optional" : 1,
4bd7df8b 29428 "type" : "integer",
013dc89f 29429 "typetext" : "<integer> (0 - N)"
56122987
DM
29430 }
29431 }
29432 },
44660702
DM
29433 "permissions" : {
29434 "check" : [
29435 "perm",
29436 "/nodes/{node}",
29437 [
29438 "Sys.Modify"
29439 ]
29440 ]
29441 },
29442 "protected" : 1,
29443 "proxyto" : "node",
56122987
DM
29444 "returns" : {
29445 "type" : "null"
44660702
DM
29446 }
29447 },
29448 "GET" : {
29449 "description" : "Get single rule data.",
29450 "method" : "GET",
29451 "name" : "get_rule",
29452 "parameters" : {
29453 "additionalProperties" : 0,
29454 "properties" : {
29455 "node" : {
29456 "description" : "The cluster node name.",
29457 "format" : "pve-node",
013dc89f
DM
29458 "type" : "string",
29459 "typetext" : "<string>"
44660702
DM
29460 },
29461 "pos" : {
29462 "description" : "Update rule at position <pos>.",
29463 "minimum" : 0,
29464 "optional" : 1,
4bd7df8b 29465 "type" : "integer",
013dc89f 29466 "typetext" : "<integer> (0 - N)"
44660702
DM
29467 }
29468 }
56122987 29469 },
56122987
DM
29470 "permissions" : {
29471 "check" : [
29472 "perm",
29473 "/nodes/{node}",
29474 [
44660702 29475 "Sys.Audit"
56122987
DM
29476 ]
29477 ]
44660702
DM
29478 },
29479 "proxyto" : "node",
29480 "returns" : {
29481 "properties" : {
29482 "pos" : {
29483 "type" : "integer"
29484 }
29485 },
29486 "type" : "object"
7aacca6f 29487 }
56122987
DM
29488 },
29489 "PUT" : {
44660702
DM
29490 "description" : "Modify rule data.",
29491 "method" : "PUT",
56122987 29492 "name" : "update_rule",
56122987 29493 "parameters" : {
44660702 29494 "additionalProperties" : 0,
56122987 29495 "properties" : {
44660702
DM
29496 "action" : {
29497 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
29498 "maxLength" : 20,
29499 "minLength" : 2,
56122987 29500 "optional" : 1,
44660702
DM
29501 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
29502 "type" : "string"
56122987 29503 },
7aacca6f 29504 "comment" : {
e94f0d56 29505 "description" : "Descriptive comment.",
56122987 29506 "optional" : 1,
013dc89f
DM
29507 "type" : "string",
29508 "typetext" : "<string>"
56122987 29509 },
44660702
DM
29510 "delete" : {
29511 "description" : "A list of settings you want to delete.",
29512 "format" : "pve-configid-list",
56122987 29513 "optional" : 1,
013dc89f
DM
29514 "type" : "string",
29515 "typetext" : "<string>"
56122987 29516 },
44660702
DM
29517 "dest" : {
29518 "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.",
29519 "format" : "pve-fw-addr-spec",
56122987 29520 "optional" : 1,
013dc89f
DM
29521 "type" : "string",
29522 "typetext" : "<string>"
56122987 29523 },
44660702
DM
29524 "digest" : {
29525 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
29526 "maxLength" : 40,
56122987 29527 "optional" : 1,
013dc89f
DM
29528 "type" : "string",
29529 "typetext" : "<string>"
56122987 29530 },
7aacca6f 29531 "dport" : {
7aacca6f 29532 "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
29533 "format" : "pve-fw-dport-spec",
29534 "optional" : 1,
013dc89f
DM
29535 "type" : "string",
29536 "typetext" : "<string>"
7aacca6f 29537 },
44660702 29538 "enable" : {
e94f0d56 29539 "description" : "Flag to enable/disable a rule.",
44660702 29540 "minimum" : 0,
56122987 29541 "optional" : 1,
4bd7df8b 29542 "type" : "integer",
013dc89f 29543 "typetext" : "<integer> (0 - N)"
56122987 29544 },
7aacca6f 29545 "iface" : {
44660702 29546 "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 29547 "format" : "pve-iface",
44660702 29548 "maxLength" : 20,
56122987 29549 "minLength" : 2,
44660702 29550 "optional" : 1,
013dc89f
DM
29551 "type" : "string",
29552 "typetext" : "<string>"
56122987 29553 },
44660702 29554 "macro" : {
e94f0d56 29555 "description" : "Use predefined standard macro.",
44660702
DM
29556 "maxLength" : 128,
29557 "optional" : 1,
013dc89f
DM
29558 "type" : "string",
29559 "typetext" : "<string>"
44660702
DM
29560 },
29561 "moveto" : {
29562 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
29563 "minimum" : 0,
7aacca6f 29564 "optional" : 1,
4bd7df8b 29565 "type" : "integer",
013dc89f 29566 "typetext" : "<integer> (0 - N)"
44660702
DM
29567 },
29568 "node" : {
29569 "description" : "The cluster node name.",
29570 "format" : "pve-node",
013dc89f
DM
29571 "type" : "string",
29572 "typetext" : "<string>"
56122987
DM
29573 },
29574 "pos" : {
44660702 29575 "description" : "Update rule at position <pos>.",
7aacca6f 29576 "minimum" : 0,
7aacca6f 29577 "optional" : 1,
4bd7df8b 29578 "type" : "integer",
013dc89f 29579 "typetext" : "<integer> (0 - N)"
7aacca6f 29580 },
44660702
DM
29581 "proto" : {
29582 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
29583 "format" : "pve-fw-protocol-spec",
7aacca6f 29584 "optional" : 1,
013dc89f
DM
29585 "type" : "string",
29586 "typetext" : "<string>"
7aacca6f 29587 },
44660702
DM
29588 "source" : {
29589 "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.",
29590 "format" : "pve-fw-addr-spec",
56122987 29591 "optional" : 1,
013dc89f
DM
29592 "type" : "string",
29593 "typetext" : "<string>"
7aacca6f 29594 },
44660702
DM
29595 "sport" : {
29596 "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.",
29597 "format" : "pve-fw-sport-spec",
29598 "optional" : 1,
013dc89f
DM
29599 "type" : "string",
29600 "typetext" : "<string>"
44660702
DM
29601 },
29602 "type" : {
e94f0d56 29603 "description" : "Rule type.",
44660702
DM
29604 "enum" : [
29605 "in",
29606 "out",
29607 "group"
29608 ],
29609 "optional" : 1,
29610 "type" : "string"
56122987 29611 }
44660702 29612 }
56122987 29613 },
56122987
DM
29614 "permissions" : {
29615 "check" : [
29616 "perm",
29617 "/nodes/{node}",
29618 [
29619 "Sys.Modify"
29620 ]
29621 ]
7aacca6f 29622 },
44660702 29623 "protected" : 1,
7aacca6f 29624 "proxyto" : "node",
7aacca6f
DM
29625 "returns" : {
29626 "type" : "null"
56122987
DM
29627 }
29628 }
7aacca6f 29629 },
44660702 29630 "leaf" : 1,
7aacca6f 29631 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 29632 "text" : "{pos}"
56122987
DM
29633 }
29634 ],
56122987
DM
29635 "info" : {
29636 "GET" : {
44660702
DM
29637 "description" : "List rules.",
29638 "method" : "GET",
29639 "name" : "get_rules",
29640 "parameters" : {
29641 "additionalProperties" : 0,
29642 "properties" : {
29643 "node" : {
29644 "description" : "The cluster node name.",
29645 "format" : "pve-node",
013dc89f
DM
29646 "type" : "string",
29647 "typetext" : "<string>"
44660702
DM
29648 }
29649 }
29650 },
29651 "permissions" : {
29652 "check" : [
29653 "perm",
29654 "/nodes/{node}",
29655 [
29656 "Sys.Audit"
29657 ]
29658 ]
29659 },
29660 "proxyto" : "node",
56122987 29661 "returns" : {
56122987
DM
29662 "items" : {
29663 "properties" : {
29664 "pos" : {
29665 "type" : "integer"
29666 }
44660702
DM
29667 },
29668 "type" : "object"
56122987 29669 },
7aacca6f
DM
29670 "links" : [
29671 {
29672 "href" : "{pos}",
29673 "rel" : "child"
29674 }
29675 ],
29676 "type" : "array"
44660702 29677 }
56122987
DM
29678 },
29679 "POST" : {
44660702 29680 "description" : "Create new rule.",
7aacca6f
DM
29681 "method" : "POST",
29682 "name" : "create_rule",
56122987 29683 "parameters" : {
44660702 29684 "additionalProperties" : 0,
56122987 29685 "properties" : {
7aacca6f 29686 "action" : {
7aacca6f 29687 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 29688 "maxLength" : 20,
7aacca6f
DM
29689 "minLength" : 2,
29690 "optional" : 0,
44660702
DM
29691 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
29692 "type" : "string"
56122987 29693 },
44660702 29694 "comment" : {
e94f0d56 29695 "description" : "Descriptive comment.",
56122987 29696 "optional" : 1,
013dc89f
DM
29697 "type" : "string",
29698 "typetext" : "<string>"
56122987 29699 },
44660702
DM
29700 "dest" : {
29701 "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.",
29702 "format" : "pve-fw-addr-spec",
7aacca6f 29703 "optional" : 1,
013dc89f
DM
29704 "type" : "string",
29705 "typetext" : "<string>"
56122987 29706 },
44660702
DM
29707 "digest" : {
29708 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
29709 "maxLength" : 40,
29710 "optional" : 1,
013dc89f
DM
29711 "type" : "string",
29712 "typetext" : "<string>"
56122987 29713 },
44660702
DM
29714 "dport" : {
29715 "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.",
29716 "format" : "pve-fw-dport-spec",
7aacca6f 29717 "optional" : 1,
013dc89f
DM
29718 "type" : "string",
29719 "typetext" : "<string>"
56122987 29720 },
44660702 29721 "enable" : {
e94f0d56 29722 "description" : "Flag to enable/disable a rule.",
44660702
DM
29723 "minimum" : 0,
29724 "optional" : 1,
4bd7df8b 29725 "type" : "integer",
013dc89f 29726 "typetext" : "<integer> (0 - N)"
44660702 29727 },
7aacca6f 29728 "iface" : {
44660702 29729 "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 29730 "format" : "pve-iface",
56122987 29731 "maxLength" : 20,
7aacca6f 29732 "minLength" : 2,
7aacca6f 29733 "optional" : 1,
013dc89f
DM
29734 "type" : "string",
29735 "typetext" : "<string>"
56122987 29736 },
44660702 29737 "macro" : {
e94f0d56 29738 "description" : "Use predefined standard macro.",
44660702 29739 "maxLength" : 128,
7aacca6f 29740 "optional" : 1,
013dc89f
DM
29741 "type" : "string",
29742 "typetext" : "<string>"
56122987 29743 },
44660702
DM
29744 "node" : {
29745 "description" : "The cluster node name.",
29746 "format" : "pve-node",
013dc89f
DM
29747 "type" : "string",
29748 "typetext" : "<string>"
44660702
DM
29749 },
29750 "pos" : {
29751 "description" : "Update rule at position <pos>.",
29752 "minimum" : 0,
29753 "optional" : 1,
4bd7df8b 29754 "type" : "integer",
013dc89f 29755 "typetext" : "<integer> (0 - N)"
44660702
DM
29756 },
29757 "proto" : {
29758 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
29759 "format" : "pve-fw-protocol-spec",
56122987 29760 "optional" : 1,
013dc89f
DM
29761 "type" : "string",
29762 "typetext" : "<string>"
56122987 29763 },
7aacca6f 29764 "source" : {
7aacca6f 29765 "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
29766 "format" : "pve-fw-addr-spec",
29767 "optional" : 1,
013dc89f
DM
29768 "type" : "string",
29769 "typetext" : "<string>"
7aacca6f 29770 },
44660702
DM
29771 "sport" : {
29772 "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.",
29773 "format" : "pve-fw-sport-spec",
7aacca6f 29774 "optional" : 1,
013dc89f
DM
29775 "type" : "string",
29776 "typetext" : "<string>"
44660702
DM
29777 },
29778 "type" : {
e94f0d56 29779 "description" : "Rule type.",
44660702
DM
29780 "enum" : [
29781 "in",
29782 "out",
29783 "group"
29784 ],
29785 "optional" : 0,
29786 "type" : "string"
56122987 29787 }
44660702 29788 }
7aacca6f 29789 },
56122987
DM
29790 "permissions" : {
29791 "check" : [
29792 "perm",
29793 "/nodes/{node}",
29794 [
29795 "Sys.Modify"
29796 ]
29797 ]
29798 },
44660702
DM
29799 "protected" : 1,
29800 "proxyto" : "node",
29801 "returns" : {
29802 "type" : "null"
29803 }
56122987
DM
29804 }
29805 },
44660702 29806 "leaf" : 0,
7aacca6f 29807 "path" : "/nodes/{node}/firewall/rules",
44660702 29808 "text" : "rules"
56122987
DM
29809 },
29810 {
56122987 29811 "info" : {
44660702
DM
29812 "GET" : {
29813 "description" : "Get host firewall options.",
29814 "method" : "GET",
29815 "name" : "get_options",
56122987 29816 "parameters" : {
7aacca6f 29817 "additionalProperties" : 0,
56122987 29818 "properties" : {
44660702
DM
29819 "node" : {
29820 "description" : "The cluster node name.",
29821 "format" : "pve-node",
013dc89f
DM
29822 "type" : "string",
29823 "typetext" : "<string>"
44660702
DM
29824 }
29825 }
29826 },
29827 "permissions" : {
29828 "check" : [
29829 "perm",
29830 "/nodes/{node}",
29831 [
29832 "Sys.Audit"
29833 ]
29834 ]
29835 },
29836 "proxyto" : "node",
29837 "returns" : {
29838 "properties" : {
29839 "enable" : {
29840 "description" : "Enable host firewall rules.",
7aacca6f 29841 "optional" : 1,
44660702 29842 "type" : "boolean"
7aacca6f 29843 },
44660702
DM
29844 "log_level_in" : {
29845 "description" : "Log level for incoming traffic.",
56122987
DM
29846 "enum" : [
29847 "emerg",
29848 "alert",
29849 "crit",
29850 "err",
29851 "warning",
29852 "notice",
29853 "info",
29854 "debug",
29855 "nolog"
29856 ],
56122987 29857 "optional" : 1,
44660702
DM
29858 "type" : "string"
29859 },
29860 "log_level_out" : {
29861 "description" : "Log level for outgoing traffic.",
56122987
DM
29862 "enum" : [
29863 "emerg",
29864 "alert",
29865 "crit",
29866 "err",
29867 "warning",
29868 "notice",
29869 "info",
29870 "debug",
29871 "nolog"
29872 ],
44660702
DM
29873 "optional" : 1,
29874 "type" : "string"
29875 },
29876 "ndp" : {
29877 "description" : "Enable NDP.",
29878 "optional" : 1,
29879 "type" : "boolean"
29880 },
29881 "nf_conntrack_max" : {
29882 "description" : "Maximum number of tracked connections.",
29883 "minimum" : 32768,
29884 "optional" : 1,
29885 "type" : "integer"
29886 },
29887 "nf_conntrack_tcp_timeout_established" : {
29888 "description" : "Conntrack established timeout.",
29889 "minimum" : 7875,
29890 "optional" : 1,
29891 "type" : "integer"
29892 },
29893 "nosmurfs" : {
29894 "description" : "Enable SMURFS filter.",
29895 "optional" : 1,
29896 "type" : "boolean"
56122987 29897 },
7aacca6f 29898 "smurf_log_level" : {
44660702 29899 "description" : "Log level for SMURFS filter.",
56122987
DM
29900 "enum" : [
29901 "emerg",
29902 "alert",
29903 "crit",
29904 "err",
29905 "warning",
29906 "notice",
29907 "info",
29908 "debug",
29909 "nolog"
7aacca6f 29910 ],
7aacca6f
DM
29911 "optional" : 1,
29912 "type" : "string"
56122987 29913 },
44660702
DM
29914 "tcp_flags_log_level" : {
29915 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
29916 "enum" : [
29917 "emerg",
29918 "alert",
29919 "crit",
29920 "err",
29921 "warning",
29922 "notice",
29923 "info",
29924 "debug",
29925 "nolog"
29926 ],
44660702
DM
29927 "optional" : 1,
29928 "type" : "string"
7aacca6f 29929 },
44660702
DM
29930 "tcpflags" : {
29931 "description" : "Filter illegal combinations of TCP flags.",
56122987 29932 "optional" : 1,
44660702 29933 "type" : "boolean"
56122987 29934 }
44660702
DM
29935 },
29936 "type" : "object"
7aacca6f 29937 }
56122987 29938 },
44660702
DM
29939 "PUT" : {
29940 "description" : "Set Firewall options.",
29941 "method" : "PUT",
29942 "name" : "set_options",
7aacca6f 29943 "parameters" : {
44660702 29944 "additionalProperties" : 0,
7aacca6f 29945 "properties" : {
44660702
DM
29946 "delete" : {
29947 "description" : "A list of settings you want to delete.",
29948 "format" : "pve-configid-list",
7aacca6f 29949 "optional" : 1,
013dc89f
DM
29950 "type" : "string",
29951 "typetext" : "<string>"
56122987 29952 },
44660702
DM
29953 "digest" : {
29954 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
29955 "maxLength" : 40,
29956 "optional" : 1,
013dc89f
DM
29957 "type" : "string",
29958 "typetext" : "<string>"
56122987 29959 },
44660702
DM
29960 "enable" : {
29961 "description" : "Enable host firewall rules.",
7aacca6f 29962 "optional" : 1,
013dc89f
DM
29963 "type" : "boolean",
29964 "typetext" : "<boolean>"
44660702
DM
29965 },
29966 "log_level_in" : {
29967 "description" : "Log level for incoming traffic.",
56122987
DM
29968 "enum" : [
29969 "emerg",
29970 "alert",
29971 "crit",
29972 "err",
29973 "warning",
29974 "notice",
29975 "info",
29976 "debug",
29977 "nolog"
44660702 29978 ],
7aacca6f 29979 "optional" : 1,
44660702 29980 "type" : "string"
7aacca6f 29981 },
44660702
DM
29982 "log_level_out" : {
29983 "description" : "Log level for outgoing traffic.",
56122987
DM
29984 "enum" : [
29985 "emerg",
29986 "alert",
29987 "crit",
29988 "err",
29989 "warning",
29990 "notice",
29991 "info",
29992 "debug",
29993 "nolog"
29994 ],
29995 "optional" : 1,
7aacca6f 29996 "type" : "string"
56122987 29997 },
44660702
DM
29998 "ndp" : {
29999 "description" : "Enable NDP.",
7aacca6f 30000 "optional" : 1,
013dc89f
DM
30001 "type" : "boolean",
30002 "typetext" : "<boolean>"
44660702
DM
30003 },
30004 "nf_conntrack_max" : {
30005 "description" : "Maximum number of tracked connections.",
30006 "minimum" : 32768,
30007 "optional" : 1,
4bd7df8b 30008 "type" : "integer",
013dc89f 30009 "typetext" : "<integer> (32768 - N)"
44660702
DM
30010 },
30011 "nf_conntrack_tcp_timeout_established" : {
30012 "description" : "Conntrack established timeout.",
30013 "minimum" : 7875,
30014 "optional" : 1,
4bd7df8b 30015 "type" : "integer",
013dc89f 30016 "typetext" : "<integer> (7875 - N)"
44660702
DM
30017 },
30018 "node" : {
30019 "description" : "The cluster node name.",
30020 "format" : "pve-node",
013dc89f
DM
30021 "type" : "string",
30022 "typetext" : "<string>"
44660702
DM
30023 },
30024 "nosmurfs" : {
30025 "description" : "Enable SMURFS filter.",
30026 "optional" : 1,
013dc89f
DM
30027 "type" : "boolean",
30028 "typetext" : "<boolean>"
44660702
DM
30029 },
30030 "smurf_log_level" : {
30031 "description" : "Log level for SMURFS filter.",
56122987
DM
30032 "enum" : [
30033 "emerg",
30034 "alert",
30035 "crit",
30036 "err",
30037 "warning",
30038 "notice",
30039 "info",
30040 "debug",
30041 "nolog"
44660702
DM
30042 ],
30043 "optional" : 1,
30044 "type" : "string"
56122987 30045 },
44660702
DM
30046 "tcp_flags_log_level" : {
30047 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
30048 "enum" : [
30049 "emerg",
30050 "alert",
30051 "crit",
30052 "err",
30053 "warning",
30054 "notice",
30055 "info",
30056 "debug",
30057 "nolog"
30058 ],
44660702
DM
30059 "optional" : 1,
30060 "type" : "string"
7aacca6f 30061 },
44660702
DM
30062 "tcpflags" : {
30063 "description" : "Filter illegal combinations of TCP flags.",
56122987 30064 "optional" : 1,
013dc89f
DM
30065 "type" : "boolean",
30066 "typetext" : "<boolean>"
56122987 30067 }
7aacca6f 30068 }
56122987 30069 },
44660702
DM
30070 "permissions" : {
30071 "check" : [
30072 "perm",
30073 "/nodes/{node}",
30074 [
30075 "Sys.Modify"
30076 ]
30077 ]
30078 },
30079 "protected" : 1,
30080 "proxyto" : "node",
30081 "returns" : {
30082 "type" : "null"
30083 }
7aacca6f
DM
30084 }
30085 },
44660702
DM
30086 "leaf" : 1,
30087 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
30088 "text" : "options"
30089 },
30090 {
7aacca6f
DM
30091 "info" : {
30092 "GET" : {
44660702
DM
30093 "description" : "Read firewall log",
30094 "method" : "GET",
7aacca6f 30095 "name" : "log",
56122987 30096 "parameters" : {
44660702 30097 "additionalProperties" : 0,
56122987 30098 "properties" : {
7aacca6f 30099 "limit" : {
44660702 30100 "minimum" : 0,
7aacca6f 30101 "optional" : 1,
4bd7df8b 30102 "type" : "integer",
013dc89f 30103 "typetext" : "<integer> (0 - N)"
7aacca6f 30104 },
56122987 30105 "node" : {
7aacca6f 30106 "description" : "The cluster node name.",
44660702 30107 "format" : "pve-node",
013dc89f
DM
30108 "type" : "string",
30109 "typetext" : "<string>"
44660702
DM
30110 },
30111 "start" : {
30112 "minimum" : 0,
30113 "optional" : 1,
4bd7df8b 30114 "type" : "integer",
013dc89f 30115 "typetext" : "<integer> (0 - N)"
56122987 30116 }
44660702 30117 }
7aacca6f 30118 },
56122987
DM
30119 "permissions" : {
30120 "check" : [
30121 "perm",
30122 "/nodes/{node}",
30123 [
30124 "Sys.Syslog"
30125 ]
30126 ]
30127 },
44660702
DM
30128 "protected" : 1,
30129 "proxyto" : "node",
56122987
DM
30130 "returns" : {
30131 "items" : {
56122987 30132 "properties" : {
56122987 30133 "n" : {
44660702
DM
30134 "description" : "Line number",
30135 "type" : "integer"
7aacca6f
DM
30136 },
30137 "t" : {
44660702
DM
30138 "description" : "Line text",
30139 "type" : "string"
56122987 30140 }
44660702
DM
30141 },
30142 "type" : "object"
56122987
DM
30143 },
30144 "type" : "array"
7aacca6f 30145 }
56122987
DM
30146 }
30147 },
44660702
DM
30148 "leaf" : 1,
30149 "path" : "/nodes/{node}/firewall/log",
7aacca6f 30150 "text" : "log"
56122987
DM
30151 }
30152 ],
30153 "info" : {
30154 "GET" : {
44660702
DM
30155 "description" : "Directory index.",
30156 "method" : "GET",
30157 "name" : "index",
56122987 30158 "parameters" : {
44660702 30159 "additionalProperties" : 0,
56122987
DM
30160 "properties" : {
30161 "node" : {
30162 "description" : "The cluster node name.",
44660702 30163 "format" : "pve-node",
013dc89f
DM
30164 "type" : "string",
30165 "typetext" : "<string>"
56122987 30166 }
44660702 30167 }
56122987 30168 },
7aacca6f
DM
30169 "permissions" : {
30170 "user" : "all"
30171 },
56122987
DM
30172 "returns" : {
30173 "items" : {
30174 "properties" : {},
30175 "type" : "object"
30176 },
56122987
DM
30177 "links" : [
30178 {
44660702
DM
30179 "href" : "{name}",
30180 "rel" : "child"
56122987 30181 }
44660702
DM
30182 ],
30183 "type" : "array"
30184 }
56122987 30185 }
7aacca6f 30186 },
44660702 30187 "leaf" : 0,
7aacca6f 30188 "path" : "/nodes/{node}/firewall",
44660702 30189 "text" : "firewall"
56122987 30190 },
5d9c884c
DM
30191 {
30192 "children" : [
30193 {
30194 "children" : [
30195 {
30196 "info" : {
30197 "GET" : {
30198 "description" : "Get replication job status.",
30199 "method" : "GET",
30200 "name" : "job_status",
30201 "parameters" : {
30202 "additionalProperties" : 0,
30203 "properties" : {
30204 "id" : {
30205 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
30206 "format" : "pve-replication-job-id",
30207 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
30208 "type" : "string"
30209 },
30210 "node" : {
30211 "description" : "The cluster node name.",
30212 "format" : "pve-node",
30213 "type" : "string",
30214 "typetext" : "<string>"
30215 }
30216 }
30217 },
30218 "permissions" : {
30219 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
30220 "user" : "all"
30221 },
30222 "protected" : 1,
30223 "proxyto" : "node",
30224 "returns" : {
5d9c884c
DM
30225 "type" : "object"
30226 }
30227 }
30228 },
30229 "leaf" : 1,
30230 "path" : "/nodes/{node}/replication/{id}/status",
30231 "text" : "status"
30232 },
30233 {
30234 "info" : {
30235 "GET" : {
30236 "description" : "Read replication job log.",
30237 "method" : "GET",
30238 "name" : "read_job_log",
30239 "parameters" : {
30240 "additionalProperties" : 0,
30241 "properties" : {
30242 "id" : {
30243 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
30244 "format" : "pve-replication-job-id",
30245 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
30246 "type" : "string"
30247 },
30248 "limit" : {
30249 "minimum" : 0,
30250 "optional" : 1,
30251 "type" : "integer",
30252 "typetext" : "<integer> (0 - N)"
30253 },
30254 "node" : {
30255 "description" : "The cluster node name.",
30256 "format" : "pve-node",
30257 "type" : "string",
30258 "typetext" : "<string>"
30259 },
30260 "start" : {
30261 "minimum" : 0,
30262 "optional" : 1,
30263 "type" : "integer",
30264 "typetext" : "<integer> (0 - N)"
30265 }
30266 }
30267 },
30268 "permissions" : {
30269 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
30270 "user" : "all"
30271 },
30272 "protected" : 1,
30273 "proxyto" : "node",
30274 "returns" : {
30275 "items" : {
30276 "properties" : {
30277 "n" : {
30278 "description" : "Line number",
30279 "type" : "integer"
30280 },
30281 "t" : {
30282 "description" : "Line text",
30283 "type" : "string"
30284 }
30285 },
30286 "type" : "object"
30287 },
30288 "type" : "array"
30289 }
30290 }
30291 },
30292 "leaf" : 1,
30293 "path" : "/nodes/{node}/replication/{id}/log",
30294 "text" : "log"
30295 },
30296 {
30297 "info" : {
30298 "POST" : {
30299 "description" : "Schedule replication job to start as soon as possible.",
30300 "method" : "POST",
30301 "name" : "schedule_now",
30302 "parameters" : {
30303 "additionalProperties" : 0,
30304 "properties" : {
30305 "id" : {
30306 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
30307 "format" : "pve-replication-job-id",
30308 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
30309 "type" : "string"
30310 },
30311 "node" : {
30312 "description" : "The cluster node name.",
30313 "format" : "pve-node",
30314 "type" : "string",
30315 "typetext" : "<string>"
30316 }
30317 }
30318 },
30319 "permissions" : {
30320 "check" : [
30321 "perm",
30322 "/storage",
30323 [
30324 "Datastore.Allocate"
30325 ]
30326 ]
30327 },
30328 "protected" : 1,
30329 "proxyto" : "node",
30330 "returns" : {
30331 "type" : "string"
30332 }
30333 }
30334 },
30335 "leaf" : 1,
30336 "path" : "/nodes/{node}/replication/{id}/schedule_now",
30337 "text" : "schedule_now"
30338 }
30339 ],
30340 "info" : {
30341 "GET" : {
30342 "description" : "Directory index.",
30343 "method" : "GET",
30344 "name" : "index",
30345 "parameters" : {
30346 "additionalProperties" : 0,
30347 "properties" : {
30348 "id" : {
30349 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
30350 "format" : "pve-replication-job-id",
30351 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
30352 "type" : "string"
30353 },
30354 "node" : {
30355 "description" : "The cluster node name.",
30356 "format" : "pve-node",
30357 "type" : "string",
30358 "typetext" : "<string>"
30359 }
30360 }
30361 },
30362 "permissions" : {
30363 "user" : "all"
30364 },
30365 "returns" : {
30366 "items" : {
30367 "properties" : {},
30368 "type" : "object"
30369 },
30370 "links" : [
30371 {
30372 "href" : "{name}",
30373 "rel" : "child"
30374 }
30375 ],
30376 "type" : "array"
30377 }
30378 }
30379 },
30380 "leaf" : 0,
30381 "path" : "/nodes/{node}/replication/{id}",
30382 "text" : "{id}"
30383 }
30384 ],
30385 "info" : {
30386 "GET" : {
30387 "description" : "List status of all replication jobs on this node.",
30388 "method" : "GET",
30389 "name" : "status",
30390 "parameters" : {
30391 "additionalProperties" : 0,
30392 "properties" : {
30393 "guest" : {
30394 "description" : "Only list replication jobs for this guest.",
30395 "format" : "pve-vmid",
30396 "minimum" : 1,
30397 "optional" : 1,
30398 "type" : "integer",
30399 "typetext" : "<integer> (1 - N)"
30400 },
30401 "node" : {
30402 "description" : "The cluster node name.",
30403 "format" : "pve-node",
30404 "type" : "string",
30405 "typetext" : "<string>"
30406 }
30407 }
30408 },
30409 "permissions" : {
30410 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
30411 "user" : "all"
30412 },
30413 "protected" : 1,
30414 "proxyto" : "node",
30415 "returns" : {
30416 "items" : {
30417 "properties" : {
30418 "id" : {
30419 "type" : "string"
30420 }
30421 },
30422 "type" : "object"
30423 },
30424 "links" : [
30425 {
30426 "href" : "{id}",
30427 "rel" : "child"
30428 }
30429 ],
30430 "type" : "array"
30431 }
30432 }
30433 },
30434 "leaf" : 0,
30435 "path" : "/nodes/{node}/replication",
30436 "text" : "replication"
30437 },
a9a8e3d1
DM
30438 {
30439 "children" : [
30440 {
30441 "children" : [
30442 {
30443 "info" : {
30444 "DELETE" : {
30445 "description" : "Revoke existing certificate from CA.",
30446 "method" : "DELETE",
30447 "name" : "revoke_certificate",
30448 "parameters" : {
30449 "additionalProperties" : 0,
30450 "properties" : {
30451 "node" : {
30452 "description" : "The cluster node name.",
30453 "format" : "pve-node",
30454 "type" : "string",
30455 "typetext" : "<string>"
30456 }
30457 }
30458 },
30459 "protected" : 1,
30460 "proxyto" : "node",
30461 "returns" : {
30462 "type" : "string"
30463 }
30464 },
30465 "POST" : {
30466 "description" : "Order a new certificate from ACME-compatible CA.",
30467 "method" : "POST",
30468 "name" : "new_certificate",
30469 "parameters" : {
30470 "additionalProperties" : 0,
30471 "properties" : {
30472 "force" : {
30473 "default" : 0,
30474 "description" : "Overwrite existing custom certificate.",
30475 "optional" : 1,
30476 "type" : "boolean",
30477 "typetext" : "<boolean>"
30478 },
30479 "node" : {
30480 "description" : "The cluster node name.",
30481 "format" : "pve-node",
30482 "type" : "string",
30483 "typetext" : "<string>"
30484 }
30485 }
30486 },
30487 "protected" : 1,
30488 "proxyto" : "node",
30489 "returns" : {
30490 "type" : "string"
30491 }
30492 },
30493 "PUT" : {
30494 "description" : "Renew existing certificate from CA.",
30495 "method" : "PUT",
30496 "name" : "renew_certificate",
30497 "parameters" : {
30498 "additionalProperties" : 0,
30499 "properties" : {
30500 "force" : {
30501 "default" : 0,
30502 "description" : "Force renewal even if expiry is more than 30 days away.",
30503 "optional" : 1,
30504 "type" : "boolean",
30505 "typetext" : "<boolean>"
30506 },
30507 "node" : {
30508 "description" : "The cluster node name.",
30509 "format" : "pve-node",
30510 "type" : "string",
30511 "typetext" : "<string>"
30512 }
30513 }
30514 },
30515 "protected" : 1,
30516 "proxyto" : "node",
30517 "returns" : {
30518 "type" : "string"
30519 }
30520 }
30521 },
30522 "leaf" : 1,
30523 "path" : "/nodes/{node}/certificates/acme/certificate",
30524 "text" : "certificate"
30525 }
30526 ],
30527 "info" : {
30528 "GET" : {
30529 "description" : "ACME index.",
30530 "method" : "GET",
30531 "name" : "index",
30532 "parameters" : {
30533 "additionalProperties" : 0,
30534 "properties" : {
30535 "node" : {
30536 "description" : "The cluster node name.",
30537 "format" : "pve-node",
30538 "type" : "string",
30539 "typetext" : "<string>"
30540 }
30541 }
30542 },
30543 "permissions" : {
30544 "user" : "all"
30545 },
30546 "returns" : {
30547 "items" : {
30548 "properties" : {},
30549 "type" : "object"
30550 },
30551 "links" : [
30552 {
30553 "href" : "{name}",
30554 "rel" : "child"
30555 }
30556 ],
30557 "type" : "array"
30558 }
30559 }
30560 },
30561 "leaf" : 0,
30562 "path" : "/nodes/{node}/certificates/acme",
30563 "text" : "acme"
30564 },
30565 {
30566 "info" : {
30567 "GET" : {
30568 "description" : "Get information about node's certificates.",
30569 "method" : "GET",
30570 "name" : "info",
30571 "parameters" : {
30572 "additionalProperties" : 0,
30573 "properties" : {
30574 "node" : {
30575 "description" : "The cluster node name.",
30576 "format" : "pve-node",
30577 "type" : "string",
30578 "typetext" : "<string>"
30579 }
30580 }
30581 },
30582 "permissions" : {
30583 "user" : "all"
30584 },
30585 "proxyto" : "node",
30586 "returns" : {
30587 "items" : {
30588 "properties" : {
30589 "filename" : {
30590 "optional" : 1,
30591 "type" : "string"
30592 },
30593 "fingerprint" : {
30594 "description" : "Certificate SHA 256 fingerprint.",
30595 "optional" : 1,
30596 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
30597 "type" : "string"
30598 },
30599 "issuer" : {
30600 "description" : "Certificate issuer name.",
30601 "optional" : 1,
30602 "type" : "string"
30603 },
30604 "notafter" : {
30605 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
30606 "optional" : 1,
4d47f125 30607 "renderer" : "timestamp",
a9a8e3d1
DM
30608 "type" : "integer"
30609 },
30610 "notbefore" : {
30611 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
30612 "optional" : 1,
4d47f125 30613 "renderer" : "timestamp",
a9a8e3d1
DM
30614 "type" : "integer"
30615 },
30616 "pem" : {
30617 "description" : "Certificate in PEM format",
30618 "format" : "pem-certificate",
30619 "optional" : 1,
30620 "type" : "string"
30621 },
30622 "san" : {
30623 "description" : "List of Certificate's SubjectAlternativeName entries.",
30624 "items" : {
30625 "type" : "string"
30626 },
30627 "optional" : 1,
4d47f125 30628 "renderer" : "yaml",
a9a8e3d1
DM
30629 "type" : "array"
30630 },
30631 "subject" : {
30632 "description" : "Certificate subject name.",
30633 "optional" : 1,
30634 "type" : "string"
30635 }
30636 },
30637 "type" : "object"
30638 },
30639 "type" : "array"
30640 }
30641 }
30642 },
30643 "leaf" : 1,
30644 "path" : "/nodes/{node}/certificates/info",
30645 "text" : "info"
30646 },
30647 {
30648 "info" : {
30649 "DELETE" : {
30650 "description" : "DELETE custom certificate chain and key.",
30651 "method" : "DELETE",
30652 "name" : "remove_custom_cert",
30653 "parameters" : {
30654 "additionalProperties" : 0,
30655 "properties" : {
30656 "node" : {
30657 "description" : "The cluster node name.",
30658 "format" : "pve-node",
30659 "type" : "string",
30660 "typetext" : "<string>"
30661 },
30662 "restart" : {
30663 "default" : 0,
30664 "description" : "Restart pveproxy.",
30665 "optional" : 1,
30666 "type" : "boolean",
30667 "typetext" : "<boolean>"
30668 }
30669 }
30670 },
30671 "protected" : 1,
30672 "proxyto" : "node",
30673 "returns" : {
30674 "type" : "null"
30675 }
30676 },
30677 "POST" : {
30678 "description" : "Upload or update custom certificate chain and key.",
30679 "method" : "POST",
30680 "name" : "upload_custom_cert",
30681 "parameters" : {
30682 "additionalProperties" : 0,
30683 "properties" : {
30684 "certificates" : {
30685 "description" : "PEM encoded certificate (chain).",
30686 "format" : "pem-certificate-chain",
30687 "type" : "string",
30688 "typetext" : "<string>"
30689 },
30690 "force" : {
30691 "default" : 0,
30692 "description" : "Overwrite existing custom or ACME certificate files.",
30693 "optional" : 1,
30694 "type" : "boolean",
30695 "typetext" : "<boolean>"
30696 },
30697 "key" : {
30698 "description" : "PEM encoded private key.",
30699 "format" : "pem-string",
30700 "optional" : 1,
30701 "type" : "string",
30702 "typetext" : "<string>"
30703 },
30704 "node" : {
30705 "description" : "The cluster node name.",
30706 "format" : "pve-node",
30707 "type" : "string",
30708 "typetext" : "<string>"
30709 },
30710 "restart" : {
30711 "default" : 0,
30712 "description" : "Restart pveproxy.",
30713 "optional" : 1,
30714 "type" : "boolean",
30715 "typetext" : "<boolean>"
30716 }
30717 }
30718 },
30719 "protected" : 1,
30720 "proxyto" : "node",
30721 "returns" : {
30722 "properties" : {
30723 "filename" : {
30724 "optional" : 1,
30725 "type" : "string"
30726 },
30727 "fingerprint" : {
30728 "description" : "Certificate SHA 256 fingerprint.",
30729 "optional" : 1,
30730 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
30731 "type" : "string"
30732 },
30733 "issuer" : {
30734 "description" : "Certificate issuer name.",
30735 "optional" : 1,
30736 "type" : "string"
30737 },
30738 "notafter" : {
30739 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
30740 "optional" : 1,
4d47f125 30741 "renderer" : "timestamp",
a9a8e3d1
DM
30742 "type" : "integer"
30743 },
30744 "notbefore" : {
30745 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
30746 "optional" : 1,
4d47f125 30747 "renderer" : "timestamp",
a9a8e3d1
DM
30748 "type" : "integer"
30749 },
30750 "pem" : {
30751 "description" : "Certificate in PEM format",
30752 "format" : "pem-certificate",
30753 "optional" : 1,
30754 "type" : "string"
30755 },
30756 "san" : {
30757 "description" : "List of Certificate's SubjectAlternativeName entries.",
30758 "items" : {
30759 "type" : "string"
30760 },
30761 "optional" : 1,
4d47f125 30762 "renderer" : "yaml",
a9a8e3d1
DM
30763 "type" : "array"
30764 },
30765 "subject" : {
30766 "description" : "Certificate subject name.",
30767 "optional" : 1,
30768 "type" : "string"
30769 }
30770 },
30771 "type" : "object"
30772 }
30773 }
30774 },
30775 "leaf" : 1,
30776 "path" : "/nodes/{node}/certificates/custom",
30777 "text" : "custom"
30778 }
30779 ],
30780 "info" : {
30781 "GET" : {
30782 "description" : "Node index.",
30783 "method" : "GET",
30784 "name" : "index",
30785 "parameters" : {
30786 "additionalProperties" : 0,
30787 "properties" : {
30788 "node" : {
30789 "description" : "The cluster node name.",
30790 "format" : "pve-node",
30791 "type" : "string",
30792 "typetext" : "<string>"
30793 }
30794 }
30795 },
30796 "permissions" : {
30797 "user" : "all"
30798 },
30799 "returns" : {
30800 "items" : {
30801 "properties" : {},
30802 "type" : "object"
30803 },
30804 "links" : [
30805 {
30806 "href" : "{name}",
30807 "rel" : "child"
30808 }
30809 ],
30810 "type" : "array"
30811 }
30812 }
30813 },
30814 "leaf" : 0,
30815 "path" : "/nodes/{node}/certificates",
30816 "text" : "certificates"
30817 },
30818 {
30819 "info" : {
30820 "GET" : {
30821 "description" : "Get node configuration options.",
30822 "method" : "GET",
30823 "name" : "get_config",
30824 "parameters" : {
30825 "additionalProperties" : 0,
30826 "properties" : {
30827 "node" : {
30828 "description" : "The cluster node name.",
30829 "format" : "pve-node",
30830 "type" : "string",
30831 "typetext" : "<string>"
30832 }
30833 }
30834 },
30835 "permissions" : {
30836 "check" : [
30837 "perm",
30838 "/",
30839 [
30840 "Sys.Audit"
30841 ]
30842 ]
30843 },
30844 "proxyto" : "node",
30845 "returns" : {
a9a8e3d1
DM
30846 "type" : "object"
30847 }
30848 },
30849 "PUT" : {
30850 "description" : "Set node configuration options.",
30851 "method" : "PUT",
30852 "name" : "set_options",
30853 "parameters" : {
30854 "additionalProperties" : 0,
30855 "properties" : {
30856 "acme" : {
30857 "description" : "Node specific ACME settings.",
30858 "format" : {
30859 "account" : {
30860 "default" : "default",
30861 "description" : "ACME account config file name.",
30862 "format" : "pve-configid",
30863 "format_description" : "name",
30864 "optional" : 1,
30865 "type" : "string"
30866 },
30867 "domains" : {
30868 "description" : "List of domains for this node's ACME certificate",
30869 "format" : "pve-acme-domain-list",
30870 "format_description" : "domain[;domain;...]",
30871 "type" : "string"
30872 }
30873 },
30874 "optional" : 1,
30875 "type" : "string",
30876 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
30877 },
30878 "delete" : {
30879 "description" : "A list of settings you want to delete.",
30880 "format" : "pve-configid-list",
30881 "optional" : 1,
30882 "type" : "string",
30883 "typetext" : "<string>"
30884 },
30885 "description" : {
30886 "description" : "Node description/comment.",
30887 "optional" : 1,
30888 "type" : "string",
30889 "typetext" : "<string>"
30890 },
30891 "digest" : {
30892 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
30893 "maxLength" : 40,
30894 "optional" : 1,
30895 "type" : "string",
30896 "typetext" : "<string>"
30897 },
30898 "node" : {
30899 "description" : "The cluster node name.",
30900 "format" : "pve-node",
30901 "type" : "string",
30902 "typetext" : "<string>"
30903 }
30904 }
30905 },
30906 "permissions" : {
30907 "check" : [
30908 "perm",
30909 "/",
30910 [
30911 "Sys.Modify"
30912 ]
30913 ]
30914 },
30915 "protected" : 1,
30916 "proxyto" : "node",
30917 "returns" : {
30918 "type" : "null"
30919 }
30920 }
30921 },
30922 "leaf" : 1,
30923 "path" : "/nodes/{node}/config",
30924 "text" : "config"
30925 },
56122987 30926 {
56122987
DM
30927 "info" : {
30928 "GET" : {
44660702
DM
30929 "description" : "API version details",
30930 "method" : "GET",
30931 "name" : "version",
56122987 30932 "parameters" : {
44660702 30933 "additionalProperties" : 0,
56122987
DM
30934 "properties" : {
30935 "node" : {
56122987 30936 "description" : "The cluster node name.",
44660702 30937 "format" : "pve-node",
013dc89f
DM
30938 "type" : "string",
30939 "typetext" : "<string>"
56122987 30940 }
44660702 30941 }
56122987 30942 },
56122987 30943 "permissions" : {
7aacca6f 30944 "user" : "all"
56122987 30945 },
56122987 30946 "proxyto" : "node",
56122987 30947 "returns" : {
56122987 30948 "properties" : {
44660702 30949 "release" : {
56122987
DM
30950 "type" : "string"
30951 },
44660702 30952 "repoid" : {
7aacca6f
DM
30953 "type" : "string"
30954 },
30955 "version" : {
30956 "type" : "string"
30957 }
44660702
DM
30958 },
30959 "type" : "object"
7aacca6f 30960 }
56122987
DM
30961 }
30962 },
56122987 30963 "leaf" : 1,
44660702
DM
30964 "path" : "/nodes/{node}/version",
30965 "text" : "version"
56122987
DM
30966 },
30967 {
56122987
DM
30968 "info" : {
30969 "GET" : {
7aacca6f 30970 "description" : "Read node status",
44660702 30971 "method" : "GET",
7aacca6f 30972 "name" : "status",
56122987 30973 "parameters" : {
44660702 30974 "additionalProperties" : 0,
56122987
DM
30975 "properties" : {
30976 "node" : {
7aacca6f 30977 "description" : "The cluster node name.",
44660702 30978 "format" : "pve-node",
013dc89f
DM
30979 "type" : "string",
30980 "typetext" : "<string>"
56122987 30981 }
44660702 30982 }
56122987 30983 },
56122987
DM
30984 "permissions" : {
30985 "check" : [
30986 "perm",
30987 "/nodes/{node}",
30988 [
30989 "Sys.Audit"
30990 ]
30991 ]
44660702
DM
30992 },
30993 "proxyto" : "node",
30994 "returns" : {
44660702 30995 "type" : "object"
7aacca6f
DM
30996 }
30997 },
30998 "POST" : {
44660702
DM
30999 "description" : "Reboot or shutdown a node.",
31000 "method" : "POST",
7aacca6f 31001 "name" : "node_cmd",
56122987 31002 "parameters" : {
44660702 31003 "additionalProperties" : 0,
56122987 31004 "properties" : {
7aacca6f
DM
31005 "command" : {
31006 "description" : "Specify the command.",
56122987 31007 "enum" : [
7aacca6f
DM
31008 "reboot",
31009 "shutdown"
56122987
DM
31010 ],
31011 "type" : "string"
44660702
DM
31012 },
31013 "node" : {
31014 "description" : "The cluster node name.",
31015 "format" : "pve-node",
013dc89f
DM
31016 "type" : "string",
31017 "typetext" : "<string>"
56122987 31018 }
44660702 31019 }
7aacca6f 31020 },
7aacca6f
DM
31021 "permissions" : {
31022 "check" : [
31023 "perm",
31024 "/nodes/{node}",
31025 [
31026 "Sys.PowerMgmt"
31027 ]
31028 ]
31029 },
44660702 31030 "protected" : 1,
7aacca6f 31031 "proxyto" : "node",
7aacca6f
DM
31032 "returns" : {
31033 "type" : "null"
56122987
DM
31034 }
31035 }
31036 },
7aacca6f 31037 "leaf" : 1,
44660702
DM
31038 "path" : "/nodes/{node}/status",
31039 "text" : "status"
56122987
DM
31040 },
31041 {
56122987
DM
31042 "info" : {
31043 "GET" : {
44660702
DM
31044 "description" : "Read tap/vm network device interface counters",
31045 "method" : "GET",
31046 "name" : "netstat",
31047 "parameters" : {
31048 "additionalProperties" : 0,
31049 "properties" : {
31050 "node" : {
31051 "description" : "The cluster node name.",
31052 "format" : "pve-node",
013dc89f
DM
31053 "type" : "string",
31054 "typetext" : "<string>"
44660702 31055 }
56122987
DM
31056 }
31057 },
31058 "permissions" : {
31059 "check" : [
31060 "perm",
31061 "/nodes/{node}",
31062 [
7aacca6f 31063 "Sys.Audit"
56122987
DM
31064 ]
31065 ]
31066 },
7aacca6f 31067 "proxyto" : "node",
44660702
DM
31068 "returns" : {
31069 "items" : {
31070 "properties" : {},
31071 "type" : "object"
31072 },
31073 "type" : "array"
31074 }
7aacca6f
DM
31075 }
31076 },
44660702
DM
31077 "leaf" : 1,
31078 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
31079 "text" : "netstat"
31080 },
31081 {
31082 "info" : {
31083 "POST" : {
7aacca6f 31084 "description" : "Execute multiple commands in order.",
7aacca6f 31085 "method" : "POST",
7aacca6f 31086 "name" : "execute",
56122987
DM
31087 "parameters" : {
31088 "additionalProperties" : 0,
31089 "properties" : {
7aacca6f
DM
31090 "commands" : {
31091 "description" : "JSON encoded array of commands.",
013dc89f
DM
31092 "type" : "string",
31093 "typetext" : "<string>"
56122987
DM
31094 },
31095 "node" : {
44660702 31096 "description" : "The cluster node name.",
56122987 31097 "format" : "pve-node",
013dc89f
DM
31098 "type" : "string",
31099 "typetext" : "<string>"
56122987
DM
31100 }
31101 }
44660702
DM
31102 },
31103 "permissions" : {
31104 "check" : [
31105 "perm",
31106 "/nodes/{node}",
31107 [
31108 "Sys.Audit"
31109 ]
31110 ]
31111 },
31112 "protected" : 1,
31113 "proxyto" : "node",
31114 "returns" : {
44660702 31115 "type" : "array"
56122987
DM
31116 }
31117 }
31118 },
56122987 31119 "leaf" : 1,
44660702
DM
31120 "path" : "/nodes/{node}/execute",
31121 "text" : "execute"
56122987
DM
31122 },
31123 {
31124 "info" : {
7aacca6f 31125 "GET" : {
44660702
DM
31126 "description" : "Read node RRD statistics (returns PNG)",
31127 "method" : "GET",
7aacca6f 31128 "name" : "rrd",
56122987 31129 "parameters" : {
7aacca6f 31130 "additionalProperties" : 0,
56122987 31131 "properties" : {
44660702
DM
31132 "cf" : {
31133 "description" : "The RRD consolidation function",
31134 "enum" : [
31135 "AVERAGE",
31136 "MAX"
31137 ],
31138 "optional" : 1,
31139 "type" : "string"
31140 },
7aacca6f 31141 "ds" : {
7aacca6f 31142 "description" : "The list of datasources you want to display.",
44660702 31143 "format" : "pve-configid-list",
013dc89f
DM
31144 "type" : "string",
31145 "typetext" : "<string>"
44660702
DM
31146 },
31147 "node" : {
31148 "description" : "The cluster node name.",
31149 "format" : "pve-node",
013dc89f
DM
31150 "type" : "string",
31151 "typetext" : "<string>"
7aacca6f
DM
31152 },
31153 "timeframe" : {
31154 "description" : "Specify the time frame you are interested in.",
31155 "enum" : [
31156 "hour",
31157 "day",
31158 "week",
31159 "month",
31160 "year"
31161 ],
31162 "type" : "string"
56122987 31163 }
7aacca6f 31164 }
56122987 31165 },
56122987 31166 "permissions" : {
56122987
DM
31167 "check" : [
31168 "perm",
31169 "/nodes/{node}",
31170 [
7aacca6f 31171 "Sys.Audit"
56122987
DM
31172 ]
31173 ]
31174 },
7aacca6f 31175 "protected" : 1,
56122987 31176 "returns" : {
56122987 31177 "properties" : {
7aacca6f 31178 "filename" : {
56122987
DM
31179 "type" : "string"
31180 }
44660702
DM
31181 },
31182 "type" : "object"
31183 }
56122987
DM
31184 }
31185 },
44660702 31186 "leaf" : 1,
7aacca6f 31187 "path" : "/nodes/{node}/rrd",
44660702 31188 "text" : "rrd"
56122987
DM
31189 },
31190 {
31191 "info" : {
7aacca6f 31192 "GET" : {
44660702
DM
31193 "description" : "Read node RRD statistics",
31194 "method" : "GET",
7aacca6f 31195 "name" : "rrddata",
56122987 31196 "parameters" : {
44660702 31197 "additionalProperties" : 0,
56122987 31198 "properties" : {
7aacca6f 31199 "cf" : {
7aacca6f
DM
31200 "description" : "The RRD consolidation function",
31201 "enum" : [
31202 "AVERAGE",
31203 "MAX"
44660702
DM
31204 ],
31205 "optional" : 1,
31206 "type" : "string"
56122987
DM
31207 },
31208 "node" : {
44660702 31209 "description" : "The cluster node name.",
56122987 31210 "format" : "pve-node",
013dc89f
DM
31211 "type" : "string",
31212 "typetext" : "<string>"
56122987 31213 },
7aacca6f 31214 "timeframe" : {
7aacca6f
DM
31215 "description" : "Specify the time frame you are interested in.",
31216 "enum" : [
31217 "hour",
31218 "day",
31219 "week",
31220 "month",
31221 "year"
44660702
DM
31222 ],
31223 "type" : "string"
56122987 31224 }
56122987
DM
31225 }
31226 },
56122987
DM
31227 "permissions" : {
31228 "check" : [
31229 "perm",
31230 "/nodes/{node}",
31231 [
44660702 31232 "Sys.Audit"
56122987
DM
31233 ]
31234 ]
7aacca6f 31235 },
44660702 31236 "protected" : 1,
56122987 31237 "returns" : {
7aacca6f 31238 "items" : {
44660702 31239 "properties" : {},
7aacca6f
DM
31240 "type" : "object"
31241 },
31242 "type" : "array"
44660702
DM
31243 }
31244 }
31245 },
31246 "leaf" : 1,
31247 "path" : "/nodes/{node}/rrddata",
31248 "text" : "rrddata"
31249 },
31250 {
31251 "info" : {
31252 "GET" : {
31253 "description" : "Read system log",
31254 "method" : "GET",
31255 "name" : "syslog",
56122987 31256 "parameters" : {
44660702 31257 "additionalProperties" : 0,
56122987 31258 "properties" : {
44660702
DM
31259 "limit" : {
31260 "minimum" : 0,
7aacca6f 31261 "optional" : 1,
4bd7df8b 31262 "type" : "integer",
013dc89f 31263 "typetext" : "<integer> (0 - N)"
7aacca6f 31264 },
56122987 31265 "node" : {
7aacca6f 31266 "description" : "The cluster node name.",
44660702 31267 "format" : "pve-node",
013dc89f
DM
31268 "type" : "string",
31269 "typetext" : "<string>"
56122987 31270 },
35a75dd3
DM
31271 "service" : {
31272 "description" : "Service ID",
31273 "maxLength" : 128,
31274 "optional" : 1,
31275 "type" : "string",
31276 "typetext" : "<string>"
31277 },
44660702
DM
31278 "since" : {
31279 "description" : "Display all log since this date-time string.",
31280 "optional" : 1,
31281 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
31282 "type" : "string"
31283 },
31284 "start" : {
7aacca6f
DM
31285 "minimum" : 0,
31286 "optional" : 1,
4bd7df8b 31287 "type" : "integer",
013dc89f 31288 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
31289 },
31290 "until" : {
31291 "description" : "Display all log until this date-time string.",
7aacca6f 31292 "optional" : 1,
44660702 31293 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
31294 "type" : "string"
31295 }
44660702 31296 }
56122987 31297 },
44660702
DM
31298 "permissions" : {
31299 "check" : [
31300 "perm",
31301 "/nodes/{node}",
31302 [
31303 "Sys.Syslog"
31304 ]
31305 ]
31306 },
31307 "protected" : 1,
31308 "proxyto" : "node",
31309 "returns" : {
31310 "items" : {
31311 "properties" : {
31312 "n" : {
31313 "description" : "Line number",
31314 "type" : "integer"
31315 },
31316 "t" : {
31317 "description" : "Line text",
31318 "type" : "string"
31319 }
31320 },
31321 "type" : "object"
31322 },
31323 "type" : "array"
31324 }
56122987
DM
31325 }
31326 },
44660702
DM
31327 "leaf" : 1,
31328 "path" : "/nodes/{node}/syslog",
7aacca6f 31329 "text" : "syslog"
56122987
DM
31330 },
31331 {
56122987
DM
31332 "info" : {
31333 "POST" : {
44660702
DM
31334 "description" : "Creates a VNC Shell proxy.",
31335 "method" : "POST",
31336 "name" : "vncshell",
31337 "parameters" : {
31338 "additionalProperties" : 0,
56122987 31339 "properties" : {
5d9c884c
DM
31340 "height" : {
31341 "description" : "sets the height of the console in pixels.",
31342 "maximum" : 2160,
31343 "minimum" : 16,
31344 "optional" : 1,
31345 "type" : "integer",
31346 "typetext" : "<integer> (16 - 2160)"
31347 },
44660702
DM
31348 "node" : {
31349 "description" : "The cluster node name.",
31350 "format" : "pve-node",
013dc89f
DM
31351 "type" : "string",
31352 "typetext" : "<string>"
7aacca6f 31353 },
44660702
DM
31354 "upgrade" : {
31355 "default" : 0,
31356 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
31357 "optional" : 1,
013dc89f
DM
31358 "type" : "boolean",
31359 "typetext" : "<boolean>"
7aacca6f 31360 },
44660702
DM
31361 "websocket" : {
31362 "description" : "use websocket instead of standard vnc.",
31363 "optional" : 1,
013dc89f
DM
31364 "type" : "boolean",
31365 "typetext" : "<boolean>"
5d9c884c
DM
31366 },
31367 "width" : {
31368 "description" : "sets the width of the console in pixels.",
31369 "maximum" : 4096,
31370 "minimum" : 16,
31371 "optional" : 1,
31372 "type" : "integer",
31373 "typetext" : "<integer> (16 - 4096)"
56122987 31374 }
44660702 31375 }
56122987 31376 },
56122987
DM
31377 "permissions" : {
31378 "check" : [
31379 "perm",
7aacca6f 31380 "/nodes/{node}",
56122987 31381 [
7aacca6f 31382 "Sys.Console"
56122987 31383 ]
44660702
DM
31384 ],
31385 "description" : "Restricted to users on realm 'pam'"
56122987 31386 },
44660702
DM
31387 "protected" : 1,
31388 "returns" : {
31389 "additionalProperties" : 0,
56122987 31390 "properties" : {
44660702
DM
31391 "cert" : {
31392 "type" : "string"
7aacca6f 31393 },
44660702
DM
31394 "port" : {
31395 "type" : "integer"
7aacca6f 31396 },
44660702
DM
31397 "ticket" : {
31398 "type" : "string"
31399 },
31400 "upid" : {
31401 "type" : "string"
31402 },
31403 "user" : {
31404 "type" : "string"
56122987 31405 }
44660702
DM
31406 }
31407 }
56122987
DM
31408 }
31409 },
7aacca6f 31410 "leaf" : 1,
44660702
DM
31411 "path" : "/nodes/{node}/vncshell",
31412 "text" : "vncshell"
56122987 31413 },
35a75dd3
DM
31414 {
31415 "info" : {
31416 "POST" : {
31417 "description" : "Creates a VNC Shell proxy.",
31418 "method" : "POST",
31419 "name" : "termproxy",
31420 "parameters" : {
31421 "additionalProperties" : 0,
31422 "properties" : {
31423 "node" : {
31424 "description" : "The cluster node name.",
31425 "format" : "pve-node",
31426 "type" : "string",
31427 "typetext" : "<string>"
31428 },
31429 "upgrade" : {
31430 "default" : 0,
31431 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
31432 "optional" : 1,
31433 "type" : "boolean",
31434 "typetext" : "<boolean>"
31435 }
31436 }
31437 },
31438 "permissions" : {
31439 "check" : [
31440 "perm",
31441 "/nodes/{node}",
31442 [
31443 "Sys.Console"
31444 ]
31445 ],
31446 "description" : "Restricted to users on realm 'pam'"
31447 },
31448 "protected" : 1,
31449 "returns" : {
31450 "additionalProperties" : 0,
31451 "properties" : {
31452 "port" : {
31453 "type" : "integer"
31454 },
31455 "ticket" : {
31456 "type" : "string"
31457 },
31458 "upid" : {
31459 "type" : "string"
31460 },
31461 "user" : {
31462 "type" : "string"
31463 }
31464 }
31465 }
31466 }
31467 },
31468 "leaf" : 1,
31469 "path" : "/nodes/{node}/termproxy",
31470 "text" : "termproxy"
31471 },
56122987
DM
31472 {
31473 "info" : {
31474 "GET" : {
7aacca6f 31475 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
31476 "method" : "GET",
31477 "name" : "vncwebsocket",
56122987 31478 "parameters" : {
44660702 31479 "additionalProperties" : 0,
56122987
DM
31480 "properties" : {
31481 "node" : {
31482 "description" : "The cluster node name.",
44660702 31483 "format" : "pve-node",
013dc89f
DM
31484 "type" : "string",
31485 "typetext" : "<string>"
7aacca6f
DM
31486 },
31487 "port" : {
7aacca6f
DM
31488 "description" : "Port number returned by previous vncproxy call.",
31489 "maximum" : 5999,
44660702 31490 "minimum" : 5900,
4bd7df8b 31491 "type" : "integer",
013dc89f 31492 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
31493 },
31494 "vncticket" : {
31495 "description" : "Ticket from previous call to vncproxy.",
31496 "maxLength" : 512,
013dc89f
DM
31497 "type" : "string",
31498 "typetext" : "<string>"
56122987 31499 }
44660702 31500 }
56122987 31501 },
56122987
DM
31502 "permissions" : {
31503 "check" : [
31504 "perm",
31505 "/nodes/{node}",
31506 [
7aacca6f 31507 "Sys.Console"
56122987 31508 ]
44660702
DM
31509 ],
31510 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
31511 },
31512 "returns" : {
31513 "properties" : {
31514 "port" : {
31515 "type" : "string"
31516 }
31517 },
31518 "type" : "object"
7aacca6f 31519 }
56122987
DM
31520 }
31521 },
44660702 31522 "leaf" : 1,
7aacca6f 31523 "path" : "/nodes/{node}/vncwebsocket",
44660702 31524 "text" : "vncwebsocket"
56122987
DM
31525 },
31526 {
31527 "info" : {
31528 "POST" : {
44660702 31529 "description" : "Creates a SPICE shell.",
7aacca6f 31530 "method" : "POST",
44660702 31531 "name" : "spiceshell",
56122987 31532 "parameters" : {
7aacca6f 31533 "additionalProperties" : 0,
56122987 31534 "properties" : {
7aacca6f 31535 "node" : {
44660702 31536 "description" : "The cluster node name.",
56122987 31537 "format" : "pve-node",
013dc89f
DM
31538 "type" : "string",
31539 "typetext" : "<string>"
7aacca6f 31540 },
44660702 31541 "proxy" : {
4d47f125 31542 "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
31543 "format" : "address",
31544 "optional" : 1,
013dc89f
DM
31545 "type" : "string",
31546 "typetext" : "<string>"
7aacca6f 31547 },
44660702
DM
31548 "upgrade" : {
31549 "default" : 0,
31550 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
31551 "optional" : 1,
013dc89f
DM
31552 "type" : "boolean",
31553 "typetext" : "<boolean>"
56122987 31554 }
7aacca6f 31555 }
56122987 31556 },
56122987
DM
31557 "permissions" : {
31558 "check" : [
31559 "perm",
7aacca6f 31560 "/nodes/{node}",
56122987 31561 [
7aacca6f 31562 "Sys.Console"
56122987 31563 ]
7aacca6f
DM
31564 ],
31565 "description" : "Restricted to users on realm 'pam'"
44660702
DM
31566 },
31567 "protected" : 1,
31568 "proxyto" : "node",
31569 "returns" : {
31570 "additionalProperties" : 1,
31571 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
31572 "properties" : {
31573 "host" : {
31574 "type" : "string"
31575 },
31576 "password" : {
31577 "type" : "string"
31578 },
31579 "proxy" : {
31580 "type" : "string"
31581 },
31582 "tls-port" : {
31583 "type" : "integer"
31584 },
31585 "type" : {
31586 "type" : "string"
31587 }
31588 }
7aacca6f 31589 }
56122987
DM
31590 }
31591 },
56122987 31592 "leaf" : 1,
44660702
DM
31593 "path" : "/nodes/{node}/spiceshell",
31594 "text" : "spiceshell"
56122987
DM
31595 },
31596 {
56122987 31597 "info" : {
7aacca6f 31598 "GET" : {
44660702 31599 "description" : "Read DNS settings.",
7aacca6f 31600 "method" : "GET",
44660702
DM
31601 "name" : "dns",
31602 "parameters" : {
7aacca6f
DM
31603 "additionalProperties" : 0,
31604 "properties" : {
44660702
DM
31605 "node" : {
31606 "description" : "The cluster node name.",
31607 "format" : "pve-node",
013dc89f
DM
31608 "type" : "string",
31609 "typetext" : "<string>"
7aacca6f
DM
31610 }
31611 }
31612 },
7aacca6f
DM
31613 "permissions" : {
31614 "check" : [
31615 "perm",
31616 "/nodes/{node}",
31617 [
31618 "Sys.Audit"
31619 ]
31620 ]
31621 },
44660702
DM
31622 "proxyto" : "node",
31623 "returns" : {
56122987
DM
31624 "additionalProperties" : 0,
31625 "properties" : {
44660702
DM
31626 "dns1" : {
31627 "description" : "First name server IP address.",
31628 "optional" : 1,
31629 "type" : "string"
31630 },
31631 "dns2" : {
31632 "description" : "Second name server IP address.",
31633 "optional" : 1,
31634 "type" : "string"
31635 },
31636 "dns3" : {
31637 "description" : "Third name server IP address.",
31638 "optional" : 1,
31639 "type" : "string"
31640 },
31641 "search" : {
31642 "description" : "Search domain for host-name lookup.",
31643 "optional" : 1,
31644 "type" : "string"
7aacca6f 31645 }
44660702
DM
31646 },
31647 "type" : "object"
31648 }
7aacca6f
DM
31649 },
31650 "PUT" : {
44660702
DM
31651 "description" : "Write DNS settings.",
31652 "method" : "PUT",
7aacca6f
DM
31653 "name" : "update_dns",
31654 "parameters" : {
31655 "additionalProperties" : 0,
31656 "properties" : {
44660702
DM
31657 "dns1" : {
31658 "description" : "First name server IP address.",
31659 "format" : "ip",
31660 "optional" : 1,
013dc89f
DM
31661 "type" : "string",
31662 "typetext" : "<string>"
7aacca6f 31663 },
44660702
DM
31664 "dns2" : {
31665 "description" : "Second name server IP address.",
31666 "format" : "ip",
7aacca6f 31667 "optional" : 1,
013dc89f
DM
31668 "type" : "string",
31669 "typetext" : "<string>"
7aacca6f 31670 },
44660702
DM
31671 "dns3" : {
31672 "description" : "Third name server IP address.",
31673 "format" : "ip",
7aacca6f 31674 "optional" : 1,
013dc89f
DM
31675 "type" : "string",
31676 "typetext" : "<string>"
7aacca6f
DM
31677 },
31678 "node" : {
44660702 31679 "description" : "The cluster node name.",
56122987 31680 "format" : "pve-node",
013dc89f
DM
31681 "type" : "string",
31682 "typetext" : "<string>"
7aacca6f 31683 },
44660702
DM
31684 "search" : {
31685 "description" : "Search domain for host-name lookup.",
013dc89f
DM
31686 "type" : "string",
31687 "typetext" : "<string>"
56122987
DM
31688 }
31689 }
31690 },
31691 "permissions" : {
31692 "check" : [
31693 "perm",
7aacca6f 31694 "/nodes/{node}",
56122987 31695 [
7aacca6f 31696 "Sys.Modify"
56122987
DM
31697 ]
31698 ]
31699 },
44660702 31700 "protected" : 1,
7aacca6f 31701 "proxyto" : "node",
56122987 31702 "returns" : {
7aacca6f
DM
31703 "type" : "null"
31704 }
56122987 31705 }
44660702
DM
31706 },
31707 "leaf" : 1,
31708 "path" : "/nodes/{node}/dns",
31709 "text" : "dns"
56122987
DM
31710 },
31711 {
31712 "info" : {
7aacca6f 31713 "GET" : {
7aacca6f 31714 "description" : "Read server time and time zone settings.",
44660702
DM
31715 "method" : "GET",
31716 "name" : "time",
56122987 31717 "parameters" : {
44660702 31718 "additionalProperties" : 0,
56122987
DM
31719 "properties" : {
31720 "node" : {
44660702 31721 "description" : "The cluster node name.",
56122987 31722 "format" : "pve-node",
013dc89f
DM
31723 "type" : "string",
31724 "typetext" : "<string>"
56122987 31725 }
44660702 31726 }
56122987
DM
31727 },
31728 "permissions" : {
31729 "check" : [
31730 "perm",
7aacca6f 31731 "/nodes/{node}",
56122987 31732 [
7aacca6f 31733 "Sys.Audit"
56122987
DM
31734 ]
31735 ]
44660702
DM
31736 },
31737 "proxyto" : "node",
31738 "returns" : {
31739 "additionalProperties" : 0,
31740 "properties" : {
31741 "localtime" : {
31742 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
31743 "minimum" : 1297163644,
4d47f125 31744 "renderer" : "timestamp_gmt",
44660702
DM
31745 "type" : "integer"
31746 },
31747 "time" : {
31748 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
31749 "minimum" : 1297163644,
4d47f125 31750 "renderer" : "timestamp",
44660702
DM
31751 "type" : "integer"
31752 },
31753 "timezone" : {
31754 "description" : "Time zone",
31755 "type" : "string"
31756 }
31757 },
31758 "type" : "object"
7aacca6f
DM
31759 }
31760 },
31761 "PUT" : {
7aacca6f 31762 "description" : "Set time zone.",
44660702
DM
31763 "method" : "PUT",
31764 "name" : "set_timezone",
31765 "parameters" : {
31766 "additionalProperties" : 0,
31767 "properties" : {
31768 "node" : {
31769 "description" : "The cluster node name.",
31770 "format" : "pve-node",
013dc89f
DM
31771 "type" : "string",
31772 "typetext" : "<string>"
44660702
DM
31773 },
31774 "timezone" : {
31775 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
31776 "type" : "string",
31777 "typetext" : "<string>"
44660702
DM
31778 }
31779 }
31780 },
7aacca6f
DM
31781 "permissions" : {
31782 "check" : [
31783 "perm",
31784 "/nodes/{node}",
31785 [
31786 "Sys.Modify"
31787 ]
31788 ]
56122987 31789 },
7aacca6f 31790 "protected" : 1,
44660702
DM
31791 "proxyto" : "node",
31792 "returns" : {
31793 "type" : "null"
31794 }
7aacca6f
DM
31795 }
31796 },
7aacca6f 31797 "leaf" : 1,
44660702
DM
31798 "path" : "/nodes/{node}/time",
31799 "text" : "time"
7aacca6f
DM
31800 },
31801 {
31802 "info" : {
44660702
DM
31803 "GET" : {
31804 "description" : "Get list of appliances.",
31805 "method" : "GET",
31806 "name" : "aplinfo",
7aacca6f
DM
31807 "parameters" : {
31808 "additionalProperties" : 0,
31809 "properties" : {
7aacca6f 31810 "node" : {
44660702 31811 "description" : "The cluster node name.",
7aacca6f 31812 "format" : "pve-node",
013dc89f
DM
31813 "type" : "string",
31814 "typetext" : "<string>"
7aacca6f
DM
31815 }
31816 }
56122987 31817 },
7aacca6f 31818 "permissions" : {
44660702 31819 "user" : "all"
56122987 31820 },
44660702 31821 "proxyto" : "node",
7aacca6f
DM
31822 "returns" : {
31823 "items" : {
44660702
DM
31824 "properties" : {},
31825 "type" : "object"
7aacca6f
DM
31826 },
31827 "type" : "array"
44660702
DM
31828 }
31829 },
31830 "POST" : {
31831 "description" : "Download appliance templates.",
31832 "method" : "POST",
31833 "name" : "apl_download",
7aacca6f
DM
31834 "parameters" : {
31835 "additionalProperties" : 0,
31836 "properties" : {
31837 "node" : {
7aacca6f 31838 "description" : "The cluster node name.",
44660702 31839 "format" : "pve-node",
013dc89f
DM
31840 "type" : "string",
31841 "typetext" : "<string>"
44660702
DM
31842 },
31843 "storage" : {
4bd7df8b 31844 "description" : "The storage where the template will be stored",
44660702 31845 "format" : "pve-storage-id",
013dc89f
DM
31846 "type" : "string",
31847 "typetext" : "<string>"
44660702
DM
31848 },
31849 "template" : {
31850 "description" : "The template wich will downloaded",
31851 "maxLength" : 255,
013dc89f
DM
31852 "type" : "string",
31853 "typetext" : "<string>"
7aacca6f
DM
31854 }
31855 }
56122987 31856 },
7aacca6f 31857 "permissions" : {
44660702
DM
31858 "check" : [
31859 "perm",
31860 "/storage/{storage}",
31861 [
31862 "Datastore.AllocateTemplate"
31863 ]
31864 ]
31865 },
31866 "protected" : 1,
31867 "proxyto" : "node",
31868 "returns" : {
31869 "type" : "string"
7aacca6f
DM
31870 }
31871 }
31872 },
7aacca6f 31873 "leaf" : 1,
44660702
DM
31874 "path" : "/nodes/{node}/aplinfo",
31875 "text" : "aplinfo"
7aacca6f
DM
31876 },
31877 {
31878 "info" : {
31879 "GET" : {
44660702
DM
31880 "description" : "Gather various systems information about a node",
31881 "method" : "GET",
31882 "name" : "report",
7aacca6f 31883 "parameters" : {
44660702 31884 "additionalProperties" : 0,
7aacca6f
DM
31885 "properties" : {
31886 "node" : {
7aacca6f 31887 "description" : "The cluster node name.",
44660702 31888 "format" : "pve-node",
013dc89f
DM
31889 "type" : "string",
31890 "typetext" : "<string>"
7aacca6f 31891 }
44660702 31892 }
56122987 31893 },
7aacca6f
DM
31894 "permissions" : {
31895 "check" : [
31896 "perm",
31897 "/nodes/{node}",
31898 [
31899 "Sys.Audit"
31900 ]
31901 ]
56122987 31902 },
44660702 31903 "protected" : 1,
7aacca6f
DM
31904 "proxyto" : "node",
31905 "returns" : {
56122987 31906 "type" : "string"
7aacca6f
DM
31907 }
31908 }
31909 },
7aacca6f 31910 "leaf" : 1,
44660702
DM
31911 "path" : "/nodes/{node}/report",
31912 "text" : "report"
7aacca6f
DM
31913 },
31914 {
7aacca6f
DM
31915 "info" : {
31916 "POST" : {
44660702 31917 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 31918 "method" : "POST",
44660702 31919 "name" : "startall",
7aacca6f 31920 "parameters" : {
44660702 31921 "additionalProperties" : 0,
7aacca6f
DM
31922 "properties" : {
31923 "force" : {
44660702 31924 "description" : "force if onboot=0.",
7aacca6f 31925 "optional" : 1,
013dc89f
DM
31926 "type" : "boolean",
31927 "typetext" : "<boolean>"
7aacca6f
DM
31928 },
31929 "node" : {
7aacca6f 31930 "description" : "The cluster node name.",
44660702 31931 "format" : "pve-node",
013dc89f
DM
31932 "type" : "string",
31933 "typetext" : "<string>"
52e44c50
FG
31934 },
31935 "vms" : {
31936 "description" : "Only consider Guests with these IDs.",
31937 "format" : "pve-vmid-list",
31938 "optional" : 1,
31939 "type" : "string",
31940 "typetext" : "<string>"
7aacca6f 31941 }
44660702 31942 }
56122987 31943 },
7aacca6f
DM
31944 "permissions" : {
31945 "check" : [
31946 "perm",
31947 "/",
31948 [
31949 "VM.PowerMgmt"
31950 ]
31951 ]
44660702
DM
31952 },
31953 "protected" : 1,
31954 "proxyto" : "node",
31955 "returns" : {
31956 "type" : "string"
7aacca6f
DM
31957 }
31958 }
31959 },
44660702 31960 "leaf" : 1,
7aacca6f 31961 "path" : "/nodes/{node}/startall",
44660702 31962 "text" : "startall"
7aacca6f
DM
31963 },
31964 {
7aacca6f
DM
31965 "info" : {
31966 "POST" : {
31967 "description" : "Stop all VMs and Containers.",
44660702
DM
31968 "method" : "POST",
31969 "name" : "stopall",
7aacca6f 31970 "parameters" : {
44660702 31971 "additionalProperties" : 0,
7aacca6f
DM
31972 "properties" : {
31973 "node" : {
44660702 31974 "description" : "The cluster node name.",
7aacca6f 31975 "format" : "pve-node",
013dc89f
DM
31976 "type" : "string",
31977 "typetext" : "<string>"
52e44c50
FG
31978 },
31979 "vms" : {
31980 "description" : "Only consider Guests with these IDs.",
31981 "format" : "pve-vmid-list",
31982 "optional" : 1,
31983 "type" : "string",
31984 "typetext" : "<string>"
7aacca6f 31985 }
44660702 31986 }
56122987 31987 },
7aacca6f
DM
31988 "permissions" : {
31989 "check" : [
31990 "perm",
31991 "/",
31992 [
44660702 31993 "VM.PowerMgmt"
7aacca6f
DM
31994 ]
31995 ]
56122987 31996 },
44660702 31997 "protected" : 1,
7aacca6f 31998 "proxyto" : "node",
44660702
DM
31999 "returns" : {
32000 "type" : "string"
32001 }
32002 }
56122987 32003 },
44660702
DM
32004 "leaf" : 1,
32005 "path" : "/nodes/{node}/stopall",
32006 "text" : "stopall"
32007 },
32008 {
32009 "info" : {
32010 "POST" : {
32011 "description" : "Migrate all VMs and Containers.",
32012 "method" : "POST",
32013 "name" : "migrateall",
32014 "parameters" : {
32015 "additionalProperties" : 0,
32016 "properties" : {
32017 "maxworkers" : {
32018 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
32019 "minimum" : 1,
32020 "optional" : 1,
4bd7df8b 32021 "type" : "integer",
013dc89f 32022 "typetext" : "<integer> (1 - N)"
44660702
DM
32023 },
32024 "node" : {
32025 "description" : "The cluster node name.",
32026 "format" : "pve-node",
013dc89f
DM
32027 "type" : "string",
32028 "typetext" : "<string>"
44660702
DM
32029 },
32030 "target" : {
32031 "description" : "Target node.",
32032 "format" : "pve-node",
013dc89f
DM
32033 "type" : "string",
32034 "typetext" : "<string>"
52e44c50
FG
32035 },
32036 "vms" : {
32037 "description" : "Only consider Guests with these IDs.",
32038 "format" : "pve-vmid-list",
32039 "optional" : 1,
32040 "type" : "string",
32041 "typetext" : "<string>"
44660702
DM
32042 }
32043 }
32044 },
32045 "permissions" : {
32046 "check" : [
32047 "perm",
32048 "/",
32049 [
32050 "VM.Migrate"
32051 ]
32052 ]
32053 },
32054 "protected" : 1,
32055 "proxyto" : "node",
32056 "returns" : {
32057 "type" : "string"
32058 }
32059 }
56122987 32060 },
44660702
DM
32061 "leaf" : 1,
32062 "path" : "/nodes/{node}/migrateall",
32063 "text" : "migrateall"
4d47f125
TL
32064 },
32065 {
32066 "info" : {
32067 "GET" : {
32068 "description" : "Get the content of /etc/hosts.",
32069 "method" : "GET",
32070 "name" : "get_etc_hosts",
32071 "parameters" : {
32072 "additionalProperties" : 0,
32073 "properties" : {
32074 "node" : {
32075 "description" : "The cluster node name.",
32076 "format" : "pve-node",
32077 "type" : "string",
32078 "typetext" : "<string>"
32079 }
32080 }
32081 },
32082 "permissions" : {
32083 "check" : [
32084 "perm",
32085 "/",
32086 [
32087 "Sys.Audit"
32088 ]
32089 ]
32090 },
32091 "protected" : 1,
32092 "proxyto" : "node",
32093 "returns" : {
32094 "properties" : {
32095 "data" : {
32096 "description" : "The content of /etc/hosts.",
32097 "type" : "string"
32098 },
32099 "digest" : {
32100 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32101 "maxLength" : 40,
32102 "optional" : 1,
32103 "type" : "string"
32104 }
32105 },
32106 "type" : "object"
32107 }
32108 },
32109 "POST" : {
32110 "description" : "Write /etc/hosts.",
32111 "method" : "POST",
32112 "name" : "write_etc_hosts",
32113 "parameters" : {
32114 "additionalProperties" : 0,
32115 "properties" : {
32116 "data" : {
32117 "description" : "The target content of /etc/hosts.",
32118 "type" : "string",
32119 "typetext" : "<string>"
32120 },
32121 "digest" : {
32122 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32123 "maxLength" : 40,
32124 "optional" : 1,
32125 "type" : "string",
32126 "typetext" : "<string>"
32127 },
32128 "node" : {
32129 "description" : "The cluster node name.",
32130 "format" : "pve-node",
32131 "type" : "string",
32132 "typetext" : "<string>"
32133 }
32134 }
32135 },
32136 "permissions" : {
32137 "check" : [
32138 "perm",
32139 "/nodes/{node}",
32140 [
32141 "Sys.Modify"
32142 ]
32143 ]
32144 },
32145 "protected" : 1,
32146 "proxyto" : "node",
32147 "returns" : {
32148 "type" : "null"
32149 }
32150 }
32151 },
32152 "leaf" : 1,
32153 "path" : "/nodes/{node}/hosts",
32154 "text" : "hosts"
44660702
DM
32155 }
32156 ],
32157 "info" : {
32158 "GET" : {
32159 "description" : "Node index.",
32160 "method" : "GET",
32161 "name" : "index",
32162 "parameters" : {
32163 "additionalProperties" : 0,
32164 "properties" : {
32165 "node" : {
32166 "description" : "The cluster node name.",
32167 "format" : "pve-node",
013dc89f
DM
32168 "type" : "string",
32169 "typetext" : "<string>"
44660702
DM
32170 }
32171 }
56122987 32172 },
44660702
DM
32173 "permissions" : {
32174 "user" : "all"
56122987 32175 },
44660702
DM
32176 "returns" : {
32177 "items" : {
32178 "properties" : {},
32179 "type" : "object"
32180 },
32181 "links" : [
32182 {
32183 "href" : "{name}",
32184 "rel" : "child"
32185 }
56122987 32186 ],
44660702 32187 "type" : "array"
7aacca6f
DM
32188 }
32189 }
32190 },
44660702
DM
32191 "leaf" : 0,
32192 "path" : "/nodes/{node}",
32193 "text" : "{node}"
32194 }
32195 ],
32196 "info" : {
7aacca6f 32197 "GET" : {
44660702 32198 "description" : "Cluster node index.",
7aacca6f 32199 "method" : "GET",
44660702 32200 "name" : "index",
7aacca6f 32201 "parameters" : {
7aacca6f
DM
32202 "additionalProperties" : 0
32203 },
32204 "permissions" : {
7aacca6f
DM
32205 "user" : "all"
32206 },
44660702
DM
32207 "returns" : {
32208 "items" : {
4d47f125
TL
32209 "properties" : {
32210 "cpu" : {
32211 "description" : "CPU utilization.",
32212 "optional" : 1,
32213 "renderer" : "fraction_as_percentage",
32214 "type" : "number"
32215 },
32216 "level" : {
32217 "description" : "Support level.",
32218 "optional" : 1,
32219 "type" : "string"
32220 },
32221 "maxcpu" : {
32222 "description" : "Number of available CPUs.",
32223 "optional" : 1,
32224 "type" : "integer"
32225 },
32226 "maxmem" : {
32227 "description" : "Number of available memory in bytes.",
32228 "optional" : 1,
32229 "renderer" : "bytes",
32230 "type" : "integer"
32231 },
32232 "mem" : {
32233 "description" : "Used memory in bytes.",
32234 "optional" : 1,
32235 "renderer" : "bytes",
32236 "type" : "string"
32237 },
32238 "node" : {
32239 "description" : "The cluster node name.",
32240 "format" : "pve-node",
32241 "type" : "string"
32242 },
32243 "ssl_fingerprint" : {
32244 "description" : "The SSL fingerprint for the node certificate.",
32245 "optional" : 1,
32246 "type" : "string"
32247 },
32248 "status" : {
32249 "description" : "Node status.",
32250 "enum" : [
32251 "unknown",
32252 "online",
32253 "offline"
32254 ],
32255 "type" : "string"
32256 },
32257 "uptime" : {
32258 "description" : "Node uptime in seconds.",
32259 "optional" : 1,
32260 "renderer" : "duration",
32261 "type" : "integer"
32262 }
32263 },
44660702
DM
32264 "type" : "object"
32265 },
32266 "links" : [
32267 {
32268 "href" : "{node}",
32269 "rel" : "child"
32270 }
32271 ],
32272 "type" : "array"
32273 }
7aacca6f
DM
32274 }
32275 },
44660702
DM
32276 "leaf" : 0,
32277 "path" : "/nodes",
32278 "text" : "nodes"
32279 },
32280 {
7aacca6f
DM
32281 "children" : [
32282 {
7aacca6f 32283 "info" : {
44660702
DM
32284 "DELETE" : {
32285 "description" : "Delete storage configuration.",
32286 "method" : "DELETE",
32287 "name" : "delete",
7aacca6f
DM
32288 "parameters" : {
32289 "additionalProperties" : 0,
32290 "properties" : {
32291 "storage" : {
7aacca6f 32292 "description" : "The storage identifier.",
44660702 32293 "format" : "pve-storage-id",
013dc89f
DM
32294 "type" : "string",
32295 "typetext" : "<string>"
7aacca6f
DM
32296 }
32297 }
56122987 32298 },
7aacca6f
DM
32299 "permissions" : {
32300 "check" : [
32301 "perm",
32302 "/storage",
32303 [
32304 "Datastore.Allocate"
32305 ]
32306 ]
56122987 32307 },
44660702
DM
32308 "protected" : 1,
32309 "returns" : {
32310 "type" : "null"
32311 }
32312 },
32313 "GET" : {
32314 "description" : "Read storage configuration.",
32315 "method" : "GET",
32316 "name" : "read",
7aacca6f
DM
32317 "parameters" : {
32318 "additionalProperties" : 0,
32319 "properties" : {
32320 "storage" : {
44660702 32321 "description" : "The storage identifier.",
7aacca6f 32322 "format" : "pve-storage-id",
013dc89f
DM
32323 "type" : "string",
32324 "typetext" : "<string>"
7aacca6f
DM
32325 }
32326 }
32327 },
44660702
DM
32328 "permissions" : {
32329 "check" : [
32330 "perm",
32331 "/storage/{storage}",
32332 [
32333 "Datastore.Allocate"
32334 ]
32335 ]
32336 },
5da3d723
TL
32337 "returns" : {
32338 "type" : "object"
32339 }
7aacca6f
DM
32340 },
32341 "PUT" : {
44660702
DM
32342 "description" : "Update storage configuration.",
32343 "method" : "PUT",
32344 "name" : "update",
32345 "parameters" : {
32346 "additionalProperties" : 0,
32347 "properties" : {
32348 "blocksize" : {
32349 "description" : "block size",
7aacca6f 32350 "optional" : 1,
013dc89f
DM
32351 "type" : "string",
32352 "typetext" : "<string>"
7aacca6f 32353 },
27a7acb2
DM
32354 "bwlimit" : {
32355 "description" : "Set bandwidth/io limits various operations.",
32356 "format" : {
32357 "clone" : {
32358 "description" : "bandwidth limit in MiB/s for cloning disks",
32359 "format_description" : "LIMIT",
32360 "minimum" : "0",
32361 "optional" : 1,
32362 "type" : "number"
32363 },
32364 "default" : {
32365 "description" : "default bandwidth limit in MiB/s",
32366 "format_description" : "LIMIT",
32367 "minimum" : "0",
32368 "optional" : 1,
32369 "type" : "number"
32370 },
32371 "migration" : {
32372 "description" : "bandwidth limit in MiB/s for migrating guests",
32373 "format_description" : "LIMIT",
32374 "minimum" : "0",
32375 "optional" : 1,
32376 "type" : "number"
32377 },
32378 "move" : {
32379 "description" : "bandwidth limit in MiB/s for moving disks",
32380 "format_description" : "LIMIT",
32381 "minimum" : "0",
32382 "optional" : 1,
32383 "type" : "number"
32384 },
32385 "restore" : {
32386 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
32387 "format_description" : "LIMIT",
32388 "minimum" : "0",
32389 "optional" : 1,
32390 "type" : "number"
32391 }
32392 },
32393 "optional" : 1,
32394 "type" : "string",
32395 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
32396 },
44660702
DM
32397 "comstar_hg" : {
32398 "description" : "host group for comstar views",
32399 "optional" : 1,
013dc89f
DM
32400 "type" : "string",
32401 "typetext" : "<string>"
7aacca6f 32402 },
44660702
DM
32403 "comstar_tg" : {
32404 "description" : "target group for comstar views",
7aacca6f 32405 "optional" : 1,
013dc89f
DM
32406 "type" : "string",
32407 "typetext" : "<string>"
7aacca6f 32408 },
44660702
DM
32409 "content" : {
32410 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
32411 "format" : "pve-storage-content-list",
7aacca6f 32412 "optional" : 1,
013dc89f
DM
32413 "type" : "string",
32414 "typetext" : "<string>"
7aacca6f 32415 },
44660702
DM
32416 "delete" : {
32417 "description" : "A list of settings you want to delete.",
32418 "format" : "pve-configid-list",
32419 "maxLength" : 4096,
7aacca6f 32420 "optional" : 1,
013dc89f
DM
32421 "type" : "string",
32422 "typetext" : "<string>"
7aacca6f
DM
32423 },
32424 "digest" : {
44660702 32425 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 32426 "maxLength" : 40,
7aacca6f 32427 "optional" : 1,
013dc89f
DM
32428 "type" : "string",
32429 "typetext" : "<string>"
7aacca6f 32430 },
44660702
DM
32431 "disable" : {
32432 "description" : "Flag to disable the storage.",
32433 "optional" : 1,
013dc89f
DM
32434 "type" : "boolean",
32435 "typetext" : "<boolean>"
7aacca6f 32436 },
27a7acb2
DM
32437 "domain" : {
32438 "description" : "CIFS domain.",
32439 "maxLength" : 256,
32440 "optional" : 1,
32441 "type" : "string",
32442 "typetext" : "<string>"
32443 },
7aacca6f
DM
32444 "format" : {
32445 "description" : "Default image format.",
44660702 32446 "format" : "pve-storage-format",
7aacca6f 32447 "optional" : 1,
013dc89f
DM
32448 "type" : "string",
32449 "typetext" : "<string>"
7aacca6f 32450 },
5da3d723
TL
32451 "fuse" : {
32452 "description" : "Mount CephFS through FUSE.",
32453 "optional" : 1,
32454 "type" : "boolean",
32455 "typetext" : "<boolean>"
32456 },
2c0dde61
DM
32457 "is_mountpoint" : {
32458 "default" : "no",
2489d6df 32459 "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 32460 "optional" : 1,
2489d6df
WB
32461 "type" : "string",
32462 "typetext" : "<string>"
2c0dde61 32463 },
44660702
DM
32464 "krbd" : {
32465 "description" : "Access rbd through krbd kernel module.",
7aacca6f 32466 "optional" : 1,
013dc89f
DM
32467 "type" : "boolean",
32468 "typetext" : "<boolean>"
7aacca6f 32469 },
4d47f125
TL
32470 "lio_tpg" : {
32471 "description" : "target portal group for Linux LIO targets",
32472 "optional" : 1,
32473 "type" : "string",
32474 "typetext" : "<string>"
32475 },
44660702
DM
32476 "maxfiles" : {
32477 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
32478 "minimum" : 0,
32479 "optional" : 1,
4bd7df8b 32480 "type" : "integer",
013dc89f 32481 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
32482 },
32483 "mkdir" : {
32484 "default" : "yes",
32485 "description" : "Create the directory if it doesn't exist.",
32486 "optional" : 1,
013dc89f
DM
32487 "type" : "boolean",
32488 "typetext" : "<boolean>"
7aacca6f 32489 },
2489d6df
WB
32490 "monhost" : {
32491 "description" : "IP addresses of monitors (for external clusters).",
32492 "format" : "pve-storage-portal-dns-list",
32493 "optional" : 1,
32494 "type" : "string",
32495 "typetext" : "<string>"
32496 },
7aacca6f 32497 "nodes" : {
44660702 32498 "description" : "List of cluster node names.",
7aacca6f
DM
32499 "format" : "pve-node-list",
32500 "optional" : 1,
013dc89f
DM
32501 "type" : "string",
32502 "typetext" : "<string>"
7aacca6f 32503 },
44660702
DM
32504 "nowritecache" : {
32505 "description" : "disable write caching on the target",
7aacca6f 32506 "optional" : 1,
013dc89f
DM
32507 "type" : "boolean",
32508 "typetext" : "<boolean>"
7aacca6f
DM
32509 },
32510 "options" : {
7aacca6f 32511 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
32512 "format" : "pve-storage-options",
32513 "optional" : 1,
013dc89f
DM
32514 "type" : "string",
32515 "typetext" : "<string>"
44660702 32516 },
27a7acb2
DM
32517 "password" : {
32518 "description" : "Password for CIFS share.",
32519 "maxLength" : 256,
32520 "optional" : 1,
32521 "type" : "string",
32522 "typetext" : "<string>"
32523 },
44660702
DM
32524 "pool" : {
32525 "description" : "Pool.",
32526 "optional" : 1,
013dc89f
DM
32527 "type" : "string",
32528 "typetext" : "<string>"
44660702
DM
32529 },
32530 "redundancy" : {
32531 "default" : 2,
32532 "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.",
32533 "maximum" : 16,
32534 "minimum" : 1,
32535 "optional" : 1,
4bd7df8b 32536 "type" : "integer",
013dc89f 32537 "typetext" : "<integer> (1 - 16)"
44660702
DM
32538 },
32539 "saferemove" : {
32540 "description" : "Zero-out data when removing LVs.",
32541 "optional" : 1,
013dc89f
DM
32542 "type" : "boolean",
32543 "typetext" : "<boolean>"
7aacca6f
DM
32544 },
32545 "saferemove_throughput" : {
44660702 32546 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 32547 "optional" : 1,
013dc89f
DM
32548 "type" : "string",
32549 "typetext" : "<string>"
7aacca6f 32550 },
44660702
DM
32551 "server" : {
32552 "description" : "Server IP or DNS name.",
32553 "format" : "pve-storage-server",
7aacca6f 32554 "optional" : 1,
013dc89f
DM
32555 "type" : "string",
32556 "typetext" : "<string>"
7aacca6f 32557 },
44660702
DM
32558 "server2" : {
32559 "description" : "Backup volfile server IP or DNS name.",
32560 "format" : "pve-storage-server",
7aacca6f 32561 "optional" : 1,
44660702 32562 "requires" : "server",
013dc89f
DM
32563 "type" : "string",
32564 "typetext" : "<string>"
44660702
DM
32565 },
32566 "shared" : {
32567 "description" : "Mark storage as shared.",
32568 "optional" : 1,
013dc89f
DM
32569 "type" : "boolean",
32570 "typetext" : "<boolean>"
44660702 32571 },
27a7acb2 32572 "smbversion" : {
5da3d723
TL
32573 "description" : "SMB protocol version",
32574 "enum" : [
32575 "2.0",
32576 "2.1",
32577 "3.0"
32578 ],
27a7acb2 32579 "optional" : 1,
5da3d723 32580 "type" : "string"
27a7acb2 32581 },
44660702
DM
32582 "sparse" : {
32583 "description" : "use sparse volumes",
32584 "optional" : 1,
013dc89f
DM
32585 "type" : "boolean",
32586 "typetext" : "<boolean>"
44660702
DM
32587 },
32588 "storage" : {
32589 "description" : "The storage identifier.",
32590 "format" : "pve-storage-id",
013dc89f
DM
32591 "type" : "string",
32592 "typetext" : "<string>"
44660702 32593 },
5da3d723
TL
32594 "subdir" : {
32595 "description" : "Subdir to mount.",
32596 "format" : "pve-storage-path",
32597 "optional" : 1,
32598 "type" : "string",
32599 "typetext" : "<string>"
32600 },
4bd7df8b
DM
32601 "tagged_only" : {
32602 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
32603 "optional" : 1,
013dc89f
DM
32604 "type" : "boolean",
32605 "typetext" : "<boolean>"
4bd7df8b 32606 },
44660702
DM
32607 "transport" : {
32608 "description" : "Gluster transport: tcp or rdma",
32609 "enum" : [
32610 "tcp",
32611 "rdma",
32612 "unix"
32613 ],
32614 "optional" : 1,
32615 "type" : "string"
7aacca6f
DM
32616 },
32617 "username" : {
32618 "description" : "RBD Id.",
44660702 32619 "optional" : 1,
013dc89f
DM
32620 "type" : "string",
32621 "typetext" : "<string>"
7aacca6f 32622 }
44660702
DM
32623 },
32624 "type" : "object"
32625 },
32626 "permissions" : {
32627 "check" : [
32628 "perm",
32629 "/storage",
32630 [
32631 "Datastore.Allocate"
32632 ]
32633 ]
32634 },
32635 "protected" : 1,
32636 "returns" : {
32637 "type" : "null"
32638 }
32639 }
32640 },
32641 "leaf" : 1,
32642 "path" : "/storage/{storage}",
32643 "text" : "{storage}"
32644 }
32645 ],
32646 "info" : {
32647 "GET" : {
32648 "description" : "Storage index.",
32649 "method" : "GET",
32650 "name" : "index",
32651 "parameters" : {
32652 "additionalProperties" : 0,
32653 "properties" : {
32654 "type" : {
32655 "description" : "Only list storage of specific type",
32656 "enum" : [
5da3d723 32657 "cephfs",
27a7acb2 32658 "cifs",
44660702
DM
32659 "dir",
32660 "drbd",
32661 "glusterfs",
32662 "iscsi",
32663 "iscsidirect",
32664 "lvm",
32665 "lvmthin",
32666 "nfs",
32667 "rbd",
32668 "sheepdog",
32669 "zfs",
32670 "zfspool"
32671 ],
32672 "optional" : 1,
32673 "type" : "string"
32674 }
32675 }
32676 },
32677 "permissions" : {
32678 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
32679 "user" : "all"
32680 },
32681 "returns" : {
32682 "items" : {
32683 "properties" : {
32684 "storage" : {
32685 "type" : "string"
7aacca6f 32686 }
56122987 32687 },
44660702
DM
32688 "type" : "object"
32689 },
32690 "links" : [
32691 {
32692 "href" : "{storage}",
32693 "rel" : "child"
32694 }
32695 ],
32696 "type" : "array"
32697 }
32698 },
32699 "POST" : {
32700 "description" : "Create a new storage.",
32701 "method" : "POST",
32702 "name" : "create",
32703 "parameters" : {
32704 "additionalProperties" : 0,
32705 "properties" : {
32706 "authsupported" : {
32707 "description" : "Authsupported.",
32708 "optional" : 1,
013dc89f
DM
32709 "type" : "string",
32710 "typetext" : "<string>"
44660702
DM
32711 },
32712 "base" : {
32713 "description" : "Base volume. This volume is automatically activated.",
32714 "format" : "pve-volume-id",
32715 "optional" : 1,
013dc89f
DM
32716 "type" : "string",
32717 "typetext" : "<string>"
44660702
DM
32718 },
32719 "blocksize" : {
32720 "description" : "block size",
32721 "optional" : 1,
013dc89f
DM
32722 "type" : "string",
32723 "typetext" : "<string>"
44660702 32724 },
27a7acb2
DM
32725 "bwlimit" : {
32726 "description" : "Set bandwidth/io limits various operations.",
32727 "format" : {
32728 "clone" : {
32729 "description" : "bandwidth limit in MiB/s for cloning disks",
32730 "format_description" : "LIMIT",
32731 "minimum" : "0",
32732 "optional" : 1,
32733 "type" : "number"
32734 },
32735 "default" : {
32736 "description" : "default bandwidth limit in MiB/s",
32737 "format_description" : "LIMIT",
32738 "minimum" : "0",
32739 "optional" : 1,
32740 "type" : "number"
32741 },
32742 "migration" : {
32743 "description" : "bandwidth limit in MiB/s for migrating guests",
32744 "format_description" : "LIMIT",
32745 "minimum" : "0",
32746 "optional" : 1,
32747 "type" : "number"
32748 },
32749 "move" : {
32750 "description" : "bandwidth limit in MiB/s for moving disks",
32751 "format_description" : "LIMIT",
32752 "minimum" : "0",
32753 "optional" : 1,
32754 "type" : "number"
32755 },
32756 "restore" : {
32757 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
32758 "format_description" : "LIMIT",
32759 "minimum" : "0",
32760 "optional" : 1,
32761 "type" : "number"
32762 }
32763 },
32764 "optional" : 1,
32765 "type" : "string",
32766 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
32767 },
44660702
DM
32768 "comstar_hg" : {
32769 "description" : "host group for comstar views",
32770 "optional" : 1,
013dc89f
DM
32771 "type" : "string",
32772 "typetext" : "<string>"
44660702
DM
32773 },
32774 "comstar_tg" : {
32775 "description" : "target group for comstar views",
32776 "optional" : 1,
013dc89f
DM
32777 "type" : "string",
32778 "typetext" : "<string>"
44660702
DM
32779 },
32780 "content" : {
32781 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
32782 "format" : "pve-storage-content-list",
32783 "optional" : 1,
013dc89f
DM
32784 "type" : "string",
32785 "typetext" : "<string>"
44660702
DM
32786 },
32787 "disable" : {
32788 "description" : "Flag to disable the storage.",
32789 "optional" : 1,
013dc89f
DM
32790 "type" : "boolean",
32791 "typetext" : "<boolean>"
44660702 32792 },
27a7acb2
DM
32793 "domain" : {
32794 "description" : "CIFS domain.",
32795 "maxLength" : 256,
32796 "optional" : 1,
32797 "type" : "string",
32798 "typetext" : "<string>"
32799 },
44660702
DM
32800 "export" : {
32801 "description" : "NFS export path.",
32802 "format" : "pve-storage-path",
32803 "optional" : 1,
013dc89f
DM
32804 "type" : "string",
32805 "typetext" : "<string>"
44660702
DM
32806 },
32807 "format" : {
32808 "description" : "Default image format.",
32809 "format" : "pve-storage-format",
32810 "optional" : 1,
013dc89f
DM
32811 "type" : "string",
32812 "typetext" : "<string>"
44660702 32813 },
5da3d723
TL
32814 "fuse" : {
32815 "description" : "Mount CephFS through FUSE.",
32816 "optional" : 1,
32817 "type" : "boolean",
32818 "typetext" : "<boolean>"
32819 },
2c0dde61
DM
32820 "is_mountpoint" : {
32821 "default" : "no",
2489d6df 32822 "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 32823 "optional" : 1,
2489d6df
WB
32824 "type" : "string",
32825 "typetext" : "<string>"
2c0dde61 32826 },
44660702
DM
32827 "iscsiprovider" : {
32828 "description" : "iscsi provider",
32829 "optional" : 1,
013dc89f
DM
32830 "type" : "string",
32831 "typetext" : "<string>"
44660702
DM
32832 },
32833 "krbd" : {
32834 "description" : "Access rbd through krbd kernel module.",
32835 "optional" : 1,
013dc89f
DM
32836 "type" : "boolean",
32837 "typetext" : "<boolean>"
56122987 32838 },
4d47f125
TL
32839 "lio_tpg" : {
32840 "description" : "target portal group for Linux LIO targets",
32841 "optional" : 1,
32842 "type" : "string",
32843 "typetext" : "<string>"
32844 },
44660702
DM
32845 "maxfiles" : {
32846 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
32847 "minimum" : 0,
32848 "optional" : 1,
4bd7df8b 32849 "type" : "integer",
013dc89f 32850 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
32851 },
32852 "mkdir" : {
32853 "default" : "yes",
32854 "description" : "Create the directory if it doesn't exist.",
32855 "optional" : 1,
013dc89f
DM
32856 "type" : "boolean",
32857 "typetext" : "<boolean>"
7aacca6f 32858 },
44660702 32859 "monhost" : {
2489d6df 32860 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 32861 "format" : "pve-storage-portal-dns-list",
44660702 32862 "optional" : 1,
013dc89f
DM
32863 "type" : "string",
32864 "typetext" : "<string>"
7aacca6f 32865 },
44660702
DM
32866 "nodes" : {
32867 "description" : "List of cluster node names.",
32868 "format" : "pve-node-list",
32869 "optional" : 1,
013dc89f
DM
32870 "type" : "string",
32871 "typetext" : "<string>"
7aacca6f 32872 },
44660702
DM
32873 "nowritecache" : {
32874 "description" : "disable write caching on the target",
32875 "optional" : 1,
013dc89f
DM
32876 "type" : "boolean",
32877 "typetext" : "<boolean>"
44660702
DM
32878 },
32879 "options" : {
32880 "description" : "NFS mount options (see 'man nfs')",
32881 "format" : "pve-storage-options",
32882 "optional" : 1,
013dc89f
DM
32883 "type" : "string",
32884 "typetext" : "<string>"
44660702 32885 },
27a7acb2
DM
32886 "password" : {
32887 "description" : "Password for CIFS share.",
32888 "maxLength" : 256,
32889 "optional" : 1,
32890 "type" : "string",
32891 "typetext" : "<string>"
32892 },
44660702
DM
32893 "path" : {
32894 "description" : "File system path.",
32895 "format" : "pve-storage-path",
32896 "optional" : 1,
013dc89f
DM
32897 "type" : "string",
32898 "typetext" : "<string>"
44660702
DM
32899 },
32900 "pool" : {
32901 "description" : "Pool.",
32902 "optional" : 1,
013dc89f
DM
32903 "type" : "string",
32904 "typetext" : "<string>"
44660702
DM
32905 },
32906 "portal" : {
32907 "description" : "iSCSI portal (IP or DNS name with optional port).",
32908 "format" : "pve-storage-portal-dns",
32909 "optional" : 1,
013dc89f
DM
32910 "type" : "string",
32911 "typetext" : "<string>"
44660702
DM
32912 },
32913 "redundancy" : {
32914 "default" : 2,
32915 "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.",
32916 "maximum" : 16,
32917 "minimum" : 1,
32918 "optional" : 1,
4bd7df8b 32919 "type" : "integer",
013dc89f 32920 "typetext" : "<integer> (1 - 16)"
44660702
DM
32921 },
32922 "saferemove" : {
32923 "description" : "Zero-out data when removing LVs.",
32924 "optional" : 1,
013dc89f
DM
32925 "type" : "boolean",
32926 "typetext" : "<boolean>"
44660702
DM
32927 },
32928 "saferemove_throughput" : {
32929 "description" : "Wipe throughput (cstream -t parameter value).",
32930 "optional" : 1,
013dc89f
DM
32931 "type" : "string",
32932 "typetext" : "<string>"
44660702
DM
32933 },
32934 "server" : {
32935 "description" : "Server IP or DNS name.",
32936 "format" : "pve-storage-server",
32937 "optional" : 1,
013dc89f
DM
32938 "type" : "string",
32939 "typetext" : "<string>"
44660702
DM
32940 },
32941 "server2" : {
32942 "description" : "Backup volfile server IP or DNS name.",
32943 "format" : "pve-storage-server",
32944 "optional" : 1,
32945 "requires" : "server",
013dc89f
DM
32946 "type" : "string",
32947 "typetext" : "<string>"
44660702 32948 },
27a7acb2
DM
32949 "share" : {
32950 "description" : "CIFS share.",
32951 "optional" : 1,
32952 "type" : "string",
32953 "typetext" : "<string>"
32954 },
44660702
DM
32955 "shared" : {
32956 "description" : "Mark storage as shared.",
32957 "optional" : 1,
013dc89f
DM
32958 "type" : "boolean",
32959 "typetext" : "<boolean>"
44660702 32960 },
27a7acb2 32961 "smbversion" : {
5da3d723
TL
32962 "description" : "SMB protocol version",
32963 "enum" : [
32964 "2.0",
32965 "2.1",
32966 "3.0"
32967 ],
27a7acb2 32968 "optional" : 1,
5da3d723 32969 "type" : "string"
27a7acb2 32970 },
44660702
DM
32971 "sparse" : {
32972 "description" : "use sparse volumes",
32973 "optional" : 1,
013dc89f
DM
32974 "type" : "boolean",
32975 "typetext" : "<boolean>"
44660702
DM
32976 },
32977 "storage" : {
32978 "description" : "The storage identifier.",
32979 "format" : "pve-storage-id",
013dc89f
DM
32980 "type" : "string",
32981 "typetext" : "<string>"
44660702 32982 },
5da3d723
TL
32983 "subdir" : {
32984 "description" : "Subdir to mount.",
32985 "format" : "pve-storage-path",
32986 "optional" : 1,
32987 "type" : "string",
32988 "typetext" : "<string>"
32989 },
4bd7df8b
DM
32990 "tagged_only" : {
32991 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
32992 "optional" : 1,
013dc89f
DM
32993 "type" : "boolean",
32994 "typetext" : "<boolean>"
4bd7df8b 32995 },
44660702
DM
32996 "target" : {
32997 "description" : "iSCSI target.",
32998 "optional" : 1,
013dc89f
DM
32999 "type" : "string",
33000 "typetext" : "<string>"
44660702
DM
33001 },
33002 "thinpool" : {
33003 "description" : "LVM thin pool LV name.",
33004 "format" : "pve-storage-vgname",
33005 "optional" : 1,
013dc89f
DM
33006 "type" : "string",
33007 "typetext" : "<string>"
44660702
DM
33008 },
33009 "transport" : {
33010 "description" : "Gluster transport: tcp or rdma",
33011 "enum" : [
33012 "tcp",
33013 "rdma",
33014 "unix"
7aacca6f 33015 ],
44660702
DM
33016 "optional" : 1,
33017 "type" : "string"
56122987 33018 },
44660702
DM
33019 "type" : {
33020 "description" : "Storage type.",
33021 "enum" : [
5da3d723 33022 "cephfs",
27a7acb2 33023 "cifs",
44660702
DM
33024 "dir",
33025 "drbd",
33026 "glusterfs",
33027 "iscsi",
33028 "iscsidirect",
33029 "lvm",
33030 "lvmthin",
33031 "nfs",
33032 "rbd",
33033 "sheepdog",
33034 "zfs",
33035 "zfspool"
33036 ],
33037 "type" : "string"
56122987 33038 },
44660702
DM
33039 "username" : {
33040 "description" : "RBD Id.",
33041 "optional" : 1,
013dc89f
DM
33042 "type" : "string",
33043 "typetext" : "<string>"
7aacca6f 33044 },
44660702
DM
33045 "vgname" : {
33046 "description" : "Volume group name.",
33047 "format" : "pve-storage-vgname",
33048 "optional" : 1,
013dc89f
DM
33049 "type" : "string",
33050 "typetext" : "<string>"
44660702
DM
33051 },
33052 "volume" : {
33053 "description" : "Glusterfs Volume.",
33054 "optional" : 1,
013dc89f
DM
33055 "type" : "string",
33056 "typetext" : "<string>"
44660702
DM
33057 }
33058 },
33059 "type" : "object"
33060 },
33061 "permissions" : {
33062 "check" : [
33063 "perm",
33064 "/storage",
33065 [
33066 "Datastore.Allocate"
33067 ]
33068 ]
56122987 33069 },
44660702
DM
33070 "protected" : 1,
33071 "returns" : {
33072 "type" : "null"
33073 }
33074 }
33075 },
33076 "leaf" : 0,
33077 "path" : "/storage",
33078 "text" : "storage"
33079 },
33080 {
33081 "children" : [
33082 {
56122987
DM
33083 "children" : [
33084 {
56122987 33085 "info" : {
44660702
DM
33086 "DELETE" : {
33087 "description" : "Delete user.",
33088 "method" : "DELETE",
33089 "name" : "delete_user",
56122987 33090 "parameters" : {
7aacca6f 33091 "additionalProperties" : 0,
56122987 33092 "properties" : {
56122987 33093 "userid" : {
56122987
DM
33094 "description" : "User ID",
33095 "format" : "pve-userid",
44660702 33096 "maxLength" : 64,
013dc89f
DM
33097 "type" : "string",
33098 "typetext" : "<string>"
56122987 33099 }
7aacca6f 33100 }
56122987 33101 },
56122987
DM
33102 "permissions" : {
33103 "check" : [
44660702 33104 "and",
56122987 33105 [
44660702
DM
33106 "userid-param",
33107 "Realm.AllocateUser"
56122987 33108 ],
44660702
DM
33109 [
33110 "userid-group",
33111 [
33112 "User.Modify"
33113 ]
33114 ]
56122987 33115 ]
7aacca6f 33116 },
44660702 33117 "protected" : 1,
56122987
DM
33118 "returns" : {
33119 "type" : "null"
44660702 33120 }
7aacca6f 33121 },
44660702
DM
33122 "GET" : {
33123 "description" : "Get user configuration.",
33124 "method" : "GET",
33125 "name" : "read_user",
56122987
DM
33126 "parameters" : {
33127 "additionalProperties" : 0,
33128 "properties" : {
33129 "userid" : {
44660702 33130 "description" : "User ID",
56122987 33131 "format" : "pve-userid",
44660702 33132 "maxLength" : 64,
013dc89f
DM
33133 "type" : "string",
33134 "typetext" : "<string>"
56122987
DM
33135 }
33136 }
33137 },
56122987
DM
33138 "permissions" : {
33139 "check" : [
44660702 33140 "userid-group",
56122987 33141 [
44660702
DM
33142 "User.Modify",
33143 "Sys.Audit"
56122987
DM
33144 ]
33145 ]
33146 },
56122987 33147 "returns" : {
7aacca6f 33148 "additionalProperties" : 0,
56122987 33149 "properties" : {
44660702
DM
33150 "comment" : {
33151 "optional" : 1,
33152 "type" : "string"
56122987 33153 },
44660702
DM
33154 "email" : {
33155 "optional" : 1,
33156 "type" : "string"
7aacca6f
DM
33157 },
33158 "enable" : {
33159 "type" : "boolean"
33160 },
44660702
DM
33161 "expire" : {
33162 "optional" : 1,
33163 "type" : "integer"
33164 },
33165 "firstname" : {
56122987
DM
33166 "optional" : 1,
33167 "type" : "string"
33168 },
44660702
DM
33169 "groups" : {
33170 "type" : "array"
56122987 33171 },
44660702
DM
33172 "keys" : {
33173 "optional" : 1,
33174 "type" : "string"
7aacca6f 33175 },
44660702
DM
33176 "lastname" : {
33177 "optional" : 1,
33178 "type" : "string"
56122987 33179 }
7aacca6f 33180 }
44660702
DM
33181 }
33182 },
33183 "PUT" : {
33184 "description" : "Update user configuration.",
33185 "method" : "PUT",
33186 "name" : "update_user",
56122987 33187 "parameters" : {
44660702 33188 "additionalProperties" : 0,
56122987 33189 "properties" : {
44660702
DM
33190 "append" : {
33191 "optional" : 1,
33192 "requires" : "groups",
013dc89f
DM
33193 "type" : "boolean",
33194 "typetext" : "<boolean>"
44660702
DM
33195 },
33196 "comment" : {
33197 "optional" : 1,
013dc89f
DM
33198 "type" : "string",
33199 "typetext" : "<string>"
44660702
DM
33200 },
33201 "email" : {
33202 "format" : "email-opt",
33203 "optional" : 1,
013dc89f
DM
33204 "type" : "string",
33205 "typetext" : "<string>"
44660702
DM
33206 },
33207 "enable" : {
33208 "description" : "Enable/disable the account.",
33209 "optional" : 1,
013dc89f
DM
33210 "type" : "boolean",
33211 "typetext" : "<boolean>"
44660702
DM
33212 },
33213 "expire" : {
33214 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
33215 "minimum" : 0,
33216 "optional" : 1,
4bd7df8b 33217 "type" : "integer",
013dc89f 33218 "typetext" : "<integer> (0 - N)"
44660702
DM
33219 },
33220 "firstname" : {
33221 "optional" : 1,
013dc89f
DM
33222 "type" : "string",
33223 "typetext" : "<string>"
44660702
DM
33224 },
33225 "groups" : {
33226 "format" : "pve-groupid-list",
33227 "optional" : 1,
013dc89f
DM
33228 "type" : "string",
33229 "typetext" : "<string>"
44660702
DM
33230 },
33231 "keys" : {
33232 "description" : "Keys for two factor auth (yubico).",
33233 "optional" : 1,
013dc89f
DM
33234 "type" : "string",
33235 "typetext" : "<string>"
44660702
DM
33236 },
33237 "lastname" : {
33238 "optional" : 1,
013dc89f
DM
33239 "type" : "string",
33240 "typetext" : "<string>"
44660702 33241 },
56122987 33242 "userid" : {
56122987
DM
33243 "description" : "User ID",
33244 "format" : "pve-userid",
44660702 33245 "maxLength" : 64,
013dc89f
DM
33246 "type" : "string",
33247 "typetext" : "<string>"
56122987 33248 }
44660702 33249 }
56122987 33250 },
56122987
DM
33251 "permissions" : {
33252 "check" : [
33253 "userid-group",
33254 [
44660702
DM
33255 "User.Modify"
33256 ],
33257 "groups_param",
33258 1
56122987
DM
33259 ]
33260 },
44660702
DM
33261 "protected" : 1,
33262 "returns" : {
33263 "type" : "null"
33264 }
56122987
DM
33265 }
33266 },
44660702
DM
33267 "leaf" : 1,
33268 "path" : "/access/users/{userid}",
7aacca6f 33269 "text" : "{userid}"
56122987 33270 }
7aacca6f 33271 ],
56122987 33272 "info" : {
7aacca6f 33273 "GET" : {
44660702
DM
33274 "description" : "User index.",
33275 "method" : "GET",
7aacca6f 33276 "name" : "index",
56122987 33277 "parameters" : {
44660702
DM
33278 "additionalProperties" : 0,
33279 "properties" : {
33280 "enabled" : {
33281 "description" : "Optional filter for enable property.",
33282 "optional" : 1,
013dc89f
DM
33283 "type" : "boolean",
33284 "typetext" : "<boolean>"
44660702
DM
33285 }
33286 }
33287 },
33288 "permissions" : {
33289 "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.",
33290 "user" : "all"
56122987 33291 },
7aacca6f 33292 "returns" : {
7aacca6f
DM
33293 "items" : {
33294 "properties" : {
44660702 33295 "userid" : {
7aacca6f
DM
33296 "type" : "string"
33297 }
33298 },
33299 "type" : "object"
33300 },
44660702
DM
33301 "links" : [
33302 {
33303 "href" : "{userid}",
33304 "rel" : "child"
33305 }
33306 ],
7aacca6f
DM
33307 "type" : "array"
33308 }
33309 },
33310 "POST" : {
44660702 33311 "description" : "Create new user.",
7aacca6f 33312 "method" : "POST",
44660702 33313 "name" : "create_user",
56122987 33314 "parameters" : {
7aacca6f
DM
33315 "additionalProperties" : 0,
33316 "properties" : {
44660702
DM
33317 "comment" : {
33318 "optional" : 1,
013dc89f
DM
33319 "type" : "string",
33320 "typetext" : "<string>"
7aacca6f 33321 },
44660702
DM
33322 "email" : {
33323 "format" : "email-opt",
33324 "optional" : 1,
013dc89f
DM
33325 "type" : "string",
33326 "typetext" : "<string>"
44660702
DM
33327 },
33328 "enable" : {
33329 "default" : 1,
33330 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
33331 "optional" : 1,
013dc89f
DM
33332 "type" : "boolean",
33333 "typetext" : "<boolean>"
44660702
DM
33334 },
33335 "expire" : {
33336 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
33337 "minimum" : 0,
33338 "optional" : 1,
4bd7df8b 33339 "type" : "integer",
013dc89f 33340 "typetext" : "<integer> (0 - N)"
44660702
DM
33341 },
33342 "firstname" : {
33343 "optional" : 1,
013dc89f
DM
33344 "type" : "string",
33345 "typetext" : "<string>"
44660702
DM
33346 },
33347 "groups" : {
33348 "format" : "pve-groupid-list",
33349 "optional" : 1,
013dc89f
DM
33350 "type" : "string",
33351 "typetext" : "<string>"
44660702
DM
33352 },
33353 "keys" : {
33354 "description" : "Keys for two factor auth (yubico).",
33355 "optional" : 1,
013dc89f
DM
33356 "type" : "string",
33357 "typetext" : "<string>"
44660702
DM
33358 },
33359 "lastname" : {
7aacca6f 33360 "optional" : 1,
013dc89f
DM
33361 "type" : "string",
33362 "typetext" : "<string>"
44660702
DM
33363 },
33364 "password" : {
33365 "description" : "Initial password.",
33366 "maxLength" : 64,
33367 "minLength" : 5,
33368 "optional" : 1,
013dc89f
DM
33369 "type" : "string",
33370 "typetext" : "<string>"
44660702
DM
33371 },
33372 "userid" : {
33373 "description" : "User ID",
33374 "format" : "pve-userid",
33375 "maxLength" : 64,
013dc89f
DM
33376 "type" : "string",
33377 "typetext" : "<string>"
56122987 33378 }
7aacca6f 33379 }
56122987 33380 },
44660702
DM
33381 "permissions" : {
33382 "check" : [
33383 "and",
33384 [
33385 "userid-param",
33386 "Realm.AllocateUser"
33387 ],
33388 [
33389 "userid-group",
33390 [
33391 "User.Modify"
33392 ],
33393 "groups_param",
33394 1
33395 ]
33396 ],
33397 "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."
33398 },
33399 "protected" : 1,
33400 "returns" : {
33401 "type" : "null"
33402 }
56122987
DM
33403 }
33404 },
44660702
DM
33405 "leaf" : 0,
33406 "path" : "/access/users",
33407 "text" : "users"
33408 },
33409 {
56122987
DM
33410 "children" : [
33411 {
56122987
DM
33412 "info" : {
33413 "DELETE" : {
44660702
DM
33414 "description" : "Delete group.",
33415 "method" : "DELETE",
33416 "name" : "delete_group",
33417 "parameters" : {
33418 "additionalProperties" : 0,
33419 "properties" : {
33420 "groupid" : {
33421 "format" : "pve-groupid",
013dc89f
DM
33422 "type" : "string",
33423 "typetext" : "<string>"
44660702
DM
33424 }
33425 }
33426 },
7aacca6f
DM
33427 "permissions" : {
33428 "check" : [
33429 "perm",
33430 "/access/groups",
33431 [
33432 "Group.Allocate"
33433 ]
33434 ]
33435 },
7aacca6f 33436 "protected" : 1,
7aacca6f
DM
33437 "returns" : {
33438 "type" : "null"
44660702 33439 }
7aacca6f 33440 },
44660702
DM
33441 "GET" : {
33442 "description" : "Get group configuration.",
33443 "method" : "GET",
33444 "name" : "read_group",
33445 "parameters" : {
33446 "additionalProperties" : 0,
33447 "properties" : {
33448 "groupid" : {
33449 "format" : "pve-groupid",
013dc89f
DM
33450 "type" : "string",
33451 "typetext" : "<string>"
44660702
DM
33452 }
33453 }
56122987 33454 },
7aacca6f
DM
33455 "permissions" : {
33456 "check" : [
33457 "perm",
33458 "/access/groups",
33459 [
44660702 33460 "Sys.Audit",
7aacca6f 33461 "Group.Allocate"
44660702
DM
33462 ],
33463 "any",
33464 1
7aacca6f
DM
33465 ]
33466 },
7aacca6f 33467 "returns" : {
44660702 33468 "additionalProperties" : 0,
7aacca6f
DM
33469 "properties" : {
33470 "comment" : {
44660702
DM
33471 "optional" : 1,
33472 "type" : "string"
7aacca6f
DM
33473 },
33474 "members" : {
33475 "items" : {
33476 "type" : "string"
33477 },
33478 "type" : "array"
33479 }
33480 },
44660702
DM
33481 "type" : "object"
33482 }
33483 },
33484 "PUT" : {
33485 "description" : "Update group data.",
33486 "method" : "PUT",
33487 "name" : "update_group",
56122987 33488 "parameters" : {
44660702 33489 "additionalProperties" : 0,
56122987 33490 "properties" : {
44660702
DM
33491 "comment" : {
33492 "optional" : 1,
013dc89f
DM
33493 "type" : "string",
33494 "typetext" : "<string>"
44660702 33495 },
56122987
DM
33496 "groupid" : {
33497 "format" : "pve-groupid",
013dc89f
DM
33498 "type" : "string",
33499 "typetext" : "<string>"
56122987 33500 }
44660702 33501 }
56122987 33502 },
56122987
DM
33503 "permissions" : {
33504 "check" : [
33505 "perm",
33506 "/access/groups",
33507 [
33508 "Group.Allocate"
44660702 33509 ]
56122987
DM
33510 ]
33511 },
44660702
DM
33512 "protected" : 1,
33513 "returns" : {
33514 "type" : "null"
33515 }
7aacca6f
DM
33516 }
33517 },
7aacca6f 33518 "leaf" : 1,
44660702
DM
33519 "path" : "/access/groups/{groupid}",
33520 "text" : "{groupid}"
33521 }
33522 ],
33523 "info" : {
33524 "GET" : {
33525 "description" : "Group index.",
33526 "method" : "GET",
33527 "name" : "index",
33528 "parameters" : {
33529 "additionalProperties" : 0
33530 },
33531 "permissions" : {
33532 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
33533 "user" : "all"
33534 },
33535 "returns" : {
33536 "items" : {
33537 "properties" : {
33538 "groupid" : {
33539 "type" : "string"
33540 }
33541 },
33542 "type" : "object"
33543 },
33544 "links" : [
33545 {
33546 "href" : "{groupid}",
33547 "rel" : "child"
33548 }
33549 ],
33550 "type" : "array"
33551 }
33552 },
33553 "POST" : {
33554 "description" : "Create new group.",
33555 "method" : "POST",
33556 "name" : "create_group",
33557 "parameters" : {
33558 "additionalProperties" : 0,
33559 "properties" : {
33560 "comment" : {
33561 "optional" : 1,
013dc89f
DM
33562 "type" : "string",
33563 "typetext" : "<string>"
44660702
DM
33564 },
33565 "groupid" : {
33566 "format" : "pve-groupid",
013dc89f
DM
33567 "type" : "string",
33568 "typetext" : "<string>"
44660702
DM
33569 }
33570 }
33571 },
33572 "permissions" : {
33573 "check" : [
33574 "perm",
33575 "/access/groups",
33576 [
33577 "Group.Allocate"
33578 ]
33579 ]
33580 },
33581 "protected" : 1,
33582 "returns" : {
33583 "type" : "null"
33584 }
7aacca6f 33585 }
44660702 33586 },
7aacca6f 33587 "leaf" : 0,
44660702
DM
33588 "path" : "/access/groups",
33589 "text" : "groups"
7aacca6f
DM
33590 },
33591 {
33592 "children" : [
33593 {
7aacca6f 33594 "info" : {
7aacca6f 33595 "DELETE" : {
7aacca6f 33596 "description" : "Delete role.",
44660702 33597 "method" : "DELETE",
7aacca6f 33598 "name" : "delete_role",
56122987
DM
33599 "parameters" : {
33600 "additionalProperties" : 0,
33601 "properties" : {
7aacca6f
DM
33602 "roleid" : {
33603 "format" : "pve-roleid",
013dc89f
DM
33604 "type" : "string",
33605 "typetext" : "<string>"
56122987
DM
33606 }
33607 }
33608 },
56122987
DM
33609 "permissions" : {
33610 "check" : [
33611 "perm",
7aacca6f 33612 "/access",
56122987 33613 [
7aacca6f
DM
33614 "Sys.Modify"
33615 ]
56122987 33616 ]
44660702
DM
33617 },
33618 "protected" : 1,
33619 "returns" : {
33620 "type" : "null"
56122987
DM
33621 }
33622 },
44660702
DM
33623 "GET" : {
33624 "description" : "Get role configuration.",
33625 "method" : "GET",
33626 "name" : "read_role",
33627 "parameters" : {
33628 "additionalProperties" : 0,
33629 "properties" : {
33630 "roleid" : {
33631 "format" : "pve-roleid",
013dc89f
DM
33632 "type" : "string",
33633 "typetext" : "<string>"
44660702
DM
33634 }
33635 }
33636 },
7aacca6f 33637 "permissions" : {
44660702 33638 "user" : "all"
56122987 33639 },
44660702
DM
33640 "returns" : {}
33641 },
33642 "PUT" : {
33643 "description" : "Create new role.",
33644 "method" : "PUT",
33645 "name" : "update_role",
56122987
DM
33646 "parameters" : {
33647 "additionalProperties" : 0,
33648 "properties" : {
7aacca6f 33649 "append" : {
44660702 33650 "optional" : 1,
7aacca6f 33651 "requires" : "privs",
013dc89f
DM
33652 "type" : "boolean",
33653 "typetext" : "<boolean>"
7aacca6f
DM
33654 },
33655 "privs" : {
33656 "format" : "pve-priv-list",
013dc89f
DM
33657 "type" : "string",
33658 "typetext" : "<string>"
44660702
DM
33659 },
33660 "roleid" : {
33661 "format" : "pve-roleid",
013dc89f
DM
33662 "type" : "string",
33663 "typetext" : "<string>"
56122987
DM
33664 }
33665 }
33666 },
44660702
DM
33667 "permissions" : {
33668 "check" : [
33669 "perm",
33670 "/access",
33671 [
33672 "Sys.Modify"
33673 ]
33674 ]
33675 },
56122987 33676 "protected" : 1,
7aacca6f
DM
33677 "returns" : {
33678 "type" : "null"
56122987
DM
33679 }
33680 }
33681 },
44660702 33682 "leaf" : 1,
7aacca6f 33683 "path" : "/access/roles/{roleid}",
44660702 33684 "text" : "{roleid}"
56122987
DM
33685 }
33686 ],
56122987 33687 "info" : {
7aacca6f
DM
33688 "GET" : {
33689 "description" : "Role index.",
44660702 33690 "method" : "GET",
7aacca6f 33691 "name" : "index",
56122987 33692 "parameters" : {
56122987
DM
33693 "additionalProperties" : 0
33694 },
7aacca6f
DM
33695 "permissions" : {
33696 "user" : "all"
33697 },
56122987 33698 "returns" : {
7aacca6f 33699 "items" : {
7aacca6f
DM
33700 "properties" : {
33701 "roleid" : {
33702 "type" : "string"
33703 }
44660702
DM
33704 },
33705 "type" : "object"
33706 },
33707 "links" : [
33708 {
33709 "href" : "{roleid}",
33710 "rel" : "child"
7aacca6f 33711 }
44660702
DM
33712 ],
33713 "type" : "array"
33714 }
7aacca6f
DM
33715 },
33716 "POST" : {
33717 "description" : "Create new role.",
44660702
DM
33718 "method" : "POST",
33719 "name" : "create_role",
7aacca6f
DM
33720 "parameters" : {
33721 "additionalProperties" : 0,
33722 "properties" : {
7aacca6f
DM
33723 "privs" : {
33724 "format" : "pve-priv-list",
33725 "optional" : 1,
013dc89f
DM
33726 "type" : "string",
33727 "typetext" : "<string>"
44660702
DM
33728 },
33729 "roleid" : {
33730 "format" : "pve-roleid",
013dc89f
DM
33731 "type" : "string",
33732 "typetext" : "<string>"
7aacca6f
DM
33733 }
33734 }
33735 },
44660702
DM
33736 "permissions" : {
33737 "check" : [
33738 "perm",
33739 "/access",
33740 [
33741 "Sys.Modify"
33742 ]
33743 ]
33744 },
33745 "protected" : 1,
7aacca6f
DM
33746 "returns" : {
33747 "type" : "null"
33748 }
33749 }
33750 },
44660702 33751 "leaf" : 0,
7aacca6f 33752 "path" : "/access/roles",
44660702 33753 "text" : "roles"
7aacca6f
DM
33754 },
33755 {
33756 "info" : {
56122987 33757 "GET" : {
44660702
DM
33758 "description" : "Get Access Control List (ACLs).",
33759 "method" : "GET",
33760 "name" : "read_acl",
7aacca6f
DM
33761 "parameters" : {
33762 "additionalProperties" : 0
33763 },
44660702
DM
33764 "permissions" : {
33765 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
33766 "user" : "all"
33767 },
56122987 33768 "returns" : {
56122987 33769 "items" : {
44660702 33770 "additionalProperties" : 0,
56122987 33771 "properties" : {
7aacca6f
DM
33772 "path" : {
33773 "type" : "string"
33774 },
44660702
DM
33775 "propagate" : {
33776 "type" : "boolean"
33777 },
33778 "roleid" : {
33779 "type" : "string"
33780 },
7aacca6f
DM
33781 "type" : {
33782 "enum" : [
33783 "user",
33784 "group"
33785 ],
33786 "type" : "string"
33787 },
7aacca6f
DM
33788 "ugid" : {
33789 "type" : "string"
56122987 33790 }
7aacca6f 33791 },
44660702 33792 "type" : "object"
7aacca6f
DM
33793 },
33794 "type" : "array"
44660702 33795 }
7aacca6f
DM
33796 },
33797 "PUT" : {
44660702
DM
33798 "description" : "Update Access Control List (add or remove permissions).",
33799 "method" : "PUT",
7aacca6f
DM
33800 "name" : "update_acl",
33801 "parameters" : {
33802 "additionalProperties" : 0,
33803 "properties" : {
33804 "delete" : {
44660702 33805 "description" : "Remove permissions (instead of adding it).",
7aacca6f 33806 "optional" : 1,
013dc89f
DM
33807 "type" : "boolean",
33808 "typetext" : "<boolean>"
7aacca6f 33809 },
44660702
DM
33810 "groups" : {
33811 "description" : "List of groups.",
33812 "format" : "pve-groupid-list",
7aacca6f 33813 "optional" : 1,
013dc89f
DM
33814 "type" : "string",
33815 "typetext" : "<string>"
7aacca6f
DM
33816 },
33817 "path" : {
33818 "description" : "Access control path",
013dc89f
DM
33819 "type" : "string",
33820 "typetext" : "<string>"
7aacca6f 33821 },
7aacca6f 33822 "propagate" : {
44660702 33823 "default" : 1,
7aacca6f 33824 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 33825 "optional" : 1,
013dc89f
DM
33826 "type" : "boolean",
33827 "typetext" : "<boolean>"
7aacca6f 33828 },
44660702
DM
33829 "roles" : {
33830 "description" : "List of roles.",
33831 "format" : "pve-roleid-list",
013dc89f
DM
33832 "type" : "string",
33833 "typetext" : "<string>"
44660702
DM
33834 },
33835 "users" : {
33836 "description" : "List of users.",
33837 "format" : "pve-userid-list",
7aacca6f 33838 "optional" : 1,
013dc89f
DM
33839 "type" : "string",
33840 "typetext" : "<string>"
56122987
DM
33841 }
33842 }
33843 },
56122987 33844 "permissions" : {
7aacca6f
DM
33845 "check" : [
33846 "perm-modify",
33847 "{path}"
33848 ]
33849 },
7aacca6f
DM
33850 "protected" : 1,
33851 "returns" : {
33852 "type" : "null"
44660702 33853 }
56122987
DM
33854 }
33855 },
7aacca6f 33856 "leaf" : 1,
44660702
DM
33857 "path" : "/access/acl",
33858 "text" : "acl"
7aacca6f
DM
33859 },
33860 {
56122987
DM
33861 "children" : [
33862 {
56122987 33863 "info" : {
44660702
DM
33864 "DELETE" : {
33865 "description" : "Delete an authentication server.",
33866 "method" : "DELETE",
33867 "name" : "delete",
33868 "parameters" : {
33869 "additionalProperties" : 0,
33870 "properties" : {
33871 "realm" : {
33872 "description" : "Authentication domain ID",
33873 "format" : "pve-realm",
33874 "maxLength" : 32,
013dc89f
DM
33875 "type" : "string",
33876 "typetext" : "<string>"
56122987 33877 }
44660702 33878 }
56122987 33879 },
56122987
DM
33880 "permissions" : {
33881 "check" : [
33882 "perm",
7aacca6f 33883 "/access/realm",
56122987 33884 [
7aacca6f 33885 "Realm.Allocate"
56122987
DM
33886 ]
33887 ]
33888 },
7aacca6f 33889 "protected" : 1,
7aacca6f
DM
33890 "returns" : {
33891 "type" : "null"
44660702 33892 }
7aacca6f 33893 },
44660702
DM
33894 "GET" : {
33895 "description" : "Get auth server configuration.",
33896 "method" : "GET",
33897 "name" : "read",
56122987 33898 "parameters" : {
44660702 33899 "additionalProperties" : 0,
56122987 33900 "properties" : {
7aacca6f 33901 "realm" : {
44660702 33902 "description" : "Authentication domain ID",
7aacca6f
DM
33903 "format" : "pve-realm",
33904 "maxLength" : 32,
013dc89f
DM
33905 "type" : "string",
33906 "typetext" : "<string>"
56122987 33907 }
44660702 33908 }
7aacca6f 33909 },
7aacca6f
DM
33910 "permissions" : {
33911 "check" : [
33912 "perm",
33913 "/access/realm",
33914 [
44660702
DM
33915 "Realm.Allocate",
33916 "Sys.Audit"
33917 ],
33918 "any",
33919 1
7aacca6f 33920 ]
44660702
DM
33921 },
33922 "returns" : {}
7aacca6f 33923 },
44660702
DM
33924 "PUT" : {
33925 "description" : "Update authentication server settings.",
33926 "method" : "PUT",
33927 "name" : "update",
7aacca6f 33928 "parameters" : {
44660702 33929 "additionalProperties" : 0,
7aacca6f 33930 "properties" : {
44660702
DM
33931 "base_dn" : {
33932 "description" : "LDAP base domain name",
33933 "maxLength" : 256,
33934 "optional" : 1,
33935 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
33936 "type" : "string"
33937 },
4bd7df8b
DM
33938 "bind_dn" : {
33939 "description" : "LDAP bind domain name",
33940 "maxLength" : 256,
33941 "optional" : 1,
33942 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
33943 "type" : "string"
33944 },
2489d6df
WB
33945 "capath" : {
33946 "default" : "/etc/ssl/certs",
33947 "description" : "Path to the CA certificate store",
33948 "optional" : 1,
33949 "type" : "string",
33950 "typetext" : "<string>"
33951 },
33952 "cert" : {
33953 "description" : "Path to the client certificate",
33954 "optional" : 1,
33955 "type" : "string",
33956 "typetext" : "<string>"
33957 },
33958 "certkey" : {
33959 "description" : "Path to the client certificate key",
33960 "optional" : 1,
33961 "type" : "string",
33962 "typetext" : "<string>"
33963 },
44660702
DM
33964 "comment" : {
33965 "description" : "Description.",
33966 "maxLength" : 4096,
33967 "optional" : 1,
013dc89f
DM
33968 "type" : "string",
33969 "typetext" : "<string>"
44660702
DM
33970 },
33971 "default" : {
33972 "description" : "Use this as default realm",
33973 "optional" : 1,
013dc89f
DM
33974 "type" : "boolean",
33975 "typetext" : "<boolean>"
44660702
DM
33976 },
33977 "delete" : {
33978 "description" : "A list of settings you want to delete.",
33979 "format" : "pve-configid-list",
33980 "maxLength" : 4096,
33981 "optional" : 1,
013dc89f
DM
33982 "type" : "string",
33983 "typetext" : "<string>"
44660702
DM
33984 },
33985 "digest" : {
33986 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
33987 "maxLength" : 40,
33988 "optional" : 1,
013dc89f
DM
33989 "type" : "string",
33990 "typetext" : "<string>"
44660702
DM
33991 },
33992 "domain" : {
33993 "description" : "AD domain name",
33994 "maxLength" : 256,
33995 "optional" : 1,
33996 "pattern" : "\\S+",
33997 "type" : "string"
33998 },
33999 "port" : {
34000 "description" : "Server port.",
34001 "maximum" : 65535,
34002 "minimum" : 1,
34003 "optional" : 1,
4bd7df8b 34004 "type" : "integer",
013dc89f 34005 "typetext" : "<integer> (1 - 65535)"
44660702 34006 },
7aacca6f 34007 "realm" : {
7aacca6f
DM
34008 "description" : "Authentication domain ID",
34009 "format" : "pve-realm",
44660702 34010 "maxLength" : 32,
013dc89f
DM
34011 "type" : "string",
34012 "typetext" : "<string>"
44660702
DM
34013 },
34014 "secure" : {
34015 "description" : "Use secure LDAPS protocol.",
34016 "optional" : 1,
013dc89f
DM
34017 "type" : "boolean",
34018 "typetext" : "<boolean>"
44660702
DM
34019 },
34020 "server1" : {
34021 "description" : "Server IP address (or DNS name)",
34022 "format" : "address",
34023 "maxLength" : 256,
34024 "optional" : 1,
013dc89f
DM
34025 "type" : "string",
34026 "typetext" : "<string>"
44660702
DM
34027 },
34028 "server2" : {
34029 "description" : "Fallback Server IP address (or DNS name)",
34030 "format" : "address",
34031 "maxLength" : 256,
34032 "optional" : 1,
013dc89f
DM
34033 "type" : "string",
34034 "typetext" : "<string>"
44660702
DM
34035 },
34036 "tfa" : {
34037 "description" : "Use Two-factor authentication.",
34038 "format" : "pve-tfa-config",
34039 "maxLength" : 128,
34040 "optional" : 1,
013dc89f
DM
34041 "type" : "string",
34042 "typetext" : "<string>"
44660702
DM
34043 },
34044 "user_attr" : {
34045 "description" : "LDAP user attribute name",
34046 "maxLength" : 256,
34047 "optional" : 1,
34048 "pattern" : "\\S{2,}",
34049 "type" : "string"
2489d6df
WB
34050 },
34051 "verify" : {
34052 "default" : 0,
34053 "description" : "Verify the server's SSL certificate",
34054 "optional" : 1,
34055 "type" : "boolean",
34056 "typetext" : "<boolean>"
7aacca6f 34057 }
56122987 34058 },
44660702 34059 "type" : "object"
56122987 34060 },
7aacca6f
DM
34061 "permissions" : {
34062 "check" : [
34063 "perm",
34064 "/access/realm",
34065 [
44660702
DM
34066 "Realm.Allocate"
34067 ]
7aacca6f
DM
34068 ]
34069 },
44660702
DM
34070 "protected" : 1,
34071 "returns" : {
34072 "type" : "null"
34073 }
56122987 34074 }
44660702
DM
34075 },
34076 "leaf" : 1,
34077 "path" : "/access/domains/{realm}",
34078 "text" : "{realm}"
56122987 34079 }
7aacca6f 34080 ],
56122987
DM
34081 "info" : {
34082 "GET" : {
44660702
DM
34083 "description" : "Authentication domain index.",
34084 "method" : "GET",
34085 "name" : "index",
34086 "parameters" : {
34087 "additionalProperties" : 0
34088 },
34089 "permissions" : {
34090 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
34091 "user" : "world"
34092 },
56122987 34093 "returns" : {
56122987
DM
34094 "items" : {
34095 "properties" : {
7aacca6f 34096 "comment" : {
52e44c50 34097 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
34098 "optional" : 1,
34099 "type" : "string"
34100 },
56122987
DM
34101 "realm" : {
34102 "type" : "string"
34103 },
34104 "tfa" : {
7aacca6f 34105 "description" : "Two-factor authentication provider.",
56122987
DM
34106 "enum" : [
34107 "yubico",
34108 "oath"
34109 ],
44660702
DM
34110 "optional" : 1,
34111 "type" : "string"
56122987
DM
34112 }
34113 },
34114 "type" : "object"
44660702
DM
34115 },
34116 "links" : [
34117 {
34118 "href" : "{realm}",
34119 "rel" : "child"
34120 }
34121 ],
34122 "type" : "array"
34123 }
56122987
DM
34124 },
34125 "POST" : {
7aacca6f 34126 "description" : "Add an authentication server.",
44660702 34127 "method" : "POST",
7aacca6f 34128 "name" : "create",
56122987 34129 "parameters" : {
44660702 34130 "additionalProperties" : 0,
56122987 34131 "properties" : {
44660702
DM
34132 "base_dn" : {
34133 "description" : "LDAP base domain name",
56122987 34134 "maxLength" : 256,
44660702
DM
34135 "optional" : 1,
34136 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 34137 "type" : "string"
56122987 34138 },
4bd7df8b
DM
34139 "bind_dn" : {
34140 "description" : "LDAP bind domain name",
34141 "maxLength" : 256,
34142 "optional" : 1,
34143 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
34144 "type" : "string"
34145 },
2489d6df
WB
34146 "capath" : {
34147 "default" : "/etc/ssl/certs",
34148 "description" : "Path to the CA certificate store",
34149 "optional" : 1,
34150 "type" : "string",
34151 "typetext" : "<string>"
34152 },
34153 "cert" : {
34154 "description" : "Path to the client certificate",
34155 "optional" : 1,
34156 "type" : "string",
34157 "typetext" : "<string>"
34158 },
34159 "certkey" : {
34160 "description" : "Path to the client certificate key",
34161 "optional" : 1,
34162 "type" : "string",
34163 "typetext" : "<string>"
34164 },
44660702
DM
34165 "comment" : {
34166 "description" : "Description.",
34167 "maxLength" : 4096,
56122987 34168 "optional" : 1,
013dc89f
DM
34169 "type" : "string",
34170 "typetext" : "<string>"
56122987 34171 },
44660702
DM
34172 "default" : {
34173 "description" : "Use this as default realm",
7aacca6f 34174 "optional" : 1,
013dc89f
DM
34175 "type" : "boolean",
34176 "typetext" : "<boolean>"
56122987 34177 },
44660702
DM
34178 "domain" : {
34179 "description" : "AD domain name",
34180 "maxLength" : 256,
7aacca6f 34181 "optional" : 1,
44660702
DM
34182 "pattern" : "\\S+",
34183 "type" : "string"
56122987 34184 },
7aacca6f 34185 "port" : {
44660702 34186 "description" : "Server port.",
7aacca6f 34187 "maximum" : 65535,
44660702 34188 "minimum" : 1,
7aacca6f 34189 "optional" : 1,
4bd7df8b 34190 "type" : "integer",
013dc89f 34191 "typetext" : "<integer> (1 - 65535)"
56122987 34192 },
44660702
DM
34193 "realm" : {
34194 "description" : "Authentication domain ID",
34195 "format" : "pve-realm",
34196 "maxLength" : 32,
013dc89f
DM
34197 "type" : "string",
34198 "typetext" : "<string>"
44660702
DM
34199 },
34200 "secure" : {
34201 "description" : "Use secure LDAPS protocol.",
7aacca6f 34202 "optional" : 1,
013dc89f
DM
34203 "type" : "boolean",
34204 "typetext" : "<boolean>"
56122987 34205 },
44660702
DM
34206 "server1" : {
34207 "description" : "Server IP address (or DNS name)",
34208 "format" : "address",
34209 "maxLength" : 256,
34210 "optional" : 1,
013dc89f
DM
34211 "type" : "string",
34212 "typetext" : "<string>"
56122987 34213 },
44660702
DM
34214 "server2" : {
34215 "description" : "Fallback Server IP address (or DNS name)",
34216 "format" : "address",
7aacca6f 34217 "maxLength" : 256,
7aacca6f 34218 "optional" : 1,
013dc89f
DM
34219 "type" : "string",
34220 "typetext" : "<string>"
7aacca6f 34221 },
44660702
DM
34222 "tfa" : {
34223 "description" : "Use Two-factor authentication.",
34224 "format" : "pve-tfa-config",
34225 "maxLength" : 128,
34226 "optional" : 1,
013dc89f
DM
34227 "type" : "string",
34228 "typetext" : "<string>"
44660702
DM
34229 },
34230 "type" : {
34231 "description" : "Realm type.",
34232 "enum" : [
34233 "ad",
34234 "ldap",
34235 "pam",
34236 "pve"
34237 ],
34238 "type" : "string"
34239 },
34240 "user_attr" : {
34241 "description" : "LDAP user attribute name",
7aacca6f 34242 "maxLength" : 256,
7aacca6f 34243 "optional" : 1,
44660702
DM
34244 "pattern" : "\\S{2,}",
34245 "type" : "string"
2489d6df
WB
34246 },
34247 "verify" : {
34248 "default" : 0,
34249 "description" : "Verify the server's SSL certificate",
34250 "optional" : 1,
34251 "type" : "boolean",
34252 "typetext" : "<boolean>"
7aacca6f
DM
34253 }
34254 },
7aacca6f 34255 "type" : "object"
56122987 34256 },
7aacca6f
DM
34257 "permissions" : {
34258 "check" : [
34259 "perm",
34260 "/access/realm",
34261 [
34262 "Realm.Allocate"
34263 ]
34264 ]
44660702
DM
34265 },
34266 "protected" : 1,
34267 "returns" : {
34268 "type" : "null"
7aacca6f 34269 }
56122987 34270 }
7aacca6f 34271 },
44660702 34272 "leaf" : 0,
56122987 34273 "path" : "/access/domains",
44660702 34274 "text" : "domains"
56122987
DM
34275 },
34276 {
56122987 34277 "info" : {
44660702 34278 "GET" : {
2489d6df 34279 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
34280 "method" : "GET",
34281 "name" : "get_ticket",
34282 "parameters" : {
34283 "additionalProperties" : 0
34284 },
34285 "permissions" : {
34286 "user" : "world"
34287 },
34288 "returns" : {
34289 "type" : "null"
34290 }
34291 },
56122987 34292 "POST" : {
44660702 34293 "description" : "Create or verify authentication ticket.",
56122987 34294 "method" : "POST",
44660702
DM
34295 "name" : "create_ticket",
34296 "parameters" : {
34297 "additionalProperties" : 0,
56122987 34298 "properties" : {
44660702
DM
34299 "otp" : {
34300 "description" : "One-time password for Two-factor authentication.",
7aacca6f 34301 "optional" : 1,
013dc89f
DM
34302 "type" : "string",
34303 "typetext" : "<string>"
56122987 34304 },
7aacca6f
DM
34305 "password" : {
34306 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
34307 "type" : "string",
34308 "typetext" : "<string>"
7aacca6f 34309 },
44660702
DM
34310 "path" : {
34311 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 34312 "maxLength" : 64,
56122987 34313 "optional" : 1,
56122987 34314 "requires" : "privs",
013dc89f
DM
34315 "type" : "string",
34316 "typetext" : "<string>"
44660702
DM
34317 },
34318 "privs" : {
7aacca6f 34319 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
34320 "format" : "pve-priv-list",
34321 "maxLength" : 64,
56122987 34322 "optional" : 1,
44660702 34323 "requires" : "path",
013dc89f
DM
34324 "type" : "string",
34325 "typetext" : "<string>"
56122987
DM
34326 },
34327 "realm" : {
56122987 34328 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 34329 "format" : "pve-realm",
7aacca6f 34330 "maxLength" : 32,
44660702 34331 "optional" : 1,
013dc89f
DM
34332 "type" : "string",
34333 "typetext" : "<string>"
56122987
DM
34334 },
34335 "username" : {
34336 "description" : "User name",
44660702 34337 "maxLength" : 64,
013dc89f
DM
34338 "type" : "string",
34339 "typetext" : "<string>"
56122987 34340 }
44660702 34341 }
7aacca6f 34342 },
56122987 34343 "permissions" : {
44660702 34344 "description" : "You need to pass valid credientials.",
56122987
DM
34345 "user" : "world"
34346 },
44660702 34347 "protected" : 1,
7aacca6f 34348 "returns" : {
56122987 34349 "properties" : {
44660702
DM
34350 "CSRFPreventionToken" : {
34351 "optional" : 1,
34352 "type" : "string"
56122987 34353 },
44660702
DM
34354 "ticket" : {
34355 "optional" : 1,
34356 "type" : "string"
34357 },
34358 "username" : {
56122987
DM
34359 "type" : "string"
34360 }
34361 },
44660702 34362 "type" : "object"
7aacca6f 34363 }
7aacca6f
DM
34364 }
34365 },
44660702
DM
34366 "leaf" : 1,
34367 "path" : "/access/ticket",
34368 "text" : "ticket"
7aacca6f 34369 },
56122987 34370 {
56122987 34371 "info" : {
7aacca6f 34372 "PUT" : {
44660702 34373 "description" : "Change user password.",
7aacca6f 34374 "method" : "PUT",
44660702 34375 "name" : "change_passsword",
56122987
DM
34376 "parameters" : {
34377 "additionalProperties" : 0,
34378 "properties" : {
44660702
DM
34379 "password" : {
34380 "description" : "The new password.",
34381 "maxLength" : 64,
34382 "minLength" : 5,
013dc89f
DM
34383 "type" : "string",
34384 "typetext" : "<string>"
7aacca6f 34385 },
44660702
DM
34386 "userid" : {
34387 "description" : "User ID",
34388 "format" : "pve-userid",
34389 "maxLength" : 64,
013dc89f
DM
34390 "type" : "string",
34391 "typetext" : "<string>"
56122987 34392 }
7aacca6f 34393 }
56122987
DM
34394 },
34395 "permissions" : {
34396 "check" : [
44660702 34397 "or",
56122987 34398 [
44660702
DM
34399 "userid-param",
34400 "self"
34401 ],
34402 [
34403 "and",
34404 [
34405 "userid-param",
34406 "Realm.AllocateUser"
34407 ],
34408 [
34409 "userid-group",
34410 [
34411 "User.Modify"
34412 ]
34413 ]
56122987 34414 ]
7aacca6f 34415 ],
44660702 34416 "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 34417 },
44660702 34418 "protected" : 1,
7aacca6f
DM
34419 "returns" : {
34420 "type" : "null"
44660702
DM
34421 }
34422 }
34423 },
34424 "leaf" : 1,
34425 "path" : "/access/password",
34426 "text" : "password"
34427 }
34428 ],
34429 "info" : {
34430 "GET" : {
34431 "description" : "Directory index.",
34432 "method" : "GET",
34433 "name" : "index",
34434 "parameters" : {
34435 "additionalProperties" : 0
34436 },
34437 "permissions" : {
34438 "user" : "all"
34439 },
34440 "returns" : {
34441 "items" : {
34442 "properties" : {
34443 "subdir" : {
34444 "type" : "string"
34445 }
7aacca6f 34446 },
44660702
DM
34447 "type" : "object"
34448 },
34449 "links" : [
34450 {
34451 "href" : "{subdir}",
34452 "rel" : "child"
34453 }
34454 ],
34455 "type" : "array"
34456 }
34457 }
34458 },
34459 "leaf" : 0,
34460 "path" : "/access",
34461 "text" : "access"
34462 },
34463 {
34464 "children" : [
34465 {
34466 "info" : {
34467 "DELETE" : {
7aacca6f 34468 "description" : "Delete pool.",
44660702
DM
34469 "method" : "DELETE",
34470 "name" : "delete_pool",
7aacca6f
DM
34471 "parameters" : {
34472 "additionalProperties" : 0,
34473 "properties" : {
34474 "poolid" : {
34475 "format" : "pve-poolid",
013dc89f
DM
34476 "type" : "string",
34477 "typetext" : "<string>"
7aacca6f
DM
34478 }
34479 }
34480 },
56122987
DM
34481 "permissions" : {
34482 "check" : [
34483 "perm",
34484 "/pool/{poolid}",
34485 [
34486 "Pool.Allocate"
34487 ]
44660702
DM
34488 ],
34489 "description" : "You can only delete empty pools (no members)."
34490 },
34491 "protected" : 1,
34492 "returns" : {
34493 "type" : "null"
7aacca6f
DM
34494 }
34495 },
34496 "GET" : {
34497 "description" : "Get pool configuration.",
44660702 34498 "method" : "GET",
7aacca6f 34499 "name" : "read_pool",
56122987 34500 "parameters" : {
44660702 34501 "additionalProperties" : 0,
56122987
DM
34502 "properties" : {
34503 "poolid" : {
44660702 34504 "format" : "pve-poolid",
013dc89f
DM
34505 "type" : "string",
34506 "typetext" : "<string>"
56122987 34507 }
44660702 34508 }
56122987 34509 },
56122987 34510 "permissions" : {
56122987
DM
34511 "check" : [
34512 "perm",
34513 "/pool/{poolid}",
34514 [
34515 "Pool.Allocate"
34516 ]
34517 ]
34518 },
7aacca6f 34519 "returns" : {
44660702 34520 "additionalProperties" : 0,
56122987 34521 "properties" : {
44660702
DM
34522 "comment" : {
34523 "optional" : 1,
34524 "type" : "string"
34525 },
7aacca6f 34526 "members" : {
7aacca6f
DM
34527 "items" : {
34528 "additionalProperties" : 1,
7aacca6f 34529 "properties" : {
7aacca6f
DM
34530 "id" : {
34531 "type" : "string"
34532 },
34533 "node" : {
34534 "type" : "string"
34535 },
44660702
DM
34536 "storage" : {
34537 "optional" : 1,
34538 "type" : "string"
34539 },
7aacca6f 34540 "type" : {
7aacca6f
DM
34541 "enum" : [
34542 "qemu",
34543 "lxc",
34544 "openvz",
34545 "storage"
44660702
DM
34546 ],
34547 "type" : "string"
34548 },
34549 "vmid" : {
34550 "optional" : 1,
34551 "type" : "integer"
7aacca6f 34552 }
44660702
DM
34553 },
34554 "type" : "object"
34555 },
34556 "type" : "array"
34557 }
34558 },
34559 "type" : "object"
34560 }
34561 },
34562 "PUT" : {
34563 "description" : "Update pool data.",
34564 "method" : "PUT",
34565 "name" : "update_pool",
34566 "parameters" : {
34567 "additionalProperties" : 0,
34568 "properties" : {
56122987
DM
34569 "comment" : {
34570 "optional" : 1,
013dc89f
DM
34571 "type" : "string",
34572 "typetext" : "<string>"
44660702
DM
34573 },
34574 "delete" : {
34575 "description" : "Remove vms/storage (instead of adding it).",
34576 "optional" : 1,
013dc89f
DM
34577 "type" : "boolean",
34578 "typetext" : "<boolean>"
44660702
DM
34579 },
34580 "poolid" : {
34581 "format" : "pve-poolid",
013dc89f
DM
34582 "type" : "string",
34583 "typetext" : "<string>"
44660702
DM
34584 },
34585 "storage" : {
34586 "description" : "List of storage IDs.",
34587 "format" : "pve-storage-id-list",
34588 "optional" : 1,
013dc89f
DM
34589 "type" : "string",
34590 "typetext" : "<string>"
44660702
DM
34591 },
34592 "vms" : {
34593 "description" : "List of virtual machines.",
34594 "format" : "pve-vmid-list",
34595 "optional" : 1,
013dc89f
DM
34596 "type" : "string",
34597 "typetext" : "<string>"
56122987 34598 }
44660702
DM
34599 }
34600 },
34601 "permissions" : {
34602 "check" : [
34603 "perm",
34604 "/pool/{poolid}",
34605 [
34606 "Pool.Allocate"
34607 ]
34608 ],
34609 "description" : "You also need the right to modify permissions on any object you add/delete."
34610 },
34611 "protected" : 1,
34612 "returns" : {
34613 "type" : "null"
56122987
DM
34614 }
34615 }
34616 },
44660702
DM
34617 "leaf" : 1,
34618 "path" : "/pools/{poolid}",
7aacca6f 34619 "text" : "{poolid}"
56122987 34620 }
7aacca6f 34621 ],
56122987
DM
34622 "info" : {
34623 "GET" : {
44660702
DM
34624 "description" : "Pool index.",
34625 "method" : "GET",
34626 "name" : "index",
34627 "parameters" : {
34628 "additionalProperties" : 0
34629 },
34630 "permissions" : {
34631 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
34632 "user" : "all"
34633 },
56122987 34634 "returns" : {
44660702
DM
34635 "items" : {
34636 "properties" : {
34637 "poolid" : {
34638 "type" : "string"
34639 }
56122987 34640 },
44660702
DM
34641 "type" : "object"
34642 },
34643 "links" : [
34644 {
34645 "href" : "{poolid}",
34646 "rel" : "child"
34647 }
34648 ],
34649 "type" : "array"
34650 }
34651 },
34652 "POST" : {
34653 "description" : "Create new pool.",
34654 "method" : "POST",
34655 "name" : "create_pool",
34656 "parameters" : {
34657 "additionalProperties" : 0,
34658 "properties" : {
34659 "comment" : {
34660 "optional" : 1,
013dc89f
DM
34661 "type" : "string",
34662 "typetext" : "<string>"
7aacca6f 34663 },
44660702
DM
34664 "poolid" : {
34665 "format" : "pve-poolid",
013dc89f
DM
34666 "type" : "string",
34667 "typetext" : "<string>"
56122987
DM
34668 }
34669 }
34670 },
56122987 34671 "permissions" : {
44660702
DM
34672 "check" : [
34673 "perm",
34674 "/pool/{poolid}",
34675 [
34676 "Pool.Allocate"
34677 ]
34678 ]
56122987 34679 },
44660702
DM
34680 "protected" : 1,
34681 "returns" : {
34682 "type" : "null"
34683 }
34684 }
34685 },
34686 "leaf" : 0,
34687 "path" : "/pools",
34688 "text" : "pools"
34689 },
34690 {
34691 "info" : {
34692 "GET" : {
34693 "description" : "API version details. The result also includes the global datacenter confguration.",
34694 "method" : "GET",
34695 "name" : "version",
7aacca6f
DM
34696 "parameters" : {
34697 "additionalProperties" : 0
34698 },
44660702
DM
34699 "permissions" : {
34700 "user" : "all"
34701 },
34702 "returns" : {
34703 "properties" : {
34704 "release" : {
34705 "type" : "string"
34706 },
34707 "repoid" : {
34708 "type" : "string"
34709 },
34710 "version" : {
34711 "type" : "string"
34712 }
34713 },
34714 "type" : "object"
34715 }
56122987
DM
34716 }
34717 },
44660702
DM
34718 "leaf" : 1,
34719 "path" : "/version",
56122987
DM
34720 "text" : "version"
34721 }
34722]
34723;
34724