]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
bump version to 5.4-1
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
56122987
DM
1var pveapi = [
2 {
56122987 3 "children" : [
5d9c884c
DM
4 {
5 "children" : [
6 {
7 "info" : {
8 "DELETE" : {
9 "description" : "Mark replication job for removal.",
10 "method" : "DELETE",
11 "name" : "delete",
12 "parameters" : {
13 "additionalProperties" : 0,
14 "properties" : {
15 "force" : {
16 "default" : 0,
17 "description" : "Will remove the jobconfig entry, but will not cleanup.",
18 "optional" : 1,
19 "type" : "boolean",
20 "typetext" : "<boolean>"
21 },
22 "id" : {
23 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
24 "format" : "pve-replication-job-id",
25 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
26 "type" : "string"
27 },
28 "keep" : {
29 "default" : 0,
30 "description" : "Keep replicated data at target (do not remove).",
31 "optional" : 1,
32 "type" : "boolean",
33 "typetext" : "<boolean>"
34 }
35 }
36 },
37 "permissions" : {
38 "check" : [
39 "perm",
40 "/storage",
41 [
42 "Datastore.Allocate"
43 ]
44 ]
45 },
46 "protected" : 1,
47 "returns" : {
48 "type" : "null"
49 }
50 },
51 "GET" : {
52 "description" : "Read replication job configuration.",
53 "method" : "GET",
54 "name" : "read",
55 "parameters" : {
56 "additionalProperties" : 0,
57 "properties" : {
58 "id" : {
59 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
60 "format" : "pve-replication-job-id",
61 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
62 "type" : "string"
63 }
64 }
65 },
66 "permissions" : {
67 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
68 "user" : "all"
69 },
70 "returns" : {
71 "type" : "object"
72 }
73 },
74 "PUT" : {
75 "description" : "Update replication job configuration.",
76 "method" : "PUT",
77 "name" : "update",
78 "parameters" : {
79 "additionalProperties" : 0,
80 "properties" : {
81 "comment" : {
82 "description" : "Description.",
83 "maxLength" : 4096,
84 "optional" : 1,
85 "type" : "string",
86 "typetext" : "<string>"
87 },
88 "delete" : {
89 "description" : "A list of settings you want to delete.",
90 "format" : "pve-configid-list",
91 "maxLength" : 4096,
92 "optional" : 1,
93 "type" : "string",
94 "typetext" : "<string>"
95 },
96 "digest" : {
97 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
98 "maxLength" : 40,
99 "optional" : 1,
100 "type" : "string",
101 "typetext" : "<string>"
102 },
103 "disable" : {
104 "description" : "Flag to disable/deactivate the entry.",
105 "optional" : 1,
106 "type" : "boolean",
107 "typetext" : "<boolean>"
108 },
109 "id" : {
110 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
111 "format" : "pve-replication-job-id",
112 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
113 "type" : "string"
114 },
115 "rate" : {
116 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
117 "minimum" : 1,
118 "optional" : 1,
119 "type" : "number",
120 "typetext" : "<number> (1 - N)"
121 },
122 "remove_job" : {
123 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
124 "enum" : [
125 "local",
126 "full"
127 ],
128 "optional" : 1,
129 "type" : "string"
130 },
131 "schedule" : {
132 "default" : "*/15",
133 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
134 "format" : "pve-calendar-event",
135 "maxLength" : 128,
136 "optional" : 1,
137 "type" : "string",
138 "typetext" : "<string>"
a9a8e3d1
DM
139 },
140 "source" : {
141 "description" : "Source of the replication.",
142 "format" : "pve-node",
143 "optional" : 1,
144 "type" : "string",
145 "typetext" : "<string>"
5d9c884c
DM
146 }
147 },
148 "type" : "object"
149 },
150 "permissions" : {
151 "check" : [
152 "perm",
153 "/storage",
154 [
155 "Datastore.Allocate"
156 ]
157 ]
158 },
159 "protected" : 1,
160 "returns" : {
161 "type" : "null"
162 }
163 }
164 },
165 "leaf" : 1,
166 "path" : "/cluster/replication/{id}",
167 "text" : "{id}"
168 }
169 ],
170 "info" : {
171 "GET" : {
172 "description" : "List replication jobs.",
173 "method" : "GET",
174 "name" : "index",
175 "parameters" : {
176 "additionalProperties" : 0
177 },
178 "permissions" : {
179 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
180 "user" : "all"
181 },
182 "returns" : {
183 "items" : {
184 "properties" : {},
185 "type" : "object"
186 },
187 "links" : [
188 {
189 "href" : "{id}",
190 "rel" : "child"
191 }
192 ],
193 "type" : "array"
194 }
195 },
196 "POST" : {
197 "description" : "Create a new replication job",
198 "method" : "POST",
199 "name" : "create",
200 "parameters" : {
201 "additionalProperties" : 0,
202 "properties" : {
203 "comment" : {
204 "description" : "Description.",
205 "maxLength" : 4096,
206 "optional" : 1,
207 "type" : "string",
208 "typetext" : "<string>"
209 },
210 "disable" : {
211 "description" : "Flag to disable/deactivate the entry.",
212 "optional" : 1,
213 "type" : "boolean",
214 "typetext" : "<boolean>"
215 },
216 "id" : {
217 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
218 "format" : "pve-replication-job-id",
219 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
220 "type" : "string"
221 },
222 "rate" : {
223 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
224 "minimum" : 1,
225 "optional" : 1,
226 "type" : "number",
227 "typetext" : "<number> (1 - N)"
228 },
229 "remove_job" : {
230 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
231 "enum" : [
232 "local",
233 "full"
234 ],
235 "optional" : 1,
236 "type" : "string"
237 },
238 "schedule" : {
239 "default" : "*/15",
240 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
241 "format" : "pve-calendar-event",
242 "maxLength" : 128,
243 "optional" : 1,
244 "type" : "string",
245 "typetext" : "<string>"
246 },
a9a8e3d1
DM
247 "source" : {
248 "description" : "Source of the replication.",
249 "format" : "pve-node",
250 "optional" : 1,
251 "type" : "string",
252 "typetext" : "<string>"
253 },
5d9c884c
DM
254 "target" : {
255 "description" : "Target node.",
256 "format" : "pve-node",
257 "optional" : 0,
258 "type" : "string",
259 "typetext" : "<string>"
260 },
261 "type" : {
262 "description" : "Section type.",
263 "enum" : [
264 "local"
265 ],
266 "type" : "string"
267 }
268 },
269 "type" : "object"
270 },
271 "permissions" : {
272 "check" : [
273 "perm",
274 "/storage",
275 [
276 "Datastore.Allocate"
277 ]
278 ]
279 },
280 "protected" : 1,
281 "returns" : {
282 "type" : "null"
283 }
284 }
285 },
286 "leaf" : 0,
287 "path" : "/cluster/replication",
288 "text" : "replication"
289 },
32d876b5
DM
290 {
291 "children" : [
292 {
27a7acb2
DM
293 "children" : [
294 {
295 "info" : {
296 "DELETE" : {
297 "description" : "Removes a node from the cluster configuration.",
298 "method" : "DELETE",
299 "name" : "delnode",
300 "parameters" : {
301 "additionalProperties" : 0,
302 "properties" : {
303 "node" : {
304 "description" : "The cluster node name.",
305 "format" : "pve-node",
306 "type" : "string",
307 "typetext" : "<string>"
308 }
309 }
310 },
311 "protected" : 1,
312 "returns" : {
313 "type" : "null"
314 }
315 },
316 "POST" : {
e2d681b3 317 "description" : "Adds a node to the cluster configuration. This call is for internal use.",
27a7acb2
DM
318 "method" : "POST",
319 "name" : "addnode",
320 "parameters" : {
321 "additionalProperties" : 0,
322 "properties" : {
323 "force" : {
324 "description" : "Do not throw error if node already exists.",
325 "optional" : 1,
326 "type" : "boolean",
327 "typetext" : "<boolean>"
328 },
329 "node" : {
330 "description" : "The cluster node name.",
331 "format" : "pve-node",
332 "type" : "string",
333 "typetext" : "<string>"
334 },
335 "nodeid" : {
336 "description" : "Node id for this node.",
337 "minimum" : 1,
338 "optional" : 1,
339 "type" : "integer",
340 "typetext" : "<integer> (1 - N)"
341 },
342 "ring0_addr" : {
343 "default" : "Hostname of the node",
344 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
345 "format" : "address",
346 "optional" : 1,
347 "type" : "string",
348 "typetext" : "<string>"
349 },
350 "ring1_addr" : {
351 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
352 "format" : "address",
353 "optional" : 1,
354 "type" : "string",
355 "typetext" : "<string>"
356 },
357 "votes" : {
358 "description" : "Number of votes for this node",
359 "minimum" : 0,
360 "optional" : 1,
361 "type" : "integer",
362 "typetext" : "<integer> (0 - N)"
363 }
364 }
365 },
366 "protected" : 1,
367 "returns" : {
368 "properties" : {
369 "corosync_authkey" : {
370 "type" : "string"
371 },
372 "corosync_conf" : {
373 "type" : "string"
374 }
375 },
376 "type" : "object"
377 }
378 }
379 },
380 "leaf" : 1,
381 "path" : "/cluster/config/nodes/{node}",
382 "text" : "{node}"
383 }
384 ],
32d876b5
DM
385 "info" : {
386 "GET" : {
387 "description" : "Corosync node list.",
388 "method" : "GET",
389 "name" : "nodes",
390 "parameters" : {
391 "additionalProperties" : 0
392 },
5d9c884c
DM
393 "permissions" : {
394 "check" : [
395 "perm",
396 "/",
397 [
398 "Sys.Audit"
399 ]
400 ]
401 },
32d876b5
DM
402 "returns" : {
403 "items" : {
404 "properties" : {
405 "node" : {
406 "type" : "string"
407 }
408 },
409 "type" : "object"
410 },
411 "links" : [
412 {
413 "href" : "{node}",
414 "rel" : "child"
415 }
416 ],
417 "type" : "array"
418 }
419 }
420 },
27a7acb2 421 "leaf" : 0,
32d876b5
DM
422 "path" : "/cluster/config/nodes",
423 "text" : "nodes"
424 },
27a7acb2
DM
425 {
426 "info" : {
427 "GET" : {
428 "description" : "Get information needed to join this cluster over the connected node.",
429 "method" : "GET",
430 "name" : "join_info",
431 "parameters" : {
432 "additionalProperties" : 0,
433 "properties" : {
434 "node" : {
435 "default" : "current connected node",
436 "description" : "The node for which the joinee gets the nodeinfo. ",
437 "format" : "pve-node",
438 "optional" : 1,
439 "type" : "string",
440 "typetext" : "<string>"
441 }
442 }
443 },
a9a8e3d1
DM
444 "permissions" : {
445 "check" : [
446 "perm",
447 "/",
448 [
449 "Sys.Audit"
450 ]
451 ]
452 },
27a7acb2
DM
453 "returns" : {
454 "additionalProperties" : 0,
455 "properties" : {
456 "config_digest" : {
457 "type" : "string"
458 },
459 "nodelist" : {
460 "items" : {
461 "additionalProperties" : 1,
462 "properties" : {
463 "name" : {
464 "description" : "The cluster node name.",
465 "format" : "pve-node",
466 "type" : "string"
467 },
468 "nodeid" : {
469 "description" : "Node id for this node.",
470 "minimum" : 1,
471 "optional" : 1,
472 "type" : "integer"
473 },
474 "pve_addr" : {
475 "format" : "ip",
476 "type" : "string"
477 },
478 "pve_fp" : {
479 "description" : "Certificate SHA 256 fingerprint.",
480 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
481 "type" : "string"
482 },
483 "quorum_votes" : {
484 "minimum" : 0,
485 "type" : "integer"
486 },
487 "ring0_addr" : {
488 "default" : "Hostname of the node",
489 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
490 "format" : "address",
491 "optional" : 1,
492 "type" : "string"
493 }
494 },
495 "type" : "object"
496 },
497 "type" : "array"
498 },
499 "preferred_node" : {
500 "description" : "The cluster node name.",
501 "format" : "pve-node",
502 "type" : "string"
503 },
504 "totem" : {
505 "type" : "object"
506 }
507 },
508 "type" : "object"
509 }
510 },
511 "POST" : {
512 "description" : "Joins this node into an existing cluster.",
513 "method" : "POST",
514 "name" : "join",
515 "parameters" : {
516 "additionalProperties" : 0,
517 "properties" : {
518 "fingerprint" : {
519 "description" : "Certificate SHA 256 fingerprint.",
520 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
521 "type" : "string"
522 },
523 "force" : {
524 "description" : "Do not throw error if node already exists.",
525 "optional" : 1,
526 "type" : "boolean",
527 "typetext" : "<boolean>"
528 },
529 "hostname" : {
530 "description" : "Hostname (or IP) of an existing cluster member.",
531 "type" : "string",
532 "typetext" : "<string>"
533 },
534 "nodeid" : {
535 "description" : "Node id for this node.",
536 "minimum" : 1,
537 "optional" : 1,
538 "type" : "integer",
539 "typetext" : "<integer> (1 - N)"
540 },
541 "password" : {
542 "description" : "Superuser (root) password of peer node.",
543 "maxLength" : 128,
544 "type" : "string",
545 "typetext" : "<string>"
546 },
547 "ring0_addr" : {
548 "default" : "IP resolved by node's hostname",
549 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
550 "format" : "address",
551 "optional" : 1,
552 "type" : "string",
553 "typetext" : "<string>"
554 },
555 "ring1_addr" : {
556 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
557 "format" : "address",
558 "optional" : 1,
559 "type" : "string",
560 "typetext" : "<string>"
561 },
562 "votes" : {
563 "description" : "Number of votes for this node",
564 "minimum" : 0,
565 "optional" : 1,
566 "type" : "integer",
567 "typetext" : "<integer> (0 - N)"
568 }
569 }
570 },
571 "protected" : 1,
572 "returns" : {
573 "type" : "string"
574 }
575 }
576 },
577 "leaf" : 1,
578 "path" : "/cluster/config/join",
579 "text" : "join"
580 },
32d876b5
DM
581 {
582 "info" : {
583 "GET" : {
584 "description" : "Get corosync totem protocol settings.",
585 "method" : "GET",
586 "name" : "totem",
587 "parameters" : {
588 "additionalProperties" : 0
589 },
5d9c884c
DM
590 "permissions" : {
591 "check" : [
592 "perm",
593 "/",
594 [
595 "Sys.Audit"
596 ]
597 ]
598 },
32d876b5 599 "returns" : {
32d876b5
DM
600 "type" : "object"
601 }
602 }
603 },
604 "leaf" : 1,
605 "path" : "/cluster/config/totem",
606 "text" : "totem"
607 }
608 ],
609 "info" : {
610 "GET" : {
611 "description" : "Directory index.",
612 "method" : "GET",
613 "name" : "index",
614 "parameters" : {
615 "additionalProperties" : 0
616 },
5d9c884c
DM
617 "permissions" : {
618 "check" : [
619 "perm",
620 "/",
621 [
622 "Sys.Audit"
623 ]
624 ]
625 },
32d876b5
DM
626 "returns" : {
627 "items" : {
628 "properties" : {},
629 "type" : "object"
630 },
631 "links" : [
632 {
633 "href" : "{name}",
634 "rel" : "child"
635 }
636 ],
637 "type" : "array"
638 }
27a7acb2
DM
639 },
640 "POST" : {
641 "description" : "Generate new cluster configuration.",
642 "method" : "POST",
643 "name" : "create",
644 "parameters" : {
645 "additionalProperties" : 0,
646 "properties" : {
647 "bindnet0_addr" : {
648 "description" : "This specifies the network address the corosync ring 0 executive should bind to and defaults to the local IP address of the node.",
649 "format" : "ip",
650 "optional" : 1,
651 "type" : "string",
652 "typetext" : "<string>"
653 },
654 "bindnet1_addr" : {
655 "description" : "This specifies the network address the corosync ring 1 executive should bind to and is optional.",
656 "format" : "ip",
657 "optional" : 1,
658 "type" : "string",
659 "typetext" : "<string>"
660 },
661 "clustername" : {
662 "description" : "The name of the cluster.",
663 "format" : "pve-node",
664 "maxLength" : 15,
665 "type" : "string",
666 "typetext" : "<string>"
667 },
668 "nodeid" : {
669 "description" : "Node id for this node.",
670 "minimum" : 1,
671 "optional" : 1,
672 "type" : "integer",
673 "typetext" : "<integer> (1 - N)"
674 },
675 "ring0_addr" : {
676 "default" : "Hostname of the node",
677 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
678 "format" : "address",
679 "optional" : 1,
680 "type" : "string",
681 "typetext" : "<string>"
682 },
683 "ring1_addr" : {
684 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
685 "format" : "address",
686 "optional" : 1,
687 "type" : "string",
688 "typetext" : "<string>"
689 },
690 "votes" : {
691 "description" : "Number of votes for this node.",
692 "minimum" : 1,
693 "optional" : 1,
694 "type" : "integer",
695 "typetext" : "<integer> (1 - N)"
696 }
697 }
698 },
699 "protected" : 1,
700 "returns" : {
701 "type" : "string"
702 }
32d876b5
DM
703 }
704 },
705 "leaf" : 0,
706 "path" : "/cluster/config",
707 "text" : "config"
708 },
56122987 709 {
56122987
DM
710 "children" : [
711 {
56122987
DM
712 "children" : [
713 {
44660702
DM
714 "children" : [
715 {
716 "info" : {
717 "DELETE" : {
718 "description" : "Delete rule.",
719 "method" : "DELETE",
720 "name" : "delete_rule",
721 "parameters" : {
722 "additionalProperties" : 0,
723 "properties" : {
724 "digest" : {
725 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
726 "maxLength" : 40,
727 "optional" : 1,
013dc89f
DM
728 "type" : "string",
729 "typetext" : "<string>"
44660702
DM
730 },
731 "group" : {
732 "description" : "Security Group name.",
4bd7df8b 733 "maxLength" : 18,
44660702
DM
734 "minLength" : 2,
735 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
736 "type" : "string"
737 },
738 "pos" : {
739 "description" : "Update rule at position <pos>.",
740 "minimum" : 0,
741 "optional" : 1,
4bd7df8b 742 "type" : "integer",
013dc89f 743 "typetext" : "<integer> (0 - N)"
44660702
DM
744 }
745 }
746 },
747 "permissions" : {
748 "check" : [
749 "perm",
750 "/",
751 [
752 "Sys.Modify"
753 ]
754 ]
755 },
756 "protected" : 1,
757 "proxyto" : null,
758 "returns" : {
759 "type" : "null"
7aacca6f
DM
760 }
761 },
44660702
DM
762 "GET" : {
763 "description" : "Get single rule data.",
764 "method" : "GET",
765 "name" : "get_rule",
766 "parameters" : {
767 "additionalProperties" : 0,
768 "properties" : {
769 "group" : {
770 "description" : "Security Group name.",
4bd7df8b 771 "maxLength" : 18,
44660702
DM
772 "minLength" : 2,
773 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
774 "type" : "string"
775 },
776 "pos" : {
777 "description" : "Update rule at position <pos>.",
778 "minimum" : 0,
779 "optional" : 1,
4bd7df8b 780 "type" : "integer",
013dc89f 781 "typetext" : "<integer> (0 - N)"
44660702 782 }
7aacca6f 783 }
56122987 784 },
44660702
DM
785 "permissions" : {
786 "check" : [
787 "perm",
788 "/",
789 [
790 "Sys.Audit"
791 ]
792 ]
793 },
794 "proxyto" : null,
795 "returns" : {
796 "properties" : {
e2d681b3
TL
797 "action" : {
798 "type" : "string"
799 },
800 "comment" : {
801 "optional" : 1,
802 "type" : "string"
803 },
804 "dest" : {
805 "optional" : 1,
806 "type" : "string"
807 },
808 "dport" : {
809 "optional" : 1,
810 "type" : "string"
811 },
812 "enable" : {
813 "optional" : 1,
814 "type" : "integer"
815 },
816 "iface" : {
817 "optional" : 1,
818 "type" : "string"
819 },
820 "ipversion" : {
821 "optional" : 1,
822 "type" : "integer"
823 },
824 "macro" : {
825 "optional" : 1,
5f26e15b 826 "type" : "string"
e2d681b3 827 },
44660702
DM
828 "pos" : {
829 "type" : "integer"
e2d681b3
TL
830 },
831 "proto" : {
832 "optional" : 1,
833 "type" : "string"
834 },
835 "source" : {
836 "optional" : 1,
837 "type" : "string"
838 },
839 "sport" : {
840 "optional" : 1,
841 "type" : "string"
842 },
843 "type" : {
844 "type" : "string"
44660702
DM
845 }
846 },
847 "type" : "object"
56122987 848 }
44660702 849 },
7aacca6f 850 "PUT" : {
44660702
DM
851 "description" : "Modify rule data.",
852 "method" : "PUT",
853 "name" : "update_rule",
7aacca6f
DM
854 "parameters" : {
855 "additionalProperties" : 0,
856 "properties" : {
44660702
DM
857 "action" : {
858 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 859 "maxLength" : 20,
44660702 860 "minLength" : 2,
7aacca6f 861 "optional" : 1,
44660702 862 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
863 "type" : "string"
864 },
44660702 865 "comment" : {
e94f0d56 866 "description" : "Descriptive comment.",
7aacca6f 867 "optional" : 1,
013dc89f
DM
868 "type" : "string",
869 "typetext" : "<string>"
7aacca6f 870 },
44660702
DM
871 "delete" : {
872 "description" : "A list of settings you want to delete.",
873 "format" : "pve-configid-list",
7aacca6f 874 "optional" : 1,
013dc89f
DM
875 "type" : "string",
876 "typetext" : "<string>"
7aacca6f 877 },
44660702
DM
878 "dest" : {
879 "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.",
880 "format" : "pve-fw-addr-spec",
7aacca6f 881 "optional" : 1,
013dc89f
DM
882 "type" : "string",
883 "typetext" : "<string>"
7aacca6f
DM
884 },
885 "digest" : {
886 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 887 "maxLength" : 40,
7aacca6f 888 "optional" : 1,
013dc89f
DM
889 "type" : "string",
890 "typetext" : "<string>"
7aacca6f 891 },
44660702
DM
892 "dport" : {
893 "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.",
894 "format" : "pve-fw-dport-spec",
7aacca6f 895 "optional" : 1,
013dc89f
DM
896 "type" : "string",
897 "typetext" : "<string>"
7aacca6f 898 },
44660702 899 "enable" : {
e94f0d56 900 "description" : "Flag to enable/disable a rule.",
44660702 901 "minimum" : 0,
7aacca6f 902 "optional" : 1,
4bd7df8b 903 "type" : "integer",
013dc89f 904 "typetext" : "<integer> (0 - N)"
7aacca6f 905 },
44660702
DM
906 "group" : {
907 "description" : "Security Group name.",
4bd7df8b 908 "maxLength" : 18,
44660702
DM
909 "minLength" : 2,
910 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
911 "type" : "string"
912 },
913 "iface" : {
914 "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.",
915 "format" : "pve-iface",
916 "maxLength" : 20,
917 "minLength" : 2,
7aacca6f 918 "optional" : 1,
013dc89f
DM
919 "type" : "string",
920 "typetext" : "<string>"
7aacca6f 921 },
44660702 922 "macro" : {
e94f0d56 923 "description" : "Use predefined standard macro.",
44660702
DM
924 "maxLength" : 128,
925 "optional" : 1,
013dc89f
DM
926 "type" : "string",
927 "typetext" : "<string>"
7aacca6f
DM
928 },
929 "moveto" : {
930 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 931 "minimum" : 0,
7aacca6f 932 "optional" : 1,
4bd7df8b 933 "type" : "integer",
013dc89f 934 "typetext" : "<integer> (0 - N)"
7aacca6f 935 },
44660702
DM
936 "pos" : {
937 "description" : "Update rule at position <pos>.",
938 "minimum" : 0,
939 "optional" : 1,
4bd7df8b 940 "type" : "integer",
013dc89f 941 "typetext" : "<integer> (0 - N)"
7aacca6f 942 },
44660702
DM
943 "proto" : {
944 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
945 "format" : "pve-fw-protocol-spec",
7aacca6f 946 "optional" : 1,
013dc89f
DM
947 "type" : "string",
948 "typetext" : "<string>"
44660702
DM
949 },
950 "source" : {
951 "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.",
952 "format" : "pve-fw-addr-spec",
953 "optional" : 1,
013dc89f
DM
954 "type" : "string",
955 "typetext" : "<string>"
44660702
DM
956 },
957 "sport" : {
958 "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.",
959 "format" : "pve-fw-sport-spec",
960 "optional" : 1,
013dc89f
DM
961 "type" : "string",
962 "typetext" : "<string>"
7aacca6f
DM
963 },
964 "type" : {
e94f0d56 965 "description" : "Rule type.",
7aacca6f
DM
966 "enum" : [
967 "in",
968 "out",
969 "group"
970 ],
971 "optional" : 1,
972 "type" : "string"
973 }
974 }
975 },
7aacca6f
DM
976 "permissions" : {
977 "check" : [
978 "perm",
979 "/",
980 [
981 "Sys.Modify"
982 ]
983 ]
984 },
44660702 985 "protected" : 1,
7aacca6f
DM
986 "proxyto" : null,
987 "returns" : {
988 "type" : "null"
989 }
7aacca6f
DM
990 }
991 },
44660702 992 "leaf" : 1,
7aacca6f 993 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 994 "text" : "{pos}"
7aacca6f
DM
995 }
996 ],
44660702
DM
997 "info" : {
998 "DELETE" : {
999 "description" : "Delete security group.",
1000 "method" : "DELETE",
1001 "name" : "delete_security_group",
1002 "parameters" : {
1003 "additionalProperties" : 0,
1004 "properties" : {
1005 "group" : {
1006 "description" : "Security Group name.",
4bd7df8b 1007 "maxLength" : 18,
44660702
DM
1008 "minLength" : 2,
1009 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1010 "type" : "string"
1011 }
56122987 1012 }
7aacca6f 1013 },
44660702
DM
1014 "permissions" : {
1015 "check" : [
1016 "perm",
1017 "/",
1018 [
1019 "Sys.Modify"
1020 ]
7aacca6f 1021 ]
56122987 1022 },
44660702
DM
1023 "protected" : 1,
1024 "returns" : {
1025 "type" : "null"
56122987 1026 }
7aacca6f 1027 },
7aacca6f 1028 "GET" : {
44660702 1029 "description" : "List rules.",
7aacca6f 1030 "method" : "GET",
44660702
DM
1031 "name" : "get_rules",
1032 "parameters" : {
1033 "additionalProperties" : 0,
7aacca6f 1034 "properties" : {
44660702
DM
1035 "group" : {
1036 "description" : "Security Group name.",
4bd7df8b 1037 "maxLength" : 18,
44660702
DM
1038 "minLength" : 2,
1039 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1040 "type" : "string"
7aacca6f 1041 }
44660702 1042 }
7aacca6f
DM
1043 },
1044 "permissions" : {
1045 "check" : [
1046 "perm",
1047 "/",
1048 [
1049 "Sys.Audit"
1050 ]
1051 ]
1052 },
44660702
DM
1053 "proxyto" : null,
1054 "returns" : {
1055 "items" : {
1056 "properties" : {
1057 "pos" : {
1058 "type" : "integer"
1059 }
1060 },
1061 "type" : "object"
1062 },
1063 "links" : [
1064 {
1065 "href" : "{pos}",
1066 "rel" : "child"
1067 }
1068 ],
1069 "type" : "array"
1070 }
1071 },
1072 "POST" : {
1073 "description" : "Create new rule.",
1074 "method" : "POST",
1075 "name" : "create_rule",
7aacca6f
DM
1076 "parameters" : {
1077 "additionalProperties" : 0,
1078 "properties" : {
44660702
DM
1079 "action" : {
1080 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1081 "maxLength" : 20,
56122987 1082 "minLength" : 2,
44660702
DM
1083 "optional" : 0,
1084 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1085 "type" : "string"
56122987 1086 },
44660702 1087 "comment" : {
e94f0d56 1088 "description" : "Descriptive comment.",
56122987 1089 "optional" : 1,
013dc89f
DM
1090 "type" : "string",
1091 "typetext" : "<string>"
56122987 1092 },
44660702
DM
1093 "dest" : {
1094 "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
1095 "format" : "pve-fw-addr-spec",
1096 "optional" : 1,
013dc89f
DM
1097 "type" : "string",
1098 "typetext" : "<string>"
56122987 1099 },
44660702
DM
1100 "digest" : {
1101 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1102 "maxLength" : 40,
7aacca6f 1103 "optional" : 1,
013dc89f
DM
1104 "type" : "string",
1105 "typetext" : "<string>"
56122987 1106 },
44660702
DM
1107 "dport" : {
1108 "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.",
1109 "format" : "pve-fw-dport-spec",
56122987 1110 "optional" : 1,
013dc89f
DM
1111 "type" : "string",
1112 "typetext" : "<string>"
56122987 1113 },
7aacca6f 1114 "enable" : {
e94f0d56 1115 "description" : "Flag to enable/disable a rule.",
44660702 1116 "minimum" : 0,
7aacca6f 1117 "optional" : 1,
4bd7df8b 1118 "type" : "integer",
013dc89f 1119 "typetext" : "<integer> (0 - N)"
56122987 1120 },
44660702
DM
1121 "group" : {
1122 "description" : "Security Group name.",
4bd7df8b 1123 "maxLength" : 18,
44660702 1124 "minLength" : 2,
7aacca6f 1125 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1126 "type" : "string"
1127 },
1128 "iface" : {
1129 "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.",
1130 "format" : "pve-iface",
1131 "maxLength" : 20,
7aacca6f 1132 "minLength" : 2,
44660702 1133 "optional" : 1,
013dc89f
DM
1134 "type" : "string",
1135 "typetext" : "<string>"
56122987 1136 },
7aacca6f 1137 "macro" : {
e94f0d56 1138 "description" : "Use predefined standard macro.",
44660702 1139 "maxLength" : 128,
7aacca6f 1140 "optional" : 1,
013dc89f
DM
1141 "type" : "string",
1142 "typetext" : "<string>"
7aacca6f
DM
1143 },
1144 "pos" : {
1145 "description" : "Update rule at position <pos>.",
44660702 1146 "minimum" : 0,
56122987 1147 "optional" : 1,
4bd7df8b 1148 "type" : "integer",
013dc89f 1149 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1150 },
1151 "proto" : {
1152 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1153 "format" : "pve-fw-protocol-spec",
7aacca6f 1154 "optional" : 1,
013dc89f
DM
1155 "type" : "string",
1156 "typetext" : "<string>"
44660702
DM
1157 },
1158 "source" : {
1159 "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.",
1160 "format" : "pve-fw-addr-spec",
1161 "optional" : 1,
013dc89f
DM
1162 "type" : "string",
1163 "typetext" : "<string>"
44660702
DM
1164 },
1165 "sport" : {
1166 "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.",
1167 "format" : "pve-fw-sport-spec",
1168 "optional" : 1,
013dc89f
DM
1169 "type" : "string",
1170 "typetext" : "<string>"
44660702
DM
1171 },
1172 "type" : {
e94f0d56 1173 "description" : "Rule type.",
44660702
DM
1174 "enum" : [
1175 "in",
1176 "out",
1177 "group"
1178 ],
1179 "optional" : 0,
1180 "type" : "string"
56122987 1181 }
44660702 1182 }
56122987 1183 },
56122987
DM
1184 "permissions" : {
1185 "check" : [
1186 "perm",
1187 "/",
1188 [
1189 "Sys.Modify"
1190 ]
1191 ]
1192 },
44660702
DM
1193 "protected" : 1,
1194 "proxyto" : null,
56122987
DM
1195 "returns" : {
1196 "type" : "null"
7aacca6f 1197 }
44660702
DM
1198 }
1199 },
1200 "leaf" : 0,
1201 "path" : "/cluster/firewall/groups/{group}",
1202 "text" : "{group}"
1203 }
1204 ],
1205 "info" : {
1206 "GET" : {
1207 "description" : "List security groups.",
1208 "method" : "GET",
1209 "name" : "list_security_groups",
1210 "parameters" : {
1211 "additionalProperties" : 0
1212 },
1213 "permissions" : {
1214 "user" : "all"
1215 },
1216 "returns" : {
1217 "items" : {
1218 "properties" : {
1219 "comment" : {
1220 "optional" : 1,
1221 "type" : "string"
1222 },
1223 "digest" : {
1224 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1225 "maxLength" : 40,
1226 "optional" : 0,
1227 "type" : "string"
1228 },
1229 "group" : {
1230 "description" : "Security Group name.",
4bd7df8b 1231 "maxLength" : 18,
44660702
DM
1232 "minLength" : 2,
1233 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1234 "type" : "string"
1235 }
1236 },
1237 "type" : "object"
56122987 1238 },
44660702
DM
1239 "links" : [
1240 {
1241 "href" : "{group}",
1242 "rel" : "child"
1243 }
1244 ],
1245 "type" : "array"
1246 }
1247 },
1248 "POST" : {
1249 "description" : "Create new security group.",
1250 "method" : "POST",
1251 "name" : "create_security_group",
1252 "parameters" : {
1253 "additionalProperties" : 0,
1254 "properties" : {
1255 "comment" : {
1256 "optional" : 1,
013dc89f
DM
1257 "type" : "string",
1258 "typetext" : "<string>"
44660702
DM
1259 },
1260 "digest" : {
1261 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1262 "maxLength" : 40,
1263 "optional" : 1,
013dc89f
DM
1264 "type" : "string",
1265 "typetext" : "<string>"
44660702
DM
1266 },
1267 "group" : {
1268 "description" : "Security Group name.",
4bd7df8b 1269 "maxLength" : 18,
44660702
DM
1270 "minLength" : 2,
1271 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1272 "type" : "string"
1273 },
1274 "rename" : {
1275 "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 1276 "maxLength" : 18,
44660702
DM
1277 "minLength" : 2,
1278 "optional" : 1,
1279 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1280 "type" : "string"
1281 }
1282 }
1283 },
1284 "permissions" : {
1285 "check" : [
1286 "perm",
1287 "/",
1288 [
1289 "Sys.Modify"
1290 ]
1291 ]
1292 },
1293 "protected" : 1,
1294 "returns" : {
1295 "type" : "null"
1296 }
1297 }
1298 },
1299 "leaf" : 0,
1300 "path" : "/cluster/firewall/groups",
1301 "text" : "groups"
1302 },
1303 {
1304 "children" : [
1305 {
1306 "info" : {
7aacca6f 1307 "DELETE" : {
44660702
DM
1308 "description" : "Delete rule.",
1309 "method" : "DELETE",
1310 "name" : "delete_rule",
1311 "parameters" : {
1312 "additionalProperties" : 0,
1313 "properties" : {
1314 "digest" : {
1315 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1316 "maxLength" : 40,
1317 "optional" : 1,
013dc89f
DM
1318 "type" : "string",
1319 "typetext" : "<string>"
44660702
DM
1320 },
1321 "pos" : {
1322 "description" : "Update rule at position <pos>.",
1323 "minimum" : 0,
1324 "optional" : 1,
4bd7df8b 1325 "type" : "integer",
013dc89f 1326 "typetext" : "<integer> (0 - N)"
44660702
DM
1327 }
1328 }
1329 },
56122987
DM
1330 "permissions" : {
1331 "check" : [
1332 "perm",
1333 "/",
1334 [
7aacca6f 1335 "Sys.Modify"
56122987
DM
1336 ]
1337 ]
1338 },
44660702 1339 "protected" : 1,
56122987
DM
1340 "proxyto" : null,
1341 "returns" : {
7aacca6f 1342 "type" : "null"
44660702
DM
1343 }
1344 },
1345 "GET" : {
1346 "description" : "Get single rule data.",
1347 "method" : "GET",
1348 "name" : "get_rule",
56122987
DM
1349 "parameters" : {
1350 "additionalProperties" : 0,
1351 "properties" : {
1352 "pos" : {
7aacca6f 1353 "description" : "Update rule at position <pos>.",
44660702 1354 "minimum" : 0,
56122987 1355 "optional" : 1,
4bd7df8b 1356 "type" : "integer",
013dc89f 1357 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1358 }
1359 }
1360 },
7aacca6f
DM
1361 "permissions" : {
1362 "check" : [
1363 "perm",
1364 "/",
1365 [
1366 "Sys.Audit"
1367 ]
1368 ]
56122987 1369 },
44660702
DM
1370 "proxyto" : null,
1371 "returns" : {
7aacca6f 1372 "properties" : {
e2d681b3
TL
1373 "action" : {
1374 "type" : "string"
1375 },
1376 "comment" : {
1377 "optional" : 1,
1378 "type" : "string"
1379 },
1380 "dest" : {
1381 "optional" : 1,
1382 "type" : "string"
1383 },
1384 "dport" : {
1385 "optional" : 1,
1386 "type" : "string"
1387 },
1388 "enable" : {
1389 "optional" : 1,
1390 "type" : "integer"
1391 },
1392 "iface" : {
1393 "optional" : 1,
1394 "type" : "string"
1395 },
1396 "ipversion" : {
1397 "optional" : 1,
1398 "type" : "integer"
1399 },
1400 "macro" : {
1401 "optional" : 1,
5f26e15b 1402 "type" : "string"
e2d681b3 1403 },
44660702
DM
1404 "pos" : {
1405 "type" : "integer"
e2d681b3
TL
1406 },
1407 "proto" : {
1408 "optional" : 1,
1409 "type" : "string"
1410 },
1411 "source" : {
1412 "optional" : 1,
1413 "type" : "string"
1414 },
1415 "sport" : {
1416 "optional" : 1,
1417 "type" : "string"
1418 },
1419 "type" : {
1420 "type" : "string"
7aacca6f 1421 }
44660702
DM
1422 },
1423 "type" : "object"
1424 }
56122987 1425 },
44660702
DM
1426 "PUT" : {
1427 "description" : "Modify rule data.",
1428 "method" : "PUT",
1429 "name" : "update_rule",
7aacca6f
DM
1430 "parameters" : {
1431 "additionalProperties" : 0,
1432 "properties" : {
44660702
DM
1433 "action" : {
1434 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1435 "maxLength" : 20,
1436 "minLength" : 2,
1437 "optional" : 1,
1438 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1439 "type" : "string"
7aacca6f 1440 },
44660702 1441 "comment" : {
e94f0d56 1442 "description" : "Descriptive comment.",
44660702 1443 "optional" : 1,
013dc89f
DM
1444 "type" : "string",
1445 "typetext" : "<string>"
7aacca6f 1446 },
44660702
DM
1447 "delete" : {
1448 "description" : "A list of settings you want to delete.",
1449 "format" : "pve-configid-list",
1450 "optional" : 1,
013dc89f
DM
1451 "type" : "string",
1452 "typetext" : "<string>"
44660702
DM
1453 },
1454 "dest" : {
1455 "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.",
1456 "format" : "pve-fw-addr-spec",
1457 "optional" : 1,
013dc89f
DM
1458 "type" : "string",
1459 "typetext" : "<string>"
44660702
DM
1460 },
1461 "digest" : {
1462 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1463 "maxLength" : 40,
1464 "optional" : 1,
013dc89f
DM
1465 "type" : "string",
1466 "typetext" : "<string>"
44660702
DM
1467 },
1468 "dport" : {
1469 "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.",
1470 "format" : "pve-fw-dport-spec",
1471 "optional" : 1,
013dc89f
DM
1472 "type" : "string",
1473 "typetext" : "<string>"
44660702
DM
1474 },
1475 "enable" : {
e94f0d56 1476 "description" : "Flag to enable/disable a rule.",
44660702
DM
1477 "minimum" : 0,
1478 "optional" : 1,
4bd7df8b 1479 "type" : "integer",
013dc89f 1480 "typetext" : "<integer> (0 - N)"
44660702
DM
1481 },
1482 "iface" : {
1483 "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.",
1484 "format" : "pve-iface",
1485 "maxLength" : 20,
7aacca6f 1486 "minLength" : 2,
44660702 1487 "optional" : 1,
013dc89f
DM
1488 "type" : "string",
1489 "typetext" : "<string>"
7aacca6f 1490 },
44660702 1491 "macro" : {
e94f0d56 1492 "description" : "Use predefined standard macro.",
44660702
DM
1493 "maxLength" : 128,
1494 "optional" : 1,
013dc89f
DM
1495 "type" : "string",
1496 "typetext" : "<string>"
44660702
DM
1497 },
1498 "moveto" : {
1499 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1500 "minimum" : 0,
1501 "optional" : 1,
4bd7df8b 1502 "type" : "integer",
013dc89f 1503 "typetext" : "<integer> (0 - N)"
44660702
DM
1504 },
1505 "pos" : {
1506 "description" : "Update rule at position <pos>.",
1507 "minimum" : 0,
1508 "optional" : 1,
4bd7df8b 1509 "type" : "integer",
013dc89f 1510 "typetext" : "<integer> (0 - N)"
44660702
DM
1511 },
1512 "proto" : {
1513 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1514 "format" : "pve-fw-protocol-spec",
1515 "optional" : 1,
013dc89f
DM
1516 "type" : "string",
1517 "typetext" : "<string>"
44660702
DM
1518 },
1519 "source" : {
1520 "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.",
1521 "format" : "pve-fw-addr-spec",
1522 "optional" : 1,
013dc89f
DM
1523 "type" : "string",
1524 "typetext" : "<string>"
44660702
DM
1525 },
1526 "sport" : {
1527 "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.",
1528 "format" : "pve-fw-sport-spec",
1529 "optional" : 1,
013dc89f
DM
1530 "type" : "string",
1531 "typetext" : "<string>"
44660702
DM
1532 },
1533 "type" : {
e94f0d56 1534 "description" : "Rule type.",
44660702
DM
1535 "enum" : [
1536 "in",
1537 "out",
1538 "group"
1539 ],
1540 "optional" : 1,
1541 "type" : "string"
7aacca6f 1542 }
56122987
DM
1543 }
1544 },
7aacca6f
DM
1545 "permissions" : {
1546 "check" : [
1547 "perm",
1548 "/",
1549 [
1550 "Sys.Modify"
1551 ]
1552 ]
1553 },
44660702
DM
1554 "protected" : 1,
1555 "proxyto" : null,
1556 "returns" : {
1557 "type" : "null"
1558 }
7aacca6f 1559 }
56122987 1560 },
44660702
DM
1561 "leaf" : 1,
1562 "path" : "/cluster/firewall/rules/{pos}",
1563 "text" : "{pos}"
7aacca6f
DM
1564 }
1565 ],
7aacca6f 1566 "info" : {
44660702
DM
1567 "GET" : {
1568 "description" : "List rules.",
1569 "method" : "GET",
1570 "name" : "get_rules",
7aacca6f 1571 "parameters" : {
44660702 1572 "additionalProperties" : 0
7aacca6f
DM
1573 },
1574 "permissions" : {
1575 "check" : [
1576 "perm",
1577 "/",
1578 [
44660702 1579 "Sys.Audit"
7aacca6f
DM
1580 ]
1581 ]
1582 },
44660702 1583 "proxyto" : null,
7aacca6f 1584 "returns" : {
7aacca6f
DM
1585 "items" : {
1586 "properties" : {
44660702
DM
1587 "pos" : {
1588 "type" : "integer"
7aacca6f
DM
1589 }
1590 },
1591 "type" : "object"
56122987 1592 },
7aacca6f
DM
1593 "links" : [
1594 {
44660702 1595 "href" : "{pos}",
7aacca6f
DM
1596 "rel" : "child"
1597 }
44660702
DM
1598 ],
1599 "type" : "array"
7aacca6f 1600 }
44660702 1601 },
7aacca6f 1602 "POST" : {
44660702 1603 "description" : "Create new rule.",
7aacca6f 1604 "method" : "POST",
44660702 1605 "name" : "create_rule",
7aacca6f
DM
1606 "parameters" : {
1607 "additionalProperties" : 0,
1608 "properties" : {
44660702
DM
1609 "action" : {
1610 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1611 "maxLength" : 20,
7aacca6f 1612 "minLength" : 2,
44660702
DM
1613 "optional" : 0,
1614 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1615 "type" : "string"
7aacca6f
DM
1616 },
1617 "comment" : {
e94f0d56 1618 "description" : "Descriptive comment.",
7aacca6f 1619 "optional" : 1,
013dc89f
DM
1620 "type" : "string",
1621 "typetext" : "<string>"
44660702
DM
1622 },
1623 "dest" : {
1624 "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.",
1625 "format" : "pve-fw-addr-spec",
1626 "optional" : 1,
013dc89f
DM
1627 "type" : "string",
1628 "typetext" : "<string>"
44660702
DM
1629 },
1630 "digest" : {
1631 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1632 "maxLength" : 40,
1633 "optional" : 1,
013dc89f
DM
1634 "type" : "string",
1635 "typetext" : "<string>"
44660702
DM
1636 },
1637 "dport" : {
1638 "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.",
1639 "format" : "pve-fw-dport-spec",
1640 "optional" : 1,
013dc89f
DM
1641 "type" : "string",
1642 "typetext" : "<string>"
44660702
DM
1643 },
1644 "enable" : {
e94f0d56 1645 "description" : "Flag to enable/disable a rule.",
44660702
DM
1646 "minimum" : 0,
1647 "optional" : 1,
4bd7df8b 1648 "type" : "integer",
013dc89f 1649 "typetext" : "<integer> (0 - N)"
44660702
DM
1650 },
1651 "iface" : {
1652 "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.",
1653 "format" : "pve-iface",
1654 "maxLength" : 20,
1655 "minLength" : 2,
1656 "optional" : 1,
013dc89f
DM
1657 "type" : "string",
1658 "typetext" : "<string>"
44660702
DM
1659 },
1660 "macro" : {
e94f0d56 1661 "description" : "Use predefined standard macro.",
44660702
DM
1662 "maxLength" : 128,
1663 "optional" : 1,
013dc89f
DM
1664 "type" : "string",
1665 "typetext" : "<string>"
44660702
DM
1666 },
1667 "pos" : {
1668 "description" : "Update rule at position <pos>.",
1669 "minimum" : 0,
1670 "optional" : 1,
4bd7df8b 1671 "type" : "integer",
013dc89f 1672 "typetext" : "<integer> (0 - N)"
44660702
DM
1673 },
1674 "proto" : {
1675 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1676 "format" : "pve-fw-protocol-spec",
1677 "optional" : 1,
013dc89f
DM
1678 "type" : "string",
1679 "typetext" : "<string>"
44660702
DM
1680 },
1681 "source" : {
1682 "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.",
1683 "format" : "pve-fw-addr-spec",
1684 "optional" : 1,
013dc89f
DM
1685 "type" : "string",
1686 "typetext" : "<string>"
44660702
DM
1687 },
1688 "sport" : {
1689 "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.",
1690 "format" : "pve-fw-sport-spec",
1691 "optional" : 1,
013dc89f
DM
1692 "type" : "string",
1693 "typetext" : "<string>"
44660702
DM
1694 },
1695 "type" : {
e94f0d56 1696 "description" : "Rule type.",
44660702
DM
1697 "enum" : [
1698 "in",
1699 "out",
1700 "group"
1701 ],
1702 "optional" : 0,
1703 "type" : "string"
7aacca6f
DM
1704 }
1705 }
1706 },
1707 "permissions" : {
1708 "check" : [
1709 "perm",
1710 "/",
1711 [
1712 "Sys.Modify"
1713 ]
1714 ]
1715 },
44660702
DM
1716 "protected" : 1,
1717 "proxyto" : null,
7aacca6f 1718 "returns" : {
44660702
DM
1719 "type" : "null"
1720 }
1721 }
1722 },
1723 "leaf" : 0,
1724 "path" : "/cluster/firewall/rules",
1725 "text" : "rules"
1726 },
1727 {
1728 "children" : [
1729 {
1730 "children" : [
1731 {
1732 "info" : {
1733 "DELETE" : {
1734 "description" : "Remove IP or Network from IPSet.",
1735 "method" : "DELETE",
1736 "name" : "remove_ip",
1737 "parameters" : {
1738 "additionalProperties" : 0,
1739 "properties" : {
1740 "cidr" : {
1741 "description" : "Network/IP specification in CIDR format.",
1742 "format" : "IPorCIDRorAlias",
013dc89f
DM
1743 "type" : "string",
1744 "typetext" : "<string>"
44660702
DM
1745 },
1746 "digest" : {
1747 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1748 "maxLength" : 40,
1749 "optional" : 1,
013dc89f
DM
1750 "type" : "string",
1751 "typetext" : "<string>"
44660702
DM
1752 },
1753 "name" : {
1754 "description" : "IP set name.",
1755 "maxLength" : 64,
1756 "minLength" : 2,
1757 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1758 "type" : "string"
1759 }
1760 }
1761 },
1762 "permissions" : {
1763 "check" : [
1764 "perm",
1765 "/",
1766 [
1767 "Sys.Modify"
1768 ]
1769 ]
1770 },
1771 "protected" : 1,
1772 "returns" : {
1773 "type" : "null"
1774 }
7aacca6f 1775 },
44660702
DM
1776 "GET" : {
1777 "description" : "Read IP or Network settings from IPSet.",
1778 "method" : "GET",
1779 "name" : "read_ip",
1780 "parameters" : {
1781 "additionalProperties" : 0,
1782 "properties" : {
1783 "cidr" : {
1784 "description" : "Network/IP specification in CIDR format.",
1785 "format" : "IPorCIDRorAlias",
013dc89f
DM
1786 "type" : "string",
1787 "typetext" : "<string>"
44660702
DM
1788 },
1789 "name" : {
1790 "description" : "IP set name.",
1791 "maxLength" : 64,
1792 "minLength" : 2,
1793 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1794 "type" : "string"
1795 }
1796 }
1797 },
1798 "permissions" : {
1799 "check" : [
1800 "perm",
1801 "/",
1802 [
1803 "Sys.Audit"
1804 ]
1805 ]
1806 },
1807 "protected" : 1,
1808 "returns" : {
1809 "type" : "object"
1810 }
7aacca6f 1811 },
44660702
DM
1812 "PUT" : {
1813 "description" : "Update IP or Network settings",
1814 "method" : "PUT",
1815 "name" : "update_ip",
1816 "parameters" : {
1817 "additionalProperties" : 0,
1818 "properties" : {
1819 "cidr" : {
1820 "description" : "Network/IP specification in CIDR format.",
1821 "format" : "IPorCIDRorAlias",
013dc89f
DM
1822 "type" : "string",
1823 "typetext" : "<string>"
44660702
DM
1824 },
1825 "comment" : {
1826 "optional" : 1,
013dc89f
DM
1827 "type" : "string",
1828 "typetext" : "<string>"
44660702
DM
1829 },
1830 "digest" : {
1831 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1832 "maxLength" : 40,
1833 "optional" : 1,
013dc89f
DM
1834 "type" : "string",
1835 "typetext" : "<string>"
44660702
DM
1836 },
1837 "name" : {
1838 "description" : "IP set name.",
1839 "maxLength" : 64,
1840 "minLength" : 2,
1841 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1842 "type" : "string"
1843 },
1844 "nomatch" : {
1845 "optional" : 1,
013dc89f
DM
1846 "type" : "boolean",
1847 "typetext" : "<boolean>"
44660702
DM
1848 }
1849 }
1850 },
1851 "permissions" : {
1852 "check" : [
1853 "perm",
1854 "/",
1855 [
1856 "Sys.Modify"
1857 ]
1858 ]
1859 },
1860 "protected" : 1,
1861 "returns" : {
1862 "type" : "null"
1863 }
7aacca6f
DM
1864 }
1865 },
44660702
DM
1866 "leaf" : 1,
1867 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1868 "text" : "{cidr}"
7aacca6f 1869 }
44660702 1870 ],
7aacca6f
DM
1871 "info" : {
1872 "DELETE" : {
44660702
DM
1873 "description" : "Delete IPSet",
1874 "method" : "DELETE",
1875 "name" : "delete_ipset",
56122987 1876 "parameters" : {
44660702 1877 "additionalProperties" : 0,
56122987
DM
1878 "properties" : {
1879 "name" : {
44660702 1880 "description" : "IP set name.",
56122987 1881 "maxLength" : 64,
44660702 1882 "minLength" : 2,
56122987 1883 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 1884 "type" : "string"
56122987 1885 }
44660702 1886 }
7aacca6f 1887 },
56122987
DM
1888 "permissions" : {
1889 "check" : [
1890 "perm",
1891 "/",
1892 [
1893 "Sys.Modify"
1894 ]
1895 ]
1896 },
7aacca6f
DM
1897 "protected" : 1,
1898 "returns" : {
1899 "type" : "null"
44660702 1900 }
7aacca6f 1901 },
44660702
DM
1902 "GET" : {
1903 "description" : "List IPSet content",
1904 "method" : "GET",
1905 "name" : "get_ipset",
56122987
DM
1906 "parameters" : {
1907 "additionalProperties" : 0,
1908 "properties" : {
7aacca6f 1909 "name" : {
44660702 1910 "description" : "IP set name.",
7aacca6f 1911 "maxLength" : 64,
7aacca6f 1912 "minLength" : 2,
44660702 1913 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 1914 "type" : "string"
56122987 1915 }
7aacca6f 1916 }
56122987 1917 },
56122987
DM
1918 "permissions" : {
1919 "check" : [
1920 "perm",
1921 "/",
1922 [
44660702 1923 "Sys.Audit"
56122987
DM
1924 ]
1925 ]
44660702
DM
1926 },
1927 "returns" : {
1928 "items" : {
1929 "properties" : {
1930 "cidr" : {
1931 "type" : "string"
1932 },
1933 "comment" : {
1934 "optional" : 1,
1935 "type" : "string"
1936 },
1937 "digest" : {
1938 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1939 "maxLength" : 40,
1940 "optional" : 0,
1941 "type" : "string"
1942 },
1943 "nomatch" : {
1944 "optional" : 1,
1945 "type" : "boolean"
1946 }
1947 },
1948 "type" : "object"
1949 },
1950 "links" : [
1951 {
1952 "href" : "{cidr}",
1953 "rel" : "child"
1954 }
1955 ],
1956 "type" : "array"
7aacca6f
DM
1957 }
1958 },
44660702
DM
1959 "POST" : {
1960 "description" : "Add IP or Network to IPSet.",
1961 "method" : "POST",
1962 "name" : "create_ip",
56122987
DM
1963 "parameters" : {
1964 "additionalProperties" : 0,
1965 "properties" : {
44660702
DM
1966 "cidr" : {
1967 "description" : "Network/IP specification in CIDR format.",
1968 "format" : "IPorCIDRorAlias",
013dc89f
DM
1969 "type" : "string",
1970 "typetext" : "<string>"
44660702
DM
1971 },
1972 "comment" : {
1973 "optional" : 1,
013dc89f
DM
1974 "type" : "string",
1975 "typetext" : "<string>"
44660702
DM
1976 },
1977 "name" : {
1978 "description" : "IP set name.",
1979 "maxLength" : 64,
1980 "minLength" : 2,
1981 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1982 "type" : "string"
1983 },
1984 "nomatch" : {
1985 "optional" : 1,
013dc89f
DM
1986 "type" : "boolean",
1987 "typetext" : "<boolean>"
56122987
DM
1988 }
1989 }
1990 },
56122987
DM
1991 "permissions" : {
1992 "check" : [
1993 "perm",
1994 "/",
1995 [
44660702 1996 "Sys.Modify"
56122987
DM
1997 ]
1998 ]
1999 },
44660702 2000 "protected" : 1,
56122987 2001 "returns" : {
44660702
DM
2002 "type" : "null"
2003 }
56122987
DM
2004 }
2005 },
44660702
DM
2006 "leaf" : 0,
2007 "path" : "/cluster/firewall/ipset/{name}",
2008 "text" : "{name}"
56122987
DM
2009 }
2010 ],
56122987 2011 "info" : {
44660702
DM
2012 "GET" : {
2013 "description" : "List IPSets",
2014 "method" : "GET",
2015 "name" : "ipset_index",
56122987 2016 "parameters" : {
7aacca6f 2017 "additionalProperties" : 0
56122987 2018 },
56122987
DM
2019 "permissions" : {
2020 "check" : [
2021 "perm",
2022 "/",
2023 [
7aacca6f 2024 "Sys.Audit"
56122987
DM
2025 ]
2026 ]
2027 },
56122987
DM
2028 "returns" : {
2029 "items" : {
2030 "properties" : {
44660702
DM
2031 "comment" : {
2032 "optional" : 1,
2033 "type" : "string"
56122987 2034 },
44660702
DM
2035 "digest" : {
2036 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2037 "maxLength" : 40,
2038 "optional" : 0,
2039 "type" : "string"
2040 },
2041 "name" : {
2042 "description" : "IP set name.",
2043 "maxLength" : 64,
2044 "minLength" : 2,
2045 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 2046 "type" : "string"
56122987
DM
2047 }
2048 },
2049 "type" : "object"
44660702
DM
2050 },
2051 "links" : [
2052 {
2053 "href" : "{name}",
2054 "rel" : "child"
2055 }
2056 ],
2057 "type" : "array"
56122987 2058 }
44660702
DM
2059 },
2060 "POST" : {
2061 "description" : "Create new IPSet",
2062 "method" : "POST",
2063 "name" : "create_ipset",
7aacca6f
DM
2064 "parameters" : {
2065 "additionalProperties" : 0,
2066 "properties" : {
44660702
DM
2067 "comment" : {
2068 "optional" : 1,
013dc89f
DM
2069 "type" : "string",
2070 "typetext" : "<string>"
44660702
DM
2071 },
2072 "digest" : {
2073 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2074 "maxLength" : 40,
2075 "optional" : 1,
013dc89f
DM
2076 "type" : "string",
2077 "typetext" : "<string>"
44660702
DM
2078 },
2079 "name" : {
2080 "description" : "IP set name.",
2081 "maxLength" : 64,
2082 "minLength" : 2,
2083 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2084 "type" : "string"
2085 },
2086 "rename" : {
2087 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2088 "maxLength" : 64,
2089 "minLength" : 2,
2090 "optional" : 1,
2091 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2092 "type" : "string"
7aacca6f
DM
2093 }
2094 }
2095 },
56122987
DM
2096 "permissions" : {
2097 "check" : [
2098 "perm",
2099 "/",
2100 [
44660702 2101 "Sys.Modify"
56122987
DM
2102 ]
2103 ]
2104 },
44660702 2105 "protected" : 1,
56122987 2106 "returns" : {
44660702
DM
2107 "type" : "null"
2108 }
56122987 2109 }
7aacca6f 2110 },
44660702
DM
2111 "leaf" : 0,
2112 "path" : "/cluster/firewall/ipset",
2113 "text" : "ipset"
2114 },
56122987 2115 {
44660702
DM
2116 "children" : [
2117 {
2118 "info" : {
2119 "DELETE" : {
2120 "description" : "Remove IP or Network alias.",
2121 "method" : "DELETE",
2122 "name" : "remove_alias",
2123 "parameters" : {
2124 "additionalProperties" : 0,
2125 "properties" : {
2126 "digest" : {
2127 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2128 "maxLength" : 40,
2129 "optional" : 1,
013dc89f
DM
2130 "type" : "string",
2131 "typetext" : "<string>"
44660702
DM
2132 },
2133 "name" : {
2134 "description" : "Alias name.",
2135 "maxLength" : 64,
2136 "minLength" : 2,
2137 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2138 "type" : "string"
2139 }
2140 }
2141 },
2142 "permissions" : {
2143 "check" : [
2144 "perm",
2145 "/",
2146 [
2147 "Sys.Modify"
2148 ]
2149 ]
2150 },
2151 "protected" : 1,
2152 "returns" : {
2153 "type" : "null"
2154 }
2155 },
2156 "GET" : {
2157 "description" : "Read alias.",
2158 "method" : "GET",
2159 "name" : "read_alias",
2160 "parameters" : {
2161 "additionalProperties" : 0,
2162 "properties" : {
2163 "name" : {
2164 "description" : "Alias name.",
2165 "maxLength" : 64,
2166 "minLength" : 2,
2167 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2168 "type" : "string"
2169 }
2170 }
2171 },
2172 "permissions" : {
2173 "check" : [
2174 "perm",
2175 "/",
2176 [
2177 "Sys.Audit"
2178 ]
2179 ]
2180 },
2181 "returns" : {
2182 "type" : "object"
2183 }
2184 },
2185 "PUT" : {
2186 "description" : "Update IP or Network alias.",
2187 "method" : "PUT",
2188 "name" : "update_alias",
2189 "parameters" : {
2190 "additionalProperties" : 0,
2191 "properties" : {
2192 "cidr" : {
2193 "description" : "Network/IP specification in CIDR format.",
2194 "format" : "IPorCIDR",
013dc89f
DM
2195 "type" : "string",
2196 "typetext" : "<string>"
44660702
DM
2197 },
2198 "comment" : {
2199 "optional" : 1,
013dc89f
DM
2200 "type" : "string",
2201 "typetext" : "<string>"
44660702
DM
2202 },
2203 "digest" : {
2204 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2205 "maxLength" : 40,
2206 "optional" : 1,
013dc89f
DM
2207 "type" : "string",
2208 "typetext" : "<string>"
44660702
DM
2209 },
2210 "name" : {
2211 "description" : "Alias name.",
2212 "maxLength" : 64,
2213 "minLength" : 2,
2214 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2215 "type" : "string"
2216 },
2217 "rename" : {
2218 "description" : "Rename an existing alias.",
2219 "maxLength" : 64,
2220 "minLength" : 2,
2221 "optional" : 1,
2222 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2223 "type" : "string"
2224 }
2225 }
2226 },
2227 "permissions" : {
2228 "check" : [
2229 "perm",
2230 "/",
2231 [
2232 "Sys.Modify"
2233 ]
2234 ]
2235 },
2236 "protected" : 1,
2237 "returns" : {
2238 "type" : "null"
2239 }
2240 }
2241 },
2242 "leaf" : 1,
2243 "path" : "/cluster/firewall/aliases/{name}",
2244 "text" : "{name}"
2245 }
2246 ],
2247 "info" : {
2248 "GET" : {
2249 "description" : "List aliases",
2250 "method" : "GET",
2251 "name" : "get_aliases",
2252 "parameters" : {
2253 "additionalProperties" : 0
2254 },
2255 "permissions" : {
2256 "check" : [
2257 "perm",
2258 "/",
2259 [
2260 "Sys.Audit"
2261 ]
2262 ]
2263 },
2264 "returns" : {
2265 "items" : {
2266 "properties" : {
2267 "cidr" : {
2268 "type" : "string"
2269 },
2270 "comment" : {
2271 "optional" : 1,
2272 "type" : "string"
2273 },
2274 "digest" : {
2275 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2276 "maxLength" : 40,
2277 "optional" : 0,
2278 "type" : "string"
2279 },
2280 "name" : {
2281 "type" : "string"
2282 }
2283 },
2284 "type" : "object"
2285 },
2286 "links" : [
2287 {
2288 "href" : "{name}",
2289 "rel" : "child"
2290 }
2291 ],
2292 "type" : "array"
2293 }
2294 },
2295 "POST" : {
2296 "description" : "Create IP or Network Alias.",
2297 "method" : "POST",
2298 "name" : "create_alias",
56122987
DM
2299 "parameters" : {
2300 "additionalProperties" : 0,
2301 "properties" : {
44660702
DM
2302 "cidr" : {
2303 "description" : "Network/IP specification in CIDR format.",
2304 "format" : "IPorCIDR",
013dc89f
DM
2305 "type" : "string",
2306 "typetext" : "<string>"
44660702
DM
2307 },
2308 "comment" : {
2309 "optional" : 1,
013dc89f
DM
2310 "type" : "string",
2311 "typetext" : "<string>"
44660702
DM
2312 },
2313 "name" : {
2314 "description" : "Alias name.",
2315 "maxLength" : 64,
2316 "minLength" : 2,
2317 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2318 "type" : "string"
56122987
DM
2319 }
2320 }
2321 },
56122987
DM
2322 "permissions" : {
2323 "check" : [
2324 "perm",
2325 "/",
2326 [
2327 "Sys.Modify"
2328 ]
2329 ]
2330 },
44660702 2331 "protected" : 1,
56122987
DM
2332 "returns" : {
2333 "type" : "null"
2334 }
44660702
DM
2335 }
2336 },
2337 "leaf" : 0,
2338 "path" : "/cluster/firewall/aliases",
2339 "text" : "aliases"
2340 },
2341 {
2342 "info" : {
2343 "GET" : {
2344 "description" : "Get Firewall options.",
2345 "method" : "GET",
2346 "name" : "get_options",
2347 "parameters" : {
2348 "additionalProperties" : 0
7aacca6f 2349 },
56122987
DM
2350 "permissions" : {
2351 "check" : [
2352 "perm",
2353 "/",
2354 [
44660702 2355 "Sys.Audit"
56122987
DM
2356 ]
2357 ]
2358 },
44660702 2359 "returns" : {
56122987 2360 "properties" : {
5da3d723
TL
2361 "ebtables" : {
2362 "default" : 1,
2363 "description" : "Enable ebtables rules cluster wide.",
2364 "optional" : 1,
2365 "type" : "boolean"
2366 },
44660702
DM
2367 "enable" : {
2368 "description" : "Enable or disable the firewall cluster wide.",
2369 "minimum" : 0,
56122987 2370 "optional" : 1,
7aacca6f 2371 "type" : "integer"
56122987 2372 },
44660702
DM
2373 "policy_in" : {
2374 "description" : "Input policy.",
2375 "enum" : [
2376 "ACCEPT",
2377 "REJECT",
2378 "DROP"
2379 ],
56122987 2380 "optional" : 1,
44660702 2381 "type" : "string"
7aacca6f 2382 },
44660702
DM
2383 "policy_out" : {
2384 "description" : "Output policy.",
2385 "enum" : [
2386 "ACCEPT",
2387 "REJECT",
2388 "DROP"
2389 ],
7aacca6f 2390 "optional" : 1,
44660702
DM
2391 "type" : "string"
2392 }
2393 },
2394 "type" : "object"
2395 }
2396 },
2397 "PUT" : {
2398 "description" : "Set Firewall options.",
2399 "method" : "PUT",
2400 "name" : "set_options",
2401 "parameters" : {
2402 "additionalProperties" : 0,
2403 "properties" : {
2404 "delete" : {
2405 "description" : "A list of settings you want to delete.",
2406 "format" : "pve-configid-list",
56122987 2407 "optional" : 1,
013dc89f
DM
2408 "type" : "string",
2409 "typetext" : "<string>"
56122987 2410 },
44660702
DM
2411 "digest" : {
2412 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2413 "maxLength" : 40,
56122987 2414 "optional" : 1,
013dc89f
DM
2415 "type" : "string",
2416 "typetext" : "<string>"
56122987 2417 },
5da3d723
TL
2418 "ebtables" : {
2419 "default" : 1,
2420 "description" : "Enable ebtables rules cluster wide.",
2421 "optional" : 1,
2422 "type" : "boolean",
2423 "typetext" : "<boolean>"
2424 },
44660702
DM
2425 "enable" : {
2426 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2427 "minimum" : 0,
56122987 2428 "optional" : 1,
4bd7df8b 2429 "type" : "integer",
013dc89f 2430 "typetext" : "<integer> (0 - N)"
56122987 2431 },
44660702
DM
2432 "policy_in" : {
2433 "description" : "Input policy.",
56122987 2434 "enum" : [
44660702
DM
2435 "ACCEPT",
2436 "REJECT",
2437 "DROP"
56122987 2438 ],
56122987 2439 "optional" : 1,
44660702 2440 "type" : "string"
56122987 2441 },
44660702
DM
2442 "policy_out" : {
2443 "description" : "Output policy.",
56122987 2444 "enum" : [
44660702
DM
2445 "ACCEPT",
2446 "REJECT",
2447 "DROP"
56122987 2448 ],
7aacca6f 2449 "optional" : 1,
44660702 2450 "type" : "string"
56122987 2451 }
44660702
DM
2452 }
2453 },
2454 "permissions" : {
2455 "check" : [
2456 "perm",
2457 "/",
2458 [
2459 "Sys.Modify"
2460 ]
2461 ]
7aacca6f
DM
2462 },
2463 "protected" : 1,
44660702
DM
2464 "returns" : {
2465 "type" : "null"
2466 }
2467 }
2468 },
2469 "leaf" : 1,
2470 "path" : "/cluster/firewall/options",
2471 "text" : "options"
2472 },
2473 {
2474 "info" : {
7aacca6f 2475 "GET" : {
44660702 2476 "description" : "List available macros",
7aacca6f 2477 "method" : "GET",
44660702
DM
2478 "name" : "get_macros",
2479 "parameters" : {
2480 "additionalProperties" : 0
7aacca6f 2481 },
44660702
DM
2482 "permissions" : {
2483 "user" : "all"
2484 },
2485 "returns" : {
2486 "items" : {
2487 "properties" : {
2488 "descr" : {
2489 "description" : "More verbose description (if available).",
2490 "type" : "string"
2491 },
2492 "macro" : {
2493 "description" : "Macro name.",
2494 "type" : "string"
2495 }
2496 },
2497 "type" : "object"
2498 },
2499 "type" : "array"
2500 }
2501 }
2502 },
2503 "leaf" : 1,
2504 "path" : "/cluster/firewall/macros",
2505 "text" : "macros"
2506 },
2507 {
2508 "info" : {
2509 "GET" : {
2510 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2511 "method" : "GET",
2512 "name" : "refs",
7aacca6f 2513 "parameters" : {
44660702 2514 "additionalProperties" : 0,
7aacca6f 2515 "properties" : {
44660702
DM
2516 "type" : {
2517 "description" : "Only list references of specified type.",
2518 "enum" : [
2519 "alias",
2520 "ipset"
2521 ],
2522 "optional" : 1,
2523 "type" : "string"
7aacca6f 2524 }
44660702 2525 }
7aacca6f
DM
2526 },
2527 "permissions" : {
2528 "check" : [
2529 "perm",
2530 "/",
2531 [
2532 "Sys.Audit"
2533 ]
2534 ]
2535 },
44660702
DM
2536 "returns" : {
2537 "items" : {
2538 "properties" : {
2539 "comment" : {
2540 "optional" : 1,
2541 "type" : "string"
2542 },
2543 "name" : {
2544 "type" : "string"
2545 },
2546 "ref" : {
2547 "type" : "string"
2548 },
2549 "type" : {
2550 "enum" : [
2551 "alias",
2552 "ipset"
2553 ],
2554 "type" : "string"
2555 }
2556 },
2557 "type" : "object"
2558 },
2559 "type" : "array"
2560 }
56122987
DM
2561 }
2562 },
7aacca6f 2563 "leaf" : 1,
44660702
DM
2564 "path" : "/cluster/firewall/refs",
2565 "text" : "refs"
56122987
DM
2566 }
2567 ],
56122987 2568 "info" : {
44660702
DM
2569 "GET" : {
2570 "description" : "Directory index.",
2571 "method" : "GET",
2572 "name" : "index",
56122987 2573 "parameters" : {
56122987
DM
2574 "additionalProperties" : 0
2575 },
44660702
DM
2576 "permissions" : {
2577 "user" : "all"
2578 },
56122987 2579 "returns" : {
44660702
DM
2580 "items" : {
2581 "properties" : {},
2582 "type" : "object"
2583 },
7aacca6f
DM
2584 "links" : [
2585 {
44660702
DM
2586 "href" : "{name}",
2587 "rel" : "child"
7aacca6f
DM
2588 }
2589 ],
7aacca6f 2590 "type" : "array"
7aacca6f 2591 }
56122987
DM
2592 }
2593 },
44660702
DM
2594 "leaf" : 0,
2595 "path" : "/cluster/firewall",
2596 "text" : "firewall"
7aacca6f
DM
2597 },
2598 {
56122987
DM
2599 "children" : [
2600 {
56122987 2601 "info" : {
44660702
DM
2602 "DELETE" : {
2603 "description" : "Delete vzdump backup job definition.",
2604 "method" : "DELETE",
2605 "name" : "delete_job",
2606 "parameters" : {
2607 "additionalProperties" : 0,
2608 "properties" : {
2609 "id" : {
2610 "description" : "The job ID.",
2611 "maxLength" : 50,
013dc89f
DM
2612 "type" : "string",
2613 "typetext" : "<string>"
44660702
DM
2614 }
2615 }
2616 },
2617 "permissions" : {
2618 "check" : [
2619 "perm",
2620 "/",
2621 [
2622 "Sys.Modify"
2623 ]
2624 ]
2625 },
2626 "protected" : 1,
56122987
DM
2627 "returns" : {
2628 "type" : "null"
44660702
DM
2629 }
2630 },
2631 "GET" : {
2632 "description" : "Read vzdump backup job definition.",
2633 "method" : "GET",
2634 "name" : "read_job",
2635 "parameters" : {
2636 "additionalProperties" : 0,
2637 "properties" : {
2638 "id" : {
2639 "description" : "The job ID.",
2640 "maxLength" : 50,
013dc89f
DM
2641 "type" : "string",
2642 "typetext" : "<string>"
44660702
DM
2643 }
2644 }
56122987 2645 },
7aacca6f
DM
2646 "permissions" : {
2647 "check" : [
2648 "perm",
2649 "/",
2650 [
44660702 2651 "Sys.Audit"
7aacca6f
DM
2652 ]
2653 ]
2654 },
44660702
DM
2655 "returns" : {
2656 "type" : "object"
2657 }
2658 },
2659 "PUT" : {
2660 "description" : "Update vzdump backup job definition.",
2661 "method" : "PUT",
2662 "name" : "update_job",
56122987 2663 "parameters" : {
44660702 2664 "additionalProperties" : 0,
56122987 2665 "properties" : {
44660702
DM
2666 "all" : {
2667 "default" : 0,
2668 "description" : "Backup all known guest systems on this host.",
7aacca6f 2669 "optional" : 1,
013dc89f
DM
2670 "type" : "boolean",
2671 "typetext" : "<boolean>"
7aacca6f 2672 },
44660702
DM
2673 "bwlimit" : {
2674 "default" : 0,
2675 "description" : "Limit I/O bandwidth (KBytes per second).",
2676 "minimum" : 0,
2677 "optional" : 1,
4bd7df8b 2678 "type" : "integer",
013dc89f 2679 "typetext" : "<integer> (0 - N)"
44660702
DM
2680 },
2681 "compress" : {
2682 "default" : "0",
2683 "description" : "Compress dump file.",
7aacca6f 2684 "enum" : [
44660702
DM
2685 "0",
2686 "1",
2687 "gzip",
2688 "lzo"
7aacca6f 2689 ],
44660702
DM
2690 "optional" : 1,
2691 "type" : "string"
7aacca6f 2692 },
44660702
DM
2693 "delete" : {
2694 "description" : "A list of settings you want to delete.",
2695 "format" : "pve-configid-list",
7aacca6f 2696 "optional" : 1,
013dc89f
DM
2697 "type" : "string",
2698 "typetext" : "<string>"
56122987 2699 },
44660702
DM
2700 "dow" : {
2701 "description" : "Day of week selection.",
2702 "format" : "pve-day-of-week-list",
7aacca6f 2703 "optional" : 1,
013dc89f
DM
2704 "type" : "string",
2705 "typetext" : "<string>"
56122987 2706 },
44660702
DM
2707 "dumpdir" : {
2708 "description" : "Store resulting files to specified directory.",
56122987 2709 "optional" : 1,
013dc89f
DM
2710 "type" : "string",
2711 "typetext" : "<string>"
56122987 2712 },
44660702
DM
2713 "enabled" : {
2714 "default" : "1",
2715 "description" : "Enable or disable the job.",
2716 "optional" : 1,
013dc89f
DM
2717 "type" : "boolean",
2718 "typetext" : "<boolean>"
44660702
DM
2719 },
2720 "exclude" : {
2721 "description" : "Exclude specified guest systems (assumes --all)",
2722 "format" : "pve-vmid-list",
2723 "optional" : 1,
013dc89f
DM
2724 "type" : "string",
2725 "typetext" : "<string>"
44660702
DM
2726 },
2727 "exclude-path" : {
2728 "description" : "Exclude certain files/directories (shell globs).",
2729 "format" : "string-alist",
2730 "optional" : 1,
013dc89f
DM
2731 "type" : "string",
2732 "typetext" : "<string>"
44660702
DM
2733 },
2734 "id" : {
2735 "description" : "The job ID.",
2736 "maxLength" : 50,
013dc89f
DM
2737 "type" : "string",
2738 "typetext" : "<string>"
44660702
DM
2739 },
2740 "ionice" : {
2741 "default" : 7,
2742 "description" : "Set CFQ ionice priority.",
2743 "maximum" : 8,
2744 "minimum" : 0,
2745 "optional" : 1,
4bd7df8b 2746 "type" : "integer",
013dc89f 2747 "typetext" : "<integer> (0 - 8)"
44660702
DM
2748 },
2749 "lockwait" : {
2750 "default" : 180,
2751 "description" : "Maximal time to wait for the global lock (minutes).",
2752 "minimum" : 0,
2753 "optional" : 1,
4bd7df8b 2754 "type" : "integer",
013dc89f 2755 "typetext" : "<integer> (0 - N)"
44660702
DM
2756 },
2757 "mailnotification" : {
2758 "default" : "always",
2759 "description" : "Specify when to send an email",
56122987 2760 "enum" : [
44660702
DM
2761 "always",
2762 "failure"
56122987 2763 ],
44660702
DM
2764 "optional" : 1,
2765 "type" : "string"
2766 },
2767 "mailto" : {
2768 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2769 "format" : "string-list",
2770 "optional" : 1,
013dc89f
DM
2771 "type" : "string",
2772 "typetext" : "<string>"
44660702
DM
2773 },
2774 "maxfiles" : {
2775 "default" : 1,
2776 "description" : "Maximal number of backup files per guest system.",
2777 "minimum" : 1,
2778 "optional" : 1,
4bd7df8b 2779 "type" : "integer",
013dc89f 2780 "typetext" : "<integer> (1 - N)"
44660702
DM
2781 },
2782 "mode" : {
2783 "default" : "snapshot",
2784 "description" : "Backup mode.",
2785 "enum" : [
2786 "snapshot",
2787 "suspend",
2788 "stop"
2789 ],
2790 "optional" : 1,
2791 "type" : "string"
2792 },
2793 "node" : {
2794 "description" : "Only run if executed on this node.",
2795 "format" : "pve-node",
2796 "optional" : 1,
013dc89f
DM
2797 "type" : "string",
2798 "typetext" : "<string>"
44660702
DM
2799 },
2800 "pigz" : {
2801 "default" : 0,
2802 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2803 "optional" : 1,
013dc89f
DM
2804 "type" : "integer",
2805 "typetext" : "<integer>"
44660702
DM
2806 },
2807 "quiet" : {
2808 "default" : 0,
2809 "description" : "Be quiet.",
2810 "optional" : 1,
013dc89f
DM
2811 "type" : "boolean",
2812 "typetext" : "<boolean>"
44660702
DM
2813 },
2814 "remove" : {
2815 "default" : 1,
2816 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2817 "optional" : 1,
013dc89f
DM
2818 "type" : "boolean",
2819 "typetext" : "<boolean>"
44660702
DM
2820 },
2821 "script" : {
2822 "description" : "Use specified hook script.",
2823 "optional" : 1,
013dc89f
DM
2824 "type" : "string",
2825 "typetext" : "<string>"
44660702
DM
2826 },
2827 "size" : {
2828 "default" : 1024,
2829 "description" : "Unused, will be removed in a future release.",
2830 "minimum" : 500,
2831 "optional" : 1,
4bd7df8b 2832 "type" : "integer",
013dc89f 2833 "typetext" : "<integer> (500 - N)"
44660702
DM
2834 },
2835 "starttime" : {
2836 "description" : "Job Start time.",
2837 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 2838 "type" : "string",
44660702 2839 "typetext" : "HH:MM"
7aacca6f 2840 },
44660702
DM
2841 "stdexcludes" : {
2842 "default" : 1,
2843 "description" : "Exclude temporary files and logs.",
2844 "optional" : 1,
013dc89f
DM
2845 "type" : "boolean",
2846 "typetext" : "<boolean>"
44660702
DM
2847 },
2848 "stop" : {
2849 "default" : 0,
2850 "description" : "Stop runnig backup jobs on this host.",
2851 "optional" : 1,
013dc89f
DM
2852 "type" : "boolean",
2853 "typetext" : "<boolean>"
44660702
DM
2854 },
2855 "stopwait" : {
2856 "default" : 10,
2857 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2858 "minimum" : 0,
2859 "optional" : 1,
4bd7df8b 2860 "type" : "integer",
013dc89f 2861 "typetext" : "<integer> (0 - N)"
44660702
DM
2862 },
2863 "storage" : {
2864 "description" : "Store resulting file to this storage.",
2865 "format" : "pve-storage-id",
2866 "optional" : 1,
013dc89f
DM
2867 "type" : "string",
2868 "typetext" : "<string>"
56122987 2869 },
44660702
DM
2870 "tmpdir" : {
2871 "description" : "Store temporary files to specified directory.",
2872 "optional" : 1,
013dc89f
DM
2873 "type" : "string",
2874 "typetext" : "<string>"
44660702
DM
2875 },
2876 "vmid" : {
2877 "description" : "The ID of the guest system you want to backup.",
2878 "format" : "pve-vmid-list",
2879 "optional" : 1,
013dc89f
DM
2880 "type" : "string",
2881 "typetext" : "<string>"
56122987 2882 }
44660702 2883 }
56122987
DM
2884 },
2885 "permissions" : {
2886 "check" : [
2887 "perm",
2888 "/",
2889 [
44660702 2890 "Sys.Modify"
56122987
DM
2891 ]
2892 ]
2893 },
44660702
DM
2894 "protected" : 1,
2895 "returns" : {
2896 "type" : "null"
7aacca6f 2897 }
56122987
DM
2898 }
2899 },
44660702
DM
2900 "leaf" : 1,
2901 "path" : "/cluster/backup/{id}",
2902 "text" : "{id}"
2903 }
2904 ],
2905 "info" : {
2906 "GET" : {
2907 "description" : "List vzdump backup schedule.",
2908 "method" : "GET",
2909 "name" : "index",
2910 "parameters" : {
2911 "additionalProperties" : 0
2912 },
2913 "permissions" : {
2914 "check" : [
2915 "perm",
2916 "/",
2917 [
2918 "Sys.Audit"
2919 ]
2920 ]
2921 },
2922 "returns" : {
2923 "items" : {
2924 "properties" : {
2925 "id" : {
2926 "type" : "string"
2927 }
2928 },
2929 "type" : "object"
2930 },
2931 "links" : [
2932 {
2933 "href" : "{id}",
2934 "rel" : "child"
2935 }
2936 ],
2937 "type" : "array"
2938 }
2939 },
2940 "POST" : {
2941 "description" : "Create new vzdump backup job.",
2942 "method" : "POST",
2943 "name" : "create_job",
2944 "parameters" : {
2945 "additionalProperties" : 0,
2946 "properties" : {
2947 "all" : {
2948 "default" : 0,
2949 "description" : "Backup all known guest systems on this host.",
2950 "optional" : 1,
013dc89f
DM
2951 "type" : "boolean",
2952 "typetext" : "<boolean>"
44660702
DM
2953 },
2954 "bwlimit" : {
2955 "default" : 0,
2956 "description" : "Limit I/O bandwidth (KBytes per second).",
2957 "minimum" : 0,
2958 "optional" : 1,
4bd7df8b 2959 "type" : "integer",
013dc89f 2960 "typetext" : "<integer> (0 - N)"
44660702
DM
2961 },
2962 "compress" : {
2963 "default" : "0",
2964 "description" : "Compress dump file.",
2965 "enum" : [
2966 "0",
2967 "1",
2968 "gzip",
2969 "lzo"
2970 ],
2971 "optional" : 1,
2972 "type" : "string"
2973 },
2974 "dow" : {
2975 "default" : "mon,tue,wed,thu,fri,sat,sun",
2976 "description" : "Day of week selection.",
2977 "format" : "pve-day-of-week-list",
2978 "optional" : 1,
013dc89f
DM
2979 "type" : "string",
2980 "typetext" : "<string>"
44660702
DM
2981 },
2982 "dumpdir" : {
2983 "description" : "Store resulting files to specified directory.",
2984 "optional" : 1,
013dc89f
DM
2985 "type" : "string",
2986 "typetext" : "<string>"
44660702
DM
2987 },
2988 "enabled" : {
2989 "default" : "1",
2990 "description" : "Enable or disable the job.",
2991 "optional" : 1,
013dc89f
DM
2992 "type" : "boolean",
2993 "typetext" : "<boolean>"
44660702
DM
2994 },
2995 "exclude" : {
2996 "description" : "Exclude specified guest systems (assumes --all)",
2997 "format" : "pve-vmid-list",
2998 "optional" : 1,
013dc89f
DM
2999 "type" : "string",
3000 "typetext" : "<string>"
44660702
DM
3001 },
3002 "exclude-path" : {
3003 "description" : "Exclude certain files/directories (shell globs).",
3004 "format" : "string-alist",
3005 "optional" : 1,
013dc89f
DM
3006 "type" : "string",
3007 "typetext" : "<string>"
44660702
DM
3008 },
3009 "ionice" : {
3010 "default" : 7,
3011 "description" : "Set CFQ ionice priority.",
3012 "maximum" : 8,
3013 "minimum" : 0,
3014 "optional" : 1,
4bd7df8b 3015 "type" : "integer",
013dc89f 3016 "typetext" : "<integer> (0 - 8)"
44660702
DM
3017 },
3018 "lockwait" : {
3019 "default" : 180,
3020 "description" : "Maximal time to wait for the global lock (minutes).",
3021 "minimum" : 0,
3022 "optional" : 1,
4bd7df8b 3023 "type" : "integer",
013dc89f 3024 "typetext" : "<integer> (0 - N)"
44660702
DM
3025 },
3026 "mailnotification" : {
3027 "default" : "always",
3028 "description" : "Specify when to send an email",
3029 "enum" : [
3030 "always",
3031 "failure"
3032 ],
3033 "optional" : 1,
3034 "type" : "string"
3035 },
3036 "mailto" : {
3037 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3038 "format" : "string-list",
3039 "optional" : 1,
013dc89f
DM
3040 "type" : "string",
3041 "typetext" : "<string>"
44660702
DM
3042 },
3043 "maxfiles" : {
3044 "default" : 1,
3045 "description" : "Maximal number of backup files per guest system.",
3046 "minimum" : 1,
3047 "optional" : 1,
4bd7df8b 3048 "type" : "integer",
013dc89f 3049 "typetext" : "<integer> (1 - N)"
44660702
DM
3050 },
3051 "mode" : {
3052 "default" : "snapshot",
3053 "description" : "Backup mode.",
3054 "enum" : [
3055 "snapshot",
3056 "suspend",
3057 "stop"
3058 ],
3059 "optional" : 1,
3060 "type" : "string"
3061 },
3062 "node" : {
3063 "description" : "Only run if executed on this node.",
3064 "format" : "pve-node",
3065 "optional" : 1,
013dc89f
DM
3066 "type" : "string",
3067 "typetext" : "<string>"
44660702
DM
3068 },
3069 "pigz" : {
3070 "default" : 0,
3071 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3072 "optional" : 1,
013dc89f
DM
3073 "type" : "integer",
3074 "typetext" : "<integer>"
44660702
DM
3075 },
3076 "quiet" : {
3077 "default" : 0,
3078 "description" : "Be quiet.",
3079 "optional" : 1,
013dc89f
DM
3080 "type" : "boolean",
3081 "typetext" : "<boolean>"
44660702
DM
3082 },
3083 "remove" : {
3084 "default" : 1,
3085 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3086 "optional" : 1,
013dc89f
DM
3087 "type" : "boolean",
3088 "typetext" : "<boolean>"
44660702
DM
3089 },
3090 "script" : {
3091 "description" : "Use specified hook script.",
3092 "optional" : 1,
013dc89f
DM
3093 "type" : "string",
3094 "typetext" : "<string>"
44660702
DM
3095 },
3096 "size" : {
3097 "default" : 1024,
3098 "description" : "Unused, will be removed in a future release.",
3099 "minimum" : 500,
3100 "optional" : 1,
4bd7df8b 3101 "type" : "integer",
013dc89f 3102 "typetext" : "<integer> (500 - N)"
44660702
DM
3103 },
3104 "starttime" : {
3105 "description" : "Job Start time.",
3106 "pattern" : "\\d{1,2}:\\d{1,2}",
3107 "type" : "string",
3108 "typetext" : "HH:MM"
3109 },
3110 "stdexcludes" : {
3111 "default" : 1,
3112 "description" : "Exclude temporary files and logs.",
3113 "optional" : 1,
013dc89f
DM
3114 "type" : "boolean",
3115 "typetext" : "<boolean>"
44660702
DM
3116 },
3117 "stop" : {
3118 "default" : 0,
3119 "description" : "Stop runnig backup jobs on this host.",
3120 "optional" : 1,
013dc89f
DM
3121 "type" : "boolean",
3122 "typetext" : "<boolean>"
44660702
DM
3123 },
3124 "stopwait" : {
3125 "default" : 10,
3126 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3127 "minimum" : 0,
3128 "optional" : 1,
4bd7df8b 3129 "type" : "integer",
013dc89f 3130 "typetext" : "<integer> (0 - N)"
44660702
DM
3131 },
3132 "storage" : {
3133 "description" : "Store resulting file to this storage.",
3134 "format" : "pve-storage-id",
3135 "optional" : 1,
013dc89f
DM
3136 "type" : "string",
3137 "typetext" : "<string>"
44660702
DM
3138 },
3139 "tmpdir" : {
3140 "description" : "Store temporary files to specified directory.",
3141 "optional" : 1,
013dc89f
DM
3142 "type" : "string",
3143 "typetext" : "<string>"
44660702
DM
3144 },
3145 "vmid" : {
3146 "description" : "The ID of the guest system you want to backup.",
3147 "format" : "pve-vmid-list",
3148 "optional" : 1,
013dc89f
DM
3149 "type" : "string",
3150 "typetext" : "<string>"
44660702
DM
3151 }
3152 }
3153 },
3154 "permissions" : {
3155 "check" : [
3156 "perm",
3157 "/",
3158 [
3159 "Sys.Modify"
3160 ]
de0983cb
DM
3161 ],
3162 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3163 },
3164 "protected" : 1,
3165 "returns" : {
3166 "type" : "null"
3167 }
3168 }
3169 },
3170 "leaf" : 0,
3171 "path" : "/cluster/backup",
3172 "text" : "backup"
3173 },
3174 {
3175 "children" : [
3176 {
3177 "children" : [
3178 {
3179 "children" : [
56122987 3180 {
56122987
DM
3181 "info" : {
3182 "POST" : {
44660702
DM
3183 "description" : "Request resource migration (online) to another node.",
3184 "method" : "POST",
3185 "name" : "migrate",
56122987 3186 "parameters" : {
7aacca6f 3187 "additionalProperties" : 0,
56122987
DM
3188 "properties" : {
3189 "node" : {
7aacca6f 3190 "description" : "The cluster node name.",
44660702 3191 "format" : "pve-node",
013dc89f
DM
3192 "type" : "string",
3193 "typetext" : "<string>"
56122987
DM
3194 },
3195 "sid" : {
44660702 3196 "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 3197 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3198 "type" : "string",
44660702 3199 "typetext" : "<type>:<name>"
56122987 3200 }
7aacca6f 3201 }
56122987 3202 },
56122987
DM
3203 "permissions" : {
3204 "check" : [
3205 "perm",
3206 "/",
3207 [
3208 "Sys.Console"
3209 ]
3210 ]
3211 },
7aacca6f 3212 "protected" : 1,
7aacca6f
DM
3213 "returns" : {
3214 "type" : "null"
44660702 3215 }
56122987 3216 }
44660702
DM
3217 },
3218 "leaf" : 1,
3219 "path" : "/cluster/ha/resources/{sid}/migrate",
3220 "text" : "migrate"
3221 },
3222 {
3223 "info" : {
3224 "POST" : {
3225 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3226 "method" : "POST",
3227 "name" : "relocate",
3228 "parameters" : {
3229 "additionalProperties" : 0,
3230 "properties" : {
3231 "node" : {
3232 "description" : "The cluster node name.",
3233 "format" : "pve-node",
013dc89f
DM
3234 "type" : "string",
3235 "typetext" : "<string>"
44660702
DM
3236 },
3237 "sid" : {
3238 "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).",
3239 "format" : "pve-ha-resource-or-vm-id",
3240 "type" : "string",
3241 "typetext" : "<type>:<name>"
3242 }
3243 }
3244 },
3245 "permissions" : {
3246 "check" : [
3247 "perm",
3248 "/",
3249 [
3250 "Sys.Console"
3251 ]
3252 ]
3253 },
3254 "protected" : 1,
3255 "returns" : {
3256 "type" : "null"
3257 }
3258 }
3259 },
3260 "leaf" : 1,
3261 "path" : "/cluster/ha/resources/{sid}/relocate",
3262 "text" : "relocate"
3263 }
3264 ],
3265 "info" : {
3266 "DELETE" : {
3267 "description" : "Delete resource configuration.",
3268 "method" : "DELETE",
3269 "name" : "delete",
7aacca6f 3270 "parameters" : {
44660702 3271 "additionalProperties" : 0,
7aacca6f
DM
3272 "properties" : {
3273 "sid" : {
3274 "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 3275 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3276 "type" : "string",
44660702
DM
3277 "typetext" : "<type>:<name>"
3278 }
3279 }
3280 },
3281 "permissions" : {
3282 "check" : [
3283 "perm",
3284 "/",
3285 [
3286 "Sys.Console"
3287 ]
3288 ]
3289 },
3290 "protected" : 1,
3291 "returns" : {
3292 "type" : "null"
3293 }
3294 },
3295 "GET" : {
3296 "description" : "Read resource configuration.",
3297 "method" : "GET",
3298 "name" : "read",
3299 "parameters" : {
3300 "additionalProperties" : 0,
3301 "properties" : {
3302 "sid" : {
3303 "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 3304 "format" : "pve-ha-resource-or-vm-id",
44660702 3305 "type" : "string",
7aacca6f
DM
3306 "typetext" : "<type>:<name>"
3307 }
44660702 3308 }
7aacca6f
DM
3309 },
3310 "permissions" : {
3311 "check" : [
3312 "perm",
3313 "/",
3314 [
3315 "Sys.Audit"
3316 ]
3317 ]
3318 },
5f26e15b
TL
3319 "returns" : {
3320 "properties" : {
3321 "comment" : {
3322 "description" : "Description.",
3323 "optional" : 1,
3324 "type" : "string"
3325 },
3326 "digest" : {
3327 "description" : "Can be used to prevent concurrent modifications.",
3328 "type" : "string"
3329 },
3330 "group" : {
3331 "description" : "The HA group identifier.",
3332 "format" : "pve-configid",
3333 "optional" : 1,
3334 "type" : "string"
3335 },
3336 "max_relocate" : {
3337 "description" : "Maximal number of service relocate tries when a service failes to start.",
3338 "optional" : 1,
3339 "type" : "integer"
3340 },
3341 "max_restart" : {
3342 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3343 "optional" : 1,
3344 "type" : "integer"
3345 },
3346 "sid" : {
3347 "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).",
3348 "format" : "pve-ha-resource-or-vm-id",
3349 "type" : "string",
3350 "typetext" : "<type>:<name>"
3351 },
3352 "state" : {
3353 "description" : "Requested resource state.",
3354 "enum" : [
3355 "started",
3356 "stopped",
3357 "enabled",
3358 "disabled",
3359 "ignored"
3360 ],
3361 "optional" : 1,
3362 "type" : "string"
3363 },
3364 "type" : {
3365 "description" : "The type of the resources.",
3366 "type" : "string"
3367 }
3368 },
3369 "type" : "object"
3370 }
7aacca6f 3371 },
56122987 3372 "PUT" : {
44660702 3373 "description" : "Update resource configuration.",
7aacca6f 3374 "method" : "PUT",
44660702 3375 "name" : "update",
56122987
DM
3376 "parameters" : {
3377 "additionalProperties" : 0,
3378 "properties" : {
44660702
DM
3379 "comment" : {
3380 "description" : "Description.",
3381 "maxLength" : 4096,
56122987 3382 "optional" : 1,
013dc89f
DM
3383 "type" : "string",
3384 "typetext" : "<string>"
56122987 3385 },
7aacca6f
DM
3386 "delete" : {
3387 "description" : "A list of settings you want to delete.",
7aacca6f 3388 "format" : "pve-configid-list",
44660702
DM
3389 "maxLength" : 4096,
3390 "optional" : 1,
013dc89f
DM
3391 "type" : "string",
3392 "typetext" : "<string>"
56122987 3393 },
44660702
DM
3394 "digest" : {
3395 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3396 "maxLength" : 40,
3397 "optional" : 1,
013dc89f
DM
3398 "type" : "string",
3399 "typetext" : "<string>"
56122987 3400 },
44660702
DM
3401 "group" : {
3402 "description" : "The HA group identifier.",
3403 "format" : "pve-configid",
7aacca6f 3404 "optional" : 1,
013dc89f
DM
3405 "type" : "string",
3406 "typetext" : "<string>"
56122987
DM
3407 },
3408 "max_relocate" : {
7aacca6f 3409 "default" : 1,
56122987 3410 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3411 "minimum" : 0,
3412 "optional" : 1,
4bd7df8b 3413 "type" : "integer",
013dc89f 3414 "typetext" : "<integer> (0 - N)"
7aacca6f 3415 },
44660702
DM
3416 "max_restart" : {
3417 "default" : 1,
3418 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3419 "minimum" : 0,
7aacca6f 3420 "optional" : 1,
4bd7df8b 3421 "type" : "integer",
013dc89f 3422 "typetext" : "<integer> (0 - N)"
44660702
DM
3423 },
3424 "sid" : {
3425 "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).",
3426 "format" : "pve-ha-resource-or-vm-id",
3427 "type" : "string",
3428 "typetext" : "<type>:<name>"
7aacca6f
DM
3429 },
3430 "state" : {
f13c1238
DM
3431 "default" : "started",
3432 "description" : "Requested resource state.",
7aacca6f 3433 "enum" : [
f13c1238
DM
3434 "started",
3435 "stopped",
7aacca6f 3436 "enabled",
2489d6df
WB
3437 "disabled",
3438 "ignored"
7aacca6f 3439 ],
7aacca6f 3440 "optional" : 1,
f13c1238 3441 "type" : "string",
2489d6df 3442 "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 3443 }
44660702
DM
3444 },
3445 "type" : "object"
56122987 3446 },
56122987
DM
3447 "permissions" : {
3448 "check" : [
3449 "perm",
3450 "/",
3451 [
3452 "Sys.Console"
3453 ]
3454 ]
3455 },
7aacca6f 3456 "protected" : 1,
56122987
DM
3457 "returns" : {
3458 "type" : "null"
3459 }
3460 }
3461 },
44660702 3462 "leaf" : 0,
7aacca6f 3463 "path" : "/cluster/ha/resources/{sid}",
44660702 3464 "text" : "{sid}"
56122987
DM
3465 }
3466 ],
7aacca6f
DM
3467 "info" : {
3468 "GET" : {
44660702
DM
3469 "description" : "List HA resources.",
3470 "method" : "GET",
3471 "name" : "index",
7aacca6f 3472 "parameters" : {
44660702
DM
3473 "additionalProperties" : 0,
3474 "properties" : {
3475 "type" : {
3476 "description" : "Only list resources of specific type",
3477 "enum" : [
3478 "ct",
3479 "vm"
3480 ],
3481 "optional" : 1,
3482 "type" : "string"
3483 }
3484 }
7aacca6f 3485 },
7aacca6f
DM
3486 "permissions" : {
3487 "check" : [
3488 "perm",
3489 "/",
3490 [
3491 "Sys.Audit"
3492 ]
3493 ]
3494 },
7aacca6f 3495 "returns" : {
7aacca6f 3496 "items" : {
7aacca6f 3497 "properties" : {
44660702 3498 "sid" : {
7aacca6f
DM
3499 "type" : "string"
3500 }
44660702
DM
3501 },
3502 "type" : "object"
7aacca6f
DM
3503 },
3504 "links" : [
3505 {
44660702 3506 "href" : "{sid}",
7aacca6f
DM
3507 "rel" : "child"
3508 }
44660702
DM
3509 ],
3510 "type" : "array"
7aacca6f
DM
3511 }
3512 },
3513 "POST" : {
44660702 3514 "description" : "Create a new HA resource.",
7aacca6f 3515 "method" : "POST",
44660702 3516 "name" : "create",
7aacca6f 3517 "parameters" : {
44660702 3518 "additionalProperties" : 0,
7aacca6f
DM
3519 "properties" : {
3520 "comment" : {
7aacca6f 3521 "description" : "Description.",
44660702 3522 "maxLength" : 4096,
7aacca6f 3523 "optional" : 1,
013dc89f
DM
3524 "type" : "string",
3525 "typetext" : "<string>"
7aacca6f 3526 },
44660702
DM
3527 "group" : {
3528 "description" : "The HA group identifier.",
3529 "format" : "pve-configid",
7aacca6f 3530 "optional" : 1,
013dc89f
DM
3531 "type" : "string",
3532 "typetext" : "<string>"
7aacca6f 3533 },
44660702
DM
3534 "max_relocate" : {
3535 "default" : 1,
3536 "description" : "Maximal number of service relocate tries when a service failes to start.",
3537 "minimum" : 0,
7aacca6f 3538 "optional" : 1,
4bd7df8b 3539 "type" : "integer",
013dc89f 3540 "typetext" : "<integer> (0 - N)"
7aacca6f 3541 },
44660702
DM
3542 "max_restart" : {
3543 "default" : 1,
3544 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3545 "minimum" : 0,
3546 "optional" : 1,
4bd7df8b 3547 "type" : "integer",
013dc89f 3548 "typetext" : "<integer> (0 - N)"
44660702
DM
3549 },
3550 "sid" : {
3551 "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).",
3552 "format" : "pve-ha-resource-or-vm-id",
3553 "type" : "string",
3554 "typetext" : "<type>:<name>"
3555 },
3556 "state" : {
f13c1238
DM
3557 "default" : "started",
3558 "description" : "Requested resource state.",
7aacca6f 3559 "enum" : [
f13c1238
DM
3560 "started",
3561 "stopped",
44660702 3562 "enabled",
2489d6df
WB
3563 "disabled",
3564 "ignored"
7aacca6f 3565 ],
7aacca6f 3566 "optional" : 1,
f13c1238 3567 "type" : "string",
2489d6df 3568 "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 3569 },
44660702
DM
3570 "type" : {
3571 "description" : "Resource type.",
3572 "enum" : [
3573 "ct",
3574 "vm"
3575 ],
3576 "optional" : 1,
3577 "type" : "string"
3578 }
7aacca6f 3579 },
44660702 3580 "type" : "object"
7aacca6f
DM
3581 },
3582 "permissions" : {
3583 "check" : [
3584 "perm",
3585 "/",
3586 [
3587 "Sys.Console"
3588 ]
3589 ]
3590 },
44660702
DM
3591 "protected" : 1,
3592 "returns" : {
3593 "type" : "null"
3594 }
7aacca6f
DM
3595 }
3596 },
44660702
DM
3597 "leaf" : 0,
3598 "path" : "/cluster/ha/resources",
3599 "text" : "resources"
3600 },
3601 {
56122987
DM
3602 "children" : [
3603 {
56122987 3604 "info" : {
44660702
DM
3605 "DELETE" : {
3606 "description" : "Delete ha group configuration.",
3607 "method" : "DELETE",
3608 "name" : "delete",
56122987 3609 "parameters" : {
7aacca6f 3610 "additionalProperties" : 0,
56122987 3611 "properties" : {
7aacca6f
DM
3612 "group" : {
3613 "description" : "The HA group identifier.",
44660702 3614 "format" : "pve-configid",
013dc89f
DM
3615 "type" : "string",
3616 "typetext" : "<string>"
56122987 3617 }
7aacca6f 3618 }
56122987 3619 },
56122987
DM
3620 "permissions" : {
3621 "check" : [
3622 "perm",
3623 "/",
3624 [
7aacca6f 3625 "Sys.Console"
56122987
DM
3626 ]
3627 ]
3628 },
44660702 3629 "protected" : 1,
7aacca6f
DM
3630 "returns" : {
3631 "type" : "null"
56122987
DM
3632 }
3633 },
44660702
DM
3634 "GET" : {
3635 "description" : "Read ha group configuration.",
3636 "method" : "GET",
3637 "name" : "read",
56122987 3638 "parameters" : {
44660702 3639 "additionalProperties" : 0,
56122987
DM
3640 "properties" : {
3641 "group" : {
3642 "description" : "The HA group identifier.",
44660702 3643 "format" : "pve-configid",
013dc89f
DM
3644 "type" : "string",
3645 "typetext" : "<string>"
56122987 3646 }
44660702 3647 }
56122987 3648 },
56122987
DM
3649 "permissions" : {
3650 "check" : [
3651 "perm",
3652 "/",
3653 [
44660702 3654 "Sys.Audit"
56122987
DM
3655 ]
3656 ]
3657 },
44660702 3658 "returns" : {}
7aacca6f 3659 },
44660702
DM
3660 "PUT" : {
3661 "description" : "Update ha group configuration.",
3662 "method" : "PUT",
3663 "name" : "update",
7aacca6f 3664 "parameters" : {
44660702 3665 "additionalProperties" : 0,
7aacca6f 3666 "properties" : {
44660702
DM
3667 "comment" : {
3668 "description" : "Description.",
3669 "maxLength" : 4096,
3670 "optional" : 1,
013dc89f
DM
3671 "type" : "string",
3672 "typetext" : "<string>"
44660702
DM
3673 },
3674 "delete" : {
3675 "description" : "A list of settings you want to delete.",
3676 "format" : "pve-configid-list",
3677 "maxLength" : 4096,
3678 "optional" : 1,
013dc89f
DM
3679 "type" : "string",
3680 "typetext" : "<string>"
44660702
DM
3681 },
3682 "digest" : {
3683 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3684 "maxLength" : 40,
3685 "optional" : 1,
013dc89f
DM
3686 "type" : "string",
3687 "typetext" : "<string>"
44660702 3688 },
7aacca6f
DM
3689 "group" : {
3690 "description" : "The HA group identifier.",
44660702 3691 "format" : "pve-configid",
013dc89f
DM
3692 "type" : "string",
3693 "typetext" : "<string>"
44660702
DM
3694 },
3695 "nodes" : {
f13c1238 3696 "description" : "List of cluster node names with optional priority.",
44660702
DM
3697 "format" : "pve-ha-group-node-list",
3698 "optional" : 1,
7aacca6f 3699 "type" : "string",
f13c1238
DM
3700 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3701 "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
3702 },
3703 "nofailback" : {
3704 "default" : 0,
3705 "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.",
3706 "optional" : 1,
013dc89f
DM
3707 "type" : "boolean",
3708 "typetext" : "<boolean>"
44660702
DM
3709 },
3710 "restricted" : {
3711 "default" : 0,
c4808e75 3712 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3713 "optional" : 1,
013dc89f 3714 "type" : "boolean",
c4808e75
DM
3715 "typetext" : "<boolean>",
3716 "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
3717 }
3718 },
44660702 3719 "type" : "object"
7aacca6f 3720 },
7aacca6f
DM
3721 "permissions" : {
3722 "check" : [
3723 "perm",
3724 "/",
3725 [
44660702 3726 "Sys.Console"
7aacca6f
DM
3727 ]
3728 ]
3729 },
44660702
DM
3730 "protected" : 1,
3731 "returns" : {
3732 "type" : "null"
3733 }
56122987
DM
3734 }
3735 },
3736 "leaf" : 1,
44660702
DM
3737 "path" : "/cluster/ha/groups/{group}",
3738 "text" : "{group}"
56122987 3739 }
44660702
DM
3740 ],
3741 "info" : {
3742 "GET" : {
3743 "description" : "Get HA groups.",
3744 "method" : "GET",
3745 "name" : "index",
3746 "parameters" : {
3747 "additionalProperties" : 0
3748 },
3749 "permissions" : {
3750 "check" : [
3751 "perm",
3752 "/",
3753 [
3754 "Sys.Audit"
3755 ]
3756 ]
3757 },
3758 "returns" : {
3759 "items" : {
3760 "properties" : {
3761 "group" : {
3762 "type" : "string"
3763 }
3764 },
3765 "type" : "object"
3766 },
3767 "links" : [
3768 {
3769 "href" : "{group}",
3770 "rel" : "child"
3771 }
3772 ],
3773 "type" : "array"
3774 }
3775 },
3776 "POST" : {
3777 "description" : "Create a new HA group.",
3778 "method" : "POST",
3779 "name" : "create",
3780 "parameters" : {
3781 "additionalProperties" : 0,
3782 "properties" : {
3783 "comment" : {
3784 "description" : "Description.",
3785 "maxLength" : 4096,
3786 "optional" : 1,
013dc89f
DM
3787 "type" : "string",
3788 "typetext" : "<string>"
44660702
DM
3789 },
3790 "group" : {
3791 "description" : "The HA group identifier.",
3792 "format" : "pve-configid",
013dc89f
DM
3793 "type" : "string",
3794 "typetext" : "<string>"
44660702
DM
3795 },
3796 "nodes" : {
f13c1238 3797 "description" : "List of cluster node names with optional priority.",
44660702
DM
3798 "format" : "pve-ha-group-node-list",
3799 "optional" : 0,
3800 "type" : "string",
f13c1238
DM
3801 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3802 "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
3803 },
3804 "nofailback" : {
3805 "default" : 0,
3806 "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.",
3807 "optional" : 1,
013dc89f
DM
3808 "type" : "boolean",
3809 "typetext" : "<boolean>"
44660702
DM
3810 },
3811 "restricted" : {
3812 "default" : 0,
c4808e75 3813 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3814 "optional" : 1,
013dc89f 3815 "type" : "boolean",
c4808e75
DM
3816 "typetext" : "<boolean>",
3817 "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
3818 },
3819 "type" : {
3820 "description" : "Group type.",
3821 "enum" : [
3822 "group"
3823 ],
3824 "optional" : 1,
3825 "type" : "string"
3826 }
3827 },
3828 "type" : "object"
3829 },
3830 "permissions" : {
3831 "check" : [
3832 "perm",
3833 "/",
3834 [
3835 "Sys.Console"
3836 ]
3837 ]
3838 },
3839 "protected" : 1,
3840 "returns" : {
3841 "type" : "null"
3842 }
3843 }
3844 },
3845 "leaf" : 0,
3846 "path" : "/cluster/ha/groups",
3847 "text" : "groups"
7aacca6f
DM
3848 },
3849 {
7aacca6f
DM
3850 "children" : [
3851 {
3852 "info" : {
3853 "GET" : {
56122987 3854 "description" : "Get HA manger status.",
44660702 3855 "method" : "GET",
7aacca6f 3856 "name" : "status",
44660702
DM
3857 "parameters" : {
3858 "additionalProperties" : 0
3859 },
56122987
DM
3860 "permissions" : {
3861 "check" : [
3862 "perm",
3863 "/",
3864 [
3865 "Sys.Audit"
3866 ]
3867 ]
7aacca6f 3868 },
44660702
DM
3869 "returns" : {
3870 "type" : "array"
56122987
DM
3871 }
3872 }
7aacca6f 3873 },
7aacca6f 3874 "leaf" : 1,
44660702
DM
3875 "path" : "/cluster/ha/status/current",
3876 "text" : "current"
56122987
DM
3877 },
3878 {
3879 "info" : {
3880 "GET" : {
7aacca6f 3881 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3882 "method" : "GET",
3883 "name" : "manager_status",
7aacca6f
DM
3884 "parameters" : {
3885 "additionalProperties" : 0
3886 },
56122987
DM
3887 "permissions" : {
3888 "check" : [
3889 "perm",
3890 "/",
3891 [
3892 "Sys.Audit"
3893 ]
3894 ]
44660702
DM
3895 },
3896 "returns" : {
3897 "type" : "object"
7aacca6f 3898 }
56122987
DM
3899 }
3900 },
56122987 3901 "leaf" : 1,
44660702
DM
3902 "path" : "/cluster/ha/status/manager_status",
3903 "text" : "manager_status"
56122987
DM
3904 }
3905 ],
56122987
DM
3906 "info" : {
3907 "GET" : {
44660702 3908 "description" : "Directory index.",
7aacca6f 3909 "method" : "GET",
44660702
DM
3910 "name" : "index",
3911 "parameters" : {
3912 "additionalProperties" : 0
3913 },
3914 "permissions" : {
3915 "user" : "all"
3916 },
56122987 3917 "returns" : {
56122987
DM
3918 "items" : {
3919 "properties" : {},
3920 "type" : "object"
3921 },
3922 "links" : [
3923 {
44660702
DM
3924 "href" : "{name}",
3925 "rel" : "child"
56122987 3926 }
7aacca6f
DM
3927 ],
3928 "type" : "array"
44660702 3929 }
56122987 3930 }
7aacca6f 3931 },
44660702 3932 "leaf" : 0,
7aacca6f 3933 "path" : "/cluster/ha/status",
44660702 3934 "text" : "status"
56122987
DM
3935 }
3936 ],
56122987
DM
3937 "info" : {
3938 "GET" : {
7aacca6f 3939 "description" : "Directory index.",
44660702
DM
3940 "method" : "GET",
3941 "name" : "index",
3942 "parameters" : {
3943 "additionalProperties" : 0
3944 },
7aacca6f
DM
3945 "permissions" : {
3946 "check" : [
3947 "perm",
3948 "/",
3949 [
3950 "Sys.Audit"
3951 ]
3952 ]
3953 },
56122987 3954 "returns" : {
56122987 3955 "items" : {
7aacca6f
DM
3956 "properties" : {
3957 "id" : {
3958 "type" : "string"
3959 }
44660702
DM
3960 },
3961 "type" : "object"
7aacca6f
DM
3962 },
3963 "links" : [
3964 {
3965 "href" : "{id}",
3966 "rel" : "child"
3967 }
44660702
DM
3968 ],
3969 "type" : "array"
7aacca6f
DM
3970 }
3971 }
44660702
DM
3972 },
3973 "leaf" : 0,
3974 "path" : "/cluster/ha",
3975 "text" : "ha"
7aacca6f 3976 },
a9a8e3d1
DM
3977 {
3978 "children" : [
3979 {
3980 "children" : [
3981 {
3982 "info" : {
3983 "DELETE" : {
3984 "description" : "Deactivate existing ACME account at CA.",
3985 "method" : "DELETE",
3986 "name" : "deactivate_account",
3987 "parameters" : {
3988 "additionalProperties" : 0,
3989 "properties" : {
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 }
4000 },
4001 "protected" : 1,
4002 "returns" : {
4003 "type" : "string"
4004 }
4005 },
4006 "GET" : {
4007 "description" : "Return existing ACME account information.",
4008 "method" : "GET",
4009 "name" : "get_account",
4010 "parameters" : {
4011 "additionalProperties" : 0,
4012 "properties" : {
4013 "name" : {
4014 "default" : "default",
4015 "description" : "ACME account config file name.",
4016 "format" : "pve-configid",
4017 "format_description" : "name",
4018 "optional" : 1,
4019 "type" : "string",
4020 "typetext" : "<name>"
4021 }
4022 }
4023 },
4024 "protected" : 1,
4025 "returns" : {
4026 "additionalProperties" : 0,
4027 "properties" : {
4028 "account" : {
4029 "optional" : 1,
4d47f125 4030 "renderer" : "yaml",
a9a8e3d1
DM
4031 "type" : "object"
4032 },
4033 "directory" : {
4034 "description" : "URL of ACME CA directory endpoint.",
4035 "optional" : 1,
4036 "pattern" : "^https?://.*",
4037 "type" : "string"
4038 },
4039 "location" : {
4040 "optional" : 1,
4041 "type" : "string"
4042 },
4043 "tos" : {
4044 "optional" : 1,
4045 "type" : "string"
4046 }
4047 },
4048 "type" : "object"
4049 }
4050 },
4051 "PUT" : {
4052 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
4053 "method" : "PUT",
4054 "name" : "update_account",
4055 "parameters" : {
4056 "additionalProperties" : 0,
4057 "properties" : {
4058 "contact" : {
4059 "description" : "Contact email addresses.",
4060 "format" : "email-list",
4061 "optional" : 1,
4062 "type" : "string",
4063 "typetext" : "<string>"
4064 },
4065 "name" : {
4066 "default" : "default",
4067 "description" : "ACME account config file name.",
4068 "format" : "pve-configid",
4069 "format_description" : "name",
4070 "optional" : 1,
4071 "type" : "string",
4072 "typetext" : "<name>"
4073 }
4074 }
4075 },
4076 "protected" : 1,
4077 "returns" : {
4078 "type" : "string"
4079 }
4080 }
4081 },
4082 "leaf" : 1,
4083 "path" : "/cluster/acme/account/{name}",
4084 "text" : "{name}"
4085 }
4086 ],
4087 "info" : {
4088 "GET" : {
4089 "description" : "ACMEAccount index.",
4090 "method" : "GET",
4091 "name" : "account_index",
4092 "parameters" : {
4093 "additionalProperties" : 0
4094 },
4095 "permissions" : {
4096 "user" : "all"
4097 },
4098 "protected" : 1,
4099 "returns" : {
4100 "items" : {
4101 "properties" : {},
4102 "type" : "object"
4103 },
4104 "links" : [
4105 {
4106 "href" : "{name}",
4107 "rel" : "child"
4108 }
4109 ],
4110 "type" : "array"
4111 }
4112 },
4113 "POST" : {
4114 "description" : "Register a new ACME account with CA.",
4115 "method" : "POST",
4116 "name" : "register_account",
4117 "parameters" : {
4118 "additionalProperties" : 0,
4119 "properties" : {
4120 "contact" : {
4121 "description" : "Contact email addresses.",
4122 "format" : "email-list",
4123 "type" : "string",
4124 "typetext" : "<string>"
4125 },
4126 "directory" : {
4127 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4128 "description" : "URL of ACME CA directory endpoint.",
4129 "optional" : 1,
4130 "pattern" : "^https?://.*",
4131 "type" : "string"
4132 },
4133 "name" : {
4134 "default" : "default",
4135 "description" : "ACME account config file name.",
4136 "format" : "pve-configid",
4137 "format_description" : "name",
4138 "optional" : 1,
4139 "type" : "string",
4140 "typetext" : "<name>"
4141 },
4142 "tos_url" : {
4143 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
4144 "optional" : 1,
4145 "type" : "string",
4146 "typetext" : "<string>"
4147 }
4148 }
4149 },
4150 "protected" : 1,
4151 "returns" : {
4152 "type" : "string"
4153 }
4154 }
4155 },
4156 "leaf" : 0,
4157 "path" : "/cluster/acme/account",
4158 "text" : "account"
4159 },
4160 {
4161 "info" : {
4162 "GET" : {
4163 "description" : "Retrieve ACME TermsOfService URL from CA.",
4164 "method" : "GET",
4165 "name" : "get_tos",
4166 "parameters" : {
4167 "additionalProperties" : 0,
4168 "properties" : {
4169 "directory" : {
4170 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4171 "description" : "URL of ACME CA directory endpoint.",
4172 "optional" : 1,
4173 "pattern" : "^https?://.*",
4174 "type" : "string"
4175 }
4176 }
4177 },
5da3d723
TL
4178 "permissions" : {
4179 "user" : "all"
4180 },
a9a8e3d1
DM
4181 "returns" : {
4182 "description" : "ACME TermsOfService URL.",
4183 "type" : "string"
4184 }
4185 }
4186 },
4187 "leaf" : 1,
4188 "path" : "/cluster/acme/tos",
4189 "text" : "tos"
4190 },
4191 {
4192 "info" : {
4193 "GET" : {
4194 "description" : "Get named known ACME directory endpoints.",
4195 "method" : "GET",
4196 "name" : "get_directories",
4197 "parameters" : {
4198 "additionalProperties" : 0
4199 },
5da3d723
TL
4200 "permissions" : {
4201 "user" : "all"
4202 },
a9a8e3d1
DM
4203 "returns" : {
4204 "items" : {
4205 "additionalProperties" : 0,
4206 "properties" : {
4207 "name" : {
4208 "type" : "string"
4209 },
4210 "url" : {
4211 "description" : "URL of ACME CA directory endpoint.",
4212 "pattern" : "^https?://.*",
4213 "type" : "string"
4214 }
4215 },
4216 "type" : "object"
4217 },
4218 "type" : "array"
4219 }
4220 }
4221 },
4222 "leaf" : 1,
4223 "path" : "/cluster/acme/directories",
4224 "text" : "directories"
4225 }
4226 ],
4227 "info" : {
4228 "GET" : {
4229 "description" : "ACMEAccount index.",
4230 "method" : "GET",
4231 "name" : "index",
4232 "parameters" : {
4233 "additionalProperties" : 0
4234 },
4235 "permissions" : {
4236 "user" : "all"
4237 },
4238 "returns" : {
4239 "items" : {
4240 "properties" : {},
4241 "type" : "object"
4242 },
4243 "links" : [
4244 {
4245 "href" : "{name}",
4246 "rel" : "child"
4247 }
4248 ],
4249 "type" : "array"
4250 }
4251 }
4252 },
4253 "leaf" : 0,
4254 "path" : "/cluster/acme",
4255 "text" : "acme"
4256 },
7aacca6f 4257 {
7aacca6f
DM
4258 "info" : {
4259 "GET" : {
4260 "description" : "Read cluster log",
44660702
DM
4261 "method" : "GET",
4262 "name" : "log",
56122987 4263 "parameters" : {
7aacca6f 4264 "additionalProperties" : 0,
56122987
DM
4265 "properties" : {
4266 "max" : {
7aacca6f 4267 "description" : "Maximum number of entries.",
44660702
DM
4268 "minimum" : 1,
4269 "optional" : 1,
4bd7df8b 4270 "type" : "integer",
013dc89f 4271 "typetext" : "<integer> (1 - N)"
56122987 4272 }
7aacca6f 4273 }
56122987 4274 },
44660702
DM
4275 "permissions" : {
4276 "user" : "all"
4277 },
7aacca6f 4278 "returns" : {
7aacca6f 4279 "items" : {
44660702
DM
4280 "properties" : {},
4281 "type" : "object"
4282 },
4283 "type" : "array"
7aacca6f 4284 }
56122987 4285 }
44660702
DM
4286 },
4287 "leaf" : 1,
4288 "path" : "/cluster/log",
4289 "text" : "log"
56122987
DM
4290 },
4291 {
56122987
DM
4292 "info" : {
4293 "GET" : {
44660702 4294 "description" : "Resources index (cluster wide).",
7aacca6f 4295 "method" : "GET",
7aacca6f 4296 "name" : "resources",
56122987
DM
4297 "parameters" : {
4298 "additionalProperties" : 0,
4299 "properties" : {
4300 "type" : {
4301 "enum" : [
4302 "vm",
4303 "storage",
4304 "node"
44660702
DM
4305 ],
4306 "optional" : 1,
4307 "type" : "string"
56122987
DM
4308 }
4309 }
4310 },
44660702
DM
4311 "permissions" : {
4312 "user" : "all"
4313 },
4314 "returns" : {
4315 "items" : {
4d47f125
TL
4316 "properties" : {
4317 "cpu" : {
4318 "description" : "CPU utilization (when type in node,qemu,lxc).",
4319 "optional" : 1,
4320 "renderer" : "fraction_as_percentage",
4321 "type" : "number"
4322 },
4323 "disk" : {
4324 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
4325 "optional" : 1,
4326 "renderer" : "bytes",
4327 "type" : "string"
4328 },
4329 "hastate" : {
4330 "description" : "HA service status (for HA managed VMs).",
4331 "optional" : 1,
4332 "type" : "string"
4333 },
4334 "id" : {
4335 "type" : "string"
4336 },
4337 "level" : {
4338 "description" : "Support level (when type == node).",
4339 "optional" : 1,
4340 "type" : "string"
4341 },
4342 "maxcpu" : {
4343 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
4344 "optional" : 1,
4345 "type" : "number"
4346 },
4347 "maxdisk" : {
4348 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
4349 "optional" : 1,
4350 "renderer" : "bytes",
4351 "type" : "integer"
4352 },
4353 "maxmem" : {
4354 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
4355 "optional" : 1,
4356 "renderer" : "bytes",
4357 "type" : "integer"
4358 },
4359 "mem" : {
4360 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
4361 "optional" : 1,
4362 "renderer" : "bytes",
4363 "type" : "string"
4364 },
4365 "node" : {
4366 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
4367 "format" : "pve-node",
4368 "optional" : 1,
4369 "type" : "string"
4370 },
4371 "pool" : {
4372 "description" : "The pool name (when type in pool,qemu,lxc).",
4373 "optional" : 1,
4374 "type" : "string"
4375 },
4376 "status" : {
4377 "description" : "Resource type dependent status.",
4378 "optional" : 1,
4379 "type" : "string"
4380 },
4381 "storage" : {
4382 "description" : "The storage identifier (when type == storage).",
4383 "format" : "pve-storage-id",
4384 "optional" : 1,
4385 "type" : "string"
4386 },
4387 "type" : {
4388 "description" : "Resource type.",
4389 "enum" : [
4390 "node",
4391 "storage",
4392 "pool",
4393 "qemu",
4394 "lxc",
4395 "openvz"
4396 ],
4397 "type" : "string"
4398 },
4399 "uptime" : {
4400 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
4401 "optional" : 1,
4402 "renderer" : "duration",
4403 "type" : "integer"
4404 }
4405 },
44660702
DM
4406 "type" : "object"
4407 },
4408 "type" : "array"
4409 }
56122987
DM
4410 }
4411 },
7aacca6f 4412 "leaf" : 1,
44660702
DM
4413 "path" : "/cluster/resources",
4414 "text" : "resources"
56122987
DM
4415 },
4416 {
56122987
DM
4417 "info" : {
4418 "GET" : {
7aacca6f 4419 "description" : "List recent tasks (cluster wide).",
44660702 4420 "method" : "GET",
7aacca6f 4421 "name" : "tasks",
56122987
DM
4422 "parameters" : {
4423 "additionalProperties" : 0
4424 },
44660702
DM
4425 "permissions" : {
4426 "user" : "all"
4427 },
56122987
DM
4428 "returns" : {
4429 "items" : {
4430 "properties" : {
4431 "upid" : {
4432 "type" : "string"
4433 }
44660702
DM
4434 },
4435 "type" : "object"
4436 },
4437 "type" : "array"
7aacca6f 4438 }
56122987
DM
4439 }
4440 },
7aacca6f 4441 "leaf" : 1,
44660702
DM
4442 "path" : "/cluster/tasks",
4443 "text" : "tasks"
56122987
DM
4444 },
4445 {
56122987 4446 "info" : {
7aacca6f 4447 "GET" : {
44660702
DM
4448 "description" : "Get datacenter options.",
4449 "method" : "GET",
4450 "name" : "get_options",
56122987 4451 "parameters" : {
7aacca6f
DM
4452 "additionalProperties" : 0
4453 },
4454 "permissions" : {
4455 "check" : [
4456 "perm",
4457 "/",
4458 [
4459 "Sys.Audit"
4460 ]
4461 ]
4462 },
7aacca6f 4463 "returns" : {
44660702 4464 "type" : "object"
7aacca6f
DM
4465 }
4466 },
4467 "PUT" : {
44660702
DM
4468 "description" : "Set datacenter options.",
4469 "method" : "PUT",
7aacca6f
DM
4470 "name" : "set_options",
4471 "parameters" : {
4472 "additionalProperties" : 0,
4473 "properties" : {
27a7acb2
DM
4474 "bwlimit" : {
4475 "description" : "Set bandwidth/io limits various operations.",
4476 "format" : {
4477 "clone" : {
4478 "description" : "bandwidth limit in MiB/s for cloning disks",
4479 "format_description" : "LIMIT",
4480 "minimum" : "0",
4481 "optional" : 1,
4482 "type" : "number"
4483 },
4484 "default" : {
4485 "description" : "default bandwidth limit in MiB/s",
4486 "format_description" : "LIMIT",
4487 "minimum" : "0",
4488 "optional" : 1,
4489 "type" : "number"
4490 },
4491 "migration" : {
4492 "description" : "bandwidth limit in MiB/s for migrating guests",
4493 "format_description" : "LIMIT",
4494 "minimum" : "0",
4495 "optional" : 1,
4496 "type" : "number"
4497 },
4498 "move" : {
4499 "description" : "bandwidth limit in MiB/s for moving disks",
4500 "format_description" : "LIMIT",
4501 "minimum" : "0",
4502 "optional" : 1,
4503 "type" : "number"
4504 },
4505 "restore" : {
4506 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
4507 "format_description" : "LIMIT",
4508 "minimum" : "0",
4509 "optional" : 1,
4510 "type" : "number"
4511 }
4512 },
4513 "optional" : 1,
4514 "type" : "string",
4515 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
4516 },
56122987 4517 "console" : {
a9a8e3d1 4518 "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
4519 "enum" : [
4520 "applet",
4521 "vv",
a9a8e3d1
DM
4522 "html5",
4523 "xtermjs"
44660702
DM
4524 ],
4525 "optional" : 1,
4526 "type" : "string"
56122987 4527 },
7aacca6f 4528 "delete" : {
7aacca6f 4529 "description" : "A list of settings you want to delete.",
44660702 4530 "format" : "pve-configid-list",
7aacca6f 4531 "optional" : 1,
013dc89f
DM
4532 "type" : "string",
4533 "typetext" : "<string>"
7aacca6f 4534 },
44660702
DM
4535 "email_from" : {
4536 "description" : "Specify email address to send notification from (default is root@$hostname)",
4537 "format" : "email-opt",
7aacca6f 4538 "optional" : 1,
013dc89f
DM
4539 "type" : "string",
4540 "typetext" : "<string>"
44660702
DM
4541 },
4542 "fencing" : {
4543 "default" : "watchdog",
4544 "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 4545 "enum" : [
44660702
DM
4546 "watchdog",
4547 "hardware",
4548 "both"
7aacca6f 4549 ],
44660702
DM
4550 "optional" : 1,
4551 "type" : "string"
4552 },
5f26e15b
TL
4553 "ha" : {
4554 "description" : "Cluster wide HA settings.",
4555 "format" : {
4556 "shutdown_policy" : {
4557 "default" : "conditional",
4558 "description" : "The policy for HA services on node shutdown. 'freeze' disables auto-recovery, 'failover' ensures recovery, 'conditional' recovers on poweroff and freezes on reboot. Running HA Services will always get stopped first on shutdown.",
4559 "enum" : [
4560 "freeze",
4561 "failover",
4562 "conditional"
4563 ],
4564 "type" : "string",
4565 "verbose_description" : "Describes the policy for handling HA services on poweroff or reboot of a node. Freeze will always freeze services which are still located on the node on shutdown, those services won't be recovered by the HA manager. Failover will not mark the services as frozen and thus the services will get recovered to other nodes, if the shutdown node does not come up again quickly (< 1min). 'conditional' chooses automatically depending on the type of shutdown, i.e., on a reboot the service will be frozen but on a poweroff the service will stay as is, and thus get recovered after about 2 minutes."
4566 }
4567 },
4568 "optional" : 1,
4569 "type" : "string",
4570 "typetext" : "shutdown_policy=<freeze|failover|conditional>"
4571 },
44660702
DM
4572 "http_proxy" : {
4573 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
4574 "optional" : 1,
4575 "pattern" : "http://.*",
4576 "type" : "string"
7aacca6f 4577 },
56122987 4578 "keyboard" : {
44660702 4579 "description" : "Default keybord layout for vnc server.",
56122987 4580 "enum" : [
44660702
DM
4581 "de",
4582 "de-ch",
7aacca6f 4583 "da",
56122987 4584 "en-gb",
44660702
DM
4585 "en-us",
4586 "es",
4587 "fi",
4588 "fr",
4589 "fr-be",
4590 "fr-ca",
4591 "fr-ch",
4592 "hu",
7aacca6f 4593 "is",
44660702
DM
4594 "it",
4595 "ja",
4596 "lt",
56122987 4597 "mk",
7aacca6f 4598 "nl",
56122987 4599 "no",
44660702 4600 "pl",
7aacca6f 4601 "pt",
44660702
DM
4602 "pt-br",
4603 "sv",
4604 "sl",
4605 "tr"
56122987 4606 ],
56122987
DM
4607 "optional" : 1,
4608 "type" : "string"
4609 },
44660702
DM
4610 "language" : {
4611 "description" : "Default GUI language.",
4612 "enum" : [
4d47f125
TL
4613 "zh_CN",
4614 "zh_TW",
4615 "ca",
44660702 4616 "en",
4d47f125
TL
4617 "eu",
4618 "fr",
4619 "de",
4620 "it",
4621 "es",
4622 "ja",
4623 "nb",
4624 "nn",
4625 "fa",
4626 "pl",
4627 "pt_BR",
4628 "ru",
4629 "sl",
4630 "sv",
4631 "tr"
44660702 4632 ],
56122987 4633 "optional" : 1,
44660702 4634 "type" : "string"
56122987 4635 },
4bd7df8b
DM
4636 "mac_prefix" : {
4637 "description" : "Prefix for autogenerated MAC addresses.",
4638 "optional" : 1,
4639 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
4640 "type" : "string"
4641 },
44660702
DM
4642 "max_workers" : {
4643 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
4644 "minimum" : 1,
56122987 4645 "optional" : 1,
4bd7df8b 4646 "type" : "integer",
013dc89f 4647 "typetext" : "<integer> (1 - N)"
56122987 4648 },
de0983cb
DM
4649 "migration" : {
4650 "description" : "For cluster wide migration settings.",
4651 "format" : {
4652 "network" : {
4653 "description" : "CIDR of the (sub) network that is used for migration.",
4654 "format" : "CIDR",
4655 "format_description" : "CIDR",
4656 "optional" : 1,
4657 "type" : "string"
4658 },
4659 "type" : {
4660 "default" : "secure",
4661 "default_key" : 1,
4662 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
4663 "enum" : [
4664 "secure",
4665 "insecure"
4666 ],
4667 "type" : "string"
4668 }
4669 },
4670 "optional" : 1,
4671 "type" : "string",
4672 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
4673 },
7aacca6f 4674 "migration_unsecure" : {
de0983cb 4675 "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 4676 "optional" : 1,
013dc89f
DM
4677 "type" : "boolean",
4678 "typetext" : "<boolean>"
56122987
DM
4679 }
4680 }
4681 },
44660702
DM
4682 "permissions" : {
4683 "check" : [
4684 "perm",
4685 "/",
4686 [
4687 "Sys.Modify"
4688 ]
4689 ]
4690 },
56122987 4691 "protected" : 1,
7aacca6f
DM
4692 "returns" : {
4693 "type" : "null"
44660702 4694 }
7aacca6f
DM
4695 }
4696 },
44660702
DM
4697 "leaf" : 1,
4698 "path" : "/cluster/options",
7aacca6f
DM
4699 "text" : "options"
4700 },
4701 {
7aacca6f 4702 "info" : {
56122987 4703 "GET" : {
44660702
DM
4704 "description" : "Get cluster status informations.",
4705 "method" : "GET",
4706 "name" : "get_status",
56122987
DM
4707 "parameters" : {
4708 "additionalProperties" : 0
4709 },
56122987
DM
4710 "permissions" : {
4711 "check" : [
4712 "perm",
4713 "/",
4714 [
4715 "Sys.Audit"
4716 ]
4717 ]
4718 },
7aacca6f 4719 "protected" : 1,
56122987 4720 "returns" : {
56122987 4721 "items" : {
56122987
DM
4722 "properties" : {
4723 "type" : {
4724 "type" : "string"
4725 }
44660702
DM
4726 },
4727 "type" : "object"
7aacca6f
DM
4728 },
4729 "type" : "array"
56122987
DM
4730 }
4731 }
4732 },
44660702 4733 "leaf" : 1,
7aacca6f 4734 "path" : "/cluster/status",
44660702 4735 "text" : "status"
56122987
DM
4736 },
4737 {
56122987
DM
4738 "info" : {
4739 "GET" : {
56122987 4740 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
4741 "method" : "GET",
4742 "name" : "nextid",
56122987 4743 "parameters" : {
44660702 4744 "additionalProperties" : 0,
56122987
DM
4745 "properties" : {
4746 "vmid" : {
44660702 4747 "description" : "The (unique) ID of the VM.",
56122987 4748 "format" : "pve-vmid",
7aacca6f 4749 "minimum" : 1,
7aacca6f 4750 "optional" : 1,
4bd7df8b 4751 "type" : "integer",
013dc89f 4752 "typetext" : "<integer> (1 - N)"
56122987 4753 }
44660702 4754 }
56122987 4755 },
7aacca6f
DM
4756 "permissions" : {
4757 "user" : "all"
44660702
DM
4758 },
4759 "returns" : {
4760 "description" : "The next free VMID.",
4761 "type" : "integer"
7aacca6f 4762 }
56122987
DM
4763 }
4764 },
7aacca6f 4765 "leaf" : 1,
44660702
DM
4766 "path" : "/cluster/nextid",
4767 "text" : "nextid"
56122987
DM
4768 }
4769 ],
44660702
DM
4770 "info" : {
4771 "GET" : {
4772 "description" : "Cluster index.",
4773 "method" : "GET",
4774 "name" : "index",
4775 "parameters" : {
4776 "additionalProperties" : 0
4777 },
4778 "permissions" : {
4779 "user" : "all"
4780 },
4781 "returns" : {
4782 "items" : {
4783 "properties" : {},
4784 "type" : "object"
4785 },
4786 "links" : [
4787 {
4788 "href" : "{name}",
4789 "rel" : "child"
4790 }
4791 ],
4792 "type" : "array"
4793 }
4794 }
4795 },
4796 "leaf" : 0,
4797 "path" : "/cluster",
7aacca6f 4798 "text" : "cluster"
56122987
DM
4799 },
4800 {
56122987
DM
4801 "children" : [
4802 {
7aacca6f
DM
4803 "children" : [
4804 {
4805 "children" : [
4806 {
56122987
DM
4807 "children" : [
4808 {
56122987
DM
4809 "children" : [
4810 {
4811 "children" : [
4812 {
56122987
DM
4813 "info" : {
4814 "DELETE" : {
44660702 4815 "description" : "Delete rule.",
7aacca6f 4816 "method" : "DELETE",
44660702 4817 "name" : "delete_rule",
56122987 4818 "parameters" : {
44660702 4819 "additionalProperties" : 0,
56122987 4820 "properties" : {
44660702
DM
4821 "digest" : {
4822 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4823 "maxLength" : 40,
4824 "optional" : 1,
013dc89f
DM
4825 "type" : "string",
4826 "typetext" : "<string>"
44660702 4827 },
56122987 4828 "node" : {
7aacca6f 4829 "description" : "The cluster node name.",
44660702 4830 "format" : "pve-node",
013dc89f
DM
4831 "type" : "string",
4832 "typetext" : "<string>"
7aacca6f 4833 },
56122987 4834 "pos" : {
7aacca6f 4835 "description" : "Update rule at position <pos>.",
44660702 4836 "minimum" : 0,
56122987 4837 "optional" : 1,
4bd7df8b 4838 "type" : "integer",
013dc89f 4839 "typetext" : "<integer> (0 - N)"
44660702
DM
4840 },
4841 "vmid" : {
4842 "description" : "The (unique) ID of the VM.",
4843 "format" : "pve-vmid",
4844 "minimum" : 1,
4bd7df8b 4845 "type" : "integer",
013dc89f 4846 "typetext" : "<integer> (1 - N)"
56122987 4847 }
44660702 4848 }
7aacca6f 4849 },
56122987
DM
4850 "permissions" : {
4851 "check" : [
4852 "perm",
4853 "/vms/{vmid}",
4854 [
4855 "VM.Config.Network"
4856 ]
4857 ]
4858 },
44660702
DM
4859 "protected" : 1,
4860 "proxyto" : null,
56122987
DM
4861 "returns" : {
4862 "type" : "null"
44660702
DM
4863 }
4864 },
4865 "GET" : {
4866 "description" : "Get single rule data.",
4867 "method" : "GET",
4868 "name" : "get_rule",
4869 "parameters" : {
4870 "additionalProperties" : 0,
4871 "properties" : {
4872 "node" : {
4873 "description" : "The cluster node name.",
4874 "format" : "pve-node",
013dc89f
DM
4875 "type" : "string",
4876 "typetext" : "<string>"
44660702
DM
4877 },
4878 "pos" : {
4879 "description" : "Update rule at position <pos>.",
4880 "minimum" : 0,
4881 "optional" : 1,
4bd7df8b 4882 "type" : "integer",
013dc89f 4883 "typetext" : "<integer> (0 - N)"
44660702
DM
4884 },
4885 "vmid" : {
4886 "description" : "The (unique) ID of the VM.",
4887 "format" : "pve-vmid",
4888 "minimum" : 1,
4bd7df8b 4889 "type" : "integer",
013dc89f 4890 "typetext" : "<integer> (1 - N)"
44660702
DM
4891 }
4892 }
56122987 4893 },
56122987
DM
4894 "permissions" : {
4895 "check" : [
4896 "perm",
4897 "/vms/{vmid}",
4898 [
44660702 4899 "VM.Audit"
56122987
DM
4900 ]
4901 ]
4902 },
56122987 4903 "proxyto" : null,
44660702
DM
4904 "returns" : {
4905 "properties" : {
e2d681b3
TL
4906 "action" : {
4907 "type" : "string"
4908 },
4909 "comment" : {
4910 "optional" : 1,
4911 "type" : "string"
4912 },
4913 "dest" : {
4914 "optional" : 1,
4915 "type" : "string"
4916 },
4917 "dport" : {
4918 "optional" : 1,
4919 "type" : "string"
4920 },
4921 "enable" : {
4922 "optional" : 1,
4923 "type" : "integer"
4924 },
4925 "iface" : {
4926 "optional" : 1,
4927 "type" : "string"
4928 },
4929 "ipversion" : {
4930 "optional" : 1,
4931 "type" : "integer"
4932 },
4933 "macro" : {
4934 "optional" : 1,
5f26e15b 4935 "type" : "string"
e2d681b3 4936 },
44660702
DM
4937 "pos" : {
4938 "type" : "integer"
e2d681b3
TL
4939 },
4940 "proto" : {
4941 "optional" : 1,
4942 "type" : "string"
4943 },
4944 "source" : {
4945 "optional" : 1,
4946 "type" : "string"
4947 },
4948 "sport" : {
4949 "optional" : 1,
4950 "type" : "string"
4951 },
4952 "type" : {
4953 "type" : "string"
44660702
DM
4954 }
4955 },
4956 "type" : "object"
4957 }
4958 },
4959 "PUT" : {
7aacca6f
DM
4960 "description" : "Modify rule data.",
4961 "method" : "PUT",
44660702 4962 "name" : "update_rule",
56122987 4963 "parameters" : {
44660702 4964 "additionalProperties" : 0,
56122987 4965 "properties" : {
44660702
DM
4966 "action" : {
4967 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4968 "maxLength" : 20,
4969 "minLength" : 2,
56122987 4970 "optional" : 1,
44660702 4971 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
4972 "type" : "string"
4973 },
7aacca6f 4974 "comment" : {
e94f0d56 4975 "description" : "Descriptive comment.",
7aacca6f 4976 "optional" : 1,
013dc89f
DM
4977 "type" : "string",
4978 "typetext" : "<string>"
7aacca6f
DM
4979 },
4980 "delete" : {
7aacca6f 4981 "description" : "A list of settings you want to delete.",
44660702
DM
4982 "format" : "pve-configid-list",
4983 "optional" : 1,
013dc89f
DM
4984 "type" : "string",
4985 "typetext" : "<string>"
7aacca6f
DM
4986 },
4987 "dest" : {
44660702 4988 "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 4989 "format" : "pve-fw-addr-spec",
56122987 4990 "optional" : 1,
013dc89f
DM
4991 "type" : "string",
4992 "typetext" : "<string>"
56122987 4993 },
7aacca6f 4994 "digest" : {
44660702 4995 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 4996 "maxLength" : 40,
56122987 4997 "optional" : 1,
013dc89f
DM
4998 "type" : "string",
4999 "typetext" : "<string>"
44660702
DM
5000 },
5001 "dport" : {
5002 "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.",
5003 "format" : "pve-fw-dport-spec",
5004 "optional" : 1,
013dc89f
DM
5005 "type" : "string",
5006 "typetext" : "<string>"
56122987 5007 },
7aacca6f 5008 "enable" : {
e94f0d56 5009 "description" : "Flag to enable/disable a rule.",
44660702 5010 "minimum" : 0,
56122987 5011 "optional" : 1,
4bd7df8b 5012 "type" : "integer",
013dc89f 5013 "typetext" : "<integer> (0 - N)"
7aacca6f 5014 },
44660702
DM
5015 "iface" : {
5016 "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.",
5017 "format" : "pve-iface",
5018 "maxLength" : 20,
7aacca6f 5019 "minLength" : 2,
56122987 5020 "optional" : 1,
013dc89f
DM
5021 "type" : "string",
5022 "typetext" : "<string>"
56122987 5023 },
44660702 5024 "macro" : {
e94f0d56 5025 "description" : "Use predefined standard macro.",
44660702 5026 "maxLength" : 128,
56122987 5027 "optional" : 1,
013dc89f
DM
5028 "type" : "string",
5029 "typetext" : "<string>"
56122987 5030 },
44660702
DM
5031 "moveto" : {
5032 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
5033 "minimum" : 0,
56122987 5034 "optional" : 1,
4bd7df8b 5035 "type" : "integer",
013dc89f 5036 "typetext" : "<integer> (0 - N)"
56122987 5037 },
44660702
DM
5038 "node" : {
5039 "description" : "The cluster node name.",
5040 "format" : "pve-node",
013dc89f
DM
5041 "type" : "string",
5042 "typetext" : "<string>"
44660702
DM
5043 },
5044 "pos" : {
5045 "description" : "Update rule at position <pos>.",
5046 "minimum" : 0,
5047 "optional" : 1,
4bd7df8b 5048 "type" : "integer",
013dc89f 5049 "typetext" : "<integer> (0 - N)"
56122987 5050 },
44660702
DM
5051 "proto" : {
5052 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5053 "format" : "pve-fw-protocol-spec",
5054 "optional" : 1,
013dc89f
DM
5055 "type" : "string",
5056 "typetext" : "<string>"
7aacca6f 5057 },
44660702
DM
5058 "source" : {
5059 "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.",
5060 "format" : "pve-fw-addr-spec",
56122987 5061 "optional" : 1,
013dc89f
DM
5062 "type" : "string",
5063 "typetext" : "<string>"
56122987
DM
5064 },
5065 "sport" : {
5066 "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
5067 "format" : "pve-fw-sport-spec",
5068 "optional" : 1,
013dc89f
DM
5069 "type" : "string",
5070 "typetext" : "<string>"
44660702
DM
5071 },
5072 "type" : {
e94f0d56 5073 "description" : "Rule type.",
44660702
DM
5074 "enum" : [
5075 "in",
5076 "out",
5077 "group"
5078 ],
56122987 5079 "optional" : 1,
56122987 5080 "type" : "string"
44660702
DM
5081 },
5082 "vmid" : {
5083 "description" : "The (unique) ID of the VM.",
5084 "format" : "pve-vmid",
5085 "minimum" : 1,
4bd7df8b 5086 "type" : "integer",
013dc89f 5087 "typetext" : "<integer> (1 - N)"
56122987 5088 }
44660702 5089 }
56122987 5090 },
56122987
DM
5091 "permissions" : {
5092 "check" : [
5093 "perm",
5094 "/vms/{vmid}",
5095 [
44660702 5096 "VM.Config.Network"
56122987
DM
5097 ]
5098 ]
7aacca6f 5099 },
44660702 5100 "protected" : 1,
7aacca6f 5101 "proxyto" : null,
7aacca6f 5102 "returns" : {
44660702
DM
5103 "type" : "null"
5104 }
56122987 5105 }
7aacca6f 5106 },
44660702 5107 "leaf" : 1,
7aacca6f 5108 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 5109 "text" : "{pos}"
56122987
DM
5110 }
5111 ],
56122987 5112 "info" : {
44660702
DM
5113 "GET" : {
5114 "description" : "List rules.",
5115 "method" : "GET",
5116 "name" : "get_rules",
5117 "parameters" : {
5118 "additionalProperties" : 0,
5119 "properties" : {
5120 "node" : {
5121 "description" : "The cluster node name.",
5122 "format" : "pve-node",
013dc89f
DM
5123 "type" : "string",
5124 "typetext" : "<string>"
44660702
DM
5125 },
5126 "vmid" : {
5127 "description" : "The (unique) ID of the VM.",
5128 "format" : "pve-vmid",
5129 "minimum" : 1,
4bd7df8b 5130 "type" : "integer",
013dc89f 5131 "typetext" : "<integer> (1 - N)"
44660702
DM
5132 }
5133 }
56122987 5134 },
56122987
DM
5135 "permissions" : {
5136 "check" : [
5137 "perm",
5138 "/vms/{vmid}",
5139 [
44660702 5140 "VM.Audit"
56122987
DM
5141 ]
5142 ]
7aacca6f 5143 },
44660702
DM
5144 "proxyto" : null,
5145 "returns" : {
5146 "items" : {
5147 "properties" : {
5148 "pos" : {
5149 "type" : "integer"
5150 }
5151 },
5152 "type" : "object"
5153 },
5154 "links" : [
5155 {
5156 "href" : "{pos}",
5157 "rel" : "child"
5158 }
5159 ],
5160 "type" : "array"
5161 }
5162 },
5163 "POST" : {
5164 "description" : "Create new rule.",
7aacca6f 5165 "method" : "POST",
44660702 5166 "name" : "create_rule",
56122987 5167 "parameters" : {
44660702 5168 "additionalProperties" : 0,
56122987 5169 "properties" : {
44660702
DM
5170 "action" : {
5171 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
5172 "maxLength" : 20,
5173 "minLength" : 2,
5174 "optional" : 0,
5175 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5176 "type" : "string"
56122987 5177 },
44660702 5178 "comment" : {
e94f0d56 5179 "description" : "Descriptive comment.",
56122987 5180 "optional" : 1,
013dc89f
DM
5181 "type" : "string",
5182 "typetext" : "<string>"
56122987 5183 },
44660702
DM
5184 "dest" : {
5185 "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.",
5186 "format" : "pve-fw-addr-spec",
5187 "optional" : 1,
013dc89f
DM
5188 "type" : "string",
5189 "typetext" : "<string>"
56122987 5190 },
44660702
DM
5191 "digest" : {
5192 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5193 "maxLength" : 40,
56122987 5194 "optional" : 1,
013dc89f
DM
5195 "type" : "string",
5196 "typetext" : "<string>"
56122987 5197 },
7aacca6f
DM
5198 "dport" : {
5199 "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 5200 "format" : "pve-fw-dport-spec",
7aacca6f 5201 "optional" : 1,
013dc89f
DM
5202 "type" : "string",
5203 "typetext" : "<string>"
56122987
DM
5204 },
5205 "enable" : {
e94f0d56 5206 "description" : "Flag to enable/disable a rule.",
56122987 5207 "minimum" : 0,
44660702 5208 "optional" : 1,
4bd7df8b 5209 "type" : "integer",
013dc89f 5210 "typetext" : "<integer> (0 - N)"
56122987 5211 },
44660702
DM
5212 "iface" : {
5213 "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.",
5214 "format" : "pve-iface",
5215 "maxLength" : 20,
7aacca6f 5216 "minLength" : 2,
44660702 5217 "optional" : 1,
013dc89f
DM
5218 "type" : "string",
5219 "typetext" : "<string>"
56122987 5220 },
44660702 5221 "macro" : {
e94f0d56 5222 "description" : "Use predefined standard macro.",
44660702 5223 "maxLength" : 128,
56122987 5224 "optional" : 1,
013dc89f
DM
5225 "type" : "string",
5226 "typetext" : "<string>"
7aacca6f 5227 },
44660702
DM
5228 "node" : {
5229 "description" : "The cluster node name.",
5230 "format" : "pve-node",
013dc89f
DM
5231 "type" : "string",
5232 "typetext" : "<string>"
44660702
DM
5233 },
5234 "pos" : {
5235 "description" : "Update rule at position <pos>.",
5236 "minimum" : 0,
5237 "optional" : 1,
4bd7df8b 5238 "type" : "integer",
013dc89f 5239 "typetext" : "<integer> (0 - N)"
44660702
DM
5240 },
5241 "proto" : {
5242 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5243 "format" : "pve-fw-protocol-spec",
7aacca6f 5244 "optional" : 1,
013dc89f
DM
5245 "type" : "string",
5246 "typetext" : "<string>"
7aacca6f
DM
5247 },
5248 "source" : {
5249 "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 5250 "format" : "pve-fw-addr-spec",
7aacca6f 5251 "optional" : 1,
013dc89f
DM
5252 "type" : "string",
5253 "typetext" : "<string>"
7aacca6f 5254 },
44660702
DM
5255 "sport" : {
5256 "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.",
5257 "format" : "pve-fw-sport-spec",
7aacca6f 5258 "optional" : 1,
013dc89f
DM
5259 "type" : "string",
5260 "typetext" : "<string>"
7aacca6f 5261 },
44660702 5262 "type" : {
e94f0d56 5263 "description" : "Rule type.",
44660702
DM
5264 "enum" : [
5265 "in",
5266 "out",
5267 "group"
5268 ],
5269 "optional" : 0,
5270 "type" : "string"
7aacca6f 5271 },
7aacca6f 5272 "vmid" : {
44660702 5273 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
5274 "format" : "pve-vmid",
5275 "minimum" : 1,
4bd7df8b 5276 "type" : "integer",
013dc89f 5277 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5278 }
5279 }
5280 },
56122987
DM
5281 "permissions" : {
5282 "check" : [
5283 "perm",
5284 "/vms/{vmid}",
5285 [
44660702 5286 "VM.Config.Network"
56122987
DM
5287 ]
5288 ]
5289 },
44660702
DM
5290 "protected" : 1,
5291 "proxyto" : null,
56122987 5292 "returns" : {
44660702
DM
5293 "type" : "null"
5294 }
56122987
DM
5295 }
5296 },
44660702 5297 "leaf" : 0,
7aacca6f 5298 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 5299 "text" : "rules"
56122987
DM
5300 },
5301 {
5302 "children" : [
5303 {
56122987 5304 "info" : {
44660702
DM
5305 "DELETE" : {
5306 "description" : "Remove IP or Network alias.",
5307 "method" : "DELETE",
5308 "name" : "remove_alias",
56122987 5309 "parameters" : {
44660702 5310 "additionalProperties" : 0,
56122987 5311 "properties" : {
44660702
DM
5312 "digest" : {
5313 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5314 "maxLength" : 40,
5315 "optional" : 1,
013dc89f
DM
5316 "type" : "string",
5317 "typetext" : "<string>"
56122987
DM
5318 },
5319 "name" : {
56122987 5320 "description" : "Alias name.",
44660702 5321 "maxLength" : 64,
7aacca6f 5322 "minLength" : 2,
44660702 5323 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
5324 "type" : "string"
5325 },
7aacca6f 5326 "node" : {
44660702 5327 "description" : "The cluster node name.",
7aacca6f 5328 "format" : "pve-node",
013dc89f
DM
5329 "type" : "string",
5330 "typetext" : "<string>"
44660702
DM
5331 },
5332 "vmid" : {
5333 "description" : "The (unique) ID of the VM.",
5334 "format" : "pve-vmid",
5335 "minimum" : 1,
4bd7df8b 5336 "type" : "integer",
013dc89f 5337 "typetext" : "<integer> (1 - N)"
56122987 5338 }
44660702 5339 }
56122987 5340 },
7aacca6f
DM
5341 "permissions" : {
5342 "check" : [
5343 "perm",
5344 "/vms/{vmid}",
5345 [
5346 "VM.Config.Network"
5347 ]
5348 ]
56122987 5349 },
44660702
DM
5350 "protected" : 1,
5351 "returns" : {
5352 "type" : "null"
5353 }
5354 },
5355 "GET" : {
5356 "description" : "Read alias.",
5357 "method" : "GET",
5358 "name" : "read_alias",
56122987 5359 "parameters" : {
44660702 5360 "additionalProperties" : 0,
56122987 5361 "properties" : {
56122987 5362 "name" : {
7aacca6f 5363 "description" : "Alias name.",
44660702 5364 "maxLength" : 64,
56122987 5365 "minLength" : 2,
44660702 5366 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 5367 "type" : "string"
7aacca6f
DM
5368 },
5369 "node" : {
5370 "description" : "The cluster node name.",
44660702 5371 "format" : "pve-node",
013dc89f
DM
5372 "type" : "string",
5373 "typetext" : "<string>"
44660702
DM
5374 },
5375 "vmid" : {
5376 "description" : "The (unique) ID of the VM.",
5377 "format" : "pve-vmid",
5378 "minimum" : 1,
4bd7df8b 5379 "type" : "integer",
013dc89f 5380 "typetext" : "<integer> (1 - N)"
56122987 5381 }
44660702 5382 }
56122987 5383 },
44660702
DM
5384 "permissions" : {
5385 "check" : [
5386 "perm",
5387 "/vms/{vmid}",
5388 [
5389 "VM.Audit"
5390 ]
5391 ]
56122987 5392 },
44660702
DM
5393 "returns" : {
5394 "type" : "object"
5395 }
7aacca6f 5396 },
44660702
DM
5397 "PUT" : {
5398 "description" : "Update IP or Network alias.",
5399 "method" : "PUT",
5400 "name" : "update_alias",
56122987
DM
5401 "parameters" : {
5402 "additionalProperties" : 0,
5403 "properties" : {
44660702
DM
5404 "cidr" : {
5405 "description" : "Network/IP specification in CIDR format.",
5406 "format" : "IPorCIDR",
013dc89f
DM
5407 "type" : "string",
5408 "typetext" : "<string>"
44660702
DM
5409 },
5410 "comment" : {
5411 "optional" : 1,
013dc89f
DM
5412 "type" : "string",
5413 "typetext" : "<string>"
56122987
DM
5414 },
5415 "digest" : {
44660702 5416 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
5417 "maxLength" : 40,
5418 "optional" : 1,
013dc89f
DM
5419 "type" : "string",
5420 "typetext" : "<string>"
56122987 5421 },
7aacca6f 5422 "name" : {
44660702 5423 "description" : "Alias name.",
56122987
DM
5424 "maxLength" : 64,
5425 "minLength" : 2,
5426 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5427 "type" : "string"
7aacca6f
DM
5428 },
5429 "node" : {
7aacca6f 5430 "description" : "The cluster node name.",
44660702 5431 "format" : "pve-node",
013dc89f
DM
5432 "type" : "string",
5433 "typetext" : "<string>"
44660702
DM
5434 },
5435 "rename" : {
5436 "description" : "Rename an existing alias.",
5437 "maxLength" : 64,
5438 "minLength" : 2,
5439 "optional" : 1,
5440 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5441 "type" : "string"
5442 },
5443 "vmid" : {
5444 "description" : "The (unique) ID of the VM.",
5445 "format" : "pve-vmid",
5446 "minimum" : 1,
4bd7df8b 5447 "type" : "integer",
013dc89f 5448 "typetext" : "<integer> (1 - N)"
56122987
DM
5449 }
5450 }
5451 },
7aacca6f
DM
5452 "permissions" : {
5453 "check" : [
5454 "perm",
5455 "/vms/{vmid}",
5456 [
5457 "VM.Config.Network"
5458 ]
5459 ]
5460 },
5461 "protected" : 1,
7aacca6f
DM
5462 "returns" : {
5463 "type" : "null"
44660702 5464 }
56122987
DM
5465 }
5466 },
44660702 5467 "leaf" : 1,
7aacca6f 5468 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 5469 "text" : "{name}"
56122987
DM
5470 }
5471 ],
5472 "info" : {
44660702
DM
5473 "GET" : {
5474 "description" : "List aliases",
5475 "method" : "GET",
5476 "name" : "get_aliases",
56122987 5477 "parameters" : {
44660702 5478 "additionalProperties" : 0,
56122987 5479 "properties" : {
7aacca6f 5480 "node" : {
7aacca6f 5481 "description" : "The cluster node name.",
44660702 5482 "format" : "pve-node",
013dc89f
DM
5483 "type" : "string",
5484 "typetext" : "<string>"
56122987 5485 },
44660702
DM
5486 "vmid" : {
5487 "description" : "The (unique) ID of the VM.",
5488 "format" : "pve-vmid",
5489 "minimum" : 1,
4bd7df8b 5490 "type" : "integer",
013dc89f 5491 "typetext" : "<integer> (1 - N)"
56122987 5492 }
44660702 5493 }
56122987 5494 },
56122987
DM
5495 "permissions" : {
5496 "check" : [
5497 "perm",
5498 "/vms/{vmid}",
5499 [
44660702 5500 "VM.Audit"
56122987
DM
5501 ]
5502 ]
5503 },
56122987
DM
5504 "returns" : {
5505 "items" : {
5506 "properties" : {
44660702 5507 "cidr" : {
56122987
DM
5508 "type" : "string"
5509 },
44660702
DM
5510 "comment" : {
5511 "optional" : 1,
7aacca6f 5512 "type" : "string"
56122987
DM
5513 },
5514 "digest" : {
56122987 5515 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5516 "maxLength" : 40,
56122987
DM
5517 "optional" : 0,
5518 "type" : "string"
5519 },
44660702 5520 "name" : {
56122987
DM
5521 "type" : "string"
5522 }
44660702
DM
5523 },
5524 "type" : "object"
56122987 5525 },
56122987
DM
5526 "links" : [
5527 {
5528 "href" : "{name}",
5529 "rel" : "child"
5530 }
44660702
DM
5531 ],
5532 "type" : "array"
5533 }
5534 },
5535 "POST" : {
5536 "description" : "Create IP or Network Alias.",
5537 "method" : "POST",
5538 "name" : "create_alias",
56122987 5539 "parameters" : {
7aacca6f 5540 "additionalProperties" : 0,
56122987 5541 "properties" : {
44660702
DM
5542 "cidr" : {
5543 "description" : "Network/IP specification in CIDR format.",
5544 "format" : "IPorCIDR",
013dc89f
DM
5545 "type" : "string",
5546 "typetext" : "<string>"
44660702
DM
5547 },
5548 "comment" : {
5549 "optional" : 1,
013dc89f
DM
5550 "type" : "string",
5551 "typetext" : "<string>"
44660702
DM
5552 },
5553 "name" : {
5554 "description" : "Alias name.",
5555 "maxLength" : 64,
5556 "minLength" : 2,
5557 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5558 "type" : "string"
56122987
DM
5559 },
5560 "node" : {
7aacca6f 5561 "description" : "The cluster node name.",
44660702 5562 "format" : "pve-node",
013dc89f
DM
5563 "type" : "string",
5564 "typetext" : "<string>"
44660702
DM
5565 },
5566 "vmid" : {
5567 "description" : "The (unique) ID of the VM.",
5568 "format" : "pve-vmid",
5569 "minimum" : 1,
4bd7df8b 5570 "type" : "integer",
013dc89f 5571 "typetext" : "<integer> (1 - N)"
56122987 5572 }
7aacca6f 5573 }
56122987 5574 },
44660702
DM
5575 "permissions" : {
5576 "check" : [
5577 "perm",
5578 "/vms/{vmid}",
5579 [
5580 "VM.Config.Network"
5581 ]
5582 ]
5583 },
5584 "protected" : 1,
5585 "returns" : {
5586 "type" : "null"
5587 }
56122987 5588 }
44660702
DM
5589 },
5590 "leaf" : 0,
5591 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
5592 "text" : "aliases"
56122987
DM
5593 },
5594 {
56122987
DM
5595 "children" : [
5596 {
7aacca6f
DM
5597 "children" : [
5598 {
5599 "info" : {
5600 "DELETE" : {
44660702 5601 "description" : "Remove IP or Network from IPSet.",
7aacca6f 5602 "method" : "DELETE",
44660702 5603 "name" : "remove_ip",
7aacca6f 5604 "parameters" : {
44660702 5605 "additionalProperties" : 0,
7aacca6f 5606 "properties" : {
44660702
DM
5607 "cidr" : {
5608 "description" : "Network/IP specification in CIDR format.",
5609 "format" : "IPorCIDRorAlias",
013dc89f
DM
5610 "type" : "string",
5611 "typetext" : "<string>"
44660702
DM
5612 },
5613 "digest" : {
5614 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5615 "maxLength" : 40,
5616 "optional" : 1,
013dc89f
DM
5617 "type" : "string",
5618 "typetext" : "<string>"
44660702 5619 },
7aacca6f 5620 "name" : {
7aacca6f 5621 "description" : "IP set name.",
44660702
DM
5622 "maxLength" : 64,
5623 "minLength" : 2,
7aacca6f 5624 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5625 "type" : "string"
7aacca6f
DM
5626 },
5627 "node" : {
5628 "description" : "The cluster node name.",
44660702 5629 "format" : "pve-node",
013dc89f
DM
5630 "type" : "string",
5631 "typetext" : "<string>"
7aacca6f
DM
5632 },
5633 "vmid" : {
44660702 5634 "description" : "The (unique) ID of the VM.",
7aacca6f 5635 "format" : "pve-vmid",
44660702 5636 "minimum" : 1,
4bd7df8b 5637 "type" : "integer",
013dc89f 5638 "typetext" : "<integer> (1 - N)"
7aacca6f 5639 }
44660702 5640 }
7aacca6f 5641 },
7aacca6f
DM
5642 "permissions" : {
5643 "check" : [
5644 "perm",
5645 "/vms/{vmid}",
5646 [
5647 "VM.Config.Network"
5648 ]
5649 ]
5650 },
5651 "protected" : 1,
44660702
DM
5652 "returns" : {
5653 "type" : "null"
5654 }
56122987 5655 },
44660702
DM
5656 "GET" : {
5657 "description" : "Read IP or Network settings from IPSet.",
5658 "method" : "GET",
5659 "name" : "read_ip",
7aacca6f 5660 "parameters" : {
44660702 5661 "additionalProperties" : 0,
7aacca6f 5662 "properties" : {
7aacca6f 5663 "cidr" : {
44660702 5664 "description" : "Network/IP specification in CIDR format.",
7aacca6f 5665 "format" : "IPorCIDRorAlias",
013dc89f
DM
5666 "type" : "string",
5667 "typetext" : "<string>"
7aacca6f
DM
5668 },
5669 "name" : {
7aacca6f 5670 "description" : "IP set name.",
44660702 5671 "maxLength" : 64,
7aacca6f 5672 "minLength" : 2,
44660702
DM
5673 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5674 "type" : "string"
7aacca6f 5675 },
44660702
DM
5676 "node" : {
5677 "description" : "The cluster node name.",
5678 "format" : "pve-node",
013dc89f
DM
5679 "type" : "string",
5680 "typetext" : "<string>"
7aacca6f 5681 },
44660702
DM
5682 "vmid" : {
5683 "description" : "The (unique) ID of the VM.",
5684 "format" : "pve-vmid",
5685 "minimum" : 1,
4bd7df8b 5686 "type" : "integer",
013dc89f 5687 "typetext" : "<integer> (1 - N)"
7aacca6f 5688 }
44660702 5689 }
7aacca6f 5690 },
44660702
DM
5691 "permissions" : {
5692 "check" : [
5693 "perm",
5694 "/vms/{vmid}",
5695 [
5696 "VM.Audit"
5697 ]
5698 ]
5699 },
5700 "protected" : 1,
7aacca6f 5701 "returns" : {
44660702 5702 "type" : "object"
7aacca6f 5703 }
56122987 5704 },
44660702
DM
5705 "PUT" : {
5706 "description" : "Update IP or Network settings",
5707 "method" : "PUT",
5708 "name" : "update_ip",
7aacca6f
DM
5709 "parameters" : {
5710 "additionalProperties" : 0,
5711 "properties" : {
44660702
DM
5712 "cidr" : {
5713 "description" : "Network/IP specification in CIDR format.",
5714 "format" : "IPorCIDRorAlias",
013dc89f
DM
5715 "type" : "string",
5716 "typetext" : "<string>"
44660702
DM
5717 },
5718 "comment" : {
5719 "optional" : 1,
013dc89f
DM
5720 "type" : "string",
5721 "typetext" : "<string>"
44660702
DM
5722 },
5723 "digest" : {
5724 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5725 "maxLength" : 40,
5726 "optional" : 1,
013dc89f
DM
5727 "type" : "string",
5728 "typetext" : "<string>"
44660702 5729 },
7aacca6f 5730 "name" : {
7aacca6f 5731 "description" : "IP set name.",
44660702 5732 "maxLength" : 64,
7aacca6f 5733 "minLength" : 2,
44660702
DM
5734 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5735 "type" : "string"
7aacca6f
DM
5736 },
5737 "node" : {
7aacca6f 5738 "description" : "The cluster node name.",
44660702 5739 "format" : "pve-node",
013dc89f
DM
5740 "type" : "string",
5741 "typetext" : "<string>"
7aacca6f 5742 },
44660702
DM
5743 "nomatch" : {
5744 "optional" : 1,
013dc89f
DM
5745 "type" : "boolean",
5746 "typetext" : "<boolean>"
7aacca6f
DM
5747 },
5748 "vmid" : {
5749 "description" : "The (unique) ID of the VM.",
44660702 5750 "format" : "pve-vmid",
7aacca6f 5751 "minimum" : 1,
4bd7df8b 5752 "type" : "integer",
013dc89f 5753 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5754 }
5755 }
5756 },
5757 "permissions" : {
5758 "check" : [
5759 "perm",
5760 "/vms/{vmid}",
5761 [
44660702 5762 "VM.Config.Network"
7aacca6f
DM
5763 ]
5764 ]
5765 },
7aacca6f 5766 "protected" : 1,
7aacca6f 5767 "returns" : {
44660702 5768 "type" : "null"
7aacca6f 5769 }
56122987 5770 }
7aacca6f 5771 },
7aacca6f 5772 "leaf" : 1,
44660702
DM
5773 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
5774 "text" : "{cidr}"
7aacca6f 5775 }
44660702
DM
5776 ],
5777 "info" : {
5778 "DELETE" : {
5779 "description" : "Delete IPSet",
5780 "method" : "DELETE",
5781 "name" : "delete_ipset",
5782 "parameters" : {
5783 "additionalProperties" : 0,
5784 "properties" : {
5785 "name" : {
5786 "description" : "IP set name.",
5787 "maxLength" : 64,
5788 "minLength" : 2,
5789 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5790 "type" : "string"
5791 },
5792 "node" : {
5793 "description" : "The cluster node name.",
5794 "format" : "pve-node",
013dc89f
DM
5795 "type" : "string",
5796 "typetext" : "<string>"
44660702
DM
5797 },
5798 "vmid" : {
5799 "description" : "The (unique) ID of the VM.",
5800 "format" : "pve-vmid",
5801 "minimum" : 1,
4bd7df8b 5802 "type" : "integer",
013dc89f 5803 "typetext" : "<integer> (1 - N)"
44660702
DM
5804 }
5805 }
7aacca6f 5806 },
44660702
DM
5807 "permissions" : {
5808 "check" : [
5809 "perm",
5810 "/vms/{vmid}",
5811 [
5812 "VM.Config.Network"
5813 ]
5814 ]
7aacca6f 5815 },
44660702
DM
5816 "protected" : 1,
5817 "returns" : {
5818 "type" : "null"
5819 }
5820 },
5821 "GET" : {
5822 "description" : "List IPSet content",
5823 "method" : "GET",
5824 "name" : "get_ipset",
5825 "parameters" : {
5826 "additionalProperties" : 0,
5827 "properties" : {
5828 "name" : {
5829 "description" : "IP set name.",
5830 "maxLength" : 64,
5831 "minLength" : 2,
5832 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5833 "type" : "string"
5834 },
5835 "node" : {
5836 "description" : "The cluster node name.",
5837 "format" : "pve-node",
013dc89f
DM
5838 "type" : "string",
5839 "typetext" : "<string>"
44660702
DM
5840 },
5841 "vmid" : {
5842 "description" : "The (unique) ID of the VM.",
5843 "format" : "pve-vmid",
5844 "minimum" : 1,
4bd7df8b 5845 "type" : "integer",
013dc89f 5846 "typetext" : "<integer> (1 - N)"
44660702
DM
5847 }
5848 }
7aacca6f 5849 },
44660702
DM
5850 "permissions" : {
5851 "check" : [
5852 "perm",
5853 "/vms/{vmid}",
5854 [
5855 "VM.Audit"
5856 ]
5857 ]
7aacca6f 5858 },
44660702
DM
5859 "returns" : {
5860 "items" : {
5861 "properties" : {
5862 "cidr" : {
5863 "type" : "string"
5864 },
5865 "comment" : {
5866 "optional" : 1,
5867 "type" : "string"
5868 },
5869 "digest" : {
5870 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5871 "maxLength" : 40,
5872 "optional" : 0,
5873 "type" : "string"
5874 },
5875 "nomatch" : {
5876 "optional" : 1,
5877 "type" : "boolean"
5878 }
5879 },
5880 "type" : "object"
5881 },
5882 "links" : [
5883 {
5884 "href" : "{cidr}",
5885 "rel" : "child"
5886 }
5887 ],
5888 "type" : "array"
56122987
DM
5889 }
5890 },
44660702
DM
5891 "POST" : {
5892 "description" : "Add IP or Network to IPSet.",
5893 "method" : "POST",
5894 "name" : "create_ip",
5895 "parameters" : {
5896 "additionalProperties" : 0,
5897 "properties" : {
5898 "cidr" : {
5899 "description" : "Network/IP specification in CIDR format.",
5900 "format" : "IPorCIDRorAlias",
013dc89f
DM
5901 "type" : "string",
5902 "typetext" : "<string>"
44660702
DM
5903 },
5904 "comment" : {
5905 "optional" : 1,
013dc89f
DM
5906 "type" : "string",
5907 "typetext" : "<string>"
44660702
DM
5908 },
5909 "name" : {
5910 "description" : "IP set name.",
5911 "maxLength" : 64,
5912 "minLength" : 2,
5913 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5914 "type" : "string"
5915 },
5916 "node" : {
5917 "description" : "The cluster node name.",
5918 "format" : "pve-node",
013dc89f
DM
5919 "type" : "string",
5920 "typetext" : "<string>"
44660702
DM
5921 },
5922 "nomatch" : {
5923 "optional" : 1,
013dc89f
DM
5924 "type" : "boolean",
5925 "typetext" : "<boolean>"
44660702
DM
5926 },
5927 "vmid" : {
5928 "description" : "The (unique) ID of the VM.",
5929 "format" : "pve-vmid",
5930 "minimum" : 1,
4bd7df8b 5931 "type" : "integer",
013dc89f 5932 "typetext" : "<integer> (1 - N)"
44660702
DM
5933 }
5934 }
5935 },
5936 "permissions" : {
5937 "check" : [
5938 "perm",
5939 "/vms/{vmid}",
5940 [
5941 "VM.Config.Network"
5942 ]
5943 ]
5944 },
5945 "protected" : 1,
5946 "returns" : {
5947 "type" : "null"
5948 }
5949 }
5950 },
5951 "leaf" : 0,
5952 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
5953 "text" : "{name}"
5954 }
5955 ],
5956 "info" : {
5957 "GET" : {
5958 "description" : "List IPSets",
5959 "method" : "GET",
5960 "name" : "ipset_index",
5961 "parameters" : {
5962 "additionalProperties" : 0,
5963 "properties" : {
5964 "node" : {
5965 "description" : "The cluster node name.",
5966 "format" : "pve-node",
013dc89f
DM
5967 "type" : "string",
5968 "typetext" : "<string>"
44660702
DM
5969 },
5970 "vmid" : {
5971 "description" : "The (unique) ID of the VM.",
5972 "format" : "pve-vmid",
5973 "minimum" : 1,
4bd7df8b 5974 "type" : "integer",
013dc89f 5975 "typetext" : "<integer> (1 - N)"
44660702
DM
5976 }
5977 }
56122987
DM
5978 },
5979 "permissions" : {
5980 "check" : [
5981 "perm",
5982 "/vms/{vmid}",
5983 [
44660702 5984 "VM.Audit"
56122987
DM
5985 ]
5986 ]
5987 },
7aacca6f 5988 "returns" : {
7aacca6f
DM
5989 "items" : {
5990 "properties" : {
7aacca6f
DM
5991 "comment" : {
5992 "optional" : 1,
5993 "type" : "string"
5994 },
5995 "digest" : {
7aacca6f 5996 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
5997 "maxLength" : 40,
5998 "optional" : 0,
5999 "type" : "string"
6000 },
6001 "name" : {
6002 "description" : "IP set name.",
6003 "maxLength" : 64,
6004 "minLength" : 2,
6005 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6006 "type" : "string"
7aacca6f
DM
6007 }
6008 },
6009 "type" : "object"
6010 },
6011 "links" : [
6012 {
44660702
DM
6013 "href" : "{name}",
6014 "rel" : "child"
7aacca6f 6015 }
44660702
DM
6016 ],
6017 "type" : "array"
6018 }
6019 },
6020 "POST" : {
6021 "description" : "Create new IPSet",
6022 "method" : "POST",
6023 "name" : "create_ipset",
56122987
DM
6024 "parameters" : {
6025 "additionalProperties" : 0,
6026 "properties" : {
44660702
DM
6027 "comment" : {
6028 "optional" : 1,
013dc89f
DM
6029 "type" : "string",
6030 "typetext" : "<string>"
56122987 6031 },
44660702
DM
6032 "digest" : {
6033 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6034 "maxLength" : 40,
6035 "optional" : 1,
013dc89f
DM
6036 "type" : "string",
6037 "typetext" : "<string>"
44660702
DM
6038 },
6039 "name" : {
6040 "description" : "IP set name.",
6041 "maxLength" : 64,
6042 "minLength" : 2,
6043 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6044 "type" : "string"
6045 },
6046 "node" : {
6047 "description" : "The cluster node name.",
6048 "format" : "pve-node",
013dc89f
DM
6049 "type" : "string",
6050 "typetext" : "<string>"
44660702
DM
6051 },
6052 "rename" : {
6053 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
6054 "maxLength" : 64,
6055 "minLength" : 2,
6056 "optional" : 1,
6057 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6058 "type" : "string"
6059 },
6060 "vmid" : {
6061 "description" : "The (unique) ID of the VM.",
6062 "format" : "pve-vmid",
6063 "minimum" : 1,
4bd7df8b 6064 "type" : "integer",
013dc89f 6065 "typetext" : "<integer> (1 - N)"
44660702
DM
6066 }
6067 }
6068 },
7aacca6f
DM
6069 "permissions" : {
6070 "check" : [
6071 "perm",
6072 "/vms/{vmid}",
6073 [
6074 "VM.Config.Network"
6075 ]
6076 ]
6077 },
44660702 6078 "protected" : 1,
56122987 6079 "returns" : {
7aacca6f 6080 "type" : "null"
44660702
DM
6081 }
6082 }
6083 },
6084 "leaf" : 0,
6085 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
6086 "text" : "ipset"
6087 },
6088 {
6089 "info" : {
6090 "GET" : {
6091 "description" : "Get VM firewall options.",
6092 "method" : "GET",
6093 "name" : "get_options",
7aacca6f
DM
6094 "parameters" : {
6095 "additionalProperties" : 0,
56122987 6096 "properties" : {
7aacca6f
DM
6097 "node" : {
6098 "description" : "The cluster node name.",
44660702 6099 "format" : "pve-node",
013dc89f
DM
6100 "type" : "string",
6101 "typetext" : "<string>"
7aacca6f 6102 },
44660702
DM
6103 "vmid" : {
6104 "description" : "The (unique) ID of the VM.",
6105 "format" : "pve-vmid",
6106 "minimum" : 1,
4bd7df8b 6107 "type" : "integer",
013dc89f 6108 "typetext" : "<integer> (1 - N)"
44660702
DM
6109 }
6110 }
6111 },
6112 "permissions" : {
6113 "check" : [
6114 "perm",
6115 "/vms/{vmid}",
6116 [
6117 "VM.Audit"
6118 ]
6119 ]
6120 },
6121 "proxyto" : "node",
6122 "returns" : {
6123 "properties" : {
6124 "dhcp" : {
6125 "description" : "Enable DHCP.",
56122987 6126 "optional" : 1,
44660702 6127 "type" : "boolean"
56122987 6128 },
44660702
DM
6129 "enable" : {
6130 "description" : "Enable/disable firewall rules.",
7aacca6f 6131 "optional" : 1,
44660702 6132 "type" : "boolean"
56122987 6133 },
44660702
DM
6134 "ipfilter" : {
6135 "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 6136 "optional" : 1,
44660702 6137 "type" : "boolean"
7aacca6f 6138 },
56122987 6139 "log_level_in" : {
7aacca6f 6140 "description" : "Log level for incoming traffic.",
56122987
DM
6141 "enum" : [
6142 "emerg",
6143 "alert",
6144 "crit",
6145 "err",
6146 "warning",
6147 "notice",
6148 "info",
6149 "debug",
6150 "nolog"
6151 ],
56122987
DM
6152 "optional" : 1,
6153 "type" : "string"
6154 },
44660702
DM
6155 "log_level_out" : {
6156 "description" : "Log level for outgoing traffic.",
6157 "enum" : [
6158 "emerg",
6159 "alert",
6160 "crit",
6161 "err",
6162 "warning",
6163 "notice",
6164 "info",
6165 "debug",
6166 "nolog"
6167 ],
6168 "optional" : 1,
6169 "type" : "string"
6170 },
6171 "macfilter" : {
6172 "description" : "Enable/disable MAC address filter.",
56122987 6173 "optional" : 1,
7aacca6f 6174 "type" : "boolean"
56122987
DM
6175 },
6176 "ndp" : {
44660702 6177 "description" : "Enable NDP.",
56122987 6178 "optional" : 1,
44660702 6179 "type" : "boolean"
56122987
DM
6180 },
6181 "policy_in" : {
56122987
DM
6182 "description" : "Input policy.",
6183 "enum" : [
6184 "ACCEPT",
6185 "REJECT",
6186 "DROP"
44660702
DM
6187 ],
6188 "optional" : 1,
6189 "type" : "string"
56122987 6190 },
44660702
DM
6191 "policy_out" : {
6192 "description" : "Output policy.",
6193 "enum" : [
6194 "ACCEPT",
6195 "REJECT",
6196 "DROP"
6197 ],
6198 "optional" : 1,
6199 "type" : "string"
6200 },
6201 "radv" : {
6202 "description" : "Allow sending Router Advertisement.",
6203 "optional" : 1,
6204 "type" : "boolean"
6205 }
6206 },
6207 "type" : "object"
6208 }
6209 },
6210 "PUT" : {
6211 "description" : "Set Firewall options.",
6212 "method" : "PUT",
6213 "name" : "set_options",
6214 "parameters" : {
6215 "additionalProperties" : 0,
6216 "properties" : {
6217 "delete" : {
6218 "description" : "A list of settings you want to delete.",
6219 "format" : "pve-configid-list",
6220 "optional" : 1,
013dc89f
DM
6221 "type" : "string",
6222 "typetext" : "<string>"
44660702
DM
6223 },
6224 "dhcp" : {
6225 "description" : "Enable DHCP.",
7aacca6f 6226 "optional" : 1,
013dc89f
DM
6227 "type" : "boolean",
6228 "typetext" : "<boolean>"
7aacca6f
DM
6229 },
6230 "digest" : {
6231 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 6232 "maxLength" : 40,
7aacca6f 6233 "optional" : 1,
013dc89f
DM
6234 "type" : "string",
6235 "typetext" : "<string>"
7aacca6f
DM
6236 },
6237 "enable" : {
6238 "description" : "Enable/disable firewall rules.",
56122987 6239 "optional" : 1,
013dc89f
DM
6240 "type" : "boolean",
6241 "typetext" : "<boolean>"
7aacca6f 6242 },
44660702
DM
6243 "ipfilter" : {
6244 "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.",
6245 "optional" : 1,
013dc89f
DM
6246 "type" : "boolean",
6247 "typetext" : "<boolean>"
44660702
DM
6248 },
6249 "log_level_in" : {
6250 "description" : "Log level for incoming traffic.",
56122987
DM
6251 "enum" : [
6252 "emerg",
6253 "alert",
6254 "crit",
6255 "err",
6256 "warning",
6257 "notice",
6258 "info",
6259 "debug",
6260 "nolog"
7aacca6f 6261 ],
7aacca6f 6262 "optional" : 1,
44660702 6263 "type" : "string"
7aacca6f 6264 },
44660702
DM
6265 "log_level_out" : {
6266 "description" : "Log level for outgoing traffic.",
56122987
DM
6267 "enum" : [
6268 "emerg",
6269 "alert",
6270 "crit",
6271 "err",
6272 "warning",
6273 "notice",
6274 "info",
6275 "debug",
6276 "nolog"
6277 ],
56122987 6278 "optional" : 1,
44660702 6279 "type" : "string"
56122987
DM
6280 },
6281 "macfilter" : {
56122987 6282 "description" : "Enable/disable MAC address filter.",
7aacca6f 6283 "optional" : 1,
013dc89f
DM
6284 "type" : "boolean",
6285 "typetext" : "<boolean>"
56122987 6286 },
44660702
DM
6287 "ndp" : {
6288 "description" : "Enable NDP.",
6289 "optional" : 1,
013dc89f
DM
6290 "type" : "boolean",
6291 "typetext" : "<boolean>"
44660702
DM
6292 },
6293 "node" : {
6294 "description" : "The cluster node name.",
6295 "format" : "pve-node",
013dc89f
DM
6296 "type" : "string",
6297 "typetext" : "<string>"
44660702 6298 },
56122987 6299 "policy_in" : {
44660702 6300 "description" : "Input policy.",
56122987
DM
6301 "enum" : [
6302 "ACCEPT",
6303 "REJECT",
6304 "DROP"
7aacca6f 6305 ],
56122987 6306 "optional" : 1,
7aacca6f 6307 "type" : "string"
56122987 6308 },
44660702
DM
6309 "policy_out" : {
6310 "description" : "Output policy.",
6311 "enum" : [
6312 "ACCEPT",
6313 "REJECT",
6314 "DROP"
6315 ],
56122987 6316 "optional" : 1,
44660702 6317 "type" : "string"
56122987 6318 },
44660702
DM
6319 "radv" : {
6320 "description" : "Allow sending Router Advertisement.",
56122987 6321 "optional" : 1,
013dc89f
DM
6322 "type" : "boolean",
6323 "typetext" : "<boolean>"
7aacca6f
DM
6324 },
6325 "vmid" : {
6326 "description" : "The (unique) ID of the VM.",
44660702 6327 "format" : "pve-vmid",
7aacca6f 6328 "minimum" : 1,
4bd7df8b 6329 "type" : "integer",
013dc89f 6330 "typetext" : "<integer> (1 - N)"
56122987
DM
6331 }
6332 }
6333 },
56122987
DM
6334 "permissions" : {
6335 "check" : [
6336 "perm",
6337 "/vms/{vmid}",
6338 [
44660702 6339 "VM.Config.Network"
56122987
DM
6340 ]
6341 ]
7aacca6f 6342 },
44660702 6343 "protected" : 1,
7aacca6f 6344 "proxyto" : "node",
44660702
DM
6345 "returns" : {
6346 "type" : "null"
6347 }
56122987
DM
6348 }
6349 },
44660702 6350 "leaf" : 1,
7aacca6f 6351 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 6352 "text" : "options"
56122987
DM
6353 },
6354 {
56122987
DM
6355 "info" : {
6356 "GET" : {
44660702
DM
6357 "description" : "Read firewall log",
6358 "method" : "GET",
6359 "name" : "log",
6360 "parameters" : {
6361 "additionalProperties" : 0,
6362 "properties" : {
6363 "limit" : {
6364 "minimum" : 0,
6365 "optional" : 1,
4bd7df8b 6366 "type" : "integer",
013dc89f 6367 "typetext" : "<integer> (0 - N)"
56122987 6368 },
44660702
DM
6369 "node" : {
6370 "description" : "The cluster node name.",
6371 "format" : "pve-node",
013dc89f
DM
6372 "type" : "string",
6373 "typetext" : "<string>"
44660702
DM
6374 },
6375 "start" : {
6376 "minimum" : 0,
6377 "optional" : 1,
4bd7df8b 6378 "type" : "integer",
013dc89f 6379 "typetext" : "<integer> (0 - N)"
44660702
DM
6380 },
6381 "vmid" : {
6382 "description" : "The (unique) ID of the VM.",
6383 "format" : "pve-vmid",
6384 "minimum" : 1,
4bd7df8b 6385 "type" : "integer",
013dc89f 6386 "typetext" : "<integer> (1 - N)"
44660702
DM
6387 }
6388 }
7aacca6f 6389 },
7aacca6f
DM
6390 "permissions" : {
6391 "check" : [
6392 "perm",
6393 "/vms/{vmid}",
6394 [
6395 "VM.Console"
6396 ]
6397 ]
56122987 6398 },
7aacca6f 6399 "protected" : 1,
44660702
DM
6400 "proxyto" : "node",
6401 "returns" : {
6402 "items" : {
6403 "properties" : {
6404 "n" : {
6405 "description" : "Line number",
6406 "type" : "integer"
6407 },
6408 "t" : {
6409 "description" : "Line text",
6410 "type" : "string"
6411 }
56122987 6412 },
44660702 6413 "type" : "object"
7aacca6f 6414 },
44660702 6415 "type" : "array"
7aacca6f
DM
6416 }
6417 }
6418 },
44660702 6419 "leaf" : 1,
7aacca6f 6420 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 6421 "text" : "log"
7aacca6f
DM
6422 },
6423 {
7aacca6f
DM
6424 "info" : {
6425 "GET" : {
6426 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
6427 "method" : "GET",
6428 "name" : "refs",
56122987 6429 "parameters" : {
44660702 6430 "additionalProperties" : 0,
56122987
DM
6431 "properties" : {
6432 "node" : {
7aacca6f 6433 "description" : "The cluster node name.",
44660702 6434 "format" : "pve-node",
013dc89f
DM
6435 "type" : "string",
6436 "typetext" : "<string>"
56122987
DM
6437 },
6438 "type" : {
56122987
DM
6439 "description" : "Only list references of specified type.",
6440 "enum" : [
6441 "alias",
6442 "ipset"
7aacca6f 6443 ],
44660702
DM
6444 "optional" : 1,
6445 "type" : "string"
6446 },
6447 "vmid" : {
6448 "description" : "The (unique) ID of the VM.",
6449 "format" : "pve-vmid",
6450 "minimum" : 1,
4bd7df8b 6451 "type" : "integer",
013dc89f 6452 "typetext" : "<integer> (1 - N)"
56122987 6453 }
44660702
DM
6454 }
6455 },
6456 "permissions" : {
6457 "check" : [
6458 "perm",
6459 "/vms/{vmid}",
6460 [
6461 "VM.Audit"
6462 ]
6463 ]
56122987
DM
6464 },
6465 "returns" : {
56122987
DM
6466 "items" : {
6467 "properties" : {
44660702
DM
6468 "comment" : {
6469 "optional" : 1,
56122987
DM
6470 "type" : "string"
6471 },
6472 "name" : {
6473 "type" : "string"
6474 },
44660702
DM
6475 "type" : {
6476 "enum" : [
6477 "alias",
6478 "ipset"
6479 ],
7aacca6f 6480 "type" : "string"
56122987
DM
6481 }
6482 },
6483 "type" : "object"
7aacca6f
DM
6484 },
6485 "type" : "array"
6486 }
56122987 6487 }
44660702
DM
6488 },
6489 "leaf" : 1,
6490 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
6491 "text" : "refs"
56122987
DM
6492 }
6493 ],
56122987
DM
6494 "info" : {
6495 "GET" : {
44660702 6496 "description" : "Directory index.",
56122987 6497 "method" : "GET",
44660702 6498 "name" : "index",
56122987 6499 "parameters" : {
44660702 6500 "additionalProperties" : 0,
56122987
DM
6501 "properties" : {
6502 "node" : {
6503 "description" : "The cluster node name.",
44660702 6504 "format" : "pve-node",
013dc89f
DM
6505 "type" : "string",
6506 "typetext" : "<string>"
56122987
DM
6507 },
6508 "vmid" : {
44660702 6509 "description" : "The (unique) ID of the VM.",
56122987
DM
6510 "format" : "pve-vmid",
6511 "minimum" : 1,
4bd7df8b 6512 "type" : "integer",
013dc89f 6513 "typetext" : "<integer> (1 - N)"
56122987 6514 }
44660702 6515 }
56122987 6516 },
56122987 6517 "permissions" : {
27a7acb2
DM
6518 "user" : "all"
6519 },
6520 "returns" : {
6521 "items" : {
6522 "properties" : {},
6523 "type" : "object"
6524 },
6525 "links" : [
6526 {
6527 "href" : "{name}",
6528 "rel" : "child"
6529 }
6530 ],
6531 "type" : "array"
6532 }
6533 }
6534 },
6535 "leaf" : 0,
6536 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
6537 "text" : "firewall"
6538 },
6539 {
6540 "children" : [
6541 {
6542 "info" : {
6543 "POST" : {
6544 "description" : "Execute fsfreeze-freeze.",
6545 "method" : "POST",
6546 "name" : "fsfreeze-freeze",
6547 "parameters" : {
6548 "additionalProperties" : 0,
6549 "properties" : {
6550 "node" : {
6551 "description" : "The cluster node name.",
6552 "format" : "pve-node",
6553 "type" : "string",
6554 "typetext" : "<string>"
6555 },
6556 "vmid" : {
6557 "description" : "The (unique) ID of the VM.",
6558 "format" : "pve-vmid",
6559 "minimum" : 1,
6560 "type" : "integer",
6561 "typetext" : "<integer> (1 - N)"
6562 }
6563 }
6564 },
6565 "permissions" : {
6566 "check" : [
6567 "perm",
6568 "/vms/{vmid}",
6569 [
6570 "VM.Monitor"
6571 ]
6572 ]
6573 },
6574 "protected" : 1,
6575 "proxyto" : "node",
6576 "returns" : {
6577 "description" : "Returns an object with a single `result` property.",
6578 "type" : "object"
6579 }
6580 }
6581 },
6582 "leaf" : 1,
6583 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
6584 "text" : "fsfreeze-freeze"
6585 },
6586 {
6587 "info" : {
6588 "POST" : {
6589 "description" : "Execute fsfreeze-status.",
6590 "method" : "POST",
6591 "name" : "fsfreeze-status",
6592 "parameters" : {
6593 "additionalProperties" : 0,
6594 "properties" : {
6595 "node" : {
6596 "description" : "The cluster node name.",
6597 "format" : "pve-node",
6598 "type" : "string",
6599 "typetext" : "<string>"
6600 },
6601 "vmid" : {
6602 "description" : "The (unique) ID of the VM.",
6603 "format" : "pve-vmid",
6604 "minimum" : 1,
6605 "type" : "integer",
6606 "typetext" : "<integer> (1 - N)"
6607 }
6608 }
6609 },
6610 "permissions" : {
6611 "check" : [
6612 "perm",
6613 "/vms/{vmid}",
6614 [
6615 "VM.Monitor"
6616 ]
6617 ]
6618 },
6619 "protected" : 1,
6620 "proxyto" : "node",
6621 "returns" : {
6622 "description" : "Returns an object with a single `result` property.",
6623 "type" : "object"
6624 }
6625 }
6626 },
6627 "leaf" : 1,
6628 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
6629 "text" : "fsfreeze-status"
6630 },
6631 {
6632 "info" : {
6633 "POST" : {
6634 "description" : "Execute fsfreeze-thaw.",
6635 "method" : "POST",
6636 "name" : "fsfreeze-thaw",
6637 "parameters" : {
6638 "additionalProperties" : 0,
6639 "properties" : {
6640 "node" : {
6641 "description" : "The cluster node name.",
6642 "format" : "pve-node",
6643 "type" : "string",
6644 "typetext" : "<string>"
6645 },
6646 "vmid" : {
6647 "description" : "The (unique) ID of the VM.",
6648 "format" : "pve-vmid",
6649 "minimum" : 1,
6650 "type" : "integer",
6651 "typetext" : "<integer> (1 - N)"
6652 }
6653 }
6654 },
6655 "permissions" : {
6656 "check" : [
6657 "perm",
6658 "/vms/{vmid}",
6659 [
6660 "VM.Monitor"
6661 ]
6662 ]
6663 },
6664 "protected" : 1,
6665 "proxyto" : "node",
6666 "returns" : {
6667 "description" : "Returns an object with a single `result` property.",
6668 "type" : "object"
6669 }
6670 }
6671 },
6672 "leaf" : 1,
6673 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
6674 "text" : "fsfreeze-thaw"
6675 },
6676 {
6677 "info" : {
6678 "POST" : {
6679 "description" : "Execute fstrim.",
6680 "method" : "POST",
6681 "name" : "fstrim",
6682 "parameters" : {
6683 "additionalProperties" : 0,
6684 "properties" : {
6685 "node" : {
6686 "description" : "The cluster node name.",
6687 "format" : "pve-node",
6688 "type" : "string",
6689 "typetext" : "<string>"
6690 },
6691 "vmid" : {
6692 "description" : "The (unique) ID of the VM.",
6693 "format" : "pve-vmid",
6694 "minimum" : 1,
6695 "type" : "integer",
6696 "typetext" : "<integer> (1 - N)"
6697 }
6698 }
6699 },
6700 "permissions" : {
6701 "check" : [
6702 "perm",
6703 "/vms/{vmid}",
6704 [
6705 "VM.Monitor"
6706 ]
6707 ]
6708 },
6709 "protected" : 1,
6710 "proxyto" : "node",
6711 "returns" : {
6712 "description" : "Returns an object with a single `result` property.",
6713 "type" : "object"
6714 }
6715 }
6716 },
6717 "leaf" : 1,
6718 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
6719 "text" : "fstrim"
6720 },
6721 {
6722 "info" : {
6723 "GET" : {
6724 "description" : "Execute get-fsinfo.",
6725 "method" : "GET",
6726 "name" : "get-fsinfo",
6727 "parameters" : {
6728 "additionalProperties" : 0,
6729 "properties" : {
6730 "node" : {
6731 "description" : "The cluster node name.",
6732 "format" : "pve-node",
6733 "type" : "string",
6734 "typetext" : "<string>"
6735 },
6736 "vmid" : {
6737 "description" : "The (unique) ID of the VM.",
6738 "format" : "pve-vmid",
6739 "minimum" : 1,
6740 "type" : "integer",
6741 "typetext" : "<integer> (1 - N)"
6742 }
6743 }
6744 },
6745 "permissions" : {
6746 "check" : [
6747 "perm",
6748 "/vms/{vmid}",
6749 [
6750 "VM.Monitor"
6751 ]
6752 ]
6753 },
6754 "protected" : 1,
6755 "proxyto" : "node",
6756 "returns" : {
6757 "description" : "Returns an object with a single `result` property.",
6758 "type" : "object"
6759 }
6760 }
6761 },
6762 "leaf" : 1,
6763 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
6764 "text" : "get-fsinfo"
6765 },
6766 {
6767 "info" : {
6768 "GET" : {
6769 "description" : "Execute get-host-name.",
6770 "method" : "GET",
6771 "name" : "get-host-name",
6772 "parameters" : {
6773 "additionalProperties" : 0,
6774 "properties" : {
6775 "node" : {
6776 "description" : "The cluster node name.",
6777 "format" : "pve-node",
6778 "type" : "string",
6779 "typetext" : "<string>"
6780 },
6781 "vmid" : {
6782 "description" : "The (unique) ID of the VM.",
6783 "format" : "pve-vmid",
6784 "minimum" : 1,
6785 "type" : "integer",
6786 "typetext" : "<integer> (1 - N)"
6787 }
6788 }
6789 },
6790 "permissions" : {
6791 "check" : [
6792 "perm",
6793 "/vms/{vmid}",
6794 [
6795 "VM.Monitor"
6796 ]
6797 ]
6798 },
6799 "protected" : 1,
6800 "proxyto" : "node",
6801 "returns" : {
6802 "description" : "Returns an object with a single `result` property.",
6803 "type" : "object"
6804 }
6805 }
6806 },
6807 "leaf" : 1,
6808 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
6809 "text" : "get-host-name"
6810 },
6811 {
6812 "info" : {
6813 "GET" : {
6814 "description" : "Execute get-memory-block-info.",
6815 "method" : "GET",
6816 "name" : "get-memory-block-info",
6817 "parameters" : {
6818 "additionalProperties" : 0,
6819 "properties" : {
6820 "node" : {
6821 "description" : "The cluster node name.",
6822 "format" : "pve-node",
6823 "type" : "string",
6824 "typetext" : "<string>"
6825 },
6826 "vmid" : {
6827 "description" : "The (unique) ID of the VM.",
6828 "format" : "pve-vmid",
6829 "minimum" : 1,
6830 "type" : "integer",
6831 "typetext" : "<integer> (1 - N)"
6832 }
6833 }
6834 },
6835 "permissions" : {
6836 "check" : [
6837 "perm",
6838 "/vms/{vmid}",
6839 [
6840 "VM.Monitor"
6841 ]
6842 ]
6843 },
6844 "protected" : 1,
6845 "proxyto" : "node",
6846 "returns" : {
6847 "description" : "Returns an object with a single `result` property.",
6848 "type" : "object"
6849 }
6850 }
6851 },
6852 "leaf" : 1,
6853 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
6854 "text" : "get-memory-block-info"
6855 },
6856 {
6857 "info" : {
6858 "GET" : {
6859 "description" : "Execute get-memory-blocks.",
6860 "method" : "GET",
6861 "name" : "get-memory-blocks",
6862 "parameters" : {
6863 "additionalProperties" : 0,
6864 "properties" : {
6865 "node" : {
6866 "description" : "The cluster node name.",
6867 "format" : "pve-node",
6868 "type" : "string",
6869 "typetext" : "<string>"
6870 },
6871 "vmid" : {
6872 "description" : "The (unique) ID of the VM.",
6873 "format" : "pve-vmid",
6874 "minimum" : 1,
6875 "type" : "integer",
6876 "typetext" : "<integer> (1 - N)"
6877 }
6878 }
6879 },
6880 "permissions" : {
6881 "check" : [
6882 "perm",
6883 "/vms/{vmid}",
6884 [
6885 "VM.Monitor"
6886 ]
6887 ]
6888 },
6889 "protected" : 1,
6890 "proxyto" : "node",
6891 "returns" : {
6892 "description" : "Returns an object with a single `result` property.",
6893 "type" : "object"
6894 }
6895 }
6896 },
6897 "leaf" : 1,
6898 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
6899 "text" : "get-memory-blocks"
6900 },
6901 {
6902 "info" : {
6903 "GET" : {
6904 "description" : "Execute get-osinfo.",
6905 "method" : "GET",
6906 "name" : "get-osinfo",
6907 "parameters" : {
6908 "additionalProperties" : 0,
6909 "properties" : {
6910 "node" : {
6911 "description" : "The cluster node name.",
6912 "format" : "pve-node",
6913 "type" : "string",
6914 "typetext" : "<string>"
6915 },
6916 "vmid" : {
6917 "description" : "The (unique) ID of the VM.",
6918 "format" : "pve-vmid",
6919 "minimum" : 1,
6920 "type" : "integer",
6921 "typetext" : "<integer> (1 - N)"
6922 }
6923 }
6924 },
6925 "permissions" : {
6926 "check" : [
6927 "perm",
6928 "/vms/{vmid}",
6929 [
6930 "VM.Monitor"
6931 ]
6932 ]
6933 },
6934 "protected" : 1,
6935 "proxyto" : "node",
6936 "returns" : {
6937 "description" : "Returns an object with a single `result` property.",
6938 "type" : "object"
6939 }
6940 }
6941 },
6942 "leaf" : 1,
6943 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
6944 "text" : "get-osinfo"
6945 },
6946 {
6947 "info" : {
6948 "GET" : {
6949 "description" : "Execute get-time.",
6950 "method" : "GET",
6951 "name" : "get-time",
6952 "parameters" : {
6953 "additionalProperties" : 0,
6954 "properties" : {
6955 "node" : {
6956 "description" : "The cluster node name.",
6957 "format" : "pve-node",
6958 "type" : "string",
6959 "typetext" : "<string>"
6960 },
6961 "vmid" : {
6962 "description" : "The (unique) ID of the VM.",
6963 "format" : "pve-vmid",
6964 "minimum" : 1,
6965 "type" : "integer",
6966 "typetext" : "<integer> (1 - N)"
6967 }
6968 }
6969 },
6970 "permissions" : {
6971 "check" : [
6972 "perm",
6973 "/vms/{vmid}",
6974 [
6975 "VM.Monitor"
6976 ]
6977 ]
6978 },
6979 "protected" : 1,
6980 "proxyto" : "node",
6981 "returns" : {
6982 "description" : "Returns an object with a single `result` property.",
6983 "type" : "object"
6984 }
6985 }
6986 },
6987 "leaf" : 1,
6988 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
6989 "text" : "get-time"
6990 },
6991 {
6992 "info" : {
6993 "GET" : {
6994 "description" : "Execute get-timezone.",
6995 "method" : "GET",
6996 "name" : "get-timezone",
6997 "parameters" : {
6998 "additionalProperties" : 0,
6999 "properties" : {
7000 "node" : {
7001 "description" : "The cluster node name.",
7002 "format" : "pve-node",
7003 "type" : "string",
7004 "typetext" : "<string>"
7005 },
7006 "vmid" : {
7007 "description" : "The (unique) ID of the VM.",
7008 "format" : "pve-vmid",
7009 "minimum" : 1,
7010 "type" : "integer",
7011 "typetext" : "<integer> (1 - N)"
7012 }
7013 }
7014 },
7015 "permissions" : {
7016 "check" : [
7017 "perm",
7018 "/vms/{vmid}",
7019 [
7020 "VM.Monitor"
7021 ]
7022 ]
7023 },
7024 "protected" : 1,
7025 "proxyto" : "node",
7026 "returns" : {
7027 "description" : "Returns an object with a single `result` property.",
7028 "type" : "object"
7029 }
7030 }
7031 },
7032 "leaf" : 1,
7033 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
7034 "text" : "get-timezone"
7035 },
7036 {
7037 "info" : {
7038 "GET" : {
7039 "description" : "Execute get-users.",
7040 "method" : "GET",
7041 "name" : "get-users",
7042 "parameters" : {
7043 "additionalProperties" : 0,
7044 "properties" : {
7045 "node" : {
7046 "description" : "The cluster node name.",
7047 "format" : "pve-node",
7048 "type" : "string",
7049 "typetext" : "<string>"
7050 },
7051 "vmid" : {
7052 "description" : "The (unique) ID of the VM.",
7053 "format" : "pve-vmid",
7054 "minimum" : 1,
7055 "type" : "integer",
7056 "typetext" : "<integer> (1 - N)"
7057 }
7058 }
7059 },
7060 "permissions" : {
7061 "check" : [
7062 "perm",
7063 "/vms/{vmid}",
7064 [
7065 "VM.Monitor"
7066 ]
7067 ]
7068 },
7069 "protected" : 1,
7070 "proxyto" : "node",
7071 "returns" : {
7072 "description" : "Returns an object with a single `result` property.",
7073 "type" : "object"
7074 }
7075 }
7076 },
7077 "leaf" : 1,
7078 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
7079 "text" : "get-users"
7080 },
7081 {
7082 "info" : {
7083 "GET" : {
7084 "description" : "Execute get-vcpus.",
7085 "method" : "GET",
7086 "name" : "get-vcpus",
7087 "parameters" : {
7088 "additionalProperties" : 0,
7089 "properties" : {
7090 "node" : {
7091 "description" : "The cluster node name.",
7092 "format" : "pve-node",
7093 "type" : "string",
7094 "typetext" : "<string>"
7095 },
7096 "vmid" : {
7097 "description" : "The (unique) ID of the VM.",
7098 "format" : "pve-vmid",
7099 "minimum" : 1,
7100 "type" : "integer",
7101 "typetext" : "<integer> (1 - N)"
7102 }
7103 }
7104 },
7105 "permissions" : {
7106 "check" : [
7107 "perm",
7108 "/vms/{vmid}",
7109 [
7110 "VM.Monitor"
7111 ]
7112 ]
7113 },
7114 "protected" : 1,
7115 "proxyto" : "node",
7116 "returns" : {
7117 "description" : "Returns an object with a single `result` property.",
7118 "type" : "object"
7119 }
7120 }
7121 },
7122 "leaf" : 1,
7123 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
7124 "text" : "get-vcpus"
7125 },
7126 {
7127 "info" : {
7128 "GET" : {
7129 "description" : "Execute info.",
7130 "method" : "GET",
7131 "name" : "info",
7132 "parameters" : {
7133 "additionalProperties" : 0,
7134 "properties" : {
7135 "node" : {
7136 "description" : "The cluster node name.",
7137 "format" : "pve-node",
7138 "type" : "string",
7139 "typetext" : "<string>"
7140 },
7141 "vmid" : {
7142 "description" : "The (unique) ID of the VM.",
7143 "format" : "pve-vmid",
7144 "minimum" : 1,
7145 "type" : "integer",
7146 "typetext" : "<integer> (1 - N)"
7147 }
7148 }
7149 },
7150 "permissions" : {
7151 "check" : [
7152 "perm",
7153 "/vms/{vmid}",
7154 [
7155 "VM.Monitor"
7156 ]
7157 ]
7158 },
7159 "protected" : 1,
7160 "proxyto" : "node",
7161 "returns" : {
7162 "description" : "Returns an object with a single `result` property.",
7163 "type" : "object"
7164 }
7165 }
7166 },
7167 "leaf" : 1,
7168 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
7169 "text" : "info"
7170 },
7171 {
7172 "info" : {
7173 "GET" : {
7174 "description" : "Execute network-get-interfaces.",
7175 "method" : "GET",
7176 "name" : "network-get-interfaces",
7177 "parameters" : {
7178 "additionalProperties" : 0,
7179 "properties" : {
7180 "node" : {
7181 "description" : "The cluster node name.",
7182 "format" : "pve-node",
7183 "type" : "string",
7184 "typetext" : "<string>"
7185 },
7186 "vmid" : {
7187 "description" : "The (unique) ID of the VM.",
7188 "format" : "pve-vmid",
7189 "minimum" : 1,
7190 "type" : "integer",
7191 "typetext" : "<integer> (1 - N)"
7192 }
7193 }
7194 },
7195 "permissions" : {
7196 "check" : [
7197 "perm",
7198 "/vms/{vmid}",
7199 [
7200 "VM.Monitor"
7201 ]
7202 ]
7203 },
7204 "protected" : 1,
7205 "proxyto" : "node",
7206 "returns" : {
7207 "description" : "Returns an object with a single `result` property.",
7208 "type" : "object"
7209 }
7210 }
7211 },
7212 "leaf" : 1,
7213 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
7214 "text" : "network-get-interfaces"
7215 },
7216 {
7217 "info" : {
7218 "POST" : {
7219 "description" : "Execute ping.",
7220 "method" : "POST",
7221 "name" : "ping",
7222 "parameters" : {
7223 "additionalProperties" : 0,
7224 "properties" : {
7225 "node" : {
7226 "description" : "The cluster node name.",
7227 "format" : "pve-node",
7228 "type" : "string",
7229 "typetext" : "<string>"
7230 },
7231 "vmid" : {
7232 "description" : "The (unique) ID of the VM.",
7233 "format" : "pve-vmid",
7234 "minimum" : 1,
7235 "type" : "integer",
7236 "typetext" : "<integer> (1 - N)"
7237 }
7238 }
7239 },
7240 "permissions" : {
7241 "check" : [
7242 "perm",
7243 "/vms/{vmid}",
7244 [
7245 "VM.Monitor"
7246 ]
7247 ]
7248 },
7249 "protected" : 1,
7250 "proxyto" : "node",
7251 "returns" : {
7252 "description" : "Returns an object with a single `result` property.",
7253 "type" : "object"
7254 }
7255 }
7256 },
7257 "leaf" : 1,
7258 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
7259 "text" : "ping"
7260 },
7261 {
7262 "info" : {
7263 "POST" : {
7264 "description" : "Execute shutdown.",
7265 "method" : "POST",
7266 "name" : "shutdown",
7267 "parameters" : {
7268 "additionalProperties" : 0,
7269 "properties" : {
7270 "node" : {
7271 "description" : "The cluster node name.",
7272 "format" : "pve-node",
7273 "type" : "string",
7274 "typetext" : "<string>"
7275 },
7276 "vmid" : {
7277 "description" : "The (unique) ID of the VM.",
7278 "format" : "pve-vmid",
7279 "minimum" : 1,
7280 "type" : "integer",
7281 "typetext" : "<integer> (1 - N)"
7282 }
7283 }
7284 },
7285 "permissions" : {
7286 "check" : [
7287 "perm",
7288 "/vms/{vmid}",
7289 [
7290 "VM.Monitor"
7291 ]
7292 ]
7293 },
7294 "protected" : 1,
7295 "proxyto" : "node",
7296 "returns" : {
7297 "description" : "Returns an object with a single `result` property.",
7298 "type" : "object"
7299 }
7300 }
7301 },
7302 "leaf" : 1,
7303 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
7304 "text" : "shutdown"
7305 },
7306 {
7307 "info" : {
7308 "POST" : {
7309 "description" : "Execute suspend-disk.",
7310 "method" : "POST",
7311 "name" : "suspend-disk",
7312 "parameters" : {
7313 "additionalProperties" : 0,
7314 "properties" : {
7315 "node" : {
7316 "description" : "The cluster node name.",
7317 "format" : "pve-node",
7318 "type" : "string",
7319 "typetext" : "<string>"
7320 },
7321 "vmid" : {
7322 "description" : "The (unique) ID of the VM.",
7323 "format" : "pve-vmid",
7324 "minimum" : 1,
7325 "type" : "integer",
7326 "typetext" : "<integer> (1 - N)"
7327 }
7328 }
7329 },
7330 "permissions" : {
7331 "check" : [
7332 "perm",
7333 "/vms/{vmid}",
7334 [
7335 "VM.Monitor"
7336 ]
7337 ]
7338 },
7339 "protected" : 1,
7340 "proxyto" : "node",
7341 "returns" : {
7342 "description" : "Returns an object with a single `result` property.",
7343 "type" : "object"
7344 }
7345 }
7346 },
7347 "leaf" : 1,
7348 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
7349 "text" : "suspend-disk"
7350 },
7351 {
7352 "info" : {
7353 "POST" : {
7354 "description" : "Execute suspend-hybrid.",
7355 "method" : "POST",
7356 "name" : "suspend-hybrid",
7357 "parameters" : {
7358 "additionalProperties" : 0,
7359 "properties" : {
7360 "node" : {
7361 "description" : "The cluster node name.",
7362 "format" : "pve-node",
7363 "type" : "string",
7364 "typetext" : "<string>"
7365 },
7366 "vmid" : {
7367 "description" : "The (unique) ID of the VM.",
7368 "format" : "pve-vmid",
7369 "minimum" : 1,
7370 "type" : "integer",
7371 "typetext" : "<integer> (1 - N)"
7372 }
7373 }
7374 },
7375 "permissions" : {
7376 "check" : [
7377 "perm",
7378 "/vms/{vmid}",
7379 [
7380 "VM.Monitor"
7381 ]
7382 ]
7383 },
7384 "protected" : 1,
7385 "proxyto" : "node",
7386 "returns" : {
7387 "description" : "Returns an object with a single `result` property.",
7388 "type" : "object"
7389 }
7390 }
7391 },
7392 "leaf" : 1,
7393 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
7394 "text" : "suspend-hybrid"
7395 },
7396 {
7397 "info" : {
7398 "POST" : {
7399 "description" : "Execute suspend-ram.",
7400 "method" : "POST",
7401 "name" : "suspend-ram",
7402 "parameters" : {
7403 "additionalProperties" : 0,
7404 "properties" : {
7405 "node" : {
7406 "description" : "The cluster node name.",
7407 "format" : "pve-node",
7408 "type" : "string",
7409 "typetext" : "<string>"
7410 },
7411 "vmid" : {
7412 "description" : "The (unique) ID of the VM.",
7413 "format" : "pve-vmid",
7414 "minimum" : 1,
7415 "type" : "integer",
7416 "typetext" : "<integer> (1 - N)"
7417 }
7418 }
7419 },
7420 "permissions" : {
7421 "check" : [
7422 "perm",
7423 "/vms/{vmid}",
7424 [
7425 "VM.Monitor"
7426 ]
7427 ]
7428 },
7429 "protected" : 1,
7430 "proxyto" : "node",
7431 "returns" : {
7432 "description" : "Returns an object with a single `result` property.",
7433 "type" : "object"
7434 }
7435 }
7436 },
7437 "leaf" : 1,
7438 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
7439 "text" : "suspend-ram"
4d47f125
TL
7440 },
7441 {
7442 "info" : {
7443 "POST" : {
7444 "description" : "Sets the password for the given user to the given password",
7445 "method" : "POST",
7446 "name" : "set-user-password",
7447 "parameters" : {
7448 "additionalProperties" : 0,
7449 "properties" : {
7450 "crypted" : {
7451 "default" : 0,
7452 "description" : "set to 1 if the password has already been passed through crypt()",
7453 "optional" : 1,
7454 "type" : "boolean",
7455 "typetext" : "<boolean>"
7456 },
7457 "node" : {
7458 "description" : "The cluster node name.",
7459 "format" : "pve-node",
7460 "type" : "string",
7461 "typetext" : "<string>"
7462 },
7463 "password" : {
7464 "description" : "The new password.",
7465 "maxLength" : 64,
7466 "minLength" : 5,
7467 "type" : "string",
7468 "typetext" : "<string>"
7469 },
7470 "username" : {
7471 "description" : "The user to set the password for.",
7472 "type" : "string",
7473 "typetext" : "<string>"
7474 },
7475 "vmid" : {
7476 "description" : "The (unique) ID of the VM.",
7477 "format" : "pve-vmid",
7478 "minimum" : 1,
7479 "type" : "integer",
7480 "typetext" : "<integer> (1 - N)"
7481 }
7482 }
27a7acb2 7483 },
4d47f125
TL
7484 "permissions" : {
7485 "check" : [
7486 "perm",
7487 "/vms/{vmid}",
7488 [
7489 "VM.Monitor"
7490 ]
7491 ]
7492 },
7493 "protected" : 1,
7494 "proxyto" : "node",
7495 "returns" : {
7496 "description" : "Returns an object with a single `result` property.",
7497 "type" : "object"
27a7acb2
DM
7498 }
7499 }
7500 },
4d47f125
TL
7501 "leaf" : 1,
7502 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
7503 "text" : "set-user-password"
27a7acb2 7504 },
4d47f125
TL
7505 {
7506 "info" : {
7507 "POST" : {
7508 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
7509 "method" : "POST",
7510 "name" : "exec",
7511 "parameters" : {
7512 "additionalProperties" : 0,
7513 "properties" : {
7514 "command" : {
7515 "description" : "The command as a list of program + arguments",
7516 "format" : "string-alist",
7517 "type" : "string",
7518 "typetext" : "<string>"
7519 },
7520 "node" : {
7521 "description" : "The cluster node name.",
7522 "format" : "pve-node",
7523 "type" : "string",
7524 "typetext" : "<string>"
7525 },
7526 "vmid" : {
7527 "description" : "The (unique) ID of the VM.",
7528 "format" : "pve-vmid",
7529 "minimum" : 1,
7530 "type" : "integer",
7531 "typetext" : "<integer> (1 - N)"
7532 }
7533 }
27a7acb2 7534 },
4d47f125
TL
7535 "permissions" : {
7536 "check" : [
7537 "perm",
7538 "/vms/{vmid}",
7539 [
7540 "VM.Monitor"
7541 ]
7542 ]
27a7acb2 7543 },
4d47f125
TL
7544 "protected" : 1,
7545 "proxyto" : "node",
7546 "returns" : {
7547 "properties" : {
7548 "pid" : {
7549 "description" : "The PID of the process started by the guest-agent.",
7550 "type" : "integer"
7551 }
7552 },
7553 "type" : "object"
27a7acb2
DM
7554 }
7555 }
7556 },
4d47f125
TL
7557 "leaf" : 1,
7558 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
7559 "text" : "exec"
7560 },
7561 {
7562 "info" : {
7563 "GET" : {
7564 "description" : "Gets the status of the given pid started by the guest-agent",
7565 "method" : "GET",
7566 "name" : "exec-status",
7567 "parameters" : {
7568 "additionalProperties" : 0,
7569 "properties" : {
7570 "node" : {
7571 "description" : "The cluster node name.",
7572 "format" : "pve-node",
7573 "type" : "string",
7574 "typetext" : "<string>"
7575 },
7576 "pid" : {
7577 "description" : "The PID to query",
7578 "type" : "integer",
7579 "typetext" : "<integer>"
7580 },
7581 "vmid" : {
7582 "description" : "The (unique) ID of the VM.",
7583 "format" : "pve-vmid",
7584 "minimum" : 1,
7585 "type" : "integer",
7586 "typetext" : "<integer> (1 - N)"
7587 }
7588 }
56122987 7589 },
4d47f125
TL
7590 "permissions" : {
7591 "check" : [
7592 "perm",
7593 "/vms/{vmid}",
7594 [
7595 "VM.Monitor"
7596 ]
7597 ]
56122987 7598 },
4d47f125
TL
7599 "protected" : 1,
7600 "proxyto" : "node",
7601 "returns" : {
7602 "properties" : {
7603 "err-data" : {
7604 "description" : "stderr of the process",
7605 "optional" : 1,
7606 "type" : "string"
7607 },
7608 "err-truncated" : {
7609 "description" : "true if stderr was not fully captured",
7610 "optional" : 1,
7611 "type" : "boolean"
7612 },
7613 "exitcode" : {
7614 "description" : "process exit code if it was normally terminated.",
7615 "optional" : 1,
7616 "type" : "integer"
7617 },
7618 "exited" : {
7619 "description" : "Tells if the given command has exited yet.",
7620 "type" : "boolean"
7621 },
7622 "out-data" : {
7623 "description" : "stdout of the process",
7624 "optional" : 1,
7625 "type" : "string"
7626 },
7627 "out-truncated" : {
7628 "description" : "true if stdout was not fully captured",
7629 "optional" : 1,
7630 "type" : "boolean"
7631 },
7632 "signal" : {
7633 "description" : "signal number or exception code if the process was abnormally terminated.",
7634 "optional" : 1,
7635 "type" : "integer"
7636 }
7637 },
7638 "type" : "object"
56122987
DM
7639 }
7640 }
7641 },
4d47f125
TL
7642 "leaf" : 1,
7643 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
7644 "text" : "exec-status"
7645 },
7646 {
7647 "info" : {
7648 "GET" : {
7649 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
7650 "method" : "GET",
7651 "name" : "file-read",
7652 "parameters" : {
7653 "additionalProperties" : 0,
7654 "properties" : {
7655 "file" : {
7656 "description" : "The path to the file",
7657 "type" : "string",
7658 "typetext" : "<string>"
7659 },
7660 "node" : {
7661 "description" : "The cluster node name.",
7662 "format" : "pve-node",
7663 "type" : "string",
7664 "typetext" : "<string>"
7665 },
7666 "vmid" : {
7667 "description" : "The (unique) ID of the VM.",
7668 "format" : "pve-vmid",
7669 "minimum" : 1,
7670 "type" : "integer",
7671 "typetext" : "<integer> (1 - N)"
7672 }
7673 }
7674 },
7675 "permissions" : {
7676 "check" : [
7677 "perm",
7678 "/vms/{vmid}",
7679 [
7680 "VM.Monitor"
7681 ]
7682 ]
7683 },
7684 "protected" : 1,
7685 "proxyto" : "node",
7686 "returns" : {
7687 "description" : "Returns an object with a `content` property.",
7688 "properties" : {
7689 "content" : {
7690 "description" : "The content of the file, maximum 16777216",
7691 "type" : "string"
7692 },
7693 "truncated" : {
7694 "description" : "If set to 1, the output is truncated and not complete",
7695 "optional" : 1,
7696 "type" : "boolean"
7697 }
7698 },
7699 "type" : "object"
7700 }
7701 }
56122987 7702 },
4d47f125
TL
7703 "leaf" : 1,
7704 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
7705 "text" : "file-read"
7706 },
7707 {
7708 "info" : {
7709 "POST" : {
7710 "description" : "Writes the given file via guest agent.",
7711 "method" : "POST",
7712 "name" : "file-write",
7713 "parameters" : {
7714 "additionalProperties" : 0,
7715 "properties" : {
7716 "content" : {
7717 "description" : "The content to write into the file.",
7718 "maxLength" : 61440,
7719 "type" : "string",
7720 "typetext" : "<string>"
7721 },
7722 "file" : {
7723 "description" : "The path to the file.",
7724 "type" : "string",
7725 "typetext" : "<string>"
7726 },
7727 "node" : {
7728 "description" : "The cluster node name.",
7729 "format" : "pve-node",
7730 "type" : "string",
7731 "typetext" : "<string>"
7732 },
7733 "vmid" : {
7734 "description" : "The (unique) ID of the VM.",
7735 "format" : "pve-vmid",
7736 "minimum" : 1,
7737 "type" : "integer",
7738 "typetext" : "<integer> (1 - N)"
7739 }
7740 }
7741 },
7742 "permissions" : {
7743 "check" : [
7744 "perm",
7745 "/vms/{vmid}",
7746 [
7747 "VM.Monitor"
7748 ]
7749 ]
7750 },
7751 "protected" : 1,
7752 "proxyto" : "node",
7753 "returns" : {
7754 "type" : "null"
7aacca6f 7755 }
4d47f125
TL
7756 }
7757 },
7758 "leaf" : 1,
7759 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
7760 "text" : "file-write"
56122987 7761 }
4d47f125 7762 ],
7aacca6f 7763 "info" : {
56122987 7764 "GET" : {
4d47f125 7765 "description" : "Qemu Agent command index.",
44660702 7766 "method" : "GET",
4d47f125 7767 "name" : "index",
56122987 7768 "parameters" : {
4d47f125 7769 "additionalProperties" : 1,
56122987
DM
7770 "properties" : {
7771 "node" : {
44660702 7772 "description" : "The cluster node name.",
56122987 7773 "format" : "pve-node",
013dc89f
DM
7774 "type" : "string",
7775 "typetext" : "<string>"
56122987 7776 },
7aacca6f 7777 "vmid" : {
7aacca6f
DM
7778 "description" : "The (unique) ID of the VM.",
7779 "format" : "pve-vmid",
44660702 7780 "minimum" : 1,
4bd7df8b 7781 "type" : "integer",
013dc89f 7782 "typetext" : "<integer> (1 - N)"
56122987 7783 }
44660702 7784 }
56122987 7785 },
56122987 7786 "permissions" : {
4d47f125 7787 "user" : "all"
56122987 7788 },
4d47f125 7789 "proxyto" : "node",
7aacca6f 7790 "returns" : {
4d47f125 7791 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 7792 "items" : {
44660702
DM
7793 "properties" : {},
7794 "type" : "object"
7795 },
4d47f125
TL
7796 "links" : [
7797 {
7798 "href" : "{name}",
7799 "rel" : "child"
7800 }
7801 ],
44660702 7802 "type" : "array"
7aacca6f 7803 }
4d47f125
TL
7804 },
7805 "POST" : {
7806 "description" : "Execute Qemu Guest Agent commands.",
7807 "method" : "POST",
7808 "name" : "agent",
44660702
DM
7809 "parameters" : {
7810 "additionalProperties" : 0,
7811 "properties" : {
4d47f125
TL
7812 "command" : {
7813 "description" : "The QGA command.",
7814 "enum" : [
7815 "fsfreeze-freeze",
7816 "fsfreeze-status",
7817 "fsfreeze-thaw",
7818 "fstrim",
7819 "get-fsinfo",
7820 "get-host-name",
7821 "get-memory-block-info",
7822 "get-memory-blocks",
7823 "get-osinfo",
7824 "get-time",
7825 "get-timezone",
7826 "get-users",
7827 "get-vcpus",
7828 "info",
7829 "network-get-interfaces",
7830 "ping",
7831 "shutdown",
7832 "suspend-disk",
7833 "suspend-hybrid",
7834 "suspend-ram"
7835 ],
7836 "type" : "string"
7837 },
7838 "node" : {
7839 "description" : "The cluster node name.",
7840 "format" : "pve-node",
7841 "type" : "string",
7842 "typetext" : "<string>"
7843 },
7844 "vmid" : {
7845 "description" : "The (unique) ID of the VM.",
7846 "format" : "pve-vmid",
7847 "minimum" : 1,
7848 "type" : "integer",
7849 "typetext" : "<integer> (1 - N)"
7850 }
7851 }
7852 },
7853 "permissions" : {
7854 "check" : [
7855 "perm",
7856 "/vms/{vmid}",
7857 [
7858 "VM.Monitor"
7859 ]
7860 ]
7861 },
7862 "protected" : 1,
7863 "proxyto" : "node",
7864 "returns" : {
7865 "description" : "Returns an object with a single `result` property.",
7866 "type" : "object"
7867 }
7868 }
7869 },
7870 "leaf" : 0,
7871 "path" : "/nodes/{node}/qemu/{vmid}/agent",
7872 "text" : "agent"
7873 },
7874 {
7875 "info" : {
7876 "GET" : {
7877 "description" : "Read VM RRD statistics (returns PNG)",
7878 "method" : "GET",
7879 "name" : "rrd",
7880 "parameters" : {
7881 "additionalProperties" : 0,
7882 "properties" : {
7883 "cf" : {
7884 "description" : "The RRD consolidation function",
7885 "enum" : [
7886 "AVERAGE",
7887 "MAX"
7888 ],
44660702 7889 "optional" : 1,
4d47f125
TL
7890 "type" : "string"
7891 },
7892 "ds" : {
7893 "description" : "The list of datasources you want to display.",
7894 "format" : "pve-configid-list",
7895 "type" : "string",
7896 "typetext" : "<string>"
44660702
DM
7897 },
7898 "node" : {
7899 "description" : "The cluster node name.",
7900 "format" : "pve-node",
013dc89f
DM
7901 "type" : "string",
7902 "typetext" : "<string>"
44660702 7903 },
4d47f125
TL
7904 "timeframe" : {
7905 "description" : "Specify the time frame you are interested in.",
7906 "enum" : [
7907 "hour",
7908 "day",
7909 "week",
7910 "month",
7911 "year"
7912 ],
7913 "type" : "string"
7914 },
44660702
DM
7915 "vmid" : {
7916 "description" : "The (unique) ID of the VM.",
7917 "format" : "pve-vmid",
7918 "minimum" : 1,
4bd7df8b 7919 "type" : "integer",
013dc89f 7920 "typetext" : "<integer> (1 - N)"
44660702
DM
7921 }
7922 }
7aacca6f 7923 },
56122987
DM
7924 "permissions" : {
7925 "check" : [
7926 "perm",
7927 "/vms/{vmid}",
7928 [
44660702
DM
7929 "VM.Audit"
7930 ]
56122987
DM
7931 ]
7932 },
4d47f125 7933 "protected" : 1,
44660702
DM
7934 "returns" : {
7935 "properties" : {
4d47f125 7936 "filename" : {
44660702
DM
7937 "type" : "string"
7938 }
7939 },
7940 "type" : "object"
7941 }
4d47f125
TL
7942 }
7943 },
7944 "leaf" : 1,
7945 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
7946 "text" : "rrd"
7947 },
7948 {
7949 "info" : {
7950 "GET" : {
7951 "description" : "Read VM RRD statistics",
7952 "method" : "GET",
7953 "name" : "rrddata",
7954 "parameters" : {
7955 "additionalProperties" : 0,
7956 "properties" : {
7957 "cf" : {
7958 "description" : "The RRD consolidation function",
7959 "enum" : [
7960 "AVERAGE",
7961 "MAX"
7962 ],
7963 "optional" : 1,
7964 "type" : "string"
7965 },
7966 "node" : {
7967 "description" : "The cluster node name.",
7968 "format" : "pve-node",
7969 "type" : "string",
7970 "typetext" : "<string>"
7971 },
7972 "timeframe" : {
7973 "description" : "Specify the time frame you are interested in.",
7974 "enum" : [
7975 "hour",
7976 "day",
7977 "week",
7978 "month",
7979 "year"
7980 ],
7981 "type" : "string"
7982 },
7983 "vmid" : {
7984 "description" : "The (unique) ID of the VM.",
7985 "format" : "pve-vmid",
7986 "minimum" : 1,
7987 "type" : "integer",
7988 "typetext" : "<integer> (1 - N)"
7989 }
7990 }
7991 },
7992 "permissions" : {
7993 "check" : [
7994 "perm",
7995 "/vms/{vmid}",
7996 [
7997 "VM.Audit"
7998 ]
7999 ]
8000 },
8001 "protected" : 1,
8002 "returns" : {
8003 "items" : {
8004 "properties" : {},
8005 "type" : "object"
8006 },
8007 "type" : "array"
8008 }
8009 }
8010 },
8011 "leaf" : 1,
8012 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
8013 "text" : "rrddata"
8014 },
8015 {
8016 "info" : {
8017 "GET" : {
8018 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
8019 "method" : "GET",
8020 "name" : "vm_config",
56122987 8021 "parameters" : {
44660702 8022 "additionalProperties" : 0,
4d47f125
TL
8023 "properties" : {
8024 "current" : {
8025 "default" : 0,
8026 "description" : "Get current values (instead of pending values).",
8027 "optional" : 1,
8028 "type" : "boolean",
8029 "typetext" : "<boolean>"
8030 },
8031 "node" : {
8032 "description" : "The cluster node name.",
8033 "format" : "pve-node",
8034 "type" : "string",
8035 "typetext" : "<string>"
8036 },
5f26e15b
TL
8037 "snapshot" : {
8038 "description" : "Fetch config values from given snapshot.",
8039 "format" : "pve-configid",
8040 "maxLength" : 40,
8041 "optional" : 1,
8042 "type" : "string",
8043 "typetext" : "<string>"
8044 },
4d47f125
TL
8045 "vmid" : {
8046 "description" : "The (unique) ID of the VM.",
8047 "format" : "pve-vmid",
8048 "minimum" : 1,
8049 "type" : "integer",
8050 "typetext" : "<integer> (1 - N)"
8051 }
8052 }
8053 },
8054 "permissions" : {
8055 "check" : [
8056 "perm",
8057 "/vms/{vmid}",
8058 [
8059 "VM.Audit"
8060 ]
8061 ]
8062 },
8063 "proxyto" : "node",
8064 "returns" : {
8065 "description" : "The current VM configuration.",
56122987 8066 "properties" : {
44660702
DM
8067 "acpi" : {
8068 "default" : 1,
8069 "description" : "Enable/disable ACPI.",
8070 "optional" : 1,
4d47f125 8071 "type" : "boolean"
44660702
DM
8072 },
8073 "agent" : {
4d47f125
TL
8074 "description" : "Enable/disable Qemu GuestAgent and its properties.",
8075 "format" : {
8076 "enabled" : {
8077 "default" : 0,
8078 "default_key" : 1,
8079 "description" : "Enable/disable Qemu GuestAgent.",
8080 "type" : "boolean"
8081 },
8082 "fstrim_cloned_disks" : {
8083 "default" : 0,
8084 "description" : "Run fstrim after cloning/moving a disk.",
8085 "optional" : 1,
8086 "type" : "boolean"
8087 }
8088 },
7aacca6f 8089 "optional" : 1,
4d47f125 8090 "type" : "string"
7aacca6f 8091 },
e2d681b3
TL
8092 "arch" : {
8093 "description" : "Virtual processor architecture. Defaults to the host.",
8094 "enum" : [
8095 "x86_64",
8096 "aarch64"
8097 ],
8098 "optional" : 1,
8099 "type" : "string"
8100 },
44660702 8101 "args" : {
c2993fe5 8102 "description" : "Arbitrary arguments passed to kvm.",
44660702 8103 "optional" : 1,
c2993fe5
DM
8104 "type" : "string",
8105 "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 8106 },
44660702
DM
8107 "autostart" : {
8108 "default" : 0,
8109 "description" : "Automatic restart after crash (currently ignored).",
56122987 8110 "optional" : 1,
4d47f125 8111 "type" : "boolean"
56122987 8112 },
4d47f125
TL
8113 "balloon" : {
8114 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
8115 "minimum" : 0,
7aacca6f 8116 "optional" : 1,
4d47f125 8117 "type" : "integer"
7aacca6f 8118 },
44660702
DM
8119 "bios" : {
8120 "default" : "seabios",
8121 "description" : "Select BIOS implementation.",
8122 "enum" : [
8123 "seabios",
8124 "ovmf"
8125 ],
56122987 8126 "optional" : 1,
44660702 8127 "type" : "string"
7aacca6f 8128 },
44660702
DM
8129 "boot" : {
8130 "default" : "cdn",
8131 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
8132 "optional" : 1,
8133 "pattern" : "[acdn]{1,4}",
8134 "type" : "string"
8135 },
8136 "bootdisk" : {
8137 "description" : "Enable booting from specified disk.",
8138 "format" : "pve-qm-bootdisk",
8139 "optional" : 1,
8140 "pattern" : "(ide|sata|scsi|virtio)\\d+",
8141 "type" : "string"
8142 },
8143 "cdrom" : {
8144 "description" : "This is an alias for option -ide2",
de0983cb 8145 "format" : "pve-qm-ide",
44660702 8146 "optional" : 1,
7aacca6f 8147 "type" : "string",
013dc89f 8148 "typetext" : "<volume>"
44660702 8149 },
27a7acb2
DM
8150 "cipassword" : {
8151 "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.",
8152 "optional" : 1,
4d47f125 8153 "type" : "string"
27a7acb2
DM
8154 },
8155 "citype" : {
8156 "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.",
8157 "enum" : [
8158 "configdrive2",
8159 "nocloud"
8160 ],
8161 "optional" : 1,
8162 "type" : "string"
8163 },
8164 "ciuser" : {
8165 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
8166 "optional" : 1,
4d47f125 8167 "type" : "string"
27a7acb2 8168 },
44660702
DM
8169 "cores" : {
8170 "default" : 1,
8171 "description" : "The number of cores per socket.",
8172 "minimum" : 1,
7aacca6f 8173 "optional" : 1,
4d47f125 8174 "type" : "integer"
7aacca6f 8175 },
44660702
DM
8176 "cpu" : {
8177 "description" : "Emulated CPU type.",
56122987 8178 "format" : {
44660702
DM
8179 "cputype" : {
8180 "default" : "kvm64",
7aacca6f 8181 "default_key" : 1,
44660702 8182 "description" : "Emulated CPU type.",
56122987 8183 "enum" : [
44660702
DM
8184 "486",
8185 "athlon",
f004f5b9 8186 "Broadwell",
35a75dd3 8187 "Broadwell-IBRS",
f004f5b9 8188 "Broadwell-noTSX",
35a75dd3 8189 "Broadwell-noTSX-IBRS",
f004f5b9 8190 "Conroe",
44660702 8191 "core2duo",
f004f5b9 8192 "coreduo",
27a7acb2
DM
8193 "EPYC",
8194 "EPYC-IBPB",
f004f5b9 8195 "Haswell",
35a75dd3 8196 "Haswell-IBRS",
f004f5b9 8197 "Haswell-noTSX",
35a75dd3 8198 "Haswell-noTSX-IBRS",
f004f5b9
DM
8199 "host",
8200 "IvyBridge",
35a75dd3 8201 "IvyBridge-IBRS",
44660702
DM
8202 "kvm32",
8203 "kvm64",
35a75dd3 8204 "max",
44660702 8205 "Nehalem",
35a75dd3 8206 "Nehalem-IBRS",
44660702
DM
8207 "Opteron_G1",
8208 "Opteron_G2",
8209 "Opteron_G3",
8210 "Opteron_G4",
8211 "Opteron_G5",
f004f5b9
DM
8212 "Penryn",
8213 "pentium",
8214 "pentium2",
8215 "pentium3",
8216 "phenom",
8217 "qemu32",
8218 "qemu64",
8219 "SandyBridge",
35a75dd3 8220 "SandyBridge-IBRS",
5d9c884c 8221 "Skylake-Client",
35a75dd3
DM
8222 "Skylake-Client-IBRS",
8223 "Skylake-Server",
8224 "Skylake-Server-IBRS",
8225 "Westmere",
8226 "Westmere-IBRS"
56122987 8227 ],
56122987
DM
8228 "type" : "string"
8229 },
35a75dd3 8230 "flags" : {
4d47f125 8231 "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
8232 "format_description" : "+FLAG[;-FLAG...]",
8233 "optional" : 1,
4d47f125 8234 "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
8235 "type" : "string"
8236 },
44660702
DM
8237 "hidden" : {
8238 "default" : 0,
8239 "description" : "Do not identify as a KVM virtual machine.",
56122987 8240 "optional" : 1,
44660702 8241 "type" : "boolean"
5f26e15b
TL
8242 },
8243 "hv-vendor-id" : {
8244 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
8245 "format_description" : "vendor-id",
8246 "optional" : 1,
8247 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
8248 "type" : "string"
44660702
DM
8249 }
8250 },
8251 "optional" : 1,
4d47f125 8252 "type" : "string"
44660702
DM
8253 },
8254 "cpulimit" : {
8255 "default" : 0,
c2993fe5 8256 "description" : "Limit of CPU usage.",
44660702
DM
8257 "maximum" : 128,
8258 "minimum" : 0,
8259 "optional" : 1,
c2993fe5
DM
8260 "type" : "number",
8261 "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
8262 },
8263 "cpuunits" : {
de0983cb 8264 "default" : 1024,
c2993fe5 8265 "description" : "CPU weight for a VM.",
2489d6df
WB
8266 "maximum" : 262144,
8267 "minimum" : 2,
44660702 8268 "optional" : 1,
c2993fe5 8269 "type" : "integer",
2489d6df 8270 "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 8271 },
44660702
DM
8272 "description" : {
8273 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
8274 "optional" : 1,
4d47f125 8275 "type" : "string"
44660702
DM
8276 },
8277 "digest" : {
4d47f125
TL
8278 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
8279 "type" : "string"
44660702 8280 },
4d47f125
TL
8281 "efidisk0" : {
8282 "description" : "Configure a Disk for storing EFI vars",
8283 "format" : {
8284 "file" : {
8285 "default_key" : 1,
8286 "description" : "The drive's backing volume.",
8287 "format" : "pve-volume-id-or-qm-path",
8288 "format_description" : "volume",
8289 "type" : "string"
8290 },
8291 "format" : {
8292 "description" : "The drive's backing file's data format.",
8293 "enum" : [
8294 "raw",
8295 "cow",
8296 "qcow",
8297 "qed",
8298 "qcow2",
8299 "vmdk",
8300 "cloop"
8301 ],
8302 "optional" : 1,
8303 "type" : "string"
8304 },
8305 "size" : {
8306 "description" : "Disk size. This is purely informational and has no effect.",
8307 "format" : "disk-size",
8308 "format_description" : "DiskSize",
8309 "optional" : 1,
8310 "type" : "string"
8311 },
8312 "volume" : {
8313 "alias" : "file"
8314 }
8315 },
44660702 8316 "optional" : 1,
4d47f125 8317 "type" : "string"
44660702
DM
8318 },
8319 "freeze" : {
8320 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
8321 "optional" : 1,
4d47f125 8322 "type" : "boolean"
44660702 8323 },
5f26e15b
TL
8324 "hookscript" : {
8325 "description" : "Script that will be executed during various steps in the vms lifetime.",
8326 "format" : "pve-volume-id",
8327 "optional" : 1,
8328 "type" : "string"
8329 },
44660702 8330 "hostpci[n]" : {
c2993fe5 8331 "description" : "Map host PCI devices into guest.",
44660702
DM
8332 "format" : "pve-qm-hostpci",
8333 "optional" : 1,
57b78691
DM
8334 "type" : "string",
8335 "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
8336 },
8337 "hotplug" : {
8338 "default" : "network,disk,usb",
8339 "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'.",
8340 "format" : "pve-hotplug-features",
8341 "optional" : 1,
4d47f125 8342 "type" : "string"
44660702 8343 },
4bd7df8b
DM
8344 "hugepages" : {
8345 "description" : "Enable/disable hugepages memory.",
8346 "enum" : [
8347 "any",
8348 "2",
8349 "1024"
8350 ],
8351 "optional" : 1,
8352 "type" : "string"
8353 },
44660702
DM
8354 "ide[n]" : {
8355 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
8356 "format" : {
8357 "aio" : {
8358 "description" : "AIO type to use.",
8359 "enum" : [
8360 "native",
8361 "threads"
56122987 8362 ],
56122987 8363 "optional" : 1,
44660702 8364 "type" : "string"
56122987 8365 },
44660702
DM
8366 "backup" : {
8367 "description" : "Whether the drive should be included when making backups.",
56122987 8368 "optional" : 1,
44660702 8369 "type" : "boolean"
56122987 8370 },
7aacca6f 8371 "bps" : {
de0983cb 8372 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
8373 "format_description" : "bps",
8374 "optional" : 1,
8375 "type" : "integer"
8376 },
de0983cb
DM
8377 "bps_max_length" : {
8378 "description" : "Maximum length of I/O bursts in seconds.",
8379 "format_description" : "seconds",
8380 "minimum" : 1,
8381 "optional" : 1,
8382 "type" : "integer"
8383 },
44660702 8384 "bps_rd" : {
de0983cb 8385 "description" : "Maximum read speed in bytes per second.",
44660702 8386 "format_description" : "bps",
56122987 8387 "optional" : 1,
44660702 8388 "type" : "integer"
56122987 8389 },
de0983cb 8390 "bps_rd_length" : {
5d9c884c
DM
8391 "alias" : "bps_rd_max_length"
8392 },
8393 "bps_rd_max_length" : {
de0983cb
DM
8394 "description" : "Maximum length of read I/O bursts in seconds.",
8395 "format_description" : "seconds",
8396 "minimum" : 1,
8397 "optional" : 1,
8398 "type" : "integer"
8399 },
44660702 8400 "bps_wr" : {
de0983cb 8401 "description" : "Maximum write speed in bytes per second.",
44660702
DM
8402 "format_description" : "bps",
8403 "optional" : 1,
8404 "type" : "integer"
8405 },
de0983cb 8406 "bps_wr_length" : {
5d9c884c
DM
8407 "alias" : "bps_wr_max_length"
8408 },
8409 "bps_wr_max_length" : {
de0983cb
DM
8410 "description" : "Maximum length of write I/O bursts in seconds.",
8411 "format_description" : "seconds",
8412 "minimum" : 1,
8413 "optional" : 1,
8414 "type" : "integer"
8415 },
44660702
DM
8416 "cache" : {
8417 "description" : "The drive's cache mode",
8418 "enum" : [
8419 "none",
8420 "writethrough",
8421 "writeback",
8422 "unsafe",
8423 "directsync"
8424 ],
44660702
DM
8425 "optional" : 1,
8426 "type" : "string"
8427 },
8428 "cyls" : {
8429 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8430 "optional" : 1,
8431 "type" : "integer"
8432 },
8433 "detect_zeroes" : {
8434 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8435 "optional" : 1,
8436 "type" : "boolean"
8437 },
8438 "discard" : {
8439 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8440 "enum" : [
8441 "ignore",
8442 "on"
8443 ],
56122987 8444 "optional" : 1,
44660702
DM
8445 "type" : "string"
8446 },
8447 "file" : {
8448 "default_key" : 1,
8449 "description" : "The drive's backing volume.",
8450 "format" : "pve-volume-id-or-qm-path",
8451 "format_description" : "volume",
8452 "type" : "string"
56122987 8453 },
7aacca6f 8454 "format" : {
7aacca6f 8455 "description" : "The drive's backing file's data format.",
56122987 8456 "enum" : [
7aacca6f
DM
8457 "raw",
8458 "cow",
8459 "qcow",
8460 "qed",
8461 "qcow2",
8462 "vmdk",
8463 "cloop"
56122987
DM
8464 ],
8465 "optional" : 1,
56122987
DM
8466 "type" : "string"
8467 },
44660702
DM
8468 "heads" : {
8469 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8470 "optional" : 1,
8471 "type" : "integer"
7aacca6f 8472 },
44660702 8473 "iops" : {
de0983cb 8474 "description" : "Maximum r/w I/O in operations per second.",
44660702 8475 "format_description" : "iops",
56122987 8476 "optional" : 1,
44660702 8477 "type" : "integer"
56122987 8478 },
44660702 8479 "iops_max" : {
de0983cb 8480 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8481 "format_description" : "iops",
56122987 8482 "optional" : 1,
44660702 8483 "type" : "integer"
56122987 8484 },
de0983cb
DM
8485 "iops_max_length" : {
8486 "description" : "Maximum length of I/O bursts in seconds.",
8487 "format_description" : "seconds",
8488 "minimum" : 1,
8489 "optional" : 1,
8490 "type" : "integer"
8491 },
44660702 8492 "iops_rd" : {
de0983cb 8493 "description" : "Maximum read I/O in operations per second.",
44660702
DM
8494 "format_description" : "iops",
8495 "optional" : 1,
8496 "type" : "integer"
8497 },
de0983cb 8498 "iops_rd_length" : {
5d9c884c 8499 "alias" : "iops_rd_max_length"
de0983cb 8500 },
44660702 8501 "iops_rd_max" : {
de0983cb 8502 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 8503 "format_description" : "iops",
44660702
DM
8504 "optional" : 1,
8505 "type" : "integer"
8506 },
5d9c884c
DM
8507 "iops_rd_max_length" : {
8508 "description" : "Maximum length of read I/O bursts in seconds.",
8509 "format_description" : "seconds",
8510 "minimum" : 1,
8511 "optional" : 1,
8512 "type" : "integer"
8513 },
44660702 8514 "iops_wr" : {
de0983cb 8515 "description" : "Maximum write I/O in operations per second.",
44660702 8516 "format_description" : "iops",
56122987 8517 "optional" : 1,
7aacca6f 8518 "type" : "integer"
56122987 8519 },
de0983cb 8520 "iops_wr_length" : {
5d9c884c 8521 "alias" : "iops_wr_max_length"
de0983cb 8522 },
44660702 8523 "iops_wr_max" : {
de0983cb 8524 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8525 "format_description" : "iops",
7aacca6f 8526 "optional" : 1,
44660702 8527 "type" : "integer"
56122987 8528 },
5d9c884c
DM
8529 "iops_wr_max_length" : {
8530 "description" : "Maximum length of write I/O bursts in seconds.",
8531 "format_description" : "seconds",
8532 "minimum" : 1,
8533 "optional" : 1,
8534 "type" : "integer"
8535 },
44660702 8536 "mbps" : {
de0983cb 8537 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8538 "format_description" : "mbps",
8539 "optional" : 1,
8540 "type" : "number"
8541 },
8542 "mbps_max" : {
de0983cb 8543 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8544 "format_description" : "mbps",
8545 "optional" : 1,
8546 "type" : "number"
8547 },
8548 "mbps_rd" : {
de0983cb 8549 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8550 "format_description" : "mbps",
8551 "optional" : 1,
8552 "type" : "number"
8553 },
8554 "mbps_rd_max" : {
de0983cb 8555 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8556 "format_description" : "mbps",
8557 "optional" : 1,
8558 "type" : "number"
8559 },
8560 "mbps_wr" : {
de0983cb 8561 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8562 "format_description" : "mbps",
8563 "optional" : 1,
8564 "type" : "number"
8565 },
8566 "mbps_wr_max" : {
de0983cb 8567 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 8568 "format_description" : "mbps",
56122987 8569 "optional" : 1,
44660702 8570 "type" : "number"
56122987 8571 },
7aacca6f 8572 "media" : {
7aacca6f 8573 "default" : "disk",
7aacca6f
DM
8574 "description" : "The drive's media type.",
8575 "enum" : [
8576 "cdrom",
8577 "disk"
44660702 8578 ],
44660702
DM
8579 "optional" : 1,
8580 "type" : "string"
56122987 8581 },
44660702
DM
8582 "model" : {
8583 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
8584 "format" : "urlencoded",
8585 "format_description" : "model",
8586 "maxLength" : 120,
56122987 8587 "optional" : 1,
44660702 8588 "type" : "string"
56122987 8589 },
5d9c884c
DM
8590 "replicate" : {
8591 "default" : 1,
8592 "description" : "Whether the drive should considered for replication jobs.",
8593 "optional" : 1,
8594 "type" : "boolean"
8595 },
44660702
DM
8596 "rerror" : {
8597 "description" : "Read error action.",
8598 "enum" : [
8599 "ignore",
8600 "report",
8601 "stop"
8602 ],
56122987 8603 "optional" : 1,
44660702
DM
8604 "type" : "string"
8605 },
8606 "secs" : {
8607 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
8608 "optional" : 1,
8609 "type" : "integer"
8610 },
8611 "serial" : {
8612 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8613 "format" : "urlencoded",
8614 "format_description" : "serial",
8615 "maxLength" : 60,
8616 "optional" : 1,
8617 "type" : "string"
8618 },
27a7acb2
DM
8619 "shared" : {
8620 "default" : 0,
8621 "description" : "Mark this locally-managed volume as available on all nodes",
8622 "optional" : 1,
8623 "type" : "boolean",
8624 "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!"
8625 },
44660702
DM
8626 "size" : {
8627 "description" : "Disk size. This is purely informational and has no effect.",
8628 "format" : "disk-size",
f004f5b9 8629 "format_description" : "DiskSize",
44660702
DM
8630 "optional" : 1,
8631 "type" : "string"
8632 },
8633 "snapshot" : {
27a7acb2 8634 "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
8635 "optional" : 1,
8636 "type" : "boolean"
8637 },
25203dc1
NC
8638 "ssd" : {
8639 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
8640 "optional" : 1,
8641 "type" : "boolean"
8642 },
44660702
DM
8643 "trans" : {
8644 "description" : "Force disk geometry bios translation mode.",
8645 "enum" : [
8646 "none",
8647 "lba",
8648 "auto"
8649 ],
44660702
DM
8650 "optional" : 1,
8651 "type" : "string"
8652 },
8653 "volume" : {
8654 "alias" : "file"
8655 },
8656 "werror" : {
8657 "description" : "Write error action.",
8658 "enum" : [
8659 "enospc",
8660 "ignore",
8661 "report",
8662 "stop"
8663 ],
44660702
DM
8664 "optional" : 1,
8665 "type" : "string"
56122987
DM
8666 }
8667 },
44660702 8668 "optional" : 1,
4d47f125 8669 "type" : "string"
27a7acb2
DM
8670 },
8671 "ipconfig[n]" : {
8672 "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",
8673 "format" : "pve-qm-ipconfig",
8674 "optional" : 1,
4d47f125 8675 "type" : "string"
56122987 8676 },
44660702 8677 "keyboard" : {
35a75dd3 8678 "default" : null,
5da3d723 8679 "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
8680 "enum" : [
8681 "de",
8682 "de-ch",
8683 "da",
8684 "en-gb",
8685 "en-us",
8686 "es",
8687 "fi",
8688 "fr",
8689 "fr-be",
8690 "fr-ca",
8691 "fr-ch",
8692 "hu",
8693 "is",
8694 "it",
8695 "ja",
8696 "lt",
8697 "mk",
8698 "nl",
8699 "no",
8700 "pl",
8701 "pt",
8702 "pt-br",
8703 "sv",
8704 "sl",
8705 "tr"
8706 ],
56122987 8707 "optional" : 1,
44660702
DM
8708 "type" : "string"
8709 },
8710 "kvm" : {
7aacca6f 8711 "default" : 1,
44660702
DM
8712 "description" : "Enable/disable KVM hardware virtualization.",
8713 "optional" : 1,
4d47f125 8714 "type" : "boolean"
56122987 8715 },
44660702
DM
8716 "localtime" : {
8717 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 8718 "optional" : 1,
4d47f125 8719 "type" : "boolean"
56122987 8720 },
44660702
DM
8721 "lock" : {
8722 "description" : "Lock/unlock the VM.",
8723 "enum" : [
44660702 8724 "backup",
5f26e15b
TL
8725 "clone",
8726 "create",
8727 "migrate",
8728 "rollback",
44660702 8729 "snapshot",
5f26e15b 8730 "snapshot-delete"
44660702 8731 ],
7aacca6f 8732 "optional" : 1,
44660702
DM
8733 "type" : "string"
8734 },
8735 "machine" : {
4d47f125 8736 "description" : "Specifies the Qemu machine type.",
44660702
DM
8737 "maxLength" : 40,
8738 "optional" : 1,
e2d681b3 8739 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702
DM
8740 "type" : "string"
8741 },
8742 "memory" : {
8743 "default" : 512,
8744 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
8745 "minimum" : 16,
8746 "optional" : 1,
4d47f125 8747 "type" : "integer"
44660702
DM
8748 },
8749 "migrate_downtime" : {
8750 "default" : 0.1,
8751 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
8752 "minimum" : 0,
8753 "optional" : 1,
4d47f125 8754 "type" : "number"
44660702
DM
8755 },
8756 "migrate_speed" : {
8757 "default" : 0,
8758 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
8759 "minimum" : 0,
8760 "optional" : 1,
4d47f125 8761 "type" : "integer"
44660702
DM
8762 },
8763 "name" : {
8764 "description" : "Set a name for the VM. Only used on the configuration web interface.",
8765 "format" : "dns-name",
8766 "optional" : 1,
4d47f125 8767 "type" : "string"
44660702 8768 },
27a7acb2
DM
8769 "nameserver" : {
8770 "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.",
8771 "format" : "address-list",
8772 "optional" : 1,
4d47f125 8773 "type" : "string"
27a7acb2 8774 },
44660702 8775 "net[n]" : {
c2993fe5 8776 "description" : "Specify network devices.",
f004f5b9
DM
8777 "format" : {
8778 "bridge" : {
c2993fe5 8779 "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
8780 "format_description" : "bridge",
8781 "optional" : 1,
8782 "type" : "string"
8783 },
8784 "e1000" : {
8785 "alias" : "macaddr",
8786 "keyAlias" : "model"
8787 },
8788 "e1000-82540em" : {
8789 "alias" : "macaddr",
8790 "keyAlias" : "model"
8791 },
8792 "e1000-82544gc" : {
8793 "alias" : "macaddr",
8794 "keyAlias" : "model"
8795 },
8796 "e1000-82545em" : {
8797 "alias" : "macaddr",
8798 "keyAlias" : "model"
8799 },
8800 "firewall" : {
8801 "description" : "Whether this interface should be protected by the firewall.",
8802 "optional" : 1,
8803 "type" : "boolean"
8804 },
8805 "i82551" : {
8806 "alias" : "macaddr",
8807 "keyAlias" : "model"
8808 },
8809 "i82557b" : {
8810 "alias" : "macaddr",
8811 "keyAlias" : "model"
8812 },
8813 "i82559er" : {
8814 "alias" : "macaddr",
8815 "keyAlias" : "model"
8816 },
8817 "link_down" : {
c2993fe5 8818 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
8819 "optional" : 1,
8820 "type" : "boolean"
8821 },
8822 "macaddr" : {
c2993fe5 8823 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 8824 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
8825 "optional" : 1,
8826 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
8827 "type" : "string"
8828 },
8829 "model" : {
8830 "default_key" : 1,
c2993fe5 8831 "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
8832 "enum" : [
8833 "rtl8139",
8834 "ne2k_pci",
8835 "e1000",
8836 "pcnet",
8837 "virtio",
8838 "ne2k_isa",
8839 "i82551",
8840 "i82557b",
8841 "i82559er",
8842 "vmxnet3",
8843 "e1000-82540em",
8844 "e1000-82544gc",
8845 "e1000-82545em"
8846 ],
f004f5b9
DM
8847 "type" : "string"
8848 },
8849 "ne2k_isa" : {
8850 "alias" : "macaddr",
8851 "keyAlias" : "model"
8852 },
8853 "ne2k_pci" : {
8854 "alias" : "macaddr",
8855 "keyAlias" : "model"
8856 },
8857 "pcnet" : {
8858 "alias" : "macaddr",
8859 "keyAlias" : "model"
8860 },
8861 "queues" : {
8862 "description" : "Number of packet queues to be used on the device.",
8863 "maximum" : 16,
8864 "minimum" : 0,
8865 "optional" : 1,
8866 "type" : "integer"
8867 },
8868 "rate" : {
c2993fe5 8869 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
8870 "minimum" : 0,
8871 "optional" : 1,
8872 "type" : "number"
8873 },
8874 "rtl8139" : {
8875 "alias" : "macaddr",
8876 "keyAlias" : "model"
8877 },
8878 "tag" : {
8879 "description" : "VLAN tag to apply to packets on this interface.",
8880 "maximum" : 4094,
c2993fe5 8881 "minimum" : 1,
f004f5b9
DM
8882 "optional" : 1,
8883 "type" : "integer"
8884 },
8885 "trunks" : {
8886 "description" : "VLAN trunks to pass through this interface.",
8887 "format_description" : "vlanid[;vlanid...]",
8888 "optional" : 1,
8889 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8890 "type" : "string"
8891 },
8892 "virtio" : {
8893 "alias" : "macaddr",
8894 "keyAlias" : "model"
8895 },
8896 "vmxnet3" : {
8897 "alias" : "macaddr",
8898 "keyAlias" : "model"
8899 }
8900 },
44660702 8901 "optional" : 1,
4d47f125 8902 "type" : "string"
44660702
DM
8903 },
8904 "numa" : {
8905 "default" : 0,
8906 "description" : "Enable/disable NUMA.",
8907 "optional" : 1,
4d47f125 8908 "type" : "boolean"
44660702
DM
8909 },
8910 "numa[n]" : {
c2993fe5 8911 "description" : "NUMA topology.",
56122987 8912 "format" : {
7aacca6f 8913 "cpus" : {
c2993fe5 8914 "description" : "CPUs accessing this NUMA node.",
44660702
DM
8915 "format_description" : "id[-id];...",
8916 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8917 "type" : "string"
7aacca6f
DM
8918 },
8919 "hostnodes" : {
c2993fe5 8920 "description" : "Host NUMA nodes to use.",
44660702 8921 "format_description" : "id[-id];...",
7aacca6f 8922 "optional" : 1,
7aacca6f 8923 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 8924 "type" : "string"
7aacca6f 8925 },
44660702 8926 "memory" : {
c2993fe5 8927 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 8928 "optional" : 1,
44660702
DM
8929 "type" : "number"
8930 },
8931 "policy" : {
c2993fe5 8932 "description" : "NUMA allocation policy.",
7aacca6f
DM
8933 "enum" : [
8934 "preferred",
8935 "bind",
8936 "interleave"
8937 ],
44660702
DM
8938 "optional" : 1,
8939 "type" : "string"
56122987 8940 }
44660702 8941 },
56122987 8942 "optional" : 1,
4d47f125 8943 "type" : "string"
56122987 8944 },
44660702 8945 "onboot" : {
7aacca6f 8946 "default" : 0,
44660702
DM
8947 "description" : "Specifies whether a VM will be started during system bootup.",
8948 "optional" : 1,
4d47f125 8949 "type" : "boolean"
7aacca6f
DM
8950 },
8951 "ostype" : {
c2993fe5 8952 "description" : "Specify guest operating system.",
7aacca6f
DM
8953 "enum" : [
8954 "other",
8955 "wxp",
8956 "w2k",
8957 "w2k3",
8958 "w2k8",
8959 "wvista",
8960 "win7",
8961 "win8",
32d876b5 8962 "win10",
7aacca6f
DM
8963 "l24",
8964 "l26",
8965 "solaris"
8966 ],
7aacca6f 8967 "optional" : 1,
c2993fe5 8968 "type" : "string",
35a75dd3 8969 "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 8970 },
44660702 8971 "parallel[n]" : {
c2993fe5 8972 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8973 "optional" : 1,
44660702 8974 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8975 "type" : "string",
8976 "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
8977 },
8978 "protection" : {
8979 "default" : 0,
c2993fe5 8980 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8981 "optional" : 1,
4d47f125 8982 "type" : "boolean"
7aacca6f 8983 },
44660702
DM
8984 "reboot" : {
8985 "default" : 1,
8986 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8987 "optional" : 1,
4d47f125 8988 "type" : "boolean"
44660702
DM
8989 },
8990 "sata[n]" : {
8991 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 8992 "format" : {
44660702
DM
8993 "aio" : {
8994 "description" : "AIO type to use.",
7aacca6f 8995 "enum" : [
44660702
DM
8996 "native",
8997 "threads"
7aacca6f 8998 ],
44660702
DM
8999 "optional" : 1,
9000 "type" : "string"
7aacca6f 9001 },
44660702
DM
9002 "backup" : {
9003 "description" : "Whether the drive should be included when making backups.",
56122987 9004 "optional" : 1,
7aacca6f 9005 "type" : "boolean"
44660702
DM
9006 },
9007 "bps" : {
de0983cb 9008 "description" : "Maximum r/w speed in bytes per second.",
44660702 9009 "format_description" : "bps",
7aacca6f 9010 "optional" : 1,
44660702 9011 "type" : "integer"
56122987 9012 },
de0983cb
DM
9013 "bps_max_length" : {
9014 "description" : "Maximum length of I/O bursts in seconds.",
9015 "format_description" : "seconds",
9016 "minimum" : 1,
9017 "optional" : 1,
9018 "type" : "integer"
9019 },
44660702 9020 "bps_rd" : {
de0983cb 9021 "description" : "Maximum read speed in bytes per second.",
44660702 9022 "format_description" : "bps",
56122987 9023 "optional" : 1,
44660702 9024 "type" : "integer"
56122987 9025 },
de0983cb 9026 "bps_rd_length" : {
5d9c884c
DM
9027 "alias" : "bps_rd_max_length"
9028 },
9029 "bps_rd_max_length" : {
de0983cb
DM
9030 "description" : "Maximum length of read I/O bursts in seconds.",
9031 "format_description" : "seconds",
9032 "minimum" : 1,
9033 "optional" : 1,
9034 "type" : "integer"
9035 },
44660702 9036 "bps_wr" : {
de0983cb 9037 "description" : "Maximum write speed in bytes per second.",
44660702 9038 "format_description" : "bps",
56122987 9039 "optional" : 1,
44660702 9040 "type" : "integer"
56122987 9041 },
de0983cb 9042 "bps_wr_length" : {
5d9c884c
DM
9043 "alias" : "bps_wr_max_length"
9044 },
9045 "bps_wr_max_length" : {
de0983cb
DM
9046 "description" : "Maximum length of write I/O bursts in seconds.",
9047 "format_description" : "seconds",
9048 "minimum" : 1,
9049 "optional" : 1,
9050 "type" : "integer"
9051 },
56122987 9052 "cache" : {
44660702 9053 "description" : "The drive's cache mode",
56122987
DM
9054 "enum" : [
9055 "none",
9056 "writethrough",
9057 "writeback",
9058 "unsafe",
9059 "directsync"
9060 ],
56122987 9061 "optional" : 1,
44660702 9062 "type" : "string"
56122987 9063 },
44660702
DM
9064 "cyls" : {
9065 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 9066 "optional" : 1,
44660702 9067 "type" : "integer"
7aacca6f
DM
9068 },
9069 "detect_zeroes" : {
9070 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 9071 "optional" : 1,
44660702 9072 "type" : "boolean"
56122987 9073 },
44660702
DM
9074 "discard" : {
9075 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9076 "enum" : [
9077 "ignore",
9078 "on"
9079 ],
56122987 9080 "optional" : 1,
44660702 9081 "type" : "string"
7aacca6f 9082 },
44660702
DM
9083 "file" : {
9084 "default_key" : 1,
9085 "description" : "The drive's backing volume.",
9086 "format" : "pve-volume-id-or-qm-path",
9087 "format_description" : "volume",
9088 "type" : "string"
56122987 9089 },
7aacca6f 9090 "format" : {
44660702 9091 "description" : "The drive's backing file's data format.",
7aacca6f
DM
9092 "enum" : [
9093 "raw",
9094 "cow",
9095 "qcow",
9096 "qed",
9097 "qcow2",
9098 "vmdk",
9099 "cloop"
9100 ],
7aacca6f 9101 "optional" : 1,
44660702 9102 "type" : "string"
56122987 9103 },
7aacca6f 9104 "heads" : {
7aacca6f 9105 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9106 "optional" : 1,
7aacca6f 9107 "type" : "integer"
56122987 9108 },
44660702 9109 "iops" : {
de0983cb 9110 "description" : "Maximum r/w I/O in operations per second.",
44660702 9111 "format_description" : "iops",
56122987 9112 "optional" : 1,
44660702 9113 "type" : "integer"
56122987 9114 },
44660702 9115 "iops_max" : {
de0983cb 9116 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9117 "format_description" : "iops",
56122987 9118 "optional" : 1,
44660702 9119 "type" : "integer"
56122987 9120 },
de0983cb
DM
9121 "iops_max_length" : {
9122 "description" : "Maximum length of I/O bursts in seconds.",
9123 "format_description" : "seconds",
9124 "minimum" : 1,
9125 "optional" : 1,
9126 "type" : "integer"
9127 },
44660702 9128 "iops_rd" : {
de0983cb 9129 "description" : "Maximum read I/O in operations per second.",
44660702 9130 "format_description" : "iops",
7aacca6f 9131 "optional" : 1,
44660702 9132 "type" : "integer"
56122987 9133 },
de0983cb 9134 "iops_rd_length" : {
5d9c884c 9135 "alias" : "iops_rd_max_length"
de0983cb 9136 },
44660702 9137 "iops_rd_max" : {
de0983cb 9138 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9139 "format_description" : "iops",
56122987 9140 "optional" : 1,
44660702 9141 "type" : "integer"
7aacca6f 9142 },
5d9c884c
DM
9143 "iops_rd_max_length" : {
9144 "description" : "Maximum length of read I/O bursts in seconds.",
9145 "format_description" : "seconds",
9146 "minimum" : 1,
9147 "optional" : 1,
9148 "type" : "integer"
9149 },
44660702 9150 "iops_wr" : {
de0983cb 9151 "description" : "Maximum write I/O in operations per second.",
44660702 9152 "format_description" : "iops",
56122987 9153 "optional" : 1,
44660702 9154 "type" : "integer"
56122987 9155 },
de0983cb 9156 "iops_wr_length" : {
5d9c884c 9157 "alias" : "iops_wr_max_length"
de0983cb 9158 },
56122987 9159 "iops_wr_max" : {
de0983cb 9160 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9161 "format_description" : "iops",
56122987 9162 "optional" : 1,
44660702 9163 "type" : "integer"
56122987 9164 },
5d9c884c
DM
9165 "iops_wr_max_length" : {
9166 "description" : "Maximum length of write I/O bursts in seconds.",
9167 "format_description" : "seconds",
9168 "minimum" : 1,
9169 "optional" : 1,
9170 "type" : "integer"
9171 },
44660702 9172 "mbps" : {
de0983cb 9173 "description" : "Maximum r/w speed in megabytes per second.",
44660702 9174 "format_description" : "mbps",
56122987 9175 "optional" : 1,
44660702 9176 "type" : "number"
56122987 9177 },
44660702 9178 "mbps_max" : {
de0983cb 9179 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9180 "format_description" : "mbps",
9181 "optional" : 1,
9182 "type" : "number"
56122987 9183 },
44660702 9184 "mbps_rd" : {
de0983cb 9185 "description" : "Maximum read speed in megabytes per second.",
44660702 9186 "format_description" : "mbps",
56122987 9187 "optional" : 1,
44660702 9188 "type" : "number"
56122987 9189 },
44660702 9190 "mbps_rd_max" : {
de0983cb 9191 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9192 "format_description" : "mbps",
56122987 9193 "optional" : 1,
44660702 9194 "type" : "number"
56122987 9195 },
44660702 9196 "mbps_wr" : {
de0983cb 9197 "description" : "Maximum write speed in megabytes per second.",
56122987 9198 "format_description" : "mbps",
44660702
DM
9199 "optional" : 1,
9200 "type" : "number"
56122987 9201 },
44660702 9202 "mbps_wr_max" : {
de0983cb 9203 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9204 "format_description" : "mbps",
9205 "optional" : 1,
9206 "type" : "number"
7aacca6f 9207 },
44660702
DM
9208 "media" : {
9209 "default" : "disk",
9210 "description" : "The drive's media type.",
9211 "enum" : [
9212 "cdrom",
9213 "disk"
9214 ],
56122987 9215 "optional" : 1,
44660702
DM
9216 "type" : "string"
9217 },
5d9c884c
DM
9218 "replicate" : {
9219 "default" : 1,
9220 "description" : "Whether the drive should considered for replication jobs.",
9221 "optional" : 1,
9222 "type" : "boolean"
9223 },
44660702
DM
9224 "rerror" : {
9225 "description" : "Read error action.",
7aacca6f 9226 "enum" : [
44660702
DM
9227 "ignore",
9228 "report",
9229 "stop"
9230 ],
7aacca6f 9231 "optional" : 1,
44660702 9232 "type" : "string"
56122987 9233 },
44660702
DM
9234 "secs" : {
9235 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9236 "optional" : 1,
44660702 9237 "type" : "integer"
56122987 9238 },
44660702
DM
9239 "serial" : {
9240 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9241 "format" : "urlencoded",
9242 "format_description" : "serial",
9243 "maxLength" : 60,
56122987 9244 "optional" : 1,
44660702 9245 "type" : "string"
56122987 9246 },
27a7acb2
DM
9247 "shared" : {
9248 "default" : 0,
9249 "description" : "Mark this locally-managed volume as available on all nodes",
9250 "optional" : 1,
9251 "type" : "boolean",
9252 "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!"
9253 },
44660702
DM
9254 "size" : {
9255 "description" : "Disk size. This is purely informational and has no effect.",
9256 "format" : "disk-size",
f004f5b9 9257 "format_description" : "DiskSize",
44660702
DM
9258 "optional" : 1,
9259 "type" : "string"
9260 },
9261 "snapshot" : {
27a7acb2 9262 "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 9263 "optional" : 1,
44660702
DM
9264 "type" : "boolean"
9265 },
25203dc1
NC
9266 "ssd" : {
9267 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9268 "optional" : 1,
9269 "type" : "boolean"
9270 },
44660702
DM
9271 "trans" : {
9272 "description" : "Force disk geometry bios translation mode.",
56122987 9273 "enum" : [
7aacca6f
DM
9274 "none",
9275 "lba",
9276 "auto"
56122987 9277 ],
44660702
DM
9278 "optional" : 1,
9279 "type" : "string"
56122987 9280 },
7aacca6f
DM
9281 "volume" : {
9282 "alias" : "file"
56122987 9283 },
44660702
DM
9284 "werror" : {
9285 "description" : "Write error action.",
9286 "enum" : [
9287 "enospc",
9288 "ignore",
9289 "report",
9290 "stop"
9291 ],
7aacca6f 9292 "optional" : 1,
44660702
DM
9293 "type" : "string"
9294 }
9295 },
9296 "optional" : 1,
4d47f125 9297 "type" : "string"
44660702
DM
9298 },
9299 "scsi[n]" : {
9300 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
9301 "format" : {
56122987 9302 "aio" : {
56122987
DM
9303 "description" : "AIO type to use.",
9304 "enum" : [
9305 "native",
9306 "threads"
9307 ],
7aacca6f 9308 "optional" : 1,
44660702 9309 "type" : "string"
56122987 9310 },
44660702
DM
9311 "backup" : {
9312 "description" : "Whether the drive should be included when making backups.",
56122987 9313 "optional" : 1,
44660702 9314 "type" : "boolean"
56122987 9315 },
44660702 9316 "bps" : {
de0983cb 9317 "description" : "Maximum r/w speed in bytes per second.",
44660702 9318 "format_description" : "bps",
56122987 9319 "optional" : 1,
44660702 9320 "type" : "integer"
56122987 9321 },
de0983cb
DM
9322 "bps_max_length" : {
9323 "description" : "Maximum length of I/O bursts in seconds.",
9324 "format_description" : "seconds",
9325 "minimum" : 1,
9326 "optional" : 1,
9327 "type" : "integer"
9328 },
44660702 9329 "bps_rd" : {
de0983cb 9330 "description" : "Maximum read speed in bytes per second.",
44660702 9331 "format_description" : "bps",
56122987 9332 "optional" : 1,
44660702 9333 "type" : "integer"
56122987 9334 },
de0983cb 9335 "bps_rd_length" : {
5d9c884c
DM
9336 "alias" : "bps_rd_max_length"
9337 },
9338 "bps_rd_max_length" : {
de0983cb
DM
9339 "description" : "Maximum length of read I/O bursts in seconds.",
9340 "format_description" : "seconds",
9341 "minimum" : 1,
9342 "optional" : 1,
9343 "type" : "integer"
9344 },
7aacca6f 9345 "bps_wr" : {
de0983cb 9346 "description" : "Maximum write speed in bytes per second.",
7aacca6f 9347 "format_description" : "bps",
56122987 9348 "optional" : 1,
44660702 9349 "type" : "integer"
56122987 9350 },
de0983cb 9351 "bps_wr_length" : {
5d9c884c
DM
9352 "alias" : "bps_wr_max_length"
9353 },
9354 "bps_wr_max_length" : {
de0983cb
DM
9355 "description" : "Maximum length of write I/O bursts in seconds.",
9356 "format_description" : "seconds",
9357 "minimum" : 1,
9358 "optional" : 1,
9359 "type" : "integer"
9360 },
44660702
DM
9361 "cache" : {
9362 "description" : "The drive's cache mode",
7aacca6f 9363 "enum" : [
44660702
DM
9364 "none",
9365 "writethrough",
9366 "writeback",
9367 "unsafe",
9368 "directsync"
7aacca6f 9369 ],
56122987 9370 "optional" : 1,
44660702 9371 "type" : "string"
56122987 9372 },
44660702
DM
9373 "cyls" : {
9374 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 9375 "optional" : 1,
44660702 9376 "type" : "integer"
56122987 9377 },
44660702
DM
9378 "detect_zeroes" : {
9379 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 9380 "optional" : 1,
44660702 9381 "type" : "boolean"
56122987 9382 },
44660702
DM
9383 "discard" : {
9384 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9385 "enum" : [
9386 "ignore",
9387 "on"
9388 ],
7aacca6f 9389 "optional" : 1,
44660702 9390 "type" : "string"
56122987 9391 },
44660702
DM
9392 "file" : {
9393 "default_key" : 1,
9394 "description" : "The drive's backing volume.",
9395 "format" : "pve-volume-id-or-qm-path",
9396 "format_description" : "volume",
9397 "type" : "string"
56122987 9398 },
7aacca6f 9399 "format" : {
44660702 9400 "description" : "The drive's backing file's data format.",
56122987 9401 "enum" : [
7aacca6f
DM
9402 "raw",
9403 "cow",
9404 "qcow",
9405 "qed",
9406 "qcow2",
9407 "vmdk",
9408 "cloop"
9409 ],
44660702
DM
9410 "optional" : 1,
9411 "type" : "string"
56122987 9412 },
44660702
DM
9413 "heads" : {
9414 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9415 "optional" : 1,
7aacca6f 9416 "type" : "integer"
56122987 9417 },
44660702 9418 "iops" : {
de0983cb 9419 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9420 "format_description" : "iops",
44660702
DM
9421 "optional" : 1,
9422 "type" : "integer"
7aacca6f 9423 },
44660702 9424 "iops_max" : {
de0983cb 9425 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9426 "format_description" : "iops",
56122987 9427 "optional" : 1,
44660702 9428 "type" : "integer"
7aacca6f 9429 },
de0983cb
DM
9430 "iops_max_length" : {
9431 "description" : "Maximum length of I/O bursts in seconds.",
9432 "format_description" : "seconds",
9433 "minimum" : 1,
9434 "optional" : 1,
9435 "type" : "integer"
9436 },
44660702 9437 "iops_rd" : {
de0983cb 9438 "description" : "Maximum read I/O in operations per second.",
44660702 9439 "format_description" : "iops",
7aacca6f 9440 "optional" : 1,
44660702 9441 "type" : "integer"
56122987 9442 },
de0983cb 9443 "iops_rd_length" : {
5d9c884c 9444 "alias" : "iops_rd_max_length"
de0983cb 9445 },
44660702 9446 "iops_rd_max" : {
de0983cb 9447 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
9448 "format_description" : "iops",
9449 "optional" : 1,
9450 "type" : "integer"
9451 },
5d9c884c
DM
9452 "iops_rd_max_length" : {
9453 "description" : "Maximum length of read I/O bursts in seconds.",
9454 "format_description" : "seconds",
9455 "minimum" : 1,
9456 "optional" : 1,
9457 "type" : "integer"
9458 },
44660702 9459 "iops_wr" : {
de0983cb 9460 "description" : "Maximum write I/O in operations per second.",
44660702 9461 "format_description" : "iops",
56122987 9462 "optional" : 1,
44660702
DM
9463 "type" : "integer"
9464 },
de0983cb 9465 "iops_wr_length" : {
5d9c884c 9466 "alias" : "iops_wr_max_length"
de0983cb 9467 },
44660702 9468 "iops_wr_max" : {
de0983cb 9469 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
9470 "format_description" : "iops",
9471 "optional" : 1,
9472 "type" : "integer"
56122987 9473 },
5d9c884c
DM
9474 "iops_wr_max_length" : {
9475 "description" : "Maximum length of write I/O bursts in seconds.",
9476 "format_description" : "seconds",
9477 "minimum" : 1,
9478 "optional" : 1,
9479 "type" : "integer"
9480 },
7aacca6f 9481 "iothread" : {
7aacca6f 9482 "description" : "Whether to use iothreads for this drive",
56122987 9483 "optional" : 1,
56122987
DM
9484 "type" : "boolean"
9485 },
44660702 9486 "mbps" : {
de0983cb 9487 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
9488 "format_description" : "mbps",
9489 "optional" : 1,
9490 "type" : "number"
9491 },
9492 "mbps_max" : {
de0983cb 9493 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9494 "format_description" : "mbps",
9495 "optional" : 1,
9496 "type" : "number"
9497 },
9498 "mbps_rd" : {
de0983cb 9499 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
9500 "format_description" : "mbps",
9501 "optional" : 1,
9502 "type" : "number"
9503 },
9504 "mbps_rd_max" : {
de0983cb 9505 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9506 "format_description" : "mbps",
9507 "optional" : 1,
9508 "type" : "number"
9509 },
9510 "mbps_wr" : {
de0983cb 9511 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
9512 "format_description" : "mbps",
9513 "optional" : 1,
9514 "type" : "number"
9515 },
9516 "mbps_wr_max" : {
de0983cb 9517 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9518 "format_description" : "mbps",
9519 "optional" : 1,
9520 "type" : "number"
9521 },
7aacca6f 9522 "media" : {
44660702
DM
9523 "default" : "disk",
9524 "description" : "The drive's media type.",
7aacca6f
DM
9525 "enum" : [
9526 "cdrom",
9527 "disk"
9528 ],
56122987 9529 "optional" : 1,
44660702
DM
9530 "type" : "string"
9531 },
9532 "queues" : {
9533 "description" : "Number of queues.",
44660702
DM
9534 "minimum" : 2,
9535 "optional" : 1,
9536 "type" : "integer"
9537 },
5d9c884c
DM
9538 "replicate" : {
9539 "default" : 1,
9540 "description" : "Whether the drive should considered for replication jobs.",
9541 "optional" : 1,
9542 "type" : "boolean"
9543 },
9544 "rerror" : {
9545 "description" : "Read error action.",
9546 "enum" : [
9547 "ignore",
9548 "report",
9549 "stop"
9550 ],
9551 "optional" : 1,
9552 "type" : "string"
9553 },
52e44c50
FG
9554 "scsiblock" : {
9555 "default" : 0,
9556 "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",
9557 "optional" : 1,
9558 "type" : "boolean"
9559 },
44660702
DM
9560 "secs" : {
9561 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9562 "optional" : 1,
9563 "type" : "integer"
9564 },
9565 "serial" : {
9566 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9567 "format" : "urlencoded",
9568 "format_description" : "serial",
9569 "maxLength" : 60,
9570 "optional" : 1,
9571 "type" : "string"
9572 },
27a7acb2
DM
9573 "shared" : {
9574 "default" : 0,
9575 "description" : "Mark this locally-managed volume as available on all nodes",
9576 "optional" : 1,
9577 "type" : "boolean",
9578 "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!"
9579 },
44660702
DM
9580 "size" : {
9581 "description" : "Disk size. This is purely informational and has no effect.",
9582 "format" : "disk-size",
f004f5b9 9583 "format_description" : "DiskSize",
44660702
DM
9584 "optional" : 1,
9585 "type" : "string"
56122987 9586 },
7aacca6f 9587 "snapshot" : {
27a7acb2 9588 "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 9589 "optional" : 1,
44660702 9590 "type" : "boolean"
7aacca6f 9591 },
25203dc1
NC
9592 "ssd" : {
9593 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9594 "optional" : 1,
9595 "type" : "boolean"
9596 },
44660702
DM
9597 "trans" : {
9598 "description" : "Force disk geometry bios translation mode.",
9599 "enum" : [
9600 "none",
9601 "lba",
9602 "auto"
9603 ],
44660702
DM
9604 "optional" : 1,
9605 "type" : "string"
9606 },
9607 "volume" : {
9608 "alias" : "file"
9609 },
9610 "werror" : {
9611 "description" : "Write error action.",
9612 "enum" : [
9613 "enospc",
9614 "ignore",
9615 "report",
9616 "stop"
9617 ],
56122987 9618 "optional" : 1,
44660702 9619 "type" : "string"
56122987 9620 }
44660702 9621 },
7aacca6f 9622 "optional" : 1,
4d47f125 9623 "type" : "string"
44660702
DM
9624 },
9625 "scsihw" : {
9626 "default" : "lsi",
c2993fe5 9627 "description" : "SCSI controller model",
7aacca6f 9628 "enum" : [
44660702
DM
9629 "lsi",
9630 "lsi53c810",
9631 "virtio-scsi-pci",
9632 "virtio-scsi-single",
9633 "megasas",
9634 "pvscsi"
7aacca6f 9635 ],
44660702
DM
9636 "optional" : 1,
9637 "type" : "string"
56122987 9638 },
27a7acb2
DM
9639 "searchdomain" : {
9640 "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.",
9641 "optional" : 1,
4d47f125 9642 "type" : "string"
27a7acb2 9643 },
44660702 9644 "serial[n]" : {
c2993fe5 9645 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 9646 "optional" : 1,
44660702 9647 "pattern" : "(/dev/.+|socket)",
c2993fe5 9648 "type" : "string",
57b78691 9649 "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 9650 },
44660702
DM
9651 "shares" : {
9652 "default" : 1000,
5da3d723 9653 "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
9654 "maximum" : 50000,
9655 "minimum" : 0,
56122987 9656 "optional" : 1,
4d47f125 9657 "type" : "integer"
56122987 9658 },
44660702
DM
9659 "smbios1" : {
9660 "description" : "Specify SMBIOS type 1 fields.",
9661 "format" : "pve-qm-smbios1",
9662 "maxLength" : 256,
56122987 9663 "optional" : 1,
4d47f125 9664 "type" : "string"
56122987 9665 },
44660702
DM
9666 "smp" : {
9667 "default" : 1,
9668 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 9669 "minimum" : 1,
7aacca6f 9670 "optional" : 1,
4d47f125 9671 "type" : "integer"
7aacca6f 9672 },
44660702
DM
9673 "sockets" : {
9674 "default" : 1,
9675 "description" : "The number of CPU sockets.",
9676 "minimum" : 1,
7aacca6f 9677 "optional" : 1,
4d47f125 9678 "type" : "integer"
56122987 9679 },
27a7acb2
DM
9680 "sshkeys" : {
9681 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
9682 "format" : "urlencoded",
9683 "optional" : 1,
4d47f125 9684 "type" : "string"
27a7acb2 9685 },
44660702
DM
9686 "startdate" : {
9687 "default" : "now",
9688 "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 9689 "optional" : 1,
44660702 9690 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 9691 "type" : "string",
44660702 9692 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 9693 },
7aacca6f 9694 "startup" : {
7aacca6f 9695 "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 9696 "format" : "pve-startup-order",
56122987 9697 "optional" : 1,
44660702
DM
9698 "type" : "string",
9699 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 9700 },
44660702 9701 "tablet" : {
7aacca6f 9702 "default" : 1,
c2993fe5 9703 "description" : "Enable/disable the USB tablet device.",
7aacca6f 9704 "optional" : 1,
c2993fe5
DM
9705 "type" : "boolean",
9706 "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 9707 },
44660702
DM
9708 "tdf" : {
9709 "default" : 0,
9710 "description" : "Enable/disable time drift fix.",
7aacca6f 9711 "optional" : 1,
4d47f125 9712 "type" : "boolean"
7aacca6f 9713 },
44660702
DM
9714 "template" : {
9715 "default" : 0,
9716 "description" : "Enable/disable Template.",
7aacca6f 9717 "optional" : 1,
4d47f125 9718 "type" : "boolean"
7aacca6f 9719 },
44660702 9720 "unused[n]" : {
c2993fe5 9721 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 9722 "format" : "pve-volume-id",
7aacca6f 9723 "optional" : 1,
4d47f125 9724 "type" : "string"
7aacca6f 9725 },
44660702 9726 "usb[n]" : {
c2993fe5 9727 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
9728 "format" : {
9729 "host" : {
9730 "default_key" : 1,
c2993fe5 9731 "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
9732 "format" : "pve-qm-usb-device",
9733 "format_description" : "HOSTUSBDEVICE|spice",
9734 "type" : "string"
9735 },
9736 "usb3" : {
c2993fe5
DM
9737 "default" : 0,
9738 "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
9739 "optional" : 1,
9740 "type" : "boolean"
9741 }
9742 },
7aacca6f 9743 "optional" : 1,
4d47f125 9744 "type" : "string"
56122987 9745 },
44660702
DM
9746 "vcpus" : {
9747 "default" : 0,
9748 "description" : "Number of hotplugged vcpus.",
9749 "minimum" : 1,
56122987 9750 "optional" : 1,
4d47f125 9751 "type" : "integer"
56122987 9752 },
44660702 9753 "vga" : {
e2d681b3
TL
9754 "description" : "Configure the VGA hardware.",
9755 "format" : {
9756 "memory" : {
9757 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
9758 "maximum" : 512,
9759 "minimum" : 4,
9760 "optional" : 1,
9761 "type" : "integer"
9762 },
9763 "type" : {
9764 "default" : "std",
9765 "default_key" : 1,
9766 "description" : "Select the VGA type.",
9767 "enum" : [
9768 "cirrus",
9769 "qxl",
9770 "qxl2",
9771 "qxl3",
9772 "qxl4",
5f26e15b 9773 "none",
e2d681b3
TL
9774 "serial0",
9775 "serial1",
9776 "serial2",
9777 "serial3",
9778 "std",
9779 "virtio",
9780 "vmware"
9781 ],
9782 "optional" : 1,
9783 "type" : "string"
9784 }
9785 },
56122987 9786 "optional" : 1,
c2993fe5 9787 "type" : "string",
e2d681b3 9788 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
56122987 9789 },
44660702
DM
9790 "virtio[n]" : {
9791 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 9792 "format" : {
44660702
DM
9793 "aio" : {
9794 "description" : "AIO type to use.",
56122987 9795 "enum" : [
44660702
DM
9796 "native",
9797 "threads"
56122987 9798 ],
56122987
DM
9799 "optional" : 1,
9800 "type" : "string"
9801 },
44660702
DM
9802 "backup" : {
9803 "description" : "Whether the drive should be included when making backups.",
44660702
DM
9804 "optional" : 1,
9805 "type" : "boolean"
7aacca6f 9806 },
44660702 9807 "bps" : {
de0983cb 9808 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
9809 "format_description" : "bps",
9810 "optional" : 1,
9811 "type" : "integer"
56122987 9812 },
de0983cb
DM
9813 "bps_max_length" : {
9814 "description" : "Maximum length of I/O bursts in seconds.",
9815 "format_description" : "seconds",
9816 "minimum" : 1,
9817 "optional" : 1,
9818 "type" : "integer"
9819 },
44660702 9820 "bps_rd" : {
de0983cb 9821 "description" : "Maximum read speed in bytes per second.",
44660702 9822 "format_description" : "bps",
56122987 9823 "optional" : 1,
44660702 9824 "type" : "integer"
56122987 9825 },
de0983cb 9826 "bps_rd_length" : {
5d9c884c
DM
9827 "alias" : "bps_rd_max_length"
9828 },
9829 "bps_rd_max_length" : {
de0983cb
DM
9830 "description" : "Maximum length of read I/O bursts in seconds.",
9831 "format_description" : "seconds",
9832 "minimum" : 1,
9833 "optional" : 1,
9834 "type" : "integer"
9835 },
44660702 9836 "bps_wr" : {
de0983cb 9837 "description" : "Maximum write speed in bytes per second.",
44660702 9838 "format_description" : "bps",
56122987 9839 "optional" : 1,
44660702
DM
9840 "type" : "integer"
9841 },
de0983cb 9842 "bps_wr_length" : {
5d9c884c
DM
9843 "alias" : "bps_wr_max_length"
9844 },
9845 "bps_wr_max_length" : {
de0983cb
DM
9846 "description" : "Maximum length of write I/O bursts in seconds.",
9847 "format_description" : "seconds",
9848 "minimum" : 1,
9849 "optional" : 1,
9850 "type" : "integer"
9851 },
44660702
DM
9852 "cache" : {
9853 "description" : "The drive's cache mode",
56122987 9854 "enum" : [
44660702
DM
9855 "none",
9856 "writethrough",
9857 "writeback",
9858 "unsafe",
9859 "directsync"
56122987 9860 ],
56122987 9861 "optional" : 1,
44660702 9862 "type" : "string"
56122987 9863 },
44660702
DM
9864 "cyls" : {
9865 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 9866 "optional" : 1,
44660702 9867 "type" : "integer"
7aacca6f 9868 },
44660702
DM
9869 "detect_zeroes" : {
9870 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9871 "optional" : 1,
9872 "type" : "boolean"
7aacca6f 9873 },
44660702
DM
9874 "discard" : {
9875 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9876 "enum" : [
9877 "ignore",
9878 "on"
9879 ],
56122987 9880 "optional" : 1,
44660702 9881 "type" : "string"
56122987
DM
9882 },
9883 "file" : {
7aacca6f 9884 "default_key" : 1,
44660702 9885 "description" : "The drive's backing volume.",
7aacca6f 9886 "format" : "pve-volume-id-or-qm-path",
44660702
DM
9887 "format_description" : "volume",
9888 "type" : "string"
7aacca6f
DM
9889 },
9890 "format" : {
7aacca6f
DM
9891 "description" : "The drive's backing file's data format.",
9892 "enum" : [
9893 "raw",
9894 "cow",
9895 "qcow",
9896 "qed",
9897 "qcow2",
9898 "vmdk",
9899 "cloop"
56122987
DM
9900 ],
9901 "optional" : 1,
56122987
DM
9902 "type" : "string"
9903 },
44660702
DM
9904 "heads" : {
9905 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9906 "optional" : 1,
44660702 9907 "type" : "integer"
56122987 9908 },
44660702 9909 "iops" : {
de0983cb 9910 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9911 "format_description" : "iops",
56122987 9912 "optional" : 1,
44660702 9913 "type" : "integer"
56122987 9914 },
44660702 9915 "iops_max" : {
de0983cb 9916 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9917 "format_description" : "iops",
56122987 9918 "optional" : 1,
56122987
DM
9919 "type" : "integer"
9920 },
de0983cb
DM
9921 "iops_max_length" : {
9922 "description" : "Maximum length of I/O bursts in seconds.",
9923 "format_description" : "seconds",
9924 "minimum" : 1,
9925 "optional" : 1,
9926 "type" : "integer"
9927 },
44660702 9928 "iops_rd" : {
de0983cb 9929 "description" : "Maximum read I/O in operations per second.",
44660702 9930 "format_description" : "iops",
56122987 9931 "optional" : 1,
44660702 9932 "type" : "integer"
56122987 9933 },
de0983cb 9934 "iops_rd_length" : {
5d9c884c 9935 "alias" : "iops_rd_max_length"
de0983cb 9936 },
44660702 9937 "iops_rd_max" : {
de0983cb 9938 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9939 "format_description" : "iops",
7aacca6f 9940 "optional" : 1,
44660702 9941 "type" : "integer"
56122987 9942 },
5d9c884c
DM
9943 "iops_rd_max_length" : {
9944 "description" : "Maximum length of read I/O bursts in seconds.",
9945 "format_description" : "seconds",
9946 "minimum" : 1,
9947 "optional" : 1,
9948 "type" : "integer"
9949 },
44660702 9950 "iops_wr" : {
de0983cb 9951 "description" : "Maximum write I/O in operations per second.",
44660702 9952 "format_description" : "iops",
7aacca6f 9953 "optional" : 1,
44660702 9954 "type" : "integer"
56122987 9955 },
de0983cb 9956 "iops_wr_length" : {
5d9c884c 9957 "alias" : "iops_wr_max_length"
de0983cb 9958 },
44660702 9959 "iops_wr_max" : {
de0983cb 9960 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9961 "format_description" : "iops",
56122987
DM
9962 "optional" : 1,
9963 "type" : "integer"
9964 },
5d9c884c
DM
9965 "iops_wr_max_length" : {
9966 "description" : "Maximum length of write I/O bursts in seconds.",
9967 "format_description" : "seconds",
9968 "minimum" : 1,
9969 "optional" : 1,
9970 "type" : "integer"
9971 },
44660702
DM
9972 "iothread" : {
9973 "description" : "Whether to use iothreads for this drive",
44660702
DM
9974 "optional" : 1,
9975 "type" : "boolean"
9976 },
9977 "mbps" : {
de0983cb 9978 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 9979 "format_description" : "mbps",
44660702
DM
9980 "optional" : 1,
9981 "type" : "number"
9982 },
9983 "mbps_max" : {
de0983cb 9984 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9985 "format_description" : "mbps",
9986 "optional" : 1,
9987 "type" : "number"
7aacca6f 9988 },
44660702 9989 "mbps_rd" : {
de0983cb 9990 "description" : "Maximum read speed in megabytes per second.",
44660702 9991 "format_description" : "mbps",
56122987 9992 "optional" : 1,
44660702 9993 "type" : "number"
56122987 9994 },
44660702 9995 "mbps_rd_max" : {
de0983cb 9996 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9997 "format_description" : "mbps",
7aacca6f 9998 "optional" : 1,
44660702 9999 "type" : "number"
56122987 10000 },
44660702 10001 "mbps_wr" : {
de0983cb 10002 "description" : "Maximum write speed in megabytes per second.",
44660702 10003 "format_description" : "mbps",
56122987 10004 "optional" : 1,
44660702 10005 "type" : "number"
56122987 10006 },
44660702 10007 "mbps_wr_max" : {
de0983cb 10008 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 10009 "format_description" : "mbps",
56122987 10010 "optional" : 1,
44660702 10011 "type" : "number"
56122987
DM
10012 },
10013 "media" : {
7aacca6f 10014 "default" : "disk",
44660702 10015 "description" : "The drive's media type.",
56122987
DM
10016 "enum" : [
10017 "cdrom",
10018 "disk"
10019 ],
44660702
DM
10020 "optional" : 1,
10021 "type" : "string"
56122987 10022 },
5d9c884c
DM
10023 "replicate" : {
10024 "default" : 1,
10025 "description" : "Whether the drive should considered for replication jobs.",
10026 "optional" : 1,
10027 "type" : "boolean"
10028 },
7aacca6f 10029 "rerror" : {
44660702 10030 "description" : "Read error action.",
56122987 10031 "enum" : [
7aacca6f
DM
10032 "ignore",
10033 "report",
10034 "stop"
56122987 10035 ],
56122987 10036 "optional" : 1,
44660702 10037 "type" : "string"
56122987 10038 },
44660702
DM
10039 "secs" : {
10040 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10041 "optional" : 1,
10042 "type" : "integer"
10043 },
10044 "serial" : {
10045 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10046 "format" : "urlencoded",
10047 "format_description" : "serial",
10048 "maxLength" : 60,
56122987 10049 "optional" : 1,
7aacca6f 10050 "type" : "string"
56122987 10051 },
27a7acb2
DM
10052 "shared" : {
10053 "default" : 0,
10054 "description" : "Mark this locally-managed volume as available on all nodes",
10055 "optional" : 1,
10056 "type" : "boolean",
10057 "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!"
10058 },
44660702
DM
10059 "size" : {
10060 "description" : "Disk size. This is purely informational and has no effect.",
10061 "format" : "disk-size",
f004f5b9 10062 "format_description" : "DiskSize",
56122987 10063 "optional" : 1,
44660702 10064 "type" : "string"
56122987 10065 },
44660702 10066 "snapshot" : {
27a7acb2 10067 "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 10068 "optional" : 1,
44660702 10069 "type" : "boolean"
56122987 10070 },
44660702
DM
10071 "trans" : {
10072 "description" : "Force disk geometry bios translation mode.",
10073 "enum" : [
10074 "none",
10075 "lba",
10076 "auto"
10077 ],
44660702
DM
10078 "optional" : 1,
10079 "type" : "string"
10080 },
10081 "volume" : {
10082 "alias" : "file"
10083 },
10084 "werror" : {
10085 "description" : "Write error action.",
10086 "enum" : [
10087 "enospc",
10088 "ignore",
10089 "report",
10090 "stop"
10091 ],
56122987 10092 "optional" : 1,
44660702 10093 "type" : "string"
56122987 10094 }
44660702 10095 },
56122987 10096 "optional" : 1,
4d47f125 10097 "type" : "string"
56122987 10098 },
4d47f125
TL
10099 "vmgenid" : {
10100 "default" : "1 (autogenerated)",
10101 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
10102 "format_description" : "UUID",
10103 "optional" : 1,
10104 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
10105 "type" : "string",
10106 "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 10107 },
2489d6df
WB
10108 "vmstatestorage" : {
10109 "description" : "Default storage for VM state volumes/files.",
10110 "format" : "pve-storage-id",
10111 "optional" : 1,
4d47f125 10112 "type" : "string"
2489d6df 10113 },
44660702 10114 "watchdog" : {
c2993fe5 10115 "description" : "Create a virtual hardware watchdog device.",
44660702 10116 "format" : "pve-qm-watchdog",
56122987 10117 "optional" : 1,
c2993fe5
DM
10118 "type" : "string",
10119 "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 10120 }
4d47f125
TL
10121 },
10122 "type" : "object"
44660702 10123 }
56122987 10124 },
4d47f125
TL
10125 "POST" : {
10126 "description" : "Set virtual machine options (asynchrounous API).",
10127 "method" : "POST",
10128 "name" : "update_vm_async",
56122987 10129 "parameters" : {
7aacca6f 10130 "additionalProperties" : 0,
56122987 10131 "properties" : {
44660702
DM
10132 "acpi" : {
10133 "default" : 1,
10134 "description" : "Enable/disable ACPI.",
7aacca6f 10135 "optional" : 1,
013dc89f
DM
10136 "type" : "boolean",
10137 "typetext" : "<boolean>"
7aacca6f 10138 },
44660702 10139 "agent" : {
4d47f125
TL
10140 "description" : "Enable/disable Qemu GuestAgent and its properties.",
10141 "format" : {
10142 "enabled" : {
10143 "default" : 0,
10144 "default_key" : 1,
10145 "description" : "Enable/disable Qemu GuestAgent.",
10146 "type" : "boolean"
10147 },
10148 "fstrim_cloned_disks" : {
10149 "default" : 0,
10150 "description" : "Run fstrim after cloning/moving a disk.",
10151 "optional" : 1,
10152 "type" : "boolean"
10153 }
10154 },
7aacca6f 10155 "optional" : 1,
4d47f125
TL
10156 "type" : "string",
10157 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 10158 },
e2d681b3
TL
10159 "arch" : {
10160 "description" : "Virtual processor architecture. Defaults to the host.",
10161 "enum" : [
10162 "x86_64",
10163 "aarch64"
10164 ],
10165 "optional" : 1,
10166 "type" : "string"
10167 },
44660702 10168 "args" : {
c2993fe5 10169 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 10170 "optional" : 1,
c2993fe5 10171 "type" : "string",
013dc89f 10172 "typetext" : "<string>",
c2993fe5 10173 "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 10174 },
44660702
DM
10175 "autostart" : {
10176 "default" : 0,
10177 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 10178 "optional" : 1,
013dc89f
DM
10179 "type" : "boolean",
10180 "typetext" : "<boolean>"
7aacca6f 10181 },
4d47f125
TL
10182 "background_delay" : {
10183 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
10184 "maximum" : 30,
10185 "minimum" : 1,
10186 "optional" : 1,
10187 "type" : "integer",
10188 "typetext" : "<integer> (1 - 30)"
10189 },
44660702
DM
10190 "balloon" : {
10191 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
10192 "minimum" : 0,
10193 "optional" : 1,
4bd7df8b 10194 "type" : "integer",
013dc89f 10195 "typetext" : "<integer> (0 - N)"
44660702
DM
10196 },
10197 "bios" : {
10198 "default" : "seabios",
10199 "description" : "Select BIOS implementation.",
7aacca6f 10200 "enum" : [
44660702
DM
10201 "seabios",
10202 "ovmf"
7aacca6f 10203 ],
56122987 10204 "optional" : 1,
7aacca6f
DM
10205 "type" : "string"
10206 },
44660702
DM
10207 "boot" : {
10208 "default" : "cdn",
10209 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 10210 "optional" : 1,
44660702
DM
10211 "pattern" : "[acdn]{1,4}",
10212 "type" : "string"
56122987 10213 },
44660702
DM
10214 "bootdisk" : {
10215 "description" : "Enable booting from specified disk.",
10216 "format" : "pve-qm-bootdisk",
10217 "optional" : 1,
10218 "pattern" : "(ide|sata|scsi|virtio)\\d+",
10219 "type" : "string"
10220 },
10221 "cdrom" : {
10222 "description" : "This is an alias for option -ide2",
de0983cb 10223 "format" : "pve-qm-ide",
56122987 10224 "optional" : 1,
7aacca6f 10225 "type" : "string",
013dc89f 10226 "typetext" : "<volume>"
44660702 10227 },
27a7acb2
DM
10228 "cipassword" : {
10229 "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.",
10230 "optional" : 1,
10231 "type" : "string",
10232 "typetext" : "<string>"
10233 },
10234 "citype" : {
10235 "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.",
10236 "enum" : [
10237 "configdrive2",
10238 "nocloud"
10239 ],
10240 "optional" : 1,
10241 "type" : "string"
10242 },
10243 "ciuser" : {
10244 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
10245 "optional" : 1,
10246 "type" : "string",
10247 "typetext" : "<string>"
10248 },
44660702
DM
10249 "cores" : {
10250 "default" : 1,
10251 "description" : "The number of cores per socket.",
10252 "minimum" : 1,
10253 "optional" : 1,
4bd7df8b 10254 "type" : "integer",
013dc89f 10255 "typetext" : "<integer> (1 - N)"
44660702
DM
10256 },
10257 "cpu" : {
10258 "description" : "Emulated CPU type.",
10259 "format" : {
10260 "cputype" : {
10261 "default" : "kvm64",
10262 "default_key" : 1,
10263 "description" : "Emulated CPU type.",
10264 "enum" : [
10265 "486",
10266 "athlon",
f004f5b9 10267 "Broadwell",
35a75dd3 10268 "Broadwell-IBRS",
f004f5b9 10269 "Broadwell-noTSX",
35a75dd3 10270 "Broadwell-noTSX-IBRS",
f004f5b9 10271 "Conroe",
44660702 10272 "core2duo",
f004f5b9 10273 "coreduo",
27a7acb2
DM
10274 "EPYC",
10275 "EPYC-IBPB",
f004f5b9 10276 "Haswell",
35a75dd3 10277 "Haswell-IBRS",
f004f5b9 10278 "Haswell-noTSX",
35a75dd3 10279 "Haswell-noTSX-IBRS",
f004f5b9
DM
10280 "host",
10281 "IvyBridge",
35a75dd3 10282 "IvyBridge-IBRS",
44660702
DM
10283 "kvm32",
10284 "kvm64",
35a75dd3 10285 "max",
44660702 10286 "Nehalem",
35a75dd3 10287 "Nehalem-IBRS",
44660702
DM
10288 "Opteron_G1",
10289 "Opteron_G2",
10290 "Opteron_G3",
10291 "Opteron_G4",
10292 "Opteron_G5",
f004f5b9
DM
10293 "Penryn",
10294 "pentium",
10295 "pentium2",
10296 "pentium3",
10297 "phenom",
10298 "qemu32",
10299 "qemu64",
10300 "SandyBridge",
35a75dd3 10301 "SandyBridge-IBRS",
5d9c884c 10302 "Skylake-Client",
35a75dd3
DM
10303 "Skylake-Client-IBRS",
10304 "Skylake-Server",
10305 "Skylake-Server-IBRS",
10306 "Westmere",
10307 "Westmere-IBRS"
44660702 10308 ],
44660702
DM
10309 "type" : "string"
10310 },
35a75dd3 10311 "flags" : {
4d47f125 10312 "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
10313 "format_description" : "+FLAG[;-FLAG...]",
10314 "optional" : 1,
4d47f125 10315 "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
10316 "type" : "string"
10317 },
44660702
DM
10318 "hidden" : {
10319 "default" : 0,
10320 "description" : "Do not identify as a KVM virtual machine.",
10321 "optional" : 1,
10322 "type" : "boolean"
5f26e15b
TL
10323 },
10324 "hv-vendor-id" : {
10325 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
10326 "format_description" : "vendor-id",
10327 "optional" : 1,
10328 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
10329 "type" : "string"
44660702
DM
10330 }
10331 },
10332 "optional" : 1,
4bd7df8b 10333 "type" : "string",
5f26e15b 10334 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
44660702
DM
10335 },
10336 "cpulimit" : {
10337 "default" : 0,
c2993fe5 10338 "description" : "Limit of CPU usage.",
44660702
DM
10339 "maximum" : 128,
10340 "minimum" : 0,
10341 "optional" : 1,
c2993fe5 10342 "type" : "number",
013dc89f 10343 "typetext" : "<number> (0 - 128)",
c2993fe5 10344 "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
10345 },
10346 "cpuunits" : {
de0983cb 10347 "default" : 1024,
c2993fe5 10348 "description" : "CPU weight for a VM.",
2489d6df
WB
10349 "maximum" : 262144,
10350 "minimum" : 2,
44660702 10351 "optional" : 1,
c2993fe5 10352 "type" : "integer",
2489d6df
WB
10353 "typetext" : "<integer> (2 - 262144)",
10354 "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
10355 },
10356 "delete" : {
10357 "description" : "A list of settings you want to delete.",
10358 "format" : "pve-configid-list",
10359 "optional" : 1,
013dc89f
DM
10360 "type" : "string",
10361 "typetext" : "<string>"
44660702
DM
10362 },
10363 "description" : {
10364 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
10365 "optional" : 1,
013dc89f
DM
10366 "type" : "string",
10367 "typetext" : "<string>"
44660702
DM
10368 },
10369 "digest" : {
10370 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10371 "maxLength" : 40,
10372 "optional" : 1,
013dc89f
DM
10373 "type" : "string",
10374 "typetext" : "<string>"
44660702 10375 },
4d47f125
TL
10376 "efidisk0" : {
10377 "description" : "Configure a Disk for storing EFI vars",
10378 "format" : {
10379 "file" : {
10380 "default_key" : 1,
10381 "description" : "The drive's backing volume.",
10382 "format" : "pve-volume-id-or-qm-path",
10383 "format_description" : "volume",
10384 "type" : "string"
10385 },
10386 "format" : {
10387 "description" : "The drive's backing file's data format.",
10388 "enum" : [
10389 "raw",
10390 "cow",
10391 "qcow",
10392 "qed",
10393 "qcow2",
10394 "vmdk",
10395 "cloop"
10396 ],
10397 "optional" : 1,
10398 "type" : "string"
10399 },
10400 "size" : {
10401 "description" : "Disk size. This is purely informational and has no effect.",
10402 "format" : "disk-size",
10403 "format_description" : "DiskSize",
10404 "optional" : 1,
10405 "type" : "string"
10406 },
10407 "volume" : {
10408 "alias" : "file"
10409 }
10410 },
10411 "optional" : 1,
10412 "type" : "string",
10413 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
10414 },
44660702
DM
10415 "force" : {
10416 "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.",
10417 "optional" : 1,
10418 "requires" : "delete",
013dc89f
DM
10419 "type" : "boolean",
10420 "typetext" : "<boolean>"
44660702
DM
10421 },
10422 "freeze" : {
10423 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
10424 "optional" : 1,
013dc89f
DM
10425 "type" : "boolean",
10426 "typetext" : "<boolean>"
44660702 10427 },
5f26e15b
TL
10428 "hookscript" : {
10429 "description" : "Script that will be executed during various steps in the vms lifetime.",
10430 "format" : "pve-volume-id",
10431 "optional" : 1,
10432 "type" : "string",
10433 "typetext" : "<string>"
10434 },
44660702 10435 "hostpci[n]" : {
c2993fe5 10436 "description" : "Map host PCI devices into guest.",
44660702
DM
10437 "format" : "pve-qm-hostpci",
10438 "optional" : 1,
57b78691 10439 "type" : "string",
e2d681b3 10440 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 10441 "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 10442 },
7aacca6f 10443 "hotplug" : {
7aacca6f 10444 "default" : "network,disk,usb",
44660702
DM
10445 "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'.",
10446 "format" : "pve-hotplug-features",
56122987 10447 "optional" : 1,
013dc89f
DM
10448 "type" : "string",
10449 "typetext" : "<string>"
56122987 10450 },
4bd7df8b
DM
10451 "hugepages" : {
10452 "description" : "Enable/disable hugepages memory.",
10453 "enum" : [
10454 "any",
10455 "2",
10456 "1024"
10457 ],
10458 "optional" : 1,
10459 "type" : "string"
10460 },
56122987 10461 "ide[n]" : {
7aacca6f 10462 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 10463 "format" : {
44660702
DM
10464 "aio" : {
10465 "description" : "AIO type to use.",
10466 "enum" : [
10467 "native",
10468 "threads"
10469 ],
56122987 10470 "optional" : 1,
44660702 10471 "type" : "string"
56122987 10472 },
44660702
DM
10473 "backup" : {
10474 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10475 "optional" : 1,
10476 "type" : "boolean"
10477 },
10478 "bps" : {
de0983cb 10479 "description" : "Maximum r/w speed in bytes per second.",
44660702 10480 "format_description" : "bps",
56122987 10481 "optional" : 1,
44660702 10482 "type" : "integer"
56122987 10483 },
de0983cb
DM
10484 "bps_max_length" : {
10485 "description" : "Maximum length of I/O bursts in seconds.",
10486 "format_description" : "seconds",
10487 "minimum" : 1,
10488 "optional" : 1,
10489 "type" : "integer"
10490 },
44660702 10491 "bps_rd" : {
de0983cb 10492 "description" : "Maximum read speed in bytes per second.",
44660702 10493 "format_description" : "bps",
56122987 10494 "optional" : 1,
44660702 10495 "type" : "integer"
56122987 10496 },
de0983cb 10497 "bps_rd_length" : {
5d9c884c
DM
10498 "alias" : "bps_rd_max_length"
10499 },
10500 "bps_rd_max_length" : {
de0983cb
DM
10501 "description" : "Maximum length of read I/O bursts in seconds.",
10502 "format_description" : "seconds",
10503 "minimum" : 1,
10504 "optional" : 1,
10505 "type" : "integer"
10506 },
7aacca6f 10507 "bps_wr" : {
de0983cb 10508 "description" : "Maximum write speed in bytes per second.",
44660702
DM
10509 "format_description" : "bps",
10510 "optional" : 1,
10511 "type" : "integer"
7aacca6f 10512 },
de0983cb 10513 "bps_wr_length" : {
5d9c884c
DM
10514 "alias" : "bps_wr_max_length"
10515 },
10516 "bps_wr_max_length" : {
de0983cb
DM
10517 "description" : "Maximum length of write I/O bursts in seconds.",
10518 "format_description" : "seconds",
10519 "minimum" : 1,
10520 "optional" : 1,
10521 "type" : "integer"
10522 },
44660702
DM
10523 "cache" : {
10524 "description" : "The drive's cache mode",
10525 "enum" : [
10526 "none",
10527 "writethrough",
10528 "writeback",
10529 "unsafe",
10530 "directsync"
10531 ],
56122987 10532 "optional" : 1,
44660702
DM
10533 "type" : "string"
10534 },
10535 "cyls" : {
10536 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10537 "optional" : 1,
10538 "type" : "integer"
10539 },
10540 "detect_zeroes" : {
10541 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10542 "optional" : 1,
10543 "type" : "boolean"
56122987 10544 },
7aacca6f 10545 "discard" : {
7aacca6f 10546 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 10547 "enum" : [
7aacca6f
DM
10548 "ignore",
10549 "on"
56122987
DM
10550 ],
10551 "optional" : 1,
44660702 10552 "type" : "string"
7aacca6f 10553 },
44660702
DM
10554 "file" : {
10555 "default_key" : 1,
10556 "description" : "The drive's backing volume.",
10557 "format" : "pve-volume-id-or-qm-path",
10558 "format_description" : "volume",
10559 "type" : "string"
7aacca6f
DM
10560 },
10561 "format" : {
44660702 10562 "description" : "The drive's backing file's data format.",
7aacca6f
DM
10563 "enum" : [
10564 "raw",
10565 "cow",
10566 "qcow",
10567 "qed",
10568 "qcow2",
10569 "vmdk",
10570 "cloop"
10571 ],
7aacca6f 10572 "optional" : 1,
44660702 10573 "type" : "string"
56122987 10574 },
7aacca6f 10575 "heads" : {
44660702 10576 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10577 "optional" : 1,
44660702 10578 "type" : "integer"
7aacca6f 10579 },
44660702 10580 "iops" : {
de0983cb 10581 "description" : "Maximum r/w I/O in operations per second.",
44660702 10582 "format_description" : "iops",
7aacca6f 10583 "optional" : 1,
44660702 10584 "type" : "integer"
56122987 10585 },
44660702 10586 "iops_max" : {
de0983cb 10587 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10588 "format_description" : "iops",
56122987 10589 "optional" : 1,
44660702 10590 "type" : "integer"
56122987 10591 },
de0983cb
DM
10592 "iops_max_length" : {
10593 "description" : "Maximum length of I/O bursts in seconds.",
10594 "format_description" : "seconds",
10595 "minimum" : 1,
10596 "optional" : 1,
10597 "type" : "integer"
10598 },
44660702 10599 "iops_rd" : {
de0983cb 10600 "description" : "Maximum read I/O in operations per second.",
44660702 10601 "format_description" : "iops",
56122987 10602 "optional" : 1,
44660702 10603 "type" : "integer"
7aacca6f 10604 },
de0983cb 10605 "iops_rd_length" : {
5d9c884c 10606 "alias" : "iops_rd_max_length"
de0983cb 10607 },
44660702 10608 "iops_rd_max" : {
de0983cb 10609 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10610 "format_description" : "iops",
7aacca6f 10611 "optional" : 1,
44660702 10612 "type" : "integer"
7aacca6f 10613 },
5d9c884c
DM
10614 "iops_rd_max_length" : {
10615 "description" : "Maximum length of read I/O bursts in seconds.",
10616 "format_description" : "seconds",
10617 "minimum" : 1,
10618 "optional" : 1,
10619 "type" : "integer"
10620 },
44660702 10621 "iops_wr" : {
de0983cb 10622 "description" : "Maximum write I/O in operations per second.",
44660702 10623 "format_description" : "iops",
7aacca6f 10624 "optional" : 1,
44660702 10625 "type" : "integer"
56122987 10626 },
de0983cb 10627 "iops_wr_length" : {
5d9c884c 10628 "alias" : "iops_wr_max_length"
de0983cb 10629 },
44660702 10630 "iops_wr_max" : {
de0983cb 10631 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 10632 "format_description" : "iops",
7aacca6f 10633 "optional" : 1,
44660702 10634 "type" : "integer"
7aacca6f 10635 },
5d9c884c
DM
10636 "iops_wr_max_length" : {
10637 "description" : "Maximum length of write I/O bursts in seconds.",
10638 "format_description" : "seconds",
10639 "minimum" : 1,
10640 "optional" : 1,
10641 "type" : "integer"
10642 },
7aacca6f 10643 "mbps" : {
de0983cb 10644 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 10645 "format_description" : "mbps",
7aacca6f 10646 "optional" : 1,
44660702 10647 "type" : "number"
7aacca6f 10648 },
44660702 10649 "mbps_max" : {
de0983cb 10650 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 10651 "format_description" : "mbps",
7aacca6f 10652 "optional" : 1,
44660702 10653 "type" : "number"
7aacca6f 10654 },
44660702 10655 "mbps_rd" : {
de0983cb 10656 "description" : "Maximum read speed in megabytes per second.",
44660702 10657 "format_description" : "mbps",
7aacca6f 10658 "optional" : 1,
44660702 10659 "type" : "number"
7aacca6f 10660 },
44660702 10661 "mbps_rd_max" : {
de0983cb 10662 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
10663 "format_description" : "mbps",
10664 "optional" : 1,
10665 "type" : "number"
7aacca6f 10666 },
44660702 10667 "mbps_wr" : {
de0983cb 10668 "description" : "Maximum write speed in megabytes per second.",
44660702 10669 "format_description" : "mbps",
7aacca6f 10670 "optional" : 1,
44660702
DM
10671 "type" : "number"
10672 },
10673 "mbps_wr_max" : {
de0983cb 10674 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
10675 "format_description" : "mbps",
10676 "optional" : 1,
10677 "type" : "number"
10678 },
10679 "media" : {
10680 "default" : "disk",
10681 "description" : "The drive's media type.",
56122987 10682 "enum" : [
44660702
DM
10683 "cdrom",
10684 "disk"
56122987 10685 ],
44660702
DM
10686 "optional" : 1,
10687 "type" : "string"
56122987 10688 },
7aacca6f 10689 "model" : {
44660702 10690 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 10691 "format" : "urlencoded",
7aacca6f 10692 "format_description" : "model",
44660702 10693 "maxLength" : 120,
56122987 10694 "optional" : 1,
44660702 10695 "type" : "string"
56122987 10696 },
5d9c884c
DM
10697 "replicate" : {
10698 "default" : 1,
10699 "description" : "Whether the drive should considered for replication jobs.",
10700 "optional" : 1,
10701 "type" : "boolean"
10702 },
44660702
DM
10703 "rerror" : {
10704 "description" : "Read error action.",
10705 "enum" : [
10706 "ignore",
10707 "report",
10708 "stop"
10709 ],
56122987 10710 "optional" : 1,
44660702 10711 "type" : "string"
56122987 10712 },
44660702
DM
10713 "secs" : {
10714 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10715 "optional" : 1,
10716 "type" : "integer"
56122987 10717 },
44660702
DM
10718 "serial" : {
10719 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10720 "format" : "urlencoded",
10721 "format_description" : "serial",
10722 "maxLength" : 60,
56122987 10723 "optional" : 1,
44660702 10724 "type" : "string"
56122987 10725 },
27a7acb2
DM
10726 "shared" : {
10727 "default" : 0,
10728 "description" : "Mark this locally-managed volume as available on all nodes",
10729 "optional" : 1,
10730 "type" : "boolean",
10731 "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!"
10732 },
44660702
DM
10733 "size" : {
10734 "description" : "Disk size. This is purely informational and has no effect.",
10735 "format" : "disk-size",
f004f5b9 10736 "format_description" : "DiskSize",
56122987 10737 "optional" : 1,
44660702 10738 "type" : "string"
56122987 10739 },
44660702 10740 "snapshot" : {
27a7acb2 10741 "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 10742 "optional" : 1,
44660702 10743 "type" : "boolean"
56122987 10744 },
25203dc1
NC
10745 "ssd" : {
10746 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
10747 "optional" : 1,
10748 "type" : "boolean"
10749 },
44660702
DM
10750 "trans" : {
10751 "description" : "Force disk geometry bios translation mode.",
10752 "enum" : [
10753 "none",
10754 "lba",
10755 "auto"
10756 ],
56122987 10757 "optional" : 1,
44660702
DM
10758 "type" : "string"
10759 },
10760 "volume" : {
10761 "alias" : "file"
56122987 10762 },
7aacca6f 10763 "werror" : {
44660702 10764 "description" : "Write error action.",
7aacca6f
DM
10765 "enum" : [
10766 "enospc",
10767 "ignore",
10768 "report",
10769 "stop"
10770 ],
56122987 10771 "optional" : 1,
44660702 10772 "type" : "string"
7aacca6f 10773 }
44660702
DM
10774 },
10775 "optional" : 1,
4bd7df8b 10776 "type" : "string",
25203dc1 10777 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
27a7acb2
DM
10778 },
10779 "ipconfig[n]" : {
10780 "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",
10781 "format" : "pve-qm-ipconfig",
10782 "optional" : 1,
10783 "type" : "string",
10784 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 10785 },
44660702 10786 "keyboard" : {
35a75dd3 10787 "default" : null,
5da3d723 10788 "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
10789 "enum" : [
10790 "de",
10791 "de-ch",
10792 "da",
10793 "en-gb",
10794 "en-us",
10795 "es",
10796 "fi",
10797 "fr",
10798 "fr-be",
10799 "fr-ca",
10800 "fr-ch",
10801 "hu",
10802 "is",
10803 "it",
10804 "ja",
10805 "lt",
10806 "mk",
10807 "nl",
10808 "no",
10809 "pl",
10810 "pt",
10811 "pt-br",
10812 "sv",
10813 "sl",
10814 "tr"
10815 ],
7aacca6f 10816 "optional" : 1,
44660702 10817 "type" : "string"
7aacca6f 10818 },
44660702 10819 "kvm" : {
7aacca6f 10820 "default" : 1,
44660702 10821 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 10822 "optional" : 1,
013dc89f
DM
10823 "type" : "boolean",
10824 "typetext" : "<boolean>"
7aacca6f 10825 },
44660702
DM
10826 "localtime" : {
10827 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 10828 "optional" : 1,
013dc89f
DM
10829 "type" : "boolean",
10830 "typetext" : "<boolean>"
7aacca6f 10831 },
44660702
DM
10832 "lock" : {
10833 "description" : "Lock/unlock the VM.",
10834 "enum" : [
44660702 10835 "backup",
5f26e15b
TL
10836 "clone",
10837 "create",
10838 "migrate",
10839 "rollback",
44660702 10840 "snapshot",
5f26e15b 10841 "snapshot-delete"
44660702 10842 ],
7aacca6f 10843 "optional" : 1,
44660702 10844 "type" : "string"
7aacca6f 10845 },
44660702 10846 "machine" : {
4d47f125 10847 "description" : "Specifies the Qemu machine type.",
44660702 10848 "maxLength" : 40,
7aacca6f 10849 "optional" : 1,
e2d681b3 10850 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702 10851 "type" : "string"
7aacca6f 10852 },
44660702
DM
10853 "memory" : {
10854 "default" : 512,
10855 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
10856 "minimum" : 16,
7aacca6f 10857 "optional" : 1,
4bd7df8b 10858 "type" : "integer",
013dc89f 10859 "typetext" : "<integer> (16 - N)"
7aacca6f 10860 },
44660702
DM
10861 "migrate_downtime" : {
10862 "default" : 0.1,
10863 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
10864 "minimum" : 0,
7aacca6f 10865 "optional" : 1,
4bd7df8b 10866 "type" : "number",
013dc89f 10867 "typetext" : "<number> (0 - N)"
7aacca6f 10868 },
44660702 10869 "migrate_speed" : {
7aacca6f 10870 "default" : 0,
44660702
DM
10871 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
10872 "minimum" : 0,
10873 "optional" : 1,
4bd7df8b 10874 "type" : "integer",
013dc89f 10875 "typetext" : "<integer> (0 - N)"
7aacca6f 10876 },
44660702
DM
10877 "name" : {
10878 "description" : "Set a name for the VM. Only used on the configuration web interface.",
10879 "format" : "dns-name",
7aacca6f 10880 "optional" : 1,
013dc89f
DM
10881 "type" : "string",
10882 "typetext" : "<string>"
7aacca6f 10883 },
27a7acb2
DM
10884 "nameserver" : {
10885 "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.",
10886 "format" : "address-list",
10887 "optional" : 1,
10888 "type" : "string",
10889 "typetext" : "<string>"
10890 },
44660702 10891 "net[n]" : {
c2993fe5 10892 "description" : "Specify network devices.",
f004f5b9
DM
10893 "format" : {
10894 "bridge" : {
c2993fe5 10895 "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
10896 "format_description" : "bridge",
10897 "optional" : 1,
10898 "type" : "string"
10899 },
10900 "e1000" : {
10901 "alias" : "macaddr",
10902 "keyAlias" : "model"
10903 },
10904 "e1000-82540em" : {
10905 "alias" : "macaddr",
10906 "keyAlias" : "model"
10907 },
10908 "e1000-82544gc" : {
10909 "alias" : "macaddr",
10910 "keyAlias" : "model"
10911 },
10912 "e1000-82545em" : {
10913 "alias" : "macaddr",
10914 "keyAlias" : "model"
10915 },
10916 "firewall" : {
10917 "description" : "Whether this interface should be protected by the firewall.",
10918 "optional" : 1,
10919 "type" : "boolean"
10920 },
10921 "i82551" : {
10922 "alias" : "macaddr",
10923 "keyAlias" : "model"
10924 },
10925 "i82557b" : {
10926 "alias" : "macaddr",
10927 "keyAlias" : "model"
10928 },
10929 "i82559er" : {
10930 "alias" : "macaddr",
10931 "keyAlias" : "model"
10932 },
10933 "link_down" : {
c2993fe5 10934 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
10935 "optional" : 1,
10936 "type" : "boolean"
10937 },
10938 "macaddr" : {
c2993fe5 10939 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 10940 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
10941 "optional" : 1,
10942 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
10943 "type" : "string"
10944 },
10945 "model" : {
10946 "default_key" : 1,
c2993fe5 10947 "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
10948 "enum" : [
10949 "rtl8139",
10950 "ne2k_pci",
10951 "e1000",
10952 "pcnet",
10953 "virtio",
10954 "ne2k_isa",
10955 "i82551",
10956 "i82557b",
10957 "i82559er",
10958 "vmxnet3",
10959 "e1000-82540em",
10960 "e1000-82544gc",
10961 "e1000-82545em"
10962 ],
f004f5b9
DM
10963 "type" : "string"
10964 },
10965 "ne2k_isa" : {
10966 "alias" : "macaddr",
10967 "keyAlias" : "model"
10968 },
10969 "ne2k_pci" : {
10970 "alias" : "macaddr",
10971 "keyAlias" : "model"
10972 },
10973 "pcnet" : {
10974 "alias" : "macaddr",
10975 "keyAlias" : "model"
10976 },
10977 "queues" : {
10978 "description" : "Number of packet queues to be used on the device.",
10979 "maximum" : 16,
10980 "minimum" : 0,
10981 "optional" : 1,
10982 "type" : "integer"
10983 },
10984 "rate" : {
c2993fe5 10985 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
10986 "minimum" : 0,
10987 "optional" : 1,
10988 "type" : "number"
10989 },
10990 "rtl8139" : {
10991 "alias" : "macaddr",
10992 "keyAlias" : "model"
10993 },
10994 "tag" : {
10995 "description" : "VLAN tag to apply to packets on this interface.",
10996 "maximum" : 4094,
c2993fe5 10997 "minimum" : 1,
f004f5b9
DM
10998 "optional" : 1,
10999 "type" : "integer"
11000 },
11001 "trunks" : {
11002 "description" : "VLAN trunks to pass through this interface.",
11003 "format_description" : "vlanid[;vlanid...]",
11004 "optional" : 1,
11005 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11006 "type" : "string"
11007 },
11008 "virtio" : {
11009 "alias" : "macaddr",
11010 "keyAlias" : "model"
11011 },
11012 "vmxnet3" : {
11013 "alias" : "macaddr",
11014 "keyAlias" : "model"
11015 }
11016 },
7aacca6f 11017 "optional" : 1,
4bd7df8b 11018 "type" : "string",
013dc89f 11019 "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 11020 },
44660702
DM
11021 "node" : {
11022 "description" : "The cluster node name.",
11023 "format" : "pve-node",
013dc89f
DM
11024 "type" : "string",
11025 "typetext" : "<string>"
44660702
DM
11026 },
11027 "numa" : {
11028 "default" : 0,
11029 "description" : "Enable/disable NUMA.",
7aacca6f 11030 "optional" : 1,
013dc89f
DM
11031 "type" : "boolean",
11032 "typetext" : "<boolean>"
7aacca6f 11033 },
44660702 11034 "numa[n]" : {
c2993fe5 11035 "description" : "NUMA topology.",
44660702
DM
11036 "format" : {
11037 "cpus" : {
c2993fe5 11038 "description" : "CPUs accessing this NUMA node.",
44660702
DM
11039 "format_description" : "id[-id];...",
11040 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11041 "type" : "string"
11042 },
11043 "hostnodes" : {
c2993fe5 11044 "description" : "Host NUMA nodes to use.",
44660702
DM
11045 "format_description" : "id[-id];...",
11046 "optional" : 1,
11047 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11048 "type" : "string"
11049 },
11050 "memory" : {
c2993fe5 11051 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
11052 "optional" : 1,
11053 "type" : "number"
11054 },
11055 "policy" : {
c2993fe5 11056 "description" : "NUMA allocation policy.",
44660702
DM
11057 "enum" : [
11058 "preferred",
11059 "bind",
11060 "interleave"
11061 ],
44660702
DM
11062 "optional" : 1,
11063 "type" : "string"
11064 }
11065 },
7aacca6f 11066 "optional" : 1,
4bd7df8b
DM
11067 "type" : "string",
11068 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 11069 },
44660702
DM
11070 "onboot" : {
11071 "default" : 0,
11072 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 11073 "optional" : 1,
013dc89f
DM
11074 "type" : "boolean",
11075 "typetext" : "<boolean>"
7aacca6f 11076 },
44660702 11077 "ostype" : {
c2993fe5 11078 "description" : "Specify guest operating system.",
44660702
DM
11079 "enum" : [
11080 "other",
11081 "wxp",
11082 "w2k",
11083 "w2k3",
11084 "w2k8",
11085 "wvista",
11086 "win7",
11087 "win8",
32d876b5 11088 "win10",
44660702
DM
11089 "l24",
11090 "l26",
11091 "solaris"
11092 ],
7aacca6f 11093 "optional" : 1,
c2993fe5 11094 "type" : "string",
35a75dd3 11095 "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 11096 },
44660702 11097 "parallel[n]" : {
c2993fe5 11098 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 11099 "optional" : 1,
44660702 11100 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
11101 "type" : "string",
11102 "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 11103 },
44660702
DM
11104 "protection" : {
11105 "default" : 0,
c2993fe5 11106 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 11107 "optional" : 1,
013dc89f
DM
11108 "type" : "boolean",
11109 "typetext" : "<boolean>"
7aacca6f 11110 },
44660702
DM
11111 "reboot" : {
11112 "default" : 1,
11113 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 11114 "optional" : 1,
013dc89f
DM
11115 "type" : "boolean",
11116 "typetext" : "<boolean>"
7aacca6f 11117 },
44660702
DM
11118 "revert" : {
11119 "description" : "Revert a pending change.",
11120 "format" : "pve-configid-list",
7aacca6f 11121 "optional" : 1,
013dc89f
DM
11122 "type" : "string",
11123 "typetext" : "<string>"
7aacca6f 11124 },
44660702
DM
11125 "sata[n]" : {
11126 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 11127 "format" : {
44660702
DM
11128 "aio" : {
11129 "description" : "AIO type to use.",
11130 "enum" : [
11131 "native",
11132 "threads"
11133 ],
44660702
DM
11134 "optional" : 1,
11135 "type" : "string"
11136 },
11137 "backup" : {
11138 "description" : "Whether the drive should be included when making backups.",
44660702
DM
11139 "optional" : 1,
11140 "type" : "boolean"
11141 },
11142 "bps" : {
de0983cb 11143 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 11144 "format_description" : "bps",
7aacca6f
DM
11145 "optional" : 1,
11146 "type" : "integer"
56122987 11147 },
de0983cb
DM
11148 "bps_max_length" : {
11149 "description" : "Maximum length of I/O bursts in seconds.",
11150 "format_description" : "seconds",
11151 "minimum" : 1,
11152 "optional" : 1,
11153 "type" : "integer"
11154 },
44660702 11155 "bps_rd" : {
de0983cb 11156 "description" : "Maximum read speed in bytes per second.",
44660702 11157 "format_description" : "bps",
7aacca6f 11158 "optional" : 1,
44660702 11159 "type" : "integer"
7aacca6f 11160 },
de0983cb 11161 "bps_rd_length" : {
5d9c884c
DM
11162 "alias" : "bps_rd_max_length"
11163 },
11164 "bps_rd_max_length" : {
de0983cb
DM
11165 "description" : "Maximum length of read I/O bursts in seconds.",
11166 "format_description" : "seconds",
11167 "minimum" : 1,
11168 "optional" : 1,
11169 "type" : "integer"
11170 },
44660702 11171 "bps_wr" : {
de0983cb 11172 "description" : "Maximum write speed in bytes per second.",
44660702 11173 "format_description" : "bps",
7aacca6f 11174 "optional" : 1,
44660702 11175 "type" : "integer"
7aacca6f 11176 },
de0983cb 11177 "bps_wr_length" : {
5d9c884c
DM
11178 "alias" : "bps_wr_max_length"
11179 },
11180 "bps_wr_max_length" : {
de0983cb
DM
11181 "description" : "Maximum length of write I/O bursts in seconds.",
11182 "format_description" : "seconds",
11183 "minimum" : 1,
11184 "optional" : 1,
11185 "type" : "integer"
11186 },
44660702
DM
11187 "cache" : {
11188 "description" : "The drive's cache mode",
11189 "enum" : [
11190 "none",
11191 "writethrough",
11192 "writeback",
11193 "unsafe",
11194 "directsync"
11195 ],
7aacca6f 11196 "optional" : 1,
44660702 11197 "type" : "string"
7aacca6f 11198 },
44660702
DM
11199 "cyls" : {
11200 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 11201 "optional" : 1,
44660702 11202 "type" : "integer"
7aacca6f 11203 },
44660702
DM
11204 "detect_zeroes" : {
11205 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 11206 "optional" : 1,
44660702 11207 "type" : "boolean"
7aacca6f 11208 },
44660702
DM
11209 "discard" : {
11210 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11211 "enum" : [
11212 "ignore",
11213 "on"
11214 ],
7aacca6f 11215 "optional" : 1,
44660702
DM
11216 "type" : "string"
11217 },
11218 "file" : {
11219 "default_key" : 1,
11220 "description" : "The drive's backing volume.",
11221 "format" : "pve-volume-id-or-qm-path",
11222 "format_description" : "volume",
11223 "type" : "string"
7aacca6f
DM
11224 },
11225 "format" : {
7aacca6f 11226 "description" : "The drive's backing file's data format.",
56122987
DM
11227 "enum" : [
11228 "raw",
11229 "cow",
11230 "qcow",
11231 "qed",
11232 "qcow2",
11233 "vmdk",
11234 "cloop"
11235 ],
11236 "optional" : 1,
7aacca6f 11237 "type" : "string"
56122987 11238 },
7aacca6f 11239 "heads" : {
7aacca6f 11240 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11241 "optional" : 1,
11242 "type" : "integer"
56122987 11243 },
44660702 11244 "iops" : {
de0983cb 11245 "description" : "Maximum r/w I/O in operations per second.",
44660702 11246 "format_description" : "iops",
56122987 11247 "optional" : 1,
44660702 11248 "type" : "integer"
7aacca6f 11249 },
44660702 11250 "iops_max" : {
de0983cb 11251 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11252 "format_description" : "iops",
7aacca6f 11253 "optional" : 1,
44660702 11254 "type" : "integer"
56122987 11255 },
de0983cb
DM
11256 "iops_max_length" : {
11257 "description" : "Maximum length of I/O bursts in seconds.",
11258 "format_description" : "seconds",
11259 "minimum" : 1,
11260 "optional" : 1,
11261 "type" : "integer"
11262 },
44660702 11263 "iops_rd" : {
de0983cb 11264 "description" : "Maximum read I/O in operations per second.",
44660702 11265 "format_description" : "iops",
56122987 11266 "optional" : 1,
44660702 11267 "type" : "integer"
7aacca6f 11268 },
de0983cb 11269 "iops_rd_length" : {
5d9c884c 11270 "alias" : "iops_rd_max_length"
de0983cb 11271 },
44660702 11272 "iops_rd_max" : {
de0983cb 11273 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11274 "format_description" : "iops",
56122987 11275 "optional" : 1,
44660702 11276 "type" : "integer"
56122987 11277 },
5d9c884c
DM
11278 "iops_rd_max_length" : {
11279 "description" : "Maximum length of read I/O bursts in seconds.",
11280 "format_description" : "seconds",
11281 "minimum" : 1,
11282 "optional" : 1,
11283 "type" : "integer"
11284 },
44660702 11285 "iops_wr" : {
de0983cb 11286 "description" : "Maximum write I/O in operations per second.",
44660702
DM
11287 "format_description" : "iops",
11288 "optional" : 1,
11289 "type" : "integer"
56122987 11290 },
de0983cb 11291 "iops_wr_length" : {
5d9c884c 11292 "alias" : "iops_wr_max_length"
de0983cb 11293 },
44660702 11294 "iops_wr_max" : {
de0983cb 11295 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
11296 "format_description" : "iops",
11297 "optional" : 1,
11298 "type" : "integer"
11299 },
5d9c884c
DM
11300 "iops_wr_max_length" : {
11301 "description" : "Maximum length of write I/O bursts in seconds.",
11302 "format_description" : "seconds",
11303 "minimum" : 1,
11304 "optional" : 1,
11305 "type" : "integer"
11306 },
44660702 11307 "mbps" : {
de0983cb 11308 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
11309 "format_description" : "mbps",
11310 "optional" : 1,
11311 "type" : "number"
11312 },
11313 "mbps_max" : {
de0983cb 11314 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
11315 "format_description" : "mbps",
11316 "optional" : 1,
11317 "type" : "number"
11318 },
11319 "mbps_rd" : {
de0983cb 11320 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
11321 "format_description" : "mbps",
11322 "optional" : 1,
11323 "type" : "number"
11324 },
11325 "mbps_rd_max" : {
de0983cb 11326 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11327 "format_description" : "mbps",
11328 "optional" : 1,
11329 "type" : "number"
11330 },
11331 "mbps_wr" : {
de0983cb 11332 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11333 "format_description" : "mbps",
11334 "optional" : 1,
11335 "type" : "number"
11336 },
11337 "mbps_wr_max" : {
de0983cb 11338 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11339 "format_description" : "mbps",
11340 "optional" : 1,
11341 "type" : "number"
11342 },
11343 "media" : {
11344 "default" : "disk",
11345 "description" : "The drive's media type.",
11346 "enum" : [
11347 "cdrom",
11348 "disk"
11349 ],
56122987 11350 "optional" : 1,
44660702
DM
11351 "type" : "string"
11352 },
5d9c884c
DM
11353 "replicate" : {
11354 "default" : 1,
11355 "description" : "Whether the drive should considered for replication jobs.",
11356 "optional" : 1,
11357 "type" : "boolean"
11358 },
44660702 11359 "rerror" : {
7aacca6f
DM
11360 "description" : "Read error action.",
11361 "enum" : [
11362 "ignore",
11363 "report",
11364 "stop"
44660702 11365 ],
56122987 11366 "optional" : 1,
44660702 11367 "type" : "string"
56122987 11368 },
7aacca6f 11369 "secs" : {
44660702 11370 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11371 "optional" : 1,
44660702 11372 "type" : "integer"
56122987 11373 },
44660702
DM
11374 "serial" : {
11375 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11376 "format" : "urlencoded",
11377 "format_description" : "serial",
11378 "maxLength" : 60,
56122987 11379 "optional" : 1,
44660702 11380 "type" : "string"
56122987 11381 },
27a7acb2
DM
11382 "shared" : {
11383 "default" : 0,
11384 "description" : "Mark this locally-managed volume as available on all nodes",
11385 "optional" : 1,
11386 "type" : "boolean",
11387 "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!"
11388 },
44660702
DM
11389 "size" : {
11390 "description" : "Disk size. This is purely informational and has no effect.",
11391 "format" : "disk-size",
f004f5b9 11392 "format_description" : "DiskSize",
56122987 11393 "optional" : 1,
44660702 11394 "type" : "string"
56122987
DM
11395 },
11396 "snapshot" : {
27a7acb2 11397 "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 11398 "optional" : 1,
44660702 11399 "type" : "boolean"
56122987 11400 },
25203dc1
NC
11401 "ssd" : {
11402 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11403 "optional" : 1,
11404 "type" : "boolean"
11405 },
56122987 11406 "trans" : {
7aacca6f 11407 "description" : "Force disk geometry bios translation mode.",
56122987
DM
11408 "enum" : [
11409 "none",
11410 "lba",
11411 "auto"
11412 ],
11413 "optional" : 1,
44660702 11414 "type" : "string"
56122987 11415 },
44660702
DM
11416 "volume" : {
11417 "alias" : "file"
56122987 11418 },
7aacca6f 11419 "werror" : {
44660702 11420 "description" : "Write error action.",
56122987 11421 "enum" : [
7aacca6f 11422 "enospc",
56122987 11423 "ignore",
7aacca6f
DM
11424 "report",
11425 "stop"
11426 ],
7aacca6f 11427 "optional" : 1,
44660702
DM
11428 "type" : "string"
11429 }
11430 },
11431 "optional" : 1,
4bd7df8b 11432 "type" : "string",
25203dc1 11433 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
11434 },
11435 "scsi[n]" : {
11436 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
11437 "format" : {
11438 "aio" : {
7aacca6f 11439 "description" : "AIO type to use.",
56122987
DM
11440 "enum" : [
11441 "native",
11442 "threads"
44660702 11443 ],
56122987 11444 "optional" : 1,
44660702 11445 "type" : "string"
56122987 11446 },
7aacca6f 11447 "backup" : {
7aacca6f 11448 "description" : "Whether the drive should be included when making backups.",
7aacca6f 11449 "optional" : 1,
44660702 11450 "type" : "boolean"
56122987 11451 },
44660702 11452 "bps" : {
de0983cb 11453 "description" : "Maximum r/w speed in bytes per second.",
44660702 11454 "format_description" : "bps",
7aacca6f 11455 "optional" : 1,
44660702 11456 "type" : "integer"
7aacca6f 11457 },
de0983cb
DM
11458 "bps_max_length" : {
11459 "description" : "Maximum length of I/O bursts in seconds.",
11460 "format_description" : "seconds",
11461 "minimum" : 1,
11462 "optional" : 1,
11463 "type" : "integer"
11464 },
44660702 11465 "bps_rd" : {
de0983cb 11466 "description" : "Maximum read speed in bytes per second.",
44660702 11467 "format_description" : "bps",
56122987 11468 "optional" : 1,
44660702 11469 "type" : "integer"
56122987 11470 },
de0983cb 11471 "bps_rd_length" : {
5d9c884c
DM
11472 "alias" : "bps_rd_max_length"
11473 },
11474 "bps_rd_max_length" : {
de0983cb
DM
11475 "description" : "Maximum length of read I/O bursts in seconds.",
11476 "format_description" : "seconds",
11477 "minimum" : 1,
11478 "optional" : 1,
11479 "type" : "integer"
11480 },
44660702 11481 "bps_wr" : {
de0983cb 11482 "description" : "Maximum write speed in bytes per second.",
44660702 11483 "format_description" : "bps",
56122987 11484 "optional" : 1,
44660702 11485 "type" : "integer"
56122987 11486 },
de0983cb 11487 "bps_wr_length" : {
5d9c884c
DM
11488 "alias" : "bps_wr_max_length"
11489 },
11490 "bps_wr_max_length" : {
de0983cb
DM
11491 "description" : "Maximum length of write I/O bursts in seconds.",
11492 "format_description" : "seconds",
11493 "minimum" : 1,
11494 "optional" : 1,
11495 "type" : "integer"
11496 },
44660702
DM
11497 "cache" : {
11498 "description" : "The drive's cache mode",
11499 "enum" : [
11500 "none",
11501 "writethrough",
11502 "writeback",
11503 "unsafe",
11504 "directsync"
11505 ],
56122987 11506 "optional" : 1,
44660702
DM
11507 "type" : "string"
11508 },
11509 "cyls" : {
11510 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11511 "optional" : 1,
11512 "type" : "integer"
11513 },
11514 "detect_zeroes" : {
11515 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11516 "optional" : 1,
11517 "type" : "boolean"
11518 },
11519 "discard" : {
11520 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11521 "enum" : [
11522 "ignore",
11523 "on"
11524 ],
44660702
DM
11525 "optional" : 1,
11526 "type" : "string"
11527 },
11528 "file" : {
11529 "default_key" : 1,
11530 "description" : "The drive's backing volume.",
11531 "format" : "pve-volume-id-or-qm-path",
11532 "format_description" : "volume",
11533 "type" : "string"
56122987 11534 },
7aacca6f 11535 "format" : {
44660702 11536 "description" : "The drive's backing file's data format.",
7aacca6f
DM
11537 "enum" : [
11538 "raw",
11539 "cow",
11540 "qcow",
11541 "qed",
11542 "qcow2",
11543 "vmdk",
11544 "cloop"
11545 ],
56122987 11546 "optional" : 1,
44660702 11547 "type" : "string"
56122987 11548 },
44660702
DM
11549 "heads" : {
11550 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11551 "optional" : 1,
44660702 11552 "type" : "integer"
56122987 11553 },
44660702 11554 "iops" : {
de0983cb 11555 "description" : "Maximum r/w I/O in operations per second.",
44660702 11556 "format_description" : "iops",
7aacca6f 11557 "optional" : 1,
44660702 11558 "type" : "integer"
56122987 11559 },
44660702 11560 "iops_max" : {
de0983cb 11561 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 11562 "format_description" : "iops",
7aacca6f 11563 "optional" : 1,
44660702 11564 "type" : "integer"
56122987 11565 },
de0983cb
DM
11566 "iops_max_length" : {
11567 "description" : "Maximum length of I/O bursts in seconds.",
11568 "format_description" : "seconds",
11569 "minimum" : 1,
11570 "optional" : 1,
11571 "type" : "integer"
11572 },
44660702 11573 "iops_rd" : {
de0983cb 11574 "description" : "Maximum read I/O in operations per second.",
44660702 11575 "format_description" : "iops",
56122987 11576 "optional" : 1,
44660702 11577 "type" : "integer"
56122987 11578 },
de0983cb 11579 "iops_rd_length" : {
5d9c884c 11580 "alias" : "iops_rd_max_length"
de0983cb 11581 },
44660702 11582 "iops_rd_max" : {
de0983cb 11583 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11584 "format_description" : "iops",
56122987 11585 "optional" : 1,
44660702 11586 "type" : "integer"
56122987 11587 },
5d9c884c
DM
11588 "iops_rd_max_length" : {
11589 "description" : "Maximum length of read I/O bursts in seconds.",
11590 "format_description" : "seconds",
11591 "minimum" : 1,
11592 "optional" : 1,
11593 "type" : "integer"
11594 },
44660702 11595 "iops_wr" : {
de0983cb 11596 "description" : "Maximum write I/O in operations per second.",
44660702 11597 "format_description" : "iops",
56122987 11598 "optional" : 1,
44660702 11599 "type" : "integer"
56122987 11600 },
de0983cb 11601 "iops_wr_length" : {
5d9c884c 11602 "alias" : "iops_wr_max_length"
de0983cb 11603 },
44660702 11604 "iops_wr_max" : {
de0983cb 11605 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 11606 "format_description" : "iops",
44660702
DM
11607 "optional" : 1,
11608 "type" : "integer"
7aacca6f 11609 },
5d9c884c
DM
11610 "iops_wr_max_length" : {
11611 "description" : "Maximum length of write I/O bursts in seconds.",
11612 "format_description" : "seconds",
11613 "minimum" : 1,
11614 "optional" : 1,
11615 "type" : "integer"
11616 },
7aacca6f 11617 "iothread" : {
44660702 11618 "description" : "Whether to use iothreads for this drive",
56122987 11619 "optional" : 1,
44660702 11620 "type" : "boolean"
56122987 11621 },
44660702 11622 "mbps" : {
de0983cb 11623 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11624 "format_description" : "mbps",
56122987 11625 "optional" : 1,
44660702 11626 "type" : "number"
56122987 11627 },
44660702 11628 "mbps_max" : {
de0983cb 11629 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11630 "format_description" : "mbps",
56122987 11631 "optional" : 1,
44660702 11632 "type" : "number"
56122987 11633 },
44660702 11634 "mbps_rd" : {
de0983cb 11635 "description" : "Maximum read speed in megabytes per second.",
44660702 11636 "format_description" : "mbps",
7aacca6f 11637 "optional" : 1,
44660702 11638 "type" : "number"
56122987 11639 },
44660702 11640 "mbps_rd_max" : {
de0983cb 11641 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11642 "format_description" : "mbps",
7aacca6f 11643 "optional" : 1,
44660702 11644 "type" : "number"
7aacca6f 11645 },
44660702 11646 "mbps_wr" : {
de0983cb 11647 "description" : "Maximum write speed in megabytes per second.",
44660702 11648 "format_description" : "mbps",
56122987 11649 "optional" : 1,
44660702 11650 "type" : "number"
56122987 11651 },
44660702 11652 "mbps_wr_max" : {
de0983cb 11653 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11654 "format_description" : "mbps",
56122987 11655 "optional" : 1,
44660702
DM
11656 "type" : "number"
11657 },
11658 "media" : {
11659 "default" : "disk",
11660 "description" : "The drive's media type.",
7aacca6f 11661 "enum" : [
44660702
DM
11662 "cdrom",
11663 "disk"
7aacca6f 11664 ],
56122987 11665 "optional" : 1,
44660702 11666 "type" : "string"
56122987 11667 },
7aacca6f 11668 "queues" : {
44660702 11669 "description" : "Number of queues.",
7aacca6f 11670 "minimum" : 2,
7aacca6f
DM
11671 "optional" : 1,
11672 "type" : "integer"
56122987 11673 },
5d9c884c
DM
11674 "replicate" : {
11675 "default" : 1,
11676 "description" : "Whether the drive should considered for replication jobs.",
11677 "optional" : 1,
11678 "type" : "boolean"
11679 },
11680 "rerror" : {
11681 "description" : "Read error action.",
11682 "enum" : [
11683 "ignore",
11684 "report",
11685 "stop"
11686 ],
11687 "optional" : 1,
11688 "type" : "string"
11689 },
52e44c50
FG
11690 "scsiblock" : {
11691 "default" : 0,
11692 "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",
11693 "optional" : 1,
11694 "type" : "boolean"
11695 },
44660702
DM
11696 "secs" : {
11697 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11698 "optional" : 1,
44660702 11699 "type" : "integer"
56122987 11700 },
44660702
DM
11701 "serial" : {
11702 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11703 "format" : "urlencoded",
11704 "format_description" : "serial",
11705 "maxLength" : 60,
56122987 11706 "optional" : 1,
44660702 11707 "type" : "string"
56122987 11708 },
27a7acb2
DM
11709 "shared" : {
11710 "default" : 0,
11711 "description" : "Mark this locally-managed volume as available on all nodes",
11712 "optional" : 1,
11713 "type" : "boolean",
11714 "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!"
11715 },
44660702
DM
11716 "size" : {
11717 "description" : "Disk size. This is purely informational and has no effect.",
11718 "format" : "disk-size",
f004f5b9 11719 "format_description" : "DiskSize",
44660702
DM
11720 "optional" : 1,
11721 "type" : "string"
11722 },
11723 "snapshot" : {
27a7acb2 11724 "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 11725 "optional" : 1,
44660702
DM
11726 "type" : "boolean"
11727 },
25203dc1
NC
11728 "ssd" : {
11729 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11730 "optional" : 1,
11731 "type" : "boolean"
11732 },
44660702
DM
11733 "trans" : {
11734 "description" : "Force disk geometry bios translation mode.",
56122987 11735 "enum" : [
44660702
DM
11736 "none",
11737 "lba",
11738 "auto"
56122987 11739 ],
44660702
DM
11740 "optional" : 1,
11741 "type" : "string"
11742 },
11743 "volume" : {
11744 "alias" : "file"
56122987 11745 },
7aacca6f 11746 "werror" : {
7aacca6f
DM
11747 "description" : "Write error action.",
11748 "enum" : [
11749 "enospc",
11750 "ignore",
11751 "report",
11752 "stop"
44660702 11753 ],
56122987 11754 "optional" : 1,
7aacca6f 11755 "type" : "string"
56122987 11756 }
44660702 11757 },
56122987 11758 "optional" : 1,
4bd7df8b 11759 "type" : "string",
25203dc1 11760 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987
DM
11761 },
11762 "scsihw" : {
44660702 11763 "default" : "lsi",
c2993fe5 11764 "description" : "SCSI controller model",
56122987
DM
11765 "enum" : [
11766 "lsi",
11767 "lsi53c810",
11768 "virtio-scsi-pci",
11769 "virtio-scsi-single",
11770 "megasas",
11771 "pvscsi"
11772 ],
11773 "optional" : 1,
56122987
DM
11774 "type" : "string"
11775 },
27a7acb2
DM
11776 "searchdomain" : {
11777 "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.",
11778 "optional" : 1,
11779 "type" : "string",
11780 "typetext" : "<string>"
11781 },
44660702 11782 "serial[n]" : {
c2993fe5 11783 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 11784 "optional" : 1,
44660702 11785 "pattern" : "(/dev/.+|socket)",
c2993fe5 11786 "type" : "string",
57b78691 11787 "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 11788 },
44660702
DM
11789 "shares" : {
11790 "default" : 1000,
5da3d723 11791 "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
11792 "maximum" : 50000,
11793 "minimum" : 0,
7aacca6f 11794 "optional" : 1,
4bd7df8b 11795 "type" : "integer",
013dc89f 11796 "typetext" : "<integer> (0 - 50000)"
56122987 11797 },
7aacca6f
DM
11798 "skiplock" : {
11799 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 11800 "optional" : 1,
013dc89f
DM
11801 "type" : "boolean",
11802 "typetext" : "<boolean>"
56122987 11803 },
44660702
DM
11804 "smbios1" : {
11805 "description" : "Specify SMBIOS type 1 fields.",
11806 "format" : "pve-qm-smbios1",
11807 "maxLength" : 256,
56122987 11808 "optional" : 1,
4bd7df8b
DM
11809 "type" : "string",
11810 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 11811 },
44660702
DM
11812 "smp" : {
11813 "default" : 1,
11814 "description" : "The number of CPUs. Please use option -sockets instead.",
11815 "minimum" : 1,
56122987 11816 "optional" : 1,
4bd7df8b 11817 "type" : "integer",
013dc89f 11818 "typetext" : "<integer> (1 - N)"
56122987 11819 },
44660702
DM
11820 "sockets" : {
11821 "default" : 1,
11822 "description" : "The number of CPU sockets.",
11823 "minimum" : 1,
56122987 11824 "optional" : 1,
4bd7df8b 11825 "type" : "integer",
013dc89f 11826 "typetext" : "<integer> (1 - N)"
56122987 11827 },
27a7acb2
DM
11828 "sshkeys" : {
11829 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
11830 "format" : "urlencoded",
11831 "optional" : 1,
11832 "type" : "string",
11833 "typetext" : "<string>"
11834 },
44660702
DM
11835 "startdate" : {
11836 "default" : "now",
11837 "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'.",
11838 "optional" : 1,
11839 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 11840 "type" : "string",
44660702
DM
11841 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
11842 },
11843 "startup" : {
11844 "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.",
11845 "format" : "pve-startup-order",
7aacca6f 11846 "optional" : 1,
44660702
DM
11847 "type" : "string",
11848 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 11849 },
44660702
DM
11850 "tablet" : {
11851 "default" : 1,
c2993fe5 11852 "description" : "Enable/disable the USB tablet device.",
7aacca6f 11853 "optional" : 1,
c2993fe5 11854 "type" : "boolean",
013dc89f 11855 "typetext" : "<boolean>",
c2993fe5 11856 "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 11857 },
44660702
DM
11858 "tdf" : {
11859 "default" : 0,
11860 "description" : "Enable/disable time drift fix.",
7aacca6f 11861 "optional" : 1,
013dc89f
DM
11862 "type" : "boolean",
11863 "typetext" : "<boolean>"
7aacca6f 11864 },
44660702
DM
11865 "template" : {
11866 "default" : 0,
11867 "description" : "Enable/disable Template.",
7aacca6f 11868 "optional" : 1,
013dc89f
DM
11869 "type" : "boolean",
11870 "typetext" : "<boolean>"
7aacca6f 11871 },
44660702 11872 "unused[n]" : {
c2993fe5 11873 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 11874 "format" : "pve-volume-id",
7aacca6f 11875 "optional" : 1,
013dc89f
DM
11876 "type" : "string",
11877 "typetext" : "<string>"
7aacca6f 11878 },
44660702 11879 "usb[n]" : {
c2993fe5 11880 "description" : "Configure an USB device (n is 0 to 4).",
56122987 11881 "format" : {
44660702
DM
11882 "host" : {
11883 "default_key" : 1,
c2993fe5 11884 "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
11885 "format" : "pve-qm-usb-device",
11886 "format_description" : "HOSTUSBDEVICE|spice",
11887 "type" : "string"
7aacca6f 11888 },
44660702 11889 "usb3" : {
c2993fe5
DM
11890 "default" : 0,
11891 "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 11892 "optional" : 1,
44660702 11893 "type" : "boolean"
7aacca6f 11894 }
44660702 11895 },
7aacca6f 11896 "optional" : 1,
4bd7df8b
DM
11897 "type" : "string",
11898 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 11899 },
44660702 11900 "vcpus" : {
7aacca6f 11901 "default" : 0,
44660702
DM
11902 "description" : "Number of hotplugged vcpus.",
11903 "minimum" : 1,
7aacca6f 11904 "optional" : 1,
4bd7df8b 11905 "type" : "integer",
013dc89f 11906 "typetext" : "<integer> (1 - N)"
7aacca6f 11907 },
44660702 11908 "vga" : {
e2d681b3
TL
11909 "description" : "Configure the VGA hardware.",
11910 "format" : {
11911 "memory" : {
11912 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
11913 "maximum" : 512,
11914 "minimum" : 4,
11915 "optional" : 1,
11916 "type" : "integer"
11917 },
11918 "type" : {
11919 "default" : "std",
11920 "default_key" : 1,
11921 "description" : "Select the VGA type.",
11922 "enum" : [
11923 "cirrus",
11924 "qxl",
11925 "qxl2",
11926 "qxl3",
11927 "qxl4",
5f26e15b 11928 "none",
e2d681b3
TL
11929 "serial0",
11930 "serial1",
11931 "serial2",
11932 "serial3",
11933 "std",
11934 "virtio",
11935 "vmware"
11936 ],
11937 "optional" : 1,
11938 "type" : "string"
11939 }
11940 },
7aacca6f 11941 "optional" : 1,
c2993fe5 11942 "type" : "string",
e2d681b3
TL
11943 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
11944 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
7aacca6f 11945 },
44660702
DM
11946 "virtio[n]" : {
11947 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 11948 "format" : {
7aacca6f 11949 "aio" : {
7aacca6f 11950 "description" : "AIO type to use.",
56122987 11951 "enum" : [
7aacca6f
DM
11952 "native",
11953 "threads"
7aacca6f 11954 ],
44660702
DM
11955 "optional" : 1,
11956 "type" : "string"
56122987 11957 },
44660702
DM
11958 "backup" : {
11959 "description" : "Whether the drive should be included when making backups.",
56122987 11960 "optional" : 1,
44660702 11961 "type" : "boolean"
7aacca6f 11962 },
44660702 11963 "bps" : {
de0983cb 11964 "description" : "Maximum r/w speed in bytes per second.",
44660702 11965 "format_description" : "bps",
7aacca6f 11966 "optional" : 1,
44660702 11967 "type" : "integer"
56122987 11968 },
de0983cb
DM
11969 "bps_max_length" : {
11970 "description" : "Maximum length of I/O bursts in seconds.",
11971 "format_description" : "seconds",
11972 "minimum" : 1,
11973 "optional" : 1,
11974 "type" : "integer"
11975 },
56122987 11976 "bps_rd" : {
de0983cb 11977 "description" : "Maximum read speed in bytes per second.",
44660702 11978 "format_description" : "bps",
56122987 11979 "optional" : 1,
7aacca6f 11980 "type" : "integer"
56122987 11981 },
de0983cb 11982 "bps_rd_length" : {
5d9c884c
DM
11983 "alias" : "bps_rd_max_length"
11984 },
11985 "bps_rd_max_length" : {
de0983cb
DM
11986 "description" : "Maximum length of read I/O bursts in seconds.",
11987 "format_description" : "seconds",
11988 "minimum" : 1,
11989 "optional" : 1,
11990 "type" : "integer"
11991 },
44660702 11992 "bps_wr" : {
de0983cb 11993 "description" : "Maximum write speed in bytes per second.",
44660702 11994 "format_description" : "bps",
56122987 11995 "optional" : 1,
7aacca6f 11996 "type" : "integer"
56122987 11997 },
de0983cb 11998 "bps_wr_length" : {
5d9c884c
DM
11999 "alias" : "bps_wr_max_length"
12000 },
12001 "bps_wr_max_length" : {
de0983cb
DM
12002 "description" : "Maximum length of write I/O bursts in seconds.",
12003 "format_description" : "seconds",
12004 "minimum" : 1,
12005 "optional" : 1,
12006 "type" : "integer"
12007 },
7aacca6f 12008 "cache" : {
44660702 12009 "description" : "The drive's cache mode",
7aacca6f
DM
12010 "enum" : [
12011 "none",
12012 "writethrough",
12013 "writeback",
12014 "unsafe",
12015 "directsync"
12016 ],
56122987 12017 "optional" : 1,
44660702 12018 "type" : "string"
7aacca6f 12019 },
44660702
DM
12020 "cyls" : {
12021 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12022 "optional" : 1,
12023 "type" : "integer"
12024 },
12025 "detect_zeroes" : {
12026 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12027 "optional" : 1,
12028 "type" : "boolean"
12029 },
12030 "discard" : {
12031 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 12032 "enum" : [
44660702
DM
12033 "ignore",
12034 "on"
56122987
DM
12035 ],
12036 "optional" : 1,
44660702 12037 "type" : "string"
56122987 12038 },
44660702
DM
12039 "file" : {
12040 "default_key" : 1,
12041 "description" : "The drive's backing volume.",
12042 "format" : "pve-volume-id-or-qm-path",
12043 "format_description" : "volume",
12044 "type" : "string"
12045 },
12046 "format" : {
12047 "description" : "The drive's backing file's data format.",
12048 "enum" : [
12049 "raw",
12050 "cow",
12051 "qcow",
12052 "qed",
12053 "qcow2",
12054 "vmdk",
12055 "cloop"
12056 ],
56122987 12057 "optional" : 1,
44660702 12058 "type" : "string"
56122987 12059 },
44660702
DM
12060 "heads" : {
12061 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12062 "optional" : 1,
12063 "type" : "integer"
12064 },
12065 "iops" : {
de0983cb 12066 "description" : "Maximum r/w I/O in operations per second.",
44660702 12067 "format_description" : "iops",
56122987 12068 "optional" : 1,
44660702
DM
12069 "type" : "integer"
12070 },
12071 "iops_max" : {
de0983cb 12072 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
12073 "format_description" : "iops",
12074 "optional" : 1,
12075 "type" : "integer"
56122987 12076 },
de0983cb
DM
12077 "iops_max_length" : {
12078 "description" : "Maximum length of I/O bursts in seconds.",
12079 "format_description" : "seconds",
12080 "minimum" : 1,
12081 "optional" : 1,
12082 "type" : "integer"
12083 },
7aacca6f 12084 "iops_rd" : {
de0983cb 12085 "description" : "Maximum read I/O in operations per second.",
7aacca6f 12086 "format_description" : "iops",
7aacca6f 12087 "optional" : 1,
44660702 12088 "type" : "integer"
56122987 12089 },
de0983cb 12090 "iops_rd_length" : {
5d9c884c 12091 "alias" : "iops_rd_max_length"
de0983cb 12092 },
44660702 12093 "iops_rd_max" : {
de0983cb 12094 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12095 "format_description" : "iops",
12096 "optional" : 1,
12097 "type" : "integer"
12098 },
5d9c884c
DM
12099 "iops_rd_max_length" : {
12100 "description" : "Maximum length of read I/O bursts in seconds.",
12101 "format_description" : "seconds",
12102 "minimum" : 1,
12103 "optional" : 1,
12104 "type" : "integer"
12105 },
44660702 12106 "iops_wr" : {
de0983cb 12107 "description" : "Maximum write I/O in operations per second.",
44660702
DM
12108 "format_description" : "iops",
12109 "optional" : 1,
12110 "type" : "integer"
12111 },
de0983cb 12112 "iops_wr_length" : {
5d9c884c 12113 "alias" : "iops_wr_max_length"
de0983cb 12114 },
44660702 12115 "iops_wr_max" : {
de0983cb 12116 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12117 "format_description" : "iops",
12118 "optional" : 1,
12119 "type" : "integer"
12120 },
5d9c884c
DM
12121 "iops_wr_max_length" : {
12122 "description" : "Maximum length of write I/O bursts in seconds.",
12123 "format_description" : "seconds",
12124 "minimum" : 1,
12125 "optional" : 1,
12126 "type" : "integer"
12127 },
44660702
DM
12128 "iothread" : {
12129 "description" : "Whether to use iothreads for this drive",
44660702
DM
12130 "optional" : 1,
12131 "type" : "boolean"
12132 },
12133 "mbps" : {
de0983cb 12134 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12135 "format_description" : "mbps",
7aacca6f 12136 "optional" : 1,
44660702 12137 "type" : "number"
7aacca6f
DM
12138 },
12139 "mbps_max" : {
de0983cb 12140 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12141 "format_description" : "mbps",
56122987 12142 "optional" : 1,
44660702 12143 "type" : "number"
56122987 12144 },
44660702 12145 "mbps_rd" : {
de0983cb 12146 "description" : "Maximum read speed in megabytes per second.",
44660702 12147 "format_description" : "mbps",
56122987 12148 "optional" : 1,
44660702 12149 "type" : "number"
56122987 12150 },
44660702 12151 "mbps_rd_max" : {
de0983cb 12152 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12153 "format_description" : "mbps",
12154 "optional" : 1,
12155 "type" : "number"
12156 },
12157 "mbps_wr" : {
de0983cb 12158 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12159 "format_description" : "mbps",
12160 "optional" : 1,
12161 "type" : "number"
12162 },
12163 "mbps_wr_max" : {
de0983cb 12164 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12165 "format_description" : "mbps",
12166 "optional" : 1,
12167 "type" : "number"
12168 },
12169 "media" : {
12170 "default" : "disk",
12171 "description" : "The drive's media type.",
56122987 12172 "enum" : [
44660702
DM
12173 "cdrom",
12174 "disk"
56122987
DM
12175 ],
12176 "optional" : 1,
44660702 12177 "type" : "string"
56122987 12178 },
5d9c884c
DM
12179 "replicate" : {
12180 "default" : 1,
12181 "description" : "Whether the drive should considered for replication jobs.",
12182 "optional" : 1,
12183 "type" : "boolean"
12184 },
44660702
DM
12185 "rerror" : {
12186 "description" : "Read error action.",
12187 "enum" : [
12188 "ignore",
12189 "report",
12190 "stop"
12191 ],
56122987 12192 "optional" : 1,
44660702 12193 "type" : "string"
56122987 12194 },
44660702
DM
12195 "secs" : {
12196 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12197 "optional" : 1,
44660702 12198 "type" : "integer"
56122987 12199 },
7aacca6f
DM
12200 "serial" : {
12201 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 12202 "format" : "urlencoded",
44660702 12203 "format_description" : "serial",
7aacca6f 12204 "maxLength" : 60,
44660702
DM
12205 "optional" : 1,
12206 "type" : "string"
56122987 12207 },
27a7acb2
DM
12208 "shared" : {
12209 "default" : 0,
12210 "description" : "Mark this locally-managed volume as available on all nodes",
12211 "optional" : 1,
12212 "type" : "boolean",
12213 "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!"
12214 },
44660702
DM
12215 "size" : {
12216 "description" : "Disk size. This is purely informational and has no effect.",
12217 "format" : "disk-size",
f004f5b9 12218 "format_description" : "DiskSize",
44660702
DM
12219 "optional" : 1,
12220 "type" : "string"
56122987 12221 },
44660702 12222 "snapshot" : {
27a7acb2 12223 "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 12224 "optional" : 1,
44660702 12225 "type" : "boolean"
56122987 12226 },
44660702
DM
12227 "trans" : {
12228 "description" : "Force disk geometry bios translation mode.",
12229 "enum" : [
12230 "none",
12231 "lba",
12232 "auto"
12233 ],
7aacca6f 12234 "optional" : 1,
44660702 12235 "type" : "string"
7aacca6f 12236 },
44660702
DM
12237 "volume" : {
12238 "alias" : "file"
12239 },
12240 "werror" : {
12241 "description" : "Write error action.",
12242 "enum" : [
12243 "enospc",
12244 "ignore",
12245 "report",
12246 "stop"
12247 ],
7aacca6f 12248 "optional" : 1,
44660702 12249 "type" : "string"
56122987
DM
12250 }
12251 },
7aacca6f 12252 "optional" : 1,
4bd7df8b 12253 "type" : "string",
27a7acb2 12254 "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 12255 },
4d47f125
TL
12256 "vmgenid" : {
12257 "default" : "1 (autogenerated)",
12258 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
12259 "format_description" : "UUID",
12260 "optional" : 1,
12261 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
12262 "type" : "string",
12263 "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."
12264 },
44660702
DM
12265 "vmid" : {
12266 "description" : "The (unique) ID of the VM.",
12267 "format" : "pve-vmid",
12268 "minimum" : 1,
4bd7df8b 12269 "type" : "integer",
013dc89f 12270 "typetext" : "<integer> (1 - N)"
56122987 12271 },
2489d6df
WB
12272 "vmstatestorage" : {
12273 "description" : "Default storage for VM state volumes/files.",
12274 "format" : "pve-storage-id",
12275 "optional" : 1,
12276 "type" : "string",
12277 "typetext" : "<string>"
12278 },
44660702 12279 "watchdog" : {
c2993fe5 12280 "description" : "Create a virtual hardware watchdog device.",
44660702 12281 "format" : "pve-qm-watchdog",
56122987 12282 "optional" : 1,
c2993fe5 12283 "type" : "string",
013dc89f 12284 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 12285 "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 12286 }
7aacca6f 12287 }
56122987 12288 },
56122987
DM
12289 "permissions" : {
12290 "check" : [
12291 "perm",
12292 "/vms/{vmid}",
12293 [
12294 "VM.Config.Disk",
12295 "VM.Config.CDROM",
12296 "VM.Config.CPU",
12297 "VM.Config.Memory",
12298 "VM.Config.Network",
12299 "VM.Config.HWType",
12300 "VM.Config.Options"
12301 ],
12302 "any",
12303 1
12304 ]
12305 },
44660702 12306 "protected" : 1,
7aacca6f 12307 "proxyto" : "node",
56122987 12308 "returns" : {
4d47f125
TL
12309 "optional" : 1,
12310 "type" : "string"
7aacca6f 12311 }
4d47f125
TL
12312 },
12313 "PUT" : {
12314 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
12315 "method" : "PUT",
12316 "name" : "update_vm",
7aacca6f 12317 "parameters" : {
44660702 12318 "additionalProperties" : 0,
7aacca6f 12319 "properties" : {
4d47f125
TL
12320 "acpi" : {
12321 "default" : 1,
12322 "description" : "Enable/disable ACPI.",
12323 "optional" : 1,
12324 "type" : "boolean",
12325 "typetext" : "<boolean>"
7aacca6f 12326 },
4d47f125
TL
12327 "agent" : {
12328 "description" : "Enable/disable Qemu GuestAgent and its properties.",
12329 "format" : {
12330 "enabled" : {
12331 "default" : 0,
12332 "default_key" : 1,
12333 "description" : "Enable/disable Qemu GuestAgent.",
12334 "type" : "boolean"
12335 },
12336 "fstrim_cloned_disks" : {
12337 "default" : 0,
12338 "description" : "Run fstrim after cloning/moving a disk.",
12339 "optional" : 1,
12340 "type" : "boolean"
12341 }
44660702 12342 },
4d47f125
TL
12343 "optional" : 1,
12344 "type" : "string",
12345 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
44660702 12346 },
e2d681b3
TL
12347 "arch" : {
12348 "description" : "Virtual processor architecture. Defaults to the host.",
12349 "enum" : [
12350 "x86_64",
12351 "aarch64"
12352 ],
12353 "optional" : 1,
12354 "type" : "string"
12355 },
4d47f125
TL
12356 "args" : {
12357 "description" : "Arbitrary arguments passed to kvm.",
12358 "optional" : 1,
12359 "type" : "string",
12360 "typetext" : "<string>",
12361 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
12362 },
12363 "autostart" : {
12364 "default" : 0,
12365 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 12366 "optional" : 1,
013dc89f
DM
12367 "type" : "boolean",
12368 "typetext" : "<boolean>"
7aacca6f 12369 },
4d47f125
TL
12370 "balloon" : {
12371 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
12372 "minimum" : 0,
12373 "optional" : 1,
12374 "type" : "integer",
12375 "typetext" : "<integer> (0 - N)"
12376 },
12377 "bios" : {
12378 "default" : "seabios",
12379 "description" : "Select BIOS implementation.",
12380 "enum" : [
12381 "seabios",
12382 "ovmf"
12383 ],
12384 "optional" : 1,
12385 "type" : "string"
12386 },
12387 "boot" : {
12388 "default" : "cdn",
12389 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
12390 "optional" : 1,
12391 "pattern" : "[acdn]{1,4}",
12392 "type" : "string"
12393 },
12394 "bootdisk" : {
12395 "description" : "Enable booting from specified disk.",
12396 "format" : "pve-qm-bootdisk",
12397 "optional" : 1,
12398 "pattern" : "(ide|sata|scsi|virtio)\\d+",
12399 "type" : "string"
12400 },
12401 "cdrom" : {
12402 "description" : "This is an alias for option -ide2",
12403 "format" : "pve-qm-ide",
12404 "optional" : 1,
12405 "type" : "string",
12406 "typetext" : "<volume>"
12407 },
12408 "cipassword" : {
12409 "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.",
12410 "optional" : 1,
013dc89f
DM
12411 "type" : "string",
12412 "typetext" : "<string>"
44660702 12413 },
4d47f125
TL
12414 "citype" : {
12415 "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.",
12416 "enum" : [
12417 "configdrive2",
12418 "nocloud"
12419 ],
12420 "optional" : 1,
12421 "type" : "string"
12422 },
12423 "ciuser" : {
12424 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
12425 "optional" : 1,
013dc89f
DM
12426 "type" : "string",
12427 "typetext" : "<string>"
56122987 12428 },
4d47f125
TL
12429 "cores" : {
12430 "default" : 1,
12431 "description" : "The number of cores per socket.",
7aacca6f 12432 "minimum" : 1,
4d47f125 12433 "optional" : 1,
4bd7df8b 12434 "type" : "integer",
013dc89f 12435 "typetext" : "<integer> (1 - N)"
4d47f125
TL
12436 },
12437 "cpu" : {
12438 "description" : "Emulated CPU type.",
12439 "format" : {
12440 "cputype" : {
12441 "default" : "kvm64",
12442 "default_key" : 1,
12443 "description" : "Emulated CPU type.",
12444 "enum" : [
12445 "486",
12446 "athlon",
12447 "Broadwell",
12448 "Broadwell-IBRS",
12449 "Broadwell-noTSX",
12450 "Broadwell-noTSX-IBRS",
12451 "Conroe",
12452 "core2duo",
12453 "coreduo",
12454 "EPYC",
12455 "EPYC-IBPB",
12456 "Haswell",
12457 "Haswell-IBRS",
12458 "Haswell-noTSX",
12459 "Haswell-noTSX-IBRS",
12460 "host",
12461 "IvyBridge",
12462 "IvyBridge-IBRS",
12463 "kvm32",
12464 "kvm64",
12465 "max",
12466 "Nehalem",
12467 "Nehalem-IBRS",
12468 "Opteron_G1",
12469 "Opteron_G2",
12470 "Opteron_G3",
12471 "Opteron_G4",
12472 "Opteron_G5",
12473 "Penryn",
12474 "pentium",
12475 "pentium2",
12476 "pentium3",
12477 "phenom",
12478 "qemu32",
12479 "qemu64",
12480 "SandyBridge",
12481 "SandyBridge-IBRS",
12482 "Skylake-Client",
12483 "Skylake-Client-IBRS",
12484 "Skylake-Server",
12485 "Skylake-Server-IBRS",
12486 "Westmere",
12487 "Westmere-IBRS"
12488 ],
12489 "type" : "string"
12490 },
12491 "flags" : {
12492 "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'.",
12493 "format_description" : "+FLAG[;-FLAG...]",
12494 "optional" : 1,
12495 "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)))*)",
12496 "type" : "string"
12497 },
12498 "hidden" : {
12499 "default" : 0,
12500 "description" : "Do not identify as a KVM virtual machine.",
12501 "optional" : 1,
12502 "type" : "boolean"
5f26e15b
TL
12503 },
12504 "hv-vendor-id" : {
12505 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
12506 "format_description" : "vendor-id",
12507 "optional" : 1,
12508 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
12509 "type" : "string"
4d47f125
TL
12510 }
12511 },
12512 "optional" : 1,
013dc89f 12513 "type" : "string",
5f26e15b 12514 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
44660702 12515 },
4d47f125
TL
12516 "cpulimit" : {
12517 "default" : 0,
12518 "description" : "Limit of CPU usage.",
12519 "maximum" : 128,
12520 "minimum" : 0,
12521 "optional" : 1,
12522 "type" : "number",
12523 "typetext" : "<number> (0 - 128)",
12524 "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."
12525 },
12526 "cpuunits" : {
12527 "default" : 1024,
12528 "description" : "CPU weight for a VM.",
12529 "maximum" : 262144,
12530 "minimum" : 2,
12531 "optional" : 1,
4bd7df8b 12532 "type" : "integer",
4d47f125
TL
12533 "typetext" : "<integer> (2 - 262144)",
12534 "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 12535 },
4d47f125
TL
12536 "delete" : {
12537 "description" : "A list of settings you want to delete.",
12538 "format" : "pve-configid-list",
12539 "optional" : 1,
12540 "type" : "string",
12541 "typetext" : "<string>"
12542 },
12543 "description" : {
12544 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
12545 "optional" : 1,
12546 "type" : "string",
12547 "typetext" : "<string>"
12548 },
12549 "digest" : {
12550 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12551 "maxLength" : 40,
44660702 12552 "optional" : 1,
4d47f125
TL
12553 "type" : "string",
12554 "typetext" : "<string>"
12555 },
12556 "efidisk0" : {
12557 "description" : "Configure a Disk for storing EFI vars",
12558 "format" : {
12559 "file" : {
12560 "default_key" : 1,
12561 "description" : "The drive's backing volume.",
12562 "format" : "pve-volume-id-or-qm-path",
12563 "format_description" : "volume",
12564 "type" : "string"
12565 },
12566 "format" : {
12567 "description" : "The drive's backing file's data format.",
12568 "enum" : [
12569 "raw",
12570 "cow",
12571 "qcow",
12572 "qed",
12573 "qcow2",
12574 "vmdk",
12575 "cloop"
12576 ],
12577 "optional" : 1,
12578 "type" : "string"
12579 },
12580 "size" : {
12581 "description" : "Disk size. This is purely informational and has no effect.",
12582 "format" : "disk-size",
12583 "format_description" : "DiskSize",
12584 "optional" : 1,
12585 "type" : "string"
12586 },
12587 "volume" : {
12588 "alias" : "file"
12589 }
12590 },
12591 "optional" : 1,
12592 "type" : "string",
12593 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
12594 },
12595 "force" : {
12596 "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.",
12597 "optional" : 1,
12598 "requires" : "delete",
013dc89f
DM
12599 "type" : "boolean",
12600 "typetext" : "<boolean>"
56122987 12601 },
4d47f125
TL
12602 "freeze" : {
12603 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
12604 "optional" : 1,
12605 "type" : "boolean",
12606 "typetext" : "<boolean>"
7aacca6f 12607 },
5f26e15b
TL
12608 "hookscript" : {
12609 "description" : "Script that will be executed during various steps in the vms lifetime.",
12610 "format" : "pve-volume-id",
12611 "optional" : 1,
12612 "type" : "string",
12613 "typetext" : "<string>"
12614 },
4d47f125
TL
12615 "hostpci[n]" : {
12616 "description" : "Map host PCI devices into guest.",
12617 "format" : "pve-qm-hostpci",
12618 "optional" : 1,
12619 "type" : "string",
e2d681b3 12620 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
4d47f125 12621 "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 12622 },
4d47f125
TL
12623 "hotplug" : {
12624 "default" : "network,disk,usb",
12625 "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'.",
12626 "format" : "pve-hotplug-features",
12627 "optional" : 1,
35a75dd3
DM
12628 "type" : "string",
12629 "typetext" : "<string>"
12630 },
4d47f125
TL
12631 "hugepages" : {
12632 "description" : "Enable/disable hugepages memory.",
35a75dd3 12633 "enum" : [
4d47f125
TL
12634 "any",
12635 "2",
12636 "1024"
35a75dd3
DM
12637 ],
12638 "optional" : 1,
12639 "type" : "string"
12640 },
4d47f125
TL
12641 "ide[n]" : {
12642 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
12643 "format" : {
12644 "aio" : {
12645 "description" : "AIO type to use.",
12646 "enum" : [
12647 "native",
12648 "threads"
12649 ],
44660702 12650 "optional" : 1,
44660702
DM
12651 "type" : "string"
12652 },
4d47f125
TL
12653 "backup" : {
12654 "description" : "Whether the drive should be included when making backups.",
56122987 12655 "optional" : 1,
4d47f125 12656 "type" : "boolean"
56122987 12657 },
4d47f125
TL
12658 "bps" : {
12659 "description" : "Maximum r/w speed in bytes per second.",
12660 "format_description" : "bps",
de0983cb 12661 "optional" : 1,
4d47f125 12662 "type" : "integer"
de0983cb 12663 },
4d47f125
TL
12664 "bps_max_length" : {
12665 "description" : "Maximum length of I/O bursts in seconds.",
12666 "format_description" : "seconds",
12667 "minimum" : 1,
de0983cb 12668 "optional" : 1,
4d47f125 12669 "type" : "integer"
7aacca6f 12670 },
4d47f125
TL
12671 "bps_rd" : {
12672 "description" : "Maximum read speed in bytes per second.",
12673 "format_description" : "bps",
7aacca6f 12674 "optional" : 1,
4d47f125 12675 "type" : "integer"
56122987 12676 },
4d47f125
TL
12677 "bps_rd_length" : {
12678 "alias" : "bps_rd_max_length"
12679 },
12680 "bps_rd_max_length" : {
12681 "description" : "Maximum length of read I/O bursts in seconds.",
12682 "format_description" : "seconds",
12683 "minimum" : 1,
56122987 12684 "optional" : 1,
4d47f125 12685 "type" : "integer"
56122987 12686 },
4d47f125
TL
12687 "bps_wr" : {
12688 "description" : "Maximum write speed in bytes per second.",
12689 "format_description" : "bps",
52e44c50 12690 "optional" : 1,
4d47f125 12691 "type" : "integer"
52e44c50 12692 },
4d47f125
TL
12693 "bps_wr_length" : {
12694 "alias" : "bps_wr_max_length"
12695 },
12696 "bps_wr_max_length" : {
12697 "description" : "Maximum length of write I/O bursts in seconds.",
12698 "format_description" : "seconds",
44660702 12699 "minimum" : 1,
56122987 12700 "optional" : 1,
4d47f125 12701 "type" : "integer"
56122987 12702 },
4d47f125
TL
12703 "cache" : {
12704 "description" : "The drive's cache mode",
12705 "enum" : [
12706 "none",
12707 "writethrough",
12708 "writeback",
12709 "unsafe",
12710 "directsync"
12711 ],
7aacca6f 12712 "optional" : 1,
4d47f125 12713 "type" : "string"
7aacca6f 12714 },
4d47f125
TL
12715 "cyls" : {
12716 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
12717 "optional" : 1,
12718 "type" : "integer"
56122987 12719 },
4d47f125
TL
12720 "detect_zeroes" : {
12721 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12722 "optional" : 1,
4d47f125 12723 "type" : "boolean"
56122987 12724 },
4d47f125
TL
12725 "discard" : {
12726 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12727 "enum" : [
12728 "ignore",
12729 "on"
12730 ],
56122987 12731 "optional" : 1,
4d47f125 12732 "type" : "string"
7aacca6f 12733 },
4d47f125
TL
12734 "file" : {
12735 "default_key" : 1,
12736 "description" : "The drive's backing volume.",
12737 "format" : "pve-volume-id-or-qm-path",
12738 "format_description" : "volume",
12739 "type" : "string"
56122987 12740 },
4d47f125
TL
12741 "format" : {
12742 "description" : "The drive's backing file's data format.",
12743 "enum" : [
12744 "raw",
12745 "cow",
12746 "qcow",
12747 "qed",
12748 "qcow2",
12749 "vmdk",
12750 "cloop"
12751 ],
7aacca6f 12752 "optional" : 1,
4d47f125 12753 "type" : "string"
7aacca6f 12754 },
4d47f125
TL
12755 "heads" : {
12756 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 12757 "optional" : 1,
4d47f125 12758 "type" : "integer"
56122987 12759 },
4d47f125
TL
12760 "iops" : {
12761 "description" : "Maximum r/w I/O in operations per second.",
12762 "format_description" : "iops",
44660702 12763 "optional" : 1,
4d47f125 12764 "type" : "integer"
44660702 12765 },
4d47f125
TL
12766 "iops_max" : {
12767 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
12768 "format_description" : "iops",
44660702 12769 "optional" : 1,
4d47f125 12770 "type" : "integer"
56122987 12771 },
4d47f125
TL
12772 "iops_max_length" : {
12773 "description" : "Maximum length of I/O bursts in seconds.",
12774 "format_description" : "seconds",
12775 "minimum" : 1,
7aacca6f 12776 "optional" : 1,
4d47f125 12777 "type" : "integer"
7aacca6f 12778 },
4d47f125
TL
12779 "iops_rd" : {
12780 "description" : "Maximum read I/O in operations per second.",
12781 "format_description" : "iops",
12782 "optional" : 1,
12783 "type" : "integer"
12784 },
12785 "iops_rd_length" : {
12786 "alias" : "iops_rd_max_length"
12787 },
12788 "iops_rd_max" : {
12789 "description" : "Maximum unthrottled read I/O pool in operations per second.",
12790 "format_description" : "iops",
12791 "optional" : 1,
12792 "type" : "integer"
12793 },
12794 "iops_rd_max_length" : {
12795 "description" : "Maximum length of read I/O bursts in seconds.",
12796 "format_description" : "seconds",
44660702 12797 "minimum" : 1,
4d47f125
TL
12798 "optional" : 1,
12799 "type" : "integer"
7aacca6f 12800 },
4d47f125
TL
12801 "iops_wr" : {
12802 "description" : "Maximum write I/O in operations per second.",
12803 "format_description" : "iops",
44660702 12804 "optional" : 1,
4d47f125 12805 "type" : "integer"
44660702 12806 },
4d47f125
TL
12807 "iops_wr_length" : {
12808 "alias" : "iops_wr_max_length"
12809 },
12810 "iops_wr_max" : {
12811 "description" : "Maximum unthrottled write I/O pool in operations per second.",
12812 "format_description" : "iops",
12813 "optional" : 1,
12814 "type" : "integer"
12815 },
12816 "iops_wr_max_length" : {
12817 "description" : "Maximum length of write I/O bursts in seconds.",
12818 "format_description" : "seconds",
44660702 12819 "minimum" : 1,
44660702 12820 "optional" : 1,
4d47f125 12821 "type" : "integer"
44660702 12822 },
4d47f125
TL
12823 "mbps" : {
12824 "description" : "Maximum r/w speed in megabytes per second.",
12825 "format_description" : "mbps",
12826 "optional" : 1,
12827 "type" : "number"
56122987 12828 },
4d47f125
TL
12829 "mbps_max" : {
12830 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
12831 "format_description" : "mbps",
12832 "optional" : 1,
12833 "type" : "number"
12834 },
12835 "mbps_rd" : {
12836 "description" : "Maximum read speed in megabytes per second.",
12837 "format_description" : "mbps",
12838 "optional" : 1,
12839 "type" : "number"
12840 },
12841 "mbps_rd_max" : {
12842 "description" : "Maximum unthrottled read pool in megabytes per second.",
12843 "format_description" : "mbps",
12844 "optional" : 1,
12845 "type" : "number"
12846 },
12847 "mbps_wr" : {
12848 "description" : "Maximum write speed in megabytes per second.",
12849 "format_description" : "mbps",
12850 "optional" : 1,
12851 "type" : "number"
12852 },
12853 "mbps_wr_max" : {
12854 "description" : "Maximum unthrottled write pool in megabytes per second.",
12855 "format_description" : "mbps",
12856 "optional" : 1,
12857 "type" : "number"
12858 },
12859 "media" : {
12860 "default" : "disk",
12861 "description" : "The drive's media type.",
12862 "enum" : [
12863 "cdrom",
12864 "disk"
12865 ],
12866 "optional" : 1,
12867 "type" : "string"
12868 },
12869 "model" : {
12870 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
12871 "format" : "urlencoded",
12872 "format_description" : "model",
12873 "maxLength" : 120,
12874 "optional" : 1,
12875 "type" : "string"
12876 },
12877 "replicate" : {
12878 "default" : 1,
12879 "description" : "Whether the drive should considered for replication jobs.",
12880 "optional" : 1,
12881 "type" : "boolean"
12882 },
12883 "rerror" : {
12884 "description" : "Read error action.",
12885 "enum" : [
12886 "ignore",
12887 "report",
12888 "stop"
12889 ],
12890 "optional" : 1,
12891 "type" : "string"
12892 },
12893 "secs" : {
12894 "description" : "Force the drive's physical geometry to have a specific sector count.",
12895 "optional" : 1,
12896 "type" : "integer"
12897 },
12898 "serial" : {
12899 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12900 "format" : "urlencoded",
12901 "format_description" : "serial",
12902 "maxLength" : 60,
12903 "optional" : 1,
12904 "type" : "string"
12905 },
12906 "shared" : {
12907 "default" : 0,
12908 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 12909 "optional" : 1,
013dc89f 12910 "type" : "boolean",
4d47f125 12911 "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 12912 },
4d47f125
TL
12913 "size" : {
12914 "description" : "Disk size. This is purely informational and has no effect.",
12915 "format" : "disk-size",
12916 "format_description" : "DiskSize",
12917 "optional" : 1,
12918 "type" : "string"
12919 },
12920 "snapshot" : {
12921 "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.",
12922 "optional" : 1,
12923 "type" : "boolean"
12924 },
25203dc1
NC
12925 "ssd" : {
12926 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12927 "optional" : 1,
12928 "type" : "boolean"
12929 },
4d47f125
TL
12930 "trans" : {
12931 "description" : "Force disk geometry bios translation mode.",
12932 "enum" : [
12933 "none",
12934 "lba",
12935 "auto"
12936 ],
12937 "optional" : 1,
12938 "type" : "string"
12939 },
12940 "volume" : {
12941 "alias" : "file"
12942 },
12943 "werror" : {
12944 "description" : "Write error action.",
12945 "enum" : [
12946 "enospc",
12947 "ignore",
12948 "report",
12949 "stop"
12950 ],
12951 "optional" : 1,
12952 "type" : "string"
12953 }
12954 },
12955 "optional" : 1,
013dc89f 12956 "type" : "string",
25203dc1 12957 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702 12958 },
4d47f125
TL
12959 "ipconfig[n]" : {
12960 "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",
12961 "format" : "pve-qm-ipconfig",
12962 "optional" : 1,
013dc89f 12963 "type" : "string",
4d47f125 12964 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 12965 },
4d47f125
TL
12966 "keyboard" : {
12967 "default" : null,
12968 "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.",
12969 "enum" : [
12970 "de",
12971 "de-ch",
12972 "da",
12973 "en-gb",
12974 "en-us",
12975 "es",
12976 "fi",
12977 "fr",
12978 "fr-be",
12979 "fr-ca",
12980 "fr-ch",
12981 "hu",
12982 "is",
12983 "it",
12984 "ja",
12985 "lt",
12986 "mk",
12987 "nl",
12988 "no",
12989 "pl",
12990 "pt",
12991 "pt-br",
12992 "sv",
12993 "sl",
12994 "tr"
12995 ],
12996 "optional" : 1,
12997 "type" : "string"
44660702 12998 },
4d47f125
TL
12999 "kvm" : {
13000 "default" : 1,
13001 "description" : "Enable/disable KVM hardware virtualization.",
44660702 13002 "optional" : 1,
013dc89f
DM
13003 "type" : "boolean",
13004 "typetext" : "<boolean>"
7aacca6f 13005 },
4d47f125
TL
13006 "localtime" : {
13007 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
13008 "optional" : 1,
13009 "type" : "boolean",
13010 "typetext" : "<boolean>"
13011 },
13012 "lock" : {
13013 "description" : "Lock/unlock the VM.",
56122987 13014 "enum" : [
4d47f125 13015 "backup",
5f26e15b
TL
13016 "clone",
13017 "create",
13018 "migrate",
13019 "rollback",
56122987 13020 "snapshot",
5f26e15b 13021 "snapshot-delete"
56122987 13022 ],
4d47f125 13023 "optional" : 1,
44660702
DM
13024 "type" : "string"
13025 },
4d47f125
TL
13026 "machine" : {
13027 "description" : "Specifies the Qemu machine type.",
13028 "maxLength" : 40,
13029 "optional" : 1,
e2d681b3 13030 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
4d47f125
TL
13031 "type" : "string"
13032 },
13033 "memory" : {
13034 "default" : 512,
13035 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
13036 "minimum" : 16,
13037 "optional" : 1,
13038 "type" : "integer",
13039 "typetext" : "<integer> (16 - N)"
13040 },
13041 "migrate_downtime" : {
13042 "default" : 0.1,
13043 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
13044 "minimum" : 0,
13045 "optional" : 1,
13046 "type" : "number",
13047 "typetext" : "<number> (0 - N)"
13048 },
13049 "migrate_speed" : {
13050 "default" : 0,
13051 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
13052 "minimum" : 0,
13053 "optional" : 1,
13054 "type" : "integer",
13055 "typetext" : "<integer> (0 - N)"
13056 },
13057 "name" : {
13058 "description" : "Set a name for the VM. Only used on the configuration web interface.",
13059 "format" : "dns-name",
13060 "optional" : 1,
013dc89f
DM
13061 "type" : "string",
13062 "typetext" : "<string>"
56122987 13063 },
4d47f125
TL
13064 "nameserver" : {
13065 "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.",
13066 "format" : "address-list",
7aacca6f 13067 "optional" : 1,
013dc89f
DM
13068 "type" : "string",
13069 "typetext" : "<string>"
7aacca6f 13070 },
4d47f125
TL
13071 "net[n]" : {
13072 "description" : "Specify network devices.",
13073 "format" : {
13074 "bridge" : {
13075 "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",
13076 "format_description" : "bridge",
13077 "optional" : 1,
13078 "type" : "string"
13079 },
13080 "e1000" : {
13081 "alias" : "macaddr",
13082 "keyAlias" : "model"
13083 },
13084 "e1000-82540em" : {
13085 "alias" : "macaddr",
13086 "keyAlias" : "model"
13087 },
13088 "e1000-82544gc" : {
13089 "alias" : "macaddr",
13090 "keyAlias" : "model"
13091 },
13092 "e1000-82545em" : {
13093 "alias" : "macaddr",
13094 "keyAlias" : "model"
13095 },
13096 "firewall" : {
13097 "description" : "Whether this interface should be protected by the firewall.",
13098 "optional" : 1,
13099 "type" : "boolean"
13100 },
13101 "i82551" : {
13102 "alias" : "macaddr",
13103 "keyAlias" : "model"
13104 },
13105 "i82557b" : {
13106 "alias" : "macaddr",
13107 "keyAlias" : "model"
13108 },
13109 "i82559er" : {
13110 "alias" : "macaddr",
13111 "keyAlias" : "model"
13112 },
13113 "link_down" : {
13114 "description" : "Whether this interface should be disconnected (like pulling the plug).",
13115 "optional" : 1,
13116 "type" : "boolean"
13117 },
13118 "macaddr" : {
13119 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
13120 "format_description" : "XX:XX:XX:XX:XX:XX",
13121 "optional" : 1,
13122 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
13123 "type" : "string"
13124 },
13125 "model" : {
13126 "default_key" : 1,
13127 "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'.",
13128 "enum" : [
13129 "rtl8139",
13130 "ne2k_pci",
13131 "e1000",
13132 "pcnet",
13133 "virtio",
13134 "ne2k_isa",
13135 "i82551",
13136 "i82557b",
13137 "i82559er",
13138 "vmxnet3",
13139 "e1000-82540em",
13140 "e1000-82544gc",
13141 "e1000-82545em"
13142 ],
13143 "type" : "string"
13144 },
13145 "ne2k_isa" : {
13146 "alias" : "macaddr",
13147 "keyAlias" : "model"
13148 },
13149 "ne2k_pci" : {
13150 "alias" : "macaddr",
13151 "keyAlias" : "model"
13152 },
13153 "pcnet" : {
13154 "alias" : "macaddr",
13155 "keyAlias" : "model"
13156 },
13157 "queues" : {
13158 "description" : "Number of packet queues to be used on the device.",
13159 "maximum" : 16,
13160 "minimum" : 0,
13161 "optional" : 1,
13162 "type" : "integer"
13163 },
13164 "rate" : {
13165 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
13166 "minimum" : 0,
13167 "optional" : 1,
13168 "type" : "number"
13169 },
13170 "rtl8139" : {
13171 "alias" : "macaddr",
13172 "keyAlias" : "model"
13173 },
13174 "tag" : {
13175 "description" : "VLAN tag to apply to packets on this interface.",
13176 "maximum" : 4094,
13177 "minimum" : 1,
13178 "optional" : 1,
13179 "type" : "integer"
13180 },
13181 "trunks" : {
13182 "description" : "VLAN trunks to pass through this interface.",
13183 "format_description" : "vlanid[;vlanid...]",
13184 "optional" : 1,
13185 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13186 "type" : "string"
13187 },
13188 "virtio" : {
13189 "alias" : "macaddr",
13190 "keyAlias" : "model"
13191 },
13192 "vmxnet3" : {
13193 "alias" : "macaddr",
13194 "keyAlias" : "model"
13195 }
44660702 13196 },
44660702 13197 "optional" : 1,
013dc89f 13198 "type" : "string",
4d47f125 13199 "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
13200 },
13201 "node" : {
13202 "description" : "The cluster node name.",
13203 "format" : "pve-node",
013dc89f
DM
13204 "type" : "string",
13205 "typetext" : "<string>"
7aacca6f 13206 },
4d47f125
TL
13207 "numa" : {
13208 "default" : 0,
13209 "description" : "Enable/disable NUMA.",
56122987 13210 "optional" : 1,
4d47f125
TL
13211 "type" : "boolean",
13212 "typetext" : "<boolean>"
56122987 13213 },
4d47f125
TL
13214 "numa[n]" : {
13215 "description" : "NUMA topology.",
13216 "format" : {
13217 "cpus" : {
13218 "description" : "CPUs accessing this NUMA node.",
13219 "format_description" : "id[-id];...",
13220 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13221 "type" : "string"
13222 },
13223 "hostnodes" : {
13224 "description" : "Host NUMA nodes to use.",
13225 "format_description" : "id[-id];...",
13226 "optional" : 1,
13227 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13228 "type" : "string"
13229 },
13230 "memory" : {
13231 "description" : "Amount of memory this NUMA node provides.",
13232 "optional" : 1,
13233 "type" : "number"
13234 },
13235 "policy" : {
13236 "description" : "NUMA allocation policy.",
13237 "enum" : [
13238 "preferred",
13239 "bind",
13240 "interleave"
13241 ],
13242 "optional" : 1,
13243 "type" : "string"
13244 }
13245 },
7aacca6f 13246 "optional" : 1,
013dc89f 13247 "type" : "string",
4d47f125 13248 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 13249 },
4d47f125 13250 "onboot" : {
44660702 13251 "default" : 0,
4d47f125 13252 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 13253 "optional" : 1,
013dc89f
DM
13254 "type" : "boolean",
13255 "typetext" : "<boolean>"
56122987 13256 },
4d47f125
TL
13257 "ostype" : {
13258 "description" : "Specify guest operating system.",
7aacca6f 13259 "enum" : [
4d47f125
TL
13260 "other",
13261 "wxp",
13262 "w2k",
13263 "w2k3",
13264 "w2k8",
13265 "wvista",
13266 "win7",
13267 "win8",
13268 "win10",
13269 "l24",
13270 "l26",
13271 "solaris"
7aacca6f
DM
13272 ],
13273 "optional" : 1,
013dc89f 13274 "type" : "string",
4d47f125 13275 "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 13276 },
4d47f125
TL
13277 "parallel[n]" : {
13278 "description" : "Map host parallel devices (n is 0 to 2).",
13279 "optional" : 1,
13280 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 13281 "type" : "string",
4d47f125 13282 "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 13283 },
4d47f125
TL
13284 "protection" : {
13285 "default" : 0,
13286 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 13287 "optional" : 1,
013dc89f
DM
13288 "type" : "boolean",
13289 "typetext" : "<boolean>"
44660702 13290 },
4d47f125
TL
13291 "reboot" : {
13292 "default" : 1,
13293 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 13294 "optional" : 1,
013dc89f
DM
13295 "type" : "boolean",
13296 "typetext" : "<boolean>"
56122987 13297 },
4d47f125
TL
13298 "revert" : {
13299 "description" : "Revert a pending change.",
13300 "format" : "pve-configid-list",
13301 "optional" : 1,
013dc89f
DM
13302 "type" : "string",
13303 "typetext" : "<string>"
56122987 13304 },
4d47f125
TL
13305 "sata[n]" : {
13306 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
13307 "format" : {
13308 "aio" : {
13309 "description" : "AIO type to use.",
13310 "enum" : [
13311 "native",
13312 "threads"
13313 ],
13314 "optional" : 1,
13315 "type" : "string"
13316 },
13317 "backup" : {
13318 "description" : "Whether the drive should be included when making backups.",
13319 "optional" : 1,
13320 "type" : "boolean"
13321 },
13322 "bps" : {
13323 "description" : "Maximum r/w speed in bytes per second.",
13324 "format_description" : "bps",
13325 "optional" : 1,
13326 "type" : "integer"
13327 },
13328 "bps_max_length" : {
13329 "description" : "Maximum length of I/O bursts in seconds.",
13330 "format_description" : "seconds",
13331 "minimum" : 1,
13332 "optional" : 1,
13333 "type" : "integer"
13334 },
13335 "bps_rd" : {
13336 "description" : "Maximum read speed in bytes per second.",
13337 "format_description" : "bps",
13338 "optional" : 1,
13339 "type" : "integer"
13340 },
13341 "bps_rd_length" : {
13342 "alias" : "bps_rd_max_length"
13343 },
13344 "bps_rd_max_length" : {
13345 "description" : "Maximum length of read I/O bursts in seconds.",
13346 "format_description" : "seconds",
13347 "minimum" : 1,
13348 "optional" : 1,
13349 "type" : "integer"
13350 },
13351 "bps_wr" : {
13352 "description" : "Maximum write speed in bytes per second.",
13353 "format_description" : "bps",
13354 "optional" : 1,
13355 "type" : "integer"
13356 },
13357 "bps_wr_length" : {
13358 "alias" : "bps_wr_max_length"
13359 },
13360 "bps_wr_max_length" : {
13361 "description" : "Maximum length of write I/O bursts in seconds.",
13362 "format_description" : "seconds",
13363 "minimum" : 1,
13364 "optional" : 1,
13365 "type" : "integer"
13366 },
13367 "cache" : {
13368 "description" : "The drive's cache mode",
13369 "enum" : [
13370 "none",
13371 "writethrough",
13372 "writeback",
13373 "unsafe",
13374 "directsync"
13375 ],
13376 "optional" : 1,
13377 "type" : "string"
13378 },
13379 "cyls" : {
13380 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13381 "optional" : 1,
13382 "type" : "integer"
13383 },
13384 "detect_zeroes" : {
13385 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13386 "optional" : 1,
13387 "type" : "boolean"
13388 },
13389 "discard" : {
13390 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13391 "enum" : [
13392 "ignore",
13393 "on"
13394 ],
13395 "optional" : 1,
13396 "type" : "string"
13397 },
13398 "file" : {
13399 "default_key" : 1,
13400 "description" : "The drive's backing volume.",
13401 "format" : "pve-volume-id-or-qm-path",
13402 "format_description" : "volume",
13403 "type" : "string"
13404 },
13405 "format" : {
13406 "description" : "The drive's backing file's data format.",
13407 "enum" : [
13408 "raw",
13409 "cow",
13410 "qcow",
13411 "qed",
13412 "qcow2",
13413 "vmdk",
13414 "cloop"
13415 ],
13416 "optional" : 1,
13417 "type" : "string"
13418 },
13419 "heads" : {
13420 "description" : "Force the drive's physical geometry to have a specific head count.",
13421 "optional" : 1,
13422 "type" : "integer"
13423 },
13424 "iops" : {
13425 "description" : "Maximum r/w I/O in operations per second.",
13426 "format_description" : "iops",
13427 "optional" : 1,
13428 "type" : "integer"
13429 },
13430 "iops_max" : {
13431 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13432 "format_description" : "iops",
13433 "optional" : 1,
13434 "type" : "integer"
13435 },
13436 "iops_max_length" : {
13437 "description" : "Maximum length of I/O bursts in seconds.",
13438 "format_description" : "seconds",
13439 "minimum" : 1,
13440 "optional" : 1,
13441 "type" : "integer"
13442 },
13443 "iops_rd" : {
13444 "description" : "Maximum read I/O in operations per second.",
13445 "format_description" : "iops",
13446 "optional" : 1,
13447 "type" : "integer"
13448 },
13449 "iops_rd_length" : {
13450 "alias" : "iops_rd_max_length"
13451 },
13452 "iops_rd_max" : {
13453 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13454 "format_description" : "iops",
13455 "optional" : 1,
13456 "type" : "integer"
13457 },
13458 "iops_rd_max_length" : {
13459 "description" : "Maximum length of read I/O bursts in seconds.",
13460 "format_description" : "seconds",
13461 "minimum" : 1,
13462 "optional" : 1,
13463 "type" : "integer"
13464 },
13465 "iops_wr" : {
13466 "description" : "Maximum write I/O in operations per second.",
13467 "format_description" : "iops",
13468 "optional" : 1,
13469 "type" : "integer"
13470 },
13471 "iops_wr_length" : {
13472 "alias" : "iops_wr_max_length"
13473 },
13474 "iops_wr_max" : {
13475 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13476 "format_description" : "iops",
13477 "optional" : 1,
13478 "type" : "integer"
13479 },
13480 "iops_wr_max_length" : {
13481 "description" : "Maximum length of write I/O bursts in seconds.",
13482 "format_description" : "seconds",
13483 "minimum" : 1,
13484 "optional" : 1,
13485 "type" : "integer"
13486 },
13487 "mbps" : {
13488 "description" : "Maximum r/w speed in megabytes per second.",
13489 "format_description" : "mbps",
13490 "optional" : 1,
13491 "type" : "number"
13492 },
13493 "mbps_max" : {
13494 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13495 "format_description" : "mbps",
13496 "optional" : 1,
13497 "type" : "number"
13498 },
13499 "mbps_rd" : {
13500 "description" : "Maximum read speed in megabytes per second.",
13501 "format_description" : "mbps",
13502 "optional" : 1,
13503 "type" : "number"
13504 },
13505 "mbps_rd_max" : {
13506 "description" : "Maximum unthrottled read pool in megabytes per second.",
13507 "format_description" : "mbps",
13508 "optional" : 1,
13509 "type" : "number"
13510 },
13511 "mbps_wr" : {
13512 "description" : "Maximum write speed in megabytes per second.",
13513 "format_description" : "mbps",
13514 "optional" : 1,
13515 "type" : "number"
13516 },
13517 "mbps_wr_max" : {
13518 "description" : "Maximum unthrottled write pool in megabytes per second.",
13519 "format_description" : "mbps",
13520 "optional" : 1,
13521 "type" : "number"
13522 },
13523 "media" : {
13524 "default" : "disk",
13525 "description" : "The drive's media type.",
13526 "enum" : [
13527 "cdrom",
13528 "disk"
13529 ],
13530 "optional" : 1,
13531 "type" : "string"
13532 },
13533 "replicate" : {
13534 "default" : 1,
13535 "description" : "Whether the drive should considered for replication jobs.",
13536 "optional" : 1,
13537 "type" : "boolean"
13538 },
13539 "rerror" : {
13540 "description" : "Read error action.",
13541 "enum" : [
13542 "ignore",
13543 "report",
13544 "stop"
13545 ],
13546 "optional" : 1,
13547 "type" : "string"
13548 },
13549 "secs" : {
13550 "description" : "Force the drive's physical geometry to have a specific sector count.",
13551 "optional" : 1,
13552 "type" : "integer"
13553 },
13554 "serial" : {
13555 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13556 "format" : "urlencoded",
13557 "format_description" : "serial",
13558 "maxLength" : 60,
13559 "optional" : 1,
13560 "type" : "string"
13561 },
13562 "shared" : {
13563 "default" : 0,
13564 "description" : "Mark this locally-managed volume as available on all nodes",
13565 "optional" : 1,
13566 "type" : "boolean",
13567 "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!"
13568 },
13569 "size" : {
13570 "description" : "Disk size. This is purely informational and has no effect.",
13571 "format" : "disk-size",
13572 "format_description" : "DiskSize",
13573 "optional" : 1,
13574 "type" : "string"
13575 },
13576 "snapshot" : {
13577 "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.",
13578 "optional" : 1,
13579 "type" : "boolean"
13580 },
25203dc1
NC
13581 "ssd" : {
13582 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13583 "optional" : 1,
13584 "type" : "boolean"
13585 },
4d47f125
TL
13586 "trans" : {
13587 "description" : "Force disk geometry bios translation mode.",
13588 "enum" : [
13589 "none",
13590 "lba",
13591 "auto"
13592 ],
13593 "optional" : 1,
13594 "type" : "string"
13595 },
13596 "volume" : {
13597 "alias" : "file"
13598 },
13599 "werror" : {
13600 "description" : "Write error action.",
13601 "enum" : [
13602 "enospc",
13603 "ignore",
13604 "report",
13605 "stop"
13606 ],
13607 "optional" : 1,
13608 "type" : "string"
13609 }
13610 },
13611 "optional" : 1,
13612 "type" : "string",
25203dc1 13613 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
4d47f125
TL
13614 },
13615 "scsi[n]" : {
13616 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
13617 "format" : {
13618 "aio" : {
13619 "description" : "AIO type to use.",
13620 "enum" : [
13621 "native",
13622 "threads"
13623 ],
13624 "optional" : 1,
13625 "type" : "string"
13626 },
13627 "backup" : {
13628 "description" : "Whether the drive should be included when making backups.",
13629 "optional" : 1,
13630 "type" : "boolean"
13631 },
13632 "bps" : {
13633 "description" : "Maximum r/w speed in bytes per second.",
13634 "format_description" : "bps",
13635 "optional" : 1,
13636 "type" : "integer"
13637 },
13638 "bps_max_length" : {
13639 "description" : "Maximum length of I/O bursts in seconds.",
13640 "format_description" : "seconds",
13641 "minimum" : 1,
13642 "optional" : 1,
13643 "type" : "integer"
13644 },
13645 "bps_rd" : {
13646 "description" : "Maximum read speed in bytes per second.",
13647 "format_description" : "bps",
13648 "optional" : 1,
13649 "type" : "integer"
13650 },
13651 "bps_rd_length" : {
13652 "alias" : "bps_rd_max_length"
13653 },
13654 "bps_rd_max_length" : {
13655 "description" : "Maximum length of read I/O bursts in seconds.",
13656 "format_description" : "seconds",
13657 "minimum" : 1,
13658 "optional" : 1,
13659 "type" : "integer"
13660 },
13661 "bps_wr" : {
13662 "description" : "Maximum write speed in bytes per second.",
13663 "format_description" : "bps",
13664 "optional" : 1,
13665 "type" : "integer"
13666 },
13667 "bps_wr_length" : {
13668 "alias" : "bps_wr_max_length"
13669 },
13670 "bps_wr_max_length" : {
13671 "description" : "Maximum length of write I/O bursts in seconds.",
13672 "format_description" : "seconds",
13673 "minimum" : 1,
13674 "optional" : 1,
13675 "type" : "integer"
13676 },
13677 "cache" : {
13678 "description" : "The drive's cache mode",
13679 "enum" : [
13680 "none",
13681 "writethrough",
13682 "writeback",
13683 "unsafe",
13684 "directsync"
13685 ],
13686 "optional" : 1,
13687 "type" : "string"
13688 },
13689 "cyls" : {
13690 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13691 "optional" : 1,
13692 "type" : "integer"
13693 },
13694 "detect_zeroes" : {
13695 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13696 "optional" : 1,
13697 "type" : "boolean"
13698 },
13699 "discard" : {
13700 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13701 "enum" : [
13702 "ignore",
13703 "on"
13704 ],
13705 "optional" : 1,
13706 "type" : "string"
13707 },
13708 "file" : {
13709 "default_key" : 1,
13710 "description" : "The drive's backing volume.",
13711 "format" : "pve-volume-id-or-qm-path",
13712 "format_description" : "volume",
13713 "type" : "string"
13714 },
13715 "format" : {
13716 "description" : "The drive's backing file's data format.",
13717 "enum" : [
13718 "raw",
13719 "cow",
13720 "qcow",
13721 "qed",
13722 "qcow2",
13723 "vmdk",
13724 "cloop"
13725 ],
13726 "optional" : 1,
13727 "type" : "string"
13728 },
13729 "heads" : {
13730 "description" : "Force the drive's physical geometry to have a specific head count.",
13731 "optional" : 1,
13732 "type" : "integer"
13733 },
13734 "iops" : {
13735 "description" : "Maximum r/w I/O in operations per second.",
13736 "format_description" : "iops",
13737 "optional" : 1,
13738 "type" : "integer"
13739 },
13740 "iops_max" : {
13741 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13742 "format_description" : "iops",
13743 "optional" : 1,
13744 "type" : "integer"
13745 },
13746 "iops_max_length" : {
13747 "description" : "Maximum length of I/O bursts in seconds.",
13748 "format_description" : "seconds",
13749 "minimum" : 1,
13750 "optional" : 1,
13751 "type" : "integer"
13752 },
13753 "iops_rd" : {
13754 "description" : "Maximum read I/O in operations per second.",
13755 "format_description" : "iops",
13756 "optional" : 1,
13757 "type" : "integer"
13758 },
13759 "iops_rd_length" : {
13760 "alias" : "iops_rd_max_length"
13761 },
13762 "iops_rd_max" : {
13763 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13764 "format_description" : "iops",
13765 "optional" : 1,
13766 "type" : "integer"
13767 },
13768 "iops_rd_max_length" : {
13769 "description" : "Maximum length of read I/O bursts in seconds.",
13770 "format_description" : "seconds",
13771 "minimum" : 1,
13772 "optional" : 1,
13773 "type" : "integer"
13774 },
13775 "iops_wr" : {
13776 "description" : "Maximum write I/O in operations per second.",
13777 "format_description" : "iops",
13778 "optional" : 1,
13779 "type" : "integer"
13780 },
13781 "iops_wr_length" : {
13782 "alias" : "iops_wr_max_length"
13783 },
13784 "iops_wr_max" : {
13785 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13786 "format_description" : "iops",
13787 "optional" : 1,
13788 "type" : "integer"
13789 },
13790 "iops_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 "iothread" : {
13798 "description" : "Whether to use iothreads for this drive",
13799 "optional" : 1,
13800 "type" : "boolean"
13801 },
13802 "mbps" : {
13803 "description" : "Maximum r/w speed in megabytes per second.",
13804 "format_description" : "mbps",
13805 "optional" : 1,
13806 "type" : "number"
13807 },
13808 "mbps_max" : {
13809 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13810 "format_description" : "mbps",
13811 "optional" : 1,
13812 "type" : "number"
13813 },
13814 "mbps_rd" : {
13815 "description" : "Maximum read speed in megabytes per second.",
13816 "format_description" : "mbps",
13817 "optional" : 1,
13818 "type" : "number"
13819 },
13820 "mbps_rd_max" : {
13821 "description" : "Maximum unthrottled read pool in megabytes per second.",
13822 "format_description" : "mbps",
13823 "optional" : 1,
13824 "type" : "number"
13825 },
13826 "mbps_wr" : {
13827 "description" : "Maximum write speed in megabytes per second.",
13828 "format_description" : "mbps",
13829 "optional" : 1,
13830 "type" : "number"
13831 },
13832 "mbps_wr_max" : {
13833 "description" : "Maximum unthrottled write pool in megabytes per second.",
13834 "format_description" : "mbps",
13835 "optional" : 1,
13836 "type" : "number"
13837 },
13838 "media" : {
13839 "default" : "disk",
13840 "description" : "The drive's media type.",
13841 "enum" : [
13842 "cdrom",
13843 "disk"
13844 ],
13845 "optional" : 1,
13846 "type" : "string"
13847 },
13848 "queues" : {
13849 "description" : "Number of queues.",
13850 "minimum" : 2,
13851 "optional" : 1,
13852 "type" : "integer"
13853 },
13854 "replicate" : {
13855 "default" : 1,
13856 "description" : "Whether the drive should considered for replication jobs.",
13857 "optional" : 1,
13858 "type" : "boolean"
13859 },
13860 "rerror" : {
13861 "description" : "Read error action.",
13862 "enum" : [
13863 "ignore",
13864 "report",
13865 "stop"
13866 ],
13867 "optional" : 1,
13868 "type" : "string"
13869 },
13870 "scsiblock" : {
13871 "default" : 0,
13872 "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",
13873 "optional" : 1,
13874 "type" : "boolean"
13875 },
13876 "secs" : {
13877 "description" : "Force the drive's physical geometry to have a specific sector count.",
13878 "optional" : 1,
13879 "type" : "integer"
13880 },
13881 "serial" : {
13882 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13883 "format" : "urlencoded",
13884 "format_description" : "serial",
13885 "maxLength" : 60,
13886 "optional" : 1,
13887 "type" : "string"
13888 },
13889 "shared" : {
13890 "default" : 0,
13891 "description" : "Mark this locally-managed volume as available on all nodes",
13892 "optional" : 1,
13893 "type" : "boolean",
13894 "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!"
13895 },
13896 "size" : {
13897 "description" : "Disk size. This is purely informational and has no effect.",
13898 "format" : "disk-size",
13899 "format_description" : "DiskSize",
13900 "optional" : 1,
13901 "type" : "string"
13902 },
13903 "snapshot" : {
13904 "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.",
13905 "optional" : 1,
13906 "type" : "boolean"
13907 },
25203dc1
NC
13908 "ssd" : {
13909 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13910 "optional" : 1,
13911 "type" : "boolean"
13912 },
4d47f125
TL
13913 "trans" : {
13914 "description" : "Force disk geometry bios translation mode.",
13915 "enum" : [
13916 "none",
13917 "lba",
13918 "auto"
13919 ],
13920 "optional" : 1,
13921 "type" : "string"
13922 },
13923 "volume" : {
13924 "alias" : "file"
13925 },
13926 "werror" : {
13927 "description" : "Write error action.",
13928 "enum" : [
13929 "enospc",
13930 "ignore",
13931 "report",
13932 "stop"
13933 ],
13934 "optional" : 1,
13935 "type" : "string"
13936 }
13937 },
13938 "optional" : 1,
13939 "type" : "string",
25203dc1 13940 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
4d47f125
TL
13941 },
13942 "scsihw" : {
13943 "default" : "lsi",
13944 "description" : "SCSI controller model",
13945 "enum" : [
13946 "lsi",
13947 "lsi53c810",
13948 "virtio-scsi-pci",
13949 "virtio-scsi-single",
13950 "megasas",
13951 "pvscsi"
13952 ],
13953 "optional" : 1,
13954 "type" : "string"
13955 },
13956 "searchdomain" : {
13957 "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.",
13958 "optional" : 1,
13959 "type" : "string",
13960 "typetext" : "<string>"
13961 },
13962 "serial[n]" : {
13963 "description" : "Create a serial device inside the VM (n is 0 to 3)",
13964 "optional" : 1,
13965 "pattern" : "(/dev/.+|socket)",
13966 "type" : "string",
13967 "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"
13968 },
13969 "shares" : {
13970 "default" : 1000,
13971 "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.",
13972 "maximum" : 50000,
13973 "minimum" : 0,
13974 "optional" : 1,
13975 "type" : "integer",
13976 "typetext" : "<integer> (0 - 50000)"
13977 },
13978 "skiplock" : {
13979 "description" : "Ignore locks - only root is allowed to use this option.",
13980 "optional" : 1,
13981 "type" : "boolean",
13982 "typetext" : "<boolean>"
13983 },
13984 "smbios1" : {
13985 "description" : "Specify SMBIOS type 1 fields.",
13986 "format" : "pve-qm-smbios1",
13987 "maxLength" : 256,
13988 "optional" : 1,
13989 "type" : "string",
13990 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
13991 },
13992 "smp" : {
13993 "default" : 1,
13994 "description" : "The number of CPUs. Please use option -sockets instead.",
13995 "minimum" : 1,
13996 "optional" : 1,
13997 "type" : "integer",
13998 "typetext" : "<integer> (1 - N)"
13999 },
14000 "sockets" : {
14001 "default" : 1,
14002 "description" : "The number of CPU sockets.",
14003 "minimum" : 1,
14004 "optional" : 1,
14005 "type" : "integer",
14006 "typetext" : "<integer> (1 - N)"
14007 },
14008 "sshkeys" : {
14009 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
14010 "format" : "urlencoded",
14011 "optional" : 1,
14012 "type" : "string",
14013 "typetext" : "<string>"
14014 },
14015 "startdate" : {
14016 "default" : "now",
14017 "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'.",
14018 "optional" : 1,
14019 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
14020 "type" : "string",
14021 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
14022 },
14023 "startup" : {
14024 "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.",
14025 "format" : "pve-startup-order",
14026 "optional" : 1,
14027 "type" : "string",
14028 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
14029 },
14030 "tablet" : {
14031 "default" : 1,
14032 "description" : "Enable/disable the USB tablet device.",
14033 "optional" : 1,
14034 "type" : "boolean",
14035 "typetext" : "<boolean>",
14036 "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)."
14037 },
14038 "tdf" : {
14039 "default" : 0,
14040 "description" : "Enable/disable time drift fix.",
14041 "optional" : 1,
14042 "type" : "boolean",
14043 "typetext" : "<boolean>"
14044 },
14045 "template" : {
14046 "default" : 0,
14047 "description" : "Enable/disable Template.",
14048 "optional" : 1,
14049 "type" : "boolean",
14050 "typetext" : "<boolean>"
14051 },
14052 "unused[n]" : {
14053 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
14054 "format" : "pve-volume-id",
14055 "optional" : 1,
14056 "type" : "string",
14057 "typetext" : "<string>"
14058 },
14059 "usb[n]" : {
14060 "description" : "Configure an USB device (n is 0 to 4).",
14061 "format" : {
14062 "host" : {
14063 "default_key" : 1,
14064 "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",
14065 "format" : "pve-qm-usb-device",
14066 "format_description" : "HOSTUSBDEVICE|spice",
14067 "type" : "string"
14068 },
14069 "usb3" : {
14070 "default" : 0,
14071 "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).",
14072 "optional" : 1,
14073 "type" : "boolean"
14074 }
14075 },
14076 "optional" : 1,
14077 "type" : "string",
14078 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
14079 },
14080 "vcpus" : {
14081 "default" : 0,
14082 "description" : "Number of hotplugged vcpus.",
14083 "minimum" : 1,
14084 "optional" : 1,
14085 "type" : "integer",
14086 "typetext" : "<integer> (1 - N)"
14087 },
14088 "vga" : {
e2d681b3
TL
14089 "description" : "Configure the VGA hardware.",
14090 "format" : {
14091 "memory" : {
14092 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
14093 "maximum" : 512,
14094 "minimum" : 4,
14095 "optional" : 1,
14096 "type" : "integer"
14097 },
14098 "type" : {
14099 "default" : "std",
14100 "default_key" : 1,
14101 "description" : "Select the VGA type.",
14102 "enum" : [
14103 "cirrus",
14104 "qxl",
14105 "qxl2",
14106 "qxl3",
14107 "qxl4",
5f26e15b 14108 "none",
e2d681b3
TL
14109 "serial0",
14110 "serial1",
14111 "serial2",
14112 "serial3",
14113 "std",
14114 "virtio",
14115 "vmware"
14116 ],
14117 "optional" : 1,
14118 "type" : "string"
14119 }
14120 },
4d47f125
TL
14121 "optional" : 1,
14122 "type" : "string",
e2d681b3
TL
14123 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
14124 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
4d47f125
TL
14125 },
14126 "virtio[n]" : {
14127 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
14128 "format" : {
14129 "aio" : {
14130 "description" : "AIO type to use.",
14131 "enum" : [
14132 "native",
14133 "threads"
14134 ],
14135 "optional" : 1,
14136 "type" : "string"
14137 },
14138 "backup" : {
14139 "description" : "Whether the drive should be included when making backups.",
14140 "optional" : 1,
14141 "type" : "boolean"
14142 },
14143 "bps" : {
14144 "description" : "Maximum r/w speed in bytes per second.",
14145 "format_description" : "bps",
14146 "optional" : 1,
14147 "type" : "integer"
14148 },
14149 "bps_max_length" : {
14150 "description" : "Maximum length of I/O bursts in seconds.",
14151 "format_description" : "seconds",
14152 "minimum" : 1,
14153 "optional" : 1,
14154 "type" : "integer"
14155 },
14156 "bps_rd" : {
14157 "description" : "Maximum read speed in bytes per second.",
14158 "format_description" : "bps",
14159 "optional" : 1,
14160 "type" : "integer"
14161 },
14162 "bps_rd_length" : {
14163 "alias" : "bps_rd_max_length"
14164 },
14165 "bps_rd_max_length" : {
14166 "description" : "Maximum length of read I/O bursts in seconds.",
14167 "format_description" : "seconds",
14168 "minimum" : 1,
14169 "optional" : 1,
14170 "type" : "integer"
14171 },
14172 "bps_wr" : {
14173 "description" : "Maximum write speed in bytes per second.",
14174 "format_description" : "bps",
14175 "optional" : 1,
14176 "type" : "integer"
14177 },
14178 "bps_wr_length" : {
14179 "alias" : "bps_wr_max_length"
14180 },
14181 "bps_wr_max_length" : {
14182 "description" : "Maximum length of write I/O bursts in seconds.",
14183 "format_description" : "seconds",
14184 "minimum" : 1,
14185 "optional" : 1,
14186 "type" : "integer"
14187 },
14188 "cache" : {
14189 "description" : "The drive's cache mode",
14190 "enum" : [
14191 "none",
14192 "writethrough",
14193 "writeback",
14194 "unsafe",
14195 "directsync"
14196 ],
14197 "optional" : 1,
14198 "type" : "string"
14199 },
14200 "cyls" : {
14201 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14202 "optional" : 1,
14203 "type" : "integer"
14204 },
14205 "detect_zeroes" : {
14206 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14207 "optional" : 1,
14208 "type" : "boolean"
14209 },
14210 "discard" : {
14211 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14212 "enum" : [
14213 "ignore",
14214 "on"
14215 ],
14216 "optional" : 1,
14217 "type" : "string"
14218 },
14219 "file" : {
14220 "default_key" : 1,
14221 "description" : "The drive's backing volume.",
14222 "format" : "pve-volume-id-or-qm-path",
14223 "format_description" : "volume",
14224 "type" : "string"
14225 },
14226 "format" : {
14227 "description" : "The drive's backing file's data format.",
14228 "enum" : [
14229 "raw",
14230 "cow",
14231 "qcow",
14232 "qed",
14233 "qcow2",
14234 "vmdk",
14235 "cloop"
14236 ],
14237 "optional" : 1,
14238 "type" : "string"
14239 },
14240 "heads" : {
14241 "description" : "Force the drive's physical geometry to have a specific head count.",
14242 "optional" : 1,
14243 "type" : "integer"
14244 },
14245 "iops" : {
14246 "description" : "Maximum r/w I/O in operations per second.",
14247 "format_description" : "iops",
14248 "optional" : 1,
14249 "type" : "integer"
14250 },
14251 "iops_max" : {
14252 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
14253 "format_description" : "iops",
14254 "optional" : 1,
14255 "type" : "integer"
14256 },
14257 "iops_max_length" : {
14258 "description" : "Maximum length of I/O bursts in seconds.",
14259 "format_description" : "seconds",
14260 "minimum" : 1,
14261 "optional" : 1,
14262 "type" : "integer"
14263 },
14264 "iops_rd" : {
14265 "description" : "Maximum read I/O in operations per second.",
14266 "format_description" : "iops",
14267 "optional" : 1,
14268 "type" : "integer"
14269 },
14270 "iops_rd_length" : {
14271 "alias" : "iops_rd_max_length"
14272 },
14273 "iops_rd_max" : {
14274 "description" : "Maximum unthrottled read I/O pool in operations per second.",
14275 "format_description" : "iops",
14276 "optional" : 1,
14277 "type" : "integer"
14278 },
14279 "iops_rd_max_length" : {
14280 "description" : "Maximum length of read I/O bursts in seconds.",
14281 "format_description" : "seconds",
14282 "minimum" : 1,
14283 "optional" : 1,
14284 "type" : "integer"
14285 },
14286 "iops_wr" : {
14287 "description" : "Maximum write I/O in operations per second.",
14288 "format_description" : "iops",
14289 "optional" : 1,
14290 "type" : "integer"
14291 },
14292 "iops_wr_length" : {
14293 "alias" : "iops_wr_max_length"
14294 },
14295 "iops_wr_max" : {
14296 "description" : "Maximum unthrottled write I/O pool in operations per second.",
14297 "format_description" : "iops",
14298 "optional" : 1,
14299 "type" : "integer"
14300 },
14301 "iops_wr_max_length" : {
14302 "description" : "Maximum length of write I/O bursts in seconds.",
14303 "format_description" : "seconds",
14304 "minimum" : 1,
14305 "optional" : 1,
14306 "type" : "integer"
14307 },
14308 "iothread" : {
14309 "description" : "Whether to use iothreads for this drive",
14310 "optional" : 1,
14311 "type" : "boolean"
14312 },
14313 "mbps" : {
14314 "description" : "Maximum r/w speed in megabytes per second.",
14315 "format_description" : "mbps",
14316 "optional" : 1,
14317 "type" : "number"
14318 },
14319 "mbps_max" : {
14320 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
14321 "format_description" : "mbps",
14322 "optional" : 1,
14323 "type" : "number"
14324 },
14325 "mbps_rd" : {
14326 "description" : "Maximum read speed in megabytes per second.",
14327 "format_description" : "mbps",
14328 "optional" : 1,
14329 "type" : "number"
14330 },
14331 "mbps_rd_max" : {
14332 "description" : "Maximum unthrottled read pool in megabytes per second.",
14333 "format_description" : "mbps",
14334 "optional" : 1,
14335 "type" : "number"
14336 },
14337 "mbps_wr" : {
14338 "description" : "Maximum write speed in megabytes per second.",
14339 "format_description" : "mbps",
14340 "optional" : 1,
14341 "type" : "number"
14342 },
14343 "mbps_wr_max" : {
14344 "description" : "Maximum unthrottled write pool in megabytes per second.",
14345 "format_description" : "mbps",
14346 "optional" : 1,
14347 "type" : "number"
14348 },
14349 "media" : {
14350 "default" : "disk",
14351 "description" : "The drive's media type.",
14352 "enum" : [
14353 "cdrom",
14354 "disk"
14355 ],
14356 "optional" : 1,
14357 "type" : "string"
14358 },
14359 "replicate" : {
14360 "default" : 1,
14361 "description" : "Whether the drive should considered for replication jobs.",
14362 "optional" : 1,
14363 "type" : "boolean"
14364 },
14365 "rerror" : {
14366 "description" : "Read error action.",
14367 "enum" : [
14368 "ignore",
14369 "report",
14370 "stop"
14371 ],
14372 "optional" : 1,
14373 "type" : "string"
14374 },
14375 "secs" : {
14376 "description" : "Force the drive's physical geometry to have a specific sector count.",
14377 "optional" : 1,
14378 "type" : "integer"
14379 },
14380 "serial" : {
14381 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14382 "format" : "urlencoded",
14383 "format_description" : "serial",
14384 "maxLength" : 60,
14385 "optional" : 1,
14386 "type" : "string"
14387 },
14388 "shared" : {
14389 "default" : 0,
14390 "description" : "Mark this locally-managed volume as available on all nodes",
14391 "optional" : 1,
14392 "type" : "boolean",
14393 "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!"
14394 },
14395 "size" : {
14396 "description" : "Disk size. This is purely informational and has no effect.",
14397 "format" : "disk-size",
14398 "format_description" : "DiskSize",
14399 "optional" : 1,
14400 "type" : "string"
14401 },
14402 "snapshot" : {
14403 "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.",
14404 "optional" : 1,
14405 "type" : "boolean"
14406 },
14407 "trans" : {
14408 "description" : "Force disk geometry bios translation mode.",
14409 "enum" : [
14410 "none",
14411 "lba",
14412 "auto"
14413 ],
14414 "optional" : 1,
14415 "type" : "string"
14416 },
14417 "volume" : {
14418 "alias" : "file"
14419 },
14420 "werror" : {
14421 "description" : "Write error action.",
14422 "enum" : [
14423 "enospc",
14424 "ignore",
14425 "report",
14426 "stop"
14427 ],
14428 "optional" : 1,
14429 "type" : "string"
14430 }
14431 },
14432 "optional" : 1,
14433 "type" : "string",
14434 "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>]"
14435 },
14436 "vmgenid" : {
14437 "default" : "1 (autogenerated)",
14438 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
14439 "format_description" : "UUID",
14440 "optional" : 1,
14441 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
14442 "type" : "string",
14443 "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."
14444 },
14445 "vmid" : {
14446 "description" : "The (unique) ID of the VM.",
14447 "format" : "pve-vmid",
14448 "minimum" : 1,
14449 "type" : "integer",
14450 "typetext" : "<integer> (1 - N)"
14451 },
14452 "vmstatestorage" : {
14453 "description" : "Default storage for VM state volumes/files.",
14454 "format" : "pve-storage-id",
14455 "optional" : 1,
14456 "type" : "string",
14457 "typetext" : "<string>"
14458 },
14459 "watchdog" : {
14460 "description" : "Create a virtual hardware watchdog device.",
14461 "format" : "pve-qm-watchdog",
14462 "optional" : 1,
14463 "type" : "string",
14464 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
14465 "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)"
14466 }
14467 }
14468 },
14469 "permissions" : {
14470 "check" : [
14471 "perm",
14472 "/vms/{vmid}",
14473 [
14474 "VM.Config.Disk",
14475 "VM.Config.CDROM",
14476 "VM.Config.CPU",
14477 "VM.Config.Memory",
14478 "VM.Config.Network",
14479 "VM.Config.HWType",
14480 "VM.Config.Options"
14481 ],
14482 "any",
14483 1
14484 ]
14485 },
14486 "protected" : 1,
14487 "proxyto" : "node",
14488 "returns" : {
14489 "type" : "null"
14490 }
14491 }
14492 },
14493 "leaf" : 1,
14494 "path" : "/nodes/{node}/qemu/{vmid}/config",
14495 "text" : "config"
14496 },
14497 {
14498 "info" : {
14499 "GET" : {
14500 "description" : "Get virtual machine configuration, including pending changes.",
14501 "method" : "GET",
14502 "name" : "vm_pending",
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 "proxyto" : "node",
14531 "returns" : {
14532 "items" : {
14533 "properties" : {
14534 "delete" : {
14535 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
14536 "maximum" : 2,
14537 "minimum" : 0,
14538 "optional" : 1,
14539 "type" : "integer"
14540 },
14541 "key" : {
14542 "description" : "Configuration option name.",
14543 "type" : "string"
14544 },
14545 "pending" : {
14546 "description" : "Pending value.",
14547 "optional" : 1,
14548 "type" : "string"
14549 },
14550 "value" : {
14551 "description" : "Current value.",
14552 "optional" : 1,
14553 "type" : "string"
14554 }
14555 },
14556 "type" : "object"
14557 },
14558 "type" : "array"
14559 }
14560 }
14561 },
14562 "leaf" : 1,
14563 "path" : "/nodes/{node}/qemu/{vmid}/pending",
14564 "text" : "pending"
14565 },
14566 {
14567 "info" : {
14568 "PUT" : {
14569 "description" : "Unlink/delete disk images.",
14570 "method" : "PUT",
14571 "name" : "unlink",
14572 "parameters" : {
14573 "additionalProperties" : 0,
14574 "properties" : {
14575 "force" : {
14576 "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.",
14577 "optional" : 1,
14578 "type" : "boolean",
14579 "typetext" : "<boolean>"
14580 },
14581 "idlist" : {
14582 "description" : "A list of disk IDs you want to delete.",
14583 "format" : "pve-configid-list",
14584 "type" : "string",
14585 "typetext" : "<string>"
14586 },
14587 "node" : {
14588 "description" : "The cluster node name.",
14589 "format" : "pve-node",
14590 "type" : "string",
14591 "typetext" : "<string>"
14592 },
14593 "vmid" : {
14594 "description" : "The (unique) ID of the VM.",
14595 "format" : "pve-vmid",
14596 "minimum" : 1,
14597 "type" : "integer",
14598 "typetext" : "<integer> (1 - N)"
14599 }
14600 }
14601 },
14602 "permissions" : {
14603 "check" : [
14604 "perm",
14605 "/vms/{vmid}",
14606 [
14607 "VM.Config.Disk"
14608 ]
14609 ]
14610 },
14611 "protected" : 1,
14612 "proxyto" : "node",
14613 "returns" : {
14614 "type" : "null"
14615 }
14616 }
14617 },
14618 "leaf" : 1,
14619 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
14620 "text" : "unlink"
14621 },
14622 {
14623 "info" : {
14624 "POST" : {
14625 "description" : "Creates a TCP VNC proxy connections.",
14626 "method" : "POST",
14627 "name" : "vncproxy",
14628 "parameters" : {
14629 "additionalProperties" : 0,
14630 "properties" : {
14631 "node" : {
14632 "description" : "The cluster node name.",
14633 "format" : "pve-node",
14634 "type" : "string",
14635 "typetext" : "<string>"
14636 },
14637 "vmid" : {
14638 "description" : "The (unique) ID of the VM.",
14639 "format" : "pve-vmid",
14640 "minimum" : 1,
14641 "type" : "integer",
14642 "typetext" : "<integer> (1 - N)"
14643 },
14644 "websocket" : {
14645 "description" : "starts websockify instead of vncproxy",
14646 "optional" : 1,
14647 "type" : "boolean",
14648 "typetext" : "<boolean>"
14649 }
14650 }
14651 },
14652 "permissions" : {
14653 "check" : [
14654 "perm",
14655 "/vms/{vmid}",
14656 [
14657 "VM.Console"
14658 ]
14659 ]
14660 },
14661 "protected" : 1,
14662 "returns" : {
14663 "additionalProperties" : 0,
14664 "properties" : {
14665 "cert" : {
14666 "type" : "string"
14667 },
14668 "port" : {
14669 "type" : "integer"
14670 },
14671 "ticket" : {
14672 "type" : "string"
14673 },
14674 "upid" : {
14675 "type" : "string"
14676 },
14677 "user" : {
14678 "type" : "string"
14679 }
14680 }
14681 }
14682 }
14683 },
14684 "leaf" : 1,
14685 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
14686 "text" : "vncproxy"
14687 },
14688 {
14689 "info" : {
14690 "POST" : {
14691 "description" : "Creates a TCP proxy connections.",
14692 "method" : "POST",
14693 "name" : "termproxy",
14694 "parameters" : {
14695 "additionalProperties" : 0,
14696 "properties" : {
14697 "node" : {
14698 "description" : "The cluster node name.",
14699 "format" : "pve-node",
14700 "type" : "string",
14701 "typetext" : "<string>"
14702 },
14703 "serial" : {
14704 "description" : "opens a serial terminal (defaults to display)",
14705 "enum" : [
14706 "serial0",
14707 "serial1",
14708 "serial2",
14709 "serial3"
14710 ],
14711 "optional" : 1,
14712 "type" : "string"
14713 },
14714 "vmid" : {
14715 "description" : "The (unique) ID of the VM.",
14716 "format" : "pve-vmid",
14717 "minimum" : 1,
14718 "type" : "integer",
14719 "typetext" : "<integer> (1 - N)"
14720 }
14721 }
14722 },
14723 "permissions" : {
14724 "check" : [
14725 "perm",
14726 "/vms/{vmid}",
14727 [
14728 "VM.Console"
14729 ]
14730 ]
14731 },
14732 "protected" : 1,
14733 "returns" : {
14734 "additionalProperties" : 0,
14735 "properties" : {
14736 "port" : {
14737 "type" : "integer"
14738 },
14739 "ticket" : {
14740 "type" : "string"
14741 },
14742 "upid" : {
14743 "type" : "string"
14744 },
14745 "user" : {
14746 "type" : "string"
14747 }
14748 }
14749 }
14750 }
14751 },
14752 "leaf" : 1,
14753 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
14754 "text" : "termproxy"
14755 },
14756 {
14757 "info" : {
14758 "GET" : {
14759 "description" : "Opens a weksocket for VNC traffic.",
14760 "method" : "GET",
14761 "name" : "vncwebsocket",
14762 "parameters" : {
14763 "additionalProperties" : 0,
14764 "properties" : {
14765 "node" : {
14766 "description" : "The cluster node name.",
14767 "format" : "pve-node",
14768 "type" : "string",
14769 "typetext" : "<string>"
14770 },
14771 "port" : {
14772 "description" : "Port number returned by previous vncproxy call.",
14773 "maximum" : 5999,
14774 "minimum" : 5900,
14775 "type" : "integer",
14776 "typetext" : "<integer> (5900 - 5999)"
14777 },
14778 "vmid" : {
14779 "description" : "The (unique) ID of the VM.",
14780 "format" : "pve-vmid",
14781 "minimum" : 1,
14782 "type" : "integer",
14783 "typetext" : "<integer> (1 - N)"
14784 },
14785 "vncticket" : {
14786 "description" : "Ticket from previous call to vncproxy.",
14787 "maxLength" : 512,
14788 "type" : "string",
14789 "typetext" : "<string>"
14790 }
14791 }
14792 },
14793 "permissions" : {
14794 "check" : [
14795 "perm",
14796 "/vms/{vmid}",
14797 [
14798 "VM.Console"
14799 ]
14800 ],
14801 "description" : "You also need to pass a valid ticket (vncticket)."
14802 },
14803 "returns" : {
14804 "properties" : {
14805 "port" : {
14806 "type" : "string"
14807 }
14808 },
14809 "type" : "object"
14810 }
14811 }
14812 },
14813 "leaf" : 1,
14814 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
14815 "text" : "vncwebsocket"
14816 },
14817 {
14818 "info" : {
14819 "POST" : {
14820 "description" : "Returns a SPICE configuration to connect to the VM.",
14821 "method" : "POST",
14822 "name" : "spiceproxy",
14823 "parameters" : {
14824 "additionalProperties" : 0,
14825 "properties" : {
14826 "node" : {
14827 "description" : "The cluster node name.",
14828 "format" : "pve-node",
14829 "type" : "string",
14830 "typetext" : "<string>"
14831 },
14832 "proxy" : {
14833 "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).",
14834 "format" : "address",
14835 "optional" : 1,
14836 "type" : "string",
14837 "typetext" : "<string>"
14838 },
14839 "vmid" : {
14840 "description" : "The (unique) ID of the VM.",
14841 "format" : "pve-vmid",
14842 "minimum" : 1,
14843 "type" : "integer",
14844 "typetext" : "<integer> (1 - N)"
14845 }
14846 }
14847 },
14848 "permissions" : {
14849 "check" : [
14850 "perm",
14851 "/vms/{vmid}",
14852 [
14853 "VM.Console"
14854 ]
14855 ]
14856 },
14857 "protected" : 1,
14858 "proxyto" : "node",
14859 "returns" : {
14860 "additionalProperties" : 1,
14861 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
14862 "properties" : {
14863 "host" : {
14864 "type" : "string"
14865 },
14866 "password" : {
14867 "type" : "string"
14868 },
14869 "proxy" : {
14870 "type" : "string"
14871 },
14872 "tls-port" : {
14873 "type" : "integer"
14874 },
14875 "type" : {
14876 "type" : "string"
14877 }
14878 }
14879 }
14880 }
14881 },
14882 "leaf" : 1,
14883 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
14884 "text" : "spiceproxy"
14885 },
14886 {
14887 "children" : [
14888 {
14889 "info" : {
14890 "GET" : {
14891 "description" : "Get virtual machine status.",
14892 "method" : "GET",
14893 "name" : "vm_status",
14894 "parameters" : {
14895 "additionalProperties" : 0,
14896 "properties" : {
14897 "node" : {
14898 "description" : "The cluster node name.",
14899 "format" : "pve-node",
14900 "type" : "string",
14901 "typetext" : "<string>"
14902 },
14903 "vmid" : {
14904 "description" : "The (unique) ID of the VM.",
14905 "format" : "pve-vmid",
14906 "minimum" : 1,
14907 "type" : "integer",
14908 "typetext" : "<integer> (1 - N)"
14909 }
14910 }
14911 },
14912 "permissions" : {
14913 "check" : [
14914 "perm",
14915 "/vms/{vmid}",
14916 [
14917 "VM.Audit"
14918 ]
14919 ]
14920 },
14921 "protected" : 1,
14922 "proxyto" : "node",
14923 "returns" : {
14924 "properties" : {
14925 "agent" : {
14926 "description" : "Qemu GuestAgent enabled in config.",
14927 "optional" : 1,
14928 "type" : "boolean"
14929 },
14930 "cpus" : {
14931 "description" : "Maximum usable CPUs.",
14932 "optional" : 1,
14933 "type" : "number"
14934 },
14935 "ha" : {
14936 "description" : "HA manager service status.",
14937 "type" : "object"
14938 },
14939 "maxdisk" : {
14940 "description" : "Root disk size in bytes.",
14941 "optional" : 1,
14942 "renderer" : "bytes",
14943 "type" : "integer"
14944 },
14945 "maxmem" : {
14946 "description" : "Maximum memory in bytes.",
14947 "optional" : 1,
14948 "renderer" : "bytes",
14949 "type" : "integer"
14950 },
14951 "name" : {
14952 "description" : "VM name.",
14953 "optional" : 1,
14954 "type" : "string"
14955 },
14956 "pid" : {
14957 "description" : "PID of running qemu process.",
14958 "optional" : 1,
14959 "type" : "integer"
14960 },
14961 "qmpstatus" : {
14962 "description" : "Qemu QMP agent status.",
14963 "optional" : 1,
14964 "type" : "string"
14965 },
14966 "spice" : {
14967 "description" : "Qemu VGA configuration supports spice.",
14968 "optional" : 1,
14969 "type" : "boolean"
14970 },
14971 "status" : {
14972 "description" : "Qemu process status.",
14973 "enum" : [
14974 "stopped",
14975 "running"
14976 ],
14977 "type" : "string"
14978 },
14979 "uptime" : {
14980 "description" : "Uptime.",
14981 "optional" : 1,
14982 "renderer" : "duration",
14983 "type" : "integer"
14984 },
14985 "vmid" : {
14986 "description" : "The (unique) ID of the VM.",
14987 "format" : "pve-vmid",
14988 "minimum" : 1,
14989 "type" : "integer"
14990 }
14991 },
14992 "type" : "object"
14993 }
14994 }
14995 },
14996 "leaf" : 1,
14997 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
14998 "text" : "current"
14999 },
15000 {
15001 "info" : {
15002 "POST" : {
15003 "description" : "Start virtual machine.",
15004 "method" : "POST",
15005 "name" : "vm_start",
15006 "parameters" : {
15007 "additionalProperties" : 0,
15008 "properties" : {
15009 "machine" : {
15010 "description" : "Specifies the Qemu machine type.",
15011 "maxLength" : 40,
15012 "optional" : 1,
e2d681b3 15013 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
4d47f125
TL
15014 "type" : "string"
15015 },
15016 "migratedfrom" : {
15017 "description" : "The cluster node name.",
15018 "format" : "pve-node",
15019 "optional" : 1,
15020 "type" : "string",
15021 "typetext" : "<string>"
15022 },
15023 "migration_network" : {
15024 "description" : "CIDR of the (sub) network that is used for migration.",
15025 "format" : "CIDR",
15026 "optional" : 1,
15027 "type" : "string",
15028 "typetext" : "<string>"
15029 },
15030 "migration_type" : {
15031 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
15032 "enum" : [
15033 "secure",
15034 "insecure"
15035 ],
15036 "optional" : 1,
15037 "type" : "string"
15038 },
15039 "node" : {
15040 "description" : "The cluster node name.",
15041 "format" : "pve-node",
15042 "type" : "string",
15043 "typetext" : "<string>"
15044 },
15045 "skiplock" : {
15046 "description" : "Ignore locks - only root is allowed to use this option.",
15047 "optional" : 1,
15048 "type" : "boolean",
15049 "typetext" : "<boolean>"
15050 },
15051 "stateuri" : {
15052 "description" : "Some command save/restore state from this location.",
15053 "maxLength" : 128,
15054 "optional" : 1,
15055 "type" : "string",
15056 "typetext" : "<string>"
15057 },
15058 "targetstorage" : {
15059 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
15060 "optional" : 1,
15061 "type" : "string",
15062 "typetext" : "<string>"
15063 },
15064 "vmid" : {
15065 "description" : "The (unique) ID of the VM.",
15066 "format" : "pve-vmid",
15067 "minimum" : 1,
15068 "type" : "integer",
15069 "typetext" : "<integer> (1 - N)"
15070 }
15071 }
15072 },
15073 "permissions" : {
15074 "check" : [
15075 "perm",
15076 "/vms/{vmid}",
15077 [
15078 "VM.PowerMgmt"
15079 ]
15080 ]
15081 },
15082 "protected" : 1,
15083 "proxyto" : "node",
15084 "returns" : {
15085 "type" : "string"
15086 }
15087 }
15088 },
15089 "leaf" : 1,
15090 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
15091 "text" : "start"
15092 },
15093 {
15094 "info" : {
15095 "POST" : {
15096 "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",
15097 "method" : "POST",
15098 "name" : "vm_stop",
15099 "parameters" : {
15100 "additionalProperties" : 0,
15101 "properties" : {
15102 "keepActive" : {
15103 "default" : 0,
15104 "description" : "Do not deactivate storage volumes.",
15105 "optional" : 1,
15106 "type" : "boolean",
15107 "typetext" : "<boolean>"
15108 },
15109 "migratedfrom" : {
15110 "description" : "The cluster node name.",
15111 "format" : "pve-node",
15112 "optional" : 1,
15113 "type" : "string",
15114 "typetext" : "<string>"
15115 },
15116 "node" : {
15117 "description" : "The cluster node name.",
15118 "format" : "pve-node",
15119 "type" : "string",
15120 "typetext" : "<string>"
15121 },
15122 "skiplock" : {
15123 "description" : "Ignore locks - only root is allowed to use this option.",
15124 "optional" : 1,
15125 "type" : "boolean",
15126 "typetext" : "<boolean>"
15127 },
15128 "timeout" : {
15129 "description" : "Wait maximal timeout seconds.",
15130 "minimum" : 0,
15131 "optional" : 1,
15132 "type" : "integer",
15133 "typetext" : "<integer> (0 - N)"
15134 },
15135 "vmid" : {
15136 "description" : "The (unique) ID of the VM.",
15137 "format" : "pve-vmid",
15138 "minimum" : 1,
15139 "type" : "integer",
15140 "typetext" : "<integer> (1 - N)"
15141 }
15142 }
15143 },
15144 "permissions" : {
15145 "check" : [
15146 "perm",
15147 "/vms/{vmid}",
15148 [
15149 "VM.PowerMgmt"
15150 ]
15151 ]
15152 },
15153 "protected" : 1,
15154 "proxyto" : "node",
15155 "returns" : {
15156 "type" : "string"
15157 }
15158 }
15159 },
15160 "leaf" : 1,
15161 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
15162 "text" : "stop"
15163 },
15164 {
15165 "info" : {
15166 "POST" : {
15167 "description" : "Reset virtual machine.",
15168 "method" : "POST",
15169 "name" : "vm_reset",
15170 "parameters" : {
15171 "additionalProperties" : 0,
15172 "properties" : {
15173 "node" : {
15174 "description" : "The cluster node name.",
15175 "format" : "pve-node",
15176 "type" : "string",
15177 "typetext" : "<string>"
15178 },
15179 "skiplock" : {
15180 "description" : "Ignore locks - only root is allowed to use this option.",
15181 "optional" : 1,
15182 "type" : "boolean",
15183 "typetext" : "<boolean>"
15184 },
15185 "vmid" : {
15186 "description" : "The (unique) ID of the VM.",
15187 "format" : "pve-vmid",
15188 "minimum" : 1,
15189 "type" : "integer",
15190 "typetext" : "<integer> (1 - N)"
15191 }
15192 }
15193 },
15194 "permissions" : {
15195 "check" : [
15196 "perm",
15197 "/vms/{vmid}",
15198 [
15199 "VM.PowerMgmt"
15200 ]
15201 ]
15202 },
15203 "protected" : 1,
15204 "proxyto" : "node",
15205 "returns" : {
15206 "type" : "string"
15207 }
15208 }
15209 },
15210 "leaf" : 1,
15211 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
15212 "text" : "reset"
15213 },
15214 {
15215 "info" : {
15216 "POST" : {
15217 "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.",
15218 "method" : "POST",
15219 "name" : "vm_shutdown",
15220 "parameters" : {
15221 "additionalProperties" : 0,
15222 "properties" : {
15223 "forceStop" : {
15224 "default" : 0,
15225 "description" : "Make sure the VM stops.",
15226 "optional" : 1,
15227 "type" : "boolean",
15228 "typetext" : "<boolean>"
15229 },
15230 "keepActive" : {
15231 "default" : 0,
15232 "description" : "Do not deactivate storage volumes.",
15233 "optional" : 1,
15234 "type" : "boolean",
15235 "typetext" : "<boolean>"
15236 },
15237 "node" : {
15238 "description" : "The cluster node name.",
15239 "format" : "pve-node",
15240 "type" : "string",
15241 "typetext" : "<string>"
15242 },
15243 "skiplock" : {
15244 "description" : "Ignore locks - only root is allowed to use this option.",
15245 "optional" : 1,
15246 "type" : "boolean",
15247 "typetext" : "<boolean>"
15248 },
15249 "timeout" : {
15250 "description" : "Wait maximal timeout seconds.",
15251 "minimum" : 0,
15252 "optional" : 1,
15253 "type" : "integer",
15254 "typetext" : "<integer> (0 - N)"
15255 },
15256 "vmid" : {
15257 "description" : "The (unique) ID of the VM.",
15258 "format" : "pve-vmid",
15259 "minimum" : 1,
15260 "type" : "integer",
15261 "typetext" : "<integer> (1 - N)"
15262 }
15263 }
15264 },
15265 "permissions" : {
15266 "check" : [
15267 "perm",
15268 "/vms/{vmid}",
15269 [
15270 "VM.PowerMgmt"
15271 ]
15272 ]
15273 },
15274 "protected" : 1,
15275 "proxyto" : "node",
15276 "returns" : {
15277 "type" : "string"
15278 }
15279 }
15280 },
15281 "leaf" : 1,
15282 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
15283 "text" : "shutdown"
15284 },
15285 {
15286 "info" : {
15287 "POST" : {
15288 "description" : "Suspend virtual machine.",
15289 "method" : "POST",
15290 "name" : "vm_suspend",
15291 "parameters" : {
15292 "additionalProperties" : 0,
15293 "properties" : {
15294 "node" : {
15295 "description" : "The cluster node name.",
15296 "format" : "pve-node",
15297 "type" : "string",
15298 "typetext" : "<string>"
15299 },
15300 "skiplock" : {
15301 "description" : "Ignore locks - only root is allowed to use this option.",
15302 "optional" : 1,
15303 "type" : "boolean",
15304 "typetext" : "<boolean>"
15305 },
15306 "vmid" : {
15307 "description" : "The (unique) ID of the VM.",
15308 "format" : "pve-vmid",
15309 "minimum" : 1,
15310 "type" : "integer",
15311 "typetext" : "<integer> (1 - N)"
15312 }
15313 }
15314 },
15315 "permissions" : {
15316 "check" : [
15317 "perm",
15318 "/vms/{vmid}",
15319 [
15320 "VM.PowerMgmt"
15321 ]
15322 ]
15323 },
15324 "protected" : 1,
15325 "proxyto" : "node",
15326 "returns" : {
15327 "type" : "string"
15328 }
15329 }
15330 },
15331 "leaf" : 1,
15332 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
15333 "text" : "suspend"
15334 },
15335 {
15336 "info" : {
15337 "POST" : {
15338 "description" : "Resume virtual machine.",
15339 "method" : "POST",
15340 "name" : "vm_resume",
15341 "parameters" : {
15342 "additionalProperties" : 0,
15343 "properties" : {
15344 "nocheck" : {
15345 "optional" : 1,
15346 "type" : "boolean",
15347 "typetext" : "<boolean>"
15348 },
15349 "node" : {
15350 "description" : "The cluster node name.",
15351 "format" : "pve-node",
15352 "type" : "string",
15353 "typetext" : "<string>"
15354 },
15355 "skiplock" : {
15356 "description" : "Ignore locks - only root is allowed to use this option.",
15357 "optional" : 1,
15358 "type" : "boolean",
15359 "typetext" : "<boolean>"
15360 },
15361 "vmid" : {
15362 "description" : "The (unique) ID of the VM.",
15363 "format" : "pve-vmid",
15364 "minimum" : 1,
15365 "type" : "integer",
15366 "typetext" : "<integer> (1 - N)"
15367 }
15368 }
15369 },
15370 "permissions" : {
15371 "check" : [
15372 "perm",
15373 "/vms/{vmid}",
15374 [
15375 "VM.PowerMgmt"
15376 ]
15377 ]
15378 },
15379 "protected" : 1,
15380 "proxyto" : "node",
15381 "returns" : {
15382 "type" : "string"
15383 }
15384 }
15385 },
15386 "leaf" : 1,
15387 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
15388 "text" : "resume"
15389 }
15390 ],
15391 "info" : {
15392 "GET" : {
15393 "description" : "Directory index",
15394 "method" : "GET",
15395 "name" : "vmcmdidx",
15396 "parameters" : {
15397 "additionalProperties" : 0,
15398 "properties" : {
15399 "node" : {
15400 "description" : "The cluster node name.",
15401 "format" : "pve-node",
15402 "type" : "string",
15403 "typetext" : "<string>"
15404 },
15405 "vmid" : {
15406 "description" : "The (unique) ID of the VM.",
15407 "format" : "pve-vmid",
15408 "minimum" : 1,
15409 "type" : "integer",
15410 "typetext" : "<integer> (1 - N)"
15411 }
15412 }
15413 },
15414 "permissions" : {
15415 "user" : "all"
15416 },
15417 "proxyto" : "node",
15418 "returns" : {
15419 "items" : {
15420 "properties" : {
15421 "subdir" : {
15422 "type" : "string"
15423 }
15424 },
15425 "type" : "object"
15426 },
15427 "links" : [
15428 {
15429 "href" : "{subdir}",
15430 "rel" : "child"
15431 }
15432 ],
15433 "type" : "array"
15434 }
15435 }
15436 },
15437 "leaf" : 0,
15438 "path" : "/nodes/{node}/qemu/{vmid}/status",
15439 "text" : "status"
15440 },
15441 {
15442 "info" : {
15443 "PUT" : {
15444 "description" : "Send key event to virtual machine.",
15445 "method" : "PUT",
15446 "name" : "vm_sendkey",
15447 "parameters" : {
15448 "additionalProperties" : 0,
15449 "properties" : {
15450 "key" : {
15451 "description" : "The key (qemu monitor encoding).",
15452 "type" : "string",
15453 "typetext" : "<string>"
15454 },
15455 "node" : {
15456 "description" : "The cluster node name.",
15457 "format" : "pve-node",
15458 "type" : "string",
15459 "typetext" : "<string>"
15460 },
15461 "skiplock" : {
15462 "description" : "Ignore locks - only root is allowed to use this option.",
15463 "optional" : 1,
15464 "type" : "boolean",
15465 "typetext" : "<boolean>"
15466 },
15467 "vmid" : {
15468 "description" : "The (unique) ID of the VM.",
15469 "format" : "pve-vmid",
15470 "minimum" : 1,
15471 "type" : "integer",
15472 "typetext" : "<integer> (1 - N)"
15473 }
15474 }
15475 },
15476 "permissions" : {
15477 "check" : [
15478 "perm",
15479 "/vms/{vmid}",
15480 [
15481 "VM.Console"
15482 ]
15483 ]
15484 },
15485 "protected" : 1,
15486 "proxyto" : "node",
15487 "returns" : {
15488 "type" : "null"
15489 }
15490 }
15491 },
15492 "leaf" : 1,
15493 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
15494 "text" : "sendkey"
15495 },
15496 {
15497 "info" : {
15498 "GET" : {
15499 "description" : "Check if feature for virtual machine is available.",
15500 "method" : "GET",
15501 "name" : "vm_feature",
15502 "parameters" : {
15503 "additionalProperties" : 0,
15504 "properties" : {
15505 "feature" : {
15506 "description" : "Feature to check.",
15507 "enum" : [
15508 "snapshot",
15509 "clone",
15510 "copy"
15511 ],
15512 "type" : "string"
15513 },
15514 "node" : {
15515 "description" : "The cluster node name.",
15516 "format" : "pve-node",
15517 "type" : "string",
15518 "typetext" : "<string>"
15519 },
15520 "snapname" : {
15521 "description" : "The name of the snapshot.",
15522 "format" : "pve-configid",
15523 "maxLength" : 40,
15524 "optional" : 1,
15525 "type" : "string",
15526 "typetext" : "<string>"
15527 },
15528 "vmid" : {
15529 "description" : "The (unique) ID of the VM.",
15530 "format" : "pve-vmid",
15531 "minimum" : 1,
15532 "type" : "integer",
15533 "typetext" : "<integer> (1 - N)"
15534 }
15535 }
15536 },
15537 "permissions" : {
15538 "check" : [
15539 "perm",
15540 "/vms/{vmid}",
15541 [
15542 "VM.Audit"
15543 ]
15544 ]
15545 },
15546 "protected" : 1,
15547 "proxyto" : "node",
15548 "returns" : {
15549 "properties" : {
15550 "hasFeature" : {
15551 "type" : "boolean"
15552 },
15553 "nodes" : {
15554 "items" : {
15555 "type" : "string"
15556 },
15557 "type" : "array"
15558 }
15559 },
15560 "type" : "object"
15561 }
15562 }
15563 },
15564 "leaf" : 1,
15565 "path" : "/nodes/{node}/qemu/{vmid}/feature",
15566 "text" : "feature"
15567 },
15568 {
15569 "info" : {
15570 "POST" : {
15571 "description" : "Create a copy of virtual machine/template.",
15572 "method" : "POST",
15573 "name" : "clone_vm",
15574 "parameters" : {
15575 "additionalProperties" : 0,
15576 "properties" : {
15577 "description" : {
15578 "description" : "Description for the new VM.",
15579 "optional" : 1,
15580 "type" : "string",
15581 "typetext" : "<string>"
15582 },
15583 "format" : {
15584 "description" : "Target format for file storage. Only valid for full clone.",
15585 "enum" : [
15586 "raw",
15587 "qcow2",
15588 "vmdk"
15589 ],
15590 "optional" : 1,
15591 "type" : "string"
15592 },
15593 "full" : {
15594 "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.",
15595 "optional" : 1,
15596 "type" : "boolean",
15597 "typetext" : "<boolean>"
15598 },
15599 "name" : {
15600 "description" : "Set a name for the new VM.",
15601 "format" : "dns-name",
15602 "optional" : 1,
15603 "type" : "string",
15604 "typetext" : "<string>"
15605 },
15606 "newid" : {
15607 "description" : "VMID for the clone.",
15608 "format" : "pve-vmid",
15609 "minimum" : 1,
15610 "type" : "integer",
15611 "typetext" : "<integer> (1 - N)"
15612 },
15613 "node" : {
15614 "description" : "The cluster node name.",
15615 "format" : "pve-node",
15616 "type" : "string",
15617 "typetext" : "<string>"
15618 },
15619 "pool" : {
15620 "description" : "Add the new VM to the specified pool.",
15621 "format" : "pve-poolid",
15622 "optional" : 1,
15623 "type" : "string",
15624 "typetext" : "<string>"
15625 },
15626 "snapname" : {
15627 "description" : "The name of the snapshot.",
15628 "format" : "pve-configid",
15629 "maxLength" : 40,
15630 "optional" : 1,
15631 "type" : "string",
15632 "typetext" : "<string>"
15633 },
15634 "storage" : {
15635 "description" : "Target storage for full clone.",
15636 "format" : "pve-storage-id",
15637 "optional" : 1,
15638 "type" : "string",
15639 "typetext" : "<string>"
15640 },
15641 "target" : {
15642 "description" : "Target node. Only allowed if the original VM is on shared storage.",
15643 "format" : "pve-node",
15644 "optional" : 1,
15645 "type" : "string",
15646 "typetext" : "<string>"
15647 },
15648 "vmid" : {
15649 "description" : "The (unique) ID of the VM.",
15650 "format" : "pve-vmid",
15651 "minimum" : 1,
15652 "type" : "integer",
15653 "typetext" : "<integer> (1 - N)"
15654 }
15655 }
15656 },
15657 "permissions" : {
15658 "check" : [
15659 "and",
15660 [
15661 "perm",
15662 "/vms/{vmid}",
15663 [
15664 "VM.Clone"
15665 ]
15666 ],
15667 [
15668 "or",
15669 [
15670 "perm",
15671 "/vms/{newid}",
15672 [
15673 "VM.Allocate"
15674 ]
15675 ],
15676 [
15677 "perm",
15678 "/pool/{pool}",
15679 [
15680 "VM.Allocate"
15681 ],
15682 "require_param",
15683 "pool"
15684 ]
15685 ]
15686 ],
15687 "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."
15688 },
15689 "protected" : 1,
15690 "proxyto" : "node",
15691 "returns" : {
15692 "type" : "string"
15693 }
15694 }
15695 },
15696 "leaf" : 1,
15697 "path" : "/nodes/{node}/qemu/{vmid}/clone",
15698 "text" : "clone"
15699 },
15700 {
15701 "info" : {
15702 "POST" : {
15703 "description" : "Move volume to different storage.",
15704 "method" : "POST",
15705 "name" : "move_vm_disk",
15706 "parameters" : {
15707 "additionalProperties" : 0,
15708 "properties" : {
15709 "delete" : {
15710 "default" : 0,
15711 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
15712 "optional" : 1,
15713 "type" : "boolean",
15714 "typetext" : "<boolean>"
15715 },
15716 "digest" : {
15717 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15718 "maxLength" : 40,
15719 "optional" : 1,
15720 "type" : "string",
15721 "typetext" : "<string>"
15722 },
15723 "disk" : {
15724 "description" : "The disk you want to move.",
15725 "enum" : [
15726 "ide0",
15727 "ide1",
15728 "ide2",
15729 "ide3",
15730 "scsi0",
15731 "scsi1",
15732 "scsi2",
15733 "scsi3",
15734 "scsi4",
15735 "scsi5",
15736 "scsi6",
15737 "scsi7",
15738 "scsi8",
15739 "scsi9",
15740 "scsi10",
15741 "scsi11",
15742 "scsi12",
15743 "scsi13",
15744 "virtio0",
15745 "virtio1",
15746 "virtio2",
15747 "virtio3",
15748 "virtio4",
15749 "virtio5",
15750 "virtio6",
15751 "virtio7",
15752 "virtio8",
15753 "virtio9",
15754 "virtio10",
15755 "virtio11",
15756 "virtio12",
15757 "virtio13",
15758 "virtio14",
15759 "virtio15",
15760 "sata0",
15761 "sata1",
15762 "sata2",
15763 "sata3",
15764 "sata4",
15765 "sata5",
15766 "efidisk0"
15767 ],
15768 "type" : "string"
15769 },
15770 "format" : {
15771 "description" : "Target Format.",
15772 "enum" : [
15773 "raw",
15774 "qcow2",
15775 "vmdk"
15776 ],
15777 "optional" : 1,
15778 "type" : "string"
15779 },
15780 "node" : {
15781 "description" : "The cluster node name.",
15782 "format" : "pve-node",
15783 "type" : "string",
15784 "typetext" : "<string>"
15785 },
15786 "storage" : {
15787 "description" : "Target storage.",
15788 "format" : "pve-storage-id",
15789 "type" : "string",
15790 "typetext" : "<string>"
15791 },
15792 "vmid" : {
15793 "description" : "The (unique) ID of the VM.",
15794 "format" : "pve-vmid",
15795 "minimum" : 1,
15796 "type" : "integer",
15797 "typetext" : "<integer> (1 - N)"
15798 }
15799 }
15800 },
15801 "permissions" : {
15802 "check" : [
15803 "and",
15804 [
15805 "perm",
15806 "/vms/{vmid}",
15807 [
15808 "VM.Config.Disk"
15809 ]
15810 ],
15811 [
15812 "perm",
15813 "/storage/{storage}",
15814 [
15815 "Datastore.AllocateSpace"
15816 ]
15817 ]
15818 ],
15819 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
15820 },
15821 "protected" : 1,
15822 "proxyto" : "node",
15823 "returns" : {
15824 "description" : "the task ID.",
15825 "type" : "string"
15826 }
15827 }
15828 },
15829 "leaf" : 1,
15830 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
15831 "text" : "move_disk"
15832 },
15833 {
15834 "info" : {
15835 "POST" : {
15836 "description" : "Migrate virtual machine. Creates a new migration task.",
15837 "method" : "POST",
15838 "name" : "migrate_vm",
15839 "parameters" : {
15840 "additionalProperties" : 0,
15841 "properties" : {
15842 "force" : {
15843 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
15844 "optional" : 1,
15845 "type" : "boolean",
15846 "typetext" : "<boolean>"
15847 },
15848 "migration_network" : {
15849 "description" : "CIDR of the (sub) network that is used for migration.",
15850 "format" : "CIDR",
15851 "optional" : 1,
15852 "type" : "string",
15853 "typetext" : "<string>"
15854 },
15855 "migration_type" : {
15856 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
15857 "enum" : [
15858 "secure",
15859 "insecure"
15860 ],
15861 "optional" : 1,
15862 "type" : "string"
15863 },
15864 "node" : {
15865 "description" : "The cluster node name.",
15866 "format" : "pve-node",
15867 "type" : "string",
15868 "typetext" : "<string>"
15869 },
15870 "online" : {
15871 "description" : "Use online/live migration.",
15872 "optional" : 1,
15873 "type" : "boolean",
15874 "typetext" : "<boolean>"
15875 },
15876 "target" : {
15877 "description" : "Target node.",
15878 "format" : "pve-node",
15879 "type" : "string",
15880 "typetext" : "<string>"
15881 },
15882 "targetstorage" : {
15883 "description" : "Default target storage.",
15884 "format" : "pve-storage-id",
15885 "optional" : 1,
52e44c50
FG
15886 "type" : "string",
15887 "typetext" : "<string>"
15888 },
7aacca6f 15889 "vmid" : {
7aacca6f 15890 "description" : "The (unique) ID of the VM.",
44660702 15891 "format" : "pve-vmid",
7aacca6f 15892 "minimum" : 1,
4bd7df8b 15893 "type" : "integer",
013dc89f 15894 "typetext" : "<integer> (1 - N)"
52e44c50
FG
15895 },
15896 "with-local-disks" : {
15897 "description" : "Enable live storage migration for local disk",
15898 "optional" : 1,
15899 "type" : "boolean",
15900 "typetext" : "<boolean>"
56122987 15901 }
44660702
DM
15902 }
15903 },
15904 "permissions" : {
15905 "check" : [
15906 "perm",
15907 "/vms/{vmid}",
15908 [
15909 "VM.Migrate"
15910 ]
15911 ]
56122987
DM
15912 },
15913 "protected" : 1,
44660702
DM
15914 "proxyto" : "node",
15915 "returns" : {
15916 "description" : "the task ID.",
15917 "type" : "string"
15918 }
56122987 15919 }
7aacca6f 15920 },
44660702
DM
15921 "leaf" : 1,
15922 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 15923 "text" : "migrate"
56122987
DM
15924 },
15925 {
15926 "info" : {
15927 "POST" : {
44660702 15928 "description" : "Execute Qemu monitor commands.",
56122987 15929 "method" : "POST",
44660702 15930 "name" : "monitor",
56122987 15931 "parameters" : {
7aacca6f 15932 "additionalProperties" : 0,
56122987 15933 "properties" : {
44660702
DM
15934 "command" : {
15935 "description" : "The monitor command.",
013dc89f
DM
15936 "type" : "string",
15937 "typetext" : "<string>"
44660702 15938 },
56122987 15939 "node" : {
44660702 15940 "description" : "The cluster node name.",
7aacca6f 15941 "format" : "pve-node",
013dc89f
DM
15942 "type" : "string",
15943 "typetext" : "<string>"
56122987
DM
15944 },
15945 "vmid" : {
44660702 15946 "description" : "The (unique) ID of the VM.",
56122987 15947 "format" : "pve-vmid",
7aacca6f 15948 "minimum" : 1,
4bd7df8b 15949 "type" : "integer",
013dc89f 15950 "typetext" : "<integer> (1 - N)"
56122987 15951 }
7aacca6f 15952 }
56122987 15953 },
56122987
DM
15954 "permissions" : {
15955 "check" : [
15956 "perm",
15957 "/vms/{vmid}",
15958 [
15959 "VM.Monitor"
15960 ]
32d876b5
DM
15961 ],
15962 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 15963 },
44660702
DM
15964 "protected" : 1,
15965 "proxyto" : "node",
15966 "returns" : {
15967 "type" : "string"
15968 }
56122987 15969 }
44660702
DM
15970 },
15971 "leaf" : 1,
15972 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
15973 "text" : "monitor"
56122987
DM
15974 },
15975 {
56122987
DM
15976 "info" : {
15977 "PUT" : {
44660702
DM
15978 "description" : "Extend volume size.",
15979 "method" : "PUT",
15980 "name" : "resize_vm",
56122987 15981 "parameters" : {
44660702 15982 "additionalProperties" : 0,
56122987 15983 "properties" : {
44660702
DM
15984 "digest" : {
15985 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15986 "maxLength" : 40,
15987 "optional" : 1,
013dc89f
DM
15988 "type" : "string",
15989 "typetext" : "<string>"
56122987 15990 },
56122987
DM
15991 "disk" : {
15992 "description" : "The disk you want to resize.",
15993 "enum" : [
15994 "ide0",
15995 "ide1",
15996 "ide2",
15997 "ide3",
15998 "scsi0",
15999 "scsi1",
16000 "scsi2",
16001 "scsi3",
16002 "scsi4",
16003 "scsi5",
16004 "scsi6",
16005 "scsi7",
16006 "scsi8",
16007 "scsi9",
16008 "scsi10",
16009 "scsi11",
16010 "scsi12",
16011 "scsi13",
16012 "virtio0",
16013 "virtio1",
16014 "virtio2",
16015 "virtio3",
16016 "virtio4",
16017 "virtio5",
16018 "virtio6",
16019 "virtio7",
16020 "virtio8",
16021 "virtio9",
16022 "virtio10",
16023 "virtio11",
16024 "virtio12",
16025 "virtio13",
16026 "virtio14",
16027 "virtio15",
16028 "sata0",
16029 "sata1",
16030 "sata2",
16031 "sata3",
16032 "sata4",
2c0dde61
DM
16033 "sata5",
16034 "efidisk0"
44660702
DM
16035 ],
16036 "type" : "string"
56122987 16037 },
44660702
DM
16038 "node" : {
16039 "description" : "The cluster node name.",
16040 "format" : "pve-node",
013dc89f
DM
16041 "type" : "string",
16042 "typetext" : "<string>"
7aacca6f 16043 },
44660702 16044 "size" : {
5d9c884c 16045 "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
16046 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
16047 "type" : "string"
56122987
DM
16048 },
16049 "skiplock" : {
16050 "description" : "Ignore locks - only root is allowed to use this option.",
16051 "optional" : 1,
013dc89f
DM
16052 "type" : "boolean",
16053 "typetext" : "<boolean>"
56122987
DM
16054 },
16055 "vmid" : {
7aacca6f 16056 "description" : "The (unique) ID of the VM.",
56122987 16057 "format" : "pve-vmid",
44660702 16058 "minimum" : 1,
4bd7df8b 16059 "type" : "integer",
013dc89f 16060 "typetext" : "<integer> (1 - N)"
56122987
DM
16061 }
16062 }
16063 },
16064 "permissions" : {
16065 "check" : [
16066 "perm",
16067 "/vms/{vmid}",
16068 [
44660702 16069 "VM.Config.Disk"
56122987
DM
16070 ]
16071 ]
16072 },
7aacca6f 16073 "protected" : 1,
7aacca6f 16074 "proxyto" : "node",
44660702
DM
16075 "returns" : {
16076 "type" : "null"
16077 }
7aacca6f
DM
16078 }
16079 },
44660702
DM
16080 "leaf" : 1,
16081 "path" : "/nodes/{node}/qemu/{vmid}/resize",
16082 "text" : "resize"
16083 },
16084 {
56122987
DM
16085 "children" : [
16086 {
16087 "children" : [
16088 {
56122987 16089 "info" : {
44660702
DM
16090 "GET" : {
16091 "description" : "Get snapshot configuration",
16092 "method" : "GET",
16093 "name" : "get_snapshot_config",
56122987 16094 "parameters" : {
44660702 16095 "additionalProperties" : 0,
56122987 16096 "properties" : {
56122987 16097 "node" : {
44660702 16098 "description" : "The cluster node name.",
56122987 16099 "format" : "pve-node",
013dc89f
DM
16100 "type" : "string",
16101 "typetext" : "<string>"
7aacca6f
DM
16102 },
16103 "snapname" : {
44660702 16104 "description" : "The name of the snapshot.",
7aacca6f 16105 "format" : "pve-configid",
44660702 16106 "maxLength" : 40,
013dc89f
DM
16107 "type" : "string",
16108 "typetext" : "<string>"
7aacca6f
DM
16109 },
16110 "vmid" : {
44660702 16111 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16112 "format" : "pve-vmid",
16113 "minimum" : 1,
4bd7df8b 16114 "type" : "integer",
013dc89f 16115 "typetext" : "<integer> (1 - N)"
56122987 16116 }
44660702 16117 }
56122987
DM
16118 },
16119 "permissions" : {
16120 "check" : [
16121 "perm",
16122 "/vms/{vmid}",
16123 [
2489d6df
WB
16124 "VM.Snapshot",
16125 "VM.Snapshot.Rollback"
16126 ],
16127 "any",
16128 1
56122987
DM
16129 ]
16130 },
44660702 16131 "proxyto" : "node",
56122987 16132 "returns" : {
44660702 16133 "type" : "object"
7aacca6f
DM
16134 }
16135 },
44660702
DM
16136 "PUT" : {
16137 "description" : "Update snapshot metadata.",
16138 "method" : "PUT",
16139 "name" : "update_snapshot_config",
56122987 16140 "parameters" : {
44660702 16141 "additionalProperties" : 0,
56122987 16142 "properties" : {
44660702
DM
16143 "description" : {
16144 "description" : "A textual description or comment.",
16145 "optional" : 1,
013dc89f
DM
16146 "type" : "string",
16147 "typetext" : "<string>"
44660702 16148 },
56122987 16149 "node" : {
7aacca6f 16150 "description" : "The cluster node name.",
44660702 16151 "format" : "pve-node",
013dc89f
DM
16152 "type" : "string",
16153 "typetext" : "<string>"
56122987 16154 },
56122987
DM
16155 "snapname" : {
16156 "description" : "The name of the snapshot.",
44660702 16157 "format" : "pve-configid",
7aacca6f 16158 "maxLength" : 40,
013dc89f
DM
16159 "type" : "string",
16160 "typetext" : "<string>"
7aacca6f
DM
16161 },
16162 "vmid" : {
16163 "description" : "The (unique) ID of the VM.",
44660702 16164 "format" : "pve-vmid",
7aacca6f 16165 "minimum" : 1,
4bd7df8b 16166 "type" : "integer",
013dc89f 16167 "typetext" : "<integer> (1 - N)"
56122987 16168 }
44660702 16169 }
56122987 16170 },
7aacca6f
DM
16171 "permissions" : {
16172 "check" : [
16173 "perm",
16174 "/vms/{vmid}",
16175 [
16176 "VM.Snapshot"
16177 ]
16178 ]
44660702
DM
16179 },
16180 "protected" : 1,
16181 "proxyto" : "node",
16182 "returns" : {
16183 "type" : "null"
7aacca6f 16184 }
56122987
DM
16185 }
16186 },
44660702 16187 "leaf" : 1,
7aacca6f 16188 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 16189 "text" : "config"
56122987
DM
16190 },
16191 {
56122987
DM
16192 "info" : {
16193 "POST" : {
44660702 16194 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 16195 "method" : "POST",
44660702 16196 "name" : "rollback",
56122987
DM
16197 "parameters" : {
16198 "additionalProperties" : 0,
16199 "properties" : {
44660702
DM
16200 "node" : {
16201 "description" : "The cluster node name.",
16202 "format" : "pve-node",
013dc89f
DM
16203 "type" : "string",
16204 "typetext" : "<string>"
44660702 16205 },
56122987 16206 "snapname" : {
44660702 16207 "description" : "The name of the snapshot.",
56122987
DM
16208 "format" : "pve-configid",
16209 "maxLength" : 40,
013dc89f
DM
16210 "type" : "string",
16211 "typetext" : "<string>"
7aacca6f 16212 },
56122987 16213 "vmid" : {
7aacca6f 16214 "description" : "The (unique) ID of the VM.",
44660702 16215 "format" : "pve-vmid",
56122987 16216 "minimum" : 1,
4bd7df8b 16217 "type" : "integer",
013dc89f 16218 "typetext" : "<integer> (1 - N)"
56122987
DM
16219 }
16220 }
16221 },
7aacca6f 16222 "permissions" : {
56122987
DM
16223 "check" : [
16224 "perm",
16225 "/vms/{vmid}",
16226 [
2489d6df
WB
16227 "VM.Snapshot",
16228 "VM.Snapshot.Rollback"
16229 ],
16230 "any",
16231 1
56122987
DM
16232 ]
16233 },
44660702 16234 "protected" : 1,
7aacca6f 16235 "proxyto" : "node",
44660702
DM
16236 "returns" : {
16237 "description" : "the task ID.",
16238 "type" : "string"
16239 }
56122987
DM
16240 }
16241 },
44660702
DM
16242 "leaf" : 1,
16243 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 16244 "text" : "rollback"
56122987 16245 }
44660702
DM
16246 ],
16247 "info" : {
16248 "DELETE" : {
16249 "description" : "Delete a VM snapshot.",
16250 "method" : "DELETE",
16251 "name" : "delsnapshot",
16252 "parameters" : {
16253 "additionalProperties" : 0,
16254 "properties" : {
16255 "force" : {
16256 "description" : "For removal from config file, even if removing disk snapshots fails.",
16257 "optional" : 1,
013dc89f
DM
16258 "type" : "boolean",
16259 "typetext" : "<boolean>"
44660702
DM
16260 },
16261 "node" : {
16262 "description" : "The cluster node name.",
16263 "format" : "pve-node",
013dc89f
DM
16264 "type" : "string",
16265 "typetext" : "<string>"
44660702
DM
16266 },
16267 "snapname" : {
16268 "description" : "The name of the snapshot.",
16269 "format" : "pve-configid",
16270 "maxLength" : 40,
013dc89f
DM
16271 "type" : "string",
16272 "typetext" : "<string>"
44660702
DM
16273 },
16274 "vmid" : {
16275 "description" : "The (unique) ID of the VM.",
16276 "format" : "pve-vmid",
16277 "minimum" : 1,
4bd7df8b 16278 "type" : "integer",
013dc89f 16279 "typetext" : "<integer> (1 - N)"
44660702
DM
16280 }
16281 }
16282 },
16283 "permissions" : {
16284 "check" : [
16285 "perm",
16286 "/vms/{vmid}",
16287 [
16288 "VM.Snapshot"
16289 ]
16290 ]
16291 },
16292 "protected" : 1,
16293 "proxyto" : "node",
16294 "returns" : {
16295 "description" : "the task ID.",
16296 "type" : "string"
16297 }
16298 },
16299 "GET" : {
16300 "description" : "",
16301 "method" : "GET",
16302 "name" : "snapshot_cmd_idx",
16303 "parameters" : {
16304 "additionalProperties" : 0,
16305 "properties" : {
16306 "node" : {
16307 "description" : "The cluster node name.",
16308 "format" : "pve-node",
013dc89f
DM
16309 "type" : "string",
16310 "typetext" : "<string>"
44660702
DM
16311 },
16312 "snapname" : {
16313 "description" : "The name of the snapshot.",
16314 "format" : "pve-configid",
16315 "maxLength" : 40,
013dc89f
DM
16316 "type" : "string",
16317 "typetext" : "<string>"
44660702
DM
16318 },
16319 "vmid" : {
16320 "description" : "The (unique) ID of the VM.",
16321 "format" : "pve-vmid",
16322 "minimum" : 1,
4bd7df8b 16323 "type" : "integer",
013dc89f 16324 "typetext" : "<integer> (1 - N)"
44660702
DM
16325 }
16326 }
16327 },
16328 "permissions" : {
16329 "user" : "all"
16330 },
16331 "returns" : {
16332 "items" : {
16333 "properties" : {},
16334 "type" : "object"
16335 },
16336 "links" : [
16337 {
16338 "href" : "{cmd}",
16339 "rel" : "child"
16340 }
16341 ],
16342 "type" : "array"
16343 }
16344 }
16345 },
16346 "leaf" : 0,
16347 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
16348 "text" : "{snapname}"
56122987
DM
16349 }
16350 ],
44660702
DM
16351 "info" : {
16352 "GET" : {
16353 "description" : "List all snapshots.",
16354 "method" : "GET",
16355 "name" : "snapshot_list",
16356 "parameters" : {
16357 "additionalProperties" : 0,
16358 "properties" : {
16359 "node" : {
16360 "description" : "The cluster node name.",
16361 "format" : "pve-node",
013dc89f
DM
16362 "type" : "string",
16363 "typetext" : "<string>"
44660702
DM
16364 },
16365 "vmid" : {
16366 "description" : "The (unique) ID of the VM.",
16367 "format" : "pve-vmid",
16368 "minimum" : 1,
4bd7df8b 16369 "type" : "integer",
013dc89f 16370 "typetext" : "<integer> (1 - N)"
44660702
DM
16371 }
16372 }
16373 },
16374 "permissions" : {
16375 "check" : [
16376 "perm",
16377 "/vms/{vmid}",
16378 [
16379 "VM.Audit"
16380 ]
16381 ]
16382 },
16383 "protected" : 1,
16384 "proxyto" : "node",
16385 "returns" : {
16386 "items" : {
4d47f125
TL
16387 "properties" : {
16388 "description" : {
16389 "description" : "Snapshot description.",
16390 "type" : "string"
16391 },
16392 "name" : {
16393 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
16394 "type" : "string"
16395 },
16396 "parent" : {
16397 "description" : "Parent snapshot identifier.",
16398 "optional" : 1,
16399 "type" : "string"
16400 },
16401 "snaptime" : {
16402 "description" : "Snapshot creation time",
16403 "optional" : 1,
16404 "renderer" : "timestamp",
16405 "type" : "integer"
16406 },
16407 "vmstate" : {
16408 "description" : "Snapshot includes RAM.",
16409 "optional" : 1,
16410 "type" : "boolean"
16411 }
16412 },
44660702
DM
16413 "type" : "object"
16414 },
16415 "links" : [
16416 {
16417 "href" : "{name}",
16418 "rel" : "child"
16419 }
16420 ],
16421 "type" : "array"
16422 }
16423 },
16424 "POST" : {
16425 "description" : "Snapshot a VM.",
16426 "method" : "POST",
16427 "name" : "snapshot",
16428 "parameters" : {
16429 "additionalProperties" : 0,
16430 "properties" : {
16431 "description" : {
16432 "description" : "A textual description or comment.",
16433 "optional" : 1,
013dc89f
DM
16434 "type" : "string",
16435 "typetext" : "<string>"
44660702
DM
16436 },
16437 "node" : {
16438 "description" : "The cluster node name.",
16439 "format" : "pve-node",
013dc89f
DM
16440 "type" : "string",
16441 "typetext" : "<string>"
44660702
DM
16442 },
16443 "snapname" : {
16444 "description" : "The name of the snapshot.",
16445 "format" : "pve-configid",
16446 "maxLength" : 40,
013dc89f
DM
16447 "type" : "string",
16448 "typetext" : "<string>"
44660702
DM
16449 },
16450 "vmid" : {
16451 "description" : "The (unique) ID of the VM.",
16452 "format" : "pve-vmid",
16453 "minimum" : 1,
4bd7df8b 16454 "type" : "integer",
013dc89f 16455 "typetext" : "<integer> (1 - N)"
44660702
DM
16456 },
16457 "vmstate" : {
16458 "description" : "Save the vmstate",
16459 "optional" : 1,
013dc89f
DM
16460 "type" : "boolean",
16461 "typetext" : "<boolean>"
44660702
DM
16462 }
16463 }
16464 },
16465 "permissions" : {
16466 "check" : [
16467 "perm",
16468 "/vms/{vmid}",
16469 [
16470 "VM.Snapshot"
16471 ]
16472 ]
16473 },
16474 "protected" : 1,
16475 "proxyto" : "node",
16476 "returns" : {
16477 "description" : "the task ID.",
16478 "type" : "string"
16479 }
16480 }
16481 },
16482 "leaf" : 0,
16483 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 16484 "text" : "snapshot"
56122987
DM
16485 },
16486 {
56122987
DM
16487 "info" : {
16488 "POST" : {
44660702
DM
16489 "description" : "Create a Template.",
16490 "method" : "POST",
56122987 16491 "name" : "template",
56122987 16492 "parameters" : {
7aacca6f 16493 "additionalProperties" : 0,
56122987 16494 "properties" : {
56122987 16495 "disk" : {
56122987
DM
16496 "description" : "If you want to convert only 1 disk to base image.",
16497 "enum" : [
16498 "ide0",
16499 "ide1",
16500 "ide2",
16501 "ide3",
16502 "scsi0",
16503 "scsi1",
16504 "scsi2",
16505 "scsi3",
16506 "scsi4",
16507 "scsi5",
16508 "scsi6",
16509 "scsi7",
16510 "scsi8",
16511 "scsi9",
16512 "scsi10",
16513 "scsi11",
16514 "scsi12",
16515 "scsi13",
16516 "virtio0",
16517 "virtio1",
16518 "virtio2",
16519 "virtio3",
16520 "virtio4",
16521 "virtio5",
16522 "virtio6",
16523 "virtio7",
16524 "virtio8",
16525 "virtio9",
16526 "virtio10",
16527 "virtio11",
16528 "virtio12",
16529 "virtio13",
16530 "virtio14",
16531 "virtio15",
16532 "sata0",
16533 "sata1",
16534 "sata2",
16535 "sata3",
16536 "sata4",
2c0dde61
DM
16537 "sata5",
16538 "efidisk0"
56122987 16539 ],
7aacca6f 16540 "optional" : 1,
56122987
DM
16541 "type" : "string"
16542 },
44660702
DM
16543 "node" : {
16544 "description" : "The cluster node name.",
16545 "format" : "pve-node",
013dc89f
DM
16546 "type" : "string",
16547 "typetext" : "<string>"
44660702
DM
16548 },
16549 "vmid" : {
16550 "description" : "The (unique) ID of the VM.",
7aacca6f 16551 "format" : "pve-vmid",
44660702 16552 "minimum" : 1,
4bd7df8b 16553 "type" : "integer",
013dc89f 16554 "typetext" : "<integer> (1 - N)"
56122987 16555 }
7aacca6f 16556 }
56122987 16557 },
7aacca6f
DM
16558 "permissions" : {
16559 "check" : [
16560 "perm",
16561 "/vms/{vmid}",
16562 [
16563 "VM.Allocate"
16564 ]
16565 ],
16566 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
16567 },
44660702 16568 "protected" : 1,
7aacca6f 16569 "proxyto" : "node",
7aacca6f
DM
16570 "returns" : {
16571 "type" : "null"
16572 }
56122987
DM
16573 }
16574 },
44660702 16575 "leaf" : 1,
7aacca6f 16576 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 16577 "text" : "template"
56122987
DM
16578 }
16579 ],
7aacca6f 16580 "info" : {
44660702
DM
16581 "DELETE" : {
16582 "description" : "Destroy the vm (also delete all used/owned volumes).",
16583 "method" : "DELETE",
16584 "name" : "destroy_vm",
7aacca6f 16585 "parameters" : {
44660702 16586 "additionalProperties" : 0,
7aacca6f
DM
16587 "properties" : {
16588 "node" : {
44660702 16589 "description" : "The cluster node name.",
7aacca6f 16590 "format" : "pve-node",
013dc89f
DM
16591 "type" : "string",
16592 "typetext" : "<string>"
44660702
DM
16593 },
16594 "skiplock" : {
16595 "description" : "Ignore locks - only root is allowed to use this option.",
16596 "optional" : 1,
013dc89f
DM
16597 "type" : "boolean",
16598 "typetext" : "<boolean>"
7aacca6f
DM
16599 },
16600 "vmid" : {
44660702 16601 "description" : "The (unique) ID of the VM.",
7aacca6f 16602 "format" : "pve-vmid",
44660702 16603 "minimum" : 1,
4bd7df8b 16604 "type" : "integer",
013dc89f 16605 "typetext" : "<integer> (1 - N)"
7aacca6f 16606 }
44660702 16607 }
7aacca6f 16608 },
7aacca6f
DM
16609 "permissions" : {
16610 "check" : [
16611 "perm",
16612 "/vms/{vmid}",
16613 [
16614 "VM.Allocate"
16615 ]
16616 ]
16617 },
44660702
DM
16618 "protected" : 1,
16619 "proxyto" : "node",
7aacca6f
DM
16620 "returns" : {
16621 "type" : "string"
44660702
DM
16622 }
16623 },
16624 "GET" : {
16625 "description" : "Directory index",
16626 "method" : "GET",
16627 "name" : "vmdiridx",
7aacca6f 16628 "parameters" : {
44660702 16629 "additionalProperties" : 0,
7aacca6f 16630 "properties" : {
7aacca6f 16631 "node" : {
7aacca6f 16632 "description" : "The cluster node name.",
44660702 16633 "format" : "pve-node",
013dc89f
DM
16634 "type" : "string",
16635 "typetext" : "<string>"
44660702
DM
16636 },
16637 "vmid" : {
16638 "description" : "The (unique) ID of the VM.",
16639 "format" : "pve-vmid",
16640 "minimum" : 1,
4bd7df8b 16641 "type" : "integer",
013dc89f 16642 "typetext" : "<integer> (1 - N)"
7aacca6f 16643 }
44660702 16644 }
7aacca6f 16645 },
44660702
DM
16646 "permissions" : {
16647 "user" : "all"
16648 },
16649 "proxyto" : "node",
16650 "returns" : {
16651 "items" : {
16652 "properties" : {
16653 "subdir" : {
16654 "type" : "string"
16655 }
16656 },
16657 "type" : "object"
16658 },
16659 "links" : [
16660 {
16661 "href" : "{subdir}",
16662 "rel" : "child"
16663 }
16664 ],
16665 "type" : "array"
16666 }
7aacca6f 16667 }
44660702
DM
16668 },
16669 "leaf" : 0,
16670 "path" : "/nodes/{node}/qemu/{vmid}",
16671 "text" : "{vmid}"
56122987
DM
16672 }
16673 ],
16674 "info" : {
44660702
DM
16675 "GET" : {
16676 "description" : "Virtual machine index (per node).",
16677 "method" : "GET",
16678 "name" : "vmlist",
56122987 16679 "parameters" : {
44660702 16680 "additionalProperties" : 0,
56122987 16681 "properties" : {
44660702
DM
16682 "full" : {
16683 "description" : "Determine the full status of active VMs.",
56122987 16684 "optional" : 1,
013dc89f
DM
16685 "type" : "boolean",
16686 "typetext" : "<boolean>"
56122987 16687 },
44660702
DM
16688 "node" : {
16689 "description" : "The cluster node name.",
16690 "format" : "pve-node",
013dc89f
DM
16691 "type" : "string",
16692 "typetext" : "<string>"
44660702
DM
16693 }
16694 }
16695 },
16696 "permissions" : {
16697 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
16698 "user" : "all"
16699 },
16700 "protected" : 1,
16701 "proxyto" : "node",
16702 "returns" : {
16703 "items" : {
4d47f125
TL
16704 "properties" : {
16705 "cpus" : {
16706 "description" : "Maximum usable CPUs.",
16707 "optional" : 1,
16708 "type" : "number"
16709 },
16710 "maxdisk" : {
16711 "description" : "Root disk size in bytes.",
16712 "optional" : 1,
16713 "renderer" : "bytes",
16714 "type" : "integer"
16715 },
16716 "maxmem" : {
16717 "description" : "Maximum memory in bytes.",
16718 "optional" : 1,
16719 "renderer" : "bytes",
16720 "type" : "integer"
16721 },
16722 "name" : {
16723 "description" : "VM name.",
16724 "optional" : 1,
16725 "type" : "string"
16726 },
16727 "pid" : {
16728 "description" : "PID of running qemu process.",
16729 "optional" : 1,
16730 "type" : "integer"
16731 },
16732 "qmpstatus" : {
16733 "description" : "Qemu QMP agent status.",
16734 "optional" : 1,
16735 "type" : "string"
16736 },
16737 "status" : {
16738 "description" : "Qemu process status.",
16739 "enum" : [
16740 "stopped",
16741 "running"
16742 ],
16743 "type" : "string"
16744 },
16745 "uptime" : {
16746 "description" : "Uptime.",
16747 "optional" : 1,
16748 "renderer" : "duration",
16749 "type" : "integer"
16750 },
16751 "vmid" : {
16752 "description" : "The (unique) ID of the VM.",
16753 "format" : "pve-vmid",
16754 "minimum" : 1,
16755 "type" : "integer"
16756 }
16757 },
44660702
DM
16758 "type" : "object"
16759 },
16760 "links" : [
16761 {
16762 "href" : "{vmid}",
16763 "rel" : "child"
16764 }
16765 ],
16766 "type" : "array"
16767 }
16768 },
16769 "POST" : {
16770 "description" : "Create or restore a virtual machine.",
16771 "method" : "POST",
16772 "name" : "create_vm",
16773 "parameters" : {
16774 "additionalProperties" : 0,
16775 "properties" : {
7aacca6f 16776 "acpi" : {
7aacca6f 16777 "default" : 1,
44660702 16778 "description" : "Enable/disable ACPI.",
56122987 16779 "optional" : 1,
013dc89f
DM
16780 "type" : "boolean",
16781 "typetext" : "<boolean>"
56122987 16782 },
44660702 16783 "agent" : {
4d47f125
TL
16784 "description" : "Enable/disable Qemu GuestAgent and its properties.",
16785 "format" : {
16786 "enabled" : {
16787 "default" : 0,
16788 "default_key" : 1,
16789 "description" : "Enable/disable Qemu GuestAgent.",
16790 "type" : "boolean"
16791 },
16792 "fstrim_cloned_disks" : {
16793 "default" : 0,
16794 "description" : "Run fstrim after cloning/moving a disk.",
16795 "optional" : 1,
16796 "type" : "boolean"
16797 }
16798 },
7aacca6f 16799 "optional" : 1,
4d47f125
TL
16800 "type" : "string",
16801 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 16802 },
e2d681b3
TL
16803 "arch" : {
16804 "description" : "Virtual processor architecture. Defaults to the host.",
16805 "enum" : [
16806 "x86_64",
16807 "aarch64"
16808 ],
16809 "optional" : 1,
16810 "type" : "string"
16811 },
44660702
DM
16812 "archive" : {
16813 "description" : "The backup file.",
16814 "maxLength" : 255,
56122987 16815 "optional" : 1,
013dc89f
DM
16816 "type" : "string",
16817 "typetext" : "<string>"
56122987 16818 },
44660702 16819 "args" : {
c2993fe5 16820 "description" : "Arbitrary arguments passed to kvm.",
56122987 16821 "optional" : 1,
c2993fe5 16822 "type" : "string",
013dc89f 16823 "typetext" : "<string>",
c2993fe5 16824 "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 16825 },
44660702 16826 "autostart" : {
7aacca6f 16827 "default" : 0,
44660702
DM
16828 "description" : "Automatic restart after crash (currently ignored).",
16829 "optional" : 1,
013dc89f
DM
16830 "type" : "boolean",
16831 "typetext" : "<boolean>"
7aacca6f 16832 },
44660702
DM
16833 "balloon" : {
16834 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
16835 "minimum" : 0,
56122987 16836 "optional" : 1,
4bd7df8b 16837 "type" : "integer",
013dc89f 16838 "typetext" : "<integer> (0 - N)"
56122987 16839 },
44660702
DM
16840 "bios" : {
16841 "default" : "seabios",
16842 "description" : "Select BIOS implementation.",
16843 "enum" : [
16844 "seabios",
16845 "ovmf"
16846 ],
56122987 16847 "optional" : 1,
44660702 16848 "type" : "string"
56122987 16849 },
44660702
DM
16850 "boot" : {
16851 "default" : "cdn",
16852 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 16853 "optional" : 1,
44660702
DM
16854 "pattern" : "[acdn]{1,4}",
16855 "type" : "string"
56122987 16856 },
7aacca6f
DM
16857 "bootdisk" : {
16858 "description" : "Enable booting from specified disk.",
44660702
DM
16859 "format" : "pve-qm-bootdisk",
16860 "optional" : 1,
7aacca6f 16861 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
16862 "type" : "string"
16863 },
27a7acb2
DM
16864 "bwlimit" : {
16865 "description" : "Override i/o bandwidth limit (in KiB/s).",
16866 "minimum" : "0",
16867 "optional" : 1,
16868 "type" : "integer",
16869 "typetext" : "<integer> (0 - N)"
16870 },
44660702
DM
16871 "cdrom" : {
16872 "description" : "This is an alias for option -ide2",
de0983cb 16873 "format" : "pve-qm-ide",
56122987 16874 "optional" : 1,
44660702 16875 "type" : "string",
013dc89f 16876 "typetext" : "<volume>"
56122987 16877 },
27a7acb2
DM
16878 "cipassword" : {
16879 "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.",
16880 "optional" : 1,
16881 "type" : "string",
16882 "typetext" : "<string>"
16883 },
16884 "citype" : {
16885 "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.",
16886 "enum" : [
16887 "configdrive2",
16888 "nocloud"
16889 ],
16890 "optional" : 1,
16891 "type" : "string"
16892 },
16893 "ciuser" : {
16894 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
16895 "optional" : 1,
16896 "type" : "string",
16897 "typetext" : "<string>"
16898 },
44660702
DM
16899 "cores" : {
16900 "default" : 1,
16901 "description" : "The number of cores per socket.",
7aacca6f 16902 "minimum" : 1,
44660702 16903 "optional" : 1,
4bd7df8b 16904 "type" : "integer",
013dc89f 16905 "typetext" : "<integer> (1 - N)"
7aacca6f 16906 },
44660702
DM
16907 "cpu" : {
16908 "description" : "Emulated CPU type.",
16909 "format" : {
16910 "cputype" : {
16911 "default" : "kvm64",
16912 "default_key" : 1,
16913 "description" : "Emulated CPU type.",
16914 "enum" : [
16915 "486",
16916 "athlon",
f004f5b9 16917 "Broadwell",
35a75dd3 16918 "Broadwell-IBRS",
f004f5b9 16919 "Broadwell-noTSX",
35a75dd3 16920 "Broadwell-noTSX-IBRS",
f004f5b9 16921 "Conroe",
44660702 16922 "core2duo",
f004f5b9 16923 "coreduo",
27a7acb2
DM
16924 "EPYC",
16925 "EPYC-IBPB",
f004f5b9 16926 "Haswell",
35a75dd3 16927 "Haswell-IBRS",
f004f5b9 16928 "Haswell-noTSX",
35a75dd3 16929 "Haswell-noTSX-IBRS",
f004f5b9
DM
16930 "host",
16931 "IvyBridge",
35a75dd3 16932 "IvyBridge-IBRS",
44660702
DM
16933 "kvm32",
16934 "kvm64",
35a75dd3 16935 "max",
44660702 16936 "Nehalem",
35a75dd3 16937 "Nehalem-IBRS",
44660702
DM
16938 "Opteron_G1",
16939 "Opteron_G2",
16940 "Opteron_G3",
16941 "Opteron_G4",
16942 "Opteron_G5",
f004f5b9
DM
16943 "Penryn",
16944 "pentium",
16945 "pentium2",
16946 "pentium3",
16947 "phenom",
16948 "qemu32",
16949 "qemu64",
16950 "SandyBridge",
35a75dd3 16951 "SandyBridge-IBRS",
5d9c884c 16952 "Skylake-Client",
35a75dd3
DM
16953 "Skylake-Client-IBRS",
16954 "Skylake-Server",
16955 "Skylake-Server-IBRS",
16956 "Westmere",
16957 "Westmere-IBRS"
44660702 16958 ],
44660702
DM
16959 "type" : "string"
16960 },
35a75dd3 16961 "flags" : {
4d47f125 16962 "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
16963 "format_description" : "+FLAG[;-FLAG...]",
16964 "optional" : 1,
4d47f125 16965 "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
16966 "type" : "string"
16967 },
44660702
DM
16968 "hidden" : {
16969 "default" : 0,
16970 "description" : "Do not identify as a KVM virtual machine.",
16971 "optional" : 1,
16972 "type" : "boolean"
5f26e15b
TL
16973 },
16974 "hv-vendor-id" : {
16975 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
16976 "format_description" : "vendor-id",
16977 "optional" : 1,
16978 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
16979 "type" : "string"
44660702
DM
16980 }
16981 },
56122987 16982 "optional" : 1,
4bd7df8b 16983 "type" : "string",
5f26e15b 16984 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
56122987 16985 },
44660702 16986 "cpulimit" : {
7aacca6f 16987 "default" : 0,
c2993fe5 16988 "description" : "Limit of CPU usage.",
44660702
DM
16989 "maximum" : 128,
16990 "minimum" : 0,
7aacca6f 16991 "optional" : 1,
c2993fe5 16992 "type" : "number",
013dc89f 16993 "typetext" : "<number> (0 - 128)",
c2993fe5 16994 "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
16995 },
16996 "cpuunits" : {
de0983cb 16997 "default" : 1024,
c2993fe5 16998 "description" : "CPU weight for a VM.",
2489d6df
WB
16999 "maximum" : 262144,
17000 "minimum" : 2,
44660702 17001 "optional" : 1,
c2993fe5 17002 "type" : "integer",
2489d6df
WB
17003 "typetext" : "<integer> (2 - 262144)",
17004 "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
17005 },
17006 "description" : {
17007 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 17008 "optional" : 1,
013dc89f
DM
17009 "type" : "string",
17010 "typetext" : "<string>"
44660702 17011 },
4d47f125
TL
17012 "efidisk0" : {
17013 "description" : "Configure a Disk for storing EFI vars",
17014 "format" : {
17015 "file" : {
17016 "default_key" : 1,
17017 "description" : "The drive's backing volume.",
17018 "format" : "pve-volume-id-or-qm-path",
17019 "format_description" : "volume",
17020 "type" : "string"
17021 },
17022 "format" : {
17023 "description" : "The drive's backing file's data format.",
17024 "enum" : [
17025 "raw",
17026 "cow",
17027 "qcow",
17028 "qed",
17029 "qcow2",
17030 "vmdk",
17031 "cloop"
17032 ],
17033 "optional" : 1,
17034 "type" : "string"
17035 },
17036 "size" : {
17037 "description" : "Disk size. This is purely informational and has no effect.",
17038 "format" : "disk-size",
17039 "format_description" : "DiskSize",
17040 "optional" : 1,
17041 "type" : "string"
17042 },
17043 "volume" : {
17044 "alias" : "file"
17045 }
17046 },
17047 "optional" : 1,
17048 "type" : "string",
17049 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
17050 },
44660702
DM
17051 "force" : {
17052 "description" : "Allow to overwrite existing VM.",
17053 "optional" : 1,
17054 "requires" : "archive",
013dc89f
DM
17055 "type" : "boolean",
17056 "typetext" : "<boolean>"
44660702
DM
17057 },
17058 "freeze" : {
17059 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
17060 "optional" : 1,
013dc89f
DM
17061 "type" : "boolean",
17062 "typetext" : "<boolean>"
44660702 17063 },
5f26e15b
TL
17064 "hookscript" : {
17065 "description" : "Script that will be executed during various steps in the vms lifetime.",
17066 "format" : "pve-volume-id",
17067 "optional" : 1,
17068 "type" : "string",
17069 "typetext" : "<string>"
17070 },
44660702 17071 "hostpci[n]" : {
c2993fe5 17072 "description" : "Map host PCI devices into guest.",
44660702
DM
17073 "format" : "pve-qm-hostpci",
17074 "optional" : 1,
57b78691 17075 "type" : "string",
e2d681b3 17076 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 17077 "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
17078 },
17079 "hotplug" : {
17080 "default" : "network,disk,usb",
17081 "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'.",
17082 "format" : "pve-hotplug-features",
17083 "optional" : 1,
013dc89f
DM
17084 "type" : "string",
17085 "typetext" : "<string>"
7aacca6f 17086 },
4bd7df8b
DM
17087 "hugepages" : {
17088 "description" : "Enable/disable hugepages memory.",
17089 "enum" : [
17090 "any",
17091 "2",
17092 "1024"
17093 ],
17094 "optional" : 1,
17095 "type" : "string"
17096 },
7aacca6f 17097 "ide[n]" : {
44660702 17098 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 17099 "format" : {
44660702
DM
17100 "aio" : {
17101 "description" : "AIO type to use.",
17102 "enum" : [
17103 "native",
17104 "threads"
17105 ],
44660702
DM
17106 "optional" : 1,
17107 "type" : "string"
17108 },
17109 "backup" : {
17110 "description" : "Whether the drive should be included when making backups.",
44660702
DM
17111 "optional" : 1,
17112 "type" : "boolean"
17113 },
17114 "bps" : {
de0983cb 17115 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 17116 "format_description" : "bps",
56122987 17117 "optional" : 1,
44660702 17118 "type" : "integer"
56122987 17119 },
de0983cb
DM
17120 "bps_max_length" : {
17121 "description" : "Maximum length of I/O bursts in seconds.",
17122 "format_description" : "seconds",
17123 "minimum" : 1,
17124 "optional" : 1,
17125 "type" : "integer"
17126 },
44660702 17127 "bps_rd" : {
de0983cb 17128 "description" : "Maximum read speed in bytes per second.",
44660702 17129 "format_description" : "bps",
56122987 17130 "optional" : 1,
44660702 17131 "type" : "integer"
56122987 17132 },
de0983cb 17133 "bps_rd_length" : {
5d9c884c
DM
17134 "alias" : "bps_rd_max_length"
17135 },
17136 "bps_rd_max_length" : {
de0983cb
DM
17137 "description" : "Maximum length of read I/O bursts in seconds.",
17138 "format_description" : "seconds",
17139 "minimum" : 1,
17140 "optional" : 1,
17141 "type" : "integer"
17142 },
44660702 17143 "bps_wr" : {
de0983cb 17144 "description" : "Maximum write speed in bytes per second.",
44660702 17145 "format_description" : "bps",
56122987 17146 "optional" : 1,
44660702 17147 "type" : "integer"
56122987 17148 },
de0983cb 17149 "bps_wr_length" : {
5d9c884c
DM
17150 "alias" : "bps_wr_max_length"
17151 },
17152 "bps_wr_max_length" : {
de0983cb
DM
17153 "description" : "Maximum length of write I/O bursts in seconds.",
17154 "format_description" : "seconds",
17155 "minimum" : 1,
17156 "optional" : 1,
17157 "type" : "integer"
17158 },
44660702
DM
17159 "cache" : {
17160 "description" : "The drive's cache mode",
56122987 17161 "enum" : [
7aacca6f 17162 "none",
44660702
DM
17163 "writethrough",
17164 "writeback",
17165 "unsafe",
17166 "directsync"
56122987 17167 ],
56122987 17168 "optional" : 1,
44660702 17169 "type" : "string"
56122987 17170 },
44660702
DM
17171 "cyls" : {
17172 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
17173 "optional" : 1,
17174 "type" : "integer"
7aacca6f 17175 },
44660702
DM
17176 "detect_zeroes" : {
17177 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 17178 "optional" : 1,
44660702 17179 "type" : "boolean"
56122987 17180 },
44660702
DM
17181 "discard" : {
17182 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17183 "enum" : [
17184 "ignore",
17185 "on"
17186 ],
56122987 17187 "optional" : 1,
44660702 17188 "type" : "string"
56122987 17189 },
7aacca6f 17190 "file" : {
44660702 17191 "default_key" : 1,
7aacca6f 17192 "description" : "The drive's backing volume.",
7aacca6f
DM
17193 "format" : "pve-volume-id-or-qm-path",
17194 "format_description" : "volume",
7aacca6f 17195 "type" : "string"
56122987 17196 },
44660702
DM
17197 "format" : {
17198 "description" : "The drive's backing file's data format.",
56122987 17199 "enum" : [
44660702
DM
17200 "raw",
17201 "cow",
17202 "qcow",
17203 "qed",
17204 "qcow2",
17205 "vmdk",
17206 "cloop"
7aacca6f 17207 ],
7aacca6f
DM
17208 "optional" : 1,
17209 "type" : "string"
56122987 17210 },
44660702
DM
17211 "heads" : {
17212 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 17213 "optional" : 1,
44660702 17214 "type" : "integer"
56122987 17215 },
44660702 17216 "iops" : {
de0983cb 17217 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 17218 "format_description" : "iops",
56122987 17219 "optional" : 1,
44660702 17220 "type" : "integer"
56122987 17221 },
44660702 17222 "iops_max" : {
de0983cb 17223 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 17224 "format_description" : "iops",
56122987 17225 "optional" : 1,
44660702 17226 "type" : "integer"
56122987 17227 },
de0983cb
DM
17228 "iops_max_length" : {
17229 "description" : "Maximum length of I/O bursts in seconds.",
17230 "format_description" : "seconds",
17231 "minimum" : 1,
17232 "optional" : 1,
17233 "type" : "integer"
17234 },
7aacca6f 17235 "iops_rd" : {
de0983cb 17236 "description" : "Maximum read I/O in operations per second.",
44660702
DM
17237 "format_description" : "iops",
17238 "optional" : 1,
17239 "type" : "integer"
7aacca6f 17240 },
de0983cb 17241 "iops_rd_length" : {
5d9c884c 17242 "alias" : "iops_rd_max_length"
de0983cb 17243 },
44660702 17244 "iops_rd_max" : {
de0983cb 17245 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 17246 "format_description" : "iops",
56122987 17247 "optional" : 1,
44660702 17248 "type" : "integer"
56122987 17249 },
5d9c884c
DM
17250 "iops_rd_max_length" : {
17251 "description" : "Maximum length of read I/O bursts in seconds.",
17252 "format_description" : "seconds",
17253 "minimum" : 1,
17254 "optional" : 1,
17255 "type" : "integer"
17256 },
44660702 17257 "iops_wr" : {
de0983cb 17258 "description" : "Maximum write I/O in operations per second.",
44660702 17259 "format_description" : "iops",
56122987 17260 "optional" : 1,
44660702 17261 "type" : "integer"
7aacca6f 17262 },
de0983cb 17263 "iops_wr_length" : {
5d9c884c 17264 "alias" : "iops_wr_max_length"
de0983cb 17265 },
44660702 17266 "iops_wr_max" : {
de0983cb 17267 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 17268 "format_description" : "iops",
7aacca6f 17269 "optional" : 1,
44660702 17270 "type" : "integer"
56122987 17271 },
5d9c884c
DM
17272 "iops_wr_max_length" : {
17273 "description" : "Maximum length of write I/O bursts in seconds.",
17274 "format_description" : "seconds",
17275 "minimum" : 1,
17276 "optional" : 1,
17277 "type" : "integer"
17278 },
44660702 17279 "mbps" : {
de0983cb 17280 "description" : "Maximum r/w speed in megabytes per second.",
44660702 17281 "format_description" : "mbps",
7aacca6f 17282 "optional" : 1,
44660702 17283 "type" : "number"
56122987 17284 },
44660702 17285 "mbps_max" : {
de0983cb 17286 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 17287 "format_description" : "mbps",
56122987 17288 "optional" : 1,
44660702 17289 "type" : "number"
56122987 17290 },
44660702 17291 "mbps_rd" : {
de0983cb 17292 "description" : "Maximum read speed in megabytes per second.",
44660702 17293 "format_description" : "mbps",
7aacca6f 17294 "optional" : 1,
44660702 17295 "type" : "number"
7aacca6f 17296 },
44660702 17297 "mbps_rd_max" : {
de0983cb 17298 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 17299 "format_description" : "mbps",
56122987 17300 "optional" : 1,
44660702 17301 "type" : "number"
56122987 17302 },
44660702 17303 "mbps_wr" : {
de0983cb 17304 "description" : "Maximum write speed in megabytes per second.",
44660702 17305 "format_description" : "mbps",
7aacca6f 17306 "optional" : 1,
44660702 17307 "type" : "number"
56122987 17308 },
44660702 17309 "mbps_wr_max" : {
de0983cb 17310 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 17311 "format_description" : "mbps",
56122987 17312 "optional" : 1,
44660702 17313 "type" : "number"
7aacca6f
DM
17314 },
17315 "media" : {
44660702
DM
17316 "default" : "disk",
17317 "description" : "The drive's media type.",
56122987 17318 "enum" : [
7aacca6f
DM
17319 "cdrom",
17320 "disk"
56122987 17321 ],
56122987 17322 "optional" : 1,
44660702 17323 "type" : "string"
56122987 17324 },
44660702
DM
17325 "model" : {
17326 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
17327 "format" : "urlencoded",
17328 "format_description" : "model",
17329 "maxLength" : 120,
56122987 17330 "optional" : 1,
44660702 17331 "type" : "string"
56122987 17332 },
5d9c884c
DM
17333 "replicate" : {
17334 "default" : 1,
17335 "description" : "Whether the drive should considered for replication jobs.",
17336 "optional" : 1,
17337 "type" : "boolean"
17338 },
7aacca6f 17339 "rerror" : {
7aacca6f
DM
17340 "description" : "Read error action.",
17341 "enum" : [
17342 "ignore",
17343 "report",
17344 "stop"
44660702 17345 ],
44660702
DM
17346 "optional" : 1,
17347 "type" : "string"
56122987 17348 },
44660702
DM
17349 "secs" : {
17350 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 17351 "optional" : 1,
44660702
DM
17352 "type" : "integer"
17353 },
17354 "serial" : {
17355 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17356 "format" : "urlencoded",
17357 "format_description" : "serial",
17358 "maxLength" : 60,
17359 "optional" : 1,
17360 "type" : "string"
17361 },
27a7acb2
DM
17362 "shared" : {
17363 "default" : 0,
17364 "description" : "Mark this locally-managed volume as available on all nodes",
17365 "optional" : 1,
17366 "type" : "boolean",
17367 "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!"
17368 },
44660702
DM
17369 "size" : {
17370 "description" : "Disk size. This is purely informational and has no effect.",
17371 "format" : "disk-size",
f004f5b9 17372 "format_description" : "DiskSize",
44660702
DM
17373 "optional" : 1,
17374 "type" : "string"
7aacca6f
DM
17375 },
17376 "snapshot" : {
27a7acb2 17377 "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 17378 "optional" : 1,
44660702 17379 "type" : "boolean"
7aacca6f 17380 },
25203dc1
NC
17381 "ssd" : {
17382 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17383 "optional" : 1,
17384 "type" : "boolean"
17385 },
44660702
DM
17386 "trans" : {
17387 "description" : "Force disk geometry bios translation mode.",
17388 "enum" : [
17389 "none",
17390 "lba",
17391 "auto"
17392 ],
7aacca6f 17393 "optional" : 1,
44660702
DM
17394 "type" : "string"
17395 },
17396 "volume" : {
17397 "alias" : "file"
17398 },
17399 "werror" : {
17400 "description" : "Write error action.",
17401 "enum" : [
17402 "enospc",
17403 "ignore",
17404 "report",
17405 "stop"
17406 ],
44660702
DM
17407 "optional" : 1,
17408 "type" : "string"
56122987
DM
17409 }
17410 },
56122987 17411 "optional" : 1,
4bd7df8b 17412 "type" : "string",
25203dc1 17413 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
27a7acb2
DM
17414 },
17415 "ipconfig[n]" : {
17416 "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",
17417 "format" : "pve-qm-ipconfig",
17418 "optional" : 1,
17419 "type" : "string",
17420 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 17421 },
56122987 17422 "keyboard" : {
35a75dd3 17423 "default" : null,
5da3d723 17424 "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 17425 "enum" : [
44660702
DM
17426 "de",
17427 "de-ch",
7aacca6f 17428 "da",
56122987 17429 "en-gb",
44660702
DM
17430 "en-us",
17431 "es",
17432 "fi",
17433 "fr",
17434 "fr-be",
17435 "fr-ca",
17436 "fr-ch",
17437 "hu",
7aacca6f 17438 "is",
44660702
DM
17439 "it",
17440 "ja",
17441 "lt",
56122987 17442 "mk",
7aacca6f 17443 "nl",
56122987 17444 "no",
44660702 17445 "pl",
7aacca6f 17446 "pt",
44660702
DM
17447 "pt-br",
17448 "sv",
17449 "sl",
17450 "tr"
56122987 17451 ],
44660702
DM
17452 "optional" : 1,
17453 "type" : "string"
56122987 17454 },
44660702
DM
17455 "kvm" : {
17456 "default" : 1,
17457 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 17458 "optional" : 1,
013dc89f
DM
17459 "type" : "boolean",
17460 "typetext" : "<boolean>"
7aacca6f 17461 },
44660702
DM
17462 "localtime" : {
17463 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 17464 "optional" : 1,
013dc89f
DM
17465 "type" : "boolean",
17466 "typetext" : "<boolean>"
44660702
DM
17467 },
17468 "lock" : {
17469 "description" : "Lock/unlock the VM.",
7aacca6f 17470 "enum" : [
7aacca6f 17471 "backup",
5f26e15b
TL
17472 "clone",
17473 "create",
17474 "migrate",
17475 "rollback",
7aacca6f 17476 "snapshot",
5f26e15b 17477 "snapshot-delete"
7aacca6f 17478 ],
44660702
DM
17479 "optional" : 1,
17480 "type" : "string"
56122987 17481 },
44660702 17482 "machine" : {
4d47f125 17483 "description" : "Specifies the Qemu machine type.",
44660702
DM
17484 "maxLength" : 40,
17485 "optional" : 1,
e2d681b3 17486 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702
DM
17487 "type" : "string"
17488 },
17489 "memory" : {
17490 "default" : 512,
17491 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
17492 "minimum" : 16,
17493 "optional" : 1,
4bd7df8b 17494 "type" : "integer",
013dc89f 17495 "typetext" : "<integer> (16 - N)"
44660702
DM
17496 },
17497 "migrate_downtime" : {
17498 "default" : 0.1,
17499 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
17500 "minimum" : 0,
17501 "optional" : 1,
4bd7df8b 17502 "type" : "number",
013dc89f 17503 "typetext" : "<number> (0 - N)"
44660702
DM
17504 },
17505 "migrate_speed" : {
56122987 17506 "default" : 0,
44660702
DM
17507 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
17508 "minimum" : 0,
56122987 17509 "optional" : 1,
4bd7df8b 17510 "type" : "integer",
013dc89f 17511 "typetext" : "<integer> (0 - N)"
56122987 17512 },
27a7acb2
DM
17513 "name" : {
17514 "description" : "Set a name for the VM. Only used on the configuration web interface.",
17515 "format" : "dns-name",
17516 "optional" : 1,
17517 "type" : "string",
17518 "typetext" : "<string>"
17519 },
17520 "nameserver" : {
17521 "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.",
17522 "format" : "address-list",
44660702 17523 "optional" : 1,
013dc89f
DM
17524 "type" : "string",
17525 "typetext" : "<string>"
44660702
DM
17526 },
17527 "net[n]" : {
c2993fe5 17528 "description" : "Specify network devices.",
f004f5b9
DM
17529 "format" : {
17530 "bridge" : {
c2993fe5 17531 "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
17532 "format_description" : "bridge",
17533 "optional" : 1,
17534 "type" : "string"
17535 },
17536 "e1000" : {
17537 "alias" : "macaddr",
17538 "keyAlias" : "model"
17539 },
17540 "e1000-82540em" : {
17541 "alias" : "macaddr",
17542 "keyAlias" : "model"
17543 },
17544 "e1000-82544gc" : {
17545 "alias" : "macaddr",
17546 "keyAlias" : "model"
17547 },
17548 "e1000-82545em" : {
17549 "alias" : "macaddr",
17550 "keyAlias" : "model"
17551 },
17552 "firewall" : {
17553 "description" : "Whether this interface should be protected by the firewall.",
17554 "optional" : 1,
17555 "type" : "boolean"
17556 },
17557 "i82551" : {
17558 "alias" : "macaddr",
17559 "keyAlias" : "model"
17560 },
17561 "i82557b" : {
17562 "alias" : "macaddr",
17563 "keyAlias" : "model"
17564 },
17565 "i82559er" : {
17566 "alias" : "macaddr",
17567 "keyAlias" : "model"
17568 },
17569 "link_down" : {
c2993fe5 17570 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
17571 "optional" : 1,
17572 "type" : "boolean"
17573 },
17574 "macaddr" : {
c2993fe5 17575 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 17576 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
17577 "optional" : 1,
17578 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
17579 "type" : "string"
17580 },
17581 "model" : {
17582 "default_key" : 1,
c2993fe5 17583 "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
17584 "enum" : [
17585 "rtl8139",
17586 "ne2k_pci",
17587 "e1000",
17588 "pcnet",
17589 "virtio",
17590 "ne2k_isa",
17591 "i82551",
17592 "i82557b",
17593 "i82559er",
17594 "vmxnet3",
17595 "e1000-82540em",
17596 "e1000-82544gc",
17597 "e1000-82545em"
17598 ],
f004f5b9
DM
17599 "type" : "string"
17600 },
17601 "ne2k_isa" : {
17602 "alias" : "macaddr",
17603 "keyAlias" : "model"
17604 },
17605 "ne2k_pci" : {
17606 "alias" : "macaddr",
17607 "keyAlias" : "model"
17608 },
17609 "pcnet" : {
17610 "alias" : "macaddr",
17611 "keyAlias" : "model"
17612 },
17613 "queues" : {
17614 "description" : "Number of packet queues to be used on the device.",
17615 "maximum" : 16,
17616 "minimum" : 0,
17617 "optional" : 1,
17618 "type" : "integer"
17619 },
17620 "rate" : {
c2993fe5 17621 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
17622 "minimum" : 0,
17623 "optional" : 1,
17624 "type" : "number"
17625 },
17626 "rtl8139" : {
17627 "alias" : "macaddr",
17628 "keyAlias" : "model"
17629 },
17630 "tag" : {
17631 "description" : "VLAN tag to apply to packets on this interface.",
17632 "maximum" : 4094,
c2993fe5 17633 "minimum" : 1,
f004f5b9
DM
17634 "optional" : 1,
17635 "type" : "integer"
17636 },
17637 "trunks" : {
17638 "description" : "VLAN trunks to pass through this interface.",
17639 "format_description" : "vlanid[;vlanid...]",
17640 "optional" : 1,
17641 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17642 "type" : "string"
17643 },
17644 "virtio" : {
17645 "alias" : "macaddr",
17646 "keyAlias" : "model"
17647 },
17648 "vmxnet3" : {
17649 "alias" : "macaddr",
17650 "keyAlias" : "model"
17651 }
17652 },
44660702 17653 "optional" : 1,
4bd7df8b 17654 "type" : "string",
013dc89f 17655 "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
17656 },
17657 "node" : {
17658 "description" : "The cluster node name.",
17659 "format" : "pve-node",
013dc89f
DM
17660 "type" : "string",
17661 "typetext" : "<string>"
44660702
DM
17662 },
17663 "numa" : {
7aacca6f 17664 "default" : 0,
44660702
DM
17665 "description" : "Enable/disable NUMA.",
17666 "optional" : 1,
013dc89f
DM
17667 "type" : "boolean",
17668 "typetext" : "<boolean>"
56122987 17669 },
7aacca6f 17670 "numa[n]" : {
c2993fe5 17671 "description" : "NUMA topology.",
7aacca6f 17672 "format" : {
44660702 17673 "cpus" : {
c2993fe5 17674 "description" : "CPUs accessing this NUMA node.",
44660702
DM
17675 "format_description" : "id[-id];...",
17676 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17677 "type" : "string"
17678 },
7aacca6f 17679 "hostnodes" : {
c2993fe5 17680 "description" : "Host NUMA nodes to use.",
44660702 17681 "format_description" : "id[-id];...",
7aacca6f 17682 "optional" : 1,
44660702
DM
17683 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17684 "type" : "string"
7aacca6f 17685 },
44660702 17686 "memory" : {
c2993fe5 17687 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
17688 "optional" : 1,
17689 "type" : "number"
7aacca6f
DM
17690 },
17691 "policy" : {
c2993fe5 17692 "description" : "NUMA allocation policy.",
7aacca6f
DM
17693 "enum" : [
17694 "preferred",
17695 "bind",
17696 "interleave"
17697 ],
7aacca6f 17698 "optional" : 1,
44660702 17699 "type" : "string"
7aacca6f
DM
17700 }
17701 },
56122987 17702 "optional" : 1,
4bd7df8b
DM
17703 "type" : "string",
17704 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 17705 },
44660702
DM
17706 "onboot" : {
17707 "default" : 0,
17708 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 17709 "optional" : 1,
013dc89f
DM
17710 "type" : "boolean",
17711 "typetext" : "<boolean>"
56122987
DM
17712 },
17713 "ostype" : {
c2993fe5 17714 "description" : "Specify guest operating system.",
56122987
DM
17715 "enum" : [
17716 "other",
17717 "wxp",
17718 "w2k",
17719 "w2k3",
17720 "w2k8",
17721 "wvista",
17722 "win7",
17723 "win8",
32d876b5 17724 "win10",
56122987
DM
17725 "l24",
17726 "l26",
17727 "solaris"
44660702 17728 ],
56122987 17729 "optional" : 1,
c2993fe5 17730 "type" : "string",
35a75dd3 17731 "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 17732 },
44660702 17733 "parallel[n]" : {
c2993fe5 17734 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 17735 "optional" : 1,
44660702 17736 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
17737 "type" : "string",
17738 "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 17739 },
44660702
DM
17740 "pool" : {
17741 "description" : "Add the VM to the specified pool.",
17742 "format" : "pve-poolid",
56122987 17743 "optional" : 1,
013dc89f
DM
17744 "type" : "string",
17745 "typetext" : "<string>"
56122987 17746 },
44660702
DM
17747 "protection" : {
17748 "default" : 0,
c2993fe5 17749 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 17750 "optional" : 1,
013dc89f
DM
17751 "type" : "boolean",
17752 "typetext" : "<boolean>"
56122987 17753 },
44660702 17754 "reboot" : {
7aacca6f 17755 "default" : 1,
44660702
DM
17756 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
17757 "optional" : 1,
013dc89f
DM
17758 "type" : "boolean",
17759 "typetext" : "<boolean>"
56122987 17760 },
56122987 17761 "sata[n]" : {
44660702 17762 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 17763 "format" : {
7aacca6f 17764 "aio" : {
44660702 17765 "description" : "AIO type to use.",
56122987 17766 "enum" : [
7aacca6f
DM
17767 "native",
17768 "threads"
56122987 17769 ],
7aacca6f 17770 "optional" : 1,
44660702 17771 "type" : "string"
7aacca6f
DM
17772 },
17773 "backup" : {
7aacca6f 17774 "description" : "Whether the drive should be included when making backups.",
7aacca6f 17775 "optional" : 1,
44660702 17776 "type" : "boolean"
56122987 17777 },
44660702 17778 "bps" : {
de0983cb 17779 "description" : "Maximum r/w speed in bytes per second.",
44660702 17780 "format_description" : "bps",
7aacca6f 17781 "optional" : 1,
44660702 17782 "type" : "integer"
56122987 17783 },
de0983cb
DM
17784 "bps_max_length" : {
17785 "description" : "Maximum length of I/O bursts in seconds.",
17786 "format_description" : "seconds",
17787 "minimum" : 1,
17788 "optional" : 1,
17789 "type" : "integer"
17790 },
44660702 17791 "bps_rd" : {
de0983cb 17792 "description" : "Maximum read speed in bytes per second.",
44660702 17793 "format_description" : "bps",
56122987 17794 "optional" : 1,
44660702 17795 "type" : "integer"
7aacca6f 17796 },
de0983cb 17797 "bps_rd_length" : {
5d9c884c
DM
17798 "alias" : "bps_rd_max_length"
17799 },
17800 "bps_rd_max_length" : {
de0983cb
DM
17801 "description" : "Maximum length of read I/O bursts in seconds.",
17802 "format_description" : "seconds",
17803 "minimum" : 1,
17804 "optional" : 1,
17805 "type" : "integer"
17806 },
44660702 17807 "bps_wr" : {
de0983cb 17808 "description" : "Maximum write speed in bytes per second.",
44660702 17809 "format_description" : "bps",
56122987 17810 "optional" : 1,
44660702 17811 "type" : "integer"
56122987 17812 },
de0983cb 17813 "bps_wr_length" : {
5d9c884c
DM
17814 "alias" : "bps_wr_max_length"
17815 },
17816 "bps_wr_max_length" : {
de0983cb
DM
17817 "description" : "Maximum length of write I/O bursts in seconds.",
17818 "format_description" : "seconds",
17819 "minimum" : 1,
17820 "optional" : 1,
17821 "type" : "integer"
17822 },
7aacca6f 17823 "cache" : {
7aacca6f
DM
17824 "description" : "The drive's cache mode",
17825 "enum" : [
17826 "none",
17827 "writethrough",
17828 "writeback",
17829 "unsafe",
17830 "directsync"
17831 ],
44660702
DM
17832 "optional" : 1,
17833 "type" : "string"
56122987 17834 },
44660702
DM
17835 "cyls" : {
17836 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 17837 "optional" : 1,
7aacca6f 17838 "type" : "integer"
56122987 17839 },
7aacca6f
DM
17840 "detect_zeroes" : {
17841 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 17842 "optional" : 1,
7aacca6f 17843 "type" : "boolean"
56122987 17844 },
44660702
DM
17845 "discard" : {
17846 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17847 "enum" : [
17848 "ignore",
17849 "on"
17850 ],
56122987 17851 "optional" : 1,
44660702 17852 "type" : "string"
56122987 17853 },
44660702
DM
17854 "file" : {
17855 "default_key" : 1,
17856 "description" : "The drive's backing volume.",
17857 "format" : "pve-volume-id-or-qm-path",
17858 "format_description" : "volume",
17859 "type" : "string"
56122987
DM
17860 },
17861 "format" : {
44660702 17862 "description" : "The drive's backing file's data format.",
56122987
DM
17863 "enum" : [
17864 "raw",
17865 "cow",
17866 "qcow",
17867 "qed",
17868 "qcow2",
17869 "vmdk",
17870 "cloop"
17871 ],
56122987 17872 "optional" : 1,
44660702 17873 "type" : "string"
56122987 17874 },
7aacca6f 17875 "heads" : {
7aacca6f 17876 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
17877 "optional" : 1,
17878 "type" : "integer"
56122987 17879 },
44660702 17880 "iops" : {
de0983cb 17881 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
17882 "format_description" : "iops",
17883 "optional" : 1,
17884 "type" : "integer"
56122987 17885 },
44660702 17886 "iops_max" : {
de0983cb 17887 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 17888 "format_description" : "iops",
56122987 17889 "optional" : 1,
44660702 17890 "type" : "integer"
56122987 17891 },
de0983cb
DM
17892 "iops_max_length" : {
17893 "description" : "Maximum length of I/O bursts in seconds.",
17894 "format_description" : "seconds",
17895 "minimum" : 1,
17896 "optional" : 1,
17897 "type" : "integer"
17898 },
44660702 17899 "iops_rd" : {
de0983cb 17900 "description" : "Maximum read I/O in operations per second.",
44660702 17901 "format_description" : "iops",
56122987 17902 "optional" : 1,
44660702 17903 "type" : "integer"
56122987 17904 },
de0983cb 17905 "iops_rd_length" : {
5d9c884c 17906 "alias" : "iops_rd_max_length"
de0983cb 17907 },
44660702 17908 "iops_rd_max" : {
de0983cb 17909 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 17910 "format_description" : "iops",
56122987 17911 "optional" : 1,
44660702 17912 "type" : "integer"
56122987 17913 },
5d9c884c
DM
17914 "iops_rd_max_length" : {
17915 "description" : "Maximum length of read I/O bursts in seconds.",
17916 "format_description" : "seconds",
17917 "minimum" : 1,
17918 "optional" : 1,
17919 "type" : "integer"
17920 },
44660702 17921 "iops_wr" : {
de0983cb 17922 "description" : "Maximum write I/O in operations per second.",
44660702 17923 "format_description" : "iops",
7aacca6f 17924 "optional" : 1,
44660702 17925 "type" : "integer"
7aacca6f 17926 },
de0983cb 17927 "iops_wr_length" : {
5d9c884c 17928 "alias" : "iops_wr_max_length"
de0983cb 17929 },
44660702 17930 "iops_wr_max" : {
de0983cb 17931 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 17932 "format_description" : "iops",
56122987 17933 "optional" : 1,
7aacca6f 17934 "type" : "integer"
56122987 17935 },
5d9c884c
DM
17936 "iops_wr_max_length" : {
17937 "description" : "Maximum length of write I/O bursts in seconds.",
17938 "format_description" : "seconds",
17939 "minimum" : 1,
17940 "optional" : 1,
17941 "type" : "integer"
17942 },
44660702 17943 "mbps" : {
de0983cb 17944 "description" : "Maximum r/w speed in megabytes per second.",
44660702 17945 "format_description" : "mbps",
56122987 17946 "optional" : 1,
44660702 17947 "type" : "number"
56122987 17948 },
44660702 17949 "mbps_max" : {
de0983cb 17950 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 17951 "format_description" : "mbps",
7aacca6f 17952 "optional" : 1,
44660702 17953 "type" : "number"
7aacca6f 17954 },
44660702 17955 "mbps_rd" : {
de0983cb 17956 "description" : "Maximum read speed in megabytes per second.",
44660702 17957 "format_description" : "mbps",
7aacca6f 17958 "optional" : 1,
44660702 17959 "type" : "number"
7aacca6f 17960 },
44660702 17961 "mbps_rd_max" : {
de0983cb 17962 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 17963 "format_description" : "mbps",
7aacca6f 17964 "optional" : 1,
44660702 17965 "type" : "number"
7aacca6f 17966 },
44660702 17967 "mbps_wr" : {
de0983cb 17968 "description" : "Maximum write speed in megabytes per second.",
44660702 17969 "format_description" : "mbps",
7aacca6f 17970 "optional" : 1,
44660702 17971 "type" : "number"
7aacca6f
DM
17972 },
17973 "mbps_wr_max" : {
de0983cb 17974 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 17975 "format_description" : "mbps",
7aacca6f 17976 "optional" : 1,
44660702 17977 "type" : "number"
7aacca6f 17978 },
44660702
DM
17979 "media" : {
17980 "default" : "disk",
17981 "description" : "The drive's media type.",
56122987 17982 "enum" : [
44660702
DM
17983 "cdrom",
17984 "disk"
56122987 17985 ],
56122987 17986 "optional" : 1,
44660702 17987 "type" : "string"
56122987 17988 },
5d9c884c
DM
17989 "replicate" : {
17990 "default" : 1,
17991 "description" : "Whether the drive should considered for replication jobs.",
17992 "optional" : 1,
17993 "type" : "boolean"
17994 },
44660702
DM
17995 "rerror" : {
17996 "description" : "Read error action.",
7aacca6f
DM
17997 "enum" : [
17998 "ignore",
44660702
DM
17999 "report",
18000 "stop"
7aacca6f 18001 ],
56122987 18002 "optional" : 1,
44660702 18003 "type" : "string"
56122987 18004 },
44660702
DM
18005 "secs" : {
18006 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 18007 "optional" : 1,
44660702 18008 "type" : "integer"
56122987 18009 },
44660702
DM
18010 "serial" : {
18011 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18012 "format" : "urlencoded",
18013 "format_description" : "serial",
18014 "maxLength" : 60,
18015 "optional" : 1,
18016 "type" : "string"
7aacca6f 18017 },
27a7acb2
DM
18018 "shared" : {
18019 "default" : 0,
18020 "description" : "Mark this locally-managed volume as available on all nodes",
18021 "optional" : 1,
18022 "type" : "boolean",
18023 "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!"
18024 },
7aacca6f
DM
18025 "size" : {
18026 "description" : "Disk size. This is purely informational and has no effect.",
44660702 18027 "format" : "disk-size",
f004f5b9 18028 "format_description" : "DiskSize",
56122987 18029 "optional" : 1,
44660702 18030 "type" : "string"
56122987 18031 },
44660702 18032 "snapshot" : {
27a7acb2 18033 "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 18034 "optional" : 1,
44660702 18035 "type" : "boolean"
56122987 18036 },
25203dc1
NC
18037 "ssd" : {
18038 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
18039 "optional" : 1,
18040 "type" : "boolean"
18041 },
44660702
DM
18042 "trans" : {
18043 "description" : "Force disk geometry bios translation mode.",
56122987 18044 "enum" : [
44660702
DM
18045 "none",
18046 "lba",
18047 "auto"
7aacca6f 18048 ],
44660702
DM
18049 "optional" : 1,
18050 "type" : "string"
18051 },
18052 "volume" : {
18053 "alias" : "file"
56122987
DM
18054 },
18055 "werror" : {
56122987
DM
18056 "description" : "Write error action.",
18057 "enum" : [
18058 "enospc",
18059 "ignore",
18060 "report",
18061 "stop"
18062 ],
56122987 18063 "optional" : 1,
44660702
DM
18064 "type" : "string"
18065 }
18066 },
18067 "optional" : 1,
4bd7df8b 18068 "type" : "string",
25203dc1 18069 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
18070 },
18071 "scsi[n]" : {
18072 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
18073 "format" : {
18074 "aio" : {
18075 "description" : "AIO type to use.",
18076 "enum" : [
18077 "native",
18078 "threads"
18079 ],
44660702
DM
18080 "optional" : 1,
18081 "type" : "string"
56122987 18082 },
7aacca6f 18083 "backup" : {
44660702 18084 "description" : "Whether the drive should be included when making backups.",
7aacca6f 18085 "optional" : 1,
44660702 18086 "type" : "boolean"
7aacca6f 18087 },
44660702 18088 "bps" : {
de0983cb 18089 "description" : "Maximum r/w speed in bytes per second.",
44660702 18090 "format_description" : "bps",
7aacca6f 18091 "optional" : 1,
44660702 18092 "type" : "integer"
7aacca6f 18093 },
de0983cb
DM
18094 "bps_max_length" : {
18095 "description" : "Maximum length of I/O bursts in seconds.",
18096 "format_description" : "seconds",
18097 "minimum" : 1,
18098 "optional" : 1,
18099 "type" : "integer"
18100 },
44660702 18101 "bps_rd" : {
de0983cb 18102 "description" : "Maximum read speed in bytes per second.",
44660702 18103 "format_description" : "bps",
56122987 18104 "optional" : 1,
44660702 18105 "type" : "integer"
56122987 18106 },
de0983cb 18107 "bps_rd_length" : {
5d9c884c
DM
18108 "alias" : "bps_rd_max_length"
18109 },
18110 "bps_rd_max_length" : {
de0983cb
DM
18111 "description" : "Maximum length of read I/O bursts in seconds.",
18112 "format_description" : "seconds",
18113 "minimum" : 1,
18114 "optional" : 1,
18115 "type" : "integer"
18116 },
44660702 18117 "bps_wr" : {
de0983cb 18118 "description" : "Maximum write speed in bytes per second.",
44660702 18119 "format_description" : "bps",
7aacca6f 18120 "optional" : 1,
44660702 18121 "type" : "integer"
56122987 18122 },
de0983cb 18123 "bps_wr_length" : {
5d9c884c
DM
18124 "alias" : "bps_wr_max_length"
18125 },
18126 "bps_wr_max_length" : {
de0983cb
DM
18127 "description" : "Maximum length of write I/O bursts in seconds.",
18128 "format_description" : "seconds",
18129 "minimum" : 1,
18130 "optional" : 1,
18131 "type" : "integer"
18132 },
44660702
DM
18133 "cache" : {
18134 "description" : "The drive's cache mode",
7aacca6f
DM
18135 "enum" : [
18136 "none",
44660702
DM
18137 "writethrough",
18138 "writeback",
18139 "unsafe",
18140 "directsync"
7aacca6f 18141 ],
56122987 18142 "optional" : 1,
44660702 18143 "type" : "string"
56122987 18144 },
7aacca6f
DM
18145 "cyls" : {
18146 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
18147 "optional" : 1,
44660702 18148 "type" : "integer"
7aacca6f 18149 },
44660702
DM
18150 "detect_zeroes" : {
18151 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 18152 "optional" : 1,
44660702 18153 "type" : "boolean"
56122987 18154 },
44660702
DM
18155 "discard" : {
18156 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 18157 "enum" : [
44660702
DM
18158 "ignore",
18159 "on"
7aacca6f 18160 ],
7aacca6f 18161 "optional" : 1,
44660702 18162 "type" : "string"
56122987
DM
18163 },
18164 "file" : {
7aacca6f
DM
18165 "default_key" : 1,
18166 "description" : "The drive's backing volume.",
44660702
DM
18167 "format" : "pve-volume-id-or-qm-path",
18168 "format_description" : "volume",
7aacca6f 18169 "type" : "string"
56122987 18170 },
7aacca6f 18171 "format" : {
44660702 18172 "description" : "The drive's backing file's data format.",
56122987 18173 "enum" : [
7aacca6f
DM
18174 "raw",
18175 "cow",
18176 "qcow",
18177 "qed",
18178 "qcow2",
18179 "vmdk",
18180 "cloop"
56122987 18181 ],
44660702
DM
18182 "optional" : 1,
18183 "type" : "string"
56122987 18184 },
44660702
DM
18185 "heads" : {
18186 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
18187 "optional" : 1,
18188 "type" : "integer"
18189 },
18190 "iops" : {
de0983cb 18191 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 18192 "format_description" : "iops",
56122987 18193 "optional" : 1,
44660702 18194 "type" : "integer"
56122987 18195 },
44660702 18196 "iops_max" : {
de0983cb 18197 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 18198 "format_description" : "iops",
7aacca6f 18199 "optional" : 1,
44660702 18200 "type" : "integer"
56122987 18201 },
de0983cb
DM
18202 "iops_max_length" : {
18203 "description" : "Maximum length of I/O bursts in seconds.",
18204 "format_description" : "seconds",
18205 "minimum" : 1,
18206 "optional" : 1,
18207 "type" : "integer"
18208 },
44660702 18209 "iops_rd" : {
de0983cb 18210 "description" : "Maximum read I/O in operations per second.",
44660702 18211 "format_description" : "iops",
56122987 18212 "optional" : 1,
44660702 18213 "type" : "integer"
56122987 18214 },
de0983cb 18215 "iops_rd_length" : {
5d9c884c 18216 "alias" : "iops_rd_max_length"
de0983cb 18217 },
44660702 18218 "iops_rd_max" : {
de0983cb 18219 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
18220 "format_description" : "iops",
18221 "optional" : 1,
18222 "type" : "integer"
56122987 18223 },
5d9c884c
DM
18224 "iops_rd_max_length" : {
18225 "description" : "Maximum length of read I/O bursts in seconds.",
18226 "format_description" : "seconds",
18227 "minimum" : 1,
18228 "optional" : 1,
18229 "type" : "integer"
18230 },
44660702 18231 "iops_wr" : {
de0983cb 18232 "description" : "Maximum write I/O in operations per second.",
44660702 18233 "format_description" : "iops",
56122987 18234 "optional" : 1,
44660702 18235 "type" : "integer"
56122987 18236 },
de0983cb 18237 "iops_wr_length" : {
5d9c884c 18238 "alias" : "iops_wr_max_length"
de0983cb 18239 },
44660702 18240 "iops_wr_max" : {
de0983cb 18241 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 18242 "format_description" : "iops",
56122987 18243 "optional" : 1,
56122987
DM
18244 "type" : "integer"
18245 },
5d9c884c
DM
18246 "iops_wr_max_length" : {
18247 "description" : "Maximum length of write I/O bursts in seconds.",
18248 "format_description" : "seconds",
18249 "minimum" : 1,
18250 "optional" : 1,
18251 "type" : "integer"
18252 },
44660702
DM
18253 "iothread" : {
18254 "description" : "Whether to use iothreads for this drive",
44660702
DM
18255 "optional" : 1,
18256 "type" : "boolean"
18257 },
18258 "mbps" : {
de0983cb 18259 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
18260 "format_description" : "mbps",
18261 "optional" : 1,
18262 "type" : "number"
18263 },
7aacca6f 18264 "mbps_max" : {
de0983cb 18265 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 18266 "format_description" : "mbps",
56122987 18267 "optional" : 1,
44660702 18268 "type" : "number"
56122987 18269 },
44660702 18270 "mbps_rd" : {
de0983cb 18271 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
18272 "format_description" : "mbps",
18273 "optional" : 1,
18274 "type" : "number"
56122987 18275 },
44660702 18276 "mbps_rd_max" : {
de0983cb 18277 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 18278 "format_description" : "mbps",
56122987 18279 "optional" : 1,
44660702 18280 "type" : "number"
56122987 18281 },
44660702 18282 "mbps_wr" : {
de0983cb 18283 "description" : "Maximum write speed in megabytes per second.",
44660702 18284 "format_description" : "mbps",
56122987 18285 "optional" : 1,
44660702 18286 "type" : "number"
56122987 18287 },
44660702 18288 "mbps_wr_max" : {
de0983cb 18289 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 18290 "format_description" : "mbps",
7aacca6f 18291 "optional" : 1,
44660702 18292 "type" : "number"
56122987 18293 },
7aacca6f 18294 "media" : {
44660702 18295 "default" : "disk",
7aacca6f
DM
18296 "description" : "The drive's media type.",
18297 "enum" : [
18298 "cdrom",
18299 "disk"
18300 ],
56122987 18301 "optional" : 1,
44660702 18302 "type" : "string"
56122987 18303 },
44660702
DM
18304 "queues" : {
18305 "description" : "Number of queues.",
44660702
DM
18306 "minimum" : 2,
18307 "optional" : 1,
18308 "type" : "integer"
56122987 18309 },
5d9c884c
DM
18310 "replicate" : {
18311 "default" : 1,
18312 "description" : "Whether the drive should considered for replication jobs.",
18313 "optional" : 1,
18314 "type" : "boolean"
18315 },
18316 "rerror" : {
18317 "description" : "Read error action.",
18318 "enum" : [
18319 "ignore",
18320 "report",
18321 "stop"
18322 ],
18323 "optional" : 1,
18324 "type" : "string"
18325 },
52e44c50
FG
18326 "scsiblock" : {
18327 "default" : 0,
18328 "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",
18329 "optional" : 1,
18330 "type" : "boolean"
18331 },
7aacca6f 18332 "secs" : {
7aacca6f 18333 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
18334 "optional" : 1,
18335 "type" : "integer"
18336 },
18337 "serial" : {
18338 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18339 "format" : "urlencoded",
18340 "format_description" : "serial",
18341 "maxLength" : 60,
18342 "optional" : 1,
18343 "type" : "string"
18344 },
27a7acb2
DM
18345 "shared" : {
18346 "default" : 0,
18347 "description" : "Mark this locally-managed volume as available on all nodes",
18348 "optional" : 1,
18349 "type" : "boolean",
18350 "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!"
18351 },
44660702
DM
18352 "size" : {
18353 "description" : "Disk size. This is purely informational and has no effect.",
18354 "format" : "disk-size",
f004f5b9 18355 "format_description" : "DiskSize",
44660702
DM
18356 "optional" : 1,
18357 "type" : "string"
18358 },
18359 "snapshot" : {
27a7acb2 18360 "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
18361 "optional" : 1,
18362 "type" : "boolean"
18363 },
25203dc1
NC
18364 "ssd" : {
18365 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
18366 "optional" : 1,
18367 "type" : "boolean"
18368 },
44660702
DM
18369 "trans" : {
18370 "description" : "Force disk geometry bios translation mode.",
18371 "enum" : [
18372 "none",
18373 "lba",
18374 "auto"
18375 ],
44660702
DM
18376 "optional" : 1,
18377 "type" : "string"
18378 },
18379 "volume" : {
18380 "alias" : "file"
18381 },
18382 "werror" : {
18383 "description" : "Write error action.",
18384 "enum" : [
18385 "enospc",
18386 "ignore",
18387 "report",
18388 "stop"
18389 ],
44660702
DM
18390 "optional" : 1,
18391 "type" : "string"
56122987
DM
18392 }
18393 },
7aacca6f 18394 "optional" : 1,
4bd7df8b 18395 "type" : "string",
25203dc1 18396 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 18397 },
44660702
DM
18398 "scsihw" : {
18399 "default" : "lsi",
c2993fe5 18400 "description" : "SCSI controller model",
44660702
DM
18401 "enum" : [
18402 "lsi",
18403 "lsi53c810",
18404 "virtio-scsi-pci",
18405 "virtio-scsi-single",
18406 "megasas",
18407 "pvscsi"
18408 ],
7aacca6f 18409 "optional" : 1,
44660702 18410 "type" : "string"
7aacca6f 18411 },
27a7acb2
DM
18412 "searchdomain" : {
18413 "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.",
18414 "optional" : 1,
18415 "type" : "string",
18416 "typetext" : "<string>"
18417 },
44660702 18418 "serial[n]" : {
c2993fe5 18419 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
18420 "optional" : 1,
18421 "pattern" : "(/dev/.+|socket)",
c2993fe5 18422 "type" : "string",
57b78691 18423 "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
18424 },
18425 "shares" : {
18426 "default" : 1000,
5da3d723 18427 "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
18428 "maximum" : 50000,
18429 "minimum" : 0,
18430 "optional" : 1,
4bd7df8b 18431 "type" : "integer",
013dc89f 18432 "typetext" : "<integer> (0 - 50000)"
44660702
DM
18433 },
18434 "smbios1" : {
18435 "description" : "Specify SMBIOS type 1 fields.",
18436 "format" : "pve-qm-smbios1",
18437 "maxLength" : 256,
7aacca6f 18438 "optional" : 1,
4bd7df8b
DM
18439 "type" : "string",
18440 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
18441 },
18442 "smp" : {
44660702 18443 "default" : 1,
7aacca6f 18444 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 18445 "minimum" : 1,
56122987 18446 "optional" : 1,
4bd7df8b 18447 "type" : "integer",
013dc89f 18448 "typetext" : "<integer> (1 - N)"
44660702
DM
18449 },
18450 "sockets" : {
7aacca6f 18451 "default" : 1,
44660702
DM
18452 "description" : "The number of CPU sockets.",
18453 "minimum" : 1,
18454 "optional" : 1,
4bd7df8b 18455 "type" : "integer",
013dc89f 18456 "typetext" : "<integer> (1 - N)"
7aacca6f 18457 },
27a7acb2
DM
18458 "sshkeys" : {
18459 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
18460 "format" : "urlencoded",
18461 "optional" : 1,
18462 "type" : "string",
18463 "typetext" : "<string>"
18464 },
5da3d723
TL
18465 "start" : {
18466 "default" : 0,
18467 "description" : "Start VM after it was created successfully.",
18468 "optional" : 1,
18469 "type" : "boolean",
18470 "typetext" : "<boolean>"
18471 },
44660702
DM
18472 "startdate" : {
18473 "default" : "now",
18474 "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'.",
18475 "optional" : 1,
18476 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
18477 "type" : "string",
18478 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
18479 },
18480 "startup" : {
18481 "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.",
18482 "format" : "pve-startup-order",
18483 "optional" : 1,
18484 "type" : "string",
18485 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
18486 },
18487 "storage" : {
18488 "description" : "Default storage.",
18489 "format" : "pve-storage-id",
7aacca6f 18490 "optional" : 1,
013dc89f
DM
18491 "type" : "string",
18492 "typetext" : "<string>"
56122987 18493 },
44660702
DM
18494 "tablet" : {
18495 "default" : 1,
c2993fe5 18496 "description" : "Enable/disable the USB tablet device.",
56122987 18497 "optional" : 1,
c2993fe5 18498 "type" : "boolean",
013dc89f 18499 "typetext" : "<boolean>",
c2993fe5 18500 "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
18501 },
18502 "tdf" : {
18503 "default" : 0,
18504 "description" : "Enable/disable time drift fix.",
18505 "optional" : 1,
013dc89f
DM
18506 "type" : "boolean",
18507 "typetext" : "<boolean>"
7aacca6f
DM
18508 },
18509 "template" : {
7aacca6f 18510 "default" : 0,
44660702 18511 "description" : "Enable/disable Template.",
7aacca6f 18512 "optional" : 1,
013dc89f
DM
18513 "type" : "boolean",
18514 "typetext" : "<boolean>"
7aacca6f 18515 },
44660702
DM
18516 "unique" : {
18517 "description" : "Assign a unique random ethernet address.",
7aacca6f 18518 "optional" : 1,
44660702 18519 "requires" : "archive",
013dc89f
DM
18520 "type" : "boolean",
18521 "typetext" : "<boolean>"
56122987 18522 },
44660702 18523 "unused[n]" : {
c2993fe5 18524 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 18525 "format" : "pve-volume-id",
7aacca6f 18526 "optional" : 1,
013dc89f
DM
18527 "type" : "string",
18528 "typetext" : "<string>"
44660702
DM
18529 },
18530 "usb[n]" : {
c2993fe5 18531 "description" : "Configure an USB device (n is 0 to 4).",
56122987 18532 "format" : {
7aacca6f
DM
18533 "host" : {
18534 "default_key" : 1,
c2993fe5 18535 "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 18536 "format" : "pve-qm-usb-device",
44660702
DM
18537 "format_description" : "HOSTUSBDEVICE|spice",
18538 "type" : "string"
7aacca6f 18539 },
56122987 18540 "usb3" : {
c2993fe5
DM
18541 "default" : 0,
18542 "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 18543 "optional" : 1,
56122987 18544 "type" : "boolean"
7aacca6f 18545 }
56122987 18546 },
56122987 18547 "optional" : 1,
4bd7df8b
DM
18548 "type" : "string",
18549 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 18550 },
44660702
DM
18551 "vcpus" : {
18552 "default" : 0,
18553 "description" : "Number of hotplugged vcpus.",
18554 "minimum" : 1,
56122987 18555 "optional" : 1,
4bd7df8b 18556 "type" : "integer",
013dc89f 18557 "typetext" : "<integer> (1 - N)"
7aacca6f 18558 },
44660702 18559 "vga" : {
e2d681b3
TL
18560 "description" : "Configure the VGA hardware.",
18561 "format" : {
18562 "memory" : {
18563 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
18564 "maximum" : 512,
18565 "minimum" : 4,
18566 "optional" : 1,
18567 "type" : "integer"
18568 },
18569 "type" : {
18570 "default" : "std",
18571 "default_key" : 1,
18572 "description" : "Select the VGA type.",
18573 "enum" : [
18574 "cirrus",
18575 "qxl",
18576 "qxl2",
18577 "qxl3",
18578 "qxl4",
5f26e15b 18579 "none",
e2d681b3
TL
18580 "serial0",
18581 "serial1",
18582 "serial2",
18583 "serial3",
18584 "std",
18585 "virtio",
18586 "vmware"
18587 ],
18588 "optional" : 1,
18589 "type" : "string"
18590 }
18591 },
44660702 18592 "optional" : 1,
c2993fe5 18593 "type" : "string",
e2d681b3
TL
18594 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
18595 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
7aacca6f 18596 },
44660702
DM
18597 "virtio[n]" : {
18598 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
18599 "format" : {
18600 "aio" : {
18601 "description" : "AIO type to use.",
18602 "enum" : [
18603 "native",
18604 "threads"
18605 ],
44660702
DM
18606 "optional" : 1,
18607 "type" : "string"
18608 },
18609 "backup" : {
18610 "description" : "Whether the drive should be included when making backups.",
44660702
DM
18611 "optional" : 1,
18612 "type" : "boolean"
18613 },
18614 "bps" : {
de0983cb 18615 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
18616 "format_description" : "bps",
18617 "optional" : 1,
18618 "type" : "integer"
18619 },
de0983cb
DM
18620 "bps_max_length" : {
18621 "description" : "Maximum length of I/O bursts in seconds.",
18622 "format_description" : "seconds",
18623 "minimum" : 1,
18624 "optional" : 1,
18625 "type" : "integer"
18626 },
44660702 18627 "bps_rd" : {
de0983cb 18628 "description" : "Maximum read speed in bytes per second.",
44660702
DM
18629 "format_description" : "bps",
18630 "optional" : 1,
18631 "type" : "integer"
18632 },
de0983cb 18633 "bps_rd_length" : {
5d9c884c
DM
18634 "alias" : "bps_rd_max_length"
18635 },
18636 "bps_rd_max_length" : {
de0983cb
DM
18637 "description" : "Maximum length of read I/O bursts in seconds.",
18638 "format_description" : "seconds",
18639 "minimum" : 1,
18640 "optional" : 1,
18641 "type" : "integer"
18642 },
44660702 18643 "bps_wr" : {
de0983cb 18644 "description" : "Maximum write speed in bytes per second.",
44660702
DM
18645 "format_description" : "bps",
18646 "optional" : 1,
18647 "type" : "integer"
18648 },
de0983cb 18649 "bps_wr_length" : {
5d9c884c
DM
18650 "alias" : "bps_wr_max_length"
18651 },
18652 "bps_wr_max_length" : {
de0983cb
DM
18653 "description" : "Maximum length of write I/O bursts in seconds.",
18654 "format_description" : "seconds",
18655 "minimum" : 1,
18656 "optional" : 1,
18657 "type" : "integer"
18658 },
44660702
DM
18659 "cache" : {
18660 "description" : "The drive's cache mode",
18661 "enum" : [
18662 "none",
18663 "writethrough",
18664 "writeback",
18665 "unsafe",
18666 "directsync"
18667 ],
44660702
DM
18668 "optional" : 1,
18669 "type" : "string"
18670 },
18671 "cyls" : {
18672 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
18673 "optional" : 1,
18674 "type" : "integer"
18675 },
18676 "detect_zeroes" : {
18677 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
18678 "optional" : 1,
18679 "type" : "boolean"
18680 },
18681 "discard" : {
18682 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
18683 "enum" : [
18684 "ignore",
18685 "on"
18686 ],
44660702
DM
18687 "optional" : 1,
18688 "type" : "string"
18689 },
18690 "file" : {
18691 "default_key" : 1,
18692 "description" : "The drive's backing volume.",
18693 "format" : "pve-volume-id-or-qm-path",
18694 "format_description" : "volume",
18695 "type" : "string"
18696 },
18697 "format" : {
18698 "description" : "The drive's backing file's data format.",
18699 "enum" : [
18700 "raw",
18701 "cow",
18702 "qcow",
18703 "qed",
18704 "qcow2",
18705 "vmdk",
18706 "cloop"
18707 ],
44660702
DM
18708 "optional" : 1,
18709 "type" : "string"
18710 },
18711 "heads" : {
18712 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
18713 "optional" : 1,
18714 "type" : "integer"
18715 },
18716 "iops" : {
de0983cb 18717 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
18718 "format_description" : "iops",
18719 "optional" : 1,
18720 "type" : "integer"
18721 },
18722 "iops_max" : {
de0983cb 18723 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
18724 "format_description" : "iops",
18725 "optional" : 1,
18726 "type" : "integer"
18727 },
de0983cb
DM
18728 "iops_max_length" : {
18729 "description" : "Maximum length of I/O bursts in seconds.",
18730 "format_description" : "seconds",
18731 "minimum" : 1,
18732 "optional" : 1,
18733 "type" : "integer"
18734 },
44660702 18735 "iops_rd" : {
de0983cb 18736 "description" : "Maximum read I/O in operations per second.",
44660702
DM
18737 "format_description" : "iops",
18738 "optional" : 1,
18739 "type" : "integer"
18740 },
de0983cb 18741 "iops_rd_length" : {
5d9c884c 18742 "alias" : "iops_rd_max_length"
de0983cb 18743 },
44660702 18744 "iops_rd_max" : {
de0983cb 18745 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
18746 "format_description" : "iops",
18747 "optional" : 1,
18748 "type" : "integer"
18749 },
5d9c884c
DM
18750 "iops_rd_max_length" : {
18751 "description" : "Maximum length of read I/O bursts in seconds.",
18752 "format_description" : "seconds",
18753 "minimum" : 1,
18754 "optional" : 1,
18755 "type" : "integer"
18756 },
44660702 18757 "iops_wr" : {
de0983cb 18758 "description" : "Maximum write I/O in operations per second.",
44660702
DM
18759 "format_description" : "iops",
18760 "optional" : 1,
18761 "type" : "integer"
18762 },
de0983cb 18763 "iops_wr_length" : {
5d9c884c 18764 "alias" : "iops_wr_max_length"
de0983cb 18765 },
44660702 18766 "iops_wr_max" : {
de0983cb 18767 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
18768 "format_description" : "iops",
18769 "optional" : 1,
18770 "type" : "integer"
18771 },
5d9c884c
DM
18772 "iops_wr_max_length" : {
18773 "description" : "Maximum length of write I/O bursts in seconds.",
18774 "format_description" : "seconds",
18775 "minimum" : 1,
18776 "optional" : 1,
18777 "type" : "integer"
18778 },
44660702
DM
18779 "iothread" : {
18780 "description" : "Whether to use iothreads for this drive",
44660702
DM
18781 "optional" : 1,
18782 "type" : "boolean"
18783 },
18784 "mbps" : {
de0983cb 18785 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
18786 "format_description" : "mbps",
18787 "optional" : 1,
18788 "type" : "number"
18789 },
18790 "mbps_max" : {
de0983cb 18791 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
18792 "format_description" : "mbps",
18793 "optional" : 1,
18794 "type" : "number"
18795 },
18796 "mbps_rd" : {
de0983cb 18797 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
18798 "format_description" : "mbps",
18799 "optional" : 1,
18800 "type" : "number"
18801 },
18802 "mbps_rd_max" : {
de0983cb 18803 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
18804 "format_description" : "mbps",
18805 "optional" : 1,
18806 "type" : "number"
18807 },
18808 "mbps_wr" : {
de0983cb 18809 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
18810 "format_description" : "mbps",
18811 "optional" : 1,
18812 "type" : "number"
18813 },
18814 "mbps_wr_max" : {
de0983cb 18815 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
18816 "format_description" : "mbps",
18817 "optional" : 1,
18818 "type" : "number"
18819 },
18820 "media" : {
18821 "default" : "disk",
18822 "description" : "The drive's media type.",
18823 "enum" : [
18824 "cdrom",
18825 "disk"
18826 ],
44660702
DM
18827 "optional" : 1,
18828 "type" : "string"
18829 },
5d9c884c
DM
18830 "replicate" : {
18831 "default" : 1,
18832 "description" : "Whether the drive should considered for replication jobs.",
18833 "optional" : 1,
18834 "type" : "boolean"
18835 },
44660702
DM
18836 "rerror" : {
18837 "description" : "Read error action.",
18838 "enum" : [
18839 "ignore",
18840 "report",
18841 "stop"
18842 ],
44660702
DM
18843 "optional" : 1,
18844 "type" : "string"
18845 },
18846 "secs" : {
18847 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
18848 "optional" : 1,
18849 "type" : "integer"
18850 },
18851 "serial" : {
18852 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18853 "format" : "urlencoded",
18854 "format_description" : "serial",
18855 "maxLength" : 60,
18856 "optional" : 1,
18857 "type" : "string"
18858 },
27a7acb2
DM
18859 "shared" : {
18860 "default" : 0,
18861 "description" : "Mark this locally-managed volume as available on all nodes",
18862 "optional" : 1,
18863 "type" : "boolean",
18864 "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!"
18865 },
44660702
DM
18866 "size" : {
18867 "description" : "Disk size. This is purely informational and has no effect.",
18868 "format" : "disk-size",
f004f5b9 18869 "format_description" : "DiskSize",
44660702
DM
18870 "optional" : 1,
18871 "type" : "string"
18872 },
18873 "snapshot" : {
27a7acb2 18874 "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
18875 "optional" : 1,
18876 "type" : "boolean"
18877 },
18878 "trans" : {
18879 "description" : "Force disk geometry bios translation mode.",
18880 "enum" : [
18881 "none",
18882 "lba",
18883 "auto"
18884 ],
44660702
DM
18885 "optional" : 1,
18886 "type" : "string"
18887 },
18888 "volume" : {
18889 "alias" : "file"
18890 },
18891 "werror" : {
18892 "description" : "Write error action.",
18893 "enum" : [
18894 "enospc",
18895 "ignore",
18896 "report",
18897 "stop"
18898 ],
44660702
DM
18899 "optional" : 1,
18900 "type" : "string"
18901 }
18902 },
18903 "optional" : 1,
4bd7df8b 18904 "type" : "string",
27a7acb2 18905 "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 18906 },
4d47f125
TL
18907 "vmgenid" : {
18908 "default" : "1 (autogenerated)",
18909 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
18910 "format_description" : "UUID",
18911 "optional" : 1,
18912 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
18913 "type" : "string",
18914 "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."
18915 },
44660702
DM
18916 "vmid" : {
18917 "description" : "The (unique) ID of the VM.",
18918 "format" : "pve-vmid",
18919 "minimum" : 1,
4bd7df8b 18920 "type" : "integer",
013dc89f 18921 "typetext" : "<integer> (1 - N)"
44660702 18922 },
2489d6df
WB
18923 "vmstatestorage" : {
18924 "description" : "Default storage for VM state volumes/files.",
18925 "format" : "pve-storage-id",
18926 "optional" : 1,
18927 "type" : "string",
18928 "typetext" : "<string>"
18929 },
44660702 18930 "watchdog" : {
c2993fe5 18931 "description" : "Create a virtual hardware watchdog device.",
44660702 18932 "format" : "pve-qm-watchdog",
7aacca6f 18933 "optional" : 1,
c2993fe5 18934 "type" : "string",
013dc89f 18935 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 18936 "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 18937 }
44660702 18938 }
56122987 18939 },
56122987 18940 "permissions" : {
44660702
DM
18941 "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.",
18942 "user" : "all"
56122987 18943 },
44660702
DM
18944 "protected" : 1,
18945 "proxyto" : "node",
56122987 18946 "returns" : {
44660702 18947 "type" : "string"
7aacca6f 18948 }
56122987 18949 }
7aacca6f 18950 },
44660702 18951 "leaf" : 0,
7aacca6f 18952 "path" : "/nodes/{node}/qemu",
44660702 18953 "text" : "qemu"
56122987
DM
18954 },
18955 {
18956 "children" : [
18957 {
56122987
DM
18958 "children" : [
18959 {
56122987 18960 "info" : {
44660702
DM
18961 "GET" : {
18962 "description" : "Get container configuration.",
18963 "method" : "GET",
18964 "name" : "vm_config",
18965 "parameters" : {
18966 "additionalProperties" : 0,
18967 "properties" : {
18968 "node" : {
18969 "description" : "The cluster node name.",
18970 "format" : "pve-node",
013dc89f 18971 "type" : "string",
4d47f125
TL
18972 "typetext" : "<string>"
18973 },
5f26e15b
TL
18974 "snapshot" : {
18975 "description" : "Fetch config values from given snapshot.",
18976 "format" : "pve-configid",
18977 "maxLength" : 40,
18978 "optional" : 1,
18979 "type" : "string",
18980 "typetext" : "<string>"
18981 },
4d47f125
TL
18982 "vmid" : {
18983 "description" : "The (unique) ID of the VM.",
18984 "format" : "pve-vmid",
18985 "minimum" : 1,
18986 "type" : "integer",
18987 "typetext" : "<integer> (1 - N)"
18988 }
18989 }
18990 },
18991 "permissions" : {
18992 "check" : [
18993 "perm",
18994 "/vms/{vmid}",
18995 [
18996 "VM.Audit"
18997 ]
18998 ]
18999 },
19000 "proxyto" : "node",
19001 "returns" : {
19002 "properties" : {
19003 "arch" : {
19004 "default" : "amd64",
19005 "description" : "OS architecture type.",
19006 "enum" : [
19007 "amd64",
19008 "i386",
19009 "arm64",
19010 "armhf"
19011 ],
19012 "optional" : 1,
19013 "type" : "string"
19014 },
19015 "cmode" : {
19016 "default" : "tty",
19017 "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).",
19018 "enum" : [
19019 "shell",
19020 "console",
19021 "tty"
19022 ],
19023 "optional" : 1,
19024 "type" : "string"
19025 },
19026 "console" : {
19027 "default" : 1,
19028 "description" : "Attach a console device (/dev/console) to the container.",
19029 "optional" : 1,
19030 "type" : "boolean"
19031 },
19032 "cores" : {
19033 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
19034 "maximum" : 128,
19035 "minimum" : 1,
19036 "optional" : 1,
19037 "type" : "integer"
19038 },
19039 "cpulimit" : {
19040 "default" : 0,
19041 "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.",
19042 "maximum" : 128,
19043 "minimum" : 0,
19044 "optional" : 1,
19045 "type" : "number"
19046 },
19047 "cpuunits" : {
19048 "default" : 1024,
19049 "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.",
19050 "maximum" : 500000,
19051 "minimum" : 0,
19052 "optional" : 1,
19053 "type" : "integer"
19054 },
19055 "description" : {
19056 "description" : "Container description. Only used on the configuration web interface.",
19057 "optional" : 1,
19058 "type" : "string"
19059 },
19060 "digest" : {
19061 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
19062 "type" : "string"
19063 },
19064 "features" : {
19065 "description" : "Allow containers access to advanced features.",
19066 "format" : {
e2d681b3
TL
19067 "fuse" : {
19068 "default" : 0,
19069 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
19070 "optional" : 1,
19071 "type" : "boolean"
19072 },
4d47f125
TL
19073 "keyctl" : {
19074 "default" : 0,
19075 "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.",
19076 "optional" : 1,
19077 "type" : "boolean"
19078 },
19079 "mount" : {
19080 "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.",
19081 "format_description" : "fstype;fstype;...",
19082 "optional" : 1,
19083 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
19084 "type" : "string"
19085 },
19086 "nesting" : {
19087 "default" : 0,
19088 "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.",
19089 "optional" : 1,
19090 "type" : "boolean"
19091 }
19092 },
19093 "optional" : 1,
19094 "type" : "string"
19095 },
5f26e15b
TL
19096 "hookscript" : {
19097 "description" : "Script that will be exectued during various steps in the containers lifetime.",
19098 "format" : "pve-volume-id",
19099 "optional" : 1,
19100 "type" : "string"
19101 },
4d47f125
TL
19102 "hostname" : {
19103 "description" : "Set a host name for the container.",
19104 "format" : "dns-name",
19105 "maxLength" : 255,
19106 "optional" : 1,
19107 "type" : "string"
19108 },
19109 "lock" : {
19110 "description" : "Lock/unlock the VM.",
19111 "enum" : [
19112 "backup",
19113 "disk",
19114 "migrate",
19115 "mounted",
19116 "rollback",
19117 "snapshot",
19118 "snapshot-delete"
19119 ],
19120 "optional" : 1,
19121 "type" : "string"
19122 },
19123 "lxc" : {
19124 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
19125 "items" : {
19126 "items" : {
19127 "type" : "string"
19128 },
19129 "type" : "array"
19130 },
19131 "optional" : 1,
19132 "type" : "array"
19133 },
19134 "memory" : {
19135 "default" : 512,
19136 "description" : "Amount of RAM for the VM in MB.",
19137 "minimum" : 16,
19138 "optional" : 1,
19139 "type" : "integer"
19140 },
19141 "mp[n]" : {
19142 "description" : "Use volume as container mount point.",
19143 "format" : {
19144 "acl" : {
19145 "description" : "Explicitly enable or disable ACL support.",
19146 "optional" : 1,
19147 "type" : "boolean"
19148 },
19149 "backup" : {
19150 "description" : "Whether to include the mount point in backups.",
19151 "optional" : 1,
19152 "type" : "boolean",
19153 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
19154 },
19155 "mp" : {
19156 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
19157 "format" : "pve-lxc-mp-string",
19158 "format_description" : "Path",
19159 "type" : "string",
19160 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
19161 },
19162 "quota" : {
19163 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19164 "optional" : 1,
19165 "type" : "boolean"
19166 },
19167 "replicate" : {
19168 "default" : 1,
19169 "description" : "Will include this volume to a storage replica job.",
19170 "optional" : 1,
19171 "type" : "boolean"
19172 },
19173 "ro" : {
19174 "description" : "Read-only mount point",
19175 "optional" : 1,
19176 "type" : "boolean"
19177 },
19178 "shared" : {
19179 "default" : 0,
19180 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19181 "optional" : 1,
19182 "type" : "boolean",
19183 "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!"
19184 },
19185 "size" : {
19186 "description" : "Volume size (read only value).",
19187 "format" : "disk-size",
19188 "format_description" : "DiskSize",
19189 "optional" : 1,
19190 "type" : "string"
19191 },
19192 "volume" : {
19193 "default_key" : 1,
19194 "description" : "Volume, device or directory to mount into the container.",
19195 "format" : "pve-lxc-mp-string",
19196 "format_description" : "volume",
19197 "type" : "string"
19198 }
19199 },
19200 "optional" : 1,
19201 "type" : "string"
19202 },
19203 "nameserver" : {
19204 "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.",
19205 "format" : "address-list",
19206 "optional" : 1,
19207 "type" : "string"
19208 },
19209 "net[n]" : {
19210 "description" : "Specifies network interfaces for the container.",
19211 "format" : {
19212 "bridge" : {
19213 "description" : "Bridge to attach the network device to.",
19214 "format_description" : "bridge",
19215 "optional" : 1,
19216 "pattern" : "[-_.\\w\\d]+",
19217 "type" : "string"
19218 },
19219 "firewall" : {
19220 "description" : "Controls whether this interface's firewall rules should be used.",
19221 "optional" : 1,
19222 "type" : "boolean"
19223 },
19224 "gw" : {
19225 "description" : "Default gateway for IPv4 traffic.",
19226 "format" : "ipv4",
19227 "format_description" : "GatewayIPv4",
19228 "optional" : 1,
19229 "type" : "string"
19230 },
19231 "gw6" : {
19232 "description" : "Default gateway for IPv6 traffic.",
19233 "format" : "ipv6",
19234 "format_description" : "GatewayIPv6",
19235 "optional" : 1,
19236 "type" : "string"
19237 },
19238 "hwaddr" : {
19239 "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)",
19240 "format_description" : "XX:XX:XX:XX:XX:XX",
19241 "optional" : 1,
19242 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
19243 "type" : "string"
19244 },
19245 "ip" : {
19246 "description" : "IPv4 address in CIDR format.",
19247 "format" : "pve-ipv4-config",
19248 "format_description" : "(IPv4/CIDR|dhcp|manual)",
19249 "optional" : 1,
19250 "type" : "string"
19251 },
19252 "ip6" : {
19253 "description" : "IPv6 address in CIDR format.",
19254 "format" : "pve-ipv6-config",
19255 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
19256 "optional" : 1,
19257 "type" : "string"
19258 },
19259 "mtu" : {
19260 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
19261 "minimum" : 64,
19262 "optional" : 1,
19263 "type" : "integer"
19264 },
19265 "name" : {
19266 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
19267 "format_description" : "string",
19268 "pattern" : "[-_.\\w\\d]+",
19269 "type" : "string"
19270 },
19271 "rate" : {
19272 "description" : "Apply rate limiting to the interface",
19273 "format_description" : "mbps",
19274 "optional" : 1,
19275 "type" : "number"
19276 },
19277 "tag" : {
19278 "description" : "VLAN tag for this interface.",
19279 "maximum" : 4094,
19280 "minimum" : 1,
19281 "optional" : 1,
19282 "type" : "integer"
19283 },
19284 "trunks" : {
19285 "description" : "VLAN ids to pass through the interface",
19286 "format_description" : "vlanid[;vlanid...]",
19287 "optional" : 1,
19288 "pattern" : "(?^:\\d+(?:;\\d+)*)",
19289 "type" : "string"
19290 },
19291 "type" : {
19292 "description" : "Network interface type.",
19293 "enum" : [
19294 "veth"
19295 ],
19296 "optional" : 1,
19297 "type" : "string"
19298 }
19299 },
19300 "optional" : 1,
19301 "type" : "string"
19302 },
19303 "onboot" : {
19304 "default" : 0,
19305 "description" : "Specifies whether a VM will be started during system bootup.",
19306 "optional" : 1,
19307 "type" : "boolean"
19308 },
19309 "ostype" : {
19310 "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.",
19311 "enum" : [
19312 "debian",
19313 "ubuntu",
19314 "centos",
19315 "fedora",
19316 "opensuse",
19317 "archlinux",
19318 "alpine",
19319 "gentoo",
19320 "unmanaged"
19321 ],
19322 "optional" : 1,
19323 "type" : "string"
19324 },
19325 "protection" : {
19326 "default" : 0,
19327 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
19328 "optional" : 1,
19329 "type" : "boolean"
19330 },
19331 "rootfs" : {
19332 "description" : "Use volume as container root.",
19333 "format" : {
19334 "acl" : {
19335 "description" : "Explicitly enable or disable ACL support.",
19336 "optional" : 1,
19337 "type" : "boolean"
19338 },
19339 "quota" : {
19340 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19341 "optional" : 1,
19342 "type" : "boolean"
19343 },
19344 "replicate" : {
19345 "default" : 1,
19346 "description" : "Will include this volume to a storage replica job.",
19347 "optional" : 1,
19348 "type" : "boolean"
19349 },
19350 "ro" : {
19351 "description" : "Read-only mount point",
19352 "optional" : 1,
19353 "type" : "boolean"
19354 },
19355 "shared" : {
19356 "default" : 0,
19357 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19358 "optional" : 1,
19359 "type" : "boolean",
19360 "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!"
19361 },
19362 "size" : {
19363 "description" : "Volume size (read only value).",
19364 "format" : "disk-size",
19365 "format_description" : "DiskSize",
19366 "optional" : 1,
19367 "type" : "string"
19368 },
19369 "volume" : {
19370 "default_key" : 1,
19371 "description" : "Volume, device or directory to mount into the container.",
19372 "format" : "pve-lxc-mp-string",
19373 "format_description" : "volume",
19374 "type" : "string"
19375 }
19376 },
19377 "optional" : 1,
19378 "type" : "string"
19379 },
19380 "searchdomain" : {
19381 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
19382 "format" : "dns-name-list",
19383 "optional" : 1,
19384 "type" : "string"
19385 },
19386 "startup" : {
19387 "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.",
19388 "format" : "pve-startup-order",
19389 "optional" : 1,
19390 "type" : "string",
19391 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
19392 },
19393 "swap" : {
19394 "default" : 512,
19395 "description" : "Amount of SWAP for the VM in MB.",
19396 "minimum" : 0,
19397 "optional" : 1,
19398 "type" : "integer"
19399 },
19400 "template" : {
19401 "default" : 0,
19402 "description" : "Enable/disable Template.",
19403 "optional" : 1,
19404 "type" : "boolean"
44660702 19405 },
4d47f125
TL
19406 "tty" : {
19407 "default" : 2,
19408 "description" : "Specify the number of tty available to the container",
19409 "maximum" : 6,
19410 "minimum" : 0,
19411 "optional" : 1,
19412 "type" : "integer"
19413 },
19414 "unprivileged" : {
19415 "default" : 0,
19416 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
19417 "optional" : 1,
19418 "type" : "boolean"
19419 },
19420 "unused[n]" : {
19421 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
19422 "format" : "pve-volume-id",
19423 "optional" : 1,
44660702
DM
19424 "type" : "string"
19425 }
19426 },
19427 "type" : "object"
19428 }
19429 },
56122987 19430 "PUT" : {
44660702
DM
19431 "description" : "Set container options.",
19432 "method" : "PUT",
19433 "name" : "update_vm",
56122987 19434 "parameters" : {
44660702 19435 "additionalProperties" : 0,
56122987 19436 "properties" : {
44660702
DM
19437 "arch" : {
19438 "default" : "amd64",
19439 "description" : "OS architecture type.",
19440 "enum" : [
19441 "amd64",
4d47f125
TL
19442 "i386",
19443 "arm64",
19444 "armhf"
44660702 19445 ],
7aacca6f 19446 "optional" : 1,
44660702
DM
19447 "type" : "string"
19448 },
19449 "cmode" : {
7aacca6f 19450 "default" : "tty",
44660702 19451 "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
19452 "enum" : [
19453 "shell",
19454 "console",
19455 "tty"
19456 ],
44660702
DM
19457 "optional" : 1,
19458 "type" : "string"
7aacca6f 19459 },
44660702
DM
19460 "console" : {
19461 "default" : 1,
19462 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 19463 "optional" : 1,
013dc89f
DM
19464 "type" : "boolean",
19465 "typetext" : "<boolean>"
7aacca6f 19466 },
de0983cb
DM
19467 "cores" : {
19468 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
19469 "maximum" : 128,
19470 "minimum" : 1,
19471 "optional" : 1,
19472 "type" : "integer",
013dc89f 19473 "typetext" : "<integer> (1 - 128)"
de0983cb 19474 },
44660702
DM
19475 "cpulimit" : {
19476 "default" : 0,
19477 "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.",
19478 "maximum" : 128,
7aacca6f 19479 "minimum" : 0,
7aacca6f 19480 "optional" : 1,
4bd7df8b 19481 "type" : "number",
013dc89f 19482 "typetext" : "<number> (0 - 128)"
7aacca6f 19483 },
44660702
DM
19484 "cpuunits" : {
19485 "default" : 1024,
19486 "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.",
19487 "maximum" : 500000,
19488 "minimum" : 0,
19489 "optional" : 1,
4bd7df8b 19490 "type" : "integer",
013dc89f 19491 "typetext" : "<integer> (0 - 500000)"
7aacca6f 19492 },
44660702
DM
19493 "delete" : {
19494 "description" : "A list of settings you want to delete.",
19495 "format" : "pve-configid-list",
7aacca6f 19496 "optional" : 1,
013dc89f
DM
19497 "type" : "string",
19498 "typetext" : "<string>"
7aacca6f 19499 },
44660702
DM
19500 "description" : {
19501 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 19502 "optional" : 1,
013dc89f
DM
19503 "type" : "string",
19504 "typetext" : "<string>"
7aacca6f 19505 },
44660702
DM
19506 "digest" : {
19507 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19508 "maxLength" : 40,
7aacca6f 19509 "optional" : 1,
013dc89f
DM
19510 "type" : "string",
19511 "typetext" : "<string>"
7aacca6f 19512 },
4d47f125
TL
19513 "features" : {
19514 "description" : "Allow containers access to advanced features.",
19515 "format" : {
e2d681b3
TL
19516 "fuse" : {
19517 "default" : 0,
19518 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
19519 "optional" : 1,
19520 "type" : "boolean"
19521 },
4d47f125
TL
19522 "keyctl" : {
19523 "default" : 0,
19524 "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.",
19525 "optional" : 1,
19526 "type" : "boolean"
19527 },
19528 "mount" : {
19529 "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.",
19530 "format_description" : "fstype;fstype;...",
19531 "optional" : 1,
19532 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
19533 "type" : "string"
19534 },
19535 "nesting" : {
19536 "default" : 0,
19537 "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.",
19538 "optional" : 1,
19539 "type" : "boolean"
19540 }
19541 },
19542 "optional" : 1,
19543 "type" : "string",
e2d681b3 19544 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 19545 },
5f26e15b
TL
19546 "hookscript" : {
19547 "description" : "Script that will be exectued during various steps in the containers lifetime.",
19548 "format" : "pve-volume-id",
19549 "optional" : 1,
19550 "type" : "string",
19551 "typetext" : "<string>"
19552 },
44660702
DM
19553 "hostname" : {
19554 "description" : "Set a host name for the container.",
19555 "format" : "dns-name",
19556 "maxLength" : 255,
56122987 19557 "optional" : 1,
013dc89f
DM
19558 "type" : "string",
19559 "typetext" : "<string>"
44660702
DM
19560 },
19561 "lock" : {
19562 "description" : "Lock/unlock the VM.",
19563 "enum" : [
44660702 19564 "backup",
4d47f125
TL
19565 "disk",
19566 "migrate",
19567 "mounted",
19568 "rollback",
44660702 19569 "snapshot",
4d47f125 19570 "snapshot-delete"
44660702
DM
19571 ],
19572 "optional" : 1,
19573 "type" : "string"
19574 },
19575 "memory" : {
19576 "default" : 512,
19577 "description" : "Amount of RAM for the VM in MB.",
19578 "minimum" : 16,
19579 "optional" : 1,
4bd7df8b 19580 "type" : "integer",
013dc89f 19581 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
19582 },
19583 "mp[n]" : {
c2993fe5 19584 "description" : "Use volume as container mount point.",
7aacca6f 19585 "format" : {
7aacca6f
DM
19586 "acl" : {
19587 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 19588 "optional" : 1,
44660702 19589 "type" : "boolean"
7aacca6f
DM
19590 },
19591 "backup" : {
de0983cb 19592 "description" : "Whether to include the mount point in backups.",
7aacca6f 19593 "optional" : 1,
4bd7df8b 19594 "type" : "boolean",
de0983cb 19595 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
19596 },
19597 "mp" : {
de0983cb 19598 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 19599 "format" : "pve-lxc-mp-string",
44660702 19600 "format_description" : "Path",
4bd7df8b 19601 "type" : "string",
de0983cb 19602 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 19603 },
5d9c884c
DM
19604 "quota" : {
19605 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19606 "optional" : 1,
19607 "type" : "boolean"
19608 },
19609 "replicate" : {
19610 "default" : 1,
19611 "description" : "Will include this volume to a storage replica job.",
44660702
DM
19612 "optional" : 1,
19613 "type" : "boolean"
19614 },
19615 "ro" : {
de0983cb 19616 "description" : "Read-only mount point",
44660702
DM
19617 "optional" : 1,
19618 "type" : "boolean"
19619 },
de0983cb
DM
19620 "shared" : {
19621 "default" : 0,
19622 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19623 "optional" : 1,
19624 "type" : "boolean",
19625 "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!"
19626 },
44660702
DM
19627 "size" : {
19628 "description" : "Volume size (read only value).",
19629 "format" : "disk-size",
19630 "format_description" : "DiskSize",
19631 "optional" : 1,
19632 "type" : "string"
19633 },
19634 "volume" : {
19635 "default_key" : 1,
19636 "description" : "Volume, device or directory to mount into the container.",
19637 "format" : "pve-lxc-mp-string",
19638 "format_description" : "volume",
19639 "type" : "string"
19640 }
19641 },
7aacca6f 19642 "optional" : 1,
4bd7df8b 19643 "type" : "string",
5d9c884c 19644 "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 19645 },
44660702
DM
19646 "nameserver" : {
19647 "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.",
19648 "format" : "address-list",
56122987 19649 "optional" : 1,
013dc89f
DM
19650 "type" : "string",
19651 "typetext" : "<string>"
56122987
DM
19652 },
19653 "net[n]" : {
44660702 19654 "description" : "Specifies network interfaces for the container.",
56122987 19655 "format" : {
44660702
DM
19656 "bridge" : {
19657 "description" : "Bridge to attach the network device to.",
f004f5b9 19658 "format_description" : "bridge",
56122987 19659 "optional" : 1,
44660702
DM
19660 "pattern" : "[-_.\\w\\d]+",
19661 "type" : "string"
56122987 19662 },
44660702
DM
19663 "firewall" : {
19664 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 19665 "optional" : 1,
44660702 19666 "type" : "boolean"
56122987 19667 },
44660702
DM
19668 "gw" : {
19669 "description" : "Default gateway for IPv4 traffic.",
19670 "format" : "ipv4",
19671 "format_description" : "GatewayIPv4",
56122987 19672 "optional" : 1,
44660702 19673 "type" : "string"
56122987
DM
19674 },
19675 "gw6" : {
7aacca6f 19676 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
19677 "format" : "ipv6",
19678 "format_description" : "GatewayIPv6",
7aacca6f 19679 "optional" : 1,
56122987
DM
19680 "type" : "string"
19681 },
44660702 19682 "hwaddr" : {
f004f5b9
DM
19683 "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)",
19684 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
19685 "optional" : 1,
19686 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
19687 "type" : "string"
19688 },
19689 "ip" : {
19690 "description" : "IPv4 address in CIDR format.",
19691 "format" : "pve-ipv4-config",
2489d6df 19692 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 19693 "optional" : 1,
44660702 19694 "type" : "string"
56122987 19695 },
7aacca6f 19696 "ip6" : {
7aacca6f
DM
19697 "description" : "IPv6 address in CIDR format.",
19698 "format" : "pve-ipv6-config",
2489d6df 19699 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 19700 "optional" : 1,
44660702 19701 "type" : "string"
56122987 19702 },
44660702
DM
19703 "mtu" : {
19704 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 19705 "minimum" : 64,
56122987 19706 "optional" : 1,
44660702 19707 "type" : "integer"
56122987
DM
19708 },
19709 "name" : {
44660702 19710 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 19711 "format_description" : "string",
56122987 19712 "pattern" : "[-_.\\w\\d]+",
44660702 19713 "type" : "string"
56122987 19714 },
44660702
DM
19715 "rate" : {
19716 "description" : "Apply rate limiting to the interface",
19717 "format_description" : "mbps",
56122987 19718 "optional" : 1,
44660702 19719 "type" : "number"
7aacca6f 19720 },
44660702
DM
19721 "tag" : {
19722 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
19723 "maximum" : 4094,
19724 "minimum" : 1,
56122987 19725 "optional" : 1,
7aacca6f 19726 "type" : "integer"
56122987 19727 },
44660702
DM
19728 "trunks" : {
19729 "description" : "VLAN ids to pass through the interface",
19730 "format_description" : "vlanid[;vlanid...]",
19731 "optional" : 1,
19732 "pattern" : "(?^:\\d+(?:;\\d+)*)",
19733 "type" : "string"
19734 },
19735 "type" : {
19736 "description" : "Network interface type.",
19737 "enum" : [
19738 "veth"
19739 ],
56122987 19740 "optional" : 1,
44660702 19741 "type" : "string"
56122987
DM
19742 }
19743 },
7aacca6f 19744 "optional" : 1,
4bd7df8b 19745 "type" : "string",
2489d6df 19746 "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 19747 },
44660702
DM
19748 "node" : {
19749 "description" : "The cluster node name.",
19750 "format" : "pve-node",
013dc89f
DM
19751 "type" : "string",
19752 "typetext" : "<string>"
56122987 19753 },
44660702
DM
19754 "onboot" : {
19755 "default" : 0,
19756 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 19757 "optional" : 1,
013dc89f
DM
19758 "type" : "boolean",
19759 "typetext" : "<boolean>"
56122987 19760 },
44660702
DM
19761 "ostype" : {
19762 "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.",
19763 "enum" : [
19764 "debian",
19765 "ubuntu",
19766 "centos",
19767 "fedora",
19768 "opensuse",
19769 "archlinux",
19770 "alpine",
57b78691 19771 "gentoo",
44660702
DM
19772 "unmanaged"
19773 ],
56122987 19774 "optional" : 1,
44660702 19775 "type" : "string"
56122987 19776 },
44660702
DM
19777 "protection" : {
19778 "default" : 0,
19779 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 19780 "optional" : 1,
013dc89f
DM
19781 "type" : "boolean",
19782 "typetext" : "<boolean>"
56122987 19783 },
7aacca6f
DM
19784 "rootfs" : {
19785 "description" : "Use volume as container root.",
56122987
DM
19786 "format" : {
19787 "acl" : {
44660702 19788 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
19789 "optional" : 1,
19790 "type" : "boolean"
56122987 19791 },
44660702
DM
19792 "quota" : {
19793 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
19794 "optional" : 1,
19795 "type" : "boolean"
19796 },
5d9c884c
DM
19797 "replicate" : {
19798 "default" : 1,
19799 "description" : "Will include this volume to a storage replica job.",
19800 "optional" : 1,
19801 "type" : "boolean"
19802 },
44660702 19803 "ro" : {
de0983cb 19804 "description" : "Read-only mount point",
56122987 19805 "optional" : 1,
44660702
DM
19806 "type" : "boolean"
19807 },
de0983cb
DM
19808 "shared" : {
19809 "default" : 0,
19810 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19811 "optional" : 1,
19812 "type" : "boolean",
19813 "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!"
19814 },
44660702 19815 "size" : {
7aacca6f 19816 "description" : "Volume size (read only value).",
44660702 19817 "format" : "disk-size",
56122987 19818 "format_description" : "DiskSize",
56122987 19819 "optional" : 1,
44660702 19820 "type" : "string"
7aacca6f
DM
19821 },
19822 "volume" : {
7aacca6f
DM
19823 "default_key" : 1,
19824 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
19825 "format" : "pve-lxc-mp-string",
19826 "format_description" : "volume",
7aacca6f 19827 "type" : "string"
56122987 19828 }
44660702
DM
19829 },
19830 "optional" : 1,
4bd7df8b 19831 "type" : "string",
5d9c884c 19832 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
19833 },
19834 "searchdomain" : {
19835 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
19836 "format" : "dns-name-list",
19837 "optional" : 1,
013dc89f
DM
19838 "type" : "string",
19839 "typetext" : "<string>"
44660702
DM
19840 },
19841 "startup" : {
19842 "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.",
19843 "format" : "pve-startup-order",
19844 "optional" : 1,
19845 "type" : "string",
19846 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
19847 },
19848 "swap" : {
19849 "default" : 512,
19850 "description" : "Amount of SWAP for the VM in MB.",
19851 "minimum" : 0,
19852 "optional" : 1,
4bd7df8b 19853 "type" : "integer",
013dc89f 19854 "typetext" : "<integer> (0 - N)"
56122987 19855 },
56122987 19856 "template" : {
44660702 19857 "default" : 0,
7aacca6f 19858 "description" : "Enable/disable Template.",
56122987 19859 "optional" : 1,
013dc89f
DM
19860 "type" : "boolean",
19861 "typetext" : "<boolean>"
56122987 19862 },
44660702
DM
19863 "tty" : {
19864 "default" : 2,
19865 "description" : "Specify the number of tty available to the container",
19866 "maximum" : 6,
19867 "minimum" : 0,
19868 "optional" : 1,
4bd7df8b 19869 "type" : "integer",
013dc89f 19870 "typetext" : "<integer> (0 - 6)"
56122987 19871 },
44660702
DM
19872 "unprivileged" : {
19873 "default" : 0,
19874 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 19875 "optional" : 1,
013dc89f
DM
19876 "type" : "boolean",
19877 "typetext" : "<boolean>"
56122987 19878 },
44660702 19879 "unused[n]" : {
c2993fe5 19880 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 19881 "format" : "pve-volume-id",
56122987 19882 "optional" : 1,
013dc89f
DM
19883 "type" : "string",
19884 "typetext" : "<string>"
44660702
DM
19885 },
19886 "vmid" : {
19887 "description" : "The (unique) ID of the VM.",
19888 "format" : "pve-vmid",
19889 "minimum" : 1,
4bd7df8b 19890 "type" : "integer",
013dc89f 19891 "typetext" : "<integer> (1 - N)"
56122987 19892 }
44660702 19893 }
56122987 19894 },
56122987
DM
19895 "permissions" : {
19896 "check" : [
19897 "perm",
19898 "/vms/{vmid}",
19899 [
19900 "VM.Config.Disk",
19901 "VM.Config.CPU",
19902 "VM.Config.Memory",
19903 "VM.Config.Network",
19904 "VM.Config.Options"
19905 ],
19906 "any",
19907 1
52e44c50
FG
19908 ],
19909 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 19910 },
44660702
DM
19911 "protected" : 1,
19912 "proxyto" : "node",
56122987
DM
19913 "returns" : {
19914 "type" : "null"
7aacca6f 19915 }
56122987 19916 }
7aacca6f 19917 },
44660702 19918 "leaf" : 1,
7aacca6f 19919 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 19920 "text" : "config"
56122987
DM
19921 },
19922 {
56122987
DM
19923 "children" : [
19924 {
19925 "info" : {
19926 "GET" : {
44660702 19927 "description" : "Get virtual machine status.",
7aacca6f 19928 "method" : "GET",
44660702 19929 "name" : "vm_status",
56122987 19930 "parameters" : {
44660702 19931 "additionalProperties" : 0,
56122987 19932 "properties" : {
56122987 19933 "node" : {
44660702 19934 "description" : "The cluster node name.",
56122987 19935 "format" : "pve-node",
013dc89f
DM
19936 "type" : "string",
19937 "typetext" : "<string>"
7aacca6f
DM
19938 },
19939 "vmid" : {
19940 "description" : "The (unique) ID of the VM.",
44660702 19941 "format" : "pve-vmid",
7aacca6f 19942 "minimum" : 1,
4bd7df8b 19943 "type" : "integer",
013dc89f 19944 "typetext" : "<integer> (1 - N)"
56122987 19945 }
44660702 19946 }
7aacca6f
DM
19947 },
19948 "permissions" : {
19949 "check" : [
19950 "perm",
19951 "/vms/{vmid}",
19952 [
4d47f125
TL
19953 "VM.Audit"
19954 ]
19955 ]
19956 },
19957 "protected" : 1,
19958 "proxyto" : "node",
19959 "returns" : {
19960 "properties" : {
19961 "cpus" : {
19962 "description" : "Maximum usable CPUs.",
19963 "optional" : 1,
19964 "type" : "number"
19965 },
19966 "ha" : {
19967 "description" : "HA manager service status.",
19968 "type" : "object"
19969 },
19970 "maxdisk" : {
19971 "description" : "Root disk size in bytes.",
19972 "optional" : 1,
19973 "renderer" : "bytes",
19974 "type" : "integer"
19975 },
19976 "maxmem" : {
19977 "description" : "Maximum memory in bytes.",
19978 "optional" : 1,
19979 "renderer" : "bytes",
19980 "type" : "integer"
19981 },
19982 "maxswap" : {
19983 "description" : "Maximum SWAP memory in bytes.",
19984 "optional" : 1,
19985 "renderer" : "bytes",
19986 "type" : "integer"
19987 },
19988 "name" : {
19989 "description" : "Container name.",
19990 "optional" : 1,
19991 "type" : "string"
19992 },
19993 "status" : {
19994 "description" : "LXC Container status.",
19995 "enum" : [
19996 "stopped",
19997 "running"
19998 ],
19999 "type" : "string"
20000 },
20001 "uptime" : {
20002 "description" : "Uptime.",
20003 "optional" : 1,
20004 "renderer" : "duration",
20005 "type" : "integer"
20006 },
20007 "vmid" : {
20008 "description" : "The (unique) ID of the VM.",
20009 "format" : "pve-vmid",
20010 "minimum" : 1,
20011 "type" : "integer"
20012 }
20013 },
20014 "type" : "object"
20015 }
20016 }
20017 },
20018 "leaf" : 1,
20019 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
20020 "text" : "current"
20021 },
20022 {
20023 "info" : {
20024 "POST" : {
20025 "description" : "Start the container.",
20026 "method" : "POST",
20027 "name" : "vm_start",
20028 "parameters" : {
20029 "additionalProperties" : 0,
20030 "properties" : {
20031 "node" : {
20032 "description" : "The cluster node name.",
20033 "format" : "pve-node",
20034 "type" : "string",
20035 "typetext" : "<string>"
20036 },
20037 "skiplock" : {
20038 "description" : "Ignore locks - only root is allowed to use this option.",
20039 "optional" : 1,
20040 "type" : "boolean",
20041 "typetext" : "<boolean>"
20042 },
20043 "vmid" : {
20044 "description" : "The (unique) ID of the VM.",
20045 "format" : "pve-vmid",
20046 "minimum" : 1,
20047 "type" : "integer",
20048 "typetext" : "<integer> (1 - N)"
20049 }
20050 }
20051 },
20052 "permissions" : {
20053 "check" : [
20054 "perm",
20055 "/vms/{vmid}",
20056 [
20057 "VM.PowerMgmt"
20058 ]
20059 ]
20060 },
20061 "protected" : 1,
20062 "proxyto" : "node",
20063 "returns" : {
20064 "type" : "string"
20065 }
20066 }
20067 },
20068 "leaf" : 1,
20069 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
20070 "text" : "start"
20071 },
20072 {
20073 "info" : {
20074 "POST" : {
20075 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
20076 "method" : "POST",
20077 "name" : "vm_stop",
20078 "parameters" : {
20079 "additionalProperties" : 0,
20080 "properties" : {
20081 "node" : {
20082 "description" : "The cluster node name.",
20083 "format" : "pve-node",
20084 "type" : "string",
20085 "typetext" : "<string>"
20086 },
20087 "skiplock" : {
20088 "description" : "Ignore locks - only root is allowed to use this option.",
20089 "optional" : 1,
20090 "type" : "boolean",
20091 "typetext" : "<boolean>"
20092 },
20093 "vmid" : {
20094 "description" : "The (unique) ID of the VM.",
20095 "format" : "pve-vmid",
20096 "minimum" : 1,
20097 "type" : "integer",
20098 "typetext" : "<integer> (1 - N)"
20099 }
20100 }
20101 },
20102 "permissions" : {
20103 "check" : [
20104 "perm",
20105 "/vms/{vmid}",
20106 [
20107 "VM.PowerMgmt"
20108 ]
20109 ]
20110 },
20111 "protected" : 1,
20112 "proxyto" : "node",
20113 "returns" : {
20114 "type" : "string"
20115 }
20116 }
20117 },
20118 "leaf" : 1,
20119 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
20120 "text" : "stop"
20121 },
20122 {
20123 "info" : {
20124 "POST" : {
20125 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
20126 "method" : "POST",
20127 "name" : "vm_shutdown",
20128 "parameters" : {
20129 "additionalProperties" : 0,
20130 "properties" : {
20131 "forceStop" : {
20132 "default" : 0,
20133 "description" : "Make sure the Container stops.",
20134 "optional" : 1,
20135 "type" : "boolean",
20136 "typetext" : "<boolean>"
20137 },
20138 "node" : {
20139 "description" : "The cluster node name.",
20140 "format" : "pve-node",
20141 "type" : "string",
20142 "typetext" : "<string>"
20143 },
20144 "timeout" : {
20145 "default" : 60,
20146 "description" : "Wait maximal timeout seconds.",
20147 "minimum" : 0,
20148 "optional" : 1,
20149 "type" : "integer",
20150 "typetext" : "<integer> (0 - N)"
20151 },
20152 "vmid" : {
20153 "description" : "The (unique) ID of the VM.",
20154 "format" : "pve-vmid",
20155 "minimum" : 1,
20156 "type" : "integer",
20157 "typetext" : "<integer> (1 - N)"
20158 }
20159 }
20160 },
20161 "permissions" : {
20162 "check" : [
20163 "perm",
20164 "/vms/{vmid}",
20165 [
20166 "VM.PowerMgmt"
7aacca6f
DM
20167 ]
20168 ]
20169 },
44660702 20170 "protected" : 1,
7aacca6f 20171 "proxyto" : "node",
44660702 20172 "returns" : {
4d47f125 20173 "type" : "string"
44660702 20174 }
56122987
DM
20175 }
20176 },
44660702 20177 "leaf" : 1,
4d47f125
TL
20178 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
20179 "text" : "shutdown"
56122987
DM
20180 },
20181 {
56122987
DM
20182 "info" : {
20183 "POST" : {
4d47f125 20184 "description" : "Suspend the container.",
44660702 20185 "method" : "POST",
4d47f125 20186 "name" : "vm_suspend",
56122987
DM
20187 "parameters" : {
20188 "additionalProperties" : 0,
20189 "properties" : {
56122987 20190 "node" : {
7aacca6f 20191 "description" : "The cluster node name.",
44660702 20192 "format" : "pve-node",
013dc89f
DM
20193 "type" : "string",
20194 "typetext" : "<string>"
56122987
DM
20195 },
20196 "vmid" : {
7aacca6f 20197 "description" : "The (unique) ID of the VM.",
44660702 20198 "format" : "pve-vmid",
56122987 20199 "minimum" : 1,
4bd7df8b 20200 "type" : "integer",
013dc89f 20201 "typetext" : "<integer> (1 - N)"
56122987
DM
20202 }
20203 }
20204 },
20205 "permissions" : {
20206 "check" : [
20207 "perm",
20208 "/vms/{vmid}",
20209 [
20210 "VM.PowerMgmt"
20211 ]
20212 ]
20213 },
44660702 20214 "protected" : 1,
7aacca6f 20215 "proxyto" : "node",
44660702
DM
20216 "returns" : {
20217 "type" : "string"
20218 }
20219 }
20220 },
20221 "leaf" : 1,
4d47f125
TL
20222 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
20223 "text" : "suspend"
44660702
DM
20224 },
20225 {
20226 "info" : {
20227 "POST" : {
4d47f125 20228 "description" : "Resume the container.",
7aacca6f 20229 "method" : "POST",
4d47f125 20230 "name" : "vm_resume",
7aacca6f 20231 "parameters" : {
44660702 20232 "additionalProperties" : 0,
7aacca6f 20233 "properties" : {
44660702
DM
20234 "node" : {
20235 "description" : "The cluster node name.",
20236 "format" : "pve-node",
013dc89f
DM
20237 "type" : "string",
20238 "typetext" : "<string>"
44660702 20239 },
7aacca6f 20240 "vmid" : {
44660702 20241 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20242 "format" : "pve-vmid",
20243 "minimum" : 1,
4bd7df8b 20244 "type" : "integer",
013dc89f 20245 "typetext" : "<integer> (1 - N)"
7aacca6f 20246 }
44660702
DM
20247 }
20248 },
20249 "permissions" : {
20250 "check" : [
20251 "perm",
20252 "/vms/{vmid}",
20253 [
20254 "VM.PowerMgmt"
20255 ]
20256 ]
7aacca6f 20257 },
44660702
DM
20258 "protected" : 1,
20259 "proxyto" : "node",
20260 "returns" : {
20261 "type" : "string"
20262 }
56122987 20263 }
7aacca6f 20264 },
7aacca6f 20265 "leaf" : 1,
4d47f125
TL
20266 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
20267 "text" : "resume"
20268 }
20269 ],
20270 "info" : {
20271 "GET" : {
20272 "description" : "Directory index",
20273 "method" : "GET",
20274 "name" : "vmcmdidx",
20275 "parameters" : {
20276 "additionalProperties" : 0,
20277 "properties" : {
20278 "node" : {
20279 "description" : "The cluster node name.",
20280 "format" : "pve-node",
20281 "type" : "string",
20282 "typetext" : "<string>"
20283 },
20284 "vmid" : {
20285 "description" : "The (unique) ID of the VM.",
20286 "format" : "pve-vmid",
20287 "minimum" : 1,
20288 "type" : "integer",
20289 "typetext" : "<integer> (1 - N)"
20290 }
20291 }
20292 },
20293 "permissions" : {
20294 "user" : "all"
20295 },
20296 "proxyto" : "node",
20297 "returns" : {
20298 "items" : {
20299 "properties" : {
20300 "subdir" : {
20301 "type" : "string"
20302 }
20303 },
20304 "type" : "object"
20305 },
20306 "links" : [
20307 {
20308 "href" : "{subdir}",
20309 "rel" : "child"
20310 }
20311 ],
20312 "type" : "array"
20313 }
20314 }
20315 },
20316 "leaf" : 0,
20317 "path" : "/nodes/{node}/lxc/{vmid}/status",
20318 "text" : "status"
20319 },
20320 {
20321 "children" : [
56122987 20322 {
4d47f125
TL
20323 "children" : [
20324 {
20325 "info" : {
20326 "POST" : {
20327 "description" : "Rollback LXC state to specified snapshot.",
20328 "method" : "POST",
20329 "name" : "rollback",
20330 "parameters" : {
20331 "additionalProperties" : 0,
20332 "properties" : {
20333 "node" : {
20334 "description" : "The cluster node name.",
20335 "format" : "pve-node",
20336 "type" : "string",
20337 "typetext" : "<string>"
20338 },
20339 "snapname" : {
20340 "description" : "The name of the snapshot.",
20341 "format" : "pve-configid",
20342 "maxLength" : 40,
20343 "type" : "string",
20344 "typetext" : "<string>"
20345 },
20346 "vmid" : {
20347 "description" : "The (unique) ID of the VM.",
20348 "format" : "pve-vmid",
20349 "minimum" : 1,
20350 "type" : "integer",
20351 "typetext" : "<integer> (1 - N)"
20352 }
20353 }
20354 },
20355 "permissions" : {
20356 "check" : [
20357 "perm",
20358 "/vms/{vmid}",
20359 [
20360 "VM.Snapshot",
20361 "VM.Snapshot.Rollback"
20362 ],
20363 "any",
20364 1
20365 ]
20366 },
20367 "protected" : 1,
20368 "proxyto" : "node",
20369 "returns" : {
20370 "description" : "the task ID.",
20371 "type" : "string"
20372 }
20373 }
20374 },
20375 "leaf" : 1,
20376 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
20377 "text" : "rollback"
20378 },
20379 {
20380 "info" : {
20381 "GET" : {
20382 "description" : "Get snapshot configuration",
20383 "method" : "GET",
20384 "name" : "get_snapshot_config",
20385 "parameters" : {
20386 "additionalProperties" : 0,
20387 "properties" : {
20388 "node" : {
20389 "description" : "The cluster node name.",
20390 "format" : "pve-node",
20391 "type" : "string",
20392 "typetext" : "<string>"
20393 },
20394 "snapname" : {
20395 "description" : "The name of the snapshot.",
20396 "format" : "pve-configid",
20397 "maxLength" : 40,
20398 "type" : "string",
20399 "typetext" : "<string>"
20400 },
20401 "vmid" : {
20402 "description" : "The (unique) ID of the VM.",
20403 "format" : "pve-vmid",
20404 "minimum" : 1,
20405 "type" : "integer",
20406 "typetext" : "<integer> (1 - N)"
20407 }
20408 }
20409 },
20410 "permissions" : {
20411 "check" : [
20412 "perm",
20413 "/vms/{vmid}",
20414 [
20415 "VM.Snapshot",
20416 "VM.Snapshot.Rollback"
20417 ],
20418 "any",
20419 1
20420 ]
20421 },
20422 "proxyto" : "node",
20423 "returns" : {
20424 "type" : "object"
20425 }
20426 },
20427 "PUT" : {
20428 "description" : "Update snapshot metadata.",
20429 "method" : "PUT",
20430 "name" : "update_snapshot_config",
20431 "parameters" : {
20432 "additionalProperties" : 0,
20433 "properties" : {
20434 "description" : {
20435 "description" : "A textual description or comment.",
20436 "optional" : 1,
20437 "type" : "string",
20438 "typetext" : "<string>"
20439 },
20440 "node" : {
20441 "description" : "The cluster node name.",
20442 "format" : "pve-node",
20443 "type" : "string",
20444 "typetext" : "<string>"
20445 },
20446 "snapname" : {
20447 "description" : "The name of the snapshot.",
20448 "format" : "pve-configid",
20449 "maxLength" : 40,
20450 "type" : "string",
20451 "typetext" : "<string>"
20452 },
20453 "vmid" : {
20454 "description" : "The (unique) ID of the VM.",
20455 "format" : "pve-vmid",
20456 "minimum" : 1,
20457 "type" : "integer",
20458 "typetext" : "<integer> (1 - N)"
20459 }
20460 }
20461 },
20462 "permissions" : {
20463 "check" : [
20464 "perm",
20465 "/vms/{vmid}",
20466 [
20467 "VM.Snapshot"
20468 ]
20469 ]
20470 },
20471 "protected" : 1,
20472 "proxyto" : "node",
20473 "returns" : {
20474 "type" : "null"
20475 }
20476 }
20477 },
20478 "leaf" : 1,
20479 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
20480 "text" : "config"
20481 }
20482 ],
56122987 20483 "info" : {
4d47f125
TL
20484 "DELETE" : {
20485 "description" : "Delete a LXC snapshot.",
20486 "method" : "DELETE",
20487 "name" : "delsnapshot",
56122987 20488 "parameters" : {
44660702 20489 "additionalProperties" : 0,
56122987 20490 "properties" : {
4d47f125
TL
20491 "force" : {
20492 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 20493 "optional" : 1,
013dc89f
DM
20494 "type" : "boolean",
20495 "typetext" : "<boolean>"
44660702
DM
20496 },
20497 "node" : {
20498 "description" : "The cluster node name.",
20499 "format" : "pve-node",
013dc89f
DM
20500 "type" : "string",
20501 "typetext" : "<string>"
7aacca6f 20502 },
4d47f125
TL
20503 "snapname" : {
20504 "description" : "The name of the snapshot.",
20505 "format" : "pve-configid",
20506 "maxLength" : 40,
20507 "type" : "string",
20508 "typetext" : "<string>"
56122987
DM
20509 },
20510 "vmid" : {
7aacca6f 20511 "description" : "The (unique) ID of the VM.",
44660702
DM
20512 "format" : "pve-vmid",
20513 "minimum" : 1,
4bd7df8b 20514 "type" : "integer",
013dc89f 20515 "typetext" : "<integer> (1 - N)"
56122987 20516 }
44660702 20517 }
56122987
DM
20518 },
20519 "permissions" : {
20520 "check" : [
20521 "perm",
20522 "/vms/{vmid}",
20523 [
4d47f125 20524 "VM.Snapshot"
56122987
DM
20525 ]
20526 ]
20527 },
44660702
DM
20528 "protected" : 1,
20529 "proxyto" : "node",
7aacca6f 20530 "returns" : {
4d47f125 20531 "description" : "the task ID.",
7aacca6f
DM
20532 "type" : "string"
20533 }
4d47f125
TL
20534 },
20535 "GET" : {
20536 "description" : "",
20537 "method" : "GET",
20538 "name" : "snapshot_cmd_idx",
56122987
DM
20539 "parameters" : {
20540 "additionalProperties" : 0,
20541 "properties" : {
44660702
DM
20542 "node" : {
20543 "description" : "The cluster node name.",
20544 "format" : "pve-node",
013dc89f
DM
20545 "type" : "string",
20546 "typetext" : "<string>"
44660702 20547 },
4d47f125
TL
20548 "snapname" : {
20549 "description" : "The name of the snapshot.",
20550 "format" : "pve-configid",
20551 "maxLength" : 40,
013dc89f
DM
20552 "type" : "string",
20553 "typetext" : "<string>"
56122987
DM
20554 },
20555 "vmid" : {
7aacca6f 20556 "description" : "The (unique) ID of the VM.",
56122987 20557 "format" : "pve-vmid",
44660702 20558 "minimum" : 1,
4bd7df8b 20559 "type" : "integer",
013dc89f 20560 "typetext" : "<integer> (1 - N)"
56122987 20561 }
44660702
DM
20562 }
20563 },
20564 "permissions" : {
4d47f125 20565 "user" : "all"
56122987 20566 },
44660702 20567 "returns" : {
4d47f125
TL
20568 "items" : {
20569 "properties" : {},
20570 "type" : "object"
20571 },
20572 "links" : [
20573 {
20574 "href" : "{cmd}",
20575 "rel" : "child"
20576 }
20577 ],
20578 "type" : "array"
44660702 20579 }
7aacca6f
DM
20580 }
20581 },
4d47f125
TL
20582 "leaf" : 0,
20583 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
20584 "text" : "{snapname}"
7aacca6f
DM
20585 }
20586 ],
20587 "info" : {
20588 "GET" : {
4d47f125 20589 "description" : "List all snapshots.",
44660702 20590 "method" : "GET",
4d47f125 20591 "name" : "list",
7aacca6f
DM
20592 "parameters" : {
20593 "additionalProperties" : 0,
20594 "properties" : {
20595 "node" : {
20596 "description" : "The cluster node name.",
44660702 20597 "format" : "pve-node",
013dc89f
DM
20598 "type" : "string",
20599 "typetext" : "<string>"
56122987 20600 },
7aacca6f 20601 "vmid" : {
44660702 20602 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20603 "format" : "pve-vmid",
20604 "minimum" : 1,
4bd7df8b 20605 "type" : "integer",
013dc89f 20606 "typetext" : "<integer> (1 - N)"
7aacca6f 20607 }
56122987
DM
20608 }
20609 },
44660702 20610 "permissions" : {
4d47f125
TL
20611 "check" : [
20612 "perm",
20613 "/vms/{vmid}",
20614 [
20615 "VM.Audit"
20616 ]
20617 ]
44660702 20618 },
4d47f125 20619 "protected" : 1,
44660702 20620 "proxyto" : "node",
7aacca6f 20621 "returns" : {
7aacca6f
DM
20622 "items" : {
20623 "properties" : {
4d47f125
TL
20624 "description" : {
20625 "description" : "Snapshot description.",
7aacca6f 20626 "type" : "string"
4d47f125
TL
20627 },
20628 "name" : {
20629 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
20630 "type" : "string"
20631 },
20632 "parent" : {
20633 "description" : "Parent snapshot identifier.",
20634 "optional" : 1,
20635 "type" : "string"
20636 },
20637 "snaptime" : {
20638 "description" : "Snapshot creation time",
20639 "optional" : 1,
20640 "renderer" : "timestamp",
20641 "type" : "integer"
7aacca6f
DM
20642 }
20643 },
20644 "type" : "object"
20645 },
20646 "links" : [
20647 {
4d47f125 20648 "href" : "{name}",
44660702 20649 "rel" : "child"
7aacca6f 20650 }
44660702
DM
20651 ],
20652 "type" : "array"
7aacca6f 20653 }
4d47f125
TL
20654 },
20655 "POST" : {
20656 "description" : "Snapshot a container.",
20657 "method" : "POST",
20658 "name" : "snapshot",
20659 "parameters" : {
20660 "additionalProperties" : 0,
20661 "properties" : {
20662 "description" : {
20663 "description" : "A textual description or comment.",
20664 "optional" : 1,
20665 "type" : "string",
20666 "typetext" : "<string>"
20667 },
20668 "node" : {
20669 "description" : "The cluster node name.",
20670 "format" : "pve-node",
20671 "type" : "string",
20672 "typetext" : "<string>"
20673 },
20674 "snapname" : {
20675 "description" : "The name of the snapshot.",
20676 "format" : "pve-configid",
20677 "maxLength" : 40,
20678 "type" : "string",
20679 "typetext" : "<string>"
20680 },
20681 "vmid" : {
20682 "description" : "The (unique) ID of the VM.",
20683 "format" : "pve-vmid",
20684 "minimum" : 1,
20685 "type" : "integer",
20686 "typetext" : "<integer> (1 - N)"
20687 }
20688 }
20689 },
20690 "permissions" : {
20691 "check" : [
20692 "perm",
20693 "/vms/{vmid}",
20694 [
20695 "VM.Snapshot"
20696 ]
20697 ]
20698 },
20699 "protected" : 1,
20700 "proxyto" : "node",
20701 "returns" : {
20702 "description" : "the task ID.",
20703 "type" : "string"
20704 }
7aacca6f 20705 }
44660702
DM
20706 },
20707 "leaf" : 0,
4d47f125
TL
20708 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
20709 "text" : "snapshot"
7aacca6f
DM
20710 },
20711 {
7aacca6f 20712 "children" : [
56122987 20713 {
7aacca6f
DM
20714 "children" : [
20715 {
20716 "info" : {
4d47f125
TL
20717 "DELETE" : {
20718 "description" : "Delete rule.",
20719 "method" : "DELETE",
20720 "name" : "delete_rule",
7aacca6f 20721 "parameters" : {
44660702 20722 "additionalProperties" : 0,
7aacca6f 20723 "properties" : {
4d47f125
TL
20724 "digest" : {
20725 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20726 "maxLength" : 40,
20727 "optional" : 1,
20728 "type" : "string",
20729 "typetext" : "<string>"
20730 },
44660702
DM
20731 "node" : {
20732 "description" : "The cluster node name.",
20733 "format" : "pve-node",
013dc89f
DM
20734 "type" : "string",
20735 "typetext" : "<string>"
44660702 20736 },
4d47f125
TL
20737 "pos" : {
20738 "description" : "Update rule at position <pos>.",
20739 "minimum" : 0,
20740 "optional" : 1,
20741 "type" : "integer",
20742 "typetext" : "<integer> (0 - N)"
7aacca6f 20743 },
7aacca6f 20744 "vmid" : {
44660702 20745 "description" : "The (unique) ID of the VM.",
7aacca6f 20746 "format" : "pve-vmid",
44660702 20747 "minimum" : 1,
4bd7df8b 20748 "type" : "integer",
013dc89f 20749 "typetext" : "<integer> (1 - N)"
7aacca6f 20750 }
44660702
DM
20751 }
20752 },
20753 "permissions" : {
20754 "check" : [
20755 "perm",
20756 "/vms/{vmid}",
20757 [
4d47f125
TL
20758 "VM.Config.Network"
20759 ]
44660702 20760 ]
7aacca6f 20761 },
44660702 20762 "protected" : 1,
4d47f125 20763 "proxyto" : null,
44660702 20764 "returns" : {
4d47f125 20765 "type" : "null"
44660702 20766 }
4d47f125 20767 },
7aacca6f 20768 "GET" : {
4d47f125 20769 "description" : "Get single rule data.",
44660702 20770 "method" : "GET",
4d47f125 20771 "name" : "get_rule",
7aacca6f
DM
20772 "parameters" : {
20773 "additionalProperties" : 0,
4d47f125
TL
20774 "properties" : {
20775 "node" : {
20776 "description" : "The cluster node name.",
20777 "format" : "pve-node",
013dc89f
DM
20778 "type" : "string",
20779 "typetext" : "<string>"
44660702 20780 },
4d47f125
TL
20781 "pos" : {
20782 "description" : "Update rule at position <pos>.",
20783 "minimum" : 0,
20784 "optional" : 1,
20785 "type" : "integer",
20786 "typetext" : "<integer> (0 - N)"
20787 },
44660702
DM
20788 "vmid" : {
20789 "description" : "The (unique) ID of the VM.",
20790 "format" : "pve-vmid",
20791 "minimum" : 1,
4bd7df8b 20792 "type" : "integer",
013dc89f 20793 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
20794 }
20795 }
20796 },
20797 "permissions" : {
20798 "check" : [
20799 "perm",
20800 "/vms/{vmid}",
20801 [
4d47f125
TL
20802 "VM.Audit"
20803 ]
7aacca6f
DM
20804 ]
20805 },
4d47f125 20806 "proxyto" : null,
44660702 20807 "returns" : {
4d47f125 20808 "properties" : {
e2d681b3
TL
20809 "action" : {
20810 "type" : "string"
20811 },
20812 "comment" : {
20813 "optional" : 1,
20814 "type" : "string"
20815 },
20816 "dest" : {
20817 "optional" : 1,
20818 "type" : "string"
20819 },
20820 "dport" : {
20821 "optional" : 1,
20822 "type" : "string"
20823 },
20824 "enable" : {
20825 "optional" : 1,
20826 "type" : "integer"
20827 },
20828 "iface" : {
20829 "optional" : 1,
20830 "type" : "string"
20831 },
20832 "ipversion" : {
20833 "optional" : 1,
20834 "type" : "integer"
20835 },
20836 "macro" : {
20837 "optional" : 1,
5f26e15b 20838 "type" : "string"
e2d681b3 20839 },
4d47f125
TL
20840 "pos" : {
20841 "type" : "integer"
e2d681b3
TL
20842 },
20843 "proto" : {
20844 "optional" : 1,
20845 "type" : "string"
20846 },
20847 "source" : {
20848 "optional" : 1,
20849 "type" : "string"
20850 },
20851 "sport" : {
20852 "optional" : 1,
20853 "type" : "string"
20854 },
20855 "type" : {
20856 "type" : "string"
4d47f125
TL
20857 }
20858 },
44660702
DM
20859 "type" : "object"
20860 }
7aacca6f
DM
20861 },
20862 "PUT" : {
4d47f125 20863 "description" : "Modify rule data.",
44660702 20864 "method" : "PUT",
4d47f125 20865 "name" : "update_rule",
7aacca6f
DM
20866 "parameters" : {
20867 "additionalProperties" : 0,
20868 "properties" : {
4d47f125
TL
20869 "action" : {
20870 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
20871 "maxLength" : 20,
20872 "minLength" : 2,
20873 "optional" : 1,
20874 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20875 "type" : "string"
20876 },
20877 "comment" : {
20878 "description" : "Descriptive comment.",
20879 "optional" : 1,
20880 "type" : "string",
20881 "typetext" : "<string>"
20882 },
20883 "delete" : {
20884 "description" : "A list of settings you want to delete.",
20885 "format" : "pve-configid-list",
20886 "optional" : 1,
20887 "type" : "string",
20888 "typetext" : "<string>"
20889 },
20890 "dest" : {
20891 "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.",
20892 "format" : "pve-fw-addr-spec",
20893 "optional" : 1,
20894 "type" : "string",
20895 "typetext" : "<string>"
20896 },
20897 "digest" : {
20898 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20899 "maxLength" : 40,
20900 "optional" : 1,
20901 "type" : "string",
20902 "typetext" : "<string>"
20903 },
20904 "dport" : {
20905 "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.",
20906 "format" : "pve-fw-dport-spec",
20907 "optional" : 1,
20908 "type" : "string",
20909 "typetext" : "<string>"
20910 },
20911 "enable" : {
20912 "description" : "Flag to enable/disable a rule.",
20913 "minimum" : 0,
20914 "optional" : 1,
20915 "type" : "integer",
20916 "typetext" : "<integer> (0 - N)"
20917 },
20918 "iface" : {
20919 "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.",
20920 "format" : "pve-iface",
20921 "maxLength" : 20,
20922 "minLength" : 2,
20923 "optional" : 1,
20924 "type" : "string",
20925 "typetext" : "<string>"
20926 },
20927 "macro" : {
20928 "description" : "Use predefined standard macro.",
20929 "maxLength" : 128,
44660702 20930 "optional" : 1,
013dc89f
DM
20931 "type" : "string",
20932 "typetext" : "<string>"
44660702 20933 },
4d47f125
TL
20934 "moveto" : {
20935 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
20936 "minimum" : 0,
20937 "optional" : 1,
20938 "type" : "integer",
20939 "typetext" : "<integer> (0 - N)"
20940 },
7aacca6f 20941 "node" : {
7aacca6f 20942 "description" : "The cluster node name.",
44660702 20943 "format" : "pve-node",
013dc89f
DM
20944 "type" : "string",
20945 "typetext" : "<string>"
7aacca6f 20946 },
4d47f125
TL
20947 "pos" : {
20948 "description" : "Update rule at position <pos>.",
20949 "minimum" : 0,
20950 "optional" : 1,
20951 "type" : "integer",
20952 "typetext" : "<integer> (0 - N)"
20953 },
20954 "proto" : {
20955 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
20956 "format" : "pve-fw-protocol-spec",
20957 "optional" : 1,
20958 "type" : "string",
20959 "typetext" : "<string>"
20960 },
20961 "source" : {
20962 "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.",
20963 "format" : "pve-fw-addr-spec",
20964 "optional" : 1,
20965 "type" : "string",
20966 "typetext" : "<string>"
20967 },
20968 "sport" : {
20969 "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.",
20970 "format" : "pve-fw-sport-spec",
20971 "optional" : 1,
013dc89f
DM
20972 "type" : "string",
20973 "typetext" : "<string>"
7aacca6f 20974 },
4d47f125
TL
20975 "type" : {
20976 "description" : "Rule type.",
20977 "enum" : [
20978 "in",
20979 "out",
20980 "group"
20981 ],
20982 "optional" : 1,
20983 "type" : "string"
20984 },
7aacca6f 20985 "vmid" : {
44660702 20986 "description" : "The (unique) ID of the VM.",
7aacca6f 20987 "format" : "pve-vmid",
44660702 20988 "minimum" : 1,
4bd7df8b 20989 "type" : "integer",
013dc89f 20990 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
20991 }
20992 }
20993 },
7aacca6f
DM
20994 "permissions" : {
20995 "check" : [
20996 "perm",
20997 "/vms/{vmid}",
20998 [
4d47f125 20999 "VM.Config.Network"
7aacca6f
DM
21000 ]
21001 ]
21002 },
4d47f125
TL
21003 "protected" : 1,
21004 "proxyto" : null,
21005 "returns" : {
21006 "type" : "null"
21007 }
21008 }
21009 },
21010 "leaf" : 1,
21011 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
21012 "text" : "{pos}"
21013 }
21014 ],
21015 "info" : {
21016 "GET" : {
21017 "description" : "List rules.",
21018 "method" : "GET",
21019 "name" : "get_rules",
21020 "parameters" : {
21021 "additionalProperties" : 0,
21022 "properties" : {
21023 "node" : {
21024 "description" : "The cluster node name.",
21025 "format" : "pve-node",
21026 "type" : "string",
21027 "typetext" : "<string>"
21028 },
21029 "vmid" : {
21030 "description" : "The (unique) ID of the VM.",
21031 "format" : "pve-vmid",
21032 "minimum" : 1,
21033 "type" : "integer",
21034 "typetext" : "<integer> (1 - N)"
21035 }
21036 }
21037 },
21038 "permissions" : {
21039 "check" : [
21040 "perm",
21041 "/vms/{vmid}",
21042 [
21043 "VM.Audit"
21044 ]
21045 ]
21046 },
21047 "proxyto" : null,
21048 "returns" : {
21049 "items" : {
21050 "properties" : {
21051 "pos" : {
21052 "type" : "integer"
21053 }
21054 },
21055 "type" : "object"
21056 },
21057 "links" : [
21058 {
21059 "href" : "{pos}",
21060 "rel" : "child"
21061 }
21062 ],
21063 "type" : "array"
21064 }
21065 },
21066 "POST" : {
21067 "description" : "Create new rule.",
21068 "method" : "POST",
21069 "name" : "create_rule",
21070 "parameters" : {
21071 "additionalProperties" : 0,
21072 "properties" : {
21073 "action" : {
21074 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21075 "maxLength" : 20,
21076 "minLength" : 2,
21077 "optional" : 0,
21078 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21079 "type" : "string"
21080 },
21081 "comment" : {
21082 "description" : "Descriptive comment.",
21083 "optional" : 1,
21084 "type" : "string",
21085 "typetext" : "<string>"
21086 },
21087 "dest" : {
21088 "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.",
21089 "format" : "pve-fw-addr-spec",
21090 "optional" : 1,
21091 "type" : "string",
21092 "typetext" : "<string>"
21093 },
21094 "digest" : {
21095 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21096 "maxLength" : 40,
21097 "optional" : 1,
21098 "type" : "string",
21099 "typetext" : "<string>"
21100 },
21101 "dport" : {
21102 "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.",
21103 "format" : "pve-fw-dport-spec",
21104 "optional" : 1,
21105 "type" : "string",
21106 "typetext" : "<string>"
21107 },
21108 "enable" : {
21109 "description" : "Flag to enable/disable a rule.",
21110 "minimum" : 0,
21111 "optional" : 1,
21112 "type" : "integer",
21113 "typetext" : "<integer> (0 - N)"
21114 },
21115 "iface" : {
21116 "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.",
21117 "format" : "pve-iface",
21118 "maxLength" : 20,
21119 "minLength" : 2,
21120 "optional" : 1,
21121 "type" : "string",
21122 "typetext" : "<string>"
21123 },
21124 "macro" : {
21125 "description" : "Use predefined standard macro.",
21126 "maxLength" : 128,
44660702 21127 "optional" : 1,
4d47f125
TL
21128 "type" : "string",
21129 "typetext" : "<string>"
44660702
DM
21130 },
21131 "node" : {
21132 "description" : "The cluster node name.",
21133 "format" : "pve-node",
013dc89f
DM
21134 "type" : "string",
21135 "typetext" : "<string>"
7aacca6f 21136 },
4d47f125
TL
21137 "pos" : {
21138 "description" : "Update rule at position <pos>.",
21139 "minimum" : 0,
21140 "optional" : 1,
21141 "type" : "integer",
21142 "typetext" : "<integer> (0 - N)"
21143 },
21144 "proto" : {
21145 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21146 "format" : "pve-fw-protocol-spec",
21147 "optional" : 1,
21148 "type" : "string",
21149 "typetext" : "<string>"
21150 },
21151 "source" : {
21152 "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.",
21153 "format" : "pve-fw-addr-spec",
21154 "optional" : 1,
013dc89f
DM
21155 "type" : "string",
21156 "typetext" : "<string>"
44660702 21157 },
4d47f125
TL
21158 "sport" : {
21159 "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.",
21160 "format" : "pve-fw-sport-spec",
21161 "optional" : 1,
21162 "type" : "string",
21163 "typetext" : "<string>"
21164 },
21165 "type" : {
21166 "description" : "Rule type.",
21167 "enum" : [
21168 "in",
21169 "out",
21170 "group"
21171 ],
21172 "optional" : 0,
21173 "type" : "string"
21174 },
44660702
DM
21175 "vmid" : {
21176 "description" : "The (unique) ID of the VM.",
21177 "format" : "pve-vmid",
21178 "minimum" : 1,
4bd7df8b 21179 "type" : "integer",
013dc89f 21180 "typetext" : "<integer> (1 - N)"
56122987 21181 }
44660702 21182 }
7aacca6f 21183 },
56122987
DM
21184 "permissions" : {
21185 "check" : [
21186 "perm",
21187 "/vms/{vmid}",
21188 [
4d47f125 21189 "VM.Config.Network"
56122987
DM
21190 ]
21191 ]
21192 },
44660702 21193 "protected" : 1,
4d47f125 21194 "proxyto" : null,
44660702 21195 "returns" : {
4d47f125 21196 "type" : "null"
44660702
DM
21197 }
21198 }
21199 },
21200 "leaf" : 0,
4d47f125
TL
21201 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
21202 "text" : "rules"
7aacca6f 21203 },
56122987 21204 {
56122987
DM
21205 "children" : [
21206 {
56122987 21207 "info" : {
44660702 21208 "DELETE" : {
4d47f125 21209 "description" : "Remove IP or Network alias.",
44660702 21210 "method" : "DELETE",
4d47f125 21211 "name" : "remove_alias",
56122987 21212 "parameters" : {
44660702 21213 "additionalProperties" : 0,
56122987 21214 "properties" : {
44660702
DM
21215 "digest" : {
21216 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21217 "maxLength" : 40,
7aacca6f 21218 "optional" : 1,
013dc89f
DM
21219 "type" : "string",
21220 "typetext" : "<string>"
7aacca6f 21221 },
4d47f125
TL
21222 "name" : {
21223 "description" : "Alias name.",
21224 "maxLength" : 64,
21225 "minLength" : 2,
21226 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21227 "type" : "string"
21228 },
7aacca6f 21229 "node" : {
44660702 21230 "description" : "The cluster node name.",
7aacca6f 21231 "format" : "pve-node",
013dc89f
DM
21232 "type" : "string",
21233 "typetext" : "<string>"
44660702 21234 },
44660702
DM
21235 "vmid" : {
21236 "description" : "The (unique) ID of the VM.",
21237 "format" : "pve-vmid",
21238 "minimum" : 1,
4bd7df8b 21239 "type" : "integer",
013dc89f 21240 "typetext" : "<integer> (1 - N)"
56122987 21241 }
44660702 21242 }
56122987 21243 },
56122987
DM
21244 "permissions" : {
21245 "check" : [
21246 "perm",
21247 "/vms/{vmid}",
21248 [
44660702 21249 "VM.Config.Network"
56122987
DM
21250 ]
21251 ]
21252 },
44660702 21253 "protected" : 1,
44660702
DM
21254 "returns" : {
21255 "type" : "null"
21256 }
7aacca6f 21257 },
44660702 21258 "GET" : {
4d47f125 21259 "description" : "Read alias.",
44660702 21260 "method" : "GET",
4d47f125 21261 "name" : "read_alias",
56122987 21262 "parameters" : {
44660702 21263 "additionalProperties" : 0,
56122987 21264 "properties" : {
4d47f125
TL
21265 "name" : {
21266 "description" : "Alias name.",
21267 "maxLength" : 64,
21268 "minLength" : 2,
21269 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21270 "type" : "string"
21271 },
7aacca6f 21272 "node" : {
7aacca6f 21273 "description" : "The cluster node name.",
44660702 21274 "format" : "pve-node",
013dc89f
DM
21275 "type" : "string",
21276 "typetext" : "<string>"
56122987 21277 },
7aacca6f 21278 "vmid" : {
44660702 21279 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21280 "format" : "pve-vmid",
21281 "minimum" : 1,
4bd7df8b 21282 "type" : "integer",
013dc89f 21283 "typetext" : "<integer> (1 - N)"
56122987 21284 }
44660702 21285 }
56122987 21286 },
7aacca6f
DM
21287 "permissions" : {
21288 "check" : [
21289 "perm",
21290 "/vms/{vmid}",
21291 [
44660702 21292 "VM.Audit"
7aacca6f
DM
21293 ]
21294 ]
21295 },
7aacca6f 21296 "returns" : {
44660702 21297 "type" : "object"
7aacca6f 21298 }
56122987 21299 },
44660702 21300 "PUT" : {
4d47f125 21301 "description" : "Update IP or Network alias.",
44660702 21302 "method" : "PUT",
4d47f125 21303 "name" : "update_alias",
56122987
DM
21304 "parameters" : {
21305 "additionalProperties" : 0,
21306 "properties" : {
4d47f125
TL
21307 "cidr" : {
21308 "description" : "Network/IP specification in CIDR format.",
21309 "format" : "IPorCIDR",
013dc89f
DM
21310 "type" : "string",
21311 "typetext" : "<string>"
44660702 21312 },
4d47f125 21313 "comment" : {
44660702 21314 "optional" : 1,
013dc89f
DM
21315 "type" : "string",
21316 "typetext" : "<string>"
44660702
DM
21317 },
21318 "digest" : {
21319 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21320 "maxLength" : 40,
21321 "optional" : 1,
013dc89f
DM
21322 "type" : "string",
21323 "typetext" : "<string>"
44660702 21324 },
4d47f125
TL
21325 "name" : {
21326 "description" : "Alias name.",
21327 "maxLength" : 64,
44660702 21328 "minLength" : 2,
4d47f125
TL
21329 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21330 "type" : "string"
44660702 21331 },
7aacca6f
DM
21332 "node" : {
21333 "description" : "The cluster node name.",
44660702 21334 "format" : "pve-node",
013dc89f
DM
21335 "type" : "string",
21336 "typetext" : "<string>"
56122987 21337 },
4d47f125
TL
21338 "rename" : {
21339 "description" : "Rename an existing alias.",
21340 "maxLength" : 64,
21341 "minLength" : 2,
7aacca6f 21342 "optional" : 1,
4d47f125 21343 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
21344 "type" : "string"
21345 },
21346 "vmid" : {
21347 "description" : "The (unique) ID of the VM.",
21348 "format" : "pve-vmid",
21349 "minimum" : 1,
4bd7df8b 21350 "type" : "integer",
013dc89f 21351 "typetext" : "<integer> (1 - N)"
56122987
DM
21352 }
21353 }
21354 },
56122987
DM
21355 "permissions" : {
21356 "check" : [
21357 "perm",
21358 "/vms/{vmid}",
21359 [
7aacca6f 21360 "VM.Config.Network"
56122987
DM
21361 ]
21362 ]
21363 },
44660702 21364 "protected" : 1,
56122987 21365 "returns" : {
7aacca6f
DM
21366 "type" : "null"
21367 }
56122987 21368 }
44660702
DM
21369 },
21370 "leaf" : 1,
4d47f125
TL
21371 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
21372 "text" : "{name}"
56122987
DM
21373 }
21374 ],
21375 "info" : {
7aacca6f 21376 "GET" : {
4d47f125 21377 "description" : "List aliases",
44660702 21378 "method" : "GET",
4d47f125 21379 "name" : "get_aliases",
7aacca6f 21380 "parameters" : {
44660702 21381 "additionalProperties" : 0,
7aacca6f
DM
21382 "properties" : {
21383 "node" : {
7aacca6f 21384 "description" : "The cluster node name.",
44660702 21385 "format" : "pve-node",
013dc89f
DM
21386 "type" : "string",
21387 "typetext" : "<string>"
7aacca6f
DM
21388 },
21389 "vmid" : {
21390 "description" : "The (unique) ID of the VM.",
44660702 21391 "format" : "pve-vmid",
7aacca6f 21392 "minimum" : 1,
4bd7df8b 21393 "type" : "integer",
013dc89f 21394 "typetext" : "<integer> (1 - N)"
7aacca6f 21395 }
44660702 21396 }
56122987 21397 },
56122987
DM
21398 "permissions" : {
21399 "check" : [
21400 "perm",
21401 "/vms/{vmid}",
21402 [
7aacca6f 21403 "VM.Audit"
56122987
DM
21404 ]
21405 ]
21406 },
7aacca6f 21407 "returns" : {
7aacca6f
DM
21408 "items" : {
21409 "properties" : {
4d47f125
TL
21410 "cidr" : {
21411 "type" : "string"
21412 },
21413 "comment" : {
21414 "optional" : 1,
21415 "type" : "string"
21416 },
21417 "digest" : {
21418 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21419 "maxLength" : 40,
21420 "optional" : 0,
21421 "type" : "string"
21422 },
21423 "name" : {
21424 "type" : "string"
7aacca6f
DM
21425 }
21426 },
21427 "type" : "object"
21428 },
21429 "links" : [
21430 {
4d47f125 21431 "href" : "{name}",
44660702 21432 "rel" : "child"
7aacca6f 21433 }
44660702
DM
21434 ],
21435 "type" : "array"
21436 }
7aacca6f
DM
21437 },
21438 "POST" : {
4d47f125 21439 "description" : "Create IP or Network Alias.",
44660702 21440 "method" : "POST",
4d47f125 21441 "name" : "create_alias",
56122987 21442 "parameters" : {
44660702 21443 "additionalProperties" : 0,
56122987 21444 "properties" : {
4d47f125
TL
21445 "cidr" : {
21446 "description" : "Network/IP specification in CIDR format.",
21447 "format" : "IPorCIDR",
013dc89f 21448 "type" : "string",
4d47f125
TL
21449 "typetext" : "<string>"
21450 },
21451 "comment" : {
44660702 21452 "optional" : 1,
013dc89f
DM
21453 "type" : "string",
21454 "typetext" : "<string>"
7aacca6f 21455 },
4d47f125
TL
21456 "name" : {
21457 "description" : "Alias name.",
21458 "maxLength" : 64,
21459 "minLength" : 2,
21460 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
21461 "type" : "string"
21462 },
4d47f125
TL
21463 "node" : {
21464 "description" : "The cluster node name.",
21465 "format" : "pve-node",
21466 "type" : "string",
21467 "typetext" : "<string>"
21468 },
44660702
DM
21469 "vmid" : {
21470 "description" : "The (unique) ID of the VM.",
21471 "format" : "pve-vmid",
21472 "minimum" : 1,
4bd7df8b 21473 "type" : "integer",
013dc89f 21474 "typetext" : "<integer> (1 - N)"
44660702
DM
21475 }
21476 }
21477 },
21478 "permissions" : {
21479 "check" : [
21480 "perm",
21481 "/vms/{vmid}",
21482 [
21483 "VM.Config.Network"
21484 ]
21485 ]
21486 },
21487 "protected" : 1,
44660702
DM
21488 "returns" : {
21489 "type" : "null"
21490 }
21491 }
21492 },
21493 "leaf" : 0,
4d47f125
TL
21494 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
21495 "text" : "aliases"
44660702
DM
21496 },
21497 {
21498 "children" : [
21499 {
4d47f125
TL
21500 "children" : [
21501 {
21502 "info" : {
21503 "DELETE" : {
21504 "description" : "Remove IP or Network from IPSet.",
21505 "method" : "DELETE",
21506 "name" : "remove_ip",
21507 "parameters" : {
21508 "additionalProperties" : 0,
21509 "properties" : {
21510 "cidr" : {
21511 "description" : "Network/IP specification in CIDR format.",
21512 "format" : "IPorCIDRorAlias",
21513 "type" : "string",
21514 "typetext" : "<string>"
21515 },
21516 "digest" : {
21517 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21518 "maxLength" : 40,
21519 "optional" : 1,
21520 "type" : "string",
21521 "typetext" : "<string>"
21522 },
21523 "name" : {
21524 "description" : "IP set name.",
21525 "maxLength" : 64,
21526 "minLength" : 2,
21527 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21528 "type" : "string"
21529 },
21530 "node" : {
21531 "description" : "The cluster node name.",
21532 "format" : "pve-node",
21533 "type" : "string",
21534 "typetext" : "<string>"
21535 },
21536 "vmid" : {
21537 "description" : "The (unique) ID of the VM.",
21538 "format" : "pve-vmid",
21539 "minimum" : 1,
21540 "type" : "integer",
21541 "typetext" : "<integer> (1 - N)"
21542 }
21543 }
21544 },
21545 "permissions" : {
21546 "check" : [
21547 "perm",
21548 "/vms/{vmid}",
21549 [
21550 "VM.Config.Network"
21551 ]
21552 ]
21553 },
21554 "protected" : 1,
21555 "returns" : {
21556 "type" : "null"
21557 }
21558 },
21559 "GET" : {
21560 "description" : "Read IP or Network settings from IPSet.",
21561 "method" : "GET",
21562 "name" : "read_ip",
21563 "parameters" : {
21564 "additionalProperties" : 0,
21565 "properties" : {
21566 "cidr" : {
21567 "description" : "Network/IP specification in CIDR format.",
21568 "format" : "IPorCIDRorAlias",
21569 "type" : "string",
21570 "typetext" : "<string>"
21571 },
21572 "name" : {
21573 "description" : "IP set name.",
21574 "maxLength" : 64,
21575 "minLength" : 2,
21576 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21577 "type" : "string"
21578 },
21579 "node" : {
21580 "description" : "The cluster node name.",
21581 "format" : "pve-node",
21582 "type" : "string",
21583 "typetext" : "<string>"
21584 },
21585 "vmid" : {
21586 "description" : "The (unique) ID of the VM.",
21587 "format" : "pve-vmid",
21588 "minimum" : 1,
21589 "type" : "integer",
21590 "typetext" : "<integer> (1 - N)"
21591 }
21592 }
21593 },
21594 "permissions" : {
21595 "check" : [
21596 "perm",
21597 "/vms/{vmid}",
21598 [
21599 "VM.Audit"
21600 ]
21601 ]
21602 },
21603 "protected" : 1,
21604 "returns" : {
21605 "type" : "object"
21606 }
21607 },
21608 "PUT" : {
21609 "description" : "Update IP or Network settings",
21610 "method" : "PUT",
21611 "name" : "update_ip",
21612 "parameters" : {
21613 "additionalProperties" : 0,
21614 "properties" : {
21615 "cidr" : {
21616 "description" : "Network/IP specification in CIDR format.",
21617 "format" : "IPorCIDRorAlias",
21618 "type" : "string",
21619 "typetext" : "<string>"
21620 },
21621 "comment" : {
21622 "optional" : 1,
21623 "type" : "string",
21624 "typetext" : "<string>"
21625 },
21626 "digest" : {
21627 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21628 "maxLength" : 40,
21629 "optional" : 1,
21630 "type" : "string",
21631 "typetext" : "<string>"
21632 },
21633 "name" : {
21634 "description" : "IP set name.",
21635 "maxLength" : 64,
21636 "minLength" : 2,
21637 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21638 "type" : "string"
21639 },
21640 "node" : {
21641 "description" : "The cluster node name.",
21642 "format" : "pve-node",
21643 "type" : "string",
21644 "typetext" : "<string>"
21645 },
21646 "nomatch" : {
21647 "optional" : 1,
21648 "type" : "boolean",
21649 "typetext" : "<boolean>"
21650 },
21651 "vmid" : {
21652 "description" : "The (unique) ID of the VM.",
21653 "format" : "pve-vmid",
21654 "minimum" : 1,
21655 "type" : "integer",
21656 "typetext" : "<integer> (1 - N)"
21657 }
21658 }
21659 },
21660 "permissions" : {
21661 "check" : [
21662 "perm",
21663 "/vms/{vmid}",
21664 [
21665 "VM.Config.Network"
21666 ]
21667 ]
21668 },
21669 "protected" : 1,
21670 "returns" : {
21671 "type" : "null"
21672 }
21673 }
21674 },
21675 "leaf" : 1,
21676 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
21677 "text" : "{cidr}"
21678 }
21679 ],
44660702
DM
21680 "info" : {
21681 "DELETE" : {
4d47f125 21682 "description" : "Delete IPSet",
44660702 21683 "method" : "DELETE",
4d47f125 21684 "name" : "delete_ipset",
56122987 21685 "parameters" : {
44660702 21686 "additionalProperties" : 0,
56122987 21687 "properties" : {
7aacca6f 21688 "name" : {
4d47f125 21689 "description" : "IP set name.",
7aacca6f 21690 "maxLength" : 64,
7aacca6f
DM
21691 "minLength" : 2,
21692 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21693 "type" : "string"
7aacca6f
DM
21694 },
21695 "node" : {
44660702 21696 "description" : "The cluster node name.",
56122987 21697 "format" : "pve-node",
013dc89f
DM
21698 "type" : "string",
21699 "typetext" : "<string>"
7aacca6f 21700 },
56122987 21701 "vmid" : {
44660702 21702 "description" : "The (unique) ID of the VM.",
56122987 21703 "format" : "pve-vmid",
44660702 21704 "minimum" : 1,
4bd7df8b 21705 "type" : "integer",
013dc89f 21706 "typetext" : "<integer> (1 - N)"
56122987 21707 }
44660702 21708 }
56122987 21709 },
56122987
DM
21710 "permissions" : {
21711 "check" : [
21712 "perm",
21713 "/vms/{vmid}",
21714 [
7aacca6f 21715 "VM.Config.Network"
56122987
DM
21716 ]
21717 ]
21718 },
44660702 21719 "protected" : 1,
56122987 21720 "returns" : {
7aacca6f 21721 "type" : "null"
44660702 21722 }
56122987 21723 },
44660702 21724 "GET" : {
4d47f125 21725 "description" : "List IPSet content",
44660702 21726 "method" : "GET",
4d47f125 21727 "name" : "get_ipset",
44660702
DM
21728 "parameters" : {
21729 "additionalProperties" : 0,
21730 "properties" : {
21731 "name" : {
4d47f125 21732 "description" : "IP set name.",
44660702
DM
21733 "maxLength" : 64,
21734 "minLength" : 2,
21735 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21736 "type" : "string"
21737 },
21738 "node" : {
21739 "description" : "The cluster node name.",
21740 "format" : "pve-node",
013dc89f
DM
21741 "type" : "string",
21742 "typetext" : "<string>"
44660702
DM
21743 },
21744 "vmid" : {
21745 "description" : "The (unique) ID of the VM.",
21746 "format" : "pve-vmid",
21747 "minimum" : 1,
4bd7df8b 21748 "type" : "integer",
013dc89f 21749 "typetext" : "<integer> (1 - N)"
44660702 21750 }
4d47f125
TL
21751 }
21752 },
21753 "permissions" : {
21754 "check" : [
21755 "perm",
21756 "/vms/{vmid}",
21757 [
21758 "VM.Audit"
21759 ]
21760 ]
21761 },
21762 "returns" : {
21763 "items" : {
21764 "properties" : {
21765 "cidr" : {
21766 "type" : "string"
21767 },
21768 "comment" : {
21769 "optional" : 1,
21770 "type" : "string"
21771 },
21772 "digest" : {
21773 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21774 "maxLength" : 40,
21775 "optional" : 0,
21776 "type" : "string"
21777 },
21778 "nomatch" : {
21779 "optional" : 1,
21780 "type" : "boolean"
21781 }
21782 },
21783 "type" : "object"
21784 },
21785 "links" : [
21786 {
21787 "href" : "{cidr}",
21788 "rel" : "child"
21789 }
21790 ],
21791 "type" : "array"
44660702
DM
21792 }
21793 },
4d47f125
TL
21794 "POST" : {
21795 "description" : "Add IP or Network to IPSet.",
21796 "method" : "POST",
21797 "name" : "create_ip",
56122987
DM
21798 "parameters" : {
21799 "additionalProperties" : 0,
21800 "properties" : {
44660702
DM
21801 "cidr" : {
21802 "description" : "Network/IP specification in CIDR format.",
4d47f125 21803 "format" : "IPorCIDRorAlias",
013dc89f
DM
21804 "type" : "string",
21805 "typetext" : "<string>"
44660702
DM
21806 },
21807 "comment" : {
21808 "optional" : 1,
013dc89f
DM
21809 "type" : "string",
21810 "typetext" : "<string>"
44660702 21811 },
56122987 21812 "name" : {
4d47f125 21813 "description" : "IP set name.",
44660702
DM
21814 "maxLength" : 64,
21815 "minLength" : 2,
7aacca6f 21816 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21817 "type" : "string"
56122987
DM
21818 },
21819 "node" : {
21820 "description" : "The cluster node name.",
44660702 21821 "format" : "pve-node",
013dc89f
DM
21822 "type" : "string",
21823 "typetext" : "<string>"
44660702 21824 },
4d47f125 21825 "nomatch" : {
44660702 21826 "optional" : 1,
4d47f125
TL
21827 "type" : "boolean",
21828 "typetext" : "<boolean>"
56122987 21829 },
7aacca6f 21830 "vmid" : {
7aacca6f 21831 "description" : "The (unique) ID of the VM.",
44660702 21832 "format" : "pve-vmid",
7aacca6f 21833 "minimum" : 1,
4bd7df8b 21834 "type" : "integer",
013dc89f 21835 "typetext" : "<integer> (1 - N)"
56122987
DM
21836 }
21837 }
21838 },
44660702
DM
21839 "permissions" : {
21840 "check" : [
21841 "perm",
21842 "/vms/{vmid}",
21843 [
21844 "VM.Config.Network"
21845 ]
21846 ]
7aacca6f 21847 },
44660702
DM
21848 "protected" : 1,
21849 "returns" : {
21850 "type" : "null"
7aacca6f
DM
21851 }
21852 }
21853 },
4d47f125
TL
21854 "leaf" : 0,
21855 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
21856 "text" : "{name}"
21857 }
21858 ],
21859 "info" : {
21860 "GET" : {
4d47f125 21861 "description" : "List IPSets",
44660702 21862 "method" : "GET",
4d47f125 21863 "name" : "ipset_index",
56122987
DM
21864 "parameters" : {
21865 "additionalProperties" : 0,
21866 "properties" : {
21867 "node" : {
44660702 21868 "description" : "The cluster node name.",
56122987 21869 "format" : "pve-node",
013dc89f
DM
21870 "type" : "string",
21871 "typetext" : "<string>"
56122987
DM
21872 },
21873 "vmid" : {
7aacca6f 21874 "description" : "The (unique) ID of the VM.",
44660702 21875 "format" : "pve-vmid",
7aacca6f 21876 "minimum" : 1,
4bd7df8b 21877 "type" : "integer",
013dc89f 21878 "typetext" : "<integer> (1 - N)"
56122987
DM
21879 }
21880 }
21881 },
44660702
DM
21882 "permissions" : {
21883 "check" : [
21884 "perm",
21885 "/vms/{vmid}",
21886 [
21887 "VM.Audit"
21888 ]
21889 ]
21890 },
56122987
DM
21891 "returns" : {
21892 "items" : {
56122987 21893 "properties" : {
44660702
DM
21894 "comment" : {
21895 "optional" : 1,
56122987
DM
21896 "type" : "string"
21897 },
56122987 21898 "digest" : {
56122987 21899 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
21900 "maxLength" : 40,
21901 "optional" : 0,
21902 "type" : "string"
21903 },
21904 "name" : {
4d47f125
TL
21905 "description" : "IP set name.",
21906 "maxLength" : 64,
21907 "minLength" : 2,
21908 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21909 "type" : "string"
56122987 21910 }
44660702
DM
21911 },
21912 "type" : "object"
21913 },
21914 "links" : [
21915 {
21916 "href" : "{name}",
21917 "rel" : "child"
56122987 21918 }
4d47f125
TL
21919 ],
21920 "type" : "array"
21921 }
21922 },
21923 "POST" : {
21924 "description" : "Create new IPSet",
21925 "method" : "POST",
21926 "name" : "create_ipset",
21927 "parameters" : {
21928 "additionalProperties" : 0,
21929 "properties" : {
21930 "comment" : {
21931 "optional" : 1,
21932 "type" : "string",
21933 "typetext" : "<string>"
21934 },
21935 "digest" : {
21936 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21937 "maxLength" : 40,
21938 "optional" : 1,
21939 "type" : "string",
21940 "typetext" : "<string>"
21941 },
21942 "name" : {
21943 "description" : "IP set name.",
21944 "maxLength" : 64,
21945 "minLength" : 2,
21946 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21947 "type" : "string"
21948 },
21949 "node" : {
21950 "description" : "The cluster node name.",
21951 "format" : "pve-node",
21952 "type" : "string",
21953 "typetext" : "<string>"
21954 },
21955 "rename" : {
21956 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
21957 "maxLength" : 64,
21958 "minLength" : 2,
21959 "optional" : 1,
21960 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21961 "type" : "string"
21962 },
21963 "vmid" : {
21964 "description" : "The (unique) ID of the VM.",
21965 "format" : "pve-vmid",
21966 "minimum" : 1,
21967 "type" : "integer",
21968 "typetext" : "<integer> (1 - N)"
21969 }
21970 }
21971 },
21972 "permissions" : {
21973 "check" : [
21974 "perm",
21975 "/vms/{vmid}",
21976 [
21977 "VM.Config.Network"
21978 ]
21979 ]
21980 },
21981 "protected" : 1,
21982 "returns" : {
21983 "type" : "null"
21984 }
21985 }
21986 },
21987 "leaf" : 0,
21988 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
21989 "text" : "ipset"
21990 },
21991 {
21992 "info" : {
21993 "GET" : {
21994 "description" : "Get VM firewall options.",
21995 "method" : "GET",
21996 "name" : "get_options",
21997 "parameters" : {
21998 "additionalProperties" : 0,
21999 "properties" : {
22000 "node" : {
22001 "description" : "The cluster node name.",
22002 "format" : "pve-node",
22003 "type" : "string",
22004 "typetext" : "<string>"
22005 },
22006 "vmid" : {
22007 "description" : "The (unique) ID of the VM.",
22008 "format" : "pve-vmid",
22009 "minimum" : 1,
22010 "type" : "integer",
22011 "typetext" : "<integer> (1 - N)"
22012 }
22013 }
22014 },
22015 "permissions" : {
22016 "check" : [
22017 "perm",
22018 "/vms/{vmid}",
22019 [
22020 "VM.Audit"
22021 ]
22022 ]
22023 },
22024 "proxyto" : "node",
22025 "returns" : {
22026 "properties" : {
22027 "dhcp" : {
22028 "description" : "Enable DHCP.",
22029 "optional" : 1,
22030 "type" : "boolean"
22031 },
22032 "enable" : {
22033 "description" : "Enable/disable firewall rules.",
22034 "optional" : 1,
22035 "type" : "boolean"
22036 },
22037 "ipfilter" : {
22038 "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.",
22039 "optional" : 1,
22040 "type" : "boolean"
22041 },
22042 "log_level_in" : {
22043 "description" : "Log level for incoming traffic.",
22044 "enum" : [
22045 "emerg",
22046 "alert",
22047 "crit",
22048 "err",
22049 "warning",
22050 "notice",
22051 "info",
22052 "debug",
22053 "nolog"
22054 ],
22055 "optional" : 1,
22056 "type" : "string"
22057 },
22058 "log_level_out" : {
22059 "description" : "Log level for outgoing traffic.",
22060 "enum" : [
22061 "emerg",
22062 "alert",
22063 "crit",
22064 "err",
22065 "warning",
22066 "notice",
22067 "info",
22068 "debug",
22069 "nolog"
22070 ],
22071 "optional" : 1,
22072 "type" : "string"
22073 },
22074 "macfilter" : {
22075 "description" : "Enable/disable MAC address filter.",
22076 "optional" : 1,
22077 "type" : "boolean"
22078 },
22079 "ndp" : {
22080 "description" : "Enable NDP.",
22081 "optional" : 1,
22082 "type" : "boolean"
22083 },
22084 "policy_in" : {
22085 "description" : "Input policy.",
22086 "enum" : [
22087 "ACCEPT",
22088 "REJECT",
22089 "DROP"
22090 ],
22091 "optional" : 1,
22092 "type" : "string"
22093 },
22094 "policy_out" : {
22095 "description" : "Output policy.",
22096 "enum" : [
22097 "ACCEPT",
22098 "REJECT",
22099 "DROP"
22100 ],
22101 "optional" : 1,
22102 "type" : "string"
22103 },
22104 "radv" : {
22105 "description" : "Allow sending Router Advertisement.",
22106 "optional" : 1,
22107 "type" : "boolean"
22108 }
22109 },
22110 "type" : "object"
7aacca6f
DM
22111 }
22112 },
4d47f125
TL
22113 "PUT" : {
22114 "description" : "Set Firewall options.",
22115 "method" : "PUT",
22116 "name" : "set_options",
7aacca6f
DM
22117 "parameters" : {
22118 "additionalProperties" : 0,
22119 "properties" : {
4d47f125
TL
22120 "delete" : {
22121 "description" : "A list of settings you want to delete.",
22122 "format" : "pve-configid-list",
7aacca6f 22123 "optional" : 1,
013dc89f
DM
22124 "type" : "string",
22125 "typetext" : "<string>"
7aacca6f 22126 },
4d47f125
TL
22127 "dhcp" : {
22128 "description" : "Enable DHCP.",
22129 "optional" : 1,
22130 "type" : "boolean",
22131 "typetext" : "<boolean>"
7aacca6f 22132 },
4d47f125
TL
22133 "digest" : {
22134 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22135 "maxLength" : 40,
22136 "optional" : 1,
013dc89f
DM
22137 "type" : "string",
22138 "typetext" : "<string>"
7aacca6f 22139 },
4d47f125
TL
22140 "enable" : {
22141 "description" : "Enable/disable firewall rules.",
22142 "optional" : 1,
22143 "type" : "boolean",
22144 "typetext" : "<boolean>"
22145 },
22146 "ipfilter" : {
22147 "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.",
22148 "optional" : 1,
22149 "type" : "boolean",
22150 "typetext" : "<boolean>"
56122987 22151 },
4d47f125
TL
22152 "log_level_in" : {
22153 "description" : "Log level for incoming traffic.",
22154 "enum" : [
22155 "emerg",
22156 "alert",
22157 "crit",
22158 "err",
22159 "warning",
22160 "notice",
22161 "info",
22162 "debug",
22163 "nolog"
22164 ],
22165 "optional" : 1,
22166 "type" : "string"
44660702 22167 },
4d47f125
TL
22168 "log_level_out" : {
22169 "description" : "Log level for outgoing traffic.",
22170 "enum" : [
22171 "emerg",
22172 "alert",
22173 "crit",
22174 "err",
22175 "warning",
22176 "notice",
22177 "info",
22178 "debug",
22179 "nolog"
22180 ],
22181 "optional" : 1,
22182 "type" : "string"
44660702 22183 },
4d47f125
TL
22184 "macfilter" : {
22185 "description" : "Enable/disable MAC address filter.",
22186 "optional" : 1,
22187 "type" : "boolean",
22188 "typetext" : "<boolean>"
7aacca6f 22189 },
4d47f125
TL
22190 "ndp" : {
22191 "description" : "Enable NDP.",
22192 "optional" : 1,
22193 "type" : "boolean",
22194 "typetext" : "<boolean>"
7aacca6f 22195 },
4d47f125
TL
22196 "node" : {
22197 "description" : "The cluster node name.",
22198 "format" : "pve-node",
22199 "type" : "string",
22200 "typetext" : "<string>"
22201 },
22202 "policy_in" : {
22203 "description" : "Input policy.",
22204 "enum" : [
22205 "ACCEPT",
22206 "REJECT",
22207 "DROP"
44660702 22208 ],
4d47f125
TL
22209 "optional" : 1,
22210 "type" : "string"
22211 },
22212 "policy_out" : {
22213 "description" : "Output policy.",
22214 "enum" : [
22215 "ACCEPT",
22216 "REJECT",
22217 "DROP"
22218 ],
22219 "optional" : 1,
22220 "type" : "string"
22221 },
22222 "radv" : {
22223 "description" : "Allow sending Router Advertisement.",
22224 "optional" : 1,
22225 "type" : "boolean",
22226 "typetext" : "<boolean>"
22227 },
22228 "vmid" : {
22229 "description" : "The (unique) ID of the VM.",
22230 "format" : "pve-vmid",
22231 "minimum" : 1,
22232 "type" : "integer",
22233 "typetext" : "<integer> (1 - N)"
44660702 22234 }
4d47f125
TL
22235 }
22236 },
22237 "permissions" : {
22238 "check" : [
22239 "perm",
22240 "/vms/{vmid}",
22241 [
22242 "VM.Config.Network"
22243 ]
22244 ]
22245 },
22246 "protected" : 1,
22247 "proxyto" : "node",
22248 "returns" : {
22249 "type" : "null"
22250 }
22251 }
22252 },
22253 "leaf" : 1,
22254 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
22255 "text" : "options"
22256 },
22257 {
22258 "info" : {
22259 "GET" : {
22260 "description" : "Read firewall log",
22261 "method" : "GET",
22262 "name" : "log",
22263 "parameters" : {
22264 "additionalProperties" : 0,
22265 "properties" : {
22266 "limit" : {
22267 "minimum" : 0,
22268 "optional" : 1,
22269 "type" : "integer",
22270 "typetext" : "<integer> (0 - N)"
44660702 22271 },
4d47f125
TL
22272 "node" : {
22273 "description" : "The cluster node name.",
22274 "format" : "pve-node",
22275 "type" : "string",
22276 "typetext" : "<string>"
44660702 22277 },
4d47f125
TL
22278 "start" : {
22279 "minimum" : 0,
22280 "optional" : 1,
22281 "type" : "integer",
22282 "typetext" : "<integer> (0 - N)"
22283 },
22284 "vmid" : {
22285 "description" : "The (unique) ID of the VM.",
22286 "format" : "pve-vmid",
22287 "minimum" : 1,
22288 "type" : "integer",
22289 "typetext" : "<integer> (1 - N)"
44660702
DM
22290 }
22291 }
22292 },
4d47f125
TL
22293 "permissions" : {
22294 "check" : [
22295 "perm",
22296 "/vms/{vmid}",
22297 [
22298 "VM.Console"
22299 ]
22300 ]
22301 },
22302 "protected" : 1,
22303 "proxyto" : "node",
22304 "returns" : {
22305 "items" : {
22306 "properties" : {
22307 "n" : {
22308 "description" : "Line number",
22309 "type" : "integer"
22310 },
22311 "t" : {
22312 "description" : "Line text",
22313 "type" : "string"
22314 }
22315 },
22316 "type" : "object"
22317 },
22318 "type" : "array"
22319 }
44660702 22320 }
4d47f125
TL
22321 },
22322 "leaf" : 1,
22323 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
22324 "text" : "log"
22325 },
22326 {
44660702
DM
22327 "info" : {
22328 "GET" : {
4d47f125 22329 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 22330 "method" : "GET",
4d47f125 22331 "name" : "refs",
44660702
DM
22332 "parameters" : {
22333 "additionalProperties" : 0,
22334 "properties" : {
22335 "node" : {
22336 "description" : "The cluster node name.",
22337 "format" : "pve-node",
013dc89f
DM
22338 "type" : "string",
22339 "typetext" : "<string>"
44660702 22340 },
4d47f125
TL
22341 "type" : {
22342 "description" : "Only list references of specified type.",
22343 "enum" : [
22344 "alias",
22345 "ipset"
22346 ],
22347 "optional" : 1,
22348 "type" : "string"
22349 },
44660702
DM
22350 "vmid" : {
22351 "description" : "The (unique) ID of the VM.",
22352 "format" : "pve-vmid",
22353 "minimum" : 1,
4bd7df8b 22354 "type" : "integer",
013dc89f 22355 "typetext" : "<integer> (1 - N)"
44660702
DM
22356 }
22357 }
22358 },
4d47f125
TL
22359 "permissions" : {
22360 "check" : [
22361 "perm",
22362 "/vms/{vmid}",
22363 [
22364 "VM.Audit"
22365 ]
22366 ]
22367 },
22368 "returns" : {
22369 "items" : {
22370 "properties" : {
22371 "comment" : {
22372 "optional" : 1,
22373 "type" : "string"
22374 },
22375 "name" : {
22376 "type" : "string"
22377 },
22378 "type" : {
22379 "enum" : [
22380 "alias",
22381 "ipset"
22382 ],
22383 "type" : "string"
22384 }
22385 },
22386 "type" : "object"
22387 },
22388 "type" : "array"
22389 }
22390 }
22391 },
22392 "leaf" : 1,
22393 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
22394 "text" : "refs"
22395 }
22396 ],
22397 "info" : {
22398 "GET" : {
22399 "description" : "Directory index.",
22400 "method" : "GET",
22401 "name" : "index",
22402 "parameters" : {
22403 "additionalProperties" : 0,
22404 "properties" : {
22405 "node" : {
22406 "description" : "The cluster node name.",
22407 "format" : "pve-node",
22408 "type" : "string",
22409 "typetext" : "<string>"
22410 },
22411 "vmid" : {
22412 "description" : "The (unique) ID of the VM.",
22413 "format" : "pve-vmid",
22414 "minimum" : 1,
22415 "type" : "integer",
22416 "typetext" : "<integer> (1 - N)"
22417 }
22418 }
22419 },
22420 "permissions" : {
22421 "user" : "all"
22422 },
22423 "returns" : {
22424 "items" : {
22425 "properties" : {},
22426 "type" : "object"
22427 },
22428 "links" : [
22429 {
22430 "href" : "{name}",
22431 "rel" : "child"
22432 }
22433 ],
22434 "type" : "array"
22435 }
22436 }
22437 },
22438 "leaf" : 0,
22439 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
22440 "text" : "firewall"
22441 },
22442 {
22443 "info" : {
22444 "GET" : {
22445 "description" : "Read VM RRD statistics (returns PNG)",
22446 "method" : "GET",
22447 "name" : "rrd",
22448 "parameters" : {
22449 "additionalProperties" : 0,
22450 "properties" : {
22451 "cf" : {
22452 "description" : "The RRD consolidation function",
22453 "enum" : [
22454 "AVERAGE",
22455 "MAX"
22456 ],
22457 "optional" : 1,
22458 "type" : "string"
22459 },
22460 "ds" : {
22461 "description" : "The list of datasources you want to display.",
22462 "format" : "pve-configid-list",
22463 "type" : "string",
22464 "typetext" : "<string>"
22465 },
22466 "node" : {
22467 "description" : "The cluster node name.",
22468 "format" : "pve-node",
22469 "type" : "string",
22470 "typetext" : "<string>"
22471 },
22472 "timeframe" : {
22473 "description" : "Specify the time frame you are interested in.",
22474 "enum" : [
22475 "hour",
22476 "day",
22477 "week",
22478 "month",
22479 "year"
22480 ],
22481 "type" : "string"
22482 },
22483 "vmid" : {
22484 "description" : "The (unique) ID of the VM.",
22485 "format" : "pve-vmid",
22486 "minimum" : 1,
22487 "type" : "integer",
22488 "typetext" : "<integer> (1 - N)"
22489 }
22490 }
22491 },
22492 "permissions" : {
22493 "check" : [
22494 "perm",
22495 "/vms/{vmid}",
22496 [
22497 "VM.Audit"
22498 ]
22499 ]
22500 },
22501 "protected" : 1,
22502 "returns" : {
22503 "properties" : {
22504 "filename" : {
22505 "type" : "string"
22506 }
22507 },
22508 "type" : "object"
22509 }
22510 }
22511 },
22512 "leaf" : 1,
22513 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
22514 "text" : "rrd"
22515 },
22516 {
22517 "info" : {
22518 "GET" : {
22519 "description" : "Read VM RRD statistics",
22520 "method" : "GET",
22521 "name" : "rrddata",
22522 "parameters" : {
22523 "additionalProperties" : 0,
22524 "properties" : {
22525 "cf" : {
22526 "description" : "The RRD consolidation function",
22527 "enum" : [
22528 "AVERAGE",
22529 "MAX"
22530 ],
22531 "optional" : 1,
22532 "type" : "string"
22533 },
22534 "node" : {
22535 "description" : "The cluster node name.",
22536 "format" : "pve-node",
22537 "type" : "string",
22538 "typetext" : "<string>"
44660702 22539 },
4d47f125
TL
22540 "timeframe" : {
22541 "description" : "Specify the time frame you are interested in.",
22542 "enum" : [
22543 "hour",
22544 "day",
22545 "week",
22546 "month",
22547 "year"
44660702 22548 ],
4d47f125
TL
22549 "type" : "string"
22550 },
22551 "vmid" : {
22552 "description" : "The (unique) ID of the VM.",
22553 "format" : "pve-vmid",
22554 "minimum" : 1,
22555 "type" : "integer",
22556 "typetext" : "<integer> (1 - N)"
44660702 22557 }
4d47f125
TL
22558 }
22559 },
22560 "permissions" : {
22561 "check" : [
22562 "perm",
22563 "/vms/{vmid}",
22564 [
22565 "VM.Audit"
22566 ]
22567 ]
22568 },
22569 "protected" : 1,
22570 "returns" : {
22571 "items" : {
22572 "properties" : {},
22573 "type" : "object"
44660702 22574 },
4d47f125
TL
22575 "type" : "array"
22576 }
22577 }
22578 },
22579 "leaf" : 1,
22580 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
22581 "text" : "rrddata"
22582 },
22583 {
22584 "info" : {
22585 "POST" : {
22586 "description" : "Creates a TCP VNC proxy connections.",
22587 "method" : "POST",
22588 "name" : "vncproxy",
22589 "parameters" : {
22590 "additionalProperties" : 0,
22591 "properties" : {
22592 "height" : {
22593 "description" : "sets the height of the console in pixels.",
22594 "maximum" : 2160,
22595 "minimum" : 16,
22596 "optional" : 1,
22597 "type" : "integer",
22598 "typetext" : "<integer> (16 - 2160)"
44660702 22599 },
4d47f125
TL
22600 "node" : {
22601 "description" : "The cluster node name.",
22602 "format" : "pve-node",
22603 "type" : "string",
22604 "typetext" : "<string>"
44660702 22605 },
4d47f125
TL
22606 "vmid" : {
22607 "description" : "The (unique) ID of the VM.",
22608 "format" : "pve-vmid",
22609 "minimum" : 1,
22610 "type" : "integer",
22611 "typetext" : "<integer> (1 - N)"
22612 },
22613 "websocket" : {
22614 "description" : "use websocket instead of standard VNC.",
22615 "optional" : 1,
22616 "type" : "boolean",
22617 "typetext" : "<boolean>"
22618 },
22619 "width" : {
22620 "description" : "sets the width of the console in pixels.",
22621 "maximum" : 4096,
22622 "minimum" : 16,
22623 "optional" : 1,
22624 "type" : "integer",
22625 "typetext" : "<integer> (16 - 4096)"
56122987
DM
22626 }
22627 }
44660702 22628 },
4d47f125
TL
22629 "permissions" : {
22630 "check" : [
22631 "perm",
22632 "/vms/{vmid}",
22633 [
22634 "VM.Console"
22635 ]
22636 ]
22637 },
22638 "protected" : 1,
22639 "returns" : {
22640 "additionalProperties" : 0,
22641 "properties" : {
22642 "cert" : {
22643 "type" : "string"
44660702 22644 },
4d47f125
TL
22645 "port" : {
22646 "type" : "integer"
22647 },
22648 "ticket" : {
22649 "type" : "string"
22650 },
22651 "upid" : {
22652 "type" : "string"
22653 },
22654 "user" : {
22655 "type" : "string"
22656 }
22657 }
22658 }
22659 }
22660 },
22661 "leaf" : 1,
22662 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
22663 "text" : "vncproxy"
22664 },
22665 {
22666 "info" : {
22667 "POST" : {
22668 "description" : "Creates a TCP proxy connection.",
22669 "method" : "POST",
22670 "name" : "termproxy",
22671 "parameters" : {
22672 "additionalProperties" : 0,
22673 "properties" : {
22674 "node" : {
22675 "description" : "The cluster node name.",
22676 "format" : "pve-node",
22677 "type" : "string",
22678 "typetext" : "<string>"
44660702 22679 },
4d47f125
TL
22680 "vmid" : {
22681 "description" : "The (unique) ID of the VM.",
22682 "format" : "pve-vmid",
22683 "minimum" : 1,
22684 "type" : "integer",
22685 "typetext" : "<integer> (1 - N)"
44660702 22686 }
4d47f125
TL
22687 }
22688 },
22689 "permissions" : {
22690 "check" : [
22691 "perm",
22692 "/vms/{vmid}",
22693 [
22694 "VM.Console"
22695 ]
22696 ]
22697 },
22698 "protected" : 1,
22699 "returns" : {
22700 "additionalProperties" : 0,
22701 "properties" : {
22702 "port" : {
22703 "type" : "integer"
56122987 22704 },
4d47f125
TL
22705 "ticket" : {
22706 "type" : "string"
7aacca6f 22707 },
4d47f125
TL
22708 "upid" : {
22709 "type" : "string"
22710 },
22711 "user" : {
22712 "type" : "string"
22713 }
22714 }
22715 }
22716 }
22717 },
22718 "leaf" : 1,
22719 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
22720 "text" : "termproxy"
22721 },
22722 {
22723 "info" : {
22724 "GET" : {
22725 "description" : "Opens a weksocket for VNC traffic.",
22726 "method" : "GET",
22727 "name" : "vncwebsocket",
22728 "parameters" : {
22729 "additionalProperties" : 0,
22730 "properties" : {
22731 "node" : {
22732 "description" : "The cluster node name.",
22733 "format" : "pve-node",
22734 "type" : "string",
22735 "typetext" : "<string>"
22736 },
22737 "port" : {
22738 "description" : "Port number returned by previous vncproxy call.",
22739 "maximum" : 5999,
22740 "minimum" : 5900,
22741 "type" : "integer",
22742 "typetext" : "<integer> (5900 - 5999)"
22743 },
22744 "vmid" : {
22745 "description" : "The (unique) ID of the VM.",
22746 "format" : "pve-vmid",
22747 "minimum" : 1,
22748 "type" : "integer",
22749 "typetext" : "<integer> (1 - N)"
22750 },
22751 "vncticket" : {
22752 "description" : "Ticket from previous call to vncproxy.",
22753 "maxLength" : 512,
22754 "type" : "string",
22755 "typetext" : "<string>"
56122987
DM
22756 }
22757 }
22758 },
4d47f125
TL
22759 "permissions" : {
22760 "check" : [
22761 "perm",
22762 "/vms/{vmid}",
22763 [
22764 "VM.Console"
22765 ]
22766 ],
22767 "description" : "You also need to pass a valid ticket (vncticket)."
22768 },
22769 "returns" : {
22770 "properties" : {
22771 "port" : {
22772 "type" : "string"
22773 }
22774 },
22775 "type" : "object"
22776 }
22777 }
22778 },
22779 "leaf" : 1,
22780 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
22781 "text" : "vncwebsocket"
22782 },
22783 {
22784 "info" : {
22785 "POST" : {
22786 "description" : "Returns a SPICE configuration to connect to the CT.",
22787 "method" : "POST",
22788 "name" : "spiceproxy",
22789 "parameters" : {
22790 "additionalProperties" : 0,
22791 "properties" : {
22792 "node" : {
22793 "description" : "The cluster node name.",
22794 "format" : "pve-node",
22795 "type" : "string",
22796 "typetext" : "<string>"
56122987 22797 },
4d47f125
TL
22798 "proxy" : {
22799 "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).",
22800 "format" : "address",
22801 "optional" : 1,
22802 "type" : "string",
22803 "typetext" : "<string>"
44660702 22804 },
4d47f125
TL
22805 "vmid" : {
22806 "description" : "The (unique) ID of the VM.",
22807 "format" : "pve-vmid",
22808 "minimum" : 1,
22809 "type" : "integer",
22810 "typetext" : "<integer> (1 - N)"
44660702 22811 }
56122987
DM
22812 }
22813 },
4d47f125
TL
22814 "permissions" : {
22815 "check" : [
22816 "perm",
22817 "/vms/{vmid}",
22818 [
22819 "VM.Console"
22820 ]
22821 ]
22822 },
22823 "protected" : 1,
22824 "proxyto" : "node",
22825 "returns" : {
22826 "additionalProperties" : 1,
22827 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
22828 "properties" : {
22829 "host" : {
22830 "type" : "string"
22831 },
22832 "password" : {
22833 "type" : "string"
22834 },
22835 "proxy" : {
22836 "type" : "string"
22837 },
22838 "tls-port" : {
22839 "type" : "integer"
22840 },
22841 "type" : {
22842 "type" : "string"
22843 }
22844 }
22845 }
22846 }
22847 },
22848 "leaf" : 1,
22849 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
22850 "text" : "spiceproxy"
22851 },
22852 {
22853 "info" : {
22854 "POST" : {
22855 "description" : "Migrate the container to another node. Creates a new migration task.",
22856 "method" : "POST",
22857 "name" : "migrate_vm",
22858 "parameters" : {
22859 "additionalProperties" : 0,
22860 "properties" : {
22861 "force" : {
22862 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
22863 "optional" : 1,
22864 "type" : "boolean",
22865 "typetext" : "<boolean>"
56122987 22866 },
4d47f125
TL
22867 "node" : {
22868 "description" : "The cluster node name.",
22869 "format" : "pve-node",
22870 "type" : "string",
22871 "typetext" : "<string>"
44660702 22872 },
4d47f125
TL
22873 "online" : {
22874 "description" : "Use online/live migration.",
22875 "optional" : 1,
22876 "type" : "boolean",
22877 "typetext" : "<boolean>"
22878 },
22879 "restart" : {
22880 "description" : "Use restart migration",
22881 "optional" : 1,
22882 "type" : "boolean",
22883 "typetext" : "<boolean>"
22884 },
22885 "target" : {
22886 "description" : "Target node.",
22887 "format" : "pve-node",
22888 "type" : "string",
22889 "typetext" : "<string>"
22890 },
22891 "timeout" : {
22892 "default" : 180,
22893 "description" : "Timeout in seconds for shutdown for restart migration",
22894 "optional" : 1,
22895 "type" : "integer",
22896 "typetext" : "<integer>"
22897 },
22898 "vmid" : {
22899 "description" : "The (unique) ID of the VM.",
22900 "format" : "pve-vmid",
22901 "minimum" : 1,
22902 "type" : "integer",
22903 "typetext" : "<integer> (1 - N)"
56122987
DM
22904 }
22905 }
22906 },
4d47f125
TL
22907 "permissions" : {
22908 "check" : [
22909 "perm",
22910 "/vms/{vmid}",
22911 [
22912 "VM.Migrate"
22913 ]
22914 ]
22915 },
22916 "protected" : 1,
22917 "proxyto" : "node",
22918 "returns" : {
22919 "description" : "the task ID.",
22920 "type" : "string"
22921 }
56122987 22922 }
4d47f125
TL
22923 },
22924 "leaf" : 1,
22925 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
22926 "text" : "migrate"
22927 },
22928 {
56122987
DM
22929 "info" : {
22930 "GET" : {
4d47f125 22931 "description" : "Check if feature for virtual machine is available.",
44660702 22932 "method" : "GET",
4d47f125 22933 "name" : "vm_feature",
56122987 22934 "parameters" : {
44660702 22935 "additionalProperties" : 0,
56122987 22936 "properties" : {
4d47f125
TL
22937 "feature" : {
22938 "description" : "Feature to check.",
22939 "enum" : [
22940 "snapshot",
22941 "clone",
22942 "copy"
22943 ],
22944 "type" : "string"
22945 },
56122987 22946 "node" : {
44660702 22947 "description" : "The cluster node name.",
56122987 22948 "format" : "pve-node",
013dc89f
DM
22949 "type" : "string",
22950 "typetext" : "<string>"
44660702 22951 },
4d47f125
TL
22952 "snapname" : {
22953 "description" : "The name of the snapshot.",
22954 "format" : "pve-configid",
22955 "maxLength" : 40,
22956 "optional" : 1,
22957 "type" : "string",
22958 "typetext" : "<string>"
22959 },
44660702
DM
22960 "vmid" : {
22961 "description" : "The (unique) ID of the VM.",
22962 "format" : "pve-vmid",
22963 "minimum" : 1,
4bd7df8b 22964 "type" : "integer",
013dc89f 22965 "typetext" : "<integer> (1 - N)"
56122987 22966 }
44660702
DM
22967 }
22968 },
22969 "permissions" : {
4d47f125
TL
22970 "check" : [
22971 "perm",
22972 "/vms/{vmid}",
22973 [
22974 "VM.Audit"
22975 ]
22976 ]
56122987 22977 },
4d47f125
TL
22978 "protected" : 1,
22979 "proxyto" : "node",
56122987 22980 "returns" : {
4d47f125
TL
22981 "properties" : {
22982 "hasFeature" : {
22983 "type" : "boolean"
22984 }
7aacca6f 22985 },
4d47f125
TL
22986 "type" : "object"
22987 }
22988 }
22989 },
22990 "leaf" : 1,
22991 "path" : "/nodes/{node}/lxc/{vmid}/feature",
22992 "text" : "feature"
22993 },
22994 {
22995 "info" : {
22996 "POST" : {
22997 "description" : "Create a Template.",
22998 "method" : "POST",
22999 "name" : "template",
23000 "parameters" : {
23001 "additionalProperties" : 0,
23002 "properties" : {
23003 "node" : {
23004 "description" : "The cluster node name.",
23005 "format" : "pve-node",
23006 "type" : "string",
23007 "typetext" : "<string>"
23008 },
23009 "vmid" : {
23010 "description" : "The (unique) ID of the VM.",
23011 "format" : "pve-vmid",
23012 "minimum" : 1,
23013 "type" : "integer",
23014 "typetext" : "<integer> (1 - N)"
56122987 23015 }
4d47f125
TL
23016 }
23017 },
23018 "permissions" : {
23019 "check" : [
23020 "perm",
23021 "/vms/{vmid}",
23022 [
23023 "VM.Allocate"
23024 ]
44660702 23025 ],
4d47f125
TL
23026 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
23027 },
23028 "protected" : 1,
23029 "proxyto" : "node",
23030 "returns" : {
23031 "type" : "null"
56122987
DM
23032 }
23033 }
23034 },
4d47f125
TL
23035 "leaf" : 1,
23036 "path" : "/nodes/{node}/lxc/{vmid}/template",
23037 "text" : "template"
56122987
DM
23038 },
23039 {
56122987 23040 "info" : {
4d47f125
TL
23041 "POST" : {
23042 "description" : "Create a container clone/copy",
23043 "method" : "POST",
23044 "name" : "clone_vm",
56122987 23045 "parameters" : {
7aacca6f 23046 "additionalProperties" : 0,
56122987 23047 "properties" : {
4d47f125
TL
23048 "description" : {
23049 "description" : "Description for the new CT.",
44660702 23050 "optional" : 1,
4d47f125
TL
23051 "type" : "string",
23052 "typetext" : "<string>"
44660702 23053 },
4d47f125
TL
23054 "full" : {
23055 "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.",
23056 "optional" : 1,
23057 "type" : "boolean",
23058 "typetext" : "<boolean>"
23059 },
23060 "hostname" : {
23061 "description" : "Set a hostname for the new CT.",
23062 "format" : "dns-name",
23063 "optional" : 1,
013dc89f
DM
23064 "type" : "string",
23065 "typetext" : "<string>"
44660702 23066 },
4d47f125
TL
23067 "newid" : {
23068 "description" : "VMID for the clone.",
23069 "format" : "pve-vmid",
23070 "minimum" : 1,
23071 "type" : "integer",
23072 "typetext" : "<integer> (1 - N)"
23073 },
7aacca6f
DM
23074 "node" : {
23075 "description" : "The cluster node name.",
44660702 23076 "format" : "pve-node",
013dc89f
DM
23077 "type" : "string",
23078 "typetext" : "<string>"
56122987 23079 },
4d47f125
TL
23080 "pool" : {
23081 "description" : "Add the new CT to the specified pool.",
23082 "format" : "pve-poolid",
23083 "optional" : 1,
23084 "type" : "string",
23085 "typetext" : "<string>"
23086 },
23087 "snapname" : {
23088 "description" : "The name of the snapshot.",
23089 "format" : "pve-configid",
23090 "maxLength" : 40,
23091 "optional" : 1,
23092 "type" : "string",
23093 "typetext" : "<string>"
23094 },
23095 "storage" : {
23096 "description" : "Target storage for full clone.",
23097 "format" : "pve-storage-id",
23098 "optional" : 1,
23099 "type" : "string",
23100 "typetext" : "<string>"
23101 },
23102 "target" : {
23103 "description" : "Target node. Only allowed if the original VM is on shared storage.",
23104 "format" : "pve-node",
23105 "optional" : 1,
23106 "type" : "string",
23107 "typetext" : "<string>"
23108 },
7aacca6f 23109 "vmid" : {
44660702 23110 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23111 "format" : "pve-vmid",
23112 "minimum" : 1,
4bd7df8b 23113 "type" : "integer",
013dc89f 23114 "typetext" : "<integer> (1 - N)"
56122987 23115 }
7aacca6f
DM
23116 }
23117 },
23118 "permissions" : {
23119 "check" : [
4d47f125 23120 "and",
7aacca6f 23121 [
4d47f125
TL
23122 "perm",
23123 "/vms/{vmid}",
23124 [
23125 "VM.Clone"
23126 ]
23127 ],
23128 [
23129 "or",
23130 [
23131 "perm",
23132 "/vms/{newid}",
23133 [
23134 "VM.Allocate"
23135 ]
23136 ],
23137 [
23138 "perm",
23139 "/pool/{pool}",
23140 [
23141 "VM.Allocate"
23142 ],
23143 "require_param",
23144 "pool"
23145 ]
7aacca6f 23146 ]
4d47f125
TL
23147 ],
23148 "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 23149 },
44660702 23150 "protected" : 1,
4d47f125 23151 "proxyto" : "node",
7aacca6f 23152 "returns" : {
4d47f125 23153 "type" : "string"
7aacca6f 23154 }
56122987 23155 }
7aacca6f 23156 },
44660702 23157 "leaf" : 1,
4d47f125
TL
23158 "path" : "/nodes/{node}/lxc/{vmid}/clone",
23159 "text" : "clone"
56122987
DM
23160 },
23161 {
56122987 23162 "info" : {
4d47f125
TL
23163 "PUT" : {
23164 "description" : "Resize a container mount point.",
23165 "method" : "PUT",
23166 "name" : "resize_vm",
56122987 23167 "parameters" : {
7aacca6f 23168 "additionalProperties" : 0,
56122987 23169 "properties" : {
4d47f125
TL
23170 "digest" : {
23171 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23172 "maxLength" : 40,
23173 "optional" : 1,
23174 "type" : "string",
23175 "typetext" : "<string>"
23176 },
23177 "disk" : {
23178 "description" : "The disk you want to resize.",
44660702 23179 "enum" : [
4d47f125
TL
23180 "rootfs",
23181 "mp0",
23182 "mp1",
23183 "mp2",
23184 "mp3",
23185 "mp4",
23186 "mp5",
23187 "mp6",
23188 "mp7",
23189 "mp8",
23190 "mp9",
23191 "mp10",
23192 "mp11",
23193 "mp12",
23194 "mp13",
23195 "mp14",
23196 "mp15",
23197 "mp16",
23198 "mp17",
23199 "mp18",
23200 "mp19",
23201 "mp20",
23202 "mp21",
23203 "mp22",
23204 "mp23",
23205 "mp24",
23206 "mp25",
23207 "mp26",
23208 "mp27",
23209 "mp28",
23210 "mp29",
23211 "mp30",
23212 "mp31",
23213 "mp32",
23214 "mp33",
23215 "mp34",
23216 "mp35",
23217 "mp36",
23218 "mp37",
23219 "mp38",
23220 "mp39",
23221 "mp40",
23222 "mp41",
23223 "mp42",
23224 "mp43",
23225 "mp44",
23226 "mp45",
23227 "mp46",
23228 "mp47",
23229 "mp48",
23230 "mp49",
23231 "mp50",
23232 "mp51",
23233 "mp52",
23234 "mp53",
23235 "mp54",
23236 "mp55",
23237 "mp56",
23238 "mp57",
23239 "mp58",
23240 "mp59",
23241 "mp60",
23242 "mp61",
23243 "mp62",
23244 "mp63",
23245 "mp64",
23246 "mp65",
23247 "mp66",
23248 "mp67",
23249 "mp68",
23250 "mp69",
23251 "mp70",
23252 "mp71",
23253 "mp72",
23254 "mp73",
23255 "mp74",
23256 "mp75",
23257 "mp76",
23258 "mp77",
23259 "mp78",
23260 "mp79",
23261 "mp80",
23262 "mp81",
23263 "mp82",
23264 "mp83",
23265 "mp84",
23266 "mp85",
23267 "mp86",
23268 "mp87",
23269 "mp88",
23270 "mp89",
23271 "mp90",
23272 "mp91",
23273 "mp92",
23274 "mp93",
23275 "mp94",
23276 "mp95",
23277 "mp96",
23278 "mp97",
23279 "mp98",
23280 "mp99",
23281 "mp100",
23282 "mp101",
23283 "mp102",
23284 "mp103",
23285 "mp104",
23286 "mp105",
23287 "mp106",
23288 "mp107",
23289 "mp108",
23290 "mp109",
23291 "mp110",
23292 "mp111",
23293 "mp112",
23294 "mp113",
23295 "mp114",
23296 "mp115",
23297 "mp116",
23298 "mp117",
23299 "mp118",
23300 "mp119",
23301 "mp120",
23302 "mp121",
23303 "mp122",
23304 "mp123",
23305 "mp124",
23306 "mp125",
23307 "mp126",
23308 "mp127",
23309 "mp128",
23310 "mp129",
23311 "mp130",
23312 "mp131",
23313 "mp132",
23314 "mp133",
23315 "mp134",
23316 "mp135",
23317 "mp136",
23318 "mp137",
23319 "mp138",
23320 "mp139",
23321 "mp140",
23322 "mp141",
23323 "mp142",
23324 "mp143",
23325 "mp144",
23326 "mp145",
23327 "mp146",
23328 "mp147",
23329 "mp148",
23330 "mp149",
23331 "mp150",
23332 "mp151",
23333 "mp152",
23334 "mp153",
23335 "mp154",
23336 "mp155",
23337 "mp156",
23338 "mp157",
23339 "mp158",
23340 "mp159",
23341 "mp160",
23342 "mp161",
23343 "mp162",
23344 "mp163",
23345 "mp164",
23346 "mp165",
23347 "mp166",
23348 "mp167",
23349 "mp168",
23350 "mp169",
23351 "mp170",
23352 "mp171",
23353 "mp172",
23354 "mp173",
23355 "mp174",
23356 "mp175",
23357 "mp176",
23358 "mp177",
23359 "mp178",
23360 "mp179",
23361 "mp180",
23362 "mp181",
23363 "mp182",
23364 "mp183",
23365 "mp184",
23366 "mp185",
23367 "mp186",
23368 "mp187",
23369 "mp188",
23370 "mp189",
23371 "mp190",
23372 "mp191",
23373 "mp192",
23374 "mp193",
23375 "mp194",
23376 "mp195",
23377 "mp196",
23378 "mp197",
23379 "mp198",
23380 "mp199",
23381 "mp200",
23382 "mp201",
23383 "mp202",
23384 "mp203",
23385 "mp204",
23386 "mp205",
23387 "mp206",
23388 "mp207",
23389 "mp208",
23390 "mp209",
23391 "mp210",
23392 "mp211",
23393 "mp212",
23394 "mp213",
23395 "mp214",
23396 "mp215",
23397 "mp216",
23398 "mp217",
23399 "mp218",
23400 "mp219",
23401 "mp220",
23402 "mp221",
23403 "mp222",
23404 "mp223",
23405 "mp224",
23406 "mp225",
23407 "mp226",
23408 "mp227",
23409 "mp228",
23410 "mp229",
23411 "mp230",
23412 "mp231",
23413 "mp232",
23414 "mp233",
23415 "mp234",
23416 "mp235",
23417 "mp236",
23418 "mp237",
23419 "mp238",
23420 "mp239",
23421 "mp240",
23422 "mp241",
23423 "mp242",
23424 "mp243",
23425 "mp244",
23426 "mp245",
23427 "mp246",
23428 "mp247",
23429 "mp248",
23430 "mp249",
23431 "mp250",
23432 "mp251",
23433 "mp252",
23434 "mp253",
23435 "mp254",
23436 "mp255"
44660702 23437 ],
44660702
DM
23438 "type" : "string"
23439 },
7aacca6f 23440 "node" : {
44660702 23441 "description" : "The cluster node name.",
7aacca6f 23442 "format" : "pve-node",
013dc89f
DM
23443 "type" : "string",
23444 "typetext" : "<string>"
7aacca6f 23445 },
4d47f125
TL
23446 "size" : {
23447 "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.",
23448 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 23449 "type" : "string"
7aacca6f
DM
23450 },
23451 "vmid" : {
23452 "description" : "The (unique) ID of the VM.",
44660702 23453 "format" : "pve-vmid",
7aacca6f 23454 "minimum" : 1,
4bd7df8b 23455 "type" : "integer",
013dc89f 23456 "typetext" : "<integer> (1 - N)"
56122987 23457 }
56122987
DM
23458 }
23459 },
56122987
DM
23460 "permissions" : {
23461 "check" : [
23462 "perm",
23463 "/vms/{vmid}",
23464 [
4d47f125
TL
23465 "VM.Config.Disk"
23466 ],
23467 "any",
23468 1
56122987
DM
23469 ]
23470 },
7aacca6f 23471 "protected" : 1,
4d47f125 23472 "proxyto" : "node",
7aacca6f 23473 "returns" : {
4d47f125
TL
23474 "description" : "the task ID.",
23475 "type" : "string"
44660702 23476 }
56122987
DM
23477 }
23478 },
44660702 23479 "leaf" : 1,
4d47f125
TL
23480 "path" : "/nodes/{node}/lxc/{vmid}/resize",
23481 "text" : "resize"
56122987
DM
23482 },
23483 {
23484 "info" : {
23485 "POST" : {
4d47f125 23486 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 23487 "method" : "POST",
4d47f125 23488 "name" : "move_volume",
7aacca6f 23489 "parameters" : {
44660702 23490 "additionalProperties" : 0,
7aacca6f 23491 "properties" : {
4d47f125
TL
23492 "delete" : {
23493 "default" : 0,
23494 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 23495 "optional" : 1,
4d47f125
TL
23496 "type" : "boolean",
23497 "typetext" : "<boolean>"
23498 },
23499 "digest" : {
23500 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23501 "maxLength" : 40,
23502 "optional" : 1,
23503 "type" : "string",
23504 "typetext" : "<string>"
5d9c884c 23505 },
44660702
DM
23506 "node" : {
23507 "description" : "The cluster node name.",
23508 "format" : "pve-node",
013dc89f
DM
23509 "type" : "string",
23510 "typetext" : "<string>"
44660702 23511 },
4d47f125
TL
23512 "storage" : {
23513 "description" : "Target Storage.",
23514 "format" : "pve-storage-id",
23515 "type" : "string",
23516 "typetext" : "<string>"
23517 },
7aacca6f 23518 "vmid" : {
44660702 23519 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23520 "format" : "pve-vmid",
23521 "minimum" : 1,
4bd7df8b 23522 "type" : "integer",
013dc89f 23523 "typetext" : "<integer> (1 - N)"
7aacca6f 23524 },
4d47f125
TL
23525 "volume" : {
23526 "description" : "Volume which will be moved.",
23527 "enum" : [
23528 "rootfs",
23529 "mp0",
23530 "mp1",
23531 "mp2",
23532 "mp3",
23533 "mp4",
23534 "mp5",
23535 "mp6",
23536 "mp7",
23537 "mp8",
23538 "mp9",
23539 "mp10",
23540 "mp11",
23541 "mp12",
23542 "mp13",
23543 "mp14",
23544 "mp15",
23545 "mp16",
23546 "mp17",
23547 "mp18",
23548 "mp19",
23549 "mp20",
23550 "mp21",
23551 "mp22",
23552 "mp23",
23553 "mp24",
23554 "mp25",
23555 "mp26",
23556 "mp27",
23557 "mp28",
23558 "mp29",
23559 "mp30",
23560 "mp31",
23561 "mp32",
23562 "mp33",
23563 "mp34",
23564 "mp35",
23565 "mp36",
23566 "mp37",
23567 "mp38",
23568 "mp39",
23569 "mp40",
23570 "mp41",
23571 "mp42",
23572 "mp43",
23573 "mp44",
23574 "mp45",
23575 "mp46",
23576 "mp47",
23577 "mp48",
23578 "mp49",
23579 "mp50",
23580 "mp51",
23581 "mp52",
23582 "mp53",
23583 "mp54",
23584 "mp55",
23585 "mp56",
23586 "mp57",
23587 "mp58",
23588 "mp59",
23589 "mp60",
23590 "mp61",
23591 "mp62",
23592 "mp63",
23593 "mp64",
23594 "mp65",
23595 "mp66",
23596 "mp67",
23597 "mp68",
23598 "mp69",
23599 "mp70",
23600 "mp71",
23601 "mp72",
23602 "mp73",
23603 "mp74",
23604 "mp75",
23605 "mp76",
23606 "mp77",
23607 "mp78",
23608 "mp79",
23609 "mp80",
23610 "mp81",
23611 "mp82",
23612 "mp83",
23613 "mp84",
23614 "mp85",
23615 "mp86",
23616 "mp87",
23617 "mp88",
23618 "mp89",
23619 "mp90",
23620 "mp91",
23621 "mp92",
23622 "mp93",
23623 "mp94",
23624 "mp95",
23625 "mp96",
23626 "mp97",
23627 "mp98",
23628 "mp99",
23629 "mp100",
23630 "mp101",
23631 "mp102",
23632 "mp103",
23633 "mp104",
23634 "mp105",
23635 "mp106",
23636 "mp107",
23637 "mp108",
23638 "mp109",
23639 "mp110",
23640 "mp111",
23641 "mp112",
23642 "mp113",
23643 "mp114",
23644 "mp115",
23645 "mp116",
23646 "mp117",
23647 "mp118",
23648 "mp119",
23649 "mp120",
23650 "mp121",
23651 "mp122",
23652 "mp123",
23653 "mp124",
23654 "mp125",
23655 "mp126",
23656 "mp127",
23657 "mp128",
23658 "mp129",
23659 "mp130",
23660 "mp131",
23661 "mp132",
23662 "mp133",
23663 "mp134",
23664 "mp135",
23665 "mp136",
23666 "mp137",
23667 "mp138",
23668 "mp139",
23669 "mp140",
23670 "mp141",
23671 "mp142",
23672 "mp143",
23673 "mp144",
23674 "mp145",
23675 "mp146",
23676 "mp147",
23677 "mp148",
23678 "mp149",
23679 "mp150",
23680 "mp151",
23681 "mp152",
23682 "mp153",
23683 "mp154",
23684 "mp155",
23685 "mp156",
23686 "mp157",
23687 "mp158",
23688 "mp159",
23689 "mp160",
23690 "mp161",
23691 "mp162",
23692 "mp163",
23693 "mp164",
23694 "mp165",
23695 "mp166",
23696 "mp167",
23697 "mp168",
23698 "mp169",
23699 "mp170",
23700 "mp171",
23701 "mp172",
23702 "mp173",
23703 "mp174",
23704 "mp175",
23705 "mp176",
23706 "mp177",
23707 "mp178",
23708 "mp179",
23709 "mp180",
23710 "mp181",
23711 "mp182",
23712 "mp183",
23713 "mp184",
23714 "mp185",
23715 "mp186",
23716 "mp187",
23717 "mp188",
23718 "mp189",
23719 "mp190",
23720 "mp191",
23721 "mp192",
23722 "mp193",
23723 "mp194",
23724 "mp195",
23725 "mp196",
23726 "mp197",
23727 "mp198",
23728 "mp199",
23729 "mp200",
23730 "mp201",
23731 "mp202",
23732 "mp203",
23733 "mp204",
23734 "mp205",
23735 "mp206",
23736 "mp207",
23737 "mp208",
23738 "mp209",
23739 "mp210",
23740 "mp211",
23741 "mp212",
23742 "mp213",
23743 "mp214",
23744 "mp215",
23745 "mp216",
23746 "mp217",
23747 "mp218",
23748 "mp219",
23749 "mp220",
23750 "mp221",
23751 "mp222",
23752 "mp223",
23753 "mp224",
23754 "mp225",
23755 "mp226",
23756 "mp227",
23757 "mp228",
23758 "mp229",
23759 "mp230",
23760 "mp231",
23761 "mp232",
23762 "mp233",
23763 "mp234",
23764 "mp235",
23765 "mp236",
23766 "mp237",
23767 "mp238",
23768 "mp239",
23769 "mp240",
23770 "mp241",
23771 "mp242",
23772 "mp243",
23773 "mp244",
23774 "mp245",
23775 "mp246",
23776 "mp247",
23777 "mp248",
23778 "mp249",
23779 "mp250",
23780 "mp251",
23781 "mp252",
23782 "mp253",
23783 "mp254",
23784 "mp255"
23785 ],
23786 "type" : "string"
7aacca6f 23787 }
44660702 23788 }
7aacca6f 23789 },
56122987
DM
23790 "permissions" : {
23791 "check" : [
4d47f125 23792 "and",
56122987 23793 [
4d47f125
TL
23794 "perm",
23795 "/vms/{vmid}",
23796 [
23797 "VM.Config.Disk"
23798 ]
23799 ],
23800 [
23801 "perm",
23802 "/storage/{storage}",
23803 [
23804 "Datastore.AllocateSpace"
23805 ]
56122987 23806 ]
4d47f125
TL
23807 ],
23808 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
23809 },
23810 "protected" : 1,
23811 "proxyto" : "node",
23812 "returns" : {
23813 "type" : "string"
23814 }
23815 }
23816 },
23817 "leaf" : 1,
23818 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
23819 "text" : "move_volume"
23820 }
23821 ],
23822 "info" : {
23823 "DELETE" : {
23824 "description" : "Destroy the container (also delete all uses files).",
23825 "method" : "DELETE",
23826 "name" : "destroy_vm",
23827 "parameters" : {
23828 "additionalProperties" : 0,
23829 "properties" : {
23830 "node" : {
23831 "description" : "The cluster node name.",
23832 "format" : "pve-node",
23833 "type" : "string",
23834 "typetext" : "<string>"
23835 },
23836 "vmid" : {
23837 "description" : "The (unique) ID of the VM.",
23838 "format" : "pve-vmid",
23839 "minimum" : 1,
23840 "type" : "integer",
23841 "typetext" : "<integer> (1 - N)"
23842 }
23843 }
23844 },
23845 "permissions" : {
23846 "check" : [
23847 "perm",
23848 "/vms/{vmid}",
23849 [
23850 "VM.Allocate"
23851 ]
23852 ]
23853 },
23854 "protected" : 1,
23855 "proxyto" : "node",
23856 "returns" : {
23857 "type" : "string"
23858 }
23859 },
23860 "GET" : {
23861 "description" : "Directory index",
23862 "method" : "GET",
23863 "name" : "vmdiridx",
23864 "parameters" : {
23865 "additionalProperties" : 0,
23866 "properties" : {
23867 "node" : {
23868 "description" : "The cluster node name.",
23869 "format" : "pve-node",
23870 "type" : "string",
23871 "typetext" : "<string>"
56122987 23872 },
4d47f125
TL
23873 "vmid" : {
23874 "description" : "The (unique) ID of the VM.",
23875 "format" : "pve-vmid",
23876 "minimum" : 1,
23877 "type" : "integer",
23878 "typetext" : "<integer> (1 - N)"
56122987
DM
23879 }
23880 }
23881 },
4d47f125
TL
23882 "permissions" : {
23883 "user" : "all"
23884 },
23885 "proxyto" : "node",
23886 "returns" : {
23887 "items" : {
23888 "properties" : {
23889 "subdir" : {
23890 "type" : "string"
35a75dd3
DM
23891 }
23892 },
4d47f125
TL
23893 "type" : "object"
23894 },
23895 "links" : [
23896 {
23897 "href" : "{subdir}",
23898 "rel" : "child"
35a75dd3 23899 }
4d47f125
TL
23900 ],
23901 "type" : "array"
23902 }
23903 }
23904 },
23905 "leaf" : 0,
23906 "path" : "/nodes/{node}/lxc/{vmid}",
23907 "text" : "{vmid}"
23908 }
23909 ],
23910 "info" : {
23911 "GET" : {
23912 "description" : "LXC container index (per node).",
23913 "method" : "GET",
23914 "name" : "vmlist",
23915 "parameters" : {
23916 "additionalProperties" : 0,
23917 "properties" : {
23918 "node" : {
23919 "description" : "The cluster node name.",
23920 "format" : "pve-node",
23921 "type" : "string",
23922 "typetext" : "<string>"
23923 }
23924 }
23925 },
23926 "permissions" : {
23927 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
23928 "user" : "all"
23929 },
23930 "protected" : 1,
23931 "proxyto" : "node",
23932 "returns" : {
23933 "items" : {
23934 "properties" : {
23935 "cpus" : {
23936 "description" : "Maximum usable CPUs.",
23937 "optional" : 1,
23938 "type" : "number"
23939 },
23940 "maxdisk" : {
23941 "description" : "Root disk size in bytes.",
23942 "optional" : 1,
23943 "renderer" : "bytes",
23944 "type" : "integer"
23945 },
23946 "maxmem" : {
23947 "description" : "Maximum memory in bytes.",
23948 "optional" : 1,
23949 "renderer" : "bytes",
23950 "type" : "integer"
23951 },
23952 "maxswap" : {
23953 "description" : "Maximum SWAP memory in bytes.",
23954 "optional" : 1,
23955 "renderer" : "bytes",
23956 "type" : "integer"
23957 },
23958 "name" : {
23959 "description" : "Container name.",
23960 "optional" : 1,
23961 "type" : "string"
23962 },
23963 "status" : {
23964 "description" : "LXC Container status.",
23965 "enum" : [
23966 "stopped",
23967 "running"
23968 ],
23969 "type" : "string"
23970 },
23971 "uptime" : {
23972 "description" : "Uptime.",
23973 "optional" : 1,
23974 "renderer" : "duration",
23975 "type" : "integer"
23976 },
23977 "vmid" : {
23978 "description" : "The (unique) ID of the VM.",
23979 "format" : "pve-vmid",
23980 "minimum" : 1,
23981 "type" : "integer"
35a75dd3
DM
23982 }
23983 },
4d47f125 23984 "type" : "object"
35a75dd3 23985 },
4d47f125
TL
23986 "links" : [
23987 {
23988 "href" : "{vmid}",
23989 "rel" : "child"
23990 }
23991 ],
23992 "type" : "array"
23993 }
23994 },
23995 "POST" : {
23996 "description" : "Create or restore a container.",
23997 "method" : "POST",
23998 "name" : "create_vm",
23999 "parameters" : {
24000 "additionalProperties" : 0,
24001 "properties" : {
24002 "arch" : {
24003 "default" : "amd64",
24004 "description" : "OS architecture type.",
24005 "enum" : [
24006 "amd64",
24007 "i386",
24008 "arm64",
24009 "armhf"
24010 ],
24011 "optional" : 1,
24012 "type" : "string"
24013 },
24014 "bwlimit" : {
24015 "description" : "Override i/o bandwidth limit (in KiB/s).",
24016 "minimum" : "0",
24017 "optional" : 1,
24018 "type" : "number",
24019 "typetext" : "<number> (0 - N)"
24020 },
24021 "cmode" : {
24022 "default" : "tty",
24023 "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).",
24024 "enum" : [
24025 "shell",
24026 "console",
24027 "tty"
24028 ],
24029 "optional" : 1,
24030 "type" : "string"
24031 },
24032 "console" : {
24033 "default" : 1,
24034 "description" : "Attach a console device (/dev/console) to the container.",
24035 "optional" : 1,
24036 "type" : "boolean",
24037 "typetext" : "<boolean>"
24038 },
24039 "cores" : {
24040 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
24041 "maximum" : 128,
24042 "minimum" : 1,
24043 "optional" : 1,
24044 "type" : "integer",
24045 "typetext" : "<integer> (1 - 128)"
24046 },
24047 "cpulimit" : {
24048 "default" : 0,
24049 "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.",
24050 "maximum" : 128,
24051 "minimum" : 0,
24052 "optional" : 1,
24053 "type" : "number",
24054 "typetext" : "<number> (0 - 128)"
24055 },
24056 "cpuunits" : {
24057 "default" : 1024,
24058 "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.",
24059 "maximum" : 500000,
24060 "minimum" : 0,
24061 "optional" : 1,
24062 "type" : "integer",
24063 "typetext" : "<integer> (0 - 500000)"
24064 },
24065 "description" : {
24066 "description" : "Container description. Only used on the configuration web interface.",
24067 "optional" : 1,
24068 "type" : "string",
24069 "typetext" : "<string>"
24070 },
24071 "features" : {
24072 "description" : "Allow containers access to advanced features.",
24073 "format" : {
e2d681b3
TL
24074 "fuse" : {
24075 "default" : 0,
24076 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
24077 "optional" : 1,
24078 "type" : "boolean"
24079 },
4d47f125
TL
24080 "keyctl" : {
24081 "default" : 0,
24082 "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.",
24083 "optional" : 1,
24084 "type" : "boolean"
7aacca6f 24085 },
4d47f125
TL
24086 "mount" : {
24087 "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.",
24088 "format_description" : "fstype;fstype;...",
24089 "optional" : 1,
24090 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
24091 "type" : "string"
56122987 24092 },
4d47f125
TL
24093 "nesting" : {
24094 "default" : 0,
24095 "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.",
24096 "optional" : 1,
24097 "type" : "boolean"
44660702 24098 }
4d47f125
TL
24099 },
24100 "optional" : 1,
24101 "type" : "string",
e2d681b3 24102 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 24103 },
4d47f125
TL
24104 "force" : {
24105 "description" : "Allow to overwrite existing container.",
24106 "optional" : 1,
24107 "type" : "boolean",
24108 "typetext" : "<boolean>"
24109 },
5f26e15b
TL
24110 "hookscript" : {
24111 "description" : "Script that will be exectued during various steps in the containers lifetime.",
24112 "format" : "pve-volume-id",
24113 "optional" : 1,
24114 "type" : "string",
24115 "typetext" : "<string>"
24116 },
4d47f125
TL
24117 "hostname" : {
24118 "description" : "Set a host name for the container.",
24119 "format" : "dns-name",
24120 "maxLength" : 255,
24121 "optional" : 1,
24122 "type" : "string",
24123 "typetext" : "<string>"
24124 },
24125 "ignore-unpack-errors" : {
24126 "description" : "Ignore errors when extracting the template.",
24127 "optional" : 1,
24128 "type" : "boolean",
24129 "typetext" : "<boolean>"
24130 },
24131 "lock" : {
24132 "description" : "Lock/unlock the VM.",
24133 "enum" : [
24134 "backup",
24135 "disk",
24136 "migrate",
24137 "mounted",
24138 "rollback",
24139 "snapshot",
24140 "snapshot-delete"
24141 ],
24142 "optional" : 1,
24143 "type" : "string"
24144 },
24145 "memory" : {
24146 "default" : 512,
24147 "description" : "Amount of RAM for the VM in MB.",
24148 "minimum" : 16,
24149 "optional" : 1,
24150 "type" : "integer",
24151 "typetext" : "<integer> (16 - N)"
24152 },
24153 "mp[n]" : {
24154 "description" : "Use volume as container mount point.",
24155 "format" : {
24156 "acl" : {
24157 "description" : "Explicitly enable or disable ACL support.",
24158 "optional" : 1,
24159 "type" : "boolean"
56122987 24160 },
4d47f125
TL
24161 "backup" : {
24162 "description" : "Whether to include the mount point in backups.",
24163 "optional" : 1,
24164 "type" : "boolean",
24165 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 24166 },
4d47f125
TL
24167 "mp" : {
24168 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
24169 "format" : "pve-lxc-mp-string",
24170 "format_description" : "Path",
24171 "type" : "string",
24172 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 24173 },
4d47f125
TL
24174 "quota" : {
24175 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24176 "optional" : 1,
24177 "type" : "boolean"
24178 },
24179 "replicate" : {
24180 "default" : 1,
24181 "description" : "Will include this volume to a storage replica job.",
24182 "optional" : 1,
24183 "type" : "boolean"
24184 },
24185 "ro" : {
24186 "description" : "Read-only mount point",
24187 "optional" : 1,
24188 "type" : "boolean"
24189 },
24190 "shared" : {
24191 "default" : 0,
24192 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24193 "optional" : 1,
24194 "type" : "boolean",
24195 "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 24196 },
4d47f125
TL
24197 "size" : {
24198 "description" : "Volume size (read only value).",
24199 "format" : "disk-size",
24200 "format_description" : "DiskSize",
24201 "optional" : 1,
24202 "type" : "string"
24203 },
24204 "volume" : {
24205 "default_key" : 1,
24206 "description" : "Volume, device or directory to mount into the container.",
24207 "format" : "pve-lxc-mp-string",
24208 "format_description" : "volume",
44660702
DM
24209 "type" : "string"
24210 }
4d47f125
TL
24211 },
24212 "optional" : 1,
24213 "type" : "string",
24214 "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 24215 },
4d47f125
TL
24216 "nameserver" : {
24217 "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.",
24218 "format" : "address-list",
24219 "optional" : 1,
24220 "type" : "string",
24221 "typetext" : "<string>"
24222 },
24223 "net[n]" : {
24224 "description" : "Specifies network interfaces for the container.",
24225 "format" : {
24226 "bridge" : {
24227 "description" : "Bridge to attach the network device to.",
24228 "format_description" : "bridge",
24229 "optional" : 1,
24230 "pattern" : "[-_.\\w\\d]+",
24231 "type" : "string"
56122987 24232 },
4d47f125
TL
24233 "firewall" : {
24234 "description" : "Controls whether this interface's firewall rules should be used.",
24235 "optional" : 1,
24236 "type" : "boolean"
56122987 24237 },
4d47f125
TL
24238 "gw" : {
24239 "description" : "Default gateway for IPv4 traffic.",
24240 "format" : "ipv4",
24241 "format_description" : "GatewayIPv4",
24242 "optional" : 1,
24243 "type" : "string"
24244 },
24245 "gw6" : {
24246 "description" : "Default gateway for IPv6 traffic.",
24247 "format" : "ipv6",
24248 "format_description" : "GatewayIPv6",
24249 "optional" : 1,
24250 "type" : "string"
24251 },
24252 "hwaddr" : {
24253 "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)",
24254 "format_description" : "XX:XX:XX:XX:XX:XX",
24255 "optional" : 1,
24256 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
24257 "type" : "string"
24258 },
24259 "ip" : {
24260 "description" : "IPv4 address in CIDR format.",
24261 "format" : "pve-ipv4-config",
24262 "format_description" : "(IPv4/CIDR|dhcp|manual)",
24263 "optional" : 1,
24264 "type" : "string"
24265 },
24266 "ip6" : {
24267 "description" : "IPv6 address in CIDR format.",
24268 "format" : "pve-ipv6-config",
24269 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
24270 "optional" : 1,
24271 "type" : "string"
24272 },
24273 "mtu" : {
24274 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
24275 "minimum" : 64,
24276 "optional" : 1,
24277 "type" : "integer"
24278 },
24279 "name" : {
24280 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
24281 "format_description" : "string",
24282 "pattern" : "[-_.\\w\\d]+",
24283 "type" : "string"
24284 },
24285 "rate" : {
24286 "description" : "Apply rate limiting to the interface",
24287 "format_description" : "mbps",
24288 "optional" : 1,
24289 "type" : "number"
24290 },
24291 "tag" : {
24292 "description" : "VLAN tag for this interface.",
24293 "maximum" : 4094,
24294 "minimum" : 1,
24295 "optional" : 1,
24296 "type" : "integer"
24297 },
24298 "trunks" : {
24299 "description" : "VLAN ids to pass through the interface",
24300 "format_description" : "vlanid[;vlanid...]",
24301 "optional" : 1,
24302 "pattern" : "(?^:\\d+(?:;\\d+)*)",
24303 "type" : "string"
24304 },
24305 "type" : {
24306 "description" : "Network interface type.",
24307 "enum" : [
24308 "veth"
24309 ],
24310 "optional" : 1,
24311 "type" : "string"
7aacca6f 24312 }
4d47f125
TL
24313 },
24314 "optional" : 1,
24315 "type" : "string",
24316 "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 24317 },
4d47f125
TL
24318 "node" : {
24319 "description" : "The cluster node name.",
24320 "format" : "pve-node",
24321 "type" : "string",
24322 "typetext" : "<string>"
24323 },
24324 "onboot" : {
24325 "default" : 0,
24326 "description" : "Specifies whether a VM will be started during system bootup.",
24327 "optional" : 1,
24328 "type" : "boolean",
24329 "typetext" : "<boolean>"
24330 },
24331 "ostemplate" : {
24332 "description" : "The OS template or backup file.",
24333 "maxLength" : 255,
24334 "type" : "string",
24335 "typetext" : "<string>"
24336 },
24337 "ostype" : {
24338 "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.",
24339 "enum" : [
24340 "debian",
24341 "ubuntu",
24342 "centos",
24343 "fedora",
24344 "opensuse",
24345 "archlinux",
24346 "alpine",
24347 "gentoo",
24348 "unmanaged"
24349 ],
24350 "optional" : 1,
24351 "type" : "string"
24352 },
24353 "password" : {
24354 "description" : "Sets root password inside container.",
24355 "minLength" : 5,
24356 "optional" : 1,
24357 "type" : "string",
24358 "typetext" : "<string>"
24359 },
24360 "pool" : {
24361 "description" : "Add the VM to the specified pool.",
24362 "format" : "pve-poolid",
24363 "optional" : 1,
24364 "type" : "string",
24365 "typetext" : "<string>"
24366 },
24367 "protection" : {
24368 "default" : 0,
24369 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
24370 "optional" : 1,
24371 "type" : "boolean",
24372 "typetext" : "<boolean>"
24373 },
24374 "restore" : {
24375 "description" : "Mark this as restore task.",
24376 "optional" : 1,
24377 "type" : "boolean",
24378 "typetext" : "<boolean>"
24379 },
24380 "rootfs" : {
24381 "description" : "Use volume as container root.",
24382 "format" : {
24383 "acl" : {
24384 "description" : "Explicitly enable or disable ACL support.",
24385 "optional" : 1,
24386 "type" : "boolean"
56122987 24387 },
4d47f125
TL
24388 "quota" : {
24389 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24390 "optional" : 1,
24391 "type" : "boolean"
7aacca6f 24392 },
4d47f125
TL
24393 "replicate" : {
24394 "default" : 1,
24395 "description" : "Will include this volume to a storage replica job.",
24396 "optional" : 1,
24397 "type" : "boolean"
24398 },
24399 "ro" : {
24400 "description" : "Read-only mount point",
24401 "optional" : 1,
24402 "type" : "boolean"
24403 },
24404 "shared" : {
24405 "default" : 0,
24406 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24407 "optional" : 1,
24408 "type" : "boolean",
24409 "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!"
24410 },
24411 "size" : {
24412 "description" : "Volume size (read only value).",
24413 "format" : "disk-size",
24414 "format_description" : "DiskSize",
24415 "optional" : 1,
24416 "type" : "string"
24417 },
24418 "volume" : {
24419 "default_key" : 1,
24420 "description" : "Volume, device or directory to mount into the container.",
24421 "format" : "pve-lxc-mp-string",
24422 "format_description" : "volume",
24423 "type" : "string"
56122987 24424 }
4d47f125
TL
24425 },
24426 "optional" : 1,
24427 "type" : "string",
24428 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 24429 },
4d47f125
TL
24430 "searchdomain" : {
24431 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
24432 "format" : "dns-name-list",
24433 "optional" : 1,
24434 "type" : "string",
24435 "typetext" : "<string>"
24436 },
24437 "ssh-public-keys" : {
24438 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
24439 "optional" : 1,
24440 "type" : "string",
24441 "typetext" : "<string>"
24442 },
24443 "start" : {
24444 "default" : 0,
24445 "description" : "Start the CT after its creation finished successfully.",
24446 "optional" : 1,
24447 "type" : "boolean",
24448 "typetext" : "<boolean>"
24449 },
24450 "startup" : {
24451 "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.",
24452 "format" : "pve-startup-order",
24453 "optional" : 1,
24454 "type" : "string",
24455 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
24456 },
24457 "storage" : {
24458 "default" : "local",
24459 "description" : "Default Storage.",
24460 "format" : "pve-storage-id",
24461 "optional" : 1,
24462 "type" : "string",
24463 "typetext" : "<string>"
24464 },
24465 "swap" : {
24466 "default" : 512,
24467 "description" : "Amount of SWAP for the VM in MB.",
24468 "minimum" : 0,
24469 "optional" : 1,
24470 "type" : "integer",
24471 "typetext" : "<integer> (0 - N)"
24472 },
24473 "template" : {
24474 "default" : 0,
24475 "description" : "Enable/disable Template.",
24476 "optional" : 1,
24477 "type" : "boolean",
24478 "typetext" : "<boolean>"
24479 },
24480 "tty" : {
24481 "default" : 2,
24482 "description" : "Specify the number of tty available to the container",
24483 "maximum" : 6,
24484 "minimum" : 0,
24485 "optional" : 1,
24486 "type" : "integer",
24487 "typetext" : "<integer> (0 - 6)"
24488 },
24489 "unprivileged" : {
24490 "default" : 0,
24491 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
24492 "optional" : 1,
24493 "type" : "boolean",
24494 "typetext" : "<boolean>"
24495 },
24496 "unused[n]" : {
24497 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
24498 "format" : "pve-volume-id",
24499 "optional" : 1,
24500 "type" : "string",
24501 "typetext" : "<string>"
24502 },
24503 "vmid" : {
24504 "description" : "The (unique) ID of the VM.",
24505 "format" : "pve-vmid",
24506 "minimum" : 1,
24507 "type" : "integer",
24508 "typetext" : "<integer> (1 - N)"
24509 }
24510 }
24511 },
24512 "permissions" : {
24513 "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.",
24514 "user" : "all"
24515 },
24516 "protected" : 1,
24517 "proxyto" : "node",
24518 "returns" : {
24519 "type" : "string"
24520 }
24521 }
24522 },
24523 "leaf" : 0,
24524 "path" : "/nodes/{node}/lxc",
24525 "text" : "lxc"
24526 },
24527 {
24528 "children" : [
24529 {
24530 "children" : [
56122987 24531 {
4d47f125
TL
24532 "children" : [
24533 {
24534 "info" : {
24535 "POST" : {
24536 "description" : "ceph osd in",
24537 "method" : "POST",
24538 "name" : "in",
24539 "parameters" : {
24540 "additionalProperties" : 0,
24541 "properties" : {
24542 "node" : {
24543 "description" : "The cluster node name.",
24544 "format" : "pve-node",
24545 "type" : "string",
24546 "typetext" : "<string>"
24547 },
24548 "osdid" : {
24549 "description" : "OSD ID",
24550 "type" : "integer",
24551 "typetext" : "<integer>"
24552 }
24553 }
27a7acb2 24554 },
4d47f125
TL
24555 "permissions" : {
24556 "check" : [
24557 "perm",
24558 "/",
24559 [
24560 "Sys.Modify"
24561 ]
24562 ]
44660702 24563 },
4d47f125
TL
24564 "protected" : 1,
24565 "proxyto" : "node",
24566 "returns" : {
24567 "type" : "null"
7aacca6f
DM
24568 }
24569 }
56122987 24570 },
4d47f125
TL
24571 "leaf" : 1,
24572 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
24573 "text" : "in"
24574 },
24575 {
24576 "info" : {
24577 "POST" : {
24578 "description" : "ceph osd out",
24579 "method" : "POST",
24580 "name" : "out",
24581 "parameters" : {
24582 "additionalProperties" : 0,
24583 "properties" : {
24584 "node" : {
24585 "description" : "The cluster node name.",
24586 "format" : "pve-node",
24587 "type" : "string",
24588 "typetext" : "<string>"
24589 },
24590 "osdid" : {
24591 "description" : "OSD ID",
24592 "type" : "integer",
24593 "typetext" : "<integer>"
24594 }
24595 }
24596 },
24597 "permissions" : {
24598 "check" : [
56122987 24599 "perm",
4d47f125 24600 "/",
56122987 24601 [
4d47f125 24602 "Sys.Modify"
56122987 24603 ]
56122987 24604 ]
44660702 24605 },
4d47f125
TL
24606 "protected" : 1,
24607 "proxyto" : "node",
24608 "returns" : {
24609 "type" : "null"
56122987 24610 }
44660702 24611 }
56122987 24612 },
4d47f125
TL
24613 "leaf" : 1,
24614 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
24615 "text" : "out"
56122987 24616 }
4d47f125 24617 ],
27a7acb2 24618 "info" : {
4d47f125
TL
24619 "DELETE" : {
24620 "description" : "Destroy OSD",
24621 "method" : "DELETE",
24622 "name" : "destroyosd",
27a7acb2
DM
24623 "parameters" : {
24624 "additionalProperties" : 0,
24625 "properties" : {
4d47f125 24626 "cleanup" : {
27a7acb2 24627 "default" : 0,
4d47f125 24628 "description" : "If set, we remove partition table entries.",
27a7acb2 24629 "optional" : 1,
4d47f125
TL
24630 "type" : "boolean",
24631 "typetext" : "<boolean>"
24632 },
24633 "node" : {
24634 "description" : "The cluster node name.",
24635 "format" : "pve-node",
24636 "type" : "string",
24637 "typetext" : "<string>"
24638 },
24639 "osdid" : {
24640 "description" : "OSD ID",
24641 "type" : "integer",
24642 "typetext" : "<integer>"
24643 }
24644 }
27a7acb2
DM
24645 },
24646 "protected" : 1,
24647 "proxyto" : "node",
24648 "returns" : {
24649 "type" : "string"
24650 }
24651 }
24652 },
4d47f125
TL
24653 "leaf" : 0,
24654 "path" : "/nodes/{node}/ceph/osd/{osdid}",
24655 "text" : "{osdid}"
56122987
DM
24656 }
24657 ],
24658 "info" : {
4d47f125
TL
24659 "GET" : {
24660 "description" : "Get Ceph osd list/tree.",
24661 "method" : "GET",
24662 "name" : "index",
44660702
DM
24663 "parameters" : {
24664 "additionalProperties" : 0,
24665 "properties" : {
24666 "node" : {
24667 "description" : "The cluster node name.",
24668 "format" : "pve-node",
013dc89f
DM
24669 "type" : "string",
24670 "typetext" : "<string>"
44660702
DM
24671 }
24672 }
24673 },
7aacca6f
DM
24674 "permissions" : {
24675 "check" : [
24676 "perm",
4d47f125 24677 "/",
7aacca6f 24678 [
4d47f125
TL
24679 "Sys.Audit",
24680 "Datastore.Audit"
24681 ],
24682 "any",
24683 1
24684 ]
24685 },
24686 "protected" : 1,
24687 "proxyto" : "node",
24688 "returns" : {
24689 "type" : "object"
24690 }
24691 },
24692 "POST" : {
24693 "description" : "Create OSD",
24694 "method" : "POST",
24695 "name" : "createosd",
24696 "parameters" : {
24697 "additionalProperties" : 0,
24698 "properties" : {
24699 "bluestore" : {
24700 "default" : 1,
24701 "description" : "Use bluestore instead of filestore. This is the default.",
44660702 24702 "optional" : 1,
4bd7df8b 24703 "type" : "boolean",
4d47f125 24704 "typetext" : "<boolean>"
44660702 24705 },
4d47f125
TL
24706 "dev" : {
24707 "description" : "Block device name.",
4bd7df8b 24708 "type" : "string",
4d47f125 24709 "typetext" : "<string>"
44660702 24710 },
4d47f125
TL
24711 "fstype" : {
24712 "default" : "xfs",
24713 "description" : "File system type (filestore only).",
24714 "enum" : [
24715 "xfs",
24716 "ext4"
24717 ],
7aacca6f 24718 "optional" : 1,
4d47f125 24719 "type" : "string"
44660702 24720 },
4d47f125
TL
24721 "journal_dev" : {
24722 "description" : "Block device name for journal (filestore) or block.db (bluestore).",
5d9c884c 24723 "optional" : 1,
4d47f125
TL
24724 "type" : "string",
24725 "typetext" : "<string>"
5d9c884c 24726 },
4d47f125
TL
24727 "node" : {
24728 "description" : "The cluster node name.",
24729 "format" : "pve-node",
24730 "type" : "string",
24731 "typetext" : "<string>"
7aacca6f 24732 },
4d47f125
TL
24733 "wal_dev" : {
24734 "description" : "Block device name for block.wal (bluestore only).",
de0983cb 24735 "optional" : 1,
4d47f125
TL
24736 "type" : "string",
24737 "typetext" : "<string>"
24738 }
24739 }
24740 },
24741 "protected" : 1,
24742 "proxyto" : "node",
24743 "returns" : {
24744 "type" : "string"
24745 }
24746 }
24747 },
24748 "leaf" : 0,
24749 "path" : "/nodes/{node}/ceph/osd",
24750 "text" : "osd"
24751 },
e2d681b3
TL
24752 {
24753 "children" : [
24754 {
24755 "info" : {
24756 "DELETE" : {
24757 "description" : "Destroy Ceph Metadata Server",
24758 "method" : "DELETE",
24759 "name" : "destroymds",
24760 "parameters" : {
24761 "additionalProperties" : 0,
24762 "properties" : {
24763 "name" : {
24764 "description" : "The name (ID) of the mds",
24765 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24766 "type" : "string"
24767 },
24768 "node" : {
24769 "description" : "The cluster node name.",
24770 "format" : "pve-node",
24771 "type" : "string",
24772 "typetext" : "<string>"
24773 }
24774 }
24775 },
24776 "permissions" : {
24777 "check" : [
24778 "perm",
24779 "/",
24780 [
24781 "Sys.Modify"
24782 ]
24783 ]
24784 },
24785 "protected" : 1,
24786 "proxyto" : "node",
24787 "returns" : {
24788 "type" : "string"
24789 }
24790 },
24791 "POST" : {
24792 "description" : "Create Ceph Metadata Server (MDS)",
24793 "method" : "POST",
24794 "name" : "createmds",
24795 "parameters" : {
24796 "additionalProperties" : 0,
24797 "properties" : {
24798 "hotstandby" : {
24799 "default" : "0",
24800 "description" : "Determines whether a ceph-mds daemon should poll and replay the log of an active MDS. Faster switch on MDS failure, but needs more idle resources.",
24801 "optional" : 1,
24802 "type" : "boolean",
24803 "typetext" : "<boolean>"
24804 },
24805 "name" : {
24806 "default" : "nodename",
24807 "description" : "The ID for the mds, when omitted the same as the nodename",
24808 "optional" : 1,
24809 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24810 "type" : "string"
24811 },
24812 "node" : {
24813 "description" : "The cluster node name.",
24814 "format" : "pve-node",
24815 "type" : "string",
24816 "typetext" : "<string>"
24817 }
24818 }
24819 },
24820 "permissions" : {
24821 "check" : [
24822 "perm",
24823 "/",
24824 [
24825 "Sys.Modify"
24826 ]
24827 ]
24828 },
24829 "protected" : 1,
24830 "proxyto" : "node",
24831 "returns" : {
24832 "type" : "string"
24833 }
24834 }
24835 },
24836 "leaf" : 1,
24837 "path" : "/nodes/{node}/ceph/mds/{name}",
24838 "text" : "{name}"
24839 }
24840 ],
24841 "info" : {
24842 "GET" : {
24843 "description" : "MDS directory index.",
24844 "method" : "GET",
24845 "name" : "index",
24846 "parameters" : {
24847 "additionalProperties" : 0,
24848 "properties" : {
24849 "node" : {
24850 "description" : "The cluster node name.",
24851 "format" : "pve-node",
24852 "type" : "string",
24853 "typetext" : "<string>"
24854 }
24855 }
24856 },
24857 "permissions" : {
24858 "check" : [
24859 "perm",
24860 "/",
24861 [
24862 "Sys.Audit",
24863 "Datastore.Audit"
24864 ],
24865 "any",
24866 1
24867 ]
24868 },
24869 "protected" : 1,
24870 "proxyto" : "node",
24871 "returns" : {
24872 "items" : {
24873 "properties" : {
24874 "addr" : {
24875 "optional" : 1,
24876 "type" : "string"
24877 },
24878 "host" : {
24879 "optional" : 1,
24880 "type" : "string"
24881 },
24882 "name" : {
24883 "description" : "The name (ID) for the MDS"
24884 },
24885 "rank" : {
24886 "optional" : 1,
24887 "type" : "integer"
24888 },
24889 "standby_replay" : {
24890 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
24891 "optional" : 1,
24892 "type" : "boolean"
24893 },
24894 "state" : {
24895 "description" : "State of the MDS",
24896 "type" : "string"
24897 }
24898 },
24899 "type" : "object"
24900 },
24901 "links" : [
24902 {
24903 "href" : "{name}",
24904 "rel" : "child"
24905 }
24906 ],
24907 "type" : "array"
24908 }
24909 }
24910 },
24911 "leaf" : 0,
24912 "path" : "/nodes/{node}/ceph/mds",
24913 "text" : "mds"
24914 },
24915 {
24916 "children" : [
24917 {
24918 "info" : {
5f26e15b
TL
24919 "DELETE" : {
24920 "description" : "Destroy Ceph Manager.",
24921 "method" : "DELETE",
24922 "name" : "destroymgr",
e2d681b3
TL
24923 "parameters" : {
24924 "additionalProperties" : 0,
24925 "properties" : {
5f26e15b
TL
24926 "id" : {
24927 "description" : "The ID of the manager",
24928 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24929 "type" : "string"
e2d681b3
TL
24930 },
24931 "node" : {
24932 "description" : "The cluster node name.",
24933 "format" : "pve-node",
24934 "type" : "string",
24935 "typetext" : "<string>"
e2d681b3
TL
24936 }
24937 }
24938 },
24939 "permissions" : {
24940 "check" : [
24941 "perm",
24942 "/",
24943 [
24944 "Sys.Modify"
24945 ]
24946 ]
24947 },
24948 "protected" : 1,
24949 "proxyto" : "node",
24950 "returns" : {
24951 "type" : "string"
24952 }
24953 }
24954 },
24955 "leaf" : 1,
5f26e15b
TL
24956 "path" : "/nodes/{node}/ceph/mgr/{id}",
24957 "text" : "{id}"
e2d681b3
TL
24958 }
24959 ],
24960 "info" : {
5f26e15b
TL
24961 "POST" : {
24962 "description" : "Create Ceph Manager",
24963 "method" : "POST",
24964 "name" : "createmgr",
e2d681b3
TL
24965 "parameters" : {
24966 "additionalProperties" : 0,
24967 "properties" : {
5f26e15b
TL
24968 "id" : {
24969 "description" : "The ID for the manager, when omitted the same as the nodename",
24970 "optional" : 1,
24971 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24972 "type" : "string"
24973 },
e2d681b3
TL
24974 "node" : {
24975 "description" : "The cluster node name.",
24976 "format" : "pve-node",
24977 "type" : "string",
24978 "typetext" : "<string>"
24979 }
24980 }
24981 },
24982 "permissions" : {
24983 "check" : [
24984 "perm",
24985 "/",
24986 [
5f26e15b
TL
24987 "Sys.Modify"
24988 ]
e2d681b3
TL
24989 ]
24990 },
24991 "protected" : 1,
5f26e15b 24992 "proxyto" : "node",
e2d681b3 24993 "returns" : {
5f26e15b 24994 "type" : "string"
e2d681b3
TL
24995 }
24996 }
24997 },
24998 "leaf" : 0,
5f26e15b
TL
24999 "path" : "/nodes/{node}/ceph/mgr",
25000 "text" : "mgr"
e2d681b3 25001 },
4d47f125 25002 {
5f26e15b
TL
25003 "children" : [
25004 {
25005 "info" : {
25006 "DELETE" : {
25007 "description" : "Destroy Ceph Monitor and Manager.",
25008 "method" : "DELETE",
25009 "name" : "destroymon",
25010 "parameters" : {
25011 "additionalProperties" : 0,
25012 "properties" : {
25013 "exclude-manager" : {
25014 "default" : 0,
25015 "description" : "When set, removes only the monitor, not the manager",
25016 "optional" : 1,
25017 "type" : "boolean",
25018 "typetext" : "<boolean>"
25019 },
25020 "monid" : {
25021 "description" : "Monitor ID",
25022 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25023 "type" : "string"
25024 },
25025 "node" : {
25026 "description" : "The cluster node name.",
25027 "format" : "pve-node",
25028 "type" : "string",
25029 "typetext" : "<string>"
25030 }
25031 }
25032 },
25033 "permissions" : {
25034 "check" : [
25035 "perm",
25036 "/",
25037 [
25038 "Sys.Modify"
25039 ]
25040 ]
25041 },
25042 "protected" : 1,
25043 "proxyto" : "node",
25044 "returns" : {
7aacca6f 25045 "type" : "string"
56122987 25046 }
4d47f125 25047 }
56122987 25048 },
5f26e15b
TL
25049 "leaf" : 1,
25050 "path" : "/nodes/{node}/ceph/mon/{monid}",
25051 "text" : "{monid}"
25052 }
25053 ],
25054 "info" : {
25055 "GET" : {
25056 "description" : "Get Ceph monitor list.",
25057 "method" : "GET",
25058 "name" : "listmon",
25059 "parameters" : {
25060 "additionalProperties" : 0,
25061 "properties" : {
25062 "node" : {
25063 "description" : "The cluster node name.",
25064 "format" : "pve-node",
25065 "type" : "string",
25066 "typetext" : "<string>"
25067 }
25068 }
25069 },
4d47f125
TL
25070 "permissions" : {
25071 "check" : [
25072 "perm",
25073 "/",
25074 [
25075 "Sys.Audit",
25076 "Datastore.Audit"
25077 ],
25078 "any",
25079 1
25080 ]
56122987 25081 },
4d47f125
TL
25082 "protected" : 1,
25083 "proxyto" : "node",
25084 "returns" : {
25085 "items" : {
25086 "properties" : {
5f26e15b 25087 "addr" : {
4d47f125
TL
25088 "type" : "string"
25089 },
5f26e15b 25090 "name" : {
4d47f125
TL
25091 "type" : "string"
25092 }
7aacca6f 25093 },
4d47f125
TL
25094 "type" : "object"
25095 },
5f26e15b
TL
25096 "links" : [
25097 {
25098 "href" : "{name}",
25099 "rel" : "child"
25100 }
25101 ],
4d47f125
TL
25102 "type" : "array"
25103 }
5f26e15b
TL
25104 },
25105 "POST" : {
25106 "description" : "Create Ceph Monitor and Manager",
25107 "method" : "POST",
25108 "name" : "createmon",
4d47f125
TL
25109 "parameters" : {
25110 "additionalProperties" : 0,
25111 "properties" : {
5f26e15b
TL
25112 "exclude-manager" : {
25113 "default" : 0,
25114 "description" : "When set, only a monitor will be created.",
25115 "optional" : 1,
25116 "type" : "boolean",
25117 "typetext" : "<boolean>"
25118 },
25119 "id" : {
25120 "description" : "The ID for the monitor, when omitted the same as the nodename",
25121 "optional" : 1,
25122 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25123 "type" : "string"
25124 },
25125 "mon-address" : {
25126 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
25127 "format" : "ip",
25128 "optional" : 1,
25129 "type" : "string",
25130 "typetext" : "<string>"
25131 },
4d47f125
TL
25132 "node" : {
25133 "description" : "The cluster node name.",
25134 "format" : "pve-node",
25135 "type" : "string",
25136 "typetext" : "<string>"
25137 }
25138 }
25139 },
25140 "permissions" : {
25141 "check" : [
25142 "perm",
25143 "/",
25144 [
5f26e15b
TL
25145 "Sys.Modify"
25146 ]
4d47f125
TL
25147 ]
25148 },
5f26e15b
TL
25149 "protected" : 1,
25150 "proxyto" : "node",
4d47f125
TL
25151 "returns" : {
25152 "type" : "string"
25153 }
25154 }
25155 },
5f26e15b
TL
25156 "leaf" : 0,
25157 "path" : "/nodes/{node}/ceph/mon",
25158 "text" : "mon"
4d47f125
TL
25159 },
25160 {
25161 "children" : [
25162 {
25163 "info" : {
5f26e15b
TL
25164 "POST" : {
25165 "description" : "Create a Ceph filesystem",
25166 "method" : "POST",
25167 "name" : "createfs",
4d47f125
TL
25168 "parameters" : {
25169 "additionalProperties" : 0,
25170 "properties" : {
5f26e15b 25171 "add-storage" : {
4d47f125 25172 "default" : 0,
5f26e15b 25173 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
25174 "optional" : 1,
25175 "type" : "boolean",
25176 "typetext" : "<boolean>"
25177 },
5f26e15b
TL
25178 "name" : {
25179 "default" : "cephfs",
25180 "description" : "The ceph filesystem name.",
25181 "optional" : 1,
25182 "type" : "string",
25183 "typetext" : "<string>"
4d47f125
TL
25184 },
25185 "node" : {
25186 "description" : "The cluster node name.",
25187 "format" : "pve-node",
25188 "type" : "string",
25189 "typetext" : "<string>"
5f26e15b
TL
25190 },
25191 "pg_num" : {
25192 "default" : 128,
25193 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
25194 "maximum" : 32768,
25195 "minimum" : 8,
25196 "optional" : 1,
25197 "type" : "integer",
25198 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
25199 }
25200 }
7aacca6f 25201 },
4d47f125
TL
25202 "permissions" : {
25203 "check" : [
25204 "perm",
25205 "/",
25206 [
25207 "Sys.Modify"
25208 ]
25209 ]
7aacca6f 25210 },
4d47f125
TL
25211 "protected" : 1,
25212 "proxyto" : "node",
25213 "returns" : {
44660702 25214 "type" : "string"
4d47f125
TL
25215 }
25216 }
25217 },
25218 "leaf" : 1,
5f26e15b
TL
25219 "path" : "/nodes/{node}/ceph/fs/{name}",
25220 "text" : "{name}"
4d47f125
TL
25221 }
25222 ],
25223 "info" : {
25224 "GET" : {
5f26e15b 25225 "description" : "Directory index.",
4d47f125 25226 "method" : "GET",
5f26e15b 25227 "name" : "index",
4d47f125
TL
25228 "parameters" : {
25229 "additionalProperties" : 0,
25230 "properties" : {
25231 "node" : {
25232 "description" : "The cluster node name.",
25233 "format" : "pve-node",
25234 "type" : "string",
25235 "typetext" : "<string>"
25236 }
25237 }
25238 },
25239 "permissions" : {
25240 "check" : [
25241 "perm",
25242 "/",
25243 [
25244 "Sys.Audit",
25245 "Datastore.Audit"
25246 ],
25247 "any",
25248 1
25249 ]
25250 },
25251 "protected" : 1,
4d47f125
TL
25252 "returns" : {
25253 "items" : {
25254 "properties" : {
5f26e15b
TL
25255 "data_pool" : {
25256 "description" : "The name of the data pool.",
25257 "type" : "string"
25258 },
25259 "metadata_pool" : {
25260 "description" : "The name of the metadata pool.",
4d47f125
TL
25261 "type" : "string"
25262 },
25263 "name" : {
5f26e15b 25264 "description" : "The ceph filesystem name.",
4d47f125
TL
25265 "type" : "string"
25266 }
7aacca6f 25267 },
4d47f125
TL
25268 "type" : "object"
25269 },
25270 "links" : [
25271 {
25272 "href" : "{name}",
25273 "rel" : "child"
25274 }
25275 ],
25276 "type" : "array"
25277 }
5f26e15b
TL
25278 }
25279 },
25280 "leaf" : 0,
25281 "path" : "/nodes/{node}/ceph/fs",
25282 "text" : "fs"
25283 },
25284 {
25285 "info" : {
25286 "GET" : {
25287 "description" : "List local disks.",
25288 "method" : "GET",
25289 "name" : "disks",
4d47f125
TL
25290 "parameters" : {
25291 "additionalProperties" : 0,
25292 "properties" : {
5f26e15b
TL
25293 "node" : {
25294 "description" : "The cluster node name.",
25295 "format" : "pve-node",
25296 "type" : "string",
25297 "typetext" : "<string>"
44660702 25298 },
5f26e15b
TL
25299 "type" : {
25300 "description" : "Only list specific types of disks.",
25301 "enum" : [
25302 "unused",
25303 "journal_disks"
25304 ],
44660702 25305 "optional" : 1,
44660702 25306 "type" : "string"
5f26e15b
TL
25307 }
25308 }
25309 },
25310 "permissions" : {
25311 "check" : [
25312 "perm",
25313 "/",
25314 [
25315 "Sys.Audit",
25316 "Datastore.Audit"
25317 ],
25318 "any",
25319 1
25320 ]
25321 },
25322 "protected" : 1,
25323 "proxyto" : "node",
25324 "returns" : {
25325 "items" : {
25326 "properties" : {
25327 "dev" : {
25328 "type" : "string"
25329 },
25330 "gpt" : {
25331 "type" : "boolean"
25332 },
25333 "model" : {
25334 "optional" : 1,
25335 "type" : "string"
25336 },
25337 "osdid" : {
25338 "type" : "integer"
25339 },
25340 "serial" : {
25341 "optional" : 1,
25342 "type" : "string"
25343 },
25344 "size" : {
25345 "type" : "integer"
25346 },
25347 "used" : {
25348 "optional" : 1,
25349 "type" : "string"
25350 },
25351 "vendor" : {
25352 "optional" : 1,
25353 "type" : "string"
25354 }
44660702 25355 },
5f26e15b
TL
25356 "type" : "object"
25357 },
25358 "type" : "array"
25359 }
25360 }
25361 },
25362 "leaf" : 1,
25363 "path" : "/nodes/{node}/ceph/disks",
25364 "text" : "disks"
25365 },
25366 {
25367 "info" : {
25368 "GET" : {
25369 "description" : "Get Ceph configuration.",
25370 "method" : "GET",
25371 "name" : "config",
25372 "parameters" : {
25373 "additionalProperties" : 0,
25374 "properties" : {
4d47f125
TL
25375 "node" : {
25376 "description" : "The cluster node name.",
25377 "format" : "pve-node",
25378 "type" : "string",
25379 "typetext" : "<string>"
7aacca6f 25380 }
4d47f125 25381 }
44660702 25382 },
4d47f125
TL
25383 "permissions" : {
25384 "check" : [
25385 "perm",
25386 "/",
25387 [
5f26e15b
TL
25388 "Sys.Audit",
25389 "Datastore.Audit"
25390 ],
25391 "any",
25392 1
4d47f125 25393 ]
56122987 25394 },
4d47f125 25395 "returns" : {
7aacca6f 25396 "type" : "string"
4d47f125
TL
25397 }
25398 }
25399 },
5f26e15b
TL
25400 "leaf" : 1,
25401 "path" : "/nodes/{node}/ceph/config",
25402 "text" : "config"
4d47f125
TL
25403 },
25404 {
25405 "info" : {
25406 "POST" : {
25407 "description" : "Create initial ceph default configuration and setup symlinks.",
25408 "method" : "POST",
25409 "name" : "init",
25410 "parameters" : {
25411 "additionalProperties" : 0,
25412 "properties" : {
e2d681b3
TL
25413 "cluster-network" : {
25414 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
25415 "format" : "CIDR",
25416 "maxLength" : 128,
25417 "optional" : 1,
25418 "requires" : "network",
25419 "type" : "string",
25420 "typetext" : "<string>"
25421 },
4d47f125
TL
25422 "disable_cephx" : {
25423 "default" : 0,
25424 "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 25425 "optional" : 1,
4d47f125
TL
25426 "type" : "boolean",
25427 "typetext" : "<boolean>"
56122987 25428 },
4d47f125
TL
25429 "min_size" : {
25430 "default" : 2,
25431 "description" : "Minimum number of available replicas per object to allow I/O",
25432 "maximum" : 7,
25433 "minimum" : 1,
7aacca6f 25434 "optional" : 1,
4d47f125
TL
25435 "type" : "integer",
25436 "typetext" : "<integer> (1 - 7)"
7aacca6f 25437 },
4d47f125
TL
25438 "network" : {
25439 "description" : "Use specific network for all ceph related traffic",
25440 "format" : "CIDR",
25441 "maxLength" : 128,
5d9c884c 25442 "optional" : 1,
4d47f125
TL
25443 "type" : "string",
25444 "typetext" : "<string>"
5d9c884c 25445 },
4d47f125
TL
25446 "node" : {
25447 "description" : "The cluster node name.",
25448 "format" : "pve-node",
25449 "type" : "string",
25450 "typetext" : "<string>"
7aacca6f 25451 },
4d47f125
TL
25452 "pg_bits" : {
25453 "default" : 6,
25454 "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.",
25455 "maximum" : 14,
25456 "minimum" : 6,
de0983cb 25457 "optional" : 1,
4d47f125
TL
25458 "type" : "integer",
25459 "typetext" : "<integer> (6 - 14)"
de0983cb 25460 },
44660702 25461 "size" : {
4d47f125
TL
25462 "default" : 3,
25463 "description" : "Targeted number of replicas per object",
25464 "maximum" : 7,
25465 "minimum" : 1,
7aacca6f 25466 "optional" : 1,
4d47f125
TL
25467 "type" : "integer",
25468 "typetext" : "<integer> (1 - 7)"
56122987 25469 }
4d47f125 25470 }
44660702 25471 },
4d47f125
TL
25472 "permissions" : {
25473 "check" : [
25474 "perm",
25475 "/",
25476 [
25477 "Sys.Modify"
25478 ]
25479 ]
5da3d723 25480 },
4d47f125
TL
25481 "protected" : 1,
25482 "proxyto" : "node",
25483 "returns" : {
25484 "type" : "null"
25485 }
25486 }
25487 },
25488 "leaf" : 1,
25489 "path" : "/nodes/{node}/ceph/init",
25490 "text" : "init"
25491 },
4d47f125
TL
25492 {
25493 "info" : {
25494 "POST" : {
25495 "description" : "Stop ceph services.",
25496 "method" : "POST",
25497 "name" : "stop",
25498 "parameters" : {
25499 "additionalProperties" : 0,
25500 "properties" : {
25501 "node" : {
25502 "description" : "The cluster node name.",
25503 "format" : "pve-node",
25504 "type" : "string",
25505 "typetext" : "<string>"
25506 },
25507 "service" : {
e2d681b3 25508 "default" : "ceph.target",
4d47f125
TL
25509 "description" : "Ceph service name.",
25510 "optional" : 1,
25511 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
25512 "type" : "string"
25513 }
25514 }
7aacca6f 25515 },
4d47f125
TL
25516 "permissions" : {
25517 "check" : [
25518 "perm",
25519 "/",
25520 [
25521 "Sys.Modify"
25522 ]
25523 ]
7aacca6f 25524 },
4d47f125
TL
25525 "protected" : 1,
25526 "proxyto" : "node",
25527 "returns" : {
25528 "type" : "string"
25529 }
25530 }
25531 },
25532 "leaf" : 1,
25533 "path" : "/nodes/{node}/ceph/stop",
25534 "text" : "stop"
25535 },
25536 {
25537 "info" : {
25538 "POST" : {
25539 "description" : "Start ceph services.",
25540 "method" : "POST",
25541 "name" : "start",
25542 "parameters" : {
25543 "additionalProperties" : 0,
25544 "properties" : {
25545 "node" : {
25546 "description" : "The cluster node name.",
25547 "format" : "pve-node",
25548 "type" : "string",
25549 "typetext" : "<string>"
25550 },
25551 "service" : {
e2d681b3 25552 "default" : "ceph.target",
4d47f125
TL
25553 "description" : "Ceph service name.",
25554 "optional" : 1,
25555 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
25556 "type" : "string"
25557 }
25558 }
44660702 25559 },
4d47f125
TL
25560 "permissions" : {
25561 "check" : [
25562 "perm",
25563 "/",
25564 [
25565 "Sys.Modify"
25566 ]
25567 ]
44660702 25568 },
4d47f125
TL
25569 "protected" : 1,
25570 "proxyto" : "node",
25571 "returns" : {
25572 "type" : "string"
44660702 25573 }
7aacca6f
DM
25574 }
25575 },
4d47f125
TL
25576 "leaf" : 1,
25577 "path" : "/nodes/{node}/ceph/start",
25578 "text" : "start"
25579 },
e2d681b3
TL
25580 {
25581 "info" : {
25582 "POST" : {
25583 "description" : "Restart ceph services.",
25584 "method" : "POST",
25585 "name" : "restart",
25586 "parameters" : {
25587 "additionalProperties" : 0,
25588 "properties" : {
25589 "node" : {
25590 "description" : "The cluster node name.",
25591 "format" : "pve-node",
25592 "type" : "string",
25593 "typetext" : "<string>"
25594 },
25595 "service" : {
25596 "default" : "ceph.target",
25597 "description" : "Ceph service name.",
25598 "optional" : 1,
25599 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
25600 "type" : "string"
25601 }
25602 }
25603 },
25604 "permissions" : {
25605 "check" : [
25606 "perm",
25607 "/",
25608 [
25609 "Sys.Modify"
25610 ]
25611 ]
25612 },
25613 "protected" : 1,
25614 "proxyto" : "node",
25615 "returns" : {
25616 "type" : "string"
25617 }
25618 }
25619 },
25620 "leaf" : 1,
25621 "path" : "/nodes/{node}/ceph/restart",
25622 "text" : "restart"
25623 },
4d47f125
TL
25624 {
25625 "info" : {
25626 "GET" : {
25627 "description" : "Get ceph status.",
25628 "method" : "GET",
25629 "name" : "status",
25630 "parameters" : {
25631 "additionalProperties" : 0,
25632 "properties" : {
25633 "node" : {
25634 "description" : "The cluster node name.",
25635 "format" : "pve-node",
25636 "type" : "string",
25637 "typetext" : "<string>"
25638 }
25639 }
25640 },
25641 "permissions" : {
25642 "check" : [
25643 "perm",
25644 "/",
25645 [
25646 "Sys.Audit",
25647 "Datastore.Audit"
25648 ],
25649 "any",
25650 1
25651 ]
25652 },
25653 "protected" : 1,
25654 "proxyto" : "node",
25655 "returns" : {
25656 "type" : "object"
25657 }
25658 }
44660702 25659 },
4d47f125
TL
25660 "leaf" : 1,
25661 "path" : "/nodes/{node}/ceph/status",
25662 "text" : "status"
25663 },
44660702 25664 {
56122987
DM
25665 "children" : [
25666 {
44660702
DM
25667 "info" : {
25668 "DELETE" : {
4d47f125 25669 "description" : "Destroy pool",
44660702 25670 "method" : "DELETE",
4d47f125 25671 "name" : "destroypool",
44660702
DM
25672 "parameters" : {
25673 "additionalProperties" : 0,
25674 "properties" : {
4d47f125 25675 "force" : {
44660702 25676 "default" : 0,
4d47f125 25677 "description" : "If true, destroys pool even if in use",
44660702 25678 "optional" : 1,
013dc89f
DM
25679 "type" : "boolean",
25680 "typetext" : "<boolean>"
7aacca6f 25681 },
4d47f125
TL
25682 "name" : {
25683 "description" : "The name of the pool. It must be unique.",
25684 "type" : "string",
25685 "typetext" : "<string>"
25686 },
44660702
DM
25687 "node" : {
25688 "description" : "The cluster node name.",
25689 "format" : "pve-node",
013dc89f
DM
25690 "type" : "string",
25691 "typetext" : "<string>"
56122987 25692 },
4d47f125
TL
25693 "remove_storages" : {
25694 "default" : 0,
25695 "description" : "Remove all pveceph-managed storages configured for this pool",
25696 "optional" : 1,
25697 "type" : "boolean",
25698 "typetext" : "<boolean>"
44660702 25699 }
56122987
DM
25700 }
25701 },
4d47f125
TL
25702 "permissions" : {
25703 "check" : [
25704 "perm",
25705 "/",
25706 [
25707 "Sys.Modify"
25708 ]
25709 ]
25710 },
44660702
DM
25711 "protected" : 1,
25712 "proxyto" : "node",
25713 "returns" : {
25714 "type" : "string"
25715 }
25716 }
25717 },
4d47f125
TL
25718 "leaf" : 1,
25719 "path" : "/nodes/{node}/ceph/pools/{name}",
25720 "text" : "{name}"
44660702
DM
25721 }
25722 ],
25723 "info" : {
25724 "GET" : {
4d47f125 25725 "description" : "List all pools.",
44660702 25726 "method" : "GET",
4d47f125 25727 "name" : "lspools",
44660702
DM
25728 "parameters" : {
25729 "additionalProperties" : 0,
25730 "properties" : {
25731 "node" : {
25732 "description" : "The cluster node name.",
25733 "format" : "pve-node",
013dc89f
DM
25734 "type" : "string",
25735 "typetext" : "<string>"
44660702
DM
25736 }
25737 }
25738 },
25739 "permissions" : {
25740 "check" : [
25741 "perm",
25742 "/",
25743 [
25744 "Sys.Audit",
25745 "Datastore.Audit"
25746 ],
25747 "any",
25748 1
25749 ]
25750 },
25751 "protected" : 1,
25752 "proxyto" : "node",
25753 "returns" : {
4d47f125
TL
25754 "items" : {
25755 "properties" : {
25756 "pool" : {
25757 "type" : "integer"
25758 },
25759 "pool_name" : {
25760 "type" : "string"
25761 },
25762 "size" : {
25763 "type" : "integer"
25764 }
25765 },
25766 "type" : "object"
25767 },
25768 "links" : [
25769 {
25770 "href" : "{pool_name}",
25771 "rel" : "child"
25772 }
25773 ],
25774 "type" : "array"
44660702
DM
25775 }
25776 },
25777 "POST" : {
4d47f125 25778 "description" : "Create POOL",
44660702 25779 "method" : "POST",
4d47f125 25780 "name" : "createpool",
44660702
DM
25781 "parameters" : {
25782 "additionalProperties" : 0,
25783 "properties" : {
4d47f125 25784 "add_storages" : {
e2d681b3 25785 "description" : "Configure VM and CT storage using the new pool.",
5d9c884c
DM
25786 "optional" : 1,
25787 "type" : "boolean",
25788 "typetext" : "<boolean>"
25789 },
4d47f125
TL
25790 "application" : {
25791 "description" : "The application of the pool, 'rbd' by default.",
44660702 25792 "enum" : [
4d47f125
TL
25793 "rbd",
25794 "cephfs",
25795 "rgw"
44660702
DM
25796 ],
25797 "optional" : 1,
25798 "type" : "string"
25799 },
4d47f125
TL
25800 "crush_rule" : {
25801 "description" : "The rule to use for mapping object placement in the cluster.",
25802 "optional" : 1,
25803 "type" : "string",
25804 "typetext" : "<string>"
25805 },
25806 "min_size" : {
25807 "default" : 2,
25808 "description" : "Minimum number of replicas per object",
25809 "maximum" : 7,
25810 "minimum" : 1,
44660702 25811 "optional" : 1,
4d47f125
TL
25812 "type" : "integer",
25813 "typetext" : "<integer> (1 - 7)"
25814 },
25815 "name" : {
25816 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
25817 "type" : "string",
25818 "typetext" : "<string>"
44660702
DM
25819 },
25820 "node" : {
25821 "description" : "The cluster node name.",
25822 "format" : "pve-node",
013dc89f
DM
25823 "type" : "string",
25824 "typetext" : "<string>"
2489d6df 25825 },
4d47f125 25826 "pg_num" : {
e2d681b3 25827 "default" : 128,
4d47f125
TL
25828 "description" : "Number of placement groups.",
25829 "maximum" : 32768,
25830 "minimum" : 8,
2489d6df 25831 "optional" : 1,
4d47f125
TL
25832 "type" : "integer",
25833 "typetext" : "<integer> (8 - 32768)"
25834 },
25835 "size" : {
25836 "default" : 3,
25837 "description" : "Number of replicas per object",
25838 "maximum" : 7,
25839 "minimum" : 1,
25840 "optional" : 1,
25841 "type" : "integer",
25842 "typetext" : "<integer> (1 - 7)"
44660702 25843 }
56122987 25844 }
44660702 25845 },
4d47f125
TL
25846 "permissions" : {
25847 "check" : [
25848 "perm",
25849 "/",
25850 [
25851 "Sys.Modify"
25852 ]
25853 ]
25854 },
44660702
DM
25855 "protected" : 1,
25856 "proxyto" : "node",
25857 "returns" : {
25858 "type" : "string"
25859 }
56122987 25860 }
44660702 25861 },
7aacca6f 25862 "leaf" : 0,
4d47f125
TL
25863 "path" : "/nodes/{node}/ceph/pools",
25864 "text" : "pools"
7aacca6f
DM
25865 },
25866 {
4d47f125
TL
25867 "children" : [
25868 {
25869 "info" : {
25870 "DELETE" : {
25871 "description" : "Unset a ceph flag",
25872 "method" : "DELETE",
25873 "name" : "unset_flag",
25874 "parameters" : {
25875 "additionalProperties" : 0,
25876 "properties" : {
25877 "flag" : {
25878 "description" : "The ceph flag to set/unset",
25879 "enum" : [
25880 "full",
25881 "pause",
25882 "noup",
25883 "nodown",
25884 "noout",
25885 "noin",
25886 "nobackfill",
25887 "norebalance",
25888 "norecover",
25889 "noscrub",
25890 "nodeep-scrub",
25891 "notieragent"
25892 ],
25893 "type" : "string"
25894 },
25895 "node" : {
25896 "description" : "The cluster node name.",
25897 "format" : "pve-node",
25898 "type" : "string",
25899 "typetext" : "<string>"
25900 }
25901 }
25902 },
25903 "permissions" : {
25904 "check" : [
25905 "perm",
25906 "/",
25907 [
25908 "Sys.Modify"
25909 ]
25910 ]
25911 },
25912 "protected" : 1,
25913 "proxyto" : "node",
25914 "returns" : {
25915 "type" : "null"
25916 }
25917 },
25918 "POST" : {
25919 "description" : "Set a ceph flag",
25920 "method" : "POST",
25921 "name" : "set_flag",
25922 "parameters" : {
25923 "additionalProperties" : 0,
25924 "properties" : {
25925 "flag" : {
25926 "description" : "The ceph flag to set/unset",
25927 "enum" : [
25928 "full",
25929 "pause",
25930 "noup",
25931 "nodown",
25932 "noout",
25933 "noin",
25934 "nobackfill",
25935 "norebalance",
25936 "norecover",
25937 "noscrub",
25938 "nodeep-scrub",
25939 "notieragent"
25940 ],
25941 "type" : "string"
25942 },
25943 "node" : {
25944 "description" : "The cluster node name.",
25945 "format" : "pve-node",
25946 "type" : "string",
25947 "typetext" : "<string>"
25948 }
25949 }
25950 },
25951 "permissions" : {
25952 "check" : [
25953 "perm",
25954 "/",
25955 [
25956 "Sys.Modify"
25957 ]
25958 ]
25959 },
25960 "protected" : 1,
25961 "proxyto" : "node",
25962 "returns" : {
25963 "type" : "null"
25964 }
25965 }
25966 },
25967 "leaf" : 1,
25968 "path" : "/nodes/{node}/ceph/flags/{flag}",
25969 "text" : "{flag}"
25970 }
25971 ],
56122987
DM
25972 "info" : {
25973 "GET" : {
4d47f125 25974 "description" : "get all set ceph flags",
44660702 25975 "method" : "GET",
4d47f125 25976 "name" : "get_flags",
44660702
DM
25977 "parameters" : {
25978 "additionalProperties" : 0,
25979 "properties" : {
25980 "node" : {
25981 "description" : "The cluster node name.",
25982 "format" : "pve-node",
013dc89f
DM
25983 "type" : "string",
25984 "typetext" : "<string>"
44660702
DM
25985 }
25986 }
25987 },
56122987
DM
25988 "permissions" : {
25989 "check" : [
25990 "perm",
25991 "/",
25992 [
4d47f125
TL
25993 "Sys.Audit"
25994 ]
56122987 25995 ]
4d47f125
TL
25996 },
25997 "protected" : 1,
25998 "proxyto" : "node",
25999 "returns" : {
26000 "type" : "string"
44660702 26001 }
56122987 26002 }
44660702 26003 },
4d47f125
TL
26004 "leaf" : 0,
26005 "path" : "/nodes/{node}/ceph/flags",
26006 "text" : "flags"
56122987
DM
26007 },
26008 {
56122987
DM
26009 "info" : {
26010 "GET" : {
4d47f125 26011 "description" : "Get OSD crush map",
44660702 26012 "method" : "GET",
4d47f125 26013 "name" : "crush",
56122987 26014 "parameters" : {
7aacca6f 26015 "additionalProperties" : 0,
56122987 26016 "properties" : {
56122987 26017 "node" : {
7aacca6f 26018 "description" : "The cluster node name.",
44660702 26019 "format" : "pve-node",
013dc89f
DM
26020 "type" : "string",
26021 "typetext" : "<string>"
56122987 26022 }
7aacca6f 26023 }
56122987 26024 },
56122987
DM
26025 "permissions" : {
26026 "check" : [
26027 "perm",
26028 "/",
26029 [
26030 "Sys.Audit",
26031 "Datastore.Audit"
26032 ],
26033 "any",
26034 1
26035 ]
44660702 26036 },
4d47f125
TL
26037 "protected" : 1,
26038 "proxyto" : "node",
44660702
DM
26039 "returns" : {
26040 "type" : "string"
7aacca6f
DM
26041 }
26042 }
44660702
DM
26043 },
26044 "leaf" : 1,
4d47f125
TL
26045 "path" : "/nodes/{node}/ceph/crush",
26046 "text" : "crush"
7aacca6f
DM
26047 },
26048 {
7aacca6f
DM
26049 "info" : {
26050 "GET" : {
4d47f125 26051 "description" : "Read ceph log",
7aacca6f 26052 "method" : "GET",
4d47f125 26053 "name" : "log",
7aacca6f
DM
26054 "parameters" : {
26055 "additionalProperties" : 0,
26056 "properties" : {
4d47f125
TL
26057 "limit" : {
26058 "minimum" : 0,
26059 "optional" : 1,
26060 "type" : "integer",
26061 "typetext" : "<integer> (0 - N)"
26062 },
7aacca6f 26063 "node" : {
7aacca6f 26064 "description" : "The cluster node name.",
44660702 26065 "format" : "pve-node",
013dc89f
DM
26066 "type" : "string",
26067 "typetext" : "<string>"
4d47f125
TL
26068 },
26069 "start" : {
26070 "minimum" : 0,
26071 "optional" : 1,
26072 "type" : "integer",
26073 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
26074 }
26075 }
26076 },
44660702
DM
26077 "permissions" : {
26078 "check" : [
26079 "perm",
4d47f125 26080 "/nodes/{node}",
44660702 26081 [
4d47f125
TL
26082 "Sys.Syslog"
26083 ]
44660702
DM
26084 ]
26085 },
7aacca6f 26086 "protected" : 1,
44660702 26087 "proxyto" : "node",
7aacca6f
DM
26088 "returns" : {
26089 "items" : {
26090 "properties" : {
4d47f125
TL
26091 "n" : {
26092 "description" : "Line number",
26093 "type" : "integer"
56122987 26094 },
4d47f125
TL
26095 "t" : {
26096 "description" : "Line text",
56122987
DM
26097 "type" : "string"
26098 }
7aacca6f
DM
26099 },
26100 "type" : "object"
56122987
DM
26101 },
26102 "type" : "array"
44660702 26103 }
4d47f125
TL
26104 }
26105 },
26106 "leaf" : 1,
26107 "path" : "/nodes/{node}/ceph/log",
26108 "text" : "log"
26109 },
26110 {
26111 "info" : {
26112 "GET" : {
26113 "description" : "List ceph rules.",
26114 "method" : "GET",
26115 "name" : "rules",
44660702
DM
26116 "parameters" : {
26117 "additionalProperties" : 0,
26118 "properties" : {
26119 "node" : {
26120 "description" : "The cluster node name.",
26121 "format" : "pve-node",
013dc89f
DM
26122 "type" : "string",
26123 "typetext" : "<string>"
44660702
DM
26124 }
26125 }
26126 },
7aacca6f
DM
26127 "permissions" : {
26128 "check" : [
26129 "perm",
26130 "/",
26131 [
4d47f125
TL
26132 "Sys.Audit",
26133 "Datastore.Audit"
26134 ],
26135 "any",
26136 1
7aacca6f
DM
26137 ]
26138 },
44660702 26139 "protected" : 1,
7aacca6f 26140 "proxyto" : "node",
56122987 26141 "returns" : {
4d47f125
TL
26142 "items" : {
26143 "properties" : {},
26144 "type" : "object"
26145 },
26146 "links" : [
26147 {
26148 "href" : "{name}",
26149 "rel" : "child"
26150 }
26151 ],
26152 "type" : "array"
44660702 26153 }
56122987 26154 }
44660702 26155 },
4d47f125
TL
26156 "leaf" : 1,
26157 "path" : "/nodes/{node}/ceph/rules",
26158 "text" : "rules"
26159 }
26160 ],
26161 "info" : {
26162 "GET" : {
26163 "description" : "Directory index.",
26164 "method" : "GET",
26165 "name" : "index",
26166 "parameters" : {
26167 "additionalProperties" : 0,
26168 "properties" : {
26169 "node" : {
26170 "description" : "The cluster node name.",
26171 "format" : "pve-node",
26172 "type" : "string",
26173 "typetext" : "<string>"
26174 }
26175 }
26176 },
26177 "permissions" : {
26178 "check" : [
26179 "perm",
26180 "/",
26181 [
26182 "Sys.Audit",
26183 "Datastore.Audit"
26184 ],
26185 "any",
26186 1
26187 ]
26188 },
26189 "returns" : {
26190 "items" : {
26191 "properties" : {},
26192 "type" : "object"
26193 },
26194 "links" : [
26195 {
26196 "href" : "{name}",
26197 "rel" : "child"
26198 }
26199 ],
26200 "type" : "array"
26201 }
26202 }
26203 },
26204 "leaf" : 0,
26205 "path" : "/nodes/{node}/ceph",
26206 "text" : "ceph"
26207 },
26208 {
26209 "children" : [
56122987
DM
26210 {
26211 "info" : {
4d47f125
TL
26212 "GET" : {
26213 "description" : "Extract configuration from vzdump backup archive.",
26214 "method" : "GET",
26215 "name" : "extractconfig",
26216 "parameters" : {
26217 "additionalProperties" : 0,
26218 "properties" : {
44660702
DM
26219 "node" : {
26220 "description" : "The cluster node name.",
26221 "format" : "pve-node",
013dc89f
DM
26222 "type" : "string",
26223 "typetext" : "<string>"
44660702 26224 },
4d47f125
TL
26225 "volume" : {
26226 "description" : "Volume identifier",
26227 "type" : "string",
26228 "typetext" : "<string>"
44660702
DM
26229 }
26230 }
7aacca6f 26231 },
56122987 26232 "permissions" : {
4d47f125
TL
26233 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
26234 "user" : "all"
56122987 26235 },
7aacca6f 26236 "protected" : 1,
44660702
DM
26237 "proxyto" : "node",
26238 "returns" : {
4d47f125 26239 "type" : "string"
7aacca6f
DM
26240 }
26241 }
26242 },
7aacca6f 26243 "leaf" : 1,
4d47f125
TL
26244 "path" : "/nodes/{node}/vzdump/extractconfig",
26245 "text" : "extractconfig"
26246 }
26247 ],
26248 "info" : {
26249 "POST" : {
26250 "description" : "Create backup.",
26251 "method" : "POST",
26252 "name" : "vzdump",
26253 "parameters" : {
26254 "additionalProperties" : 0,
26255 "properties" : {
26256 "all" : {
26257 "default" : 0,
26258 "description" : "Backup all known guest systems on this host.",
26259 "optional" : 1,
26260 "type" : "boolean",
26261 "typetext" : "<boolean>"
26262 },
26263 "bwlimit" : {
26264 "default" : 0,
26265 "description" : "Limit I/O bandwidth (KBytes per second).",
26266 "minimum" : 0,
26267 "optional" : 1,
26268 "type" : "integer",
26269 "typetext" : "<integer> (0 - N)"
26270 },
26271 "compress" : {
26272 "default" : "0",
26273 "description" : "Compress dump file.",
26274 "enum" : [
26275 "0",
26276 "1",
26277 "gzip",
26278 "lzo"
26279 ],
26280 "optional" : 1,
26281 "type" : "string"
26282 },
26283 "dumpdir" : {
26284 "description" : "Store resulting files to specified directory.",
26285 "optional" : 1,
26286 "type" : "string",
26287 "typetext" : "<string>"
26288 },
26289 "exclude" : {
26290 "description" : "Exclude specified guest systems (assumes --all)",
26291 "format" : "pve-vmid-list",
26292 "optional" : 1,
26293 "type" : "string",
26294 "typetext" : "<string>"
26295 },
26296 "exclude-path" : {
26297 "description" : "Exclude certain files/directories (shell globs).",
26298 "format" : "string-alist",
26299 "optional" : 1,
26300 "type" : "string",
26301 "typetext" : "<string>"
26302 },
26303 "ionice" : {
26304 "default" : 7,
26305 "description" : "Set CFQ ionice priority.",
26306 "maximum" : 8,
26307 "minimum" : 0,
26308 "optional" : 1,
26309 "type" : "integer",
26310 "typetext" : "<integer> (0 - 8)"
26311 },
26312 "lockwait" : {
26313 "default" : 180,
26314 "description" : "Maximal time to wait for the global lock (minutes).",
26315 "minimum" : 0,
26316 "optional" : 1,
26317 "type" : "integer",
26318 "typetext" : "<integer> (0 - N)"
26319 },
26320 "mailnotification" : {
26321 "default" : "always",
26322 "description" : "Specify when to send an email",
26323 "enum" : [
26324 "always",
26325 "failure"
26326 ],
26327 "optional" : 1,
26328 "type" : "string"
26329 },
26330 "mailto" : {
26331 "description" : "Comma-separated list of email addresses that should receive email notifications.",
26332 "format" : "string-list",
26333 "optional" : 1,
26334 "type" : "string",
26335 "typetext" : "<string>"
26336 },
26337 "maxfiles" : {
26338 "default" : 1,
26339 "description" : "Maximal number of backup files per guest system.",
26340 "minimum" : 1,
26341 "optional" : 1,
26342 "type" : "integer",
26343 "typetext" : "<integer> (1 - N)"
26344 },
26345 "mode" : {
26346 "default" : "snapshot",
26347 "description" : "Backup mode.",
26348 "enum" : [
26349 "snapshot",
26350 "suspend",
26351 "stop"
26352 ],
26353 "optional" : 1,
26354 "type" : "string"
26355 },
26356 "node" : {
26357 "description" : "Only run if executed on this node.",
26358 "format" : "pve-node",
26359 "optional" : 1,
26360 "type" : "string",
26361 "typetext" : "<string>"
26362 },
26363 "pigz" : {
26364 "default" : 0,
26365 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
26366 "optional" : 1,
26367 "type" : "integer",
26368 "typetext" : "<integer>"
26369 },
26370 "quiet" : {
26371 "default" : 0,
26372 "description" : "Be quiet.",
26373 "optional" : 1,
26374 "type" : "boolean",
26375 "typetext" : "<boolean>"
26376 },
26377 "remove" : {
26378 "default" : 1,
26379 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
26380 "optional" : 1,
26381 "type" : "boolean",
26382 "typetext" : "<boolean>"
26383 },
26384 "script" : {
26385 "description" : "Use specified hook script.",
26386 "optional" : 1,
26387 "type" : "string",
26388 "typetext" : "<string>"
26389 },
26390 "size" : {
26391 "default" : 1024,
26392 "description" : "Unused, will be removed in a future release.",
26393 "minimum" : 500,
26394 "optional" : 1,
26395 "type" : "integer",
26396 "typetext" : "<integer> (500 - N)"
26397 },
26398 "stdexcludes" : {
26399 "default" : 1,
26400 "description" : "Exclude temporary files and logs.",
26401 "optional" : 1,
26402 "type" : "boolean",
26403 "typetext" : "<boolean>"
26404 },
26405 "stdout" : {
26406 "description" : "Write tar to stdout, not to a file.",
26407 "optional" : 1,
26408 "type" : "boolean",
26409 "typetext" : "<boolean>"
26410 },
26411 "stop" : {
26412 "default" : 0,
26413 "description" : "Stop runnig backup jobs on this host.",
26414 "optional" : 1,
26415 "type" : "boolean",
26416 "typetext" : "<boolean>"
26417 },
26418 "stopwait" : {
26419 "default" : 10,
26420 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
26421 "minimum" : 0,
26422 "optional" : 1,
26423 "type" : "integer",
26424 "typetext" : "<integer> (0 - N)"
26425 },
26426 "storage" : {
26427 "description" : "Store resulting file to this storage.",
26428 "format" : "pve-storage-id",
26429 "optional" : 1,
26430 "type" : "string",
26431 "typetext" : "<string>"
26432 },
26433 "tmpdir" : {
26434 "description" : "Store temporary files to specified directory.",
26435 "optional" : 1,
26436 "type" : "string",
26437 "typetext" : "<string>"
26438 },
26439 "vmid" : {
26440 "description" : "The ID of the guest system you want to backup.",
26441 "format" : "pve-vmid-list",
26442 "optional" : 1,
26443 "type" : "string",
26444 "typetext" : "<string>"
26445 }
26446 }
26447 },
26448 "permissions" : {
26449 "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.",
26450 "user" : "all"
26451 },
26452 "protected" : 1,
26453 "proxyto" : "node",
26454 "returns" : {
26455 "type" : "string"
26456 }
26457 }
26458 },
26459 "leaf" : 0,
26460 "path" : "/nodes/{node}/vzdump",
26461 "text" : "vzdump"
26462 },
26463 {
26464 "children" : [
2489d6df
WB
26465 {
26466 "children" : [
26467 {
26468 "info" : {
4d47f125
TL
26469 "GET" : {
26470 "description" : "Read service properties",
26471 "method" : "GET",
26472 "name" : "service_state",
2489d6df
WB
26473 "parameters" : {
26474 "additionalProperties" : 0,
26475 "properties" : {
2489d6df
WB
26476 "node" : {
26477 "description" : "The cluster node name.",
26478 "format" : "pve-node",
26479 "type" : "string",
26480 "typetext" : "<string>"
4d47f125
TL
26481 },
26482 "service" : {
26483 "description" : "Service ID",
26484 "enum" : [
26485 "pveproxy",
26486 "pvedaemon",
26487 "spiceproxy",
26488 "pvestatd",
26489 "pve-cluster",
26490 "corosync",
26491 "pve-firewall",
26492 "pvefw-logger",
26493 "pve-ha-crm",
26494 "pve-ha-lrm",
26495 "sshd",
26496 "syslog",
26497 "cron",
26498 "postfix",
26499 "ksmtuned",
26500 "systemd-timesyncd"
26501 ],
26502 "type" : "string"
2489d6df
WB
26503 }
26504 }
26505 },
26506 "permissions" : {
26507 "check" : [
26508 "perm",
4d47f125 26509 "/nodes/{node}",
2489d6df 26510 [
4d47f125 26511 "Sys.Audit"
2489d6df
WB
26512 ]
26513 ]
26514 },
26515 "protected" : 1,
26516 "proxyto" : "node",
26517 "returns" : {
4d47f125 26518 "type" : "object"
2489d6df
WB
26519 }
26520 }
26521 },
26522 "leaf" : 1,
4d47f125
TL
26523 "path" : "/nodes/{node}/services/{service}/state",
26524 "text" : "state"
26525 },
26526 {
26527 "info" : {
26528 "POST" : {
26529 "description" : "Start service.",
26530 "method" : "POST",
26531 "name" : "service_start",
26532 "parameters" : {
26533 "additionalProperties" : 0,
26534 "properties" : {
26535 "node" : {
26536 "description" : "The cluster node name.",
26537 "format" : "pve-node",
26538 "type" : "string",
26539 "typetext" : "<string>"
26540 },
26541 "service" : {
26542 "description" : "Service ID",
26543 "enum" : [
26544 "pveproxy",
26545 "pvedaemon",
26546 "spiceproxy",
26547 "pvestatd",
26548 "pve-cluster",
26549 "corosync",
26550 "pve-firewall",
26551 "pvefw-logger",
26552 "pve-ha-crm",
26553 "pve-ha-lrm",
26554 "sshd",
26555 "syslog",
26556 "cron",
26557 "postfix",
26558 "ksmtuned",
26559 "systemd-timesyncd"
26560 ],
26561 "type" : "string"
26562 }
26563 }
7aacca6f 26564 },
4d47f125
TL
26565 "permissions" : {
26566 "check" : [
26567 "perm",
26568 "/nodes/{node}",
26569 [
26570 "Sys.Modify"
26571 ]
26572 ]
7aacca6f 26573 },
4d47f125
TL
26574 "protected" : 1,
26575 "proxyto" : "node",
26576 "returns" : {
26577 "type" : "string"
26578 }
26579 }
56122987 26580 },
4d47f125
TL
26581 "leaf" : 1,
26582 "path" : "/nodes/{node}/services/{service}/start",
26583 "text" : "start"
26584 },
44660702
DM
26585 {
26586 "info" : {
4d47f125
TL
26587 "POST" : {
26588 "description" : "Stop service.",
26589 "method" : "POST",
26590 "name" : "service_stop",
44660702
DM
26591 "parameters" : {
26592 "additionalProperties" : 0,
26593 "properties" : {
44660702
DM
26594 "node" : {
26595 "description" : "The cluster node name.",
26596 "format" : "pve-node",
013dc89f
DM
26597 "type" : "string",
26598 "typetext" : "<string>"
2489d6df 26599 },
4d47f125
TL
26600 "service" : {
26601 "description" : "Service ID",
26602 "enum" : [
26603 "pveproxy",
26604 "pvedaemon",
26605 "spiceproxy",
26606 "pvestatd",
26607 "pve-cluster",
26608 "corosync",
26609 "pve-firewall",
26610 "pvefw-logger",
26611 "pve-ha-crm",
26612 "pve-ha-lrm",
26613 "sshd",
26614 "syslog",
26615 "cron",
26616 "postfix",
26617 "ksmtuned",
26618 "systemd-timesyncd"
26619 ],
26620 "type" : "string"
44660702
DM
26621 }
26622 }
26623 },
26624 "permissions" : {
26625 "check" : [
26626 "perm",
4d47f125 26627 "/nodes/{node}",
44660702
DM
26628 [
26629 "Sys.Modify"
26630 ]
26631 ]
26632 },
26633 "protected" : 1,
26634 "proxyto" : "node",
26635 "returns" : {
2489d6df 26636 "type" : "string"
44660702
DM
26637 }
26638 }
26639 },
26640 "leaf" : 1,
4d47f125
TL
26641 "path" : "/nodes/{node}/services/{service}/stop",
26642 "text" : "stop"
7aacca6f 26643 },
32d876b5
DM
26644 {
26645 "info" : {
4d47f125
TL
26646 "POST" : {
26647 "description" : "Restart service.",
26648 "method" : "POST",
26649 "name" : "service_restart",
32d876b5
DM
26650 "parameters" : {
26651 "additionalProperties" : 0,
26652 "properties" : {
4d47f125
TL
26653 "node" : {
26654 "description" : "The cluster node name.",
26655 "format" : "pve-node",
26656 "type" : "string",
26657 "typetext" : "<string>"
26658 },
26659 "service" : {
26660 "description" : "Service ID",
32d876b5 26661 "enum" : [
4d47f125
TL
26662 "pveproxy",
26663 "pvedaemon",
26664 "spiceproxy",
26665 "pvestatd",
26666 "pve-cluster",
26667 "corosync",
26668 "pve-firewall",
26669 "pvefw-logger",
26670 "pve-ha-crm",
26671 "pve-ha-lrm",
26672 "sshd",
26673 "syslog",
26674 "cron",
26675 "postfix",
26676 "ksmtuned",
26677 "systemd-timesyncd"
32d876b5
DM
26678 ],
26679 "type" : "string"
32d876b5
DM
26680 }
26681 }
26682 },
26683 "permissions" : {
26684 "check" : [
26685 "perm",
4d47f125 26686 "/nodes/{node}",
32d876b5
DM
26687 [
26688 "Sys.Modify"
26689 ]
26690 ]
26691 },
26692 "protected" : 1,
26693 "proxyto" : "node",
26694 "returns" : {
4d47f125 26695 "type" : "string"
32d876b5 26696 }
4d47f125
TL
26697 }
26698 },
26699 "leaf" : 1,
26700 "path" : "/nodes/{node}/services/{service}/restart",
26701 "text" : "restart"
26702 },
26703 {
26704 "info" : {
32d876b5 26705 "POST" : {
4d47f125 26706 "description" : "Reload service.",
32d876b5 26707 "method" : "POST",
4d47f125 26708 "name" : "service_reload",
32d876b5
DM
26709 "parameters" : {
26710 "additionalProperties" : 0,
26711 "properties" : {
32d876b5
DM
26712 "node" : {
26713 "description" : "The cluster node name.",
26714 "format" : "pve-node",
26715 "type" : "string",
26716 "typetext" : "<string>"
4d47f125
TL
26717 },
26718 "service" : {
26719 "description" : "Service ID",
26720 "enum" : [
26721 "pveproxy",
26722 "pvedaemon",
26723 "spiceproxy",
26724 "pvestatd",
26725 "pve-cluster",
26726 "corosync",
26727 "pve-firewall",
26728 "pvefw-logger",
26729 "pve-ha-crm",
26730 "pve-ha-lrm",
26731 "sshd",
26732 "syslog",
26733 "cron",
26734 "postfix",
26735 "ksmtuned",
26736 "systemd-timesyncd"
26737 ],
26738 "type" : "string"
32d876b5
DM
26739 }
26740 }
26741 },
26742 "permissions" : {
26743 "check" : [
26744 "perm",
4d47f125 26745 "/nodes/{node}",
32d876b5
DM
26746 [
26747 "Sys.Modify"
26748 ]
26749 ]
26750 },
26751 "protected" : 1,
26752 "proxyto" : "node",
26753 "returns" : {
4d47f125 26754 "type" : "string"
32d876b5
DM
26755 }
26756 }
26757 },
26758 "leaf" : 1,
4d47f125
TL
26759 "path" : "/nodes/{node}/services/{service}/reload",
26760 "text" : "reload"
32d876b5
DM
26761 }
26762 ],
26763 "info" : {
26764 "GET" : {
4d47f125 26765 "description" : "Directory index",
44660702 26766 "method" : "GET",
4d47f125 26767 "name" : "srvcmdidx",
44660702
DM
26768 "parameters" : {
26769 "additionalProperties" : 0,
26770 "properties" : {
44660702
DM
26771 "node" : {
26772 "description" : "The cluster node name.",
26773 "format" : "pve-node",
013dc89f
DM
26774 "type" : "string",
26775 "typetext" : "<string>"
44660702 26776 },
4d47f125
TL
26777 "service" : {
26778 "description" : "Service ID",
26779 "enum" : [
26780 "pveproxy",
26781 "pvedaemon",
26782 "spiceproxy",
26783 "pvestatd",
26784 "pve-cluster",
26785 "corosync",
26786 "pve-firewall",
26787 "pvefw-logger",
26788 "pve-ha-crm",
26789 "pve-ha-lrm",
26790 "sshd",
26791 "syslog",
26792 "cron",
26793 "postfix",
26794 "ksmtuned",
26795 "systemd-timesyncd"
26796 ],
26797 "type" : "string"
44660702 26798 }
7aacca6f 26799 }
56122987 26800 },
56122987
DM
26801 "permissions" : {
26802 "check" : [
26803 "perm",
7aacca6f 26804 "/nodes/{node}",
56122987 26805 [
4d47f125 26806 "Sys.Audit"
56122987
DM
26807 ]
26808 ]
26809 },
44660702
DM
26810 "returns" : {
26811 "items" : {
26812 "properties" : {
4d47f125 26813 "subdir" : {
44660702
DM
26814 "type" : "string"
26815 }
56122987 26816 },
44660702 26817 "type" : "object"
56122987 26818 },
2489d6df
WB
26819 "links" : [
26820 {
4d47f125 26821 "href" : "{subdir}",
2489d6df
WB
26822 "rel" : "child"
26823 }
26824 ],
26825 "type" : "array"
26826 }
26827 }
4d47f125
TL
26828 },
26829 "leaf" : 0,
26830 "path" : "/nodes/{node}/services/{service}",
26831 "text" : "{service}"
7aacca6f
DM
26832 }
26833 ],
44660702
DM
26834 "info" : {
26835 "GET" : {
4d47f125 26836 "description" : "Service list.",
44660702
DM
26837 "method" : "GET",
26838 "name" : "index",
26839 "parameters" : {
26840 "additionalProperties" : 0,
26841 "properties" : {
26842 "node" : {
26843 "description" : "The cluster node name.",
26844 "format" : "pve-node",
013dc89f
DM
26845 "type" : "string",
26846 "typetext" : "<string>"
44660702
DM
26847 }
26848 }
26849 },
26850 "permissions" : {
26851 "check" : [
26852 "perm",
4d47f125 26853 "/nodes/{node}",
44660702 26854 [
4d47f125
TL
26855 "Sys.Audit"
26856 ]
44660702
DM
26857 ]
26858 },
4d47f125
TL
26859 "protected" : 1,
26860 "proxyto" : "node",
44660702
DM
26861 "returns" : {
26862 "items" : {
26863 "properties" : {},
26864 "type" : "object"
26865 },
26866 "links" : [
26867 {
4d47f125 26868 "href" : "{service}",
44660702
DM
26869 "rel" : "child"
26870 }
26871 ],
26872 "type" : "array"
26873 }
26874 }
26875 },
7aacca6f 26876 "leaf" : 0,
4d47f125
TL
26877 "path" : "/nodes/{node}/services",
26878 "text" : "services"
7aacca6f
DM
26879 },
26880 {
7aacca6f 26881 "info" : {
4d47f125
TL
26882 "GET" : {
26883 "description" : "Read subscription info.",
26884 "method" : "GET",
26885 "name" : "get",
7aacca6f 26886 "parameters" : {
44660702 26887 "additionalProperties" : 0,
7aacca6f 26888 "properties" : {
44660702 26889 "node" : {
4d47f125 26890 "description" : "The cluster node name.",
44660702 26891 "format" : "pve-node",
013dc89f
DM
26892 "type" : "string",
26893 "typetext" : "<string>"
4d47f125
TL
26894 }
26895 }
26896 },
26897 "permissions" : {
26898 "user" : "all"
26899 },
26900 "proxyto" : "node",
26901 "returns" : {
26902 "type" : "object"
26903 }
26904 },
26905 "POST" : {
26906 "description" : "Update subscription info.",
26907 "method" : "POST",
26908 "name" : "update",
26909 "parameters" : {
26910 "additionalProperties" : 0,
26911 "properties" : {
26912 "force" : {
26913 "default" : 0,
26914 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 26915 "optional" : 1,
4d47f125
TL
26916 "type" : "boolean",
26917 "typetext" : "<boolean>"
44660702 26918 },
4d47f125
TL
26919 "node" : {
26920 "description" : "The cluster node name.",
26921 "format" : "pve-node",
013dc89f
DM
26922 "type" : "string",
26923 "typetext" : "<string>"
4d47f125
TL
26924 }
26925 }
26926 },
26927 "permissions" : {
26928 "check" : [
26929 "perm",
26930 "/nodes/{node}",
26931 [
26932 "Sys.Modify"
26933 ]
26934 ]
26935 },
26936 "protected" : 1,
26937 "proxyto" : "node",
26938 "returns" : {
26939 "type" : "null"
26940 }
26941 },
26942 "PUT" : {
26943 "description" : "Set subscription key.",
26944 "method" : "PUT",
26945 "name" : "set",
26946 "parameters" : {
26947 "additionalProperties" : 0,
26948 "properties" : {
26949 "key" : {
26950 "description" : "Proxmox VE subscription key",
26951 "maxLength" : 32,
5f26e15b 26952 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 26953 "type" : "string"
7aacca6f 26954 },
4d47f125
TL
26955 "node" : {
26956 "description" : "The cluster node name.",
26957 "format" : "pve-node",
013dc89f
DM
26958 "type" : "string",
26959 "typetext" : "<string>"
7aacca6f 26960 }
7aacca6f
DM
26961 }
26962 },
7aacca6f 26963 "permissions" : {
4d47f125
TL
26964 "check" : [
26965 "perm",
26966 "/nodes/{node}",
26967 [
26968 "Sys.Modify"
26969 ]
26970 ]
7aacca6f 26971 },
44660702 26972 "protected" : 1,
7aacca6f 26973 "proxyto" : "node",
7aacca6f 26974 "returns" : {
4d47f125 26975 "type" : "null"
7aacca6f
DM
26976 }
26977 }
26978 },
4d47f125
TL
26979 "leaf" : 1,
26980 "path" : "/nodes/{node}/subscription",
26981 "text" : "subscription"
44660702
DM
26982 },
26983 {
7aacca6f
DM
26984 "children" : [
26985 {
4d47f125
TL
26986 "info" : {
26987 "DELETE" : {
26988 "description" : "Delete network device configuration",
26989 "method" : "DELETE",
26990 "name" : "delete_network",
26991 "parameters" : {
26992 "additionalProperties" : 0,
26993 "properties" : {
26994 "iface" : {
26995 "description" : "Network interface name.",
26996 "format" : "pve-iface",
26997 "maxLength" : 20,
26998 "minLength" : 2,
26999 "type" : "string",
27000 "typetext" : "<string>"
7aacca6f 27001 },
4d47f125
TL
27002 "node" : {
27003 "description" : "The cluster node name.",
27004 "format" : "pve-node",
27005 "type" : "string",
27006 "typetext" : "<string>"
44660702
DM
27007 }
27008 }
27009 },
4d47f125
TL
27010 "permissions" : {
27011 "check" : [
27012 "perm",
27013 "/nodes/{node}",
27014 [
27015 "Sys.Modify"
27016 ]
27017 ]
27018 },
27019 "protected" : 1,
27020 "proxyto" : "node",
27021 "returns" : {
27022 "type" : "null"
27023 }
27024 },
27025 "GET" : {
27026 "description" : "Read network device configuration",
27027 "method" : "GET",
27028 "name" : "network_config",
27029 "parameters" : {
27030 "additionalProperties" : 0,
27031 "properties" : {
27032 "iface" : {
27033 "description" : "Network interface name.",
27034 "format" : "pve-iface",
27035 "maxLength" : 20,
27036 "minLength" : 2,
27037 "type" : "string",
27038 "typetext" : "<string>"
56122987 27039 },
4d47f125
TL
27040 "node" : {
27041 "description" : "The cluster node name.",
27042 "format" : "pve-node",
27043 "type" : "string",
27044 "typetext" : "<string>"
44660702
DM
27045 }
27046 }
27047 },
4d47f125
TL
27048 "permissions" : {
27049 "check" : [
27050 "perm",
27051 "/nodes/{node}",
27052 [
27053 "Sys.Audit"
27054 ]
27055 ]
27056 },
27057 "proxyto" : "node",
27058 "returns" : {
27059 "properties" : {
27060 "method" : {
27061 "type" : "string"
44660702 27062 },
4d47f125 27063 "type" : {
44660702
DM
27064 "type" : "string"
27065 }
4d47f125
TL
27066 },
27067 "type" : "object"
27068 }
56122987 27069 },
4d47f125
TL
27070 "PUT" : {
27071 "description" : "Update network device configuration",
27072 "method" : "PUT",
27073 "name" : "update_network",
27074 "parameters" : {
27075 "additionalProperties" : 0,
27076 "properties" : {
27077 "address" : {
27078 "description" : "IP address.",
27079 "format" : "ipv4",
27080 "optional" : 1,
27081 "requires" : "netmask",
27082 "type" : "string",
27083 "typetext" : "<string>"
27084 },
27085 "address6" : {
27086 "description" : "IP address.",
27087 "format" : "ipv6",
27088 "optional" : 1,
27089 "requires" : "netmask6",
27090 "type" : "string",
27091 "typetext" : "<string>"
27092 },
27093 "autostart" : {
27094 "description" : "Automatically start interface on boot.",
27095 "optional" : 1,
27096 "type" : "boolean",
27097 "typetext" : "<boolean>"
27098 },
27099 "bond_mode" : {
27100 "description" : "Bonding mode.",
27101 "enum" : [
27102 "balance-rr",
27103 "active-backup",
27104 "balance-xor",
27105 "broadcast",
27106 "802.3ad",
27107 "balance-tlb",
27108 "balance-alb",
27109 "balance-slb",
27110 "lacp-balance-slb",
27111 "lacp-balance-tcp"
27112 ],
27113 "optional" : 1,
27114 "type" : "string"
27115 },
27116 "bond_xmit_hash_policy" : {
27117 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
27118 "enum" : [
27119 "layer2",
27120 "layer2+3",
27121 "layer3+4"
27122 ],
27123 "optional" : 1,
27124 "type" : "string"
27125 },
27126 "bridge_ports" : {
27127 "description" : "Specify the iterfaces you want to add to your bridge.",
27128 "format" : "pve-iface-list",
27129 "optional" : 1,
27130 "type" : "string",
27131 "typetext" : "<string>"
27132 },
27133 "bridge_vlan_aware" : {
27134 "description" : "Enable bridge vlan support.",
27135 "optional" : 1,
27136 "type" : "boolean",
27137 "typetext" : "<boolean>"
27138 },
27139 "comments" : {
27140 "description" : "Comments",
27141 "optional" : 1,
27142 "type" : "string",
27143 "typetext" : "<string>"
27144 },
27145 "comments6" : {
27146 "description" : "Comments",
27147 "optional" : 1,
27148 "type" : "string",
27149 "typetext" : "<string>"
27150 },
27151 "delete" : {
27152 "description" : "A list of settings you want to delete.",
27153 "format" : "pve-configid-list",
27154 "optional" : 1,
27155 "type" : "string",
27156 "typetext" : "<string>"
27157 },
27158 "gateway" : {
27159 "description" : "Default gateway address.",
27160 "format" : "ipv4",
27161 "optional" : 1,
27162 "type" : "string",
27163 "typetext" : "<string>"
27164 },
27165 "gateway6" : {
27166 "description" : "Default ipv6 gateway address.",
27167 "format" : "ipv6",
27168 "optional" : 1,
27169 "type" : "string",
27170 "typetext" : "<string>"
27171 },
27172 "iface" : {
27173 "description" : "Network interface name.",
27174 "format" : "pve-iface",
27175 "maxLength" : 20,
27176 "minLength" : 2,
27177 "type" : "string",
27178 "typetext" : "<string>"
56122987 27179 },
4d47f125
TL
27180 "netmask" : {
27181 "description" : "Network mask.",
27182 "format" : "ipv4mask",
27183 "optional" : 1,
27184 "requires" : "address",
27185 "type" : "string",
27186 "typetext" : "<string>"
27187 },
27188 "netmask6" : {
27189 "description" : "Network mask.",
27190 "maximum" : 128,
27191 "minimum" : 0,
27192 "optional" : 1,
27193 "requires" : "address6",
27194 "type" : "integer",
27195 "typetext" : "<integer> (0 - 128)"
56122987 27196 },
44660702
DM
27197 "node" : {
27198 "description" : "The cluster node name.",
27199 "format" : "pve-node",
013dc89f
DM
27200 "type" : "string",
27201 "typetext" : "<string>"
44660702 27202 },
4d47f125
TL
27203 "ovs_bonds" : {
27204 "description" : "Specify the interfaces used by the bonding device.",
27205 "format" : "pve-iface-list",
27206 "optional" : 1,
27207 "type" : "string",
27208 "typetext" : "<string>"
27209 },
27210 "ovs_bridge" : {
27211 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
27212 "format" : "pve-iface",
27213 "optional" : 1,
27214 "type" : "string",
27215 "typetext" : "<string>"
27216 },
27217 "ovs_options" : {
27218 "description" : "OVS interface options.",
27219 "maxLength" : 1024,
27220 "optional" : 1,
27221 "type" : "string",
27222 "typetext" : "<string>"
27223 },
27224 "ovs_ports" : {
27225 "description" : "Specify the iterfaces you want to add to your bridge.",
27226 "format" : "pve-iface-list",
27227 "optional" : 1,
27228 "type" : "string",
27229 "typetext" : "<string>"
27230 },
27231 "ovs_tag" : {
27232 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
27233 "maximum" : 4094,
27234 "minimum" : 1,
27235 "optional" : 1,
27236 "type" : "integer",
27237 "typetext" : "<integer> (1 - 4094)"
27238 },
27239 "slaves" : {
27240 "description" : "Specify the interfaces used by the bonding device.",
27241 "format" : "pve-iface-list",
27242 "optional" : 1,
27243 "type" : "string",
27244 "typetext" : "<string>"
27245 },
27246 "type" : {
27247 "description" : "Network interface type",
44660702 27248 "enum" : [
4d47f125
TL
27249 "bridge",
27250 "bond",
27251 "eth",
27252 "alias",
27253 "vlan",
27254 "OVSBridge",
27255 "OVSBond",
27256 "OVSPort",
27257 "OVSIntPort",
27258 "unknown"
44660702
DM
27259 ],
27260 "type" : "string"
27261 }
27262 }
27263 },
27264 "permissions" : {
27265 "check" : [
27266 "perm",
27267 "/nodes/{node}",
27268 [
4d47f125 27269 "Sys.Modify"
44660702
DM
27270 ]
27271 ]
27272 },
4d47f125
TL
27273 "protected" : 1,
27274 "proxyto" : "node",
44660702 27275 "returns" : {
4d47f125 27276 "type" : "null"
44660702
DM
27277 }
27278 }
27279 },
4d47f125
TL
27280 "leaf" : 1,
27281 "path" : "/nodes/{node}/network/{iface}",
27282 "text" : "{iface}"
44660702
DM
27283 }
27284 ],
27285 "info" : {
4d47f125
TL
27286 "DELETE" : {
27287 "description" : "Revert network configuration changes.",
27288 "method" : "DELETE",
27289 "name" : "revert_network_changes",
44660702
DM
27290 "parameters" : {
27291 "additionalProperties" : 0,
27292 "properties" : {
27293 "node" : {
27294 "description" : "The cluster node name.",
27295 "format" : "pve-node",
013dc89f
DM
27296 "type" : "string",
27297 "typetext" : "<string>"
44660702
DM
27298 }
27299 }
27300 },
27301 "permissions" : {
27302 "check" : [
27303 "perm",
27304 "/nodes/{node}",
27305 [
4d47f125 27306 "Sys.Modify"
44660702
DM
27307 ]
27308 ]
27309 },
27310 "protected" : 1,
27311 "proxyto" : "node",
4d47f125
TL
27312 "returns" : {
27313 "type" : "null"
27314 }
27315 },
27316 "GET" : {
27317 "description" : "List available networks",
27318 "method" : "GET",
27319 "name" : "index",
27320 "parameters" : {
27321 "additionalProperties" : 0,
27322 "properties" : {
27323 "node" : {
27324 "description" : "The cluster node name.",
27325 "format" : "pve-node",
27326 "type" : "string",
27327 "typetext" : "<string>"
27328 },
27329 "type" : {
27330 "description" : "Only list specific interface types.",
27331 "enum" : [
27332 "bridge",
27333 "bond",
27334 "eth",
27335 "alias",
27336 "vlan",
27337 "OVSBridge",
27338 "OVSBond",
27339 "OVSPort",
27340 "OVSIntPort",
27341 "any_bridge"
27342 ],
27343 "optional" : 1,
27344 "type" : "string"
27345 }
27346 }
27347 },
27348 "permissions" : {
27349 "user" : "all"
27350 },
27351 "proxyto" : "node",
44660702
DM
27352 "returns" : {
27353 "items" : {
27354 "properties" : {},
27355 "type" : "object"
27356 },
27357 "links" : [
27358 {
4d47f125 27359 "href" : "{iface}",
44660702 27360 "rel" : "child"
56122987 27361 }
44660702
DM
27362 ],
27363 "type" : "array"
27364 }
4d47f125
TL
27365 },
27366 "POST" : {
27367 "description" : "Create network device configuration",
27368 "method" : "POST",
27369 "name" : "create_network",
7aacca6f 27370 "parameters" : {
44660702 27371 "additionalProperties" : 0,
7aacca6f 27372 "properties" : {
4d47f125
TL
27373 "address" : {
27374 "description" : "IP address.",
27375 "format" : "ipv4",
27376 "optional" : 1,
27377 "requires" : "netmask",
27378 "type" : "string",
27379 "typetext" : "<string>"
27380 },
27381 "address6" : {
27382 "description" : "IP address.",
27383 "format" : "ipv6",
27384 "optional" : 1,
27385 "requires" : "netmask6",
27386 "type" : "string",
27387 "typetext" : "<string>"
27388 },
27389 "autostart" : {
27390 "description" : "Automatically start interface on boot.",
27391 "optional" : 1,
27392 "type" : "boolean",
27393 "typetext" : "<boolean>"
27394 },
27395 "bond_mode" : {
27396 "description" : "Bonding mode.",
27397 "enum" : [
27398 "balance-rr",
27399 "active-backup",
27400 "balance-xor",
27401 "broadcast",
27402 "802.3ad",
27403 "balance-tlb",
27404 "balance-alb",
27405 "balance-slb",
27406 "lacp-balance-slb",
27407 "lacp-balance-tcp"
27408 ],
27409 "optional" : 1,
27410 "type" : "string"
27411 },
27412 "bond_xmit_hash_policy" : {
27413 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
27414 "enum" : [
27415 "layer2",
27416 "layer2+3",
27417 "layer3+4"
27418 ],
27419 "optional" : 1,
27420 "type" : "string"
27421 },
27422 "bridge_ports" : {
27423 "description" : "Specify the iterfaces you want to add to your bridge.",
27424 "format" : "pve-iface-list",
27425 "optional" : 1,
013dc89f
DM
27426 "type" : "string",
27427 "typetext" : "<string>"
4d47f125
TL
27428 },
27429 "bridge_vlan_aware" : {
27430 "description" : "Enable bridge vlan support.",
44660702 27431 "optional" : 1,
013dc89f
DM
27432 "type" : "boolean",
27433 "typetext" : "<boolean>"
44660702 27434 },
4d47f125
TL
27435 "comments" : {
27436 "description" : "Comments",
27437 "optional" : 1,
27438 "type" : "string",
27439 "typetext" : "<string>"
27440 },
27441 "comments6" : {
27442 "description" : "Comments",
27443 "optional" : 1,
27444 "type" : "string",
27445 "typetext" : "<string>"
27446 },
27447 "gateway" : {
27448 "description" : "Default gateway address.",
27449 "format" : "ipv4",
27450 "optional" : 1,
27451 "type" : "string",
27452 "typetext" : "<string>"
27453 },
27454 "gateway6" : {
27455 "description" : "Default ipv6 gateway address.",
27456 "format" : "ipv6",
27457 "optional" : 1,
27458 "type" : "string",
27459 "typetext" : "<string>"
27460 },
27461 "iface" : {
27462 "description" : "Network interface name.",
27463 "format" : "pve-iface",
27464 "maxLength" : 20,
27465 "minLength" : 2,
27466 "type" : "string",
27467 "typetext" : "<string>"
27468 },
27469 "netmask" : {
27470 "description" : "Network mask.",
27471 "format" : "ipv4mask",
27472 "optional" : 1,
27473 "requires" : "address",
27474 "type" : "string",
27475 "typetext" : "<string>"
27476 },
27477 "netmask6" : {
27478 "description" : "Network mask.",
27479 "maximum" : 128,
27480 "minimum" : 0,
27481 "optional" : 1,
27482 "requires" : "address6",
27483 "type" : "integer",
27484 "typetext" : "<integer> (0 - 128)"
27485 },
7aacca6f 27486 "node" : {
7aacca6f 27487 "description" : "The cluster node name.",
44660702 27488 "format" : "pve-node",
013dc89f
DM
27489 "type" : "string",
27490 "typetext" : "<string>"
4d47f125
TL
27491 },
27492 "ovs_bonds" : {
27493 "description" : "Specify the interfaces used by the bonding device.",
27494 "format" : "pve-iface-list",
27495 "optional" : 1,
27496 "type" : "string",
27497 "typetext" : "<string>"
27498 },
27499 "ovs_bridge" : {
27500 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
27501 "format" : "pve-iface",
27502 "optional" : 1,
27503 "type" : "string",
27504 "typetext" : "<string>"
27505 },
27506 "ovs_options" : {
27507 "description" : "OVS interface options.",
27508 "maxLength" : 1024,
27509 "optional" : 1,
27510 "type" : "string",
27511 "typetext" : "<string>"
27512 },
27513 "ovs_ports" : {
27514 "description" : "Specify the iterfaces you want to add to your bridge.",
27515 "format" : "pve-iface-list",
27516 "optional" : 1,
27517 "type" : "string",
27518 "typetext" : "<string>"
27519 },
27520 "ovs_tag" : {
27521 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
27522 "maximum" : 4094,
27523 "minimum" : 1,
27524 "optional" : 1,
27525 "type" : "integer",
27526 "typetext" : "<integer> (1 - 4094)"
27527 },
27528 "slaves" : {
27529 "description" : "Specify the interfaces used by the bonding device.",
27530 "format" : "pve-iface-list",
27531 "optional" : 1,
27532 "type" : "string",
27533 "typetext" : "<string>"
27534 },
27535 "type" : {
27536 "description" : "Network interface type",
27537 "enum" : [
27538 "bridge",
27539 "bond",
27540 "eth",
27541 "alias",
27542 "vlan",
27543 "OVSBridge",
27544 "OVSBond",
27545 "OVSPort",
27546 "OVSIntPort",
27547 "unknown"
27548 ],
27549 "type" : "string"
7aacca6f
DM
27550 }
27551 }
27552 },
35a75dd3
DM
27553 "permissions" : {
27554 "check" : [
27555 "perm",
27556 "/nodes/{node}",
27557 [
27558 "Sys.Modify"
27559 ]
27560 ]
27561 },
7aacca6f 27562 "protected" : 1,
7aacca6f 27563 "proxyto" : "node",
44660702
DM
27564 "returns" : {
27565 "type" : "null"
27566 }
27567 },
27568 "PUT" : {
4d47f125 27569 "description" : "Reload network configuration",
44660702 27570 "method" : "PUT",
4d47f125 27571 "name" : "reload_network_config",
7aacca6f
DM
27572 "parameters" : {
27573 "additionalProperties" : 0,
27574 "properties" : {
7aacca6f 27575 "node" : {
7aacca6f 27576 "description" : "The cluster node name.",
44660702 27577 "format" : "pve-node",
013dc89f
DM
27578 "type" : "string",
27579 "typetext" : "<string>"
7aacca6f
DM
27580 }
27581 }
27582 },
35a75dd3
DM
27583 "permissions" : {
27584 "check" : [
27585 "perm",
27586 "/nodes/{node}",
27587 [
27588 "Sys.Modify"
27589 ]
27590 ]
27591 },
44660702
DM
27592 "protected" : 1,
27593 "proxyto" : "node",
7aacca6f 27594 "returns" : {
4d47f125 27595 "type" : "string"
44660702 27596 }
7aacca6f
DM
27597 }
27598 },
4d47f125
TL
27599 "leaf" : 0,
27600 "path" : "/nodes/{node}/network",
27601 "text" : "network"
7aacca6f
DM
27602 },
27603 {
7aacca6f
DM
27604 "children" : [
27605 {
4d47f125
TL
27606 "children" : [
27607 {
27608 "info" : {
27609 "GET" : {
27610 "description" : "Read task log.",
27611 "method" : "GET",
27612 "name" : "read_task_log",
27613 "parameters" : {
27614 "additionalProperties" : 0,
27615 "properties" : {
27616 "limit" : {
27617 "default" : 50,
27618 "minimum" : 0,
27619 "optional" : 1,
27620 "type" : "integer",
27621 "typetext" : "<integer> (0 - N)"
27622 },
27623 "node" : {
27624 "description" : "The cluster node name.",
27625 "format" : "pve-node",
27626 "type" : "string",
27627 "typetext" : "<string>"
27628 },
27629 "start" : {
27630 "default" : 0,
27631 "minimum" : 0,
27632 "optional" : 1,
27633 "type" : "integer",
27634 "typetext" : "<integer> (0 - N)"
27635 },
27636 "upid" : {
27637 "type" : "string",
27638 "typetext" : "<string>"
27639 }
27640 }
27641 },
27642 "permissions" : {
27643 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
27644 "user" : "all"
27645 },
27646 "protected" : 1,
27647 "proxyto" : "node",
27648 "returns" : {
27649 "items" : {
27650 "properties" : {
27651 "n" : {
27652 "description" : "Line number",
27653 "type" : "integer"
27654 },
27655 "t" : {
27656 "description" : "Line text",
27657 "type" : "string"
27658 }
27659 },
27660 "type" : "object"
27661 },
27662 "type" : "array"
27663 }
27664 }
27665 },
27666 "leaf" : 1,
27667 "path" : "/nodes/{node}/tasks/{upid}/log",
27668 "text" : "log"
27669 },
27670 {
27671 "info" : {
27672 "GET" : {
27673 "description" : "Read task status.",
27674 "method" : "GET",
27675 "name" : "read_task_status",
27676 "parameters" : {
27677 "additionalProperties" : 0,
27678 "properties" : {
27679 "node" : {
27680 "description" : "The cluster node name.",
27681 "format" : "pve-node",
27682 "type" : "string",
27683 "typetext" : "<string>"
27684 },
27685 "upid" : {
27686 "type" : "string",
27687 "typetext" : "<string>"
27688 }
27689 }
27690 },
27691 "permissions" : {
27692 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
27693 "user" : "all"
27694 },
27695 "protected" : 1,
27696 "proxyto" : "node",
27697 "returns" : {
27698 "properties" : {
27699 "pid" : {
27700 "type" : "integer"
27701 },
27702 "status" : {
27703 "enum" : [
27704 "running",
27705 "stopped"
27706 ],
27707 "type" : "string"
27708 }
27709 },
27710 "type" : "object"
27711 }
27712 }
27713 },
27714 "leaf" : 1,
27715 "path" : "/nodes/{node}/tasks/{upid}/status",
27716 "text" : "status"
27717 }
27718 ],
56122987 27719 "info" : {
7aacca6f 27720 "DELETE" : {
4d47f125 27721 "description" : "Stop a task.",
44660702 27722 "method" : "DELETE",
4d47f125 27723 "name" : "stop_task",
44660702
DM
27724 "parameters" : {
27725 "additionalProperties" : 0,
27726 "properties" : {
44660702
DM
27727 "node" : {
27728 "description" : "The cluster node name.",
27729 "format" : "pve-node",
013dc89f
DM
27730 "type" : "string",
27731 "typetext" : "<string>"
4d47f125
TL
27732 },
27733 "upid" : {
27734 "type" : "string",
27735 "typetext" : "<string>"
44660702
DM
27736 }
27737 }
7aacca6f
DM
27738 },
27739 "permissions" : {
4d47f125
TL
27740 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
27741 "user" : "all"
7aacca6f 27742 },
44660702 27743 "protected" : 1,
7aacca6f 27744 "proxyto" : "node",
44660702
DM
27745 "returns" : {
27746 "type" : "null"
27747 }
27748 },
27749 "GET" : {
4d47f125 27750 "description" : "",
44660702 27751 "method" : "GET",
4d47f125 27752 "name" : "upid_index",
7aacca6f
DM
27753 "parameters" : {
27754 "additionalProperties" : 0,
27755 "properties" : {
7aacca6f 27756 "node" : {
44660702 27757 "description" : "The cluster node name.",
7aacca6f 27758 "format" : "pve-node",
013dc89f
DM
27759 "type" : "string",
27760 "typetext" : "<string>"
7aacca6f 27761 },
4d47f125
TL
27762 "upid" : {
27763 "type" : "string",
27764 "typetext" : "<string>"
7aacca6f
DM
27765 }
27766 }
27767 },
7aacca6f 27768 "permissions" : {
4d47f125 27769 "user" : "all"
7aacca6f
DM
27770 },
27771 "returns" : {
4d47f125
TL
27772 "items" : {
27773 "properties" : {},
27774 "type" : "object"
27775 },
27776 "links" : [
27777 {
27778 "href" : "{name}",
27779 "rel" : "child"
27780 }
27781 ],
27782 "type" : "array"
44660702 27783 }
7aacca6f
DM
27784 }
27785 },
4d47f125
TL
27786 "leaf" : 0,
27787 "path" : "/nodes/{node}/tasks/{upid}",
27788 "text" : "{upid}"
7aacca6f
DM
27789 }
27790 ],
7aacca6f 27791 "info" : {
44660702 27792 "GET" : {
4d47f125 27793 "description" : "Read task list for one node (finished tasks).",
44660702 27794 "method" : "GET",
4d47f125 27795 "name" : "node_tasks",
44660702
DM
27796 "parameters" : {
27797 "additionalProperties" : 0,
27798 "properties" : {
4d47f125
TL
27799 "errors" : {
27800 "default" : 0,
7aacca6f 27801 "optional" : 1,
4d47f125
TL
27802 "type" : "boolean",
27803 "typetext" : "<boolean>"
7aacca6f 27804 },
4d47f125
TL
27805 "limit" : {
27806 "default" : 50,
27807 "description" : "Only list this amount of tasks.",
27808 "minimum" : 0,
44660702 27809 "optional" : 1,
4d47f125
TL
27810 "type" : "integer",
27811 "typetext" : "<integer> (0 - N)"
27812 },
27813 "node" : {
27814 "description" : "The cluster node name.",
27815 "format" : "pve-node",
013dc89f
DM
27816 "type" : "string",
27817 "typetext" : "<string>"
44660702 27818 },
5f26e15b
TL
27819 "source" : {
27820 "default" : "archive",
27821 "description" : "List archived, active or all tasks.",
27822 "enum" : [
27823 "archive",
27824 "active",
27825 "all"
27826 ],
27827 "optional" : 1,
27828 "type" : "string"
27829 },
4d47f125
TL
27830 "start" : {
27831 "default" : 0,
27832 "description" : "List tasks beginning from this offset.",
27833 "minimum" : 0,
44660702 27834 "optional" : 1,
4d47f125
TL
27835 "type" : "integer",
27836 "typetext" : "<integer> (0 - N)"
44660702 27837 },
5f26e15b
TL
27838 "typefilter" : {
27839 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
27840 "optional" : 1,
27841 "type" : "string",
27842 "typetext" : "<string>"
27843 },
4d47f125
TL
27844 "userfilter" : {
27845 "description" : "Only list tasks from this user.",
44660702 27846 "optional" : 1,
013dc89f
DM
27847 "type" : "string",
27848 "typetext" : "<string>"
44660702 27849 },
4d47f125
TL
27850 "vmid" : {
27851 "description" : "Only list tasks for this VM.",
27852 "format" : "pve-vmid",
44660702
DM
27853 "minimum" : 1,
27854 "optional" : 1,
4bd7df8b 27855 "type" : "integer",
4d47f125
TL
27856 "typetext" : "<integer> (1 - N)"
27857 }
27858 }
27859 },
27860 "permissions" : {
27861 "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).",
27862 "user" : "all"
27863 },
27864 "proxyto" : "node",
27865 "returns" : {
27866 "items" : {
27867 "properties" : {
27868 "endtime" : {
27869 "optional" : 1,
27870 "title" : "Endtime",
27871 "type" : "integer"
27872 },
27873 "id" : {
4d47f125
TL
27874 "title" : "ID",
27875 "type" : "string"
27876 },
27877 "node" : {
4d47f125
TL
27878 "title" : "Node",
27879 "type" : "string"
27880 },
27881 "pid" : {
4d47f125
TL
27882 "title" : "PID",
27883 "type" : "integer"
27884 },
27885 "pstart" : {
4d47f125
TL
27886 "type" : "integer"
27887 },
27888 "starttime" : {
4d47f125
TL
27889 "title" : "Starttime",
27890 "type" : "integer"
27891 },
27892 "status" : {
27893 "optional" : 1,
27894 "title" : "Status",
27895 "type" : "string"
27896 },
27897 "type" : {
4d47f125
TL
27898 "title" : "Type",
27899 "type" : "string"
27900 },
27901 "upid" : {
27902 "title" : "UPID",
27903 "type" : "string"
27904 },
27905 "user" : {
4d47f125
TL
27906 "title" : "User",
27907 "type" : "string"
27908 }
44660702 27909 },
4d47f125
TL
27910 "type" : "object"
27911 },
27912 "links" : [
27913 {
27914 "href" : "{upid}",
27915 "rel" : "child"
27916 }
27917 ],
27918 "type" : "array"
27919 }
27920 }
27921 },
27922 "leaf" : 0,
27923 "path" : "/nodes/{node}/tasks",
27924 "text" : "tasks"
27925 },
27926 {
27927 "children" : [
27928 {
27929 "info" : {
27930 "GET" : {
27931 "description" : "Scan zfs pool list on local node.",
27932 "method" : "GET",
27933 "name" : "zfsscan",
27934 "parameters" : {
27935 "additionalProperties" : 0,
27936 "properties" : {
27937 "node" : {
27938 "description" : "The cluster node name.",
27939 "format" : "pve-node",
27940 "type" : "string",
27941 "typetext" : "<string>"
27942 }
27943 }
44660702 27944 },
4d47f125
TL
27945 "permissions" : {
27946 "check" : [
27947 "perm",
27948 "/storage",
27949 [
27950 "Datastore.Allocate"
27951 ]
27952 ]
27953 },
27954 "protected" : 1,
27955 "proxyto" : "node",
27956 "returns" : {
27957 "items" : {
27958 "properties" : {
27959 "pool" : {
27960 "description" : "ZFS pool name.",
27961 "type" : "string"
27962 }
27963 },
27964 "type" : "object"
27965 },
27966 "type" : "array"
27967 }
27968 }
27969 },
27970 "leaf" : 1,
27971 "path" : "/nodes/{node}/scan/zfs",
27972 "text" : "zfs"
27973 },
27974 {
27975 "info" : {
27976 "GET" : {
27977 "description" : "Scan remote NFS server.",
27978 "method" : "GET",
27979 "name" : "nfsscan",
27980 "parameters" : {
27981 "additionalProperties" : 0,
27982 "properties" : {
27983 "node" : {
27984 "description" : "The cluster node name.",
27985 "format" : "pve-node",
27986 "type" : "string",
27987 "typetext" : "<string>"
27988 },
27989 "server" : {
27990 "description" : "The server address (name or IP).",
27991 "format" : "pve-storage-server",
27992 "type" : "string",
27993 "typetext" : "<string>"
27994 }
27995 }
27996 },
27997 "permissions" : {
27998 "check" : [
27999 "perm",
28000 "/storage",
28001 [
28002 "Datastore.Allocate"
28003 ]
28004 ]
28005 },
28006 "protected" : 1,
28007 "proxyto" : "node",
28008 "returns" : {
28009 "items" : {
28010 "properties" : {
28011 "options" : {
28012 "description" : "NFS export options.",
28013 "type" : "string"
28014 },
28015 "path" : {
28016 "description" : "The exported path.",
28017 "type" : "string"
28018 }
28019 },
28020 "type" : "object"
28021 },
28022 "type" : "array"
28023 }
28024 }
28025 },
28026 "leaf" : 1,
28027 "path" : "/nodes/{node}/scan/nfs",
28028 "text" : "nfs"
28029 },
28030 {
28031 "info" : {
28032 "GET" : {
28033 "description" : "Scan remote CIFS server.",
28034 "method" : "GET",
28035 "name" : "cifsscan",
28036 "parameters" : {
28037 "additionalProperties" : 0,
28038 "properties" : {
28039 "domain" : {
28040 "description" : "SMB domain (Workgroup).",
28041 "optional" : 1,
28042 "type" : "string",
28043 "typetext" : "<string>"
28044 },
28045 "node" : {
28046 "description" : "The cluster node name.",
28047 "format" : "pve-node",
28048 "type" : "string",
28049 "typetext" : "<string>"
28050 },
28051 "password" : {
28052 "description" : "User password.",
28053 "optional" : 1,
28054 "type" : "string",
28055 "typetext" : "<string>"
28056 },
28057 "server" : {
28058 "description" : "The server address (name or IP).",
28059 "format" : "pve-storage-server",
28060 "type" : "string",
28061 "typetext" : "<string>"
28062 },
28063 "username" : {
28064 "description" : "User name.",
28065 "optional" : 1,
28066 "type" : "string",
28067 "typetext" : "<string>"
28068 }
28069 }
28070 },
28071 "permissions" : {
28072 "check" : [
28073 "perm",
28074 "/storage",
28075 [
28076 "Datastore.Allocate"
28077 ]
28078 ]
28079 },
28080 "protected" : 1,
28081 "proxyto" : "node",
28082 "returns" : {
28083 "items" : {
28084 "properties" : {
28085 "description" : {
28086 "description" : "Descriptive text from server.",
28087 "type" : "string"
28088 },
28089 "share" : {
28090 "description" : "The cifs share name.",
28091 "type" : "string"
28092 }
28093 },
28094 "type" : "object"
28095 },
28096 "type" : "array"
56122987 28097 }
44660702 28098 }
56122987 28099 },
4d47f125
TL
28100 "leaf" : 1,
28101 "path" : "/nodes/{node}/scan/cifs",
28102 "text" : "cifs"
28103 },
44660702 28104 {
4d47f125
TL
28105 "info" : {
28106 "GET" : {
28107 "description" : "Scan remote GlusterFS server.",
28108 "method" : "GET",
28109 "name" : "glusterfsscan",
28110 "parameters" : {
28111 "additionalProperties" : 0,
28112 "properties" : {
28113 "node" : {
28114 "description" : "The cluster node name.",
28115 "format" : "pve-node",
28116 "type" : "string",
28117 "typetext" : "<string>"
7aacca6f 28118 },
4d47f125
TL
28119 "server" : {
28120 "description" : "The server address (name or IP).",
28121 "format" : "pve-storage-server",
28122 "type" : "string",
28123 "typetext" : "<string>"
44660702 28124 }
7aacca6f 28125 }
56122987 28126 },
4d47f125
TL
28127 "permissions" : {
28128 "check" : [
28129 "perm",
28130 "/storage",
28131 [
28132 "Datastore.Allocate"
28133 ]
28134 ]
28135 },
28136 "protected" : 1,
28137 "proxyto" : "node",
28138 "returns" : {
28139 "items" : {
28140 "properties" : {
28141 "volname" : {
28142 "description" : "The volume name.",
28143 "type" : "string"
7aacca6f
DM
28144 }
28145 },
4d47f125
TL
28146 "type" : "object"
28147 },
28148 "type" : "array"
28149 }
28150 }
28151 },
28152 "leaf" : 1,
28153 "path" : "/nodes/{node}/scan/glusterfs",
28154 "text" : "glusterfs"
28155 },
28156 {
28157 "info" : {
28158 "GET" : {
28159 "description" : "Scan remote iSCSI server.",
28160 "method" : "GET",
28161 "name" : "iscsiscan",
28162 "parameters" : {
28163 "additionalProperties" : 0,
28164 "properties" : {
28165 "node" : {
28166 "description" : "The cluster node name.",
28167 "format" : "pve-node",
28168 "type" : "string",
28169 "typetext" : "<string>"
56122987 28170 },
4d47f125
TL
28171 "portal" : {
28172 "description" : "The iSCSI portal (IP or DNS name with optional port).",
28173 "format" : "pve-storage-portal-dns",
28174 "type" : "string",
28175 "typetext" : "<string>"
28176 }
28177 }
28178 },
28179 "permissions" : {
28180 "check" : [
28181 "perm",
28182 "/storage",
28183 [
28184 "Datastore.Allocate"
28185 ]
28186 ]
28187 },
28188 "protected" : 1,
28189 "proxyto" : "node",
28190 "returns" : {
28191 "items" : {
28192 "properties" : {
28193 "portal" : {
28194 "description" : "The iSCSI portal name.",
28195 "type" : "string"
7aacca6f 28196 },
4d47f125
TL
28197 "target" : {
28198 "description" : "The iSCSI target name.",
28199 "type" : "string"
28200 }
28201 },
28202 "type" : "object"
28203 },
28204 "type" : "array"
28205 }
28206 }
28207 },
28208 "leaf" : 1,
28209 "path" : "/nodes/{node}/scan/iscsi",
28210 "text" : "iscsi"
28211 },
28212 {
28213 "info" : {
28214 "GET" : {
28215 "description" : "List local LVM volume groups.",
28216 "method" : "GET",
28217 "name" : "lvmscan",
28218 "parameters" : {
28219 "additionalProperties" : 0,
28220 "properties" : {
28221 "node" : {
28222 "description" : "The cluster node name.",
28223 "format" : "pve-node",
28224 "type" : "string",
28225 "typetext" : "<string>"
56122987 28226 }
7aacca6f 28227 }
44660702 28228 },
4d47f125
TL
28229 "permissions" : {
28230 "check" : [
28231 "perm",
28232 "/storage",
28233 [
28234 "Datastore.Allocate"
28235 ]
28236 ]
28237 },
28238 "protected" : 1,
28239 "proxyto" : "node",
28240 "returns" : {
28241 "items" : {
28242 "properties" : {
28243 "vg" : {
28244 "description" : "The LVM logical volume group name.",
28245 "type" : "string"
28246 }
28247 },
28248 "type" : "object"
28249 },
28250 "type" : "array"
28251 }
56122987 28252 }
4d47f125
TL
28253 },
28254 "leaf" : 1,
28255 "path" : "/nodes/{node}/scan/lvm",
28256 "text" : "lvm"
28257 },
28258 {
44660702 28259 "info" : {
4d47f125
TL
28260 "GET" : {
28261 "description" : "List local LVM Thin Pools.",
28262 "method" : "GET",
28263 "name" : "lvmthinscan",
44660702
DM
28264 "parameters" : {
28265 "additionalProperties" : 0,
28266 "properties" : {
28267 "node" : {
28268 "description" : "The cluster node name.",
28269 "format" : "pve-node",
013dc89f
DM
28270 "type" : "string",
28271 "typetext" : "<string>"
44660702 28272 },
4d47f125
TL
28273 "vg" : {
28274 "maxLength" : 100,
28275 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
28276 "type" : "string"
44660702 28277 }
7aacca6f 28278 }
44660702
DM
28279 },
28280 "permissions" : {
4d47f125
TL
28281 "check" : [
28282 "perm",
28283 "/storage",
28284 [
28285 "Datastore.Allocate"
28286 ]
28287 ]
44660702
DM
28288 },
28289 "protected" : 1,
28290 "proxyto" : "node",
28291 "returns" : {
4d47f125
TL
28292 "items" : {
28293 "properties" : {
28294 "lv" : {
28295 "description" : "The LVM Thin Pool name (LVM logical volume).",
28296 "type" : "string"
28297 }
28298 },
28299 "type" : "object"
28300 },
28301 "type" : "array"
7aacca6f 28302 }
4d47f125
TL
28303 }
28304 },
28305 "leaf" : 1,
28306 "path" : "/nodes/{node}/scan/lvmthin",
28307 "text" : "lvmthin"
28308 },
28309 {
28310 "info" : {
44660702 28311 "GET" : {
4d47f125 28312 "description" : "List local USB devices.",
44660702 28313 "method" : "GET",
4d47f125 28314 "name" : "usbscan",
44660702
DM
28315 "parameters" : {
28316 "additionalProperties" : 0,
28317 "properties" : {
28318 "node" : {
28319 "description" : "The cluster node name.",
28320 "format" : "pve-node",
013dc89f
DM
28321 "type" : "string",
28322 "typetext" : "<string>"
44660702
DM
28323 }
28324 }
28325 },
28326 "permissions" : {
4d47f125
TL
28327 "check" : [
28328 "perm",
28329 "/",
28330 [
28331 "Sys.Modify"
28332 ]
28333 ]
44660702 28334 },
4d47f125
TL
28335 "protected" : 1,
28336 "proxyto" : "node",
44660702
DM
28337 "returns" : {
28338 "items" : {
4d47f125
TL
28339 "properties" : {
28340 "busnum" : {
28341 "type" : "integer"
28342 },
28343 "class" : {
28344 "type" : "integer"
28345 },
28346 "devnum" : {
28347 "type" : "integer"
28348 },
28349 "level" : {
28350 "type" : "integer"
28351 },
28352 "manufacturer" : {
28353 "optional" : 1,
28354 "type" : "string"
28355 },
28356 "port" : {
28357 "type" : "integer"
28358 },
28359 "prodid" : {
28360 "type" : "string"
28361 },
28362 "product" : {
28363 "optional" : 1,
28364 "type" : "string"
28365 },
28366 "serial" : {
28367 "optional" : 1,
28368 "type" : "string"
28369 },
28370 "speed" : {
28371 "type" : "string"
28372 },
28373 "usbpath" : {
28374 "optional" : 1,
28375 "type" : "string"
28376 },
28377 "vendid" : {
28378 "type" : "string"
28379 }
28380 },
44660702
DM
28381 "type" : "object"
28382 },
44660702 28383 "type" : "array"
56122987 28384 }
44660702 28385 }
56122987 28386 },
4d47f125
TL
28387 "leaf" : 1,
28388 "path" : "/nodes/{node}/scan/usb",
28389 "text" : "usb"
44660702
DM
28390 }
28391 ],
28392 "info" : {
28393 "GET" : {
4d47f125 28394 "description" : "Index of available scan methods",
44660702 28395 "method" : "GET",
4d47f125 28396 "name" : "index",
56122987 28397 "parameters" : {
7aacca6f 28398 "additionalProperties" : 0,
56122987 28399 "properties" : {
56122987
DM
28400 "node" : {
28401 "description" : "The cluster node name.",
44660702 28402 "format" : "pve-node",
013dc89f
DM
28403 "type" : "string",
28404 "typetext" : "<string>"
56122987
DM
28405 }
28406 }
28407 },
7aacca6f
DM
28408 "permissions" : {
28409 "user" : "all"
28410 },
56122987
DM
28411 "returns" : {
28412 "items" : {
28413 "properties" : {
4d47f125 28414 "method" : {
56122987
DM
28415 "type" : "string"
28416 }
28417 },
28418 "type" : "object"
28419 },
56122987
DM
28420 "links" : [
28421 {
4d47f125 28422 "href" : "{method}",
44660702 28423 "rel" : "child"
56122987 28424 }
44660702
DM
28425 ],
28426 "type" : "array"
56122987
DM
28427 }
28428 }
28429 },
44660702 28430 "leaf" : 0,
4d47f125
TL
28431 "path" : "/nodes/{node}/scan",
28432 "text" : "scan"
44660702 28433 },
e2d681b3
TL
28434 {
28435 "children" : [
28436 {
28437 "children" : [
28438 {
28439 "children" : [
28440 {
28441 "info" : {
28442 "GET" : {
28443 "description" : "List mediated device types for given PCI device.",
28444 "method" : "GET",
28445 "name" : "mdevscan",
28446 "parameters" : {
28447 "additionalProperties" : 0,
28448 "properties" : {
28449 "node" : {
28450 "description" : "The cluster node name.",
28451 "format" : "pve-node",
28452 "type" : "string",
28453 "typetext" : "<string>"
28454 },
28455 "pciid" : {
28456 "description" : "The PCI ID to list the mdev types for.",
28457 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
28458 "type" : "string"
28459 }
28460 }
28461 },
28462 "permissions" : {
28463 "check" : [
28464 "perm",
28465 "/",
28466 [
28467 "Sys.Modify"
28468 ]
28469 ]
28470 },
28471 "protected" : 1,
28472 "proxyto" : "node",
28473 "returns" : {
28474 "items" : {
28475 "properties" : {
28476 "available" : {
28477 "description" : "The number of still available instances of this type.",
28478 "type" : "integer"
28479 },
28480 "description" : {
28481 "type" : "string"
28482 },
28483 "type" : {
28484 "description" : "The name of the mdev type.",
28485 "type" : "string"
28486 }
28487 },
28488 "type" : "object"
28489 },
28490 "type" : "array"
28491 }
28492 }
28493 },
28494 "leaf" : 1,
28495 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
28496 "text" : "mdev"
28497 }
28498 ],
28499 "info" : {
28500 "GET" : {
28501 "description" : "Index of available pci methods",
28502 "method" : "GET",
28503 "name" : "pciindex",
28504 "parameters" : {
28505 "additionalProperties" : 0,
28506 "properties" : {
28507 "node" : {
28508 "description" : "The cluster node name.",
28509 "format" : "pve-node",
28510 "type" : "string",
28511 "typetext" : "<string>"
28512 },
28513 "pciid" : {
28514 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
28515 "type" : "string"
28516 }
28517 }
28518 },
28519 "permissions" : {
28520 "user" : "all"
28521 },
28522 "returns" : {
28523 "items" : {
28524 "properties" : {
28525 "method" : {
28526 "type" : "string"
28527 }
28528 },
28529 "type" : "object"
28530 },
28531 "links" : [
28532 {
28533 "href" : "{method}",
28534 "rel" : "child"
28535 }
28536 ],
28537 "type" : "array"
28538 }
28539 }
28540 },
28541 "leaf" : 0,
28542 "path" : "/nodes/{node}/hardware/pci/{pciid}",
28543 "text" : "{pciid}"
28544 }
28545 ],
28546 "info" : {
28547 "GET" : {
28548 "description" : "List local PCI devices.",
28549 "method" : "GET",
28550 "name" : "pciscan",
28551 "parameters" : {
28552 "additionalProperties" : 0,
28553 "properties" : {
28554 "node" : {
28555 "description" : "The cluster node name.",
28556 "format" : "pve-node",
28557 "type" : "string",
28558 "typetext" : "<string>"
28559 },
28560 "pci-class-blacklist" : {
28561 "default" : "05;06;08;0b",
28562 "description" : "A list of blacklisted PCI classes, which will not be returned. Following are filtered by default: Memory Controller (05), Bridge (06), Generic System Peripheral (08) and Processor (0b).",
28563 "format" : "string-list",
28564 "optional" : 1,
28565 "type" : "string",
28566 "typetext" : "<string>"
28567 },
28568 "verbose" : {
28569 "default" : 1,
28570 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
28571 "optional" : 1,
28572 "type" : "boolean",
28573 "typetext" : "<boolean>"
28574 }
28575 }
28576 },
28577 "permissions" : {
28578 "check" : [
28579 "perm",
28580 "/",
28581 [
28582 "Sys.Modify"
28583 ]
28584 ]
28585 },
28586 "protected" : 1,
28587 "proxyto" : "node",
28588 "returns" : {
28589 "items" : {
28590 "properties" : {
28591 "class" : {
28592 "description" : "The PCI Class of the device.",
28593 "type" : "string"
28594 },
28595 "device" : {
28596 "description" : "The Device ID.",
28597 "type" : "string"
28598 },
28599 "device_name" : {
28600 "optional" : 1,
28601 "type" : "string"
28602 },
28603 "id" : {
28604 "description" : "The PCI ID.",
28605 "type" : "string"
28606 },
28607 "iommugroup" : {
28608 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
28609 "type" : "integer"
28610 },
28611 "mdev" : {
28612 "description" : "If set, marks that the device is capable of creating mediated devices.",
28613 "optional" : 1,
28614 "type" : "boolean"
28615 },
28616 "subsystem_device" : {
28617 "description" : "The Subsystem Device ID.",
28618 "optional" : 1,
28619 "type" : "string"
28620 },
28621 "subsystem_device_name" : {
28622 "optional" : 1,
28623 "type" : "string"
28624 },
28625 "subsystem_vendor" : {
28626 "description" : "The Subsystem Vendor ID.",
28627 "optional" : 1,
28628 "type" : "string"
28629 },
28630 "subsystem_vendor_name" : {
28631 "optional" : 1,
28632 "type" : "string"
28633 },
28634 "vendor" : {
28635 "description" : "The Vendor ID.",
28636 "type" : "string"
28637 },
28638 "vendor_name" : {
28639 "optional" : 1,
28640 "type" : "string"
28641 }
28642 },
28643 "type" : "object"
28644 },
28645 "links" : [
28646 {
28647 "href" : "{id}",
28648 "rel" : "child"
28649 }
28650 ],
28651 "type" : "array"
28652 }
28653 }
28654 },
28655 "leaf" : 0,
28656 "path" : "/nodes/{node}/hardware/pci",
28657 "text" : "pci"
28658 }
28659 ],
28660 "info" : {
28661 "GET" : {
28662 "description" : "Index of hardware types",
28663 "method" : "GET",
28664 "name" : "index",
28665 "parameters" : {
28666 "additionalProperties" : 0,
28667 "properties" : {
28668 "node" : {
28669 "description" : "The cluster node name.",
28670 "format" : "pve-node",
28671 "type" : "string",
28672 "typetext" : "<string>"
28673 }
28674 }
28675 },
28676 "permissions" : {
28677 "user" : "all"
28678 },
28679 "returns" : {
28680 "items" : {
28681 "properties" : {
28682 "type" : {
28683 "type" : "string"
28684 }
28685 },
28686 "type" : "object"
28687 },
28688 "links" : [
28689 {
28690 "href" : "{type}",
28691 "rel" : "child"
28692 }
28693 ],
28694 "type" : "array"
28695 }
28696 }
28697 },
28698 "leaf" : 0,
28699 "path" : "/nodes/{node}/hardware",
28700 "text" : "hardware"
28701 },
44660702 28702 {
56122987
DM
28703 "children" : [
28704 {
4d47f125
TL
28705 "children" : [
28706 {
28707 "children" : [
28708 {
28709 "info" : {
28710 "DELETE" : {
28711 "description" : "Delete volume",
28712 "method" : "DELETE",
28713 "name" : "delete",
28714 "parameters" : {
28715 "additionalProperties" : 0,
28716 "properties" : {
28717 "node" : {
28718 "description" : "The cluster node name.",
28719 "format" : "pve-node",
28720 "type" : "string",
28721 "typetext" : "<string>"
28722 },
28723 "storage" : {
28724 "description" : "The storage identifier.",
28725 "format" : "pve-storage-id",
28726 "optional" : 1,
28727 "type" : "string",
28728 "typetext" : "<string>"
28729 },
28730 "volume" : {
28731 "description" : "Volume identifier",
28732 "type" : "string",
28733 "typetext" : "<string>"
28734 }
28735 }
28736 },
28737 "permissions" : {
28738 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
28739 "user" : "all"
28740 },
28741 "protected" : 1,
28742 "proxyto" : "node",
28743 "returns" : {
28744 "type" : "null"
28745 }
28746 },
28747 "GET" : {
28748 "description" : "Get volume attributes",
28749 "method" : "GET",
28750 "name" : "info",
28751 "parameters" : {
28752 "additionalProperties" : 0,
28753 "properties" : {
28754 "node" : {
28755 "description" : "The cluster node name.",
28756 "format" : "pve-node",
28757 "type" : "string",
28758 "typetext" : "<string>"
28759 },
28760 "storage" : {
28761 "description" : "The storage identifier.",
28762 "format" : "pve-storage-id",
28763 "optional" : 1,
28764 "type" : "string",
28765 "typetext" : "<string>"
28766 },
28767 "volume" : {
28768 "description" : "Volume identifier",
28769 "type" : "string",
28770 "typetext" : "<string>"
28771 }
28772 }
28773 },
28774 "permissions" : {
28775 "description" : "You need read access for the volume.",
28776 "user" : "all"
28777 },
28778 "protected" : 1,
28779 "proxyto" : "node",
28780 "returns" : {
28781 "type" : "object"
28782 }
28783 },
28784 "POST" : {
28785 "description" : "Copy a volume. This is experimental code - do not use.",
28786 "method" : "POST",
28787 "name" : "copy",
28788 "parameters" : {
28789 "additionalProperties" : 0,
28790 "properties" : {
28791 "node" : {
28792 "description" : "The cluster node name.",
28793 "format" : "pve-node",
28794 "type" : "string",
28795 "typetext" : "<string>"
28796 },
28797 "storage" : {
28798 "description" : "The storage identifier.",
28799 "format" : "pve-storage-id",
28800 "optional" : 1,
28801 "type" : "string",
28802 "typetext" : "<string>"
28803 },
28804 "target" : {
28805 "description" : "Target volume identifier",
28806 "type" : "string",
28807 "typetext" : "<string>"
28808 },
28809 "target_node" : {
28810 "description" : "Target node. Default is local node.",
28811 "format" : "pve-node",
28812 "optional" : 1,
28813 "type" : "string",
28814 "typetext" : "<string>"
28815 },
28816 "volume" : {
28817 "description" : "Source volume identifier",
28818 "type" : "string",
28819 "typetext" : "<string>"
28820 }
28821 }
28822 },
28823 "protected" : 1,
28824 "proxyto" : "node",
28825 "returns" : {
28826 "type" : "string"
28827 }
28828 }
28829 },
28830 "leaf" : 1,
28831 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
28832 "text" : "{volume}"
44660702 28833 }
4d47f125
TL
28834 ],
28835 "info" : {
28836 "GET" : {
28837 "description" : "List storage content.",
28838 "method" : "GET",
28839 "name" : "index",
28840 "parameters" : {
28841 "additionalProperties" : 0,
28842 "properties" : {
28843 "content" : {
28844 "description" : "Only list content of this type.",
28845 "format" : "pve-storage-content",
28846 "optional" : 1,
28847 "type" : "string",
28848 "typetext" : "<string>"
28849 },
28850 "node" : {
28851 "description" : "The cluster node name.",
28852 "format" : "pve-node",
28853 "type" : "string",
28854 "typetext" : "<string>"
28855 },
28856 "storage" : {
28857 "description" : "The storage identifier.",
28858 "format" : "pve-storage-id",
28859 "type" : "string",
28860 "typetext" : "<string>"
28861 },
28862 "vmid" : {
28863 "description" : "Only list images for this VM",
28864 "format" : "pve-vmid",
28865 "minimum" : 1,
28866 "optional" : 1,
28867 "type" : "integer",
28868 "typetext" : "<integer> (1 - N)"
28869 }
56122987 28870 }
44660702 28871 },
4d47f125
TL
28872 "permissions" : {
28873 "check" : [
28874 "perm",
28875 "/storage/{storage}",
28876 [
28877 "Datastore.Audit",
28878 "Datastore.AllocateSpace"
28879 ],
28880 "any",
28881 1
28882 ]
7aacca6f 28883 },
4d47f125
TL
28884 "protected" : 1,
28885 "proxyto" : "node",
28886 "returns" : {
28887 "items" : {
28888 "properties" : {
28889 "format" : {
28890 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
28891 "type" : "string"
28892 },
28893 "parent" : {
28894 "description" : "Volume identifier of parent (for linked cloned).",
28895 "optional" : 1,
28896 "type" : "string"
28897 },
28898 "size" : {
28899 "description" : "Volume size in bytes.",
28900 "renderer" : "bytes",
28901 "type" : "integer"
28902 },
28903 "used" : {
28904 "description" : "Used space. Please note that most storage plugins does not report anything useful here.",
28905 "optional" : 1,
28906 "renderer" : "bytes",
28907 "type" : "integer"
28908 },
28909 "vmid" : {
28910 "description" : "Associated Owner VMID.",
28911 "optional" : 1,
28912 "type" : "integer"
28913 },
28914 "volid" : {
28915 "description" : "Volume identifier.",
28916 "type" : "string"
28917 }
28918 },
28919 "type" : "object"
44660702 28920 },
4d47f125
TL
28921 "links" : [
28922 {
28923 "href" : "{volid}",
28924 "rel" : "child"
28925 }
28926 ],
28927 "type" : "array"
28928 }
28929 },
28930 "POST" : {
28931 "description" : "Allocate disk images.",
28932 "method" : "POST",
28933 "name" : "create",
28934 "parameters" : {
28935 "additionalProperties" : 0,
28936 "properties" : {
28937 "filename" : {
28938 "description" : "The name of the file to create.",
28939 "type" : "string",
28940 "typetext" : "<string>"
28941 },
28942 "format" : {
28943 "enum" : [
28944 "raw",
28945 "qcow2",
28946 "subvol"
28947 ],
28948 "optional" : 1,
28949 "requires" : "size",
28950 "type" : "string"
28951 },
28952 "node" : {
28953 "description" : "The cluster node name.",
28954 "format" : "pve-node",
28955 "type" : "string",
28956 "typetext" : "<string>"
28957 },
28958 "size" : {
28959 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
28960 "pattern" : "\\d+[MG]?",
28961 "type" : "string"
28962 },
28963 "storage" : {
28964 "description" : "The storage identifier.",
28965 "format" : "pve-storage-id",
28966 "type" : "string",
28967 "typetext" : "<string>"
28968 },
28969 "vmid" : {
28970 "description" : "Specify owner VM",
28971 "format" : "pve-vmid",
28972 "minimum" : 1,
28973 "type" : "integer",
28974 "typetext" : "<integer> (1 - N)"
28975 }
44660702
DM
28976 }
28977 },
4d47f125
TL
28978 "permissions" : {
28979 "check" : [
28980 "perm",
28981 "/storage/{storage}",
28982 [
28983 "Datastore.AllocateSpace"
28984 ]
28985 ]
27a7acb2 28986 },
4d47f125
TL
28987 "protected" : 1,
28988 "proxyto" : "node",
28989 "returns" : {
28990 "description" : "Volume identifier",
28991 "type" : "string"
27a7acb2
DM
28992 }
28993 }
28994 },
4d47f125
TL
28995 "leaf" : 0,
28996 "path" : "/nodes/{node}/storage/{storage}/content",
28997 "text" : "content"
28998 },
28999 {
29000 "info" : {
29001 "GET" : {
29002 "description" : "Read storage status.",
29003 "method" : "GET",
29004 "name" : "read_status",
29005 "parameters" : {
29006 "additionalProperties" : 0,
29007 "properties" : {
29008 "node" : {
29009 "description" : "The cluster node name.",
29010 "format" : "pve-node",
29011 "type" : "string",
29012 "typetext" : "<string>"
29013 },
29014 "storage" : {
29015 "description" : "The storage identifier.",
29016 "format" : "pve-storage-id",
29017 "type" : "string",
29018 "typetext" : "<string>"
29019 }
27a7acb2
DM
29020 }
29021 },
4d47f125
TL
29022 "permissions" : {
29023 "check" : [
29024 "perm",
29025 "/storage/{storage}",
29026 [
29027 "Datastore.Audit",
29028 "Datastore.AllocateSpace"
29029 ],
29030 "any",
29031 1
29032 ]
7aacca6f 29033 },
4d47f125
TL
29034 "protected" : 1,
29035 "proxyto" : "node",
29036 "returns" : {
29037 "type" : "object"
56122987 29038 }
44660702
DM
29039 }
29040 },
4d47f125
TL
29041 "leaf" : 1,
29042 "path" : "/nodes/{node}/storage/{storage}/status",
29043 "text" : "status"
29044 },
29045 {
29046 "info" : {
29047 "GET" : {
29048 "description" : "Read storage RRD statistics (returns PNG).",
29049 "method" : "GET",
29050 "name" : "rrd",
29051 "parameters" : {
29052 "additionalProperties" : 0,
29053 "properties" : {
29054 "cf" : {
29055 "description" : "The RRD consolidation function",
29056 "enum" : [
29057 "AVERAGE",
29058 "MAX"
29059 ],
29060 "optional" : 1,
29061 "type" : "string"
29062 },
29063 "ds" : {
29064 "description" : "The list of datasources you want to display.",
29065 "format" : "pve-configid-list",
29066 "type" : "string",
29067 "typetext" : "<string>"
29068 },
29069 "node" : {
29070 "description" : "The cluster node name.",
29071 "format" : "pve-node",
29072 "type" : "string",
29073 "typetext" : "<string>"
29074 },
29075 "storage" : {
29076 "description" : "The storage identifier.",
29077 "format" : "pve-storage-id",
29078 "type" : "string",
29079 "typetext" : "<string>"
29080 },
29081 "timeframe" : {
29082 "description" : "Specify the time frame you are interested in.",
29083 "enum" : [
29084 "hour",
29085 "day",
29086 "week",
29087 "month",
29088 "year"
29089 ],
29090 "type" : "string"
29091 }
44660702
DM
29092 }
29093 },
4d47f125
TL
29094 "permissions" : {
29095 "check" : [
29096 "perm",
29097 "/storage/{storage}",
29098 [
29099 "Datastore.Audit",
29100 "Datastore.AllocateSpace"
29101 ],
29102 "any",
29103 1
29104 ]
29105 },
29106 "protected" : 1,
29107 "proxyto" : "node",
29108 "returns" : {
29109 "properties" : {
29110 "filename" : {
29111 "type" : "string"
29112 }
29113 },
29114 "type" : "object"
44660702
DM
29115 }
29116 }
29117 },
4d47f125
TL
29118 "leaf" : 1,
29119 "path" : "/nodes/{node}/storage/{storage}/rrd",
29120 "text" : "rrd"
29121 },
29122 {
29123 "info" : {
29124 "GET" : {
29125 "description" : "Read storage RRD statistics.",
29126 "method" : "GET",
29127 "name" : "rrddata",
29128 "parameters" : {
29129 "additionalProperties" : 0,
29130 "properties" : {
29131 "cf" : {
29132 "description" : "The RRD consolidation function",
29133 "enum" : [
29134 "AVERAGE",
29135 "MAX"
29136 ],
29137 "optional" : 1,
29138 "type" : "string"
29139 },
29140 "node" : {
29141 "description" : "The cluster node name.",
29142 "format" : "pve-node",
29143 "type" : "string",
29144 "typetext" : "<string>"
29145 },
29146 "storage" : {
29147 "description" : "The storage identifier.",
29148 "format" : "pve-storage-id",
29149 "type" : "string",
29150 "typetext" : "<string>"
29151 },
29152 "timeframe" : {
29153 "description" : "Specify the time frame you are interested in.",
29154 "enum" : [
29155 "hour",
29156 "day",
29157 "week",
29158 "month",
29159 "year"
29160 ],
29161 "type" : "string"
29162 }
56122987
DM
29163 }
29164 },
4d47f125
TL
29165 "permissions" : {
29166 "check" : [
29167 "perm",
29168 "/storage/{storage}",
29169 [
29170 "Datastore.Audit",
29171 "Datastore.AllocateSpace"
29172 ],
29173 "any",
29174 1
29175 ]
29176 },
29177 "protected" : 1,
29178 "proxyto" : "node",
29179 "returns" : {
29180 "items" : {
29181 "properties" : {},
29182 "type" : "object"
29183 },
29184 "type" : "array"
56122987 29185 }
7aacca6f 29186 }
56122987 29187 },
4d47f125
TL
29188 "leaf" : 1,
29189 "path" : "/nodes/{node}/storage/{storage}/rrddata",
29190 "text" : "rrddata"
29191 },
29192 {
29193 "info" : {
29194 "POST" : {
29195 "description" : "Upload templates and ISO images.",
29196 "method" : "POST",
29197 "name" : "upload",
29198 "parameters" : {
29199 "additionalProperties" : 0,
29200 "properties" : {
29201 "content" : {
29202 "description" : "Content type.",
29203 "format" : "pve-storage-content",
29204 "type" : "string",
29205 "typetext" : "<string>"
29206 },
29207 "filename" : {
29208 "description" : "The name of the file to create.",
29209 "type" : "string",
29210 "typetext" : "<string>"
29211 },
29212 "node" : {
29213 "description" : "The cluster node name.",
29214 "format" : "pve-node",
29215 "type" : "string",
29216 "typetext" : "<string>"
29217 },
29218 "storage" : {
29219 "description" : "The storage identifier.",
29220 "format" : "pve-storage-id",
29221 "type" : "string",
29222 "typetext" : "<string>"
29223 },
29224 "tmpfilename" : {
29225 "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.",
29226 "optional" : 1,
29227 "type" : "string",
29228 "typetext" : "<string>"
29229 }
44660702
DM
29230 }
29231 },
4d47f125
TL
29232 "permissions" : {
29233 "check" : [
29234 "perm",
29235 "/storage/{storage}",
29236 [
29237 "Datastore.AllocateTemplate"
29238 ]
29239 ]
56122987 29240 },
4d47f125
TL
29241 "protected" : 1,
29242 "returns" : {
44660702 29243 "type" : "string"
56122987 29244 }
44660702 29245 }
56122987 29246 },
4d47f125
TL
29247 "leaf" : 1,
29248 "path" : "/nodes/{node}/storage/{storage}/upload",
29249 "text" : "upload"
56122987 29250 }
4d47f125 29251 ],
56122987
DM
29252 "info" : {
29253 "GET" : {
4d47f125 29254 "description" : "",
44660702 29255 "method" : "GET",
4d47f125 29256 "name" : "diridx",
44660702
DM
29257 "parameters" : {
29258 "additionalProperties" : 0,
29259 "properties" : {
29260 "node" : {
29261 "description" : "The cluster node name.",
29262 "format" : "pve-node",
013dc89f
DM
29263 "type" : "string",
29264 "typetext" : "<string>"
4d47f125
TL
29265 },
29266 "storage" : {
29267 "description" : "The storage identifier.",
29268 "format" : "pve-storage-id",
29269 "type" : "string",
29270 "typetext" : "<string>"
44660702
DM
29271 }
29272 }
29273 },
7aacca6f
DM
29274 "permissions" : {
29275 "check" : [
29276 "perm",
4d47f125 29277 "/storage/{storage}",
7aacca6f 29278 [
4d47f125
TL
29279 "Datastore.Audit",
29280 "Datastore.AllocateSpace"
29281 ],
29282 "any",
29283 1
7aacca6f
DM
29284 ]
29285 },
56122987
DM
29286 "returns" : {
29287 "items" : {
29288 "properties" : {
4d47f125 29289 "subdir" : {
44660702 29290 "type" : "string"
56122987
DM
29291 }
29292 },
29293 "type" : "object"
7aacca6f 29294 },
4d47f125
TL
29295 "links" : [
29296 {
29297 "href" : "{subdir}",
29298 "rel" : "child"
29299 }
29300 ],
7aacca6f 29301 "type" : "array"
44660702
DM
29302 }
29303 }
29304 },
4d47f125
TL
29305 "leaf" : 0,
29306 "path" : "/nodes/{node}/storage/{storage}",
29307 "text" : "{storage}"
44660702
DM
29308 }
29309 ],
29310 "info" : {
29311 "GET" : {
4d47f125 29312 "description" : "Get status for all datastores.",
44660702
DM
29313 "method" : "GET",
29314 "name" : "index",
29315 "parameters" : {
29316 "additionalProperties" : 0,
29317 "properties" : {
4d47f125
TL
29318 "content" : {
29319 "description" : "Only list stores which support this content type.",
29320 "format" : "pve-storage-content-list",
29321 "optional" : 1,
29322 "type" : "string",
29323 "typetext" : "<string>"
29324 },
29325 "enabled" : {
29326 "default" : 0,
29327 "description" : "Only list stores which are enabled (not disabled in config).",
29328 "optional" : 1,
29329 "type" : "boolean",
29330 "typetext" : "<boolean>"
29331 },
29332 "format" : {
29333 "default" : 0,
29334 "description" : "Include information about formats",
29335 "optional" : 1,
29336 "type" : "boolean",
29337 "typetext" : "<boolean>"
29338 },
44660702
DM
29339 "node" : {
29340 "description" : "The cluster node name.",
29341 "format" : "pve-node",
013dc89f
DM
29342 "type" : "string",
29343 "typetext" : "<string>"
4d47f125
TL
29344 },
29345 "storage" : {
29346 "description" : "Only list status for specified storage",
29347 "format" : "pve-storage-id",
29348 "optional" : 1,
29349 "type" : "string",
29350 "typetext" : "<string>"
29351 },
29352 "target" : {
29353 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
29354 "format" : "pve-node",
29355 "optional" : 1,
29356 "type" : "string",
29357 "typetext" : "<string>"
44660702
DM
29358 }
29359 }
29360 },
4d47f125
TL
29361 "permissions" : {
29362 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
29363 "user" : "all"
29364 },
29365 "protected" : 1,
29366 "proxyto" : "node",
29367 "returns" : {
29368 "items" : {
29369 "properties" : {
29370 "active" : {
29371 "description" : "Set when storage is accessible.",
29372 "optional" : 1,
29373 "type" : "boolean"
29374 },
29375 "avail" : {
29376 "description" : "Available storage space in bytes.",
29377 "optional" : 1,
29378 "renderer" : "bytes",
29379 "type" : "integer"
29380 },
29381 "content" : {
29382 "description" : "Allowed storage content types.",
29383 "format" : "pve-storage-content-list",
29384 "type" : "string"
29385 },
29386 "enabled" : {
29387 "description" : "Set when storage is enabled (not disabled).",
29388 "optional" : 1,
29389 "type" : "boolean"
29390 },
29391 "shared" : {
29392 "description" : "Shared flag from storage configuration.",
29393 "optional" : 1,
29394 "type" : "boolean"
29395 },
29396 "storage" : {
29397 "description" : "The storage identifier.",
29398 "format" : "pve-storage-id",
29399 "type" : "string"
29400 },
29401 "total" : {
29402 "description" : "Total storage space in bytes.",
29403 "optional" : 1,
29404 "renderer" : "bytes",
29405 "type" : "integer"
29406 },
29407 "type" : {
29408 "description" : "Storage type.",
29409 "type" : "string"
29410 },
29411 "used" : {
29412 "description" : "Used storage space in bytes.",
29413 "optional" : 1,
29414 "renderer" : "bytes",
29415 "type" : "integer"
29416 },
29417 "used_fraction" : {
29418 "description" : "Used fraction (used/total).",
29419 "optional" : 1,
29420 "renderer" : "fraction_as_percentage",
29421 "type" : "number"
7aacca6f 29422 }
4d47f125
TL
29423 },
29424 "type" : "object"
29425 },
29426 "links" : [
29427 {
29428 "href" : "{storage}",
29429 "rel" : "child"
29430 }
29431 ],
29432 "type" : "array"
29433 }
29434 }
29435 },
29436 "leaf" : 0,
29437 "path" : "/nodes/{node}/storage",
29438 "text" : "storage"
29439 },
29440 {
29441 "children" : [
29442 {
29443 "info" : {
29444 "GET" : {
29445 "description" : "List LVM Volume Groups",
29446 "method" : "GET",
29447 "name" : "index",
29448 "parameters" : {
29449 "additionalProperties" : 0,
29450 "properties" : {
29451 "node" : {
29452 "description" : "The cluster node name.",
29453 "format" : "pve-node",
29454 "type" : "string",
29455 "typetext" : "<string>"
29456 }
29457 }
29458 },
29459 "permissions" : {
29460 "check" : [
29461 "perm",
29462 "/",
29463 [
29464 "Sys.Audit",
29465 "Datastore.Audit"
29466 ],
29467 "any",
29468 1
29469 ]
29470 },
29471 "protected" : 1,
29472 "proxyto" : "node",
29473 "returns" : {
29474 "properties" : {
29475 "children" : {
44660702
DM
29476 "items" : {
29477 "properties" : {
4d47f125
TL
29478 "children" : {
29479 "description" : "The underlying physical volumes",
29480 "items" : {
29481 "properties" : {
29482 "free" : {
29483 "description" : "The free bytes in the physical volume",
29484 "type" : "integer"
29485 },
29486 "leaf" : {
29487 "type" : "boolean"
29488 },
29489 "name" : {
29490 "description" : "The name of the physical volume",
29491 "type" : "string"
29492 },
29493 "size" : {
29494 "description" : "The size of the physical volume in bytes",
29495 "type" : "integer"
29496 }
29497 },
29498 "type" : "object"
29499 },
29500 "optional" : 1,
29501 "type" : "array"
29502 },
29503 "free" : {
29504 "description" : "The free bytes in the volume group",
29505 "type" : "integer"
29506 },
29507 "leaf" : {
29508 "type" : "boolean"
29509 },
29510 "name" : {
29511 "description" : "The name of the volume group",
44660702 29512 "type" : "string"
4d47f125
TL
29513 },
29514 "size" : {
29515 "description" : "The size of the volume group in bytes",
29516 "type" : "integer"
44660702
DM
29517 }
29518 },
29519 "type" : "object"
29520 },
44660702 29521 "type" : "array"
4d47f125
TL
29522 },
29523 "leaf" : {
29524 "type" : "boolean"
44660702
DM
29525 }
29526 },
4d47f125
TL
29527 "type" : "object"
29528 }
29529 },
29530 "POST" : {
29531 "description" : "Create an LVM Volume Group",
29532 "method" : "POST",
29533 "name" : "create",
29534 "parameters" : {
29535 "additionalProperties" : 0,
29536 "properties" : {
29537 "add_storage" : {
29538 "default" : 0,
29539 "description" : "Configure storage using the Volume Group",
29540 "optional" : 1,
29541 "type" : "boolean",
29542 "typetext" : "<boolean>"
44660702 29543 },
4d47f125
TL
29544 "device" : {
29545 "description" : "The block device you want to create the volume group on",
29546 "type" : "string",
29547 "typetext" : "<string>"
44660702 29548 },
4d47f125
TL
29549 "name" : {
29550 "description" : "The storage identifier.",
29551 "format" : "pve-storage-id",
29552 "type" : "string",
29553 "typetext" : "<string>"
29554 },
29555 "node" : {
29556 "description" : "The cluster node name.",
29557 "format" : "pve-node",
29558 "type" : "string",
29559 "typetext" : "<string>"
29560 }
29561 }
29562 },
29563 "permissions" : {
29564 "check" : [
29565 "perm",
29566 "/",
29567 [
29568 "Sys.Modify",
29569 "Datastore.Allocate"
29570 ]
29571 ]
29572 },
29573 "protected" : 1,
29574 "proxyto" : "node",
29575 "returns" : {
29576 "type" : "string"
29577 }
29578 }
29579 },
29580 "leaf" : 1,
29581 "path" : "/nodes/{node}/disks/lvm",
29582 "text" : "lvm"
29583 },
29584 {
29585 "info" : {
29586 "GET" : {
29587 "description" : "List LVM thinpools",
29588 "method" : "GET",
29589 "name" : "index",
29590 "parameters" : {
29591 "additionalProperties" : 0,
29592 "properties" : {
29593 "node" : {
29594 "description" : "The cluster node name.",
29595 "format" : "pve-node",
29596 "type" : "string",
29597 "typetext" : "<string>"
44660702
DM
29598 }
29599 }
29600 },
4d47f125
TL
29601 "permissions" : {
29602 "check" : [
29603 "perm",
29604 "/",
29605 [
29606 "Sys.Audit",
29607 "Datastore.Audit"
29608 ],
29609 "any",
29610 1
29611 ]
29612 },
29613 "protected" : 1,
29614 "proxyto" : "node",
29615 "returns" : {
29616 "items" : {
29617 "properties" : {
29618 "lv" : {
29619 "description" : "The name of the thinpool.",
29620 "type" : "string"
29621 },
29622 "lv_size" : {
29623 "description" : "The size of the thinpool in bytes.",
29624 "type" : "integer"
29625 },
29626 "metadata_size" : {
29627 "description" : "The size of the metadata lv in bytes.",
29628 "type" : "integer"
29629 },
29630 "metadata_used" : {
29631 "description" : "The used bytes of the metadata lv.",
29632 "type" : "integer"
29633 },
29634 "used" : {
29635 "description" : "The used bytes of the thinpool.",
29636 "type" : "integer"
44660702
DM
29637 }
29638 },
4d47f125
TL
29639 "type" : "object"
29640 },
29641 "type" : "array"
29642 }
29643 },
29644 "POST" : {
29645 "description" : "Create an LVM thinpool",
29646 "method" : "POST",
29647 "name" : "create",
29648 "parameters" : {
29649 "additionalProperties" : 0,
29650 "properties" : {
29651 "add_storage" : {
29652 "default" : 0,
29653 "description" : "Configure storage using the thinpool.",
29654 "optional" : 1,
29655 "type" : "boolean",
29656 "typetext" : "<boolean>"
56122987 29657 },
4d47f125
TL
29658 "device" : {
29659 "description" : "The block device you want to create the thinpool on.",
29660 "type" : "string",
29661 "typetext" : "<string>"
29662 },
29663 "name" : {
29664 "description" : "The storage identifier.",
29665 "format" : "pve-storage-id",
29666 "type" : "string",
29667 "typetext" : "<string>"
29668 },
29669 "node" : {
29670 "description" : "The cluster node name.",
29671 "format" : "pve-node",
29672 "type" : "string",
29673 "typetext" : "<string>"
44660702 29674 }
56122987
DM
29675 }
29676 },
4d47f125
TL
29677 "permissions" : {
29678 "check" : [
29679 "perm",
29680 "/",
29681 [
29682 "Sys.Modify",
29683 "Datastore.Allocate"
29684 ]
29685 ]
29686 },
29687 "protected" : 1,
29688 "proxyto" : "node",
29689 "returns" : {
29690 "type" : "string"
29691 }
29692 }
29693 },
29694 "leaf" : 1,
29695 "path" : "/nodes/{node}/disks/lvmthin",
29696 "text" : "lvmthin"
29697 },
29698 {
29699 "info" : {
29700 "GET" : {
29701 "description" : "PVE Managed Directory storages.",
29702 "method" : "GET",
29703 "name" : "index",
29704 "parameters" : {
29705 "additionalProperties" : 0,
29706 "properties" : {
29707 "node" : {
29708 "description" : "The cluster node name.",
29709 "format" : "pve-node",
29710 "type" : "string",
29711 "typetext" : "<string>"
29712 }
29713 }
29714 },
29715 "permissions" : {
29716 "check" : [
29717 "perm",
29718 "/",
29719 [
29720 "Sys.Audit",
29721 "Datastore.Audit"
29722 ],
29723 "any",
29724 1
29725 ]
29726 },
29727 "protected" : 1,
29728 "proxyto" : "node",
29729 "returns" : {
29730 "items" : {
29731 "properties" : {
29732 "device" : {
29733 "description" : "The mounted device.",
29734 "type" : "string"
29735 },
29736 "options" : {
29737 "description" : "The mount options.",
29738 "type" : "string"
29739 },
29740 "path" : {
29741 "description" : "The mount path.",
29742 "type" : "string"
29743 },
29744 "type" : {
29745 "description" : "The filesystem type.",
29746 "type" : "string"
29747 },
29748 "unitfile" : {
29749 "description" : "The path of the mount unit.",
29750 "type" : "string"
44660702 29751 }
56122987 29752 },
4d47f125
TL
29753 "type" : "object"
29754 },
29755 "type" : "array"
29756 }
29757 },
29758 "POST" : {
29759 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
29760 "method" : "POST",
29761 "name" : "create",
29762 "parameters" : {
29763 "additionalProperties" : 0,
29764 "properties" : {
29765 "add_storage" : {
29766 "default" : 0,
29767 "description" : "Configure storage using the directory.",
29768 "optional" : 1,
29769 "type" : "boolean",
29770 "typetext" : "<boolean>"
29771 },
29772 "device" : {
29773 "description" : "The block device you want to create the filesystem on.",
29774 "type" : "string",
29775 "typetext" : "<string>"
29776 },
29777 "filesystem" : {
29778 "default" : "ext4",
29779 "description" : "The desired filesystem.",
29780 "enum" : [
29781 "ext4",
29782 "xfs"
29783 ],
29784 "optional" : 1,
29785 "type" : "string"
56122987 29786 },
4d47f125
TL
29787 "name" : {
29788 "description" : "The storage identifier.",
29789 "format" : "pve-storage-id",
29790 "type" : "string",
29791 "typetext" : "<string>"
29792 },
29793 "node" : {
29794 "description" : "The cluster node name.",
29795 "format" : "pve-node",
29796 "type" : "string",
29797 "typetext" : "<string>"
7aacca6f 29798 }
56122987
DM
29799 }
29800 },
4d47f125
TL
29801 "permissions" : {
29802 "check" : [
29803 "perm",
29804 "/",
29805 [
29806 "Sys.Modify",
29807 "Datastore.Allocate"
29808 ]
29809 ]
29810 },
29811 "protected" : 1,
29812 "proxyto" : "node",
29813 "returns" : {
29814 "type" : "string"
29815 }
29816 }
29817 },
29818 "leaf" : 1,
29819 "path" : "/nodes/{node}/disks/directory",
29820 "text" : "directory"
29821 },
29822 {
29823 "children" : [
56122987 29824 {
56122987
DM
29825 "info" : {
29826 "GET" : {
4d47f125 29827 "description" : "Get details about a zpool.",
44660702 29828 "method" : "GET",
4d47f125 29829 "name" : "detail",
56122987 29830 "parameters" : {
44660702 29831 "additionalProperties" : 0,
56122987 29832 "properties" : {
4d47f125
TL
29833 "name" : {
29834 "description" : "The storage identifier.",
29835 "format" : "pve-storage-id",
29836 "type" : "string",
29837 "typetext" : "<string>"
44660702 29838 },
7aacca6f 29839 "node" : {
7aacca6f 29840 "description" : "The cluster node name.",
44660702 29841 "format" : "pve-node",
013dc89f
DM
29842 "type" : "string",
29843 "typetext" : "<string>"
56122987 29844 }
44660702 29845 }
7aacca6f 29846 },
7aacca6f
DM
29847 "permissions" : {
29848 "check" : [
29849 "perm",
4d47f125 29850 "/",
7aacca6f 29851 [
4d47f125
TL
29852 "Sys.Audit",
29853 "Datastore.Audit"
7aacca6f
DM
29854 ],
29855 "any",
29856 1
29857 ]
29858 },
44660702
DM
29859 "protected" : 1,
29860 "proxyto" : "node",
7aacca6f 29861 "returns" : {
56122987 29862 "properties" : {
4d47f125
TL
29863 "action" : {
29864 "description" : "Information about the recommended action to fix the state.",
29865 "optional" : 1,
29866 "type" : "string"
56122987 29867 },
4d47f125 29868 "children" : {
e2d681b3 29869 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
29870 "items" : {
29871 "properties" : {
29872 "cksum" : {
e2d681b3 29873 "optional" : 1,
4d47f125
TL
29874 "type" : "number"
29875 },
29876 "msg" : {
29877 "description" : "An optional message about the vdev.",
29878 "type" : "string"
29879 },
29880 "name" : {
e2d681b3 29881 "description" : "The name of the vdev or section.",
4d47f125
TL
29882 "type" : "string"
29883 },
29884 "read" : {
e2d681b3 29885 "optional" : 1,
4d47f125
TL
29886 "type" : "number"
29887 },
29888 "state" : {
29889 "description" : "The state of the vdev.",
e2d681b3 29890 "optional" : 1,
4d47f125
TL
29891 "type" : "string"
29892 },
29893 "write" : {
e2d681b3 29894 "optional" : 1,
4d47f125
TL
29895 "type" : "number"
29896 }
29897 },
29898 "type" : "object"
29899 },
29900 "type" : "array"
56122987 29901 },
e2d681b3
TL
29902 "errors" : {
29903 "description" : "Information about the errors on the zpool.",
29904 "type" : "string"
29905 },
4d47f125
TL
29906 "name" : {
29907 "description" : "The name of the zpool.",
29908 "type" : "string"
44660702 29909 },
4d47f125 29910 "scan" : {
e2d681b3 29911 "description" : "Information about the last/current scrub.",
4d47f125 29912 "type" : "string"
44660702 29913 },
4d47f125
TL
29914 "state" : {
29915 "description" : "The state of the zpool.",
29916 "type" : "string"
29917 },
29918 "status" : {
29919 "description" : "Information about the state of the zpool.",
44660702 29920 "optional" : 1,
4d47f125 29921 "type" : "string"
56122987 29922 }
4d47f125
TL
29923 },
29924 "type" : "object"
44660702
DM
29925 }
29926 }
29927 },
29928 "leaf" : 1,
4d47f125
TL
29929 "path" : "/nodes/{node}/disks/zfs/{name}",
29930 "text" : "{name}"
44660702
DM
29931 }
29932 ],
29933 "info" : {
29934 "GET" : {
4d47f125 29935 "description" : "List Zpools.",
44660702 29936 "method" : "GET",
4d47f125 29937 "name" : "index",
44660702
DM
29938 "parameters" : {
29939 "additionalProperties" : 0,
29940 "properties" : {
29941 "node" : {
29942 "description" : "The cluster node name.",
29943 "format" : "pve-node",
013dc89f
DM
29944 "type" : "string",
29945 "typetext" : "<string>"
4d47f125
TL
29946 }
29947 }
29948 },
29949 "permissions" : {
29950 "check" : [
29951 "perm",
29952 "/",
29953 [
29954 "Sys.Audit",
29955 "Datastore.Audit"
29956 ],
29957 "any",
29958 1
29959 ]
29960 },
29961 "protected" : 1,
29962 "proxyto" : "node",
29963 "returns" : {
29964 "items" : {
29965 "properties" : {
29966 "alloc" : {
29967 "description" : "",
29968 "type" : "integer"
29969 },
29970 "dedup" : {
29971 "description" : "",
29972 "type" : "number"
29973 },
29974 "frag" : {
29975 "description" : "",
29976 "type" : "integer"
29977 },
29978 "free" : {
29979 "description" : "",
29980 "type" : "integer"
29981 },
29982 "health" : {
29983 "description" : "",
29984 "type" : "string"
29985 },
29986 "name" : {
29987 "description" : "",
29988 "type" : "string"
29989 },
29990 "size" : {
29991 "description" : "",
29992 "type" : "integer"
29993 }
29994 },
29995 "type" : "object"
29996 },
29997 "links" : [
29998 {
29999 "href" : "{name}",
30000 "rel" : "child"
30001 }
30002 ],
30003 "type" : "array"
30004 }
30005 },
30006 "POST" : {
30007 "description" : "Create a ZFS pool.",
30008 "method" : "POST",
30009 "name" : "create",
30010 "parameters" : {
30011 "additionalProperties" : 0,
30012 "properties" : {
30013 "add_storage" : {
30014 "default" : 0,
30015 "description" : "Configure storage using the zpool.",
30016 "optional" : 1,
30017 "type" : "boolean",
30018 "typetext" : "<boolean>"
30019 },
30020 "ashift" : {
30021 "default" : 12,
30022 "description" : "Pool sector size exponent.",
30023 "maximum" : 16,
30024 "minimum" : 9,
30025 "optional" : 1,
30026 "type" : "integer",
30027 "typetext" : "<integer> (9 - 16)"
30028 },
30029 "compression" : {
30030 "default" : "on",
30031 "description" : "The compression algorithm to use.",
30032 "enum" : [
30033 "on",
30034 "off",
30035 "gzip",
30036 "lz4",
30037 "lzjb",
30038 "zle"
30039 ],
30040 "optional" : 1,
30041 "type" : "string"
30042 },
30043 "devices" : {
30044 "description" : "The block devices you want to create the zpool on.",
30045 "format" : "string-list",
30046 "type" : "string",
30047 "typetext" : "<string>"
44660702 30048 },
4d47f125 30049 "name" : {
44660702
DM
30050 "description" : "The storage identifier.",
30051 "format" : "pve-storage-id",
013dc89f
DM
30052 "type" : "string",
30053 "typetext" : "<string>"
4d47f125
TL
30054 },
30055 "node" : {
30056 "description" : "The cluster node name.",
30057 "format" : "pve-node",
30058 "type" : "string",
30059 "typetext" : "<string>"
30060 },
30061 "raidlevel" : {
30062 "description" : "The RAID level to use.",
30063 "enum" : [
30064 "single",
30065 "mirror",
30066 "raid10",
30067 "raidz",
30068 "raidz2",
30069 "raidz3"
30070 ],
30071 "type" : "string"
56122987
DM
30072 }
30073 }
44660702
DM
30074 },
30075 "permissions" : {
30076 "check" : [
30077 "perm",
4d47f125 30078 "/",
44660702 30079 [
4d47f125
TL
30080 "Sys.Modify",
30081 "Datastore.Allocate"
30082 ]
44660702
DM
30083 ]
30084 },
4d47f125
TL
30085 "protected" : 1,
30086 "proxyto" : "node",
44660702 30087 "returns" : {
4d47f125 30088 "type" : "string"
56122987
DM
30089 }
30090 }
44660702
DM
30091 },
30092 "leaf" : 0,
4d47f125
TL
30093 "path" : "/nodes/{node}/disks/zfs",
30094 "text" : "zfs"
30095 },
2c0dde61
DM
30096 {
30097 "info" : {
30098 "GET" : {
30099 "description" : "List local disks.",
30100 "method" : "GET",
30101 "name" : "list",
30102 "parameters" : {
30103 "additionalProperties" : 0,
30104 "properties" : {
30105 "node" : {
30106 "description" : "The cluster node name.",
30107 "format" : "pve-node",
013dc89f
DM
30108 "type" : "string",
30109 "typetext" : "<string>"
4d47f125
TL
30110 },
30111 "skipsmart" : {
30112 "default" : 0,
30113 "description" : "Skip smart checks.",
30114 "optional" : 1,
30115 "type" : "boolean",
30116 "typetext" : "<boolean>"
30117 },
30118 "type" : {
30119 "description" : "Only list specific types of disks.",
30120 "enum" : [
30121 "unused",
30122 "journal_disks"
30123 ],
30124 "optional" : 1,
30125 "type" : "string"
2c0dde61
DM
30126 }
30127 }
30128 },
30129 "permissions" : {
30130 "check" : [
30131 "perm",
30132 "/",
30133 [
30134 "Sys.Audit",
30135 "Datastore.Audit"
30136 ],
30137 "any",
30138 1
30139 ]
30140 },
30141 "protected" : 1,
30142 "proxyto" : "node",
30143 "returns" : {
30144 "items" : {
30145 "properties" : {
30146 "devpath" : {
30147 "description" : "The device path",
30148 "type" : "string"
30149 },
30150 "gpt" : {
30151 "type" : "boolean"
30152 },
30153 "health" : {
30154 "optional" : 1,
30155 "type" : "string"
30156 },
30157 "model" : {
30158 "optional" : 1,
30159 "type" : "string"
30160 },
30161 "osdid" : {
30162 "type" : "integer"
30163 },
30164 "serial" : {
30165 "optional" : 1,
30166 "type" : "string"
30167 },
30168 "size" : {
30169 "type" : "integer"
30170 },
30171 "used" : {
30172 "optional" : 1,
30173 "type" : "string"
30174 },
30175 "vendor" : {
30176 "optional" : 1,
30177 "type" : "string"
30178 },
30179 "wwn" : {
30180 "optional" : 1,
30181 "type" : "string"
30182 }
30183 },
30184 "type" : "object"
30185 },
30186 "type" : "array"
30187 }
30188 }
30189 },
30190 "leaf" : 1,
30191 "path" : "/nodes/{node}/disks/list",
30192 "text" : "list"
30193 },
30194 {
30195 "info" : {
30196 "GET" : {
30197 "description" : "Get SMART Health of a disk.",
30198 "method" : "GET",
30199 "name" : "smart",
30200 "parameters" : {
30201 "additionalProperties" : 0,
30202 "properties" : {
30203 "disk" : {
30204 "description" : "Block device name",
30205 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
30206 "type" : "string"
30207 },
30208 "healthonly" : {
30209 "description" : "If true returns only the health status",
30210 "optional" : 1,
013dc89f
DM
30211 "type" : "boolean",
30212 "typetext" : "<boolean>"
2c0dde61
DM
30213 },
30214 "node" : {
30215 "description" : "The cluster node name.",
30216 "format" : "pve-node",
013dc89f
DM
30217 "type" : "string",
30218 "typetext" : "<string>"
2c0dde61
DM
30219 }
30220 }
30221 },
30222 "permissions" : {
30223 "check" : [
30224 "perm",
30225 "/",
30226 [
30227 "Sys.Audit",
30228 "Datastore.Audit"
30229 ],
30230 "any",
30231 1
30232 ]
30233 },
30234 "protected" : 1,
30235 "proxyto" : "node",
30236 "returns" : {
de0983cb
DM
30237 "properties" : {
30238 "attributes" : {
30239 "optional" : 1,
30240 "type" : "array"
30241 },
30242 "health" : {
30243 "type" : "string"
30244 },
30245 "text" : {
30246 "optional" : 1,
30247 "type" : "string"
30248 },
30249 "type" : {
30250 "optional" : 1,
30251 "type" : "string"
30252 }
30253 },
2c0dde61
DM
30254 "type" : "object"
30255 }
30256 }
30257 },
30258 "leaf" : 1,
30259 "path" : "/nodes/{node}/disks/smart",
30260 "text" : "smart"
30261 },
30262 {
30263 "info" : {
30264 "POST" : {
30265 "description" : "Initialize Disk with GPT",
30266 "method" : "POST",
30267 "name" : "initgpt",
30268 "parameters" : {
30269 "additionalProperties" : 0,
30270 "properties" : {
30271 "disk" : {
30272 "description" : "Block device name",
30273 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
30274 "type" : "string"
30275 },
30276 "node" : {
30277 "description" : "The cluster node name.",
30278 "format" : "pve-node",
013dc89f
DM
30279 "type" : "string",
30280 "typetext" : "<string>"
2c0dde61
DM
30281 },
30282 "uuid" : {
30283 "description" : "UUID for the GPT table",
30284 "maxLength" : 36,
30285 "optional" : 1,
30286 "pattern" : "[a-fA-F0-9\\-]+",
30287 "type" : "string"
30288 }
30289 }
30290 },
30291 "permissions" : {
30292 "check" : [
30293 "perm",
30294 "/",
30295 [
30296 "Sys.Modify"
30297 ]
30298 ]
30299 },
30300 "protected" : 1,
30301 "proxyto" : "node",
30302 "returns" : {
30303 "type" : "string"
30304 }
30305 }
30306 },
30307 "leaf" : 1,
30308 "path" : "/nodes/{node}/disks/initgpt",
30309 "text" : "initgpt"
30310 }
30311 ],
30312 "info" : {
30313 "GET" : {
30314 "description" : "Node index.",
30315 "method" : "GET",
30316 "name" : "index",
30317 "parameters" : {
30318 "additionalProperties" : 0,
30319 "properties" : {
30320 "node" : {
30321 "description" : "The cluster node name.",
30322 "format" : "pve-node",
013dc89f
DM
30323 "type" : "string",
30324 "typetext" : "<string>"
2c0dde61
DM
30325 }
30326 }
30327 },
30328 "permissions" : {
30329 "user" : "all"
30330 },
30331 "proxyto" : "node",
30332 "returns" : {
30333 "items" : {
30334 "properties" : {},
30335 "type" : "object"
30336 },
30337 "links" : [
30338 {
30339 "href" : "{name}",
30340 "rel" : "child"
30341 }
30342 ],
30343 "type" : "array"
30344 }
30345 }
30346 },
30347 "leaf" : 0,
30348 "path" : "/nodes/{node}/disks",
30349 "text" : "disks"
30350 },
56122987 30351 {
56122987
DM
30352 "children" : [
30353 {
30354 "info" : {
44660702
DM
30355 "GET" : {
30356 "description" : "List available updates.",
30357 "method" : "GET",
30358 "name" : "list_updates",
30359 "parameters" : {
30360 "additionalProperties" : 0,
30361 "properties" : {
30362 "node" : {
30363 "description" : "The cluster node name.",
30364 "format" : "pve-node",
013dc89f
DM
30365 "type" : "string",
30366 "typetext" : "<string>"
44660702
DM
30367 }
30368 }
7aacca6f
DM
30369 },
30370 "permissions" : {
30371 "check" : [
30372 "perm",
30373 "/nodes/{node}",
30374 [
30375 "Sys.Modify"
30376 ]
30377 ]
30378 },
44660702 30379 "protected" : 1,
56122987 30380 "proxyto" : "node",
44660702
DM
30381 "returns" : {
30382 "items" : {
30383 "properties" : {},
30384 "type" : "object"
30385 },
30386 "type" : "array"
30387 }
30388 },
30389 "POST" : {
30390 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
30391 "method" : "POST",
30392 "name" : "update_database",
56122987
DM
30393 "parameters" : {
30394 "additionalProperties" : 0,
30395 "properties" : {
44660702
DM
30396 "node" : {
30397 "description" : "The cluster node name.",
30398 "format" : "pve-node",
013dc89f
DM
30399 "type" : "string",
30400 "typetext" : "<string>"
44660702 30401 },
56122987 30402 "notify" : {
56122987 30403 "default" : 0,
44660702
DM
30404 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
30405 "optional" : 1,
013dc89f
DM
30406 "type" : "boolean",
30407 "typetext" : "<boolean>"
56122987
DM
30408 },
30409 "quiet" : {
56122987 30410 "default" : 0,
44660702 30411 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 30412 "optional" : 1,
013dc89f
DM
30413 "type" : "boolean",
30414 "typetext" : "<boolean>"
56122987 30415 }
7aacca6f
DM
30416 }
30417 },
30418 "permissions" : {
30419 "check" : [
30420 "perm",
30421 "/nodes/{node}",
30422 [
30423 "Sys.Modify"
30424 ]
30425 ]
30426 },
44660702
DM
30427 "protected" : 1,
30428 "proxyto" : "node",
30429 "returns" : {
30430 "type" : "string"
30431 }
56122987
DM
30432 }
30433 },
7aacca6f 30434 "leaf" : 1,
44660702
DM
30435 "path" : "/nodes/{node}/apt/update",
30436 "text" : "update"
56122987
DM
30437 },
30438 {
56122987
DM
30439 "info" : {
30440 "GET" : {
44660702 30441 "description" : "Get package changelogs.",
56122987 30442 "method" : "GET",
7aacca6f 30443 "name" : "changelog",
56122987 30444 "parameters" : {
44660702 30445 "additionalProperties" : 0,
56122987
DM
30446 "properties" : {
30447 "name" : {
30448 "description" : "Package name.",
013dc89f
DM
30449 "type" : "string",
30450 "typetext" : "<string>"
56122987 30451 },
44660702
DM
30452 "node" : {
30453 "description" : "The cluster node name.",
30454 "format" : "pve-node",
013dc89f
DM
30455 "type" : "string",
30456 "typetext" : "<string>"
44660702 30457 },
56122987 30458 "version" : {
7aacca6f 30459 "description" : "Package version.",
44660702 30460 "optional" : 1,
013dc89f
DM
30461 "type" : "string",
30462 "typetext" : "<string>"
56122987 30463 }
44660702 30464 }
56122987 30465 },
44660702
DM
30466 "permissions" : {
30467 "check" : [
30468 "perm",
30469 "/nodes/{node}",
30470 [
30471 "Sys.Modify"
30472 ]
30473 ]
30474 },
30475 "proxyto" : "node",
30476 "returns" : {
30477 "type" : "string"
30478 }
56122987
DM
30479 }
30480 },
44660702
DM
30481 "leaf" : 1,
30482 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 30483 "text" : "changelog"
56122987
DM
30484 },
30485 {
56122987
DM
30486 "info" : {
30487 "GET" : {
44660702
DM
30488 "description" : "Get package information for important Proxmox packages.",
30489 "method" : "GET",
7aacca6f
DM
30490 "name" : "versions",
30491 "parameters" : {
44660702 30492 "additionalProperties" : 0,
7aacca6f
DM
30493 "properties" : {
30494 "node" : {
44660702 30495 "description" : "The cluster node name.",
7aacca6f 30496 "format" : "pve-node",
013dc89f
DM
30497 "type" : "string",
30498 "typetext" : "<string>"
7aacca6f 30499 }
44660702 30500 }
7aacca6f 30501 },
56122987
DM
30502 "permissions" : {
30503 "check" : [
30504 "perm",
30505 "/nodes/{node}",
30506 [
30507 "Sys.Audit"
30508 ]
30509 ]
30510 },
7aacca6f 30511 "proxyto" : "node",
56122987
DM
30512 "returns" : {
30513 "items" : {
7aacca6f
DM
30514 "properties" : {},
30515 "type" : "object"
44660702
DM
30516 },
30517 "type" : "array"
56122987
DM
30518 }
30519 }
30520 },
44660702 30521 "leaf" : 1,
7aacca6f 30522 "path" : "/nodes/{node}/apt/versions",
44660702 30523 "text" : "versions"
56122987
DM
30524 }
30525 ],
56122987
DM
30526 "info" : {
30527 "GET" : {
44660702 30528 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 30529 "method" : "GET",
44660702 30530 "name" : "index",
7aacca6f
DM
30531 "parameters" : {
30532 "additionalProperties" : 0,
30533 "properties" : {
30534 "node" : {
44660702 30535 "description" : "The cluster node name.",
7aacca6f 30536 "format" : "pve-node",
013dc89f
DM
30537 "type" : "string",
30538 "typetext" : "<string>"
7aacca6f
DM
30539 }
30540 }
30541 },
7aacca6f
DM
30542 "permissions" : {
30543 "user" : "all"
30544 },
44660702
DM
30545 "returns" : {
30546 "items" : {
30547 "properties" : {
30548 "id" : {
30549 "type" : "string"
30550 }
30551 },
30552 "type" : "object"
30553 },
30554 "links" : [
30555 {
30556 "href" : "{id}",
30557 "rel" : "child"
30558 }
30559 ],
30560 "type" : "array"
30561 }
56122987 30562 }
7aacca6f 30563 },
44660702 30564 "leaf" : 0,
7aacca6f 30565 "path" : "/nodes/{node}/apt",
44660702 30566 "text" : "apt"
56122987
DM
30567 },
30568 {
56122987
DM
30569 "children" : [
30570 {
30571 "children" : [
30572 {
56122987
DM
30573 "info" : {
30574 "DELETE" : {
44660702 30575 "description" : "Delete rule.",
7aacca6f 30576 "method" : "DELETE",
44660702 30577 "name" : "delete_rule",
56122987
DM
30578 "parameters" : {
30579 "additionalProperties" : 0,
30580 "properties" : {
56122987
DM
30581 "digest" : {
30582 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 30583 "maxLength" : 40,
56122987 30584 "optional" : 1,
013dc89f
DM
30585 "type" : "string",
30586 "typetext" : "<string>"
56122987 30587 },
44660702
DM
30588 "node" : {
30589 "description" : "The cluster node name.",
30590 "format" : "pve-node",
013dc89f
DM
30591 "type" : "string",
30592 "typetext" : "<string>"
44660702 30593 },
7aacca6f 30594 "pos" : {
7aacca6f 30595 "description" : "Update rule at position <pos>.",
44660702
DM
30596 "minimum" : 0,
30597 "optional" : 1,
4bd7df8b 30598 "type" : "integer",
013dc89f 30599 "typetext" : "<integer> (0 - N)"
56122987
DM
30600 }
30601 }
30602 },
44660702
DM
30603 "permissions" : {
30604 "check" : [
30605 "perm",
30606 "/nodes/{node}",
30607 [
30608 "Sys.Modify"
30609 ]
30610 ]
30611 },
30612 "protected" : 1,
30613 "proxyto" : "node",
56122987
DM
30614 "returns" : {
30615 "type" : "null"
44660702
DM
30616 }
30617 },
30618 "GET" : {
30619 "description" : "Get single rule data.",
30620 "method" : "GET",
30621 "name" : "get_rule",
30622 "parameters" : {
30623 "additionalProperties" : 0,
30624 "properties" : {
30625 "node" : {
30626 "description" : "The cluster node name.",
30627 "format" : "pve-node",
013dc89f
DM
30628 "type" : "string",
30629 "typetext" : "<string>"
44660702
DM
30630 },
30631 "pos" : {
30632 "description" : "Update rule at position <pos>.",
30633 "minimum" : 0,
30634 "optional" : 1,
4bd7df8b 30635 "type" : "integer",
013dc89f 30636 "typetext" : "<integer> (0 - N)"
44660702
DM
30637 }
30638 }
56122987 30639 },
56122987
DM
30640 "permissions" : {
30641 "check" : [
30642 "perm",
30643 "/nodes/{node}",
30644 [
44660702 30645 "Sys.Audit"
56122987
DM
30646 ]
30647 ]
44660702
DM
30648 },
30649 "proxyto" : "node",
30650 "returns" : {
30651 "properties" : {
e2d681b3
TL
30652 "action" : {
30653 "type" : "string"
30654 },
30655 "comment" : {
30656 "optional" : 1,
30657 "type" : "string"
30658 },
30659 "dest" : {
30660 "optional" : 1,
30661 "type" : "string"
30662 },
30663 "dport" : {
30664 "optional" : 1,
30665 "type" : "string"
30666 },
30667 "enable" : {
30668 "optional" : 1,
30669 "type" : "integer"
30670 },
30671 "iface" : {
30672 "optional" : 1,
30673 "type" : "string"
30674 },
30675 "ipversion" : {
30676 "optional" : 1,
30677 "type" : "integer"
30678 },
30679 "macro" : {
30680 "optional" : 1,
5f26e15b 30681 "type" : "string"
e2d681b3 30682 },
44660702
DM
30683 "pos" : {
30684 "type" : "integer"
e2d681b3
TL
30685 },
30686 "proto" : {
30687 "optional" : 1,
30688 "type" : "string"
30689 },
30690 "source" : {
30691 "optional" : 1,
30692 "type" : "string"
30693 },
30694 "sport" : {
30695 "optional" : 1,
30696 "type" : "string"
30697 },
30698 "type" : {
30699 "type" : "string"
44660702
DM
30700 }
30701 },
30702 "type" : "object"
7aacca6f 30703 }
56122987
DM
30704 },
30705 "PUT" : {
44660702
DM
30706 "description" : "Modify rule data.",
30707 "method" : "PUT",
56122987 30708 "name" : "update_rule",
56122987 30709 "parameters" : {
44660702 30710 "additionalProperties" : 0,
56122987 30711 "properties" : {
44660702
DM
30712 "action" : {
30713 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
30714 "maxLength" : 20,
30715 "minLength" : 2,
56122987 30716 "optional" : 1,
44660702
DM
30717 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
30718 "type" : "string"
56122987 30719 },
7aacca6f 30720 "comment" : {
e94f0d56 30721 "description" : "Descriptive comment.",
56122987 30722 "optional" : 1,
013dc89f
DM
30723 "type" : "string",
30724 "typetext" : "<string>"
56122987 30725 },
44660702
DM
30726 "delete" : {
30727 "description" : "A list of settings you want to delete.",
30728 "format" : "pve-configid-list",
56122987 30729 "optional" : 1,
013dc89f
DM
30730 "type" : "string",
30731 "typetext" : "<string>"
56122987 30732 },
44660702
DM
30733 "dest" : {
30734 "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.",
30735 "format" : "pve-fw-addr-spec",
56122987 30736 "optional" : 1,
013dc89f
DM
30737 "type" : "string",
30738 "typetext" : "<string>"
56122987 30739 },
44660702
DM
30740 "digest" : {
30741 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
30742 "maxLength" : 40,
56122987 30743 "optional" : 1,
013dc89f
DM
30744 "type" : "string",
30745 "typetext" : "<string>"
56122987 30746 },
7aacca6f 30747 "dport" : {
7aacca6f 30748 "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
30749 "format" : "pve-fw-dport-spec",
30750 "optional" : 1,
013dc89f
DM
30751 "type" : "string",
30752 "typetext" : "<string>"
7aacca6f 30753 },
44660702 30754 "enable" : {
e94f0d56 30755 "description" : "Flag to enable/disable a rule.",
44660702 30756 "minimum" : 0,
56122987 30757 "optional" : 1,
4bd7df8b 30758 "type" : "integer",
013dc89f 30759 "typetext" : "<integer> (0 - N)"
56122987 30760 },
7aacca6f 30761 "iface" : {
44660702 30762 "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 30763 "format" : "pve-iface",
44660702 30764 "maxLength" : 20,
56122987 30765 "minLength" : 2,
44660702 30766 "optional" : 1,
013dc89f
DM
30767 "type" : "string",
30768 "typetext" : "<string>"
56122987 30769 },
44660702 30770 "macro" : {
e94f0d56 30771 "description" : "Use predefined standard macro.",
44660702
DM
30772 "maxLength" : 128,
30773 "optional" : 1,
013dc89f
DM
30774 "type" : "string",
30775 "typetext" : "<string>"
44660702
DM
30776 },
30777 "moveto" : {
30778 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
30779 "minimum" : 0,
7aacca6f 30780 "optional" : 1,
4bd7df8b 30781 "type" : "integer",
013dc89f 30782 "typetext" : "<integer> (0 - N)"
44660702
DM
30783 },
30784 "node" : {
30785 "description" : "The cluster node name.",
30786 "format" : "pve-node",
013dc89f
DM
30787 "type" : "string",
30788 "typetext" : "<string>"
56122987
DM
30789 },
30790 "pos" : {
44660702 30791 "description" : "Update rule at position <pos>.",
7aacca6f 30792 "minimum" : 0,
7aacca6f 30793 "optional" : 1,
4bd7df8b 30794 "type" : "integer",
013dc89f 30795 "typetext" : "<integer> (0 - N)"
7aacca6f 30796 },
44660702
DM
30797 "proto" : {
30798 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
30799 "format" : "pve-fw-protocol-spec",
7aacca6f 30800 "optional" : 1,
013dc89f
DM
30801 "type" : "string",
30802 "typetext" : "<string>"
7aacca6f 30803 },
44660702
DM
30804 "source" : {
30805 "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.",
30806 "format" : "pve-fw-addr-spec",
56122987 30807 "optional" : 1,
013dc89f
DM
30808 "type" : "string",
30809 "typetext" : "<string>"
7aacca6f 30810 },
44660702
DM
30811 "sport" : {
30812 "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.",
30813 "format" : "pve-fw-sport-spec",
30814 "optional" : 1,
013dc89f
DM
30815 "type" : "string",
30816 "typetext" : "<string>"
44660702
DM
30817 },
30818 "type" : {
e94f0d56 30819 "description" : "Rule type.",
44660702
DM
30820 "enum" : [
30821 "in",
30822 "out",
30823 "group"
30824 ],
30825 "optional" : 1,
30826 "type" : "string"
56122987 30827 }
44660702 30828 }
56122987 30829 },
56122987
DM
30830 "permissions" : {
30831 "check" : [
30832 "perm",
30833 "/nodes/{node}",
30834 [
30835 "Sys.Modify"
30836 ]
30837 ]
7aacca6f 30838 },
44660702 30839 "protected" : 1,
7aacca6f 30840 "proxyto" : "node",
7aacca6f
DM
30841 "returns" : {
30842 "type" : "null"
56122987
DM
30843 }
30844 }
7aacca6f 30845 },
44660702 30846 "leaf" : 1,
7aacca6f 30847 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 30848 "text" : "{pos}"
56122987
DM
30849 }
30850 ],
56122987
DM
30851 "info" : {
30852 "GET" : {
44660702
DM
30853 "description" : "List rules.",
30854 "method" : "GET",
30855 "name" : "get_rules",
30856 "parameters" : {
30857 "additionalProperties" : 0,
30858 "properties" : {
30859 "node" : {
30860 "description" : "The cluster node name.",
30861 "format" : "pve-node",
013dc89f
DM
30862 "type" : "string",
30863 "typetext" : "<string>"
44660702
DM
30864 }
30865 }
30866 },
30867 "permissions" : {
30868 "check" : [
30869 "perm",
30870 "/nodes/{node}",
30871 [
30872 "Sys.Audit"
30873 ]
30874 ]
30875 },
30876 "proxyto" : "node",
56122987 30877 "returns" : {
56122987
DM
30878 "items" : {
30879 "properties" : {
30880 "pos" : {
30881 "type" : "integer"
30882 }
44660702
DM
30883 },
30884 "type" : "object"
56122987 30885 },
7aacca6f
DM
30886 "links" : [
30887 {
30888 "href" : "{pos}",
30889 "rel" : "child"
30890 }
30891 ],
30892 "type" : "array"
44660702 30893 }
56122987
DM
30894 },
30895 "POST" : {
44660702 30896 "description" : "Create new rule.",
7aacca6f
DM
30897 "method" : "POST",
30898 "name" : "create_rule",
56122987 30899 "parameters" : {
44660702 30900 "additionalProperties" : 0,
56122987 30901 "properties" : {
7aacca6f 30902 "action" : {
7aacca6f 30903 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 30904 "maxLength" : 20,
7aacca6f
DM
30905 "minLength" : 2,
30906 "optional" : 0,
44660702
DM
30907 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
30908 "type" : "string"
56122987 30909 },
44660702 30910 "comment" : {
e94f0d56 30911 "description" : "Descriptive comment.",
56122987 30912 "optional" : 1,
013dc89f
DM
30913 "type" : "string",
30914 "typetext" : "<string>"
56122987 30915 },
44660702
DM
30916 "dest" : {
30917 "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.",
30918 "format" : "pve-fw-addr-spec",
7aacca6f 30919 "optional" : 1,
013dc89f
DM
30920 "type" : "string",
30921 "typetext" : "<string>"
56122987 30922 },
44660702
DM
30923 "digest" : {
30924 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
30925 "maxLength" : 40,
30926 "optional" : 1,
013dc89f
DM
30927 "type" : "string",
30928 "typetext" : "<string>"
56122987 30929 },
44660702
DM
30930 "dport" : {
30931 "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.",
30932 "format" : "pve-fw-dport-spec",
7aacca6f 30933 "optional" : 1,
013dc89f
DM
30934 "type" : "string",
30935 "typetext" : "<string>"
56122987 30936 },
44660702 30937 "enable" : {
e94f0d56 30938 "description" : "Flag to enable/disable a rule.",
44660702
DM
30939 "minimum" : 0,
30940 "optional" : 1,
4bd7df8b 30941 "type" : "integer",
013dc89f 30942 "typetext" : "<integer> (0 - N)"
44660702 30943 },
7aacca6f 30944 "iface" : {
44660702 30945 "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 30946 "format" : "pve-iface",
56122987 30947 "maxLength" : 20,
7aacca6f 30948 "minLength" : 2,
7aacca6f 30949 "optional" : 1,
013dc89f
DM
30950 "type" : "string",
30951 "typetext" : "<string>"
56122987 30952 },
44660702 30953 "macro" : {
e94f0d56 30954 "description" : "Use predefined standard macro.",
44660702 30955 "maxLength" : 128,
7aacca6f 30956 "optional" : 1,
013dc89f
DM
30957 "type" : "string",
30958 "typetext" : "<string>"
56122987 30959 },
44660702
DM
30960 "node" : {
30961 "description" : "The cluster node name.",
30962 "format" : "pve-node",
013dc89f
DM
30963 "type" : "string",
30964 "typetext" : "<string>"
44660702
DM
30965 },
30966 "pos" : {
30967 "description" : "Update rule at position <pos>.",
30968 "minimum" : 0,
30969 "optional" : 1,
4bd7df8b 30970 "type" : "integer",
013dc89f 30971 "typetext" : "<integer> (0 - N)"
44660702
DM
30972 },
30973 "proto" : {
30974 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
30975 "format" : "pve-fw-protocol-spec",
56122987 30976 "optional" : 1,
013dc89f
DM
30977 "type" : "string",
30978 "typetext" : "<string>"
56122987 30979 },
7aacca6f 30980 "source" : {
7aacca6f 30981 "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
30982 "format" : "pve-fw-addr-spec",
30983 "optional" : 1,
013dc89f
DM
30984 "type" : "string",
30985 "typetext" : "<string>"
7aacca6f 30986 },
44660702
DM
30987 "sport" : {
30988 "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.",
30989 "format" : "pve-fw-sport-spec",
7aacca6f 30990 "optional" : 1,
013dc89f
DM
30991 "type" : "string",
30992 "typetext" : "<string>"
44660702
DM
30993 },
30994 "type" : {
e94f0d56 30995 "description" : "Rule type.",
44660702
DM
30996 "enum" : [
30997 "in",
30998 "out",
30999 "group"
31000 ],
31001 "optional" : 0,
31002 "type" : "string"
56122987 31003 }
44660702 31004 }
7aacca6f 31005 },
56122987
DM
31006 "permissions" : {
31007 "check" : [
31008 "perm",
31009 "/nodes/{node}",
31010 [
31011 "Sys.Modify"
31012 ]
31013 ]
31014 },
44660702
DM
31015 "protected" : 1,
31016 "proxyto" : "node",
31017 "returns" : {
31018 "type" : "null"
31019 }
56122987
DM
31020 }
31021 },
44660702 31022 "leaf" : 0,
7aacca6f 31023 "path" : "/nodes/{node}/firewall/rules",
44660702 31024 "text" : "rules"
56122987
DM
31025 },
31026 {
56122987 31027 "info" : {
44660702
DM
31028 "GET" : {
31029 "description" : "Get host firewall options.",
31030 "method" : "GET",
31031 "name" : "get_options",
56122987 31032 "parameters" : {
7aacca6f 31033 "additionalProperties" : 0,
56122987 31034 "properties" : {
44660702
DM
31035 "node" : {
31036 "description" : "The cluster node name.",
31037 "format" : "pve-node",
013dc89f
DM
31038 "type" : "string",
31039 "typetext" : "<string>"
44660702
DM
31040 }
31041 }
31042 },
31043 "permissions" : {
31044 "check" : [
31045 "perm",
31046 "/nodes/{node}",
31047 [
31048 "Sys.Audit"
31049 ]
31050 ]
31051 },
31052 "proxyto" : "node",
31053 "returns" : {
31054 "properties" : {
31055 "enable" : {
31056 "description" : "Enable host firewall rules.",
7aacca6f 31057 "optional" : 1,
44660702 31058 "type" : "boolean"
7aacca6f 31059 },
44660702
DM
31060 "log_level_in" : {
31061 "description" : "Log level for incoming traffic.",
56122987
DM
31062 "enum" : [
31063 "emerg",
31064 "alert",
31065 "crit",
31066 "err",
31067 "warning",
31068 "notice",
31069 "info",
31070 "debug",
31071 "nolog"
31072 ],
56122987 31073 "optional" : 1,
44660702
DM
31074 "type" : "string"
31075 },
31076 "log_level_out" : {
31077 "description" : "Log level for outgoing traffic.",
56122987
DM
31078 "enum" : [
31079 "emerg",
31080 "alert",
31081 "crit",
31082 "err",
31083 "warning",
31084 "notice",
31085 "info",
31086 "debug",
31087 "nolog"
31088 ],
44660702
DM
31089 "optional" : 1,
31090 "type" : "string"
31091 },
31092 "ndp" : {
31093 "description" : "Enable NDP.",
31094 "optional" : 1,
31095 "type" : "boolean"
31096 },
5f26e15b
TL
31097 "nf_conntrack_allow_invalid" : {
31098 "default" : 0,
31099 "description" : "Allow invalid packets on connection tracking.",
31100 "optional" : 1,
31101 "type" : "boolean"
31102 },
44660702
DM
31103 "nf_conntrack_max" : {
31104 "description" : "Maximum number of tracked connections.",
31105 "minimum" : 32768,
31106 "optional" : 1,
31107 "type" : "integer"
31108 },
31109 "nf_conntrack_tcp_timeout_established" : {
31110 "description" : "Conntrack established timeout.",
31111 "minimum" : 7875,
31112 "optional" : 1,
31113 "type" : "integer"
31114 },
31115 "nosmurfs" : {
31116 "description" : "Enable SMURFS filter.",
31117 "optional" : 1,
31118 "type" : "boolean"
56122987 31119 },
7aacca6f 31120 "smurf_log_level" : {
44660702 31121 "description" : "Log level for SMURFS filter.",
56122987
DM
31122 "enum" : [
31123 "emerg",
31124 "alert",
31125 "crit",
31126 "err",
31127 "warning",
31128 "notice",
31129 "info",
31130 "debug",
31131 "nolog"
7aacca6f 31132 ],
7aacca6f
DM
31133 "optional" : 1,
31134 "type" : "string"
56122987 31135 },
44660702
DM
31136 "tcp_flags_log_level" : {
31137 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
31138 "enum" : [
31139 "emerg",
31140 "alert",
31141 "crit",
31142 "err",
31143 "warning",
31144 "notice",
31145 "info",
31146 "debug",
31147 "nolog"
31148 ],
44660702
DM
31149 "optional" : 1,
31150 "type" : "string"
7aacca6f 31151 },
44660702
DM
31152 "tcpflags" : {
31153 "description" : "Filter illegal combinations of TCP flags.",
56122987 31154 "optional" : 1,
44660702 31155 "type" : "boolean"
56122987 31156 }
44660702
DM
31157 },
31158 "type" : "object"
7aacca6f 31159 }
56122987 31160 },
44660702
DM
31161 "PUT" : {
31162 "description" : "Set Firewall options.",
31163 "method" : "PUT",
31164 "name" : "set_options",
7aacca6f 31165 "parameters" : {
44660702 31166 "additionalProperties" : 0,
7aacca6f 31167 "properties" : {
44660702
DM
31168 "delete" : {
31169 "description" : "A list of settings you want to delete.",
31170 "format" : "pve-configid-list",
7aacca6f 31171 "optional" : 1,
013dc89f
DM
31172 "type" : "string",
31173 "typetext" : "<string>"
56122987 31174 },
44660702
DM
31175 "digest" : {
31176 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
31177 "maxLength" : 40,
31178 "optional" : 1,
013dc89f
DM
31179 "type" : "string",
31180 "typetext" : "<string>"
56122987 31181 },
44660702
DM
31182 "enable" : {
31183 "description" : "Enable host firewall rules.",
7aacca6f 31184 "optional" : 1,
013dc89f
DM
31185 "type" : "boolean",
31186 "typetext" : "<boolean>"
44660702
DM
31187 },
31188 "log_level_in" : {
31189 "description" : "Log level for incoming traffic.",
56122987
DM
31190 "enum" : [
31191 "emerg",
31192 "alert",
31193 "crit",
31194 "err",
31195 "warning",
31196 "notice",
31197 "info",
31198 "debug",
31199 "nolog"
44660702 31200 ],
7aacca6f 31201 "optional" : 1,
44660702 31202 "type" : "string"
7aacca6f 31203 },
44660702
DM
31204 "log_level_out" : {
31205 "description" : "Log level for outgoing traffic.",
56122987
DM
31206 "enum" : [
31207 "emerg",
31208 "alert",
31209 "crit",
31210 "err",
31211 "warning",
31212 "notice",
31213 "info",
31214 "debug",
31215 "nolog"
31216 ],
31217 "optional" : 1,
7aacca6f 31218 "type" : "string"
56122987 31219 },
44660702
DM
31220 "ndp" : {
31221 "description" : "Enable NDP.",
7aacca6f 31222 "optional" : 1,
013dc89f
DM
31223 "type" : "boolean",
31224 "typetext" : "<boolean>"
44660702 31225 },
5f26e15b
TL
31226 "nf_conntrack_allow_invalid" : {
31227 "default" : 0,
31228 "description" : "Allow invalid packets on connection tracking.",
31229 "optional" : 1,
31230 "type" : "boolean",
31231 "typetext" : "<boolean>"
31232 },
44660702
DM
31233 "nf_conntrack_max" : {
31234 "description" : "Maximum number of tracked connections.",
31235 "minimum" : 32768,
31236 "optional" : 1,
4bd7df8b 31237 "type" : "integer",
013dc89f 31238 "typetext" : "<integer> (32768 - N)"
44660702
DM
31239 },
31240 "nf_conntrack_tcp_timeout_established" : {
31241 "description" : "Conntrack established timeout.",
31242 "minimum" : 7875,
31243 "optional" : 1,
4bd7df8b 31244 "type" : "integer",
013dc89f 31245 "typetext" : "<integer> (7875 - N)"
44660702
DM
31246 },
31247 "node" : {
31248 "description" : "The cluster node name.",
31249 "format" : "pve-node",
013dc89f
DM
31250 "type" : "string",
31251 "typetext" : "<string>"
44660702
DM
31252 },
31253 "nosmurfs" : {
31254 "description" : "Enable SMURFS filter.",
31255 "optional" : 1,
013dc89f
DM
31256 "type" : "boolean",
31257 "typetext" : "<boolean>"
44660702
DM
31258 },
31259 "smurf_log_level" : {
31260 "description" : "Log level for SMURFS filter.",
56122987
DM
31261 "enum" : [
31262 "emerg",
31263 "alert",
31264 "crit",
31265 "err",
31266 "warning",
31267 "notice",
31268 "info",
31269 "debug",
31270 "nolog"
44660702
DM
31271 ],
31272 "optional" : 1,
31273 "type" : "string"
56122987 31274 },
44660702
DM
31275 "tcp_flags_log_level" : {
31276 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
31277 "enum" : [
31278 "emerg",
31279 "alert",
31280 "crit",
31281 "err",
31282 "warning",
31283 "notice",
31284 "info",
31285 "debug",
31286 "nolog"
31287 ],
44660702
DM
31288 "optional" : 1,
31289 "type" : "string"
7aacca6f 31290 },
44660702
DM
31291 "tcpflags" : {
31292 "description" : "Filter illegal combinations of TCP flags.",
56122987 31293 "optional" : 1,
013dc89f
DM
31294 "type" : "boolean",
31295 "typetext" : "<boolean>"
56122987 31296 }
7aacca6f 31297 }
56122987 31298 },
44660702
DM
31299 "permissions" : {
31300 "check" : [
31301 "perm",
31302 "/nodes/{node}",
31303 [
31304 "Sys.Modify"
31305 ]
31306 ]
31307 },
31308 "protected" : 1,
31309 "proxyto" : "node",
31310 "returns" : {
31311 "type" : "null"
31312 }
7aacca6f
DM
31313 }
31314 },
44660702
DM
31315 "leaf" : 1,
31316 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
31317 "text" : "options"
31318 },
31319 {
7aacca6f
DM
31320 "info" : {
31321 "GET" : {
44660702
DM
31322 "description" : "Read firewall log",
31323 "method" : "GET",
7aacca6f 31324 "name" : "log",
56122987 31325 "parameters" : {
44660702 31326 "additionalProperties" : 0,
56122987 31327 "properties" : {
7aacca6f 31328 "limit" : {
44660702 31329 "minimum" : 0,
7aacca6f 31330 "optional" : 1,
4bd7df8b 31331 "type" : "integer",
013dc89f 31332 "typetext" : "<integer> (0 - N)"
7aacca6f 31333 },
56122987 31334 "node" : {
7aacca6f 31335 "description" : "The cluster node name.",
44660702 31336 "format" : "pve-node",
013dc89f
DM
31337 "type" : "string",
31338 "typetext" : "<string>"
44660702
DM
31339 },
31340 "start" : {
31341 "minimum" : 0,
31342 "optional" : 1,
4bd7df8b 31343 "type" : "integer",
013dc89f 31344 "typetext" : "<integer> (0 - N)"
56122987 31345 }
44660702 31346 }
7aacca6f 31347 },
56122987
DM
31348 "permissions" : {
31349 "check" : [
31350 "perm",
31351 "/nodes/{node}",
31352 [
31353 "Sys.Syslog"
31354 ]
31355 ]
31356 },
44660702
DM
31357 "protected" : 1,
31358 "proxyto" : "node",
56122987
DM
31359 "returns" : {
31360 "items" : {
56122987 31361 "properties" : {
56122987 31362 "n" : {
44660702
DM
31363 "description" : "Line number",
31364 "type" : "integer"
7aacca6f
DM
31365 },
31366 "t" : {
44660702
DM
31367 "description" : "Line text",
31368 "type" : "string"
56122987 31369 }
44660702
DM
31370 },
31371 "type" : "object"
56122987
DM
31372 },
31373 "type" : "array"
7aacca6f 31374 }
56122987
DM
31375 }
31376 },
44660702
DM
31377 "leaf" : 1,
31378 "path" : "/nodes/{node}/firewall/log",
7aacca6f 31379 "text" : "log"
56122987
DM
31380 }
31381 ],
31382 "info" : {
31383 "GET" : {
44660702
DM
31384 "description" : "Directory index.",
31385 "method" : "GET",
31386 "name" : "index",
56122987 31387 "parameters" : {
44660702 31388 "additionalProperties" : 0,
56122987
DM
31389 "properties" : {
31390 "node" : {
31391 "description" : "The cluster node name.",
44660702 31392 "format" : "pve-node",
013dc89f
DM
31393 "type" : "string",
31394 "typetext" : "<string>"
56122987 31395 }
44660702 31396 }
56122987 31397 },
7aacca6f
DM
31398 "permissions" : {
31399 "user" : "all"
31400 },
56122987
DM
31401 "returns" : {
31402 "items" : {
31403 "properties" : {},
31404 "type" : "object"
31405 },
56122987
DM
31406 "links" : [
31407 {
44660702
DM
31408 "href" : "{name}",
31409 "rel" : "child"
56122987 31410 }
44660702
DM
31411 ],
31412 "type" : "array"
31413 }
56122987 31414 }
7aacca6f 31415 },
44660702 31416 "leaf" : 0,
7aacca6f 31417 "path" : "/nodes/{node}/firewall",
44660702 31418 "text" : "firewall"
56122987 31419 },
5d9c884c
DM
31420 {
31421 "children" : [
31422 {
31423 "children" : [
31424 {
31425 "info" : {
31426 "GET" : {
31427 "description" : "Get replication job status.",
31428 "method" : "GET",
31429 "name" : "job_status",
31430 "parameters" : {
31431 "additionalProperties" : 0,
31432 "properties" : {
31433 "id" : {
31434 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
31435 "format" : "pve-replication-job-id",
31436 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
31437 "type" : "string"
31438 },
31439 "node" : {
31440 "description" : "The cluster node name.",
31441 "format" : "pve-node",
31442 "type" : "string",
31443 "typetext" : "<string>"
31444 }
31445 }
31446 },
31447 "permissions" : {
31448 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
31449 "user" : "all"
31450 },
31451 "protected" : 1,
31452 "proxyto" : "node",
31453 "returns" : {
5d9c884c
DM
31454 "type" : "object"
31455 }
31456 }
31457 },
31458 "leaf" : 1,
31459 "path" : "/nodes/{node}/replication/{id}/status",
31460 "text" : "status"
31461 },
31462 {
31463 "info" : {
31464 "GET" : {
31465 "description" : "Read replication job log.",
31466 "method" : "GET",
31467 "name" : "read_job_log",
31468 "parameters" : {
31469 "additionalProperties" : 0,
31470 "properties" : {
31471 "id" : {
31472 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
31473 "format" : "pve-replication-job-id",
31474 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
31475 "type" : "string"
31476 },
31477 "limit" : {
31478 "minimum" : 0,
31479 "optional" : 1,
31480 "type" : "integer",
31481 "typetext" : "<integer> (0 - N)"
31482 },
31483 "node" : {
31484 "description" : "The cluster node name.",
31485 "format" : "pve-node",
31486 "type" : "string",
31487 "typetext" : "<string>"
31488 },
31489 "start" : {
31490 "minimum" : 0,
31491 "optional" : 1,
31492 "type" : "integer",
31493 "typetext" : "<integer> (0 - N)"
31494 }
31495 }
31496 },
31497 "permissions" : {
31498 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
31499 "user" : "all"
31500 },
31501 "protected" : 1,
31502 "proxyto" : "node",
31503 "returns" : {
31504 "items" : {
31505 "properties" : {
31506 "n" : {
31507 "description" : "Line number",
31508 "type" : "integer"
31509 },
31510 "t" : {
31511 "description" : "Line text",
31512 "type" : "string"
31513 }
31514 },
31515 "type" : "object"
31516 },
31517 "type" : "array"
31518 }
31519 }
31520 },
31521 "leaf" : 1,
31522 "path" : "/nodes/{node}/replication/{id}/log",
31523 "text" : "log"
31524 },
31525 {
31526 "info" : {
31527 "POST" : {
31528 "description" : "Schedule replication job to start as soon as possible.",
31529 "method" : "POST",
31530 "name" : "schedule_now",
31531 "parameters" : {
31532 "additionalProperties" : 0,
31533 "properties" : {
31534 "id" : {
31535 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
31536 "format" : "pve-replication-job-id",
31537 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
31538 "type" : "string"
31539 },
31540 "node" : {
31541 "description" : "The cluster node name.",
31542 "format" : "pve-node",
31543 "type" : "string",
31544 "typetext" : "<string>"
31545 }
31546 }
31547 },
31548 "permissions" : {
31549 "check" : [
31550 "perm",
31551 "/storage",
31552 [
31553 "Datastore.Allocate"
31554 ]
31555 ]
31556 },
31557 "protected" : 1,
31558 "proxyto" : "node",
31559 "returns" : {
31560 "type" : "string"
31561 }
31562 }
31563 },
31564 "leaf" : 1,
31565 "path" : "/nodes/{node}/replication/{id}/schedule_now",
31566 "text" : "schedule_now"
31567 }
31568 ],
31569 "info" : {
31570 "GET" : {
31571 "description" : "Directory index.",
31572 "method" : "GET",
31573 "name" : "index",
31574 "parameters" : {
31575 "additionalProperties" : 0,
31576 "properties" : {
31577 "id" : {
31578 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
31579 "format" : "pve-replication-job-id",
31580 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
31581 "type" : "string"
31582 },
31583 "node" : {
31584 "description" : "The cluster node name.",
31585 "format" : "pve-node",
31586 "type" : "string",
31587 "typetext" : "<string>"
31588 }
31589 }
31590 },
31591 "permissions" : {
31592 "user" : "all"
31593 },
31594 "returns" : {
31595 "items" : {
31596 "properties" : {},
31597 "type" : "object"
31598 },
31599 "links" : [
31600 {
31601 "href" : "{name}",
31602 "rel" : "child"
31603 }
31604 ],
31605 "type" : "array"
31606 }
31607 }
31608 },
31609 "leaf" : 0,
31610 "path" : "/nodes/{node}/replication/{id}",
31611 "text" : "{id}"
31612 }
31613 ],
31614 "info" : {
31615 "GET" : {
31616 "description" : "List status of all replication jobs on this node.",
31617 "method" : "GET",
31618 "name" : "status",
31619 "parameters" : {
31620 "additionalProperties" : 0,
31621 "properties" : {
31622 "guest" : {
31623 "description" : "Only list replication jobs for this guest.",
31624 "format" : "pve-vmid",
31625 "minimum" : 1,
31626 "optional" : 1,
31627 "type" : "integer",
31628 "typetext" : "<integer> (1 - N)"
31629 },
31630 "node" : {
31631 "description" : "The cluster node name.",
31632 "format" : "pve-node",
31633 "type" : "string",
31634 "typetext" : "<string>"
31635 }
31636 }
31637 },
31638 "permissions" : {
31639 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
31640 "user" : "all"
31641 },
31642 "protected" : 1,
31643 "proxyto" : "node",
31644 "returns" : {
31645 "items" : {
31646 "properties" : {
31647 "id" : {
31648 "type" : "string"
31649 }
31650 },
31651 "type" : "object"
31652 },
31653 "links" : [
31654 {
31655 "href" : "{id}",
31656 "rel" : "child"
31657 }
31658 ],
31659 "type" : "array"
31660 }
31661 }
31662 },
31663 "leaf" : 0,
31664 "path" : "/nodes/{node}/replication",
31665 "text" : "replication"
31666 },
a9a8e3d1
DM
31667 {
31668 "children" : [
31669 {
31670 "children" : [
31671 {
31672 "info" : {
31673 "DELETE" : {
31674 "description" : "Revoke existing certificate from CA.",
31675 "method" : "DELETE",
31676 "name" : "revoke_certificate",
31677 "parameters" : {
31678 "additionalProperties" : 0,
31679 "properties" : {
31680 "node" : {
31681 "description" : "The cluster node name.",
31682 "format" : "pve-node",
31683 "type" : "string",
31684 "typetext" : "<string>"
31685 }
31686 }
31687 },
31688 "protected" : 1,
31689 "proxyto" : "node",
31690 "returns" : {
31691 "type" : "string"
31692 }
31693 },
31694 "POST" : {
31695 "description" : "Order a new certificate from ACME-compatible CA.",
31696 "method" : "POST",
31697 "name" : "new_certificate",
31698 "parameters" : {
31699 "additionalProperties" : 0,
31700 "properties" : {
31701 "force" : {
31702 "default" : 0,
31703 "description" : "Overwrite existing custom certificate.",
31704 "optional" : 1,
31705 "type" : "boolean",
31706 "typetext" : "<boolean>"
31707 },
31708 "node" : {
31709 "description" : "The cluster node name.",
31710 "format" : "pve-node",
31711 "type" : "string",
31712 "typetext" : "<string>"
31713 }
31714 }
31715 },
31716 "protected" : 1,
31717 "proxyto" : "node",
31718 "returns" : {
31719 "type" : "string"
31720 }
31721 },
31722 "PUT" : {
31723 "description" : "Renew existing certificate from CA.",
31724 "method" : "PUT",
31725 "name" : "renew_certificate",
31726 "parameters" : {
31727 "additionalProperties" : 0,
31728 "properties" : {
31729 "force" : {
31730 "default" : 0,
31731 "description" : "Force renewal even if expiry is more than 30 days away.",
31732 "optional" : 1,
31733 "type" : "boolean",
31734 "typetext" : "<boolean>"
31735 },
31736 "node" : {
31737 "description" : "The cluster node name.",
31738 "format" : "pve-node",
31739 "type" : "string",
31740 "typetext" : "<string>"
31741 }
31742 }
31743 },
31744 "protected" : 1,
31745 "proxyto" : "node",
31746 "returns" : {
31747 "type" : "string"
31748 }
31749 }
31750 },
31751 "leaf" : 1,
31752 "path" : "/nodes/{node}/certificates/acme/certificate",
31753 "text" : "certificate"
31754 }
31755 ],
31756 "info" : {
31757 "GET" : {
31758 "description" : "ACME index.",
31759 "method" : "GET",
31760 "name" : "index",
31761 "parameters" : {
31762 "additionalProperties" : 0,
31763 "properties" : {
31764 "node" : {
31765 "description" : "The cluster node name.",
31766 "format" : "pve-node",
31767 "type" : "string",
31768 "typetext" : "<string>"
31769 }
31770 }
31771 },
31772 "permissions" : {
31773 "user" : "all"
31774 },
31775 "returns" : {
31776 "items" : {
31777 "properties" : {},
31778 "type" : "object"
31779 },
31780 "links" : [
31781 {
31782 "href" : "{name}",
31783 "rel" : "child"
31784 }
31785 ],
31786 "type" : "array"
31787 }
31788 }
31789 },
31790 "leaf" : 0,
31791 "path" : "/nodes/{node}/certificates/acme",
31792 "text" : "acme"
31793 },
31794 {
31795 "info" : {
31796 "GET" : {
31797 "description" : "Get information about node's certificates.",
31798 "method" : "GET",
31799 "name" : "info",
31800 "parameters" : {
31801 "additionalProperties" : 0,
31802 "properties" : {
31803 "node" : {
31804 "description" : "The cluster node name.",
31805 "format" : "pve-node",
31806 "type" : "string",
31807 "typetext" : "<string>"
31808 }
31809 }
31810 },
31811 "permissions" : {
31812 "user" : "all"
31813 },
31814 "proxyto" : "node",
31815 "returns" : {
31816 "items" : {
31817 "properties" : {
31818 "filename" : {
31819 "optional" : 1,
31820 "type" : "string"
31821 },
31822 "fingerprint" : {
31823 "description" : "Certificate SHA 256 fingerprint.",
31824 "optional" : 1,
31825 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
31826 "type" : "string"
31827 },
31828 "issuer" : {
31829 "description" : "Certificate issuer name.",
31830 "optional" : 1,
31831 "type" : "string"
31832 },
31833 "notafter" : {
31834 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
31835 "optional" : 1,
4d47f125 31836 "renderer" : "timestamp",
a9a8e3d1
DM
31837 "type" : "integer"
31838 },
31839 "notbefore" : {
31840 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
31841 "optional" : 1,
4d47f125 31842 "renderer" : "timestamp",
a9a8e3d1
DM
31843 "type" : "integer"
31844 },
31845 "pem" : {
31846 "description" : "Certificate in PEM format",
31847 "format" : "pem-certificate",
31848 "optional" : 1,
31849 "type" : "string"
31850 },
31851 "san" : {
31852 "description" : "List of Certificate's SubjectAlternativeName entries.",
31853 "items" : {
31854 "type" : "string"
31855 },
31856 "optional" : 1,
4d47f125 31857 "renderer" : "yaml",
a9a8e3d1
DM
31858 "type" : "array"
31859 },
31860 "subject" : {
31861 "description" : "Certificate subject name.",
31862 "optional" : 1,
31863 "type" : "string"
31864 }
31865 },
31866 "type" : "object"
31867 },
31868 "type" : "array"
31869 }
31870 }
31871 },
31872 "leaf" : 1,
31873 "path" : "/nodes/{node}/certificates/info",
31874 "text" : "info"
31875 },
31876 {
31877 "info" : {
31878 "DELETE" : {
31879 "description" : "DELETE custom certificate chain and key.",
31880 "method" : "DELETE",
31881 "name" : "remove_custom_cert",
31882 "parameters" : {
31883 "additionalProperties" : 0,
31884 "properties" : {
31885 "node" : {
31886 "description" : "The cluster node name.",
31887 "format" : "pve-node",
31888 "type" : "string",
31889 "typetext" : "<string>"
31890 },
31891 "restart" : {
31892 "default" : 0,
31893 "description" : "Restart pveproxy.",
31894 "optional" : 1,
31895 "type" : "boolean",
31896 "typetext" : "<boolean>"
31897 }
31898 }
31899 },
31900 "protected" : 1,
31901 "proxyto" : "node",
31902 "returns" : {
31903 "type" : "null"
31904 }
31905 },
31906 "POST" : {
31907 "description" : "Upload or update custom certificate chain and key.",
31908 "method" : "POST",
31909 "name" : "upload_custom_cert",
31910 "parameters" : {
31911 "additionalProperties" : 0,
31912 "properties" : {
31913 "certificates" : {
31914 "description" : "PEM encoded certificate (chain).",
31915 "format" : "pem-certificate-chain",
31916 "type" : "string",
31917 "typetext" : "<string>"
31918 },
31919 "force" : {
31920 "default" : 0,
31921 "description" : "Overwrite existing custom or ACME certificate files.",
31922 "optional" : 1,
31923 "type" : "boolean",
31924 "typetext" : "<boolean>"
31925 },
31926 "key" : {
31927 "description" : "PEM encoded private key.",
31928 "format" : "pem-string",
31929 "optional" : 1,
31930 "type" : "string",
31931 "typetext" : "<string>"
31932 },
31933 "node" : {
31934 "description" : "The cluster node name.",
31935 "format" : "pve-node",
31936 "type" : "string",
31937 "typetext" : "<string>"
31938 },
31939 "restart" : {
31940 "default" : 0,
31941 "description" : "Restart pveproxy.",
31942 "optional" : 1,
31943 "type" : "boolean",
31944 "typetext" : "<boolean>"
31945 }
31946 }
31947 },
31948 "protected" : 1,
31949 "proxyto" : "node",
31950 "returns" : {
31951 "properties" : {
31952 "filename" : {
31953 "optional" : 1,
31954 "type" : "string"
31955 },
31956 "fingerprint" : {
31957 "description" : "Certificate SHA 256 fingerprint.",
31958 "optional" : 1,
31959 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
31960 "type" : "string"
31961 },
31962 "issuer" : {
31963 "description" : "Certificate issuer name.",
31964 "optional" : 1,
31965 "type" : "string"
31966 },
31967 "notafter" : {
31968 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
31969 "optional" : 1,
4d47f125 31970 "renderer" : "timestamp",
a9a8e3d1
DM
31971 "type" : "integer"
31972 },
31973 "notbefore" : {
31974 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
31975 "optional" : 1,
4d47f125 31976 "renderer" : "timestamp",
a9a8e3d1
DM
31977 "type" : "integer"
31978 },
31979 "pem" : {
31980 "description" : "Certificate in PEM format",
31981 "format" : "pem-certificate",
31982 "optional" : 1,
31983 "type" : "string"
31984 },
31985 "san" : {
31986 "description" : "List of Certificate's SubjectAlternativeName entries.",
31987 "items" : {
31988 "type" : "string"
31989 },
31990 "optional" : 1,
4d47f125 31991 "renderer" : "yaml",
a9a8e3d1
DM
31992 "type" : "array"
31993 },
31994 "subject" : {
31995 "description" : "Certificate subject name.",
31996 "optional" : 1,
31997 "type" : "string"
31998 }
31999 },
32000 "type" : "object"
32001 }
32002 }
32003 },
32004 "leaf" : 1,
32005 "path" : "/nodes/{node}/certificates/custom",
32006 "text" : "custom"
32007 }
32008 ],
32009 "info" : {
32010 "GET" : {
32011 "description" : "Node index.",
32012 "method" : "GET",
32013 "name" : "index",
32014 "parameters" : {
32015 "additionalProperties" : 0,
32016 "properties" : {
32017 "node" : {
32018 "description" : "The cluster node name.",
32019 "format" : "pve-node",
32020 "type" : "string",
32021 "typetext" : "<string>"
32022 }
32023 }
32024 },
32025 "permissions" : {
32026 "user" : "all"
32027 },
32028 "returns" : {
32029 "items" : {
32030 "properties" : {},
32031 "type" : "object"
32032 },
32033 "links" : [
32034 {
32035 "href" : "{name}",
32036 "rel" : "child"
32037 }
32038 ],
32039 "type" : "array"
32040 }
32041 }
32042 },
32043 "leaf" : 0,
32044 "path" : "/nodes/{node}/certificates",
32045 "text" : "certificates"
32046 },
32047 {
32048 "info" : {
32049 "GET" : {
32050 "description" : "Get node configuration options.",
32051 "method" : "GET",
32052 "name" : "get_config",
32053 "parameters" : {
32054 "additionalProperties" : 0,
32055 "properties" : {
32056 "node" : {
32057 "description" : "The cluster node name.",
32058 "format" : "pve-node",
32059 "type" : "string",
32060 "typetext" : "<string>"
32061 }
32062 }
32063 },
32064 "permissions" : {
32065 "check" : [
32066 "perm",
32067 "/",
32068 [
32069 "Sys.Audit"
32070 ]
32071 ]
32072 },
32073 "proxyto" : "node",
32074 "returns" : {
a9a8e3d1
DM
32075 "type" : "object"
32076 }
32077 },
32078 "PUT" : {
32079 "description" : "Set node configuration options.",
32080 "method" : "PUT",
32081 "name" : "set_options",
32082 "parameters" : {
32083 "additionalProperties" : 0,
32084 "properties" : {
32085 "acme" : {
32086 "description" : "Node specific ACME settings.",
32087 "format" : {
32088 "account" : {
32089 "default" : "default",
32090 "description" : "ACME account config file name.",
32091 "format" : "pve-configid",
32092 "format_description" : "name",
32093 "optional" : 1,
32094 "type" : "string"
32095 },
32096 "domains" : {
32097 "description" : "List of domains for this node's ACME certificate",
32098 "format" : "pve-acme-domain-list",
32099 "format_description" : "domain[;domain;...]",
32100 "type" : "string"
32101 }
32102 },
32103 "optional" : 1,
32104 "type" : "string",
32105 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
32106 },
32107 "delete" : {
32108 "description" : "A list of settings you want to delete.",
32109 "format" : "pve-configid-list",
32110 "optional" : 1,
32111 "type" : "string",
32112 "typetext" : "<string>"
32113 },
32114 "description" : {
32115 "description" : "Node description/comment.",
32116 "optional" : 1,
32117 "type" : "string",
32118 "typetext" : "<string>"
32119 },
32120 "digest" : {
32121 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32122 "maxLength" : 40,
32123 "optional" : 1,
32124 "type" : "string",
32125 "typetext" : "<string>"
32126 },
32127 "node" : {
32128 "description" : "The cluster node name.",
32129 "format" : "pve-node",
32130 "type" : "string",
32131 "typetext" : "<string>"
5f26e15b
TL
32132 },
32133 "wakeonlan" : {
32134 "description" : "MAC address for wake on LAN",
32135 "format" : "mac-addr",
32136 "optional" : 1,
32137 "type" : "string",
32138 "typetext" : "<string>"
a9a8e3d1
DM
32139 }
32140 }
32141 },
32142 "permissions" : {
32143 "check" : [
32144 "perm",
32145 "/",
32146 [
32147 "Sys.Modify"
32148 ]
32149 ]
32150 },
32151 "protected" : 1,
32152 "proxyto" : "node",
32153 "returns" : {
32154 "type" : "null"
32155 }
32156 }
32157 },
32158 "leaf" : 1,
32159 "path" : "/nodes/{node}/config",
32160 "text" : "config"
32161 },
56122987 32162 {
56122987
DM
32163 "info" : {
32164 "GET" : {
44660702
DM
32165 "description" : "API version details",
32166 "method" : "GET",
32167 "name" : "version",
56122987 32168 "parameters" : {
44660702 32169 "additionalProperties" : 0,
56122987
DM
32170 "properties" : {
32171 "node" : {
56122987 32172 "description" : "The cluster node name.",
44660702 32173 "format" : "pve-node",
013dc89f
DM
32174 "type" : "string",
32175 "typetext" : "<string>"
56122987 32176 }
44660702 32177 }
56122987 32178 },
56122987 32179 "permissions" : {
7aacca6f 32180 "user" : "all"
56122987 32181 },
56122987 32182 "proxyto" : "node",
56122987 32183 "returns" : {
56122987 32184 "properties" : {
44660702 32185 "release" : {
56122987
DM
32186 "type" : "string"
32187 },
44660702 32188 "repoid" : {
7aacca6f
DM
32189 "type" : "string"
32190 },
32191 "version" : {
32192 "type" : "string"
32193 }
44660702
DM
32194 },
32195 "type" : "object"
7aacca6f 32196 }
56122987
DM
32197 }
32198 },
56122987 32199 "leaf" : 1,
44660702
DM
32200 "path" : "/nodes/{node}/version",
32201 "text" : "version"
56122987
DM
32202 },
32203 {
56122987
DM
32204 "info" : {
32205 "GET" : {
7aacca6f 32206 "description" : "Read node status",
44660702 32207 "method" : "GET",
7aacca6f 32208 "name" : "status",
56122987 32209 "parameters" : {
44660702 32210 "additionalProperties" : 0,
56122987
DM
32211 "properties" : {
32212 "node" : {
7aacca6f 32213 "description" : "The cluster node name.",
44660702 32214 "format" : "pve-node",
013dc89f
DM
32215 "type" : "string",
32216 "typetext" : "<string>"
56122987 32217 }
44660702 32218 }
56122987 32219 },
56122987
DM
32220 "permissions" : {
32221 "check" : [
32222 "perm",
32223 "/nodes/{node}",
32224 [
32225 "Sys.Audit"
32226 ]
32227 ]
44660702
DM
32228 },
32229 "proxyto" : "node",
32230 "returns" : {
44660702 32231 "type" : "object"
7aacca6f
DM
32232 }
32233 },
32234 "POST" : {
44660702
DM
32235 "description" : "Reboot or shutdown a node.",
32236 "method" : "POST",
7aacca6f 32237 "name" : "node_cmd",
56122987 32238 "parameters" : {
44660702 32239 "additionalProperties" : 0,
56122987 32240 "properties" : {
7aacca6f
DM
32241 "command" : {
32242 "description" : "Specify the command.",
56122987 32243 "enum" : [
7aacca6f
DM
32244 "reboot",
32245 "shutdown"
56122987
DM
32246 ],
32247 "type" : "string"
44660702
DM
32248 },
32249 "node" : {
32250 "description" : "The cluster node name.",
32251 "format" : "pve-node",
013dc89f
DM
32252 "type" : "string",
32253 "typetext" : "<string>"
56122987 32254 }
44660702 32255 }
7aacca6f 32256 },
7aacca6f
DM
32257 "permissions" : {
32258 "check" : [
32259 "perm",
32260 "/nodes/{node}",
32261 [
32262 "Sys.PowerMgmt"
32263 ]
32264 ]
32265 },
44660702 32266 "protected" : 1,
7aacca6f 32267 "proxyto" : "node",
7aacca6f
DM
32268 "returns" : {
32269 "type" : "null"
56122987
DM
32270 }
32271 }
32272 },
7aacca6f 32273 "leaf" : 1,
44660702
DM
32274 "path" : "/nodes/{node}/status",
32275 "text" : "status"
56122987
DM
32276 },
32277 {
56122987
DM
32278 "info" : {
32279 "GET" : {
44660702
DM
32280 "description" : "Read tap/vm network device interface counters",
32281 "method" : "GET",
32282 "name" : "netstat",
32283 "parameters" : {
32284 "additionalProperties" : 0,
32285 "properties" : {
32286 "node" : {
32287 "description" : "The cluster node name.",
32288 "format" : "pve-node",
013dc89f
DM
32289 "type" : "string",
32290 "typetext" : "<string>"
44660702 32291 }
56122987
DM
32292 }
32293 },
32294 "permissions" : {
32295 "check" : [
32296 "perm",
32297 "/nodes/{node}",
32298 [
7aacca6f 32299 "Sys.Audit"
56122987
DM
32300 ]
32301 ]
32302 },
7aacca6f 32303 "proxyto" : "node",
44660702
DM
32304 "returns" : {
32305 "items" : {
32306 "properties" : {},
32307 "type" : "object"
32308 },
32309 "type" : "array"
32310 }
7aacca6f
DM
32311 }
32312 },
44660702
DM
32313 "leaf" : 1,
32314 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
32315 "text" : "netstat"
32316 },
32317 {
32318 "info" : {
32319 "POST" : {
7aacca6f 32320 "description" : "Execute multiple commands in order.",
7aacca6f 32321 "method" : "POST",
7aacca6f 32322 "name" : "execute",
56122987
DM
32323 "parameters" : {
32324 "additionalProperties" : 0,
32325 "properties" : {
7aacca6f
DM
32326 "commands" : {
32327 "description" : "JSON encoded array of commands.",
013dc89f
DM
32328 "type" : "string",
32329 "typetext" : "<string>"
56122987
DM
32330 },
32331 "node" : {
44660702 32332 "description" : "The cluster node name.",
56122987 32333 "format" : "pve-node",
013dc89f
DM
32334 "type" : "string",
32335 "typetext" : "<string>"
56122987
DM
32336 }
32337 }
44660702
DM
32338 },
32339 "permissions" : {
32340 "check" : [
32341 "perm",
32342 "/nodes/{node}",
32343 [
32344 "Sys.Audit"
32345 ]
32346 ]
32347 },
32348 "protected" : 1,
32349 "proxyto" : "node",
32350 "returns" : {
44660702 32351 "type" : "array"
56122987
DM
32352 }
32353 }
32354 },
56122987 32355 "leaf" : 1,
44660702
DM
32356 "path" : "/nodes/{node}/execute",
32357 "text" : "execute"
56122987 32358 },
5f26e15b
TL
32359 {
32360 "info" : {
32361 "POST" : {
32362 "description" : "Try to wake a node via 'wake on LAN' network packet.",
32363 "method" : "POST",
32364 "name" : "wakeonlan",
32365 "parameters" : {
32366 "additionalProperties" : 0,
32367 "properties" : {
32368 "node" : {
32369 "description" : "target node for wake on LAN packet",
32370 "format" : "pve-node",
32371 "type" : "string",
32372 "typetext" : "<string>"
32373 }
32374 }
32375 },
32376 "permissions" : {
32377 "check" : [
32378 "perm",
32379 "/nodes/{node}",
32380 [
32381 "Sys.PowerMgmt"
32382 ]
32383 ]
32384 },
32385 "protected" : 1,
32386 "returns" : {
32387 "description" : "MAC address used to assemble the WoL magic packet.",
32388 "format" : "mac-addr",
32389 "type" : "string"
32390 }
32391 }
32392 },
32393 "leaf" : 1,
32394 "path" : "/nodes/{node}/wakeonlan",
32395 "text" : "wakeonlan"
32396 },
56122987
DM
32397 {
32398 "info" : {
7aacca6f 32399 "GET" : {
44660702
DM
32400 "description" : "Read node RRD statistics (returns PNG)",
32401 "method" : "GET",
7aacca6f 32402 "name" : "rrd",
56122987 32403 "parameters" : {
7aacca6f 32404 "additionalProperties" : 0,
56122987 32405 "properties" : {
44660702
DM
32406 "cf" : {
32407 "description" : "The RRD consolidation function",
32408 "enum" : [
32409 "AVERAGE",
32410 "MAX"
32411 ],
32412 "optional" : 1,
32413 "type" : "string"
32414 },
7aacca6f 32415 "ds" : {
7aacca6f 32416 "description" : "The list of datasources you want to display.",
44660702 32417 "format" : "pve-configid-list",
013dc89f
DM
32418 "type" : "string",
32419 "typetext" : "<string>"
44660702
DM
32420 },
32421 "node" : {
32422 "description" : "The cluster node name.",
32423 "format" : "pve-node",
013dc89f
DM
32424 "type" : "string",
32425 "typetext" : "<string>"
7aacca6f
DM
32426 },
32427 "timeframe" : {
32428 "description" : "Specify the time frame you are interested in.",
32429 "enum" : [
32430 "hour",
32431 "day",
32432 "week",
32433 "month",
32434 "year"
32435 ],
32436 "type" : "string"
56122987 32437 }
7aacca6f 32438 }
56122987 32439 },
56122987 32440 "permissions" : {
56122987
DM
32441 "check" : [
32442 "perm",
32443 "/nodes/{node}",
32444 [
7aacca6f 32445 "Sys.Audit"
56122987
DM
32446 ]
32447 ]
32448 },
7aacca6f 32449 "protected" : 1,
56122987 32450 "returns" : {
56122987 32451 "properties" : {
7aacca6f 32452 "filename" : {
56122987
DM
32453 "type" : "string"
32454 }
44660702
DM
32455 },
32456 "type" : "object"
32457 }
56122987
DM
32458 }
32459 },
44660702 32460 "leaf" : 1,
7aacca6f 32461 "path" : "/nodes/{node}/rrd",
44660702 32462 "text" : "rrd"
56122987
DM
32463 },
32464 {
32465 "info" : {
7aacca6f 32466 "GET" : {
44660702
DM
32467 "description" : "Read node RRD statistics",
32468 "method" : "GET",
7aacca6f 32469 "name" : "rrddata",
56122987 32470 "parameters" : {
44660702 32471 "additionalProperties" : 0,
56122987 32472 "properties" : {
7aacca6f 32473 "cf" : {
7aacca6f
DM
32474 "description" : "The RRD consolidation function",
32475 "enum" : [
32476 "AVERAGE",
32477 "MAX"
44660702
DM
32478 ],
32479 "optional" : 1,
32480 "type" : "string"
56122987
DM
32481 },
32482 "node" : {
44660702 32483 "description" : "The cluster node name.",
56122987 32484 "format" : "pve-node",
013dc89f
DM
32485 "type" : "string",
32486 "typetext" : "<string>"
56122987 32487 },
7aacca6f 32488 "timeframe" : {
7aacca6f
DM
32489 "description" : "Specify the time frame you are interested in.",
32490 "enum" : [
32491 "hour",
32492 "day",
32493 "week",
32494 "month",
32495 "year"
44660702
DM
32496 ],
32497 "type" : "string"
56122987 32498 }
56122987
DM
32499 }
32500 },
56122987
DM
32501 "permissions" : {
32502 "check" : [
32503 "perm",
32504 "/nodes/{node}",
32505 [
44660702 32506 "Sys.Audit"
56122987
DM
32507 ]
32508 ]
7aacca6f 32509 },
44660702 32510 "protected" : 1,
56122987 32511 "returns" : {
7aacca6f 32512 "items" : {
44660702 32513 "properties" : {},
7aacca6f
DM
32514 "type" : "object"
32515 },
32516 "type" : "array"
44660702
DM
32517 }
32518 }
32519 },
32520 "leaf" : 1,
32521 "path" : "/nodes/{node}/rrddata",
32522 "text" : "rrddata"
32523 },
32524 {
32525 "info" : {
32526 "GET" : {
32527 "description" : "Read system log",
32528 "method" : "GET",
32529 "name" : "syslog",
56122987 32530 "parameters" : {
44660702 32531 "additionalProperties" : 0,
56122987 32532 "properties" : {
44660702
DM
32533 "limit" : {
32534 "minimum" : 0,
7aacca6f 32535 "optional" : 1,
4bd7df8b 32536 "type" : "integer",
013dc89f 32537 "typetext" : "<integer> (0 - N)"
7aacca6f 32538 },
56122987 32539 "node" : {
7aacca6f 32540 "description" : "The cluster node name.",
44660702 32541 "format" : "pve-node",
013dc89f
DM
32542 "type" : "string",
32543 "typetext" : "<string>"
56122987 32544 },
35a75dd3
DM
32545 "service" : {
32546 "description" : "Service ID",
32547 "maxLength" : 128,
32548 "optional" : 1,
32549 "type" : "string",
32550 "typetext" : "<string>"
32551 },
44660702
DM
32552 "since" : {
32553 "description" : "Display all log since this date-time string.",
32554 "optional" : 1,
32555 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
32556 "type" : "string"
32557 },
32558 "start" : {
7aacca6f
DM
32559 "minimum" : 0,
32560 "optional" : 1,
4bd7df8b 32561 "type" : "integer",
013dc89f 32562 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
32563 },
32564 "until" : {
32565 "description" : "Display all log until this date-time string.",
7aacca6f 32566 "optional" : 1,
44660702 32567 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
32568 "type" : "string"
32569 }
44660702 32570 }
56122987 32571 },
44660702
DM
32572 "permissions" : {
32573 "check" : [
32574 "perm",
32575 "/nodes/{node}",
32576 [
32577 "Sys.Syslog"
32578 ]
32579 ]
32580 },
32581 "protected" : 1,
32582 "proxyto" : "node",
32583 "returns" : {
32584 "items" : {
32585 "properties" : {
32586 "n" : {
32587 "description" : "Line number",
32588 "type" : "integer"
32589 },
32590 "t" : {
32591 "description" : "Line text",
32592 "type" : "string"
32593 }
32594 },
32595 "type" : "object"
32596 },
32597 "type" : "array"
32598 }
56122987
DM
32599 }
32600 },
44660702
DM
32601 "leaf" : 1,
32602 "path" : "/nodes/{node}/syslog",
7aacca6f 32603 "text" : "syslog"
56122987
DM
32604 },
32605 {
56122987
DM
32606 "info" : {
32607 "POST" : {
44660702
DM
32608 "description" : "Creates a VNC Shell proxy.",
32609 "method" : "POST",
32610 "name" : "vncshell",
32611 "parameters" : {
32612 "additionalProperties" : 0,
56122987 32613 "properties" : {
5d9c884c
DM
32614 "height" : {
32615 "description" : "sets the height of the console in pixels.",
32616 "maximum" : 2160,
32617 "minimum" : 16,
32618 "optional" : 1,
32619 "type" : "integer",
32620 "typetext" : "<integer> (16 - 2160)"
32621 },
44660702
DM
32622 "node" : {
32623 "description" : "The cluster node name.",
32624 "format" : "pve-node",
013dc89f
DM
32625 "type" : "string",
32626 "typetext" : "<string>"
7aacca6f 32627 },
44660702
DM
32628 "upgrade" : {
32629 "default" : 0,
32630 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
32631 "optional" : 1,
013dc89f
DM
32632 "type" : "boolean",
32633 "typetext" : "<boolean>"
7aacca6f 32634 },
44660702
DM
32635 "websocket" : {
32636 "description" : "use websocket instead of standard vnc.",
32637 "optional" : 1,
013dc89f
DM
32638 "type" : "boolean",
32639 "typetext" : "<boolean>"
5d9c884c
DM
32640 },
32641 "width" : {
32642 "description" : "sets the width of the console in pixels.",
32643 "maximum" : 4096,
32644 "minimum" : 16,
32645 "optional" : 1,
32646 "type" : "integer",
32647 "typetext" : "<integer> (16 - 4096)"
56122987 32648 }
44660702 32649 }
56122987 32650 },
56122987
DM
32651 "permissions" : {
32652 "check" : [
32653 "perm",
7aacca6f 32654 "/nodes/{node}",
56122987 32655 [
7aacca6f 32656 "Sys.Console"
56122987 32657 ]
44660702
DM
32658 ],
32659 "description" : "Restricted to users on realm 'pam'"
56122987 32660 },
44660702
DM
32661 "protected" : 1,
32662 "returns" : {
32663 "additionalProperties" : 0,
56122987 32664 "properties" : {
44660702
DM
32665 "cert" : {
32666 "type" : "string"
7aacca6f 32667 },
44660702
DM
32668 "port" : {
32669 "type" : "integer"
7aacca6f 32670 },
44660702
DM
32671 "ticket" : {
32672 "type" : "string"
32673 },
32674 "upid" : {
32675 "type" : "string"
32676 },
32677 "user" : {
32678 "type" : "string"
56122987 32679 }
44660702
DM
32680 }
32681 }
56122987
DM
32682 }
32683 },
7aacca6f 32684 "leaf" : 1,
44660702
DM
32685 "path" : "/nodes/{node}/vncshell",
32686 "text" : "vncshell"
56122987 32687 },
35a75dd3
DM
32688 {
32689 "info" : {
32690 "POST" : {
32691 "description" : "Creates a VNC Shell proxy.",
32692 "method" : "POST",
32693 "name" : "termproxy",
32694 "parameters" : {
32695 "additionalProperties" : 0,
32696 "properties" : {
32697 "node" : {
32698 "description" : "The cluster node name.",
32699 "format" : "pve-node",
32700 "type" : "string",
32701 "typetext" : "<string>"
32702 },
32703 "upgrade" : {
32704 "default" : 0,
32705 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
32706 "optional" : 1,
32707 "type" : "boolean",
32708 "typetext" : "<boolean>"
32709 }
32710 }
32711 },
32712 "permissions" : {
32713 "check" : [
32714 "perm",
32715 "/nodes/{node}",
32716 [
32717 "Sys.Console"
32718 ]
32719 ],
32720 "description" : "Restricted to users on realm 'pam'"
32721 },
32722 "protected" : 1,
32723 "returns" : {
32724 "additionalProperties" : 0,
32725 "properties" : {
32726 "port" : {
32727 "type" : "integer"
32728 },
32729 "ticket" : {
32730 "type" : "string"
32731 },
32732 "upid" : {
32733 "type" : "string"
32734 },
32735 "user" : {
32736 "type" : "string"
32737 }
32738 }
32739 }
32740 }
32741 },
32742 "leaf" : 1,
32743 "path" : "/nodes/{node}/termproxy",
32744 "text" : "termproxy"
32745 },
56122987
DM
32746 {
32747 "info" : {
32748 "GET" : {
7aacca6f 32749 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
32750 "method" : "GET",
32751 "name" : "vncwebsocket",
56122987 32752 "parameters" : {
44660702 32753 "additionalProperties" : 0,
56122987
DM
32754 "properties" : {
32755 "node" : {
32756 "description" : "The cluster node name.",
44660702 32757 "format" : "pve-node",
013dc89f
DM
32758 "type" : "string",
32759 "typetext" : "<string>"
7aacca6f
DM
32760 },
32761 "port" : {
7aacca6f
DM
32762 "description" : "Port number returned by previous vncproxy call.",
32763 "maximum" : 5999,
44660702 32764 "minimum" : 5900,
4bd7df8b 32765 "type" : "integer",
013dc89f 32766 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
32767 },
32768 "vncticket" : {
32769 "description" : "Ticket from previous call to vncproxy.",
32770 "maxLength" : 512,
013dc89f
DM
32771 "type" : "string",
32772 "typetext" : "<string>"
56122987 32773 }
44660702 32774 }
56122987 32775 },
56122987
DM
32776 "permissions" : {
32777 "check" : [
32778 "perm",
32779 "/nodes/{node}",
32780 [
7aacca6f 32781 "Sys.Console"
56122987 32782 ]
44660702
DM
32783 ],
32784 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
32785 },
32786 "returns" : {
32787 "properties" : {
32788 "port" : {
32789 "type" : "string"
32790 }
32791 },
32792 "type" : "object"
7aacca6f 32793 }
56122987
DM
32794 }
32795 },
44660702 32796 "leaf" : 1,
7aacca6f 32797 "path" : "/nodes/{node}/vncwebsocket",
44660702 32798 "text" : "vncwebsocket"
56122987
DM
32799 },
32800 {
32801 "info" : {
32802 "POST" : {
44660702 32803 "description" : "Creates a SPICE shell.",
7aacca6f 32804 "method" : "POST",
44660702 32805 "name" : "spiceshell",
56122987 32806 "parameters" : {
7aacca6f 32807 "additionalProperties" : 0,
56122987 32808 "properties" : {
7aacca6f 32809 "node" : {
44660702 32810 "description" : "The cluster node name.",
56122987 32811 "format" : "pve-node",
013dc89f
DM
32812 "type" : "string",
32813 "typetext" : "<string>"
7aacca6f 32814 },
44660702 32815 "proxy" : {
4d47f125 32816 "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
32817 "format" : "address",
32818 "optional" : 1,
013dc89f
DM
32819 "type" : "string",
32820 "typetext" : "<string>"
7aacca6f 32821 },
44660702
DM
32822 "upgrade" : {
32823 "default" : 0,
32824 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
32825 "optional" : 1,
013dc89f
DM
32826 "type" : "boolean",
32827 "typetext" : "<boolean>"
56122987 32828 }
7aacca6f 32829 }
56122987 32830 },
56122987
DM
32831 "permissions" : {
32832 "check" : [
32833 "perm",
7aacca6f 32834 "/nodes/{node}",
56122987 32835 [
7aacca6f 32836 "Sys.Console"
56122987 32837 ]
7aacca6f
DM
32838 ],
32839 "description" : "Restricted to users on realm 'pam'"
44660702
DM
32840 },
32841 "protected" : 1,
32842 "proxyto" : "node",
32843 "returns" : {
32844 "additionalProperties" : 1,
32845 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
32846 "properties" : {
32847 "host" : {
32848 "type" : "string"
32849 },
32850 "password" : {
32851 "type" : "string"
32852 },
32853 "proxy" : {
32854 "type" : "string"
32855 },
32856 "tls-port" : {
32857 "type" : "integer"
32858 },
32859 "type" : {
32860 "type" : "string"
32861 }
32862 }
7aacca6f 32863 }
56122987
DM
32864 }
32865 },
56122987 32866 "leaf" : 1,
44660702
DM
32867 "path" : "/nodes/{node}/spiceshell",
32868 "text" : "spiceshell"
56122987
DM
32869 },
32870 {
56122987 32871 "info" : {
7aacca6f 32872 "GET" : {
44660702 32873 "description" : "Read DNS settings.",
7aacca6f 32874 "method" : "GET",
44660702
DM
32875 "name" : "dns",
32876 "parameters" : {
7aacca6f
DM
32877 "additionalProperties" : 0,
32878 "properties" : {
44660702
DM
32879 "node" : {
32880 "description" : "The cluster node name.",
32881 "format" : "pve-node",
013dc89f
DM
32882 "type" : "string",
32883 "typetext" : "<string>"
7aacca6f
DM
32884 }
32885 }
32886 },
7aacca6f
DM
32887 "permissions" : {
32888 "check" : [
32889 "perm",
32890 "/nodes/{node}",
32891 [
32892 "Sys.Audit"
32893 ]
32894 ]
32895 },
44660702
DM
32896 "proxyto" : "node",
32897 "returns" : {
56122987
DM
32898 "additionalProperties" : 0,
32899 "properties" : {
44660702
DM
32900 "dns1" : {
32901 "description" : "First name server IP address.",
32902 "optional" : 1,
32903 "type" : "string"
32904 },
32905 "dns2" : {
32906 "description" : "Second name server IP address.",
32907 "optional" : 1,
32908 "type" : "string"
32909 },
32910 "dns3" : {
32911 "description" : "Third name server IP address.",
32912 "optional" : 1,
32913 "type" : "string"
32914 },
32915 "search" : {
32916 "description" : "Search domain for host-name lookup.",
32917 "optional" : 1,
32918 "type" : "string"
7aacca6f 32919 }
44660702
DM
32920 },
32921 "type" : "object"
32922 }
7aacca6f
DM
32923 },
32924 "PUT" : {
44660702
DM
32925 "description" : "Write DNS settings.",
32926 "method" : "PUT",
7aacca6f
DM
32927 "name" : "update_dns",
32928 "parameters" : {
32929 "additionalProperties" : 0,
32930 "properties" : {
44660702
DM
32931 "dns1" : {
32932 "description" : "First name server IP address.",
32933 "format" : "ip",
32934 "optional" : 1,
013dc89f
DM
32935 "type" : "string",
32936 "typetext" : "<string>"
7aacca6f 32937 },
44660702
DM
32938 "dns2" : {
32939 "description" : "Second name server IP address.",
32940 "format" : "ip",
7aacca6f 32941 "optional" : 1,
013dc89f
DM
32942 "type" : "string",
32943 "typetext" : "<string>"
7aacca6f 32944 },
44660702
DM
32945 "dns3" : {
32946 "description" : "Third name server IP address.",
32947 "format" : "ip",
7aacca6f 32948 "optional" : 1,
013dc89f
DM
32949 "type" : "string",
32950 "typetext" : "<string>"
7aacca6f
DM
32951 },
32952 "node" : {
44660702 32953 "description" : "The cluster node name.",
56122987 32954 "format" : "pve-node",
013dc89f
DM
32955 "type" : "string",
32956 "typetext" : "<string>"
7aacca6f 32957 },
44660702
DM
32958 "search" : {
32959 "description" : "Search domain for host-name lookup.",
013dc89f
DM
32960 "type" : "string",
32961 "typetext" : "<string>"
56122987
DM
32962 }
32963 }
32964 },
32965 "permissions" : {
32966 "check" : [
32967 "perm",
7aacca6f 32968 "/nodes/{node}",
56122987 32969 [
7aacca6f 32970 "Sys.Modify"
56122987
DM
32971 ]
32972 ]
32973 },
44660702 32974 "protected" : 1,
7aacca6f 32975 "proxyto" : "node",
56122987 32976 "returns" : {
7aacca6f
DM
32977 "type" : "null"
32978 }
56122987 32979 }
44660702
DM
32980 },
32981 "leaf" : 1,
32982 "path" : "/nodes/{node}/dns",
32983 "text" : "dns"
56122987
DM
32984 },
32985 {
32986 "info" : {
7aacca6f 32987 "GET" : {
7aacca6f 32988 "description" : "Read server time and time zone settings.",
44660702
DM
32989 "method" : "GET",
32990 "name" : "time",
56122987 32991 "parameters" : {
44660702 32992 "additionalProperties" : 0,
56122987
DM
32993 "properties" : {
32994 "node" : {
44660702 32995 "description" : "The cluster node name.",
56122987 32996 "format" : "pve-node",
013dc89f
DM
32997 "type" : "string",
32998 "typetext" : "<string>"
56122987 32999 }
44660702 33000 }
56122987
DM
33001 },
33002 "permissions" : {
33003 "check" : [
33004 "perm",
7aacca6f 33005 "/nodes/{node}",
56122987 33006 [
7aacca6f 33007 "Sys.Audit"
56122987
DM
33008 ]
33009 ]
44660702
DM
33010 },
33011 "proxyto" : "node",
33012 "returns" : {
33013 "additionalProperties" : 0,
33014 "properties" : {
33015 "localtime" : {
33016 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
33017 "minimum" : 1297163644,
4d47f125 33018 "renderer" : "timestamp_gmt",
44660702
DM
33019 "type" : "integer"
33020 },
33021 "time" : {
33022 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
33023 "minimum" : 1297163644,
4d47f125 33024 "renderer" : "timestamp",
44660702
DM
33025 "type" : "integer"
33026 },
33027 "timezone" : {
33028 "description" : "Time zone",
33029 "type" : "string"
33030 }
33031 },
33032 "type" : "object"
7aacca6f
DM
33033 }
33034 },
33035 "PUT" : {
7aacca6f 33036 "description" : "Set time zone.",
44660702
DM
33037 "method" : "PUT",
33038 "name" : "set_timezone",
33039 "parameters" : {
33040 "additionalProperties" : 0,
33041 "properties" : {
33042 "node" : {
33043 "description" : "The cluster node name.",
33044 "format" : "pve-node",
013dc89f
DM
33045 "type" : "string",
33046 "typetext" : "<string>"
44660702
DM
33047 },
33048 "timezone" : {
33049 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
33050 "type" : "string",
33051 "typetext" : "<string>"
44660702
DM
33052 }
33053 }
33054 },
7aacca6f
DM
33055 "permissions" : {
33056 "check" : [
33057 "perm",
33058 "/nodes/{node}",
33059 [
33060 "Sys.Modify"
33061 ]
33062 ]
56122987 33063 },
7aacca6f 33064 "protected" : 1,
44660702
DM
33065 "proxyto" : "node",
33066 "returns" : {
33067 "type" : "null"
33068 }
7aacca6f
DM
33069 }
33070 },
7aacca6f 33071 "leaf" : 1,
44660702
DM
33072 "path" : "/nodes/{node}/time",
33073 "text" : "time"
7aacca6f
DM
33074 },
33075 {
33076 "info" : {
44660702
DM
33077 "GET" : {
33078 "description" : "Get list of appliances.",
33079 "method" : "GET",
33080 "name" : "aplinfo",
7aacca6f
DM
33081 "parameters" : {
33082 "additionalProperties" : 0,
33083 "properties" : {
7aacca6f 33084 "node" : {
44660702 33085 "description" : "The cluster node name.",
7aacca6f 33086 "format" : "pve-node",
013dc89f
DM
33087 "type" : "string",
33088 "typetext" : "<string>"
7aacca6f
DM
33089 }
33090 }
56122987 33091 },
7aacca6f 33092 "permissions" : {
44660702 33093 "user" : "all"
56122987 33094 },
44660702 33095 "proxyto" : "node",
7aacca6f
DM
33096 "returns" : {
33097 "items" : {
44660702
DM
33098 "properties" : {},
33099 "type" : "object"
7aacca6f
DM
33100 },
33101 "type" : "array"
44660702
DM
33102 }
33103 },
33104 "POST" : {
33105 "description" : "Download appliance templates.",
33106 "method" : "POST",
33107 "name" : "apl_download",
7aacca6f
DM
33108 "parameters" : {
33109 "additionalProperties" : 0,
33110 "properties" : {
33111 "node" : {
7aacca6f 33112 "description" : "The cluster node name.",
44660702 33113 "format" : "pve-node",
013dc89f
DM
33114 "type" : "string",
33115 "typetext" : "<string>"
44660702
DM
33116 },
33117 "storage" : {
4bd7df8b 33118 "description" : "The storage where the template will be stored",
44660702 33119 "format" : "pve-storage-id",
013dc89f
DM
33120 "type" : "string",
33121 "typetext" : "<string>"
44660702
DM
33122 },
33123 "template" : {
33124 "description" : "The template wich will downloaded",
33125 "maxLength" : 255,
013dc89f
DM
33126 "type" : "string",
33127 "typetext" : "<string>"
7aacca6f
DM
33128 }
33129 }
56122987 33130 },
7aacca6f 33131 "permissions" : {
44660702
DM
33132 "check" : [
33133 "perm",
33134 "/storage/{storage}",
33135 [
33136 "Datastore.AllocateTemplate"
33137 ]
33138 ]
33139 },
33140 "protected" : 1,
33141 "proxyto" : "node",
33142 "returns" : {
33143 "type" : "string"
7aacca6f
DM
33144 }
33145 }
33146 },
7aacca6f 33147 "leaf" : 1,
44660702
DM
33148 "path" : "/nodes/{node}/aplinfo",
33149 "text" : "aplinfo"
7aacca6f
DM
33150 },
33151 {
33152 "info" : {
33153 "GET" : {
44660702
DM
33154 "description" : "Gather various systems information about a node",
33155 "method" : "GET",
33156 "name" : "report",
7aacca6f 33157 "parameters" : {
44660702 33158 "additionalProperties" : 0,
7aacca6f
DM
33159 "properties" : {
33160 "node" : {
7aacca6f 33161 "description" : "The cluster node name.",
44660702 33162 "format" : "pve-node",
013dc89f
DM
33163 "type" : "string",
33164 "typetext" : "<string>"
7aacca6f 33165 }
44660702 33166 }
56122987 33167 },
7aacca6f
DM
33168 "permissions" : {
33169 "check" : [
33170 "perm",
33171 "/nodes/{node}",
33172 [
33173 "Sys.Audit"
33174 ]
33175 ]
56122987 33176 },
44660702 33177 "protected" : 1,
7aacca6f
DM
33178 "proxyto" : "node",
33179 "returns" : {
56122987 33180 "type" : "string"
7aacca6f
DM
33181 }
33182 }
33183 },
7aacca6f 33184 "leaf" : 1,
44660702
DM
33185 "path" : "/nodes/{node}/report",
33186 "text" : "report"
7aacca6f
DM
33187 },
33188 {
7aacca6f
DM
33189 "info" : {
33190 "POST" : {
44660702 33191 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 33192 "method" : "POST",
44660702 33193 "name" : "startall",
7aacca6f 33194 "parameters" : {
44660702 33195 "additionalProperties" : 0,
7aacca6f
DM
33196 "properties" : {
33197 "force" : {
44660702 33198 "description" : "force if onboot=0.",
7aacca6f 33199 "optional" : 1,
013dc89f
DM
33200 "type" : "boolean",
33201 "typetext" : "<boolean>"
7aacca6f
DM
33202 },
33203 "node" : {
7aacca6f 33204 "description" : "The cluster node name.",
44660702 33205 "format" : "pve-node",
013dc89f
DM
33206 "type" : "string",
33207 "typetext" : "<string>"
52e44c50
FG
33208 },
33209 "vms" : {
33210 "description" : "Only consider Guests with these IDs.",
33211 "format" : "pve-vmid-list",
33212 "optional" : 1,
33213 "type" : "string",
33214 "typetext" : "<string>"
7aacca6f 33215 }
44660702 33216 }
56122987 33217 },
7aacca6f
DM
33218 "permissions" : {
33219 "check" : [
33220 "perm",
33221 "/",
33222 [
33223 "VM.PowerMgmt"
33224 ]
33225 ]
44660702
DM
33226 },
33227 "protected" : 1,
33228 "proxyto" : "node",
33229 "returns" : {
33230 "type" : "string"
7aacca6f
DM
33231 }
33232 }
33233 },
44660702 33234 "leaf" : 1,
7aacca6f 33235 "path" : "/nodes/{node}/startall",
44660702 33236 "text" : "startall"
7aacca6f
DM
33237 },
33238 {
7aacca6f
DM
33239 "info" : {
33240 "POST" : {
33241 "description" : "Stop all VMs and Containers.",
44660702
DM
33242 "method" : "POST",
33243 "name" : "stopall",
7aacca6f 33244 "parameters" : {
44660702 33245 "additionalProperties" : 0,
7aacca6f
DM
33246 "properties" : {
33247 "node" : {
44660702 33248 "description" : "The cluster node name.",
7aacca6f 33249 "format" : "pve-node",
013dc89f
DM
33250 "type" : "string",
33251 "typetext" : "<string>"
52e44c50
FG
33252 },
33253 "vms" : {
33254 "description" : "Only consider Guests with these IDs.",
33255 "format" : "pve-vmid-list",
33256 "optional" : 1,
33257 "type" : "string",
33258 "typetext" : "<string>"
7aacca6f 33259 }
44660702 33260 }
56122987 33261 },
7aacca6f
DM
33262 "permissions" : {
33263 "check" : [
33264 "perm",
33265 "/",
33266 [
44660702 33267 "VM.PowerMgmt"
7aacca6f
DM
33268 ]
33269 ]
56122987 33270 },
44660702 33271 "protected" : 1,
7aacca6f 33272 "proxyto" : "node",
44660702
DM
33273 "returns" : {
33274 "type" : "string"
33275 }
33276 }
56122987 33277 },
44660702
DM
33278 "leaf" : 1,
33279 "path" : "/nodes/{node}/stopall",
33280 "text" : "stopall"
33281 },
33282 {
33283 "info" : {
33284 "POST" : {
33285 "description" : "Migrate all VMs and Containers.",
33286 "method" : "POST",
33287 "name" : "migrateall",
33288 "parameters" : {
33289 "additionalProperties" : 0,
33290 "properties" : {
33291 "maxworkers" : {
33292 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
33293 "minimum" : 1,
33294 "optional" : 1,
4bd7df8b 33295 "type" : "integer",
013dc89f 33296 "typetext" : "<integer> (1 - N)"
44660702
DM
33297 },
33298 "node" : {
33299 "description" : "The cluster node name.",
33300 "format" : "pve-node",
013dc89f
DM
33301 "type" : "string",
33302 "typetext" : "<string>"
44660702
DM
33303 },
33304 "target" : {
33305 "description" : "Target node.",
33306 "format" : "pve-node",
013dc89f
DM
33307 "type" : "string",
33308 "typetext" : "<string>"
52e44c50
FG
33309 },
33310 "vms" : {
33311 "description" : "Only consider Guests with these IDs.",
33312 "format" : "pve-vmid-list",
33313 "optional" : 1,
33314 "type" : "string",
33315 "typetext" : "<string>"
44660702
DM
33316 }
33317 }
33318 },
33319 "permissions" : {
33320 "check" : [
33321 "perm",
33322 "/",
33323 [
33324 "VM.Migrate"
33325 ]
33326 ]
33327 },
33328 "protected" : 1,
33329 "proxyto" : "node",
33330 "returns" : {
33331 "type" : "string"
33332 }
33333 }
56122987 33334 },
44660702
DM
33335 "leaf" : 1,
33336 "path" : "/nodes/{node}/migrateall",
33337 "text" : "migrateall"
4d47f125
TL
33338 },
33339 {
33340 "info" : {
33341 "GET" : {
33342 "description" : "Get the content of /etc/hosts.",
33343 "method" : "GET",
33344 "name" : "get_etc_hosts",
33345 "parameters" : {
33346 "additionalProperties" : 0,
33347 "properties" : {
33348 "node" : {
33349 "description" : "The cluster node name.",
33350 "format" : "pve-node",
33351 "type" : "string",
33352 "typetext" : "<string>"
33353 }
33354 }
33355 },
33356 "permissions" : {
33357 "check" : [
33358 "perm",
33359 "/",
33360 [
33361 "Sys.Audit"
33362 ]
33363 ]
33364 },
33365 "protected" : 1,
33366 "proxyto" : "node",
33367 "returns" : {
33368 "properties" : {
33369 "data" : {
33370 "description" : "The content of /etc/hosts.",
33371 "type" : "string"
33372 },
33373 "digest" : {
33374 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
33375 "maxLength" : 40,
33376 "optional" : 1,
33377 "type" : "string"
33378 }
33379 },
33380 "type" : "object"
33381 }
33382 },
33383 "POST" : {
33384 "description" : "Write /etc/hosts.",
33385 "method" : "POST",
33386 "name" : "write_etc_hosts",
33387 "parameters" : {
33388 "additionalProperties" : 0,
33389 "properties" : {
33390 "data" : {
33391 "description" : "The target content of /etc/hosts.",
33392 "type" : "string",
33393 "typetext" : "<string>"
33394 },
33395 "digest" : {
33396 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
33397 "maxLength" : 40,
33398 "optional" : 1,
33399 "type" : "string",
33400 "typetext" : "<string>"
33401 },
33402 "node" : {
33403 "description" : "The cluster node name.",
33404 "format" : "pve-node",
33405 "type" : "string",
33406 "typetext" : "<string>"
33407 }
33408 }
33409 },
33410 "permissions" : {
33411 "check" : [
33412 "perm",
33413 "/nodes/{node}",
33414 [
33415 "Sys.Modify"
33416 ]
33417 ]
33418 },
33419 "protected" : 1,
33420 "proxyto" : "node",
33421 "returns" : {
33422 "type" : "null"
33423 }
33424 }
33425 },
33426 "leaf" : 1,
33427 "path" : "/nodes/{node}/hosts",
33428 "text" : "hosts"
44660702
DM
33429 }
33430 ],
33431 "info" : {
33432 "GET" : {
33433 "description" : "Node index.",
33434 "method" : "GET",
33435 "name" : "index",
33436 "parameters" : {
33437 "additionalProperties" : 0,
33438 "properties" : {
33439 "node" : {
33440 "description" : "The cluster node name.",
33441 "format" : "pve-node",
013dc89f
DM
33442 "type" : "string",
33443 "typetext" : "<string>"
44660702
DM
33444 }
33445 }
56122987 33446 },
44660702
DM
33447 "permissions" : {
33448 "user" : "all"
56122987 33449 },
44660702
DM
33450 "returns" : {
33451 "items" : {
33452 "properties" : {},
33453 "type" : "object"
33454 },
33455 "links" : [
33456 {
33457 "href" : "{name}",
33458 "rel" : "child"
33459 }
56122987 33460 ],
44660702 33461 "type" : "array"
7aacca6f
DM
33462 }
33463 }
33464 },
44660702
DM
33465 "leaf" : 0,
33466 "path" : "/nodes/{node}",
33467 "text" : "{node}"
33468 }
33469 ],
33470 "info" : {
7aacca6f 33471 "GET" : {
44660702 33472 "description" : "Cluster node index.",
7aacca6f 33473 "method" : "GET",
44660702 33474 "name" : "index",
7aacca6f 33475 "parameters" : {
7aacca6f
DM
33476 "additionalProperties" : 0
33477 },
33478 "permissions" : {
7aacca6f
DM
33479 "user" : "all"
33480 },
44660702
DM
33481 "returns" : {
33482 "items" : {
4d47f125
TL
33483 "properties" : {
33484 "cpu" : {
33485 "description" : "CPU utilization.",
33486 "optional" : 1,
33487 "renderer" : "fraction_as_percentage",
33488 "type" : "number"
33489 },
33490 "level" : {
33491 "description" : "Support level.",
33492 "optional" : 1,
33493 "type" : "string"
33494 },
33495 "maxcpu" : {
33496 "description" : "Number of available CPUs.",
33497 "optional" : 1,
33498 "type" : "integer"
33499 },
33500 "maxmem" : {
33501 "description" : "Number of available memory in bytes.",
33502 "optional" : 1,
33503 "renderer" : "bytes",
33504 "type" : "integer"
33505 },
33506 "mem" : {
33507 "description" : "Used memory in bytes.",
33508 "optional" : 1,
33509 "renderer" : "bytes",
33510 "type" : "string"
33511 },
33512 "node" : {
33513 "description" : "The cluster node name.",
33514 "format" : "pve-node",
33515 "type" : "string"
33516 },
33517 "ssl_fingerprint" : {
33518 "description" : "The SSL fingerprint for the node certificate.",
33519 "optional" : 1,
33520 "type" : "string"
33521 },
33522 "status" : {
33523 "description" : "Node status.",
33524 "enum" : [
33525 "unknown",
33526 "online",
33527 "offline"
33528 ],
33529 "type" : "string"
33530 },
33531 "uptime" : {
33532 "description" : "Node uptime in seconds.",
33533 "optional" : 1,
33534 "renderer" : "duration",
33535 "type" : "integer"
33536 }
33537 },
44660702
DM
33538 "type" : "object"
33539 },
33540 "links" : [
33541 {
33542 "href" : "{node}",
33543 "rel" : "child"
33544 }
33545 ],
33546 "type" : "array"
33547 }
7aacca6f
DM
33548 }
33549 },
44660702
DM
33550 "leaf" : 0,
33551 "path" : "/nodes",
33552 "text" : "nodes"
33553 },
33554 {
7aacca6f
DM
33555 "children" : [
33556 {
7aacca6f 33557 "info" : {
44660702
DM
33558 "DELETE" : {
33559 "description" : "Delete storage configuration.",
33560 "method" : "DELETE",
33561 "name" : "delete",
7aacca6f
DM
33562 "parameters" : {
33563 "additionalProperties" : 0,
33564 "properties" : {
33565 "storage" : {
7aacca6f 33566 "description" : "The storage identifier.",
44660702 33567 "format" : "pve-storage-id",
013dc89f
DM
33568 "type" : "string",
33569 "typetext" : "<string>"
7aacca6f
DM
33570 }
33571 }
56122987 33572 },
7aacca6f
DM
33573 "permissions" : {
33574 "check" : [
33575 "perm",
33576 "/storage",
33577 [
33578 "Datastore.Allocate"
33579 ]
33580 ]
56122987 33581 },
44660702
DM
33582 "protected" : 1,
33583 "returns" : {
33584 "type" : "null"
33585 }
33586 },
33587 "GET" : {
33588 "description" : "Read storage configuration.",
33589 "method" : "GET",
33590 "name" : "read",
7aacca6f
DM
33591 "parameters" : {
33592 "additionalProperties" : 0,
33593 "properties" : {
33594 "storage" : {
44660702 33595 "description" : "The storage identifier.",
7aacca6f 33596 "format" : "pve-storage-id",
013dc89f
DM
33597 "type" : "string",
33598 "typetext" : "<string>"
7aacca6f
DM
33599 }
33600 }
33601 },
44660702
DM
33602 "permissions" : {
33603 "check" : [
33604 "perm",
33605 "/storage/{storage}",
33606 [
33607 "Datastore.Allocate"
33608 ]
33609 ]
33610 },
5da3d723
TL
33611 "returns" : {
33612 "type" : "object"
33613 }
7aacca6f
DM
33614 },
33615 "PUT" : {
44660702
DM
33616 "description" : "Update storage configuration.",
33617 "method" : "PUT",
33618 "name" : "update",
33619 "parameters" : {
33620 "additionalProperties" : 0,
33621 "properties" : {
33622 "blocksize" : {
33623 "description" : "block size",
7aacca6f 33624 "optional" : 1,
013dc89f
DM
33625 "type" : "string",
33626 "typetext" : "<string>"
7aacca6f 33627 },
27a7acb2
DM
33628 "bwlimit" : {
33629 "description" : "Set bandwidth/io limits various operations.",
33630 "format" : {
33631 "clone" : {
33632 "description" : "bandwidth limit in MiB/s for cloning disks",
33633 "format_description" : "LIMIT",
33634 "minimum" : "0",
33635 "optional" : 1,
33636 "type" : "number"
33637 },
33638 "default" : {
33639 "description" : "default bandwidth limit in MiB/s",
33640 "format_description" : "LIMIT",
33641 "minimum" : "0",
33642 "optional" : 1,
33643 "type" : "number"
33644 },
33645 "migration" : {
33646 "description" : "bandwidth limit in MiB/s for migrating guests",
33647 "format_description" : "LIMIT",
33648 "minimum" : "0",
33649 "optional" : 1,
33650 "type" : "number"
33651 },
33652 "move" : {
33653 "description" : "bandwidth limit in MiB/s for moving disks",
33654 "format_description" : "LIMIT",
33655 "minimum" : "0",
33656 "optional" : 1,
33657 "type" : "number"
33658 },
33659 "restore" : {
33660 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
33661 "format_description" : "LIMIT",
33662 "minimum" : "0",
33663 "optional" : 1,
33664 "type" : "number"
33665 }
33666 },
33667 "optional" : 1,
33668 "type" : "string",
33669 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
33670 },
44660702
DM
33671 "comstar_hg" : {
33672 "description" : "host group for comstar views",
33673 "optional" : 1,
013dc89f
DM
33674 "type" : "string",
33675 "typetext" : "<string>"
7aacca6f 33676 },
44660702
DM
33677 "comstar_tg" : {
33678 "description" : "target group for comstar views",
7aacca6f 33679 "optional" : 1,
013dc89f
DM
33680 "type" : "string",
33681 "typetext" : "<string>"
7aacca6f 33682 },
44660702
DM
33683 "content" : {
33684 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
33685 "format" : "pve-storage-content-list",
7aacca6f 33686 "optional" : 1,
013dc89f
DM
33687 "type" : "string",
33688 "typetext" : "<string>"
7aacca6f 33689 },
44660702
DM
33690 "delete" : {
33691 "description" : "A list of settings you want to delete.",
33692 "format" : "pve-configid-list",
33693 "maxLength" : 4096,
7aacca6f 33694 "optional" : 1,
013dc89f
DM
33695 "type" : "string",
33696 "typetext" : "<string>"
7aacca6f
DM
33697 },
33698 "digest" : {
44660702 33699 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 33700 "maxLength" : 40,
7aacca6f 33701 "optional" : 1,
013dc89f
DM
33702 "type" : "string",
33703 "typetext" : "<string>"
7aacca6f 33704 },
44660702
DM
33705 "disable" : {
33706 "description" : "Flag to disable the storage.",
33707 "optional" : 1,
013dc89f
DM
33708 "type" : "boolean",
33709 "typetext" : "<boolean>"
7aacca6f 33710 },
27a7acb2
DM
33711 "domain" : {
33712 "description" : "CIFS domain.",
33713 "maxLength" : 256,
33714 "optional" : 1,
33715 "type" : "string",
33716 "typetext" : "<string>"
33717 },
7aacca6f
DM
33718 "format" : {
33719 "description" : "Default image format.",
44660702 33720 "format" : "pve-storage-format",
7aacca6f 33721 "optional" : 1,
013dc89f
DM
33722 "type" : "string",
33723 "typetext" : "<string>"
7aacca6f 33724 },
5da3d723
TL
33725 "fuse" : {
33726 "description" : "Mount CephFS through FUSE.",
33727 "optional" : 1,
33728 "type" : "boolean",
33729 "typetext" : "<boolean>"
33730 },
2c0dde61
DM
33731 "is_mountpoint" : {
33732 "default" : "no",
2489d6df 33733 "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 33734 "optional" : 1,
2489d6df
WB
33735 "type" : "string",
33736 "typetext" : "<string>"
2c0dde61 33737 },
44660702 33738 "krbd" : {
e2d681b3 33739 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 33740 "optional" : 1,
013dc89f
DM
33741 "type" : "boolean",
33742 "typetext" : "<boolean>"
7aacca6f 33743 },
4d47f125
TL
33744 "lio_tpg" : {
33745 "description" : "target portal group for Linux LIO targets",
33746 "optional" : 1,
33747 "type" : "string",
33748 "typetext" : "<string>"
33749 },
44660702
DM
33750 "maxfiles" : {
33751 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
33752 "minimum" : 0,
33753 "optional" : 1,
4bd7df8b 33754 "type" : "integer",
013dc89f 33755 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
33756 },
33757 "mkdir" : {
33758 "default" : "yes",
33759 "description" : "Create the directory if it doesn't exist.",
33760 "optional" : 1,
013dc89f
DM
33761 "type" : "boolean",
33762 "typetext" : "<boolean>"
7aacca6f 33763 },
2489d6df
WB
33764 "monhost" : {
33765 "description" : "IP addresses of monitors (for external clusters).",
33766 "format" : "pve-storage-portal-dns-list",
33767 "optional" : 1,
33768 "type" : "string",
33769 "typetext" : "<string>"
33770 },
7aacca6f 33771 "nodes" : {
44660702 33772 "description" : "List of cluster node names.",
7aacca6f
DM
33773 "format" : "pve-node-list",
33774 "optional" : 1,
013dc89f
DM
33775 "type" : "string",
33776 "typetext" : "<string>"
7aacca6f 33777 },
44660702
DM
33778 "nowritecache" : {
33779 "description" : "disable write caching on the target",
7aacca6f 33780 "optional" : 1,
013dc89f
DM
33781 "type" : "boolean",
33782 "typetext" : "<boolean>"
7aacca6f
DM
33783 },
33784 "options" : {
7aacca6f 33785 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
33786 "format" : "pve-storage-options",
33787 "optional" : 1,
013dc89f
DM
33788 "type" : "string",
33789 "typetext" : "<string>"
44660702 33790 },
27a7acb2
DM
33791 "password" : {
33792 "description" : "Password for CIFS share.",
33793 "maxLength" : 256,
33794 "optional" : 1,
33795 "type" : "string",
33796 "typetext" : "<string>"
33797 },
44660702
DM
33798 "pool" : {
33799 "description" : "Pool.",
33800 "optional" : 1,
013dc89f
DM
33801 "type" : "string",
33802 "typetext" : "<string>"
44660702
DM
33803 },
33804 "redundancy" : {
33805 "default" : 2,
33806 "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.",
33807 "maximum" : 16,
33808 "minimum" : 1,
33809 "optional" : 1,
4bd7df8b 33810 "type" : "integer",
013dc89f 33811 "typetext" : "<integer> (1 - 16)"
44660702
DM
33812 },
33813 "saferemove" : {
33814 "description" : "Zero-out data when removing LVs.",
33815 "optional" : 1,
013dc89f
DM
33816 "type" : "boolean",
33817 "typetext" : "<boolean>"
7aacca6f
DM
33818 },
33819 "saferemove_throughput" : {
44660702 33820 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 33821 "optional" : 1,
013dc89f
DM
33822 "type" : "string",
33823 "typetext" : "<string>"
7aacca6f 33824 },
44660702
DM
33825 "server" : {
33826 "description" : "Server IP or DNS name.",
33827 "format" : "pve-storage-server",
7aacca6f 33828 "optional" : 1,
013dc89f
DM
33829 "type" : "string",
33830 "typetext" : "<string>"
7aacca6f 33831 },
44660702
DM
33832 "server2" : {
33833 "description" : "Backup volfile server IP or DNS name.",
33834 "format" : "pve-storage-server",
7aacca6f 33835 "optional" : 1,
44660702 33836 "requires" : "server",
013dc89f
DM
33837 "type" : "string",
33838 "typetext" : "<string>"
44660702
DM
33839 },
33840 "shared" : {
33841 "description" : "Mark storage as shared.",
33842 "optional" : 1,
013dc89f
DM
33843 "type" : "boolean",
33844 "typetext" : "<boolean>"
44660702 33845 },
27a7acb2 33846 "smbversion" : {
5da3d723
TL
33847 "description" : "SMB protocol version",
33848 "enum" : [
33849 "2.0",
33850 "2.1",
33851 "3.0"
33852 ],
27a7acb2 33853 "optional" : 1,
5da3d723 33854 "type" : "string"
27a7acb2 33855 },
44660702
DM
33856 "sparse" : {
33857 "description" : "use sparse volumes",
33858 "optional" : 1,
013dc89f
DM
33859 "type" : "boolean",
33860 "typetext" : "<boolean>"
44660702
DM
33861 },
33862 "storage" : {
33863 "description" : "The storage identifier.",
33864 "format" : "pve-storage-id",
013dc89f
DM
33865 "type" : "string",
33866 "typetext" : "<string>"
44660702 33867 },
5da3d723
TL
33868 "subdir" : {
33869 "description" : "Subdir to mount.",
33870 "format" : "pve-storage-path",
33871 "optional" : 1,
33872 "type" : "string",
33873 "typetext" : "<string>"
33874 },
4bd7df8b
DM
33875 "tagged_only" : {
33876 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
33877 "optional" : 1,
013dc89f
DM
33878 "type" : "boolean",
33879 "typetext" : "<boolean>"
4bd7df8b 33880 },
44660702
DM
33881 "transport" : {
33882 "description" : "Gluster transport: tcp or rdma",
33883 "enum" : [
33884 "tcp",
33885 "rdma",
33886 "unix"
33887 ],
33888 "optional" : 1,
33889 "type" : "string"
7aacca6f
DM
33890 },
33891 "username" : {
33892 "description" : "RBD Id.",
44660702 33893 "optional" : 1,
013dc89f
DM
33894 "type" : "string",
33895 "typetext" : "<string>"
7aacca6f 33896 }
44660702
DM
33897 },
33898 "type" : "object"
33899 },
33900 "permissions" : {
33901 "check" : [
33902 "perm",
33903 "/storage",
33904 [
33905 "Datastore.Allocate"
33906 ]
33907 ]
33908 },
33909 "protected" : 1,
33910 "returns" : {
33911 "type" : "null"
33912 }
33913 }
33914 },
33915 "leaf" : 1,
33916 "path" : "/storage/{storage}",
33917 "text" : "{storage}"
33918 }
33919 ],
33920 "info" : {
33921 "GET" : {
33922 "description" : "Storage index.",
33923 "method" : "GET",
33924 "name" : "index",
33925 "parameters" : {
33926 "additionalProperties" : 0,
33927 "properties" : {
33928 "type" : {
33929 "description" : "Only list storage of specific type",
33930 "enum" : [
5da3d723 33931 "cephfs",
27a7acb2 33932 "cifs",
44660702
DM
33933 "dir",
33934 "drbd",
e2d681b3 33935 "fake",
44660702
DM
33936 "glusterfs",
33937 "iscsi",
33938 "iscsidirect",
33939 "lvm",
33940 "lvmthin",
33941 "nfs",
33942 "rbd",
33943 "sheepdog",
33944 "zfs",
33945 "zfspool"
33946 ],
33947 "optional" : 1,
33948 "type" : "string"
33949 }
33950 }
33951 },
33952 "permissions" : {
33953 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
33954 "user" : "all"
33955 },
33956 "returns" : {
33957 "items" : {
33958 "properties" : {
33959 "storage" : {
33960 "type" : "string"
7aacca6f 33961 }
56122987 33962 },
44660702
DM
33963 "type" : "object"
33964 },
33965 "links" : [
33966 {
33967 "href" : "{storage}",
33968 "rel" : "child"
33969 }
33970 ],
33971 "type" : "array"
33972 }
33973 },
33974 "POST" : {
33975 "description" : "Create a new storage.",
33976 "method" : "POST",
33977 "name" : "create",
33978 "parameters" : {
33979 "additionalProperties" : 0,
33980 "properties" : {
33981 "authsupported" : {
33982 "description" : "Authsupported.",
33983 "optional" : 1,
013dc89f
DM
33984 "type" : "string",
33985 "typetext" : "<string>"
44660702
DM
33986 },
33987 "base" : {
33988 "description" : "Base volume. This volume is automatically activated.",
33989 "format" : "pve-volume-id",
33990 "optional" : 1,
013dc89f
DM
33991 "type" : "string",
33992 "typetext" : "<string>"
44660702
DM
33993 },
33994 "blocksize" : {
33995 "description" : "block size",
33996 "optional" : 1,
013dc89f
DM
33997 "type" : "string",
33998 "typetext" : "<string>"
44660702 33999 },
27a7acb2
DM
34000 "bwlimit" : {
34001 "description" : "Set bandwidth/io limits various operations.",
34002 "format" : {
34003 "clone" : {
34004 "description" : "bandwidth limit in MiB/s for cloning disks",
34005 "format_description" : "LIMIT",
34006 "minimum" : "0",
34007 "optional" : 1,
34008 "type" : "number"
34009 },
34010 "default" : {
34011 "description" : "default bandwidth limit in MiB/s",
34012 "format_description" : "LIMIT",
34013 "minimum" : "0",
34014 "optional" : 1,
34015 "type" : "number"
34016 },
34017 "migration" : {
34018 "description" : "bandwidth limit in MiB/s for migrating guests",
34019 "format_description" : "LIMIT",
34020 "minimum" : "0",
34021 "optional" : 1,
34022 "type" : "number"
34023 },
34024 "move" : {
34025 "description" : "bandwidth limit in MiB/s for moving disks",
34026 "format_description" : "LIMIT",
34027 "minimum" : "0",
34028 "optional" : 1,
34029 "type" : "number"
34030 },
34031 "restore" : {
34032 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
34033 "format_description" : "LIMIT",
34034 "minimum" : "0",
34035 "optional" : 1,
34036 "type" : "number"
34037 }
34038 },
34039 "optional" : 1,
34040 "type" : "string",
34041 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
34042 },
44660702
DM
34043 "comstar_hg" : {
34044 "description" : "host group for comstar views",
34045 "optional" : 1,
013dc89f
DM
34046 "type" : "string",
34047 "typetext" : "<string>"
44660702
DM
34048 },
34049 "comstar_tg" : {
34050 "description" : "target group for comstar views",
34051 "optional" : 1,
013dc89f
DM
34052 "type" : "string",
34053 "typetext" : "<string>"
44660702
DM
34054 },
34055 "content" : {
34056 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
34057 "format" : "pve-storage-content-list",
34058 "optional" : 1,
013dc89f
DM
34059 "type" : "string",
34060 "typetext" : "<string>"
44660702
DM
34061 },
34062 "disable" : {
34063 "description" : "Flag to disable the storage.",
34064 "optional" : 1,
013dc89f
DM
34065 "type" : "boolean",
34066 "typetext" : "<boolean>"
44660702 34067 },
27a7acb2
DM
34068 "domain" : {
34069 "description" : "CIFS domain.",
34070 "maxLength" : 256,
34071 "optional" : 1,
34072 "type" : "string",
34073 "typetext" : "<string>"
34074 },
44660702
DM
34075 "export" : {
34076 "description" : "NFS export path.",
34077 "format" : "pve-storage-path",
34078 "optional" : 1,
013dc89f
DM
34079 "type" : "string",
34080 "typetext" : "<string>"
44660702
DM
34081 },
34082 "format" : {
34083 "description" : "Default image format.",
34084 "format" : "pve-storage-format",
34085 "optional" : 1,
013dc89f
DM
34086 "type" : "string",
34087 "typetext" : "<string>"
44660702 34088 },
5da3d723
TL
34089 "fuse" : {
34090 "description" : "Mount CephFS through FUSE.",
34091 "optional" : 1,
34092 "type" : "boolean",
34093 "typetext" : "<boolean>"
34094 },
2c0dde61
DM
34095 "is_mountpoint" : {
34096 "default" : "no",
2489d6df 34097 "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 34098 "optional" : 1,
2489d6df
WB
34099 "type" : "string",
34100 "typetext" : "<string>"
2c0dde61 34101 },
44660702
DM
34102 "iscsiprovider" : {
34103 "description" : "iscsi provider",
34104 "optional" : 1,
013dc89f
DM
34105 "type" : "string",
34106 "typetext" : "<string>"
44660702
DM
34107 },
34108 "krbd" : {
e2d681b3 34109 "description" : "Always access rbd through krbd kernel module.",
44660702 34110 "optional" : 1,
013dc89f
DM
34111 "type" : "boolean",
34112 "typetext" : "<boolean>"
56122987 34113 },
4d47f125
TL
34114 "lio_tpg" : {
34115 "description" : "target portal group for Linux LIO targets",
34116 "optional" : 1,
34117 "type" : "string",
34118 "typetext" : "<string>"
34119 },
44660702
DM
34120 "maxfiles" : {
34121 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
34122 "minimum" : 0,
34123 "optional" : 1,
4bd7df8b 34124 "type" : "integer",
013dc89f 34125 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
34126 },
34127 "mkdir" : {
34128 "default" : "yes",
34129 "description" : "Create the directory if it doesn't exist.",
34130 "optional" : 1,
013dc89f
DM
34131 "type" : "boolean",
34132 "typetext" : "<boolean>"
7aacca6f 34133 },
44660702 34134 "monhost" : {
2489d6df 34135 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 34136 "format" : "pve-storage-portal-dns-list",
44660702 34137 "optional" : 1,
013dc89f
DM
34138 "type" : "string",
34139 "typetext" : "<string>"
7aacca6f 34140 },
44660702
DM
34141 "nodes" : {
34142 "description" : "List of cluster node names.",
34143 "format" : "pve-node-list",
34144 "optional" : 1,
013dc89f
DM
34145 "type" : "string",
34146 "typetext" : "<string>"
7aacca6f 34147 },
44660702
DM
34148 "nowritecache" : {
34149 "description" : "disable write caching on the target",
34150 "optional" : 1,
013dc89f
DM
34151 "type" : "boolean",
34152 "typetext" : "<boolean>"
44660702
DM
34153 },
34154 "options" : {
34155 "description" : "NFS mount options (see 'man nfs')",
34156 "format" : "pve-storage-options",
34157 "optional" : 1,
013dc89f
DM
34158 "type" : "string",
34159 "typetext" : "<string>"
44660702 34160 },
27a7acb2
DM
34161 "password" : {
34162 "description" : "Password for CIFS share.",
34163 "maxLength" : 256,
34164 "optional" : 1,
34165 "type" : "string",
34166 "typetext" : "<string>"
34167 },
44660702
DM
34168 "path" : {
34169 "description" : "File system path.",
34170 "format" : "pve-storage-path",
34171 "optional" : 1,
013dc89f
DM
34172 "type" : "string",
34173 "typetext" : "<string>"
44660702
DM
34174 },
34175 "pool" : {
34176 "description" : "Pool.",
34177 "optional" : 1,
013dc89f
DM
34178 "type" : "string",
34179 "typetext" : "<string>"
44660702
DM
34180 },
34181 "portal" : {
34182 "description" : "iSCSI portal (IP or DNS name with optional port).",
34183 "format" : "pve-storage-portal-dns",
34184 "optional" : 1,
013dc89f
DM
34185 "type" : "string",
34186 "typetext" : "<string>"
44660702
DM
34187 },
34188 "redundancy" : {
34189 "default" : 2,
34190 "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.",
34191 "maximum" : 16,
34192 "minimum" : 1,
34193 "optional" : 1,
4bd7df8b 34194 "type" : "integer",
013dc89f 34195 "typetext" : "<integer> (1 - 16)"
44660702
DM
34196 },
34197 "saferemove" : {
34198 "description" : "Zero-out data when removing LVs.",
34199 "optional" : 1,
013dc89f
DM
34200 "type" : "boolean",
34201 "typetext" : "<boolean>"
44660702
DM
34202 },
34203 "saferemove_throughput" : {
34204 "description" : "Wipe throughput (cstream -t parameter value).",
34205 "optional" : 1,
013dc89f
DM
34206 "type" : "string",
34207 "typetext" : "<string>"
44660702
DM
34208 },
34209 "server" : {
34210 "description" : "Server IP or DNS name.",
34211 "format" : "pve-storage-server",
34212 "optional" : 1,
013dc89f
DM
34213 "type" : "string",
34214 "typetext" : "<string>"
44660702
DM
34215 },
34216 "server2" : {
34217 "description" : "Backup volfile server IP or DNS name.",
34218 "format" : "pve-storage-server",
34219 "optional" : 1,
34220 "requires" : "server",
013dc89f
DM
34221 "type" : "string",
34222 "typetext" : "<string>"
44660702 34223 },
27a7acb2
DM
34224 "share" : {
34225 "description" : "CIFS share.",
34226 "optional" : 1,
34227 "type" : "string",
34228 "typetext" : "<string>"
34229 },
44660702
DM
34230 "shared" : {
34231 "description" : "Mark storage as shared.",
34232 "optional" : 1,
013dc89f
DM
34233 "type" : "boolean",
34234 "typetext" : "<boolean>"
44660702 34235 },
27a7acb2 34236 "smbversion" : {
5da3d723
TL
34237 "description" : "SMB protocol version",
34238 "enum" : [
34239 "2.0",
34240 "2.1",
34241 "3.0"
34242 ],
27a7acb2 34243 "optional" : 1,
5da3d723 34244 "type" : "string"
27a7acb2 34245 },
44660702
DM
34246 "sparse" : {
34247 "description" : "use sparse volumes",
34248 "optional" : 1,
013dc89f
DM
34249 "type" : "boolean",
34250 "typetext" : "<boolean>"
44660702
DM
34251 },
34252 "storage" : {
34253 "description" : "The storage identifier.",
34254 "format" : "pve-storage-id",
013dc89f
DM
34255 "type" : "string",
34256 "typetext" : "<string>"
44660702 34257 },
5da3d723
TL
34258 "subdir" : {
34259 "description" : "Subdir to mount.",
34260 "format" : "pve-storage-path",
34261 "optional" : 1,
34262 "type" : "string",
34263 "typetext" : "<string>"
34264 },
4bd7df8b
DM
34265 "tagged_only" : {
34266 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
34267 "optional" : 1,
013dc89f
DM
34268 "type" : "boolean",
34269 "typetext" : "<boolean>"
4bd7df8b 34270 },
44660702
DM
34271 "target" : {
34272 "description" : "iSCSI target.",
34273 "optional" : 1,
013dc89f
DM
34274 "type" : "string",
34275 "typetext" : "<string>"
44660702
DM
34276 },
34277 "thinpool" : {
34278 "description" : "LVM thin pool LV name.",
34279 "format" : "pve-storage-vgname",
34280 "optional" : 1,
013dc89f
DM
34281 "type" : "string",
34282 "typetext" : "<string>"
44660702
DM
34283 },
34284 "transport" : {
34285 "description" : "Gluster transport: tcp or rdma",
34286 "enum" : [
34287 "tcp",
34288 "rdma",
34289 "unix"
7aacca6f 34290 ],
44660702
DM
34291 "optional" : 1,
34292 "type" : "string"
56122987 34293 },
44660702
DM
34294 "type" : {
34295 "description" : "Storage type.",
34296 "enum" : [
5da3d723 34297 "cephfs",
27a7acb2 34298 "cifs",
44660702
DM
34299 "dir",
34300 "drbd",
e2d681b3 34301 "fake",
44660702
DM
34302 "glusterfs",
34303 "iscsi",
34304 "iscsidirect",
34305 "lvm",
34306 "lvmthin",
34307 "nfs",
34308 "rbd",
34309 "sheepdog",
34310 "zfs",
34311 "zfspool"
34312 ],
34313 "type" : "string"
56122987 34314 },
44660702
DM
34315 "username" : {
34316 "description" : "RBD Id.",
34317 "optional" : 1,
013dc89f
DM
34318 "type" : "string",
34319 "typetext" : "<string>"
7aacca6f 34320 },
44660702
DM
34321 "vgname" : {
34322 "description" : "Volume group name.",
34323 "format" : "pve-storage-vgname",
34324 "optional" : 1,
013dc89f
DM
34325 "type" : "string",
34326 "typetext" : "<string>"
44660702
DM
34327 },
34328 "volume" : {
34329 "description" : "Glusterfs Volume.",
34330 "optional" : 1,
013dc89f
DM
34331 "type" : "string",
34332 "typetext" : "<string>"
44660702
DM
34333 }
34334 },
34335 "type" : "object"
34336 },
34337 "permissions" : {
34338 "check" : [
34339 "perm",
34340 "/storage",
34341 [
34342 "Datastore.Allocate"
34343 ]
34344 ]
56122987 34345 },
44660702
DM
34346 "protected" : 1,
34347 "returns" : {
34348 "type" : "null"
34349 }
34350 }
34351 },
34352 "leaf" : 0,
34353 "path" : "/storage",
34354 "text" : "storage"
34355 },
34356 {
34357 "children" : [
34358 {
56122987
DM
34359 "children" : [
34360 {
56122987 34361 "info" : {
44660702
DM
34362 "DELETE" : {
34363 "description" : "Delete user.",
34364 "method" : "DELETE",
34365 "name" : "delete_user",
56122987 34366 "parameters" : {
7aacca6f 34367 "additionalProperties" : 0,
56122987 34368 "properties" : {
56122987 34369 "userid" : {
56122987
DM
34370 "description" : "User ID",
34371 "format" : "pve-userid",
44660702 34372 "maxLength" : 64,
013dc89f
DM
34373 "type" : "string",
34374 "typetext" : "<string>"
56122987 34375 }
7aacca6f 34376 }
56122987 34377 },
56122987
DM
34378 "permissions" : {
34379 "check" : [
44660702 34380 "and",
56122987 34381 [
44660702
DM
34382 "userid-param",
34383 "Realm.AllocateUser"
56122987 34384 ],
44660702
DM
34385 [
34386 "userid-group",
34387 [
34388 "User.Modify"
34389 ]
34390 ]
56122987 34391 ]
7aacca6f 34392 },
44660702 34393 "protected" : 1,
56122987
DM
34394 "returns" : {
34395 "type" : "null"
44660702 34396 }
7aacca6f 34397 },
44660702
DM
34398 "GET" : {
34399 "description" : "Get user configuration.",
34400 "method" : "GET",
34401 "name" : "read_user",
56122987
DM
34402 "parameters" : {
34403 "additionalProperties" : 0,
34404 "properties" : {
34405 "userid" : {
44660702 34406 "description" : "User ID",
56122987 34407 "format" : "pve-userid",
44660702 34408 "maxLength" : 64,
013dc89f
DM
34409 "type" : "string",
34410 "typetext" : "<string>"
56122987
DM
34411 }
34412 }
34413 },
56122987
DM
34414 "permissions" : {
34415 "check" : [
44660702 34416 "userid-group",
56122987 34417 [
44660702
DM
34418 "User.Modify",
34419 "Sys.Audit"
56122987
DM
34420 ]
34421 ]
34422 },
56122987 34423 "returns" : {
7aacca6f 34424 "additionalProperties" : 0,
56122987 34425 "properties" : {
44660702
DM
34426 "comment" : {
34427 "optional" : 1,
34428 "type" : "string"
56122987 34429 },
44660702 34430 "email" : {
e2d681b3 34431 "format" : "email-opt",
44660702
DM
34432 "optional" : 1,
34433 "type" : "string"
7aacca6f
DM
34434 },
34435 "enable" : {
e2d681b3
TL
34436 "default" : 1,
34437 "description" : "Enable the account (default). You can set this to '0' to disable the account",
34438 "optional" : 1,
7aacca6f
DM
34439 "type" : "boolean"
34440 },
44660702 34441 "expire" : {
e2d681b3
TL
34442 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
34443 "minimum" : 0,
44660702
DM
34444 "optional" : 1,
34445 "type" : "integer"
34446 },
34447 "firstname" : {
56122987
DM
34448 "optional" : 1,
34449 "type" : "string"
34450 },
44660702
DM
34451 "groups" : {
34452 "type" : "array"
56122987 34453 },
44660702 34454 "keys" : {
e2d681b3 34455 "description" : "Keys for two factor auth (yubico).",
44660702
DM
34456 "optional" : 1,
34457 "type" : "string"
7aacca6f 34458 },
44660702
DM
34459 "lastname" : {
34460 "optional" : 1,
34461 "type" : "string"
56122987 34462 }
e2d681b3
TL
34463 },
34464 "type" : "object"
44660702
DM
34465 }
34466 },
34467 "PUT" : {
34468 "description" : "Update user configuration.",
34469 "method" : "PUT",
34470 "name" : "update_user",
56122987 34471 "parameters" : {
44660702 34472 "additionalProperties" : 0,
56122987 34473 "properties" : {
44660702
DM
34474 "append" : {
34475 "optional" : 1,
34476 "requires" : "groups",
013dc89f
DM
34477 "type" : "boolean",
34478 "typetext" : "<boolean>"
44660702
DM
34479 },
34480 "comment" : {
34481 "optional" : 1,
013dc89f
DM
34482 "type" : "string",
34483 "typetext" : "<string>"
44660702
DM
34484 },
34485 "email" : {
34486 "format" : "email-opt",
34487 "optional" : 1,
013dc89f
DM
34488 "type" : "string",
34489 "typetext" : "<string>"
44660702
DM
34490 },
34491 "enable" : {
e2d681b3
TL
34492 "default" : 1,
34493 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 34494 "optional" : 1,
013dc89f
DM
34495 "type" : "boolean",
34496 "typetext" : "<boolean>"
44660702
DM
34497 },
34498 "expire" : {
34499 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
34500 "minimum" : 0,
34501 "optional" : 1,
4bd7df8b 34502 "type" : "integer",
013dc89f 34503 "typetext" : "<integer> (0 - N)"
44660702
DM
34504 },
34505 "firstname" : {
34506 "optional" : 1,
013dc89f
DM
34507 "type" : "string",
34508 "typetext" : "<string>"
44660702
DM
34509 },
34510 "groups" : {
34511 "format" : "pve-groupid-list",
34512 "optional" : 1,
013dc89f
DM
34513 "type" : "string",
34514 "typetext" : "<string>"
44660702
DM
34515 },
34516 "keys" : {
34517 "description" : "Keys for two factor auth (yubico).",
34518 "optional" : 1,
013dc89f
DM
34519 "type" : "string",
34520 "typetext" : "<string>"
44660702
DM
34521 },
34522 "lastname" : {
34523 "optional" : 1,
013dc89f
DM
34524 "type" : "string",
34525 "typetext" : "<string>"
44660702 34526 },
56122987 34527 "userid" : {
56122987
DM
34528 "description" : "User ID",
34529 "format" : "pve-userid",
44660702 34530 "maxLength" : 64,
013dc89f
DM
34531 "type" : "string",
34532 "typetext" : "<string>"
56122987 34533 }
44660702 34534 }
56122987 34535 },
56122987
DM
34536 "permissions" : {
34537 "check" : [
34538 "userid-group",
34539 [
44660702
DM
34540 "User.Modify"
34541 ],
34542 "groups_param",
34543 1
56122987
DM
34544 ]
34545 },
44660702
DM
34546 "protected" : 1,
34547 "returns" : {
34548 "type" : "null"
34549 }
56122987
DM
34550 }
34551 },
44660702
DM
34552 "leaf" : 1,
34553 "path" : "/access/users/{userid}",
7aacca6f 34554 "text" : "{userid}"
56122987 34555 }
7aacca6f 34556 ],
56122987 34557 "info" : {
7aacca6f 34558 "GET" : {
44660702
DM
34559 "description" : "User index.",
34560 "method" : "GET",
7aacca6f 34561 "name" : "index",
56122987 34562 "parameters" : {
44660702
DM
34563 "additionalProperties" : 0,
34564 "properties" : {
34565 "enabled" : {
34566 "description" : "Optional filter for enable property.",
34567 "optional" : 1,
013dc89f
DM
34568 "type" : "boolean",
34569 "typetext" : "<boolean>"
44660702
DM
34570 }
34571 }
34572 },
34573 "permissions" : {
34574 "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.",
34575 "user" : "all"
56122987 34576 },
7aacca6f 34577 "returns" : {
7aacca6f
DM
34578 "items" : {
34579 "properties" : {
e2d681b3
TL
34580 "comment" : {
34581 "optional" : 1,
34582 "type" : "string"
34583 },
34584 "email" : {
34585 "format" : "email-opt",
34586 "optional" : 1,
34587 "type" : "string"
34588 },
34589 "enable" : {
34590 "default" : 1,
34591 "description" : "Enable the account (default). You can set this to '0' to disable the account",
34592 "optional" : 1,
34593 "type" : "boolean"
34594 },
34595 "expire" : {
34596 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
34597 "minimum" : 0,
34598 "optional" : 1,
34599 "type" : "integer"
34600 },
34601 "firstname" : {
34602 "optional" : 1,
34603 "type" : "string"
34604 },
34605 "keys" : {
34606 "description" : "Keys for two factor auth (yubico).",
34607 "optional" : 1,
34608 "type" : "string"
34609 },
34610 "lastname" : {
34611 "optional" : 1,
34612 "type" : "string"
34613 },
44660702 34614 "userid" : {
e2d681b3
TL
34615 "description" : "User ID",
34616 "format" : "pve-userid",
34617 "maxLength" : 64,
7aacca6f
DM
34618 "type" : "string"
34619 }
34620 },
34621 "type" : "object"
34622 },
44660702
DM
34623 "links" : [
34624 {
34625 "href" : "{userid}",
34626 "rel" : "child"
34627 }
34628 ],
7aacca6f
DM
34629 "type" : "array"
34630 }
34631 },
34632 "POST" : {
44660702 34633 "description" : "Create new user.",
7aacca6f 34634 "method" : "POST",
44660702 34635 "name" : "create_user",
56122987 34636 "parameters" : {
7aacca6f
DM
34637 "additionalProperties" : 0,
34638 "properties" : {
44660702
DM
34639 "comment" : {
34640 "optional" : 1,
013dc89f
DM
34641 "type" : "string",
34642 "typetext" : "<string>"
7aacca6f 34643 },
44660702
DM
34644 "email" : {
34645 "format" : "email-opt",
34646 "optional" : 1,
013dc89f
DM
34647 "type" : "string",
34648 "typetext" : "<string>"
44660702
DM
34649 },
34650 "enable" : {
34651 "default" : 1,
e2d681b3 34652 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 34653 "optional" : 1,
013dc89f
DM
34654 "type" : "boolean",
34655 "typetext" : "<boolean>"
44660702
DM
34656 },
34657 "expire" : {
34658 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
34659 "minimum" : 0,
34660 "optional" : 1,
4bd7df8b 34661 "type" : "integer",
013dc89f 34662 "typetext" : "<integer> (0 - N)"
44660702
DM
34663 },
34664 "firstname" : {
34665 "optional" : 1,
013dc89f
DM
34666 "type" : "string",
34667 "typetext" : "<string>"
44660702
DM
34668 },
34669 "groups" : {
34670 "format" : "pve-groupid-list",
34671 "optional" : 1,
013dc89f
DM
34672 "type" : "string",
34673 "typetext" : "<string>"
44660702
DM
34674 },
34675 "keys" : {
34676 "description" : "Keys for two factor auth (yubico).",
34677 "optional" : 1,
013dc89f
DM
34678 "type" : "string",
34679 "typetext" : "<string>"
44660702
DM
34680 },
34681 "lastname" : {
7aacca6f 34682 "optional" : 1,
013dc89f
DM
34683 "type" : "string",
34684 "typetext" : "<string>"
44660702
DM
34685 },
34686 "password" : {
34687 "description" : "Initial password.",
34688 "maxLength" : 64,
34689 "minLength" : 5,
34690 "optional" : 1,
013dc89f
DM
34691 "type" : "string",
34692 "typetext" : "<string>"
44660702
DM
34693 },
34694 "userid" : {
34695 "description" : "User ID",
34696 "format" : "pve-userid",
34697 "maxLength" : 64,
013dc89f
DM
34698 "type" : "string",
34699 "typetext" : "<string>"
56122987 34700 }
7aacca6f 34701 }
56122987 34702 },
44660702
DM
34703 "permissions" : {
34704 "check" : [
34705 "and",
34706 [
34707 "userid-param",
34708 "Realm.AllocateUser"
34709 ],
34710 [
34711 "userid-group",
34712 [
34713 "User.Modify"
34714 ],
34715 "groups_param",
34716 1
34717 ]
34718 ],
34719 "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."
34720 },
34721 "protected" : 1,
34722 "returns" : {
34723 "type" : "null"
34724 }
56122987
DM
34725 }
34726 },
44660702
DM
34727 "leaf" : 0,
34728 "path" : "/access/users",
34729 "text" : "users"
34730 },
34731 {
56122987
DM
34732 "children" : [
34733 {
56122987
DM
34734 "info" : {
34735 "DELETE" : {
44660702
DM
34736 "description" : "Delete group.",
34737 "method" : "DELETE",
34738 "name" : "delete_group",
34739 "parameters" : {
34740 "additionalProperties" : 0,
34741 "properties" : {
34742 "groupid" : {
34743 "format" : "pve-groupid",
013dc89f
DM
34744 "type" : "string",
34745 "typetext" : "<string>"
44660702
DM
34746 }
34747 }
34748 },
7aacca6f
DM
34749 "permissions" : {
34750 "check" : [
34751 "perm",
34752 "/access/groups",
34753 [
34754 "Group.Allocate"
34755 ]
34756 ]
34757 },
7aacca6f 34758 "protected" : 1,
7aacca6f
DM
34759 "returns" : {
34760 "type" : "null"
44660702 34761 }
7aacca6f 34762 },
44660702
DM
34763 "GET" : {
34764 "description" : "Get group configuration.",
34765 "method" : "GET",
34766 "name" : "read_group",
34767 "parameters" : {
34768 "additionalProperties" : 0,
34769 "properties" : {
34770 "groupid" : {
34771 "format" : "pve-groupid",
013dc89f
DM
34772 "type" : "string",
34773 "typetext" : "<string>"
44660702
DM
34774 }
34775 }
56122987 34776 },
7aacca6f
DM
34777 "permissions" : {
34778 "check" : [
34779 "perm",
34780 "/access/groups",
34781 [
44660702 34782 "Sys.Audit",
7aacca6f 34783 "Group.Allocate"
44660702
DM
34784 ],
34785 "any",
34786 1
7aacca6f
DM
34787 ]
34788 },
7aacca6f 34789 "returns" : {
44660702 34790 "additionalProperties" : 0,
7aacca6f
DM
34791 "properties" : {
34792 "comment" : {
44660702
DM
34793 "optional" : 1,
34794 "type" : "string"
7aacca6f
DM
34795 },
34796 "members" : {
34797 "items" : {
e2d681b3
TL
34798 "description" : "User ID",
34799 "format" : "pve-userid",
34800 "maxLength" : 64,
7aacca6f
DM
34801 "type" : "string"
34802 },
34803 "type" : "array"
34804 }
34805 },
44660702
DM
34806 "type" : "object"
34807 }
34808 },
34809 "PUT" : {
34810 "description" : "Update group data.",
34811 "method" : "PUT",
34812 "name" : "update_group",
56122987 34813 "parameters" : {
44660702 34814 "additionalProperties" : 0,
56122987 34815 "properties" : {
44660702
DM
34816 "comment" : {
34817 "optional" : 1,
013dc89f
DM
34818 "type" : "string",
34819 "typetext" : "<string>"
44660702 34820 },
56122987
DM
34821 "groupid" : {
34822 "format" : "pve-groupid",
013dc89f
DM
34823 "type" : "string",
34824 "typetext" : "<string>"
56122987 34825 }
44660702 34826 }
56122987 34827 },
56122987
DM
34828 "permissions" : {
34829 "check" : [
34830 "perm",
34831 "/access/groups",
34832 [
34833 "Group.Allocate"
44660702 34834 ]
56122987
DM
34835 ]
34836 },
44660702
DM
34837 "protected" : 1,
34838 "returns" : {
34839 "type" : "null"
34840 }
7aacca6f
DM
34841 }
34842 },
7aacca6f 34843 "leaf" : 1,
44660702
DM
34844 "path" : "/access/groups/{groupid}",
34845 "text" : "{groupid}"
34846 }
34847 ],
34848 "info" : {
34849 "GET" : {
34850 "description" : "Group index.",
34851 "method" : "GET",
34852 "name" : "index",
34853 "parameters" : {
34854 "additionalProperties" : 0
34855 },
34856 "permissions" : {
34857 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
34858 "user" : "all"
34859 },
34860 "returns" : {
34861 "items" : {
34862 "properties" : {
e2d681b3
TL
34863 "comment" : {
34864 "optional" : 1,
34865 "type" : "string"
34866 },
44660702 34867 "groupid" : {
e2d681b3 34868 "format" : "pve-groupid",
44660702
DM
34869 "type" : "string"
34870 }
34871 },
34872 "type" : "object"
34873 },
34874 "links" : [
34875 {
34876 "href" : "{groupid}",
34877 "rel" : "child"
34878 }
34879 ],
34880 "type" : "array"
34881 }
34882 },
34883 "POST" : {
34884 "description" : "Create new group.",
34885 "method" : "POST",
34886 "name" : "create_group",
34887 "parameters" : {
34888 "additionalProperties" : 0,
34889 "properties" : {
34890 "comment" : {
34891 "optional" : 1,
013dc89f
DM
34892 "type" : "string",
34893 "typetext" : "<string>"
44660702
DM
34894 },
34895 "groupid" : {
34896 "format" : "pve-groupid",
013dc89f
DM
34897 "type" : "string",
34898 "typetext" : "<string>"
44660702
DM
34899 }
34900 }
34901 },
34902 "permissions" : {
34903 "check" : [
34904 "perm",
34905 "/access/groups",
34906 [
34907 "Group.Allocate"
34908 ]
34909 ]
34910 },
34911 "protected" : 1,
34912 "returns" : {
34913 "type" : "null"
34914 }
7aacca6f 34915 }
44660702 34916 },
7aacca6f 34917 "leaf" : 0,
44660702
DM
34918 "path" : "/access/groups",
34919 "text" : "groups"
7aacca6f
DM
34920 },
34921 {
34922 "children" : [
34923 {
7aacca6f 34924 "info" : {
7aacca6f 34925 "DELETE" : {
7aacca6f 34926 "description" : "Delete role.",
44660702 34927 "method" : "DELETE",
7aacca6f 34928 "name" : "delete_role",
56122987
DM
34929 "parameters" : {
34930 "additionalProperties" : 0,
34931 "properties" : {
7aacca6f
DM
34932 "roleid" : {
34933 "format" : "pve-roleid",
013dc89f
DM
34934 "type" : "string",
34935 "typetext" : "<string>"
56122987
DM
34936 }
34937 }
34938 },
56122987
DM
34939 "permissions" : {
34940 "check" : [
34941 "perm",
7aacca6f 34942 "/access",
56122987 34943 [
7aacca6f
DM
34944 "Sys.Modify"
34945 ]
56122987 34946 ]
44660702
DM
34947 },
34948 "protected" : 1,
34949 "returns" : {
34950 "type" : "null"
56122987
DM
34951 }
34952 },
44660702
DM
34953 "GET" : {
34954 "description" : "Get role configuration.",
34955 "method" : "GET",
34956 "name" : "read_role",
34957 "parameters" : {
34958 "additionalProperties" : 0,
34959 "properties" : {
34960 "roleid" : {
34961 "format" : "pve-roleid",
013dc89f
DM
34962 "type" : "string",
34963 "typetext" : "<string>"
44660702
DM
34964 }
34965 }
34966 },
7aacca6f 34967 "permissions" : {
44660702 34968 "user" : "all"
56122987 34969 },
e2d681b3
TL
34970 "returns" : {
34971 "additionalProperties" : 0,
34972 "properties" : {
34973 "Datastore.Allocate" : {
34974 "optional" : 1,
34975 "type" : "boolean"
34976 },
34977 "Datastore.AllocateSpace" : {
34978 "optional" : 1,
34979 "type" : "boolean"
34980 },
34981 "Datastore.AllocateTemplate" : {
34982 "optional" : 1,
34983 "type" : "boolean"
34984 },
34985 "Datastore.Audit" : {
34986 "optional" : 1,
34987 "type" : "boolean"
34988 },
34989 "Group.Allocate" : {
34990 "optional" : 1,
34991 "type" : "boolean"
34992 },
34993 "Permissions.Modify" : {
34994 "optional" : 1,
34995 "type" : "boolean"
34996 },
34997 "Pool.Allocate" : {
34998 "optional" : 1,
34999 "type" : "boolean"
35000 },
35001 "Realm.Allocate" : {
35002 "optional" : 1,
35003 "type" : "boolean"
35004 },
35005 "Realm.AllocateUser" : {
35006 "optional" : 1,
35007 "type" : "boolean"
35008 },
35009 "Sys.Audit" : {
35010 "optional" : 1,
35011 "type" : "boolean"
35012 },
35013 "Sys.Console" : {
35014 "optional" : 1,
35015 "type" : "boolean"
35016 },
35017 "Sys.Modify" : {
35018 "optional" : 1,
35019 "type" : "boolean"
35020 },
35021 "Sys.PowerMgmt" : {
35022 "optional" : 1,
35023 "type" : "boolean"
35024 },
35025 "Sys.Syslog" : {
35026 "optional" : 1,
35027 "type" : "boolean"
35028 },
35029 "User.Modify" : {
35030 "optional" : 1,
35031 "type" : "boolean"
35032 },
35033 "VM.Allocate" : {
35034 "optional" : 1,
35035 "type" : "boolean"
35036 },
35037 "VM.Audit" : {
35038 "optional" : 1,
35039 "type" : "boolean"
35040 },
35041 "VM.Backup" : {
35042 "optional" : 1,
35043 "type" : "boolean"
35044 },
35045 "VM.Clone" : {
35046 "optional" : 1,
35047 "type" : "boolean"
35048 },
35049 "VM.Config.CDROM" : {
35050 "optional" : 1,
35051 "type" : "boolean"
35052 },
35053 "VM.Config.CPU" : {
35054 "optional" : 1,
35055 "type" : "boolean"
35056 },
35057 "VM.Config.Disk" : {
35058 "optional" : 1,
35059 "type" : "boolean"
35060 },
35061 "VM.Config.HWType" : {
35062 "optional" : 1,
35063 "type" : "boolean"
35064 },
35065 "VM.Config.Memory" : {
35066 "optional" : 1,
35067 "type" : "boolean"
35068 },
35069 "VM.Config.Network" : {
35070 "optional" : 1,
35071 "type" : "boolean"
35072 },
35073 "VM.Config.Options" : {
35074 "optional" : 1,
35075 "type" : "boolean"
35076 },
35077 "VM.Console" : {
35078 "optional" : 1,
35079 "type" : "boolean"
35080 },
35081 "VM.Migrate" : {
35082 "optional" : 1,
35083 "type" : "boolean"
35084 },
35085 "VM.Monitor" : {
35086 "optional" : 1,
35087 "type" : "boolean"
35088 },
35089 "VM.PowerMgmt" : {
35090 "optional" : 1,
35091 "type" : "boolean"
35092 },
35093 "VM.Snapshot" : {
35094 "optional" : 1,
35095 "type" : "boolean"
35096 },
35097 "VM.Snapshot.Rollback" : {
35098 "optional" : 1,
35099 "type" : "boolean"
35100 }
35101 },
35102 "type" : "object"
35103 }
44660702
DM
35104 },
35105 "PUT" : {
e2d681b3 35106 "description" : "Update an existing role.",
44660702
DM
35107 "method" : "PUT",
35108 "name" : "update_role",
56122987
DM
35109 "parameters" : {
35110 "additionalProperties" : 0,
35111 "properties" : {
7aacca6f 35112 "append" : {
44660702 35113 "optional" : 1,
7aacca6f 35114 "requires" : "privs",
013dc89f
DM
35115 "type" : "boolean",
35116 "typetext" : "<boolean>"
7aacca6f
DM
35117 },
35118 "privs" : {
35119 "format" : "pve-priv-list",
e2d681b3 35120 "optional" : 1,
013dc89f
DM
35121 "type" : "string",
35122 "typetext" : "<string>"
44660702
DM
35123 },
35124 "roleid" : {
35125 "format" : "pve-roleid",
013dc89f
DM
35126 "type" : "string",
35127 "typetext" : "<string>"
56122987
DM
35128 }
35129 }
35130 },
44660702
DM
35131 "permissions" : {
35132 "check" : [
35133 "perm",
35134 "/access",
35135 [
35136 "Sys.Modify"
35137 ]
35138 ]
35139 },
56122987 35140 "protected" : 1,
7aacca6f
DM
35141 "returns" : {
35142 "type" : "null"
56122987
DM
35143 }
35144 }
35145 },
44660702 35146 "leaf" : 1,
7aacca6f 35147 "path" : "/access/roles/{roleid}",
44660702 35148 "text" : "{roleid}"
56122987
DM
35149 }
35150 ],
56122987 35151 "info" : {
7aacca6f
DM
35152 "GET" : {
35153 "description" : "Role index.",
44660702 35154 "method" : "GET",
7aacca6f 35155 "name" : "index",
56122987 35156 "parameters" : {
56122987
DM
35157 "additionalProperties" : 0
35158 },
7aacca6f
DM
35159 "permissions" : {
35160 "user" : "all"
35161 },
56122987 35162 "returns" : {
7aacca6f 35163 "items" : {
7aacca6f 35164 "properties" : {
e2d681b3
TL
35165 "privs" : {
35166 "format" : "pve-priv-list",
35167 "optional" : 1,
35168 "type" : "string"
35169 },
7aacca6f 35170 "roleid" : {
e2d681b3 35171 "format" : "pve-roleid",
7aacca6f 35172 "type" : "string"
e2d681b3
TL
35173 },
35174 "special" : {
35175 "default" : 0,
35176 "optional" : 1,
35177 "type" : "boolean"
7aacca6f 35178 }
44660702
DM
35179 },
35180 "type" : "object"
35181 },
35182 "links" : [
35183 {
35184 "href" : "{roleid}",
35185 "rel" : "child"
7aacca6f 35186 }
44660702
DM
35187 ],
35188 "type" : "array"
35189 }
7aacca6f
DM
35190 },
35191 "POST" : {
35192 "description" : "Create new role.",
44660702
DM
35193 "method" : "POST",
35194 "name" : "create_role",
7aacca6f
DM
35195 "parameters" : {
35196 "additionalProperties" : 0,
35197 "properties" : {
7aacca6f
DM
35198 "privs" : {
35199 "format" : "pve-priv-list",
35200 "optional" : 1,
013dc89f
DM
35201 "type" : "string",
35202 "typetext" : "<string>"
44660702
DM
35203 },
35204 "roleid" : {
35205 "format" : "pve-roleid",
013dc89f
DM
35206 "type" : "string",
35207 "typetext" : "<string>"
7aacca6f
DM
35208 }
35209 }
35210 },
44660702
DM
35211 "permissions" : {
35212 "check" : [
35213 "perm",
35214 "/access",
35215 [
35216 "Sys.Modify"
35217 ]
35218 ]
35219 },
35220 "protected" : 1,
7aacca6f
DM
35221 "returns" : {
35222 "type" : "null"
35223 }
35224 }
35225 },
44660702 35226 "leaf" : 0,
7aacca6f 35227 "path" : "/access/roles",
44660702 35228 "text" : "roles"
7aacca6f
DM
35229 },
35230 {
35231 "info" : {
56122987 35232 "GET" : {
44660702
DM
35233 "description" : "Get Access Control List (ACLs).",
35234 "method" : "GET",
35235 "name" : "read_acl",
7aacca6f
DM
35236 "parameters" : {
35237 "additionalProperties" : 0
35238 },
44660702
DM
35239 "permissions" : {
35240 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
35241 "user" : "all"
35242 },
56122987 35243 "returns" : {
56122987 35244 "items" : {
44660702 35245 "additionalProperties" : 0,
56122987 35246 "properties" : {
7aacca6f 35247 "path" : {
e2d681b3 35248 "description" : "Access control path",
7aacca6f
DM
35249 "type" : "string"
35250 },
44660702 35251 "propagate" : {
e2d681b3
TL
35252 "default" : 1,
35253 "description" : "Allow to propagate (inherit) permissions.",
35254 "optional" : 1,
44660702
DM
35255 "type" : "boolean"
35256 },
35257 "roleid" : {
35258 "type" : "string"
35259 },
7aacca6f
DM
35260 "type" : {
35261 "enum" : [
35262 "user",
35263 "group"
35264 ],
35265 "type" : "string"
35266 },
7aacca6f
DM
35267 "ugid" : {
35268 "type" : "string"
56122987 35269 }
7aacca6f 35270 },
44660702 35271 "type" : "object"
7aacca6f
DM
35272 },
35273 "type" : "array"
44660702 35274 }
7aacca6f
DM
35275 },
35276 "PUT" : {
44660702
DM
35277 "description" : "Update Access Control List (add or remove permissions).",
35278 "method" : "PUT",
7aacca6f
DM
35279 "name" : "update_acl",
35280 "parameters" : {
35281 "additionalProperties" : 0,
35282 "properties" : {
35283 "delete" : {
44660702 35284 "description" : "Remove permissions (instead of adding it).",
7aacca6f 35285 "optional" : 1,
013dc89f
DM
35286 "type" : "boolean",
35287 "typetext" : "<boolean>"
7aacca6f 35288 },
44660702
DM
35289 "groups" : {
35290 "description" : "List of groups.",
35291 "format" : "pve-groupid-list",
7aacca6f 35292 "optional" : 1,
013dc89f
DM
35293 "type" : "string",
35294 "typetext" : "<string>"
7aacca6f
DM
35295 },
35296 "path" : {
35297 "description" : "Access control path",
013dc89f
DM
35298 "type" : "string",
35299 "typetext" : "<string>"
7aacca6f 35300 },
7aacca6f 35301 "propagate" : {
44660702 35302 "default" : 1,
7aacca6f 35303 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 35304 "optional" : 1,
013dc89f
DM
35305 "type" : "boolean",
35306 "typetext" : "<boolean>"
7aacca6f 35307 },
44660702
DM
35308 "roles" : {
35309 "description" : "List of roles.",
35310 "format" : "pve-roleid-list",
013dc89f
DM
35311 "type" : "string",
35312 "typetext" : "<string>"
44660702
DM
35313 },
35314 "users" : {
35315 "description" : "List of users.",
35316 "format" : "pve-userid-list",
7aacca6f 35317 "optional" : 1,
013dc89f
DM
35318 "type" : "string",
35319 "typetext" : "<string>"
56122987
DM
35320 }
35321 }
35322 },
56122987 35323 "permissions" : {
7aacca6f
DM
35324 "check" : [
35325 "perm-modify",
35326 "{path}"
35327 ]
35328 },
7aacca6f
DM
35329 "protected" : 1,
35330 "returns" : {
35331 "type" : "null"
44660702 35332 }
56122987
DM
35333 }
35334 },
7aacca6f 35335 "leaf" : 1,
44660702
DM
35336 "path" : "/access/acl",
35337 "text" : "acl"
7aacca6f
DM
35338 },
35339 {
56122987
DM
35340 "children" : [
35341 {
56122987 35342 "info" : {
44660702
DM
35343 "DELETE" : {
35344 "description" : "Delete an authentication server.",
35345 "method" : "DELETE",
35346 "name" : "delete",
35347 "parameters" : {
35348 "additionalProperties" : 0,
35349 "properties" : {
35350 "realm" : {
35351 "description" : "Authentication domain ID",
35352 "format" : "pve-realm",
35353 "maxLength" : 32,
013dc89f
DM
35354 "type" : "string",
35355 "typetext" : "<string>"
56122987 35356 }
44660702 35357 }
56122987 35358 },
56122987
DM
35359 "permissions" : {
35360 "check" : [
35361 "perm",
7aacca6f 35362 "/access/realm",
56122987 35363 [
7aacca6f 35364 "Realm.Allocate"
56122987
DM
35365 ]
35366 ]
35367 },
7aacca6f 35368 "protected" : 1,
7aacca6f
DM
35369 "returns" : {
35370 "type" : "null"
44660702 35371 }
7aacca6f 35372 },
44660702
DM
35373 "GET" : {
35374 "description" : "Get auth server configuration.",
35375 "method" : "GET",
35376 "name" : "read",
56122987 35377 "parameters" : {
44660702 35378 "additionalProperties" : 0,
56122987 35379 "properties" : {
7aacca6f 35380 "realm" : {
44660702 35381 "description" : "Authentication domain ID",
7aacca6f
DM
35382 "format" : "pve-realm",
35383 "maxLength" : 32,
013dc89f
DM
35384 "type" : "string",
35385 "typetext" : "<string>"
56122987 35386 }
44660702 35387 }
7aacca6f 35388 },
7aacca6f
DM
35389 "permissions" : {
35390 "check" : [
35391 "perm",
35392 "/access/realm",
35393 [
44660702
DM
35394 "Realm.Allocate",
35395 "Sys.Audit"
35396 ],
35397 "any",
35398 1
7aacca6f 35399 ]
44660702
DM
35400 },
35401 "returns" : {}
7aacca6f 35402 },
44660702
DM
35403 "PUT" : {
35404 "description" : "Update authentication server settings.",
35405 "method" : "PUT",
35406 "name" : "update",
7aacca6f 35407 "parameters" : {
44660702 35408 "additionalProperties" : 0,
7aacca6f 35409 "properties" : {
44660702
DM
35410 "base_dn" : {
35411 "description" : "LDAP base domain name",
35412 "maxLength" : 256,
35413 "optional" : 1,
35414 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
35415 "type" : "string"
35416 },
4bd7df8b
DM
35417 "bind_dn" : {
35418 "description" : "LDAP bind domain name",
35419 "maxLength" : 256,
35420 "optional" : 1,
35421 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
35422 "type" : "string"
35423 },
2489d6df
WB
35424 "capath" : {
35425 "default" : "/etc/ssl/certs",
35426 "description" : "Path to the CA certificate store",
35427 "optional" : 1,
35428 "type" : "string",
35429 "typetext" : "<string>"
35430 },
35431 "cert" : {
35432 "description" : "Path to the client certificate",
35433 "optional" : 1,
35434 "type" : "string",
35435 "typetext" : "<string>"
35436 },
35437 "certkey" : {
35438 "description" : "Path to the client certificate key",
35439 "optional" : 1,
35440 "type" : "string",
35441 "typetext" : "<string>"
35442 },
44660702
DM
35443 "comment" : {
35444 "description" : "Description.",
35445 "maxLength" : 4096,
35446 "optional" : 1,
013dc89f
DM
35447 "type" : "string",
35448 "typetext" : "<string>"
44660702
DM
35449 },
35450 "default" : {
35451 "description" : "Use this as default realm",
35452 "optional" : 1,
013dc89f
DM
35453 "type" : "boolean",
35454 "typetext" : "<boolean>"
44660702
DM
35455 },
35456 "delete" : {
35457 "description" : "A list of settings you want to delete.",
35458 "format" : "pve-configid-list",
35459 "maxLength" : 4096,
35460 "optional" : 1,
013dc89f
DM
35461 "type" : "string",
35462 "typetext" : "<string>"
44660702
DM
35463 },
35464 "digest" : {
35465 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
35466 "maxLength" : 40,
35467 "optional" : 1,
013dc89f
DM
35468 "type" : "string",
35469 "typetext" : "<string>"
44660702
DM
35470 },
35471 "domain" : {
35472 "description" : "AD domain name",
35473 "maxLength" : 256,
35474 "optional" : 1,
35475 "pattern" : "\\S+",
35476 "type" : "string"
35477 },
35478 "port" : {
35479 "description" : "Server port.",
35480 "maximum" : 65535,
35481 "minimum" : 1,
35482 "optional" : 1,
4bd7df8b 35483 "type" : "integer",
013dc89f 35484 "typetext" : "<integer> (1 - 65535)"
44660702 35485 },
7aacca6f 35486 "realm" : {
7aacca6f
DM
35487 "description" : "Authentication domain ID",
35488 "format" : "pve-realm",
44660702 35489 "maxLength" : 32,
013dc89f
DM
35490 "type" : "string",
35491 "typetext" : "<string>"
44660702
DM
35492 },
35493 "secure" : {
35494 "description" : "Use secure LDAPS protocol.",
35495 "optional" : 1,
013dc89f
DM
35496 "type" : "boolean",
35497 "typetext" : "<boolean>"
44660702
DM
35498 },
35499 "server1" : {
35500 "description" : "Server IP address (or DNS name)",
35501 "format" : "address",
35502 "maxLength" : 256,
35503 "optional" : 1,
013dc89f
DM
35504 "type" : "string",
35505 "typetext" : "<string>"
44660702
DM
35506 },
35507 "server2" : {
35508 "description" : "Fallback Server IP address (or DNS name)",
35509 "format" : "address",
35510 "maxLength" : 256,
35511 "optional" : 1,
013dc89f
DM
35512 "type" : "string",
35513 "typetext" : "<string>"
44660702
DM
35514 },
35515 "tfa" : {
35516 "description" : "Use Two-factor authentication.",
35517 "format" : "pve-tfa-config",
35518 "maxLength" : 128,
35519 "optional" : 1,
013dc89f
DM
35520 "type" : "string",
35521 "typetext" : "<string>"
44660702
DM
35522 },
35523 "user_attr" : {
35524 "description" : "LDAP user attribute name",
35525 "maxLength" : 256,
35526 "optional" : 1,
35527 "pattern" : "\\S{2,}",
35528 "type" : "string"
2489d6df
WB
35529 },
35530 "verify" : {
35531 "default" : 0,
35532 "description" : "Verify the server's SSL certificate",
35533 "optional" : 1,
35534 "type" : "boolean",
35535 "typetext" : "<boolean>"
7aacca6f 35536 }
56122987 35537 },
44660702 35538 "type" : "object"
56122987 35539 },
7aacca6f
DM
35540 "permissions" : {
35541 "check" : [
35542 "perm",
35543 "/access/realm",
35544 [
44660702
DM
35545 "Realm.Allocate"
35546 ]
7aacca6f
DM
35547 ]
35548 },
44660702
DM
35549 "protected" : 1,
35550 "returns" : {
35551 "type" : "null"
35552 }
56122987 35553 }
44660702
DM
35554 },
35555 "leaf" : 1,
35556 "path" : "/access/domains/{realm}",
35557 "text" : "{realm}"
56122987 35558 }
7aacca6f 35559 ],
56122987
DM
35560 "info" : {
35561 "GET" : {
44660702
DM
35562 "description" : "Authentication domain index.",
35563 "method" : "GET",
35564 "name" : "index",
35565 "parameters" : {
35566 "additionalProperties" : 0
35567 },
35568 "permissions" : {
35569 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
35570 "user" : "world"
35571 },
56122987 35572 "returns" : {
56122987
DM
35573 "items" : {
35574 "properties" : {
7aacca6f 35575 "comment" : {
52e44c50 35576 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
35577 "optional" : 1,
35578 "type" : "string"
35579 },
56122987
DM
35580 "realm" : {
35581 "type" : "string"
35582 },
35583 "tfa" : {
7aacca6f 35584 "description" : "Two-factor authentication provider.",
56122987
DM
35585 "enum" : [
35586 "yubico",
35587 "oath"
35588 ],
44660702
DM
35589 "optional" : 1,
35590 "type" : "string"
56122987
DM
35591 }
35592 },
35593 "type" : "object"
44660702
DM
35594 },
35595 "links" : [
35596 {
35597 "href" : "{realm}",
35598 "rel" : "child"
35599 }
35600 ],
35601 "type" : "array"
35602 }
56122987
DM
35603 },
35604 "POST" : {
7aacca6f 35605 "description" : "Add an authentication server.",
44660702 35606 "method" : "POST",
7aacca6f 35607 "name" : "create",
56122987 35608 "parameters" : {
44660702 35609 "additionalProperties" : 0,
56122987 35610 "properties" : {
44660702
DM
35611 "base_dn" : {
35612 "description" : "LDAP base domain name",
56122987 35613 "maxLength" : 256,
44660702
DM
35614 "optional" : 1,
35615 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 35616 "type" : "string"
56122987 35617 },
4bd7df8b
DM
35618 "bind_dn" : {
35619 "description" : "LDAP bind domain name",
35620 "maxLength" : 256,
35621 "optional" : 1,
35622 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
35623 "type" : "string"
35624 },
2489d6df
WB
35625 "capath" : {
35626 "default" : "/etc/ssl/certs",
35627 "description" : "Path to the CA certificate store",
35628 "optional" : 1,
35629 "type" : "string",
35630 "typetext" : "<string>"
35631 },
35632 "cert" : {
35633 "description" : "Path to the client certificate",
35634 "optional" : 1,
35635 "type" : "string",
35636 "typetext" : "<string>"
35637 },
35638 "certkey" : {
35639 "description" : "Path to the client certificate key",
35640 "optional" : 1,
35641 "type" : "string",
35642 "typetext" : "<string>"
35643 },
44660702
DM
35644 "comment" : {
35645 "description" : "Description.",
35646 "maxLength" : 4096,
56122987 35647 "optional" : 1,
013dc89f
DM
35648 "type" : "string",
35649 "typetext" : "<string>"
56122987 35650 },
44660702
DM
35651 "default" : {
35652 "description" : "Use this as default realm",
7aacca6f 35653 "optional" : 1,
013dc89f
DM
35654 "type" : "boolean",
35655 "typetext" : "<boolean>"
56122987 35656 },
44660702
DM
35657 "domain" : {
35658 "description" : "AD domain name",
35659 "maxLength" : 256,
7aacca6f 35660 "optional" : 1,
44660702
DM
35661 "pattern" : "\\S+",
35662 "type" : "string"
56122987 35663 },
7aacca6f 35664 "port" : {
44660702 35665 "description" : "Server port.",
7aacca6f 35666 "maximum" : 65535,
44660702 35667 "minimum" : 1,
7aacca6f 35668 "optional" : 1,
4bd7df8b 35669 "type" : "integer",
013dc89f 35670 "typetext" : "<integer> (1 - 65535)"
56122987 35671 },
44660702
DM
35672 "realm" : {
35673 "description" : "Authentication domain ID",
35674 "format" : "pve-realm",
35675 "maxLength" : 32,
013dc89f
DM
35676 "type" : "string",
35677 "typetext" : "<string>"
44660702
DM
35678 },
35679 "secure" : {
35680 "description" : "Use secure LDAPS protocol.",
7aacca6f 35681 "optional" : 1,
013dc89f
DM
35682 "type" : "boolean",
35683 "typetext" : "<boolean>"
56122987 35684 },
44660702
DM
35685 "server1" : {
35686 "description" : "Server IP address (or DNS name)",
35687 "format" : "address",
35688 "maxLength" : 256,
35689 "optional" : 1,
013dc89f
DM
35690 "type" : "string",
35691 "typetext" : "<string>"
56122987 35692 },
44660702
DM
35693 "server2" : {
35694 "description" : "Fallback Server IP address (or DNS name)",
35695 "format" : "address",
7aacca6f 35696 "maxLength" : 256,
7aacca6f 35697 "optional" : 1,
013dc89f
DM
35698 "type" : "string",
35699 "typetext" : "<string>"
7aacca6f 35700 },
44660702
DM
35701 "tfa" : {
35702 "description" : "Use Two-factor authentication.",
35703 "format" : "pve-tfa-config",
35704 "maxLength" : 128,
35705 "optional" : 1,
013dc89f
DM
35706 "type" : "string",
35707 "typetext" : "<string>"
44660702
DM
35708 },
35709 "type" : {
35710 "description" : "Realm type.",
35711 "enum" : [
35712 "ad",
35713 "ldap",
35714 "pam",
35715 "pve"
35716 ],
35717 "type" : "string"
35718 },
35719 "user_attr" : {
35720 "description" : "LDAP user attribute name",
7aacca6f 35721 "maxLength" : 256,
7aacca6f 35722 "optional" : 1,
44660702
DM
35723 "pattern" : "\\S{2,}",
35724 "type" : "string"
2489d6df
WB
35725 },
35726 "verify" : {
35727 "default" : 0,
35728 "description" : "Verify the server's SSL certificate",
35729 "optional" : 1,
35730 "type" : "boolean",
35731 "typetext" : "<boolean>"
7aacca6f
DM
35732 }
35733 },
7aacca6f 35734 "type" : "object"
56122987 35735 },
7aacca6f
DM
35736 "permissions" : {
35737 "check" : [
35738 "perm",
35739 "/access/realm",
35740 [
35741 "Realm.Allocate"
35742 ]
35743 ]
44660702
DM
35744 },
35745 "protected" : 1,
35746 "returns" : {
35747 "type" : "null"
7aacca6f 35748 }
56122987 35749 }
7aacca6f 35750 },
44660702 35751 "leaf" : 0,
56122987 35752 "path" : "/access/domains",
44660702 35753 "text" : "domains"
56122987
DM
35754 },
35755 {
56122987 35756 "info" : {
44660702 35757 "GET" : {
2489d6df 35758 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
35759 "method" : "GET",
35760 "name" : "get_ticket",
35761 "parameters" : {
35762 "additionalProperties" : 0
35763 },
35764 "permissions" : {
35765 "user" : "world"
35766 },
35767 "returns" : {
35768 "type" : "null"
35769 }
35770 },
56122987 35771 "POST" : {
44660702 35772 "description" : "Create or verify authentication ticket.",
56122987 35773 "method" : "POST",
44660702
DM
35774 "name" : "create_ticket",
35775 "parameters" : {
35776 "additionalProperties" : 0,
56122987 35777 "properties" : {
44660702
DM
35778 "otp" : {
35779 "description" : "One-time password for Two-factor authentication.",
7aacca6f 35780 "optional" : 1,
013dc89f
DM
35781 "type" : "string",
35782 "typetext" : "<string>"
56122987 35783 },
7aacca6f
DM
35784 "password" : {
35785 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
35786 "type" : "string",
35787 "typetext" : "<string>"
7aacca6f 35788 },
44660702
DM
35789 "path" : {
35790 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 35791 "maxLength" : 64,
56122987 35792 "optional" : 1,
56122987 35793 "requires" : "privs",
013dc89f
DM
35794 "type" : "string",
35795 "typetext" : "<string>"
44660702
DM
35796 },
35797 "privs" : {
7aacca6f 35798 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
35799 "format" : "pve-priv-list",
35800 "maxLength" : 64,
56122987 35801 "optional" : 1,
44660702 35802 "requires" : "path",
013dc89f
DM
35803 "type" : "string",
35804 "typetext" : "<string>"
56122987
DM
35805 },
35806 "realm" : {
56122987 35807 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 35808 "format" : "pve-realm",
7aacca6f 35809 "maxLength" : 32,
44660702 35810 "optional" : 1,
013dc89f
DM
35811 "type" : "string",
35812 "typetext" : "<string>"
56122987
DM
35813 },
35814 "username" : {
35815 "description" : "User name",
44660702 35816 "maxLength" : 64,
013dc89f
DM
35817 "type" : "string",
35818 "typetext" : "<string>"
56122987 35819 }
44660702 35820 }
7aacca6f 35821 },
56122987 35822 "permissions" : {
44660702 35823 "description" : "You need to pass valid credientials.",
56122987
DM
35824 "user" : "world"
35825 },
44660702 35826 "protected" : 1,
7aacca6f 35827 "returns" : {
56122987 35828 "properties" : {
44660702
DM
35829 "CSRFPreventionToken" : {
35830 "optional" : 1,
35831 "type" : "string"
56122987 35832 },
e2d681b3
TL
35833 "clustername" : {
35834 "optional" : 1,
35835 "type" : "string"
35836 },
44660702
DM
35837 "ticket" : {
35838 "optional" : 1,
35839 "type" : "string"
35840 },
35841 "username" : {
56122987
DM
35842 "type" : "string"
35843 }
35844 },
44660702 35845 "type" : "object"
7aacca6f 35846 }
7aacca6f
DM
35847 }
35848 },
44660702
DM
35849 "leaf" : 1,
35850 "path" : "/access/ticket",
35851 "text" : "ticket"
7aacca6f 35852 },
56122987 35853 {
56122987 35854 "info" : {
7aacca6f 35855 "PUT" : {
44660702 35856 "description" : "Change user password.",
7aacca6f 35857 "method" : "PUT",
e2d681b3 35858 "name" : "change_password",
56122987
DM
35859 "parameters" : {
35860 "additionalProperties" : 0,
35861 "properties" : {
44660702
DM
35862 "password" : {
35863 "description" : "The new password.",
35864 "maxLength" : 64,
35865 "minLength" : 5,
013dc89f
DM
35866 "type" : "string",
35867 "typetext" : "<string>"
7aacca6f 35868 },
44660702
DM
35869 "userid" : {
35870 "description" : "User ID",
35871 "format" : "pve-userid",
35872 "maxLength" : 64,
013dc89f
DM
35873 "type" : "string",
35874 "typetext" : "<string>"
56122987 35875 }
7aacca6f 35876 }
56122987
DM
35877 },
35878 "permissions" : {
35879 "check" : [
44660702 35880 "or",
56122987 35881 [
44660702
DM
35882 "userid-param",
35883 "self"
35884 ],
35885 [
35886 "and",
35887 [
35888 "userid-param",
35889 "Realm.AllocateUser"
35890 ],
35891 [
35892 "userid-group",
35893 [
35894 "User.Modify"
35895 ]
35896 ]
56122987 35897 ]
7aacca6f 35898 ],
44660702 35899 "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 35900 },
44660702 35901 "protected" : 1,
7aacca6f
DM
35902 "returns" : {
35903 "type" : "null"
44660702
DM
35904 }
35905 }
35906 },
35907 "leaf" : 1,
35908 "path" : "/access/password",
35909 "text" : "password"
35910 }
35911 ],
35912 "info" : {
35913 "GET" : {
35914 "description" : "Directory index.",
35915 "method" : "GET",
35916 "name" : "index",
35917 "parameters" : {
35918 "additionalProperties" : 0
35919 },
35920 "permissions" : {
35921 "user" : "all"
35922 },
35923 "returns" : {
35924 "items" : {
35925 "properties" : {
35926 "subdir" : {
35927 "type" : "string"
35928 }
7aacca6f 35929 },
44660702
DM
35930 "type" : "object"
35931 },
35932 "links" : [
35933 {
35934 "href" : "{subdir}",
35935 "rel" : "child"
35936 }
35937 ],
35938 "type" : "array"
35939 }
35940 }
35941 },
35942 "leaf" : 0,
35943 "path" : "/access",
35944 "text" : "access"
35945 },
35946 {
35947 "children" : [
35948 {
35949 "info" : {
35950 "DELETE" : {
7aacca6f 35951 "description" : "Delete pool.",
44660702
DM
35952 "method" : "DELETE",
35953 "name" : "delete_pool",
7aacca6f
DM
35954 "parameters" : {
35955 "additionalProperties" : 0,
35956 "properties" : {
35957 "poolid" : {
35958 "format" : "pve-poolid",
013dc89f
DM
35959 "type" : "string",
35960 "typetext" : "<string>"
7aacca6f
DM
35961 }
35962 }
35963 },
56122987
DM
35964 "permissions" : {
35965 "check" : [
35966 "perm",
35967 "/pool/{poolid}",
35968 [
35969 "Pool.Allocate"
35970 ]
44660702
DM
35971 ],
35972 "description" : "You can only delete empty pools (no members)."
35973 },
35974 "protected" : 1,
35975 "returns" : {
35976 "type" : "null"
7aacca6f
DM
35977 }
35978 },
35979 "GET" : {
35980 "description" : "Get pool configuration.",
44660702 35981 "method" : "GET",
7aacca6f 35982 "name" : "read_pool",
56122987 35983 "parameters" : {
44660702 35984 "additionalProperties" : 0,
56122987
DM
35985 "properties" : {
35986 "poolid" : {
44660702 35987 "format" : "pve-poolid",
013dc89f
DM
35988 "type" : "string",
35989 "typetext" : "<string>"
56122987 35990 }
44660702 35991 }
56122987 35992 },
56122987 35993 "permissions" : {
56122987
DM
35994 "check" : [
35995 "perm",
35996 "/pool/{poolid}",
35997 [
35998 "Pool.Allocate"
35999 ]
36000 ]
36001 },
7aacca6f 36002 "returns" : {
44660702 36003 "additionalProperties" : 0,
56122987 36004 "properties" : {
44660702
DM
36005 "comment" : {
36006 "optional" : 1,
36007 "type" : "string"
36008 },
7aacca6f 36009 "members" : {
7aacca6f
DM
36010 "items" : {
36011 "additionalProperties" : 1,
7aacca6f 36012 "properties" : {
7aacca6f
DM
36013 "id" : {
36014 "type" : "string"
36015 },
36016 "node" : {
36017 "type" : "string"
36018 },
44660702
DM
36019 "storage" : {
36020 "optional" : 1,
36021 "type" : "string"
36022 },
7aacca6f 36023 "type" : {
7aacca6f
DM
36024 "enum" : [
36025 "qemu",
36026 "lxc",
36027 "openvz",
36028 "storage"
44660702
DM
36029 ],
36030 "type" : "string"
36031 },
36032 "vmid" : {
36033 "optional" : 1,
36034 "type" : "integer"
7aacca6f 36035 }
44660702
DM
36036 },
36037 "type" : "object"
36038 },
36039 "type" : "array"
36040 }
36041 },
36042 "type" : "object"
36043 }
36044 },
36045 "PUT" : {
36046 "description" : "Update pool data.",
36047 "method" : "PUT",
36048 "name" : "update_pool",
36049 "parameters" : {
36050 "additionalProperties" : 0,
36051 "properties" : {
56122987
DM
36052 "comment" : {
36053 "optional" : 1,
013dc89f
DM
36054 "type" : "string",
36055 "typetext" : "<string>"
44660702
DM
36056 },
36057 "delete" : {
36058 "description" : "Remove vms/storage (instead of adding it).",
36059 "optional" : 1,
013dc89f
DM
36060 "type" : "boolean",
36061 "typetext" : "<boolean>"
44660702
DM
36062 },
36063 "poolid" : {
36064 "format" : "pve-poolid",
013dc89f
DM
36065 "type" : "string",
36066 "typetext" : "<string>"
44660702
DM
36067 },
36068 "storage" : {
36069 "description" : "List of storage IDs.",
36070 "format" : "pve-storage-id-list",
36071 "optional" : 1,
013dc89f
DM
36072 "type" : "string",
36073 "typetext" : "<string>"
44660702
DM
36074 },
36075 "vms" : {
36076 "description" : "List of virtual machines.",
36077 "format" : "pve-vmid-list",
36078 "optional" : 1,
013dc89f
DM
36079 "type" : "string",
36080 "typetext" : "<string>"
56122987 36081 }
44660702
DM
36082 }
36083 },
36084 "permissions" : {
36085 "check" : [
36086 "perm",
36087 "/pool/{poolid}",
36088 [
36089 "Pool.Allocate"
36090 ]
36091 ],
36092 "description" : "You also need the right to modify permissions on any object you add/delete."
36093 },
36094 "protected" : 1,
36095 "returns" : {
36096 "type" : "null"
56122987
DM
36097 }
36098 }
36099 },
44660702
DM
36100 "leaf" : 1,
36101 "path" : "/pools/{poolid}",
7aacca6f 36102 "text" : "{poolid}"
56122987 36103 }
7aacca6f 36104 ],
56122987
DM
36105 "info" : {
36106 "GET" : {
44660702
DM
36107 "description" : "Pool index.",
36108 "method" : "GET",
36109 "name" : "index",
36110 "parameters" : {
36111 "additionalProperties" : 0
36112 },
36113 "permissions" : {
36114 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
36115 "user" : "all"
36116 },
56122987 36117 "returns" : {
44660702
DM
36118 "items" : {
36119 "properties" : {
36120 "poolid" : {
36121 "type" : "string"
36122 }
56122987 36123 },
44660702
DM
36124 "type" : "object"
36125 },
36126 "links" : [
36127 {
36128 "href" : "{poolid}",
36129 "rel" : "child"
36130 }
36131 ],
36132 "type" : "array"
36133 }
36134 },
36135 "POST" : {
36136 "description" : "Create new pool.",
36137 "method" : "POST",
36138 "name" : "create_pool",
36139 "parameters" : {
36140 "additionalProperties" : 0,
36141 "properties" : {
36142 "comment" : {
36143 "optional" : 1,
013dc89f
DM
36144 "type" : "string",
36145 "typetext" : "<string>"
7aacca6f 36146 },
44660702
DM
36147 "poolid" : {
36148 "format" : "pve-poolid",
013dc89f
DM
36149 "type" : "string",
36150 "typetext" : "<string>"
56122987
DM
36151 }
36152 }
36153 },
56122987 36154 "permissions" : {
44660702
DM
36155 "check" : [
36156 "perm",
36157 "/pool/{poolid}",
36158 [
36159 "Pool.Allocate"
36160 ]
36161 ]
56122987 36162 },
44660702
DM
36163 "protected" : 1,
36164 "returns" : {
36165 "type" : "null"
36166 }
36167 }
36168 },
36169 "leaf" : 0,
36170 "path" : "/pools",
36171 "text" : "pools"
36172 },
36173 {
36174 "info" : {
36175 "GET" : {
36176 "description" : "API version details. The result also includes the global datacenter confguration.",
36177 "method" : "GET",
36178 "name" : "version",
7aacca6f
DM
36179 "parameters" : {
36180 "additionalProperties" : 0
36181 },
44660702
DM
36182 "permissions" : {
36183 "user" : "all"
36184 },
36185 "returns" : {
36186 "properties" : {
36187 "release" : {
36188 "type" : "string"
36189 },
36190 "repoid" : {
36191 "type" : "string"
36192 },
36193 "version" : {
36194 "type" : "string"
36195 }
36196 },
36197 "type" : "object"
36198 }
56122987
DM
36199 }
36200 },
44660702
DM
36201 "leaf" : 1,
36202 "path" : "/version",
56122987
DM
36203 "text" : "version"
36204 }
36205]
36206;
36207