]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
update copyright year to current
[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,
826 "type" : "integer"
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,
1402 "type" : "integer"
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 },
44660702 3319 "returns" : {}
7aacca6f 3320 },
56122987 3321 "PUT" : {
44660702 3322 "description" : "Update resource configuration.",
7aacca6f 3323 "method" : "PUT",
44660702 3324 "name" : "update",
56122987
DM
3325 "parameters" : {
3326 "additionalProperties" : 0,
3327 "properties" : {
44660702
DM
3328 "comment" : {
3329 "description" : "Description.",
3330 "maxLength" : 4096,
56122987 3331 "optional" : 1,
013dc89f
DM
3332 "type" : "string",
3333 "typetext" : "<string>"
56122987 3334 },
7aacca6f
DM
3335 "delete" : {
3336 "description" : "A list of settings you want to delete.",
7aacca6f 3337 "format" : "pve-configid-list",
44660702
DM
3338 "maxLength" : 4096,
3339 "optional" : 1,
013dc89f
DM
3340 "type" : "string",
3341 "typetext" : "<string>"
56122987 3342 },
44660702
DM
3343 "digest" : {
3344 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3345 "maxLength" : 40,
3346 "optional" : 1,
013dc89f
DM
3347 "type" : "string",
3348 "typetext" : "<string>"
56122987 3349 },
44660702
DM
3350 "group" : {
3351 "description" : "The HA group identifier.",
3352 "format" : "pve-configid",
7aacca6f 3353 "optional" : 1,
013dc89f
DM
3354 "type" : "string",
3355 "typetext" : "<string>"
56122987
DM
3356 },
3357 "max_relocate" : {
7aacca6f 3358 "default" : 1,
56122987 3359 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3360 "minimum" : 0,
3361 "optional" : 1,
4bd7df8b 3362 "type" : "integer",
013dc89f 3363 "typetext" : "<integer> (0 - N)"
7aacca6f 3364 },
44660702
DM
3365 "max_restart" : {
3366 "default" : 1,
3367 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3368 "minimum" : 0,
7aacca6f 3369 "optional" : 1,
4bd7df8b 3370 "type" : "integer",
013dc89f 3371 "typetext" : "<integer> (0 - N)"
44660702
DM
3372 },
3373 "sid" : {
3374 "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).",
3375 "format" : "pve-ha-resource-or-vm-id",
3376 "type" : "string",
3377 "typetext" : "<type>:<name>"
7aacca6f
DM
3378 },
3379 "state" : {
f13c1238
DM
3380 "default" : "started",
3381 "description" : "Requested resource state.",
7aacca6f 3382 "enum" : [
f13c1238
DM
3383 "started",
3384 "stopped",
7aacca6f 3385 "enabled",
2489d6df
WB
3386 "disabled",
3387 "ignored"
7aacca6f 3388 ],
7aacca6f 3389 "optional" : 1,
f13c1238 3390 "type" : "string",
2489d6df 3391 "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 3392 }
44660702
DM
3393 },
3394 "type" : "object"
56122987 3395 },
56122987
DM
3396 "permissions" : {
3397 "check" : [
3398 "perm",
3399 "/",
3400 [
3401 "Sys.Console"
3402 ]
3403 ]
3404 },
7aacca6f 3405 "protected" : 1,
56122987
DM
3406 "returns" : {
3407 "type" : "null"
3408 }
3409 }
3410 },
44660702 3411 "leaf" : 0,
7aacca6f 3412 "path" : "/cluster/ha/resources/{sid}",
44660702 3413 "text" : "{sid}"
56122987
DM
3414 }
3415 ],
7aacca6f
DM
3416 "info" : {
3417 "GET" : {
44660702
DM
3418 "description" : "List HA resources.",
3419 "method" : "GET",
3420 "name" : "index",
7aacca6f 3421 "parameters" : {
44660702
DM
3422 "additionalProperties" : 0,
3423 "properties" : {
3424 "type" : {
3425 "description" : "Only list resources of specific type",
3426 "enum" : [
3427 "ct",
3428 "vm"
3429 ],
3430 "optional" : 1,
3431 "type" : "string"
3432 }
3433 }
7aacca6f 3434 },
7aacca6f
DM
3435 "permissions" : {
3436 "check" : [
3437 "perm",
3438 "/",
3439 [
3440 "Sys.Audit"
3441 ]
3442 ]
3443 },
7aacca6f 3444 "returns" : {
7aacca6f 3445 "items" : {
7aacca6f 3446 "properties" : {
44660702 3447 "sid" : {
7aacca6f
DM
3448 "type" : "string"
3449 }
44660702
DM
3450 },
3451 "type" : "object"
7aacca6f
DM
3452 },
3453 "links" : [
3454 {
44660702 3455 "href" : "{sid}",
7aacca6f
DM
3456 "rel" : "child"
3457 }
44660702
DM
3458 ],
3459 "type" : "array"
7aacca6f
DM
3460 }
3461 },
3462 "POST" : {
44660702 3463 "description" : "Create a new HA resource.",
7aacca6f 3464 "method" : "POST",
44660702 3465 "name" : "create",
7aacca6f 3466 "parameters" : {
44660702 3467 "additionalProperties" : 0,
7aacca6f
DM
3468 "properties" : {
3469 "comment" : {
7aacca6f 3470 "description" : "Description.",
44660702 3471 "maxLength" : 4096,
7aacca6f 3472 "optional" : 1,
013dc89f
DM
3473 "type" : "string",
3474 "typetext" : "<string>"
7aacca6f 3475 },
44660702
DM
3476 "group" : {
3477 "description" : "The HA group identifier.",
3478 "format" : "pve-configid",
7aacca6f 3479 "optional" : 1,
013dc89f
DM
3480 "type" : "string",
3481 "typetext" : "<string>"
7aacca6f 3482 },
44660702
DM
3483 "max_relocate" : {
3484 "default" : 1,
3485 "description" : "Maximal number of service relocate tries when a service failes to start.",
3486 "minimum" : 0,
7aacca6f 3487 "optional" : 1,
4bd7df8b 3488 "type" : "integer",
013dc89f 3489 "typetext" : "<integer> (0 - N)"
7aacca6f 3490 },
44660702
DM
3491 "max_restart" : {
3492 "default" : 1,
3493 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3494 "minimum" : 0,
3495 "optional" : 1,
4bd7df8b 3496 "type" : "integer",
013dc89f 3497 "typetext" : "<integer> (0 - N)"
44660702
DM
3498 },
3499 "sid" : {
3500 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
3501 "format" : "pve-ha-resource-or-vm-id",
3502 "type" : "string",
3503 "typetext" : "<type>:<name>"
3504 },
3505 "state" : {
f13c1238
DM
3506 "default" : "started",
3507 "description" : "Requested resource state.",
7aacca6f 3508 "enum" : [
f13c1238
DM
3509 "started",
3510 "stopped",
44660702 3511 "enabled",
2489d6df
WB
3512 "disabled",
3513 "ignored"
7aacca6f 3514 ],
7aacca6f 3515 "optional" : 1,
f13c1238 3516 "type" : "string",
2489d6df 3517 "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 3518 },
44660702
DM
3519 "type" : {
3520 "description" : "Resource type.",
3521 "enum" : [
3522 "ct",
3523 "vm"
3524 ],
3525 "optional" : 1,
3526 "type" : "string"
3527 }
7aacca6f 3528 },
44660702 3529 "type" : "object"
7aacca6f
DM
3530 },
3531 "permissions" : {
3532 "check" : [
3533 "perm",
3534 "/",
3535 [
3536 "Sys.Console"
3537 ]
3538 ]
3539 },
44660702
DM
3540 "protected" : 1,
3541 "returns" : {
3542 "type" : "null"
3543 }
7aacca6f
DM
3544 }
3545 },
44660702
DM
3546 "leaf" : 0,
3547 "path" : "/cluster/ha/resources",
3548 "text" : "resources"
3549 },
3550 {
56122987
DM
3551 "children" : [
3552 {
56122987 3553 "info" : {
44660702
DM
3554 "DELETE" : {
3555 "description" : "Delete ha group configuration.",
3556 "method" : "DELETE",
3557 "name" : "delete",
56122987 3558 "parameters" : {
7aacca6f 3559 "additionalProperties" : 0,
56122987 3560 "properties" : {
7aacca6f
DM
3561 "group" : {
3562 "description" : "The HA group identifier.",
44660702 3563 "format" : "pve-configid",
013dc89f
DM
3564 "type" : "string",
3565 "typetext" : "<string>"
56122987 3566 }
7aacca6f 3567 }
56122987 3568 },
56122987
DM
3569 "permissions" : {
3570 "check" : [
3571 "perm",
3572 "/",
3573 [
7aacca6f 3574 "Sys.Console"
56122987
DM
3575 ]
3576 ]
3577 },
44660702 3578 "protected" : 1,
7aacca6f
DM
3579 "returns" : {
3580 "type" : "null"
56122987
DM
3581 }
3582 },
44660702
DM
3583 "GET" : {
3584 "description" : "Read ha group configuration.",
3585 "method" : "GET",
3586 "name" : "read",
56122987 3587 "parameters" : {
44660702 3588 "additionalProperties" : 0,
56122987
DM
3589 "properties" : {
3590 "group" : {
3591 "description" : "The HA group identifier.",
44660702 3592 "format" : "pve-configid",
013dc89f
DM
3593 "type" : "string",
3594 "typetext" : "<string>"
56122987 3595 }
44660702 3596 }
56122987 3597 },
56122987
DM
3598 "permissions" : {
3599 "check" : [
3600 "perm",
3601 "/",
3602 [
44660702 3603 "Sys.Audit"
56122987
DM
3604 ]
3605 ]
3606 },
44660702 3607 "returns" : {}
7aacca6f 3608 },
44660702
DM
3609 "PUT" : {
3610 "description" : "Update ha group configuration.",
3611 "method" : "PUT",
3612 "name" : "update",
7aacca6f 3613 "parameters" : {
44660702 3614 "additionalProperties" : 0,
7aacca6f 3615 "properties" : {
44660702
DM
3616 "comment" : {
3617 "description" : "Description.",
3618 "maxLength" : 4096,
3619 "optional" : 1,
013dc89f
DM
3620 "type" : "string",
3621 "typetext" : "<string>"
44660702
DM
3622 },
3623 "delete" : {
3624 "description" : "A list of settings you want to delete.",
3625 "format" : "pve-configid-list",
3626 "maxLength" : 4096,
3627 "optional" : 1,
013dc89f
DM
3628 "type" : "string",
3629 "typetext" : "<string>"
44660702
DM
3630 },
3631 "digest" : {
3632 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3633 "maxLength" : 40,
3634 "optional" : 1,
013dc89f
DM
3635 "type" : "string",
3636 "typetext" : "<string>"
44660702 3637 },
7aacca6f
DM
3638 "group" : {
3639 "description" : "The HA group identifier.",
44660702 3640 "format" : "pve-configid",
013dc89f
DM
3641 "type" : "string",
3642 "typetext" : "<string>"
44660702
DM
3643 },
3644 "nodes" : {
f13c1238 3645 "description" : "List of cluster node names with optional priority.",
44660702
DM
3646 "format" : "pve-ha-group-node-list",
3647 "optional" : 1,
7aacca6f 3648 "type" : "string",
f13c1238
DM
3649 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3650 "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
3651 },
3652 "nofailback" : {
3653 "default" : 0,
3654 "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.",
3655 "optional" : 1,
013dc89f
DM
3656 "type" : "boolean",
3657 "typetext" : "<boolean>"
44660702
DM
3658 },
3659 "restricted" : {
3660 "default" : 0,
c4808e75 3661 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3662 "optional" : 1,
013dc89f 3663 "type" : "boolean",
c4808e75
DM
3664 "typetext" : "<boolean>",
3665 "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
3666 }
3667 },
44660702 3668 "type" : "object"
7aacca6f 3669 },
7aacca6f
DM
3670 "permissions" : {
3671 "check" : [
3672 "perm",
3673 "/",
3674 [
44660702 3675 "Sys.Console"
7aacca6f
DM
3676 ]
3677 ]
3678 },
44660702
DM
3679 "protected" : 1,
3680 "returns" : {
3681 "type" : "null"
3682 }
56122987
DM
3683 }
3684 },
3685 "leaf" : 1,
44660702
DM
3686 "path" : "/cluster/ha/groups/{group}",
3687 "text" : "{group}"
56122987 3688 }
44660702
DM
3689 ],
3690 "info" : {
3691 "GET" : {
3692 "description" : "Get HA groups.",
3693 "method" : "GET",
3694 "name" : "index",
3695 "parameters" : {
3696 "additionalProperties" : 0
3697 },
3698 "permissions" : {
3699 "check" : [
3700 "perm",
3701 "/",
3702 [
3703 "Sys.Audit"
3704 ]
3705 ]
3706 },
3707 "returns" : {
3708 "items" : {
3709 "properties" : {
3710 "group" : {
3711 "type" : "string"
3712 }
3713 },
3714 "type" : "object"
3715 },
3716 "links" : [
3717 {
3718 "href" : "{group}",
3719 "rel" : "child"
3720 }
3721 ],
3722 "type" : "array"
3723 }
3724 },
3725 "POST" : {
3726 "description" : "Create a new HA group.",
3727 "method" : "POST",
3728 "name" : "create",
3729 "parameters" : {
3730 "additionalProperties" : 0,
3731 "properties" : {
3732 "comment" : {
3733 "description" : "Description.",
3734 "maxLength" : 4096,
3735 "optional" : 1,
013dc89f
DM
3736 "type" : "string",
3737 "typetext" : "<string>"
44660702
DM
3738 },
3739 "group" : {
3740 "description" : "The HA group identifier.",
3741 "format" : "pve-configid",
013dc89f
DM
3742 "type" : "string",
3743 "typetext" : "<string>"
44660702
DM
3744 },
3745 "nodes" : {
f13c1238 3746 "description" : "List of cluster node names with optional priority.",
44660702
DM
3747 "format" : "pve-ha-group-node-list",
3748 "optional" : 0,
3749 "type" : "string",
f13c1238
DM
3750 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3751 "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
3752 },
3753 "nofailback" : {
3754 "default" : 0,
3755 "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.",
3756 "optional" : 1,
013dc89f
DM
3757 "type" : "boolean",
3758 "typetext" : "<boolean>"
44660702
DM
3759 },
3760 "restricted" : {
3761 "default" : 0,
c4808e75 3762 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3763 "optional" : 1,
013dc89f 3764 "type" : "boolean",
c4808e75
DM
3765 "typetext" : "<boolean>",
3766 "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
3767 },
3768 "type" : {
3769 "description" : "Group type.",
3770 "enum" : [
3771 "group"
3772 ],
3773 "optional" : 1,
3774 "type" : "string"
3775 }
3776 },
3777 "type" : "object"
3778 },
3779 "permissions" : {
3780 "check" : [
3781 "perm",
3782 "/",
3783 [
3784 "Sys.Console"
3785 ]
3786 ]
3787 },
3788 "protected" : 1,
3789 "returns" : {
3790 "type" : "null"
3791 }
3792 }
3793 },
3794 "leaf" : 0,
3795 "path" : "/cluster/ha/groups",
3796 "text" : "groups"
7aacca6f
DM
3797 },
3798 {
7aacca6f
DM
3799 "children" : [
3800 {
3801 "info" : {
3802 "GET" : {
56122987 3803 "description" : "Get HA manger status.",
44660702 3804 "method" : "GET",
7aacca6f 3805 "name" : "status",
44660702
DM
3806 "parameters" : {
3807 "additionalProperties" : 0
3808 },
56122987
DM
3809 "permissions" : {
3810 "check" : [
3811 "perm",
3812 "/",
3813 [
3814 "Sys.Audit"
3815 ]
3816 ]
7aacca6f 3817 },
44660702
DM
3818 "returns" : {
3819 "type" : "array"
56122987
DM
3820 }
3821 }
7aacca6f 3822 },
7aacca6f 3823 "leaf" : 1,
44660702
DM
3824 "path" : "/cluster/ha/status/current",
3825 "text" : "current"
56122987
DM
3826 },
3827 {
3828 "info" : {
3829 "GET" : {
7aacca6f 3830 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3831 "method" : "GET",
3832 "name" : "manager_status",
7aacca6f
DM
3833 "parameters" : {
3834 "additionalProperties" : 0
3835 },
56122987
DM
3836 "permissions" : {
3837 "check" : [
3838 "perm",
3839 "/",
3840 [
3841 "Sys.Audit"
3842 ]
3843 ]
44660702
DM
3844 },
3845 "returns" : {
3846 "type" : "object"
7aacca6f 3847 }
56122987
DM
3848 }
3849 },
56122987 3850 "leaf" : 1,
44660702
DM
3851 "path" : "/cluster/ha/status/manager_status",
3852 "text" : "manager_status"
56122987
DM
3853 }
3854 ],
56122987
DM
3855 "info" : {
3856 "GET" : {
44660702 3857 "description" : "Directory index.",
7aacca6f 3858 "method" : "GET",
44660702
DM
3859 "name" : "index",
3860 "parameters" : {
3861 "additionalProperties" : 0
3862 },
3863 "permissions" : {
3864 "user" : "all"
3865 },
56122987 3866 "returns" : {
56122987
DM
3867 "items" : {
3868 "properties" : {},
3869 "type" : "object"
3870 },
3871 "links" : [
3872 {
44660702
DM
3873 "href" : "{name}",
3874 "rel" : "child"
56122987 3875 }
7aacca6f
DM
3876 ],
3877 "type" : "array"
44660702 3878 }
56122987 3879 }
7aacca6f 3880 },
44660702 3881 "leaf" : 0,
7aacca6f 3882 "path" : "/cluster/ha/status",
44660702 3883 "text" : "status"
56122987
DM
3884 }
3885 ],
56122987
DM
3886 "info" : {
3887 "GET" : {
7aacca6f 3888 "description" : "Directory index.",
44660702
DM
3889 "method" : "GET",
3890 "name" : "index",
3891 "parameters" : {
3892 "additionalProperties" : 0
3893 },
7aacca6f
DM
3894 "permissions" : {
3895 "check" : [
3896 "perm",
3897 "/",
3898 [
3899 "Sys.Audit"
3900 ]
3901 ]
3902 },
56122987 3903 "returns" : {
56122987 3904 "items" : {
7aacca6f
DM
3905 "properties" : {
3906 "id" : {
3907 "type" : "string"
3908 }
44660702
DM
3909 },
3910 "type" : "object"
7aacca6f
DM
3911 },
3912 "links" : [
3913 {
3914 "href" : "{id}",
3915 "rel" : "child"
3916 }
44660702
DM
3917 ],
3918 "type" : "array"
7aacca6f
DM
3919 }
3920 }
44660702
DM
3921 },
3922 "leaf" : 0,
3923 "path" : "/cluster/ha",
3924 "text" : "ha"
7aacca6f 3925 },
a9a8e3d1
DM
3926 {
3927 "children" : [
3928 {
3929 "children" : [
3930 {
3931 "info" : {
3932 "DELETE" : {
3933 "description" : "Deactivate existing ACME account at CA.",
3934 "method" : "DELETE",
3935 "name" : "deactivate_account",
3936 "parameters" : {
3937 "additionalProperties" : 0,
3938 "properties" : {
3939 "name" : {
3940 "default" : "default",
3941 "description" : "ACME account config file name.",
3942 "format" : "pve-configid",
3943 "format_description" : "name",
3944 "optional" : 1,
3945 "type" : "string",
3946 "typetext" : "<name>"
3947 }
3948 }
3949 },
3950 "protected" : 1,
3951 "returns" : {
3952 "type" : "string"
3953 }
3954 },
3955 "GET" : {
3956 "description" : "Return existing ACME account information.",
3957 "method" : "GET",
3958 "name" : "get_account",
3959 "parameters" : {
3960 "additionalProperties" : 0,
3961 "properties" : {
3962 "name" : {
3963 "default" : "default",
3964 "description" : "ACME account config file name.",
3965 "format" : "pve-configid",
3966 "format_description" : "name",
3967 "optional" : 1,
3968 "type" : "string",
3969 "typetext" : "<name>"
3970 }
3971 }
3972 },
3973 "protected" : 1,
3974 "returns" : {
3975 "additionalProperties" : 0,
3976 "properties" : {
3977 "account" : {
3978 "optional" : 1,
4d47f125 3979 "renderer" : "yaml",
a9a8e3d1
DM
3980 "type" : "object"
3981 },
3982 "directory" : {
3983 "description" : "URL of ACME CA directory endpoint.",
3984 "optional" : 1,
3985 "pattern" : "^https?://.*",
3986 "type" : "string"
3987 },
3988 "location" : {
3989 "optional" : 1,
3990 "type" : "string"
3991 },
3992 "tos" : {
3993 "optional" : 1,
3994 "type" : "string"
3995 }
3996 },
3997 "type" : "object"
3998 }
3999 },
4000 "PUT" : {
4001 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
4002 "method" : "PUT",
4003 "name" : "update_account",
4004 "parameters" : {
4005 "additionalProperties" : 0,
4006 "properties" : {
4007 "contact" : {
4008 "description" : "Contact email addresses.",
4009 "format" : "email-list",
4010 "optional" : 1,
4011 "type" : "string",
4012 "typetext" : "<string>"
4013 },
4014 "name" : {
4015 "default" : "default",
4016 "description" : "ACME account config file name.",
4017 "format" : "pve-configid",
4018 "format_description" : "name",
4019 "optional" : 1,
4020 "type" : "string",
4021 "typetext" : "<name>"
4022 }
4023 }
4024 },
4025 "protected" : 1,
4026 "returns" : {
4027 "type" : "string"
4028 }
4029 }
4030 },
4031 "leaf" : 1,
4032 "path" : "/cluster/acme/account/{name}",
4033 "text" : "{name}"
4034 }
4035 ],
4036 "info" : {
4037 "GET" : {
4038 "description" : "ACMEAccount index.",
4039 "method" : "GET",
4040 "name" : "account_index",
4041 "parameters" : {
4042 "additionalProperties" : 0
4043 },
4044 "permissions" : {
4045 "user" : "all"
4046 },
4047 "protected" : 1,
4048 "returns" : {
4049 "items" : {
4050 "properties" : {},
4051 "type" : "object"
4052 },
4053 "links" : [
4054 {
4055 "href" : "{name}",
4056 "rel" : "child"
4057 }
4058 ],
4059 "type" : "array"
4060 }
4061 },
4062 "POST" : {
4063 "description" : "Register a new ACME account with CA.",
4064 "method" : "POST",
4065 "name" : "register_account",
4066 "parameters" : {
4067 "additionalProperties" : 0,
4068 "properties" : {
4069 "contact" : {
4070 "description" : "Contact email addresses.",
4071 "format" : "email-list",
4072 "type" : "string",
4073 "typetext" : "<string>"
4074 },
4075 "directory" : {
4076 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4077 "description" : "URL of ACME CA directory endpoint.",
4078 "optional" : 1,
4079 "pattern" : "^https?://.*",
4080 "type" : "string"
4081 },
4082 "name" : {
4083 "default" : "default",
4084 "description" : "ACME account config file name.",
4085 "format" : "pve-configid",
4086 "format_description" : "name",
4087 "optional" : 1,
4088 "type" : "string",
4089 "typetext" : "<name>"
4090 },
4091 "tos_url" : {
4092 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
4093 "optional" : 1,
4094 "type" : "string",
4095 "typetext" : "<string>"
4096 }
4097 }
4098 },
4099 "protected" : 1,
4100 "returns" : {
4101 "type" : "string"
4102 }
4103 }
4104 },
4105 "leaf" : 0,
4106 "path" : "/cluster/acme/account",
4107 "text" : "account"
4108 },
4109 {
4110 "info" : {
4111 "GET" : {
4112 "description" : "Retrieve ACME TermsOfService URL from CA.",
4113 "method" : "GET",
4114 "name" : "get_tos",
4115 "parameters" : {
4116 "additionalProperties" : 0,
4117 "properties" : {
4118 "directory" : {
4119 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4120 "description" : "URL of ACME CA directory endpoint.",
4121 "optional" : 1,
4122 "pattern" : "^https?://.*",
4123 "type" : "string"
4124 }
4125 }
4126 },
5da3d723
TL
4127 "permissions" : {
4128 "user" : "all"
4129 },
a9a8e3d1
DM
4130 "returns" : {
4131 "description" : "ACME TermsOfService URL.",
4132 "type" : "string"
4133 }
4134 }
4135 },
4136 "leaf" : 1,
4137 "path" : "/cluster/acme/tos",
4138 "text" : "tos"
4139 },
4140 {
4141 "info" : {
4142 "GET" : {
4143 "description" : "Get named known ACME directory endpoints.",
4144 "method" : "GET",
4145 "name" : "get_directories",
4146 "parameters" : {
4147 "additionalProperties" : 0
4148 },
5da3d723
TL
4149 "permissions" : {
4150 "user" : "all"
4151 },
a9a8e3d1
DM
4152 "returns" : {
4153 "items" : {
4154 "additionalProperties" : 0,
4155 "properties" : {
4156 "name" : {
4157 "type" : "string"
4158 },
4159 "url" : {
4160 "description" : "URL of ACME CA directory endpoint.",
4161 "pattern" : "^https?://.*",
4162 "type" : "string"
4163 }
4164 },
4165 "type" : "object"
4166 },
4167 "type" : "array"
4168 }
4169 }
4170 },
4171 "leaf" : 1,
4172 "path" : "/cluster/acme/directories",
4173 "text" : "directories"
4174 }
4175 ],
4176 "info" : {
4177 "GET" : {
4178 "description" : "ACMEAccount index.",
4179 "method" : "GET",
4180 "name" : "index",
4181 "parameters" : {
4182 "additionalProperties" : 0
4183 },
4184 "permissions" : {
4185 "user" : "all"
4186 },
4187 "returns" : {
4188 "items" : {
4189 "properties" : {},
4190 "type" : "object"
4191 },
4192 "links" : [
4193 {
4194 "href" : "{name}",
4195 "rel" : "child"
4196 }
4197 ],
4198 "type" : "array"
4199 }
4200 }
4201 },
4202 "leaf" : 0,
4203 "path" : "/cluster/acme",
4204 "text" : "acme"
4205 },
7aacca6f 4206 {
7aacca6f
DM
4207 "info" : {
4208 "GET" : {
4209 "description" : "Read cluster log",
44660702
DM
4210 "method" : "GET",
4211 "name" : "log",
56122987 4212 "parameters" : {
7aacca6f 4213 "additionalProperties" : 0,
56122987
DM
4214 "properties" : {
4215 "max" : {
7aacca6f 4216 "description" : "Maximum number of entries.",
44660702
DM
4217 "minimum" : 1,
4218 "optional" : 1,
4bd7df8b 4219 "type" : "integer",
013dc89f 4220 "typetext" : "<integer> (1 - N)"
56122987 4221 }
7aacca6f 4222 }
56122987 4223 },
44660702
DM
4224 "permissions" : {
4225 "user" : "all"
4226 },
7aacca6f 4227 "returns" : {
7aacca6f 4228 "items" : {
44660702
DM
4229 "properties" : {},
4230 "type" : "object"
4231 },
4232 "type" : "array"
7aacca6f 4233 }
56122987 4234 }
44660702
DM
4235 },
4236 "leaf" : 1,
4237 "path" : "/cluster/log",
4238 "text" : "log"
56122987
DM
4239 },
4240 {
56122987
DM
4241 "info" : {
4242 "GET" : {
44660702 4243 "description" : "Resources index (cluster wide).",
7aacca6f 4244 "method" : "GET",
7aacca6f 4245 "name" : "resources",
56122987
DM
4246 "parameters" : {
4247 "additionalProperties" : 0,
4248 "properties" : {
4249 "type" : {
4250 "enum" : [
4251 "vm",
4252 "storage",
4253 "node"
44660702
DM
4254 ],
4255 "optional" : 1,
4256 "type" : "string"
56122987
DM
4257 }
4258 }
4259 },
44660702
DM
4260 "permissions" : {
4261 "user" : "all"
4262 },
4263 "returns" : {
4264 "items" : {
4d47f125
TL
4265 "properties" : {
4266 "cpu" : {
4267 "description" : "CPU utilization (when type in node,qemu,lxc).",
4268 "optional" : 1,
4269 "renderer" : "fraction_as_percentage",
4270 "type" : "number"
4271 },
4272 "disk" : {
4273 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
4274 "optional" : 1,
4275 "renderer" : "bytes",
4276 "type" : "string"
4277 },
4278 "hastate" : {
4279 "description" : "HA service status (for HA managed VMs).",
4280 "optional" : 1,
4281 "type" : "string"
4282 },
4283 "id" : {
4284 "type" : "string"
4285 },
4286 "level" : {
4287 "description" : "Support level (when type == node).",
4288 "optional" : 1,
4289 "type" : "string"
4290 },
4291 "maxcpu" : {
4292 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
4293 "optional" : 1,
4294 "type" : "number"
4295 },
4296 "maxdisk" : {
4297 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
4298 "optional" : 1,
4299 "renderer" : "bytes",
4300 "type" : "integer"
4301 },
4302 "maxmem" : {
4303 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
4304 "optional" : 1,
4305 "renderer" : "bytes",
4306 "type" : "integer"
4307 },
4308 "mem" : {
4309 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
4310 "optional" : 1,
4311 "renderer" : "bytes",
4312 "type" : "string"
4313 },
4314 "node" : {
4315 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
4316 "format" : "pve-node",
4317 "optional" : 1,
4318 "type" : "string"
4319 },
4320 "pool" : {
4321 "description" : "The pool name (when type in pool,qemu,lxc).",
4322 "optional" : 1,
4323 "type" : "string"
4324 },
4325 "status" : {
4326 "description" : "Resource type dependent status.",
4327 "optional" : 1,
4328 "type" : "string"
4329 },
4330 "storage" : {
4331 "description" : "The storage identifier (when type == storage).",
4332 "format" : "pve-storage-id",
4333 "optional" : 1,
4334 "type" : "string"
4335 },
4336 "type" : {
4337 "description" : "Resource type.",
4338 "enum" : [
4339 "node",
4340 "storage",
4341 "pool",
4342 "qemu",
4343 "lxc",
4344 "openvz"
4345 ],
4346 "type" : "string"
4347 },
4348 "uptime" : {
4349 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
4350 "optional" : 1,
4351 "renderer" : "duration",
4352 "type" : "integer"
4353 }
4354 },
44660702
DM
4355 "type" : "object"
4356 },
4357 "type" : "array"
4358 }
56122987
DM
4359 }
4360 },
7aacca6f 4361 "leaf" : 1,
44660702
DM
4362 "path" : "/cluster/resources",
4363 "text" : "resources"
56122987
DM
4364 },
4365 {
56122987
DM
4366 "info" : {
4367 "GET" : {
7aacca6f 4368 "description" : "List recent tasks (cluster wide).",
44660702 4369 "method" : "GET",
7aacca6f 4370 "name" : "tasks",
56122987
DM
4371 "parameters" : {
4372 "additionalProperties" : 0
4373 },
44660702
DM
4374 "permissions" : {
4375 "user" : "all"
4376 },
56122987
DM
4377 "returns" : {
4378 "items" : {
4379 "properties" : {
4380 "upid" : {
4381 "type" : "string"
4382 }
44660702
DM
4383 },
4384 "type" : "object"
4385 },
4386 "type" : "array"
7aacca6f 4387 }
56122987
DM
4388 }
4389 },
7aacca6f 4390 "leaf" : 1,
44660702
DM
4391 "path" : "/cluster/tasks",
4392 "text" : "tasks"
56122987
DM
4393 },
4394 {
56122987 4395 "info" : {
7aacca6f 4396 "GET" : {
44660702
DM
4397 "description" : "Get datacenter options.",
4398 "method" : "GET",
4399 "name" : "get_options",
56122987 4400 "parameters" : {
7aacca6f
DM
4401 "additionalProperties" : 0
4402 },
4403 "permissions" : {
4404 "check" : [
4405 "perm",
4406 "/",
4407 [
4408 "Sys.Audit"
4409 ]
4410 ]
4411 },
7aacca6f 4412 "returns" : {
44660702 4413 "type" : "object"
7aacca6f
DM
4414 }
4415 },
4416 "PUT" : {
44660702
DM
4417 "description" : "Set datacenter options.",
4418 "method" : "PUT",
7aacca6f
DM
4419 "name" : "set_options",
4420 "parameters" : {
4421 "additionalProperties" : 0,
4422 "properties" : {
27a7acb2
DM
4423 "bwlimit" : {
4424 "description" : "Set bandwidth/io limits various operations.",
4425 "format" : {
4426 "clone" : {
4427 "description" : "bandwidth limit in MiB/s for cloning disks",
4428 "format_description" : "LIMIT",
4429 "minimum" : "0",
4430 "optional" : 1,
4431 "type" : "number"
4432 },
4433 "default" : {
4434 "description" : "default bandwidth limit in MiB/s",
4435 "format_description" : "LIMIT",
4436 "minimum" : "0",
4437 "optional" : 1,
4438 "type" : "number"
4439 },
4440 "migration" : {
4441 "description" : "bandwidth limit in MiB/s for migrating guests",
4442 "format_description" : "LIMIT",
4443 "minimum" : "0",
4444 "optional" : 1,
4445 "type" : "number"
4446 },
4447 "move" : {
4448 "description" : "bandwidth limit in MiB/s for moving disks",
4449 "format_description" : "LIMIT",
4450 "minimum" : "0",
4451 "optional" : 1,
4452 "type" : "number"
4453 },
4454 "restore" : {
4455 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
4456 "format_description" : "LIMIT",
4457 "minimum" : "0",
4458 "optional" : 1,
4459 "type" : "number"
4460 }
4461 },
4462 "optional" : 1,
4463 "type" : "string",
4464 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
4465 },
56122987 4466 "console" : {
a9a8e3d1 4467 "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
4468 "enum" : [
4469 "applet",
4470 "vv",
a9a8e3d1
DM
4471 "html5",
4472 "xtermjs"
44660702
DM
4473 ],
4474 "optional" : 1,
4475 "type" : "string"
56122987 4476 },
7aacca6f 4477 "delete" : {
7aacca6f 4478 "description" : "A list of settings you want to delete.",
44660702 4479 "format" : "pve-configid-list",
7aacca6f 4480 "optional" : 1,
013dc89f
DM
4481 "type" : "string",
4482 "typetext" : "<string>"
7aacca6f 4483 },
44660702
DM
4484 "email_from" : {
4485 "description" : "Specify email address to send notification from (default is root@$hostname)",
4486 "format" : "email-opt",
7aacca6f 4487 "optional" : 1,
013dc89f
DM
4488 "type" : "string",
4489 "typetext" : "<string>"
44660702
DM
4490 },
4491 "fencing" : {
4492 "default" : "watchdog",
4493 "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 4494 "enum" : [
44660702
DM
4495 "watchdog",
4496 "hardware",
4497 "both"
7aacca6f 4498 ],
44660702
DM
4499 "optional" : 1,
4500 "type" : "string"
4501 },
4502 "http_proxy" : {
4503 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
4504 "optional" : 1,
4505 "pattern" : "http://.*",
4506 "type" : "string"
7aacca6f 4507 },
56122987 4508 "keyboard" : {
44660702 4509 "description" : "Default keybord layout for vnc server.",
56122987 4510 "enum" : [
44660702
DM
4511 "de",
4512 "de-ch",
7aacca6f 4513 "da",
56122987 4514 "en-gb",
44660702
DM
4515 "en-us",
4516 "es",
4517 "fi",
4518 "fr",
4519 "fr-be",
4520 "fr-ca",
4521 "fr-ch",
4522 "hu",
7aacca6f 4523 "is",
44660702
DM
4524 "it",
4525 "ja",
4526 "lt",
56122987 4527 "mk",
7aacca6f 4528 "nl",
56122987 4529 "no",
44660702 4530 "pl",
7aacca6f 4531 "pt",
44660702
DM
4532 "pt-br",
4533 "sv",
4534 "sl",
4535 "tr"
56122987 4536 ],
56122987
DM
4537 "optional" : 1,
4538 "type" : "string"
4539 },
44660702
DM
4540 "language" : {
4541 "description" : "Default GUI language.",
4542 "enum" : [
4d47f125
TL
4543 "zh_CN",
4544 "zh_TW",
4545 "ca",
44660702 4546 "en",
4d47f125
TL
4547 "eu",
4548 "fr",
4549 "de",
4550 "it",
4551 "es",
4552 "ja",
4553 "nb",
4554 "nn",
4555 "fa",
4556 "pl",
4557 "pt_BR",
4558 "ru",
4559 "sl",
4560 "sv",
4561 "tr"
44660702 4562 ],
56122987 4563 "optional" : 1,
44660702 4564 "type" : "string"
56122987 4565 },
4bd7df8b
DM
4566 "mac_prefix" : {
4567 "description" : "Prefix for autogenerated MAC addresses.",
4568 "optional" : 1,
4569 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
4570 "type" : "string"
4571 },
44660702
DM
4572 "max_workers" : {
4573 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
4574 "minimum" : 1,
56122987 4575 "optional" : 1,
4bd7df8b 4576 "type" : "integer",
013dc89f 4577 "typetext" : "<integer> (1 - N)"
56122987 4578 },
de0983cb
DM
4579 "migration" : {
4580 "description" : "For cluster wide migration settings.",
4581 "format" : {
4582 "network" : {
4583 "description" : "CIDR of the (sub) network that is used for migration.",
4584 "format" : "CIDR",
4585 "format_description" : "CIDR",
4586 "optional" : 1,
4587 "type" : "string"
4588 },
4589 "type" : {
4590 "default" : "secure",
4591 "default_key" : 1,
4592 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
4593 "enum" : [
4594 "secure",
4595 "insecure"
4596 ],
4597 "type" : "string"
4598 }
4599 },
4600 "optional" : 1,
4601 "type" : "string",
4602 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
4603 },
7aacca6f 4604 "migration_unsecure" : {
de0983cb 4605 "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 4606 "optional" : 1,
013dc89f
DM
4607 "type" : "boolean",
4608 "typetext" : "<boolean>"
56122987
DM
4609 }
4610 }
4611 },
44660702
DM
4612 "permissions" : {
4613 "check" : [
4614 "perm",
4615 "/",
4616 [
4617 "Sys.Modify"
4618 ]
4619 ]
4620 },
56122987 4621 "protected" : 1,
7aacca6f
DM
4622 "returns" : {
4623 "type" : "null"
44660702 4624 }
7aacca6f
DM
4625 }
4626 },
44660702
DM
4627 "leaf" : 1,
4628 "path" : "/cluster/options",
7aacca6f
DM
4629 "text" : "options"
4630 },
4631 {
7aacca6f 4632 "info" : {
56122987 4633 "GET" : {
44660702
DM
4634 "description" : "Get cluster status informations.",
4635 "method" : "GET",
4636 "name" : "get_status",
56122987
DM
4637 "parameters" : {
4638 "additionalProperties" : 0
4639 },
56122987
DM
4640 "permissions" : {
4641 "check" : [
4642 "perm",
4643 "/",
4644 [
4645 "Sys.Audit"
4646 ]
4647 ]
4648 },
7aacca6f 4649 "protected" : 1,
56122987 4650 "returns" : {
56122987 4651 "items" : {
56122987
DM
4652 "properties" : {
4653 "type" : {
4654 "type" : "string"
4655 }
44660702
DM
4656 },
4657 "type" : "object"
7aacca6f
DM
4658 },
4659 "type" : "array"
56122987
DM
4660 }
4661 }
4662 },
44660702 4663 "leaf" : 1,
7aacca6f 4664 "path" : "/cluster/status",
44660702 4665 "text" : "status"
56122987
DM
4666 },
4667 {
56122987
DM
4668 "info" : {
4669 "GET" : {
56122987 4670 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
4671 "method" : "GET",
4672 "name" : "nextid",
56122987 4673 "parameters" : {
44660702 4674 "additionalProperties" : 0,
56122987
DM
4675 "properties" : {
4676 "vmid" : {
44660702 4677 "description" : "The (unique) ID of the VM.",
56122987 4678 "format" : "pve-vmid",
7aacca6f 4679 "minimum" : 1,
7aacca6f 4680 "optional" : 1,
4bd7df8b 4681 "type" : "integer",
013dc89f 4682 "typetext" : "<integer> (1 - N)"
56122987 4683 }
44660702 4684 }
56122987 4685 },
7aacca6f
DM
4686 "permissions" : {
4687 "user" : "all"
44660702
DM
4688 },
4689 "returns" : {
4690 "description" : "The next free VMID.",
4691 "type" : "integer"
7aacca6f 4692 }
56122987
DM
4693 }
4694 },
7aacca6f 4695 "leaf" : 1,
44660702
DM
4696 "path" : "/cluster/nextid",
4697 "text" : "nextid"
56122987
DM
4698 }
4699 ],
44660702
DM
4700 "info" : {
4701 "GET" : {
4702 "description" : "Cluster index.",
4703 "method" : "GET",
4704 "name" : "index",
4705 "parameters" : {
4706 "additionalProperties" : 0
4707 },
4708 "permissions" : {
4709 "user" : "all"
4710 },
4711 "returns" : {
4712 "items" : {
4713 "properties" : {},
4714 "type" : "object"
4715 },
4716 "links" : [
4717 {
4718 "href" : "{name}",
4719 "rel" : "child"
4720 }
4721 ],
4722 "type" : "array"
4723 }
4724 }
4725 },
4726 "leaf" : 0,
4727 "path" : "/cluster",
7aacca6f 4728 "text" : "cluster"
56122987
DM
4729 },
4730 {
56122987
DM
4731 "children" : [
4732 {
7aacca6f
DM
4733 "children" : [
4734 {
4735 "children" : [
4736 {
56122987
DM
4737 "children" : [
4738 {
56122987
DM
4739 "children" : [
4740 {
4741 "children" : [
4742 {
56122987
DM
4743 "info" : {
4744 "DELETE" : {
44660702 4745 "description" : "Delete rule.",
7aacca6f 4746 "method" : "DELETE",
44660702 4747 "name" : "delete_rule",
56122987 4748 "parameters" : {
44660702 4749 "additionalProperties" : 0,
56122987 4750 "properties" : {
44660702
DM
4751 "digest" : {
4752 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4753 "maxLength" : 40,
4754 "optional" : 1,
013dc89f
DM
4755 "type" : "string",
4756 "typetext" : "<string>"
44660702 4757 },
56122987 4758 "node" : {
7aacca6f 4759 "description" : "The cluster node name.",
44660702 4760 "format" : "pve-node",
013dc89f
DM
4761 "type" : "string",
4762 "typetext" : "<string>"
7aacca6f 4763 },
56122987 4764 "pos" : {
7aacca6f 4765 "description" : "Update rule at position <pos>.",
44660702 4766 "minimum" : 0,
56122987 4767 "optional" : 1,
4bd7df8b 4768 "type" : "integer",
013dc89f 4769 "typetext" : "<integer> (0 - N)"
44660702
DM
4770 },
4771 "vmid" : {
4772 "description" : "The (unique) ID of the VM.",
4773 "format" : "pve-vmid",
4774 "minimum" : 1,
4bd7df8b 4775 "type" : "integer",
013dc89f 4776 "typetext" : "<integer> (1 - N)"
56122987 4777 }
44660702 4778 }
7aacca6f 4779 },
56122987
DM
4780 "permissions" : {
4781 "check" : [
4782 "perm",
4783 "/vms/{vmid}",
4784 [
4785 "VM.Config.Network"
4786 ]
4787 ]
4788 },
44660702
DM
4789 "protected" : 1,
4790 "proxyto" : null,
56122987
DM
4791 "returns" : {
4792 "type" : "null"
44660702
DM
4793 }
4794 },
4795 "GET" : {
4796 "description" : "Get single rule data.",
4797 "method" : "GET",
4798 "name" : "get_rule",
4799 "parameters" : {
4800 "additionalProperties" : 0,
4801 "properties" : {
4802 "node" : {
4803 "description" : "The cluster node name.",
4804 "format" : "pve-node",
013dc89f
DM
4805 "type" : "string",
4806 "typetext" : "<string>"
44660702
DM
4807 },
4808 "pos" : {
4809 "description" : "Update rule at position <pos>.",
4810 "minimum" : 0,
4811 "optional" : 1,
4bd7df8b 4812 "type" : "integer",
013dc89f 4813 "typetext" : "<integer> (0 - N)"
44660702
DM
4814 },
4815 "vmid" : {
4816 "description" : "The (unique) ID of the VM.",
4817 "format" : "pve-vmid",
4818 "minimum" : 1,
4bd7df8b 4819 "type" : "integer",
013dc89f 4820 "typetext" : "<integer> (1 - N)"
44660702
DM
4821 }
4822 }
56122987 4823 },
56122987
DM
4824 "permissions" : {
4825 "check" : [
4826 "perm",
4827 "/vms/{vmid}",
4828 [
44660702 4829 "VM.Audit"
56122987
DM
4830 ]
4831 ]
4832 },
56122987 4833 "proxyto" : null,
44660702
DM
4834 "returns" : {
4835 "properties" : {
e2d681b3
TL
4836 "action" : {
4837 "type" : "string"
4838 },
4839 "comment" : {
4840 "optional" : 1,
4841 "type" : "string"
4842 },
4843 "dest" : {
4844 "optional" : 1,
4845 "type" : "string"
4846 },
4847 "dport" : {
4848 "optional" : 1,
4849 "type" : "string"
4850 },
4851 "enable" : {
4852 "optional" : 1,
4853 "type" : "integer"
4854 },
4855 "iface" : {
4856 "optional" : 1,
4857 "type" : "string"
4858 },
4859 "ipversion" : {
4860 "optional" : 1,
4861 "type" : "integer"
4862 },
4863 "macro" : {
4864 "optional" : 1,
4865 "type" : "integer"
4866 },
44660702
DM
4867 "pos" : {
4868 "type" : "integer"
e2d681b3
TL
4869 },
4870 "proto" : {
4871 "optional" : 1,
4872 "type" : "string"
4873 },
4874 "source" : {
4875 "optional" : 1,
4876 "type" : "string"
4877 },
4878 "sport" : {
4879 "optional" : 1,
4880 "type" : "string"
4881 },
4882 "type" : {
4883 "type" : "string"
44660702
DM
4884 }
4885 },
4886 "type" : "object"
4887 }
4888 },
4889 "PUT" : {
7aacca6f
DM
4890 "description" : "Modify rule data.",
4891 "method" : "PUT",
44660702 4892 "name" : "update_rule",
56122987 4893 "parameters" : {
44660702 4894 "additionalProperties" : 0,
56122987 4895 "properties" : {
44660702
DM
4896 "action" : {
4897 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4898 "maxLength" : 20,
4899 "minLength" : 2,
56122987 4900 "optional" : 1,
44660702 4901 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
4902 "type" : "string"
4903 },
7aacca6f 4904 "comment" : {
e94f0d56 4905 "description" : "Descriptive comment.",
7aacca6f 4906 "optional" : 1,
013dc89f
DM
4907 "type" : "string",
4908 "typetext" : "<string>"
7aacca6f
DM
4909 },
4910 "delete" : {
7aacca6f 4911 "description" : "A list of settings you want to delete.",
44660702
DM
4912 "format" : "pve-configid-list",
4913 "optional" : 1,
013dc89f
DM
4914 "type" : "string",
4915 "typetext" : "<string>"
7aacca6f
DM
4916 },
4917 "dest" : {
44660702 4918 "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 4919 "format" : "pve-fw-addr-spec",
56122987 4920 "optional" : 1,
013dc89f
DM
4921 "type" : "string",
4922 "typetext" : "<string>"
56122987 4923 },
7aacca6f 4924 "digest" : {
44660702 4925 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 4926 "maxLength" : 40,
56122987 4927 "optional" : 1,
013dc89f
DM
4928 "type" : "string",
4929 "typetext" : "<string>"
44660702
DM
4930 },
4931 "dport" : {
4932 "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.",
4933 "format" : "pve-fw-dport-spec",
4934 "optional" : 1,
013dc89f
DM
4935 "type" : "string",
4936 "typetext" : "<string>"
56122987 4937 },
7aacca6f 4938 "enable" : {
e94f0d56 4939 "description" : "Flag to enable/disable a rule.",
44660702 4940 "minimum" : 0,
56122987 4941 "optional" : 1,
4bd7df8b 4942 "type" : "integer",
013dc89f 4943 "typetext" : "<integer> (0 - N)"
7aacca6f 4944 },
44660702
DM
4945 "iface" : {
4946 "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.",
4947 "format" : "pve-iface",
4948 "maxLength" : 20,
7aacca6f 4949 "minLength" : 2,
56122987 4950 "optional" : 1,
013dc89f
DM
4951 "type" : "string",
4952 "typetext" : "<string>"
56122987 4953 },
44660702 4954 "macro" : {
e94f0d56 4955 "description" : "Use predefined standard macro.",
44660702 4956 "maxLength" : 128,
56122987 4957 "optional" : 1,
013dc89f
DM
4958 "type" : "string",
4959 "typetext" : "<string>"
56122987 4960 },
44660702
DM
4961 "moveto" : {
4962 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
4963 "minimum" : 0,
56122987 4964 "optional" : 1,
4bd7df8b 4965 "type" : "integer",
013dc89f 4966 "typetext" : "<integer> (0 - N)"
56122987 4967 },
44660702
DM
4968 "node" : {
4969 "description" : "The cluster node name.",
4970 "format" : "pve-node",
013dc89f
DM
4971 "type" : "string",
4972 "typetext" : "<string>"
44660702
DM
4973 },
4974 "pos" : {
4975 "description" : "Update rule at position <pos>.",
4976 "minimum" : 0,
4977 "optional" : 1,
4bd7df8b 4978 "type" : "integer",
013dc89f 4979 "typetext" : "<integer> (0 - N)"
56122987 4980 },
44660702
DM
4981 "proto" : {
4982 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4983 "format" : "pve-fw-protocol-spec",
4984 "optional" : 1,
013dc89f
DM
4985 "type" : "string",
4986 "typetext" : "<string>"
7aacca6f 4987 },
44660702
DM
4988 "source" : {
4989 "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.",
4990 "format" : "pve-fw-addr-spec",
56122987 4991 "optional" : 1,
013dc89f
DM
4992 "type" : "string",
4993 "typetext" : "<string>"
56122987
DM
4994 },
4995 "sport" : {
4996 "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
4997 "format" : "pve-fw-sport-spec",
4998 "optional" : 1,
013dc89f
DM
4999 "type" : "string",
5000 "typetext" : "<string>"
44660702
DM
5001 },
5002 "type" : {
e94f0d56 5003 "description" : "Rule type.",
44660702
DM
5004 "enum" : [
5005 "in",
5006 "out",
5007 "group"
5008 ],
56122987 5009 "optional" : 1,
56122987 5010 "type" : "string"
44660702
DM
5011 },
5012 "vmid" : {
5013 "description" : "The (unique) ID of the VM.",
5014 "format" : "pve-vmid",
5015 "minimum" : 1,
4bd7df8b 5016 "type" : "integer",
013dc89f 5017 "typetext" : "<integer> (1 - N)"
56122987 5018 }
44660702 5019 }
56122987 5020 },
56122987
DM
5021 "permissions" : {
5022 "check" : [
5023 "perm",
5024 "/vms/{vmid}",
5025 [
44660702 5026 "VM.Config.Network"
56122987
DM
5027 ]
5028 ]
7aacca6f 5029 },
44660702 5030 "protected" : 1,
7aacca6f 5031 "proxyto" : null,
7aacca6f 5032 "returns" : {
44660702
DM
5033 "type" : "null"
5034 }
56122987 5035 }
7aacca6f 5036 },
44660702 5037 "leaf" : 1,
7aacca6f 5038 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 5039 "text" : "{pos}"
56122987
DM
5040 }
5041 ],
56122987 5042 "info" : {
44660702
DM
5043 "GET" : {
5044 "description" : "List rules.",
5045 "method" : "GET",
5046 "name" : "get_rules",
5047 "parameters" : {
5048 "additionalProperties" : 0,
5049 "properties" : {
5050 "node" : {
5051 "description" : "The cluster node name.",
5052 "format" : "pve-node",
013dc89f
DM
5053 "type" : "string",
5054 "typetext" : "<string>"
44660702
DM
5055 },
5056 "vmid" : {
5057 "description" : "The (unique) ID of the VM.",
5058 "format" : "pve-vmid",
5059 "minimum" : 1,
4bd7df8b 5060 "type" : "integer",
013dc89f 5061 "typetext" : "<integer> (1 - N)"
44660702
DM
5062 }
5063 }
56122987 5064 },
56122987
DM
5065 "permissions" : {
5066 "check" : [
5067 "perm",
5068 "/vms/{vmid}",
5069 [
44660702 5070 "VM.Audit"
56122987
DM
5071 ]
5072 ]
7aacca6f 5073 },
44660702
DM
5074 "proxyto" : null,
5075 "returns" : {
5076 "items" : {
5077 "properties" : {
5078 "pos" : {
5079 "type" : "integer"
5080 }
5081 },
5082 "type" : "object"
5083 },
5084 "links" : [
5085 {
5086 "href" : "{pos}",
5087 "rel" : "child"
5088 }
5089 ],
5090 "type" : "array"
5091 }
5092 },
5093 "POST" : {
5094 "description" : "Create new rule.",
7aacca6f 5095 "method" : "POST",
44660702 5096 "name" : "create_rule",
56122987 5097 "parameters" : {
44660702 5098 "additionalProperties" : 0,
56122987 5099 "properties" : {
44660702
DM
5100 "action" : {
5101 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
5102 "maxLength" : 20,
5103 "minLength" : 2,
5104 "optional" : 0,
5105 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5106 "type" : "string"
56122987 5107 },
44660702 5108 "comment" : {
e94f0d56 5109 "description" : "Descriptive comment.",
56122987 5110 "optional" : 1,
013dc89f
DM
5111 "type" : "string",
5112 "typetext" : "<string>"
56122987 5113 },
44660702
DM
5114 "dest" : {
5115 "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.",
5116 "format" : "pve-fw-addr-spec",
5117 "optional" : 1,
013dc89f
DM
5118 "type" : "string",
5119 "typetext" : "<string>"
56122987 5120 },
44660702
DM
5121 "digest" : {
5122 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5123 "maxLength" : 40,
56122987 5124 "optional" : 1,
013dc89f
DM
5125 "type" : "string",
5126 "typetext" : "<string>"
56122987 5127 },
7aacca6f
DM
5128 "dport" : {
5129 "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 5130 "format" : "pve-fw-dport-spec",
7aacca6f 5131 "optional" : 1,
013dc89f
DM
5132 "type" : "string",
5133 "typetext" : "<string>"
56122987
DM
5134 },
5135 "enable" : {
e94f0d56 5136 "description" : "Flag to enable/disable a rule.",
56122987 5137 "minimum" : 0,
44660702 5138 "optional" : 1,
4bd7df8b 5139 "type" : "integer",
013dc89f 5140 "typetext" : "<integer> (0 - N)"
56122987 5141 },
44660702
DM
5142 "iface" : {
5143 "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.",
5144 "format" : "pve-iface",
5145 "maxLength" : 20,
7aacca6f 5146 "minLength" : 2,
44660702 5147 "optional" : 1,
013dc89f
DM
5148 "type" : "string",
5149 "typetext" : "<string>"
56122987 5150 },
44660702 5151 "macro" : {
e94f0d56 5152 "description" : "Use predefined standard macro.",
44660702 5153 "maxLength" : 128,
56122987 5154 "optional" : 1,
013dc89f
DM
5155 "type" : "string",
5156 "typetext" : "<string>"
7aacca6f 5157 },
44660702
DM
5158 "node" : {
5159 "description" : "The cluster node name.",
5160 "format" : "pve-node",
013dc89f
DM
5161 "type" : "string",
5162 "typetext" : "<string>"
44660702
DM
5163 },
5164 "pos" : {
5165 "description" : "Update rule at position <pos>.",
5166 "minimum" : 0,
5167 "optional" : 1,
4bd7df8b 5168 "type" : "integer",
013dc89f 5169 "typetext" : "<integer> (0 - N)"
44660702
DM
5170 },
5171 "proto" : {
5172 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5173 "format" : "pve-fw-protocol-spec",
7aacca6f 5174 "optional" : 1,
013dc89f
DM
5175 "type" : "string",
5176 "typetext" : "<string>"
7aacca6f
DM
5177 },
5178 "source" : {
5179 "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 5180 "format" : "pve-fw-addr-spec",
7aacca6f 5181 "optional" : 1,
013dc89f
DM
5182 "type" : "string",
5183 "typetext" : "<string>"
7aacca6f 5184 },
44660702
DM
5185 "sport" : {
5186 "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.",
5187 "format" : "pve-fw-sport-spec",
7aacca6f 5188 "optional" : 1,
013dc89f
DM
5189 "type" : "string",
5190 "typetext" : "<string>"
7aacca6f 5191 },
44660702 5192 "type" : {
e94f0d56 5193 "description" : "Rule type.",
44660702
DM
5194 "enum" : [
5195 "in",
5196 "out",
5197 "group"
5198 ],
5199 "optional" : 0,
5200 "type" : "string"
7aacca6f 5201 },
7aacca6f 5202 "vmid" : {
44660702 5203 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
5204 "format" : "pve-vmid",
5205 "minimum" : 1,
4bd7df8b 5206 "type" : "integer",
013dc89f 5207 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5208 }
5209 }
5210 },
56122987
DM
5211 "permissions" : {
5212 "check" : [
5213 "perm",
5214 "/vms/{vmid}",
5215 [
44660702 5216 "VM.Config.Network"
56122987
DM
5217 ]
5218 ]
5219 },
44660702
DM
5220 "protected" : 1,
5221 "proxyto" : null,
56122987 5222 "returns" : {
44660702
DM
5223 "type" : "null"
5224 }
56122987
DM
5225 }
5226 },
44660702 5227 "leaf" : 0,
7aacca6f 5228 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 5229 "text" : "rules"
56122987
DM
5230 },
5231 {
5232 "children" : [
5233 {
56122987 5234 "info" : {
44660702
DM
5235 "DELETE" : {
5236 "description" : "Remove IP or Network alias.",
5237 "method" : "DELETE",
5238 "name" : "remove_alias",
56122987 5239 "parameters" : {
44660702 5240 "additionalProperties" : 0,
56122987 5241 "properties" : {
44660702
DM
5242 "digest" : {
5243 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5244 "maxLength" : 40,
5245 "optional" : 1,
013dc89f
DM
5246 "type" : "string",
5247 "typetext" : "<string>"
56122987
DM
5248 },
5249 "name" : {
56122987 5250 "description" : "Alias name.",
44660702 5251 "maxLength" : 64,
7aacca6f 5252 "minLength" : 2,
44660702 5253 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
5254 "type" : "string"
5255 },
7aacca6f 5256 "node" : {
44660702 5257 "description" : "The cluster node name.",
7aacca6f 5258 "format" : "pve-node",
013dc89f
DM
5259 "type" : "string",
5260 "typetext" : "<string>"
44660702
DM
5261 },
5262 "vmid" : {
5263 "description" : "The (unique) ID of the VM.",
5264 "format" : "pve-vmid",
5265 "minimum" : 1,
4bd7df8b 5266 "type" : "integer",
013dc89f 5267 "typetext" : "<integer> (1 - N)"
56122987 5268 }
44660702 5269 }
56122987 5270 },
7aacca6f
DM
5271 "permissions" : {
5272 "check" : [
5273 "perm",
5274 "/vms/{vmid}",
5275 [
5276 "VM.Config.Network"
5277 ]
5278 ]
56122987 5279 },
44660702
DM
5280 "protected" : 1,
5281 "returns" : {
5282 "type" : "null"
5283 }
5284 },
5285 "GET" : {
5286 "description" : "Read alias.",
5287 "method" : "GET",
5288 "name" : "read_alias",
56122987 5289 "parameters" : {
44660702 5290 "additionalProperties" : 0,
56122987 5291 "properties" : {
56122987 5292 "name" : {
7aacca6f 5293 "description" : "Alias name.",
44660702 5294 "maxLength" : 64,
56122987 5295 "minLength" : 2,
44660702 5296 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 5297 "type" : "string"
7aacca6f
DM
5298 },
5299 "node" : {
5300 "description" : "The cluster node name.",
44660702 5301 "format" : "pve-node",
013dc89f
DM
5302 "type" : "string",
5303 "typetext" : "<string>"
44660702
DM
5304 },
5305 "vmid" : {
5306 "description" : "The (unique) ID of the VM.",
5307 "format" : "pve-vmid",
5308 "minimum" : 1,
4bd7df8b 5309 "type" : "integer",
013dc89f 5310 "typetext" : "<integer> (1 - N)"
56122987 5311 }
44660702 5312 }
56122987 5313 },
44660702
DM
5314 "permissions" : {
5315 "check" : [
5316 "perm",
5317 "/vms/{vmid}",
5318 [
5319 "VM.Audit"
5320 ]
5321 ]
56122987 5322 },
44660702
DM
5323 "returns" : {
5324 "type" : "object"
5325 }
7aacca6f 5326 },
44660702
DM
5327 "PUT" : {
5328 "description" : "Update IP or Network alias.",
5329 "method" : "PUT",
5330 "name" : "update_alias",
56122987
DM
5331 "parameters" : {
5332 "additionalProperties" : 0,
5333 "properties" : {
44660702
DM
5334 "cidr" : {
5335 "description" : "Network/IP specification in CIDR format.",
5336 "format" : "IPorCIDR",
013dc89f
DM
5337 "type" : "string",
5338 "typetext" : "<string>"
44660702
DM
5339 },
5340 "comment" : {
5341 "optional" : 1,
013dc89f
DM
5342 "type" : "string",
5343 "typetext" : "<string>"
56122987
DM
5344 },
5345 "digest" : {
44660702 5346 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
5347 "maxLength" : 40,
5348 "optional" : 1,
013dc89f
DM
5349 "type" : "string",
5350 "typetext" : "<string>"
56122987 5351 },
7aacca6f 5352 "name" : {
44660702 5353 "description" : "Alias name.",
56122987
DM
5354 "maxLength" : 64,
5355 "minLength" : 2,
5356 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5357 "type" : "string"
7aacca6f
DM
5358 },
5359 "node" : {
7aacca6f 5360 "description" : "The cluster node name.",
44660702 5361 "format" : "pve-node",
013dc89f
DM
5362 "type" : "string",
5363 "typetext" : "<string>"
44660702
DM
5364 },
5365 "rename" : {
5366 "description" : "Rename an existing alias.",
5367 "maxLength" : 64,
5368 "minLength" : 2,
5369 "optional" : 1,
5370 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5371 "type" : "string"
5372 },
5373 "vmid" : {
5374 "description" : "The (unique) ID of the VM.",
5375 "format" : "pve-vmid",
5376 "minimum" : 1,
4bd7df8b 5377 "type" : "integer",
013dc89f 5378 "typetext" : "<integer> (1 - N)"
56122987
DM
5379 }
5380 }
5381 },
7aacca6f
DM
5382 "permissions" : {
5383 "check" : [
5384 "perm",
5385 "/vms/{vmid}",
5386 [
5387 "VM.Config.Network"
5388 ]
5389 ]
5390 },
5391 "protected" : 1,
7aacca6f
DM
5392 "returns" : {
5393 "type" : "null"
44660702 5394 }
56122987
DM
5395 }
5396 },
44660702 5397 "leaf" : 1,
7aacca6f 5398 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 5399 "text" : "{name}"
56122987
DM
5400 }
5401 ],
5402 "info" : {
44660702
DM
5403 "GET" : {
5404 "description" : "List aliases",
5405 "method" : "GET",
5406 "name" : "get_aliases",
56122987 5407 "parameters" : {
44660702 5408 "additionalProperties" : 0,
56122987 5409 "properties" : {
7aacca6f 5410 "node" : {
7aacca6f 5411 "description" : "The cluster node name.",
44660702 5412 "format" : "pve-node",
013dc89f
DM
5413 "type" : "string",
5414 "typetext" : "<string>"
56122987 5415 },
44660702
DM
5416 "vmid" : {
5417 "description" : "The (unique) ID of the VM.",
5418 "format" : "pve-vmid",
5419 "minimum" : 1,
4bd7df8b 5420 "type" : "integer",
013dc89f 5421 "typetext" : "<integer> (1 - N)"
56122987 5422 }
44660702 5423 }
56122987 5424 },
56122987
DM
5425 "permissions" : {
5426 "check" : [
5427 "perm",
5428 "/vms/{vmid}",
5429 [
44660702 5430 "VM.Audit"
56122987
DM
5431 ]
5432 ]
5433 },
56122987
DM
5434 "returns" : {
5435 "items" : {
5436 "properties" : {
44660702 5437 "cidr" : {
56122987
DM
5438 "type" : "string"
5439 },
44660702
DM
5440 "comment" : {
5441 "optional" : 1,
7aacca6f 5442 "type" : "string"
56122987
DM
5443 },
5444 "digest" : {
56122987 5445 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5446 "maxLength" : 40,
56122987
DM
5447 "optional" : 0,
5448 "type" : "string"
5449 },
44660702 5450 "name" : {
56122987
DM
5451 "type" : "string"
5452 }
44660702
DM
5453 },
5454 "type" : "object"
56122987 5455 },
56122987
DM
5456 "links" : [
5457 {
5458 "href" : "{name}",
5459 "rel" : "child"
5460 }
44660702
DM
5461 ],
5462 "type" : "array"
5463 }
5464 },
5465 "POST" : {
5466 "description" : "Create IP or Network Alias.",
5467 "method" : "POST",
5468 "name" : "create_alias",
56122987 5469 "parameters" : {
7aacca6f 5470 "additionalProperties" : 0,
56122987 5471 "properties" : {
44660702
DM
5472 "cidr" : {
5473 "description" : "Network/IP specification in CIDR format.",
5474 "format" : "IPorCIDR",
013dc89f
DM
5475 "type" : "string",
5476 "typetext" : "<string>"
44660702
DM
5477 },
5478 "comment" : {
5479 "optional" : 1,
013dc89f
DM
5480 "type" : "string",
5481 "typetext" : "<string>"
44660702
DM
5482 },
5483 "name" : {
5484 "description" : "Alias name.",
5485 "maxLength" : 64,
5486 "minLength" : 2,
5487 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5488 "type" : "string"
56122987
DM
5489 },
5490 "node" : {
7aacca6f 5491 "description" : "The cluster node name.",
44660702 5492 "format" : "pve-node",
013dc89f
DM
5493 "type" : "string",
5494 "typetext" : "<string>"
44660702
DM
5495 },
5496 "vmid" : {
5497 "description" : "The (unique) ID of the VM.",
5498 "format" : "pve-vmid",
5499 "minimum" : 1,
4bd7df8b 5500 "type" : "integer",
013dc89f 5501 "typetext" : "<integer> (1 - N)"
56122987 5502 }
7aacca6f 5503 }
56122987 5504 },
44660702
DM
5505 "permissions" : {
5506 "check" : [
5507 "perm",
5508 "/vms/{vmid}",
5509 [
5510 "VM.Config.Network"
5511 ]
5512 ]
5513 },
5514 "protected" : 1,
5515 "returns" : {
5516 "type" : "null"
5517 }
56122987 5518 }
44660702
DM
5519 },
5520 "leaf" : 0,
5521 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
5522 "text" : "aliases"
56122987
DM
5523 },
5524 {
56122987
DM
5525 "children" : [
5526 {
7aacca6f
DM
5527 "children" : [
5528 {
5529 "info" : {
5530 "DELETE" : {
44660702 5531 "description" : "Remove IP or Network from IPSet.",
7aacca6f 5532 "method" : "DELETE",
44660702 5533 "name" : "remove_ip",
7aacca6f 5534 "parameters" : {
44660702 5535 "additionalProperties" : 0,
7aacca6f 5536 "properties" : {
44660702
DM
5537 "cidr" : {
5538 "description" : "Network/IP specification in CIDR format.",
5539 "format" : "IPorCIDRorAlias",
013dc89f
DM
5540 "type" : "string",
5541 "typetext" : "<string>"
44660702
DM
5542 },
5543 "digest" : {
5544 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5545 "maxLength" : 40,
5546 "optional" : 1,
013dc89f
DM
5547 "type" : "string",
5548 "typetext" : "<string>"
44660702 5549 },
7aacca6f 5550 "name" : {
7aacca6f 5551 "description" : "IP set name.",
44660702
DM
5552 "maxLength" : 64,
5553 "minLength" : 2,
7aacca6f 5554 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5555 "type" : "string"
7aacca6f
DM
5556 },
5557 "node" : {
5558 "description" : "The cluster node name.",
44660702 5559 "format" : "pve-node",
013dc89f
DM
5560 "type" : "string",
5561 "typetext" : "<string>"
7aacca6f
DM
5562 },
5563 "vmid" : {
44660702 5564 "description" : "The (unique) ID of the VM.",
7aacca6f 5565 "format" : "pve-vmid",
44660702 5566 "minimum" : 1,
4bd7df8b 5567 "type" : "integer",
013dc89f 5568 "typetext" : "<integer> (1 - N)"
7aacca6f 5569 }
44660702 5570 }
7aacca6f 5571 },
7aacca6f
DM
5572 "permissions" : {
5573 "check" : [
5574 "perm",
5575 "/vms/{vmid}",
5576 [
5577 "VM.Config.Network"
5578 ]
5579 ]
5580 },
5581 "protected" : 1,
44660702
DM
5582 "returns" : {
5583 "type" : "null"
5584 }
56122987 5585 },
44660702
DM
5586 "GET" : {
5587 "description" : "Read IP or Network settings from IPSet.",
5588 "method" : "GET",
5589 "name" : "read_ip",
7aacca6f 5590 "parameters" : {
44660702 5591 "additionalProperties" : 0,
7aacca6f 5592 "properties" : {
7aacca6f 5593 "cidr" : {
44660702 5594 "description" : "Network/IP specification in CIDR format.",
7aacca6f 5595 "format" : "IPorCIDRorAlias",
013dc89f
DM
5596 "type" : "string",
5597 "typetext" : "<string>"
7aacca6f
DM
5598 },
5599 "name" : {
7aacca6f 5600 "description" : "IP set name.",
44660702 5601 "maxLength" : 64,
7aacca6f 5602 "minLength" : 2,
44660702
DM
5603 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5604 "type" : "string"
7aacca6f 5605 },
44660702
DM
5606 "node" : {
5607 "description" : "The cluster node name.",
5608 "format" : "pve-node",
013dc89f
DM
5609 "type" : "string",
5610 "typetext" : "<string>"
7aacca6f 5611 },
44660702
DM
5612 "vmid" : {
5613 "description" : "The (unique) ID of the VM.",
5614 "format" : "pve-vmid",
5615 "minimum" : 1,
4bd7df8b 5616 "type" : "integer",
013dc89f 5617 "typetext" : "<integer> (1 - N)"
7aacca6f 5618 }
44660702 5619 }
7aacca6f 5620 },
44660702
DM
5621 "permissions" : {
5622 "check" : [
5623 "perm",
5624 "/vms/{vmid}",
5625 [
5626 "VM.Audit"
5627 ]
5628 ]
5629 },
5630 "protected" : 1,
7aacca6f 5631 "returns" : {
44660702 5632 "type" : "object"
7aacca6f 5633 }
56122987 5634 },
44660702
DM
5635 "PUT" : {
5636 "description" : "Update IP or Network settings",
5637 "method" : "PUT",
5638 "name" : "update_ip",
7aacca6f
DM
5639 "parameters" : {
5640 "additionalProperties" : 0,
5641 "properties" : {
44660702
DM
5642 "cidr" : {
5643 "description" : "Network/IP specification in CIDR format.",
5644 "format" : "IPorCIDRorAlias",
013dc89f
DM
5645 "type" : "string",
5646 "typetext" : "<string>"
44660702
DM
5647 },
5648 "comment" : {
5649 "optional" : 1,
013dc89f
DM
5650 "type" : "string",
5651 "typetext" : "<string>"
44660702
DM
5652 },
5653 "digest" : {
5654 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5655 "maxLength" : 40,
5656 "optional" : 1,
013dc89f
DM
5657 "type" : "string",
5658 "typetext" : "<string>"
44660702 5659 },
7aacca6f 5660 "name" : {
7aacca6f 5661 "description" : "IP set name.",
44660702 5662 "maxLength" : 64,
7aacca6f 5663 "minLength" : 2,
44660702
DM
5664 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5665 "type" : "string"
7aacca6f
DM
5666 },
5667 "node" : {
7aacca6f 5668 "description" : "The cluster node name.",
44660702 5669 "format" : "pve-node",
013dc89f
DM
5670 "type" : "string",
5671 "typetext" : "<string>"
7aacca6f 5672 },
44660702
DM
5673 "nomatch" : {
5674 "optional" : 1,
013dc89f
DM
5675 "type" : "boolean",
5676 "typetext" : "<boolean>"
7aacca6f
DM
5677 },
5678 "vmid" : {
5679 "description" : "The (unique) ID of the VM.",
44660702 5680 "format" : "pve-vmid",
7aacca6f 5681 "minimum" : 1,
4bd7df8b 5682 "type" : "integer",
013dc89f 5683 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5684 }
5685 }
5686 },
5687 "permissions" : {
5688 "check" : [
5689 "perm",
5690 "/vms/{vmid}",
5691 [
44660702 5692 "VM.Config.Network"
7aacca6f
DM
5693 ]
5694 ]
5695 },
7aacca6f 5696 "protected" : 1,
7aacca6f 5697 "returns" : {
44660702 5698 "type" : "null"
7aacca6f 5699 }
56122987 5700 }
7aacca6f 5701 },
7aacca6f 5702 "leaf" : 1,
44660702
DM
5703 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
5704 "text" : "{cidr}"
7aacca6f 5705 }
44660702
DM
5706 ],
5707 "info" : {
5708 "DELETE" : {
5709 "description" : "Delete IPSet",
5710 "method" : "DELETE",
5711 "name" : "delete_ipset",
5712 "parameters" : {
5713 "additionalProperties" : 0,
5714 "properties" : {
5715 "name" : {
5716 "description" : "IP set name.",
5717 "maxLength" : 64,
5718 "minLength" : 2,
5719 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5720 "type" : "string"
5721 },
5722 "node" : {
5723 "description" : "The cluster node name.",
5724 "format" : "pve-node",
013dc89f
DM
5725 "type" : "string",
5726 "typetext" : "<string>"
44660702
DM
5727 },
5728 "vmid" : {
5729 "description" : "The (unique) ID of the VM.",
5730 "format" : "pve-vmid",
5731 "minimum" : 1,
4bd7df8b 5732 "type" : "integer",
013dc89f 5733 "typetext" : "<integer> (1 - N)"
44660702
DM
5734 }
5735 }
7aacca6f 5736 },
44660702
DM
5737 "permissions" : {
5738 "check" : [
5739 "perm",
5740 "/vms/{vmid}",
5741 [
5742 "VM.Config.Network"
5743 ]
5744 ]
7aacca6f 5745 },
44660702
DM
5746 "protected" : 1,
5747 "returns" : {
5748 "type" : "null"
5749 }
5750 },
5751 "GET" : {
5752 "description" : "List IPSet content",
5753 "method" : "GET",
5754 "name" : "get_ipset",
5755 "parameters" : {
5756 "additionalProperties" : 0,
5757 "properties" : {
5758 "name" : {
5759 "description" : "IP set name.",
5760 "maxLength" : 64,
5761 "minLength" : 2,
5762 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5763 "type" : "string"
5764 },
5765 "node" : {
5766 "description" : "The cluster node name.",
5767 "format" : "pve-node",
013dc89f
DM
5768 "type" : "string",
5769 "typetext" : "<string>"
44660702
DM
5770 },
5771 "vmid" : {
5772 "description" : "The (unique) ID of the VM.",
5773 "format" : "pve-vmid",
5774 "minimum" : 1,
4bd7df8b 5775 "type" : "integer",
013dc89f 5776 "typetext" : "<integer> (1 - N)"
44660702
DM
5777 }
5778 }
7aacca6f 5779 },
44660702
DM
5780 "permissions" : {
5781 "check" : [
5782 "perm",
5783 "/vms/{vmid}",
5784 [
5785 "VM.Audit"
5786 ]
5787 ]
7aacca6f 5788 },
44660702
DM
5789 "returns" : {
5790 "items" : {
5791 "properties" : {
5792 "cidr" : {
5793 "type" : "string"
5794 },
5795 "comment" : {
5796 "optional" : 1,
5797 "type" : "string"
5798 },
5799 "digest" : {
5800 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5801 "maxLength" : 40,
5802 "optional" : 0,
5803 "type" : "string"
5804 },
5805 "nomatch" : {
5806 "optional" : 1,
5807 "type" : "boolean"
5808 }
5809 },
5810 "type" : "object"
5811 },
5812 "links" : [
5813 {
5814 "href" : "{cidr}",
5815 "rel" : "child"
5816 }
5817 ],
5818 "type" : "array"
56122987
DM
5819 }
5820 },
44660702
DM
5821 "POST" : {
5822 "description" : "Add IP or Network to IPSet.",
5823 "method" : "POST",
5824 "name" : "create_ip",
5825 "parameters" : {
5826 "additionalProperties" : 0,
5827 "properties" : {
5828 "cidr" : {
5829 "description" : "Network/IP specification in CIDR format.",
5830 "format" : "IPorCIDRorAlias",
013dc89f
DM
5831 "type" : "string",
5832 "typetext" : "<string>"
44660702
DM
5833 },
5834 "comment" : {
5835 "optional" : 1,
013dc89f
DM
5836 "type" : "string",
5837 "typetext" : "<string>"
44660702
DM
5838 },
5839 "name" : {
5840 "description" : "IP set name.",
5841 "maxLength" : 64,
5842 "minLength" : 2,
5843 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5844 "type" : "string"
5845 },
5846 "node" : {
5847 "description" : "The cluster node name.",
5848 "format" : "pve-node",
013dc89f
DM
5849 "type" : "string",
5850 "typetext" : "<string>"
44660702
DM
5851 },
5852 "nomatch" : {
5853 "optional" : 1,
013dc89f
DM
5854 "type" : "boolean",
5855 "typetext" : "<boolean>"
44660702
DM
5856 },
5857 "vmid" : {
5858 "description" : "The (unique) ID of the VM.",
5859 "format" : "pve-vmid",
5860 "minimum" : 1,
4bd7df8b 5861 "type" : "integer",
013dc89f 5862 "typetext" : "<integer> (1 - N)"
44660702
DM
5863 }
5864 }
5865 },
5866 "permissions" : {
5867 "check" : [
5868 "perm",
5869 "/vms/{vmid}",
5870 [
5871 "VM.Config.Network"
5872 ]
5873 ]
5874 },
5875 "protected" : 1,
5876 "returns" : {
5877 "type" : "null"
5878 }
5879 }
5880 },
5881 "leaf" : 0,
5882 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
5883 "text" : "{name}"
5884 }
5885 ],
5886 "info" : {
5887 "GET" : {
5888 "description" : "List IPSets",
5889 "method" : "GET",
5890 "name" : "ipset_index",
5891 "parameters" : {
5892 "additionalProperties" : 0,
5893 "properties" : {
5894 "node" : {
5895 "description" : "The cluster node name.",
5896 "format" : "pve-node",
013dc89f
DM
5897 "type" : "string",
5898 "typetext" : "<string>"
44660702
DM
5899 },
5900 "vmid" : {
5901 "description" : "The (unique) ID of the VM.",
5902 "format" : "pve-vmid",
5903 "minimum" : 1,
4bd7df8b 5904 "type" : "integer",
013dc89f 5905 "typetext" : "<integer> (1 - N)"
44660702
DM
5906 }
5907 }
56122987
DM
5908 },
5909 "permissions" : {
5910 "check" : [
5911 "perm",
5912 "/vms/{vmid}",
5913 [
44660702 5914 "VM.Audit"
56122987
DM
5915 ]
5916 ]
5917 },
7aacca6f 5918 "returns" : {
7aacca6f
DM
5919 "items" : {
5920 "properties" : {
7aacca6f
DM
5921 "comment" : {
5922 "optional" : 1,
5923 "type" : "string"
5924 },
5925 "digest" : {
7aacca6f 5926 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
5927 "maxLength" : 40,
5928 "optional" : 0,
5929 "type" : "string"
5930 },
5931 "name" : {
5932 "description" : "IP set name.",
5933 "maxLength" : 64,
5934 "minLength" : 2,
5935 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5936 "type" : "string"
7aacca6f
DM
5937 }
5938 },
5939 "type" : "object"
5940 },
5941 "links" : [
5942 {
44660702
DM
5943 "href" : "{name}",
5944 "rel" : "child"
7aacca6f 5945 }
44660702
DM
5946 ],
5947 "type" : "array"
5948 }
5949 },
5950 "POST" : {
5951 "description" : "Create new IPSet",
5952 "method" : "POST",
5953 "name" : "create_ipset",
56122987
DM
5954 "parameters" : {
5955 "additionalProperties" : 0,
5956 "properties" : {
44660702
DM
5957 "comment" : {
5958 "optional" : 1,
013dc89f
DM
5959 "type" : "string",
5960 "typetext" : "<string>"
56122987 5961 },
44660702
DM
5962 "digest" : {
5963 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5964 "maxLength" : 40,
5965 "optional" : 1,
013dc89f
DM
5966 "type" : "string",
5967 "typetext" : "<string>"
44660702
DM
5968 },
5969 "name" : {
5970 "description" : "IP set name.",
5971 "maxLength" : 64,
5972 "minLength" : 2,
5973 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5974 "type" : "string"
5975 },
5976 "node" : {
5977 "description" : "The cluster node name.",
5978 "format" : "pve-node",
013dc89f
DM
5979 "type" : "string",
5980 "typetext" : "<string>"
44660702
DM
5981 },
5982 "rename" : {
5983 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
5984 "maxLength" : 64,
5985 "minLength" : 2,
5986 "optional" : 1,
5987 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5988 "type" : "string"
5989 },
5990 "vmid" : {
5991 "description" : "The (unique) ID of the VM.",
5992 "format" : "pve-vmid",
5993 "minimum" : 1,
4bd7df8b 5994 "type" : "integer",
013dc89f 5995 "typetext" : "<integer> (1 - N)"
44660702
DM
5996 }
5997 }
5998 },
7aacca6f
DM
5999 "permissions" : {
6000 "check" : [
6001 "perm",
6002 "/vms/{vmid}",
6003 [
6004 "VM.Config.Network"
6005 ]
6006 ]
6007 },
44660702 6008 "protected" : 1,
56122987 6009 "returns" : {
7aacca6f 6010 "type" : "null"
44660702
DM
6011 }
6012 }
6013 },
6014 "leaf" : 0,
6015 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
6016 "text" : "ipset"
6017 },
6018 {
6019 "info" : {
6020 "GET" : {
6021 "description" : "Get VM firewall options.",
6022 "method" : "GET",
6023 "name" : "get_options",
7aacca6f
DM
6024 "parameters" : {
6025 "additionalProperties" : 0,
56122987 6026 "properties" : {
7aacca6f
DM
6027 "node" : {
6028 "description" : "The cluster node name.",
44660702 6029 "format" : "pve-node",
013dc89f
DM
6030 "type" : "string",
6031 "typetext" : "<string>"
7aacca6f 6032 },
44660702
DM
6033 "vmid" : {
6034 "description" : "The (unique) ID of the VM.",
6035 "format" : "pve-vmid",
6036 "minimum" : 1,
4bd7df8b 6037 "type" : "integer",
013dc89f 6038 "typetext" : "<integer> (1 - N)"
44660702
DM
6039 }
6040 }
6041 },
6042 "permissions" : {
6043 "check" : [
6044 "perm",
6045 "/vms/{vmid}",
6046 [
6047 "VM.Audit"
6048 ]
6049 ]
6050 },
6051 "proxyto" : "node",
6052 "returns" : {
6053 "properties" : {
6054 "dhcp" : {
6055 "description" : "Enable DHCP.",
56122987 6056 "optional" : 1,
44660702 6057 "type" : "boolean"
56122987 6058 },
44660702
DM
6059 "enable" : {
6060 "description" : "Enable/disable firewall rules.",
7aacca6f 6061 "optional" : 1,
44660702 6062 "type" : "boolean"
56122987 6063 },
44660702
DM
6064 "ipfilter" : {
6065 "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 6066 "optional" : 1,
44660702 6067 "type" : "boolean"
7aacca6f 6068 },
56122987 6069 "log_level_in" : {
7aacca6f 6070 "description" : "Log level for incoming traffic.",
56122987
DM
6071 "enum" : [
6072 "emerg",
6073 "alert",
6074 "crit",
6075 "err",
6076 "warning",
6077 "notice",
6078 "info",
6079 "debug",
6080 "nolog"
6081 ],
56122987
DM
6082 "optional" : 1,
6083 "type" : "string"
6084 },
44660702
DM
6085 "log_level_out" : {
6086 "description" : "Log level for outgoing traffic.",
6087 "enum" : [
6088 "emerg",
6089 "alert",
6090 "crit",
6091 "err",
6092 "warning",
6093 "notice",
6094 "info",
6095 "debug",
6096 "nolog"
6097 ],
6098 "optional" : 1,
6099 "type" : "string"
6100 },
6101 "macfilter" : {
6102 "description" : "Enable/disable MAC address filter.",
56122987 6103 "optional" : 1,
7aacca6f 6104 "type" : "boolean"
56122987
DM
6105 },
6106 "ndp" : {
44660702 6107 "description" : "Enable NDP.",
56122987 6108 "optional" : 1,
44660702 6109 "type" : "boolean"
56122987
DM
6110 },
6111 "policy_in" : {
56122987
DM
6112 "description" : "Input policy.",
6113 "enum" : [
6114 "ACCEPT",
6115 "REJECT",
6116 "DROP"
44660702
DM
6117 ],
6118 "optional" : 1,
6119 "type" : "string"
56122987 6120 },
44660702
DM
6121 "policy_out" : {
6122 "description" : "Output policy.",
6123 "enum" : [
6124 "ACCEPT",
6125 "REJECT",
6126 "DROP"
6127 ],
6128 "optional" : 1,
6129 "type" : "string"
6130 },
6131 "radv" : {
6132 "description" : "Allow sending Router Advertisement.",
6133 "optional" : 1,
6134 "type" : "boolean"
6135 }
6136 },
6137 "type" : "object"
6138 }
6139 },
6140 "PUT" : {
6141 "description" : "Set Firewall options.",
6142 "method" : "PUT",
6143 "name" : "set_options",
6144 "parameters" : {
6145 "additionalProperties" : 0,
6146 "properties" : {
6147 "delete" : {
6148 "description" : "A list of settings you want to delete.",
6149 "format" : "pve-configid-list",
6150 "optional" : 1,
013dc89f
DM
6151 "type" : "string",
6152 "typetext" : "<string>"
44660702
DM
6153 },
6154 "dhcp" : {
6155 "description" : "Enable DHCP.",
7aacca6f 6156 "optional" : 1,
013dc89f
DM
6157 "type" : "boolean",
6158 "typetext" : "<boolean>"
7aacca6f
DM
6159 },
6160 "digest" : {
6161 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 6162 "maxLength" : 40,
7aacca6f 6163 "optional" : 1,
013dc89f
DM
6164 "type" : "string",
6165 "typetext" : "<string>"
7aacca6f
DM
6166 },
6167 "enable" : {
6168 "description" : "Enable/disable firewall rules.",
56122987 6169 "optional" : 1,
013dc89f
DM
6170 "type" : "boolean",
6171 "typetext" : "<boolean>"
7aacca6f 6172 },
44660702
DM
6173 "ipfilter" : {
6174 "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.",
6175 "optional" : 1,
013dc89f
DM
6176 "type" : "boolean",
6177 "typetext" : "<boolean>"
44660702
DM
6178 },
6179 "log_level_in" : {
6180 "description" : "Log level for incoming traffic.",
56122987
DM
6181 "enum" : [
6182 "emerg",
6183 "alert",
6184 "crit",
6185 "err",
6186 "warning",
6187 "notice",
6188 "info",
6189 "debug",
6190 "nolog"
7aacca6f 6191 ],
7aacca6f 6192 "optional" : 1,
44660702 6193 "type" : "string"
7aacca6f 6194 },
44660702
DM
6195 "log_level_out" : {
6196 "description" : "Log level for outgoing traffic.",
56122987
DM
6197 "enum" : [
6198 "emerg",
6199 "alert",
6200 "crit",
6201 "err",
6202 "warning",
6203 "notice",
6204 "info",
6205 "debug",
6206 "nolog"
6207 ],
56122987 6208 "optional" : 1,
44660702 6209 "type" : "string"
56122987
DM
6210 },
6211 "macfilter" : {
56122987 6212 "description" : "Enable/disable MAC address filter.",
7aacca6f 6213 "optional" : 1,
013dc89f
DM
6214 "type" : "boolean",
6215 "typetext" : "<boolean>"
56122987 6216 },
44660702
DM
6217 "ndp" : {
6218 "description" : "Enable NDP.",
6219 "optional" : 1,
013dc89f
DM
6220 "type" : "boolean",
6221 "typetext" : "<boolean>"
44660702
DM
6222 },
6223 "node" : {
6224 "description" : "The cluster node name.",
6225 "format" : "pve-node",
013dc89f
DM
6226 "type" : "string",
6227 "typetext" : "<string>"
44660702 6228 },
56122987 6229 "policy_in" : {
44660702 6230 "description" : "Input policy.",
56122987
DM
6231 "enum" : [
6232 "ACCEPT",
6233 "REJECT",
6234 "DROP"
7aacca6f 6235 ],
56122987 6236 "optional" : 1,
7aacca6f 6237 "type" : "string"
56122987 6238 },
44660702
DM
6239 "policy_out" : {
6240 "description" : "Output policy.",
6241 "enum" : [
6242 "ACCEPT",
6243 "REJECT",
6244 "DROP"
6245 ],
56122987 6246 "optional" : 1,
44660702 6247 "type" : "string"
56122987 6248 },
44660702
DM
6249 "radv" : {
6250 "description" : "Allow sending Router Advertisement.",
56122987 6251 "optional" : 1,
013dc89f
DM
6252 "type" : "boolean",
6253 "typetext" : "<boolean>"
7aacca6f
DM
6254 },
6255 "vmid" : {
6256 "description" : "The (unique) ID of the VM.",
44660702 6257 "format" : "pve-vmid",
7aacca6f 6258 "minimum" : 1,
4bd7df8b 6259 "type" : "integer",
013dc89f 6260 "typetext" : "<integer> (1 - N)"
56122987
DM
6261 }
6262 }
6263 },
56122987
DM
6264 "permissions" : {
6265 "check" : [
6266 "perm",
6267 "/vms/{vmid}",
6268 [
44660702 6269 "VM.Config.Network"
56122987
DM
6270 ]
6271 ]
7aacca6f 6272 },
44660702 6273 "protected" : 1,
7aacca6f 6274 "proxyto" : "node",
44660702
DM
6275 "returns" : {
6276 "type" : "null"
6277 }
56122987
DM
6278 }
6279 },
44660702 6280 "leaf" : 1,
7aacca6f 6281 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 6282 "text" : "options"
56122987
DM
6283 },
6284 {
56122987
DM
6285 "info" : {
6286 "GET" : {
44660702
DM
6287 "description" : "Read firewall log",
6288 "method" : "GET",
6289 "name" : "log",
6290 "parameters" : {
6291 "additionalProperties" : 0,
6292 "properties" : {
6293 "limit" : {
6294 "minimum" : 0,
6295 "optional" : 1,
4bd7df8b 6296 "type" : "integer",
013dc89f 6297 "typetext" : "<integer> (0 - N)"
56122987 6298 },
44660702
DM
6299 "node" : {
6300 "description" : "The cluster node name.",
6301 "format" : "pve-node",
013dc89f
DM
6302 "type" : "string",
6303 "typetext" : "<string>"
44660702
DM
6304 },
6305 "start" : {
6306 "minimum" : 0,
6307 "optional" : 1,
4bd7df8b 6308 "type" : "integer",
013dc89f 6309 "typetext" : "<integer> (0 - N)"
44660702
DM
6310 },
6311 "vmid" : {
6312 "description" : "The (unique) ID of the VM.",
6313 "format" : "pve-vmid",
6314 "minimum" : 1,
4bd7df8b 6315 "type" : "integer",
013dc89f 6316 "typetext" : "<integer> (1 - N)"
44660702
DM
6317 }
6318 }
7aacca6f 6319 },
7aacca6f
DM
6320 "permissions" : {
6321 "check" : [
6322 "perm",
6323 "/vms/{vmid}",
6324 [
6325 "VM.Console"
6326 ]
6327 ]
56122987 6328 },
7aacca6f 6329 "protected" : 1,
44660702
DM
6330 "proxyto" : "node",
6331 "returns" : {
6332 "items" : {
6333 "properties" : {
6334 "n" : {
6335 "description" : "Line number",
6336 "type" : "integer"
6337 },
6338 "t" : {
6339 "description" : "Line text",
6340 "type" : "string"
6341 }
56122987 6342 },
44660702 6343 "type" : "object"
7aacca6f 6344 },
44660702 6345 "type" : "array"
7aacca6f
DM
6346 }
6347 }
6348 },
44660702 6349 "leaf" : 1,
7aacca6f 6350 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 6351 "text" : "log"
7aacca6f
DM
6352 },
6353 {
7aacca6f
DM
6354 "info" : {
6355 "GET" : {
6356 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
6357 "method" : "GET",
6358 "name" : "refs",
56122987 6359 "parameters" : {
44660702 6360 "additionalProperties" : 0,
56122987
DM
6361 "properties" : {
6362 "node" : {
7aacca6f 6363 "description" : "The cluster node name.",
44660702 6364 "format" : "pve-node",
013dc89f
DM
6365 "type" : "string",
6366 "typetext" : "<string>"
56122987
DM
6367 },
6368 "type" : {
56122987
DM
6369 "description" : "Only list references of specified type.",
6370 "enum" : [
6371 "alias",
6372 "ipset"
7aacca6f 6373 ],
44660702
DM
6374 "optional" : 1,
6375 "type" : "string"
6376 },
6377 "vmid" : {
6378 "description" : "The (unique) ID of the VM.",
6379 "format" : "pve-vmid",
6380 "minimum" : 1,
4bd7df8b 6381 "type" : "integer",
013dc89f 6382 "typetext" : "<integer> (1 - N)"
56122987 6383 }
44660702
DM
6384 }
6385 },
6386 "permissions" : {
6387 "check" : [
6388 "perm",
6389 "/vms/{vmid}",
6390 [
6391 "VM.Audit"
6392 ]
6393 ]
56122987
DM
6394 },
6395 "returns" : {
56122987
DM
6396 "items" : {
6397 "properties" : {
44660702
DM
6398 "comment" : {
6399 "optional" : 1,
56122987
DM
6400 "type" : "string"
6401 },
6402 "name" : {
6403 "type" : "string"
6404 },
44660702
DM
6405 "type" : {
6406 "enum" : [
6407 "alias",
6408 "ipset"
6409 ],
7aacca6f 6410 "type" : "string"
56122987
DM
6411 }
6412 },
6413 "type" : "object"
7aacca6f
DM
6414 },
6415 "type" : "array"
6416 }
56122987 6417 }
44660702
DM
6418 },
6419 "leaf" : 1,
6420 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
6421 "text" : "refs"
56122987
DM
6422 }
6423 ],
56122987
DM
6424 "info" : {
6425 "GET" : {
44660702 6426 "description" : "Directory index.",
56122987 6427 "method" : "GET",
44660702 6428 "name" : "index",
56122987 6429 "parameters" : {
44660702 6430 "additionalProperties" : 0,
56122987
DM
6431 "properties" : {
6432 "node" : {
6433 "description" : "The cluster node name.",
44660702 6434 "format" : "pve-node",
013dc89f
DM
6435 "type" : "string",
6436 "typetext" : "<string>"
56122987
DM
6437 },
6438 "vmid" : {
44660702 6439 "description" : "The (unique) ID of the VM.",
56122987
DM
6440 "format" : "pve-vmid",
6441 "minimum" : 1,
4bd7df8b 6442 "type" : "integer",
013dc89f 6443 "typetext" : "<integer> (1 - N)"
56122987 6444 }
44660702 6445 }
56122987 6446 },
56122987 6447 "permissions" : {
27a7acb2
DM
6448 "user" : "all"
6449 },
6450 "returns" : {
6451 "items" : {
6452 "properties" : {},
6453 "type" : "object"
6454 },
6455 "links" : [
6456 {
6457 "href" : "{name}",
6458 "rel" : "child"
6459 }
6460 ],
6461 "type" : "array"
6462 }
6463 }
6464 },
6465 "leaf" : 0,
6466 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
6467 "text" : "firewall"
6468 },
6469 {
6470 "children" : [
6471 {
6472 "info" : {
6473 "POST" : {
6474 "description" : "Execute fsfreeze-freeze.",
6475 "method" : "POST",
6476 "name" : "fsfreeze-freeze",
6477 "parameters" : {
6478 "additionalProperties" : 0,
6479 "properties" : {
6480 "node" : {
6481 "description" : "The cluster node name.",
6482 "format" : "pve-node",
6483 "type" : "string",
6484 "typetext" : "<string>"
6485 },
6486 "vmid" : {
6487 "description" : "The (unique) ID of the VM.",
6488 "format" : "pve-vmid",
6489 "minimum" : 1,
6490 "type" : "integer",
6491 "typetext" : "<integer> (1 - N)"
6492 }
6493 }
6494 },
6495 "permissions" : {
6496 "check" : [
6497 "perm",
6498 "/vms/{vmid}",
6499 [
6500 "VM.Monitor"
6501 ]
6502 ]
6503 },
6504 "protected" : 1,
6505 "proxyto" : "node",
6506 "returns" : {
6507 "description" : "Returns an object with a single `result` property.",
6508 "type" : "object"
6509 }
6510 }
6511 },
6512 "leaf" : 1,
6513 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
6514 "text" : "fsfreeze-freeze"
6515 },
6516 {
6517 "info" : {
6518 "POST" : {
6519 "description" : "Execute fsfreeze-status.",
6520 "method" : "POST",
6521 "name" : "fsfreeze-status",
6522 "parameters" : {
6523 "additionalProperties" : 0,
6524 "properties" : {
6525 "node" : {
6526 "description" : "The cluster node name.",
6527 "format" : "pve-node",
6528 "type" : "string",
6529 "typetext" : "<string>"
6530 },
6531 "vmid" : {
6532 "description" : "The (unique) ID of the VM.",
6533 "format" : "pve-vmid",
6534 "minimum" : 1,
6535 "type" : "integer",
6536 "typetext" : "<integer> (1 - N)"
6537 }
6538 }
6539 },
6540 "permissions" : {
6541 "check" : [
6542 "perm",
6543 "/vms/{vmid}",
6544 [
6545 "VM.Monitor"
6546 ]
6547 ]
6548 },
6549 "protected" : 1,
6550 "proxyto" : "node",
6551 "returns" : {
6552 "description" : "Returns an object with a single `result` property.",
6553 "type" : "object"
6554 }
6555 }
6556 },
6557 "leaf" : 1,
6558 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
6559 "text" : "fsfreeze-status"
6560 },
6561 {
6562 "info" : {
6563 "POST" : {
6564 "description" : "Execute fsfreeze-thaw.",
6565 "method" : "POST",
6566 "name" : "fsfreeze-thaw",
6567 "parameters" : {
6568 "additionalProperties" : 0,
6569 "properties" : {
6570 "node" : {
6571 "description" : "The cluster node name.",
6572 "format" : "pve-node",
6573 "type" : "string",
6574 "typetext" : "<string>"
6575 },
6576 "vmid" : {
6577 "description" : "The (unique) ID of the VM.",
6578 "format" : "pve-vmid",
6579 "minimum" : 1,
6580 "type" : "integer",
6581 "typetext" : "<integer> (1 - N)"
6582 }
6583 }
6584 },
6585 "permissions" : {
6586 "check" : [
6587 "perm",
6588 "/vms/{vmid}",
6589 [
6590 "VM.Monitor"
6591 ]
6592 ]
6593 },
6594 "protected" : 1,
6595 "proxyto" : "node",
6596 "returns" : {
6597 "description" : "Returns an object with a single `result` property.",
6598 "type" : "object"
6599 }
6600 }
6601 },
6602 "leaf" : 1,
6603 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
6604 "text" : "fsfreeze-thaw"
6605 },
6606 {
6607 "info" : {
6608 "POST" : {
6609 "description" : "Execute fstrim.",
6610 "method" : "POST",
6611 "name" : "fstrim",
6612 "parameters" : {
6613 "additionalProperties" : 0,
6614 "properties" : {
6615 "node" : {
6616 "description" : "The cluster node name.",
6617 "format" : "pve-node",
6618 "type" : "string",
6619 "typetext" : "<string>"
6620 },
6621 "vmid" : {
6622 "description" : "The (unique) ID of the VM.",
6623 "format" : "pve-vmid",
6624 "minimum" : 1,
6625 "type" : "integer",
6626 "typetext" : "<integer> (1 - N)"
6627 }
6628 }
6629 },
6630 "permissions" : {
6631 "check" : [
6632 "perm",
6633 "/vms/{vmid}",
6634 [
6635 "VM.Monitor"
6636 ]
6637 ]
6638 },
6639 "protected" : 1,
6640 "proxyto" : "node",
6641 "returns" : {
6642 "description" : "Returns an object with a single `result` property.",
6643 "type" : "object"
6644 }
6645 }
6646 },
6647 "leaf" : 1,
6648 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
6649 "text" : "fstrim"
6650 },
6651 {
6652 "info" : {
6653 "GET" : {
6654 "description" : "Execute get-fsinfo.",
6655 "method" : "GET",
6656 "name" : "get-fsinfo",
6657 "parameters" : {
6658 "additionalProperties" : 0,
6659 "properties" : {
6660 "node" : {
6661 "description" : "The cluster node name.",
6662 "format" : "pve-node",
6663 "type" : "string",
6664 "typetext" : "<string>"
6665 },
6666 "vmid" : {
6667 "description" : "The (unique) ID of the VM.",
6668 "format" : "pve-vmid",
6669 "minimum" : 1,
6670 "type" : "integer",
6671 "typetext" : "<integer> (1 - N)"
6672 }
6673 }
6674 },
6675 "permissions" : {
6676 "check" : [
6677 "perm",
6678 "/vms/{vmid}",
6679 [
6680 "VM.Monitor"
6681 ]
6682 ]
6683 },
6684 "protected" : 1,
6685 "proxyto" : "node",
6686 "returns" : {
6687 "description" : "Returns an object with a single `result` property.",
6688 "type" : "object"
6689 }
6690 }
6691 },
6692 "leaf" : 1,
6693 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
6694 "text" : "get-fsinfo"
6695 },
6696 {
6697 "info" : {
6698 "GET" : {
6699 "description" : "Execute get-host-name.",
6700 "method" : "GET",
6701 "name" : "get-host-name",
6702 "parameters" : {
6703 "additionalProperties" : 0,
6704 "properties" : {
6705 "node" : {
6706 "description" : "The cluster node name.",
6707 "format" : "pve-node",
6708 "type" : "string",
6709 "typetext" : "<string>"
6710 },
6711 "vmid" : {
6712 "description" : "The (unique) ID of the VM.",
6713 "format" : "pve-vmid",
6714 "minimum" : 1,
6715 "type" : "integer",
6716 "typetext" : "<integer> (1 - N)"
6717 }
6718 }
6719 },
6720 "permissions" : {
6721 "check" : [
6722 "perm",
6723 "/vms/{vmid}",
6724 [
6725 "VM.Monitor"
6726 ]
6727 ]
6728 },
6729 "protected" : 1,
6730 "proxyto" : "node",
6731 "returns" : {
6732 "description" : "Returns an object with a single `result` property.",
6733 "type" : "object"
6734 }
6735 }
6736 },
6737 "leaf" : 1,
6738 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
6739 "text" : "get-host-name"
6740 },
6741 {
6742 "info" : {
6743 "GET" : {
6744 "description" : "Execute get-memory-block-info.",
6745 "method" : "GET",
6746 "name" : "get-memory-block-info",
6747 "parameters" : {
6748 "additionalProperties" : 0,
6749 "properties" : {
6750 "node" : {
6751 "description" : "The cluster node name.",
6752 "format" : "pve-node",
6753 "type" : "string",
6754 "typetext" : "<string>"
6755 },
6756 "vmid" : {
6757 "description" : "The (unique) ID of the VM.",
6758 "format" : "pve-vmid",
6759 "minimum" : 1,
6760 "type" : "integer",
6761 "typetext" : "<integer> (1 - N)"
6762 }
6763 }
6764 },
6765 "permissions" : {
6766 "check" : [
6767 "perm",
6768 "/vms/{vmid}",
6769 [
6770 "VM.Monitor"
6771 ]
6772 ]
6773 },
6774 "protected" : 1,
6775 "proxyto" : "node",
6776 "returns" : {
6777 "description" : "Returns an object with a single `result` property.",
6778 "type" : "object"
6779 }
6780 }
6781 },
6782 "leaf" : 1,
6783 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
6784 "text" : "get-memory-block-info"
6785 },
6786 {
6787 "info" : {
6788 "GET" : {
6789 "description" : "Execute get-memory-blocks.",
6790 "method" : "GET",
6791 "name" : "get-memory-blocks",
6792 "parameters" : {
6793 "additionalProperties" : 0,
6794 "properties" : {
6795 "node" : {
6796 "description" : "The cluster node name.",
6797 "format" : "pve-node",
6798 "type" : "string",
6799 "typetext" : "<string>"
6800 },
6801 "vmid" : {
6802 "description" : "The (unique) ID of the VM.",
6803 "format" : "pve-vmid",
6804 "minimum" : 1,
6805 "type" : "integer",
6806 "typetext" : "<integer> (1 - N)"
6807 }
6808 }
6809 },
6810 "permissions" : {
6811 "check" : [
6812 "perm",
6813 "/vms/{vmid}",
6814 [
6815 "VM.Monitor"
6816 ]
6817 ]
6818 },
6819 "protected" : 1,
6820 "proxyto" : "node",
6821 "returns" : {
6822 "description" : "Returns an object with a single `result` property.",
6823 "type" : "object"
6824 }
6825 }
6826 },
6827 "leaf" : 1,
6828 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
6829 "text" : "get-memory-blocks"
6830 },
6831 {
6832 "info" : {
6833 "GET" : {
6834 "description" : "Execute get-osinfo.",
6835 "method" : "GET",
6836 "name" : "get-osinfo",
6837 "parameters" : {
6838 "additionalProperties" : 0,
6839 "properties" : {
6840 "node" : {
6841 "description" : "The cluster node name.",
6842 "format" : "pve-node",
6843 "type" : "string",
6844 "typetext" : "<string>"
6845 },
6846 "vmid" : {
6847 "description" : "The (unique) ID of the VM.",
6848 "format" : "pve-vmid",
6849 "minimum" : 1,
6850 "type" : "integer",
6851 "typetext" : "<integer> (1 - N)"
6852 }
6853 }
6854 },
6855 "permissions" : {
6856 "check" : [
6857 "perm",
6858 "/vms/{vmid}",
6859 [
6860 "VM.Monitor"
6861 ]
6862 ]
6863 },
6864 "protected" : 1,
6865 "proxyto" : "node",
6866 "returns" : {
6867 "description" : "Returns an object with a single `result` property.",
6868 "type" : "object"
6869 }
6870 }
6871 },
6872 "leaf" : 1,
6873 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
6874 "text" : "get-osinfo"
6875 },
6876 {
6877 "info" : {
6878 "GET" : {
6879 "description" : "Execute get-time.",
6880 "method" : "GET",
6881 "name" : "get-time",
6882 "parameters" : {
6883 "additionalProperties" : 0,
6884 "properties" : {
6885 "node" : {
6886 "description" : "The cluster node name.",
6887 "format" : "pve-node",
6888 "type" : "string",
6889 "typetext" : "<string>"
6890 },
6891 "vmid" : {
6892 "description" : "The (unique) ID of the VM.",
6893 "format" : "pve-vmid",
6894 "minimum" : 1,
6895 "type" : "integer",
6896 "typetext" : "<integer> (1 - N)"
6897 }
6898 }
6899 },
6900 "permissions" : {
6901 "check" : [
6902 "perm",
6903 "/vms/{vmid}",
6904 [
6905 "VM.Monitor"
6906 ]
6907 ]
6908 },
6909 "protected" : 1,
6910 "proxyto" : "node",
6911 "returns" : {
6912 "description" : "Returns an object with a single `result` property.",
6913 "type" : "object"
6914 }
6915 }
6916 },
6917 "leaf" : 1,
6918 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
6919 "text" : "get-time"
6920 },
6921 {
6922 "info" : {
6923 "GET" : {
6924 "description" : "Execute get-timezone.",
6925 "method" : "GET",
6926 "name" : "get-timezone",
6927 "parameters" : {
6928 "additionalProperties" : 0,
6929 "properties" : {
6930 "node" : {
6931 "description" : "The cluster node name.",
6932 "format" : "pve-node",
6933 "type" : "string",
6934 "typetext" : "<string>"
6935 },
6936 "vmid" : {
6937 "description" : "The (unique) ID of the VM.",
6938 "format" : "pve-vmid",
6939 "minimum" : 1,
6940 "type" : "integer",
6941 "typetext" : "<integer> (1 - N)"
6942 }
6943 }
6944 },
6945 "permissions" : {
6946 "check" : [
6947 "perm",
6948 "/vms/{vmid}",
6949 [
6950 "VM.Monitor"
6951 ]
6952 ]
6953 },
6954 "protected" : 1,
6955 "proxyto" : "node",
6956 "returns" : {
6957 "description" : "Returns an object with a single `result` property.",
6958 "type" : "object"
6959 }
6960 }
6961 },
6962 "leaf" : 1,
6963 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
6964 "text" : "get-timezone"
6965 },
6966 {
6967 "info" : {
6968 "GET" : {
6969 "description" : "Execute get-users.",
6970 "method" : "GET",
6971 "name" : "get-users",
6972 "parameters" : {
6973 "additionalProperties" : 0,
6974 "properties" : {
6975 "node" : {
6976 "description" : "The cluster node name.",
6977 "format" : "pve-node",
6978 "type" : "string",
6979 "typetext" : "<string>"
6980 },
6981 "vmid" : {
6982 "description" : "The (unique) ID of the VM.",
6983 "format" : "pve-vmid",
6984 "minimum" : 1,
6985 "type" : "integer",
6986 "typetext" : "<integer> (1 - N)"
6987 }
6988 }
6989 },
6990 "permissions" : {
6991 "check" : [
6992 "perm",
6993 "/vms/{vmid}",
6994 [
6995 "VM.Monitor"
6996 ]
6997 ]
6998 },
6999 "protected" : 1,
7000 "proxyto" : "node",
7001 "returns" : {
7002 "description" : "Returns an object with a single `result` property.",
7003 "type" : "object"
7004 }
7005 }
7006 },
7007 "leaf" : 1,
7008 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
7009 "text" : "get-users"
7010 },
7011 {
7012 "info" : {
7013 "GET" : {
7014 "description" : "Execute get-vcpus.",
7015 "method" : "GET",
7016 "name" : "get-vcpus",
7017 "parameters" : {
7018 "additionalProperties" : 0,
7019 "properties" : {
7020 "node" : {
7021 "description" : "The cluster node name.",
7022 "format" : "pve-node",
7023 "type" : "string",
7024 "typetext" : "<string>"
7025 },
7026 "vmid" : {
7027 "description" : "The (unique) ID of the VM.",
7028 "format" : "pve-vmid",
7029 "minimum" : 1,
7030 "type" : "integer",
7031 "typetext" : "<integer> (1 - N)"
7032 }
7033 }
7034 },
7035 "permissions" : {
7036 "check" : [
7037 "perm",
7038 "/vms/{vmid}",
7039 [
7040 "VM.Monitor"
7041 ]
7042 ]
7043 },
7044 "protected" : 1,
7045 "proxyto" : "node",
7046 "returns" : {
7047 "description" : "Returns an object with a single `result` property.",
7048 "type" : "object"
7049 }
7050 }
7051 },
7052 "leaf" : 1,
7053 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
7054 "text" : "get-vcpus"
7055 },
7056 {
7057 "info" : {
7058 "GET" : {
7059 "description" : "Execute info.",
7060 "method" : "GET",
7061 "name" : "info",
7062 "parameters" : {
7063 "additionalProperties" : 0,
7064 "properties" : {
7065 "node" : {
7066 "description" : "The cluster node name.",
7067 "format" : "pve-node",
7068 "type" : "string",
7069 "typetext" : "<string>"
7070 },
7071 "vmid" : {
7072 "description" : "The (unique) ID of the VM.",
7073 "format" : "pve-vmid",
7074 "minimum" : 1,
7075 "type" : "integer",
7076 "typetext" : "<integer> (1 - N)"
7077 }
7078 }
7079 },
7080 "permissions" : {
7081 "check" : [
7082 "perm",
7083 "/vms/{vmid}",
7084 [
7085 "VM.Monitor"
7086 ]
7087 ]
7088 },
7089 "protected" : 1,
7090 "proxyto" : "node",
7091 "returns" : {
7092 "description" : "Returns an object with a single `result` property.",
7093 "type" : "object"
7094 }
7095 }
7096 },
7097 "leaf" : 1,
7098 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
7099 "text" : "info"
7100 },
7101 {
7102 "info" : {
7103 "GET" : {
7104 "description" : "Execute network-get-interfaces.",
7105 "method" : "GET",
7106 "name" : "network-get-interfaces",
7107 "parameters" : {
7108 "additionalProperties" : 0,
7109 "properties" : {
7110 "node" : {
7111 "description" : "The cluster node name.",
7112 "format" : "pve-node",
7113 "type" : "string",
7114 "typetext" : "<string>"
7115 },
7116 "vmid" : {
7117 "description" : "The (unique) ID of the VM.",
7118 "format" : "pve-vmid",
7119 "minimum" : 1,
7120 "type" : "integer",
7121 "typetext" : "<integer> (1 - N)"
7122 }
7123 }
7124 },
7125 "permissions" : {
7126 "check" : [
7127 "perm",
7128 "/vms/{vmid}",
7129 [
7130 "VM.Monitor"
7131 ]
7132 ]
7133 },
7134 "protected" : 1,
7135 "proxyto" : "node",
7136 "returns" : {
7137 "description" : "Returns an object with a single `result` property.",
7138 "type" : "object"
7139 }
7140 }
7141 },
7142 "leaf" : 1,
7143 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
7144 "text" : "network-get-interfaces"
7145 },
7146 {
7147 "info" : {
7148 "POST" : {
7149 "description" : "Execute ping.",
7150 "method" : "POST",
7151 "name" : "ping",
7152 "parameters" : {
7153 "additionalProperties" : 0,
7154 "properties" : {
7155 "node" : {
7156 "description" : "The cluster node name.",
7157 "format" : "pve-node",
7158 "type" : "string",
7159 "typetext" : "<string>"
7160 },
7161 "vmid" : {
7162 "description" : "The (unique) ID of the VM.",
7163 "format" : "pve-vmid",
7164 "minimum" : 1,
7165 "type" : "integer",
7166 "typetext" : "<integer> (1 - N)"
7167 }
7168 }
7169 },
7170 "permissions" : {
7171 "check" : [
7172 "perm",
7173 "/vms/{vmid}",
7174 [
7175 "VM.Monitor"
7176 ]
7177 ]
7178 },
7179 "protected" : 1,
7180 "proxyto" : "node",
7181 "returns" : {
7182 "description" : "Returns an object with a single `result` property.",
7183 "type" : "object"
7184 }
7185 }
7186 },
7187 "leaf" : 1,
7188 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
7189 "text" : "ping"
7190 },
7191 {
7192 "info" : {
7193 "POST" : {
7194 "description" : "Execute shutdown.",
7195 "method" : "POST",
7196 "name" : "shutdown",
7197 "parameters" : {
7198 "additionalProperties" : 0,
7199 "properties" : {
7200 "node" : {
7201 "description" : "The cluster node name.",
7202 "format" : "pve-node",
7203 "type" : "string",
7204 "typetext" : "<string>"
7205 },
7206 "vmid" : {
7207 "description" : "The (unique) ID of the VM.",
7208 "format" : "pve-vmid",
7209 "minimum" : 1,
7210 "type" : "integer",
7211 "typetext" : "<integer> (1 - N)"
7212 }
7213 }
7214 },
7215 "permissions" : {
7216 "check" : [
7217 "perm",
7218 "/vms/{vmid}",
7219 [
7220 "VM.Monitor"
7221 ]
7222 ]
7223 },
7224 "protected" : 1,
7225 "proxyto" : "node",
7226 "returns" : {
7227 "description" : "Returns an object with a single `result` property.",
7228 "type" : "object"
7229 }
7230 }
7231 },
7232 "leaf" : 1,
7233 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
7234 "text" : "shutdown"
7235 },
7236 {
7237 "info" : {
7238 "POST" : {
7239 "description" : "Execute suspend-disk.",
7240 "method" : "POST",
7241 "name" : "suspend-disk",
7242 "parameters" : {
7243 "additionalProperties" : 0,
7244 "properties" : {
7245 "node" : {
7246 "description" : "The cluster node name.",
7247 "format" : "pve-node",
7248 "type" : "string",
7249 "typetext" : "<string>"
7250 },
7251 "vmid" : {
7252 "description" : "The (unique) ID of the VM.",
7253 "format" : "pve-vmid",
7254 "minimum" : 1,
7255 "type" : "integer",
7256 "typetext" : "<integer> (1 - N)"
7257 }
7258 }
7259 },
7260 "permissions" : {
7261 "check" : [
7262 "perm",
7263 "/vms/{vmid}",
7264 [
7265 "VM.Monitor"
7266 ]
7267 ]
7268 },
7269 "protected" : 1,
7270 "proxyto" : "node",
7271 "returns" : {
7272 "description" : "Returns an object with a single `result` property.",
7273 "type" : "object"
7274 }
7275 }
7276 },
7277 "leaf" : 1,
7278 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
7279 "text" : "suspend-disk"
7280 },
7281 {
7282 "info" : {
7283 "POST" : {
7284 "description" : "Execute suspend-hybrid.",
7285 "method" : "POST",
7286 "name" : "suspend-hybrid",
7287 "parameters" : {
7288 "additionalProperties" : 0,
7289 "properties" : {
7290 "node" : {
7291 "description" : "The cluster node name.",
7292 "format" : "pve-node",
7293 "type" : "string",
7294 "typetext" : "<string>"
7295 },
7296 "vmid" : {
7297 "description" : "The (unique) ID of the VM.",
7298 "format" : "pve-vmid",
7299 "minimum" : 1,
7300 "type" : "integer",
7301 "typetext" : "<integer> (1 - N)"
7302 }
7303 }
7304 },
7305 "permissions" : {
7306 "check" : [
7307 "perm",
7308 "/vms/{vmid}",
7309 [
7310 "VM.Monitor"
7311 ]
7312 ]
7313 },
7314 "protected" : 1,
7315 "proxyto" : "node",
7316 "returns" : {
7317 "description" : "Returns an object with a single `result` property.",
7318 "type" : "object"
7319 }
7320 }
7321 },
7322 "leaf" : 1,
7323 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
7324 "text" : "suspend-hybrid"
7325 },
7326 {
7327 "info" : {
7328 "POST" : {
7329 "description" : "Execute suspend-ram.",
7330 "method" : "POST",
7331 "name" : "suspend-ram",
7332 "parameters" : {
7333 "additionalProperties" : 0,
7334 "properties" : {
7335 "node" : {
7336 "description" : "The cluster node name.",
7337 "format" : "pve-node",
7338 "type" : "string",
7339 "typetext" : "<string>"
7340 },
7341 "vmid" : {
7342 "description" : "The (unique) ID of the VM.",
7343 "format" : "pve-vmid",
7344 "minimum" : 1,
7345 "type" : "integer",
7346 "typetext" : "<integer> (1 - N)"
7347 }
7348 }
7349 },
7350 "permissions" : {
7351 "check" : [
7352 "perm",
7353 "/vms/{vmid}",
7354 [
7355 "VM.Monitor"
7356 ]
7357 ]
7358 },
7359 "protected" : 1,
7360 "proxyto" : "node",
7361 "returns" : {
7362 "description" : "Returns an object with a single `result` property.",
7363 "type" : "object"
7364 }
7365 }
7366 },
7367 "leaf" : 1,
7368 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
7369 "text" : "suspend-ram"
4d47f125
TL
7370 },
7371 {
7372 "info" : {
7373 "POST" : {
7374 "description" : "Sets the password for the given user to the given password",
7375 "method" : "POST",
7376 "name" : "set-user-password",
7377 "parameters" : {
7378 "additionalProperties" : 0,
7379 "properties" : {
7380 "crypted" : {
7381 "default" : 0,
7382 "description" : "set to 1 if the password has already been passed through crypt()",
7383 "optional" : 1,
7384 "type" : "boolean",
7385 "typetext" : "<boolean>"
7386 },
7387 "node" : {
7388 "description" : "The cluster node name.",
7389 "format" : "pve-node",
7390 "type" : "string",
7391 "typetext" : "<string>"
7392 },
7393 "password" : {
7394 "description" : "The new password.",
7395 "maxLength" : 64,
7396 "minLength" : 5,
7397 "type" : "string",
7398 "typetext" : "<string>"
7399 },
7400 "username" : {
7401 "description" : "The user to set the password for.",
7402 "type" : "string",
7403 "typetext" : "<string>"
7404 },
7405 "vmid" : {
7406 "description" : "The (unique) ID of the VM.",
7407 "format" : "pve-vmid",
7408 "minimum" : 1,
7409 "type" : "integer",
7410 "typetext" : "<integer> (1 - N)"
7411 }
7412 }
27a7acb2 7413 },
4d47f125
TL
7414 "permissions" : {
7415 "check" : [
7416 "perm",
7417 "/vms/{vmid}",
7418 [
7419 "VM.Monitor"
7420 ]
7421 ]
7422 },
7423 "protected" : 1,
7424 "proxyto" : "node",
7425 "returns" : {
7426 "description" : "Returns an object with a single `result` property.",
7427 "type" : "object"
27a7acb2
DM
7428 }
7429 }
7430 },
4d47f125
TL
7431 "leaf" : 1,
7432 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
7433 "text" : "set-user-password"
27a7acb2 7434 },
4d47f125
TL
7435 {
7436 "info" : {
7437 "POST" : {
7438 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
7439 "method" : "POST",
7440 "name" : "exec",
7441 "parameters" : {
7442 "additionalProperties" : 0,
7443 "properties" : {
7444 "command" : {
7445 "description" : "The command as a list of program + arguments",
7446 "format" : "string-alist",
7447 "type" : "string",
7448 "typetext" : "<string>"
7449 },
7450 "node" : {
7451 "description" : "The cluster node name.",
7452 "format" : "pve-node",
7453 "type" : "string",
7454 "typetext" : "<string>"
7455 },
7456 "vmid" : {
7457 "description" : "The (unique) ID of the VM.",
7458 "format" : "pve-vmid",
7459 "minimum" : 1,
7460 "type" : "integer",
7461 "typetext" : "<integer> (1 - N)"
7462 }
7463 }
27a7acb2 7464 },
4d47f125
TL
7465 "permissions" : {
7466 "check" : [
7467 "perm",
7468 "/vms/{vmid}",
7469 [
7470 "VM.Monitor"
7471 ]
7472 ]
27a7acb2 7473 },
4d47f125
TL
7474 "protected" : 1,
7475 "proxyto" : "node",
7476 "returns" : {
7477 "properties" : {
7478 "pid" : {
7479 "description" : "The PID of the process started by the guest-agent.",
7480 "type" : "integer"
7481 }
7482 },
7483 "type" : "object"
27a7acb2
DM
7484 }
7485 }
7486 },
4d47f125
TL
7487 "leaf" : 1,
7488 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
7489 "text" : "exec"
7490 },
7491 {
7492 "info" : {
7493 "GET" : {
7494 "description" : "Gets the status of the given pid started by the guest-agent",
7495 "method" : "GET",
7496 "name" : "exec-status",
7497 "parameters" : {
7498 "additionalProperties" : 0,
7499 "properties" : {
7500 "node" : {
7501 "description" : "The cluster node name.",
7502 "format" : "pve-node",
7503 "type" : "string",
7504 "typetext" : "<string>"
7505 },
7506 "pid" : {
7507 "description" : "The PID to query",
7508 "type" : "integer",
7509 "typetext" : "<integer>"
7510 },
7511 "vmid" : {
7512 "description" : "The (unique) ID of the VM.",
7513 "format" : "pve-vmid",
7514 "minimum" : 1,
7515 "type" : "integer",
7516 "typetext" : "<integer> (1 - N)"
7517 }
7518 }
56122987 7519 },
4d47f125
TL
7520 "permissions" : {
7521 "check" : [
7522 "perm",
7523 "/vms/{vmid}",
7524 [
7525 "VM.Monitor"
7526 ]
7527 ]
56122987 7528 },
4d47f125
TL
7529 "protected" : 1,
7530 "proxyto" : "node",
7531 "returns" : {
7532 "properties" : {
7533 "err-data" : {
7534 "description" : "stderr of the process",
7535 "optional" : 1,
7536 "type" : "string"
7537 },
7538 "err-truncated" : {
7539 "description" : "true if stderr was not fully captured",
7540 "optional" : 1,
7541 "type" : "boolean"
7542 },
7543 "exitcode" : {
7544 "description" : "process exit code if it was normally terminated.",
7545 "optional" : 1,
7546 "type" : "integer"
7547 },
7548 "exited" : {
7549 "description" : "Tells if the given command has exited yet.",
7550 "type" : "boolean"
7551 },
7552 "out-data" : {
7553 "description" : "stdout of the process",
7554 "optional" : 1,
7555 "type" : "string"
7556 },
7557 "out-truncated" : {
7558 "description" : "true if stdout was not fully captured",
7559 "optional" : 1,
7560 "type" : "boolean"
7561 },
7562 "signal" : {
7563 "description" : "signal number or exception code if the process was abnormally terminated.",
7564 "optional" : 1,
7565 "type" : "integer"
7566 }
7567 },
7568 "type" : "object"
56122987
DM
7569 }
7570 }
7571 },
4d47f125
TL
7572 "leaf" : 1,
7573 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
7574 "text" : "exec-status"
7575 },
7576 {
7577 "info" : {
7578 "GET" : {
7579 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
7580 "method" : "GET",
7581 "name" : "file-read",
7582 "parameters" : {
7583 "additionalProperties" : 0,
7584 "properties" : {
7585 "file" : {
7586 "description" : "The path to the file",
7587 "type" : "string",
7588 "typetext" : "<string>"
7589 },
7590 "node" : {
7591 "description" : "The cluster node name.",
7592 "format" : "pve-node",
7593 "type" : "string",
7594 "typetext" : "<string>"
7595 },
7596 "vmid" : {
7597 "description" : "The (unique) ID of the VM.",
7598 "format" : "pve-vmid",
7599 "minimum" : 1,
7600 "type" : "integer",
7601 "typetext" : "<integer> (1 - N)"
7602 }
7603 }
7604 },
7605 "permissions" : {
7606 "check" : [
7607 "perm",
7608 "/vms/{vmid}",
7609 [
7610 "VM.Monitor"
7611 ]
7612 ]
7613 },
7614 "protected" : 1,
7615 "proxyto" : "node",
7616 "returns" : {
7617 "description" : "Returns an object with a `content` property.",
7618 "properties" : {
7619 "content" : {
7620 "description" : "The content of the file, maximum 16777216",
7621 "type" : "string"
7622 },
7623 "truncated" : {
7624 "description" : "If set to 1, the output is truncated and not complete",
7625 "optional" : 1,
7626 "type" : "boolean"
7627 }
7628 },
7629 "type" : "object"
7630 }
7631 }
56122987 7632 },
4d47f125
TL
7633 "leaf" : 1,
7634 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
7635 "text" : "file-read"
7636 },
7637 {
7638 "info" : {
7639 "POST" : {
7640 "description" : "Writes the given file via guest agent.",
7641 "method" : "POST",
7642 "name" : "file-write",
7643 "parameters" : {
7644 "additionalProperties" : 0,
7645 "properties" : {
7646 "content" : {
7647 "description" : "The content to write into the file.",
7648 "maxLength" : 61440,
7649 "type" : "string",
7650 "typetext" : "<string>"
7651 },
7652 "file" : {
7653 "description" : "The path to the file.",
7654 "type" : "string",
7655 "typetext" : "<string>"
7656 },
7657 "node" : {
7658 "description" : "The cluster node name.",
7659 "format" : "pve-node",
7660 "type" : "string",
7661 "typetext" : "<string>"
7662 },
7663 "vmid" : {
7664 "description" : "The (unique) ID of the VM.",
7665 "format" : "pve-vmid",
7666 "minimum" : 1,
7667 "type" : "integer",
7668 "typetext" : "<integer> (1 - N)"
7669 }
7670 }
7671 },
7672 "permissions" : {
7673 "check" : [
7674 "perm",
7675 "/vms/{vmid}",
7676 [
7677 "VM.Monitor"
7678 ]
7679 ]
7680 },
7681 "protected" : 1,
7682 "proxyto" : "node",
7683 "returns" : {
7684 "type" : "null"
7aacca6f 7685 }
4d47f125
TL
7686 }
7687 },
7688 "leaf" : 1,
7689 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
7690 "text" : "file-write"
56122987 7691 }
4d47f125 7692 ],
7aacca6f 7693 "info" : {
56122987 7694 "GET" : {
4d47f125 7695 "description" : "Qemu Agent command index.",
44660702 7696 "method" : "GET",
4d47f125 7697 "name" : "index",
56122987 7698 "parameters" : {
4d47f125 7699 "additionalProperties" : 1,
56122987
DM
7700 "properties" : {
7701 "node" : {
44660702 7702 "description" : "The cluster node name.",
56122987 7703 "format" : "pve-node",
013dc89f
DM
7704 "type" : "string",
7705 "typetext" : "<string>"
56122987 7706 },
7aacca6f 7707 "vmid" : {
7aacca6f
DM
7708 "description" : "The (unique) ID of the VM.",
7709 "format" : "pve-vmid",
44660702 7710 "minimum" : 1,
4bd7df8b 7711 "type" : "integer",
013dc89f 7712 "typetext" : "<integer> (1 - N)"
56122987 7713 }
44660702 7714 }
56122987 7715 },
56122987 7716 "permissions" : {
4d47f125 7717 "user" : "all"
56122987 7718 },
4d47f125 7719 "proxyto" : "node",
7aacca6f 7720 "returns" : {
4d47f125 7721 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 7722 "items" : {
44660702
DM
7723 "properties" : {},
7724 "type" : "object"
7725 },
4d47f125
TL
7726 "links" : [
7727 {
7728 "href" : "{name}",
7729 "rel" : "child"
7730 }
7731 ],
44660702 7732 "type" : "array"
7aacca6f 7733 }
4d47f125
TL
7734 },
7735 "POST" : {
7736 "description" : "Execute Qemu Guest Agent commands.",
7737 "method" : "POST",
7738 "name" : "agent",
44660702
DM
7739 "parameters" : {
7740 "additionalProperties" : 0,
7741 "properties" : {
4d47f125
TL
7742 "command" : {
7743 "description" : "The QGA command.",
7744 "enum" : [
7745 "fsfreeze-freeze",
7746 "fsfreeze-status",
7747 "fsfreeze-thaw",
7748 "fstrim",
7749 "get-fsinfo",
7750 "get-host-name",
7751 "get-memory-block-info",
7752 "get-memory-blocks",
7753 "get-osinfo",
7754 "get-time",
7755 "get-timezone",
7756 "get-users",
7757 "get-vcpus",
7758 "info",
7759 "network-get-interfaces",
7760 "ping",
7761 "shutdown",
7762 "suspend-disk",
7763 "suspend-hybrid",
7764 "suspend-ram"
7765 ],
7766 "type" : "string"
7767 },
7768 "node" : {
7769 "description" : "The cluster node name.",
7770 "format" : "pve-node",
7771 "type" : "string",
7772 "typetext" : "<string>"
7773 },
7774 "vmid" : {
7775 "description" : "The (unique) ID of the VM.",
7776 "format" : "pve-vmid",
7777 "minimum" : 1,
7778 "type" : "integer",
7779 "typetext" : "<integer> (1 - N)"
7780 }
7781 }
7782 },
7783 "permissions" : {
7784 "check" : [
7785 "perm",
7786 "/vms/{vmid}",
7787 [
7788 "VM.Monitor"
7789 ]
7790 ]
7791 },
7792 "protected" : 1,
7793 "proxyto" : "node",
7794 "returns" : {
7795 "description" : "Returns an object with a single `result` property.",
7796 "type" : "object"
7797 }
7798 }
7799 },
7800 "leaf" : 0,
7801 "path" : "/nodes/{node}/qemu/{vmid}/agent",
7802 "text" : "agent"
7803 },
7804 {
7805 "info" : {
7806 "GET" : {
7807 "description" : "Read VM RRD statistics (returns PNG)",
7808 "method" : "GET",
7809 "name" : "rrd",
7810 "parameters" : {
7811 "additionalProperties" : 0,
7812 "properties" : {
7813 "cf" : {
7814 "description" : "The RRD consolidation function",
7815 "enum" : [
7816 "AVERAGE",
7817 "MAX"
7818 ],
44660702 7819 "optional" : 1,
4d47f125
TL
7820 "type" : "string"
7821 },
7822 "ds" : {
7823 "description" : "The list of datasources you want to display.",
7824 "format" : "pve-configid-list",
7825 "type" : "string",
7826 "typetext" : "<string>"
44660702
DM
7827 },
7828 "node" : {
7829 "description" : "The cluster node name.",
7830 "format" : "pve-node",
013dc89f
DM
7831 "type" : "string",
7832 "typetext" : "<string>"
44660702 7833 },
4d47f125
TL
7834 "timeframe" : {
7835 "description" : "Specify the time frame you are interested in.",
7836 "enum" : [
7837 "hour",
7838 "day",
7839 "week",
7840 "month",
7841 "year"
7842 ],
7843 "type" : "string"
7844 },
44660702
DM
7845 "vmid" : {
7846 "description" : "The (unique) ID of the VM.",
7847 "format" : "pve-vmid",
7848 "minimum" : 1,
4bd7df8b 7849 "type" : "integer",
013dc89f 7850 "typetext" : "<integer> (1 - N)"
44660702
DM
7851 }
7852 }
7aacca6f 7853 },
56122987
DM
7854 "permissions" : {
7855 "check" : [
7856 "perm",
7857 "/vms/{vmid}",
7858 [
44660702
DM
7859 "VM.Audit"
7860 ]
56122987
DM
7861 ]
7862 },
4d47f125 7863 "protected" : 1,
44660702
DM
7864 "returns" : {
7865 "properties" : {
4d47f125 7866 "filename" : {
44660702
DM
7867 "type" : "string"
7868 }
7869 },
7870 "type" : "object"
7871 }
4d47f125
TL
7872 }
7873 },
7874 "leaf" : 1,
7875 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
7876 "text" : "rrd"
7877 },
7878 {
7879 "info" : {
7880 "GET" : {
7881 "description" : "Read VM RRD statistics",
7882 "method" : "GET",
7883 "name" : "rrddata",
7884 "parameters" : {
7885 "additionalProperties" : 0,
7886 "properties" : {
7887 "cf" : {
7888 "description" : "The RRD consolidation function",
7889 "enum" : [
7890 "AVERAGE",
7891 "MAX"
7892 ],
7893 "optional" : 1,
7894 "type" : "string"
7895 },
7896 "node" : {
7897 "description" : "The cluster node name.",
7898 "format" : "pve-node",
7899 "type" : "string",
7900 "typetext" : "<string>"
7901 },
7902 "timeframe" : {
7903 "description" : "Specify the time frame you are interested in.",
7904 "enum" : [
7905 "hour",
7906 "day",
7907 "week",
7908 "month",
7909 "year"
7910 ],
7911 "type" : "string"
7912 },
7913 "vmid" : {
7914 "description" : "The (unique) ID of the VM.",
7915 "format" : "pve-vmid",
7916 "minimum" : 1,
7917 "type" : "integer",
7918 "typetext" : "<integer> (1 - N)"
7919 }
7920 }
7921 },
7922 "permissions" : {
7923 "check" : [
7924 "perm",
7925 "/vms/{vmid}",
7926 [
7927 "VM.Audit"
7928 ]
7929 ]
7930 },
7931 "protected" : 1,
7932 "returns" : {
7933 "items" : {
7934 "properties" : {},
7935 "type" : "object"
7936 },
7937 "type" : "array"
7938 }
7939 }
7940 },
7941 "leaf" : 1,
7942 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
7943 "text" : "rrddata"
7944 },
7945 {
7946 "info" : {
7947 "GET" : {
7948 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
7949 "method" : "GET",
7950 "name" : "vm_config",
56122987 7951 "parameters" : {
44660702 7952 "additionalProperties" : 0,
4d47f125
TL
7953 "properties" : {
7954 "current" : {
7955 "default" : 0,
7956 "description" : "Get current values (instead of pending values).",
7957 "optional" : 1,
7958 "type" : "boolean",
7959 "typetext" : "<boolean>"
7960 },
7961 "node" : {
7962 "description" : "The cluster node name.",
7963 "format" : "pve-node",
7964 "type" : "string",
7965 "typetext" : "<string>"
7966 },
7967 "vmid" : {
7968 "description" : "The (unique) ID of the VM.",
7969 "format" : "pve-vmid",
7970 "minimum" : 1,
7971 "type" : "integer",
7972 "typetext" : "<integer> (1 - N)"
7973 }
7974 }
7975 },
7976 "permissions" : {
7977 "check" : [
7978 "perm",
7979 "/vms/{vmid}",
7980 [
7981 "VM.Audit"
7982 ]
7983 ]
7984 },
7985 "proxyto" : "node",
7986 "returns" : {
7987 "description" : "The current VM configuration.",
56122987 7988 "properties" : {
44660702
DM
7989 "acpi" : {
7990 "default" : 1,
7991 "description" : "Enable/disable ACPI.",
7992 "optional" : 1,
4d47f125 7993 "type" : "boolean"
44660702
DM
7994 },
7995 "agent" : {
4d47f125
TL
7996 "description" : "Enable/disable Qemu GuestAgent and its properties.",
7997 "format" : {
7998 "enabled" : {
7999 "default" : 0,
8000 "default_key" : 1,
8001 "description" : "Enable/disable Qemu GuestAgent.",
8002 "type" : "boolean"
8003 },
8004 "fstrim_cloned_disks" : {
8005 "default" : 0,
8006 "description" : "Run fstrim after cloning/moving a disk.",
8007 "optional" : 1,
8008 "type" : "boolean"
8009 }
8010 },
7aacca6f 8011 "optional" : 1,
4d47f125 8012 "type" : "string"
7aacca6f 8013 },
e2d681b3
TL
8014 "arch" : {
8015 "description" : "Virtual processor architecture. Defaults to the host.",
8016 "enum" : [
8017 "x86_64",
8018 "aarch64"
8019 ],
8020 "optional" : 1,
8021 "type" : "string"
8022 },
44660702 8023 "args" : {
c2993fe5 8024 "description" : "Arbitrary arguments passed to kvm.",
44660702 8025 "optional" : 1,
c2993fe5
DM
8026 "type" : "string",
8027 "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 8028 },
44660702
DM
8029 "autostart" : {
8030 "default" : 0,
8031 "description" : "Automatic restart after crash (currently ignored).",
56122987 8032 "optional" : 1,
4d47f125 8033 "type" : "boolean"
56122987 8034 },
4d47f125
TL
8035 "balloon" : {
8036 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
8037 "minimum" : 0,
7aacca6f 8038 "optional" : 1,
4d47f125 8039 "type" : "integer"
7aacca6f 8040 },
44660702
DM
8041 "bios" : {
8042 "default" : "seabios",
8043 "description" : "Select BIOS implementation.",
8044 "enum" : [
8045 "seabios",
8046 "ovmf"
8047 ],
56122987 8048 "optional" : 1,
44660702 8049 "type" : "string"
7aacca6f 8050 },
44660702
DM
8051 "boot" : {
8052 "default" : "cdn",
8053 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
8054 "optional" : 1,
8055 "pattern" : "[acdn]{1,4}",
8056 "type" : "string"
8057 },
8058 "bootdisk" : {
8059 "description" : "Enable booting from specified disk.",
8060 "format" : "pve-qm-bootdisk",
8061 "optional" : 1,
8062 "pattern" : "(ide|sata|scsi|virtio)\\d+",
8063 "type" : "string"
8064 },
8065 "cdrom" : {
8066 "description" : "This is an alias for option -ide2",
de0983cb 8067 "format" : "pve-qm-ide",
44660702 8068 "optional" : 1,
7aacca6f 8069 "type" : "string",
013dc89f 8070 "typetext" : "<volume>"
44660702 8071 },
27a7acb2
DM
8072 "cipassword" : {
8073 "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.",
8074 "optional" : 1,
4d47f125 8075 "type" : "string"
27a7acb2
DM
8076 },
8077 "citype" : {
8078 "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.",
8079 "enum" : [
8080 "configdrive2",
8081 "nocloud"
8082 ],
8083 "optional" : 1,
8084 "type" : "string"
8085 },
8086 "ciuser" : {
8087 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
8088 "optional" : 1,
4d47f125 8089 "type" : "string"
27a7acb2 8090 },
44660702
DM
8091 "cores" : {
8092 "default" : 1,
8093 "description" : "The number of cores per socket.",
8094 "minimum" : 1,
7aacca6f 8095 "optional" : 1,
4d47f125 8096 "type" : "integer"
7aacca6f 8097 },
44660702
DM
8098 "cpu" : {
8099 "description" : "Emulated CPU type.",
56122987 8100 "format" : {
44660702
DM
8101 "cputype" : {
8102 "default" : "kvm64",
7aacca6f 8103 "default_key" : 1,
44660702 8104 "description" : "Emulated CPU type.",
56122987 8105 "enum" : [
44660702
DM
8106 "486",
8107 "athlon",
f004f5b9 8108 "Broadwell",
35a75dd3 8109 "Broadwell-IBRS",
f004f5b9 8110 "Broadwell-noTSX",
35a75dd3 8111 "Broadwell-noTSX-IBRS",
f004f5b9 8112 "Conroe",
44660702 8113 "core2duo",
f004f5b9 8114 "coreduo",
27a7acb2
DM
8115 "EPYC",
8116 "EPYC-IBPB",
f004f5b9 8117 "Haswell",
35a75dd3 8118 "Haswell-IBRS",
f004f5b9 8119 "Haswell-noTSX",
35a75dd3 8120 "Haswell-noTSX-IBRS",
f004f5b9
DM
8121 "host",
8122 "IvyBridge",
35a75dd3 8123 "IvyBridge-IBRS",
44660702
DM
8124 "kvm32",
8125 "kvm64",
35a75dd3 8126 "max",
44660702 8127 "Nehalem",
35a75dd3 8128 "Nehalem-IBRS",
44660702
DM
8129 "Opteron_G1",
8130 "Opteron_G2",
8131 "Opteron_G3",
8132 "Opteron_G4",
8133 "Opteron_G5",
f004f5b9
DM
8134 "Penryn",
8135 "pentium",
8136 "pentium2",
8137 "pentium3",
8138 "phenom",
8139 "qemu32",
8140 "qemu64",
8141 "SandyBridge",
35a75dd3 8142 "SandyBridge-IBRS",
5d9c884c 8143 "Skylake-Client",
35a75dd3
DM
8144 "Skylake-Client-IBRS",
8145 "Skylake-Server",
8146 "Skylake-Server-IBRS",
8147 "Westmere",
8148 "Westmere-IBRS"
56122987 8149 ],
56122987
DM
8150 "type" : "string"
8151 },
35a75dd3 8152 "flags" : {
4d47f125 8153 "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
8154 "format_description" : "+FLAG[;-FLAG...]",
8155 "optional" : 1,
4d47f125 8156 "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
8157 "type" : "string"
8158 },
44660702
DM
8159 "hidden" : {
8160 "default" : 0,
8161 "description" : "Do not identify as a KVM virtual machine.",
56122987 8162 "optional" : 1,
44660702
DM
8163 "type" : "boolean"
8164 }
8165 },
8166 "optional" : 1,
4d47f125 8167 "type" : "string"
44660702
DM
8168 },
8169 "cpulimit" : {
8170 "default" : 0,
c2993fe5 8171 "description" : "Limit of CPU usage.",
44660702
DM
8172 "maximum" : 128,
8173 "minimum" : 0,
8174 "optional" : 1,
c2993fe5
DM
8175 "type" : "number",
8176 "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
8177 },
8178 "cpuunits" : {
de0983cb 8179 "default" : 1024,
c2993fe5 8180 "description" : "CPU weight for a VM.",
2489d6df
WB
8181 "maximum" : 262144,
8182 "minimum" : 2,
44660702 8183 "optional" : 1,
c2993fe5 8184 "type" : "integer",
2489d6df 8185 "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 8186 },
44660702
DM
8187 "description" : {
8188 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
8189 "optional" : 1,
4d47f125 8190 "type" : "string"
44660702
DM
8191 },
8192 "digest" : {
4d47f125
TL
8193 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
8194 "type" : "string"
44660702 8195 },
4d47f125
TL
8196 "efidisk0" : {
8197 "description" : "Configure a Disk for storing EFI vars",
8198 "format" : {
8199 "file" : {
8200 "default_key" : 1,
8201 "description" : "The drive's backing volume.",
8202 "format" : "pve-volume-id-or-qm-path",
8203 "format_description" : "volume",
8204 "type" : "string"
8205 },
8206 "format" : {
8207 "description" : "The drive's backing file's data format.",
8208 "enum" : [
8209 "raw",
8210 "cow",
8211 "qcow",
8212 "qed",
8213 "qcow2",
8214 "vmdk",
8215 "cloop"
8216 ],
8217 "optional" : 1,
8218 "type" : "string"
8219 },
8220 "size" : {
8221 "description" : "Disk size. This is purely informational and has no effect.",
8222 "format" : "disk-size",
8223 "format_description" : "DiskSize",
8224 "optional" : 1,
8225 "type" : "string"
8226 },
8227 "volume" : {
8228 "alias" : "file"
8229 }
8230 },
44660702 8231 "optional" : 1,
4d47f125 8232 "type" : "string"
44660702
DM
8233 },
8234 "freeze" : {
8235 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
8236 "optional" : 1,
4d47f125 8237 "type" : "boolean"
44660702
DM
8238 },
8239 "hostpci[n]" : {
c2993fe5 8240 "description" : "Map host PCI devices into guest.",
44660702
DM
8241 "format" : "pve-qm-hostpci",
8242 "optional" : 1,
57b78691
DM
8243 "type" : "string",
8244 "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
8245 },
8246 "hotplug" : {
8247 "default" : "network,disk,usb",
8248 "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'.",
8249 "format" : "pve-hotplug-features",
8250 "optional" : 1,
4d47f125 8251 "type" : "string"
44660702 8252 },
4bd7df8b
DM
8253 "hugepages" : {
8254 "description" : "Enable/disable hugepages memory.",
8255 "enum" : [
8256 "any",
8257 "2",
8258 "1024"
8259 ],
8260 "optional" : 1,
8261 "type" : "string"
8262 },
44660702
DM
8263 "ide[n]" : {
8264 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
8265 "format" : {
8266 "aio" : {
8267 "description" : "AIO type to use.",
8268 "enum" : [
8269 "native",
8270 "threads"
56122987 8271 ],
56122987 8272 "optional" : 1,
44660702 8273 "type" : "string"
56122987 8274 },
44660702
DM
8275 "backup" : {
8276 "description" : "Whether the drive should be included when making backups.",
56122987 8277 "optional" : 1,
44660702 8278 "type" : "boolean"
56122987 8279 },
7aacca6f 8280 "bps" : {
de0983cb 8281 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
8282 "format_description" : "bps",
8283 "optional" : 1,
8284 "type" : "integer"
8285 },
de0983cb
DM
8286 "bps_max_length" : {
8287 "description" : "Maximum length of I/O bursts in seconds.",
8288 "format_description" : "seconds",
8289 "minimum" : 1,
8290 "optional" : 1,
8291 "type" : "integer"
8292 },
44660702 8293 "bps_rd" : {
de0983cb 8294 "description" : "Maximum read speed in bytes per second.",
44660702 8295 "format_description" : "bps",
56122987 8296 "optional" : 1,
44660702 8297 "type" : "integer"
56122987 8298 },
de0983cb 8299 "bps_rd_length" : {
5d9c884c
DM
8300 "alias" : "bps_rd_max_length"
8301 },
8302 "bps_rd_max_length" : {
de0983cb
DM
8303 "description" : "Maximum length of read I/O bursts in seconds.",
8304 "format_description" : "seconds",
8305 "minimum" : 1,
8306 "optional" : 1,
8307 "type" : "integer"
8308 },
44660702 8309 "bps_wr" : {
de0983cb 8310 "description" : "Maximum write speed in bytes per second.",
44660702
DM
8311 "format_description" : "bps",
8312 "optional" : 1,
8313 "type" : "integer"
8314 },
de0983cb 8315 "bps_wr_length" : {
5d9c884c
DM
8316 "alias" : "bps_wr_max_length"
8317 },
8318 "bps_wr_max_length" : {
de0983cb
DM
8319 "description" : "Maximum length of write I/O bursts in seconds.",
8320 "format_description" : "seconds",
8321 "minimum" : 1,
8322 "optional" : 1,
8323 "type" : "integer"
8324 },
44660702
DM
8325 "cache" : {
8326 "description" : "The drive's cache mode",
8327 "enum" : [
8328 "none",
8329 "writethrough",
8330 "writeback",
8331 "unsafe",
8332 "directsync"
8333 ],
44660702
DM
8334 "optional" : 1,
8335 "type" : "string"
8336 },
8337 "cyls" : {
8338 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8339 "optional" : 1,
8340 "type" : "integer"
8341 },
8342 "detect_zeroes" : {
8343 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8344 "optional" : 1,
8345 "type" : "boolean"
8346 },
8347 "discard" : {
8348 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8349 "enum" : [
8350 "ignore",
8351 "on"
8352 ],
56122987 8353 "optional" : 1,
44660702
DM
8354 "type" : "string"
8355 },
8356 "file" : {
8357 "default_key" : 1,
8358 "description" : "The drive's backing volume.",
8359 "format" : "pve-volume-id-or-qm-path",
8360 "format_description" : "volume",
8361 "type" : "string"
56122987 8362 },
7aacca6f 8363 "format" : {
7aacca6f 8364 "description" : "The drive's backing file's data format.",
56122987 8365 "enum" : [
7aacca6f
DM
8366 "raw",
8367 "cow",
8368 "qcow",
8369 "qed",
8370 "qcow2",
8371 "vmdk",
8372 "cloop"
56122987
DM
8373 ],
8374 "optional" : 1,
56122987
DM
8375 "type" : "string"
8376 },
44660702
DM
8377 "heads" : {
8378 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8379 "optional" : 1,
8380 "type" : "integer"
7aacca6f 8381 },
44660702 8382 "iops" : {
de0983cb 8383 "description" : "Maximum r/w I/O in operations per second.",
44660702 8384 "format_description" : "iops",
56122987 8385 "optional" : 1,
44660702 8386 "type" : "integer"
56122987 8387 },
44660702 8388 "iops_max" : {
de0983cb 8389 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8390 "format_description" : "iops",
56122987 8391 "optional" : 1,
44660702 8392 "type" : "integer"
56122987 8393 },
de0983cb
DM
8394 "iops_max_length" : {
8395 "description" : "Maximum length of I/O bursts in seconds.",
8396 "format_description" : "seconds",
8397 "minimum" : 1,
8398 "optional" : 1,
8399 "type" : "integer"
8400 },
44660702 8401 "iops_rd" : {
de0983cb 8402 "description" : "Maximum read I/O in operations per second.",
44660702
DM
8403 "format_description" : "iops",
8404 "optional" : 1,
8405 "type" : "integer"
8406 },
de0983cb 8407 "iops_rd_length" : {
5d9c884c 8408 "alias" : "iops_rd_max_length"
de0983cb 8409 },
44660702 8410 "iops_rd_max" : {
de0983cb 8411 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 8412 "format_description" : "iops",
44660702
DM
8413 "optional" : 1,
8414 "type" : "integer"
8415 },
5d9c884c
DM
8416 "iops_rd_max_length" : {
8417 "description" : "Maximum length of read I/O bursts in seconds.",
8418 "format_description" : "seconds",
8419 "minimum" : 1,
8420 "optional" : 1,
8421 "type" : "integer"
8422 },
44660702 8423 "iops_wr" : {
de0983cb 8424 "description" : "Maximum write I/O in operations per second.",
44660702 8425 "format_description" : "iops",
56122987 8426 "optional" : 1,
7aacca6f 8427 "type" : "integer"
56122987 8428 },
de0983cb 8429 "iops_wr_length" : {
5d9c884c 8430 "alias" : "iops_wr_max_length"
de0983cb 8431 },
44660702 8432 "iops_wr_max" : {
de0983cb 8433 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8434 "format_description" : "iops",
7aacca6f 8435 "optional" : 1,
44660702 8436 "type" : "integer"
56122987 8437 },
5d9c884c
DM
8438 "iops_wr_max_length" : {
8439 "description" : "Maximum length of write I/O bursts in seconds.",
8440 "format_description" : "seconds",
8441 "minimum" : 1,
8442 "optional" : 1,
8443 "type" : "integer"
8444 },
44660702 8445 "mbps" : {
de0983cb 8446 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8447 "format_description" : "mbps",
8448 "optional" : 1,
8449 "type" : "number"
8450 },
8451 "mbps_max" : {
de0983cb 8452 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8453 "format_description" : "mbps",
8454 "optional" : 1,
8455 "type" : "number"
8456 },
8457 "mbps_rd" : {
de0983cb 8458 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8459 "format_description" : "mbps",
8460 "optional" : 1,
8461 "type" : "number"
8462 },
8463 "mbps_rd_max" : {
de0983cb 8464 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8465 "format_description" : "mbps",
8466 "optional" : 1,
8467 "type" : "number"
8468 },
8469 "mbps_wr" : {
de0983cb 8470 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8471 "format_description" : "mbps",
8472 "optional" : 1,
8473 "type" : "number"
8474 },
8475 "mbps_wr_max" : {
de0983cb 8476 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 8477 "format_description" : "mbps",
56122987 8478 "optional" : 1,
44660702 8479 "type" : "number"
56122987 8480 },
7aacca6f 8481 "media" : {
7aacca6f 8482 "default" : "disk",
7aacca6f
DM
8483 "description" : "The drive's media type.",
8484 "enum" : [
8485 "cdrom",
8486 "disk"
44660702 8487 ],
44660702
DM
8488 "optional" : 1,
8489 "type" : "string"
56122987 8490 },
44660702
DM
8491 "model" : {
8492 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
8493 "format" : "urlencoded",
8494 "format_description" : "model",
8495 "maxLength" : 120,
56122987 8496 "optional" : 1,
44660702 8497 "type" : "string"
56122987 8498 },
5d9c884c
DM
8499 "replicate" : {
8500 "default" : 1,
8501 "description" : "Whether the drive should considered for replication jobs.",
8502 "optional" : 1,
8503 "type" : "boolean"
8504 },
44660702
DM
8505 "rerror" : {
8506 "description" : "Read error action.",
8507 "enum" : [
8508 "ignore",
8509 "report",
8510 "stop"
8511 ],
56122987 8512 "optional" : 1,
44660702
DM
8513 "type" : "string"
8514 },
8515 "secs" : {
8516 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
8517 "optional" : 1,
8518 "type" : "integer"
8519 },
8520 "serial" : {
8521 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8522 "format" : "urlencoded",
8523 "format_description" : "serial",
8524 "maxLength" : 60,
8525 "optional" : 1,
8526 "type" : "string"
8527 },
27a7acb2
DM
8528 "shared" : {
8529 "default" : 0,
8530 "description" : "Mark this locally-managed volume as available on all nodes",
8531 "optional" : 1,
8532 "type" : "boolean",
8533 "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!"
8534 },
44660702
DM
8535 "size" : {
8536 "description" : "Disk size. This is purely informational and has no effect.",
8537 "format" : "disk-size",
f004f5b9 8538 "format_description" : "DiskSize",
44660702
DM
8539 "optional" : 1,
8540 "type" : "string"
8541 },
8542 "snapshot" : {
27a7acb2 8543 "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
8544 "optional" : 1,
8545 "type" : "boolean"
8546 },
25203dc1
NC
8547 "ssd" : {
8548 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
8549 "optional" : 1,
8550 "type" : "boolean"
8551 },
44660702
DM
8552 "trans" : {
8553 "description" : "Force disk geometry bios translation mode.",
8554 "enum" : [
8555 "none",
8556 "lba",
8557 "auto"
8558 ],
44660702
DM
8559 "optional" : 1,
8560 "type" : "string"
8561 },
8562 "volume" : {
8563 "alias" : "file"
8564 },
8565 "werror" : {
8566 "description" : "Write error action.",
8567 "enum" : [
8568 "enospc",
8569 "ignore",
8570 "report",
8571 "stop"
8572 ],
44660702
DM
8573 "optional" : 1,
8574 "type" : "string"
56122987
DM
8575 }
8576 },
44660702 8577 "optional" : 1,
4d47f125 8578 "type" : "string"
27a7acb2
DM
8579 },
8580 "ipconfig[n]" : {
8581 "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",
8582 "format" : "pve-qm-ipconfig",
8583 "optional" : 1,
4d47f125 8584 "type" : "string"
56122987 8585 },
44660702 8586 "keyboard" : {
35a75dd3 8587 "default" : null,
5da3d723 8588 "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
8589 "enum" : [
8590 "de",
8591 "de-ch",
8592 "da",
8593 "en-gb",
8594 "en-us",
8595 "es",
8596 "fi",
8597 "fr",
8598 "fr-be",
8599 "fr-ca",
8600 "fr-ch",
8601 "hu",
8602 "is",
8603 "it",
8604 "ja",
8605 "lt",
8606 "mk",
8607 "nl",
8608 "no",
8609 "pl",
8610 "pt",
8611 "pt-br",
8612 "sv",
8613 "sl",
8614 "tr"
8615 ],
56122987 8616 "optional" : 1,
44660702
DM
8617 "type" : "string"
8618 },
8619 "kvm" : {
7aacca6f 8620 "default" : 1,
44660702
DM
8621 "description" : "Enable/disable KVM hardware virtualization.",
8622 "optional" : 1,
4d47f125 8623 "type" : "boolean"
56122987 8624 },
44660702
DM
8625 "localtime" : {
8626 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 8627 "optional" : 1,
4d47f125 8628 "type" : "boolean"
56122987 8629 },
44660702
DM
8630 "lock" : {
8631 "description" : "Lock/unlock the VM.",
8632 "enum" : [
8633 "migrate",
8634 "backup",
8635 "snapshot",
8636 "rollback"
8637 ],
7aacca6f 8638 "optional" : 1,
44660702
DM
8639 "type" : "string"
8640 },
8641 "machine" : {
4d47f125 8642 "description" : "Specifies the Qemu machine type.",
44660702
DM
8643 "maxLength" : 40,
8644 "optional" : 1,
e2d681b3 8645 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702
DM
8646 "type" : "string"
8647 },
8648 "memory" : {
8649 "default" : 512,
8650 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
8651 "minimum" : 16,
8652 "optional" : 1,
4d47f125 8653 "type" : "integer"
44660702
DM
8654 },
8655 "migrate_downtime" : {
8656 "default" : 0.1,
8657 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
8658 "minimum" : 0,
8659 "optional" : 1,
4d47f125 8660 "type" : "number"
44660702
DM
8661 },
8662 "migrate_speed" : {
8663 "default" : 0,
8664 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
8665 "minimum" : 0,
8666 "optional" : 1,
4d47f125 8667 "type" : "integer"
44660702
DM
8668 },
8669 "name" : {
8670 "description" : "Set a name for the VM. Only used on the configuration web interface.",
8671 "format" : "dns-name",
8672 "optional" : 1,
4d47f125 8673 "type" : "string"
44660702 8674 },
27a7acb2
DM
8675 "nameserver" : {
8676 "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.",
8677 "format" : "address-list",
8678 "optional" : 1,
4d47f125 8679 "type" : "string"
27a7acb2 8680 },
44660702 8681 "net[n]" : {
c2993fe5 8682 "description" : "Specify network devices.",
f004f5b9
DM
8683 "format" : {
8684 "bridge" : {
c2993fe5 8685 "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
8686 "format_description" : "bridge",
8687 "optional" : 1,
8688 "type" : "string"
8689 },
8690 "e1000" : {
8691 "alias" : "macaddr",
8692 "keyAlias" : "model"
8693 },
8694 "e1000-82540em" : {
8695 "alias" : "macaddr",
8696 "keyAlias" : "model"
8697 },
8698 "e1000-82544gc" : {
8699 "alias" : "macaddr",
8700 "keyAlias" : "model"
8701 },
8702 "e1000-82545em" : {
8703 "alias" : "macaddr",
8704 "keyAlias" : "model"
8705 },
8706 "firewall" : {
8707 "description" : "Whether this interface should be protected by the firewall.",
8708 "optional" : 1,
8709 "type" : "boolean"
8710 },
8711 "i82551" : {
8712 "alias" : "macaddr",
8713 "keyAlias" : "model"
8714 },
8715 "i82557b" : {
8716 "alias" : "macaddr",
8717 "keyAlias" : "model"
8718 },
8719 "i82559er" : {
8720 "alias" : "macaddr",
8721 "keyAlias" : "model"
8722 },
8723 "link_down" : {
c2993fe5 8724 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
8725 "optional" : 1,
8726 "type" : "boolean"
8727 },
8728 "macaddr" : {
c2993fe5 8729 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 8730 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
8731 "optional" : 1,
8732 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
8733 "type" : "string"
8734 },
8735 "model" : {
8736 "default_key" : 1,
c2993fe5 8737 "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
8738 "enum" : [
8739 "rtl8139",
8740 "ne2k_pci",
8741 "e1000",
8742 "pcnet",
8743 "virtio",
8744 "ne2k_isa",
8745 "i82551",
8746 "i82557b",
8747 "i82559er",
8748 "vmxnet3",
8749 "e1000-82540em",
8750 "e1000-82544gc",
8751 "e1000-82545em"
8752 ],
f004f5b9
DM
8753 "type" : "string"
8754 },
8755 "ne2k_isa" : {
8756 "alias" : "macaddr",
8757 "keyAlias" : "model"
8758 },
8759 "ne2k_pci" : {
8760 "alias" : "macaddr",
8761 "keyAlias" : "model"
8762 },
8763 "pcnet" : {
8764 "alias" : "macaddr",
8765 "keyAlias" : "model"
8766 },
8767 "queues" : {
8768 "description" : "Number of packet queues to be used on the device.",
8769 "maximum" : 16,
8770 "minimum" : 0,
8771 "optional" : 1,
8772 "type" : "integer"
8773 },
8774 "rate" : {
c2993fe5 8775 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
8776 "minimum" : 0,
8777 "optional" : 1,
8778 "type" : "number"
8779 },
8780 "rtl8139" : {
8781 "alias" : "macaddr",
8782 "keyAlias" : "model"
8783 },
8784 "tag" : {
8785 "description" : "VLAN tag to apply to packets on this interface.",
8786 "maximum" : 4094,
c2993fe5 8787 "minimum" : 1,
f004f5b9
DM
8788 "optional" : 1,
8789 "type" : "integer"
8790 },
8791 "trunks" : {
8792 "description" : "VLAN trunks to pass through this interface.",
8793 "format_description" : "vlanid[;vlanid...]",
8794 "optional" : 1,
8795 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8796 "type" : "string"
8797 },
8798 "virtio" : {
8799 "alias" : "macaddr",
8800 "keyAlias" : "model"
8801 },
8802 "vmxnet3" : {
8803 "alias" : "macaddr",
8804 "keyAlias" : "model"
8805 }
8806 },
44660702 8807 "optional" : 1,
4d47f125 8808 "type" : "string"
44660702
DM
8809 },
8810 "numa" : {
8811 "default" : 0,
8812 "description" : "Enable/disable NUMA.",
8813 "optional" : 1,
4d47f125 8814 "type" : "boolean"
44660702
DM
8815 },
8816 "numa[n]" : {
c2993fe5 8817 "description" : "NUMA topology.",
56122987 8818 "format" : {
7aacca6f 8819 "cpus" : {
c2993fe5 8820 "description" : "CPUs accessing this NUMA node.",
44660702
DM
8821 "format_description" : "id[-id];...",
8822 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8823 "type" : "string"
7aacca6f
DM
8824 },
8825 "hostnodes" : {
c2993fe5 8826 "description" : "Host NUMA nodes to use.",
44660702 8827 "format_description" : "id[-id];...",
7aacca6f 8828 "optional" : 1,
7aacca6f 8829 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 8830 "type" : "string"
7aacca6f 8831 },
44660702 8832 "memory" : {
c2993fe5 8833 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 8834 "optional" : 1,
44660702
DM
8835 "type" : "number"
8836 },
8837 "policy" : {
c2993fe5 8838 "description" : "NUMA allocation policy.",
7aacca6f
DM
8839 "enum" : [
8840 "preferred",
8841 "bind",
8842 "interleave"
8843 ],
44660702
DM
8844 "optional" : 1,
8845 "type" : "string"
56122987 8846 }
44660702 8847 },
56122987 8848 "optional" : 1,
4d47f125 8849 "type" : "string"
56122987 8850 },
44660702 8851 "onboot" : {
7aacca6f 8852 "default" : 0,
44660702
DM
8853 "description" : "Specifies whether a VM will be started during system bootup.",
8854 "optional" : 1,
4d47f125 8855 "type" : "boolean"
7aacca6f
DM
8856 },
8857 "ostype" : {
c2993fe5 8858 "description" : "Specify guest operating system.",
7aacca6f
DM
8859 "enum" : [
8860 "other",
8861 "wxp",
8862 "w2k",
8863 "w2k3",
8864 "w2k8",
8865 "wvista",
8866 "win7",
8867 "win8",
32d876b5 8868 "win10",
7aacca6f
DM
8869 "l24",
8870 "l26",
8871 "solaris"
8872 ],
7aacca6f 8873 "optional" : 1,
c2993fe5 8874 "type" : "string",
35a75dd3 8875 "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 8876 },
44660702 8877 "parallel[n]" : {
c2993fe5 8878 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8879 "optional" : 1,
44660702 8880 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8881 "type" : "string",
8882 "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
8883 },
8884 "protection" : {
8885 "default" : 0,
c2993fe5 8886 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8887 "optional" : 1,
4d47f125 8888 "type" : "boolean"
7aacca6f 8889 },
44660702
DM
8890 "reboot" : {
8891 "default" : 1,
8892 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8893 "optional" : 1,
4d47f125 8894 "type" : "boolean"
44660702
DM
8895 },
8896 "sata[n]" : {
8897 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 8898 "format" : {
44660702
DM
8899 "aio" : {
8900 "description" : "AIO type to use.",
7aacca6f 8901 "enum" : [
44660702
DM
8902 "native",
8903 "threads"
7aacca6f 8904 ],
44660702
DM
8905 "optional" : 1,
8906 "type" : "string"
7aacca6f 8907 },
44660702
DM
8908 "backup" : {
8909 "description" : "Whether the drive should be included when making backups.",
56122987 8910 "optional" : 1,
7aacca6f 8911 "type" : "boolean"
44660702
DM
8912 },
8913 "bps" : {
de0983cb 8914 "description" : "Maximum r/w speed in bytes per second.",
44660702 8915 "format_description" : "bps",
7aacca6f 8916 "optional" : 1,
44660702 8917 "type" : "integer"
56122987 8918 },
de0983cb
DM
8919 "bps_max_length" : {
8920 "description" : "Maximum length of I/O bursts in seconds.",
8921 "format_description" : "seconds",
8922 "minimum" : 1,
8923 "optional" : 1,
8924 "type" : "integer"
8925 },
44660702 8926 "bps_rd" : {
de0983cb 8927 "description" : "Maximum read speed in bytes per second.",
44660702 8928 "format_description" : "bps",
56122987 8929 "optional" : 1,
44660702 8930 "type" : "integer"
56122987 8931 },
de0983cb 8932 "bps_rd_length" : {
5d9c884c
DM
8933 "alias" : "bps_rd_max_length"
8934 },
8935 "bps_rd_max_length" : {
de0983cb
DM
8936 "description" : "Maximum length of read I/O bursts in seconds.",
8937 "format_description" : "seconds",
8938 "minimum" : 1,
8939 "optional" : 1,
8940 "type" : "integer"
8941 },
44660702 8942 "bps_wr" : {
de0983cb 8943 "description" : "Maximum write speed in bytes per second.",
44660702 8944 "format_description" : "bps",
56122987 8945 "optional" : 1,
44660702 8946 "type" : "integer"
56122987 8947 },
de0983cb 8948 "bps_wr_length" : {
5d9c884c
DM
8949 "alias" : "bps_wr_max_length"
8950 },
8951 "bps_wr_max_length" : {
de0983cb
DM
8952 "description" : "Maximum length of write I/O bursts in seconds.",
8953 "format_description" : "seconds",
8954 "minimum" : 1,
8955 "optional" : 1,
8956 "type" : "integer"
8957 },
56122987 8958 "cache" : {
44660702 8959 "description" : "The drive's cache mode",
56122987
DM
8960 "enum" : [
8961 "none",
8962 "writethrough",
8963 "writeback",
8964 "unsafe",
8965 "directsync"
8966 ],
56122987 8967 "optional" : 1,
44660702 8968 "type" : "string"
56122987 8969 },
44660702
DM
8970 "cyls" : {
8971 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8972 "optional" : 1,
44660702 8973 "type" : "integer"
7aacca6f
DM
8974 },
8975 "detect_zeroes" : {
8976 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 8977 "optional" : 1,
44660702 8978 "type" : "boolean"
56122987 8979 },
44660702
DM
8980 "discard" : {
8981 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8982 "enum" : [
8983 "ignore",
8984 "on"
8985 ],
56122987 8986 "optional" : 1,
44660702 8987 "type" : "string"
7aacca6f 8988 },
44660702
DM
8989 "file" : {
8990 "default_key" : 1,
8991 "description" : "The drive's backing volume.",
8992 "format" : "pve-volume-id-or-qm-path",
8993 "format_description" : "volume",
8994 "type" : "string"
56122987 8995 },
7aacca6f 8996 "format" : {
44660702 8997 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8998 "enum" : [
8999 "raw",
9000 "cow",
9001 "qcow",
9002 "qed",
9003 "qcow2",
9004 "vmdk",
9005 "cloop"
9006 ],
7aacca6f 9007 "optional" : 1,
44660702 9008 "type" : "string"
56122987 9009 },
7aacca6f 9010 "heads" : {
7aacca6f 9011 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9012 "optional" : 1,
7aacca6f 9013 "type" : "integer"
56122987 9014 },
44660702 9015 "iops" : {
de0983cb 9016 "description" : "Maximum r/w I/O in operations per second.",
44660702 9017 "format_description" : "iops",
56122987 9018 "optional" : 1,
44660702 9019 "type" : "integer"
56122987 9020 },
44660702 9021 "iops_max" : {
de0983cb 9022 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9023 "format_description" : "iops",
56122987 9024 "optional" : 1,
44660702 9025 "type" : "integer"
56122987 9026 },
de0983cb
DM
9027 "iops_max_length" : {
9028 "description" : "Maximum length of I/O bursts in seconds.",
9029 "format_description" : "seconds",
9030 "minimum" : 1,
9031 "optional" : 1,
9032 "type" : "integer"
9033 },
44660702 9034 "iops_rd" : {
de0983cb 9035 "description" : "Maximum read I/O in operations per second.",
44660702 9036 "format_description" : "iops",
7aacca6f 9037 "optional" : 1,
44660702 9038 "type" : "integer"
56122987 9039 },
de0983cb 9040 "iops_rd_length" : {
5d9c884c 9041 "alias" : "iops_rd_max_length"
de0983cb 9042 },
44660702 9043 "iops_rd_max" : {
de0983cb 9044 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9045 "format_description" : "iops",
56122987 9046 "optional" : 1,
44660702 9047 "type" : "integer"
7aacca6f 9048 },
5d9c884c
DM
9049 "iops_rd_max_length" : {
9050 "description" : "Maximum length of read I/O bursts in seconds.",
9051 "format_description" : "seconds",
9052 "minimum" : 1,
9053 "optional" : 1,
9054 "type" : "integer"
9055 },
44660702 9056 "iops_wr" : {
de0983cb 9057 "description" : "Maximum write I/O in operations per second.",
44660702 9058 "format_description" : "iops",
56122987 9059 "optional" : 1,
44660702 9060 "type" : "integer"
56122987 9061 },
de0983cb 9062 "iops_wr_length" : {
5d9c884c 9063 "alias" : "iops_wr_max_length"
de0983cb 9064 },
56122987 9065 "iops_wr_max" : {
de0983cb 9066 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9067 "format_description" : "iops",
56122987 9068 "optional" : 1,
44660702 9069 "type" : "integer"
56122987 9070 },
5d9c884c
DM
9071 "iops_wr_max_length" : {
9072 "description" : "Maximum length of write I/O bursts in seconds.",
9073 "format_description" : "seconds",
9074 "minimum" : 1,
9075 "optional" : 1,
9076 "type" : "integer"
9077 },
44660702 9078 "mbps" : {
de0983cb 9079 "description" : "Maximum r/w speed in megabytes per second.",
44660702 9080 "format_description" : "mbps",
56122987 9081 "optional" : 1,
44660702 9082 "type" : "number"
56122987 9083 },
44660702 9084 "mbps_max" : {
de0983cb 9085 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9086 "format_description" : "mbps",
9087 "optional" : 1,
9088 "type" : "number"
56122987 9089 },
44660702 9090 "mbps_rd" : {
de0983cb 9091 "description" : "Maximum read speed in megabytes per second.",
44660702 9092 "format_description" : "mbps",
56122987 9093 "optional" : 1,
44660702 9094 "type" : "number"
56122987 9095 },
44660702 9096 "mbps_rd_max" : {
de0983cb 9097 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9098 "format_description" : "mbps",
56122987 9099 "optional" : 1,
44660702 9100 "type" : "number"
56122987 9101 },
44660702 9102 "mbps_wr" : {
de0983cb 9103 "description" : "Maximum write speed in megabytes per second.",
56122987 9104 "format_description" : "mbps",
44660702
DM
9105 "optional" : 1,
9106 "type" : "number"
56122987 9107 },
44660702 9108 "mbps_wr_max" : {
de0983cb 9109 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9110 "format_description" : "mbps",
9111 "optional" : 1,
9112 "type" : "number"
7aacca6f 9113 },
44660702
DM
9114 "media" : {
9115 "default" : "disk",
9116 "description" : "The drive's media type.",
9117 "enum" : [
9118 "cdrom",
9119 "disk"
9120 ],
56122987 9121 "optional" : 1,
44660702
DM
9122 "type" : "string"
9123 },
5d9c884c
DM
9124 "replicate" : {
9125 "default" : 1,
9126 "description" : "Whether the drive should considered for replication jobs.",
9127 "optional" : 1,
9128 "type" : "boolean"
9129 },
44660702
DM
9130 "rerror" : {
9131 "description" : "Read error action.",
7aacca6f 9132 "enum" : [
44660702
DM
9133 "ignore",
9134 "report",
9135 "stop"
9136 ],
7aacca6f 9137 "optional" : 1,
44660702 9138 "type" : "string"
56122987 9139 },
44660702
DM
9140 "secs" : {
9141 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9142 "optional" : 1,
44660702 9143 "type" : "integer"
56122987 9144 },
44660702
DM
9145 "serial" : {
9146 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9147 "format" : "urlencoded",
9148 "format_description" : "serial",
9149 "maxLength" : 60,
56122987 9150 "optional" : 1,
44660702 9151 "type" : "string"
56122987 9152 },
27a7acb2
DM
9153 "shared" : {
9154 "default" : 0,
9155 "description" : "Mark this locally-managed volume as available on all nodes",
9156 "optional" : 1,
9157 "type" : "boolean",
9158 "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!"
9159 },
44660702
DM
9160 "size" : {
9161 "description" : "Disk size. This is purely informational and has no effect.",
9162 "format" : "disk-size",
f004f5b9 9163 "format_description" : "DiskSize",
44660702
DM
9164 "optional" : 1,
9165 "type" : "string"
9166 },
9167 "snapshot" : {
27a7acb2 9168 "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 9169 "optional" : 1,
44660702
DM
9170 "type" : "boolean"
9171 },
25203dc1
NC
9172 "ssd" : {
9173 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9174 "optional" : 1,
9175 "type" : "boolean"
9176 },
44660702
DM
9177 "trans" : {
9178 "description" : "Force disk geometry bios translation mode.",
56122987 9179 "enum" : [
7aacca6f
DM
9180 "none",
9181 "lba",
9182 "auto"
56122987 9183 ],
44660702
DM
9184 "optional" : 1,
9185 "type" : "string"
56122987 9186 },
7aacca6f
DM
9187 "volume" : {
9188 "alias" : "file"
56122987 9189 },
44660702
DM
9190 "werror" : {
9191 "description" : "Write error action.",
9192 "enum" : [
9193 "enospc",
9194 "ignore",
9195 "report",
9196 "stop"
9197 ],
7aacca6f 9198 "optional" : 1,
44660702
DM
9199 "type" : "string"
9200 }
9201 },
9202 "optional" : 1,
4d47f125 9203 "type" : "string"
44660702
DM
9204 },
9205 "scsi[n]" : {
9206 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
9207 "format" : {
56122987 9208 "aio" : {
56122987
DM
9209 "description" : "AIO type to use.",
9210 "enum" : [
9211 "native",
9212 "threads"
9213 ],
7aacca6f 9214 "optional" : 1,
44660702 9215 "type" : "string"
56122987 9216 },
44660702
DM
9217 "backup" : {
9218 "description" : "Whether the drive should be included when making backups.",
56122987 9219 "optional" : 1,
44660702 9220 "type" : "boolean"
56122987 9221 },
44660702 9222 "bps" : {
de0983cb 9223 "description" : "Maximum r/w speed in bytes per second.",
44660702 9224 "format_description" : "bps",
56122987 9225 "optional" : 1,
44660702 9226 "type" : "integer"
56122987 9227 },
de0983cb
DM
9228 "bps_max_length" : {
9229 "description" : "Maximum length of I/O bursts in seconds.",
9230 "format_description" : "seconds",
9231 "minimum" : 1,
9232 "optional" : 1,
9233 "type" : "integer"
9234 },
44660702 9235 "bps_rd" : {
de0983cb 9236 "description" : "Maximum read speed in bytes per second.",
44660702 9237 "format_description" : "bps",
56122987 9238 "optional" : 1,
44660702 9239 "type" : "integer"
56122987 9240 },
de0983cb 9241 "bps_rd_length" : {
5d9c884c
DM
9242 "alias" : "bps_rd_max_length"
9243 },
9244 "bps_rd_max_length" : {
de0983cb
DM
9245 "description" : "Maximum length of read I/O bursts in seconds.",
9246 "format_description" : "seconds",
9247 "minimum" : 1,
9248 "optional" : 1,
9249 "type" : "integer"
9250 },
7aacca6f 9251 "bps_wr" : {
de0983cb 9252 "description" : "Maximum write speed in bytes per second.",
7aacca6f 9253 "format_description" : "bps",
56122987 9254 "optional" : 1,
44660702 9255 "type" : "integer"
56122987 9256 },
de0983cb 9257 "bps_wr_length" : {
5d9c884c
DM
9258 "alias" : "bps_wr_max_length"
9259 },
9260 "bps_wr_max_length" : {
de0983cb
DM
9261 "description" : "Maximum length of write I/O bursts in seconds.",
9262 "format_description" : "seconds",
9263 "minimum" : 1,
9264 "optional" : 1,
9265 "type" : "integer"
9266 },
44660702
DM
9267 "cache" : {
9268 "description" : "The drive's cache mode",
7aacca6f 9269 "enum" : [
44660702
DM
9270 "none",
9271 "writethrough",
9272 "writeback",
9273 "unsafe",
9274 "directsync"
7aacca6f 9275 ],
56122987 9276 "optional" : 1,
44660702 9277 "type" : "string"
56122987 9278 },
44660702
DM
9279 "cyls" : {
9280 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 9281 "optional" : 1,
44660702 9282 "type" : "integer"
56122987 9283 },
44660702
DM
9284 "detect_zeroes" : {
9285 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 9286 "optional" : 1,
44660702 9287 "type" : "boolean"
56122987 9288 },
44660702
DM
9289 "discard" : {
9290 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9291 "enum" : [
9292 "ignore",
9293 "on"
9294 ],
7aacca6f 9295 "optional" : 1,
44660702 9296 "type" : "string"
56122987 9297 },
44660702
DM
9298 "file" : {
9299 "default_key" : 1,
9300 "description" : "The drive's backing volume.",
9301 "format" : "pve-volume-id-or-qm-path",
9302 "format_description" : "volume",
9303 "type" : "string"
56122987 9304 },
7aacca6f 9305 "format" : {
44660702 9306 "description" : "The drive's backing file's data format.",
56122987 9307 "enum" : [
7aacca6f
DM
9308 "raw",
9309 "cow",
9310 "qcow",
9311 "qed",
9312 "qcow2",
9313 "vmdk",
9314 "cloop"
9315 ],
44660702
DM
9316 "optional" : 1,
9317 "type" : "string"
56122987 9318 },
44660702
DM
9319 "heads" : {
9320 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9321 "optional" : 1,
7aacca6f 9322 "type" : "integer"
56122987 9323 },
44660702 9324 "iops" : {
de0983cb 9325 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9326 "format_description" : "iops",
44660702
DM
9327 "optional" : 1,
9328 "type" : "integer"
7aacca6f 9329 },
44660702 9330 "iops_max" : {
de0983cb 9331 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9332 "format_description" : "iops",
56122987 9333 "optional" : 1,
44660702 9334 "type" : "integer"
7aacca6f 9335 },
de0983cb
DM
9336 "iops_max_length" : {
9337 "description" : "Maximum length of I/O bursts in seconds.",
9338 "format_description" : "seconds",
9339 "minimum" : 1,
9340 "optional" : 1,
9341 "type" : "integer"
9342 },
44660702 9343 "iops_rd" : {
de0983cb 9344 "description" : "Maximum read I/O in operations per second.",
44660702 9345 "format_description" : "iops",
7aacca6f 9346 "optional" : 1,
44660702 9347 "type" : "integer"
56122987 9348 },
de0983cb 9349 "iops_rd_length" : {
5d9c884c 9350 "alias" : "iops_rd_max_length"
de0983cb 9351 },
44660702 9352 "iops_rd_max" : {
de0983cb 9353 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
9354 "format_description" : "iops",
9355 "optional" : 1,
9356 "type" : "integer"
9357 },
5d9c884c
DM
9358 "iops_rd_max_length" : {
9359 "description" : "Maximum length of read I/O bursts in seconds.",
9360 "format_description" : "seconds",
9361 "minimum" : 1,
9362 "optional" : 1,
9363 "type" : "integer"
9364 },
44660702 9365 "iops_wr" : {
de0983cb 9366 "description" : "Maximum write I/O in operations per second.",
44660702 9367 "format_description" : "iops",
56122987 9368 "optional" : 1,
44660702
DM
9369 "type" : "integer"
9370 },
de0983cb 9371 "iops_wr_length" : {
5d9c884c 9372 "alias" : "iops_wr_max_length"
de0983cb 9373 },
44660702 9374 "iops_wr_max" : {
de0983cb 9375 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
9376 "format_description" : "iops",
9377 "optional" : 1,
9378 "type" : "integer"
56122987 9379 },
5d9c884c
DM
9380 "iops_wr_max_length" : {
9381 "description" : "Maximum length of write I/O bursts in seconds.",
9382 "format_description" : "seconds",
9383 "minimum" : 1,
9384 "optional" : 1,
9385 "type" : "integer"
9386 },
7aacca6f 9387 "iothread" : {
7aacca6f 9388 "description" : "Whether to use iothreads for this drive",
56122987 9389 "optional" : 1,
56122987
DM
9390 "type" : "boolean"
9391 },
44660702 9392 "mbps" : {
de0983cb 9393 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
9394 "format_description" : "mbps",
9395 "optional" : 1,
9396 "type" : "number"
9397 },
9398 "mbps_max" : {
de0983cb 9399 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9400 "format_description" : "mbps",
9401 "optional" : 1,
9402 "type" : "number"
9403 },
9404 "mbps_rd" : {
de0983cb 9405 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
9406 "format_description" : "mbps",
9407 "optional" : 1,
9408 "type" : "number"
9409 },
9410 "mbps_rd_max" : {
de0983cb 9411 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9412 "format_description" : "mbps",
9413 "optional" : 1,
9414 "type" : "number"
9415 },
9416 "mbps_wr" : {
de0983cb 9417 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
9418 "format_description" : "mbps",
9419 "optional" : 1,
9420 "type" : "number"
9421 },
9422 "mbps_wr_max" : {
de0983cb 9423 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9424 "format_description" : "mbps",
9425 "optional" : 1,
9426 "type" : "number"
9427 },
7aacca6f 9428 "media" : {
44660702
DM
9429 "default" : "disk",
9430 "description" : "The drive's media type.",
7aacca6f
DM
9431 "enum" : [
9432 "cdrom",
9433 "disk"
9434 ],
56122987 9435 "optional" : 1,
44660702
DM
9436 "type" : "string"
9437 },
9438 "queues" : {
9439 "description" : "Number of queues.",
44660702
DM
9440 "minimum" : 2,
9441 "optional" : 1,
9442 "type" : "integer"
9443 },
5d9c884c
DM
9444 "replicate" : {
9445 "default" : 1,
9446 "description" : "Whether the drive should considered for replication jobs.",
9447 "optional" : 1,
9448 "type" : "boolean"
9449 },
9450 "rerror" : {
9451 "description" : "Read error action.",
9452 "enum" : [
9453 "ignore",
9454 "report",
9455 "stop"
9456 ],
9457 "optional" : 1,
9458 "type" : "string"
9459 },
52e44c50
FG
9460 "scsiblock" : {
9461 "default" : 0,
9462 "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",
9463 "optional" : 1,
9464 "type" : "boolean"
9465 },
44660702
DM
9466 "secs" : {
9467 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9468 "optional" : 1,
9469 "type" : "integer"
9470 },
9471 "serial" : {
9472 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9473 "format" : "urlencoded",
9474 "format_description" : "serial",
9475 "maxLength" : 60,
9476 "optional" : 1,
9477 "type" : "string"
9478 },
27a7acb2
DM
9479 "shared" : {
9480 "default" : 0,
9481 "description" : "Mark this locally-managed volume as available on all nodes",
9482 "optional" : 1,
9483 "type" : "boolean",
9484 "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!"
9485 },
44660702
DM
9486 "size" : {
9487 "description" : "Disk size. This is purely informational and has no effect.",
9488 "format" : "disk-size",
f004f5b9 9489 "format_description" : "DiskSize",
44660702
DM
9490 "optional" : 1,
9491 "type" : "string"
56122987 9492 },
7aacca6f 9493 "snapshot" : {
27a7acb2 9494 "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 9495 "optional" : 1,
44660702 9496 "type" : "boolean"
7aacca6f 9497 },
25203dc1
NC
9498 "ssd" : {
9499 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9500 "optional" : 1,
9501 "type" : "boolean"
9502 },
44660702
DM
9503 "trans" : {
9504 "description" : "Force disk geometry bios translation mode.",
9505 "enum" : [
9506 "none",
9507 "lba",
9508 "auto"
9509 ],
44660702
DM
9510 "optional" : 1,
9511 "type" : "string"
9512 },
9513 "volume" : {
9514 "alias" : "file"
9515 },
9516 "werror" : {
9517 "description" : "Write error action.",
9518 "enum" : [
9519 "enospc",
9520 "ignore",
9521 "report",
9522 "stop"
9523 ],
56122987 9524 "optional" : 1,
44660702 9525 "type" : "string"
56122987 9526 }
44660702 9527 },
7aacca6f 9528 "optional" : 1,
4d47f125 9529 "type" : "string"
44660702
DM
9530 },
9531 "scsihw" : {
9532 "default" : "lsi",
c2993fe5 9533 "description" : "SCSI controller model",
7aacca6f 9534 "enum" : [
44660702
DM
9535 "lsi",
9536 "lsi53c810",
9537 "virtio-scsi-pci",
9538 "virtio-scsi-single",
9539 "megasas",
9540 "pvscsi"
7aacca6f 9541 ],
44660702
DM
9542 "optional" : 1,
9543 "type" : "string"
56122987 9544 },
27a7acb2
DM
9545 "searchdomain" : {
9546 "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.",
9547 "optional" : 1,
4d47f125 9548 "type" : "string"
27a7acb2 9549 },
44660702 9550 "serial[n]" : {
c2993fe5 9551 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 9552 "optional" : 1,
44660702 9553 "pattern" : "(/dev/.+|socket)",
c2993fe5 9554 "type" : "string",
57b78691 9555 "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 9556 },
44660702
DM
9557 "shares" : {
9558 "default" : 1000,
5da3d723 9559 "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
9560 "maximum" : 50000,
9561 "minimum" : 0,
56122987 9562 "optional" : 1,
4d47f125 9563 "type" : "integer"
56122987 9564 },
44660702
DM
9565 "smbios1" : {
9566 "description" : "Specify SMBIOS type 1 fields.",
9567 "format" : "pve-qm-smbios1",
9568 "maxLength" : 256,
56122987 9569 "optional" : 1,
4d47f125 9570 "type" : "string"
56122987 9571 },
44660702
DM
9572 "smp" : {
9573 "default" : 1,
9574 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 9575 "minimum" : 1,
7aacca6f 9576 "optional" : 1,
4d47f125 9577 "type" : "integer"
7aacca6f 9578 },
44660702
DM
9579 "sockets" : {
9580 "default" : 1,
9581 "description" : "The number of CPU sockets.",
9582 "minimum" : 1,
7aacca6f 9583 "optional" : 1,
4d47f125 9584 "type" : "integer"
56122987 9585 },
27a7acb2
DM
9586 "sshkeys" : {
9587 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
9588 "format" : "urlencoded",
9589 "optional" : 1,
4d47f125 9590 "type" : "string"
27a7acb2 9591 },
44660702
DM
9592 "startdate" : {
9593 "default" : "now",
9594 "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 9595 "optional" : 1,
44660702 9596 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 9597 "type" : "string",
44660702 9598 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 9599 },
7aacca6f 9600 "startup" : {
7aacca6f 9601 "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 9602 "format" : "pve-startup-order",
56122987 9603 "optional" : 1,
44660702
DM
9604 "type" : "string",
9605 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 9606 },
44660702 9607 "tablet" : {
7aacca6f 9608 "default" : 1,
c2993fe5 9609 "description" : "Enable/disable the USB tablet device.",
7aacca6f 9610 "optional" : 1,
c2993fe5
DM
9611 "type" : "boolean",
9612 "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 9613 },
44660702
DM
9614 "tdf" : {
9615 "default" : 0,
9616 "description" : "Enable/disable time drift fix.",
7aacca6f 9617 "optional" : 1,
4d47f125 9618 "type" : "boolean"
7aacca6f 9619 },
44660702
DM
9620 "template" : {
9621 "default" : 0,
9622 "description" : "Enable/disable Template.",
7aacca6f 9623 "optional" : 1,
4d47f125 9624 "type" : "boolean"
7aacca6f 9625 },
44660702 9626 "unused[n]" : {
c2993fe5 9627 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 9628 "format" : "pve-volume-id",
7aacca6f 9629 "optional" : 1,
4d47f125 9630 "type" : "string"
7aacca6f 9631 },
44660702 9632 "usb[n]" : {
c2993fe5 9633 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
9634 "format" : {
9635 "host" : {
9636 "default_key" : 1,
c2993fe5 9637 "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
9638 "format" : "pve-qm-usb-device",
9639 "format_description" : "HOSTUSBDEVICE|spice",
9640 "type" : "string"
9641 },
9642 "usb3" : {
c2993fe5
DM
9643 "default" : 0,
9644 "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
9645 "optional" : 1,
9646 "type" : "boolean"
9647 }
9648 },
7aacca6f 9649 "optional" : 1,
4d47f125 9650 "type" : "string"
56122987 9651 },
44660702
DM
9652 "vcpus" : {
9653 "default" : 0,
9654 "description" : "Number of hotplugged vcpus.",
9655 "minimum" : 1,
56122987 9656 "optional" : 1,
4d47f125 9657 "type" : "integer"
56122987 9658 },
44660702 9659 "vga" : {
e2d681b3
TL
9660 "description" : "Configure the VGA hardware.",
9661 "format" : {
9662 "memory" : {
9663 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
9664 "maximum" : 512,
9665 "minimum" : 4,
9666 "optional" : 1,
9667 "type" : "integer"
9668 },
9669 "type" : {
9670 "default" : "std",
9671 "default_key" : 1,
9672 "description" : "Select the VGA type.",
9673 "enum" : [
9674 "cirrus",
9675 "qxl",
9676 "qxl2",
9677 "qxl3",
9678 "qxl4",
9679 "serial0",
9680 "serial1",
9681 "serial2",
9682 "serial3",
9683 "std",
9684 "virtio",
9685 "vmware"
9686 ],
9687 "optional" : 1,
9688 "type" : "string"
9689 }
9690 },
56122987 9691 "optional" : 1,
c2993fe5 9692 "type" : "string",
e2d681b3 9693 "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 9694 },
44660702
DM
9695 "virtio[n]" : {
9696 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 9697 "format" : {
44660702
DM
9698 "aio" : {
9699 "description" : "AIO type to use.",
56122987 9700 "enum" : [
44660702
DM
9701 "native",
9702 "threads"
56122987 9703 ],
56122987
DM
9704 "optional" : 1,
9705 "type" : "string"
9706 },
44660702
DM
9707 "backup" : {
9708 "description" : "Whether the drive should be included when making backups.",
44660702
DM
9709 "optional" : 1,
9710 "type" : "boolean"
7aacca6f 9711 },
44660702 9712 "bps" : {
de0983cb 9713 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
9714 "format_description" : "bps",
9715 "optional" : 1,
9716 "type" : "integer"
56122987 9717 },
de0983cb
DM
9718 "bps_max_length" : {
9719 "description" : "Maximum length of I/O bursts in seconds.",
9720 "format_description" : "seconds",
9721 "minimum" : 1,
9722 "optional" : 1,
9723 "type" : "integer"
9724 },
44660702 9725 "bps_rd" : {
de0983cb 9726 "description" : "Maximum read speed in bytes per second.",
44660702 9727 "format_description" : "bps",
56122987 9728 "optional" : 1,
44660702 9729 "type" : "integer"
56122987 9730 },
de0983cb 9731 "bps_rd_length" : {
5d9c884c
DM
9732 "alias" : "bps_rd_max_length"
9733 },
9734 "bps_rd_max_length" : {
de0983cb
DM
9735 "description" : "Maximum length of read I/O bursts in seconds.",
9736 "format_description" : "seconds",
9737 "minimum" : 1,
9738 "optional" : 1,
9739 "type" : "integer"
9740 },
44660702 9741 "bps_wr" : {
de0983cb 9742 "description" : "Maximum write speed in bytes per second.",
44660702 9743 "format_description" : "bps",
56122987 9744 "optional" : 1,
44660702
DM
9745 "type" : "integer"
9746 },
de0983cb 9747 "bps_wr_length" : {
5d9c884c
DM
9748 "alias" : "bps_wr_max_length"
9749 },
9750 "bps_wr_max_length" : {
de0983cb
DM
9751 "description" : "Maximum length of write I/O bursts in seconds.",
9752 "format_description" : "seconds",
9753 "minimum" : 1,
9754 "optional" : 1,
9755 "type" : "integer"
9756 },
44660702
DM
9757 "cache" : {
9758 "description" : "The drive's cache mode",
56122987 9759 "enum" : [
44660702
DM
9760 "none",
9761 "writethrough",
9762 "writeback",
9763 "unsafe",
9764 "directsync"
56122987 9765 ],
56122987 9766 "optional" : 1,
44660702 9767 "type" : "string"
56122987 9768 },
44660702
DM
9769 "cyls" : {
9770 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 9771 "optional" : 1,
44660702 9772 "type" : "integer"
7aacca6f 9773 },
44660702
DM
9774 "detect_zeroes" : {
9775 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9776 "optional" : 1,
9777 "type" : "boolean"
7aacca6f 9778 },
44660702
DM
9779 "discard" : {
9780 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9781 "enum" : [
9782 "ignore",
9783 "on"
9784 ],
56122987 9785 "optional" : 1,
44660702 9786 "type" : "string"
56122987
DM
9787 },
9788 "file" : {
7aacca6f 9789 "default_key" : 1,
44660702 9790 "description" : "The drive's backing volume.",
7aacca6f 9791 "format" : "pve-volume-id-or-qm-path",
44660702
DM
9792 "format_description" : "volume",
9793 "type" : "string"
7aacca6f
DM
9794 },
9795 "format" : {
7aacca6f
DM
9796 "description" : "The drive's backing file's data format.",
9797 "enum" : [
9798 "raw",
9799 "cow",
9800 "qcow",
9801 "qed",
9802 "qcow2",
9803 "vmdk",
9804 "cloop"
56122987
DM
9805 ],
9806 "optional" : 1,
56122987
DM
9807 "type" : "string"
9808 },
44660702
DM
9809 "heads" : {
9810 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9811 "optional" : 1,
44660702 9812 "type" : "integer"
56122987 9813 },
44660702 9814 "iops" : {
de0983cb 9815 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9816 "format_description" : "iops",
56122987 9817 "optional" : 1,
44660702 9818 "type" : "integer"
56122987 9819 },
44660702 9820 "iops_max" : {
de0983cb 9821 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9822 "format_description" : "iops",
56122987 9823 "optional" : 1,
56122987
DM
9824 "type" : "integer"
9825 },
de0983cb
DM
9826 "iops_max_length" : {
9827 "description" : "Maximum length of I/O bursts in seconds.",
9828 "format_description" : "seconds",
9829 "minimum" : 1,
9830 "optional" : 1,
9831 "type" : "integer"
9832 },
44660702 9833 "iops_rd" : {
de0983cb 9834 "description" : "Maximum read I/O in operations per second.",
44660702 9835 "format_description" : "iops",
56122987 9836 "optional" : 1,
44660702 9837 "type" : "integer"
56122987 9838 },
de0983cb 9839 "iops_rd_length" : {
5d9c884c 9840 "alias" : "iops_rd_max_length"
de0983cb 9841 },
44660702 9842 "iops_rd_max" : {
de0983cb 9843 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9844 "format_description" : "iops",
7aacca6f 9845 "optional" : 1,
44660702 9846 "type" : "integer"
56122987 9847 },
5d9c884c
DM
9848 "iops_rd_max_length" : {
9849 "description" : "Maximum length of read I/O bursts in seconds.",
9850 "format_description" : "seconds",
9851 "minimum" : 1,
9852 "optional" : 1,
9853 "type" : "integer"
9854 },
44660702 9855 "iops_wr" : {
de0983cb 9856 "description" : "Maximum write I/O in operations per second.",
44660702 9857 "format_description" : "iops",
7aacca6f 9858 "optional" : 1,
44660702 9859 "type" : "integer"
56122987 9860 },
de0983cb 9861 "iops_wr_length" : {
5d9c884c 9862 "alias" : "iops_wr_max_length"
de0983cb 9863 },
44660702 9864 "iops_wr_max" : {
de0983cb 9865 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9866 "format_description" : "iops",
56122987
DM
9867 "optional" : 1,
9868 "type" : "integer"
9869 },
5d9c884c
DM
9870 "iops_wr_max_length" : {
9871 "description" : "Maximum length of write I/O bursts in seconds.",
9872 "format_description" : "seconds",
9873 "minimum" : 1,
9874 "optional" : 1,
9875 "type" : "integer"
9876 },
44660702
DM
9877 "iothread" : {
9878 "description" : "Whether to use iothreads for this drive",
44660702
DM
9879 "optional" : 1,
9880 "type" : "boolean"
9881 },
9882 "mbps" : {
de0983cb 9883 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 9884 "format_description" : "mbps",
44660702
DM
9885 "optional" : 1,
9886 "type" : "number"
9887 },
9888 "mbps_max" : {
de0983cb 9889 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9890 "format_description" : "mbps",
9891 "optional" : 1,
9892 "type" : "number"
7aacca6f 9893 },
44660702 9894 "mbps_rd" : {
de0983cb 9895 "description" : "Maximum read speed in megabytes per second.",
44660702 9896 "format_description" : "mbps",
56122987 9897 "optional" : 1,
44660702 9898 "type" : "number"
56122987 9899 },
44660702 9900 "mbps_rd_max" : {
de0983cb 9901 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9902 "format_description" : "mbps",
7aacca6f 9903 "optional" : 1,
44660702 9904 "type" : "number"
56122987 9905 },
44660702 9906 "mbps_wr" : {
de0983cb 9907 "description" : "Maximum write speed in megabytes per second.",
44660702 9908 "format_description" : "mbps",
56122987 9909 "optional" : 1,
44660702 9910 "type" : "number"
56122987 9911 },
44660702 9912 "mbps_wr_max" : {
de0983cb 9913 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 9914 "format_description" : "mbps",
56122987 9915 "optional" : 1,
44660702 9916 "type" : "number"
56122987
DM
9917 },
9918 "media" : {
7aacca6f 9919 "default" : "disk",
44660702 9920 "description" : "The drive's media type.",
56122987
DM
9921 "enum" : [
9922 "cdrom",
9923 "disk"
9924 ],
44660702
DM
9925 "optional" : 1,
9926 "type" : "string"
56122987 9927 },
5d9c884c
DM
9928 "replicate" : {
9929 "default" : 1,
9930 "description" : "Whether the drive should considered for replication jobs.",
9931 "optional" : 1,
9932 "type" : "boolean"
9933 },
7aacca6f 9934 "rerror" : {
44660702 9935 "description" : "Read error action.",
56122987 9936 "enum" : [
7aacca6f
DM
9937 "ignore",
9938 "report",
9939 "stop"
56122987 9940 ],
56122987 9941 "optional" : 1,
44660702 9942 "type" : "string"
56122987 9943 },
44660702
DM
9944 "secs" : {
9945 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9946 "optional" : 1,
9947 "type" : "integer"
9948 },
9949 "serial" : {
9950 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9951 "format" : "urlencoded",
9952 "format_description" : "serial",
9953 "maxLength" : 60,
56122987 9954 "optional" : 1,
7aacca6f 9955 "type" : "string"
56122987 9956 },
27a7acb2
DM
9957 "shared" : {
9958 "default" : 0,
9959 "description" : "Mark this locally-managed volume as available on all nodes",
9960 "optional" : 1,
9961 "type" : "boolean",
9962 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
9963 },
44660702
DM
9964 "size" : {
9965 "description" : "Disk size. This is purely informational and has no effect.",
9966 "format" : "disk-size",
f004f5b9 9967 "format_description" : "DiskSize",
56122987 9968 "optional" : 1,
44660702 9969 "type" : "string"
56122987 9970 },
44660702 9971 "snapshot" : {
27a7acb2 9972 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
56122987 9973 "optional" : 1,
44660702 9974 "type" : "boolean"
56122987 9975 },
44660702
DM
9976 "trans" : {
9977 "description" : "Force disk geometry bios translation mode.",
9978 "enum" : [
9979 "none",
9980 "lba",
9981 "auto"
9982 ],
44660702
DM
9983 "optional" : 1,
9984 "type" : "string"
9985 },
9986 "volume" : {
9987 "alias" : "file"
9988 },
9989 "werror" : {
9990 "description" : "Write error action.",
9991 "enum" : [
9992 "enospc",
9993 "ignore",
9994 "report",
9995 "stop"
9996 ],
56122987 9997 "optional" : 1,
44660702 9998 "type" : "string"
56122987 9999 }
44660702 10000 },
56122987 10001 "optional" : 1,
4d47f125 10002 "type" : "string"
56122987 10003 },
4d47f125
TL
10004 "vmgenid" : {
10005 "default" : "1 (autogenerated)",
10006 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
10007 "format_description" : "UUID",
10008 "optional" : 1,
10009 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
10010 "type" : "string",
10011 "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 10012 },
2489d6df
WB
10013 "vmstatestorage" : {
10014 "description" : "Default storage for VM state volumes/files.",
10015 "format" : "pve-storage-id",
10016 "optional" : 1,
4d47f125 10017 "type" : "string"
2489d6df 10018 },
44660702 10019 "watchdog" : {
c2993fe5 10020 "description" : "Create a virtual hardware watchdog device.",
44660702 10021 "format" : "pve-qm-watchdog",
56122987 10022 "optional" : 1,
c2993fe5
DM
10023 "type" : "string",
10024 "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 10025 }
4d47f125
TL
10026 },
10027 "type" : "object"
44660702 10028 }
56122987 10029 },
4d47f125
TL
10030 "POST" : {
10031 "description" : "Set virtual machine options (asynchrounous API).",
10032 "method" : "POST",
10033 "name" : "update_vm_async",
56122987 10034 "parameters" : {
7aacca6f 10035 "additionalProperties" : 0,
56122987 10036 "properties" : {
44660702
DM
10037 "acpi" : {
10038 "default" : 1,
10039 "description" : "Enable/disable ACPI.",
7aacca6f 10040 "optional" : 1,
013dc89f
DM
10041 "type" : "boolean",
10042 "typetext" : "<boolean>"
7aacca6f 10043 },
44660702 10044 "agent" : {
4d47f125
TL
10045 "description" : "Enable/disable Qemu GuestAgent and its properties.",
10046 "format" : {
10047 "enabled" : {
10048 "default" : 0,
10049 "default_key" : 1,
10050 "description" : "Enable/disable Qemu GuestAgent.",
10051 "type" : "boolean"
10052 },
10053 "fstrim_cloned_disks" : {
10054 "default" : 0,
10055 "description" : "Run fstrim after cloning/moving a disk.",
10056 "optional" : 1,
10057 "type" : "boolean"
10058 }
10059 },
7aacca6f 10060 "optional" : 1,
4d47f125
TL
10061 "type" : "string",
10062 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 10063 },
e2d681b3
TL
10064 "arch" : {
10065 "description" : "Virtual processor architecture. Defaults to the host.",
10066 "enum" : [
10067 "x86_64",
10068 "aarch64"
10069 ],
10070 "optional" : 1,
10071 "type" : "string"
10072 },
44660702 10073 "args" : {
c2993fe5 10074 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 10075 "optional" : 1,
c2993fe5 10076 "type" : "string",
013dc89f 10077 "typetext" : "<string>",
c2993fe5 10078 "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 10079 },
44660702
DM
10080 "autostart" : {
10081 "default" : 0,
10082 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 10083 "optional" : 1,
013dc89f
DM
10084 "type" : "boolean",
10085 "typetext" : "<boolean>"
7aacca6f 10086 },
4d47f125
TL
10087 "background_delay" : {
10088 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
10089 "maximum" : 30,
10090 "minimum" : 1,
10091 "optional" : 1,
10092 "type" : "integer",
10093 "typetext" : "<integer> (1 - 30)"
10094 },
44660702
DM
10095 "balloon" : {
10096 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
10097 "minimum" : 0,
10098 "optional" : 1,
4bd7df8b 10099 "type" : "integer",
013dc89f 10100 "typetext" : "<integer> (0 - N)"
44660702
DM
10101 },
10102 "bios" : {
10103 "default" : "seabios",
10104 "description" : "Select BIOS implementation.",
7aacca6f 10105 "enum" : [
44660702
DM
10106 "seabios",
10107 "ovmf"
7aacca6f 10108 ],
56122987 10109 "optional" : 1,
7aacca6f
DM
10110 "type" : "string"
10111 },
44660702
DM
10112 "boot" : {
10113 "default" : "cdn",
10114 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 10115 "optional" : 1,
44660702
DM
10116 "pattern" : "[acdn]{1,4}",
10117 "type" : "string"
56122987 10118 },
44660702
DM
10119 "bootdisk" : {
10120 "description" : "Enable booting from specified disk.",
10121 "format" : "pve-qm-bootdisk",
10122 "optional" : 1,
10123 "pattern" : "(ide|sata|scsi|virtio)\\d+",
10124 "type" : "string"
10125 },
10126 "cdrom" : {
10127 "description" : "This is an alias for option -ide2",
de0983cb 10128 "format" : "pve-qm-ide",
56122987 10129 "optional" : 1,
7aacca6f 10130 "type" : "string",
013dc89f 10131 "typetext" : "<volume>"
44660702 10132 },
27a7acb2
DM
10133 "cipassword" : {
10134 "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.",
10135 "optional" : 1,
10136 "type" : "string",
10137 "typetext" : "<string>"
10138 },
10139 "citype" : {
10140 "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.",
10141 "enum" : [
10142 "configdrive2",
10143 "nocloud"
10144 ],
10145 "optional" : 1,
10146 "type" : "string"
10147 },
10148 "ciuser" : {
10149 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
10150 "optional" : 1,
10151 "type" : "string",
10152 "typetext" : "<string>"
10153 },
44660702
DM
10154 "cores" : {
10155 "default" : 1,
10156 "description" : "The number of cores per socket.",
10157 "minimum" : 1,
10158 "optional" : 1,
4bd7df8b 10159 "type" : "integer",
013dc89f 10160 "typetext" : "<integer> (1 - N)"
44660702
DM
10161 },
10162 "cpu" : {
10163 "description" : "Emulated CPU type.",
10164 "format" : {
10165 "cputype" : {
10166 "default" : "kvm64",
10167 "default_key" : 1,
10168 "description" : "Emulated CPU type.",
10169 "enum" : [
10170 "486",
10171 "athlon",
f004f5b9 10172 "Broadwell",
35a75dd3 10173 "Broadwell-IBRS",
f004f5b9 10174 "Broadwell-noTSX",
35a75dd3 10175 "Broadwell-noTSX-IBRS",
f004f5b9 10176 "Conroe",
44660702 10177 "core2duo",
f004f5b9 10178 "coreduo",
27a7acb2
DM
10179 "EPYC",
10180 "EPYC-IBPB",
f004f5b9 10181 "Haswell",
35a75dd3 10182 "Haswell-IBRS",
f004f5b9 10183 "Haswell-noTSX",
35a75dd3 10184 "Haswell-noTSX-IBRS",
f004f5b9
DM
10185 "host",
10186 "IvyBridge",
35a75dd3 10187 "IvyBridge-IBRS",
44660702
DM
10188 "kvm32",
10189 "kvm64",
35a75dd3 10190 "max",
44660702 10191 "Nehalem",
35a75dd3 10192 "Nehalem-IBRS",
44660702
DM
10193 "Opteron_G1",
10194 "Opteron_G2",
10195 "Opteron_G3",
10196 "Opteron_G4",
10197 "Opteron_G5",
f004f5b9
DM
10198 "Penryn",
10199 "pentium",
10200 "pentium2",
10201 "pentium3",
10202 "phenom",
10203 "qemu32",
10204 "qemu64",
10205 "SandyBridge",
35a75dd3 10206 "SandyBridge-IBRS",
5d9c884c 10207 "Skylake-Client",
35a75dd3
DM
10208 "Skylake-Client-IBRS",
10209 "Skylake-Server",
10210 "Skylake-Server-IBRS",
10211 "Westmere",
10212 "Westmere-IBRS"
44660702 10213 ],
44660702
DM
10214 "type" : "string"
10215 },
35a75dd3 10216 "flags" : {
4d47f125 10217 "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
10218 "format_description" : "+FLAG[;-FLAG...]",
10219 "optional" : 1,
4d47f125 10220 "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
10221 "type" : "string"
10222 },
44660702
DM
10223 "hidden" : {
10224 "default" : 0,
10225 "description" : "Do not identify as a KVM virtual machine.",
10226 "optional" : 1,
10227 "type" : "boolean"
10228 }
10229 },
10230 "optional" : 1,
4bd7df8b 10231 "type" : "string",
35a75dd3 10232 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702
DM
10233 },
10234 "cpulimit" : {
10235 "default" : 0,
c2993fe5 10236 "description" : "Limit of CPU usage.",
44660702
DM
10237 "maximum" : 128,
10238 "minimum" : 0,
10239 "optional" : 1,
c2993fe5 10240 "type" : "number",
013dc89f 10241 "typetext" : "<number> (0 - 128)",
c2993fe5 10242 "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
10243 },
10244 "cpuunits" : {
de0983cb 10245 "default" : 1024,
c2993fe5 10246 "description" : "CPU weight for a VM.",
2489d6df
WB
10247 "maximum" : 262144,
10248 "minimum" : 2,
44660702 10249 "optional" : 1,
c2993fe5 10250 "type" : "integer",
2489d6df
WB
10251 "typetext" : "<integer> (2 - 262144)",
10252 "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
10253 },
10254 "delete" : {
10255 "description" : "A list of settings you want to delete.",
10256 "format" : "pve-configid-list",
10257 "optional" : 1,
013dc89f
DM
10258 "type" : "string",
10259 "typetext" : "<string>"
44660702
DM
10260 },
10261 "description" : {
10262 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
10263 "optional" : 1,
013dc89f
DM
10264 "type" : "string",
10265 "typetext" : "<string>"
44660702
DM
10266 },
10267 "digest" : {
10268 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10269 "maxLength" : 40,
10270 "optional" : 1,
013dc89f
DM
10271 "type" : "string",
10272 "typetext" : "<string>"
44660702 10273 },
4d47f125
TL
10274 "efidisk0" : {
10275 "description" : "Configure a Disk for storing EFI vars",
10276 "format" : {
10277 "file" : {
10278 "default_key" : 1,
10279 "description" : "The drive's backing volume.",
10280 "format" : "pve-volume-id-or-qm-path",
10281 "format_description" : "volume",
10282 "type" : "string"
10283 },
10284 "format" : {
10285 "description" : "The drive's backing file's data format.",
10286 "enum" : [
10287 "raw",
10288 "cow",
10289 "qcow",
10290 "qed",
10291 "qcow2",
10292 "vmdk",
10293 "cloop"
10294 ],
10295 "optional" : 1,
10296 "type" : "string"
10297 },
10298 "size" : {
10299 "description" : "Disk size. This is purely informational and has no effect.",
10300 "format" : "disk-size",
10301 "format_description" : "DiskSize",
10302 "optional" : 1,
10303 "type" : "string"
10304 },
10305 "volume" : {
10306 "alias" : "file"
10307 }
10308 },
10309 "optional" : 1,
10310 "type" : "string",
10311 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
10312 },
44660702
DM
10313 "force" : {
10314 "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.",
10315 "optional" : 1,
10316 "requires" : "delete",
013dc89f
DM
10317 "type" : "boolean",
10318 "typetext" : "<boolean>"
44660702
DM
10319 },
10320 "freeze" : {
10321 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
10322 "optional" : 1,
013dc89f
DM
10323 "type" : "boolean",
10324 "typetext" : "<boolean>"
44660702
DM
10325 },
10326 "hostpci[n]" : {
c2993fe5 10327 "description" : "Map host PCI devices into guest.",
44660702
DM
10328 "format" : "pve-qm-hostpci",
10329 "optional" : 1,
57b78691 10330 "type" : "string",
e2d681b3 10331 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 10332 "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 10333 },
7aacca6f 10334 "hotplug" : {
7aacca6f 10335 "default" : "network,disk,usb",
44660702
DM
10336 "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'.",
10337 "format" : "pve-hotplug-features",
56122987 10338 "optional" : 1,
013dc89f
DM
10339 "type" : "string",
10340 "typetext" : "<string>"
56122987 10341 },
4bd7df8b
DM
10342 "hugepages" : {
10343 "description" : "Enable/disable hugepages memory.",
10344 "enum" : [
10345 "any",
10346 "2",
10347 "1024"
10348 ],
10349 "optional" : 1,
10350 "type" : "string"
10351 },
56122987 10352 "ide[n]" : {
7aacca6f 10353 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 10354 "format" : {
44660702
DM
10355 "aio" : {
10356 "description" : "AIO type to use.",
10357 "enum" : [
10358 "native",
10359 "threads"
10360 ],
56122987 10361 "optional" : 1,
44660702 10362 "type" : "string"
56122987 10363 },
44660702
DM
10364 "backup" : {
10365 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10366 "optional" : 1,
10367 "type" : "boolean"
10368 },
10369 "bps" : {
de0983cb 10370 "description" : "Maximum r/w speed in bytes per second.",
44660702 10371 "format_description" : "bps",
56122987 10372 "optional" : 1,
44660702 10373 "type" : "integer"
56122987 10374 },
de0983cb
DM
10375 "bps_max_length" : {
10376 "description" : "Maximum length of I/O bursts in seconds.",
10377 "format_description" : "seconds",
10378 "minimum" : 1,
10379 "optional" : 1,
10380 "type" : "integer"
10381 },
44660702 10382 "bps_rd" : {
de0983cb 10383 "description" : "Maximum read speed in bytes per second.",
44660702 10384 "format_description" : "bps",
56122987 10385 "optional" : 1,
44660702 10386 "type" : "integer"
56122987 10387 },
de0983cb 10388 "bps_rd_length" : {
5d9c884c
DM
10389 "alias" : "bps_rd_max_length"
10390 },
10391 "bps_rd_max_length" : {
de0983cb
DM
10392 "description" : "Maximum length of read I/O bursts in seconds.",
10393 "format_description" : "seconds",
10394 "minimum" : 1,
10395 "optional" : 1,
10396 "type" : "integer"
10397 },
7aacca6f 10398 "bps_wr" : {
de0983cb 10399 "description" : "Maximum write speed in bytes per second.",
44660702
DM
10400 "format_description" : "bps",
10401 "optional" : 1,
10402 "type" : "integer"
7aacca6f 10403 },
de0983cb 10404 "bps_wr_length" : {
5d9c884c
DM
10405 "alias" : "bps_wr_max_length"
10406 },
10407 "bps_wr_max_length" : {
de0983cb
DM
10408 "description" : "Maximum length of write I/O bursts in seconds.",
10409 "format_description" : "seconds",
10410 "minimum" : 1,
10411 "optional" : 1,
10412 "type" : "integer"
10413 },
44660702
DM
10414 "cache" : {
10415 "description" : "The drive's cache mode",
10416 "enum" : [
10417 "none",
10418 "writethrough",
10419 "writeback",
10420 "unsafe",
10421 "directsync"
10422 ],
56122987 10423 "optional" : 1,
44660702
DM
10424 "type" : "string"
10425 },
10426 "cyls" : {
10427 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10428 "optional" : 1,
10429 "type" : "integer"
10430 },
10431 "detect_zeroes" : {
10432 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10433 "optional" : 1,
10434 "type" : "boolean"
56122987 10435 },
7aacca6f 10436 "discard" : {
7aacca6f 10437 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 10438 "enum" : [
7aacca6f
DM
10439 "ignore",
10440 "on"
56122987
DM
10441 ],
10442 "optional" : 1,
44660702 10443 "type" : "string"
7aacca6f 10444 },
44660702
DM
10445 "file" : {
10446 "default_key" : 1,
10447 "description" : "The drive's backing volume.",
10448 "format" : "pve-volume-id-or-qm-path",
10449 "format_description" : "volume",
10450 "type" : "string"
7aacca6f
DM
10451 },
10452 "format" : {
44660702 10453 "description" : "The drive's backing file's data format.",
7aacca6f
DM
10454 "enum" : [
10455 "raw",
10456 "cow",
10457 "qcow",
10458 "qed",
10459 "qcow2",
10460 "vmdk",
10461 "cloop"
10462 ],
7aacca6f 10463 "optional" : 1,
44660702 10464 "type" : "string"
56122987 10465 },
7aacca6f 10466 "heads" : {
44660702 10467 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10468 "optional" : 1,
44660702 10469 "type" : "integer"
7aacca6f 10470 },
44660702 10471 "iops" : {
de0983cb 10472 "description" : "Maximum r/w I/O in operations per second.",
44660702 10473 "format_description" : "iops",
7aacca6f 10474 "optional" : 1,
44660702 10475 "type" : "integer"
56122987 10476 },
44660702 10477 "iops_max" : {
de0983cb 10478 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10479 "format_description" : "iops",
56122987 10480 "optional" : 1,
44660702 10481 "type" : "integer"
56122987 10482 },
de0983cb
DM
10483 "iops_max_length" : {
10484 "description" : "Maximum length of I/O bursts in seconds.",
10485 "format_description" : "seconds",
10486 "minimum" : 1,
10487 "optional" : 1,
10488 "type" : "integer"
10489 },
44660702 10490 "iops_rd" : {
de0983cb 10491 "description" : "Maximum read I/O in operations per second.",
44660702 10492 "format_description" : "iops",
56122987 10493 "optional" : 1,
44660702 10494 "type" : "integer"
7aacca6f 10495 },
de0983cb 10496 "iops_rd_length" : {
5d9c884c 10497 "alias" : "iops_rd_max_length"
de0983cb 10498 },
44660702 10499 "iops_rd_max" : {
de0983cb 10500 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10501 "format_description" : "iops",
7aacca6f 10502 "optional" : 1,
44660702 10503 "type" : "integer"
7aacca6f 10504 },
5d9c884c
DM
10505 "iops_rd_max_length" : {
10506 "description" : "Maximum length of read I/O bursts in seconds.",
10507 "format_description" : "seconds",
10508 "minimum" : 1,
10509 "optional" : 1,
10510 "type" : "integer"
10511 },
44660702 10512 "iops_wr" : {
de0983cb 10513 "description" : "Maximum write I/O in operations per second.",
44660702 10514 "format_description" : "iops",
7aacca6f 10515 "optional" : 1,
44660702 10516 "type" : "integer"
56122987 10517 },
de0983cb 10518 "iops_wr_length" : {
5d9c884c 10519 "alias" : "iops_wr_max_length"
de0983cb 10520 },
44660702 10521 "iops_wr_max" : {
de0983cb 10522 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 10523 "format_description" : "iops",
7aacca6f 10524 "optional" : 1,
44660702 10525 "type" : "integer"
7aacca6f 10526 },
5d9c884c
DM
10527 "iops_wr_max_length" : {
10528 "description" : "Maximum length of write I/O bursts in seconds.",
10529 "format_description" : "seconds",
10530 "minimum" : 1,
10531 "optional" : 1,
10532 "type" : "integer"
10533 },
7aacca6f 10534 "mbps" : {
de0983cb 10535 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 10536 "format_description" : "mbps",
7aacca6f 10537 "optional" : 1,
44660702 10538 "type" : "number"
7aacca6f 10539 },
44660702 10540 "mbps_max" : {
de0983cb 10541 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 10542 "format_description" : "mbps",
7aacca6f 10543 "optional" : 1,
44660702 10544 "type" : "number"
7aacca6f 10545 },
44660702 10546 "mbps_rd" : {
de0983cb 10547 "description" : "Maximum read speed in megabytes per second.",
44660702 10548 "format_description" : "mbps",
7aacca6f 10549 "optional" : 1,
44660702 10550 "type" : "number"
7aacca6f 10551 },
44660702 10552 "mbps_rd_max" : {
de0983cb 10553 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
10554 "format_description" : "mbps",
10555 "optional" : 1,
10556 "type" : "number"
7aacca6f 10557 },
44660702 10558 "mbps_wr" : {
de0983cb 10559 "description" : "Maximum write speed in megabytes per second.",
44660702 10560 "format_description" : "mbps",
7aacca6f 10561 "optional" : 1,
44660702
DM
10562 "type" : "number"
10563 },
10564 "mbps_wr_max" : {
de0983cb 10565 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
10566 "format_description" : "mbps",
10567 "optional" : 1,
10568 "type" : "number"
10569 },
10570 "media" : {
10571 "default" : "disk",
10572 "description" : "The drive's media type.",
56122987 10573 "enum" : [
44660702
DM
10574 "cdrom",
10575 "disk"
56122987 10576 ],
44660702
DM
10577 "optional" : 1,
10578 "type" : "string"
56122987 10579 },
7aacca6f 10580 "model" : {
44660702 10581 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 10582 "format" : "urlencoded",
7aacca6f 10583 "format_description" : "model",
44660702 10584 "maxLength" : 120,
56122987 10585 "optional" : 1,
44660702 10586 "type" : "string"
56122987 10587 },
5d9c884c
DM
10588 "replicate" : {
10589 "default" : 1,
10590 "description" : "Whether the drive should considered for replication jobs.",
10591 "optional" : 1,
10592 "type" : "boolean"
10593 },
44660702
DM
10594 "rerror" : {
10595 "description" : "Read error action.",
10596 "enum" : [
10597 "ignore",
10598 "report",
10599 "stop"
10600 ],
56122987 10601 "optional" : 1,
44660702 10602 "type" : "string"
56122987 10603 },
44660702
DM
10604 "secs" : {
10605 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10606 "optional" : 1,
10607 "type" : "integer"
56122987 10608 },
44660702
DM
10609 "serial" : {
10610 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10611 "format" : "urlencoded",
10612 "format_description" : "serial",
10613 "maxLength" : 60,
56122987 10614 "optional" : 1,
44660702 10615 "type" : "string"
56122987 10616 },
27a7acb2
DM
10617 "shared" : {
10618 "default" : 0,
10619 "description" : "Mark this locally-managed volume as available on all nodes",
10620 "optional" : 1,
10621 "type" : "boolean",
10622 "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!"
10623 },
44660702
DM
10624 "size" : {
10625 "description" : "Disk size. This is purely informational and has no effect.",
10626 "format" : "disk-size",
f004f5b9 10627 "format_description" : "DiskSize",
56122987 10628 "optional" : 1,
44660702 10629 "type" : "string"
56122987 10630 },
44660702 10631 "snapshot" : {
27a7acb2 10632 "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 10633 "optional" : 1,
44660702 10634 "type" : "boolean"
56122987 10635 },
25203dc1
NC
10636 "ssd" : {
10637 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
10638 "optional" : 1,
10639 "type" : "boolean"
10640 },
44660702
DM
10641 "trans" : {
10642 "description" : "Force disk geometry bios translation mode.",
10643 "enum" : [
10644 "none",
10645 "lba",
10646 "auto"
10647 ],
56122987 10648 "optional" : 1,
44660702
DM
10649 "type" : "string"
10650 },
10651 "volume" : {
10652 "alias" : "file"
56122987 10653 },
7aacca6f 10654 "werror" : {
44660702 10655 "description" : "Write error action.",
7aacca6f
DM
10656 "enum" : [
10657 "enospc",
10658 "ignore",
10659 "report",
10660 "stop"
10661 ],
56122987 10662 "optional" : 1,
44660702 10663 "type" : "string"
7aacca6f 10664 }
44660702
DM
10665 },
10666 "optional" : 1,
4bd7df8b 10667 "type" : "string",
25203dc1 10668 "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
10669 },
10670 "ipconfig[n]" : {
10671 "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",
10672 "format" : "pve-qm-ipconfig",
10673 "optional" : 1,
10674 "type" : "string",
10675 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 10676 },
44660702 10677 "keyboard" : {
35a75dd3 10678 "default" : null,
5da3d723 10679 "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
10680 "enum" : [
10681 "de",
10682 "de-ch",
10683 "da",
10684 "en-gb",
10685 "en-us",
10686 "es",
10687 "fi",
10688 "fr",
10689 "fr-be",
10690 "fr-ca",
10691 "fr-ch",
10692 "hu",
10693 "is",
10694 "it",
10695 "ja",
10696 "lt",
10697 "mk",
10698 "nl",
10699 "no",
10700 "pl",
10701 "pt",
10702 "pt-br",
10703 "sv",
10704 "sl",
10705 "tr"
10706 ],
7aacca6f 10707 "optional" : 1,
44660702 10708 "type" : "string"
7aacca6f 10709 },
44660702 10710 "kvm" : {
7aacca6f 10711 "default" : 1,
44660702 10712 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 10713 "optional" : 1,
013dc89f
DM
10714 "type" : "boolean",
10715 "typetext" : "<boolean>"
7aacca6f 10716 },
44660702
DM
10717 "localtime" : {
10718 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 10719 "optional" : 1,
013dc89f
DM
10720 "type" : "boolean",
10721 "typetext" : "<boolean>"
7aacca6f 10722 },
44660702
DM
10723 "lock" : {
10724 "description" : "Lock/unlock the VM.",
10725 "enum" : [
10726 "migrate",
10727 "backup",
10728 "snapshot",
10729 "rollback"
10730 ],
7aacca6f 10731 "optional" : 1,
44660702 10732 "type" : "string"
7aacca6f 10733 },
44660702 10734 "machine" : {
4d47f125 10735 "description" : "Specifies the Qemu machine type.",
44660702 10736 "maxLength" : 40,
7aacca6f 10737 "optional" : 1,
e2d681b3 10738 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702 10739 "type" : "string"
7aacca6f 10740 },
44660702
DM
10741 "memory" : {
10742 "default" : 512,
10743 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
10744 "minimum" : 16,
7aacca6f 10745 "optional" : 1,
4bd7df8b 10746 "type" : "integer",
013dc89f 10747 "typetext" : "<integer> (16 - N)"
7aacca6f 10748 },
44660702
DM
10749 "migrate_downtime" : {
10750 "default" : 0.1,
10751 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
10752 "minimum" : 0,
7aacca6f 10753 "optional" : 1,
4bd7df8b 10754 "type" : "number",
013dc89f 10755 "typetext" : "<number> (0 - N)"
7aacca6f 10756 },
44660702 10757 "migrate_speed" : {
7aacca6f 10758 "default" : 0,
44660702
DM
10759 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
10760 "minimum" : 0,
10761 "optional" : 1,
4bd7df8b 10762 "type" : "integer",
013dc89f 10763 "typetext" : "<integer> (0 - N)"
7aacca6f 10764 },
44660702
DM
10765 "name" : {
10766 "description" : "Set a name for the VM. Only used on the configuration web interface.",
10767 "format" : "dns-name",
7aacca6f 10768 "optional" : 1,
013dc89f
DM
10769 "type" : "string",
10770 "typetext" : "<string>"
7aacca6f 10771 },
27a7acb2
DM
10772 "nameserver" : {
10773 "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.",
10774 "format" : "address-list",
10775 "optional" : 1,
10776 "type" : "string",
10777 "typetext" : "<string>"
10778 },
44660702 10779 "net[n]" : {
c2993fe5 10780 "description" : "Specify network devices.",
f004f5b9
DM
10781 "format" : {
10782 "bridge" : {
c2993fe5 10783 "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
10784 "format_description" : "bridge",
10785 "optional" : 1,
10786 "type" : "string"
10787 },
10788 "e1000" : {
10789 "alias" : "macaddr",
10790 "keyAlias" : "model"
10791 },
10792 "e1000-82540em" : {
10793 "alias" : "macaddr",
10794 "keyAlias" : "model"
10795 },
10796 "e1000-82544gc" : {
10797 "alias" : "macaddr",
10798 "keyAlias" : "model"
10799 },
10800 "e1000-82545em" : {
10801 "alias" : "macaddr",
10802 "keyAlias" : "model"
10803 },
10804 "firewall" : {
10805 "description" : "Whether this interface should be protected by the firewall.",
10806 "optional" : 1,
10807 "type" : "boolean"
10808 },
10809 "i82551" : {
10810 "alias" : "macaddr",
10811 "keyAlias" : "model"
10812 },
10813 "i82557b" : {
10814 "alias" : "macaddr",
10815 "keyAlias" : "model"
10816 },
10817 "i82559er" : {
10818 "alias" : "macaddr",
10819 "keyAlias" : "model"
10820 },
10821 "link_down" : {
c2993fe5 10822 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
10823 "optional" : 1,
10824 "type" : "boolean"
10825 },
10826 "macaddr" : {
c2993fe5 10827 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 10828 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
10829 "optional" : 1,
10830 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
10831 "type" : "string"
10832 },
10833 "model" : {
10834 "default_key" : 1,
c2993fe5 10835 "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
10836 "enum" : [
10837 "rtl8139",
10838 "ne2k_pci",
10839 "e1000",
10840 "pcnet",
10841 "virtio",
10842 "ne2k_isa",
10843 "i82551",
10844 "i82557b",
10845 "i82559er",
10846 "vmxnet3",
10847 "e1000-82540em",
10848 "e1000-82544gc",
10849 "e1000-82545em"
10850 ],
f004f5b9
DM
10851 "type" : "string"
10852 },
10853 "ne2k_isa" : {
10854 "alias" : "macaddr",
10855 "keyAlias" : "model"
10856 },
10857 "ne2k_pci" : {
10858 "alias" : "macaddr",
10859 "keyAlias" : "model"
10860 },
10861 "pcnet" : {
10862 "alias" : "macaddr",
10863 "keyAlias" : "model"
10864 },
10865 "queues" : {
10866 "description" : "Number of packet queues to be used on the device.",
10867 "maximum" : 16,
10868 "minimum" : 0,
10869 "optional" : 1,
10870 "type" : "integer"
10871 },
10872 "rate" : {
c2993fe5 10873 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
10874 "minimum" : 0,
10875 "optional" : 1,
10876 "type" : "number"
10877 },
10878 "rtl8139" : {
10879 "alias" : "macaddr",
10880 "keyAlias" : "model"
10881 },
10882 "tag" : {
10883 "description" : "VLAN tag to apply to packets on this interface.",
10884 "maximum" : 4094,
c2993fe5 10885 "minimum" : 1,
f004f5b9
DM
10886 "optional" : 1,
10887 "type" : "integer"
10888 },
10889 "trunks" : {
10890 "description" : "VLAN trunks to pass through this interface.",
10891 "format_description" : "vlanid[;vlanid...]",
10892 "optional" : 1,
10893 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10894 "type" : "string"
10895 },
10896 "virtio" : {
10897 "alias" : "macaddr",
10898 "keyAlias" : "model"
10899 },
10900 "vmxnet3" : {
10901 "alias" : "macaddr",
10902 "keyAlias" : "model"
10903 }
10904 },
7aacca6f 10905 "optional" : 1,
4bd7df8b 10906 "type" : "string",
013dc89f 10907 "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 10908 },
44660702
DM
10909 "node" : {
10910 "description" : "The cluster node name.",
10911 "format" : "pve-node",
013dc89f
DM
10912 "type" : "string",
10913 "typetext" : "<string>"
44660702
DM
10914 },
10915 "numa" : {
10916 "default" : 0,
10917 "description" : "Enable/disable NUMA.",
7aacca6f 10918 "optional" : 1,
013dc89f
DM
10919 "type" : "boolean",
10920 "typetext" : "<boolean>"
7aacca6f 10921 },
44660702 10922 "numa[n]" : {
c2993fe5 10923 "description" : "NUMA topology.",
44660702
DM
10924 "format" : {
10925 "cpus" : {
c2993fe5 10926 "description" : "CPUs accessing this NUMA node.",
44660702
DM
10927 "format_description" : "id[-id];...",
10928 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10929 "type" : "string"
10930 },
10931 "hostnodes" : {
c2993fe5 10932 "description" : "Host NUMA nodes to use.",
44660702
DM
10933 "format_description" : "id[-id];...",
10934 "optional" : 1,
10935 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10936 "type" : "string"
10937 },
10938 "memory" : {
c2993fe5 10939 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
10940 "optional" : 1,
10941 "type" : "number"
10942 },
10943 "policy" : {
c2993fe5 10944 "description" : "NUMA allocation policy.",
44660702
DM
10945 "enum" : [
10946 "preferred",
10947 "bind",
10948 "interleave"
10949 ],
44660702
DM
10950 "optional" : 1,
10951 "type" : "string"
10952 }
10953 },
7aacca6f 10954 "optional" : 1,
4bd7df8b
DM
10955 "type" : "string",
10956 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 10957 },
44660702
DM
10958 "onboot" : {
10959 "default" : 0,
10960 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 10961 "optional" : 1,
013dc89f
DM
10962 "type" : "boolean",
10963 "typetext" : "<boolean>"
7aacca6f 10964 },
44660702 10965 "ostype" : {
c2993fe5 10966 "description" : "Specify guest operating system.",
44660702
DM
10967 "enum" : [
10968 "other",
10969 "wxp",
10970 "w2k",
10971 "w2k3",
10972 "w2k8",
10973 "wvista",
10974 "win7",
10975 "win8",
32d876b5 10976 "win10",
44660702
DM
10977 "l24",
10978 "l26",
10979 "solaris"
10980 ],
7aacca6f 10981 "optional" : 1,
c2993fe5 10982 "type" : "string",
35a75dd3 10983 "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 10984 },
44660702 10985 "parallel[n]" : {
c2993fe5 10986 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 10987 "optional" : 1,
44660702 10988 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
10989 "type" : "string",
10990 "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 10991 },
44660702
DM
10992 "protection" : {
10993 "default" : 0,
c2993fe5 10994 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 10995 "optional" : 1,
013dc89f
DM
10996 "type" : "boolean",
10997 "typetext" : "<boolean>"
7aacca6f 10998 },
44660702
DM
10999 "reboot" : {
11000 "default" : 1,
11001 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 11002 "optional" : 1,
013dc89f
DM
11003 "type" : "boolean",
11004 "typetext" : "<boolean>"
7aacca6f 11005 },
44660702
DM
11006 "revert" : {
11007 "description" : "Revert a pending change.",
11008 "format" : "pve-configid-list",
7aacca6f 11009 "optional" : 1,
013dc89f
DM
11010 "type" : "string",
11011 "typetext" : "<string>"
7aacca6f 11012 },
44660702
DM
11013 "sata[n]" : {
11014 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 11015 "format" : {
44660702
DM
11016 "aio" : {
11017 "description" : "AIO type to use.",
11018 "enum" : [
11019 "native",
11020 "threads"
11021 ],
44660702
DM
11022 "optional" : 1,
11023 "type" : "string"
11024 },
11025 "backup" : {
11026 "description" : "Whether the drive should be included when making backups.",
44660702
DM
11027 "optional" : 1,
11028 "type" : "boolean"
11029 },
11030 "bps" : {
de0983cb 11031 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 11032 "format_description" : "bps",
7aacca6f
DM
11033 "optional" : 1,
11034 "type" : "integer"
56122987 11035 },
de0983cb
DM
11036 "bps_max_length" : {
11037 "description" : "Maximum length of I/O bursts in seconds.",
11038 "format_description" : "seconds",
11039 "minimum" : 1,
11040 "optional" : 1,
11041 "type" : "integer"
11042 },
44660702 11043 "bps_rd" : {
de0983cb 11044 "description" : "Maximum read speed in bytes per second.",
44660702 11045 "format_description" : "bps",
7aacca6f 11046 "optional" : 1,
44660702 11047 "type" : "integer"
7aacca6f 11048 },
de0983cb 11049 "bps_rd_length" : {
5d9c884c
DM
11050 "alias" : "bps_rd_max_length"
11051 },
11052 "bps_rd_max_length" : {
de0983cb
DM
11053 "description" : "Maximum length of read I/O bursts in seconds.",
11054 "format_description" : "seconds",
11055 "minimum" : 1,
11056 "optional" : 1,
11057 "type" : "integer"
11058 },
44660702 11059 "bps_wr" : {
de0983cb 11060 "description" : "Maximum write speed in bytes per second.",
44660702 11061 "format_description" : "bps",
7aacca6f 11062 "optional" : 1,
44660702 11063 "type" : "integer"
7aacca6f 11064 },
de0983cb 11065 "bps_wr_length" : {
5d9c884c
DM
11066 "alias" : "bps_wr_max_length"
11067 },
11068 "bps_wr_max_length" : {
de0983cb
DM
11069 "description" : "Maximum length of write I/O bursts in seconds.",
11070 "format_description" : "seconds",
11071 "minimum" : 1,
11072 "optional" : 1,
11073 "type" : "integer"
11074 },
44660702
DM
11075 "cache" : {
11076 "description" : "The drive's cache mode",
11077 "enum" : [
11078 "none",
11079 "writethrough",
11080 "writeback",
11081 "unsafe",
11082 "directsync"
11083 ],
7aacca6f 11084 "optional" : 1,
44660702 11085 "type" : "string"
7aacca6f 11086 },
44660702
DM
11087 "cyls" : {
11088 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 11089 "optional" : 1,
44660702 11090 "type" : "integer"
7aacca6f 11091 },
44660702
DM
11092 "detect_zeroes" : {
11093 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 11094 "optional" : 1,
44660702 11095 "type" : "boolean"
7aacca6f 11096 },
44660702
DM
11097 "discard" : {
11098 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11099 "enum" : [
11100 "ignore",
11101 "on"
11102 ],
7aacca6f 11103 "optional" : 1,
44660702
DM
11104 "type" : "string"
11105 },
11106 "file" : {
11107 "default_key" : 1,
11108 "description" : "The drive's backing volume.",
11109 "format" : "pve-volume-id-or-qm-path",
11110 "format_description" : "volume",
11111 "type" : "string"
7aacca6f
DM
11112 },
11113 "format" : {
7aacca6f 11114 "description" : "The drive's backing file's data format.",
56122987
DM
11115 "enum" : [
11116 "raw",
11117 "cow",
11118 "qcow",
11119 "qed",
11120 "qcow2",
11121 "vmdk",
11122 "cloop"
11123 ],
11124 "optional" : 1,
7aacca6f 11125 "type" : "string"
56122987 11126 },
7aacca6f 11127 "heads" : {
7aacca6f 11128 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11129 "optional" : 1,
11130 "type" : "integer"
56122987 11131 },
44660702 11132 "iops" : {
de0983cb 11133 "description" : "Maximum r/w I/O in operations per second.",
44660702 11134 "format_description" : "iops",
56122987 11135 "optional" : 1,
44660702 11136 "type" : "integer"
7aacca6f 11137 },
44660702 11138 "iops_max" : {
de0983cb 11139 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11140 "format_description" : "iops",
7aacca6f 11141 "optional" : 1,
44660702 11142 "type" : "integer"
56122987 11143 },
de0983cb
DM
11144 "iops_max_length" : {
11145 "description" : "Maximum length of I/O bursts in seconds.",
11146 "format_description" : "seconds",
11147 "minimum" : 1,
11148 "optional" : 1,
11149 "type" : "integer"
11150 },
44660702 11151 "iops_rd" : {
de0983cb 11152 "description" : "Maximum read I/O in operations per second.",
44660702 11153 "format_description" : "iops",
56122987 11154 "optional" : 1,
44660702 11155 "type" : "integer"
7aacca6f 11156 },
de0983cb 11157 "iops_rd_length" : {
5d9c884c 11158 "alias" : "iops_rd_max_length"
de0983cb 11159 },
44660702 11160 "iops_rd_max" : {
de0983cb 11161 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11162 "format_description" : "iops",
56122987 11163 "optional" : 1,
44660702 11164 "type" : "integer"
56122987 11165 },
5d9c884c
DM
11166 "iops_rd_max_length" : {
11167 "description" : "Maximum length of read I/O bursts in seconds.",
11168 "format_description" : "seconds",
11169 "minimum" : 1,
11170 "optional" : 1,
11171 "type" : "integer"
11172 },
44660702 11173 "iops_wr" : {
de0983cb 11174 "description" : "Maximum write I/O in operations per second.",
44660702
DM
11175 "format_description" : "iops",
11176 "optional" : 1,
11177 "type" : "integer"
56122987 11178 },
de0983cb 11179 "iops_wr_length" : {
5d9c884c 11180 "alias" : "iops_wr_max_length"
de0983cb 11181 },
44660702 11182 "iops_wr_max" : {
de0983cb 11183 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
11184 "format_description" : "iops",
11185 "optional" : 1,
11186 "type" : "integer"
11187 },
5d9c884c
DM
11188 "iops_wr_max_length" : {
11189 "description" : "Maximum length of write I/O bursts in seconds.",
11190 "format_description" : "seconds",
11191 "minimum" : 1,
11192 "optional" : 1,
11193 "type" : "integer"
11194 },
44660702 11195 "mbps" : {
de0983cb 11196 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
11197 "format_description" : "mbps",
11198 "optional" : 1,
11199 "type" : "number"
11200 },
11201 "mbps_max" : {
de0983cb 11202 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
11203 "format_description" : "mbps",
11204 "optional" : 1,
11205 "type" : "number"
11206 },
11207 "mbps_rd" : {
de0983cb 11208 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
11209 "format_description" : "mbps",
11210 "optional" : 1,
11211 "type" : "number"
11212 },
11213 "mbps_rd_max" : {
de0983cb 11214 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11215 "format_description" : "mbps",
11216 "optional" : 1,
11217 "type" : "number"
11218 },
11219 "mbps_wr" : {
de0983cb 11220 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11221 "format_description" : "mbps",
11222 "optional" : 1,
11223 "type" : "number"
11224 },
11225 "mbps_wr_max" : {
de0983cb 11226 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11227 "format_description" : "mbps",
11228 "optional" : 1,
11229 "type" : "number"
11230 },
11231 "media" : {
11232 "default" : "disk",
11233 "description" : "The drive's media type.",
11234 "enum" : [
11235 "cdrom",
11236 "disk"
11237 ],
56122987 11238 "optional" : 1,
44660702
DM
11239 "type" : "string"
11240 },
5d9c884c
DM
11241 "replicate" : {
11242 "default" : 1,
11243 "description" : "Whether the drive should considered for replication jobs.",
11244 "optional" : 1,
11245 "type" : "boolean"
11246 },
44660702 11247 "rerror" : {
7aacca6f
DM
11248 "description" : "Read error action.",
11249 "enum" : [
11250 "ignore",
11251 "report",
11252 "stop"
44660702 11253 ],
56122987 11254 "optional" : 1,
44660702 11255 "type" : "string"
56122987 11256 },
7aacca6f 11257 "secs" : {
44660702 11258 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11259 "optional" : 1,
44660702 11260 "type" : "integer"
56122987 11261 },
44660702
DM
11262 "serial" : {
11263 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11264 "format" : "urlencoded",
11265 "format_description" : "serial",
11266 "maxLength" : 60,
56122987 11267 "optional" : 1,
44660702 11268 "type" : "string"
56122987 11269 },
27a7acb2
DM
11270 "shared" : {
11271 "default" : 0,
11272 "description" : "Mark this locally-managed volume as available on all nodes",
11273 "optional" : 1,
11274 "type" : "boolean",
11275 "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!"
11276 },
44660702
DM
11277 "size" : {
11278 "description" : "Disk size. This is purely informational and has no effect.",
11279 "format" : "disk-size",
f004f5b9 11280 "format_description" : "DiskSize",
56122987 11281 "optional" : 1,
44660702 11282 "type" : "string"
56122987
DM
11283 },
11284 "snapshot" : {
27a7acb2 11285 "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 11286 "optional" : 1,
44660702 11287 "type" : "boolean"
56122987 11288 },
25203dc1
NC
11289 "ssd" : {
11290 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11291 "optional" : 1,
11292 "type" : "boolean"
11293 },
56122987 11294 "trans" : {
7aacca6f 11295 "description" : "Force disk geometry bios translation mode.",
56122987
DM
11296 "enum" : [
11297 "none",
11298 "lba",
11299 "auto"
11300 ],
11301 "optional" : 1,
44660702 11302 "type" : "string"
56122987 11303 },
44660702
DM
11304 "volume" : {
11305 "alias" : "file"
56122987 11306 },
7aacca6f 11307 "werror" : {
44660702 11308 "description" : "Write error action.",
56122987 11309 "enum" : [
7aacca6f 11310 "enospc",
56122987 11311 "ignore",
7aacca6f
DM
11312 "report",
11313 "stop"
11314 ],
7aacca6f 11315 "optional" : 1,
44660702
DM
11316 "type" : "string"
11317 }
11318 },
11319 "optional" : 1,
4bd7df8b 11320 "type" : "string",
25203dc1 11321 "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
11322 },
11323 "scsi[n]" : {
11324 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
11325 "format" : {
11326 "aio" : {
7aacca6f 11327 "description" : "AIO type to use.",
56122987
DM
11328 "enum" : [
11329 "native",
11330 "threads"
44660702 11331 ],
56122987 11332 "optional" : 1,
44660702 11333 "type" : "string"
56122987 11334 },
7aacca6f 11335 "backup" : {
7aacca6f 11336 "description" : "Whether the drive should be included when making backups.",
7aacca6f 11337 "optional" : 1,
44660702 11338 "type" : "boolean"
56122987 11339 },
44660702 11340 "bps" : {
de0983cb 11341 "description" : "Maximum r/w speed in bytes per second.",
44660702 11342 "format_description" : "bps",
7aacca6f 11343 "optional" : 1,
44660702 11344 "type" : "integer"
7aacca6f 11345 },
de0983cb
DM
11346 "bps_max_length" : {
11347 "description" : "Maximum length of I/O bursts in seconds.",
11348 "format_description" : "seconds",
11349 "minimum" : 1,
11350 "optional" : 1,
11351 "type" : "integer"
11352 },
44660702 11353 "bps_rd" : {
de0983cb 11354 "description" : "Maximum read speed in bytes per second.",
44660702 11355 "format_description" : "bps",
56122987 11356 "optional" : 1,
44660702 11357 "type" : "integer"
56122987 11358 },
de0983cb 11359 "bps_rd_length" : {
5d9c884c
DM
11360 "alias" : "bps_rd_max_length"
11361 },
11362 "bps_rd_max_length" : {
de0983cb
DM
11363 "description" : "Maximum length of read I/O bursts in seconds.",
11364 "format_description" : "seconds",
11365 "minimum" : 1,
11366 "optional" : 1,
11367 "type" : "integer"
11368 },
44660702 11369 "bps_wr" : {
de0983cb 11370 "description" : "Maximum write speed in bytes per second.",
44660702 11371 "format_description" : "bps",
56122987 11372 "optional" : 1,
44660702 11373 "type" : "integer"
56122987 11374 },
de0983cb 11375 "bps_wr_length" : {
5d9c884c
DM
11376 "alias" : "bps_wr_max_length"
11377 },
11378 "bps_wr_max_length" : {
de0983cb
DM
11379 "description" : "Maximum length of write I/O bursts in seconds.",
11380 "format_description" : "seconds",
11381 "minimum" : 1,
11382 "optional" : 1,
11383 "type" : "integer"
11384 },
44660702
DM
11385 "cache" : {
11386 "description" : "The drive's cache mode",
11387 "enum" : [
11388 "none",
11389 "writethrough",
11390 "writeback",
11391 "unsafe",
11392 "directsync"
11393 ],
56122987 11394 "optional" : 1,
44660702
DM
11395 "type" : "string"
11396 },
11397 "cyls" : {
11398 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11399 "optional" : 1,
11400 "type" : "integer"
11401 },
11402 "detect_zeroes" : {
11403 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11404 "optional" : 1,
11405 "type" : "boolean"
11406 },
11407 "discard" : {
11408 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11409 "enum" : [
11410 "ignore",
11411 "on"
11412 ],
44660702
DM
11413 "optional" : 1,
11414 "type" : "string"
11415 },
11416 "file" : {
11417 "default_key" : 1,
11418 "description" : "The drive's backing volume.",
11419 "format" : "pve-volume-id-or-qm-path",
11420 "format_description" : "volume",
11421 "type" : "string"
56122987 11422 },
7aacca6f 11423 "format" : {
44660702 11424 "description" : "The drive's backing file's data format.",
7aacca6f
DM
11425 "enum" : [
11426 "raw",
11427 "cow",
11428 "qcow",
11429 "qed",
11430 "qcow2",
11431 "vmdk",
11432 "cloop"
11433 ],
56122987 11434 "optional" : 1,
44660702 11435 "type" : "string"
56122987 11436 },
44660702
DM
11437 "heads" : {
11438 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11439 "optional" : 1,
44660702 11440 "type" : "integer"
56122987 11441 },
44660702 11442 "iops" : {
de0983cb 11443 "description" : "Maximum r/w I/O in operations per second.",
44660702 11444 "format_description" : "iops",
7aacca6f 11445 "optional" : 1,
44660702 11446 "type" : "integer"
56122987 11447 },
44660702 11448 "iops_max" : {
de0983cb 11449 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 11450 "format_description" : "iops",
7aacca6f 11451 "optional" : 1,
44660702 11452 "type" : "integer"
56122987 11453 },
de0983cb
DM
11454 "iops_max_length" : {
11455 "description" : "Maximum length of I/O bursts in seconds.",
11456 "format_description" : "seconds",
11457 "minimum" : 1,
11458 "optional" : 1,
11459 "type" : "integer"
11460 },
44660702 11461 "iops_rd" : {
de0983cb 11462 "description" : "Maximum read I/O in operations per second.",
44660702 11463 "format_description" : "iops",
56122987 11464 "optional" : 1,
44660702 11465 "type" : "integer"
56122987 11466 },
de0983cb 11467 "iops_rd_length" : {
5d9c884c 11468 "alias" : "iops_rd_max_length"
de0983cb 11469 },
44660702 11470 "iops_rd_max" : {
de0983cb 11471 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11472 "format_description" : "iops",
56122987 11473 "optional" : 1,
44660702 11474 "type" : "integer"
56122987 11475 },
5d9c884c
DM
11476 "iops_rd_max_length" : {
11477 "description" : "Maximum length of read I/O bursts in seconds.",
11478 "format_description" : "seconds",
11479 "minimum" : 1,
11480 "optional" : 1,
11481 "type" : "integer"
11482 },
44660702 11483 "iops_wr" : {
de0983cb 11484 "description" : "Maximum write I/O in operations per second.",
44660702 11485 "format_description" : "iops",
56122987 11486 "optional" : 1,
44660702 11487 "type" : "integer"
56122987 11488 },
de0983cb 11489 "iops_wr_length" : {
5d9c884c 11490 "alias" : "iops_wr_max_length"
de0983cb 11491 },
44660702 11492 "iops_wr_max" : {
de0983cb 11493 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 11494 "format_description" : "iops",
44660702
DM
11495 "optional" : 1,
11496 "type" : "integer"
7aacca6f 11497 },
5d9c884c
DM
11498 "iops_wr_max_length" : {
11499 "description" : "Maximum length of write I/O bursts in seconds.",
11500 "format_description" : "seconds",
11501 "minimum" : 1,
11502 "optional" : 1,
11503 "type" : "integer"
11504 },
7aacca6f 11505 "iothread" : {
44660702 11506 "description" : "Whether to use iothreads for this drive",
56122987 11507 "optional" : 1,
44660702 11508 "type" : "boolean"
56122987 11509 },
44660702 11510 "mbps" : {
de0983cb 11511 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11512 "format_description" : "mbps",
56122987 11513 "optional" : 1,
44660702 11514 "type" : "number"
56122987 11515 },
44660702 11516 "mbps_max" : {
de0983cb 11517 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11518 "format_description" : "mbps",
56122987 11519 "optional" : 1,
44660702 11520 "type" : "number"
56122987 11521 },
44660702 11522 "mbps_rd" : {
de0983cb 11523 "description" : "Maximum read speed in megabytes per second.",
44660702 11524 "format_description" : "mbps",
7aacca6f 11525 "optional" : 1,
44660702 11526 "type" : "number"
56122987 11527 },
44660702 11528 "mbps_rd_max" : {
de0983cb 11529 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11530 "format_description" : "mbps",
7aacca6f 11531 "optional" : 1,
44660702 11532 "type" : "number"
7aacca6f 11533 },
44660702 11534 "mbps_wr" : {
de0983cb 11535 "description" : "Maximum write speed in megabytes per second.",
44660702 11536 "format_description" : "mbps",
56122987 11537 "optional" : 1,
44660702 11538 "type" : "number"
56122987 11539 },
44660702 11540 "mbps_wr_max" : {
de0983cb 11541 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11542 "format_description" : "mbps",
56122987 11543 "optional" : 1,
44660702
DM
11544 "type" : "number"
11545 },
11546 "media" : {
11547 "default" : "disk",
11548 "description" : "The drive's media type.",
7aacca6f 11549 "enum" : [
44660702
DM
11550 "cdrom",
11551 "disk"
7aacca6f 11552 ],
56122987 11553 "optional" : 1,
44660702 11554 "type" : "string"
56122987 11555 },
7aacca6f 11556 "queues" : {
44660702 11557 "description" : "Number of queues.",
7aacca6f 11558 "minimum" : 2,
7aacca6f
DM
11559 "optional" : 1,
11560 "type" : "integer"
56122987 11561 },
5d9c884c
DM
11562 "replicate" : {
11563 "default" : 1,
11564 "description" : "Whether the drive should considered for replication jobs.",
11565 "optional" : 1,
11566 "type" : "boolean"
11567 },
11568 "rerror" : {
11569 "description" : "Read error action.",
11570 "enum" : [
11571 "ignore",
11572 "report",
11573 "stop"
11574 ],
11575 "optional" : 1,
11576 "type" : "string"
11577 },
52e44c50
FG
11578 "scsiblock" : {
11579 "default" : 0,
11580 "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",
11581 "optional" : 1,
11582 "type" : "boolean"
11583 },
44660702
DM
11584 "secs" : {
11585 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11586 "optional" : 1,
44660702 11587 "type" : "integer"
56122987 11588 },
44660702
DM
11589 "serial" : {
11590 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11591 "format" : "urlencoded",
11592 "format_description" : "serial",
11593 "maxLength" : 60,
56122987 11594 "optional" : 1,
44660702 11595 "type" : "string"
56122987 11596 },
27a7acb2
DM
11597 "shared" : {
11598 "default" : 0,
11599 "description" : "Mark this locally-managed volume as available on all nodes",
11600 "optional" : 1,
11601 "type" : "boolean",
11602 "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!"
11603 },
44660702
DM
11604 "size" : {
11605 "description" : "Disk size. This is purely informational and has no effect.",
11606 "format" : "disk-size",
f004f5b9 11607 "format_description" : "DiskSize",
44660702
DM
11608 "optional" : 1,
11609 "type" : "string"
11610 },
11611 "snapshot" : {
27a7acb2 11612 "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 11613 "optional" : 1,
44660702
DM
11614 "type" : "boolean"
11615 },
25203dc1
NC
11616 "ssd" : {
11617 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11618 "optional" : 1,
11619 "type" : "boolean"
11620 },
44660702
DM
11621 "trans" : {
11622 "description" : "Force disk geometry bios translation mode.",
56122987 11623 "enum" : [
44660702
DM
11624 "none",
11625 "lba",
11626 "auto"
56122987 11627 ],
44660702
DM
11628 "optional" : 1,
11629 "type" : "string"
11630 },
11631 "volume" : {
11632 "alias" : "file"
56122987 11633 },
7aacca6f 11634 "werror" : {
7aacca6f
DM
11635 "description" : "Write error action.",
11636 "enum" : [
11637 "enospc",
11638 "ignore",
11639 "report",
11640 "stop"
44660702 11641 ],
56122987 11642 "optional" : 1,
7aacca6f 11643 "type" : "string"
56122987 11644 }
44660702 11645 },
56122987 11646 "optional" : 1,
4bd7df8b 11647 "type" : "string",
25203dc1 11648 "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
11649 },
11650 "scsihw" : {
44660702 11651 "default" : "lsi",
c2993fe5 11652 "description" : "SCSI controller model",
56122987
DM
11653 "enum" : [
11654 "lsi",
11655 "lsi53c810",
11656 "virtio-scsi-pci",
11657 "virtio-scsi-single",
11658 "megasas",
11659 "pvscsi"
11660 ],
11661 "optional" : 1,
56122987
DM
11662 "type" : "string"
11663 },
27a7acb2
DM
11664 "searchdomain" : {
11665 "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.",
11666 "optional" : 1,
11667 "type" : "string",
11668 "typetext" : "<string>"
11669 },
44660702 11670 "serial[n]" : {
c2993fe5 11671 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 11672 "optional" : 1,
44660702 11673 "pattern" : "(/dev/.+|socket)",
c2993fe5 11674 "type" : "string",
57b78691 11675 "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 11676 },
44660702
DM
11677 "shares" : {
11678 "default" : 1000,
5da3d723 11679 "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
11680 "maximum" : 50000,
11681 "minimum" : 0,
7aacca6f 11682 "optional" : 1,
4bd7df8b 11683 "type" : "integer",
013dc89f 11684 "typetext" : "<integer> (0 - 50000)"
56122987 11685 },
7aacca6f
DM
11686 "skiplock" : {
11687 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 11688 "optional" : 1,
013dc89f
DM
11689 "type" : "boolean",
11690 "typetext" : "<boolean>"
56122987 11691 },
44660702
DM
11692 "smbios1" : {
11693 "description" : "Specify SMBIOS type 1 fields.",
11694 "format" : "pve-qm-smbios1",
11695 "maxLength" : 256,
56122987 11696 "optional" : 1,
4bd7df8b
DM
11697 "type" : "string",
11698 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 11699 },
44660702
DM
11700 "smp" : {
11701 "default" : 1,
11702 "description" : "The number of CPUs. Please use option -sockets instead.",
11703 "minimum" : 1,
56122987 11704 "optional" : 1,
4bd7df8b 11705 "type" : "integer",
013dc89f 11706 "typetext" : "<integer> (1 - N)"
56122987 11707 },
44660702
DM
11708 "sockets" : {
11709 "default" : 1,
11710 "description" : "The number of CPU sockets.",
11711 "minimum" : 1,
56122987 11712 "optional" : 1,
4bd7df8b 11713 "type" : "integer",
013dc89f 11714 "typetext" : "<integer> (1 - N)"
56122987 11715 },
27a7acb2
DM
11716 "sshkeys" : {
11717 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
11718 "format" : "urlencoded",
11719 "optional" : 1,
11720 "type" : "string",
11721 "typetext" : "<string>"
11722 },
44660702
DM
11723 "startdate" : {
11724 "default" : "now",
11725 "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'.",
11726 "optional" : 1,
11727 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 11728 "type" : "string",
44660702
DM
11729 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
11730 },
11731 "startup" : {
11732 "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.",
11733 "format" : "pve-startup-order",
7aacca6f 11734 "optional" : 1,
44660702
DM
11735 "type" : "string",
11736 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 11737 },
44660702
DM
11738 "tablet" : {
11739 "default" : 1,
c2993fe5 11740 "description" : "Enable/disable the USB tablet device.",
7aacca6f 11741 "optional" : 1,
c2993fe5 11742 "type" : "boolean",
013dc89f 11743 "typetext" : "<boolean>",
c2993fe5 11744 "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 11745 },
44660702
DM
11746 "tdf" : {
11747 "default" : 0,
11748 "description" : "Enable/disable time drift fix.",
7aacca6f 11749 "optional" : 1,
013dc89f
DM
11750 "type" : "boolean",
11751 "typetext" : "<boolean>"
7aacca6f 11752 },
44660702
DM
11753 "template" : {
11754 "default" : 0,
11755 "description" : "Enable/disable Template.",
7aacca6f 11756 "optional" : 1,
013dc89f
DM
11757 "type" : "boolean",
11758 "typetext" : "<boolean>"
7aacca6f 11759 },
44660702 11760 "unused[n]" : {
c2993fe5 11761 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 11762 "format" : "pve-volume-id",
7aacca6f 11763 "optional" : 1,
013dc89f
DM
11764 "type" : "string",
11765 "typetext" : "<string>"
7aacca6f 11766 },
44660702 11767 "usb[n]" : {
c2993fe5 11768 "description" : "Configure an USB device (n is 0 to 4).",
56122987 11769 "format" : {
44660702
DM
11770 "host" : {
11771 "default_key" : 1,
c2993fe5 11772 "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
11773 "format" : "pve-qm-usb-device",
11774 "format_description" : "HOSTUSBDEVICE|spice",
11775 "type" : "string"
7aacca6f 11776 },
44660702 11777 "usb3" : {
c2993fe5
DM
11778 "default" : 0,
11779 "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 11780 "optional" : 1,
44660702 11781 "type" : "boolean"
7aacca6f 11782 }
44660702 11783 },
7aacca6f 11784 "optional" : 1,
4bd7df8b
DM
11785 "type" : "string",
11786 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 11787 },
44660702 11788 "vcpus" : {
7aacca6f 11789 "default" : 0,
44660702
DM
11790 "description" : "Number of hotplugged vcpus.",
11791 "minimum" : 1,
7aacca6f 11792 "optional" : 1,
4bd7df8b 11793 "type" : "integer",
013dc89f 11794 "typetext" : "<integer> (1 - N)"
7aacca6f 11795 },
44660702 11796 "vga" : {
e2d681b3
TL
11797 "description" : "Configure the VGA hardware.",
11798 "format" : {
11799 "memory" : {
11800 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
11801 "maximum" : 512,
11802 "minimum" : 4,
11803 "optional" : 1,
11804 "type" : "integer"
11805 },
11806 "type" : {
11807 "default" : "std",
11808 "default_key" : 1,
11809 "description" : "Select the VGA type.",
11810 "enum" : [
11811 "cirrus",
11812 "qxl",
11813 "qxl2",
11814 "qxl3",
11815 "qxl4",
11816 "serial0",
11817 "serial1",
11818 "serial2",
11819 "serial3",
11820 "std",
11821 "virtio",
11822 "vmware"
11823 ],
11824 "optional" : 1,
11825 "type" : "string"
11826 }
11827 },
7aacca6f 11828 "optional" : 1,
c2993fe5 11829 "type" : "string",
e2d681b3
TL
11830 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
11831 "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 11832 },
44660702
DM
11833 "virtio[n]" : {
11834 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 11835 "format" : {
7aacca6f 11836 "aio" : {
7aacca6f 11837 "description" : "AIO type to use.",
56122987 11838 "enum" : [
7aacca6f
DM
11839 "native",
11840 "threads"
7aacca6f 11841 ],
44660702
DM
11842 "optional" : 1,
11843 "type" : "string"
56122987 11844 },
44660702
DM
11845 "backup" : {
11846 "description" : "Whether the drive should be included when making backups.",
56122987 11847 "optional" : 1,
44660702 11848 "type" : "boolean"
7aacca6f 11849 },
44660702 11850 "bps" : {
de0983cb 11851 "description" : "Maximum r/w speed in bytes per second.",
44660702 11852 "format_description" : "bps",
7aacca6f 11853 "optional" : 1,
44660702 11854 "type" : "integer"
56122987 11855 },
de0983cb
DM
11856 "bps_max_length" : {
11857 "description" : "Maximum length of I/O bursts in seconds.",
11858 "format_description" : "seconds",
11859 "minimum" : 1,
11860 "optional" : 1,
11861 "type" : "integer"
11862 },
56122987 11863 "bps_rd" : {
de0983cb 11864 "description" : "Maximum read speed in bytes per second.",
44660702 11865 "format_description" : "bps",
56122987 11866 "optional" : 1,
7aacca6f 11867 "type" : "integer"
56122987 11868 },
de0983cb 11869 "bps_rd_length" : {
5d9c884c
DM
11870 "alias" : "bps_rd_max_length"
11871 },
11872 "bps_rd_max_length" : {
de0983cb
DM
11873 "description" : "Maximum length of read I/O bursts in seconds.",
11874 "format_description" : "seconds",
11875 "minimum" : 1,
11876 "optional" : 1,
11877 "type" : "integer"
11878 },
44660702 11879 "bps_wr" : {
de0983cb 11880 "description" : "Maximum write speed in bytes per second.",
44660702 11881 "format_description" : "bps",
56122987 11882 "optional" : 1,
7aacca6f 11883 "type" : "integer"
56122987 11884 },
de0983cb 11885 "bps_wr_length" : {
5d9c884c
DM
11886 "alias" : "bps_wr_max_length"
11887 },
11888 "bps_wr_max_length" : {
de0983cb
DM
11889 "description" : "Maximum length of write I/O bursts in seconds.",
11890 "format_description" : "seconds",
11891 "minimum" : 1,
11892 "optional" : 1,
11893 "type" : "integer"
11894 },
7aacca6f 11895 "cache" : {
44660702 11896 "description" : "The drive's cache mode",
7aacca6f
DM
11897 "enum" : [
11898 "none",
11899 "writethrough",
11900 "writeback",
11901 "unsafe",
11902 "directsync"
11903 ],
56122987 11904 "optional" : 1,
44660702 11905 "type" : "string"
7aacca6f 11906 },
44660702
DM
11907 "cyls" : {
11908 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11909 "optional" : 1,
11910 "type" : "integer"
11911 },
11912 "detect_zeroes" : {
11913 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11914 "optional" : 1,
11915 "type" : "boolean"
11916 },
11917 "discard" : {
11918 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 11919 "enum" : [
44660702
DM
11920 "ignore",
11921 "on"
56122987
DM
11922 ],
11923 "optional" : 1,
44660702 11924 "type" : "string"
56122987 11925 },
44660702
DM
11926 "file" : {
11927 "default_key" : 1,
11928 "description" : "The drive's backing volume.",
11929 "format" : "pve-volume-id-or-qm-path",
11930 "format_description" : "volume",
11931 "type" : "string"
11932 },
11933 "format" : {
11934 "description" : "The drive's backing file's data format.",
11935 "enum" : [
11936 "raw",
11937 "cow",
11938 "qcow",
11939 "qed",
11940 "qcow2",
11941 "vmdk",
11942 "cloop"
11943 ],
56122987 11944 "optional" : 1,
44660702 11945 "type" : "string"
56122987 11946 },
44660702
DM
11947 "heads" : {
11948 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11949 "optional" : 1,
11950 "type" : "integer"
11951 },
11952 "iops" : {
de0983cb 11953 "description" : "Maximum r/w I/O in operations per second.",
44660702 11954 "format_description" : "iops",
56122987 11955 "optional" : 1,
44660702
DM
11956 "type" : "integer"
11957 },
11958 "iops_max" : {
de0983cb 11959 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
11960 "format_description" : "iops",
11961 "optional" : 1,
11962 "type" : "integer"
56122987 11963 },
de0983cb
DM
11964 "iops_max_length" : {
11965 "description" : "Maximum length of I/O bursts in seconds.",
11966 "format_description" : "seconds",
11967 "minimum" : 1,
11968 "optional" : 1,
11969 "type" : "integer"
11970 },
7aacca6f 11971 "iops_rd" : {
de0983cb 11972 "description" : "Maximum read I/O in operations per second.",
7aacca6f 11973 "format_description" : "iops",
7aacca6f 11974 "optional" : 1,
44660702 11975 "type" : "integer"
56122987 11976 },
de0983cb 11977 "iops_rd_length" : {
5d9c884c 11978 "alias" : "iops_rd_max_length"
de0983cb 11979 },
44660702 11980 "iops_rd_max" : {
de0983cb 11981 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
11982 "format_description" : "iops",
11983 "optional" : 1,
11984 "type" : "integer"
11985 },
5d9c884c
DM
11986 "iops_rd_max_length" : {
11987 "description" : "Maximum length of read I/O bursts in seconds.",
11988 "format_description" : "seconds",
11989 "minimum" : 1,
11990 "optional" : 1,
11991 "type" : "integer"
11992 },
44660702 11993 "iops_wr" : {
de0983cb 11994 "description" : "Maximum write I/O in operations per second.",
44660702
DM
11995 "format_description" : "iops",
11996 "optional" : 1,
11997 "type" : "integer"
11998 },
de0983cb 11999 "iops_wr_length" : {
5d9c884c 12000 "alias" : "iops_wr_max_length"
de0983cb 12001 },
44660702 12002 "iops_wr_max" : {
de0983cb 12003 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12004 "format_description" : "iops",
12005 "optional" : 1,
12006 "type" : "integer"
12007 },
5d9c884c
DM
12008 "iops_wr_max_length" : {
12009 "description" : "Maximum length of write I/O bursts in seconds.",
12010 "format_description" : "seconds",
12011 "minimum" : 1,
12012 "optional" : 1,
12013 "type" : "integer"
12014 },
44660702
DM
12015 "iothread" : {
12016 "description" : "Whether to use iothreads for this drive",
44660702
DM
12017 "optional" : 1,
12018 "type" : "boolean"
12019 },
12020 "mbps" : {
de0983cb 12021 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12022 "format_description" : "mbps",
7aacca6f 12023 "optional" : 1,
44660702 12024 "type" : "number"
7aacca6f
DM
12025 },
12026 "mbps_max" : {
de0983cb 12027 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12028 "format_description" : "mbps",
56122987 12029 "optional" : 1,
44660702 12030 "type" : "number"
56122987 12031 },
44660702 12032 "mbps_rd" : {
de0983cb 12033 "description" : "Maximum read speed in megabytes per second.",
44660702 12034 "format_description" : "mbps",
56122987 12035 "optional" : 1,
44660702 12036 "type" : "number"
56122987 12037 },
44660702 12038 "mbps_rd_max" : {
de0983cb 12039 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12040 "format_description" : "mbps",
12041 "optional" : 1,
12042 "type" : "number"
12043 },
12044 "mbps_wr" : {
de0983cb 12045 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12046 "format_description" : "mbps",
12047 "optional" : 1,
12048 "type" : "number"
12049 },
12050 "mbps_wr_max" : {
de0983cb 12051 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12052 "format_description" : "mbps",
12053 "optional" : 1,
12054 "type" : "number"
12055 },
12056 "media" : {
12057 "default" : "disk",
12058 "description" : "The drive's media type.",
56122987 12059 "enum" : [
44660702
DM
12060 "cdrom",
12061 "disk"
56122987
DM
12062 ],
12063 "optional" : 1,
44660702 12064 "type" : "string"
56122987 12065 },
5d9c884c
DM
12066 "replicate" : {
12067 "default" : 1,
12068 "description" : "Whether the drive should considered for replication jobs.",
12069 "optional" : 1,
12070 "type" : "boolean"
12071 },
44660702
DM
12072 "rerror" : {
12073 "description" : "Read error action.",
12074 "enum" : [
12075 "ignore",
12076 "report",
12077 "stop"
12078 ],
56122987 12079 "optional" : 1,
44660702 12080 "type" : "string"
56122987 12081 },
44660702
DM
12082 "secs" : {
12083 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12084 "optional" : 1,
44660702 12085 "type" : "integer"
56122987 12086 },
7aacca6f
DM
12087 "serial" : {
12088 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 12089 "format" : "urlencoded",
44660702 12090 "format_description" : "serial",
7aacca6f 12091 "maxLength" : 60,
44660702
DM
12092 "optional" : 1,
12093 "type" : "string"
56122987 12094 },
27a7acb2
DM
12095 "shared" : {
12096 "default" : 0,
12097 "description" : "Mark this locally-managed volume as available on all nodes",
12098 "optional" : 1,
12099 "type" : "boolean",
12100 "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!"
12101 },
44660702
DM
12102 "size" : {
12103 "description" : "Disk size. This is purely informational and has no effect.",
12104 "format" : "disk-size",
f004f5b9 12105 "format_description" : "DiskSize",
44660702
DM
12106 "optional" : 1,
12107 "type" : "string"
56122987 12108 },
44660702 12109 "snapshot" : {
27a7acb2 12110 "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 12111 "optional" : 1,
44660702 12112 "type" : "boolean"
56122987 12113 },
44660702
DM
12114 "trans" : {
12115 "description" : "Force disk geometry bios translation mode.",
12116 "enum" : [
12117 "none",
12118 "lba",
12119 "auto"
12120 ],
7aacca6f 12121 "optional" : 1,
44660702 12122 "type" : "string"
7aacca6f 12123 },
44660702
DM
12124 "volume" : {
12125 "alias" : "file"
12126 },
12127 "werror" : {
12128 "description" : "Write error action.",
12129 "enum" : [
12130 "enospc",
12131 "ignore",
12132 "report",
12133 "stop"
12134 ],
7aacca6f 12135 "optional" : 1,
44660702 12136 "type" : "string"
56122987
DM
12137 }
12138 },
7aacca6f 12139 "optional" : 1,
4bd7df8b 12140 "type" : "string",
27a7acb2 12141 "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 12142 },
4d47f125
TL
12143 "vmgenid" : {
12144 "default" : "1 (autogenerated)",
12145 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
12146 "format_description" : "UUID",
12147 "optional" : 1,
12148 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
12149 "type" : "string",
12150 "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."
12151 },
44660702
DM
12152 "vmid" : {
12153 "description" : "The (unique) ID of the VM.",
12154 "format" : "pve-vmid",
12155 "minimum" : 1,
4bd7df8b 12156 "type" : "integer",
013dc89f 12157 "typetext" : "<integer> (1 - N)"
56122987 12158 },
2489d6df
WB
12159 "vmstatestorage" : {
12160 "description" : "Default storage for VM state volumes/files.",
12161 "format" : "pve-storage-id",
12162 "optional" : 1,
12163 "type" : "string",
12164 "typetext" : "<string>"
12165 },
44660702 12166 "watchdog" : {
c2993fe5 12167 "description" : "Create a virtual hardware watchdog device.",
44660702 12168 "format" : "pve-qm-watchdog",
56122987 12169 "optional" : 1,
c2993fe5 12170 "type" : "string",
013dc89f 12171 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 12172 "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 12173 }
7aacca6f 12174 }
56122987 12175 },
56122987
DM
12176 "permissions" : {
12177 "check" : [
12178 "perm",
12179 "/vms/{vmid}",
12180 [
12181 "VM.Config.Disk",
12182 "VM.Config.CDROM",
12183 "VM.Config.CPU",
12184 "VM.Config.Memory",
12185 "VM.Config.Network",
12186 "VM.Config.HWType",
12187 "VM.Config.Options"
12188 ],
12189 "any",
12190 1
12191 ]
12192 },
44660702 12193 "protected" : 1,
7aacca6f 12194 "proxyto" : "node",
56122987 12195 "returns" : {
4d47f125
TL
12196 "optional" : 1,
12197 "type" : "string"
7aacca6f 12198 }
4d47f125
TL
12199 },
12200 "PUT" : {
12201 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
12202 "method" : "PUT",
12203 "name" : "update_vm",
7aacca6f 12204 "parameters" : {
44660702 12205 "additionalProperties" : 0,
7aacca6f 12206 "properties" : {
4d47f125
TL
12207 "acpi" : {
12208 "default" : 1,
12209 "description" : "Enable/disable ACPI.",
12210 "optional" : 1,
12211 "type" : "boolean",
12212 "typetext" : "<boolean>"
7aacca6f 12213 },
4d47f125
TL
12214 "agent" : {
12215 "description" : "Enable/disable Qemu GuestAgent and its properties.",
12216 "format" : {
12217 "enabled" : {
12218 "default" : 0,
12219 "default_key" : 1,
12220 "description" : "Enable/disable Qemu GuestAgent.",
12221 "type" : "boolean"
12222 },
12223 "fstrim_cloned_disks" : {
12224 "default" : 0,
12225 "description" : "Run fstrim after cloning/moving a disk.",
12226 "optional" : 1,
12227 "type" : "boolean"
12228 }
44660702 12229 },
4d47f125
TL
12230 "optional" : 1,
12231 "type" : "string",
12232 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
44660702 12233 },
e2d681b3
TL
12234 "arch" : {
12235 "description" : "Virtual processor architecture. Defaults to the host.",
12236 "enum" : [
12237 "x86_64",
12238 "aarch64"
12239 ],
12240 "optional" : 1,
12241 "type" : "string"
12242 },
4d47f125
TL
12243 "args" : {
12244 "description" : "Arbitrary arguments passed to kvm.",
12245 "optional" : 1,
12246 "type" : "string",
12247 "typetext" : "<string>",
12248 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
12249 },
12250 "autostart" : {
12251 "default" : 0,
12252 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 12253 "optional" : 1,
013dc89f
DM
12254 "type" : "boolean",
12255 "typetext" : "<boolean>"
7aacca6f 12256 },
4d47f125
TL
12257 "balloon" : {
12258 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
12259 "minimum" : 0,
12260 "optional" : 1,
12261 "type" : "integer",
12262 "typetext" : "<integer> (0 - N)"
12263 },
12264 "bios" : {
12265 "default" : "seabios",
12266 "description" : "Select BIOS implementation.",
12267 "enum" : [
12268 "seabios",
12269 "ovmf"
12270 ],
12271 "optional" : 1,
12272 "type" : "string"
12273 },
12274 "boot" : {
12275 "default" : "cdn",
12276 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
12277 "optional" : 1,
12278 "pattern" : "[acdn]{1,4}",
12279 "type" : "string"
12280 },
12281 "bootdisk" : {
12282 "description" : "Enable booting from specified disk.",
12283 "format" : "pve-qm-bootdisk",
12284 "optional" : 1,
12285 "pattern" : "(ide|sata|scsi|virtio)\\d+",
12286 "type" : "string"
12287 },
12288 "cdrom" : {
12289 "description" : "This is an alias for option -ide2",
12290 "format" : "pve-qm-ide",
12291 "optional" : 1,
12292 "type" : "string",
12293 "typetext" : "<volume>"
12294 },
12295 "cipassword" : {
12296 "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.",
12297 "optional" : 1,
013dc89f
DM
12298 "type" : "string",
12299 "typetext" : "<string>"
44660702 12300 },
4d47f125
TL
12301 "citype" : {
12302 "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.",
12303 "enum" : [
12304 "configdrive2",
12305 "nocloud"
12306 ],
12307 "optional" : 1,
12308 "type" : "string"
12309 },
12310 "ciuser" : {
12311 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
12312 "optional" : 1,
013dc89f
DM
12313 "type" : "string",
12314 "typetext" : "<string>"
56122987 12315 },
4d47f125
TL
12316 "cores" : {
12317 "default" : 1,
12318 "description" : "The number of cores per socket.",
7aacca6f 12319 "minimum" : 1,
4d47f125 12320 "optional" : 1,
4bd7df8b 12321 "type" : "integer",
013dc89f 12322 "typetext" : "<integer> (1 - N)"
4d47f125
TL
12323 },
12324 "cpu" : {
12325 "description" : "Emulated CPU type.",
12326 "format" : {
12327 "cputype" : {
12328 "default" : "kvm64",
12329 "default_key" : 1,
12330 "description" : "Emulated CPU type.",
12331 "enum" : [
12332 "486",
12333 "athlon",
12334 "Broadwell",
12335 "Broadwell-IBRS",
12336 "Broadwell-noTSX",
12337 "Broadwell-noTSX-IBRS",
12338 "Conroe",
12339 "core2duo",
12340 "coreduo",
12341 "EPYC",
12342 "EPYC-IBPB",
12343 "Haswell",
12344 "Haswell-IBRS",
12345 "Haswell-noTSX",
12346 "Haswell-noTSX-IBRS",
12347 "host",
12348 "IvyBridge",
12349 "IvyBridge-IBRS",
12350 "kvm32",
12351 "kvm64",
12352 "max",
12353 "Nehalem",
12354 "Nehalem-IBRS",
12355 "Opteron_G1",
12356 "Opteron_G2",
12357 "Opteron_G3",
12358 "Opteron_G4",
12359 "Opteron_G5",
12360 "Penryn",
12361 "pentium",
12362 "pentium2",
12363 "pentium3",
12364 "phenom",
12365 "qemu32",
12366 "qemu64",
12367 "SandyBridge",
12368 "SandyBridge-IBRS",
12369 "Skylake-Client",
12370 "Skylake-Client-IBRS",
12371 "Skylake-Server",
12372 "Skylake-Server-IBRS",
12373 "Westmere",
12374 "Westmere-IBRS"
12375 ],
12376 "type" : "string"
12377 },
12378 "flags" : {
12379 "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'.",
12380 "format_description" : "+FLAG[;-FLAG...]",
12381 "optional" : 1,
12382 "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)))*)",
12383 "type" : "string"
12384 },
12385 "hidden" : {
12386 "default" : 0,
12387 "description" : "Do not identify as a KVM virtual machine.",
12388 "optional" : 1,
12389 "type" : "boolean"
12390 }
12391 },
12392 "optional" : 1,
013dc89f 12393 "type" : "string",
4d47f125 12394 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702 12395 },
4d47f125
TL
12396 "cpulimit" : {
12397 "default" : 0,
12398 "description" : "Limit of CPU usage.",
12399 "maximum" : 128,
12400 "minimum" : 0,
12401 "optional" : 1,
12402 "type" : "number",
12403 "typetext" : "<number> (0 - 128)",
12404 "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."
12405 },
12406 "cpuunits" : {
12407 "default" : 1024,
12408 "description" : "CPU weight for a VM.",
12409 "maximum" : 262144,
12410 "minimum" : 2,
12411 "optional" : 1,
4bd7df8b 12412 "type" : "integer",
4d47f125
TL
12413 "typetext" : "<integer> (2 - 262144)",
12414 "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 12415 },
4d47f125
TL
12416 "delete" : {
12417 "description" : "A list of settings you want to delete.",
12418 "format" : "pve-configid-list",
12419 "optional" : 1,
12420 "type" : "string",
12421 "typetext" : "<string>"
12422 },
12423 "description" : {
12424 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
12425 "optional" : 1,
12426 "type" : "string",
12427 "typetext" : "<string>"
12428 },
12429 "digest" : {
12430 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12431 "maxLength" : 40,
44660702 12432 "optional" : 1,
4d47f125
TL
12433 "type" : "string",
12434 "typetext" : "<string>"
12435 },
12436 "efidisk0" : {
12437 "description" : "Configure a Disk for storing EFI vars",
12438 "format" : {
12439 "file" : {
12440 "default_key" : 1,
12441 "description" : "The drive's backing volume.",
12442 "format" : "pve-volume-id-or-qm-path",
12443 "format_description" : "volume",
12444 "type" : "string"
12445 },
12446 "format" : {
12447 "description" : "The drive's backing file's data format.",
12448 "enum" : [
12449 "raw",
12450 "cow",
12451 "qcow",
12452 "qed",
12453 "qcow2",
12454 "vmdk",
12455 "cloop"
12456 ],
12457 "optional" : 1,
12458 "type" : "string"
12459 },
12460 "size" : {
12461 "description" : "Disk size. This is purely informational and has no effect.",
12462 "format" : "disk-size",
12463 "format_description" : "DiskSize",
12464 "optional" : 1,
12465 "type" : "string"
12466 },
12467 "volume" : {
12468 "alias" : "file"
12469 }
12470 },
12471 "optional" : 1,
12472 "type" : "string",
12473 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
12474 },
12475 "force" : {
12476 "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.",
12477 "optional" : 1,
12478 "requires" : "delete",
013dc89f
DM
12479 "type" : "boolean",
12480 "typetext" : "<boolean>"
56122987 12481 },
4d47f125
TL
12482 "freeze" : {
12483 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
12484 "optional" : 1,
12485 "type" : "boolean",
12486 "typetext" : "<boolean>"
7aacca6f 12487 },
4d47f125
TL
12488 "hostpci[n]" : {
12489 "description" : "Map host PCI devices into guest.",
12490 "format" : "pve-qm-hostpci",
12491 "optional" : 1,
12492 "type" : "string",
e2d681b3 12493 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
4d47f125 12494 "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 12495 },
4d47f125
TL
12496 "hotplug" : {
12497 "default" : "network,disk,usb",
12498 "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'.",
12499 "format" : "pve-hotplug-features",
12500 "optional" : 1,
35a75dd3
DM
12501 "type" : "string",
12502 "typetext" : "<string>"
12503 },
4d47f125
TL
12504 "hugepages" : {
12505 "description" : "Enable/disable hugepages memory.",
35a75dd3 12506 "enum" : [
4d47f125
TL
12507 "any",
12508 "2",
12509 "1024"
35a75dd3
DM
12510 ],
12511 "optional" : 1,
12512 "type" : "string"
12513 },
4d47f125
TL
12514 "ide[n]" : {
12515 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
12516 "format" : {
12517 "aio" : {
12518 "description" : "AIO type to use.",
12519 "enum" : [
12520 "native",
12521 "threads"
12522 ],
44660702 12523 "optional" : 1,
44660702
DM
12524 "type" : "string"
12525 },
4d47f125
TL
12526 "backup" : {
12527 "description" : "Whether the drive should be included when making backups.",
56122987 12528 "optional" : 1,
4d47f125 12529 "type" : "boolean"
56122987 12530 },
4d47f125
TL
12531 "bps" : {
12532 "description" : "Maximum r/w speed in bytes per second.",
12533 "format_description" : "bps",
de0983cb 12534 "optional" : 1,
4d47f125 12535 "type" : "integer"
de0983cb 12536 },
4d47f125
TL
12537 "bps_max_length" : {
12538 "description" : "Maximum length of I/O bursts in seconds.",
12539 "format_description" : "seconds",
12540 "minimum" : 1,
de0983cb 12541 "optional" : 1,
4d47f125 12542 "type" : "integer"
7aacca6f 12543 },
4d47f125
TL
12544 "bps_rd" : {
12545 "description" : "Maximum read speed in bytes per second.",
12546 "format_description" : "bps",
7aacca6f 12547 "optional" : 1,
4d47f125 12548 "type" : "integer"
56122987 12549 },
4d47f125
TL
12550 "bps_rd_length" : {
12551 "alias" : "bps_rd_max_length"
12552 },
12553 "bps_rd_max_length" : {
12554 "description" : "Maximum length of read I/O bursts in seconds.",
12555 "format_description" : "seconds",
12556 "minimum" : 1,
56122987 12557 "optional" : 1,
4d47f125 12558 "type" : "integer"
56122987 12559 },
4d47f125
TL
12560 "bps_wr" : {
12561 "description" : "Maximum write speed in bytes per second.",
12562 "format_description" : "bps",
52e44c50 12563 "optional" : 1,
4d47f125 12564 "type" : "integer"
52e44c50 12565 },
4d47f125
TL
12566 "bps_wr_length" : {
12567 "alias" : "bps_wr_max_length"
12568 },
12569 "bps_wr_max_length" : {
12570 "description" : "Maximum length of write I/O bursts in seconds.",
12571 "format_description" : "seconds",
44660702 12572 "minimum" : 1,
56122987 12573 "optional" : 1,
4d47f125 12574 "type" : "integer"
56122987 12575 },
4d47f125
TL
12576 "cache" : {
12577 "description" : "The drive's cache mode",
12578 "enum" : [
12579 "none",
12580 "writethrough",
12581 "writeback",
12582 "unsafe",
12583 "directsync"
12584 ],
7aacca6f 12585 "optional" : 1,
4d47f125 12586 "type" : "string"
7aacca6f 12587 },
4d47f125
TL
12588 "cyls" : {
12589 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
12590 "optional" : 1,
12591 "type" : "integer"
56122987 12592 },
4d47f125
TL
12593 "detect_zeroes" : {
12594 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12595 "optional" : 1,
4d47f125 12596 "type" : "boolean"
56122987 12597 },
4d47f125
TL
12598 "discard" : {
12599 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12600 "enum" : [
12601 "ignore",
12602 "on"
12603 ],
56122987 12604 "optional" : 1,
4d47f125 12605 "type" : "string"
7aacca6f 12606 },
4d47f125
TL
12607 "file" : {
12608 "default_key" : 1,
12609 "description" : "The drive's backing volume.",
12610 "format" : "pve-volume-id-or-qm-path",
12611 "format_description" : "volume",
12612 "type" : "string"
56122987 12613 },
4d47f125
TL
12614 "format" : {
12615 "description" : "The drive's backing file's data format.",
12616 "enum" : [
12617 "raw",
12618 "cow",
12619 "qcow",
12620 "qed",
12621 "qcow2",
12622 "vmdk",
12623 "cloop"
12624 ],
7aacca6f 12625 "optional" : 1,
4d47f125 12626 "type" : "string"
7aacca6f 12627 },
4d47f125
TL
12628 "heads" : {
12629 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 12630 "optional" : 1,
4d47f125 12631 "type" : "integer"
56122987 12632 },
4d47f125
TL
12633 "iops" : {
12634 "description" : "Maximum r/w I/O in operations per second.",
12635 "format_description" : "iops",
44660702 12636 "optional" : 1,
4d47f125 12637 "type" : "integer"
44660702 12638 },
4d47f125
TL
12639 "iops_max" : {
12640 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
12641 "format_description" : "iops",
44660702 12642 "optional" : 1,
4d47f125 12643 "type" : "integer"
56122987 12644 },
4d47f125
TL
12645 "iops_max_length" : {
12646 "description" : "Maximum length of I/O bursts in seconds.",
12647 "format_description" : "seconds",
12648 "minimum" : 1,
7aacca6f 12649 "optional" : 1,
4d47f125 12650 "type" : "integer"
7aacca6f 12651 },
4d47f125
TL
12652 "iops_rd" : {
12653 "description" : "Maximum read I/O in operations per second.",
12654 "format_description" : "iops",
12655 "optional" : 1,
12656 "type" : "integer"
12657 },
12658 "iops_rd_length" : {
12659 "alias" : "iops_rd_max_length"
12660 },
12661 "iops_rd_max" : {
12662 "description" : "Maximum unthrottled read I/O pool in operations per second.",
12663 "format_description" : "iops",
12664 "optional" : 1,
12665 "type" : "integer"
12666 },
12667 "iops_rd_max_length" : {
12668 "description" : "Maximum length of read I/O bursts in seconds.",
12669 "format_description" : "seconds",
44660702 12670 "minimum" : 1,
4d47f125
TL
12671 "optional" : 1,
12672 "type" : "integer"
7aacca6f 12673 },
4d47f125
TL
12674 "iops_wr" : {
12675 "description" : "Maximum write I/O in operations per second.",
12676 "format_description" : "iops",
44660702 12677 "optional" : 1,
4d47f125 12678 "type" : "integer"
44660702 12679 },
4d47f125
TL
12680 "iops_wr_length" : {
12681 "alias" : "iops_wr_max_length"
12682 },
12683 "iops_wr_max" : {
12684 "description" : "Maximum unthrottled write I/O pool in operations per second.",
12685 "format_description" : "iops",
12686 "optional" : 1,
12687 "type" : "integer"
12688 },
12689 "iops_wr_max_length" : {
12690 "description" : "Maximum length of write I/O bursts in seconds.",
12691 "format_description" : "seconds",
44660702 12692 "minimum" : 1,
44660702 12693 "optional" : 1,
4d47f125 12694 "type" : "integer"
44660702 12695 },
4d47f125
TL
12696 "mbps" : {
12697 "description" : "Maximum r/w speed in megabytes per second.",
12698 "format_description" : "mbps",
12699 "optional" : 1,
12700 "type" : "number"
56122987 12701 },
4d47f125
TL
12702 "mbps_max" : {
12703 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
12704 "format_description" : "mbps",
12705 "optional" : 1,
12706 "type" : "number"
12707 },
12708 "mbps_rd" : {
12709 "description" : "Maximum read speed in megabytes per second.",
12710 "format_description" : "mbps",
12711 "optional" : 1,
12712 "type" : "number"
12713 },
12714 "mbps_rd_max" : {
12715 "description" : "Maximum unthrottled read pool in megabytes per second.",
12716 "format_description" : "mbps",
12717 "optional" : 1,
12718 "type" : "number"
12719 },
12720 "mbps_wr" : {
12721 "description" : "Maximum write speed in megabytes per second.",
12722 "format_description" : "mbps",
12723 "optional" : 1,
12724 "type" : "number"
12725 },
12726 "mbps_wr_max" : {
12727 "description" : "Maximum unthrottled write pool in megabytes per second.",
12728 "format_description" : "mbps",
12729 "optional" : 1,
12730 "type" : "number"
12731 },
12732 "media" : {
12733 "default" : "disk",
12734 "description" : "The drive's media type.",
12735 "enum" : [
12736 "cdrom",
12737 "disk"
12738 ],
12739 "optional" : 1,
12740 "type" : "string"
12741 },
12742 "model" : {
12743 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
12744 "format" : "urlencoded",
12745 "format_description" : "model",
12746 "maxLength" : 120,
12747 "optional" : 1,
12748 "type" : "string"
12749 },
12750 "replicate" : {
12751 "default" : 1,
12752 "description" : "Whether the drive should considered for replication jobs.",
12753 "optional" : 1,
12754 "type" : "boolean"
12755 },
12756 "rerror" : {
12757 "description" : "Read error action.",
12758 "enum" : [
12759 "ignore",
12760 "report",
12761 "stop"
12762 ],
12763 "optional" : 1,
12764 "type" : "string"
12765 },
12766 "secs" : {
12767 "description" : "Force the drive's physical geometry to have a specific sector count.",
12768 "optional" : 1,
12769 "type" : "integer"
12770 },
12771 "serial" : {
12772 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12773 "format" : "urlencoded",
12774 "format_description" : "serial",
12775 "maxLength" : 60,
12776 "optional" : 1,
12777 "type" : "string"
12778 },
12779 "shared" : {
12780 "default" : 0,
12781 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 12782 "optional" : 1,
013dc89f 12783 "type" : "boolean",
4d47f125 12784 "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 12785 },
4d47f125
TL
12786 "size" : {
12787 "description" : "Disk size. This is purely informational and has no effect.",
12788 "format" : "disk-size",
12789 "format_description" : "DiskSize",
12790 "optional" : 1,
12791 "type" : "string"
12792 },
12793 "snapshot" : {
12794 "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.",
12795 "optional" : 1,
12796 "type" : "boolean"
12797 },
25203dc1
NC
12798 "ssd" : {
12799 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12800 "optional" : 1,
12801 "type" : "boolean"
12802 },
4d47f125
TL
12803 "trans" : {
12804 "description" : "Force disk geometry bios translation mode.",
12805 "enum" : [
12806 "none",
12807 "lba",
12808 "auto"
12809 ],
12810 "optional" : 1,
12811 "type" : "string"
12812 },
12813 "volume" : {
12814 "alias" : "file"
12815 },
12816 "werror" : {
12817 "description" : "Write error action.",
12818 "enum" : [
12819 "enospc",
12820 "ignore",
12821 "report",
12822 "stop"
12823 ],
12824 "optional" : 1,
12825 "type" : "string"
12826 }
12827 },
12828 "optional" : 1,
013dc89f 12829 "type" : "string",
25203dc1 12830 "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 12831 },
4d47f125
TL
12832 "ipconfig[n]" : {
12833 "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",
12834 "format" : "pve-qm-ipconfig",
12835 "optional" : 1,
013dc89f 12836 "type" : "string",
4d47f125 12837 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 12838 },
4d47f125
TL
12839 "keyboard" : {
12840 "default" : null,
12841 "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.",
12842 "enum" : [
12843 "de",
12844 "de-ch",
12845 "da",
12846 "en-gb",
12847 "en-us",
12848 "es",
12849 "fi",
12850 "fr",
12851 "fr-be",
12852 "fr-ca",
12853 "fr-ch",
12854 "hu",
12855 "is",
12856 "it",
12857 "ja",
12858 "lt",
12859 "mk",
12860 "nl",
12861 "no",
12862 "pl",
12863 "pt",
12864 "pt-br",
12865 "sv",
12866 "sl",
12867 "tr"
12868 ],
12869 "optional" : 1,
12870 "type" : "string"
44660702 12871 },
4d47f125
TL
12872 "kvm" : {
12873 "default" : 1,
12874 "description" : "Enable/disable KVM hardware virtualization.",
44660702 12875 "optional" : 1,
013dc89f
DM
12876 "type" : "boolean",
12877 "typetext" : "<boolean>"
7aacca6f 12878 },
4d47f125
TL
12879 "localtime" : {
12880 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
12881 "optional" : 1,
12882 "type" : "boolean",
12883 "typetext" : "<boolean>"
12884 },
12885 "lock" : {
12886 "description" : "Lock/unlock the VM.",
56122987 12887 "enum" : [
4d47f125
TL
12888 "migrate",
12889 "backup",
56122987 12890 "snapshot",
4d47f125 12891 "rollback"
56122987 12892 ],
4d47f125 12893 "optional" : 1,
44660702
DM
12894 "type" : "string"
12895 },
4d47f125
TL
12896 "machine" : {
12897 "description" : "Specifies the Qemu machine type.",
12898 "maxLength" : 40,
12899 "optional" : 1,
e2d681b3 12900 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
4d47f125
TL
12901 "type" : "string"
12902 },
12903 "memory" : {
12904 "default" : 512,
12905 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
12906 "minimum" : 16,
12907 "optional" : 1,
12908 "type" : "integer",
12909 "typetext" : "<integer> (16 - N)"
12910 },
12911 "migrate_downtime" : {
12912 "default" : 0.1,
12913 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
12914 "minimum" : 0,
12915 "optional" : 1,
12916 "type" : "number",
12917 "typetext" : "<number> (0 - N)"
12918 },
12919 "migrate_speed" : {
12920 "default" : 0,
12921 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
12922 "minimum" : 0,
12923 "optional" : 1,
12924 "type" : "integer",
12925 "typetext" : "<integer> (0 - N)"
12926 },
12927 "name" : {
12928 "description" : "Set a name for the VM. Only used on the configuration web interface.",
12929 "format" : "dns-name",
12930 "optional" : 1,
013dc89f
DM
12931 "type" : "string",
12932 "typetext" : "<string>"
56122987 12933 },
4d47f125
TL
12934 "nameserver" : {
12935 "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.",
12936 "format" : "address-list",
7aacca6f 12937 "optional" : 1,
013dc89f
DM
12938 "type" : "string",
12939 "typetext" : "<string>"
7aacca6f 12940 },
4d47f125
TL
12941 "net[n]" : {
12942 "description" : "Specify network devices.",
12943 "format" : {
12944 "bridge" : {
12945 "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",
12946 "format_description" : "bridge",
12947 "optional" : 1,
12948 "type" : "string"
12949 },
12950 "e1000" : {
12951 "alias" : "macaddr",
12952 "keyAlias" : "model"
12953 },
12954 "e1000-82540em" : {
12955 "alias" : "macaddr",
12956 "keyAlias" : "model"
12957 },
12958 "e1000-82544gc" : {
12959 "alias" : "macaddr",
12960 "keyAlias" : "model"
12961 },
12962 "e1000-82545em" : {
12963 "alias" : "macaddr",
12964 "keyAlias" : "model"
12965 },
12966 "firewall" : {
12967 "description" : "Whether this interface should be protected by the firewall.",
12968 "optional" : 1,
12969 "type" : "boolean"
12970 },
12971 "i82551" : {
12972 "alias" : "macaddr",
12973 "keyAlias" : "model"
12974 },
12975 "i82557b" : {
12976 "alias" : "macaddr",
12977 "keyAlias" : "model"
12978 },
12979 "i82559er" : {
12980 "alias" : "macaddr",
12981 "keyAlias" : "model"
12982 },
12983 "link_down" : {
12984 "description" : "Whether this interface should be disconnected (like pulling the plug).",
12985 "optional" : 1,
12986 "type" : "boolean"
12987 },
12988 "macaddr" : {
12989 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
12990 "format_description" : "XX:XX:XX:XX:XX:XX",
12991 "optional" : 1,
12992 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
12993 "type" : "string"
12994 },
12995 "model" : {
12996 "default_key" : 1,
12997 "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'.",
12998 "enum" : [
12999 "rtl8139",
13000 "ne2k_pci",
13001 "e1000",
13002 "pcnet",
13003 "virtio",
13004 "ne2k_isa",
13005 "i82551",
13006 "i82557b",
13007 "i82559er",
13008 "vmxnet3",
13009 "e1000-82540em",
13010 "e1000-82544gc",
13011 "e1000-82545em"
13012 ],
13013 "type" : "string"
13014 },
13015 "ne2k_isa" : {
13016 "alias" : "macaddr",
13017 "keyAlias" : "model"
13018 },
13019 "ne2k_pci" : {
13020 "alias" : "macaddr",
13021 "keyAlias" : "model"
13022 },
13023 "pcnet" : {
13024 "alias" : "macaddr",
13025 "keyAlias" : "model"
13026 },
13027 "queues" : {
13028 "description" : "Number of packet queues to be used on the device.",
13029 "maximum" : 16,
13030 "minimum" : 0,
13031 "optional" : 1,
13032 "type" : "integer"
13033 },
13034 "rate" : {
13035 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
13036 "minimum" : 0,
13037 "optional" : 1,
13038 "type" : "number"
13039 },
13040 "rtl8139" : {
13041 "alias" : "macaddr",
13042 "keyAlias" : "model"
13043 },
13044 "tag" : {
13045 "description" : "VLAN tag to apply to packets on this interface.",
13046 "maximum" : 4094,
13047 "minimum" : 1,
13048 "optional" : 1,
13049 "type" : "integer"
13050 },
13051 "trunks" : {
13052 "description" : "VLAN trunks to pass through this interface.",
13053 "format_description" : "vlanid[;vlanid...]",
13054 "optional" : 1,
13055 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13056 "type" : "string"
13057 },
13058 "virtio" : {
13059 "alias" : "macaddr",
13060 "keyAlias" : "model"
13061 },
13062 "vmxnet3" : {
13063 "alias" : "macaddr",
13064 "keyAlias" : "model"
13065 }
44660702 13066 },
44660702 13067 "optional" : 1,
013dc89f 13068 "type" : "string",
4d47f125 13069 "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
13070 },
13071 "node" : {
13072 "description" : "The cluster node name.",
13073 "format" : "pve-node",
013dc89f
DM
13074 "type" : "string",
13075 "typetext" : "<string>"
7aacca6f 13076 },
4d47f125
TL
13077 "numa" : {
13078 "default" : 0,
13079 "description" : "Enable/disable NUMA.",
56122987 13080 "optional" : 1,
4d47f125
TL
13081 "type" : "boolean",
13082 "typetext" : "<boolean>"
56122987 13083 },
4d47f125
TL
13084 "numa[n]" : {
13085 "description" : "NUMA topology.",
13086 "format" : {
13087 "cpus" : {
13088 "description" : "CPUs accessing this NUMA node.",
13089 "format_description" : "id[-id];...",
13090 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13091 "type" : "string"
13092 },
13093 "hostnodes" : {
13094 "description" : "Host NUMA nodes to use.",
13095 "format_description" : "id[-id];...",
13096 "optional" : 1,
13097 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13098 "type" : "string"
13099 },
13100 "memory" : {
13101 "description" : "Amount of memory this NUMA node provides.",
13102 "optional" : 1,
13103 "type" : "number"
13104 },
13105 "policy" : {
13106 "description" : "NUMA allocation policy.",
13107 "enum" : [
13108 "preferred",
13109 "bind",
13110 "interleave"
13111 ],
13112 "optional" : 1,
13113 "type" : "string"
13114 }
13115 },
7aacca6f 13116 "optional" : 1,
013dc89f 13117 "type" : "string",
4d47f125 13118 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 13119 },
4d47f125 13120 "onboot" : {
44660702 13121 "default" : 0,
4d47f125 13122 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 13123 "optional" : 1,
013dc89f
DM
13124 "type" : "boolean",
13125 "typetext" : "<boolean>"
56122987 13126 },
4d47f125
TL
13127 "ostype" : {
13128 "description" : "Specify guest operating system.",
7aacca6f 13129 "enum" : [
4d47f125
TL
13130 "other",
13131 "wxp",
13132 "w2k",
13133 "w2k3",
13134 "w2k8",
13135 "wvista",
13136 "win7",
13137 "win8",
13138 "win10",
13139 "l24",
13140 "l26",
13141 "solaris"
7aacca6f
DM
13142 ],
13143 "optional" : 1,
013dc89f 13144 "type" : "string",
4d47f125 13145 "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 13146 },
4d47f125
TL
13147 "parallel[n]" : {
13148 "description" : "Map host parallel devices (n is 0 to 2).",
13149 "optional" : 1,
13150 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 13151 "type" : "string",
4d47f125 13152 "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 13153 },
4d47f125
TL
13154 "protection" : {
13155 "default" : 0,
13156 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 13157 "optional" : 1,
013dc89f
DM
13158 "type" : "boolean",
13159 "typetext" : "<boolean>"
44660702 13160 },
4d47f125
TL
13161 "reboot" : {
13162 "default" : 1,
13163 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 13164 "optional" : 1,
013dc89f
DM
13165 "type" : "boolean",
13166 "typetext" : "<boolean>"
56122987 13167 },
4d47f125
TL
13168 "revert" : {
13169 "description" : "Revert a pending change.",
13170 "format" : "pve-configid-list",
13171 "optional" : 1,
013dc89f
DM
13172 "type" : "string",
13173 "typetext" : "<string>"
56122987 13174 },
4d47f125
TL
13175 "sata[n]" : {
13176 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
13177 "format" : {
13178 "aio" : {
13179 "description" : "AIO type to use.",
13180 "enum" : [
13181 "native",
13182 "threads"
13183 ],
13184 "optional" : 1,
13185 "type" : "string"
13186 },
13187 "backup" : {
13188 "description" : "Whether the drive should be included when making backups.",
13189 "optional" : 1,
13190 "type" : "boolean"
13191 },
13192 "bps" : {
13193 "description" : "Maximum r/w speed in bytes per second.",
13194 "format_description" : "bps",
13195 "optional" : 1,
13196 "type" : "integer"
13197 },
13198 "bps_max_length" : {
13199 "description" : "Maximum length of I/O bursts in seconds.",
13200 "format_description" : "seconds",
13201 "minimum" : 1,
13202 "optional" : 1,
13203 "type" : "integer"
13204 },
13205 "bps_rd" : {
13206 "description" : "Maximum read speed in bytes per second.",
13207 "format_description" : "bps",
13208 "optional" : 1,
13209 "type" : "integer"
13210 },
13211 "bps_rd_length" : {
13212 "alias" : "bps_rd_max_length"
13213 },
13214 "bps_rd_max_length" : {
13215 "description" : "Maximum length of read I/O bursts in seconds.",
13216 "format_description" : "seconds",
13217 "minimum" : 1,
13218 "optional" : 1,
13219 "type" : "integer"
13220 },
13221 "bps_wr" : {
13222 "description" : "Maximum write speed in bytes per second.",
13223 "format_description" : "bps",
13224 "optional" : 1,
13225 "type" : "integer"
13226 },
13227 "bps_wr_length" : {
13228 "alias" : "bps_wr_max_length"
13229 },
13230 "bps_wr_max_length" : {
13231 "description" : "Maximum length of write I/O bursts in seconds.",
13232 "format_description" : "seconds",
13233 "minimum" : 1,
13234 "optional" : 1,
13235 "type" : "integer"
13236 },
13237 "cache" : {
13238 "description" : "The drive's cache mode",
13239 "enum" : [
13240 "none",
13241 "writethrough",
13242 "writeback",
13243 "unsafe",
13244 "directsync"
13245 ],
13246 "optional" : 1,
13247 "type" : "string"
13248 },
13249 "cyls" : {
13250 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13251 "optional" : 1,
13252 "type" : "integer"
13253 },
13254 "detect_zeroes" : {
13255 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13256 "optional" : 1,
13257 "type" : "boolean"
13258 },
13259 "discard" : {
13260 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13261 "enum" : [
13262 "ignore",
13263 "on"
13264 ],
13265 "optional" : 1,
13266 "type" : "string"
13267 },
13268 "file" : {
13269 "default_key" : 1,
13270 "description" : "The drive's backing volume.",
13271 "format" : "pve-volume-id-or-qm-path",
13272 "format_description" : "volume",
13273 "type" : "string"
13274 },
13275 "format" : {
13276 "description" : "The drive's backing file's data format.",
13277 "enum" : [
13278 "raw",
13279 "cow",
13280 "qcow",
13281 "qed",
13282 "qcow2",
13283 "vmdk",
13284 "cloop"
13285 ],
13286 "optional" : 1,
13287 "type" : "string"
13288 },
13289 "heads" : {
13290 "description" : "Force the drive's physical geometry to have a specific head count.",
13291 "optional" : 1,
13292 "type" : "integer"
13293 },
13294 "iops" : {
13295 "description" : "Maximum r/w I/O in operations per second.",
13296 "format_description" : "iops",
13297 "optional" : 1,
13298 "type" : "integer"
13299 },
13300 "iops_max" : {
13301 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13302 "format_description" : "iops",
13303 "optional" : 1,
13304 "type" : "integer"
13305 },
13306 "iops_max_length" : {
13307 "description" : "Maximum length of I/O bursts in seconds.",
13308 "format_description" : "seconds",
13309 "minimum" : 1,
13310 "optional" : 1,
13311 "type" : "integer"
13312 },
13313 "iops_rd" : {
13314 "description" : "Maximum read I/O in operations per second.",
13315 "format_description" : "iops",
13316 "optional" : 1,
13317 "type" : "integer"
13318 },
13319 "iops_rd_length" : {
13320 "alias" : "iops_rd_max_length"
13321 },
13322 "iops_rd_max" : {
13323 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13324 "format_description" : "iops",
13325 "optional" : 1,
13326 "type" : "integer"
13327 },
13328 "iops_rd_max_length" : {
13329 "description" : "Maximum length of read I/O bursts in seconds.",
13330 "format_description" : "seconds",
13331 "minimum" : 1,
13332 "optional" : 1,
13333 "type" : "integer"
13334 },
13335 "iops_wr" : {
13336 "description" : "Maximum write I/O in operations per second.",
13337 "format_description" : "iops",
13338 "optional" : 1,
13339 "type" : "integer"
13340 },
13341 "iops_wr_length" : {
13342 "alias" : "iops_wr_max_length"
13343 },
13344 "iops_wr_max" : {
13345 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13346 "format_description" : "iops",
13347 "optional" : 1,
13348 "type" : "integer"
13349 },
13350 "iops_wr_max_length" : {
13351 "description" : "Maximum length of write I/O bursts in seconds.",
13352 "format_description" : "seconds",
13353 "minimum" : 1,
13354 "optional" : 1,
13355 "type" : "integer"
13356 },
13357 "mbps" : {
13358 "description" : "Maximum r/w speed in megabytes per second.",
13359 "format_description" : "mbps",
13360 "optional" : 1,
13361 "type" : "number"
13362 },
13363 "mbps_max" : {
13364 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13365 "format_description" : "mbps",
13366 "optional" : 1,
13367 "type" : "number"
13368 },
13369 "mbps_rd" : {
13370 "description" : "Maximum read speed in megabytes per second.",
13371 "format_description" : "mbps",
13372 "optional" : 1,
13373 "type" : "number"
13374 },
13375 "mbps_rd_max" : {
13376 "description" : "Maximum unthrottled read pool in megabytes per second.",
13377 "format_description" : "mbps",
13378 "optional" : 1,
13379 "type" : "number"
13380 },
13381 "mbps_wr" : {
13382 "description" : "Maximum write speed in megabytes per second.",
13383 "format_description" : "mbps",
13384 "optional" : 1,
13385 "type" : "number"
13386 },
13387 "mbps_wr_max" : {
13388 "description" : "Maximum unthrottled write pool in megabytes per second.",
13389 "format_description" : "mbps",
13390 "optional" : 1,
13391 "type" : "number"
13392 },
13393 "media" : {
13394 "default" : "disk",
13395 "description" : "The drive's media type.",
13396 "enum" : [
13397 "cdrom",
13398 "disk"
13399 ],
13400 "optional" : 1,
13401 "type" : "string"
13402 },
13403 "replicate" : {
13404 "default" : 1,
13405 "description" : "Whether the drive should considered for replication jobs.",
13406 "optional" : 1,
13407 "type" : "boolean"
13408 },
13409 "rerror" : {
13410 "description" : "Read error action.",
13411 "enum" : [
13412 "ignore",
13413 "report",
13414 "stop"
13415 ],
13416 "optional" : 1,
13417 "type" : "string"
13418 },
13419 "secs" : {
13420 "description" : "Force the drive's physical geometry to have a specific sector count.",
13421 "optional" : 1,
13422 "type" : "integer"
13423 },
13424 "serial" : {
13425 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13426 "format" : "urlencoded",
13427 "format_description" : "serial",
13428 "maxLength" : 60,
13429 "optional" : 1,
13430 "type" : "string"
13431 },
13432 "shared" : {
13433 "default" : 0,
13434 "description" : "Mark this locally-managed volume as available on all nodes",
13435 "optional" : 1,
13436 "type" : "boolean",
13437 "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!"
13438 },
13439 "size" : {
13440 "description" : "Disk size. This is purely informational and has no effect.",
13441 "format" : "disk-size",
13442 "format_description" : "DiskSize",
13443 "optional" : 1,
13444 "type" : "string"
13445 },
13446 "snapshot" : {
13447 "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.",
13448 "optional" : 1,
13449 "type" : "boolean"
13450 },
25203dc1
NC
13451 "ssd" : {
13452 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13453 "optional" : 1,
13454 "type" : "boolean"
13455 },
4d47f125
TL
13456 "trans" : {
13457 "description" : "Force disk geometry bios translation mode.",
13458 "enum" : [
13459 "none",
13460 "lba",
13461 "auto"
13462 ],
13463 "optional" : 1,
13464 "type" : "string"
13465 },
13466 "volume" : {
13467 "alias" : "file"
13468 },
13469 "werror" : {
13470 "description" : "Write error action.",
13471 "enum" : [
13472 "enospc",
13473 "ignore",
13474 "report",
13475 "stop"
13476 ],
13477 "optional" : 1,
13478 "type" : "string"
13479 }
13480 },
13481 "optional" : 1,
13482 "type" : "string",
25203dc1 13483 "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
13484 },
13485 "scsi[n]" : {
13486 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
13487 "format" : {
13488 "aio" : {
13489 "description" : "AIO type to use.",
13490 "enum" : [
13491 "native",
13492 "threads"
13493 ],
13494 "optional" : 1,
13495 "type" : "string"
13496 },
13497 "backup" : {
13498 "description" : "Whether the drive should be included when making backups.",
13499 "optional" : 1,
13500 "type" : "boolean"
13501 },
13502 "bps" : {
13503 "description" : "Maximum r/w speed in bytes per second.",
13504 "format_description" : "bps",
13505 "optional" : 1,
13506 "type" : "integer"
13507 },
13508 "bps_max_length" : {
13509 "description" : "Maximum length of I/O bursts in seconds.",
13510 "format_description" : "seconds",
13511 "minimum" : 1,
13512 "optional" : 1,
13513 "type" : "integer"
13514 },
13515 "bps_rd" : {
13516 "description" : "Maximum read speed in bytes per second.",
13517 "format_description" : "bps",
13518 "optional" : 1,
13519 "type" : "integer"
13520 },
13521 "bps_rd_length" : {
13522 "alias" : "bps_rd_max_length"
13523 },
13524 "bps_rd_max_length" : {
13525 "description" : "Maximum length of read I/O bursts in seconds.",
13526 "format_description" : "seconds",
13527 "minimum" : 1,
13528 "optional" : 1,
13529 "type" : "integer"
13530 },
13531 "bps_wr" : {
13532 "description" : "Maximum write speed in bytes per second.",
13533 "format_description" : "bps",
13534 "optional" : 1,
13535 "type" : "integer"
13536 },
13537 "bps_wr_length" : {
13538 "alias" : "bps_wr_max_length"
13539 },
13540 "bps_wr_max_length" : {
13541 "description" : "Maximum length of write I/O bursts in seconds.",
13542 "format_description" : "seconds",
13543 "minimum" : 1,
13544 "optional" : 1,
13545 "type" : "integer"
13546 },
13547 "cache" : {
13548 "description" : "The drive's cache mode",
13549 "enum" : [
13550 "none",
13551 "writethrough",
13552 "writeback",
13553 "unsafe",
13554 "directsync"
13555 ],
13556 "optional" : 1,
13557 "type" : "string"
13558 },
13559 "cyls" : {
13560 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13561 "optional" : 1,
13562 "type" : "integer"
13563 },
13564 "detect_zeroes" : {
13565 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13566 "optional" : 1,
13567 "type" : "boolean"
13568 },
13569 "discard" : {
13570 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13571 "enum" : [
13572 "ignore",
13573 "on"
13574 ],
13575 "optional" : 1,
13576 "type" : "string"
13577 },
13578 "file" : {
13579 "default_key" : 1,
13580 "description" : "The drive's backing volume.",
13581 "format" : "pve-volume-id-or-qm-path",
13582 "format_description" : "volume",
13583 "type" : "string"
13584 },
13585 "format" : {
13586 "description" : "The drive's backing file's data format.",
13587 "enum" : [
13588 "raw",
13589 "cow",
13590 "qcow",
13591 "qed",
13592 "qcow2",
13593 "vmdk",
13594 "cloop"
13595 ],
13596 "optional" : 1,
13597 "type" : "string"
13598 },
13599 "heads" : {
13600 "description" : "Force the drive's physical geometry to have a specific head count.",
13601 "optional" : 1,
13602 "type" : "integer"
13603 },
13604 "iops" : {
13605 "description" : "Maximum r/w I/O in operations per second.",
13606 "format_description" : "iops",
13607 "optional" : 1,
13608 "type" : "integer"
13609 },
13610 "iops_max" : {
13611 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13612 "format_description" : "iops",
13613 "optional" : 1,
13614 "type" : "integer"
13615 },
13616 "iops_max_length" : {
13617 "description" : "Maximum length of I/O bursts in seconds.",
13618 "format_description" : "seconds",
13619 "minimum" : 1,
13620 "optional" : 1,
13621 "type" : "integer"
13622 },
13623 "iops_rd" : {
13624 "description" : "Maximum read I/O in operations per second.",
13625 "format_description" : "iops",
13626 "optional" : 1,
13627 "type" : "integer"
13628 },
13629 "iops_rd_length" : {
13630 "alias" : "iops_rd_max_length"
13631 },
13632 "iops_rd_max" : {
13633 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13634 "format_description" : "iops",
13635 "optional" : 1,
13636 "type" : "integer"
13637 },
13638 "iops_rd_max_length" : {
13639 "description" : "Maximum length of read I/O bursts in seconds.",
13640 "format_description" : "seconds",
13641 "minimum" : 1,
13642 "optional" : 1,
13643 "type" : "integer"
13644 },
13645 "iops_wr" : {
13646 "description" : "Maximum write I/O in operations per second.",
13647 "format_description" : "iops",
13648 "optional" : 1,
13649 "type" : "integer"
13650 },
13651 "iops_wr_length" : {
13652 "alias" : "iops_wr_max_length"
13653 },
13654 "iops_wr_max" : {
13655 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13656 "format_description" : "iops",
13657 "optional" : 1,
13658 "type" : "integer"
13659 },
13660 "iops_wr_max_length" : {
13661 "description" : "Maximum length of write I/O bursts in seconds.",
13662 "format_description" : "seconds",
13663 "minimum" : 1,
13664 "optional" : 1,
13665 "type" : "integer"
13666 },
13667 "iothread" : {
13668 "description" : "Whether to use iothreads for this drive",
13669 "optional" : 1,
13670 "type" : "boolean"
13671 },
13672 "mbps" : {
13673 "description" : "Maximum r/w speed in megabytes per second.",
13674 "format_description" : "mbps",
13675 "optional" : 1,
13676 "type" : "number"
13677 },
13678 "mbps_max" : {
13679 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13680 "format_description" : "mbps",
13681 "optional" : 1,
13682 "type" : "number"
13683 },
13684 "mbps_rd" : {
13685 "description" : "Maximum read speed in megabytes per second.",
13686 "format_description" : "mbps",
13687 "optional" : 1,
13688 "type" : "number"
13689 },
13690 "mbps_rd_max" : {
13691 "description" : "Maximum unthrottled read pool in megabytes per second.",
13692 "format_description" : "mbps",
13693 "optional" : 1,
13694 "type" : "number"
13695 },
13696 "mbps_wr" : {
13697 "description" : "Maximum write speed in megabytes per second.",
13698 "format_description" : "mbps",
13699 "optional" : 1,
13700 "type" : "number"
13701 },
13702 "mbps_wr_max" : {
13703 "description" : "Maximum unthrottled write pool in megabytes per second.",
13704 "format_description" : "mbps",
13705 "optional" : 1,
13706 "type" : "number"
13707 },
13708 "media" : {
13709 "default" : "disk",
13710 "description" : "The drive's media type.",
13711 "enum" : [
13712 "cdrom",
13713 "disk"
13714 ],
13715 "optional" : 1,
13716 "type" : "string"
13717 },
13718 "queues" : {
13719 "description" : "Number of queues.",
13720 "minimum" : 2,
13721 "optional" : 1,
13722 "type" : "integer"
13723 },
13724 "replicate" : {
13725 "default" : 1,
13726 "description" : "Whether the drive should considered for replication jobs.",
13727 "optional" : 1,
13728 "type" : "boolean"
13729 },
13730 "rerror" : {
13731 "description" : "Read error action.",
13732 "enum" : [
13733 "ignore",
13734 "report",
13735 "stop"
13736 ],
13737 "optional" : 1,
13738 "type" : "string"
13739 },
13740 "scsiblock" : {
13741 "default" : 0,
13742 "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",
13743 "optional" : 1,
13744 "type" : "boolean"
13745 },
13746 "secs" : {
13747 "description" : "Force the drive's physical geometry to have a specific sector count.",
13748 "optional" : 1,
13749 "type" : "integer"
13750 },
13751 "serial" : {
13752 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13753 "format" : "urlencoded",
13754 "format_description" : "serial",
13755 "maxLength" : 60,
13756 "optional" : 1,
13757 "type" : "string"
13758 },
13759 "shared" : {
13760 "default" : 0,
13761 "description" : "Mark this locally-managed volume as available on all nodes",
13762 "optional" : 1,
13763 "type" : "boolean",
13764 "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!"
13765 },
13766 "size" : {
13767 "description" : "Disk size. This is purely informational and has no effect.",
13768 "format" : "disk-size",
13769 "format_description" : "DiskSize",
13770 "optional" : 1,
13771 "type" : "string"
13772 },
13773 "snapshot" : {
13774 "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.",
13775 "optional" : 1,
13776 "type" : "boolean"
13777 },
25203dc1
NC
13778 "ssd" : {
13779 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13780 "optional" : 1,
13781 "type" : "boolean"
13782 },
4d47f125
TL
13783 "trans" : {
13784 "description" : "Force disk geometry bios translation mode.",
13785 "enum" : [
13786 "none",
13787 "lba",
13788 "auto"
13789 ],
13790 "optional" : 1,
13791 "type" : "string"
13792 },
13793 "volume" : {
13794 "alias" : "file"
13795 },
13796 "werror" : {
13797 "description" : "Write error action.",
13798 "enum" : [
13799 "enospc",
13800 "ignore",
13801 "report",
13802 "stop"
13803 ],
13804 "optional" : 1,
13805 "type" : "string"
13806 }
13807 },
13808 "optional" : 1,
13809 "type" : "string",
25203dc1 13810 "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
13811 },
13812 "scsihw" : {
13813 "default" : "lsi",
13814 "description" : "SCSI controller model",
13815 "enum" : [
13816 "lsi",
13817 "lsi53c810",
13818 "virtio-scsi-pci",
13819 "virtio-scsi-single",
13820 "megasas",
13821 "pvscsi"
13822 ],
13823 "optional" : 1,
13824 "type" : "string"
13825 },
13826 "searchdomain" : {
13827 "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.",
13828 "optional" : 1,
13829 "type" : "string",
13830 "typetext" : "<string>"
13831 },
13832 "serial[n]" : {
13833 "description" : "Create a serial device inside the VM (n is 0 to 3)",
13834 "optional" : 1,
13835 "pattern" : "(/dev/.+|socket)",
13836 "type" : "string",
13837 "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"
13838 },
13839 "shares" : {
13840 "default" : 1000,
13841 "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.",
13842 "maximum" : 50000,
13843 "minimum" : 0,
13844 "optional" : 1,
13845 "type" : "integer",
13846 "typetext" : "<integer> (0 - 50000)"
13847 },
13848 "skiplock" : {
13849 "description" : "Ignore locks - only root is allowed to use this option.",
13850 "optional" : 1,
13851 "type" : "boolean",
13852 "typetext" : "<boolean>"
13853 },
13854 "smbios1" : {
13855 "description" : "Specify SMBIOS type 1 fields.",
13856 "format" : "pve-qm-smbios1",
13857 "maxLength" : 256,
13858 "optional" : 1,
13859 "type" : "string",
13860 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
13861 },
13862 "smp" : {
13863 "default" : 1,
13864 "description" : "The number of CPUs. Please use option -sockets instead.",
13865 "minimum" : 1,
13866 "optional" : 1,
13867 "type" : "integer",
13868 "typetext" : "<integer> (1 - N)"
13869 },
13870 "sockets" : {
13871 "default" : 1,
13872 "description" : "The number of CPU sockets.",
13873 "minimum" : 1,
13874 "optional" : 1,
13875 "type" : "integer",
13876 "typetext" : "<integer> (1 - N)"
13877 },
13878 "sshkeys" : {
13879 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
13880 "format" : "urlencoded",
13881 "optional" : 1,
13882 "type" : "string",
13883 "typetext" : "<string>"
13884 },
13885 "startdate" : {
13886 "default" : "now",
13887 "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'.",
13888 "optional" : 1,
13889 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
13890 "type" : "string",
13891 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
13892 },
13893 "startup" : {
13894 "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.",
13895 "format" : "pve-startup-order",
13896 "optional" : 1,
13897 "type" : "string",
13898 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
13899 },
13900 "tablet" : {
13901 "default" : 1,
13902 "description" : "Enable/disable the USB tablet device.",
13903 "optional" : 1,
13904 "type" : "boolean",
13905 "typetext" : "<boolean>",
13906 "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)."
13907 },
13908 "tdf" : {
13909 "default" : 0,
13910 "description" : "Enable/disable time drift fix.",
13911 "optional" : 1,
13912 "type" : "boolean",
13913 "typetext" : "<boolean>"
13914 },
13915 "template" : {
13916 "default" : 0,
13917 "description" : "Enable/disable Template.",
13918 "optional" : 1,
13919 "type" : "boolean",
13920 "typetext" : "<boolean>"
13921 },
13922 "unused[n]" : {
13923 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
13924 "format" : "pve-volume-id",
13925 "optional" : 1,
13926 "type" : "string",
13927 "typetext" : "<string>"
13928 },
13929 "usb[n]" : {
13930 "description" : "Configure an USB device (n is 0 to 4).",
13931 "format" : {
13932 "host" : {
13933 "default_key" : 1,
13934 "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",
13935 "format" : "pve-qm-usb-device",
13936 "format_description" : "HOSTUSBDEVICE|spice",
13937 "type" : "string"
13938 },
13939 "usb3" : {
13940 "default" : 0,
13941 "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).",
13942 "optional" : 1,
13943 "type" : "boolean"
13944 }
13945 },
13946 "optional" : 1,
13947 "type" : "string",
13948 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
13949 },
13950 "vcpus" : {
13951 "default" : 0,
13952 "description" : "Number of hotplugged vcpus.",
13953 "minimum" : 1,
13954 "optional" : 1,
13955 "type" : "integer",
13956 "typetext" : "<integer> (1 - N)"
13957 },
13958 "vga" : {
e2d681b3
TL
13959 "description" : "Configure the VGA hardware.",
13960 "format" : {
13961 "memory" : {
13962 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
13963 "maximum" : 512,
13964 "minimum" : 4,
13965 "optional" : 1,
13966 "type" : "integer"
13967 },
13968 "type" : {
13969 "default" : "std",
13970 "default_key" : 1,
13971 "description" : "Select the VGA type.",
13972 "enum" : [
13973 "cirrus",
13974 "qxl",
13975 "qxl2",
13976 "qxl3",
13977 "qxl4",
13978 "serial0",
13979 "serial1",
13980 "serial2",
13981 "serial3",
13982 "std",
13983 "virtio",
13984 "vmware"
13985 ],
13986 "optional" : 1,
13987 "type" : "string"
13988 }
13989 },
4d47f125
TL
13990 "optional" : 1,
13991 "type" : "string",
e2d681b3
TL
13992 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
13993 "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
13994 },
13995 "virtio[n]" : {
13996 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
13997 "format" : {
13998 "aio" : {
13999 "description" : "AIO type to use.",
14000 "enum" : [
14001 "native",
14002 "threads"
14003 ],
14004 "optional" : 1,
14005 "type" : "string"
14006 },
14007 "backup" : {
14008 "description" : "Whether the drive should be included when making backups.",
14009 "optional" : 1,
14010 "type" : "boolean"
14011 },
14012 "bps" : {
14013 "description" : "Maximum r/w speed in bytes per second.",
14014 "format_description" : "bps",
14015 "optional" : 1,
14016 "type" : "integer"
14017 },
14018 "bps_max_length" : {
14019 "description" : "Maximum length of I/O bursts in seconds.",
14020 "format_description" : "seconds",
14021 "minimum" : 1,
14022 "optional" : 1,
14023 "type" : "integer"
14024 },
14025 "bps_rd" : {
14026 "description" : "Maximum read speed in bytes per second.",
14027 "format_description" : "bps",
14028 "optional" : 1,
14029 "type" : "integer"
14030 },
14031 "bps_rd_length" : {
14032 "alias" : "bps_rd_max_length"
14033 },
14034 "bps_rd_max_length" : {
14035 "description" : "Maximum length of read I/O bursts in seconds.",
14036 "format_description" : "seconds",
14037 "minimum" : 1,
14038 "optional" : 1,
14039 "type" : "integer"
14040 },
14041 "bps_wr" : {
14042 "description" : "Maximum write speed in bytes per second.",
14043 "format_description" : "bps",
14044 "optional" : 1,
14045 "type" : "integer"
14046 },
14047 "bps_wr_length" : {
14048 "alias" : "bps_wr_max_length"
14049 },
14050 "bps_wr_max_length" : {
14051 "description" : "Maximum length of write I/O bursts in seconds.",
14052 "format_description" : "seconds",
14053 "minimum" : 1,
14054 "optional" : 1,
14055 "type" : "integer"
14056 },
14057 "cache" : {
14058 "description" : "The drive's cache mode",
14059 "enum" : [
14060 "none",
14061 "writethrough",
14062 "writeback",
14063 "unsafe",
14064 "directsync"
14065 ],
14066 "optional" : 1,
14067 "type" : "string"
14068 },
14069 "cyls" : {
14070 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14071 "optional" : 1,
14072 "type" : "integer"
14073 },
14074 "detect_zeroes" : {
14075 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14076 "optional" : 1,
14077 "type" : "boolean"
14078 },
14079 "discard" : {
14080 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14081 "enum" : [
14082 "ignore",
14083 "on"
14084 ],
14085 "optional" : 1,
14086 "type" : "string"
14087 },
14088 "file" : {
14089 "default_key" : 1,
14090 "description" : "The drive's backing volume.",
14091 "format" : "pve-volume-id-or-qm-path",
14092 "format_description" : "volume",
14093 "type" : "string"
14094 },
14095 "format" : {
14096 "description" : "The drive's backing file's data format.",
14097 "enum" : [
14098 "raw",
14099 "cow",
14100 "qcow",
14101 "qed",
14102 "qcow2",
14103 "vmdk",
14104 "cloop"
14105 ],
14106 "optional" : 1,
14107 "type" : "string"
14108 },
14109 "heads" : {
14110 "description" : "Force the drive's physical geometry to have a specific head count.",
14111 "optional" : 1,
14112 "type" : "integer"
14113 },
14114 "iops" : {
14115 "description" : "Maximum r/w I/O in operations per second.",
14116 "format_description" : "iops",
14117 "optional" : 1,
14118 "type" : "integer"
14119 },
14120 "iops_max" : {
14121 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
14122 "format_description" : "iops",
14123 "optional" : 1,
14124 "type" : "integer"
14125 },
14126 "iops_max_length" : {
14127 "description" : "Maximum length of I/O bursts in seconds.",
14128 "format_description" : "seconds",
14129 "minimum" : 1,
14130 "optional" : 1,
14131 "type" : "integer"
14132 },
14133 "iops_rd" : {
14134 "description" : "Maximum read I/O in operations per second.",
14135 "format_description" : "iops",
14136 "optional" : 1,
14137 "type" : "integer"
14138 },
14139 "iops_rd_length" : {
14140 "alias" : "iops_rd_max_length"
14141 },
14142 "iops_rd_max" : {
14143 "description" : "Maximum unthrottled read I/O pool in operations per second.",
14144 "format_description" : "iops",
14145 "optional" : 1,
14146 "type" : "integer"
14147 },
14148 "iops_rd_max_length" : {
14149 "description" : "Maximum length of read I/O bursts in seconds.",
14150 "format_description" : "seconds",
14151 "minimum" : 1,
14152 "optional" : 1,
14153 "type" : "integer"
14154 },
14155 "iops_wr" : {
14156 "description" : "Maximum write I/O in operations per second.",
14157 "format_description" : "iops",
14158 "optional" : 1,
14159 "type" : "integer"
14160 },
14161 "iops_wr_length" : {
14162 "alias" : "iops_wr_max_length"
14163 },
14164 "iops_wr_max" : {
14165 "description" : "Maximum unthrottled write I/O pool in operations per second.",
14166 "format_description" : "iops",
14167 "optional" : 1,
14168 "type" : "integer"
14169 },
14170 "iops_wr_max_length" : {
14171 "description" : "Maximum length of write I/O bursts in seconds.",
14172 "format_description" : "seconds",
14173 "minimum" : 1,
14174 "optional" : 1,
14175 "type" : "integer"
14176 },
14177 "iothread" : {
14178 "description" : "Whether to use iothreads for this drive",
14179 "optional" : 1,
14180 "type" : "boolean"
14181 },
14182 "mbps" : {
14183 "description" : "Maximum r/w speed in megabytes per second.",
14184 "format_description" : "mbps",
14185 "optional" : 1,
14186 "type" : "number"
14187 },
14188 "mbps_max" : {
14189 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
14190 "format_description" : "mbps",
14191 "optional" : 1,
14192 "type" : "number"
14193 },
14194 "mbps_rd" : {
14195 "description" : "Maximum read speed in megabytes per second.",
14196 "format_description" : "mbps",
14197 "optional" : 1,
14198 "type" : "number"
14199 },
14200 "mbps_rd_max" : {
14201 "description" : "Maximum unthrottled read pool in megabytes per second.",
14202 "format_description" : "mbps",
14203 "optional" : 1,
14204 "type" : "number"
14205 },
14206 "mbps_wr" : {
14207 "description" : "Maximum write speed in megabytes per second.",
14208 "format_description" : "mbps",
14209 "optional" : 1,
14210 "type" : "number"
14211 },
14212 "mbps_wr_max" : {
14213 "description" : "Maximum unthrottled write pool in megabytes per second.",
14214 "format_description" : "mbps",
14215 "optional" : 1,
14216 "type" : "number"
14217 },
14218 "media" : {
14219 "default" : "disk",
14220 "description" : "The drive's media type.",
14221 "enum" : [
14222 "cdrom",
14223 "disk"
14224 ],
14225 "optional" : 1,
14226 "type" : "string"
14227 },
14228 "replicate" : {
14229 "default" : 1,
14230 "description" : "Whether the drive should considered for replication jobs.",
14231 "optional" : 1,
14232 "type" : "boolean"
14233 },
14234 "rerror" : {
14235 "description" : "Read error action.",
14236 "enum" : [
14237 "ignore",
14238 "report",
14239 "stop"
14240 ],
14241 "optional" : 1,
14242 "type" : "string"
14243 },
14244 "secs" : {
14245 "description" : "Force the drive's physical geometry to have a specific sector count.",
14246 "optional" : 1,
14247 "type" : "integer"
14248 },
14249 "serial" : {
14250 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14251 "format" : "urlencoded",
14252 "format_description" : "serial",
14253 "maxLength" : 60,
14254 "optional" : 1,
14255 "type" : "string"
14256 },
14257 "shared" : {
14258 "default" : 0,
14259 "description" : "Mark this locally-managed volume as available on all nodes",
14260 "optional" : 1,
14261 "type" : "boolean",
14262 "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!"
14263 },
14264 "size" : {
14265 "description" : "Disk size. This is purely informational and has no effect.",
14266 "format" : "disk-size",
14267 "format_description" : "DiskSize",
14268 "optional" : 1,
14269 "type" : "string"
14270 },
14271 "snapshot" : {
14272 "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.",
14273 "optional" : 1,
14274 "type" : "boolean"
14275 },
14276 "trans" : {
14277 "description" : "Force disk geometry bios translation mode.",
14278 "enum" : [
14279 "none",
14280 "lba",
14281 "auto"
14282 ],
14283 "optional" : 1,
14284 "type" : "string"
14285 },
14286 "volume" : {
14287 "alias" : "file"
14288 },
14289 "werror" : {
14290 "description" : "Write error action.",
14291 "enum" : [
14292 "enospc",
14293 "ignore",
14294 "report",
14295 "stop"
14296 ],
14297 "optional" : 1,
14298 "type" : "string"
14299 }
14300 },
14301 "optional" : 1,
14302 "type" : "string",
14303 "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>]"
14304 },
14305 "vmgenid" : {
14306 "default" : "1 (autogenerated)",
14307 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
14308 "format_description" : "UUID",
14309 "optional" : 1,
14310 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
14311 "type" : "string",
14312 "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."
14313 },
14314 "vmid" : {
14315 "description" : "The (unique) ID of the VM.",
14316 "format" : "pve-vmid",
14317 "minimum" : 1,
14318 "type" : "integer",
14319 "typetext" : "<integer> (1 - N)"
14320 },
14321 "vmstatestorage" : {
14322 "description" : "Default storage for VM state volumes/files.",
14323 "format" : "pve-storage-id",
14324 "optional" : 1,
14325 "type" : "string",
14326 "typetext" : "<string>"
14327 },
14328 "watchdog" : {
14329 "description" : "Create a virtual hardware watchdog device.",
14330 "format" : "pve-qm-watchdog",
14331 "optional" : 1,
14332 "type" : "string",
14333 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
14334 "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)"
14335 }
14336 }
14337 },
14338 "permissions" : {
14339 "check" : [
14340 "perm",
14341 "/vms/{vmid}",
14342 [
14343 "VM.Config.Disk",
14344 "VM.Config.CDROM",
14345 "VM.Config.CPU",
14346 "VM.Config.Memory",
14347 "VM.Config.Network",
14348 "VM.Config.HWType",
14349 "VM.Config.Options"
14350 ],
14351 "any",
14352 1
14353 ]
14354 },
14355 "protected" : 1,
14356 "proxyto" : "node",
14357 "returns" : {
14358 "type" : "null"
14359 }
14360 }
14361 },
14362 "leaf" : 1,
14363 "path" : "/nodes/{node}/qemu/{vmid}/config",
14364 "text" : "config"
14365 },
14366 {
14367 "info" : {
14368 "GET" : {
14369 "description" : "Get virtual machine configuration, including pending changes.",
14370 "method" : "GET",
14371 "name" : "vm_pending",
14372 "parameters" : {
14373 "additionalProperties" : 0,
14374 "properties" : {
14375 "node" : {
14376 "description" : "The cluster node name.",
14377 "format" : "pve-node",
14378 "type" : "string",
14379 "typetext" : "<string>"
14380 },
14381 "vmid" : {
14382 "description" : "The (unique) ID of the VM.",
14383 "format" : "pve-vmid",
14384 "minimum" : 1,
14385 "type" : "integer",
14386 "typetext" : "<integer> (1 - N)"
14387 }
14388 }
14389 },
14390 "permissions" : {
14391 "check" : [
14392 "perm",
14393 "/vms/{vmid}",
14394 [
14395 "VM.Audit"
14396 ]
14397 ]
14398 },
14399 "proxyto" : "node",
14400 "returns" : {
14401 "items" : {
14402 "properties" : {
14403 "delete" : {
14404 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
14405 "maximum" : 2,
14406 "minimum" : 0,
14407 "optional" : 1,
14408 "type" : "integer"
14409 },
14410 "key" : {
14411 "description" : "Configuration option name.",
14412 "type" : "string"
14413 },
14414 "pending" : {
14415 "description" : "Pending value.",
14416 "optional" : 1,
14417 "type" : "string"
14418 },
14419 "value" : {
14420 "description" : "Current value.",
14421 "optional" : 1,
14422 "type" : "string"
14423 }
14424 },
14425 "type" : "object"
14426 },
14427 "type" : "array"
14428 }
14429 }
14430 },
14431 "leaf" : 1,
14432 "path" : "/nodes/{node}/qemu/{vmid}/pending",
14433 "text" : "pending"
14434 },
14435 {
14436 "info" : {
14437 "PUT" : {
14438 "description" : "Unlink/delete disk images.",
14439 "method" : "PUT",
14440 "name" : "unlink",
14441 "parameters" : {
14442 "additionalProperties" : 0,
14443 "properties" : {
14444 "force" : {
14445 "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.",
14446 "optional" : 1,
14447 "type" : "boolean",
14448 "typetext" : "<boolean>"
14449 },
14450 "idlist" : {
14451 "description" : "A list of disk IDs you want to delete.",
14452 "format" : "pve-configid-list",
14453 "type" : "string",
14454 "typetext" : "<string>"
14455 },
14456 "node" : {
14457 "description" : "The cluster node name.",
14458 "format" : "pve-node",
14459 "type" : "string",
14460 "typetext" : "<string>"
14461 },
14462 "vmid" : {
14463 "description" : "The (unique) ID of the VM.",
14464 "format" : "pve-vmid",
14465 "minimum" : 1,
14466 "type" : "integer",
14467 "typetext" : "<integer> (1 - N)"
14468 }
14469 }
14470 },
14471 "permissions" : {
14472 "check" : [
14473 "perm",
14474 "/vms/{vmid}",
14475 [
14476 "VM.Config.Disk"
14477 ]
14478 ]
14479 },
14480 "protected" : 1,
14481 "proxyto" : "node",
14482 "returns" : {
14483 "type" : "null"
14484 }
14485 }
14486 },
14487 "leaf" : 1,
14488 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
14489 "text" : "unlink"
14490 },
14491 {
14492 "info" : {
14493 "POST" : {
14494 "description" : "Creates a TCP VNC proxy connections.",
14495 "method" : "POST",
14496 "name" : "vncproxy",
14497 "parameters" : {
14498 "additionalProperties" : 0,
14499 "properties" : {
14500 "node" : {
14501 "description" : "The cluster node name.",
14502 "format" : "pve-node",
14503 "type" : "string",
14504 "typetext" : "<string>"
14505 },
14506 "vmid" : {
14507 "description" : "The (unique) ID of the VM.",
14508 "format" : "pve-vmid",
14509 "minimum" : 1,
14510 "type" : "integer",
14511 "typetext" : "<integer> (1 - N)"
14512 },
14513 "websocket" : {
14514 "description" : "starts websockify instead of vncproxy",
14515 "optional" : 1,
14516 "type" : "boolean",
14517 "typetext" : "<boolean>"
14518 }
14519 }
14520 },
14521 "permissions" : {
14522 "check" : [
14523 "perm",
14524 "/vms/{vmid}",
14525 [
14526 "VM.Console"
14527 ]
14528 ]
14529 },
14530 "protected" : 1,
14531 "returns" : {
14532 "additionalProperties" : 0,
14533 "properties" : {
14534 "cert" : {
14535 "type" : "string"
14536 },
14537 "port" : {
14538 "type" : "integer"
14539 },
14540 "ticket" : {
14541 "type" : "string"
14542 },
14543 "upid" : {
14544 "type" : "string"
14545 },
14546 "user" : {
14547 "type" : "string"
14548 }
14549 }
14550 }
14551 }
14552 },
14553 "leaf" : 1,
14554 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
14555 "text" : "vncproxy"
14556 },
14557 {
14558 "info" : {
14559 "POST" : {
14560 "description" : "Creates a TCP proxy connections.",
14561 "method" : "POST",
14562 "name" : "termproxy",
14563 "parameters" : {
14564 "additionalProperties" : 0,
14565 "properties" : {
14566 "node" : {
14567 "description" : "The cluster node name.",
14568 "format" : "pve-node",
14569 "type" : "string",
14570 "typetext" : "<string>"
14571 },
14572 "serial" : {
14573 "description" : "opens a serial terminal (defaults to display)",
14574 "enum" : [
14575 "serial0",
14576 "serial1",
14577 "serial2",
14578 "serial3"
14579 ],
14580 "optional" : 1,
14581 "type" : "string"
14582 },
14583 "vmid" : {
14584 "description" : "The (unique) ID of the VM.",
14585 "format" : "pve-vmid",
14586 "minimum" : 1,
14587 "type" : "integer",
14588 "typetext" : "<integer> (1 - N)"
14589 }
14590 }
14591 },
14592 "permissions" : {
14593 "check" : [
14594 "perm",
14595 "/vms/{vmid}",
14596 [
14597 "VM.Console"
14598 ]
14599 ]
14600 },
14601 "protected" : 1,
14602 "returns" : {
14603 "additionalProperties" : 0,
14604 "properties" : {
14605 "port" : {
14606 "type" : "integer"
14607 },
14608 "ticket" : {
14609 "type" : "string"
14610 },
14611 "upid" : {
14612 "type" : "string"
14613 },
14614 "user" : {
14615 "type" : "string"
14616 }
14617 }
14618 }
14619 }
14620 },
14621 "leaf" : 1,
14622 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
14623 "text" : "termproxy"
14624 },
14625 {
14626 "info" : {
14627 "GET" : {
14628 "description" : "Opens a weksocket for VNC traffic.",
14629 "method" : "GET",
14630 "name" : "vncwebsocket",
14631 "parameters" : {
14632 "additionalProperties" : 0,
14633 "properties" : {
14634 "node" : {
14635 "description" : "The cluster node name.",
14636 "format" : "pve-node",
14637 "type" : "string",
14638 "typetext" : "<string>"
14639 },
14640 "port" : {
14641 "description" : "Port number returned by previous vncproxy call.",
14642 "maximum" : 5999,
14643 "minimum" : 5900,
14644 "type" : "integer",
14645 "typetext" : "<integer> (5900 - 5999)"
14646 },
14647 "vmid" : {
14648 "description" : "The (unique) ID of the VM.",
14649 "format" : "pve-vmid",
14650 "minimum" : 1,
14651 "type" : "integer",
14652 "typetext" : "<integer> (1 - N)"
14653 },
14654 "vncticket" : {
14655 "description" : "Ticket from previous call to vncproxy.",
14656 "maxLength" : 512,
14657 "type" : "string",
14658 "typetext" : "<string>"
14659 }
14660 }
14661 },
14662 "permissions" : {
14663 "check" : [
14664 "perm",
14665 "/vms/{vmid}",
14666 [
14667 "VM.Console"
14668 ]
14669 ],
14670 "description" : "You also need to pass a valid ticket (vncticket)."
14671 },
14672 "returns" : {
14673 "properties" : {
14674 "port" : {
14675 "type" : "string"
14676 }
14677 },
14678 "type" : "object"
14679 }
14680 }
14681 },
14682 "leaf" : 1,
14683 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
14684 "text" : "vncwebsocket"
14685 },
14686 {
14687 "info" : {
14688 "POST" : {
14689 "description" : "Returns a SPICE configuration to connect to the VM.",
14690 "method" : "POST",
14691 "name" : "spiceproxy",
14692 "parameters" : {
14693 "additionalProperties" : 0,
14694 "properties" : {
14695 "node" : {
14696 "description" : "The cluster node name.",
14697 "format" : "pve-node",
14698 "type" : "string",
14699 "typetext" : "<string>"
14700 },
14701 "proxy" : {
14702 "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).",
14703 "format" : "address",
14704 "optional" : 1,
14705 "type" : "string",
14706 "typetext" : "<string>"
14707 },
14708 "vmid" : {
14709 "description" : "The (unique) ID of the VM.",
14710 "format" : "pve-vmid",
14711 "minimum" : 1,
14712 "type" : "integer",
14713 "typetext" : "<integer> (1 - N)"
14714 }
14715 }
14716 },
14717 "permissions" : {
14718 "check" : [
14719 "perm",
14720 "/vms/{vmid}",
14721 [
14722 "VM.Console"
14723 ]
14724 ]
14725 },
14726 "protected" : 1,
14727 "proxyto" : "node",
14728 "returns" : {
14729 "additionalProperties" : 1,
14730 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
14731 "properties" : {
14732 "host" : {
14733 "type" : "string"
14734 },
14735 "password" : {
14736 "type" : "string"
14737 },
14738 "proxy" : {
14739 "type" : "string"
14740 },
14741 "tls-port" : {
14742 "type" : "integer"
14743 },
14744 "type" : {
14745 "type" : "string"
14746 }
14747 }
14748 }
14749 }
14750 },
14751 "leaf" : 1,
14752 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
14753 "text" : "spiceproxy"
14754 },
14755 {
14756 "children" : [
14757 {
14758 "info" : {
14759 "GET" : {
14760 "description" : "Get virtual machine status.",
14761 "method" : "GET",
14762 "name" : "vm_status",
14763 "parameters" : {
14764 "additionalProperties" : 0,
14765 "properties" : {
14766 "node" : {
14767 "description" : "The cluster node name.",
14768 "format" : "pve-node",
14769 "type" : "string",
14770 "typetext" : "<string>"
14771 },
14772 "vmid" : {
14773 "description" : "The (unique) ID of the VM.",
14774 "format" : "pve-vmid",
14775 "minimum" : 1,
14776 "type" : "integer",
14777 "typetext" : "<integer> (1 - N)"
14778 }
14779 }
14780 },
14781 "permissions" : {
14782 "check" : [
14783 "perm",
14784 "/vms/{vmid}",
14785 [
14786 "VM.Audit"
14787 ]
14788 ]
14789 },
14790 "protected" : 1,
14791 "proxyto" : "node",
14792 "returns" : {
14793 "properties" : {
14794 "agent" : {
14795 "description" : "Qemu GuestAgent enabled in config.",
14796 "optional" : 1,
14797 "type" : "boolean"
14798 },
14799 "cpus" : {
14800 "description" : "Maximum usable CPUs.",
14801 "optional" : 1,
14802 "type" : "number"
14803 },
14804 "ha" : {
14805 "description" : "HA manager service status.",
14806 "type" : "object"
14807 },
14808 "maxdisk" : {
14809 "description" : "Root disk size in bytes.",
14810 "optional" : 1,
14811 "renderer" : "bytes",
14812 "type" : "integer"
14813 },
14814 "maxmem" : {
14815 "description" : "Maximum memory in bytes.",
14816 "optional" : 1,
14817 "renderer" : "bytes",
14818 "type" : "integer"
14819 },
14820 "name" : {
14821 "description" : "VM name.",
14822 "optional" : 1,
14823 "type" : "string"
14824 },
14825 "pid" : {
14826 "description" : "PID of running qemu process.",
14827 "optional" : 1,
14828 "type" : "integer"
14829 },
14830 "qmpstatus" : {
14831 "description" : "Qemu QMP agent status.",
14832 "optional" : 1,
14833 "type" : "string"
14834 },
14835 "spice" : {
14836 "description" : "Qemu VGA configuration supports spice.",
14837 "optional" : 1,
14838 "type" : "boolean"
14839 },
14840 "status" : {
14841 "description" : "Qemu process status.",
14842 "enum" : [
14843 "stopped",
14844 "running"
14845 ],
14846 "type" : "string"
14847 },
14848 "uptime" : {
14849 "description" : "Uptime.",
14850 "optional" : 1,
14851 "renderer" : "duration",
14852 "type" : "integer"
14853 },
14854 "vmid" : {
14855 "description" : "The (unique) ID of the VM.",
14856 "format" : "pve-vmid",
14857 "minimum" : 1,
14858 "type" : "integer"
14859 }
14860 },
14861 "type" : "object"
14862 }
14863 }
14864 },
14865 "leaf" : 1,
14866 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
14867 "text" : "current"
14868 },
14869 {
14870 "info" : {
14871 "POST" : {
14872 "description" : "Start virtual machine.",
14873 "method" : "POST",
14874 "name" : "vm_start",
14875 "parameters" : {
14876 "additionalProperties" : 0,
14877 "properties" : {
14878 "machine" : {
14879 "description" : "Specifies the Qemu machine type.",
14880 "maxLength" : 40,
14881 "optional" : 1,
e2d681b3 14882 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
4d47f125
TL
14883 "type" : "string"
14884 },
14885 "migratedfrom" : {
14886 "description" : "The cluster node name.",
14887 "format" : "pve-node",
14888 "optional" : 1,
14889 "type" : "string",
14890 "typetext" : "<string>"
14891 },
14892 "migration_network" : {
14893 "description" : "CIDR of the (sub) network that is used for migration.",
14894 "format" : "CIDR",
14895 "optional" : 1,
14896 "type" : "string",
14897 "typetext" : "<string>"
14898 },
14899 "migration_type" : {
14900 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
14901 "enum" : [
14902 "secure",
14903 "insecure"
14904 ],
14905 "optional" : 1,
14906 "type" : "string"
14907 },
14908 "node" : {
14909 "description" : "The cluster node name.",
14910 "format" : "pve-node",
14911 "type" : "string",
14912 "typetext" : "<string>"
14913 },
14914 "skiplock" : {
14915 "description" : "Ignore locks - only root is allowed to use this option.",
14916 "optional" : 1,
14917 "type" : "boolean",
14918 "typetext" : "<boolean>"
14919 },
14920 "stateuri" : {
14921 "description" : "Some command save/restore state from this location.",
14922 "maxLength" : 128,
14923 "optional" : 1,
14924 "type" : "string",
14925 "typetext" : "<string>"
14926 },
14927 "targetstorage" : {
14928 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
14929 "optional" : 1,
14930 "type" : "string",
14931 "typetext" : "<string>"
14932 },
14933 "vmid" : {
14934 "description" : "The (unique) ID of the VM.",
14935 "format" : "pve-vmid",
14936 "minimum" : 1,
14937 "type" : "integer",
14938 "typetext" : "<integer> (1 - N)"
14939 }
14940 }
14941 },
14942 "permissions" : {
14943 "check" : [
14944 "perm",
14945 "/vms/{vmid}",
14946 [
14947 "VM.PowerMgmt"
14948 ]
14949 ]
14950 },
14951 "protected" : 1,
14952 "proxyto" : "node",
14953 "returns" : {
14954 "type" : "string"
14955 }
14956 }
14957 },
14958 "leaf" : 1,
14959 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
14960 "text" : "start"
14961 },
14962 {
14963 "info" : {
14964 "POST" : {
14965 "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",
14966 "method" : "POST",
14967 "name" : "vm_stop",
14968 "parameters" : {
14969 "additionalProperties" : 0,
14970 "properties" : {
14971 "keepActive" : {
14972 "default" : 0,
14973 "description" : "Do not deactivate storage volumes.",
14974 "optional" : 1,
14975 "type" : "boolean",
14976 "typetext" : "<boolean>"
14977 },
14978 "migratedfrom" : {
14979 "description" : "The cluster node name.",
14980 "format" : "pve-node",
14981 "optional" : 1,
14982 "type" : "string",
14983 "typetext" : "<string>"
14984 },
14985 "node" : {
14986 "description" : "The cluster node name.",
14987 "format" : "pve-node",
14988 "type" : "string",
14989 "typetext" : "<string>"
14990 },
14991 "skiplock" : {
14992 "description" : "Ignore locks - only root is allowed to use this option.",
14993 "optional" : 1,
14994 "type" : "boolean",
14995 "typetext" : "<boolean>"
14996 },
14997 "timeout" : {
14998 "description" : "Wait maximal timeout seconds.",
14999 "minimum" : 0,
15000 "optional" : 1,
15001 "type" : "integer",
15002 "typetext" : "<integer> (0 - N)"
15003 },
15004 "vmid" : {
15005 "description" : "The (unique) ID of the VM.",
15006 "format" : "pve-vmid",
15007 "minimum" : 1,
15008 "type" : "integer",
15009 "typetext" : "<integer> (1 - N)"
15010 }
15011 }
15012 },
15013 "permissions" : {
15014 "check" : [
15015 "perm",
15016 "/vms/{vmid}",
15017 [
15018 "VM.PowerMgmt"
15019 ]
15020 ]
15021 },
15022 "protected" : 1,
15023 "proxyto" : "node",
15024 "returns" : {
15025 "type" : "string"
15026 }
15027 }
15028 },
15029 "leaf" : 1,
15030 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
15031 "text" : "stop"
15032 },
15033 {
15034 "info" : {
15035 "POST" : {
15036 "description" : "Reset virtual machine.",
15037 "method" : "POST",
15038 "name" : "vm_reset",
15039 "parameters" : {
15040 "additionalProperties" : 0,
15041 "properties" : {
15042 "node" : {
15043 "description" : "The cluster node name.",
15044 "format" : "pve-node",
15045 "type" : "string",
15046 "typetext" : "<string>"
15047 },
15048 "skiplock" : {
15049 "description" : "Ignore locks - only root is allowed to use this option.",
15050 "optional" : 1,
15051 "type" : "boolean",
15052 "typetext" : "<boolean>"
15053 },
15054 "vmid" : {
15055 "description" : "The (unique) ID of the VM.",
15056 "format" : "pve-vmid",
15057 "minimum" : 1,
15058 "type" : "integer",
15059 "typetext" : "<integer> (1 - N)"
15060 }
15061 }
15062 },
15063 "permissions" : {
15064 "check" : [
15065 "perm",
15066 "/vms/{vmid}",
15067 [
15068 "VM.PowerMgmt"
15069 ]
15070 ]
15071 },
15072 "protected" : 1,
15073 "proxyto" : "node",
15074 "returns" : {
15075 "type" : "string"
15076 }
15077 }
15078 },
15079 "leaf" : 1,
15080 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
15081 "text" : "reset"
15082 },
15083 {
15084 "info" : {
15085 "POST" : {
15086 "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.",
15087 "method" : "POST",
15088 "name" : "vm_shutdown",
15089 "parameters" : {
15090 "additionalProperties" : 0,
15091 "properties" : {
15092 "forceStop" : {
15093 "default" : 0,
15094 "description" : "Make sure the VM stops.",
15095 "optional" : 1,
15096 "type" : "boolean",
15097 "typetext" : "<boolean>"
15098 },
15099 "keepActive" : {
15100 "default" : 0,
15101 "description" : "Do not deactivate storage volumes.",
15102 "optional" : 1,
15103 "type" : "boolean",
15104 "typetext" : "<boolean>"
15105 },
15106 "node" : {
15107 "description" : "The cluster node name.",
15108 "format" : "pve-node",
15109 "type" : "string",
15110 "typetext" : "<string>"
15111 },
15112 "skiplock" : {
15113 "description" : "Ignore locks - only root is allowed to use this option.",
15114 "optional" : 1,
15115 "type" : "boolean",
15116 "typetext" : "<boolean>"
15117 },
15118 "timeout" : {
15119 "description" : "Wait maximal timeout seconds.",
15120 "minimum" : 0,
15121 "optional" : 1,
15122 "type" : "integer",
15123 "typetext" : "<integer> (0 - N)"
15124 },
15125 "vmid" : {
15126 "description" : "The (unique) ID of the VM.",
15127 "format" : "pve-vmid",
15128 "minimum" : 1,
15129 "type" : "integer",
15130 "typetext" : "<integer> (1 - N)"
15131 }
15132 }
15133 },
15134 "permissions" : {
15135 "check" : [
15136 "perm",
15137 "/vms/{vmid}",
15138 [
15139 "VM.PowerMgmt"
15140 ]
15141 ]
15142 },
15143 "protected" : 1,
15144 "proxyto" : "node",
15145 "returns" : {
15146 "type" : "string"
15147 }
15148 }
15149 },
15150 "leaf" : 1,
15151 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
15152 "text" : "shutdown"
15153 },
15154 {
15155 "info" : {
15156 "POST" : {
15157 "description" : "Suspend virtual machine.",
15158 "method" : "POST",
15159 "name" : "vm_suspend",
15160 "parameters" : {
15161 "additionalProperties" : 0,
15162 "properties" : {
15163 "node" : {
15164 "description" : "The cluster node name.",
15165 "format" : "pve-node",
15166 "type" : "string",
15167 "typetext" : "<string>"
15168 },
15169 "skiplock" : {
15170 "description" : "Ignore locks - only root is allowed to use this option.",
15171 "optional" : 1,
15172 "type" : "boolean",
15173 "typetext" : "<boolean>"
15174 },
15175 "vmid" : {
15176 "description" : "The (unique) ID of the VM.",
15177 "format" : "pve-vmid",
15178 "minimum" : 1,
15179 "type" : "integer",
15180 "typetext" : "<integer> (1 - N)"
15181 }
15182 }
15183 },
15184 "permissions" : {
15185 "check" : [
15186 "perm",
15187 "/vms/{vmid}",
15188 [
15189 "VM.PowerMgmt"
15190 ]
15191 ]
15192 },
15193 "protected" : 1,
15194 "proxyto" : "node",
15195 "returns" : {
15196 "type" : "string"
15197 }
15198 }
15199 },
15200 "leaf" : 1,
15201 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
15202 "text" : "suspend"
15203 },
15204 {
15205 "info" : {
15206 "POST" : {
15207 "description" : "Resume virtual machine.",
15208 "method" : "POST",
15209 "name" : "vm_resume",
15210 "parameters" : {
15211 "additionalProperties" : 0,
15212 "properties" : {
15213 "nocheck" : {
15214 "optional" : 1,
15215 "type" : "boolean",
15216 "typetext" : "<boolean>"
15217 },
15218 "node" : {
15219 "description" : "The cluster node name.",
15220 "format" : "pve-node",
15221 "type" : "string",
15222 "typetext" : "<string>"
15223 },
15224 "skiplock" : {
15225 "description" : "Ignore locks - only root is allowed to use this option.",
15226 "optional" : 1,
15227 "type" : "boolean",
15228 "typetext" : "<boolean>"
15229 },
15230 "vmid" : {
15231 "description" : "The (unique) ID of the VM.",
15232 "format" : "pve-vmid",
15233 "minimum" : 1,
15234 "type" : "integer",
15235 "typetext" : "<integer> (1 - N)"
15236 }
15237 }
15238 },
15239 "permissions" : {
15240 "check" : [
15241 "perm",
15242 "/vms/{vmid}",
15243 [
15244 "VM.PowerMgmt"
15245 ]
15246 ]
15247 },
15248 "protected" : 1,
15249 "proxyto" : "node",
15250 "returns" : {
15251 "type" : "string"
15252 }
15253 }
15254 },
15255 "leaf" : 1,
15256 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
15257 "text" : "resume"
15258 }
15259 ],
15260 "info" : {
15261 "GET" : {
15262 "description" : "Directory index",
15263 "method" : "GET",
15264 "name" : "vmcmdidx",
15265 "parameters" : {
15266 "additionalProperties" : 0,
15267 "properties" : {
15268 "node" : {
15269 "description" : "The cluster node name.",
15270 "format" : "pve-node",
15271 "type" : "string",
15272 "typetext" : "<string>"
15273 },
15274 "vmid" : {
15275 "description" : "The (unique) ID of the VM.",
15276 "format" : "pve-vmid",
15277 "minimum" : 1,
15278 "type" : "integer",
15279 "typetext" : "<integer> (1 - N)"
15280 }
15281 }
15282 },
15283 "permissions" : {
15284 "user" : "all"
15285 },
15286 "proxyto" : "node",
15287 "returns" : {
15288 "items" : {
15289 "properties" : {
15290 "subdir" : {
15291 "type" : "string"
15292 }
15293 },
15294 "type" : "object"
15295 },
15296 "links" : [
15297 {
15298 "href" : "{subdir}",
15299 "rel" : "child"
15300 }
15301 ],
15302 "type" : "array"
15303 }
15304 }
15305 },
15306 "leaf" : 0,
15307 "path" : "/nodes/{node}/qemu/{vmid}/status",
15308 "text" : "status"
15309 },
15310 {
15311 "info" : {
15312 "PUT" : {
15313 "description" : "Send key event to virtual machine.",
15314 "method" : "PUT",
15315 "name" : "vm_sendkey",
15316 "parameters" : {
15317 "additionalProperties" : 0,
15318 "properties" : {
15319 "key" : {
15320 "description" : "The key (qemu monitor encoding).",
15321 "type" : "string",
15322 "typetext" : "<string>"
15323 },
15324 "node" : {
15325 "description" : "The cluster node name.",
15326 "format" : "pve-node",
15327 "type" : "string",
15328 "typetext" : "<string>"
15329 },
15330 "skiplock" : {
15331 "description" : "Ignore locks - only root is allowed to use this option.",
15332 "optional" : 1,
15333 "type" : "boolean",
15334 "typetext" : "<boolean>"
15335 },
15336 "vmid" : {
15337 "description" : "The (unique) ID of the VM.",
15338 "format" : "pve-vmid",
15339 "minimum" : 1,
15340 "type" : "integer",
15341 "typetext" : "<integer> (1 - N)"
15342 }
15343 }
15344 },
15345 "permissions" : {
15346 "check" : [
15347 "perm",
15348 "/vms/{vmid}",
15349 [
15350 "VM.Console"
15351 ]
15352 ]
15353 },
15354 "protected" : 1,
15355 "proxyto" : "node",
15356 "returns" : {
15357 "type" : "null"
15358 }
15359 }
15360 },
15361 "leaf" : 1,
15362 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
15363 "text" : "sendkey"
15364 },
15365 {
15366 "info" : {
15367 "GET" : {
15368 "description" : "Check if feature for virtual machine is available.",
15369 "method" : "GET",
15370 "name" : "vm_feature",
15371 "parameters" : {
15372 "additionalProperties" : 0,
15373 "properties" : {
15374 "feature" : {
15375 "description" : "Feature to check.",
15376 "enum" : [
15377 "snapshot",
15378 "clone",
15379 "copy"
15380 ],
15381 "type" : "string"
15382 },
15383 "node" : {
15384 "description" : "The cluster node name.",
15385 "format" : "pve-node",
15386 "type" : "string",
15387 "typetext" : "<string>"
15388 },
15389 "snapname" : {
15390 "description" : "The name of the snapshot.",
15391 "format" : "pve-configid",
15392 "maxLength" : 40,
15393 "optional" : 1,
15394 "type" : "string",
15395 "typetext" : "<string>"
15396 },
15397 "vmid" : {
15398 "description" : "The (unique) ID of the VM.",
15399 "format" : "pve-vmid",
15400 "minimum" : 1,
15401 "type" : "integer",
15402 "typetext" : "<integer> (1 - N)"
15403 }
15404 }
15405 },
15406 "permissions" : {
15407 "check" : [
15408 "perm",
15409 "/vms/{vmid}",
15410 [
15411 "VM.Audit"
15412 ]
15413 ]
15414 },
15415 "protected" : 1,
15416 "proxyto" : "node",
15417 "returns" : {
15418 "properties" : {
15419 "hasFeature" : {
15420 "type" : "boolean"
15421 },
15422 "nodes" : {
15423 "items" : {
15424 "type" : "string"
15425 },
15426 "type" : "array"
15427 }
15428 },
15429 "type" : "object"
15430 }
15431 }
15432 },
15433 "leaf" : 1,
15434 "path" : "/nodes/{node}/qemu/{vmid}/feature",
15435 "text" : "feature"
15436 },
15437 {
15438 "info" : {
15439 "POST" : {
15440 "description" : "Create a copy of virtual machine/template.",
15441 "method" : "POST",
15442 "name" : "clone_vm",
15443 "parameters" : {
15444 "additionalProperties" : 0,
15445 "properties" : {
15446 "description" : {
15447 "description" : "Description for the new VM.",
15448 "optional" : 1,
15449 "type" : "string",
15450 "typetext" : "<string>"
15451 },
15452 "format" : {
15453 "description" : "Target format for file storage. Only valid for full clone.",
15454 "enum" : [
15455 "raw",
15456 "qcow2",
15457 "vmdk"
15458 ],
15459 "optional" : 1,
15460 "type" : "string"
15461 },
15462 "full" : {
15463 "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.",
15464 "optional" : 1,
15465 "type" : "boolean",
15466 "typetext" : "<boolean>"
15467 },
15468 "name" : {
15469 "description" : "Set a name for the new VM.",
15470 "format" : "dns-name",
15471 "optional" : 1,
15472 "type" : "string",
15473 "typetext" : "<string>"
15474 },
15475 "newid" : {
15476 "description" : "VMID for the clone.",
15477 "format" : "pve-vmid",
15478 "minimum" : 1,
15479 "type" : "integer",
15480 "typetext" : "<integer> (1 - N)"
15481 },
15482 "node" : {
15483 "description" : "The cluster node name.",
15484 "format" : "pve-node",
15485 "type" : "string",
15486 "typetext" : "<string>"
15487 },
15488 "pool" : {
15489 "description" : "Add the new VM to the specified pool.",
15490 "format" : "pve-poolid",
15491 "optional" : 1,
15492 "type" : "string",
15493 "typetext" : "<string>"
15494 },
15495 "snapname" : {
15496 "description" : "The name of the snapshot.",
15497 "format" : "pve-configid",
15498 "maxLength" : 40,
15499 "optional" : 1,
15500 "type" : "string",
15501 "typetext" : "<string>"
15502 },
15503 "storage" : {
15504 "description" : "Target storage for full clone.",
15505 "format" : "pve-storage-id",
15506 "optional" : 1,
15507 "type" : "string",
15508 "typetext" : "<string>"
15509 },
15510 "target" : {
15511 "description" : "Target node. Only allowed if the original VM is on shared storage.",
15512 "format" : "pve-node",
15513 "optional" : 1,
15514 "type" : "string",
15515 "typetext" : "<string>"
15516 },
15517 "vmid" : {
15518 "description" : "The (unique) ID of the VM.",
15519 "format" : "pve-vmid",
15520 "minimum" : 1,
15521 "type" : "integer",
15522 "typetext" : "<integer> (1 - N)"
15523 }
15524 }
15525 },
15526 "permissions" : {
15527 "check" : [
15528 "and",
15529 [
15530 "perm",
15531 "/vms/{vmid}",
15532 [
15533 "VM.Clone"
15534 ]
15535 ],
15536 [
15537 "or",
15538 [
15539 "perm",
15540 "/vms/{newid}",
15541 [
15542 "VM.Allocate"
15543 ]
15544 ],
15545 [
15546 "perm",
15547 "/pool/{pool}",
15548 [
15549 "VM.Allocate"
15550 ],
15551 "require_param",
15552 "pool"
15553 ]
15554 ]
15555 ],
15556 "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."
15557 },
15558 "protected" : 1,
15559 "proxyto" : "node",
15560 "returns" : {
15561 "type" : "string"
15562 }
15563 }
15564 },
15565 "leaf" : 1,
15566 "path" : "/nodes/{node}/qemu/{vmid}/clone",
15567 "text" : "clone"
15568 },
15569 {
15570 "info" : {
15571 "POST" : {
15572 "description" : "Move volume to different storage.",
15573 "method" : "POST",
15574 "name" : "move_vm_disk",
15575 "parameters" : {
15576 "additionalProperties" : 0,
15577 "properties" : {
15578 "delete" : {
15579 "default" : 0,
15580 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
15581 "optional" : 1,
15582 "type" : "boolean",
15583 "typetext" : "<boolean>"
15584 },
15585 "digest" : {
15586 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15587 "maxLength" : 40,
15588 "optional" : 1,
15589 "type" : "string",
15590 "typetext" : "<string>"
15591 },
15592 "disk" : {
15593 "description" : "The disk you want to move.",
15594 "enum" : [
15595 "ide0",
15596 "ide1",
15597 "ide2",
15598 "ide3",
15599 "scsi0",
15600 "scsi1",
15601 "scsi2",
15602 "scsi3",
15603 "scsi4",
15604 "scsi5",
15605 "scsi6",
15606 "scsi7",
15607 "scsi8",
15608 "scsi9",
15609 "scsi10",
15610 "scsi11",
15611 "scsi12",
15612 "scsi13",
15613 "virtio0",
15614 "virtio1",
15615 "virtio2",
15616 "virtio3",
15617 "virtio4",
15618 "virtio5",
15619 "virtio6",
15620 "virtio7",
15621 "virtio8",
15622 "virtio9",
15623 "virtio10",
15624 "virtio11",
15625 "virtio12",
15626 "virtio13",
15627 "virtio14",
15628 "virtio15",
15629 "sata0",
15630 "sata1",
15631 "sata2",
15632 "sata3",
15633 "sata4",
15634 "sata5",
15635 "efidisk0"
15636 ],
15637 "type" : "string"
15638 },
15639 "format" : {
15640 "description" : "Target Format.",
15641 "enum" : [
15642 "raw",
15643 "qcow2",
15644 "vmdk"
15645 ],
15646 "optional" : 1,
15647 "type" : "string"
15648 },
15649 "node" : {
15650 "description" : "The cluster node name.",
15651 "format" : "pve-node",
15652 "type" : "string",
15653 "typetext" : "<string>"
15654 },
15655 "storage" : {
15656 "description" : "Target storage.",
15657 "format" : "pve-storage-id",
15658 "type" : "string",
15659 "typetext" : "<string>"
15660 },
15661 "vmid" : {
15662 "description" : "The (unique) ID of the VM.",
15663 "format" : "pve-vmid",
15664 "minimum" : 1,
15665 "type" : "integer",
15666 "typetext" : "<integer> (1 - N)"
15667 }
15668 }
15669 },
15670 "permissions" : {
15671 "check" : [
15672 "and",
15673 [
15674 "perm",
15675 "/vms/{vmid}",
15676 [
15677 "VM.Config.Disk"
15678 ]
15679 ],
15680 [
15681 "perm",
15682 "/storage/{storage}",
15683 [
15684 "Datastore.AllocateSpace"
15685 ]
15686 ]
15687 ],
15688 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
15689 },
15690 "protected" : 1,
15691 "proxyto" : "node",
15692 "returns" : {
15693 "description" : "the task ID.",
15694 "type" : "string"
15695 }
15696 }
15697 },
15698 "leaf" : 1,
15699 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
15700 "text" : "move_disk"
15701 },
15702 {
15703 "info" : {
15704 "POST" : {
15705 "description" : "Migrate virtual machine. Creates a new migration task.",
15706 "method" : "POST",
15707 "name" : "migrate_vm",
15708 "parameters" : {
15709 "additionalProperties" : 0,
15710 "properties" : {
15711 "force" : {
15712 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
15713 "optional" : 1,
15714 "type" : "boolean",
15715 "typetext" : "<boolean>"
15716 },
15717 "migration_network" : {
15718 "description" : "CIDR of the (sub) network that is used for migration.",
15719 "format" : "CIDR",
15720 "optional" : 1,
15721 "type" : "string",
15722 "typetext" : "<string>"
15723 },
15724 "migration_type" : {
15725 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
15726 "enum" : [
15727 "secure",
15728 "insecure"
15729 ],
15730 "optional" : 1,
15731 "type" : "string"
15732 },
15733 "node" : {
15734 "description" : "The cluster node name.",
15735 "format" : "pve-node",
15736 "type" : "string",
15737 "typetext" : "<string>"
15738 },
15739 "online" : {
15740 "description" : "Use online/live migration.",
15741 "optional" : 1,
15742 "type" : "boolean",
15743 "typetext" : "<boolean>"
15744 },
15745 "target" : {
15746 "description" : "Target node.",
15747 "format" : "pve-node",
15748 "type" : "string",
15749 "typetext" : "<string>"
15750 },
15751 "targetstorage" : {
15752 "description" : "Default target storage.",
15753 "format" : "pve-storage-id",
15754 "optional" : 1,
52e44c50
FG
15755 "type" : "string",
15756 "typetext" : "<string>"
15757 },
7aacca6f 15758 "vmid" : {
7aacca6f 15759 "description" : "The (unique) ID of the VM.",
44660702 15760 "format" : "pve-vmid",
7aacca6f 15761 "minimum" : 1,
4bd7df8b 15762 "type" : "integer",
013dc89f 15763 "typetext" : "<integer> (1 - N)"
52e44c50
FG
15764 },
15765 "with-local-disks" : {
15766 "description" : "Enable live storage migration for local disk",
15767 "optional" : 1,
15768 "type" : "boolean",
15769 "typetext" : "<boolean>"
56122987 15770 }
44660702
DM
15771 }
15772 },
15773 "permissions" : {
15774 "check" : [
15775 "perm",
15776 "/vms/{vmid}",
15777 [
15778 "VM.Migrate"
15779 ]
15780 ]
56122987
DM
15781 },
15782 "protected" : 1,
44660702
DM
15783 "proxyto" : "node",
15784 "returns" : {
15785 "description" : "the task ID.",
15786 "type" : "string"
15787 }
56122987 15788 }
7aacca6f 15789 },
44660702
DM
15790 "leaf" : 1,
15791 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 15792 "text" : "migrate"
56122987
DM
15793 },
15794 {
15795 "info" : {
15796 "POST" : {
44660702 15797 "description" : "Execute Qemu monitor commands.",
56122987 15798 "method" : "POST",
44660702 15799 "name" : "monitor",
56122987 15800 "parameters" : {
7aacca6f 15801 "additionalProperties" : 0,
56122987 15802 "properties" : {
44660702
DM
15803 "command" : {
15804 "description" : "The monitor command.",
013dc89f
DM
15805 "type" : "string",
15806 "typetext" : "<string>"
44660702 15807 },
56122987 15808 "node" : {
44660702 15809 "description" : "The cluster node name.",
7aacca6f 15810 "format" : "pve-node",
013dc89f
DM
15811 "type" : "string",
15812 "typetext" : "<string>"
56122987
DM
15813 },
15814 "vmid" : {
44660702 15815 "description" : "The (unique) ID of the VM.",
56122987 15816 "format" : "pve-vmid",
7aacca6f 15817 "minimum" : 1,
4bd7df8b 15818 "type" : "integer",
013dc89f 15819 "typetext" : "<integer> (1 - N)"
56122987 15820 }
7aacca6f 15821 }
56122987 15822 },
56122987
DM
15823 "permissions" : {
15824 "check" : [
15825 "perm",
15826 "/vms/{vmid}",
15827 [
15828 "VM.Monitor"
15829 ]
32d876b5
DM
15830 ],
15831 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 15832 },
44660702
DM
15833 "protected" : 1,
15834 "proxyto" : "node",
15835 "returns" : {
15836 "type" : "string"
15837 }
56122987 15838 }
44660702
DM
15839 },
15840 "leaf" : 1,
15841 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
15842 "text" : "monitor"
56122987
DM
15843 },
15844 {
56122987
DM
15845 "info" : {
15846 "PUT" : {
44660702
DM
15847 "description" : "Extend volume size.",
15848 "method" : "PUT",
15849 "name" : "resize_vm",
56122987 15850 "parameters" : {
44660702 15851 "additionalProperties" : 0,
56122987 15852 "properties" : {
44660702
DM
15853 "digest" : {
15854 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15855 "maxLength" : 40,
15856 "optional" : 1,
013dc89f
DM
15857 "type" : "string",
15858 "typetext" : "<string>"
56122987 15859 },
56122987
DM
15860 "disk" : {
15861 "description" : "The disk you want to resize.",
15862 "enum" : [
15863 "ide0",
15864 "ide1",
15865 "ide2",
15866 "ide3",
15867 "scsi0",
15868 "scsi1",
15869 "scsi2",
15870 "scsi3",
15871 "scsi4",
15872 "scsi5",
15873 "scsi6",
15874 "scsi7",
15875 "scsi8",
15876 "scsi9",
15877 "scsi10",
15878 "scsi11",
15879 "scsi12",
15880 "scsi13",
15881 "virtio0",
15882 "virtio1",
15883 "virtio2",
15884 "virtio3",
15885 "virtio4",
15886 "virtio5",
15887 "virtio6",
15888 "virtio7",
15889 "virtio8",
15890 "virtio9",
15891 "virtio10",
15892 "virtio11",
15893 "virtio12",
15894 "virtio13",
15895 "virtio14",
15896 "virtio15",
15897 "sata0",
15898 "sata1",
15899 "sata2",
15900 "sata3",
15901 "sata4",
2c0dde61
DM
15902 "sata5",
15903 "efidisk0"
44660702
DM
15904 ],
15905 "type" : "string"
56122987 15906 },
44660702
DM
15907 "node" : {
15908 "description" : "The cluster node name.",
15909 "format" : "pve-node",
013dc89f
DM
15910 "type" : "string",
15911 "typetext" : "<string>"
7aacca6f 15912 },
44660702 15913 "size" : {
5d9c884c 15914 "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
15915 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
15916 "type" : "string"
56122987
DM
15917 },
15918 "skiplock" : {
15919 "description" : "Ignore locks - only root is allowed to use this option.",
15920 "optional" : 1,
013dc89f
DM
15921 "type" : "boolean",
15922 "typetext" : "<boolean>"
56122987
DM
15923 },
15924 "vmid" : {
7aacca6f 15925 "description" : "The (unique) ID of the VM.",
56122987 15926 "format" : "pve-vmid",
44660702 15927 "minimum" : 1,
4bd7df8b 15928 "type" : "integer",
013dc89f 15929 "typetext" : "<integer> (1 - N)"
56122987
DM
15930 }
15931 }
15932 },
15933 "permissions" : {
15934 "check" : [
15935 "perm",
15936 "/vms/{vmid}",
15937 [
44660702 15938 "VM.Config.Disk"
56122987
DM
15939 ]
15940 ]
15941 },
7aacca6f 15942 "protected" : 1,
7aacca6f 15943 "proxyto" : "node",
44660702
DM
15944 "returns" : {
15945 "type" : "null"
15946 }
7aacca6f
DM
15947 }
15948 },
44660702
DM
15949 "leaf" : 1,
15950 "path" : "/nodes/{node}/qemu/{vmid}/resize",
15951 "text" : "resize"
15952 },
15953 {
56122987
DM
15954 "children" : [
15955 {
15956 "children" : [
15957 {
56122987 15958 "info" : {
44660702
DM
15959 "GET" : {
15960 "description" : "Get snapshot configuration",
15961 "method" : "GET",
15962 "name" : "get_snapshot_config",
56122987 15963 "parameters" : {
44660702 15964 "additionalProperties" : 0,
56122987 15965 "properties" : {
56122987 15966 "node" : {
44660702 15967 "description" : "The cluster node name.",
56122987 15968 "format" : "pve-node",
013dc89f
DM
15969 "type" : "string",
15970 "typetext" : "<string>"
7aacca6f
DM
15971 },
15972 "snapname" : {
44660702 15973 "description" : "The name of the snapshot.",
7aacca6f 15974 "format" : "pve-configid",
44660702 15975 "maxLength" : 40,
013dc89f
DM
15976 "type" : "string",
15977 "typetext" : "<string>"
7aacca6f
DM
15978 },
15979 "vmid" : {
44660702 15980 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15981 "format" : "pve-vmid",
15982 "minimum" : 1,
4bd7df8b 15983 "type" : "integer",
013dc89f 15984 "typetext" : "<integer> (1 - N)"
56122987 15985 }
44660702 15986 }
56122987
DM
15987 },
15988 "permissions" : {
15989 "check" : [
15990 "perm",
15991 "/vms/{vmid}",
15992 [
2489d6df
WB
15993 "VM.Snapshot",
15994 "VM.Snapshot.Rollback"
15995 ],
15996 "any",
15997 1
56122987
DM
15998 ]
15999 },
44660702 16000 "proxyto" : "node",
56122987 16001 "returns" : {
44660702 16002 "type" : "object"
7aacca6f
DM
16003 }
16004 },
44660702
DM
16005 "PUT" : {
16006 "description" : "Update snapshot metadata.",
16007 "method" : "PUT",
16008 "name" : "update_snapshot_config",
56122987 16009 "parameters" : {
44660702 16010 "additionalProperties" : 0,
56122987 16011 "properties" : {
44660702
DM
16012 "description" : {
16013 "description" : "A textual description or comment.",
16014 "optional" : 1,
013dc89f
DM
16015 "type" : "string",
16016 "typetext" : "<string>"
44660702 16017 },
56122987 16018 "node" : {
7aacca6f 16019 "description" : "The cluster node name.",
44660702 16020 "format" : "pve-node",
013dc89f
DM
16021 "type" : "string",
16022 "typetext" : "<string>"
56122987 16023 },
56122987
DM
16024 "snapname" : {
16025 "description" : "The name of the snapshot.",
44660702 16026 "format" : "pve-configid",
7aacca6f 16027 "maxLength" : 40,
013dc89f
DM
16028 "type" : "string",
16029 "typetext" : "<string>"
7aacca6f
DM
16030 },
16031 "vmid" : {
16032 "description" : "The (unique) ID of the VM.",
44660702 16033 "format" : "pve-vmid",
7aacca6f 16034 "minimum" : 1,
4bd7df8b 16035 "type" : "integer",
013dc89f 16036 "typetext" : "<integer> (1 - N)"
56122987 16037 }
44660702 16038 }
56122987 16039 },
7aacca6f
DM
16040 "permissions" : {
16041 "check" : [
16042 "perm",
16043 "/vms/{vmid}",
16044 [
16045 "VM.Snapshot"
16046 ]
16047 ]
44660702
DM
16048 },
16049 "protected" : 1,
16050 "proxyto" : "node",
16051 "returns" : {
16052 "type" : "null"
7aacca6f 16053 }
56122987
DM
16054 }
16055 },
44660702 16056 "leaf" : 1,
7aacca6f 16057 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 16058 "text" : "config"
56122987
DM
16059 },
16060 {
56122987
DM
16061 "info" : {
16062 "POST" : {
44660702 16063 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 16064 "method" : "POST",
44660702 16065 "name" : "rollback",
56122987
DM
16066 "parameters" : {
16067 "additionalProperties" : 0,
16068 "properties" : {
44660702
DM
16069 "node" : {
16070 "description" : "The cluster node name.",
16071 "format" : "pve-node",
013dc89f
DM
16072 "type" : "string",
16073 "typetext" : "<string>"
44660702 16074 },
56122987 16075 "snapname" : {
44660702 16076 "description" : "The name of the snapshot.",
56122987
DM
16077 "format" : "pve-configid",
16078 "maxLength" : 40,
013dc89f
DM
16079 "type" : "string",
16080 "typetext" : "<string>"
7aacca6f 16081 },
56122987 16082 "vmid" : {
7aacca6f 16083 "description" : "The (unique) ID of the VM.",
44660702 16084 "format" : "pve-vmid",
56122987 16085 "minimum" : 1,
4bd7df8b 16086 "type" : "integer",
013dc89f 16087 "typetext" : "<integer> (1 - N)"
56122987
DM
16088 }
16089 }
16090 },
7aacca6f 16091 "permissions" : {
56122987
DM
16092 "check" : [
16093 "perm",
16094 "/vms/{vmid}",
16095 [
2489d6df
WB
16096 "VM.Snapshot",
16097 "VM.Snapshot.Rollback"
16098 ],
16099 "any",
16100 1
56122987
DM
16101 ]
16102 },
44660702 16103 "protected" : 1,
7aacca6f 16104 "proxyto" : "node",
44660702
DM
16105 "returns" : {
16106 "description" : "the task ID.",
16107 "type" : "string"
16108 }
56122987
DM
16109 }
16110 },
44660702
DM
16111 "leaf" : 1,
16112 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 16113 "text" : "rollback"
56122987 16114 }
44660702
DM
16115 ],
16116 "info" : {
16117 "DELETE" : {
16118 "description" : "Delete a VM snapshot.",
16119 "method" : "DELETE",
16120 "name" : "delsnapshot",
16121 "parameters" : {
16122 "additionalProperties" : 0,
16123 "properties" : {
16124 "force" : {
16125 "description" : "For removal from config file, even if removing disk snapshots fails.",
16126 "optional" : 1,
013dc89f
DM
16127 "type" : "boolean",
16128 "typetext" : "<boolean>"
44660702
DM
16129 },
16130 "node" : {
16131 "description" : "The cluster node name.",
16132 "format" : "pve-node",
013dc89f
DM
16133 "type" : "string",
16134 "typetext" : "<string>"
44660702
DM
16135 },
16136 "snapname" : {
16137 "description" : "The name of the snapshot.",
16138 "format" : "pve-configid",
16139 "maxLength" : 40,
013dc89f
DM
16140 "type" : "string",
16141 "typetext" : "<string>"
44660702
DM
16142 },
16143 "vmid" : {
16144 "description" : "The (unique) ID of the VM.",
16145 "format" : "pve-vmid",
16146 "minimum" : 1,
4bd7df8b 16147 "type" : "integer",
013dc89f 16148 "typetext" : "<integer> (1 - N)"
44660702
DM
16149 }
16150 }
16151 },
16152 "permissions" : {
16153 "check" : [
16154 "perm",
16155 "/vms/{vmid}",
16156 [
16157 "VM.Snapshot"
16158 ]
16159 ]
16160 },
16161 "protected" : 1,
16162 "proxyto" : "node",
16163 "returns" : {
16164 "description" : "the task ID.",
16165 "type" : "string"
16166 }
16167 },
16168 "GET" : {
16169 "description" : "",
16170 "method" : "GET",
16171 "name" : "snapshot_cmd_idx",
16172 "parameters" : {
16173 "additionalProperties" : 0,
16174 "properties" : {
16175 "node" : {
16176 "description" : "The cluster node name.",
16177 "format" : "pve-node",
013dc89f
DM
16178 "type" : "string",
16179 "typetext" : "<string>"
44660702
DM
16180 },
16181 "snapname" : {
16182 "description" : "The name of the snapshot.",
16183 "format" : "pve-configid",
16184 "maxLength" : 40,
013dc89f
DM
16185 "type" : "string",
16186 "typetext" : "<string>"
44660702
DM
16187 },
16188 "vmid" : {
16189 "description" : "The (unique) ID of the VM.",
16190 "format" : "pve-vmid",
16191 "minimum" : 1,
4bd7df8b 16192 "type" : "integer",
013dc89f 16193 "typetext" : "<integer> (1 - N)"
44660702
DM
16194 }
16195 }
16196 },
16197 "permissions" : {
16198 "user" : "all"
16199 },
16200 "returns" : {
16201 "items" : {
16202 "properties" : {},
16203 "type" : "object"
16204 },
16205 "links" : [
16206 {
16207 "href" : "{cmd}",
16208 "rel" : "child"
16209 }
16210 ],
16211 "type" : "array"
16212 }
16213 }
16214 },
16215 "leaf" : 0,
16216 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
16217 "text" : "{snapname}"
56122987
DM
16218 }
16219 ],
44660702
DM
16220 "info" : {
16221 "GET" : {
16222 "description" : "List all snapshots.",
16223 "method" : "GET",
16224 "name" : "snapshot_list",
16225 "parameters" : {
16226 "additionalProperties" : 0,
16227 "properties" : {
16228 "node" : {
16229 "description" : "The cluster node name.",
16230 "format" : "pve-node",
013dc89f
DM
16231 "type" : "string",
16232 "typetext" : "<string>"
44660702
DM
16233 },
16234 "vmid" : {
16235 "description" : "The (unique) ID of the VM.",
16236 "format" : "pve-vmid",
16237 "minimum" : 1,
4bd7df8b 16238 "type" : "integer",
013dc89f 16239 "typetext" : "<integer> (1 - N)"
44660702
DM
16240 }
16241 }
16242 },
16243 "permissions" : {
16244 "check" : [
16245 "perm",
16246 "/vms/{vmid}",
16247 [
16248 "VM.Audit"
16249 ]
16250 ]
16251 },
16252 "protected" : 1,
16253 "proxyto" : "node",
16254 "returns" : {
16255 "items" : {
4d47f125
TL
16256 "properties" : {
16257 "description" : {
16258 "description" : "Snapshot description.",
16259 "type" : "string"
16260 },
16261 "name" : {
16262 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
16263 "type" : "string"
16264 },
16265 "parent" : {
16266 "description" : "Parent snapshot identifier.",
16267 "optional" : 1,
16268 "type" : "string"
16269 },
16270 "snaptime" : {
16271 "description" : "Snapshot creation time",
16272 "optional" : 1,
16273 "renderer" : "timestamp",
16274 "type" : "integer"
16275 },
16276 "vmstate" : {
16277 "description" : "Snapshot includes RAM.",
16278 "optional" : 1,
16279 "type" : "boolean"
16280 }
16281 },
44660702
DM
16282 "type" : "object"
16283 },
16284 "links" : [
16285 {
16286 "href" : "{name}",
16287 "rel" : "child"
16288 }
16289 ],
16290 "type" : "array"
16291 }
16292 },
16293 "POST" : {
16294 "description" : "Snapshot a VM.",
16295 "method" : "POST",
16296 "name" : "snapshot",
16297 "parameters" : {
16298 "additionalProperties" : 0,
16299 "properties" : {
16300 "description" : {
16301 "description" : "A textual description or comment.",
16302 "optional" : 1,
013dc89f
DM
16303 "type" : "string",
16304 "typetext" : "<string>"
44660702
DM
16305 },
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 "vmstate" : {
16327 "description" : "Save the vmstate",
16328 "optional" : 1,
013dc89f
DM
16329 "type" : "boolean",
16330 "typetext" : "<boolean>"
44660702
DM
16331 }
16332 }
16333 },
16334 "permissions" : {
16335 "check" : [
16336 "perm",
16337 "/vms/{vmid}",
16338 [
16339 "VM.Snapshot"
16340 ]
16341 ]
16342 },
16343 "protected" : 1,
16344 "proxyto" : "node",
16345 "returns" : {
16346 "description" : "the task ID.",
16347 "type" : "string"
16348 }
16349 }
16350 },
16351 "leaf" : 0,
16352 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 16353 "text" : "snapshot"
56122987
DM
16354 },
16355 {
56122987
DM
16356 "info" : {
16357 "POST" : {
44660702
DM
16358 "description" : "Create a Template.",
16359 "method" : "POST",
56122987 16360 "name" : "template",
56122987 16361 "parameters" : {
7aacca6f 16362 "additionalProperties" : 0,
56122987 16363 "properties" : {
56122987 16364 "disk" : {
56122987
DM
16365 "description" : "If you want to convert only 1 disk to base image.",
16366 "enum" : [
16367 "ide0",
16368 "ide1",
16369 "ide2",
16370 "ide3",
16371 "scsi0",
16372 "scsi1",
16373 "scsi2",
16374 "scsi3",
16375 "scsi4",
16376 "scsi5",
16377 "scsi6",
16378 "scsi7",
16379 "scsi8",
16380 "scsi9",
16381 "scsi10",
16382 "scsi11",
16383 "scsi12",
16384 "scsi13",
16385 "virtio0",
16386 "virtio1",
16387 "virtio2",
16388 "virtio3",
16389 "virtio4",
16390 "virtio5",
16391 "virtio6",
16392 "virtio7",
16393 "virtio8",
16394 "virtio9",
16395 "virtio10",
16396 "virtio11",
16397 "virtio12",
16398 "virtio13",
16399 "virtio14",
16400 "virtio15",
16401 "sata0",
16402 "sata1",
16403 "sata2",
16404 "sata3",
16405 "sata4",
2c0dde61
DM
16406 "sata5",
16407 "efidisk0"
56122987 16408 ],
7aacca6f 16409 "optional" : 1,
56122987
DM
16410 "type" : "string"
16411 },
44660702
DM
16412 "node" : {
16413 "description" : "The cluster node name.",
16414 "format" : "pve-node",
013dc89f
DM
16415 "type" : "string",
16416 "typetext" : "<string>"
44660702
DM
16417 },
16418 "vmid" : {
16419 "description" : "The (unique) ID of the VM.",
7aacca6f 16420 "format" : "pve-vmid",
44660702 16421 "minimum" : 1,
4bd7df8b 16422 "type" : "integer",
013dc89f 16423 "typetext" : "<integer> (1 - N)"
56122987 16424 }
7aacca6f 16425 }
56122987 16426 },
7aacca6f
DM
16427 "permissions" : {
16428 "check" : [
16429 "perm",
16430 "/vms/{vmid}",
16431 [
16432 "VM.Allocate"
16433 ]
16434 ],
16435 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
16436 },
44660702 16437 "protected" : 1,
7aacca6f 16438 "proxyto" : "node",
7aacca6f
DM
16439 "returns" : {
16440 "type" : "null"
16441 }
56122987
DM
16442 }
16443 },
44660702 16444 "leaf" : 1,
7aacca6f 16445 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 16446 "text" : "template"
56122987
DM
16447 }
16448 ],
7aacca6f 16449 "info" : {
44660702
DM
16450 "DELETE" : {
16451 "description" : "Destroy the vm (also delete all used/owned volumes).",
16452 "method" : "DELETE",
16453 "name" : "destroy_vm",
7aacca6f 16454 "parameters" : {
44660702 16455 "additionalProperties" : 0,
7aacca6f
DM
16456 "properties" : {
16457 "node" : {
44660702 16458 "description" : "The cluster node name.",
7aacca6f 16459 "format" : "pve-node",
013dc89f
DM
16460 "type" : "string",
16461 "typetext" : "<string>"
44660702
DM
16462 },
16463 "skiplock" : {
16464 "description" : "Ignore locks - only root is allowed to use this option.",
16465 "optional" : 1,
013dc89f
DM
16466 "type" : "boolean",
16467 "typetext" : "<boolean>"
7aacca6f
DM
16468 },
16469 "vmid" : {
44660702 16470 "description" : "The (unique) ID of the VM.",
7aacca6f 16471 "format" : "pve-vmid",
44660702 16472 "minimum" : 1,
4bd7df8b 16473 "type" : "integer",
013dc89f 16474 "typetext" : "<integer> (1 - N)"
7aacca6f 16475 }
44660702 16476 }
7aacca6f 16477 },
7aacca6f
DM
16478 "permissions" : {
16479 "check" : [
16480 "perm",
16481 "/vms/{vmid}",
16482 [
16483 "VM.Allocate"
16484 ]
16485 ]
16486 },
44660702
DM
16487 "protected" : 1,
16488 "proxyto" : "node",
7aacca6f
DM
16489 "returns" : {
16490 "type" : "string"
44660702
DM
16491 }
16492 },
16493 "GET" : {
16494 "description" : "Directory index",
16495 "method" : "GET",
16496 "name" : "vmdiridx",
7aacca6f 16497 "parameters" : {
44660702 16498 "additionalProperties" : 0,
7aacca6f 16499 "properties" : {
7aacca6f 16500 "node" : {
7aacca6f 16501 "description" : "The cluster node name.",
44660702 16502 "format" : "pve-node",
013dc89f
DM
16503 "type" : "string",
16504 "typetext" : "<string>"
44660702
DM
16505 },
16506 "vmid" : {
16507 "description" : "The (unique) ID of the VM.",
16508 "format" : "pve-vmid",
16509 "minimum" : 1,
4bd7df8b 16510 "type" : "integer",
013dc89f 16511 "typetext" : "<integer> (1 - N)"
7aacca6f 16512 }
44660702 16513 }
7aacca6f 16514 },
44660702
DM
16515 "permissions" : {
16516 "user" : "all"
16517 },
16518 "proxyto" : "node",
16519 "returns" : {
16520 "items" : {
16521 "properties" : {
16522 "subdir" : {
16523 "type" : "string"
16524 }
16525 },
16526 "type" : "object"
16527 },
16528 "links" : [
16529 {
16530 "href" : "{subdir}",
16531 "rel" : "child"
16532 }
16533 ],
16534 "type" : "array"
16535 }
7aacca6f 16536 }
44660702
DM
16537 },
16538 "leaf" : 0,
16539 "path" : "/nodes/{node}/qemu/{vmid}",
16540 "text" : "{vmid}"
56122987
DM
16541 }
16542 ],
16543 "info" : {
44660702
DM
16544 "GET" : {
16545 "description" : "Virtual machine index (per node).",
16546 "method" : "GET",
16547 "name" : "vmlist",
56122987 16548 "parameters" : {
44660702 16549 "additionalProperties" : 0,
56122987 16550 "properties" : {
44660702
DM
16551 "full" : {
16552 "description" : "Determine the full status of active VMs.",
56122987 16553 "optional" : 1,
013dc89f
DM
16554 "type" : "boolean",
16555 "typetext" : "<boolean>"
56122987 16556 },
44660702
DM
16557 "node" : {
16558 "description" : "The cluster node name.",
16559 "format" : "pve-node",
013dc89f
DM
16560 "type" : "string",
16561 "typetext" : "<string>"
44660702
DM
16562 }
16563 }
16564 },
16565 "permissions" : {
16566 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
16567 "user" : "all"
16568 },
16569 "protected" : 1,
16570 "proxyto" : "node",
16571 "returns" : {
16572 "items" : {
4d47f125
TL
16573 "properties" : {
16574 "cpus" : {
16575 "description" : "Maximum usable CPUs.",
16576 "optional" : 1,
16577 "type" : "number"
16578 },
16579 "maxdisk" : {
16580 "description" : "Root disk size in bytes.",
16581 "optional" : 1,
16582 "renderer" : "bytes",
16583 "type" : "integer"
16584 },
16585 "maxmem" : {
16586 "description" : "Maximum memory in bytes.",
16587 "optional" : 1,
16588 "renderer" : "bytes",
16589 "type" : "integer"
16590 },
16591 "name" : {
16592 "description" : "VM name.",
16593 "optional" : 1,
16594 "type" : "string"
16595 },
16596 "pid" : {
16597 "description" : "PID of running qemu process.",
16598 "optional" : 1,
16599 "type" : "integer"
16600 },
16601 "qmpstatus" : {
16602 "description" : "Qemu QMP agent status.",
16603 "optional" : 1,
16604 "type" : "string"
16605 },
16606 "status" : {
16607 "description" : "Qemu process status.",
16608 "enum" : [
16609 "stopped",
16610 "running"
16611 ],
16612 "type" : "string"
16613 },
16614 "uptime" : {
16615 "description" : "Uptime.",
16616 "optional" : 1,
16617 "renderer" : "duration",
16618 "type" : "integer"
16619 },
16620 "vmid" : {
16621 "description" : "The (unique) ID of the VM.",
16622 "format" : "pve-vmid",
16623 "minimum" : 1,
16624 "type" : "integer"
16625 }
16626 },
44660702
DM
16627 "type" : "object"
16628 },
16629 "links" : [
16630 {
16631 "href" : "{vmid}",
16632 "rel" : "child"
16633 }
16634 ],
16635 "type" : "array"
16636 }
16637 },
16638 "POST" : {
16639 "description" : "Create or restore a virtual machine.",
16640 "method" : "POST",
16641 "name" : "create_vm",
16642 "parameters" : {
16643 "additionalProperties" : 0,
16644 "properties" : {
7aacca6f 16645 "acpi" : {
7aacca6f 16646 "default" : 1,
44660702 16647 "description" : "Enable/disable ACPI.",
56122987 16648 "optional" : 1,
013dc89f
DM
16649 "type" : "boolean",
16650 "typetext" : "<boolean>"
56122987 16651 },
44660702 16652 "agent" : {
4d47f125
TL
16653 "description" : "Enable/disable Qemu GuestAgent and its properties.",
16654 "format" : {
16655 "enabled" : {
16656 "default" : 0,
16657 "default_key" : 1,
16658 "description" : "Enable/disable Qemu GuestAgent.",
16659 "type" : "boolean"
16660 },
16661 "fstrim_cloned_disks" : {
16662 "default" : 0,
16663 "description" : "Run fstrim after cloning/moving a disk.",
16664 "optional" : 1,
16665 "type" : "boolean"
16666 }
16667 },
7aacca6f 16668 "optional" : 1,
4d47f125
TL
16669 "type" : "string",
16670 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 16671 },
e2d681b3
TL
16672 "arch" : {
16673 "description" : "Virtual processor architecture. Defaults to the host.",
16674 "enum" : [
16675 "x86_64",
16676 "aarch64"
16677 ],
16678 "optional" : 1,
16679 "type" : "string"
16680 },
44660702
DM
16681 "archive" : {
16682 "description" : "The backup file.",
16683 "maxLength" : 255,
56122987 16684 "optional" : 1,
013dc89f
DM
16685 "type" : "string",
16686 "typetext" : "<string>"
56122987 16687 },
44660702 16688 "args" : {
c2993fe5 16689 "description" : "Arbitrary arguments passed to kvm.",
56122987 16690 "optional" : 1,
c2993fe5 16691 "type" : "string",
013dc89f 16692 "typetext" : "<string>",
c2993fe5 16693 "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 16694 },
44660702 16695 "autostart" : {
7aacca6f 16696 "default" : 0,
44660702
DM
16697 "description" : "Automatic restart after crash (currently ignored).",
16698 "optional" : 1,
013dc89f
DM
16699 "type" : "boolean",
16700 "typetext" : "<boolean>"
7aacca6f 16701 },
44660702
DM
16702 "balloon" : {
16703 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
16704 "minimum" : 0,
56122987 16705 "optional" : 1,
4bd7df8b 16706 "type" : "integer",
013dc89f 16707 "typetext" : "<integer> (0 - N)"
56122987 16708 },
44660702
DM
16709 "bios" : {
16710 "default" : "seabios",
16711 "description" : "Select BIOS implementation.",
16712 "enum" : [
16713 "seabios",
16714 "ovmf"
16715 ],
56122987 16716 "optional" : 1,
44660702 16717 "type" : "string"
56122987 16718 },
44660702
DM
16719 "boot" : {
16720 "default" : "cdn",
16721 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 16722 "optional" : 1,
44660702
DM
16723 "pattern" : "[acdn]{1,4}",
16724 "type" : "string"
56122987 16725 },
7aacca6f
DM
16726 "bootdisk" : {
16727 "description" : "Enable booting from specified disk.",
44660702
DM
16728 "format" : "pve-qm-bootdisk",
16729 "optional" : 1,
7aacca6f 16730 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
16731 "type" : "string"
16732 },
27a7acb2
DM
16733 "bwlimit" : {
16734 "description" : "Override i/o bandwidth limit (in KiB/s).",
16735 "minimum" : "0",
16736 "optional" : 1,
16737 "type" : "integer",
16738 "typetext" : "<integer> (0 - N)"
16739 },
44660702
DM
16740 "cdrom" : {
16741 "description" : "This is an alias for option -ide2",
de0983cb 16742 "format" : "pve-qm-ide",
56122987 16743 "optional" : 1,
44660702 16744 "type" : "string",
013dc89f 16745 "typetext" : "<volume>"
56122987 16746 },
27a7acb2
DM
16747 "cipassword" : {
16748 "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.",
16749 "optional" : 1,
16750 "type" : "string",
16751 "typetext" : "<string>"
16752 },
16753 "citype" : {
16754 "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.",
16755 "enum" : [
16756 "configdrive2",
16757 "nocloud"
16758 ],
16759 "optional" : 1,
16760 "type" : "string"
16761 },
16762 "ciuser" : {
16763 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
16764 "optional" : 1,
16765 "type" : "string",
16766 "typetext" : "<string>"
16767 },
44660702
DM
16768 "cores" : {
16769 "default" : 1,
16770 "description" : "The number of cores per socket.",
7aacca6f 16771 "minimum" : 1,
44660702 16772 "optional" : 1,
4bd7df8b 16773 "type" : "integer",
013dc89f 16774 "typetext" : "<integer> (1 - N)"
7aacca6f 16775 },
44660702
DM
16776 "cpu" : {
16777 "description" : "Emulated CPU type.",
16778 "format" : {
16779 "cputype" : {
16780 "default" : "kvm64",
16781 "default_key" : 1,
16782 "description" : "Emulated CPU type.",
16783 "enum" : [
16784 "486",
16785 "athlon",
f004f5b9 16786 "Broadwell",
35a75dd3 16787 "Broadwell-IBRS",
f004f5b9 16788 "Broadwell-noTSX",
35a75dd3 16789 "Broadwell-noTSX-IBRS",
f004f5b9 16790 "Conroe",
44660702 16791 "core2duo",
f004f5b9 16792 "coreduo",
27a7acb2
DM
16793 "EPYC",
16794 "EPYC-IBPB",
f004f5b9 16795 "Haswell",
35a75dd3 16796 "Haswell-IBRS",
f004f5b9 16797 "Haswell-noTSX",
35a75dd3 16798 "Haswell-noTSX-IBRS",
f004f5b9
DM
16799 "host",
16800 "IvyBridge",
35a75dd3 16801 "IvyBridge-IBRS",
44660702
DM
16802 "kvm32",
16803 "kvm64",
35a75dd3 16804 "max",
44660702 16805 "Nehalem",
35a75dd3 16806 "Nehalem-IBRS",
44660702
DM
16807 "Opteron_G1",
16808 "Opteron_G2",
16809 "Opteron_G3",
16810 "Opteron_G4",
16811 "Opteron_G5",
f004f5b9
DM
16812 "Penryn",
16813 "pentium",
16814 "pentium2",
16815 "pentium3",
16816 "phenom",
16817 "qemu32",
16818 "qemu64",
16819 "SandyBridge",
35a75dd3 16820 "SandyBridge-IBRS",
5d9c884c 16821 "Skylake-Client",
35a75dd3
DM
16822 "Skylake-Client-IBRS",
16823 "Skylake-Server",
16824 "Skylake-Server-IBRS",
16825 "Westmere",
16826 "Westmere-IBRS"
44660702 16827 ],
44660702
DM
16828 "type" : "string"
16829 },
35a75dd3 16830 "flags" : {
4d47f125 16831 "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
16832 "format_description" : "+FLAG[;-FLAG...]",
16833 "optional" : 1,
4d47f125 16834 "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
16835 "type" : "string"
16836 },
44660702
DM
16837 "hidden" : {
16838 "default" : 0,
16839 "description" : "Do not identify as a KVM virtual machine.",
16840 "optional" : 1,
16841 "type" : "boolean"
16842 }
16843 },
56122987 16844 "optional" : 1,
4bd7df8b 16845 "type" : "string",
35a75dd3 16846 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
56122987 16847 },
44660702 16848 "cpulimit" : {
7aacca6f 16849 "default" : 0,
c2993fe5 16850 "description" : "Limit of CPU usage.",
44660702
DM
16851 "maximum" : 128,
16852 "minimum" : 0,
7aacca6f 16853 "optional" : 1,
c2993fe5 16854 "type" : "number",
013dc89f 16855 "typetext" : "<number> (0 - 128)",
c2993fe5 16856 "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
16857 },
16858 "cpuunits" : {
de0983cb 16859 "default" : 1024,
c2993fe5 16860 "description" : "CPU weight for a VM.",
2489d6df
WB
16861 "maximum" : 262144,
16862 "minimum" : 2,
44660702 16863 "optional" : 1,
c2993fe5 16864 "type" : "integer",
2489d6df
WB
16865 "typetext" : "<integer> (2 - 262144)",
16866 "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
16867 },
16868 "description" : {
16869 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 16870 "optional" : 1,
013dc89f
DM
16871 "type" : "string",
16872 "typetext" : "<string>"
44660702 16873 },
4d47f125
TL
16874 "efidisk0" : {
16875 "description" : "Configure a Disk for storing EFI vars",
16876 "format" : {
16877 "file" : {
16878 "default_key" : 1,
16879 "description" : "The drive's backing volume.",
16880 "format" : "pve-volume-id-or-qm-path",
16881 "format_description" : "volume",
16882 "type" : "string"
16883 },
16884 "format" : {
16885 "description" : "The drive's backing file's data format.",
16886 "enum" : [
16887 "raw",
16888 "cow",
16889 "qcow",
16890 "qed",
16891 "qcow2",
16892 "vmdk",
16893 "cloop"
16894 ],
16895 "optional" : 1,
16896 "type" : "string"
16897 },
16898 "size" : {
16899 "description" : "Disk size. This is purely informational and has no effect.",
16900 "format" : "disk-size",
16901 "format_description" : "DiskSize",
16902 "optional" : 1,
16903 "type" : "string"
16904 },
16905 "volume" : {
16906 "alias" : "file"
16907 }
16908 },
16909 "optional" : 1,
16910 "type" : "string",
16911 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
16912 },
44660702
DM
16913 "force" : {
16914 "description" : "Allow to overwrite existing VM.",
16915 "optional" : 1,
16916 "requires" : "archive",
013dc89f
DM
16917 "type" : "boolean",
16918 "typetext" : "<boolean>"
44660702
DM
16919 },
16920 "freeze" : {
16921 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
16922 "optional" : 1,
013dc89f
DM
16923 "type" : "boolean",
16924 "typetext" : "<boolean>"
44660702
DM
16925 },
16926 "hostpci[n]" : {
c2993fe5 16927 "description" : "Map host PCI devices into guest.",
44660702
DM
16928 "format" : "pve-qm-hostpci",
16929 "optional" : 1,
57b78691 16930 "type" : "string",
e2d681b3 16931 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 16932 "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
16933 },
16934 "hotplug" : {
16935 "default" : "network,disk,usb",
16936 "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'.",
16937 "format" : "pve-hotplug-features",
16938 "optional" : 1,
013dc89f
DM
16939 "type" : "string",
16940 "typetext" : "<string>"
7aacca6f 16941 },
4bd7df8b
DM
16942 "hugepages" : {
16943 "description" : "Enable/disable hugepages memory.",
16944 "enum" : [
16945 "any",
16946 "2",
16947 "1024"
16948 ],
16949 "optional" : 1,
16950 "type" : "string"
16951 },
7aacca6f 16952 "ide[n]" : {
44660702 16953 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 16954 "format" : {
44660702
DM
16955 "aio" : {
16956 "description" : "AIO type to use.",
16957 "enum" : [
16958 "native",
16959 "threads"
16960 ],
44660702
DM
16961 "optional" : 1,
16962 "type" : "string"
16963 },
16964 "backup" : {
16965 "description" : "Whether the drive should be included when making backups.",
44660702
DM
16966 "optional" : 1,
16967 "type" : "boolean"
16968 },
16969 "bps" : {
de0983cb 16970 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 16971 "format_description" : "bps",
56122987 16972 "optional" : 1,
44660702 16973 "type" : "integer"
56122987 16974 },
de0983cb
DM
16975 "bps_max_length" : {
16976 "description" : "Maximum length of I/O bursts in seconds.",
16977 "format_description" : "seconds",
16978 "minimum" : 1,
16979 "optional" : 1,
16980 "type" : "integer"
16981 },
44660702 16982 "bps_rd" : {
de0983cb 16983 "description" : "Maximum read speed in bytes per second.",
44660702 16984 "format_description" : "bps",
56122987 16985 "optional" : 1,
44660702 16986 "type" : "integer"
56122987 16987 },
de0983cb 16988 "bps_rd_length" : {
5d9c884c
DM
16989 "alias" : "bps_rd_max_length"
16990 },
16991 "bps_rd_max_length" : {
de0983cb
DM
16992 "description" : "Maximum length of read I/O bursts in seconds.",
16993 "format_description" : "seconds",
16994 "minimum" : 1,
16995 "optional" : 1,
16996 "type" : "integer"
16997 },
44660702 16998 "bps_wr" : {
de0983cb 16999 "description" : "Maximum write speed in bytes per second.",
44660702 17000 "format_description" : "bps",
56122987 17001 "optional" : 1,
44660702 17002 "type" : "integer"
56122987 17003 },
de0983cb 17004 "bps_wr_length" : {
5d9c884c
DM
17005 "alias" : "bps_wr_max_length"
17006 },
17007 "bps_wr_max_length" : {
de0983cb
DM
17008 "description" : "Maximum length of write I/O bursts in seconds.",
17009 "format_description" : "seconds",
17010 "minimum" : 1,
17011 "optional" : 1,
17012 "type" : "integer"
17013 },
44660702
DM
17014 "cache" : {
17015 "description" : "The drive's cache mode",
56122987 17016 "enum" : [
7aacca6f 17017 "none",
44660702
DM
17018 "writethrough",
17019 "writeback",
17020 "unsafe",
17021 "directsync"
56122987 17022 ],
56122987 17023 "optional" : 1,
44660702 17024 "type" : "string"
56122987 17025 },
44660702
DM
17026 "cyls" : {
17027 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
17028 "optional" : 1,
17029 "type" : "integer"
7aacca6f 17030 },
44660702
DM
17031 "detect_zeroes" : {
17032 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 17033 "optional" : 1,
44660702 17034 "type" : "boolean"
56122987 17035 },
44660702
DM
17036 "discard" : {
17037 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17038 "enum" : [
17039 "ignore",
17040 "on"
17041 ],
56122987 17042 "optional" : 1,
44660702 17043 "type" : "string"
56122987 17044 },
7aacca6f 17045 "file" : {
44660702 17046 "default_key" : 1,
7aacca6f 17047 "description" : "The drive's backing volume.",
7aacca6f
DM
17048 "format" : "pve-volume-id-or-qm-path",
17049 "format_description" : "volume",
7aacca6f 17050 "type" : "string"
56122987 17051 },
44660702
DM
17052 "format" : {
17053 "description" : "The drive's backing file's data format.",
56122987 17054 "enum" : [
44660702
DM
17055 "raw",
17056 "cow",
17057 "qcow",
17058 "qed",
17059 "qcow2",
17060 "vmdk",
17061 "cloop"
7aacca6f 17062 ],
7aacca6f
DM
17063 "optional" : 1,
17064 "type" : "string"
56122987 17065 },
44660702
DM
17066 "heads" : {
17067 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 17068 "optional" : 1,
44660702 17069 "type" : "integer"
56122987 17070 },
44660702 17071 "iops" : {
de0983cb 17072 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 17073 "format_description" : "iops",
56122987 17074 "optional" : 1,
44660702 17075 "type" : "integer"
56122987 17076 },
44660702 17077 "iops_max" : {
de0983cb 17078 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 17079 "format_description" : "iops",
56122987 17080 "optional" : 1,
44660702 17081 "type" : "integer"
56122987 17082 },
de0983cb
DM
17083 "iops_max_length" : {
17084 "description" : "Maximum length of I/O bursts in seconds.",
17085 "format_description" : "seconds",
17086 "minimum" : 1,
17087 "optional" : 1,
17088 "type" : "integer"
17089 },
7aacca6f 17090 "iops_rd" : {
de0983cb 17091 "description" : "Maximum read I/O in operations per second.",
44660702
DM
17092 "format_description" : "iops",
17093 "optional" : 1,
17094 "type" : "integer"
7aacca6f 17095 },
de0983cb 17096 "iops_rd_length" : {
5d9c884c 17097 "alias" : "iops_rd_max_length"
de0983cb 17098 },
44660702 17099 "iops_rd_max" : {
de0983cb 17100 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 17101 "format_description" : "iops",
56122987 17102 "optional" : 1,
44660702 17103 "type" : "integer"
56122987 17104 },
5d9c884c
DM
17105 "iops_rd_max_length" : {
17106 "description" : "Maximum length of read I/O bursts in seconds.",
17107 "format_description" : "seconds",
17108 "minimum" : 1,
17109 "optional" : 1,
17110 "type" : "integer"
17111 },
44660702 17112 "iops_wr" : {
de0983cb 17113 "description" : "Maximum write I/O in operations per second.",
44660702 17114 "format_description" : "iops",
56122987 17115 "optional" : 1,
44660702 17116 "type" : "integer"
7aacca6f 17117 },
de0983cb 17118 "iops_wr_length" : {
5d9c884c 17119 "alias" : "iops_wr_max_length"
de0983cb 17120 },
44660702 17121 "iops_wr_max" : {
de0983cb 17122 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 17123 "format_description" : "iops",
7aacca6f 17124 "optional" : 1,
44660702 17125 "type" : "integer"
56122987 17126 },
5d9c884c
DM
17127 "iops_wr_max_length" : {
17128 "description" : "Maximum length of write I/O bursts in seconds.",
17129 "format_description" : "seconds",
17130 "minimum" : 1,
17131 "optional" : 1,
17132 "type" : "integer"
17133 },
44660702 17134 "mbps" : {
de0983cb 17135 "description" : "Maximum r/w speed in megabytes per second.",
44660702 17136 "format_description" : "mbps",
7aacca6f 17137 "optional" : 1,
44660702 17138 "type" : "number"
56122987 17139 },
44660702 17140 "mbps_max" : {
de0983cb 17141 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 17142 "format_description" : "mbps",
56122987 17143 "optional" : 1,
44660702 17144 "type" : "number"
56122987 17145 },
44660702 17146 "mbps_rd" : {
de0983cb 17147 "description" : "Maximum read speed in megabytes per second.",
44660702 17148 "format_description" : "mbps",
7aacca6f 17149 "optional" : 1,
44660702 17150 "type" : "number"
7aacca6f 17151 },
44660702 17152 "mbps_rd_max" : {
de0983cb 17153 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 17154 "format_description" : "mbps",
56122987 17155 "optional" : 1,
44660702 17156 "type" : "number"
56122987 17157 },
44660702 17158 "mbps_wr" : {
de0983cb 17159 "description" : "Maximum write speed in megabytes per second.",
44660702 17160 "format_description" : "mbps",
7aacca6f 17161 "optional" : 1,
44660702 17162 "type" : "number"
56122987 17163 },
44660702 17164 "mbps_wr_max" : {
de0983cb 17165 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 17166 "format_description" : "mbps",
56122987 17167 "optional" : 1,
44660702 17168 "type" : "number"
7aacca6f
DM
17169 },
17170 "media" : {
44660702
DM
17171 "default" : "disk",
17172 "description" : "The drive's media type.",
56122987 17173 "enum" : [
7aacca6f
DM
17174 "cdrom",
17175 "disk"
56122987 17176 ],
56122987 17177 "optional" : 1,
44660702 17178 "type" : "string"
56122987 17179 },
44660702
DM
17180 "model" : {
17181 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
17182 "format" : "urlencoded",
17183 "format_description" : "model",
17184 "maxLength" : 120,
56122987 17185 "optional" : 1,
44660702 17186 "type" : "string"
56122987 17187 },
5d9c884c
DM
17188 "replicate" : {
17189 "default" : 1,
17190 "description" : "Whether the drive should considered for replication jobs.",
17191 "optional" : 1,
17192 "type" : "boolean"
17193 },
7aacca6f 17194 "rerror" : {
7aacca6f
DM
17195 "description" : "Read error action.",
17196 "enum" : [
17197 "ignore",
17198 "report",
17199 "stop"
44660702 17200 ],
44660702
DM
17201 "optional" : 1,
17202 "type" : "string"
56122987 17203 },
44660702
DM
17204 "secs" : {
17205 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 17206 "optional" : 1,
44660702
DM
17207 "type" : "integer"
17208 },
17209 "serial" : {
17210 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17211 "format" : "urlencoded",
17212 "format_description" : "serial",
17213 "maxLength" : 60,
17214 "optional" : 1,
17215 "type" : "string"
17216 },
27a7acb2
DM
17217 "shared" : {
17218 "default" : 0,
17219 "description" : "Mark this locally-managed volume as available on all nodes",
17220 "optional" : 1,
17221 "type" : "boolean",
17222 "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!"
17223 },
44660702
DM
17224 "size" : {
17225 "description" : "Disk size. This is purely informational and has no effect.",
17226 "format" : "disk-size",
f004f5b9 17227 "format_description" : "DiskSize",
44660702
DM
17228 "optional" : 1,
17229 "type" : "string"
7aacca6f
DM
17230 },
17231 "snapshot" : {
27a7acb2 17232 "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 17233 "optional" : 1,
44660702 17234 "type" : "boolean"
7aacca6f 17235 },
25203dc1
NC
17236 "ssd" : {
17237 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17238 "optional" : 1,
17239 "type" : "boolean"
17240 },
44660702
DM
17241 "trans" : {
17242 "description" : "Force disk geometry bios translation mode.",
17243 "enum" : [
17244 "none",
17245 "lba",
17246 "auto"
17247 ],
7aacca6f 17248 "optional" : 1,
44660702
DM
17249 "type" : "string"
17250 },
17251 "volume" : {
17252 "alias" : "file"
17253 },
17254 "werror" : {
17255 "description" : "Write error action.",
17256 "enum" : [
17257 "enospc",
17258 "ignore",
17259 "report",
17260 "stop"
17261 ],
44660702
DM
17262 "optional" : 1,
17263 "type" : "string"
56122987
DM
17264 }
17265 },
56122987 17266 "optional" : 1,
4bd7df8b 17267 "type" : "string",
25203dc1 17268 "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
17269 },
17270 "ipconfig[n]" : {
17271 "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",
17272 "format" : "pve-qm-ipconfig",
17273 "optional" : 1,
17274 "type" : "string",
17275 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 17276 },
56122987 17277 "keyboard" : {
35a75dd3 17278 "default" : null,
5da3d723 17279 "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 17280 "enum" : [
44660702
DM
17281 "de",
17282 "de-ch",
7aacca6f 17283 "da",
56122987 17284 "en-gb",
44660702
DM
17285 "en-us",
17286 "es",
17287 "fi",
17288 "fr",
17289 "fr-be",
17290 "fr-ca",
17291 "fr-ch",
17292 "hu",
7aacca6f 17293 "is",
44660702
DM
17294 "it",
17295 "ja",
17296 "lt",
56122987 17297 "mk",
7aacca6f 17298 "nl",
56122987 17299 "no",
44660702 17300 "pl",
7aacca6f 17301 "pt",
44660702
DM
17302 "pt-br",
17303 "sv",
17304 "sl",
17305 "tr"
56122987 17306 ],
44660702
DM
17307 "optional" : 1,
17308 "type" : "string"
56122987 17309 },
44660702
DM
17310 "kvm" : {
17311 "default" : 1,
17312 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 17313 "optional" : 1,
013dc89f
DM
17314 "type" : "boolean",
17315 "typetext" : "<boolean>"
7aacca6f 17316 },
44660702
DM
17317 "localtime" : {
17318 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 17319 "optional" : 1,
013dc89f
DM
17320 "type" : "boolean",
17321 "typetext" : "<boolean>"
44660702
DM
17322 },
17323 "lock" : {
17324 "description" : "Lock/unlock the VM.",
7aacca6f
DM
17325 "enum" : [
17326 "migrate",
17327 "backup",
17328 "snapshot",
17329 "rollback"
17330 ],
44660702
DM
17331 "optional" : 1,
17332 "type" : "string"
56122987 17333 },
44660702 17334 "machine" : {
4d47f125 17335 "description" : "Specifies the Qemu machine type.",
44660702
DM
17336 "maxLength" : 40,
17337 "optional" : 1,
e2d681b3 17338 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702
DM
17339 "type" : "string"
17340 },
17341 "memory" : {
17342 "default" : 512,
17343 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
17344 "minimum" : 16,
17345 "optional" : 1,
4bd7df8b 17346 "type" : "integer",
013dc89f 17347 "typetext" : "<integer> (16 - N)"
44660702
DM
17348 },
17349 "migrate_downtime" : {
17350 "default" : 0.1,
17351 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
17352 "minimum" : 0,
17353 "optional" : 1,
4bd7df8b 17354 "type" : "number",
013dc89f 17355 "typetext" : "<number> (0 - N)"
44660702
DM
17356 },
17357 "migrate_speed" : {
56122987 17358 "default" : 0,
44660702
DM
17359 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
17360 "minimum" : 0,
56122987 17361 "optional" : 1,
4bd7df8b 17362 "type" : "integer",
013dc89f 17363 "typetext" : "<integer> (0 - N)"
56122987 17364 },
27a7acb2
DM
17365 "name" : {
17366 "description" : "Set a name for the VM. Only used on the configuration web interface.",
17367 "format" : "dns-name",
17368 "optional" : 1,
17369 "type" : "string",
17370 "typetext" : "<string>"
17371 },
17372 "nameserver" : {
17373 "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.",
17374 "format" : "address-list",
44660702 17375 "optional" : 1,
013dc89f
DM
17376 "type" : "string",
17377 "typetext" : "<string>"
44660702
DM
17378 },
17379 "net[n]" : {
c2993fe5 17380 "description" : "Specify network devices.",
f004f5b9
DM
17381 "format" : {
17382 "bridge" : {
c2993fe5 17383 "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
17384 "format_description" : "bridge",
17385 "optional" : 1,
17386 "type" : "string"
17387 },
17388 "e1000" : {
17389 "alias" : "macaddr",
17390 "keyAlias" : "model"
17391 },
17392 "e1000-82540em" : {
17393 "alias" : "macaddr",
17394 "keyAlias" : "model"
17395 },
17396 "e1000-82544gc" : {
17397 "alias" : "macaddr",
17398 "keyAlias" : "model"
17399 },
17400 "e1000-82545em" : {
17401 "alias" : "macaddr",
17402 "keyAlias" : "model"
17403 },
17404 "firewall" : {
17405 "description" : "Whether this interface should be protected by the firewall.",
17406 "optional" : 1,
17407 "type" : "boolean"
17408 },
17409 "i82551" : {
17410 "alias" : "macaddr",
17411 "keyAlias" : "model"
17412 },
17413 "i82557b" : {
17414 "alias" : "macaddr",
17415 "keyAlias" : "model"
17416 },
17417 "i82559er" : {
17418 "alias" : "macaddr",
17419 "keyAlias" : "model"
17420 },
17421 "link_down" : {
c2993fe5 17422 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
17423 "optional" : 1,
17424 "type" : "boolean"
17425 },
17426 "macaddr" : {
c2993fe5 17427 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 17428 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
17429 "optional" : 1,
17430 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
17431 "type" : "string"
17432 },
17433 "model" : {
17434 "default_key" : 1,
c2993fe5 17435 "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
17436 "enum" : [
17437 "rtl8139",
17438 "ne2k_pci",
17439 "e1000",
17440 "pcnet",
17441 "virtio",
17442 "ne2k_isa",
17443 "i82551",
17444 "i82557b",
17445 "i82559er",
17446 "vmxnet3",
17447 "e1000-82540em",
17448 "e1000-82544gc",
17449 "e1000-82545em"
17450 ],
f004f5b9
DM
17451 "type" : "string"
17452 },
17453 "ne2k_isa" : {
17454 "alias" : "macaddr",
17455 "keyAlias" : "model"
17456 },
17457 "ne2k_pci" : {
17458 "alias" : "macaddr",
17459 "keyAlias" : "model"
17460 },
17461 "pcnet" : {
17462 "alias" : "macaddr",
17463 "keyAlias" : "model"
17464 },
17465 "queues" : {
17466 "description" : "Number of packet queues to be used on the device.",
17467 "maximum" : 16,
17468 "minimum" : 0,
17469 "optional" : 1,
17470 "type" : "integer"
17471 },
17472 "rate" : {
c2993fe5 17473 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
17474 "minimum" : 0,
17475 "optional" : 1,
17476 "type" : "number"
17477 },
17478 "rtl8139" : {
17479 "alias" : "macaddr",
17480 "keyAlias" : "model"
17481 },
17482 "tag" : {
17483 "description" : "VLAN tag to apply to packets on this interface.",
17484 "maximum" : 4094,
c2993fe5 17485 "minimum" : 1,
f004f5b9
DM
17486 "optional" : 1,
17487 "type" : "integer"
17488 },
17489 "trunks" : {
17490 "description" : "VLAN trunks to pass through this interface.",
17491 "format_description" : "vlanid[;vlanid...]",
17492 "optional" : 1,
17493 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17494 "type" : "string"
17495 },
17496 "virtio" : {
17497 "alias" : "macaddr",
17498 "keyAlias" : "model"
17499 },
17500 "vmxnet3" : {
17501 "alias" : "macaddr",
17502 "keyAlias" : "model"
17503 }
17504 },
44660702 17505 "optional" : 1,
4bd7df8b 17506 "type" : "string",
013dc89f 17507 "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
17508 },
17509 "node" : {
17510 "description" : "The cluster node name.",
17511 "format" : "pve-node",
013dc89f
DM
17512 "type" : "string",
17513 "typetext" : "<string>"
44660702
DM
17514 },
17515 "numa" : {
7aacca6f 17516 "default" : 0,
44660702
DM
17517 "description" : "Enable/disable NUMA.",
17518 "optional" : 1,
013dc89f
DM
17519 "type" : "boolean",
17520 "typetext" : "<boolean>"
56122987 17521 },
7aacca6f 17522 "numa[n]" : {
c2993fe5 17523 "description" : "NUMA topology.",
7aacca6f 17524 "format" : {
44660702 17525 "cpus" : {
c2993fe5 17526 "description" : "CPUs accessing this NUMA node.",
44660702
DM
17527 "format_description" : "id[-id];...",
17528 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17529 "type" : "string"
17530 },
7aacca6f 17531 "hostnodes" : {
c2993fe5 17532 "description" : "Host NUMA nodes to use.",
44660702 17533 "format_description" : "id[-id];...",
7aacca6f 17534 "optional" : 1,
44660702
DM
17535 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17536 "type" : "string"
7aacca6f 17537 },
44660702 17538 "memory" : {
c2993fe5 17539 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
17540 "optional" : 1,
17541 "type" : "number"
7aacca6f
DM
17542 },
17543 "policy" : {
c2993fe5 17544 "description" : "NUMA allocation policy.",
7aacca6f
DM
17545 "enum" : [
17546 "preferred",
17547 "bind",
17548 "interleave"
17549 ],
7aacca6f 17550 "optional" : 1,
44660702 17551 "type" : "string"
7aacca6f
DM
17552 }
17553 },
56122987 17554 "optional" : 1,
4bd7df8b
DM
17555 "type" : "string",
17556 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 17557 },
44660702
DM
17558 "onboot" : {
17559 "default" : 0,
17560 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 17561 "optional" : 1,
013dc89f
DM
17562 "type" : "boolean",
17563 "typetext" : "<boolean>"
56122987
DM
17564 },
17565 "ostype" : {
c2993fe5 17566 "description" : "Specify guest operating system.",
56122987
DM
17567 "enum" : [
17568 "other",
17569 "wxp",
17570 "w2k",
17571 "w2k3",
17572 "w2k8",
17573 "wvista",
17574 "win7",
17575 "win8",
32d876b5 17576 "win10",
56122987
DM
17577 "l24",
17578 "l26",
17579 "solaris"
44660702 17580 ],
56122987 17581 "optional" : 1,
c2993fe5 17582 "type" : "string",
35a75dd3 17583 "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 17584 },
44660702 17585 "parallel[n]" : {
c2993fe5 17586 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 17587 "optional" : 1,
44660702 17588 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
17589 "type" : "string",
17590 "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 17591 },
44660702
DM
17592 "pool" : {
17593 "description" : "Add the VM to the specified pool.",
17594 "format" : "pve-poolid",
56122987 17595 "optional" : 1,
013dc89f
DM
17596 "type" : "string",
17597 "typetext" : "<string>"
56122987 17598 },
44660702
DM
17599 "protection" : {
17600 "default" : 0,
c2993fe5 17601 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 17602 "optional" : 1,
013dc89f
DM
17603 "type" : "boolean",
17604 "typetext" : "<boolean>"
56122987 17605 },
44660702 17606 "reboot" : {
7aacca6f 17607 "default" : 1,
44660702
DM
17608 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
17609 "optional" : 1,
013dc89f
DM
17610 "type" : "boolean",
17611 "typetext" : "<boolean>"
56122987 17612 },
56122987 17613 "sata[n]" : {
44660702 17614 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 17615 "format" : {
7aacca6f 17616 "aio" : {
44660702 17617 "description" : "AIO type to use.",
56122987 17618 "enum" : [
7aacca6f
DM
17619 "native",
17620 "threads"
56122987 17621 ],
7aacca6f 17622 "optional" : 1,
44660702 17623 "type" : "string"
7aacca6f
DM
17624 },
17625 "backup" : {
7aacca6f 17626 "description" : "Whether the drive should be included when making backups.",
7aacca6f 17627 "optional" : 1,
44660702 17628 "type" : "boolean"
56122987 17629 },
44660702 17630 "bps" : {
de0983cb 17631 "description" : "Maximum r/w speed in bytes per second.",
44660702 17632 "format_description" : "bps",
7aacca6f 17633 "optional" : 1,
44660702 17634 "type" : "integer"
56122987 17635 },
de0983cb
DM
17636 "bps_max_length" : {
17637 "description" : "Maximum length of I/O bursts in seconds.",
17638 "format_description" : "seconds",
17639 "minimum" : 1,
17640 "optional" : 1,
17641 "type" : "integer"
17642 },
44660702 17643 "bps_rd" : {
de0983cb 17644 "description" : "Maximum read speed in bytes per second.",
44660702 17645 "format_description" : "bps",
56122987 17646 "optional" : 1,
44660702 17647 "type" : "integer"
7aacca6f 17648 },
de0983cb 17649 "bps_rd_length" : {
5d9c884c
DM
17650 "alias" : "bps_rd_max_length"
17651 },
17652 "bps_rd_max_length" : {
de0983cb
DM
17653 "description" : "Maximum length of read I/O bursts in seconds.",
17654 "format_description" : "seconds",
17655 "minimum" : 1,
17656 "optional" : 1,
17657 "type" : "integer"
17658 },
44660702 17659 "bps_wr" : {
de0983cb 17660 "description" : "Maximum write speed in bytes per second.",
44660702 17661 "format_description" : "bps",
56122987 17662 "optional" : 1,
44660702 17663 "type" : "integer"
56122987 17664 },
de0983cb 17665 "bps_wr_length" : {
5d9c884c
DM
17666 "alias" : "bps_wr_max_length"
17667 },
17668 "bps_wr_max_length" : {
de0983cb
DM
17669 "description" : "Maximum length of write I/O bursts in seconds.",
17670 "format_description" : "seconds",
17671 "minimum" : 1,
17672 "optional" : 1,
17673 "type" : "integer"
17674 },
7aacca6f 17675 "cache" : {
7aacca6f
DM
17676 "description" : "The drive's cache mode",
17677 "enum" : [
17678 "none",
17679 "writethrough",
17680 "writeback",
17681 "unsafe",
17682 "directsync"
17683 ],
44660702
DM
17684 "optional" : 1,
17685 "type" : "string"
56122987 17686 },
44660702
DM
17687 "cyls" : {
17688 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 17689 "optional" : 1,
7aacca6f 17690 "type" : "integer"
56122987 17691 },
7aacca6f
DM
17692 "detect_zeroes" : {
17693 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 17694 "optional" : 1,
7aacca6f 17695 "type" : "boolean"
56122987 17696 },
44660702
DM
17697 "discard" : {
17698 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17699 "enum" : [
17700 "ignore",
17701 "on"
17702 ],
56122987 17703 "optional" : 1,
44660702 17704 "type" : "string"
56122987 17705 },
44660702
DM
17706 "file" : {
17707 "default_key" : 1,
17708 "description" : "The drive's backing volume.",
17709 "format" : "pve-volume-id-or-qm-path",
17710 "format_description" : "volume",
17711 "type" : "string"
56122987
DM
17712 },
17713 "format" : {
44660702 17714 "description" : "The drive's backing file's data format.",
56122987
DM
17715 "enum" : [
17716 "raw",
17717 "cow",
17718 "qcow",
17719 "qed",
17720 "qcow2",
17721 "vmdk",
17722 "cloop"
17723 ],
56122987 17724 "optional" : 1,
44660702 17725 "type" : "string"
56122987 17726 },
7aacca6f 17727 "heads" : {
7aacca6f 17728 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
17729 "optional" : 1,
17730 "type" : "integer"
56122987 17731 },
44660702 17732 "iops" : {
de0983cb 17733 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
17734 "format_description" : "iops",
17735 "optional" : 1,
17736 "type" : "integer"
56122987 17737 },
44660702 17738 "iops_max" : {
de0983cb 17739 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 17740 "format_description" : "iops",
56122987 17741 "optional" : 1,
44660702 17742 "type" : "integer"
56122987 17743 },
de0983cb
DM
17744 "iops_max_length" : {
17745 "description" : "Maximum length of I/O bursts in seconds.",
17746 "format_description" : "seconds",
17747 "minimum" : 1,
17748 "optional" : 1,
17749 "type" : "integer"
17750 },
44660702 17751 "iops_rd" : {
de0983cb 17752 "description" : "Maximum read I/O in operations per second.",
44660702 17753 "format_description" : "iops",
56122987 17754 "optional" : 1,
44660702 17755 "type" : "integer"
56122987 17756 },
de0983cb 17757 "iops_rd_length" : {
5d9c884c 17758 "alias" : "iops_rd_max_length"
de0983cb 17759 },
44660702 17760 "iops_rd_max" : {
de0983cb 17761 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 17762 "format_description" : "iops",
56122987 17763 "optional" : 1,
44660702 17764 "type" : "integer"
56122987 17765 },
5d9c884c
DM
17766 "iops_rd_max_length" : {
17767 "description" : "Maximum length of read I/O bursts in seconds.",
17768 "format_description" : "seconds",
17769 "minimum" : 1,
17770 "optional" : 1,
17771 "type" : "integer"
17772 },
44660702 17773 "iops_wr" : {
de0983cb 17774 "description" : "Maximum write I/O in operations per second.",
44660702 17775 "format_description" : "iops",
7aacca6f 17776 "optional" : 1,
44660702 17777 "type" : "integer"
7aacca6f 17778 },
de0983cb 17779 "iops_wr_length" : {
5d9c884c 17780 "alias" : "iops_wr_max_length"
de0983cb 17781 },
44660702 17782 "iops_wr_max" : {
de0983cb 17783 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 17784 "format_description" : "iops",
56122987 17785 "optional" : 1,
7aacca6f 17786 "type" : "integer"
56122987 17787 },
5d9c884c
DM
17788 "iops_wr_max_length" : {
17789 "description" : "Maximum length of write I/O bursts in seconds.",
17790 "format_description" : "seconds",
17791 "minimum" : 1,
17792 "optional" : 1,
17793 "type" : "integer"
17794 },
44660702 17795 "mbps" : {
de0983cb 17796 "description" : "Maximum r/w speed in megabytes per second.",
44660702 17797 "format_description" : "mbps",
56122987 17798 "optional" : 1,
44660702 17799 "type" : "number"
56122987 17800 },
44660702 17801 "mbps_max" : {
de0983cb 17802 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 17803 "format_description" : "mbps",
7aacca6f 17804 "optional" : 1,
44660702 17805 "type" : "number"
7aacca6f 17806 },
44660702 17807 "mbps_rd" : {
de0983cb 17808 "description" : "Maximum read speed in megabytes per second.",
44660702 17809 "format_description" : "mbps",
7aacca6f 17810 "optional" : 1,
44660702 17811 "type" : "number"
7aacca6f 17812 },
44660702 17813 "mbps_rd_max" : {
de0983cb 17814 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 17815 "format_description" : "mbps",
7aacca6f 17816 "optional" : 1,
44660702 17817 "type" : "number"
7aacca6f 17818 },
44660702 17819 "mbps_wr" : {
de0983cb 17820 "description" : "Maximum write speed in megabytes per second.",
44660702 17821 "format_description" : "mbps",
7aacca6f 17822 "optional" : 1,
44660702 17823 "type" : "number"
7aacca6f
DM
17824 },
17825 "mbps_wr_max" : {
de0983cb 17826 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 17827 "format_description" : "mbps",
7aacca6f 17828 "optional" : 1,
44660702 17829 "type" : "number"
7aacca6f 17830 },
44660702
DM
17831 "media" : {
17832 "default" : "disk",
17833 "description" : "The drive's media type.",
56122987 17834 "enum" : [
44660702
DM
17835 "cdrom",
17836 "disk"
56122987 17837 ],
56122987 17838 "optional" : 1,
44660702 17839 "type" : "string"
56122987 17840 },
5d9c884c
DM
17841 "replicate" : {
17842 "default" : 1,
17843 "description" : "Whether the drive should considered for replication jobs.",
17844 "optional" : 1,
17845 "type" : "boolean"
17846 },
44660702
DM
17847 "rerror" : {
17848 "description" : "Read error action.",
7aacca6f
DM
17849 "enum" : [
17850 "ignore",
44660702
DM
17851 "report",
17852 "stop"
7aacca6f 17853 ],
56122987 17854 "optional" : 1,
44660702 17855 "type" : "string"
56122987 17856 },
44660702
DM
17857 "secs" : {
17858 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 17859 "optional" : 1,
44660702 17860 "type" : "integer"
56122987 17861 },
44660702
DM
17862 "serial" : {
17863 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17864 "format" : "urlencoded",
17865 "format_description" : "serial",
17866 "maxLength" : 60,
17867 "optional" : 1,
17868 "type" : "string"
7aacca6f 17869 },
27a7acb2
DM
17870 "shared" : {
17871 "default" : 0,
17872 "description" : "Mark this locally-managed volume as available on all nodes",
17873 "optional" : 1,
17874 "type" : "boolean",
17875 "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!"
17876 },
7aacca6f
DM
17877 "size" : {
17878 "description" : "Disk size. This is purely informational and has no effect.",
44660702 17879 "format" : "disk-size",
f004f5b9 17880 "format_description" : "DiskSize",
56122987 17881 "optional" : 1,
44660702 17882 "type" : "string"
56122987 17883 },
44660702 17884 "snapshot" : {
27a7acb2 17885 "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 17886 "optional" : 1,
44660702 17887 "type" : "boolean"
56122987 17888 },
25203dc1
NC
17889 "ssd" : {
17890 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17891 "optional" : 1,
17892 "type" : "boolean"
17893 },
44660702
DM
17894 "trans" : {
17895 "description" : "Force disk geometry bios translation mode.",
56122987 17896 "enum" : [
44660702
DM
17897 "none",
17898 "lba",
17899 "auto"
7aacca6f 17900 ],
44660702
DM
17901 "optional" : 1,
17902 "type" : "string"
17903 },
17904 "volume" : {
17905 "alias" : "file"
56122987
DM
17906 },
17907 "werror" : {
56122987
DM
17908 "description" : "Write error action.",
17909 "enum" : [
17910 "enospc",
17911 "ignore",
17912 "report",
17913 "stop"
17914 ],
56122987 17915 "optional" : 1,
44660702
DM
17916 "type" : "string"
17917 }
17918 },
17919 "optional" : 1,
4bd7df8b 17920 "type" : "string",
25203dc1 17921 "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
17922 },
17923 "scsi[n]" : {
17924 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
17925 "format" : {
17926 "aio" : {
17927 "description" : "AIO type to use.",
17928 "enum" : [
17929 "native",
17930 "threads"
17931 ],
44660702
DM
17932 "optional" : 1,
17933 "type" : "string"
56122987 17934 },
7aacca6f 17935 "backup" : {
44660702 17936 "description" : "Whether the drive should be included when making backups.",
7aacca6f 17937 "optional" : 1,
44660702 17938 "type" : "boolean"
7aacca6f 17939 },
44660702 17940 "bps" : {
de0983cb 17941 "description" : "Maximum r/w speed in bytes per second.",
44660702 17942 "format_description" : "bps",
7aacca6f 17943 "optional" : 1,
44660702 17944 "type" : "integer"
7aacca6f 17945 },
de0983cb
DM
17946 "bps_max_length" : {
17947 "description" : "Maximum length of I/O bursts in seconds.",
17948 "format_description" : "seconds",
17949 "minimum" : 1,
17950 "optional" : 1,
17951 "type" : "integer"
17952 },
44660702 17953 "bps_rd" : {
de0983cb 17954 "description" : "Maximum read speed in bytes per second.",
44660702 17955 "format_description" : "bps",
56122987 17956 "optional" : 1,
44660702 17957 "type" : "integer"
56122987 17958 },
de0983cb 17959 "bps_rd_length" : {
5d9c884c
DM
17960 "alias" : "bps_rd_max_length"
17961 },
17962 "bps_rd_max_length" : {
de0983cb
DM
17963 "description" : "Maximum length of read I/O bursts in seconds.",
17964 "format_description" : "seconds",
17965 "minimum" : 1,
17966 "optional" : 1,
17967 "type" : "integer"
17968 },
44660702 17969 "bps_wr" : {
de0983cb 17970 "description" : "Maximum write speed in bytes per second.",
44660702 17971 "format_description" : "bps",
7aacca6f 17972 "optional" : 1,
44660702 17973 "type" : "integer"
56122987 17974 },
de0983cb 17975 "bps_wr_length" : {
5d9c884c
DM
17976 "alias" : "bps_wr_max_length"
17977 },
17978 "bps_wr_max_length" : {
de0983cb
DM
17979 "description" : "Maximum length of write I/O bursts in seconds.",
17980 "format_description" : "seconds",
17981 "minimum" : 1,
17982 "optional" : 1,
17983 "type" : "integer"
17984 },
44660702
DM
17985 "cache" : {
17986 "description" : "The drive's cache mode",
7aacca6f
DM
17987 "enum" : [
17988 "none",
44660702
DM
17989 "writethrough",
17990 "writeback",
17991 "unsafe",
17992 "directsync"
7aacca6f 17993 ],
56122987 17994 "optional" : 1,
44660702 17995 "type" : "string"
56122987 17996 },
7aacca6f
DM
17997 "cyls" : {
17998 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
17999 "optional" : 1,
44660702 18000 "type" : "integer"
7aacca6f 18001 },
44660702
DM
18002 "detect_zeroes" : {
18003 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 18004 "optional" : 1,
44660702 18005 "type" : "boolean"
56122987 18006 },
44660702
DM
18007 "discard" : {
18008 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 18009 "enum" : [
44660702
DM
18010 "ignore",
18011 "on"
7aacca6f 18012 ],
7aacca6f 18013 "optional" : 1,
44660702 18014 "type" : "string"
56122987
DM
18015 },
18016 "file" : {
7aacca6f
DM
18017 "default_key" : 1,
18018 "description" : "The drive's backing volume.",
44660702
DM
18019 "format" : "pve-volume-id-or-qm-path",
18020 "format_description" : "volume",
7aacca6f 18021 "type" : "string"
56122987 18022 },
7aacca6f 18023 "format" : {
44660702 18024 "description" : "The drive's backing file's data format.",
56122987 18025 "enum" : [
7aacca6f
DM
18026 "raw",
18027 "cow",
18028 "qcow",
18029 "qed",
18030 "qcow2",
18031 "vmdk",
18032 "cloop"
56122987 18033 ],
44660702
DM
18034 "optional" : 1,
18035 "type" : "string"
56122987 18036 },
44660702
DM
18037 "heads" : {
18038 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
18039 "optional" : 1,
18040 "type" : "integer"
18041 },
18042 "iops" : {
de0983cb 18043 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 18044 "format_description" : "iops",
56122987 18045 "optional" : 1,
44660702 18046 "type" : "integer"
56122987 18047 },
44660702 18048 "iops_max" : {
de0983cb 18049 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 18050 "format_description" : "iops",
7aacca6f 18051 "optional" : 1,
44660702 18052 "type" : "integer"
56122987 18053 },
de0983cb
DM
18054 "iops_max_length" : {
18055 "description" : "Maximum length of I/O bursts in seconds.",
18056 "format_description" : "seconds",
18057 "minimum" : 1,
18058 "optional" : 1,
18059 "type" : "integer"
18060 },
44660702 18061 "iops_rd" : {
de0983cb 18062 "description" : "Maximum read I/O in operations per second.",
44660702 18063 "format_description" : "iops",
56122987 18064 "optional" : 1,
44660702 18065 "type" : "integer"
56122987 18066 },
de0983cb 18067 "iops_rd_length" : {
5d9c884c 18068 "alias" : "iops_rd_max_length"
de0983cb 18069 },
44660702 18070 "iops_rd_max" : {
de0983cb 18071 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
18072 "format_description" : "iops",
18073 "optional" : 1,
18074 "type" : "integer"
56122987 18075 },
5d9c884c
DM
18076 "iops_rd_max_length" : {
18077 "description" : "Maximum length of read I/O bursts in seconds.",
18078 "format_description" : "seconds",
18079 "minimum" : 1,
18080 "optional" : 1,
18081 "type" : "integer"
18082 },
44660702 18083 "iops_wr" : {
de0983cb 18084 "description" : "Maximum write I/O in operations per second.",
44660702 18085 "format_description" : "iops",
56122987 18086 "optional" : 1,
44660702 18087 "type" : "integer"
56122987 18088 },
de0983cb 18089 "iops_wr_length" : {
5d9c884c 18090 "alias" : "iops_wr_max_length"
de0983cb 18091 },
44660702 18092 "iops_wr_max" : {
de0983cb 18093 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 18094 "format_description" : "iops",
56122987 18095 "optional" : 1,
56122987
DM
18096 "type" : "integer"
18097 },
5d9c884c
DM
18098 "iops_wr_max_length" : {
18099 "description" : "Maximum length of write I/O bursts in seconds.",
18100 "format_description" : "seconds",
18101 "minimum" : 1,
18102 "optional" : 1,
18103 "type" : "integer"
18104 },
44660702
DM
18105 "iothread" : {
18106 "description" : "Whether to use iothreads for this drive",
44660702
DM
18107 "optional" : 1,
18108 "type" : "boolean"
18109 },
18110 "mbps" : {
de0983cb 18111 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
18112 "format_description" : "mbps",
18113 "optional" : 1,
18114 "type" : "number"
18115 },
7aacca6f 18116 "mbps_max" : {
de0983cb 18117 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 18118 "format_description" : "mbps",
56122987 18119 "optional" : 1,
44660702 18120 "type" : "number"
56122987 18121 },
44660702 18122 "mbps_rd" : {
de0983cb 18123 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
18124 "format_description" : "mbps",
18125 "optional" : 1,
18126 "type" : "number"
56122987 18127 },
44660702 18128 "mbps_rd_max" : {
de0983cb 18129 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 18130 "format_description" : "mbps",
56122987 18131 "optional" : 1,
44660702 18132 "type" : "number"
56122987 18133 },
44660702 18134 "mbps_wr" : {
de0983cb 18135 "description" : "Maximum write speed in megabytes per second.",
44660702 18136 "format_description" : "mbps",
56122987 18137 "optional" : 1,
44660702 18138 "type" : "number"
56122987 18139 },
44660702 18140 "mbps_wr_max" : {
de0983cb 18141 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 18142 "format_description" : "mbps",
7aacca6f 18143 "optional" : 1,
44660702 18144 "type" : "number"
56122987 18145 },
7aacca6f 18146 "media" : {
44660702 18147 "default" : "disk",
7aacca6f
DM
18148 "description" : "The drive's media type.",
18149 "enum" : [
18150 "cdrom",
18151 "disk"
18152 ],
56122987 18153 "optional" : 1,
44660702 18154 "type" : "string"
56122987 18155 },
44660702
DM
18156 "queues" : {
18157 "description" : "Number of queues.",
44660702
DM
18158 "minimum" : 2,
18159 "optional" : 1,
18160 "type" : "integer"
56122987 18161 },
5d9c884c
DM
18162 "replicate" : {
18163 "default" : 1,
18164 "description" : "Whether the drive should considered for replication jobs.",
18165 "optional" : 1,
18166 "type" : "boolean"
18167 },
18168 "rerror" : {
18169 "description" : "Read error action.",
18170 "enum" : [
18171 "ignore",
18172 "report",
18173 "stop"
18174 ],
18175 "optional" : 1,
18176 "type" : "string"
18177 },
52e44c50
FG
18178 "scsiblock" : {
18179 "default" : 0,
18180 "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",
18181 "optional" : 1,
18182 "type" : "boolean"
18183 },
7aacca6f 18184 "secs" : {
7aacca6f 18185 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
18186 "optional" : 1,
18187 "type" : "integer"
18188 },
18189 "serial" : {
18190 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18191 "format" : "urlencoded",
18192 "format_description" : "serial",
18193 "maxLength" : 60,
18194 "optional" : 1,
18195 "type" : "string"
18196 },
27a7acb2
DM
18197 "shared" : {
18198 "default" : 0,
18199 "description" : "Mark this locally-managed volume as available on all nodes",
18200 "optional" : 1,
18201 "type" : "boolean",
18202 "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!"
18203 },
44660702
DM
18204 "size" : {
18205 "description" : "Disk size. This is purely informational and has no effect.",
18206 "format" : "disk-size",
f004f5b9 18207 "format_description" : "DiskSize",
44660702
DM
18208 "optional" : 1,
18209 "type" : "string"
18210 },
18211 "snapshot" : {
27a7acb2 18212 "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
18213 "optional" : 1,
18214 "type" : "boolean"
18215 },
25203dc1
NC
18216 "ssd" : {
18217 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
18218 "optional" : 1,
18219 "type" : "boolean"
18220 },
44660702
DM
18221 "trans" : {
18222 "description" : "Force disk geometry bios translation mode.",
18223 "enum" : [
18224 "none",
18225 "lba",
18226 "auto"
18227 ],
44660702
DM
18228 "optional" : 1,
18229 "type" : "string"
18230 },
18231 "volume" : {
18232 "alias" : "file"
18233 },
18234 "werror" : {
18235 "description" : "Write error action.",
18236 "enum" : [
18237 "enospc",
18238 "ignore",
18239 "report",
18240 "stop"
18241 ],
44660702
DM
18242 "optional" : 1,
18243 "type" : "string"
56122987
DM
18244 }
18245 },
7aacca6f 18246 "optional" : 1,
4bd7df8b 18247 "type" : "string",
25203dc1 18248 "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 18249 },
44660702
DM
18250 "scsihw" : {
18251 "default" : "lsi",
c2993fe5 18252 "description" : "SCSI controller model",
44660702
DM
18253 "enum" : [
18254 "lsi",
18255 "lsi53c810",
18256 "virtio-scsi-pci",
18257 "virtio-scsi-single",
18258 "megasas",
18259 "pvscsi"
18260 ],
7aacca6f 18261 "optional" : 1,
44660702 18262 "type" : "string"
7aacca6f 18263 },
27a7acb2
DM
18264 "searchdomain" : {
18265 "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.",
18266 "optional" : 1,
18267 "type" : "string",
18268 "typetext" : "<string>"
18269 },
44660702 18270 "serial[n]" : {
c2993fe5 18271 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
18272 "optional" : 1,
18273 "pattern" : "(/dev/.+|socket)",
c2993fe5 18274 "type" : "string",
57b78691 18275 "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
18276 },
18277 "shares" : {
18278 "default" : 1000,
5da3d723 18279 "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
18280 "maximum" : 50000,
18281 "minimum" : 0,
18282 "optional" : 1,
4bd7df8b 18283 "type" : "integer",
013dc89f 18284 "typetext" : "<integer> (0 - 50000)"
44660702
DM
18285 },
18286 "smbios1" : {
18287 "description" : "Specify SMBIOS type 1 fields.",
18288 "format" : "pve-qm-smbios1",
18289 "maxLength" : 256,
7aacca6f 18290 "optional" : 1,
4bd7df8b
DM
18291 "type" : "string",
18292 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
18293 },
18294 "smp" : {
44660702 18295 "default" : 1,
7aacca6f 18296 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 18297 "minimum" : 1,
56122987 18298 "optional" : 1,
4bd7df8b 18299 "type" : "integer",
013dc89f 18300 "typetext" : "<integer> (1 - N)"
44660702
DM
18301 },
18302 "sockets" : {
7aacca6f 18303 "default" : 1,
44660702
DM
18304 "description" : "The number of CPU sockets.",
18305 "minimum" : 1,
18306 "optional" : 1,
4bd7df8b 18307 "type" : "integer",
013dc89f 18308 "typetext" : "<integer> (1 - N)"
7aacca6f 18309 },
27a7acb2
DM
18310 "sshkeys" : {
18311 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
18312 "format" : "urlencoded",
18313 "optional" : 1,
18314 "type" : "string",
18315 "typetext" : "<string>"
18316 },
5da3d723
TL
18317 "start" : {
18318 "default" : 0,
18319 "description" : "Start VM after it was created successfully.",
18320 "optional" : 1,
18321 "type" : "boolean",
18322 "typetext" : "<boolean>"
18323 },
44660702
DM
18324 "startdate" : {
18325 "default" : "now",
18326 "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'.",
18327 "optional" : 1,
18328 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
18329 "type" : "string",
18330 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
18331 },
18332 "startup" : {
18333 "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.",
18334 "format" : "pve-startup-order",
18335 "optional" : 1,
18336 "type" : "string",
18337 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
18338 },
18339 "storage" : {
18340 "description" : "Default storage.",
18341 "format" : "pve-storage-id",
7aacca6f 18342 "optional" : 1,
013dc89f
DM
18343 "type" : "string",
18344 "typetext" : "<string>"
56122987 18345 },
44660702
DM
18346 "tablet" : {
18347 "default" : 1,
c2993fe5 18348 "description" : "Enable/disable the USB tablet device.",
56122987 18349 "optional" : 1,
c2993fe5 18350 "type" : "boolean",
013dc89f 18351 "typetext" : "<boolean>",
c2993fe5 18352 "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
18353 },
18354 "tdf" : {
18355 "default" : 0,
18356 "description" : "Enable/disable time drift fix.",
18357 "optional" : 1,
013dc89f
DM
18358 "type" : "boolean",
18359 "typetext" : "<boolean>"
7aacca6f
DM
18360 },
18361 "template" : {
7aacca6f 18362 "default" : 0,
44660702 18363 "description" : "Enable/disable Template.",
7aacca6f 18364 "optional" : 1,
013dc89f
DM
18365 "type" : "boolean",
18366 "typetext" : "<boolean>"
7aacca6f 18367 },
44660702
DM
18368 "unique" : {
18369 "description" : "Assign a unique random ethernet address.",
7aacca6f 18370 "optional" : 1,
44660702 18371 "requires" : "archive",
013dc89f
DM
18372 "type" : "boolean",
18373 "typetext" : "<boolean>"
56122987 18374 },
44660702 18375 "unused[n]" : {
c2993fe5 18376 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 18377 "format" : "pve-volume-id",
7aacca6f 18378 "optional" : 1,
013dc89f
DM
18379 "type" : "string",
18380 "typetext" : "<string>"
44660702
DM
18381 },
18382 "usb[n]" : {
c2993fe5 18383 "description" : "Configure an USB device (n is 0 to 4).",
56122987 18384 "format" : {
7aacca6f
DM
18385 "host" : {
18386 "default_key" : 1,
c2993fe5 18387 "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 18388 "format" : "pve-qm-usb-device",
44660702
DM
18389 "format_description" : "HOSTUSBDEVICE|spice",
18390 "type" : "string"
7aacca6f 18391 },
56122987 18392 "usb3" : {
c2993fe5
DM
18393 "default" : 0,
18394 "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 18395 "optional" : 1,
56122987 18396 "type" : "boolean"
7aacca6f 18397 }
56122987 18398 },
56122987 18399 "optional" : 1,
4bd7df8b
DM
18400 "type" : "string",
18401 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 18402 },
44660702
DM
18403 "vcpus" : {
18404 "default" : 0,
18405 "description" : "Number of hotplugged vcpus.",
18406 "minimum" : 1,
56122987 18407 "optional" : 1,
4bd7df8b 18408 "type" : "integer",
013dc89f 18409 "typetext" : "<integer> (1 - N)"
7aacca6f 18410 },
44660702 18411 "vga" : {
e2d681b3
TL
18412 "description" : "Configure the VGA hardware.",
18413 "format" : {
18414 "memory" : {
18415 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
18416 "maximum" : 512,
18417 "minimum" : 4,
18418 "optional" : 1,
18419 "type" : "integer"
18420 },
18421 "type" : {
18422 "default" : "std",
18423 "default_key" : 1,
18424 "description" : "Select the VGA type.",
18425 "enum" : [
18426 "cirrus",
18427 "qxl",
18428 "qxl2",
18429 "qxl3",
18430 "qxl4",
18431 "serial0",
18432 "serial1",
18433 "serial2",
18434 "serial3",
18435 "std",
18436 "virtio",
18437 "vmware"
18438 ],
18439 "optional" : 1,
18440 "type" : "string"
18441 }
18442 },
44660702 18443 "optional" : 1,
c2993fe5 18444 "type" : "string",
e2d681b3
TL
18445 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
18446 "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 18447 },
44660702
DM
18448 "virtio[n]" : {
18449 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
18450 "format" : {
18451 "aio" : {
18452 "description" : "AIO type to use.",
18453 "enum" : [
18454 "native",
18455 "threads"
18456 ],
44660702
DM
18457 "optional" : 1,
18458 "type" : "string"
18459 },
18460 "backup" : {
18461 "description" : "Whether the drive should be included when making backups.",
44660702
DM
18462 "optional" : 1,
18463 "type" : "boolean"
18464 },
18465 "bps" : {
de0983cb 18466 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
18467 "format_description" : "bps",
18468 "optional" : 1,
18469 "type" : "integer"
18470 },
de0983cb
DM
18471 "bps_max_length" : {
18472 "description" : "Maximum length of I/O bursts in seconds.",
18473 "format_description" : "seconds",
18474 "minimum" : 1,
18475 "optional" : 1,
18476 "type" : "integer"
18477 },
44660702 18478 "bps_rd" : {
de0983cb 18479 "description" : "Maximum read speed in bytes per second.",
44660702
DM
18480 "format_description" : "bps",
18481 "optional" : 1,
18482 "type" : "integer"
18483 },
de0983cb 18484 "bps_rd_length" : {
5d9c884c
DM
18485 "alias" : "bps_rd_max_length"
18486 },
18487 "bps_rd_max_length" : {
de0983cb
DM
18488 "description" : "Maximum length of read I/O bursts in seconds.",
18489 "format_description" : "seconds",
18490 "minimum" : 1,
18491 "optional" : 1,
18492 "type" : "integer"
18493 },
44660702 18494 "bps_wr" : {
de0983cb 18495 "description" : "Maximum write speed in bytes per second.",
44660702
DM
18496 "format_description" : "bps",
18497 "optional" : 1,
18498 "type" : "integer"
18499 },
de0983cb 18500 "bps_wr_length" : {
5d9c884c
DM
18501 "alias" : "bps_wr_max_length"
18502 },
18503 "bps_wr_max_length" : {
de0983cb
DM
18504 "description" : "Maximum length of write I/O bursts in seconds.",
18505 "format_description" : "seconds",
18506 "minimum" : 1,
18507 "optional" : 1,
18508 "type" : "integer"
18509 },
44660702
DM
18510 "cache" : {
18511 "description" : "The drive's cache mode",
18512 "enum" : [
18513 "none",
18514 "writethrough",
18515 "writeback",
18516 "unsafe",
18517 "directsync"
18518 ],
44660702
DM
18519 "optional" : 1,
18520 "type" : "string"
18521 },
18522 "cyls" : {
18523 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
18524 "optional" : 1,
18525 "type" : "integer"
18526 },
18527 "detect_zeroes" : {
18528 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
18529 "optional" : 1,
18530 "type" : "boolean"
18531 },
18532 "discard" : {
18533 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
18534 "enum" : [
18535 "ignore",
18536 "on"
18537 ],
44660702
DM
18538 "optional" : 1,
18539 "type" : "string"
18540 },
18541 "file" : {
18542 "default_key" : 1,
18543 "description" : "The drive's backing volume.",
18544 "format" : "pve-volume-id-or-qm-path",
18545 "format_description" : "volume",
18546 "type" : "string"
18547 },
18548 "format" : {
18549 "description" : "The drive's backing file's data format.",
18550 "enum" : [
18551 "raw",
18552 "cow",
18553 "qcow",
18554 "qed",
18555 "qcow2",
18556 "vmdk",
18557 "cloop"
18558 ],
44660702
DM
18559 "optional" : 1,
18560 "type" : "string"
18561 },
18562 "heads" : {
18563 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
18564 "optional" : 1,
18565 "type" : "integer"
18566 },
18567 "iops" : {
de0983cb 18568 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
18569 "format_description" : "iops",
18570 "optional" : 1,
18571 "type" : "integer"
18572 },
18573 "iops_max" : {
de0983cb 18574 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
18575 "format_description" : "iops",
18576 "optional" : 1,
18577 "type" : "integer"
18578 },
de0983cb
DM
18579 "iops_max_length" : {
18580 "description" : "Maximum length of I/O bursts in seconds.",
18581 "format_description" : "seconds",
18582 "minimum" : 1,
18583 "optional" : 1,
18584 "type" : "integer"
18585 },
44660702 18586 "iops_rd" : {
de0983cb 18587 "description" : "Maximum read I/O in operations per second.",
44660702
DM
18588 "format_description" : "iops",
18589 "optional" : 1,
18590 "type" : "integer"
18591 },
de0983cb 18592 "iops_rd_length" : {
5d9c884c 18593 "alias" : "iops_rd_max_length"
de0983cb 18594 },
44660702 18595 "iops_rd_max" : {
de0983cb 18596 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
18597 "format_description" : "iops",
18598 "optional" : 1,
18599 "type" : "integer"
18600 },
5d9c884c
DM
18601 "iops_rd_max_length" : {
18602 "description" : "Maximum length of read I/O bursts in seconds.",
18603 "format_description" : "seconds",
18604 "minimum" : 1,
18605 "optional" : 1,
18606 "type" : "integer"
18607 },
44660702 18608 "iops_wr" : {
de0983cb 18609 "description" : "Maximum write I/O in operations per second.",
44660702
DM
18610 "format_description" : "iops",
18611 "optional" : 1,
18612 "type" : "integer"
18613 },
de0983cb 18614 "iops_wr_length" : {
5d9c884c 18615 "alias" : "iops_wr_max_length"
de0983cb 18616 },
44660702 18617 "iops_wr_max" : {
de0983cb 18618 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
18619 "format_description" : "iops",
18620 "optional" : 1,
18621 "type" : "integer"
18622 },
5d9c884c
DM
18623 "iops_wr_max_length" : {
18624 "description" : "Maximum length of write I/O bursts in seconds.",
18625 "format_description" : "seconds",
18626 "minimum" : 1,
18627 "optional" : 1,
18628 "type" : "integer"
18629 },
44660702
DM
18630 "iothread" : {
18631 "description" : "Whether to use iothreads for this drive",
44660702
DM
18632 "optional" : 1,
18633 "type" : "boolean"
18634 },
18635 "mbps" : {
de0983cb 18636 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
18637 "format_description" : "mbps",
18638 "optional" : 1,
18639 "type" : "number"
18640 },
18641 "mbps_max" : {
de0983cb 18642 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
18643 "format_description" : "mbps",
18644 "optional" : 1,
18645 "type" : "number"
18646 },
18647 "mbps_rd" : {
de0983cb 18648 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
18649 "format_description" : "mbps",
18650 "optional" : 1,
18651 "type" : "number"
18652 },
18653 "mbps_rd_max" : {
de0983cb 18654 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
18655 "format_description" : "mbps",
18656 "optional" : 1,
18657 "type" : "number"
18658 },
18659 "mbps_wr" : {
de0983cb 18660 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
18661 "format_description" : "mbps",
18662 "optional" : 1,
18663 "type" : "number"
18664 },
18665 "mbps_wr_max" : {
de0983cb 18666 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
18667 "format_description" : "mbps",
18668 "optional" : 1,
18669 "type" : "number"
18670 },
18671 "media" : {
18672 "default" : "disk",
18673 "description" : "The drive's media type.",
18674 "enum" : [
18675 "cdrom",
18676 "disk"
18677 ],
44660702
DM
18678 "optional" : 1,
18679 "type" : "string"
18680 },
5d9c884c
DM
18681 "replicate" : {
18682 "default" : 1,
18683 "description" : "Whether the drive should considered for replication jobs.",
18684 "optional" : 1,
18685 "type" : "boolean"
18686 },
44660702
DM
18687 "rerror" : {
18688 "description" : "Read error action.",
18689 "enum" : [
18690 "ignore",
18691 "report",
18692 "stop"
18693 ],
44660702
DM
18694 "optional" : 1,
18695 "type" : "string"
18696 },
18697 "secs" : {
18698 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
18699 "optional" : 1,
18700 "type" : "integer"
18701 },
18702 "serial" : {
18703 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18704 "format" : "urlencoded",
18705 "format_description" : "serial",
18706 "maxLength" : 60,
18707 "optional" : 1,
18708 "type" : "string"
18709 },
27a7acb2
DM
18710 "shared" : {
18711 "default" : 0,
18712 "description" : "Mark this locally-managed volume as available on all nodes",
18713 "optional" : 1,
18714 "type" : "boolean",
18715 "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!"
18716 },
44660702
DM
18717 "size" : {
18718 "description" : "Disk size. This is purely informational and has no effect.",
18719 "format" : "disk-size",
f004f5b9 18720 "format_description" : "DiskSize",
44660702
DM
18721 "optional" : 1,
18722 "type" : "string"
18723 },
18724 "snapshot" : {
27a7acb2 18725 "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
18726 "optional" : 1,
18727 "type" : "boolean"
18728 },
18729 "trans" : {
18730 "description" : "Force disk geometry bios translation mode.",
18731 "enum" : [
18732 "none",
18733 "lba",
18734 "auto"
18735 ],
44660702
DM
18736 "optional" : 1,
18737 "type" : "string"
18738 },
18739 "volume" : {
18740 "alias" : "file"
18741 },
18742 "werror" : {
18743 "description" : "Write error action.",
18744 "enum" : [
18745 "enospc",
18746 "ignore",
18747 "report",
18748 "stop"
18749 ],
44660702
DM
18750 "optional" : 1,
18751 "type" : "string"
18752 }
18753 },
18754 "optional" : 1,
4bd7df8b 18755 "type" : "string",
27a7acb2 18756 "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 18757 },
4d47f125
TL
18758 "vmgenid" : {
18759 "default" : "1 (autogenerated)",
18760 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
18761 "format_description" : "UUID",
18762 "optional" : 1,
18763 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
18764 "type" : "string",
18765 "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."
18766 },
44660702
DM
18767 "vmid" : {
18768 "description" : "The (unique) ID of the VM.",
18769 "format" : "pve-vmid",
18770 "minimum" : 1,
4bd7df8b 18771 "type" : "integer",
013dc89f 18772 "typetext" : "<integer> (1 - N)"
44660702 18773 },
2489d6df
WB
18774 "vmstatestorage" : {
18775 "description" : "Default storage for VM state volumes/files.",
18776 "format" : "pve-storage-id",
18777 "optional" : 1,
18778 "type" : "string",
18779 "typetext" : "<string>"
18780 },
44660702 18781 "watchdog" : {
c2993fe5 18782 "description" : "Create a virtual hardware watchdog device.",
44660702 18783 "format" : "pve-qm-watchdog",
7aacca6f 18784 "optional" : 1,
c2993fe5 18785 "type" : "string",
013dc89f 18786 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 18787 "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 18788 }
44660702 18789 }
56122987 18790 },
56122987 18791 "permissions" : {
44660702
DM
18792 "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.",
18793 "user" : "all"
56122987 18794 },
44660702
DM
18795 "protected" : 1,
18796 "proxyto" : "node",
56122987 18797 "returns" : {
44660702 18798 "type" : "string"
7aacca6f 18799 }
56122987 18800 }
7aacca6f 18801 },
44660702 18802 "leaf" : 0,
7aacca6f 18803 "path" : "/nodes/{node}/qemu",
44660702 18804 "text" : "qemu"
56122987
DM
18805 },
18806 {
18807 "children" : [
18808 {
56122987
DM
18809 "children" : [
18810 {
56122987 18811 "info" : {
44660702
DM
18812 "GET" : {
18813 "description" : "Get container configuration.",
18814 "method" : "GET",
18815 "name" : "vm_config",
18816 "parameters" : {
18817 "additionalProperties" : 0,
18818 "properties" : {
18819 "node" : {
18820 "description" : "The cluster node name.",
18821 "format" : "pve-node",
013dc89f 18822 "type" : "string",
4d47f125
TL
18823 "typetext" : "<string>"
18824 },
18825 "vmid" : {
18826 "description" : "The (unique) ID of the VM.",
18827 "format" : "pve-vmid",
18828 "minimum" : 1,
18829 "type" : "integer",
18830 "typetext" : "<integer> (1 - N)"
18831 }
18832 }
18833 },
18834 "permissions" : {
18835 "check" : [
18836 "perm",
18837 "/vms/{vmid}",
18838 [
18839 "VM.Audit"
18840 ]
18841 ]
18842 },
18843 "proxyto" : "node",
18844 "returns" : {
18845 "properties" : {
18846 "arch" : {
18847 "default" : "amd64",
18848 "description" : "OS architecture type.",
18849 "enum" : [
18850 "amd64",
18851 "i386",
18852 "arm64",
18853 "armhf"
18854 ],
18855 "optional" : 1,
18856 "type" : "string"
18857 },
18858 "cmode" : {
18859 "default" : "tty",
18860 "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).",
18861 "enum" : [
18862 "shell",
18863 "console",
18864 "tty"
18865 ],
18866 "optional" : 1,
18867 "type" : "string"
18868 },
18869 "console" : {
18870 "default" : 1,
18871 "description" : "Attach a console device (/dev/console) to the container.",
18872 "optional" : 1,
18873 "type" : "boolean"
18874 },
18875 "cores" : {
18876 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
18877 "maximum" : 128,
18878 "minimum" : 1,
18879 "optional" : 1,
18880 "type" : "integer"
18881 },
18882 "cpulimit" : {
18883 "default" : 0,
18884 "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.",
18885 "maximum" : 128,
18886 "minimum" : 0,
18887 "optional" : 1,
18888 "type" : "number"
18889 },
18890 "cpuunits" : {
18891 "default" : 1024,
18892 "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.",
18893 "maximum" : 500000,
18894 "minimum" : 0,
18895 "optional" : 1,
18896 "type" : "integer"
18897 },
18898 "description" : {
18899 "description" : "Container description. Only used on the configuration web interface.",
18900 "optional" : 1,
18901 "type" : "string"
18902 },
18903 "digest" : {
18904 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
18905 "type" : "string"
18906 },
18907 "features" : {
18908 "description" : "Allow containers access to advanced features.",
18909 "format" : {
e2d681b3
TL
18910 "fuse" : {
18911 "default" : 0,
18912 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
18913 "optional" : 1,
18914 "type" : "boolean"
18915 },
4d47f125
TL
18916 "keyctl" : {
18917 "default" : 0,
18918 "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.",
18919 "optional" : 1,
18920 "type" : "boolean"
18921 },
18922 "mount" : {
18923 "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.",
18924 "format_description" : "fstype;fstype;...",
18925 "optional" : 1,
18926 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
18927 "type" : "string"
18928 },
18929 "nesting" : {
18930 "default" : 0,
18931 "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.",
18932 "optional" : 1,
18933 "type" : "boolean"
18934 }
18935 },
18936 "optional" : 1,
18937 "type" : "string"
18938 },
18939 "hostname" : {
18940 "description" : "Set a host name for the container.",
18941 "format" : "dns-name",
18942 "maxLength" : 255,
18943 "optional" : 1,
18944 "type" : "string"
18945 },
18946 "lock" : {
18947 "description" : "Lock/unlock the VM.",
18948 "enum" : [
18949 "backup",
18950 "disk",
18951 "migrate",
18952 "mounted",
18953 "rollback",
18954 "snapshot",
18955 "snapshot-delete"
18956 ],
18957 "optional" : 1,
18958 "type" : "string"
18959 },
18960 "lxc" : {
18961 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
18962 "items" : {
18963 "items" : {
18964 "type" : "string"
18965 },
18966 "type" : "array"
18967 },
18968 "optional" : 1,
18969 "type" : "array"
18970 },
18971 "memory" : {
18972 "default" : 512,
18973 "description" : "Amount of RAM for the VM in MB.",
18974 "minimum" : 16,
18975 "optional" : 1,
18976 "type" : "integer"
18977 },
18978 "mp[n]" : {
18979 "description" : "Use volume as container mount point.",
18980 "format" : {
18981 "acl" : {
18982 "description" : "Explicitly enable or disable ACL support.",
18983 "optional" : 1,
18984 "type" : "boolean"
18985 },
18986 "backup" : {
18987 "description" : "Whether to include the mount point in backups.",
18988 "optional" : 1,
18989 "type" : "boolean",
18990 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
18991 },
18992 "mp" : {
18993 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
18994 "format" : "pve-lxc-mp-string",
18995 "format_description" : "Path",
18996 "type" : "string",
18997 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
18998 },
18999 "quota" : {
19000 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19001 "optional" : 1,
19002 "type" : "boolean"
19003 },
19004 "replicate" : {
19005 "default" : 1,
19006 "description" : "Will include this volume to a storage replica job.",
19007 "optional" : 1,
19008 "type" : "boolean"
19009 },
19010 "ro" : {
19011 "description" : "Read-only mount point",
19012 "optional" : 1,
19013 "type" : "boolean"
19014 },
19015 "shared" : {
19016 "default" : 0,
19017 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19018 "optional" : 1,
19019 "type" : "boolean",
19020 "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!"
19021 },
19022 "size" : {
19023 "description" : "Volume size (read only value).",
19024 "format" : "disk-size",
19025 "format_description" : "DiskSize",
19026 "optional" : 1,
19027 "type" : "string"
19028 },
19029 "volume" : {
19030 "default_key" : 1,
19031 "description" : "Volume, device or directory to mount into the container.",
19032 "format" : "pve-lxc-mp-string",
19033 "format_description" : "volume",
19034 "type" : "string"
19035 }
19036 },
19037 "optional" : 1,
19038 "type" : "string"
19039 },
19040 "nameserver" : {
19041 "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.",
19042 "format" : "address-list",
19043 "optional" : 1,
19044 "type" : "string"
19045 },
19046 "net[n]" : {
19047 "description" : "Specifies network interfaces for the container.",
19048 "format" : {
19049 "bridge" : {
19050 "description" : "Bridge to attach the network device to.",
19051 "format_description" : "bridge",
19052 "optional" : 1,
19053 "pattern" : "[-_.\\w\\d]+",
19054 "type" : "string"
19055 },
19056 "firewall" : {
19057 "description" : "Controls whether this interface's firewall rules should be used.",
19058 "optional" : 1,
19059 "type" : "boolean"
19060 },
19061 "gw" : {
19062 "description" : "Default gateway for IPv4 traffic.",
19063 "format" : "ipv4",
19064 "format_description" : "GatewayIPv4",
19065 "optional" : 1,
19066 "type" : "string"
19067 },
19068 "gw6" : {
19069 "description" : "Default gateway for IPv6 traffic.",
19070 "format" : "ipv6",
19071 "format_description" : "GatewayIPv6",
19072 "optional" : 1,
19073 "type" : "string"
19074 },
19075 "hwaddr" : {
19076 "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)",
19077 "format_description" : "XX:XX:XX:XX:XX:XX",
19078 "optional" : 1,
19079 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
19080 "type" : "string"
19081 },
19082 "ip" : {
19083 "description" : "IPv4 address in CIDR format.",
19084 "format" : "pve-ipv4-config",
19085 "format_description" : "(IPv4/CIDR|dhcp|manual)",
19086 "optional" : 1,
19087 "type" : "string"
19088 },
19089 "ip6" : {
19090 "description" : "IPv6 address in CIDR format.",
19091 "format" : "pve-ipv6-config",
19092 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
19093 "optional" : 1,
19094 "type" : "string"
19095 },
19096 "mtu" : {
19097 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
19098 "minimum" : 64,
19099 "optional" : 1,
19100 "type" : "integer"
19101 },
19102 "name" : {
19103 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
19104 "format_description" : "string",
19105 "pattern" : "[-_.\\w\\d]+",
19106 "type" : "string"
19107 },
19108 "rate" : {
19109 "description" : "Apply rate limiting to the interface",
19110 "format_description" : "mbps",
19111 "optional" : 1,
19112 "type" : "number"
19113 },
19114 "tag" : {
19115 "description" : "VLAN tag for this interface.",
19116 "maximum" : 4094,
19117 "minimum" : 1,
19118 "optional" : 1,
19119 "type" : "integer"
19120 },
19121 "trunks" : {
19122 "description" : "VLAN ids to pass through the interface",
19123 "format_description" : "vlanid[;vlanid...]",
19124 "optional" : 1,
19125 "pattern" : "(?^:\\d+(?:;\\d+)*)",
19126 "type" : "string"
19127 },
19128 "type" : {
19129 "description" : "Network interface type.",
19130 "enum" : [
19131 "veth"
19132 ],
19133 "optional" : 1,
19134 "type" : "string"
19135 }
19136 },
19137 "optional" : 1,
19138 "type" : "string"
19139 },
19140 "onboot" : {
19141 "default" : 0,
19142 "description" : "Specifies whether a VM will be started during system bootup.",
19143 "optional" : 1,
19144 "type" : "boolean"
19145 },
19146 "ostype" : {
19147 "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.",
19148 "enum" : [
19149 "debian",
19150 "ubuntu",
19151 "centos",
19152 "fedora",
19153 "opensuse",
19154 "archlinux",
19155 "alpine",
19156 "gentoo",
19157 "unmanaged"
19158 ],
19159 "optional" : 1,
19160 "type" : "string"
19161 },
19162 "protection" : {
19163 "default" : 0,
19164 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
19165 "optional" : 1,
19166 "type" : "boolean"
19167 },
19168 "rootfs" : {
19169 "description" : "Use volume as container root.",
19170 "format" : {
19171 "acl" : {
19172 "description" : "Explicitly enable or disable ACL support.",
19173 "optional" : 1,
19174 "type" : "boolean"
19175 },
19176 "quota" : {
19177 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19178 "optional" : 1,
19179 "type" : "boolean"
19180 },
19181 "replicate" : {
19182 "default" : 1,
19183 "description" : "Will include this volume to a storage replica job.",
19184 "optional" : 1,
19185 "type" : "boolean"
19186 },
19187 "ro" : {
19188 "description" : "Read-only mount point",
19189 "optional" : 1,
19190 "type" : "boolean"
19191 },
19192 "shared" : {
19193 "default" : 0,
19194 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19195 "optional" : 1,
19196 "type" : "boolean",
19197 "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!"
19198 },
19199 "size" : {
19200 "description" : "Volume size (read only value).",
19201 "format" : "disk-size",
19202 "format_description" : "DiskSize",
19203 "optional" : 1,
19204 "type" : "string"
19205 },
19206 "volume" : {
19207 "default_key" : 1,
19208 "description" : "Volume, device or directory to mount into the container.",
19209 "format" : "pve-lxc-mp-string",
19210 "format_description" : "volume",
19211 "type" : "string"
19212 }
19213 },
19214 "optional" : 1,
19215 "type" : "string"
19216 },
19217 "searchdomain" : {
19218 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
19219 "format" : "dns-name-list",
19220 "optional" : 1,
19221 "type" : "string"
19222 },
19223 "startup" : {
19224 "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.",
19225 "format" : "pve-startup-order",
19226 "optional" : 1,
19227 "type" : "string",
19228 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
19229 },
19230 "swap" : {
19231 "default" : 512,
19232 "description" : "Amount of SWAP for the VM in MB.",
19233 "minimum" : 0,
19234 "optional" : 1,
19235 "type" : "integer"
19236 },
19237 "template" : {
19238 "default" : 0,
19239 "description" : "Enable/disable Template.",
19240 "optional" : 1,
19241 "type" : "boolean"
44660702 19242 },
4d47f125
TL
19243 "tty" : {
19244 "default" : 2,
19245 "description" : "Specify the number of tty available to the container",
19246 "maximum" : 6,
19247 "minimum" : 0,
19248 "optional" : 1,
19249 "type" : "integer"
19250 },
19251 "unprivileged" : {
19252 "default" : 0,
19253 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
19254 "optional" : 1,
19255 "type" : "boolean"
19256 },
19257 "unused[n]" : {
19258 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
19259 "format" : "pve-volume-id",
19260 "optional" : 1,
44660702
DM
19261 "type" : "string"
19262 }
19263 },
19264 "type" : "object"
19265 }
19266 },
56122987 19267 "PUT" : {
44660702
DM
19268 "description" : "Set container options.",
19269 "method" : "PUT",
19270 "name" : "update_vm",
56122987 19271 "parameters" : {
44660702 19272 "additionalProperties" : 0,
56122987 19273 "properties" : {
44660702
DM
19274 "arch" : {
19275 "default" : "amd64",
19276 "description" : "OS architecture type.",
19277 "enum" : [
19278 "amd64",
4d47f125
TL
19279 "i386",
19280 "arm64",
19281 "armhf"
44660702 19282 ],
7aacca6f 19283 "optional" : 1,
44660702
DM
19284 "type" : "string"
19285 },
19286 "cmode" : {
7aacca6f 19287 "default" : "tty",
44660702 19288 "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
19289 "enum" : [
19290 "shell",
19291 "console",
19292 "tty"
19293 ],
44660702
DM
19294 "optional" : 1,
19295 "type" : "string"
7aacca6f 19296 },
44660702
DM
19297 "console" : {
19298 "default" : 1,
19299 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 19300 "optional" : 1,
013dc89f
DM
19301 "type" : "boolean",
19302 "typetext" : "<boolean>"
7aacca6f 19303 },
de0983cb
DM
19304 "cores" : {
19305 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
19306 "maximum" : 128,
19307 "minimum" : 1,
19308 "optional" : 1,
19309 "type" : "integer",
013dc89f 19310 "typetext" : "<integer> (1 - 128)"
de0983cb 19311 },
44660702
DM
19312 "cpulimit" : {
19313 "default" : 0,
19314 "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.",
19315 "maximum" : 128,
7aacca6f 19316 "minimum" : 0,
7aacca6f 19317 "optional" : 1,
4bd7df8b 19318 "type" : "number",
013dc89f 19319 "typetext" : "<number> (0 - 128)"
7aacca6f 19320 },
44660702
DM
19321 "cpuunits" : {
19322 "default" : 1024,
19323 "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.",
19324 "maximum" : 500000,
19325 "minimum" : 0,
19326 "optional" : 1,
4bd7df8b 19327 "type" : "integer",
013dc89f 19328 "typetext" : "<integer> (0 - 500000)"
7aacca6f 19329 },
44660702
DM
19330 "delete" : {
19331 "description" : "A list of settings you want to delete.",
19332 "format" : "pve-configid-list",
7aacca6f 19333 "optional" : 1,
013dc89f
DM
19334 "type" : "string",
19335 "typetext" : "<string>"
7aacca6f 19336 },
44660702
DM
19337 "description" : {
19338 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 19339 "optional" : 1,
013dc89f
DM
19340 "type" : "string",
19341 "typetext" : "<string>"
7aacca6f 19342 },
44660702
DM
19343 "digest" : {
19344 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19345 "maxLength" : 40,
7aacca6f 19346 "optional" : 1,
013dc89f
DM
19347 "type" : "string",
19348 "typetext" : "<string>"
7aacca6f 19349 },
4d47f125
TL
19350 "features" : {
19351 "description" : "Allow containers access to advanced features.",
19352 "format" : {
e2d681b3
TL
19353 "fuse" : {
19354 "default" : 0,
19355 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
19356 "optional" : 1,
19357 "type" : "boolean"
19358 },
4d47f125
TL
19359 "keyctl" : {
19360 "default" : 0,
19361 "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.",
19362 "optional" : 1,
19363 "type" : "boolean"
19364 },
19365 "mount" : {
19366 "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.",
19367 "format_description" : "fstype;fstype;...",
19368 "optional" : 1,
19369 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
19370 "type" : "string"
19371 },
19372 "nesting" : {
19373 "default" : 0,
19374 "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.",
19375 "optional" : 1,
19376 "type" : "boolean"
19377 }
19378 },
19379 "optional" : 1,
19380 "type" : "string",
e2d681b3 19381 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 19382 },
44660702
DM
19383 "hostname" : {
19384 "description" : "Set a host name for the container.",
19385 "format" : "dns-name",
19386 "maxLength" : 255,
56122987 19387 "optional" : 1,
013dc89f
DM
19388 "type" : "string",
19389 "typetext" : "<string>"
44660702
DM
19390 },
19391 "lock" : {
19392 "description" : "Lock/unlock the VM.",
19393 "enum" : [
44660702 19394 "backup",
4d47f125
TL
19395 "disk",
19396 "migrate",
19397 "mounted",
19398 "rollback",
44660702 19399 "snapshot",
4d47f125 19400 "snapshot-delete"
44660702
DM
19401 ],
19402 "optional" : 1,
19403 "type" : "string"
19404 },
19405 "memory" : {
19406 "default" : 512,
19407 "description" : "Amount of RAM for the VM in MB.",
19408 "minimum" : 16,
19409 "optional" : 1,
4bd7df8b 19410 "type" : "integer",
013dc89f 19411 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
19412 },
19413 "mp[n]" : {
c2993fe5 19414 "description" : "Use volume as container mount point.",
7aacca6f 19415 "format" : {
7aacca6f
DM
19416 "acl" : {
19417 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 19418 "optional" : 1,
44660702 19419 "type" : "boolean"
7aacca6f
DM
19420 },
19421 "backup" : {
de0983cb 19422 "description" : "Whether to include the mount point in backups.",
7aacca6f 19423 "optional" : 1,
4bd7df8b 19424 "type" : "boolean",
de0983cb 19425 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
19426 },
19427 "mp" : {
de0983cb 19428 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 19429 "format" : "pve-lxc-mp-string",
44660702 19430 "format_description" : "Path",
4bd7df8b 19431 "type" : "string",
de0983cb 19432 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 19433 },
5d9c884c
DM
19434 "quota" : {
19435 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19436 "optional" : 1,
19437 "type" : "boolean"
19438 },
19439 "replicate" : {
19440 "default" : 1,
19441 "description" : "Will include this volume to a storage replica job.",
44660702
DM
19442 "optional" : 1,
19443 "type" : "boolean"
19444 },
19445 "ro" : {
de0983cb 19446 "description" : "Read-only mount point",
44660702
DM
19447 "optional" : 1,
19448 "type" : "boolean"
19449 },
de0983cb
DM
19450 "shared" : {
19451 "default" : 0,
19452 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19453 "optional" : 1,
19454 "type" : "boolean",
19455 "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!"
19456 },
44660702
DM
19457 "size" : {
19458 "description" : "Volume size (read only value).",
19459 "format" : "disk-size",
19460 "format_description" : "DiskSize",
19461 "optional" : 1,
19462 "type" : "string"
19463 },
19464 "volume" : {
19465 "default_key" : 1,
19466 "description" : "Volume, device or directory to mount into the container.",
19467 "format" : "pve-lxc-mp-string",
19468 "format_description" : "volume",
19469 "type" : "string"
19470 }
19471 },
7aacca6f 19472 "optional" : 1,
4bd7df8b 19473 "type" : "string",
5d9c884c 19474 "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 19475 },
44660702
DM
19476 "nameserver" : {
19477 "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.",
19478 "format" : "address-list",
56122987 19479 "optional" : 1,
013dc89f
DM
19480 "type" : "string",
19481 "typetext" : "<string>"
56122987
DM
19482 },
19483 "net[n]" : {
44660702 19484 "description" : "Specifies network interfaces for the container.",
56122987 19485 "format" : {
44660702
DM
19486 "bridge" : {
19487 "description" : "Bridge to attach the network device to.",
f004f5b9 19488 "format_description" : "bridge",
56122987 19489 "optional" : 1,
44660702
DM
19490 "pattern" : "[-_.\\w\\d]+",
19491 "type" : "string"
56122987 19492 },
44660702
DM
19493 "firewall" : {
19494 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 19495 "optional" : 1,
44660702 19496 "type" : "boolean"
56122987 19497 },
44660702
DM
19498 "gw" : {
19499 "description" : "Default gateway for IPv4 traffic.",
19500 "format" : "ipv4",
19501 "format_description" : "GatewayIPv4",
56122987 19502 "optional" : 1,
44660702 19503 "type" : "string"
56122987
DM
19504 },
19505 "gw6" : {
7aacca6f 19506 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
19507 "format" : "ipv6",
19508 "format_description" : "GatewayIPv6",
7aacca6f 19509 "optional" : 1,
56122987
DM
19510 "type" : "string"
19511 },
44660702 19512 "hwaddr" : {
f004f5b9
DM
19513 "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)",
19514 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
19515 "optional" : 1,
19516 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
19517 "type" : "string"
19518 },
19519 "ip" : {
19520 "description" : "IPv4 address in CIDR format.",
19521 "format" : "pve-ipv4-config",
2489d6df 19522 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 19523 "optional" : 1,
44660702 19524 "type" : "string"
56122987 19525 },
7aacca6f 19526 "ip6" : {
7aacca6f
DM
19527 "description" : "IPv6 address in CIDR format.",
19528 "format" : "pve-ipv6-config",
2489d6df 19529 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 19530 "optional" : 1,
44660702 19531 "type" : "string"
56122987 19532 },
44660702
DM
19533 "mtu" : {
19534 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 19535 "minimum" : 64,
56122987 19536 "optional" : 1,
44660702 19537 "type" : "integer"
56122987
DM
19538 },
19539 "name" : {
44660702 19540 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 19541 "format_description" : "string",
56122987 19542 "pattern" : "[-_.\\w\\d]+",
44660702 19543 "type" : "string"
56122987 19544 },
44660702
DM
19545 "rate" : {
19546 "description" : "Apply rate limiting to the interface",
19547 "format_description" : "mbps",
56122987 19548 "optional" : 1,
44660702 19549 "type" : "number"
7aacca6f 19550 },
44660702
DM
19551 "tag" : {
19552 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
19553 "maximum" : 4094,
19554 "minimum" : 1,
56122987 19555 "optional" : 1,
7aacca6f 19556 "type" : "integer"
56122987 19557 },
44660702
DM
19558 "trunks" : {
19559 "description" : "VLAN ids to pass through the interface",
19560 "format_description" : "vlanid[;vlanid...]",
19561 "optional" : 1,
19562 "pattern" : "(?^:\\d+(?:;\\d+)*)",
19563 "type" : "string"
19564 },
19565 "type" : {
19566 "description" : "Network interface type.",
19567 "enum" : [
19568 "veth"
19569 ],
56122987 19570 "optional" : 1,
44660702 19571 "type" : "string"
56122987
DM
19572 }
19573 },
7aacca6f 19574 "optional" : 1,
4bd7df8b 19575 "type" : "string",
2489d6df 19576 "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 19577 },
44660702
DM
19578 "node" : {
19579 "description" : "The cluster node name.",
19580 "format" : "pve-node",
013dc89f
DM
19581 "type" : "string",
19582 "typetext" : "<string>"
56122987 19583 },
44660702
DM
19584 "onboot" : {
19585 "default" : 0,
19586 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 19587 "optional" : 1,
013dc89f
DM
19588 "type" : "boolean",
19589 "typetext" : "<boolean>"
56122987 19590 },
44660702
DM
19591 "ostype" : {
19592 "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.",
19593 "enum" : [
19594 "debian",
19595 "ubuntu",
19596 "centos",
19597 "fedora",
19598 "opensuse",
19599 "archlinux",
19600 "alpine",
57b78691 19601 "gentoo",
44660702
DM
19602 "unmanaged"
19603 ],
56122987 19604 "optional" : 1,
44660702 19605 "type" : "string"
56122987 19606 },
44660702
DM
19607 "protection" : {
19608 "default" : 0,
19609 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 19610 "optional" : 1,
013dc89f
DM
19611 "type" : "boolean",
19612 "typetext" : "<boolean>"
56122987 19613 },
7aacca6f
DM
19614 "rootfs" : {
19615 "description" : "Use volume as container root.",
56122987
DM
19616 "format" : {
19617 "acl" : {
44660702 19618 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
19619 "optional" : 1,
19620 "type" : "boolean"
56122987 19621 },
44660702
DM
19622 "quota" : {
19623 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
19624 "optional" : 1,
19625 "type" : "boolean"
19626 },
5d9c884c
DM
19627 "replicate" : {
19628 "default" : 1,
19629 "description" : "Will include this volume to a storage replica job.",
19630 "optional" : 1,
19631 "type" : "boolean"
19632 },
44660702 19633 "ro" : {
de0983cb 19634 "description" : "Read-only mount point",
56122987 19635 "optional" : 1,
44660702
DM
19636 "type" : "boolean"
19637 },
de0983cb
DM
19638 "shared" : {
19639 "default" : 0,
19640 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19641 "optional" : 1,
19642 "type" : "boolean",
19643 "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!"
19644 },
44660702 19645 "size" : {
7aacca6f 19646 "description" : "Volume size (read only value).",
44660702 19647 "format" : "disk-size",
56122987 19648 "format_description" : "DiskSize",
56122987 19649 "optional" : 1,
44660702 19650 "type" : "string"
7aacca6f
DM
19651 },
19652 "volume" : {
7aacca6f
DM
19653 "default_key" : 1,
19654 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
19655 "format" : "pve-lxc-mp-string",
19656 "format_description" : "volume",
7aacca6f 19657 "type" : "string"
56122987 19658 }
44660702
DM
19659 },
19660 "optional" : 1,
4bd7df8b 19661 "type" : "string",
5d9c884c 19662 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
19663 },
19664 "searchdomain" : {
19665 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
19666 "format" : "dns-name-list",
19667 "optional" : 1,
013dc89f
DM
19668 "type" : "string",
19669 "typetext" : "<string>"
44660702
DM
19670 },
19671 "startup" : {
19672 "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.",
19673 "format" : "pve-startup-order",
19674 "optional" : 1,
19675 "type" : "string",
19676 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
19677 },
19678 "swap" : {
19679 "default" : 512,
19680 "description" : "Amount of SWAP for the VM in MB.",
19681 "minimum" : 0,
19682 "optional" : 1,
4bd7df8b 19683 "type" : "integer",
013dc89f 19684 "typetext" : "<integer> (0 - N)"
56122987 19685 },
56122987 19686 "template" : {
44660702 19687 "default" : 0,
7aacca6f 19688 "description" : "Enable/disable Template.",
56122987 19689 "optional" : 1,
013dc89f
DM
19690 "type" : "boolean",
19691 "typetext" : "<boolean>"
56122987 19692 },
44660702
DM
19693 "tty" : {
19694 "default" : 2,
19695 "description" : "Specify the number of tty available to the container",
19696 "maximum" : 6,
19697 "minimum" : 0,
19698 "optional" : 1,
4bd7df8b 19699 "type" : "integer",
013dc89f 19700 "typetext" : "<integer> (0 - 6)"
56122987 19701 },
44660702
DM
19702 "unprivileged" : {
19703 "default" : 0,
19704 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 19705 "optional" : 1,
013dc89f
DM
19706 "type" : "boolean",
19707 "typetext" : "<boolean>"
56122987 19708 },
44660702 19709 "unused[n]" : {
c2993fe5 19710 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 19711 "format" : "pve-volume-id",
56122987 19712 "optional" : 1,
013dc89f
DM
19713 "type" : "string",
19714 "typetext" : "<string>"
44660702
DM
19715 },
19716 "vmid" : {
19717 "description" : "The (unique) ID of the VM.",
19718 "format" : "pve-vmid",
19719 "minimum" : 1,
4bd7df8b 19720 "type" : "integer",
013dc89f 19721 "typetext" : "<integer> (1 - N)"
56122987 19722 }
44660702 19723 }
56122987 19724 },
56122987
DM
19725 "permissions" : {
19726 "check" : [
19727 "perm",
19728 "/vms/{vmid}",
19729 [
19730 "VM.Config.Disk",
19731 "VM.Config.CPU",
19732 "VM.Config.Memory",
19733 "VM.Config.Network",
19734 "VM.Config.Options"
19735 ],
19736 "any",
19737 1
52e44c50
FG
19738 ],
19739 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 19740 },
44660702
DM
19741 "protected" : 1,
19742 "proxyto" : "node",
56122987
DM
19743 "returns" : {
19744 "type" : "null"
7aacca6f 19745 }
56122987 19746 }
7aacca6f 19747 },
44660702 19748 "leaf" : 1,
7aacca6f 19749 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 19750 "text" : "config"
56122987
DM
19751 },
19752 {
56122987
DM
19753 "children" : [
19754 {
19755 "info" : {
19756 "GET" : {
44660702 19757 "description" : "Get virtual machine status.",
7aacca6f 19758 "method" : "GET",
44660702 19759 "name" : "vm_status",
56122987 19760 "parameters" : {
44660702 19761 "additionalProperties" : 0,
56122987 19762 "properties" : {
56122987 19763 "node" : {
44660702 19764 "description" : "The cluster node name.",
56122987 19765 "format" : "pve-node",
013dc89f
DM
19766 "type" : "string",
19767 "typetext" : "<string>"
7aacca6f
DM
19768 },
19769 "vmid" : {
19770 "description" : "The (unique) ID of the VM.",
44660702 19771 "format" : "pve-vmid",
7aacca6f 19772 "minimum" : 1,
4bd7df8b 19773 "type" : "integer",
013dc89f 19774 "typetext" : "<integer> (1 - N)"
56122987 19775 }
44660702 19776 }
7aacca6f
DM
19777 },
19778 "permissions" : {
19779 "check" : [
19780 "perm",
19781 "/vms/{vmid}",
19782 [
4d47f125
TL
19783 "VM.Audit"
19784 ]
19785 ]
19786 },
19787 "protected" : 1,
19788 "proxyto" : "node",
19789 "returns" : {
19790 "properties" : {
19791 "cpus" : {
19792 "description" : "Maximum usable CPUs.",
19793 "optional" : 1,
19794 "type" : "number"
19795 },
19796 "ha" : {
19797 "description" : "HA manager service status.",
19798 "type" : "object"
19799 },
19800 "maxdisk" : {
19801 "description" : "Root disk size in bytes.",
19802 "optional" : 1,
19803 "renderer" : "bytes",
19804 "type" : "integer"
19805 },
19806 "maxmem" : {
19807 "description" : "Maximum memory in bytes.",
19808 "optional" : 1,
19809 "renderer" : "bytes",
19810 "type" : "integer"
19811 },
19812 "maxswap" : {
19813 "description" : "Maximum SWAP memory in bytes.",
19814 "optional" : 1,
19815 "renderer" : "bytes",
19816 "type" : "integer"
19817 },
19818 "name" : {
19819 "description" : "Container name.",
19820 "optional" : 1,
19821 "type" : "string"
19822 },
19823 "status" : {
19824 "description" : "LXC Container status.",
19825 "enum" : [
19826 "stopped",
19827 "running"
19828 ],
19829 "type" : "string"
19830 },
19831 "uptime" : {
19832 "description" : "Uptime.",
19833 "optional" : 1,
19834 "renderer" : "duration",
19835 "type" : "integer"
19836 },
19837 "vmid" : {
19838 "description" : "The (unique) ID of the VM.",
19839 "format" : "pve-vmid",
19840 "minimum" : 1,
19841 "type" : "integer"
19842 }
19843 },
19844 "type" : "object"
19845 }
19846 }
19847 },
19848 "leaf" : 1,
19849 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
19850 "text" : "current"
19851 },
19852 {
19853 "info" : {
19854 "POST" : {
19855 "description" : "Start the container.",
19856 "method" : "POST",
19857 "name" : "vm_start",
19858 "parameters" : {
19859 "additionalProperties" : 0,
19860 "properties" : {
19861 "node" : {
19862 "description" : "The cluster node name.",
19863 "format" : "pve-node",
19864 "type" : "string",
19865 "typetext" : "<string>"
19866 },
19867 "skiplock" : {
19868 "description" : "Ignore locks - only root is allowed to use this option.",
19869 "optional" : 1,
19870 "type" : "boolean",
19871 "typetext" : "<boolean>"
19872 },
19873 "vmid" : {
19874 "description" : "The (unique) ID of the VM.",
19875 "format" : "pve-vmid",
19876 "minimum" : 1,
19877 "type" : "integer",
19878 "typetext" : "<integer> (1 - N)"
19879 }
19880 }
19881 },
19882 "permissions" : {
19883 "check" : [
19884 "perm",
19885 "/vms/{vmid}",
19886 [
19887 "VM.PowerMgmt"
19888 ]
19889 ]
19890 },
19891 "protected" : 1,
19892 "proxyto" : "node",
19893 "returns" : {
19894 "type" : "string"
19895 }
19896 }
19897 },
19898 "leaf" : 1,
19899 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
19900 "text" : "start"
19901 },
19902 {
19903 "info" : {
19904 "POST" : {
19905 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
19906 "method" : "POST",
19907 "name" : "vm_stop",
19908 "parameters" : {
19909 "additionalProperties" : 0,
19910 "properties" : {
19911 "node" : {
19912 "description" : "The cluster node name.",
19913 "format" : "pve-node",
19914 "type" : "string",
19915 "typetext" : "<string>"
19916 },
19917 "skiplock" : {
19918 "description" : "Ignore locks - only root is allowed to use this option.",
19919 "optional" : 1,
19920 "type" : "boolean",
19921 "typetext" : "<boolean>"
19922 },
19923 "vmid" : {
19924 "description" : "The (unique) ID of the VM.",
19925 "format" : "pve-vmid",
19926 "minimum" : 1,
19927 "type" : "integer",
19928 "typetext" : "<integer> (1 - N)"
19929 }
19930 }
19931 },
19932 "permissions" : {
19933 "check" : [
19934 "perm",
19935 "/vms/{vmid}",
19936 [
19937 "VM.PowerMgmt"
19938 ]
19939 ]
19940 },
19941 "protected" : 1,
19942 "proxyto" : "node",
19943 "returns" : {
19944 "type" : "string"
19945 }
19946 }
19947 },
19948 "leaf" : 1,
19949 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
19950 "text" : "stop"
19951 },
19952 {
19953 "info" : {
19954 "POST" : {
19955 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
19956 "method" : "POST",
19957 "name" : "vm_shutdown",
19958 "parameters" : {
19959 "additionalProperties" : 0,
19960 "properties" : {
19961 "forceStop" : {
19962 "default" : 0,
19963 "description" : "Make sure the Container stops.",
19964 "optional" : 1,
19965 "type" : "boolean",
19966 "typetext" : "<boolean>"
19967 },
19968 "node" : {
19969 "description" : "The cluster node name.",
19970 "format" : "pve-node",
19971 "type" : "string",
19972 "typetext" : "<string>"
19973 },
19974 "timeout" : {
19975 "default" : 60,
19976 "description" : "Wait maximal timeout seconds.",
19977 "minimum" : 0,
19978 "optional" : 1,
19979 "type" : "integer",
19980 "typetext" : "<integer> (0 - N)"
19981 },
19982 "vmid" : {
19983 "description" : "The (unique) ID of the VM.",
19984 "format" : "pve-vmid",
19985 "minimum" : 1,
19986 "type" : "integer",
19987 "typetext" : "<integer> (1 - N)"
19988 }
19989 }
19990 },
19991 "permissions" : {
19992 "check" : [
19993 "perm",
19994 "/vms/{vmid}",
19995 [
19996 "VM.PowerMgmt"
7aacca6f
DM
19997 ]
19998 ]
19999 },
44660702 20000 "protected" : 1,
7aacca6f 20001 "proxyto" : "node",
44660702 20002 "returns" : {
4d47f125 20003 "type" : "string"
44660702 20004 }
56122987
DM
20005 }
20006 },
44660702 20007 "leaf" : 1,
4d47f125
TL
20008 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
20009 "text" : "shutdown"
56122987
DM
20010 },
20011 {
56122987
DM
20012 "info" : {
20013 "POST" : {
4d47f125 20014 "description" : "Suspend the container.",
44660702 20015 "method" : "POST",
4d47f125 20016 "name" : "vm_suspend",
56122987
DM
20017 "parameters" : {
20018 "additionalProperties" : 0,
20019 "properties" : {
56122987 20020 "node" : {
7aacca6f 20021 "description" : "The cluster node name.",
44660702 20022 "format" : "pve-node",
013dc89f
DM
20023 "type" : "string",
20024 "typetext" : "<string>"
56122987
DM
20025 },
20026 "vmid" : {
7aacca6f 20027 "description" : "The (unique) ID of the VM.",
44660702 20028 "format" : "pve-vmid",
56122987 20029 "minimum" : 1,
4bd7df8b 20030 "type" : "integer",
013dc89f 20031 "typetext" : "<integer> (1 - N)"
56122987
DM
20032 }
20033 }
20034 },
20035 "permissions" : {
20036 "check" : [
20037 "perm",
20038 "/vms/{vmid}",
20039 [
20040 "VM.PowerMgmt"
20041 ]
20042 ]
20043 },
44660702 20044 "protected" : 1,
7aacca6f 20045 "proxyto" : "node",
44660702
DM
20046 "returns" : {
20047 "type" : "string"
20048 }
20049 }
20050 },
20051 "leaf" : 1,
4d47f125
TL
20052 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
20053 "text" : "suspend"
44660702
DM
20054 },
20055 {
20056 "info" : {
20057 "POST" : {
4d47f125 20058 "description" : "Resume the container.",
7aacca6f 20059 "method" : "POST",
4d47f125 20060 "name" : "vm_resume",
7aacca6f 20061 "parameters" : {
44660702 20062 "additionalProperties" : 0,
7aacca6f 20063 "properties" : {
44660702
DM
20064 "node" : {
20065 "description" : "The cluster node name.",
20066 "format" : "pve-node",
013dc89f
DM
20067 "type" : "string",
20068 "typetext" : "<string>"
44660702 20069 },
7aacca6f 20070 "vmid" : {
44660702 20071 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20072 "format" : "pve-vmid",
20073 "minimum" : 1,
4bd7df8b 20074 "type" : "integer",
013dc89f 20075 "typetext" : "<integer> (1 - N)"
7aacca6f 20076 }
44660702
DM
20077 }
20078 },
20079 "permissions" : {
20080 "check" : [
20081 "perm",
20082 "/vms/{vmid}",
20083 [
20084 "VM.PowerMgmt"
20085 ]
20086 ]
7aacca6f 20087 },
44660702
DM
20088 "protected" : 1,
20089 "proxyto" : "node",
20090 "returns" : {
20091 "type" : "string"
20092 }
56122987 20093 }
7aacca6f 20094 },
7aacca6f 20095 "leaf" : 1,
4d47f125
TL
20096 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
20097 "text" : "resume"
20098 }
20099 ],
20100 "info" : {
20101 "GET" : {
20102 "description" : "Directory index",
20103 "method" : "GET",
20104 "name" : "vmcmdidx",
20105 "parameters" : {
20106 "additionalProperties" : 0,
20107 "properties" : {
20108 "node" : {
20109 "description" : "The cluster node name.",
20110 "format" : "pve-node",
20111 "type" : "string",
20112 "typetext" : "<string>"
20113 },
20114 "vmid" : {
20115 "description" : "The (unique) ID of the VM.",
20116 "format" : "pve-vmid",
20117 "minimum" : 1,
20118 "type" : "integer",
20119 "typetext" : "<integer> (1 - N)"
20120 }
20121 }
20122 },
20123 "permissions" : {
20124 "user" : "all"
20125 },
20126 "proxyto" : "node",
20127 "returns" : {
20128 "items" : {
20129 "properties" : {
20130 "subdir" : {
20131 "type" : "string"
20132 }
20133 },
20134 "type" : "object"
20135 },
20136 "links" : [
20137 {
20138 "href" : "{subdir}",
20139 "rel" : "child"
20140 }
20141 ],
20142 "type" : "array"
20143 }
20144 }
20145 },
20146 "leaf" : 0,
20147 "path" : "/nodes/{node}/lxc/{vmid}/status",
20148 "text" : "status"
20149 },
20150 {
20151 "children" : [
56122987 20152 {
4d47f125
TL
20153 "children" : [
20154 {
20155 "info" : {
20156 "POST" : {
20157 "description" : "Rollback LXC state to specified snapshot.",
20158 "method" : "POST",
20159 "name" : "rollback",
20160 "parameters" : {
20161 "additionalProperties" : 0,
20162 "properties" : {
20163 "node" : {
20164 "description" : "The cluster node name.",
20165 "format" : "pve-node",
20166 "type" : "string",
20167 "typetext" : "<string>"
20168 },
20169 "snapname" : {
20170 "description" : "The name of the snapshot.",
20171 "format" : "pve-configid",
20172 "maxLength" : 40,
20173 "type" : "string",
20174 "typetext" : "<string>"
20175 },
20176 "vmid" : {
20177 "description" : "The (unique) ID of the VM.",
20178 "format" : "pve-vmid",
20179 "minimum" : 1,
20180 "type" : "integer",
20181 "typetext" : "<integer> (1 - N)"
20182 }
20183 }
20184 },
20185 "permissions" : {
20186 "check" : [
20187 "perm",
20188 "/vms/{vmid}",
20189 [
20190 "VM.Snapshot",
20191 "VM.Snapshot.Rollback"
20192 ],
20193 "any",
20194 1
20195 ]
20196 },
20197 "protected" : 1,
20198 "proxyto" : "node",
20199 "returns" : {
20200 "description" : "the task ID.",
20201 "type" : "string"
20202 }
20203 }
20204 },
20205 "leaf" : 1,
20206 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
20207 "text" : "rollback"
20208 },
20209 {
20210 "info" : {
20211 "GET" : {
20212 "description" : "Get snapshot configuration",
20213 "method" : "GET",
20214 "name" : "get_snapshot_config",
20215 "parameters" : {
20216 "additionalProperties" : 0,
20217 "properties" : {
20218 "node" : {
20219 "description" : "The cluster node name.",
20220 "format" : "pve-node",
20221 "type" : "string",
20222 "typetext" : "<string>"
20223 },
20224 "snapname" : {
20225 "description" : "The name of the snapshot.",
20226 "format" : "pve-configid",
20227 "maxLength" : 40,
20228 "type" : "string",
20229 "typetext" : "<string>"
20230 },
20231 "vmid" : {
20232 "description" : "The (unique) ID of the VM.",
20233 "format" : "pve-vmid",
20234 "minimum" : 1,
20235 "type" : "integer",
20236 "typetext" : "<integer> (1 - N)"
20237 }
20238 }
20239 },
20240 "permissions" : {
20241 "check" : [
20242 "perm",
20243 "/vms/{vmid}",
20244 [
20245 "VM.Snapshot",
20246 "VM.Snapshot.Rollback"
20247 ],
20248 "any",
20249 1
20250 ]
20251 },
20252 "proxyto" : "node",
20253 "returns" : {
20254 "type" : "object"
20255 }
20256 },
20257 "PUT" : {
20258 "description" : "Update snapshot metadata.",
20259 "method" : "PUT",
20260 "name" : "update_snapshot_config",
20261 "parameters" : {
20262 "additionalProperties" : 0,
20263 "properties" : {
20264 "description" : {
20265 "description" : "A textual description or comment.",
20266 "optional" : 1,
20267 "type" : "string",
20268 "typetext" : "<string>"
20269 },
20270 "node" : {
20271 "description" : "The cluster node name.",
20272 "format" : "pve-node",
20273 "type" : "string",
20274 "typetext" : "<string>"
20275 },
20276 "snapname" : {
20277 "description" : "The name of the snapshot.",
20278 "format" : "pve-configid",
20279 "maxLength" : 40,
20280 "type" : "string",
20281 "typetext" : "<string>"
20282 },
20283 "vmid" : {
20284 "description" : "The (unique) ID of the VM.",
20285 "format" : "pve-vmid",
20286 "minimum" : 1,
20287 "type" : "integer",
20288 "typetext" : "<integer> (1 - N)"
20289 }
20290 }
20291 },
20292 "permissions" : {
20293 "check" : [
20294 "perm",
20295 "/vms/{vmid}",
20296 [
20297 "VM.Snapshot"
20298 ]
20299 ]
20300 },
20301 "protected" : 1,
20302 "proxyto" : "node",
20303 "returns" : {
20304 "type" : "null"
20305 }
20306 }
20307 },
20308 "leaf" : 1,
20309 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
20310 "text" : "config"
20311 }
20312 ],
56122987 20313 "info" : {
4d47f125
TL
20314 "DELETE" : {
20315 "description" : "Delete a LXC snapshot.",
20316 "method" : "DELETE",
20317 "name" : "delsnapshot",
56122987 20318 "parameters" : {
44660702 20319 "additionalProperties" : 0,
56122987 20320 "properties" : {
4d47f125
TL
20321 "force" : {
20322 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 20323 "optional" : 1,
013dc89f
DM
20324 "type" : "boolean",
20325 "typetext" : "<boolean>"
44660702
DM
20326 },
20327 "node" : {
20328 "description" : "The cluster node name.",
20329 "format" : "pve-node",
013dc89f
DM
20330 "type" : "string",
20331 "typetext" : "<string>"
7aacca6f 20332 },
4d47f125
TL
20333 "snapname" : {
20334 "description" : "The name of the snapshot.",
20335 "format" : "pve-configid",
20336 "maxLength" : 40,
20337 "type" : "string",
20338 "typetext" : "<string>"
56122987
DM
20339 },
20340 "vmid" : {
7aacca6f 20341 "description" : "The (unique) ID of the VM.",
44660702
DM
20342 "format" : "pve-vmid",
20343 "minimum" : 1,
4bd7df8b 20344 "type" : "integer",
013dc89f 20345 "typetext" : "<integer> (1 - N)"
56122987 20346 }
44660702 20347 }
56122987
DM
20348 },
20349 "permissions" : {
20350 "check" : [
20351 "perm",
20352 "/vms/{vmid}",
20353 [
4d47f125 20354 "VM.Snapshot"
56122987
DM
20355 ]
20356 ]
20357 },
44660702
DM
20358 "protected" : 1,
20359 "proxyto" : "node",
7aacca6f 20360 "returns" : {
4d47f125 20361 "description" : "the task ID.",
7aacca6f
DM
20362 "type" : "string"
20363 }
4d47f125
TL
20364 },
20365 "GET" : {
20366 "description" : "",
20367 "method" : "GET",
20368 "name" : "snapshot_cmd_idx",
56122987
DM
20369 "parameters" : {
20370 "additionalProperties" : 0,
20371 "properties" : {
44660702
DM
20372 "node" : {
20373 "description" : "The cluster node name.",
20374 "format" : "pve-node",
013dc89f
DM
20375 "type" : "string",
20376 "typetext" : "<string>"
44660702 20377 },
4d47f125
TL
20378 "snapname" : {
20379 "description" : "The name of the snapshot.",
20380 "format" : "pve-configid",
20381 "maxLength" : 40,
013dc89f
DM
20382 "type" : "string",
20383 "typetext" : "<string>"
56122987
DM
20384 },
20385 "vmid" : {
7aacca6f 20386 "description" : "The (unique) ID of the VM.",
56122987 20387 "format" : "pve-vmid",
44660702 20388 "minimum" : 1,
4bd7df8b 20389 "type" : "integer",
013dc89f 20390 "typetext" : "<integer> (1 - N)"
56122987 20391 }
44660702
DM
20392 }
20393 },
20394 "permissions" : {
4d47f125 20395 "user" : "all"
56122987 20396 },
44660702 20397 "returns" : {
4d47f125
TL
20398 "items" : {
20399 "properties" : {},
20400 "type" : "object"
20401 },
20402 "links" : [
20403 {
20404 "href" : "{cmd}",
20405 "rel" : "child"
20406 }
20407 ],
20408 "type" : "array"
44660702 20409 }
7aacca6f
DM
20410 }
20411 },
4d47f125
TL
20412 "leaf" : 0,
20413 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
20414 "text" : "{snapname}"
7aacca6f
DM
20415 }
20416 ],
20417 "info" : {
20418 "GET" : {
4d47f125 20419 "description" : "List all snapshots.",
44660702 20420 "method" : "GET",
4d47f125 20421 "name" : "list",
7aacca6f
DM
20422 "parameters" : {
20423 "additionalProperties" : 0,
20424 "properties" : {
20425 "node" : {
20426 "description" : "The cluster node name.",
44660702 20427 "format" : "pve-node",
013dc89f
DM
20428 "type" : "string",
20429 "typetext" : "<string>"
56122987 20430 },
7aacca6f 20431 "vmid" : {
44660702 20432 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20433 "format" : "pve-vmid",
20434 "minimum" : 1,
4bd7df8b 20435 "type" : "integer",
013dc89f 20436 "typetext" : "<integer> (1 - N)"
7aacca6f 20437 }
56122987
DM
20438 }
20439 },
44660702 20440 "permissions" : {
4d47f125
TL
20441 "check" : [
20442 "perm",
20443 "/vms/{vmid}",
20444 [
20445 "VM.Audit"
20446 ]
20447 ]
44660702 20448 },
4d47f125 20449 "protected" : 1,
44660702 20450 "proxyto" : "node",
7aacca6f 20451 "returns" : {
7aacca6f
DM
20452 "items" : {
20453 "properties" : {
4d47f125
TL
20454 "description" : {
20455 "description" : "Snapshot description.",
7aacca6f 20456 "type" : "string"
4d47f125
TL
20457 },
20458 "name" : {
20459 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
20460 "type" : "string"
20461 },
20462 "parent" : {
20463 "description" : "Parent snapshot identifier.",
20464 "optional" : 1,
20465 "type" : "string"
20466 },
20467 "snaptime" : {
20468 "description" : "Snapshot creation time",
20469 "optional" : 1,
20470 "renderer" : "timestamp",
20471 "type" : "integer"
7aacca6f
DM
20472 }
20473 },
20474 "type" : "object"
20475 },
20476 "links" : [
20477 {
4d47f125 20478 "href" : "{name}",
44660702 20479 "rel" : "child"
7aacca6f 20480 }
44660702
DM
20481 ],
20482 "type" : "array"
7aacca6f 20483 }
4d47f125
TL
20484 },
20485 "POST" : {
20486 "description" : "Snapshot a container.",
20487 "method" : "POST",
20488 "name" : "snapshot",
20489 "parameters" : {
20490 "additionalProperties" : 0,
20491 "properties" : {
20492 "description" : {
20493 "description" : "A textual description or comment.",
20494 "optional" : 1,
20495 "type" : "string",
20496 "typetext" : "<string>"
20497 },
20498 "node" : {
20499 "description" : "The cluster node name.",
20500 "format" : "pve-node",
20501 "type" : "string",
20502 "typetext" : "<string>"
20503 },
20504 "snapname" : {
20505 "description" : "The name of the snapshot.",
20506 "format" : "pve-configid",
20507 "maxLength" : 40,
20508 "type" : "string",
20509 "typetext" : "<string>"
20510 },
20511 "vmid" : {
20512 "description" : "The (unique) ID of the VM.",
20513 "format" : "pve-vmid",
20514 "minimum" : 1,
20515 "type" : "integer",
20516 "typetext" : "<integer> (1 - N)"
20517 }
20518 }
20519 },
20520 "permissions" : {
20521 "check" : [
20522 "perm",
20523 "/vms/{vmid}",
20524 [
20525 "VM.Snapshot"
20526 ]
20527 ]
20528 },
20529 "protected" : 1,
20530 "proxyto" : "node",
20531 "returns" : {
20532 "description" : "the task ID.",
20533 "type" : "string"
20534 }
7aacca6f 20535 }
44660702
DM
20536 },
20537 "leaf" : 0,
4d47f125
TL
20538 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
20539 "text" : "snapshot"
7aacca6f
DM
20540 },
20541 {
7aacca6f 20542 "children" : [
56122987 20543 {
7aacca6f
DM
20544 "children" : [
20545 {
20546 "info" : {
4d47f125
TL
20547 "DELETE" : {
20548 "description" : "Delete rule.",
20549 "method" : "DELETE",
20550 "name" : "delete_rule",
7aacca6f 20551 "parameters" : {
44660702 20552 "additionalProperties" : 0,
7aacca6f 20553 "properties" : {
4d47f125
TL
20554 "digest" : {
20555 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20556 "maxLength" : 40,
20557 "optional" : 1,
20558 "type" : "string",
20559 "typetext" : "<string>"
20560 },
44660702
DM
20561 "node" : {
20562 "description" : "The cluster node name.",
20563 "format" : "pve-node",
013dc89f
DM
20564 "type" : "string",
20565 "typetext" : "<string>"
44660702 20566 },
4d47f125
TL
20567 "pos" : {
20568 "description" : "Update rule at position <pos>.",
20569 "minimum" : 0,
20570 "optional" : 1,
20571 "type" : "integer",
20572 "typetext" : "<integer> (0 - N)"
7aacca6f 20573 },
7aacca6f 20574 "vmid" : {
44660702 20575 "description" : "The (unique) ID of the VM.",
7aacca6f 20576 "format" : "pve-vmid",
44660702 20577 "minimum" : 1,
4bd7df8b 20578 "type" : "integer",
013dc89f 20579 "typetext" : "<integer> (1 - N)"
7aacca6f 20580 }
44660702
DM
20581 }
20582 },
20583 "permissions" : {
20584 "check" : [
20585 "perm",
20586 "/vms/{vmid}",
20587 [
4d47f125
TL
20588 "VM.Config.Network"
20589 ]
44660702 20590 ]
7aacca6f 20591 },
44660702 20592 "protected" : 1,
4d47f125 20593 "proxyto" : null,
44660702 20594 "returns" : {
4d47f125 20595 "type" : "null"
44660702 20596 }
4d47f125 20597 },
7aacca6f 20598 "GET" : {
4d47f125 20599 "description" : "Get single rule data.",
44660702 20600 "method" : "GET",
4d47f125 20601 "name" : "get_rule",
7aacca6f
DM
20602 "parameters" : {
20603 "additionalProperties" : 0,
4d47f125
TL
20604 "properties" : {
20605 "node" : {
20606 "description" : "The cluster node name.",
20607 "format" : "pve-node",
013dc89f
DM
20608 "type" : "string",
20609 "typetext" : "<string>"
44660702 20610 },
4d47f125
TL
20611 "pos" : {
20612 "description" : "Update rule at position <pos>.",
20613 "minimum" : 0,
20614 "optional" : 1,
20615 "type" : "integer",
20616 "typetext" : "<integer> (0 - N)"
20617 },
44660702
DM
20618 "vmid" : {
20619 "description" : "The (unique) ID of the VM.",
20620 "format" : "pve-vmid",
20621 "minimum" : 1,
4bd7df8b 20622 "type" : "integer",
013dc89f 20623 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
20624 }
20625 }
20626 },
20627 "permissions" : {
20628 "check" : [
20629 "perm",
20630 "/vms/{vmid}",
20631 [
4d47f125
TL
20632 "VM.Audit"
20633 ]
7aacca6f
DM
20634 ]
20635 },
4d47f125 20636 "proxyto" : null,
44660702 20637 "returns" : {
4d47f125 20638 "properties" : {
e2d681b3
TL
20639 "action" : {
20640 "type" : "string"
20641 },
20642 "comment" : {
20643 "optional" : 1,
20644 "type" : "string"
20645 },
20646 "dest" : {
20647 "optional" : 1,
20648 "type" : "string"
20649 },
20650 "dport" : {
20651 "optional" : 1,
20652 "type" : "string"
20653 },
20654 "enable" : {
20655 "optional" : 1,
20656 "type" : "integer"
20657 },
20658 "iface" : {
20659 "optional" : 1,
20660 "type" : "string"
20661 },
20662 "ipversion" : {
20663 "optional" : 1,
20664 "type" : "integer"
20665 },
20666 "macro" : {
20667 "optional" : 1,
20668 "type" : "integer"
20669 },
4d47f125
TL
20670 "pos" : {
20671 "type" : "integer"
e2d681b3
TL
20672 },
20673 "proto" : {
20674 "optional" : 1,
20675 "type" : "string"
20676 },
20677 "source" : {
20678 "optional" : 1,
20679 "type" : "string"
20680 },
20681 "sport" : {
20682 "optional" : 1,
20683 "type" : "string"
20684 },
20685 "type" : {
20686 "type" : "string"
4d47f125
TL
20687 }
20688 },
44660702
DM
20689 "type" : "object"
20690 }
7aacca6f
DM
20691 },
20692 "PUT" : {
4d47f125 20693 "description" : "Modify rule data.",
44660702 20694 "method" : "PUT",
4d47f125 20695 "name" : "update_rule",
7aacca6f
DM
20696 "parameters" : {
20697 "additionalProperties" : 0,
20698 "properties" : {
4d47f125
TL
20699 "action" : {
20700 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
20701 "maxLength" : 20,
20702 "minLength" : 2,
20703 "optional" : 1,
20704 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20705 "type" : "string"
20706 },
20707 "comment" : {
20708 "description" : "Descriptive comment.",
20709 "optional" : 1,
20710 "type" : "string",
20711 "typetext" : "<string>"
20712 },
20713 "delete" : {
20714 "description" : "A list of settings you want to delete.",
20715 "format" : "pve-configid-list",
20716 "optional" : 1,
20717 "type" : "string",
20718 "typetext" : "<string>"
20719 },
20720 "dest" : {
20721 "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.",
20722 "format" : "pve-fw-addr-spec",
20723 "optional" : 1,
20724 "type" : "string",
20725 "typetext" : "<string>"
20726 },
20727 "digest" : {
20728 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20729 "maxLength" : 40,
20730 "optional" : 1,
20731 "type" : "string",
20732 "typetext" : "<string>"
20733 },
20734 "dport" : {
20735 "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.",
20736 "format" : "pve-fw-dport-spec",
20737 "optional" : 1,
20738 "type" : "string",
20739 "typetext" : "<string>"
20740 },
20741 "enable" : {
20742 "description" : "Flag to enable/disable a rule.",
20743 "minimum" : 0,
20744 "optional" : 1,
20745 "type" : "integer",
20746 "typetext" : "<integer> (0 - N)"
20747 },
20748 "iface" : {
20749 "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.",
20750 "format" : "pve-iface",
20751 "maxLength" : 20,
20752 "minLength" : 2,
20753 "optional" : 1,
20754 "type" : "string",
20755 "typetext" : "<string>"
20756 },
20757 "macro" : {
20758 "description" : "Use predefined standard macro.",
20759 "maxLength" : 128,
44660702 20760 "optional" : 1,
013dc89f
DM
20761 "type" : "string",
20762 "typetext" : "<string>"
44660702 20763 },
4d47f125
TL
20764 "moveto" : {
20765 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
20766 "minimum" : 0,
20767 "optional" : 1,
20768 "type" : "integer",
20769 "typetext" : "<integer> (0 - N)"
20770 },
7aacca6f 20771 "node" : {
7aacca6f 20772 "description" : "The cluster node name.",
44660702 20773 "format" : "pve-node",
013dc89f
DM
20774 "type" : "string",
20775 "typetext" : "<string>"
7aacca6f 20776 },
4d47f125
TL
20777 "pos" : {
20778 "description" : "Update rule at position <pos>.",
20779 "minimum" : 0,
20780 "optional" : 1,
20781 "type" : "integer",
20782 "typetext" : "<integer> (0 - N)"
20783 },
20784 "proto" : {
20785 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
20786 "format" : "pve-fw-protocol-spec",
20787 "optional" : 1,
20788 "type" : "string",
20789 "typetext" : "<string>"
20790 },
20791 "source" : {
20792 "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.",
20793 "format" : "pve-fw-addr-spec",
20794 "optional" : 1,
20795 "type" : "string",
20796 "typetext" : "<string>"
20797 },
20798 "sport" : {
20799 "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.",
20800 "format" : "pve-fw-sport-spec",
20801 "optional" : 1,
013dc89f
DM
20802 "type" : "string",
20803 "typetext" : "<string>"
7aacca6f 20804 },
4d47f125
TL
20805 "type" : {
20806 "description" : "Rule type.",
20807 "enum" : [
20808 "in",
20809 "out",
20810 "group"
20811 ],
20812 "optional" : 1,
20813 "type" : "string"
20814 },
7aacca6f 20815 "vmid" : {
44660702 20816 "description" : "The (unique) ID of the VM.",
7aacca6f 20817 "format" : "pve-vmid",
44660702 20818 "minimum" : 1,
4bd7df8b 20819 "type" : "integer",
013dc89f 20820 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
20821 }
20822 }
20823 },
7aacca6f
DM
20824 "permissions" : {
20825 "check" : [
20826 "perm",
20827 "/vms/{vmid}",
20828 [
4d47f125 20829 "VM.Config.Network"
7aacca6f
DM
20830 ]
20831 ]
20832 },
4d47f125
TL
20833 "protected" : 1,
20834 "proxyto" : null,
20835 "returns" : {
20836 "type" : "null"
20837 }
20838 }
20839 },
20840 "leaf" : 1,
20841 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
20842 "text" : "{pos}"
20843 }
20844 ],
20845 "info" : {
20846 "GET" : {
20847 "description" : "List rules.",
20848 "method" : "GET",
20849 "name" : "get_rules",
20850 "parameters" : {
20851 "additionalProperties" : 0,
20852 "properties" : {
20853 "node" : {
20854 "description" : "The cluster node name.",
20855 "format" : "pve-node",
20856 "type" : "string",
20857 "typetext" : "<string>"
20858 },
20859 "vmid" : {
20860 "description" : "The (unique) ID of the VM.",
20861 "format" : "pve-vmid",
20862 "minimum" : 1,
20863 "type" : "integer",
20864 "typetext" : "<integer> (1 - N)"
20865 }
20866 }
20867 },
20868 "permissions" : {
20869 "check" : [
20870 "perm",
20871 "/vms/{vmid}",
20872 [
20873 "VM.Audit"
20874 ]
20875 ]
20876 },
20877 "proxyto" : null,
20878 "returns" : {
20879 "items" : {
20880 "properties" : {
20881 "pos" : {
20882 "type" : "integer"
20883 }
20884 },
20885 "type" : "object"
20886 },
20887 "links" : [
20888 {
20889 "href" : "{pos}",
20890 "rel" : "child"
20891 }
20892 ],
20893 "type" : "array"
20894 }
20895 },
20896 "POST" : {
20897 "description" : "Create new rule.",
20898 "method" : "POST",
20899 "name" : "create_rule",
20900 "parameters" : {
20901 "additionalProperties" : 0,
20902 "properties" : {
20903 "action" : {
20904 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
20905 "maxLength" : 20,
20906 "minLength" : 2,
20907 "optional" : 0,
20908 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20909 "type" : "string"
20910 },
20911 "comment" : {
20912 "description" : "Descriptive comment.",
20913 "optional" : 1,
20914 "type" : "string",
20915 "typetext" : "<string>"
20916 },
20917 "dest" : {
20918 "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.",
20919 "format" : "pve-fw-addr-spec",
20920 "optional" : 1,
20921 "type" : "string",
20922 "typetext" : "<string>"
20923 },
20924 "digest" : {
20925 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20926 "maxLength" : 40,
20927 "optional" : 1,
20928 "type" : "string",
20929 "typetext" : "<string>"
20930 },
20931 "dport" : {
20932 "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.",
20933 "format" : "pve-fw-dport-spec",
20934 "optional" : 1,
20935 "type" : "string",
20936 "typetext" : "<string>"
20937 },
20938 "enable" : {
20939 "description" : "Flag to enable/disable a rule.",
20940 "minimum" : 0,
20941 "optional" : 1,
20942 "type" : "integer",
20943 "typetext" : "<integer> (0 - N)"
20944 },
20945 "iface" : {
20946 "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.",
20947 "format" : "pve-iface",
20948 "maxLength" : 20,
20949 "minLength" : 2,
20950 "optional" : 1,
20951 "type" : "string",
20952 "typetext" : "<string>"
20953 },
20954 "macro" : {
20955 "description" : "Use predefined standard macro.",
20956 "maxLength" : 128,
44660702 20957 "optional" : 1,
4d47f125
TL
20958 "type" : "string",
20959 "typetext" : "<string>"
44660702
DM
20960 },
20961 "node" : {
20962 "description" : "The cluster node name.",
20963 "format" : "pve-node",
013dc89f
DM
20964 "type" : "string",
20965 "typetext" : "<string>"
7aacca6f 20966 },
4d47f125
TL
20967 "pos" : {
20968 "description" : "Update rule at position <pos>.",
20969 "minimum" : 0,
20970 "optional" : 1,
20971 "type" : "integer",
20972 "typetext" : "<integer> (0 - N)"
20973 },
20974 "proto" : {
20975 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
20976 "format" : "pve-fw-protocol-spec",
20977 "optional" : 1,
20978 "type" : "string",
20979 "typetext" : "<string>"
20980 },
20981 "source" : {
20982 "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.",
20983 "format" : "pve-fw-addr-spec",
20984 "optional" : 1,
013dc89f
DM
20985 "type" : "string",
20986 "typetext" : "<string>"
44660702 20987 },
4d47f125
TL
20988 "sport" : {
20989 "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.",
20990 "format" : "pve-fw-sport-spec",
20991 "optional" : 1,
20992 "type" : "string",
20993 "typetext" : "<string>"
20994 },
20995 "type" : {
20996 "description" : "Rule type.",
20997 "enum" : [
20998 "in",
20999 "out",
21000 "group"
21001 ],
21002 "optional" : 0,
21003 "type" : "string"
21004 },
44660702
DM
21005 "vmid" : {
21006 "description" : "The (unique) ID of the VM.",
21007 "format" : "pve-vmid",
21008 "minimum" : 1,
4bd7df8b 21009 "type" : "integer",
013dc89f 21010 "typetext" : "<integer> (1 - N)"
56122987 21011 }
44660702 21012 }
7aacca6f 21013 },
56122987
DM
21014 "permissions" : {
21015 "check" : [
21016 "perm",
21017 "/vms/{vmid}",
21018 [
4d47f125 21019 "VM.Config.Network"
56122987
DM
21020 ]
21021 ]
21022 },
44660702 21023 "protected" : 1,
4d47f125 21024 "proxyto" : null,
44660702 21025 "returns" : {
4d47f125 21026 "type" : "null"
44660702
DM
21027 }
21028 }
21029 },
21030 "leaf" : 0,
4d47f125
TL
21031 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
21032 "text" : "rules"
7aacca6f 21033 },
56122987 21034 {
56122987
DM
21035 "children" : [
21036 {
56122987 21037 "info" : {
44660702 21038 "DELETE" : {
4d47f125 21039 "description" : "Remove IP or Network alias.",
44660702 21040 "method" : "DELETE",
4d47f125 21041 "name" : "remove_alias",
56122987 21042 "parameters" : {
44660702 21043 "additionalProperties" : 0,
56122987 21044 "properties" : {
44660702
DM
21045 "digest" : {
21046 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21047 "maxLength" : 40,
7aacca6f 21048 "optional" : 1,
013dc89f
DM
21049 "type" : "string",
21050 "typetext" : "<string>"
7aacca6f 21051 },
4d47f125
TL
21052 "name" : {
21053 "description" : "Alias name.",
21054 "maxLength" : 64,
21055 "minLength" : 2,
21056 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21057 "type" : "string"
21058 },
7aacca6f 21059 "node" : {
44660702 21060 "description" : "The cluster node name.",
7aacca6f 21061 "format" : "pve-node",
013dc89f
DM
21062 "type" : "string",
21063 "typetext" : "<string>"
44660702 21064 },
44660702
DM
21065 "vmid" : {
21066 "description" : "The (unique) ID of the VM.",
21067 "format" : "pve-vmid",
21068 "minimum" : 1,
4bd7df8b 21069 "type" : "integer",
013dc89f 21070 "typetext" : "<integer> (1 - N)"
56122987 21071 }
44660702 21072 }
56122987 21073 },
56122987
DM
21074 "permissions" : {
21075 "check" : [
21076 "perm",
21077 "/vms/{vmid}",
21078 [
44660702 21079 "VM.Config.Network"
56122987
DM
21080 ]
21081 ]
21082 },
44660702 21083 "protected" : 1,
44660702
DM
21084 "returns" : {
21085 "type" : "null"
21086 }
7aacca6f 21087 },
44660702 21088 "GET" : {
4d47f125 21089 "description" : "Read alias.",
44660702 21090 "method" : "GET",
4d47f125 21091 "name" : "read_alias",
56122987 21092 "parameters" : {
44660702 21093 "additionalProperties" : 0,
56122987 21094 "properties" : {
4d47f125
TL
21095 "name" : {
21096 "description" : "Alias name.",
21097 "maxLength" : 64,
21098 "minLength" : 2,
21099 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21100 "type" : "string"
21101 },
7aacca6f 21102 "node" : {
7aacca6f 21103 "description" : "The cluster node name.",
44660702 21104 "format" : "pve-node",
013dc89f
DM
21105 "type" : "string",
21106 "typetext" : "<string>"
56122987 21107 },
7aacca6f 21108 "vmid" : {
44660702 21109 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21110 "format" : "pve-vmid",
21111 "minimum" : 1,
4bd7df8b 21112 "type" : "integer",
013dc89f 21113 "typetext" : "<integer> (1 - N)"
56122987 21114 }
44660702 21115 }
56122987 21116 },
7aacca6f
DM
21117 "permissions" : {
21118 "check" : [
21119 "perm",
21120 "/vms/{vmid}",
21121 [
44660702 21122 "VM.Audit"
7aacca6f
DM
21123 ]
21124 ]
21125 },
7aacca6f 21126 "returns" : {
44660702 21127 "type" : "object"
7aacca6f 21128 }
56122987 21129 },
44660702 21130 "PUT" : {
4d47f125 21131 "description" : "Update IP or Network alias.",
44660702 21132 "method" : "PUT",
4d47f125 21133 "name" : "update_alias",
56122987
DM
21134 "parameters" : {
21135 "additionalProperties" : 0,
21136 "properties" : {
4d47f125
TL
21137 "cidr" : {
21138 "description" : "Network/IP specification in CIDR format.",
21139 "format" : "IPorCIDR",
013dc89f
DM
21140 "type" : "string",
21141 "typetext" : "<string>"
44660702 21142 },
4d47f125 21143 "comment" : {
44660702 21144 "optional" : 1,
013dc89f
DM
21145 "type" : "string",
21146 "typetext" : "<string>"
44660702
DM
21147 },
21148 "digest" : {
21149 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21150 "maxLength" : 40,
21151 "optional" : 1,
013dc89f
DM
21152 "type" : "string",
21153 "typetext" : "<string>"
44660702 21154 },
4d47f125
TL
21155 "name" : {
21156 "description" : "Alias name.",
21157 "maxLength" : 64,
44660702 21158 "minLength" : 2,
4d47f125
TL
21159 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21160 "type" : "string"
44660702 21161 },
7aacca6f
DM
21162 "node" : {
21163 "description" : "The cluster node name.",
44660702 21164 "format" : "pve-node",
013dc89f
DM
21165 "type" : "string",
21166 "typetext" : "<string>"
56122987 21167 },
4d47f125
TL
21168 "rename" : {
21169 "description" : "Rename an existing alias.",
21170 "maxLength" : 64,
21171 "minLength" : 2,
7aacca6f 21172 "optional" : 1,
4d47f125 21173 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
21174 "type" : "string"
21175 },
21176 "vmid" : {
21177 "description" : "The (unique) ID of the VM.",
21178 "format" : "pve-vmid",
21179 "minimum" : 1,
4bd7df8b 21180 "type" : "integer",
013dc89f 21181 "typetext" : "<integer> (1 - N)"
56122987
DM
21182 }
21183 }
21184 },
56122987
DM
21185 "permissions" : {
21186 "check" : [
21187 "perm",
21188 "/vms/{vmid}",
21189 [
7aacca6f 21190 "VM.Config.Network"
56122987
DM
21191 ]
21192 ]
21193 },
44660702 21194 "protected" : 1,
56122987 21195 "returns" : {
7aacca6f
DM
21196 "type" : "null"
21197 }
56122987 21198 }
44660702
DM
21199 },
21200 "leaf" : 1,
4d47f125
TL
21201 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
21202 "text" : "{name}"
56122987
DM
21203 }
21204 ],
21205 "info" : {
7aacca6f 21206 "GET" : {
4d47f125 21207 "description" : "List aliases",
44660702 21208 "method" : "GET",
4d47f125 21209 "name" : "get_aliases",
7aacca6f 21210 "parameters" : {
44660702 21211 "additionalProperties" : 0,
7aacca6f
DM
21212 "properties" : {
21213 "node" : {
7aacca6f 21214 "description" : "The cluster node name.",
44660702 21215 "format" : "pve-node",
013dc89f
DM
21216 "type" : "string",
21217 "typetext" : "<string>"
7aacca6f
DM
21218 },
21219 "vmid" : {
21220 "description" : "The (unique) ID of the VM.",
44660702 21221 "format" : "pve-vmid",
7aacca6f 21222 "minimum" : 1,
4bd7df8b 21223 "type" : "integer",
013dc89f 21224 "typetext" : "<integer> (1 - N)"
7aacca6f 21225 }
44660702 21226 }
56122987 21227 },
56122987
DM
21228 "permissions" : {
21229 "check" : [
21230 "perm",
21231 "/vms/{vmid}",
21232 [
7aacca6f 21233 "VM.Audit"
56122987
DM
21234 ]
21235 ]
21236 },
7aacca6f 21237 "returns" : {
7aacca6f
DM
21238 "items" : {
21239 "properties" : {
4d47f125
TL
21240 "cidr" : {
21241 "type" : "string"
21242 },
21243 "comment" : {
21244 "optional" : 1,
21245 "type" : "string"
21246 },
21247 "digest" : {
21248 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21249 "maxLength" : 40,
21250 "optional" : 0,
21251 "type" : "string"
21252 },
21253 "name" : {
21254 "type" : "string"
7aacca6f
DM
21255 }
21256 },
21257 "type" : "object"
21258 },
21259 "links" : [
21260 {
4d47f125 21261 "href" : "{name}",
44660702 21262 "rel" : "child"
7aacca6f 21263 }
44660702
DM
21264 ],
21265 "type" : "array"
21266 }
7aacca6f
DM
21267 },
21268 "POST" : {
4d47f125 21269 "description" : "Create IP or Network Alias.",
44660702 21270 "method" : "POST",
4d47f125 21271 "name" : "create_alias",
56122987 21272 "parameters" : {
44660702 21273 "additionalProperties" : 0,
56122987 21274 "properties" : {
4d47f125
TL
21275 "cidr" : {
21276 "description" : "Network/IP specification in CIDR format.",
21277 "format" : "IPorCIDR",
013dc89f 21278 "type" : "string",
4d47f125
TL
21279 "typetext" : "<string>"
21280 },
21281 "comment" : {
44660702 21282 "optional" : 1,
013dc89f
DM
21283 "type" : "string",
21284 "typetext" : "<string>"
7aacca6f 21285 },
4d47f125
TL
21286 "name" : {
21287 "description" : "Alias name.",
21288 "maxLength" : 64,
21289 "minLength" : 2,
21290 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
21291 "type" : "string"
21292 },
4d47f125
TL
21293 "node" : {
21294 "description" : "The cluster node name.",
21295 "format" : "pve-node",
21296 "type" : "string",
21297 "typetext" : "<string>"
21298 },
44660702
DM
21299 "vmid" : {
21300 "description" : "The (unique) ID of the VM.",
21301 "format" : "pve-vmid",
21302 "minimum" : 1,
4bd7df8b 21303 "type" : "integer",
013dc89f 21304 "typetext" : "<integer> (1 - N)"
44660702
DM
21305 }
21306 }
21307 },
21308 "permissions" : {
21309 "check" : [
21310 "perm",
21311 "/vms/{vmid}",
21312 [
21313 "VM.Config.Network"
21314 ]
21315 ]
21316 },
21317 "protected" : 1,
44660702
DM
21318 "returns" : {
21319 "type" : "null"
21320 }
21321 }
21322 },
21323 "leaf" : 0,
4d47f125
TL
21324 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
21325 "text" : "aliases"
44660702
DM
21326 },
21327 {
21328 "children" : [
21329 {
4d47f125
TL
21330 "children" : [
21331 {
21332 "info" : {
21333 "DELETE" : {
21334 "description" : "Remove IP or Network from IPSet.",
21335 "method" : "DELETE",
21336 "name" : "remove_ip",
21337 "parameters" : {
21338 "additionalProperties" : 0,
21339 "properties" : {
21340 "cidr" : {
21341 "description" : "Network/IP specification in CIDR format.",
21342 "format" : "IPorCIDRorAlias",
21343 "type" : "string",
21344 "typetext" : "<string>"
21345 },
21346 "digest" : {
21347 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21348 "maxLength" : 40,
21349 "optional" : 1,
21350 "type" : "string",
21351 "typetext" : "<string>"
21352 },
21353 "name" : {
21354 "description" : "IP set name.",
21355 "maxLength" : 64,
21356 "minLength" : 2,
21357 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21358 "type" : "string"
21359 },
21360 "node" : {
21361 "description" : "The cluster node name.",
21362 "format" : "pve-node",
21363 "type" : "string",
21364 "typetext" : "<string>"
21365 },
21366 "vmid" : {
21367 "description" : "The (unique) ID of the VM.",
21368 "format" : "pve-vmid",
21369 "minimum" : 1,
21370 "type" : "integer",
21371 "typetext" : "<integer> (1 - N)"
21372 }
21373 }
21374 },
21375 "permissions" : {
21376 "check" : [
21377 "perm",
21378 "/vms/{vmid}",
21379 [
21380 "VM.Config.Network"
21381 ]
21382 ]
21383 },
21384 "protected" : 1,
21385 "returns" : {
21386 "type" : "null"
21387 }
21388 },
21389 "GET" : {
21390 "description" : "Read IP or Network settings from IPSet.",
21391 "method" : "GET",
21392 "name" : "read_ip",
21393 "parameters" : {
21394 "additionalProperties" : 0,
21395 "properties" : {
21396 "cidr" : {
21397 "description" : "Network/IP specification in CIDR format.",
21398 "format" : "IPorCIDRorAlias",
21399 "type" : "string",
21400 "typetext" : "<string>"
21401 },
21402 "name" : {
21403 "description" : "IP set name.",
21404 "maxLength" : 64,
21405 "minLength" : 2,
21406 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21407 "type" : "string"
21408 },
21409 "node" : {
21410 "description" : "The cluster node name.",
21411 "format" : "pve-node",
21412 "type" : "string",
21413 "typetext" : "<string>"
21414 },
21415 "vmid" : {
21416 "description" : "The (unique) ID of the VM.",
21417 "format" : "pve-vmid",
21418 "minimum" : 1,
21419 "type" : "integer",
21420 "typetext" : "<integer> (1 - N)"
21421 }
21422 }
21423 },
21424 "permissions" : {
21425 "check" : [
21426 "perm",
21427 "/vms/{vmid}",
21428 [
21429 "VM.Audit"
21430 ]
21431 ]
21432 },
21433 "protected" : 1,
21434 "returns" : {
21435 "type" : "object"
21436 }
21437 },
21438 "PUT" : {
21439 "description" : "Update IP or Network settings",
21440 "method" : "PUT",
21441 "name" : "update_ip",
21442 "parameters" : {
21443 "additionalProperties" : 0,
21444 "properties" : {
21445 "cidr" : {
21446 "description" : "Network/IP specification in CIDR format.",
21447 "format" : "IPorCIDRorAlias",
21448 "type" : "string",
21449 "typetext" : "<string>"
21450 },
21451 "comment" : {
21452 "optional" : 1,
21453 "type" : "string",
21454 "typetext" : "<string>"
21455 },
21456 "digest" : {
21457 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21458 "maxLength" : 40,
21459 "optional" : 1,
21460 "type" : "string",
21461 "typetext" : "<string>"
21462 },
21463 "name" : {
21464 "description" : "IP set name.",
21465 "maxLength" : 64,
21466 "minLength" : 2,
21467 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21468 "type" : "string"
21469 },
21470 "node" : {
21471 "description" : "The cluster node name.",
21472 "format" : "pve-node",
21473 "type" : "string",
21474 "typetext" : "<string>"
21475 },
21476 "nomatch" : {
21477 "optional" : 1,
21478 "type" : "boolean",
21479 "typetext" : "<boolean>"
21480 },
21481 "vmid" : {
21482 "description" : "The (unique) ID of the VM.",
21483 "format" : "pve-vmid",
21484 "minimum" : 1,
21485 "type" : "integer",
21486 "typetext" : "<integer> (1 - N)"
21487 }
21488 }
21489 },
21490 "permissions" : {
21491 "check" : [
21492 "perm",
21493 "/vms/{vmid}",
21494 [
21495 "VM.Config.Network"
21496 ]
21497 ]
21498 },
21499 "protected" : 1,
21500 "returns" : {
21501 "type" : "null"
21502 }
21503 }
21504 },
21505 "leaf" : 1,
21506 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
21507 "text" : "{cidr}"
21508 }
21509 ],
44660702
DM
21510 "info" : {
21511 "DELETE" : {
4d47f125 21512 "description" : "Delete IPSet",
44660702 21513 "method" : "DELETE",
4d47f125 21514 "name" : "delete_ipset",
56122987 21515 "parameters" : {
44660702 21516 "additionalProperties" : 0,
56122987 21517 "properties" : {
7aacca6f 21518 "name" : {
4d47f125 21519 "description" : "IP set name.",
7aacca6f 21520 "maxLength" : 64,
7aacca6f
DM
21521 "minLength" : 2,
21522 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21523 "type" : "string"
7aacca6f
DM
21524 },
21525 "node" : {
44660702 21526 "description" : "The cluster node name.",
56122987 21527 "format" : "pve-node",
013dc89f
DM
21528 "type" : "string",
21529 "typetext" : "<string>"
7aacca6f 21530 },
56122987 21531 "vmid" : {
44660702 21532 "description" : "The (unique) ID of the VM.",
56122987 21533 "format" : "pve-vmid",
44660702 21534 "minimum" : 1,
4bd7df8b 21535 "type" : "integer",
013dc89f 21536 "typetext" : "<integer> (1 - N)"
56122987 21537 }
44660702 21538 }
56122987 21539 },
56122987
DM
21540 "permissions" : {
21541 "check" : [
21542 "perm",
21543 "/vms/{vmid}",
21544 [
7aacca6f 21545 "VM.Config.Network"
56122987
DM
21546 ]
21547 ]
21548 },
44660702 21549 "protected" : 1,
56122987 21550 "returns" : {
7aacca6f 21551 "type" : "null"
44660702 21552 }
56122987 21553 },
44660702 21554 "GET" : {
4d47f125 21555 "description" : "List IPSet content",
44660702 21556 "method" : "GET",
4d47f125 21557 "name" : "get_ipset",
44660702
DM
21558 "parameters" : {
21559 "additionalProperties" : 0,
21560 "properties" : {
21561 "name" : {
4d47f125 21562 "description" : "IP set name.",
44660702
DM
21563 "maxLength" : 64,
21564 "minLength" : 2,
21565 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21566 "type" : "string"
21567 },
21568 "node" : {
21569 "description" : "The cluster node name.",
21570 "format" : "pve-node",
013dc89f
DM
21571 "type" : "string",
21572 "typetext" : "<string>"
44660702
DM
21573 },
21574 "vmid" : {
21575 "description" : "The (unique) ID of the VM.",
21576 "format" : "pve-vmid",
21577 "minimum" : 1,
4bd7df8b 21578 "type" : "integer",
013dc89f 21579 "typetext" : "<integer> (1 - N)"
44660702 21580 }
4d47f125
TL
21581 }
21582 },
21583 "permissions" : {
21584 "check" : [
21585 "perm",
21586 "/vms/{vmid}",
21587 [
21588 "VM.Audit"
21589 ]
21590 ]
21591 },
21592 "returns" : {
21593 "items" : {
21594 "properties" : {
21595 "cidr" : {
21596 "type" : "string"
21597 },
21598 "comment" : {
21599 "optional" : 1,
21600 "type" : "string"
21601 },
21602 "digest" : {
21603 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21604 "maxLength" : 40,
21605 "optional" : 0,
21606 "type" : "string"
21607 },
21608 "nomatch" : {
21609 "optional" : 1,
21610 "type" : "boolean"
21611 }
21612 },
21613 "type" : "object"
21614 },
21615 "links" : [
21616 {
21617 "href" : "{cidr}",
21618 "rel" : "child"
21619 }
21620 ],
21621 "type" : "array"
44660702
DM
21622 }
21623 },
4d47f125
TL
21624 "POST" : {
21625 "description" : "Add IP or Network to IPSet.",
21626 "method" : "POST",
21627 "name" : "create_ip",
56122987
DM
21628 "parameters" : {
21629 "additionalProperties" : 0,
21630 "properties" : {
44660702
DM
21631 "cidr" : {
21632 "description" : "Network/IP specification in CIDR format.",
4d47f125 21633 "format" : "IPorCIDRorAlias",
013dc89f
DM
21634 "type" : "string",
21635 "typetext" : "<string>"
44660702
DM
21636 },
21637 "comment" : {
21638 "optional" : 1,
013dc89f
DM
21639 "type" : "string",
21640 "typetext" : "<string>"
44660702 21641 },
56122987 21642 "name" : {
4d47f125 21643 "description" : "IP set name.",
44660702
DM
21644 "maxLength" : 64,
21645 "minLength" : 2,
7aacca6f 21646 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21647 "type" : "string"
56122987
DM
21648 },
21649 "node" : {
21650 "description" : "The cluster node name.",
44660702 21651 "format" : "pve-node",
013dc89f
DM
21652 "type" : "string",
21653 "typetext" : "<string>"
44660702 21654 },
4d47f125 21655 "nomatch" : {
44660702 21656 "optional" : 1,
4d47f125
TL
21657 "type" : "boolean",
21658 "typetext" : "<boolean>"
56122987 21659 },
7aacca6f 21660 "vmid" : {
7aacca6f 21661 "description" : "The (unique) ID of the VM.",
44660702 21662 "format" : "pve-vmid",
7aacca6f 21663 "minimum" : 1,
4bd7df8b 21664 "type" : "integer",
013dc89f 21665 "typetext" : "<integer> (1 - N)"
56122987
DM
21666 }
21667 }
21668 },
44660702
DM
21669 "permissions" : {
21670 "check" : [
21671 "perm",
21672 "/vms/{vmid}",
21673 [
21674 "VM.Config.Network"
21675 ]
21676 ]
7aacca6f 21677 },
44660702
DM
21678 "protected" : 1,
21679 "returns" : {
21680 "type" : "null"
7aacca6f
DM
21681 }
21682 }
21683 },
4d47f125
TL
21684 "leaf" : 0,
21685 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
21686 "text" : "{name}"
21687 }
21688 ],
21689 "info" : {
21690 "GET" : {
4d47f125 21691 "description" : "List IPSets",
44660702 21692 "method" : "GET",
4d47f125 21693 "name" : "ipset_index",
56122987
DM
21694 "parameters" : {
21695 "additionalProperties" : 0,
21696 "properties" : {
21697 "node" : {
44660702 21698 "description" : "The cluster node name.",
56122987 21699 "format" : "pve-node",
013dc89f
DM
21700 "type" : "string",
21701 "typetext" : "<string>"
56122987
DM
21702 },
21703 "vmid" : {
7aacca6f 21704 "description" : "The (unique) ID of the VM.",
44660702 21705 "format" : "pve-vmid",
7aacca6f 21706 "minimum" : 1,
4bd7df8b 21707 "type" : "integer",
013dc89f 21708 "typetext" : "<integer> (1 - N)"
56122987
DM
21709 }
21710 }
21711 },
44660702
DM
21712 "permissions" : {
21713 "check" : [
21714 "perm",
21715 "/vms/{vmid}",
21716 [
21717 "VM.Audit"
21718 ]
21719 ]
21720 },
56122987
DM
21721 "returns" : {
21722 "items" : {
56122987 21723 "properties" : {
44660702
DM
21724 "comment" : {
21725 "optional" : 1,
56122987
DM
21726 "type" : "string"
21727 },
56122987 21728 "digest" : {
56122987 21729 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
21730 "maxLength" : 40,
21731 "optional" : 0,
21732 "type" : "string"
21733 },
21734 "name" : {
4d47f125
TL
21735 "description" : "IP set name.",
21736 "maxLength" : 64,
21737 "minLength" : 2,
21738 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21739 "type" : "string"
56122987 21740 }
44660702
DM
21741 },
21742 "type" : "object"
21743 },
21744 "links" : [
21745 {
21746 "href" : "{name}",
21747 "rel" : "child"
56122987 21748 }
4d47f125
TL
21749 ],
21750 "type" : "array"
21751 }
21752 },
21753 "POST" : {
21754 "description" : "Create new IPSet",
21755 "method" : "POST",
21756 "name" : "create_ipset",
21757 "parameters" : {
21758 "additionalProperties" : 0,
21759 "properties" : {
21760 "comment" : {
21761 "optional" : 1,
21762 "type" : "string",
21763 "typetext" : "<string>"
21764 },
21765 "digest" : {
21766 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21767 "maxLength" : 40,
21768 "optional" : 1,
21769 "type" : "string",
21770 "typetext" : "<string>"
21771 },
21772 "name" : {
21773 "description" : "IP set name.",
21774 "maxLength" : 64,
21775 "minLength" : 2,
21776 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21777 "type" : "string"
21778 },
21779 "node" : {
21780 "description" : "The cluster node name.",
21781 "format" : "pve-node",
21782 "type" : "string",
21783 "typetext" : "<string>"
21784 },
21785 "rename" : {
21786 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
21787 "maxLength" : 64,
21788 "minLength" : 2,
21789 "optional" : 1,
21790 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21791 "type" : "string"
21792 },
21793 "vmid" : {
21794 "description" : "The (unique) ID of the VM.",
21795 "format" : "pve-vmid",
21796 "minimum" : 1,
21797 "type" : "integer",
21798 "typetext" : "<integer> (1 - N)"
21799 }
21800 }
21801 },
21802 "permissions" : {
21803 "check" : [
21804 "perm",
21805 "/vms/{vmid}",
21806 [
21807 "VM.Config.Network"
21808 ]
21809 ]
21810 },
21811 "protected" : 1,
21812 "returns" : {
21813 "type" : "null"
21814 }
21815 }
21816 },
21817 "leaf" : 0,
21818 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
21819 "text" : "ipset"
21820 },
21821 {
21822 "info" : {
21823 "GET" : {
21824 "description" : "Get VM firewall options.",
21825 "method" : "GET",
21826 "name" : "get_options",
21827 "parameters" : {
21828 "additionalProperties" : 0,
21829 "properties" : {
21830 "node" : {
21831 "description" : "The cluster node name.",
21832 "format" : "pve-node",
21833 "type" : "string",
21834 "typetext" : "<string>"
21835 },
21836 "vmid" : {
21837 "description" : "The (unique) ID of the VM.",
21838 "format" : "pve-vmid",
21839 "minimum" : 1,
21840 "type" : "integer",
21841 "typetext" : "<integer> (1 - N)"
21842 }
21843 }
21844 },
21845 "permissions" : {
21846 "check" : [
21847 "perm",
21848 "/vms/{vmid}",
21849 [
21850 "VM.Audit"
21851 ]
21852 ]
21853 },
21854 "proxyto" : "node",
21855 "returns" : {
21856 "properties" : {
21857 "dhcp" : {
21858 "description" : "Enable DHCP.",
21859 "optional" : 1,
21860 "type" : "boolean"
21861 },
21862 "enable" : {
21863 "description" : "Enable/disable firewall rules.",
21864 "optional" : 1,
21865 "type" : "boolean"
21866 },
21867 "ipfilter" : {
21868 "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.",
21869 "optional" : 1,
21870 "type" : "boolean"
21871 },
21872 "log_level_in" : {
21873 "description" : "Log level for incoming traffic.",
21874 "enum" : [
21875 "emerg",
21876 "alert",
21877 "crit",
21878 "err",
21879 "warning",
21880 "notice",
21881 "info",
21882 "debug",
21883 "nolog"
21884 ],
21885 "optional" : 1,
21886 "type" : "string"
21887 },
21888 "log_level_out" : {
21889 "description" : "Log level for outgoing traffic.",
21890 "enum" : [
21891 "emerg",
21892 "alert",
21893 "crit",
21894 "err",
21895 "warning",
21896 "notice",
21897 "info",
21898 "debug",
21899 "nolog"
21900 ],
21901 "optional" : 1,
21902 "type" : "string"
21903 },
21904 "macfilter" : {
21905 "description" : "Enable/disable MAC address filter.",
21906 "optional" : 1,
21907 "type" : "boolean"
21908 },
21909 "ndp" : {
21910 "description" : "Enable NDP.",
21911 "optional" : 1,
21912 "type" : "boolean"
21913 },
21914 "policy_in" : {
21915 "description" : "Input policy.",
21916 "enum" : [
21917 "ACCEPT",
21918 "REJECT",
21919 "DROP"
21920 ],
21921 "optional" : 1,
21922 "type" : "string"
21923 },
21924 "policy_out" : {
21925 "description" : "Output policy.",
21926 "enum" : [
21927 "ACCEPT",
21928 "REJECT",
21929 "DROP"
21930 ],
21931 "optional" : 1,
21932 "type" : "string"
21933 },
21934 "radv" : {
21935 "description" : "Allow sending Router Advertisement.",
21936 "optional" : 1,
21937 "type" : "boolean"
21938 }
21939 },
21940 "type" : "object"
7aacca6f
DM
21941 }
21942 },
4d47f125
TL
21943 "PUT" : {
21944 "description" : "Set Firewall options.",
21945 "method" : "PUT",
21946 "name" : "set_options",
7aacca6f
DM
21947 "parameters" : {
21948 "additionalProperties" : 0,
21949 "properties" : {
4d47f125
TL
21950 "delete" : {
21951 "description" : "A list of settings you want to delete.",
21952 "format" : "pve-configid-list",
7aacca6f 21953 "optional" : 1,
013dc89f
DM
21954 "type" : "string",
21955 "typetext" : "<string>"
7aacca6f 21956 },
4d47f125
TL
21957 "dhcp" : {
21958 "description" : "Enable DHCP.",
21959 "optional" : 1,
21960 "type" : "boolean",
21961 "typetext" : "<boolean>"
7aacca6f 21962 },
4d47f125
TL
21963 "digest" : {
21964 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21965 "maxLength" : 40,
21966 "optional" : 1,
013dc89f
DM
21967 "type" : "string",
21968 "typetext" : "<string>"
7aacca6f 21969 },
4d47f125
TL
21970 "enable" : {
21971 "description" : "Enable/disable firewall rules.",
21972 "optional" : 1,
21973 "type" : "boolean",
21974 "typetext" : "<boolean>"
21975 },
21976 "ipfilter" : {
21977 "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.",
21978 "optional" : 1,
21979 "type" : "boolean",
21980 "typetext" : "<boolean>"
56122987 21981 },
4d47f125
TL
21982 "log_level_in" : {
21983 "description" : "Log level for incoming traffic.",
21984 "enum" : [
21985 "emerg",
21986 "alert",
21987 "crit",
21988 "err",
21989 "warning",
21990 "notice",
21991 "info",
21992 "debug",
21993 "nolog"
21994 ],
21995 "optional" : 1,
21996 "type" : "string"
44660702 21997 },
4d47f125
TL
21998 "log_level_out" : {
21999 "description" : "Log level for outgoing traffic.",
22000 "enum" : [
22001 "emerg",
22002 "alert",
22003 "crit",
22004 "err",
22005 "warning",
22006 "notice",
22007 "info",
22008 "debug",
22009 "nolog"
22010 ],
22011 "optional" : 1,
22012 "type" : "string"
44660702 22013 },
4d47f125
TL
22014 "macfilter" : {
22015 "description" : "Enable/disable MAC address filter.",
22016 "optional" : 1,
22017 "type" : "boolean",
22018 "typetext" : "<boolean>"
7aacca6f 22019 },
4d47f125
TL
22020 "ndp" : {
22021 "description" : "Enable NDP.",
22022 "optional" : 1,
22023 "type" : "boolean",
22024 "typetext" : "<boolean>"
7aacca6f 22025 },
4d47f125
TL
22026 "node" : {
22027 "description" : "The cluster node name.",
22028 "format" : "pve-node",
22029 "type" : "string",
22030 "typetext" : "<string>"
22031 },
22032 "policy_in" : {
22033 "description" : "Input policy.",
22034 "enum" : [
22035 "ACCEPT",
22036 "REJECT",
22037 "DROP"
44660702 22038 ],
4d47f125
TL
22039 "optional" : 1,
22040 "type" : "string"
22041 },
22042 "policy_out" : {
22043 "description" : "Output policy.",
22044 "enum" : [
22045 "ACCEPT",
22046 "REJECT",
22047 "DROP"
22048 ],
22049 "optional" : 1,
22050 "type" : "string"
22051 },
22052 "radv" : {
22053 "description" : "Allow sending Router Advertisement.",
22054 "optional" : 1,
22055 "type" : "boolean",
22056 "typetext" : "<boolean>"
22057 },
22058 "vmid" : {
22059 "description" : "The (unique) ID of the VM.",
22060 "format" : "pve-vmid",
22061 "minimum" : 1,
22062 "type" : "integer",
22063 "typetext" : "<integer> (1 - N)"
44660702 22064 }
4d47f125
TL
22065 }
22066 },
22067 "permissions" : {
22068 "check" : [
22069 "perm",
22070 "/vms/{vmid}",
22071 [
22072 "VM.Config.Network"
22073 ]
22074 ]
22075 },
22076 "protected" : 1,
22077 "proxyto" : "node",
22078 "returns" : {
22079 "type" : "null"
22080 }
22081 }
22082 },
22083 "leaf" : 1,
22084 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
22085 "text" : "options"
22086 },
22087 {
22088 "info" : {
22089 "GET" : {
22090 "description" : "Read firewall log",
22091 "method" : "GET",
22092 "name" : "log",
22093 "parameters" : {
22094 "additionalProperties" : 0,
22095 "properties" : {
22096 "limit" : {
22097 "minimum" : 0,
22098 "optional" : 1,
22099 "type" : "integer",
22100 "typetext" : "<integer> (0 - N)"
44660702 22101 },
4d47f125
TL
22102 "node" : {
22103 "description" : "The cluster node name.",
22104 "format" : "pve-node",
22105 "type" : "string",
22106 "typetext" : "<string>"
44660702 22107 },
4d47f125
TL
22108 "start" : {
22109 "minimum" : 0,
22110 "optional" : 1,
22111 "type" : "integer",
22112 "typetext" : "<integer> (0 - N)"
22113 },
22114 "vmid" : {
22115 "description" : "The (unique) ID of the VM.",
22116 "format" : "pve-vmid",
22117 "minimum" : 1,
22118 "type" : "integer",
22119 "typetext" : "<integer> (1 - N)"
44660702
DM
22120 }
22121 }
22122 },
4d47f125
TL
22123 "permissions" : {
22124 "check" : [
22125 "perm",
22126 "/vms/{vmid}",
22127 [
22128 "VM.Console"
22129 ]
22130 ]
22131 },
22132 "protected" : 1,
22133 "proxyto" : "node",
22134 "returns" : {
22135 "items" : {
22136 "properties" : {
22137 "n" : {
22138 "description" : "Line number",
22139 "type" : "integer"
22140 },
22141 "t" : {
22142 "description" : "Line text",
22143 "type" : "string"
22144 }
22145 },
22146 "type" : "object"
22147 },
22148 "type" : "array"
22149 }
44660702 22150 }
4d47f125
TL
22151 },
22152 "leaf" : 1,
22153 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
22154 "text" : "log"
22155 },
22156 {
44660702
DM
22157 "info" : {
22158 "GET" : {
4d47f125 22159 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 22160 "method" : "GET",
4d47f125 22161 "name" : "refs",
44660702
DM
22162 "parameters" : {
22163 "additionalProperties" : 0,
22164 "properties" : {
22165 "node" : {
22166 "description" : "The cluster node name.",
22167 "format" : "pve-node",
013dc89f
DM
22168 "type" : "string",
22169 "typetext" : "<string>"
44660702 22170 },
4d47f125
TL
22171 "type" : {
22172 "description" : "Only list references of specified type.",
22173 "enum" : [
22174 "alias",
22175 "ipset"
22176 ],
22177 "optional" : 1,
22178 "type" : "string"
22179 },
44660702
DM
22180 "vmid" : {
22181 "description" : "The (unique) ID of the VM.",
22182 "format" : "pve-vmid",
22183 "minimum" : 1,
4bd7df8b 22184 "type" : "integer",
013dc89f 22185 "typetext" : "<integer> (1 - N)"
44660702
DM
22186 }
22187 }
22188 },
4d47f125
TL
22189 "permissions" : {
22190 "check" : [
22191 "perm",
22192 "/vms/{vmid}",
22193 [
22194 "VM.Audit"
22195 ]
22196 ]
22197 },
22198 "returns" : {
22199 "items" : {
22200 "properties" : {
22201 "comment" : {
22202 "optional" : 1,
22203 "type" : "string"
22204 },
22205 "name" : {
22206 "type" : "string"
22207 },
22208 "type" : {
22209 "enum" : [
22210 "alias",
22211 "ipset"
22212 ],
22213 "type" : "string"
22214 }
22215 },
22216 "type" : "object"
22217 },
22218 "type" : "array"
22219 }
22220 }
22221 },
22222 "leaf" : 1,
22223 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
22224 "text" : "refs"
22225 }
22226 ],
22227 "info" : {
22228 "GET" : {
22229 "description" : "Directory index.",
22230 "method" : "GET",
22231 "name" : "index",
22232 "parameters" : {
22233 "additionalProperties" : 0,
22234 "properties" : {
22235 "node" : {
22236 "description" : "The cluster node name.",
22237 "format" : "pve-node",
22238 "type" : "string",
22239 "typetext" : "<string>"
22240 },
22241 "vmid" : {
22242 "description" : "The (unique) ID of the VM.",
22243 "format" : "pve-vmid",
22244 "minimum" : 1,
22245 "type" : "integer",
22246 "typetext" : "<integer> (1 - N)"
22247 }
22248 }
22249 },
22250 "permissions" : {
22251 "user" : "all"
22252 },
22253 "returns" : {
22254 "items" : {
22255 "properties" : {},
22256 "type" : "object"
22257 },
22258 "links" : [
22259 {
22260 "href" : "{name}",
22261 "rel" : "child"
22262 }
22263 ],
22264 "type" : "array"
22265 }
22266 }
22267 },
22268 "leaf" : 0,
22269 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
22270 "text" : "firewall"
22271 },
22272 {
22273 "info" : {
22274 "GET" : {
22275 "description" : "Read VM RRD statistics (returns PNG)",
22276 "method" : "GET",
22277 "name" : "rrd",
22278 "parameters" : {
22279 "additionalProperties" : 0,
22280 "properties" : {
22281 "cf" : {
22282 "description" : "The RRD consolidation function",
22283 "enum" : [
22284 "AVERAGE",
22285 "MAX"
22286 ],
22287 "optional" : 1,
22288 "type" : "string"
22289 },
22290 "ds" : {
22291 "description" : "The list of datasources you want to display.",
22292 "format" : "pve-configid-list",
22293 "type" : "string",
22294 "typetext" : "<string>"
22295 },
22296 "node" : {
22297 "description" : "The cluster node name.",
22298 "format" : "pve-node",
22299 "type" : "string",
22300 "typetext" : "<string>"
22301 },
22302 "timeframe" : {
22303 "description" : "Specify the time frame you are interested in.",
22304 "enum" : [
22305 "hour",
22306 "day",
22307 "week",
22308 "month",
22309 "year"
22310 ],
22311 "type" : "string"
22312 },
22313 "vmid" : {
22314 "description" : "The (unique) ID of the VM.",
22315 "format" : "pve-vmid",
22316 "minimum" : 1,
22317 "type" : "integer",
22318 "typetext" : "<integer> (1 - N)"
22319 }
22320 }
22321 },
22322 "permissions" : {
22323 "check" : [
22324 "perm",
22325 "/vms/{vmid}",
22326 [
22327 "VM.Audit"
22328 ]
22329 ]
22330 },
22331 "protected" : 1,
22332 "returns" : {
22333 "properties" : {
22334 "filename" : {
22335 "type" : "string"
22336 }
22337 },
22338 "type" : "object"
22339 }
22340 }
22341 },
22342 "leaf" : 1,
22343 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
22344 "text" : "rrd"
22345 },
22346 {
22347 "info" : {
22348 "GET" : {
22349 "description" : "Read VM RRD statistics",
22350 "method" : "GET",
22351 "name" : "rrddata",
22352 "parameters" : {
22353 "additionalProperties" : 0,
22354 "properties" : {
22355 "cf" : {
22356 "description" : "The RRD consolidation function",
22357 "enum" : [
22358 "AVERAGE",
22359 "MAX"
22360 ],
22361 "optional" : 1,
22362 "type" : "string"
22363 },
22364 "node" : {
22365 "description" : "The cluster node name.",
22366 "format" : "pve-node",
22367 "type" : "string",
22368 "typetext" : "<string>"
44660702 22369 },
4d47f125
TL
22370 "timeframe" : {
22371 "description" : "Specify the time frame you are interested in.",
22372 "enum" : [
22373 "hour",
22374 "day",
22375 "week",
22376 "month",
22377 "year"
44660702 22378 ],
4d47f125
TL
22379 "type" : "string"
22380 },
22381 "vmid" : {
22382 "description" : "The (unique) ID of the VM.",
22383 "format" : "pve-vmid",
22384 "minimum" : 1,
22385 "type" : "integer",
22386 "typetext" : "<integer> (1 - N)"
44660702 22387 }
4d47f125
TL
22388 }
22389 },
22390 "permissions" : {
22391 "check" : [
22392 "perm",
22393 "/vms/{vmid}",
22394 [
22395 "VM.Audit"
22396 ]
22397 ]
22398 },
22399 "protected" : 1,
22400 "returns" : {
22401 "items" : {
22402 "properties" : {},
22403 "type" : "object"
44660702 22404 },
4d47f125
TL
22405 "type" : "array"
22406 }
22407 }
22408 },
22409 "leaf" : 1,
22410 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
22411 "text" : "rrddata"
22412 },
22413 {
22414 "info" : {
22415 "POST" : {
22416 "description" : "Creates a TCP VNC proxy connections.",
22417 "method" : "POST",
22418 "name" : "vncproxy",
22419 "parameters" : {
22420 "additionalProperties" : 0,
22421 "properties" : {
22422 "height" : {
22423 "description" : "sets the height of the console in pixels.",
22424 "maximum" : 2160,
22425 "minimum" : 16,
22426 "optional" : 1,
22427 "type" : "integer",
22428 "typetext" : "<integer> (16 - 2160)"
44660702 22429 },
4d47f125
TL
22430 "node" : {
22431 "description" : "The cluster node name.",
22432 "format" : "pve-node",
22433 "type" : "string",
22434 "typetext" : "<string>"
44660702 22435 },
4d47f125
TL
22436 "vmid" : {
22437 "description" : "The (unique) ID of the VM.",
22438 "format" : "pve-vmid",
22439 "minimum" : 1,
22440 "type" : "integer",
22441 "typetext" : "<integer> (1 - N)"
22442 },
22443 "websocket" : {
22444 "description" : "use websocket instead of standard VNC.",
22445 "optional" : 1,
22446 "type" : "boolean",
22447 "typetext" : "<boolean>"
22448 },
22449 "width" : {
22450 "description" : "sets the width of the console in pixels.",
22451 "maximum" : 4096,
22452 "minimum" : 16,
22453 "optional" : 1,
22454 "type" : "integer",
22455 "typetext" : "<integer> (16 - 4096)"
56122987
DM
22456 }
22457 }
44660702 22458 },
4d47f125
TL
22459 "permissions" : {
22460 "check" : [
22461 "perm",
22462 "/vms/{vmid}",
22463 [
22464 "VM.Console"
22465 ]
22466 ]
22467 },
22468 "protected" : 1,
22469 "returns" : {
22470 "additionalProperties" : 0,
22471 "properties" : {
22472 "cert" : {
22473 "type" : "string"
44660702 22474 },
4d47f125
TL
22475 "port" : {
22476 "type" : "integer"
22477 },
22478 "ticket" : {
22479 "type" : "string"
22480 },
22481 "upid" : {
22482 "type" : "string"
22483 },
22484 "user" : {
22485 "type" : "string"
22486 }
22487 }
22488 }
22489 }
22490 },
22491 "leaf" : 1,
22492 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
22493 "text" : "vncproxy"
22494 },
22495 {
22496 "info" : {
22497 "POST" : {
22498 "description" : "Creates a TCP proxy connection.",
22499 "method" : "POST",
22500 "name" : "termproxy",
22501 "parameters" : {
22502 "additionalProperties" : 0,
22503 "properties" : {
22504 "node" : {
22505 "description" : "The cluster node name.",
22506 "format" : "pve-node",
22507 "type" : "string",
22508 "typetext" : "<string>"
44660702 22509 },
4d47f125
TL
22510 "vmid" : {
22511 "description" : "The (unique) ID of the VM.",
22512 "format" : "pve-vmid",
22513 "minimum" : 1,
22514 "type" : "integer",
22515 "typetext" : "<integer> (1 - N)"
44660702 22516 }
4d47f125
TL
22517 }
22518 },
22519 "permissions" : {
22520 "check" : [
22521 "perm",
22522 "/vms/{vmid}",
22523 [
22524 "VM.Console"
22525 ]
22526 ]
22527 },
22528 "protected" : 1,
22529 "returns" : {
22530 "additionalProperties" : 0,
22531 "properties" : {
22532 "port" : {
22533 "type" : "integer"
56122987 22534 },
4d47f125
TL
22535 "ticket" : {
22536 "type" : "string"
7aacca6f 22537 },
4d47f125
TL
22538 "upid" : {
22539 "type" : "string"
22540 },
22541 "user" : {
22542 "type" : "string"
22543 }
22544 }
22545 }
22546 }
22547 },
22548 "leaf" : 1,
22549 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
22550 "text" : "termproxy"
22551 },
22552 {
22553 "info" : {
22554 "GET" : {
22555 "description" : "Opens a weksocket for VNC traffic.",
22556 "method" : "GET",
22557 "name" : "vncwebsocket",
22558 "parameters" : {
22559 "additionalProperties" : 0,
22560 "properties" : {
22561 "node" : {
22562 "description" : "The cluster node name.",
22563 "format" : "pve-node",
22564 "type" : "string",
22565 "typetext" : "<string>"
22566 },
22567 "port" : {
22568 "description" : "Port number returned by previous vncproxy call.",
22569 "maximum" : 5999,
22570 "minimum" : 5900,
22571 "type" : "integer",
22572 "typetext" : "<integer> (5900 - 5999)"
22573 },
22574 "vmid" : {
22575 "description" : "The (unique) ID of the VM.",
22576 "format" : "pve-vmid",
22577 "minimum" : 1,
22578 "type" : "integer",
22579 "typetext" : "<integer> (1 - N)"
22580 },
22581 "vncticket" : {
22582 "description" : "Ticket from previous call to vncproxy.",
22583 "maxLength" : 512,
22584 "type" : "string",
22585 "typetext" : "<string>"
56122987
DM
22586 }
22587 }
22588 },
4d47f125
TL
22589 "permissions" : {
22590 "check" : [
22591 "perm",
22592 "/vms/{vmid}",
22593 [
22594 "VM.Console"
22595 ]
22596 ],
22597 "description" : "You also need to pass a valid ticket (vncticket)."
22598 },
22599 "returns" : {
22600 "properties" : {
22601 "port" : {
22602 "type" : "string"
22603 }
22604 },
22605 "type" : "object"
22606 }
22607 }
22608 },
22609 "leaf" : 1,
22610 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
22611 "text" : "vncwebsocket"
22612 },
22613 {
22614 "info" : {
22615 "POST" : {
22616 "description" : "Returns a SPICE configuration to connect to the CT.",
22617 "method" : "POST",
22618 "name" : "spiceproxy",
22619 "parameters" : {
22620 "additionalProperties" : 0,
22621 "properties" : {
22622 "node" : {
22623 "description" : "The cluster node name.",
22624 "format" : "pve-node",
22625 "type" : "string",
22626 "typetext" : "<string>"
56122987 22627 },
4d47f125
TL
22628 "proxy" : {
22629 "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).",
22630 "format" : "address",
22631 "optional" : 1,
22632 "type" : "string",
22633 "typetext" : "<string>"
44660702 22634 },
4d47f125
TL
22635 "vmid" : {
22636 "description" : "The (unique) ID of the VM.",
22637 "format" : "pve-vmid",
22638 "minimum" : 1,
22639 "type" : "integer",
22640 "typetext" : "<integer> (1 - N)"
44660702 22641 }
56122987
DM
22642 }
22643 },
4d47f125
TL
22644 "permissions" : {
22645 "check" : [
22646 "perm",
22647 "/vms/{vmid}",
22648 [
22649 "VM.Console"
22650 ]
22651 ]
22652 },
22653 "protected" : 1,
22654 "proxyto" : "node",
22655 "returns" : {
22656 "additionalProperties" : 1,
22657 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
22658 "properties" : {
22659 "host" : {
22660 "type" : "string"
22661 },
22662 "password" : {
22663 "type" : "string"
22664 },
22665 "proxy" : {
22666 "type" : "string"
22667 },
22668 "tls-port" : {
22669 "type" : "integer"
22670 },
22671 "type" : {
22672 "type" : "string"
22673 }
22674 }
22675 }
22676 }
22677 },
22678 "leaf" : 1,
22679 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
22680 "text" : "spiceproxy"
22681 },
22682 {
22683 "info" : {
22684 "POST" : {
22685 "description" : "Migrate the container to another node. Creates a new migration task.",
22686 "method" : "POST",
22687 "name" : "migrate_vm",
22688 "parameters" : {
22689 "additionalProperties" : 0,
22690 "properties" : {
22691 "force" : {
22692 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
22693 "optional" : 1,
22694 "type" : "boolean",
22695 "typetext" : "<boolean>"
56122987 22696 },
4d47f125
TL
22697 "node" : {
22698 "description" : "The cluster node name.",
22699 "format" : "pve-node",
22700 "type" : "string",
22701 "typetext" : "<string>"
44660702 22702 },
4d47f125
TL
22703 "online" : {
22704 "description" : "Use online/live migration.",
22705 "optional" : 1,
22706 "type" : "boolean",
22707 "typetext" : "<boolean>"
22708 },
22709 "restart" : {
22710 "description" : "Use restart migration",
22711 "optional" : 1,
22712 "type" : "boolean",
22713 "typetext" : "<boolean>"
22714 },
22715 "target" : {
22716 "description" : "Target node.",
22717 "format" : "pve-node",
22718 "type" : "string",
22719 "typetext" : "<string>"
22720 },
22721 "timeout" : {
22722 "default" : 180,
22723 "description" : "Timeout in seconds for shutdown for restart migration",
22724 "optional" : 1,
22725 "type" : "integer",
22726 "typetext" : "<integer>"
22727 },
22728 "vmid" : {
22729 "description" : "The (unique) ID of the VM.",
22730 "format" : "pve-vmid",
22731 "minimum" : 1,
22732 "type" : "integer",
22733 "typetext" : "<integer> (1 - N)"
56122987
DM
22734 }
22735 }
22736 },
4d47f125
TL
22737 "permissions" : {
22738 "check" : [
22739 "perm",
22740 "/vms/{vmid}",
22741 [
22742 "VM.Migrate"
22743 ]
22744 ]
22745 },
22746 "protected" : 1,
22747 "proxyto" : "node",
22748 "returns" : {
22749 "description" : "the task ID.",
22750 "type" : "string"
22751 }
56122987 22752 }
4d47f125
TL
22753 },
22754 "leaf" : 1,
22755 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
22756 "text" : "migrate"
22757 },
22758 {
56122987
DM
22759 "info" : {
22760 "GET" : {
4d47f125 22761 "description" : "Check if feature for virtual machine is available.",
44660702 22762 "method" : "GET",
4d47f125 22763 "name" : "vm_feature",
56122987 22764 "parameters" : {
44660702 22765 "additionalProperties" : 0,
56122987 22766 "properties" : {
4d47f125
TL
22767 "feature" : {
22768 "description" : "Feature to check.",
22769 "enum" : [
22770 "snapshot",
22771 "clone",
22772 "copy"
22773 ],
22774 "type" : "string"
22775 },
56122987 22776 "node" : {
44660702 22777 "description" : "The cluster node name.",
56122987 22778 "format" : "pve-node",
013dc89f
DM
22779 "type" : "string",
22780 "typetext" : "<string>"
44660702 22781 },
4d47f125
TL
22782 "snapname" : {
22783 "description" : "The name of the snapshot.",
22784 "format" : "pve-configid",
22785 "maxLength" : 40,
22786 "optional" : 1,
22787 "type" : "string",
22788 "typetext" : "<string>"
22789 },
44660702
DM
22790 "vmid" : {
22791 "description" : "The (unique) ID of the VM.",
22792 "format" : "pve-vmid",
22793 "minimum" : 1,
4bd7df8b 22794 "type" : "integer",
013dc89f 22795 "typetext" : "<integer> (1 - N)"
56122987 22796 }
44660702
DM
22797 }
22798 },
22799 "permissions" : {
4d47f125
TL
22800 "check" : [
22801 "perm",
22802 "/vms/{vmid}",
22803 [
22804 "VM.Audit"
22805 ]
22806 ]
56122987 22807 },
4d47f125
TL
22808 "protected" : 1,
22809 "proxyto" : "node",
56122987 22810 "returns" : {
4d47f125
TL
22811 "properties" : {
22812 "hasFeature" : {
22813 "type" : "boolean"
22814 }
7aacca6f 22815 },
4d47f125
TL
22816 "type" : "object"
22817 }
22818 }
22819 },
22820 "leaf" : 1,
22821 "path" : "/nodes/{node}/lxc/{vmid}/feature",
22822 "text" : "feature"
22823 },
22824 {
22825 "info" : {
22826 "POST" : {
22827 "description" : "Create a Template.",
22828 "method" : "POST",
22829 "name" : "template",
22830 "parameters" : {
22831 "additionalProperties" : 0,
22832 "properties" : {
22833 "node" : {
22834 "description" : "The cluster node name.",
22835 "format" : "pve-node",
22836 "type" : "string",
22837 "typetext" : "<string>"
22838 },
22839 "vmid" : {
22840 "description" : "The (unique) ID of the VM.",
22841 "format" : "pve-vmid",
22842 "minimum" : 1,
22843 "type" : "integer",
22844 "typetext" : "<integer> (1 - N)"
56122987 22845 }
4d47f125
TL
22846 }
22847 },
22848 "permissions" : {
22849 "check" : [
22850 "perm",
22851 "/vms/{vmid}",
22852 [
22853 "VM.Allocate"
22854 ]
44660702 22855 ],
4d47f125
TL
22856 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
22857 },
22858 "protected" : 1,
22859 "proxyto" : "node",
22860 "returns" : {
22861 "type" : "null"
56122987
DM
22862 }
22863 }
22864 },
4d47f125
TL
22865 "leaf" : 1,
22866 "path" : "/nodes/{node}/lxc/{vmid}/template",
22867 "text" : "template"
56122987
DM
22868 },
22869 {
56122987 22870 "info" : {
4d47f125
TL
22871 "POST" : {
22872 "description" : "Create a container clone/copy",
22873 "method" : "POST",
22874 "name" : "clone_vm",
56122987 22875 "parameters" : {
7aacca6f 22876 "additionalProperties" : 0,
56122987 22877 "properties" : {
4d47f125
TL
22878 "description" : {
22879 "description" : "Description for the new CT.",
44660702 22880 "optional" : 1,
4d47f125
TL
22881 "type" : "string",
22882 "typetext" : "<string>"
44660702 22883 },
4d47f125
TL
22884 "full" : {
22885 "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.",
22886 "optional" : 1,
22887 "type" : "boolean",
22888 "typetext" : "<boolean>"
22889 },
22890 "hostname" : {
22891 "description" : "Set a hostname for the new CT.",
22892 "format" : "dns-name",
22893 "optional" : 1,
013dc89f
DM
22894 "type" : "string",
22895 "typetext" : "<string>"
44660702 22896 },
4d47f125
TL
22897 "newid" : {
22898 "description" : "VMID for the clone.",
22899 "format" : "pve-vmid",
22900 "minimum" : 1,
22901 "type" : "integer",
22902 "typetext" : "<integer> (1 - N)"
22903 },
7aacca6f
DM
22904 "node" : {
22905 "description" : "The cluster node name.",
44660702 22906 "format" : "pve-node",
013dc89f
DM
22907 "type" : "string",
22908 "typetext" : "<string>"
56122987 22909 },
4d47f125
TL
22910 "pool" : {
22911 "description" : "Add the new CT to the specified pool.",
22912 "format" : "pve-poolid",
22913 "optional" : 1,
22914 "type" : "string",
22915 "typetext" : "<string>"
22916 },
22917 "snapname" : {
22918 "description" : "The name of the snapshot.",
22919 "format" : "pve-configid",
22920 "maxLength" : 40,
22921 "optional" : 1,
22922 "type" : "string",
22923 "typetext" : "<string>"
22924 },
22925 "storage" : {
22926 "description" : "Target storage for full clone.",
22927 "format" : "pve-storage-id",
22928 "optional" : 1,
22929 "type" : "string",
22930 "typetext" : "<string>"
22931 },
22932 "target" : {
22933 "description" : "Target node. Only allowed if the original VM is on shared storage.",
22934 "format" : "pve-node",
22935 "optional" : 1,
22936 "type" : "string",
22937 "typetext" : "<string>"
22938 },
7aacca6f 22939 "vmid" : {
44660702 22940 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
22941 "format" : "pve-vmid",
22942 "minimum" : 1,
4bd7df8b 22943 "type" : "integer",
013dc89f 22944 "typetext" : "<integer> (1 - N)"
56122987 22945 }
7aacca6f
DM
22946 }
22947 },
22948 "permissions" : {
22949 "check" : [
4d47f125 22950 "and",
7aacca6f 22951 [
4d47f125
TL
22952 "perm",
22953 "/vms/{vmid}",
22954 [
22955 "VM.Clone"
22956 ]
22957 ],
22958 [
22959 "or",
22960 [
22961 "perm",
22962 "/vms/{newid}",
22963 [
22964 "VM.Allocate"
22965 ]
22966 ],
22967 [
22968 "perm",
22969 "/pool/{pool}",
22970 [
22971 "VM.Allocate"
22972 ],
22973 "require_param",
22974 "pool"
22975 ]
7aacca6f 22976 ]
4d47f125
TL
22977 ],
22978 "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 22979 },
44660702 22980 "protected" : 1,
4d47f125 22981 "proxyto" : "node",
7aacca6f 22982 "returns" : {
4d47f125 22983 "type" : "string"
7aacca6f 22984 }
56122987 22985 }
7aacca6f 22986 },
44660702 22987 "leaf" : 1,
4d47f125
TL
22988 "path" : "/nodes/{node}/lxc/{vmid}/clone",
22989 "text" : "clone"
56122987
DM
22990 },
22991 {
56122987 22992 "info" : {
4d47f125
TL
22993 "PUT" : {
22994 "description" : "Resize a container mount point.",
22995 "method" : "PUT",
22996 "name" : "resize_vm",
56122987 22997 "parameters" : {
7aacca6f 22998 "additionalProperties" : 0,
56122987 22999 "properties" : {
4d47f125
TL
23000 "digest" : {
23001 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23002 "maxLength" : 40,
23003 "optional" : 1,
23004 "type" : "string",
23005 "typetext" : "<string>"
23006 },
23007 "disk" : {
23008 "description" : "The disk you want to resize.",
44660702 23009 "enum" : [
4d47f125
TL
23010 "rootfs",
23011 "mp0",
23012 "mp1",
23013 "mp2",
23014 "mp3",
23015 "mp4",
23016 "mp5",
23017 "mp6",
23018 "mp7",
23019 "mp8",
23020 "mp9",
23021 "mp10",
23022 "mp11",
23023 "mp12",
23024 "mp13",
23025 "mp14",
23026 "mp15",
23027 "mp16",
23028 "mp17",
23029 "mp18",
23030 "mp19",
23031 "mp20",
23032 "mp21",
23033 "mp22",
23034 "mp23",
23035 "mp24",
23036 "mp25",
23037 "mp26",
23038 "mp27",
23039 "mp28",
23040 "mp29",
23041 "mp30",
23042 "mp31",
23043 "mp32",
23044 "mp33",
23045 "mp34",
23046 "mp35",
23047 "mp36",
23048 "mp37",
23049 "mp38",
23050 "mp39",
23051 "mp40",
23052 "mp41",
23053 "mp42",
23054 "mp43",
23055 "mp44",
23056 "mp45",
23057 "mp46",
23058 "mp47",
23059 "mp48",
23060 "mp49",
23061 "mp50",
23062 "mp51",
23063 "mp52",
23064 "mp53",
23065 "mp54",
23066 "mp55",
23067 "mp56",
23068 "mp57",
23069 "mp58",
23070 "mp59",
23071 "mp60",
23072 "mp61",
23073 "mp62",
23074 "mp63",
23075 "mp64",
23076 "mp65",
23077 "mp66",
23078 "mp67",
23079 "mp68",
23080 "mp69",
23081 "mp70",
23082 "mp71",
23083 "mp72",
23084 "mp73",
23085 "mp74",
23086 "mp75",
23087 "mp76",
23088 "mp77",
23089 "mp78",
23090 "mp79",
23091 "mp80",
23092 "mp81",
23093 "mp82",
23094 "mp83",
23095 "mp84",
23096 "mp85",
23097 "mp86",
23098 "mp87",
23099 "mp88",
23100 "mp89",
23101 "mp90",
23102 "mp91",
23103 "mp92",
23104 "mp93",
23105 "mp94",
23106 "mp95",
23107 "mp96",
23108 "mp97",
23109 "mp98",
23110 "mp99",
23111 "mp100",
23112 "mp101",
23113 "mp102",
23114 "mp103",
23115 "mp104",
23116 "mp105",
23117 "mp106",
23118 "mp107",
23119 "mp108",
23120 "mp109",
23121 "mp110",
23122 "mp111",
23123 "mp112",
23124 "mp113",
23125 "mp114",
23126 "mp115",
23127 "mp116",
23128 "mp117",
23129 "mp118",
23130 "mp119",
23131 "mp120",
23132 "mp121",
23133 "mp122",
23134 "mp123",
23135 "mp124",
23136 "mp125",
23137 "mp126",
23138 "mp127",
23139 "mp128",
23140 "mp129",
23141 "mp130",
23142 "mp131",
23143 "mp132",
23144 "mp133",
23145 "mp134",
23146 "mp135",
23147 "mp136",
23148 "mp137",
23149 "mp138",
23150 "mp139",
23151 "mp140",
23152 "mp141",
23153 "mp142",
23154 "mp143",
23155 "mp144",
23156 "mp145",
23157 "mp146",
23158 "mp147",
23159 "mp148",
23160 "mp149",
23161 "mp150",
23162 "mp151",
23163 "mp152",
23164 "mp153",
23165 "mp154",
23166 "mp155",
23167 "mp156",
23168 "mp157",
23169 "mp158",
23170 "mp159",
23171 "mp160",
23172 "mp161",
23173 "mp162",
23174 "mp163",
23175 "mp164",
23176 "mp165",
23177 "mp166",
23178 "mp167",
23179 "mp168",
23180 "mp169",
23181 "mp170",
23182 "mp171",
23183 "mp172",
23184 "mp173",
23185 "mp174",
23186 "mp175",
23187 "mp176",
23188 "mp177",
23189 "mp178",
23190 "mp179",
23191 "mp180",
23192 "mp181",
23193 "mp182",
23194 "mp183",
23195 "mp184",
23196 "mp185",
23197 "mp186",
23198 "mp187",
23199 "mp188",
23200 "mp189",
23201 "mp190",
23202 "mp191",
23203 "mp192",
23204 "mp193",
23205 "mp194",
23206 "mp195",
23207 "mp196",
23208 "mp197",
23209 "mp198",
23210 "mp199",
23211 "mp200",
23212 "mp201",
23213 "mp202",
23214 "mp203",
23215 "mp204",
23216 "mp205",
23217 "mp206",
23218 "mp207",
23219 "mp208",
23220 "mp209",
23221 "mp210",
23222 "mp211",
23223 "mp212",
23224 "mp213",
23225 "mp214",
23226 "mp215",
23227 "mp216",
23228 "mp217",
23229 "mp218",
23230 "mp219",
23231 "mp220",
23232 "mp221",
23233 "mp222",
23234 "mp223",
23235 "mp224",
23236 "mp225",
23237 "mp226",
23238 "mp227",
23239 "mp228",
23240 "mp229",
23241 "mp230",
23242 "mp231",
23243 "mp232",
23244 "mp233",
23245 "mp234",
23246 "mp235",
23247 "mp236",
23248 "mp237",
23249 "mp238",
23250 "mp239",
23251 "mp240",
23252 "mp241",
23253 "mp242",
23254 "mp243",
23255 "mp244",
23256 "mp245",
23257 "mp246",
23258 "mp247",
23259 "mp248",
23260 "mp249",
23261 "mp250",
23262 "mp251",
23263 "mp252",
23264 "mp253",
23265 "mp254",
23266 "mp255"
44660702 23267 ],
44660702
DM
23268 "type" : "string"
23269 },
7aacca6f 23270 "node" : {
44660702 23271 "description" : "The cluster node name.",
7aacca6f 23272 "format" : "pve-node",
013dc89f
DM
23273 "type" : "string",
23274 "typetext" : "<string>"
7aacca6f 23275 },
4d47f125
TL
23276 "size" : {
23277 "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.",
23278 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 23279 "type" : "string"
7aacca6f
DM
23280 },
23281 "vmid" : {
23282 "description" : "The (unique) ID of the VM.",
44660702 23283 "format" : "pve-vmid",
7aacca6f 23284 "minimum" : 1,
4bd7df8b 23285 "type" : "integer",
013dc89f 23286 "typetext" : "<integer> (1 - N)"
56122987 23287 }
56122987
DM
23288 }
23289 },
56122987
DM
23290 "permissions" : {
23291 "check" : [
23292 "perm",
23293 "/vms/{vmid}",
23294 [
4d47f125
TL
23295 "VM.Config.Disk"
23296 ],
23297 "any",
23298 1
56122987
DM
23299 ]
23300 },
7aacca6f 23301 "protected" : 1,
4d47f125 23302 "proxyto" : "node",
7aacca6f 23303 "returns" : {
4d47f125
TL
23304 "description" : "the task ID.",
23305 "type" : "string"
44660702 23306 }
56122987
DM
23307 }
23308 },
44660702 23309 "leaf" : 1,
4d47f125
TL
23310 "path" : "/nodes/{node}/lxc/{vmid}/resize",
23311 "text" : "resize"
56122987
DM
23312 },
23313 {
23314 "info" : {
23315 "POST" : {
4d47f125 23316 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 23317 "method" : "POST",
4d47f125 23318 "name" : "move_volume",
7aacca6f 23319 "parameters" : {
44660702 23320 "additionalProperties" : 0,
7aacca6f 23321 "properties" : {
4d47f125
TL
23322 "delete" : {
23323 "default" : 0,
23324 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 23325 "optional" : 1,
4d47f125
TL
23326 "type" : "boolean",
23327 "typetext" : "<boolean>"
23328 },
23329 "digest" : {
23330 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23331 "maxLength" : 40,
23332 "optional" : 1,
23333 "type" : "string",
23334 "typetext" : "<string>"
5d9c884c 23335 },
44660702
DM
23336 "node" : {
23337 "description" : "The cluster node name.",
23338 "format" : "pve-node",
013dc89f
DM
23339 "type" : "string",
23340 "typetext" : "<string>"
44660702 23341 },
4d47f125
TL
23342 "storage" : {
23343 "description" : "Target Storage.",
23344 "format" : "pve-storage-id",
23345 "type" : "string",
23346 "typetext" : "<string>"
23347 },
7aacca6f 23348 "vmid" : {
44660702 23349 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23350 "format" : "pve-vmid",
23351 "minimum" : 1,
4bd7df8b 23352 "type" : "integer",
013dc89f 23353 "typetext" : "<integer> (1 - N)"
7aacca6f 23354 },
4d47f125
TL
23355 "volume" : {
23356 "description" : "Volume which will be moved.",
23357 "enum" : [
23358 "rootfs",
23359 "mp0",
23360 "mp1",
23361 "mp2",
23362 "mp3",
23363 "mp4",
23364 "mp5",
23365 "mp6",
23366 "mp7",
23367 "mp8",
23368 "mp9",
23369 "mp10",
23370 "mp11",
23371 "mp12",
23372 "mp13",
23373 "mp14",
23374 "mp15",
23375 "mp16",
23376 "mp17",
23377 "mp18",
23378 "mp19",
23379 "mp20",
23380 "mp21",
23381 "mp22",
23382 "mp23",
23383 "mp24",
23384 "mp25",
23385 "mp26",
23386 "mp27",
23387 "mp28",
23388 "mp29",
23389 "mp30",
23390 "mp31",
23391 "mp32",
23392 "mp33",
23393 "mp34",
23394 "mp35",
23395 "mp36",
23396 "mp37",
23397 "mp38",
23398 "mp39",
23399 "mp40",
23400 "mp41",
23401 "mp42",
23402 "mp43",
23403 "mp44",
23404 "mp45",
23405 "mp46",
23406 "mp47",
23407 "mp48",
23408 "mp49",
23409 "mp50",
23410 "mp51",
23411 "mp52",
23412 "mp53",
23413 "mp54",
23414 "mp55",
23415 "mp56",
23416 "mp57",
23417 "mp58",
23418 "mp59",
23419 "mp60",
23420 "mp61",
23421 "mp62",
23422 "mp63",
23423 "mp64",
23424 "mp65",
23425 "mp66",
23426 "mp67",
23427 "mp68",
23428 "mp69",
23429 "mp70",
23430 "mp71",
23431 "mp72",
23432 "mp73",
23433 "mp74",
23434 "mp75",
23435 "mp76",
23436 "mp77",
23437 "mp78",
23438 "mp79",
23439 "mp80",
23440 "mp81",
23441 "mp82",
23442 "mp83",
23443 "mp84",
23444 "mp85",
23445 "mp86",
23446 "mp87",
23447 "mp88",
23448 "mp89",
23449 "mp90",
23450 "mp91",
23451 "mp92",
23452 "mp93",
23453 "mp94",
23454 "mp95",
23455 "mp96",
23456 "mp97",
23457 "mp98",
23458 "mp99",
23459 "mp100",
23460 "mp101",
23461 "mp102",
23462 "mp103",
23463 "mp104",
23464 "mp105",
23465 "mp106",
23466 "mp107",
23467 "mp108",
23468 "mp109",
23469 "mp110",
23470 "mp111",
23471 "mp112",
23472 "mp113",
23473 "mp114",
23474 "mp115",
23475 "mp116",
23476 "mp117",
23477 "mp118",
23478 "mp119",
23479 "mp120",
23480 "mp121",
23481 "mp122",
23482 "mp123",
23483 "mp124",
23484 "mp125",
23485 "mp126",
23486 "mp127",
23487 "mp128",
23488 "mp129",
23489 "mp130",
23490 "mp131",
23491 "mp132",
23492 "mp133",
23493 "mp134",
23494 "mp135",
23495 "mp136",
23496 "mp137",
23497 "mp138",
23498 "mp139",
23499 "mp140",
23500 "mp141",
23501 "mp142",
23502 "mp143",
23503 "mp144",
23504 "mp145",
23505 "mp146",
23506 "mp147",
23507 "mp148",
23508 "mp149",
23509 "mp150",
23510 "mp151",
23511 "mp152",
23512 "mp153",
23513 "mp154",
23514 "mp155",
23515 "mp156",
23516 "mp157",
23517 "mp158",
23518 "mp159",
23519 "mp160",
23520 "mp161",
23521 "mp162",
23522 "mp163",
23523 "mp164",
23524 "mp165",
23525 "mp166",
23526 "mp167",
23527 "mp168",
23528 "mp169",
23529 "mp170",
23530 "mp171",
23531 "mp172",
23532 "mp173",
23533 "mp174",
23534 "mp175",
23535 "mp176",
23536 "mp177",
23537 "mp178",
23538 "mp179",
23539 "mp180",
23540 "mp181",
23541 "mp182",
23542 "mp183",
23543 "mp184",
23544 "mp185",
23545 "mp186",
23546 "mp187",
23547 "mp188",
23548 "mp189",
23549 "mp190",
23550 "mp191",
23551 "mp192",
23552 "mp193",
23553 "mp194",
23554 "mp195",
23555 "mp196",
23556 "mp197",
23557 "mp198",
23558 "mp199",
23559 "mp200",
23560 "mp201",
23561 "mp202",
23562 "mp203",
23563 "mp204",
23564 "mp205",
23565 "mp206",
23566 "mp207",
23567 "mp208",
23568 "mp209",
23569 "mp210",
23570 "mp211",
23571 "mp212",
23572 "mp213",
23573 "mp214",
23574 "mp215",
23575 "mp216",
23576 "mp217",
23577 "mp218",
23578 "mp219",
23579 "mp220",
23580 "mp221",
23581 "mp222",
23582 "mp223",
23583 "mp224",
23584 "mp225",
23585 "mp226",
23586 "mp227",
23587 "mp228",
23588 "mp229",
23589 "mp230",
23590 "mp231",
23591 "mp232",
23592 "mp233",
23593 "mp234",
23594 "mp235",
23595 "mp236",
23596 "mp237",
23597 "mp238",
23598 "mp239",
23599 "mp240",
23600 "mp241",
23601 "mp242",
23602 "mp243",
23603 "mp244",
23604 "mp245",
23605 "mp246",
23606 "mp247",
23607 "mp248",
23608 "mp249",
23609 "mp250",
23610 "mp251",
23611 "mp252",
23612 "mp253",
23613 "mp254",
23614 "mp255"
23615 ],
23616 "type" : "string"
7aacca6f 23617 }
44660702 23618 }
7aacca6f 23619 },
56122987
DM
23620 "permissions" : {
23621 "check" : [
4d47f125 23622 "and",
56122987 23623 [
4d47f125
TL
23624 "perm",
23625 "/vms/{vmid}",
23626 [
23627 "VM.Config.Disk"
23628 ]
23629 ],
23630 [
23631 "perm",
23632 "/storage/{storage}",
23633 [
23634 "Datastore.AllocateSpace"
23635 ]
56122987 23636 ]
4d47f125
TL
23637 ],
23638 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
23639 },
23640 "protected" : 1,
23641 "proxyto" : "node",
23642 "returns" : {
23643 "type" : "string"
23644 }
23645 }
23646 },
23647 "leaf" : 1,
23648 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
23649 "text" : "move_volume"
23650 }
23651 ],
23652 "info" : {
23653 "DELETE" : {
23654 "description" : "Destroy the container (also delete all uses files).",
23655 "method" : "DELETE",
23656 "name" : "destroy_vm",
23657 "parameters" : {
23658 "additionalProperties" : 0,
23659 "properties" : {
23660 "node" : {
23661 "description" : "The cluster node name.",
23662 "format" : "pve-node",
23663 "type" : "string",
23664 "typetext" : "<string>"
23665 },
23666 "vmid" : {
23667 "description" : "The (unique) ID of the VM.",
23668 "format" : "pve-vmid",
23669 "minimum" : 1,
23670 "type" : "integer",
23671 "typetext" : "<integer> (1 - N)"
23672 }
23673 }
23674 },
23675 "permissions" : {
23676 "check" : [
23677 "perm",
23678 "/vms/{vmid}",
23679 [
23680 "VM.Allocate"
23681 ]
23682 ]
23683 },
23684 "protected" : 1,
23685 "proxyto" : "node",
23686 "returns" : {
23687 "type" : "string"
23688 }
23689 },
23690 "GET" : {
23691 "description" : "Directory index",
23692 "method" : "GET",
23693 "name" : "vmdiridx",
23694 "parameters" : {
23695 "additionalProperties" : 0,
23696 "properties" : {
23697 "node" : {
23698 "description" : "The cluster node name.",
23699 "format" : "pve-node",
23700 "type" : "string",
23701 "typetext" : "<string>"
56122987 23702 },
4d47f125
TL
23703 "vmid" : {
23704 "description" : "The (unique) ID of the VM.",
23705 "format" : "pve-vmid",
23706 "minimum" : 1,
23707 "type" : "integer",
23708 "typetext" : "<integer> (1 - N)"
56122987
DM
23709 }
23710 }
23711 },
4d47f125
TL
23712 "permissions" : {
23713 "user" : "all"
23714 },
23715 "proxyto" : "node",
23716 "returns" : {
23717 "items" : {
23718 "properties" : {
23719 "subdir" : {
23720 "type" : "string"
35a75dd3
DM
23721 }
23722 },
4d47f125
TL
23723 "type" : "object"
23724 },
23725 "links" : [
23726 {
23727 "href" : "{subdir}",
23728 "rel" : "child"
35a75dd3 23729 }
4d47f125
TL
23730 ],
23731 "type" : "array"
23732 }
23733 }
23734 },
23735 "leaf" : 0,
23736 "path" : "/nodes/{node}/lxc/{vmid}",
23737 "text" : "{vmid}"
23738 }
23739 ],
23740 "info" : {
23741 "GET" : {
23742 "description" : "LXC container index (per node).",
23743 "method" : "GET",
23744 "name" : "vmlist",
23745 "parameters" : {
23746 "additionalProperties" : 0,
23747 "properties" : {
23748 "node" : {
23749 "description" : "The cluster node name.",
23750 "format" : "pve-node",
23751 "type" : "string",
23752 "typetext" : "<string>"
23753 }
23754 }
23755 },
23756 "permissions" : {
23757 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
23758 "user" : "all"
23759 },
23760 "protected" : 1,
23761 "proxyto" : "node",
23762 "returns" : {
23763 "items" : {
23764 "properties" : {
23765 "cpus" : {
23766 "description" : "Maximum usable CPUs.",
23767 "optional" : 1,
23768 "type" : "number"
23769 },
23770 "maxdisk" : {
23771 "description" : "Root disk size in bytes.",
23772 "optional" : 1,
23773 "renderer" : "bytes",
23774 "type" : "integer"
23775 },
23776 "maxmem" : {
23777 "description" : "Maximum memory in bytes.",
23778 "optional" : 1,
23779 "renderer" : "bytes",
23780 "type" : "integer"
23781 },
23782 "maxswap" : {
23783 "description" : "Maximum SWAP memory in bytes.",
23784 "optional" : 1,
23785 "renderer" : "bytes",
23786 "type" : "integer"
23787 },
23788 "name" : {
23789 "description" : "Container name.",
23790 "optional" : 1,
23791 "type" : "string"
23792 },
23793 "status" : {
23794 "description" : "LXC Container status.",
23795 "enum" : [
23796 "stopped",
23797 "running"
23798 ],
23799 "type" : "string"
23800 },
23801 "uptime" : {
23802 "description" : "Uptime.",
23803 "optional" : 1,
23804 "renderer" : "duration",
23805 "type" : "integer"
23806 },
23807 "vmid" : {
23808 "description" : "The (unique) ID of the VM.",
23809 "format" : "pve-vmid",
23810 "minimum" : 1,
23811 "type" : "integer"
35a75dd3
DM
23812 }
23813 },
4d47f125 23814 "type" : "object"
35a75dd3 23815 },
4d47f125
TL
23816 "links" : [
23817 {
23818 "href" : "{vmid}",
23819 "rel" : "child"
23820 }
23821 ],
23822 "type" : "array"
23823 }
23824 },
23825 "POST" : {
23826 "description" : "Create or restore a container.",
23827 "method" : "POST",
23828 "name" : "create_vm",
23829 "parameters" : {
23830 "additionalProperties" : 0,
23831 "properties" : {
23832 "arch" : {
23833 "default" : "amd64",
23834 "description" : "OS architecture type.",
23835 "enum" : [
23836 "amd64",
23837 "i386",
23838 "arm64",
23839 "armhf"
23840 ],
23841 "optional" : 1,
23842 "type" : "string"
23843 },
23844 "bwlimit" : {
23845 "description" : "Override i/o bandwidth limit (in KiB/s).",
23846 "minimum" : "0",
23847 "optional" : 1,
23848 "type" : "number",
23849 "typetext" : "<number> (0 - N)"
23850 },
23851 "cmode" : {
23852 "default" : "tty",
23853 "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).",
23854 "enum" : [
23855 "shell",
23856 "console",
23857 "tty"
23858 ],
23859 "optional" : 1,
23860 "type" : "string"
23861 },
23862 "console" : {
23863 "default" : 1,
23864 "description" : "Attach a console device (/dev/console) to the container.",
23865 "optional" : 1,
23866 "type" : "boolean",
23867 "typetext" : "<boolean>"
23868 },
23869 "cores" : {
23870 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
23871 "maximum" : 128,
23872 "minimum" : 1,
23873 "optional" : 1,
23874 "type" : "integer",
23875 "typetext" : "<integer> (1 - 128)"
23876 },
23877 "cpulimit" : {
23878 "default" : 0,
23879 "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.",
23880 "maximum" : 128,
23881 "minimum" : 0,
23882 "optional" : 1,
23883 "type" : "number",
23884 "typetext" : "<number> (0 - 128)"
23885 },
23886 "cpuunits" : {
23887 "default" : 1024,
23888 "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.",
23889 "maximum" : 500000,
23890 "minimum" : 0,
23891 "optional" : 1,
23892 "type" : "integer",
23893 "typetext" : "<integer> (0 - 500000)"
23894 },
23895 "description" : {
23896 "description" : "Container description. Only used on the configuration web interface.",
23897 "optional" : 1,
23898 "type" : "string",
23899 "typetext" : "<string>"
23900 },
23901 "features" : {
23902 "description" : "Allow containers access to advanced features.",
23903 "format" : {
e2d681b3
TL
23904 "fuse" : {
23905 "default" : 0,
23906 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
23907 "optional" : 1,
23908 "type" : "boolean"
23909 },
4d47f125
TL
23910 "keyctl" : {
23911 "default" : 0,
23912 "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.",
23913 "optional" : 1,
23914 "type" : "boolean"
7aacca6f 23915 },
4d47f125
TL
23916 "mount" : {
23917 "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.",
23918 "format_description" : "fstype;fstype;...",
23919 "optional" : 1,
23920 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
23921 "type" : "string"
56122987 23922 },
4d47f125
TL
23923 "nesting" : {
23924 "default" : 0,
23925 "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.",
23926 "optional" : 1,
23927 "type" : "boolean"
44660702 23928 }
4d47f125
TL
23929 },
23930 "optional" : 1,
23931 "type" : "string",
e2d681b3 23932 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 23933 },
4d47f125
TL
23934 "force" : {
23935 "description" : "Allow to overwrite existing container.",
23936 "optional" : 1,
23937 "type" : "boolean",
23938 "typetext" : "<boolean>"
23939 },
23940 "hostname" : {
23941 "description" : "Set a host name for the container.",
23942 "format" : "dns-name",
23943 "maxLength" : 255,
23944 "optional" : 1,
23945 "type" : "string",
23946 "typetext" : "<string>"
23947 },
23948 "ignore-unpack-errors" : {
23949 "description" : "Ignore errors when extracting the template.",
23950 "optional" : 1,
23951 "type" : "boolean",
23952 "typetext" : "<boolean>"
23953 },
23954 "lock" : {
23955 "description" : "Lock/unlock the VM.",
23956 "enum" : [
23957 "backup",
23958 "disk",
23959 "migrate",
23960 "mounted",
23961 "rollback",
23962 "snapshot",
23963 "snapshot-delete"
23964 ],
23965 "optional" : 1,
23966 "type" : "string"
23967 },
23968 "memory" : {
23969 "default" : 512,
23970 "description" : "Amount of RAM for the VM in MB.",
23971 "minimum" : 16,
23972 "optional" : 1,
23973 "type" : "integer",
23974 "typetext" : "<integer> (16 - N)"
23975 },
23976 "mp[n]" : {
23977 "description" : "Use volume as container mount point.",
23978 "format" : {
23979 "acl" : {
23980 "description" : "Explicitly enable or disable ACL support.",
23981 "optional" : 1,
23982 "type" : "boolean"
56122987 23983 },
4d47f125
TL
23984 "backup" : {
23985 "description" : "Whether to include the mount point in backups.",
23986 "optional" : 1,
23987 "type" : "boolean",
23988 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 23989 },
4d47f125
TL
23990 "mp" : {
23991 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
23992 "format" : "pve-lxc-mp-string",
23993 "format_description" : "Path",
23994 "type" : "string",
23995 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 23996 },
4d47f125
TL
23997 "quota" : {
23998 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
23999 "optional" : 1,
24000 "type" : "boolean"
24001 },
24002 "replicate" : {
24003 "default" : 1,
24004 "description" : "Will include this volume to a storage replica job.",
24005 "optional" : 1,
24006 "type" : "boolean"
24007 },
24008 "ro" : {
24009 "description" : "Read-only mount point",
24010 "optional" : 1,
24011 "type" : "boolean"
24012 },
24013 "shared" : {
24014 "default" : 0,
24015 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24016 "optional" : 1,
24017 "type" : "boolean",
24018 "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 24019 },
4d47f125
TL
24020 "size" : {
24021 "description" : "Volume size (read only value).",
24022 "format" : "disk-size",
24023 "format_description" : "DiskSize",
24024 "optional" : 1,
24025 "type" : "string"
24026 },
24027 "volume" : {
24028 "default_key" : 1,
24029 "description" : "Volume, device or directory to mount into the container.",
24030 "format" : "pve-lxc-mp-string",
24031 "format_description" : "volume",
44660702
DM
24032 "type" : "string"
24033 }
4d47f125
TL
24034 },
24035 "optional" : 1,
24036 "type" : "string",
24037 "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 24038 },
4d47f125
TL
24039 "nameserver" : {
24040 "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.",
24041 "format" : "address-list",
24042 "optional" : 1,
24043 "type" : "string",
24044 "typetext" : "<string>"
24045 },
24046 "net[n]" : {
24047 "description" : "Specifies network interfaces for the container.",
24048 "format" : {
24049 "bridge" : {
24050 "description" : "Bridge to attach the network device to.",
24051 "format_description" : "bridge",
24052 "optional" : 1,
24053 "pattern" : "[-_.\\w\\d]+",
24054 "type" : "string"
56122987 24055 },
4d47f125
TL
24056 "firewall" : {
24057 "description" : "Controls whether this interface's firewall rules should be used.",
24058 "optional" : 1,
24059 "type" : "boolean"
56122987 24060 },
4d47f125
TL
24061 "gw" : {
24062 "description" : "Default gateway for IPv4 traffic.",
24063 "format" : "ipv4",
24064 "format_description" : "GatewayIPv4",
24065 "optional" : 1,
24066 "type" : "string"
24067 },
24068 "gw6" : {
24069 "description" : "Default gateway for IPv6 traffic.",
24070 "format" : "ipv6",
24071 "format_description" : "GatewayIPv6",
24072 "optional" : 1,
24073 "type" : "string"
24074 },
24075 "hwaddr" : {
24076 "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)",
24077 "format_description" : "XX:XX:XX:XX:XX:XX",
24078 "optional" : 1,
24079 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
24080 "type" : "string"
24081 },
24082 "ip" : {
24083 "description" : "IPv4 address in CIDR format.",
24084 "format" : "pve-ipv4-config",
24085 "format_description" : "(IPv4/CIDR|dhcp|manual)",
24086 "optional" : 1,
24087 "type" : "string"
24088 },
24089 "ip6" : {
24090 "description" : "IPv6 address in CIDR format.",
24091 "format" : "pve-ipv6-config",
24092 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
24093 "optional" : 1,
24094 "type" : "string"
24095 },
24096 "mtu" : {
24097 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
24098 "minimum" : 64,
24099 "optional" : 1,
24100 "type" : "integer"
24101 },
24102 "name" : {
24103 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
24104 "format_description" : "string",
24105 "pattern" : "[-_.\\w\\d]+",
24106 "type" : "string"
24107 },
24108 "rate" : {
24109 "description" : "Apply rate limiting to the interface",
24110 "format_description" : "mbps",
24111 "optional" : 1,
24112 "type" : "number"
24113 },
24114 "tag" : {
24115 "description" : "VLAN tag for this interface.",
24116 "maximum" : 4094,
24117 "minimum" : 1,
24118 "optional" : 1,
24119 "type" : "integer"
24120 },
24121 "trunks" : {
24122 "description" : "VLAN ids to pass through the interface",
24123 "format_description" : "vlanid[;vlanid...]",
24124 "optional" : 1,
24125 "pattern" : "(?^:\\d+(?:;\\d+)*)",
24126 "type" : "string"
24127 },
24128 "type" : {
24129 "description" : "Network interface type.",
24130 "enum" : [
24131 "veth"
24132 ],
24133 "optional" : 1,
24134 "type" : "string"
7aacca6f 24135 }
4d47f125
TL
24136 },
24137 "optional" : 1,
24138 "type" : "string",
24139 "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 24140 },
4d47f125
TL
24141 "node" : {
24142 "description" : "The cluster node name.",
24143 "format" : "pve-node",
24144 "type" : "string",
24145 "typetext" : "<string>"
24146 },
24147 "onboot" : {
24148 "default" : 0,
24149 "description" : "Specifies whether a VM will be started during system bootup.",
24150 "optional" : 1,
24151 "type" : "boolean",
24152 "typetext" : "<boolean>"
24153 },
24154 "ostemplate" : {
24155 "description" : "The OS template or backup file.",
24156 "maxLength" : 255,
24157 "type" : "string",
24158 "typetext" : "<string>"
24159 },
24160 "ostype" : {
24161 "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.",
24162 "enum" : [
24163 "debian",
24164 "ubuntu",
24165 "centos",
24166 "fedora",
24167 "opensuse",
24168 "archlinux",
24169 "alpine",
24170 "gentoo",
24171 "unmanaged"
24172 ],
24173 "optional" : 1,
24174 "type" : "string"
24175 },
24176 "password" : {
24177 "description" : "Sets root password inside container.",
24178 "minLength" : 5,
24179 "optional" : 1,
24180 "type" : "string",
24181 "typetext" : "<string>"
24182 },
24183 "pool" : {
24184 "description" : "Add the VM to the specified pool.",
24185 "format" : "pve-poolid",
24186 "optional" : 1,
24187 "type" : "string",
24188 "typetext" : "<string>"
24189 },
24190 "protection" : {
24191 "default" : 0,
24192 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
24193 "optional" : 1,
24194 "type" : "boolean",
24195 "typetext" : "<boolean>"
24196 },
24197 "restore" : {
24198 "description" : "Mark this as restore task.",
24199 "optional" : 1,
24200 "type" : "boolean",
24201 "typetext" : "<boolean>"
24202 },
24203 "rootfs" : {
24204 "description" : "Use volume as container root.",
24205 "format" : {
24206 "acl" : {
24207 "description" : "Explicitly enable or disable ACL support.",
24208 "optional" : 1,
24209 "type" : "boolean"
56122987 24210 },
4d47f125
TL
24211 "quota" : {
24212 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24213 "optional" : 1,
24214 "type" : "boolean"
7aacca6f 24215 },
4d47f125
TL
24216 "replicate" : {
24217 "default" : 1,
24218 "description" : "Will include this volume to a storage replica job.",
24219 "optional" : 1,
24220 "type" : "boolean"
24221 },
24222 "ro" : {
24223 "description" : "Read-only mount point",
24224 "optional" : 1,
24225 "type" : "boolean"
24226 },
24227 "shared" : {
24228 "default" : 0,
24229 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24230 "optional" : 1,
24231 "type" : "boolean",
24232 "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!"
24233 },
24234 "size" : {
24235 "description" : "Volume size (read only value).",
24236 "format" : "disk-size",
24237 "format_description" : "DiskSize",
24238 "optional" : 1,
24239 "type" : "string"
24240 },
24241 "volume" : {
24242 "default_key" : 1,
24243 "description" : "Volume, device or directory to mount into the container.",
24244 "format" : "pve-lxc-mp-string",
24245 "format_description" : "volume",
24246 "type" : "string"
56122987 24247 }
4d47f125
TL
24248 },
24249 "optional" : 1,
24250 "type" : "string",
24251 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 24252 },
4d47f125
TL
24253 "searchdomain" : {
24254 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
24255 "format" : "dns-name-list",
24256 "optional" : 1,
24257 "type" : "string",
24258 "typetext" : "<string>"
24259 },
24260 "ssh-public-keys" : {
24261 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
24262 "optional" : 1,
24263 "type" : "string",
24264 "typetext" : "<string>"
24265 },
24266 "start" : {
24267 "default" : 0,
24268 "description" : "Start the CT after its creation finished successfully.",
24269 "optional" : 1,
24270 "type" : "boolean",
24271 "typetext" : "<boolean>"
24272 },
24273 "startup" : {
24274 "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.",
24275 "format" : "pve-startup-order",
24276 "optional" : 1,
24277 "type" : "string",
24278 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
24279 },
24280 "storage" : {
24281 "default" : "local",
24282 "description" : "Default Storage.",
24283 "format" : "pve-storage-id",
24284 "optional" : 1,
24285 "type" : "string",
24286 "typetext" : "<string>"
24287 },
24288 "swap" : {
24289 "default" : 512,
24290 "description" : "Amount of SWAP for the VM in MB.",
24291 "minimum" : 0,
24292 "optional" : 1,
24293 "type" : "integer",
24294 "typetext" : "<integer> (0 - N)"
24295 },
24296 "template" : {
24297 "default" : 0,
24298 "description" : "Enable/disable Template.",
24299 "optional" : 1,
24300 "type" : "boolean",
24301 "typetext" : "<boolean>"
24302 },
24303 "tty" : {
24304 "default" : 2,
24305 "description" : "Specify the number of tty available to the container",
24306 "maximum" : 6,
24307 "minimum" : 0,
24308 "optional" : 1,
24309 "type" : "integer",
24310 "typetext" : "<integer> (0 - 6)"
24311 },
24312 "unprivileged" : {
24313 "default" : 0,
24314 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
24315 "optional" : 1,
24316 "type" : "boolean",
24317 "typetext" : "<boolean>"
24318 },
24319 "unused[n]" : {
24320 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
24321 "format" : "pve-volume-id",
24322 "optional" : 1,
24323 "type" : "string",
24324 "typetext" : "<string>"
24325 },
24326 "vmid" : {
24327 "description" : "The (unique) ID of the VM.",
24328 "format" : "pve-vmid",
24329 "minimum" : 1,
24330 "type" : "integer",
24331 "typetext" : "<integer> (1 - N)"
24332 }
24333 }
24334 },
24335 "permissions" : {
24336 "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.",
24337 "user" : "all"
24338 },
24339 "protected" : 1,
24340 "proxyto" : "node",
24341 "returns" : {
24342 "type" : "string"
24343 }
24344 }
24345 },
24346 "leaf" : 0,
24347 "path" : "/nodes/{node}/lxc",
24348 "text" : "lxc"
24349 },
24350 {
24351 "children" : [
24352 {
24353 "children" : [
56122987 24354 {
4d47f125
TL
24355 "children" : [
24356 {
24357 "info" : {
24358 "POST" : {
24359 "description" : "ceph osd in",
24360 "method" : "POST",
24361 "name" : "in",
24362 "parameters" : {
24363 "additionalProperties" : 0,
24364 "properties" : {
24365 "node" : {
24366 "description" : "The cluster node name.",
24367 "format" : "pve-node",
24368 "type" : "string",
24369 "typetext" : "<string>"
24370 },
24371 "osdid" : {
24372 "description" : "OSD ID",
24373 "type" : "integer",
24374 "typetext" : "<integer>"
24375 }
24376 }
27a7acb2 24377 },
4d47f125
TL
24378 "permissions" : {
24379 "check" : [
24380 "perm",
24381 "/",
24382 [
24383 "Sys.Modify"
24384 ]
24385 ]
44660702 24386 },
4d47f125
TL
24387 "protected" : 1,
24388 "proxyto" : "node",
24389 "returns" : {
24390 "type" : "null"
7aacca6f
DM
24391 }
24392 }
56122987 24393 },
4d47f125
TL
24394 "leaf" : 1,
24395 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
24396 "text" : "in"
24397 },
24398 {
24399 "info" : {
24400 "POST" : {
24401 "description" : "ceph osd out",
24402 "method" : "POST",
24403 "name" : "out",
24404 "parameters" : {
24405 "additionalProperties" : 0,
24406 "properties" : {
24407 "node" : {
24408 "description" : "The cluster node name.",
24409 "format" : "pve-node",
24410 "type" : "string",
24411 "typetext" : "<string>"
24412 },
24413 "osdid" : {
24414 "description" : "OSD ID",
24415 "type" : "integer",
24416 "typetext" : "<integer>"
24417 }
24418 }
24419 },
24420 "permissions" : {
24421 "check" : [
56122987 24422 "perm",
4d47f125 24423 "/",
56122987 24424 [
4d47f125 24425 "Sys.Modify"
56122987 24426 ]
56122987 24427 ]
44660702 24428 },
4d47f125
TL
24429 "protected" : 1,
24430 "proxyto" : "node",
24431 "returns" : {
24432 "type" : "null"
56122987 24433 }
44660702 24434 }
56122987 24435 },
4d47f125
TL
24436 "leaf" : 1,
24437 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
24438 "text" : "out"
56122987 24439 }
4d47f125 24440 ],
27a7acb2 24441 "info" : {
4d47f125
TL
24442 "DELETE" : {
24443 "description" : "Destroy OSD",
24444 "method" : "DELETE",
24445 "name" : "destroyosd",
27a7acb2
DM
24446 "parameters" : {
24447 "additionalProperties" : 0,
24448 "properties" : {
4d47f125 24449 "cleanup" : {
27a7acb2 24450 "default" : 0,
4d47f125 24451 "description" : "If set, we remove partition table entries.",
27a7acb2 24452 "optional" : 1,
4d47f125
TL
24453 "type" : "boolean",
24454 "typetext" : "<boolean>"
24455 },
24456 "node" : {
24457 "description" : "The cluster node name.",
24458 "format" : "pve-node",
24459 "type" : "string",
24460 "typetext" : "<string>"
24461 },
24462 "osdid" : {
24463 "description" : "OSD ID",
24464 "type" : "integer",
24465 "typetext" : "<integer>"
24466 }
24467 }
27a7acb2
DM
24468 },
24469 "protected" : 1,
24470 "proxyto" : "node",
24471 "returns" : {
24472 "type" : "string"
24473 }
24474 }
24475 },
4d47f125
TL
24476 "leaf" : 0,
24477 "path" : "/nodes/{node}/ceph/osd/{osdid}",
24478 "text" : "{osdid}"
56122987
DM
24479 }
24480 ],
24481 "info" : {
4d47f125
TL
24482 "GET" : {
24483 "description" : "Get Ceph osd list/tree.",
24484 "method" : "GET",
24485 "name" : "index",
44660702
DM
24486 "parameters" : {
24487 "additionalProperties" : 0,
24488 "properties" : {
24489 "node" : {
24490 "description" : "The cluster node name.",
24491 "format" : "pve-node",
013dc89f
DM
24492 "type" : "string",
24493 "typetext" : "<string>"
44660702
DM
24494 }
24495 }
24496 },
7aacca6f
DM
24497 "permissions" : {
24498 "check" : [
24499 "perm",
4d47f125 24500 "/",
7aacca6f 24501 [
4d47f125
TL
24502 "Sys.Audit",
24503 "Datastore.Audit"
24504 ],
24505 "any",
24506 1
24507 ]
24508 },
24509 "protected" : 1,
24510 "proxyto" : "node",
24511 "returns" : {
24512 "type" : "object"
24513 }
24514 },
24515 "POST" : {
24516 "description" : "Create OSD",
24517 "method" : "POST",
24518 "name" : "createosd",
24519 "parameters" : {
24520 "additionalProperties" : 0,
24521 "properties" : {
24522 "bluestore" : {
24523 "default" : 1,
24524 "description" : "Use bluestore instead of filestore. This is the default.",
44660702 24525 "optional" : 1,
4bd7df8b 24526 "type" : "boolean",
4d47f125 24527 "typetext" : "<boolean>"
44660702 24528 },
4d47f125
TL
24529 "dev" : {
24530 "description" : "Block device name.",
4bd7df8b 24531 "type" : "string",
4d47f125 24532 "typetext" : "<string>"
44660702 24533 },
4d47f125
TL
24534 "fstype" : {
24535 "default" : "xfs",
24536 "description" : "File system type (filestore only).",
24537 "enum" : [
24538 "xfs",
24539 "ext4"
24540 ],
7aacca6f 24541 "optional" : 1,
4d47f125 24542 "type" : "string"
44660702 24543 },
4d47f125
TL
24544 "journal_dev" : {
24545 "description" : "Block device name for journal (filestore) or block.db (bluestore).",
5d9c884c 24546 "optional" : 1,
4d47f125
TL
24547 "type" : "string",
24548 "typetext" : "<string>"
5d9c884c 24549 },
4d47f125
TL
24550 "node" : {
24551 "description" : "The cluster node name.",
24552 "format" : "pve-node",
24553 "type" : "string",
24554 "typetext" : "<string>"
7aacca6f 24555 },
4d47f125
TL
24556 "wal_dev" : {
24557 "description" : "Block device name for block.wal (bluestore only).",
de0983cb 24558 "optional" : 1,
4d47f125
TL
24559 "type" : "string",
24560 "typetext" : "<string>"
24561 }
24562 }
24563 },
24564 "protected" : 1,
24565 "proxyto" : "node",
24566 "returns" : {
24567 "type" : "string"
24568 }
24569 }
24570 },
24571 "leaf" : 0,
24572 "path" : "/nodes/{node}/ceph/osd",
24573 "text" : "osd"
24574 },
e2d681b3
TL
24575 {
24576 "children" : [
24577 {
24578 "info" : {
24579 "DELETE" : {
24580 "description" : "Destroy Ceph Metadata Server",
24581 "method" : "DELETE",
24582 "name" : "destroymds",
24583 "parameters" : {
24584 "additionalProperties" : 0,
24585 "properties" : {
24586 "name" : {
24587 "description" : "The name (ID) of the mds",
24588 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24589 "type" : "string"
24590 },
24591 "node" : {
24592 "description" : "The cluster node name.",
24593 "format" : "pve-node",
24594 "type" : "string",
24595 "typetext" : "<string>"
24596 }
24597 }
24598 },
24599 "permissions" : {
24600 "check" : [
24601 "perm",
24602 "/",
24603 [
24604 "Sys.Modify"
24605 ]
24606 ]
24607 },
24608 "protected" : 1,
24609 "proxyto" : "node",
24610 "returns" : {
24611 "type" : "string"
24612 }
24613 },
24614 "POST" : {
24615 "description" : "Create Ceph Metadata Server (MDS)",
24616 "method" : "POST",
24617 "name" : "createmds",
24618 "parameters" : {
24619 "additionalProperties" : 0,
24620 "properties" : {
24621 "hotstandby" : {
24622 "default" : "0",
24623 "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.",
24624 "optional" : 1,
24625 "type" : "boolean",
24626 "typetext" : "<boolean>"
24627 },
24628 "name" : {
24629 "default" : "nodename",
24630 "description" : "The ID for the mds, when omitted the same as the nodename",
24631 "optional" : 1,
24632 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24633 "type" : "string"
24634 },
24635 "node" : {
24636 "description" : "The cluster node name.",
24637 "format" : "pve-node",
24638 "type" : "string",
24639 "typetext" : "<string>"
24640 }
24641 }
24642 },
24643 "permissions" : {
24644 "check" : [
24645 "perm",
24646 "/",
24647 [
24648 "Sys.Modify"
24649 ]
24650 ]
24651 },
24652 "protected" : 1,
24653 "proxyto" : "node",
24654 "returns" : {
24655 "type" : "string"
24656 }
24657 }
24658 },
24659 "leaf" : 1,
24660 "path" : "/nodes/{node}/ceph/mds/{name}",
24661 "text" : "{name}"
24662 }
24663 ],
24664 "info" : {
24665 "GET" : {
24666 "description" : "MDS directory index.",
24667 "method" : "GET",
24668 "name" : "index",
24669 "parameters" : {
24670 "additionalProperties" : 0,
24671 "properties" : {
24672 "node" : {
24673 "description" : "The cluster node name.",
24674 "format" : "pve-node",
24675 "type" : "string",
24676 "typetext" : "<string>"
24677 }
24678 }
24679 },
24680 "permissions" : {
24681 "check" : [
24682 "perm",
24683 "/",
24684 [
24685 "Sys.Audit",
24686 "Datastore.Audit"
24687 ],
24688 "any",
24689 1
24690 ]
24691 },
24692 "protected" : 1,
24693 "proxyto" : "node",
24694 "returns" : {
24695 "items" : {
24696 "properties" : {
24697 "addr" : {
24698 "optional" : 1,
24699 "type" : "string"
24700 },
24701 "host" : {
24702 "optional" : 1,
24703 "type" : "string"
24704 },
24705 "name" : {
24706 "description" : "The name (ID) for the MDS"
24707 },
24708 "rank" : {
24709 "optional" : 1,
24710 "type" : "integer"
24711 },
24712 "standby_replay" : {
24713 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
24714 "optional" : 1,
24715 "type" : "boolean"
24716 },
24717 "state" : {
24718 "description" : "State of the MDS",
24719 "type" : "string"
24720 }
24721 },
24722 "type" : "object"
24723 },
24724 "links" : [
24725 {
24726 "href" : "{name}",
24727 "rel" : "child"
24728 }
24729 ],
24730 "type" : "array"
24731 }
24732 }
24733 },
24734 "leaf" : 0,
24735 "path" : "/nodes/{node}/ceph/mds",
24736 "text" : "mds"
24737 },
24738 {
24739 "children" : [
24740 {
24741 "info" : {
24742 "POST" : {
24743 "description" : "Create a Ceph filesystem",
24744 "method" : "POST",
24745 "name" : "createfs",
24746 "parameters" : {
24747 "additionalProperties" : 0,
24748 "properties" : {
24749 "add-storage" : {
24750 "default" : 0,
24751 "description" : "Configure the created CephFS as storage for this cluster.",
24752 "optional" : 1,
24753 "type" : "boolean",
24754 "typetext" : "<boolean>"
24755 },
24756 "name" : {
24757 "default" : "cephfs",
24758 "description" : "The ceph filesystem name.",
24759 "optional" : 1,
24760 "type" : "string",
24761 "typetext" : "<string>"
24762 },
24763 "node" : {
24764 "description" : "The cluster node name.",
24765 "format" : "pve-node",
24766 "type" : "string",
24767 "typetext" : "<string>"
24768 },
24769 "pg_num" : {
24770 "default" : 128,
24771 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
24772 "maximum" : 32768,
24773 "minimum" : 8,
24774 "optional" : 1,
24775 "type" : "integer",
24776 "typetext" : "<integer> (8 - 32768)"
24777 }
24778 }
24779 },
24780 "permissions" : {
24781 "check" : [
24782 "perm",
24783 "/",
24784 [
24785 "Sys.Modify"
24786 ]
24787 ]
24788 },
24789 "protected" : 1,
24790 "proxyto" : "node",
24791 "returns" : {
24792 "type" : "string"
24793 }
24794 }
24795 },
24796 "leaf" : 1,
24797 "path" : "/nodes/{node}/ceph/fs/{name}",
24798 "text" : "{name}"
24799 }
24800 ],
24801 "info" : {
24802 "GET" : {
24803 "description" : "Directory index.",
24804 "method" : "GET",
24805 "name" : "index",
24806 "parameters" : {
24807 "additionalProperties" : 0,
24808 "properties" : {
24809 "node" : {
24810 "description" : "The cluster node name.",
24811 "format" : "pve-node",
24812 "type" : "string",
24813 "typetext" : "<string>"
24814 }
24815 }
24816 },
24817 "permissions" : {
24818 "check" : [
24819 "perm",
24820 "/",
24821 [
24822 "Sys.Audit",
24823 "Datastore.Audit"
24824 ],
24825 "any",
24826 1
24827 ]
24828 },
24829 "protected" : 1,
24830 "returns" : {
24831 "items" : {
24832 "properties" : {
24833 "data_pool" : {
24834 "description" : "The name of the data pool.",
24835 "type" : "string"
24836 },
24837 "metadata_pool" : {
24838 "description" : "The name of the metadata pool.",
24839 "type" : "string"
24840 },
24841 "name" : {
24842 "description" : "The ceph filesystem name.",
24843 "type" : "string"
24844 }
24845 },
24846 "type" : "object"
24847 },
24848 "links" : [
24849 {
24850 "href" : "{name}",
24851 "rel" : "child"
24852 }
24853 ],
24854 "type" : "array"
24855 }
24856 }
24857 },
24858 "leaf" : 0,
24859 "path" : "/nodes/{node}/ceph/fs",
24860 "text" : "fs"
24861 },
4d47f125
TL
24862 {
24863 "info" : {
24864 "GET" : {
24865 "description" : "List local disks.",
24866 "method" : "GET",
24867 "name" : "disks",
24868 "parameters" : {
24869 "additionalProperties" : 0,
24870 "properties" : {
24871 "node" : {
24872 "description" : "The cluster node name.",
24873 "format" : "pve-node",
24874 "type" : "string",
24875 "typetext" : "<string>"
de0983cb 24876 },
4d47f125
TL
24877 "type" : {
24878 "description" : "Only list specific types of disks.",
24879 "enum" : [
24880 "unused",
24881 "journal_disks"
24882 ],
7aacca6f
DM
24883 "optional" : 1,
24884 "type" : "string"
56122987 24885 }
4d47f125 24886 }
56122987 24887 },
4d47f125
TL
24888 "permissions" : {
24889 "check" : [
24890 "perm",
24891 "/",
24892 [
24893 "Sys.Audit",
24894 "Datastore.Audit"
24895 ],
24896 "any",
24897 1
24898 ]
56122987 24899 },
4d47f125
TL
24900 "protected" : 1,
24901 "proxyto" : "node",
24902 "returns" : {
24903 "items" : {
24904 "properties" : {
24905 "dev" : {
24906 "type" : "string"
24907 },
24908 "gpt" : {
24909 "type" : "boolean"
24910 },
24911 "model" : {
24912 "optional" : 1,
24913 "type" : "string"
24914 },
24915 "osdid" : {
24916 "type" : "integer"
24917 },
24918 "serial" : {
24919 "optional" : 1,
24920 "type" : "string"
24921 },
24922 "size" : {
24923 "type" : "integer"
24924 },
24925 "used" : {
24926 "optional" : 1,
24927 "type" : "string"
24928 },
24929 "vendor" : {
24930 "optional" : 1,
24931 "type" : "string"
24932 }
7aacca6f 24933 },
4d47f125
TL
24934 "type" : "object"
24935 },
24936 "type" : "array"
24937 }
24938 }
24939 },
24940 "leaf" : 1,
24941 "path" : "/nodes/{node}/ceph/disks",
24942 "text" : "disks"
24943 },
24944 {
24945 "info" : {
24946 "GET" : {
24947 "description" : "Get Ceph configuration.",
24948 "method" : "GET",
24949 "name" : "config",
24950 "parameters" : {
24951 "additionalProperties" : 0,
24952 "properties" : {
24953 "node" : {
24954 "description" : "The cluster node name.",
24955 "format" : "pve-node",
24956 "type" : "string",
24957 "typetext" : "<string>"
24958 }
24959 }
24960 },
24961 "permissions" : {
24962 "check" : [
24963 "perm",
24964 "/",
24965 [
24966 "Sys.Audit",
24967 "Datastore.Audit"
24968 ],
24969 "any",
24970 1
24971 ]
24972 },
24973 "returns" : {
24974 "type" : "string"
24975 }
24976 }
24977 },
24978 "leaf" : 1,
24979 "path" : "/nodes/{node}/ceph/config",
24980 "text" : "config"
24981 },
24982 {
24983 "children" : [
24984 {
24985 "info" : {
24986 "DELETE" : {
24987 "description" : "Destroy Ceph Monitor and Manager.",
24988 "method" : "DELETE",
24989 "name" : "destroymon",
24990 "parameters" : {
24991 "additionalProperties" : 0,
24992 "properties" : {
24993 "exclude-manager" : {
24994 "default" : 0,
24995 "description" : "When set, removes only the monitor, not the manager",
24996 "optional" : 1,
24997 "type" : "boolean",
24998 "typetext" : "<boolean>"
24999 },
25000 "monid" : {
25001 "description" : "Monitor ID",
25002 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25003 "type" : "string"
25004 },
25005 "node" : {
25006 "description" : "The cluster node name.",
25007 "format" : "pve-node",
25008 "type" : "string",
25009 "typetext" : "<string>"
25010 }
25011 }
7aacca6f 25012 },
4d47f125
TL
25013 "permissions" : {
25014 "check" : [
25015 "perm",
25016 "/",
25017 [
25018 "Sys.Modify"
25019 ]
25020 ]
7aacca6f 25021 },
4d47f125
TL
25022 "protected" : 1,
25023 "proxyto" : "node",
25024 "returns" : {
44660702 25025 "type" : "string"
4d47f125
TL
25026 }
25027 }
25028 },
25029 "leaf" : 1,
25030 "path" : "/nodes/{node}/ceph/mon/{monid}",
25031 "text" : "{monid}"
25032 }
25033 ],
25034 "info" : {
25035 "GET" : {
25036 "description" : "Get Ceph monitor list.",
25037 "method" : "GET",
25038 "name" : "listmon",
25039 "parameters" : {
25040 "additionalProperties" : 0,
25041 "properties" : {
25042 "node" : {
25043 "description" : "The cluster node name.",
25044 "format" : "pve-node",
25045 "type" : "string",
25046 "typetext" : "<string>"
25047 }
25048 }
25049 },
25050 "permissions" : {
25051 "check" : [
25052 "perm",
25053 "/",
25054 [
25055 "Sys.Audit",
25056 "Datastore.Audit"
25057 ],
25058 "any",
25059 1
25060 ]
25061 },
25062 "protected" : 1,
25063 "proxyto" : "node",
25064 "returns" : {
25065 "items" : {
25066 "properties" : {
25067 "addr" : {
25068 "type" : "string"
25069 },
25070 "name" : {
25071 "type" : "string"
25072 }
7aacca6f 25073 },
4d47f125
TL
25074 "type" : "object"
25075 },
25076 "links" : [
25077 {
25078 "href" : "{name}",
25079 "rel" : "child"
25080 }
25081 ],
25082 "type" : "array"
25083 }
25084 },
25085 "POST" : {
25086 "description" : "Create Ceph Monitor and Manager",
25087 "method" : "POST",
25088 "name" : "createmon",
25089 "parameters" : {
25090 "additionalProperties" : 0,
25091 "properties" : {
25092 "exclude-manager" : {
25093 "default" : 0,
25094 "description" : "When set, only a monitor will be created.",
44660702 25095 "optional" : 1,
4d47f125
TL
25096 "type" : "boolean",
25097 "typetext" : "<boolean>"
44660702 25098 },
4d47f125
TL
25099 "id" : {
25100 "description" : "The ID for the monitor, when omitted the same as the nodename",
44660702 25101 "optional" : 1,
4d47f125 25102 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
44660702
DM
25103 "type" : "string"
25104 },
4d47f125
TL
25105 "mon-address" : {
25106 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
25107 "format" : "ip",
44660702 25108 "optional" : 1,
4d47f125
TL
25109 "type" : "string",
25110 "typetext" : "<string>"
44660702 25111 },
4d47f125
TL
25112 "node" : {
25113 "description" : "The cluster node name.",
25114 "format" : "pve-node",
25115 "type" : "string",
25116 "typetext" : "<string>"
7aacca6f 25117 }
4d47f125 25118 }
44660702 25119 },
4d47f125
TL
25120 "permissions" : {
25121 "check" : [
25122 "perm",
25123 "/",
25124 [
25125 "Sys.Modify"
25126 ]
25127 ]
56122987 25128 },
4d47f125
TL
25129 "protected" : 1,
25130 "proxyto" : "node",
25131 "returns" : {
7aacca6f 25132 "type" : "string"
4d47f125
TL
25133 }
25134 }
25135 },
25136 "leaf" : 0,
25137 "path" : "/nodes/{node}/ceph/mon",
25138 "text" : "mon"
25139 },
25140 {
25141 "info" : {
25142 "POST" : {
25143 "description" : "Create initial ceph default configuration and setup symlinks.",
25144 "method" : "POST",
25145 "name" : "init",
25146 "parameters" : {
25147 "additionalProperties" : 0,
25148 "properties" : {
e2d681b3
TL
25149 "cluster-network" : {
25150 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
25151 "format" : "CIDR",
25152 "maxLength" : 128,
25153 "optional" : 1,
25154 "requires" : "network",
25155 "type" : "string",
25156 "typetext" : "<string>"
25157 },
4d47f125
TL
25158 "disable_cephx" : {
25159 "default" : 0,
25160 "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 25161 "optional" : 1,
4d47f125
TL
25162 "type" : "boolean",
25163 "typetext" : "<boolean>"
56122987 25164 },
4d47f125
TL
25165 "min_size" : {
25166 "default" : 2,
25167 "description" : "Minimum number of available replicas per object to allow I/O",
25168 "maximum" : 7,
25169 "minimum" : 1,
7aacca6f 25170 "optional" : 1,
4d47f125
TL
25171 "type" : "integer",
25172 "typetext" : "<integer> (1 - 7)"
7aacca6f 25173 },
4d47f125
TL
25174 "network" : {
25175 "description" : "Use specific network for all ceph related traffic",
25176 "format" : "CIDR",
25177 "maxLength" : 128,
5d9c884c 25178 "optional" : 1,
4d47f125
TL
25179 "type" : "string",
25180 "typetext" : "<string>"
5d9c884c 25181 },
4d47f125
TL
25182 "node" : {
25183 "description" : "The cluster node name.",
25184 "format" : "pve-node",
25185 "type" : "string",
25186 "typetext" : "<string>"
7aacca6f 25187 },
4d47f125
TL
25188 "pg_bits" : {
25189 "default" : 6,
25190 "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.",
25191 "maximum" : 14,
25192 "minimum" : 6,
de0983cb 25193 "optional" : 1,
4d47f125
TL
25194 "type" : "integer",
25195 "typetext" : "<integer> (6 - 14)"
de0983cb 25196 },
44660702 25197 "size" : {
4d47f125
TL
25198 "default" : 3,
25199 "description" : "Targeted number of replicas per object",
25200 "maximum" : 7,
25201 "minimum" : 1,
7aacca6f 25202 "optional" : 1,
4d47f125
TL
25203 "type" : "integer",
25204 "typetext" : "<integer> (1 - 7)"
56122987 25205 }
4d47f125 25206 }
44660702 25207 },
4d47f125
TL
25208 "permissions" : {
25209 "check" : [
25210 "perm",
25211 "/",
25212 [
25213 "Sys.Modify"
25214 ]
25215 ]
5da3d723 25216 },
4d47f125
TL
25217 "protected" : 1,
25218 "proxyto" : "node",
25219 "returns" : {
25220 "type" : "null"
25221 }
25222 }
25223 },
25224 "leaf" : 1,
25225 "path" : "/nodes/{node}/ceph/init",
25226 "text" : "init"
25227 },
25228 {
25229 "children" : [
25230 {
25231 "info" : {
25232 "DELETE" : {
25233 "description" : "Destroy Ceph Manager.",
25234 "method" : "DELETE",
25235 "name" : "destroymgr",
25236 "parameters" : {
25237 "additionalProperties" : 0,
25238 "properties" : {
25239 "id" : {
25240 "description" : "The ID of the manager",
25241 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25242 "type" : "string"
25243 },
25244 "node" : {
25245 "description" : "The cluster node name.",
25246 "format" : "pve-node",
25247 "type" : "string",
25248 "typetext" : "<string>"
25249 }
25250 }
25251 },
25252 "permissions" : {
25253 "check" : [
25254 "perm",
25255 "/",
25256 [
25257 "Sys.Modify"
25258 ]
25259 ]
25260 },
25261 "protected" : 1,
25262 "proxyto" : "node",
25263 "returns" : {
25264 "type" : "string"
25265 }
25266 }
7aacca6f 25267 },
4d47f125
TL
25268 "leaf" : 1,
25269 "path" : "/nodes/{node}/ceph/mgr/{id}",
25270 "text" : "{id}"
25271 }
25272 ],
25273 "info" : {
25274 "POST" : {
25275 "description" : "Create Ceph Manager",
25276 "method" : "POST",
25277 "name" : "createmgr",
25278 "parameters" : {
25279 "additionalProperties" : 0,
25280 "properties" : {
25281 "id" : {
25282 "description" : "The ID for the manager, when omitted the same as the nodename",
25283 "optional" : 1,
25284 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25285 "type" : "string"
25286 },
25287 "node" : {
25288 "description" : "The cluster node name.",
25289 "format" : "pve-node",
25290 "type" : "string",
25291 "typetext" : "<string>"
25292 }
25293 }
7aacca6f 25294 },
4d47f125
TL
25295 "permissions" : {
25296 "check" : [
25297 "perm",
25298 "/",
25299 [
25300 "Sys.Modify"
25301 ]
25302 ]
44660702 25303 },
4d47f125
TL
25304 "protected" : 1,
25305 "proxyto" : "node",
25306 "returns" : {
25307 "type" : "string"
25308 }
25309 }
25310 },
25311 "leaf" : 0,
25312 "path" : "/nodes/{node}/ceph/mgr",
25313 "text" : "mgr"
25314 },
25315 {
25316 "info" : {
25317 "POST" : {
25318 "description" : "Stop ceph services.",
25319 "method" : "POST",
25320 "name" : "stop",
25321 "parameters" : {
25322 "additionalProperties" : 0,
25323 "properties" : {
25324 "node" : {
25325 "description" : "The cluster node name.",
25326 "format" : "pve-node",
25327 "type" : "string",
25328 "typetext" : "<string>"
25329 },
25330 "service" : {
e2d681b3 25331 "default" : "ceph.target",
4d47f125
TL
25332 "description" : "Ceph service name.",
25333 "optional" : 1,
25334 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
25335 "type" : "string"
25336 }
25337 }
7aacca6f 25338 },
4d47f125
TL
25339 "permissions" : {
25340 "check" : [
25341 "perm",
25342 "/",
25343 [
25344 "Sys.Modify"
25345 ]
25346 ]
7aacca6f 25347 },
4d47f125
TL
25348 "protected" : 1,
25349 "proxyto" : "node",
25350 "returns" : {
25351 "type" : "string"
25352 }
25353 }
25354 },
25355 "leaf" : 1,
25356 "path" : "/nodes/{node}/ceph/stop",
25357 "text" : "stop"
25358 },
25359 {
25360 "info" : {
25361 "POST" : {
25362 "description" : "Start ceph services.",
25363 "method" : "POST",
25364 "name" : "start",
25365 "parameters" : {
25366 "additionalProperties" : 0,
25367 "properties" : {
25368 "node" : {
25369 "description" : "The cluster node name.",
25370 "format" : "pve-node",
25371 "type" : "string",
25372 "typetext" : "<string>"
25373 },
25374 "service" : {
e2d681b3 25375 "default" : "ceph.target",
4d47f125
TL
25376 "description" : "Ceph service name.",
25377 "optional" : 1,
25378 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
25379 "type" : "string"
25380 }
25381 }
44660702 25382 },
4d47f125
TL
25383 "permissions" : {
25384 "check" : [
25385 "perm",
25386 "/",
25387 [
25388 "Sys.Modify"
25389 ]
25390 ]
44660702 25391 },
4d47f125
TL
25392 "protected" : 1,
25393 "proxyto" : "node",
25394 "returns" : {
25395 "type" : "string"
44660702 25396 }
7aacca6f
DM
25397 }
25398 },
4d47f125
TL
25399 "leaf" : 1,
25400 "path" : "/nodes/{node}/ceph/start",
25401 "text" : "start"
25402 },
e2d681b3
TL
25403 {
25404 "info" : {
25405 "POST" : {
25406 "description" : "Restart ceph services.",
25407 "method" : "POST",
25408 "name" : "restart",
25409 "parameters" : {
25410 "additionalProperties" : 0,
25411 "properties" : {
25412 "node" : {
25413 "description" : "The cluster node name.",
25414 "format" : "pve-node",
25415 "type" : "string",
25416 "typetext" : "<string>"
25417 },
25418 "service" : {
25419 "default" : "ceph.target",
25420 "description" : "Ceph service name.",
25421 "optional" : 1,
25422 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
25423 "type" : "string"
25424 }
25425 }
25426 },
25427 "permissions" : {
25428 "check" : [
25429 "perm",
25430 "/",
25431 [
25432 "Sys.Modify"
25433 ]
25434 ]
25435 },
25436 "protected" : 1,
25437 "proxyto" : "node",
25438 "returns" : {
25439 "type" : "string"
25440 }
25441 }
25442 },
25443 "leaf" : 1,
25444 "path" : "/nodes/{node}/ceph/restart",
25445 "text" : "restart"
25446 },
4d47f125
TL
25447 {
25448 "info" : {
25449 "GET" : {
25450 "description" : "Get ceph status.",
25451 "method" : "GET",
25452 "name" : "status",
25453 "parameters" : {
25454 "additionalProperties" : 0,
25455 "properties" : {
25456 "node" : {
25457 "description" : "The cluster node name.",
25458 "format" : "pve-node",
25459 "type" : "string",
25460 "typetext" : "<string>"
25461 }
25462 }
25463 },
25464 "permissions" : {
25465 "check" : [
25466 "perm",
25467 "/",
25468 [
25469 "Sys.Audit",
25470 "Datastore.Audit"
25471 ],
25472 "any",
25473 1
25474 ]
25475 },
25476 "protected" : 1,
25477 "proxyto" : "node",
25478 "returns" : {
25479 "type" : "object"
25480 }
25481 }
44660702 25482 },
4d47f125
TL
25483 "leaf" : 1,
25484 "path" : "/nodes/{node}/ceph/status",
25485 "text" : "status"
25486 },
44660702 25487 {
56122987
DM
25488 "children" : [
25489 {
44660702
DM
25490 "info" : {
25491 "DELETE" : {
4d47f125 25492 "description" : "Destroy pool",
44660702 25493 "method" : "DELETE",
4d47f125 25494 "name" : "destroypool",
44660702
DM
25495 "parameters" : {
25496 "additionalProperties" : 0,
25497 "properties" : {
4d47f125 25498 "force" : {
44660702 25499 "default" : 0,
4d47f125 25500 "description" : "If true, destroys pool even if in use",
44660702 25501 "optional" : 1,
013dc89f
DM
25502 "type" : "boolean",
25503 "typetext" : "<boolean>"
7aacca6f 25504 },
4d47f125
TL
25505 "name" : {
25506 "description" : "The name of the pool. It must be unique.",
25507 "type" : "string",
25508 "typetext" : "<string>"
25509 },
44660702
DM
25510 "node" : {
25511 "description" : "The cluster node name.",
25512 "format" : "pve-node",
013dc89f
DM
25513 "type" : "string",
25514 "typetext" : "<string>"
56122987 25515 },
4d47f125
TL
25516 "remove_storages" : {
25517 "default" : 0,
25518 "description" : "Remove all pveceph-managed storages configured for this pool",
25519 "optional" : 1,
25520 "type" : "boolean",
25521 "typetext" : "<boolean>"
44660702 25522 }
56122987
DM
25523 }
25524 },
4d47f125
TL
25525 "permissions" : {
25526 "check" : [
25527 "perm",
25528 "/",
25529 [
25530 "Sys.Modify"
25531 ]
25532 ]
25533 },
44660702
DM
25534 "protected" : 1,
25535 "proxyto" : "node",
25536 "returns" : {
25537 "type" : "string"
25538 }
25539 }
25540 },
4d47f125
TL
25541 "leaf" : 1,
25542 "path" : "/nodes/{node}/ceph/pools/{name}",
25543 "text" : "{name}"
44660702
DM
25544 }
25545 ],
25546 "info" : {
25547 "GET" : {
4d47f125 25548 "description" : "List all pools.",
44660702 25549 "method" : "GET",
4d47f125 25550 "name" : "lspools",
44660702
DM
25551 "parameters" : {
25552 "additionalProperties" : 0,
25553 "properties" : {
25554 "node" : {
25555 "description" : "The cluster node name.",
25556 "format" : "pve-node",
013dc89f
DM
25557 "type" : "string",
25558 "typetext" : "<string>"
44660702
DM
25559 }
25560 }
25561 },
25562 "permissions" : {
25563 "check" : [
25564 "perm",
25565 "/",
25566 [
25567 "Sys.Audit",
25568 "Datastore.Audit"
25569 ],
25570 "any",
25571 1
25572 ]
25573 },
25574 "protected" : 1,
25575 "proxyto" : "node",
25576 "returns" : {
4d47f125
TL
25577 "items" : {
25578 "properties" : {
25579 "pool" : {
25580 "type" : "integer"
25581 },
25582 "pool_name" : {
25583 "type" : "string"
25584 },
25585 "size" : {
25586 "type" : "integer"
25587 }
25588 },
25589 "type" : "object"
25590 },
25591 "links" : [
25592 {
25593 "href" : "{pool_name}",
25594 "rel" : "child"
25595 }
25596 ],
25597 "type" : "array"
44660702
DM
25598 }
25599 },
25600 "POST" : {
4d47f125 25601 "description" : "Create POOL",
44660702 25602 "method" : "POST",
4d47f125 25603 "name" : "createpool",
44660702
DM
25604 "parameters" : {
25605 "additionalProperties" : 0,
25606 "properties" : {
4d47f125 25607 "add_storages" : {
e2d681b3 25608 "description" : "Configure VM and CT storage using the new pool.",
5d9c884c
DM
25609 "optional" : 1,
25610 "type" : "boolean",
25611 "typetext" : "<boolean>"
25612 },
4d47f125
TL
25613 "application" : {
25614 "description" : "The application of the pool, 'rbd' by default.",
44660702 25615 "enum" : [
4d47f125
TL
25616 "rbd",
25617 "cephfs",
25618 "rgw"
44660702
DM
25619 ],
25620 "optional" : 1,
25621 "type" : "string"
25622 },
4d47f125
TL
25623 "crush_rule" : {
25624 "description" : "The rule to use for mapping object placement in the cluster.",
25625 "optional" : 1,
25626 "type" : "string",
25627 "typetext" : "<string>"
25628 },
25629 "min_size" : {
25630 "default" : 2,
25631 "description" : "Minimum number of replicas per object",
25632 "maximum" : 7,
25633 "minimum" : 1,
44660702 25634 "optional" : 1,
4d47f125
TL
25635 "type" : "integer",
25636 "typetext" : "<integer> (1 - 7)"
25637 },
25638 "name" : {
25639 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
25640 "type" : "string",
25641 "typetext" : "<string>"
44660702
DM
25642 },
25643 "node" : {
25644 "description" : "The cluster node name.",
25645 "format" : "pve-node",
013dc89f
DM
25646 "type" : "string",
25647 "typetext" : "<string>"
2489d6df 25648 },
4d47f125 25649 "pg_num" : {
e2d681b3 25650 "default" : 128,
4d47f125
TL
25651 "description" : "Number of placement groups.",
25652 "maximum" : 32768,
25653 "minimum" : 8,
2489d6df 25654 "optional" : 1,
4d47f125
TL
25655 "type" : "integer",
25656 "typetext" : "<integer> (8 - 32768)"
25657 },
25658 "size" : {
25659 "default" : 3,
25660 "description" : "Number of replicas per object",
25661 "maximum" : 7,
25662 "minimum" : 1,
25663 "optional" : 1,
25664 "type" : "integer",
25665 "typetext" : "<integer> (1 - 7)"
44660702 25666 }
56122987 25667 }
44660702 25668 },
4d47f125
TL
25669 "permissions" : {
25670 "check" : [
25671 "perm",
25672 "/",
25673 [
25674 "Sys.Modify"
25675 ]
25676 ]
25677 },
44660702
DM
25678 "protected" : 1,
25679 "proxyto" : "node",
25680 "returns" : {
25681 "type" : "string"
25682 }
56122987 25683 }
44660702 25684 },
7aacca6f 25685 "leaf" : 0,
4d47f125
TL
25686 "path" : "/nodes/{node}/ceph/pools",
25687 "text" : "pools"
7aacca6f
DM
25688 },
25689 {
4d47f125
TL
25690 "children" : [
25691 {
25692 "info" : {
25693 "DELETE" : {
25694 "description" : "Unset a ceph flag",
25695 "method" : "DELETE",
25696 "name" : "unset_flag",
25697 "parameters" : {
25698 "additionalProperties" : 0,
25699 "properties" : {
25700 "flag" : {
25701 "description" : "The ceph flag to set/unset",
25702 "enum" : [
25703 "full",
25704 "pause",
25705 "noup",
25706 "nodown",
25707 "noout",
25708 "noin",
25709 "nobackfill",
25710 "norebalance",
25711 "norecover",
25712 "noscrub",
25713 "nodeep-scrub",
25714 "notieragent"
25715 ],
25716 "type" : "string"
25717 },
25718 "node" : {
25719 "description" : "The cluster node name.",
25720 "format" : "pve-node",
25721 "type" : "string",
25722 "typetext" : "<string>"
25723 }
25724 }
25725 },
25726 "permissions" : {
25727 "check" : [
25728 "perm",
25729 "/",
25730 [
25731 "Sys.Modify"
25732 ]
25733 ]
25734 },
25735 "protected" : 1,
25736 "proxyto" : "node",
25737 "returns" : {
25738 "type" : "null"
25739 }
25740 },
25741 "POST" : {
25742 "description" : "Set a ceph flag",
25743 "method" : "POST",
25744 "name" : "set_flag",
25745 "parameters" : {
25746 "additionalProperties" : 0,
25747 "properties" : {
25748 "flag" : {
25749 "description" : "The ceph flag to set/unset",
25750 "enum" : [
25751 "full",
25752 "pause",
25753 "noup",
25754 "nodown",
25755 "noout",
25756 "noin",
25757 "nobackfill",
25758 "norebalance",
25759 "norecover",
25760 "noscrub",
25761 "nodeep-scrub",
25762 "notieragent"
25763 ],
25764 "type" : "string"
25765 },
25766 "node" : {
25767 "description" : "The cluster node name.",
25768 "format" : "pve-node",
25769 "type" : "string",
25770 "typetext" : "<string>"
25771 }
25772 }
25773 },
25774 "permissions" : {
25775 "check" : [
25776 "perm",
25777 "/",
25778 [
25779 "Sys.Modify"
25780 ]
25781 ]
25782 },
25783 "protected" : 1,
25784 "proxyto" : "node",
25785 "returns" : {
25786 "type" : "null"
25787 }
25788 }
25789 },
25790 "leaf" : 1,
25791 "path" : "/nodes/{node}/ceph/flags/{flag}",
25792 "text" : "{flag}"
25793 }
25794 ],
56122987
DM
25795 "info" : {
25796 "GET" : {
4d47f125 25797 "description" : "get all set ceph flags",
44660702 25798 "method" : "GET",
4d47f125 25799 "name" : "get_flags",
44660702
DM
25800 "parameters" : {
25801 "additionalProperties" : 0,
25802 "properties" : {
25803 "node" : {
25804 "description" : "The cluster node name.",
25805 "format" : "pve-node",
013dc89f
DM
25806 "type" : "string",
25807 "typetext" : "<string>"
44660702
DM
25808 }
25809 }
25810 },
56122987
DM
25811 "permissions" : {
25812 "check" : [
25813 "perm",
25814 "/",
25815 [
4d47f125
TL
25816 "Sys.Audit"
25817 ]
56122987 25818 ]
4d47f125
TL
25819 },
25820 "protected" : 1,
25821 "proxyto" : "node",
25822 "returns" : {
25823 "type" : "string"
44660702 25824 }
56122987 25825 }
44660702 25826 },
4d47f125
TL
25827 "leaf" : 0,
25828 "path" : "/nodes/{node}/ceph/flags",
25829 "text" : "flags"
56122987
DM
25830 },
25831 {
56122987
DM
25832 "info" : {
25833 "GET" : {
4d47f125 25834 "description" : "Get OSD crush map",
44660702 25835 "method" : "GET",
4d47f125 25836 "name" : "crush",
56122987 25837 "parameters" : {
7aacca6f 25838 "additionalProperties" : 0,
56122987 25839 "properties" : {
56122987 25840 "node" : {
7aacca6f 25841 "description" : "The cluster node name.",
44660702 25842 "format" : "pve-node",
013dc89f
DM
25843 "type" : "string",
25844 "typetext" : "<string>"
56122987 25845 }
7aacca6f 25846 }
56122987 25847 },
56122987
DM
25848 "permissions" : {
25849 "check" : [
25850 "perm",
25851 "/",
25852 [
25853 "Sys.Audit",
25854 "Datastore.Audit"
25855 ],
25856 "any",
25857 1
25858 ]
44660702 25859 },
4d47f125
TL
25860 "protected" : 1,
25861 "proxyto" : "node",
44660702
DM
25862 "returns" : {
25863 "type" : "string"
7aacca6f
DM
25864 }
25865 }
44660702
DM
25866 },
25867 "leaf" : 1,
4d47f125
TL
25868 "path" : "/nodes/{node}/ceph/crush",
25869 "text" : "crush"
7aacca6f
DM
25870 },
25871 {
7aacca6f
DM
25872 "info" : {
25873 "GET" : {
4d47f125 25874 "description" : "Read ceph log",
7aacca6f 25875 "method" : "GET",
4d47f125 25876 "name" : "log",
7aacca6f
DM
25877 "parameters" : {
25878 "additionalProperties" : 0,
25879 "properties" : {
4d47f125
TL
25880 "limit" : {
25881 "minimum" : 0,
25882 "optional" : 1,
25883 "type" : "integer",
25884 "typetext" : "<integer> (0 - N)"
25885 },
7aacca6f 25886 "node" : {
7aacca6f 25887 "description" : "The cluster node name.",
44660702 25888 "format" : "pve-node",
013dc89f
DM
25889 "type" : "string",
25890 "typetext" : "<string>"
4d47f125
TL
25891 },
25892 "start" : {
25893 "minimum" : 0,
25894 "optional" : 1,
25895 "type" : "integer",
25896 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
25897 }
25898 }
25899 },
44660702
DM
25900 "permissions" : {
25901 "check" : [
25902 "perm",
4d47f125 25903 "/nodes/{node}",
44660702 25904 [
4d47f125
TL
25905 "Sys.Syslog"
25906 ]
44660702
DM
25907 ]
25908 },
7aacca6f 25909 "protected" : 1,
44660702 25910 "proxyto" : "node",
7aacca6f
DM
25911 "returns" : {
25912 "items" : {
25913 "properties" : {
4d47f125
TL
25914 "n" : {
25915 "description" : "Line number",
25916 "type" : "integer"
56122987 25917 },
4d47f125
TL
25918 "t" : {
25919 "description" : "Line text",
56122987
DM
25920 "type" : "string"
25921 }
7aacca6f
DM
25922 },
25923 "type" : "object"
56122987
DM
25924 },
25925 "type" : "array"
44660702 25926 }
4d47f125
TL
25927 }
25928 },
25929 "leaf" : 1,
25930 "path" : "/nodes/{node}/ceph/log",
25931 "text" : "log"
25932 },
25933 {
25934 "info" : {
25935 "GET" : {
25936 "description" : "List ceph rules.",
25937 "method" : "GET",
25938 "name" : "rules",
44660702
DM
25939 "parameters" : {
25940 "additionalProperties" : 0,
25941 "properties" : {
25942 "node" : {
25943 "description" : "The cluster node name.",
25944 "format" : "pve-node",
013dc89f
DM
25945 "type" : "string",
25946 "typetext" : "<string>"
44660702
DM
25947 }
25948 }
25949 },
7aacca6f
DM
25950 "permissions" : {
25951 "check" : [
25952 "perm",
25953 "/",
25954 [
4d47f125
TL
25955 "Sys.Audit",
25956 "Datastore.Audit"
25957 ],
25958 "any",
25959 1
7aacca6f
DM
25960 ]
25961 },
44660702 25962 "protected" : 1,
7aacca6f 25963 "proxyto" : "node",
56122987 25964 "returns" : {
4d47f125
TL
25965 "items" : {
25966 "properties" : {},
25967 "type" : "object"
25968 },
25969 "links" : [
25970 {
25971 "href" : "{name}",
25972 "rel" : "child"
25973 }
25974 ],
25975 "type" : "array"
44660702 25976 }
56122987 25977 }
44660702 25978 },
4d47f125
TL
25979 "leaf" : 1,
25980 "path" : "/nodes/{node}/ceph/rules",
25981 "text" : "rules"
25982 }
25983 ],
25984 "info" : {
25985 "GET" : {
25986 "description" : "Directory index.",
25987 "method" : "GET",
25988 "name" : "index",
25989 "parameters" : {
25990 "additionalProperties" : 0,
25991 "properties" : {
25992 "node" : {
25993 "description" : "The cluster node name.",
25994 "format" : "pve-node",
25995 "type" : "string",
25996 "typetext" : "<string>"
25997 }
25998 }
25999 },
26000 "permissions" : {
26001 "check" : [
26002 "perm",
26003 "/",
26004 [
26005 "Sys.Audit",
26006 "Datastore.Audit"
26007 ],
26008 "any",
26009 1
26010 ]
26011 },
26012 "returns" : {
26013 "items" : {
26014 "properties" : {},
26015 "type" : "object"
26016 },
26017 "links" : [
26018 {
26019 "href" : "{name}",
26020 "rel" : "child"
26021 }
26022 ],
26023 "type" : "array"
26024 }
26025 }
26026 },
26027 "leaf" : 0,
26028 "path" : "/nodes/{node}/ceph",
26029 "text" : "ceph"
26030 },
26031 {
26032 "children" : [
56122987
DM
26033 {
26034 "info" : {
4d47f125
TL
26035 "GET" : {
26036 "description" : "Extract configuration from vzdump backup archive.",
26037 "method" : "GET",
26038 "name" : "extractconfig",
26039 "parameters" : {
26040 "additionalProperties" : 0,
26041 "properties" : {
44660702
DM
26042 "node" : {
26043 "description" : "The cluster node name.",
26044 "format" : "pve-node",
013dc89f
DM
26045 "type" : "string",
26046 "typetext" : "<string>"
44660702 26047 },
4d47f125
TL
26048 "volume" : {
26049 "description" : "Volume identifier",
26050 "type" : "string",
26051 "typetext" : "<string>"
44660702
DM
26052 }
26053 }
7aacca6f 26054 },
56122987 26055 "permissions" : {
4d47f125
TL
26056 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
26057 "user" : "all"
56122987 26058 },
7aacca6f 26059 "protected" : 1,
44660702
DM
26060 "proxyto" : "node",
26061 "returns" : {
4d47f125 26062 "type" : "string"
7aacca6f
DM
26063 }
26064 }
26065 },
7aacca6f 26066 "leaf" : 1,
4d47f125
TL
26067 "path" : "/nodes/{node}/vzdump/extractconfig",
26068 "text" : "extractconfig"
26069 }
26070 ],
26071 "info" : {
26072 "POST" : {
26073 "description" : "Create backup.",
26074 "method" : "POST",
26075 "name" : "vzdump",
26076 "parameters" : {
26077 "additionalProperties" : 0,
26078 "properties" : {
26079 "all" : {
26080 "default" : 0,
26081 "description" : "Backup all known guest systems on this host.",
26082 "optional" : 1,
26083 "type" : "boolean",
26084 "typetext" : "<boolean>"
26085 },
26086 "bwlimit" : {
26087 "default" : 0,
26088 "description" : "Limit I/O bandwidth (KBytes per second).",
26089 "minimum" : 0,
26090 "optional" : 1,
26091 "type" : "integer",
26092 "typetext" : "<integer> (0 - N)"
26093 },
26094 "compress" : {
26095 "default" : "0",
26096 "description" : "Compress dump file.",
26097 "enum" : [
26098 "0",
26099 "1",
26100 "gzip",
26101 "lzo"
26102 ],
26103 "optional" : 1,
26104 "type" : "string"
26105 },
26106 "dumpdir" : {
26107 "description" : "Store resulting files to specified directory.",
26108 "optional" : 1,
26109 "type" : "string",
26110 "typetext" : "<string>"
26111 },
26112 "exclude" : {
26113 "description" : "Exclude specified guest systems (assumes --all)",
26114 "format" : "pve-vmid-list",
26115 "optional" : 1,
26116 "type" : "string",
26117 "typetext" : "<string>"
26118 },
26119 "exclude-path" : {
26120 "description" : "Exclude certain files/directories (shell globs).",
26121 "format" : "string-alist",
26122 "optional" : 1,
26123 "type" : "string",
26124 "typetext" : "<string>"
26125 },
26126 "ionice" : {
26127 "default" : 7,
26128 "description" : "Set CFQ ionice priority.",
26129 "maximum" : 8,
26130 "minimum" : 0,
26131 "optional" : 1,
26132 "type" : "integer",
26133 "typetext" : "<integer> (0 - 8)"
26134 },
26135 "lockwait" : {
26136 "default" : 180,
26137 "description" : "Maximal time to wait for the global lock (minutes).",
26138 "minimum" : 0,
26139 "optional" : 1,
26140 "type" : "integer",
26141 "typetext" : "<integer> (0 - N)"
26142 },
26143 "mailnotification" : {
26144 "default" : "always",
26145 "description" : "Specify when to send an email",
26146 "enum" : [
26147 "always",
26148 "failure"
26149 ],
26150 "optional" : 1,
26151 "type" : "string"
26152 },
26153 "mailto" : {
26154 "description" : "Comma-separated list of email addresses that should receive email notifications.",
26155 "format" : "string-list",
26156 "optional" : 1,
26157 "type" : "string",
26158 "typetext" : "<string>"
26159 },
26160 "maxfiles" : {
26161 "default" : 1,
26162 "description" : "Maximal number of backup files per guest system.",
26163 "minimum" : 1,
26164 "optional" : 1,
26165 "type" : "integer",
26166 "typetext" : "<integer> (1 - N)"
26167 },
26168 "mode" : {
26169 "default" : "snapshot",
26170 "description" : "Backup mode.",
26171 "enum" : [
26172 "snapshot",
26173 "suspend",
26174 "stop"
26175 ],
26176 "optional" : 1,
26177 "type" : "string"
26178 },
26179 "node" : {
26180 "description" : "Only run if executed on this node.",
26181 "format" : "pve-node",
26182 "optional" : 1,
26183 "type" : "string",
26184 "typetext" : "<string>"
26185 },
26186 "pigz" : {
26187 "default" : 0,
26188 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
26189 "optional" : 1,
26190 "type" : "integer",
26191 "typetext" : "<integer>"
26192 },
26193 "quiet" : {
26194 "default" : 0,
26195 "description" : "Be quiet.",
26196 "optional" : 1,
26197 "type" : "boolean",
26198 "typetext" : "<boolean>"
26199 },
26200 "remove" : {
26201 "default" : 1,
26202 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
26203 "optional" : 1,
26204 "type" : "boolean",
26205 "typetext" : "<boolean>"
26206 },
26207 "script" : {
26208 "description" : "Use specified hook script.",
26209 "optional" : 1,
26210 "type" : "string",
26211 "typetext" : "<string>"
26212 },
26213 "size" : {
26214 "default" : 1024,
26215 "description" : "Unused, will be removed in a future release.",
26216 "minimum" : 500,
26217 "optional" : 1,
26218 "type" : "integer",
26219 "typetext" : "<integer> (500 - N)"
26220 },
26221 "stdexcludes" : {
26222 "default" : 1,
26223 "description" : "Exclude temporary files and logs.",
26224 "optional" : 1,
26225 "type" : "boolean",
26226 "typetext" : "<boolean>"
26227 },
26228 "stdout" : {
26229 "description" : "Write tar to stdout, not to a file.",
26230 "optional" : 1,
26231 "type" : "boolean",
26232 "typetext" : "<boolean>"
26233 },
26234 "stop" : {
26235 "default" : 0,
26236 "description" : "Stop runnig backup jobs on this host.",
26237 "optional" : 1,
26238 "type" : "boolean",
26239 "typetext" : "<boolean>"
26240 },
26241 "stopwait" : {
26242 "default" : 10,
26243 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
26244 "minimum" : 0,
26245 "optional" : 1,
26246 "type" : "integer",
26247 "typetext" : "<integer> (0 - N)"
26248 },
26249 "storage" : {
26250 "description" : "Store resulting file to this storage.",
26251 "format" : "pve-storage-id",
26252 "optional" : 1,
26253 "type" : "string",
26254 "typetext" : "<string>"
26255 },
26256 "tmpdir" : {
26257 "description" : "Store temporary files to specified directory.",
26258 "optional" : 1,
26259 "type" : "string",
26260 "typetext" : "<string>"
26261 },
26262 "vmid" : {
26263 "description" : "The ID of the guest system you want to backup.",
26264 "format" : "pve-vmid-list",
26265 "optional" : 1,
26266 "type" : "string",
26267 "typetext" : "<string>"
26268 }
26269 }
26270 },
26271 "permissions" : {
26272 "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.",
26273 "user" : "all"
26274 },
26275 "protected" : 1,
26276 "proxyto" : "node",
26277 "returns" : {
26278 "type" : "string"
26279 }
26280 }
26281 },
26282 "leaf" : 0,
26283 "path" : "/nodes/{node}/vzdump",
26284 "text" : "vzdump"
26285 },
26286 {
26287 "children" : [
2489d6df
WB
26288 {
26289 "children" : [
26290 {
26291 "info" : {
4d47f125
TL
26292 "GET" : {
26293 "description" : "Read service properties",
26294 "method" : "GET",
26295 "name" : "service_state",
2489d6df
WB
26296 "parameters" : {
26297 "additionalProperties" : 0,
26298 "properties" : {
2489d6df
WB
26299 "node" : {
26300 "description" : "The cluster node name.",
26301 "format" : "pve-node",
26302 "type" : "string",
26303 "typetext" : "<string>"
4d47f125
TL
26304 },
26305 "service" : {
26306 "description" : "Service ID",
26307 "enum" : [
26308 "pveproxy",
26309 "pvedaemon",
26310 "spiceproxy",
26311 "pvestatd",
26312 "pve-cluster",
26313 "corosync",
26314 "pve-firewall",
26315 "pvefw-logger",
26316 "pve-ha-crm",
26317 "pve-ha-lrm",
26318 "sshd",
26319 "syslog",
26320 "cron",
26321 "postfix",
26322 "ksmtuned",
26323 "systemd-timesyncd"
26324 ],
26325 "type" : "string"
2489d6df
WB
26326 }
26327 }
26328 },
26329 "permissions" : {
26330 "check" : [
26331 "perm",
4d47f125 26332 "/nodes/{node}",
2489d6df 26333 [
4d47f125 26334 "Sys.Audit"
2489d6df
WB
26335 ]
26336 ]
26337 },
26338 "protected" : 1,
26339 "proxyto" : "node",
26340 "returns" : {
4d47f125 26341 "type" : "object"
2489d6df
WB
26342 }
26343 }
26344 },
26345 "leaf" : 1,
4d47f125
TL
26346 "path" : "/nodes/{node}/services/{service}/state",
26347 "text" : "state"
26348 },
26349 {
26350 "info" : {
26351 "POST" : {
26352 "description" : "Start service.",
26353 "method" : "POST",
26354 "name" : "service_start",
26355 "parameters" : {
26356 "additionalProperties" : 0,
26357 "properties" : {
26358 "node" : {
26359 "description" : "The cluster node name.",
26360 "format" : "pve-node",
26361 "type" : "string",
26362 "typetext" : "<string>"
26363 },
26364 "service" : {
26365 "description" : "Service ID",
26366 "enum" : [
26367 "pveproxy",
26368 "pvedaemon",
26369 "spiceproxy",
26370 "pvestatd",
26371 "pve-cluster",
26372 "corosync",
26373 "pve-firewall",
26374 "pvefw-logger",
26375 "pve-ha-crm",
26376 "pve-ha-lrm",
26377 "sshd",
26378 "syslog",
26379 "cron",
26380 "postfix",
26381 "ksmtuned",
26382 "systemd-timesyncd"
26383 ],
26384 "type" : "string"
26385 }
26386 }
7aacca6f 26387 },
4d47f125
TL
26388 "permissions" : {
26389 "check" : [
26390 "perm",
26391 "/nodes/{node}",
26392 [
26393 "Sys.Modify"
26394 ]
26395 ]
7aacca6f 26396 },
4d47f125
TL
26397 "protected" : 1,
26398 "proxyto" : "node",
26399 "returns" : {
26400 "type" : "string"
26401 }
26402 }
56122987 26403 },
4d47f125
TL
26404 "leaf" : 1,
26405 "path" : "/nodes/{node}/services/{service}/start",
26406 "text" : "start"
26407 },
44660702
DM
26408 {
26409 "info" : {
4d47f125
TL
26410 "POST" : {
26411 "description" : "Stop service.",
26412 "method" : "POST",
26413 "name" : "service_stop",
44660702
DM
26414 "parameters" : {
26415 "additionalProperties" : 0,
26416 "properties" : {
44660702
DM
26417 "node" : {
26418 "description" : "The cluster node name.",
26419 "format" : "pve-node",
013dc89f
DM
26420 "type" : "string",
26421 "typetext" : "<string>"
2489d6df 26422 },
4d47f125
TL
26423 "service" : {
26424 "description" : "Service ID",
26425 "enum" : [
26426 "pveproxy",
26427 "pvedaemon",
26428 "spiceproxy",
26429 "pvestatd",
26430 "pve-cluster",
26431 "corosync",
26432 "pve-firewall",
26433 "pvefw-logger",
26434 "pve-ha-crm",
26435 "pve-ha-lrm",
26436 "sshd",
26437 "syslog",
26438 "cron",
26439 "postfix",
26440 "ksmtuned",
26441 "systemd-timesyncd"
26442 ],
26443 "type" : "string"
44660702
DM
26444 }
26445 }
26446 },
26447 "permissions" : {
26448 "check" : [
26449 "perm",
4d47f125 26450 "/nodes/{node}",
44660702
DM
26451 [
26452 "Sys.Modify"
26453 ]
26454 ]
26455 },
26456 "protected" : 1,
26457 "proxyto" : "node",
26458 "returns" : {
2489d6df 26459 "type" : "string"
44660702
DM
26460 }
26461 }
26462 },
26463 "leaf" : 1,
4d47f125
TL
26464 "path" : "/nodes/{node}/services/{service}/stop",
26465 "text" : "stop"
7aacca6f 26466 },
32d876b5
DM
26467 {
26468 "info" : {
4d47f125
TL
26469 "POST" : {
26470 "description" : "Restart service.",
26471 "method" : "POST",
26472 "name" : "service_restart",
32d876b5
DM
26473 "parameters" : {
26474 "additionalProperties" : 0,
26475 "properties" : {
4d47f125
TL
26476 "node" : {
26477 "description" : "The cluster node name.",
26478 "format" : "pve-node",
26479 "type" : "string",
26480 "typetext" : "<string>"
26481 },
26482 "service" : {
26483 "description" : "Service ID",
32d876b5 26484 "enum" : [
4d47f125
TL
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"
32d876b5
DM
26501 ],
26502 "type" : "string"
32d876b5
DM
26503 }
26504 }
26505 },
26506 "permissions" : {
26507 "check" : [
26508 "perm",
4d47f125 26509 "/nodes/{node}",
32d876b5
DM
26510 [
26511 "Sys.Modify"
26512 ]
26513 ]
26514 },
26515 "protected" : 1,
26516 "proxyto" : "node",
26517 "returns" : {
4d47f125 26518 "type" : "string"
32d876b5 26519 }
4d47f125
TL
26520 }
26521 },
26522 "leaf" : 1,
26523 "path" : "/nodes/{node}/services/{service}/restart",
26524 "text" : "restart"
26525 },
26526 {
26527 "info" : {
32d876b5 26528 "POST" : {
4d47f125 26529 "description" : "Reload service.",
32d876b5 26530 "method" : "POST",
4d47f125 26531 "name" : "service_reload",
32d876b5
DM
26532 "parameters" : {
26533 "additionalProperties" : 0,
26534 "properties" : {
32d876b5
DM
26535 "node" : {
26536 "description" : "The cluster node name.",
26537 "format" : "pve-node",
26538 "type" : "string",
26539 "typetext" : "<string>"
4d47f125
TL
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"
32d876b5
DM
26562 }
26563 }
26564 },
26565 "permissions" : {
26566 "check" : [
26567 "perm",
4d47f125 26568 "/nodes/{node}",
32d876b5
DM
26569 [
26570 "Sys.Modify"
26571 ]
26572 ]
26573 },
26574 "protected" : 1,
26575 "proxyto" : "node",
26576 "returns" : {
4d47f125 26577 "type" : "string"
32d876b5
DM
26578 }
26579 }
26580 },
26581 "leaf" : 1,
4d47f125
TL
26582 "path" : "/nodes/{node}/services/{service}/reload",
26583 "text" : "reload"
32d876b5
DM
26584 }
26585 ],
26586 "info" : {
26587 "GET" : {
4d47f125 26588 "description" : "Directory index",
44660702 26589 "method" : "GET",
4d47f125 26590 "name" : "srvcmdidx",
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>"
44660702 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 26621 }
7aacca6f 26622 }
56122987 26623 },
56122987
DM
26624 "permissions" : {
26625 "check" : [
26626 "perm",
7aacca6f 26627 "/nodes/{node}",
56122987 26628 [
4d47f125 26629 "Sys.Audit"
56122987
DM
26630 ]
26631 ]
26632 },
44660702
DM
26633 "returns" : {
26634 "items" : {
26635 "properties" : {
4d47f125 26636 "subdir" : {
44660702
DM
26637 "type" : "string"
26638 }
56122987 26639 },
44660702 26640 "type" : "object"
56122987 26641 },
2489d6df
WB
26642 "links" : [
26643 {
4d47f125 26644 "href" : "{subdir}",
2489d6df
WB
26645 "rel" : "child"
26646 }
26647 ],
26648 "type" : "array"
26649 }
26650 }
4d47f125
TL
26651 },
26652 "leaf" : 0,
26653 "path" : "/nodes/{node}/services/{service}",
26654 "text" : "{service}"
7aacca6f
DM
26655 }
26656 ],
44660702
DM
26657 "info" : {
26658 "GET" : {
4d47f125 26659 "description" : "Service list.",
44660702
DM
26660 "method" : "GET",
26661 "name" : "index",
26662 "parameters" : {
26663 "additionalProperties" : 0,
26664 "properties" : {
26665 "node" : {
26666 "description" : "The cluster node name.",
26667 "format" : "pve-node",
013dc89f
DM
26668 "type" : "string",
26669 "typetext" : "<string>"
44660702
DM
26670 }
26671 }
26672 },
26673 "permissions" : {
26674 "check" : [
26675 "perm",
4d47f125 26676 "/nodes/{node}",
44660702 26677 [
4d47f125
TL
26678 "Sys.Audit"
26679 ]
44660702
DM
26680 ]
26681 },
4d47f125
TL
26682 "protected" : 1,
26683 "proxyto" : "node",
44660702
DM
26684 "returns" : {
26685 "items" : {
26686 "properties" : {},
26687 "type" : "object"
26688 },
26689 "links" : [
26690 {
4d47f125 26691 "href" : "{service}",
44660702
DM
26692 "rel" : "child"
26693 }
26694 ],
26695 "type" : "array"
26696 }
26697 }
26698 },
7aacca6f 26699 "leaf" : 0,
4d47f125
TL
26700 "path" : "/nodes/{node}/services",
26701 "text" : "services"
7aacca6f
DM
26702 },
26703 {
7aacca6f 26704 "info" : {
4d47f125
TL
26705 "GET" : {
26706 "description" : "Read subscription info.",
26707 "method" : "GET",
26708 "name" : "get",
7aacca6f 26709 "parameters" : {
44660702 26710 "additionalProperties" : 0,
7aacca6f 26711 "properties" : {
44660702 26712 "node" : {
4d47f125 26713 "description" : "The cluster node name.",
44660702 26714 "format" : "pve-node",
013dc89f
DM
26715 "type" : "string",
26716 "typetext" : "<string>"
4d47f125
TL
26717 }
26718 }
26719 },
26720 "permissions" : {
26721 "user" : "all"
26722 },
26723 "proxyto" : "node",
26724 "returns" : {
26725 "type" : "object"
26726 }
26727 },
26728 "POST" : {
26729 "description" : "Update subscription info.",
26730 "method" : "POST",
26731 "name" : "update",
26732 "parameters" : {
26733 "additionalProperties" : 0,
26734 "properties" : {
26735 "force" : {
26736 "default" : 0,
26737 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 26738 "optional" : 1,
4d47f125
TL
26739 "type" : "boolean",
26740 "typetext" : "<boolean>"
44660702 26741 },
4d47f125
TL
26742 "node" : {
26743 "description" : "The cluster node name.",
26744 "format" : "pve-node",
013dc89f
DM
26745 "type" : "string",
26746 "typetext" : "<string>"
4d47f125
TL
26747 }
26748 }
26749 },
26750 "permissions" : {
26751 "check" : [
26752 "perm",
26753 "/nodes/{node}",
26754 [
26755 "Sys.Modify"
26756 ]
26757 ]
26758 },
26759 "protected" : 1,
26760 "proxyto" : "node",
26761 "returns" : {
26762 "type" : "null"
26763 }
26764 },
26765 "PUT" : {
26766 "description" : "Set subscription key.",
26767 "method" : "PUT",
26768 "name" : "set",
26769 "parameters" : {
26770 "additionalProperties" : 0,
26771 "properties" : {
26772 "key" : {
26773 "description" : "Proxmox VE subscription key",
26774 "maxLength" : 32,
26775 "pattern" : "pve([124])([cbsp])-[0-9a-f]{10}",
26776 "type" : "string"
7aacca6f 26777 },
4d47f125
TL
26778 "node" : {
26779 "description" : "The cluster node name.",
26780 "format" : "pve-node",
013dc89f
DM
26781 "type" : "string",
26782 "typetext" : "<string>"
7aacca6f 26783 }
7aacca6f
DM
26784 }
26785 },
7aacca6f 26786 "permissions" : {
4d47f125
TL
26787 "check" : [
26788 "perm",
26789 "/nodes/{node}",
26790 [
26791 "Sys.Modify"
26792 ]
26793 ]
7aacca6f 26794 },
44660702 26795 "protected" : 1,
7aacca6f 26796 "proxyto" : "node",
7aacca6f 26797 "returns" : {
4d47f125 26798 "type" : "null"
7aacca6f
DM
26799 }
26800 }
26801 },
4d47f125
TL
26802 "leaf" : 1,
26803 "path" : "/nodes/{node}/subscription",
26804 "text" : "subscription"
44660702
DM
26805 },
26806 {
7aacca6f
DM
26807 "children" : [
26808 {
4d47f125
TL
26809 "info" : {
26810 "DELETE" : {
26811 "description" : "Delete network device configuration",
26812 "method" : "DELETE",
26813 "name" : "delete_network",
26814 "parameters" : {
26815 "additionalProperties" : 0,
26816 "properties" : {
26817 "iface" : {
26818 "description" : "Network interface name.",
26819 "format" : "pve-iface",
26820 "maxLength" : 20,
26821 "minLength" : 2,
26822 "type" : "string",
26823 "typetext" : "<string>"
7aacca6f 26824 },
4d47f125
TL
26825 "node" : {
26826 "description" : "The cluster node name.",
26827 "format" : "pve-node",
26828 "type" : "string",
26829 "typetext" : "<string>"
44660702
DM
26830 }
26831 }
26832 },
4d47f125
TL
26833 "permissions" : {
26834 "check" : [
26835 "perm",
26836 "/nodes/{node}",
26837 [
26838 "Sys.Modify"
26839 ]
26840 ]
26841 },
26842 "protected" : 1,
26843 "proxyto" : "node",
26844 "returns" : {
26845 "type" : "null"
26846 }
26847 },
26848 "GET" : {
26849 "description" : "Read network device configuration",
26850 "method" : "GET",
26851 "name" : "network_config",
26852 "parameters" : {
26853 "additionalProperties" : 0,
26854 "properties" : {
26855 "iface" : {
26856 "description" : "Network interface name.",
26857 "format" : "pve-iface",
26858 "maxLength" : 20,
26859 "minLength" : 2,
26860 "type" : "string",
26861 "typetext" : "<string>"
56122987 26862 },
4d47f125
TL
26863 "node" : {
26864 "description" : "The cluster node name.",
26865 "format" : "pve-node",
26866 "type" : "string",
26867 "typetext" : "<string>"
44660702
DM
26868 }
26869 }
26870 },
4d47f125
TL
26871 "permissions" : {
26872 "check" : [
26873 "perm",
26874 "/nodes/{node}",
26875 [
26876 "Sys.Audit"
26877 ]
26878 ]
26879 },
26880 "proxyto" : "node",
26881 "returns" : {
26882 "properties" : {
26883 "method" : {
26884 "type" : "string"
44660702 26885 },
4d47f125 26886 "type" : {
44660702
DM
26887 "type" : "string"
26888 }
4d47f125
TL
26889 },
26890 "type" : "object"
26891 }
56122987 26892 },
4d47f125
TL
26893 "PUT" : {
26894 "description" : "Update network device configuration",
26895 "method" : "PUT",
26896 "name" : "update_network",
26897 "parameters" : {
26898 "additionalProperties" : 0,
26899 "properties" : {
26900 "address" : {
26901 "description" : "IP address.",
26902 "format" : "ipv4",
26903 "optional" : 1,
26904 "requires" : "netmask",
26905 "type" : "string",
26906 "typetext" : "<string>"
26907 },
26908 "address6" : {
26909 "description" : "IP address.",
26910 "format" : "ipv6",
26911 "optional" : 1,
26912 "requires" : "netmask6",
26913 "type" : "string",
26914 "typetext" : "<string>"
26915 },
26916 "autostart" : {
26917 "description" : "Automatically start interface on boot.",
26918 "optional" : 1,
26919 "type" : "boolean",
26920 "typetext" : "<boolean>"
26921 },
26922 "bond_mode" : {
26923 "description" : "Bonding mode.",
26924 "enum" : [
26925 "balance-rr",
26926 "active-backup",
26927 "balance-xor",
26928 "broadcast",
26929 "802.3ad",
26930 "balance-tlb",
26931 "balance-alb",
26932 "balance-slb",
26933 "lacp-balance-slb",
26934 "lacp-balance-tcp"
26935 ],
26936 "optional" : 1,
26937 "type" : "string"
26938 },
26939 "bond_xmit_hash_policy" : {
26940 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
26941 "enum" : [
26942 "layer2",
26943 "layer2+3",
26944 "layer3+4"
26945 ],
26946 "optional" : 1,
26947 "type" : "string"
26948 },
26949 "bridge_ports" : {
26950 "description" : "Specify the iterfaces you want to add to your bridge.",
26951 "format" : "pve-iface-list",
26952 "optional" : 1,
26953 "type" : "string",
26954 "typetext" : "<string>"
26955 },
26956 "bridge_vlan_aware" : {
26957 "description" : "Enable bridge vlan support.",
26958 "optional" : 1,
26959 "type" : "boolean",
26960 "typetext" : "<boolean>"
26961 },
26962 "comments" : {
26963 "description" : "Comments",
26964 "optional" : 1,
26965 "type" : "string",
26966 "typetext" : "<string>"
26967 },
26968 "comments6" : {
26969 "description" : "Comments",
26970 "optional" : 1,
26971 "type" : "string",
26972 "typetext" : "<string>"
26973 },
26974 "delete" : {
26975 "description" : "A list of settings you want to delete.",
26976 "format" : "pve-configid-list",
26977 "optional" : 1,
26978 "type" : "string",
26979 "typetext" : "<string>"
26980 },
26981 "gateway" : {
26982 "description" : "Default gateway address.",
26983 "format" : "ipv4",
26984 "optional" : 1,
26985 "type" : "string",
26986 "typetext" : "<string>"
26987 },
26988 "gateway6" : {
26989 "description" : "Default ipv6 gateway address.",
26990 "format" : "ipv6",
26991 "optional" : 1,
26992 "type" : "string",
26993 "typetext" : "<string>"
26994 },
26995 "iface" : {
26996 "description" : "Network interface name.",
26997 "format" : "pve-iface",
26998 "maxLength" : 20,
26999 "minLength" : 2,
27000 "type" : "string",
27001 "typetext" : "<string>"
56122987 27002 },
4d47f125
TL
27003 "netmask" : {
27004 "description" : "Network mask.",
27005 "format" : "ipv4mask",
27006 "optional" : 1,
27007 "requires" : "address",
27008 "type" : "string",
27009 "typetext" : "<string>"
27010 },
27011 "netmask6" : {
27012 "description" : "Network mask.",
27013 "maximum" : 128,
27014 "minimum" : 0,
27015 "optional" : 1,
27016 "requires" : "address6",
27017 "type" : "integer",
27018 "typetext" : "<integer> (0 - 128)"
56122987 27019 },
44660702
DM
27020 "node" : {
27021 "description" : "The cluster node name.",
27022 "format" : "pve-node",
013dc89f
DM
27023 "type" : "string",
27024 "typetext" : "<string>"
44660702 27025 },
4d47f125
TL
27026 "ovs_bonds" : {
27027 "description" : "Specify the interfaces used by the bonding device.",
27028 "format" : "pve-iface-list",
27029 "optional" : 1,
27030 "type" : "string",
27031 "typetext" : "<string>"
27032 },
27033 "ovs_bridge" : {
27034 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
27035 "format" : "pve-iface",
27036 "optional" : 1,
27037 "type" : "string",
27038 "typetext" : "<string>"
27039 },
27040 "ovs_options" : {
27041 "description" : "OVS interface options.",
27042 "maxLength" : 1024,
27043 "optional" : 1,
27044 "type" : "string",
27045 "typetext" : "<string>"
27046 },
27047 "ovs_ports" : {
27048 "description" : "Specify the iterfaces you want to add to your bridge.",
27049 "format" : "pve-iface-list",
27050 "optional" : 1,
27051 "type" : "string",
27052 "typetext" : "<string>"
27053 },
27054 "ovs_tag" : {
27055 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
27056 "maximum" : 4094,
27057 "minimum" : 1,
27058 "optional" : 1,
27059 "type" : "integer",
27060 "typetext" : "<integer> (1 - 4094)"
27061 },
27062 "slaves" : {
27063 "description" : "Specify the interfaces used by the bonding device.",
27064 "format" : "pve-iface-list",
27065 "optional" : 1,
27066 "type" : "string",
27067 "typetext" : "<string>"
27068 },
27069 "type" : {
27070 "description" : "Network interface type",
44660702 27071 "enum" : [
4d47f125
TL
27072 "bridge",
27073 "bond",
27074 "eth",
27075 "alias",
27076 "vlan",
27077 "OVSBridge",
27078 "OVSBond",
27079 "OVSPort",
27080 "OVSIntPort",
27081 "unknown"
44660702
DM
27082 ],
27083 "type" : "string"
27084 }
27085 }
27086 },
27087 "permissions" : {
27088 "check" : [
27089 "perm",
27090 "/nodes/{node}",
27091 [
4d47f125 27092 "Sys.Modify"
44660702
DM
27093 ]
27094 ]
27095 },
4d47f125
TL
27096 "protected" : 1,
27097 "proxyto" : "node",
44660702 27098 "returns" : {
4d47f125 27099 "type" : "null"
44660702
DM
27100 }
27101 }
27102 },
4d47f125
TL
27103 "leaf" : 1,
27104 "path" : "/nodes/{node}/network/{iface}",
27105 "text" : "{iface}"
44660702
DM
27106 }
27107 ],
27108 "info" : {
4d47f125
TL
27109 "DELETE" : {
27110 "description" : "Revert network configuration changes.",
27111 "method" : "DELETE",
27112 "name" : "revert_network_changes",
44660702
DM
27113 "parameters" : {
27114 "additionalProperties" : 0,
27115 "properties" : {
27116 "node" : {
27117 "description" : "The cluster node name.",
27118 "format" : "pve-node",
013dc89f
DM
27119 "type" : "string",
27120 "typetext" : "<string>"
44660702
DM
27121 }
27122 }
27123 },
27124 "permissions" : {
27125 "check" : [
27126 "perm",
27127 "/nodes/{node}",
27128 [
4d47f125 27129 "Sys.Modify"
44660702
DM
27130 ]
27131 ]
27132 },
27133 "protected" : 1,
27134 "proxyto" : "node",
4d47f125
TL
27135 "returns" : {
27136 "type" : "null"
27137 }
27138 },
27139 "GET" : {
27140 "description" : "List available networks",
27141 "method" : "GET",
27142 "name" : "index",
27143 "parameters" : {
27144 "additionalProperties" : 0,
27145 "properties" : {
27146 "node" : {
27147 "description" : "The cluster node name.",
27148 "format" : "pve-node",
27149 "type" : "string",
27150 "typetext" : "<string>"
27151 },
27152 "type" : {
27153 "description" : "Only list specific interface types.",
27154 "enum" : [
27155 "bridge",
27156 "bond",
27157 "eth",
27158 "alias",
27159 "vlan",
27160 "OVSBridge",
27161 "OVSBond",
27162 "OVSPort",
27163 "OVSIntPort",
27164 "any_bridge"
27165 ],
27166 "optional" : 1,
27167 "type" : "string"
27168 }
27169 }
27170 },
27171 "permissions" : {
27172 "user" : "all"
27173 },
27174 "proxyto" : "node",
44660702
DM
27175 "returns" : {
27176 "items" : {
27177 "properties" : {},
27178 "type" : "object"
27179 },
27180 "links" : [
27181 {
4d47f125 27182 "href" : "{iface}",
44660702 27183 "rel" : "child"
56122987 27184 }
44660702
DM
27185 ],
27186 "type" : "array"
27187 }
4d47f125
TL
27188 },
27189 "POST" : {
27190 "description" : "Create network device configuration",
27191 "method" : "POST",
27192 "name" : "create_network",
7aacca6f 27193 "parameters" : {
44660702 27194 "additionalProperties" : 0,
7aacca6f 27195 "properties" : {
4d47f125
TL
27196 "address" : {
27197 "description" : "IP address.",
27198 "format" : "ipv4",
27199 "optional" : 1,
27200 "requires" : "netmask",
27201 "type" : "string",
27202 "typetext" : "<string>"
27203 },
27204 "address6" : {
27205 "description" : "IP address.",
27206 "format" : "ipv6",
27207 "optional" : 1,
27208 "requires" : "netmask6",
27209 "type" : "string",
27210 "typetext" : "<string>"
27211 },
27212 "autostart" : {
27213 "description" : "Automatically start interface on boot.",
27214 "optional" : 1,
27215 "type" : "boolean",
27216 "typetext" : "<boolean>"
27217 },
27218 "bond_mode" : {
27219 "description" : "Bonding mode.",
27220 "enum" : [
27221 "balance-rr",
27222 "active-backup",
27223 "balance-xor",
27224 "broadcast",
27225 "802.3ad",
27226 "balance-tlb",
27227 "balance-alb",
27228 "balance-slb",
27229 "lacp-balance-slb",
27230 "lacp-balance-tcp"
27231 ],
27232 "optional" : 1,
27233 "type" : "string"
27234 },
27235 "bond_xmit_hash_policy" : {
27236 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
27237 "enum" : [
27238 "layer2",
27239 "layer2+3",
27240 "layer3+4"
27241 ],
27242 "optional" : 1,
27243 "type" : "string"
27244 },
27245 "bridge_ports" : {
27246 "description" : "Specify the iterfaces you want to add to your bridge.",
27247 "format" : "pve-iface-list",
27248 "optional" : 1,
013dc89f
DM
27249 "type" : "string",
27250 "typetext" : "<string>"
4d47f125
TL
27251 },
27252 "bridge_vlan_aware" : {
27253 "description" : "Enable bridge vlan support.",
44660702 27254 "optional" : 1,
013dc89f
DM
27255 "type" : "boolean",
27256 "typetext" : "<boolean>"
44660702 27257 },
4d47f125
TL
27258 "comments" : {
27259 "description" : "Comments",
27260 "optional" : 1,
27261 "type" : "string",
27262 "typetext" : "<string>"
27263 },
27264 "comments6" : {
27265 "description" : "Comments",
27266 "optional" : 1,
27267 "type" : "string",
27268 "typetext" : "<string>"
27269 },
27270 "gateway" : {
27271 "description" : "Default gateway address.",
27272 "format" : "ipv4",
27273 "optional" : 1,
27274 "type" : "string",
27275 "typetext" : "<string>"
27276 },
27277 "gateway6" : {
27278 "description" : "Default ipv6 gateway address.",
27279 "format" : "ipv6",
27280 "optional" : 1,
27281 "type" : "string",
27282 "typetext" : "<string>"
27283 },
27284 "iface" : {
27285 "description" : "Network interface name.",
27286 "format" : "pve-iface",
27287 "maxLength" : 20,
27288 "minLength" : 2,
27289 "type" : "string",
27290 "typetext" : "<string>"
27291 },
27292 "netmask" : {
27293 "description" : "Network mask.",
27294 "format" : "ipv4mask",
27295 "optional" : 1,
27296 "requires" : "address",
27297 "type" : "string",
27298 "typetext" : "<string>"
27299 },
27300 "netmask6" : {
27301 "description" : "Network mask.",
27302 "maximum" : 128,
27303 "minimum" : 0,
27304 "optional" : 1,
27305 "requires" : "address6",
27306 "type" : "integer",
27307 "typetext" : "<integer> (0 - 128)"
27308 },
7aacca6f 27309 "node" : {
7aacca6f 27310 "description" : "The cluster node name.",
44660702 27311 "format" : "pve-node",
013dc89f
DM
27312 "type" : "string",
27313 "typetext" : "<string>"
4d47f125
TL
27314 },
27315 "ovs_bonds" : {
27316 "description" : "Specify the interfaces used by the bonding device.",
27317 "format" : "pve-iface-list",
27318 "optional" : 1,
27319 "type" : "string",
27320 "typetext" : "<string>"
27321 },
27322 "ovs_bridge" : {
27323 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
27324 "format" : "pve-iface",
27325 "optional" : 1,
27326 "type" : "string",
27327 "typetext" : "<string>"
27328 },
27329 "ovs_options" : {
27330 "description" : "OVS interface options.",
27331 "maxLength" : 1024,
27332 "optional" : 1,
27333 "type" : "string",
27334 "typetext" : "<string>"
27335 },
27336 "ovs_ports" : {
27337 "description" : "Specify the iterfaces you want to add to your bridge.",
27338 "format" : "pve-iface-list",
27339 "optional" : 1,
27340 "type" : "string",
27341 "typetext" : "<string>"
27342 },
27343 "ovs_tag" : {
27344 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
27345 "maximum" : 4094,
27346 "minimum" : 1,
27347 "optional" : 1,
27348 "type" : "integer",
27349 "typetext" : "<integer> (1 - 4094)"
27350 },
27351 "slaves" : {
27352 "description" : "Specify the interfaces used by the bonding device.",
27353 "format" : "pve-iface-list",
27354 "optional" : 1,
27355 "type" : "string",
27356 "typetext" : "<string>"
27357 },
27358 "type" : {
27359 "description" : "Network interface type",
27360 "enum" : [
27361 "bridge",
27362 "bond",
27363 "eth",
27364 "alias",
27365 "vlan",
27366 "OVSBridge",
27367 "OVSBond",
27368 "OVSPort",
27369 "OVSIntPort",
27370 "unknown"
27371 ],
27372 "type" : "string"
7aacca6f
DM
27373 }
27374 }
27375 },
35a75dd3
DM
27376 "permissions" : {
27377 "check" : [
27378 "perm",
27379 "/nodes/{node}",
27380 [
27381 "Sys.Modify"
27382 ]
27383 ]
27384 },
7aacca6f 27385 "protected" : 1,
7aacca6f 27386 "proxyto" : "node",
44660702
DM
27387 "returns" : {
27388 "type" : "null"
27389 }
27390 },
27391 "PUT" : {
4d47f125 27392 "description" : "Reload network configuration",
44660702 27393 "method" : "PUT",
4d47f125 27394 "name" : "reload_network_config",
7aacca6f
DM
27395 "parameters" : {
27396 "additionalProperties" : 0,
27397 "properties" : {
7aacca6f 27398 "node" : {
7aacca6f 27399 "description" : "The cluster node name.",
44660702 27400 "format" : "pve-node",
013dc89f
DM
27401 "type" : "string",
27402 "typetext" : "<string>"
7aacca6f
DM
27403 }
27404 }
27405 },
35a75dd3
DM
27406 "permissions" : {
27407 "check" : [
27408 "perm",
27409 "/nodes/{node}",
27410 [
27411 "Sys.Modify"
27412 ]
27413 ]
27414 },
44660702
DM
27415 "protected" : 1,
27416 "proxyto" : "node",
7aacca6f 27417 "returns" : {
4d47f125 27418 "type" : "string"
44660702 27419 }
7aacca6f
DM
27420 }
27421 },
4d47f125
TL
27422 "leaf" : 0,
27423 "path" : "/nodes/{node}/network",
27424 "text" : "network"
7aacca6f
DM
27425 },
27426 {
7aacca6f
DM
27427 "children" : [
27428 {
4d47f125
TL
27429 "children" : [
27430 {
27431 "info" : {
27432 "GET" : {
27433 "description" : "Read task log.",
27434 "method" : "GET",
27435 "name" : "read_task_log",
27436 "parameters" : {
27437 "additionalProperties" : 0,
27438 "properties" : {
27439 "limit" : {
27440 "default" : 50,
27441 "minimum" : 0,
27442 "optional" : 1,
27443 "type" : "integer",
27444 "typetext" : "<integer> (0 - N)"
27445 },
27446 "node" : {
27447 "description" : "The cluster node name.",
27448 "format" : "pve-node",
27449 "type" : "string",
27450 "typetext" : "<string>"
27451 },
27452 "start" : {
27453 "default" : 0,
27454 "minimum" : 0,
27455 "optional" : 1,
27456 "type" : "integer",
27457 "typetext" : "<integer> (0 - N)"
27458 },
27459 "upid" : {
27460 "type" : "string",
27461 "typetext" : "<string>"
27462 }
27463 }
27464 },
27465 "permissions" : {
27466 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
27467 "user" : "all"
27468 },
27469 "protected" : 1,
27470 "proxyto" : "node",
27471 "returns" : {
27472 "items" : {
27473 "properties" : {
27474 "n" : {
27475 "description" : "Line number",
27476 "type" : "integer"
27477 },
27478 "t" : {
27479 "description" : "Line text",
27480 "type" : "string"
27481 }
27482 },
27483 "type" : "object"
27484 },
27485 "type" : "array"
27486 }
27487 }
27488 },
27489 "leaf" : 1,
27490 "path" : "/nodes/{node}/tasks/{upid}/log",
27491 "text" : "log"
27492 },
27493 {
27494 "info" : {
27495 "GET" : {
27496 "description" : "Read task status.",
27497 "method" : "GET",
27498 "name" : "read_task_status",
27499 "parameters" : {
27500 "additionalProperties" : 0,
27501 "properties" : {
27502 "node" : {
27503 "description" : "The cluster node name.",
27504 "format" : "pve-node",
27505 "type" : "string",
27506 "typetext" : "<string>"
27507 },
27508 "upid" : {
27509 "type" : "string",
27510 "typetext" : "<string>"
27511 }
27512 }
27513 },
27514 "permissions" : {
27515 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
27516 "user" : "all"
27517 },
27518 "protected" : 1,
27519 "proxyto" : "node",
27520 "returns" : {
27521 "properties" : {
27522 "pid" : {
27523 "type" : "integer"
27524 },
27525 "status" : {
27526 "enum" : [
27527 "running",
27528 "stopped"
27529 ],
27530 "type" : "string"
27531 }
27532 },
27533 "type" : "object"
27534 }
27535 }
27536 },
27537 "leaf" : 1,
27538 "path" : "/nodes/{node}/tasks/{upid}/status",
27539 "text" : "status"
27540 }
27541 ],
56122987 27542 "info" : {
7aacca6f 27543 "DELETE" : {
4d47f125 27544 "description" : "Stop a task.",
44660702 27545 "method" : "DELETE",
4d47f125 27546 "name" : "stop_task",
44660702
DM
27547 "parameters" : {
27548 "additionalProperties" : 0,
27549 "properties" : {
44660702
DM
27550 "node" : {
27551 "description" : "The cluster node name.",
27552 "format" : "pve-node",
013dc89f
DM
27553 "type" : "string",
27554 "typetext" : "<string>"
4d47f125
TL
27555 },
27556 "upid" : {
27557 "type" : "string",
27558 "typetext" : "<string>"
44660702
DM
27559 }
27560 }
7aacca6f
DM
27561 },
27562 "permissions" : {
4d47f125
TL
27563 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
27564 "user" : "all"
7aacca6f 27565 },
44660702 27566 "protected" : 1,
7aacca6f 27567 "proxyto" : "node",
44660702
DM
27568 "returns" : {
27569 "type" : "null"
27570 }
27571 },
27572 "GET" : {
4d47f125 27573 "description" : "",
44660702 27574 "method" : "GET",
4d47f125 27575 "name" : "upid_index",
7aacca6f
DM
27576 "parameters" : {
27577 "additionalProperties" : 0,
27578 "properties" : {
7aacca6f 27579 "node" : {
44660702 27580 "description" : "The cluster node name.",
7aacca6f 27581 "format" : "pve-node",
013dc89f
DM
27582 "type" : "string",
27583 "typetext" : "<string>"
7aacca6f 27584 },
4d47f125
TL
27585 "upid" : {
27586 "type" : "string",
27587 "typetext" : "<string>"
7aacca6f
DM
27588 }
27589 }
27590 },
7aacca6f 27591 "permissions" : {
4d47f125 27592 "user" : "all"
7aacca6f
DM
27593 },
27594 "returns" : {
4d47f125
TL
27595 "items" : {
27596 "properties" : {},
27597 "type" : "object"
27598 },
27599 "links" : [
27600 {
27601 "href" : "{name}",
27602 "rel" : "child"
27603 }
27604 ],
27605 "type" : "array"
44660702 27606 }
7aacca6f
DM
27607 }
27608 },
4d47f125
TL
27609 "leaf" : 0,
27610 "path" : "/nodes/{node}/tasks/{upid}",
27611 "text" : "{upid}"
7aacca6f
DM
27612 }
27613 ],
7aacca6f 27614 "info" : {
44660702 27615 "GET" : {
4d47f125 27616 "description" : "Read task list for one node (finished tasks).",
44660702 27617 "method" : "GET",
4d47f125 27618 "name" : "node_tasks",
44660702
DM
27619 "parameters" : {
27620 "additionalProperties" : 0,
27621 "properties" : {
4d47f125
TL
27622 "errors" : {
27623 "default" : 0,
7aacca6f 27624 "optional" : 1,
4d47f125
TL
27625 "type" : "boolean",
27626 "typetext" : "<boolean>"
7aacca6f 27627 },
4d47f125
TL
27628 "limit" : {
27629 "default" : 50,
27630 "description" : "Only list this amount of tasks.",
27631 "minimum" : 0,
44660702 27632 "optional" : 1,
4d47f125
TL
27633 "type" : "integer",
27634 "typetext" : "<integer> (0 - N)"
27635 },
27636 "node" : {
27637 "description" : "The cluster node name.",
27638 "format" : "pve-node",
013dc89f
DM
27639 "type" : "string",
27640 "typetext" : "<string>"
44660702 27641 },
4d47f125
TL
27642 "start" : {
27643 "default" : 0,
27644 "description" : "List tasks beginning from this offset.",
27645 "minimum" : 0,
44660702 27646 "optional" : 1,
4d47f125
TL
27647 "type" : "integer",
27648 "typetext" : "<integer> (0 - N)"
44660702 27649 },
4d47f125
TL
27650 "userfilter" : {
27651 "description" : "Only list tasks from this user.",
44660702 27652 "optional" : 1,
013dc89f
DM
27653 "type" : "string",
27654 "typetext" : "<string>"
44660702 27655 },
4d47f125
TL
27656 "vmid" : {
27657 "description" : "Only list tasks for this VM.",
27658 "format" : "pve-vmid",
44660702
DM
27659 "minimum" : 1,
27660 "optional" : 1,
4bd7df8b 27661 "type" : "integer",
4d47f125
TL
27662 "typetext" : "<integer> (1 - N)"
27663 }
27664 }
27665 },
27666 "permissions" : {
27667 "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).",
27668 "user" : "all"
27669 },
27670 "proxyto" : "node",
27671 "returns" : {
27672 "items" : {
27673 "properties" : {
27674 "endtime" : {
27675 "optional" : 1,
27676 "title" : "Endtime",
27677 "type" : "integer"
27678 },
27679 "id" : {
27680 "optional" : 1,
27681 "title" : "ID",
27682 "type" : "string"
27683 },
27684 "node" : {
27685 "optional" : 1,
27686 "title" : "Node",
27687 "type" : "string"
27688 },
27689 "pid" : {
27690 "optional" : 1,
27691 "title" : "PID",
27692 "type" : "integer"
27693 },
27694 "pstart" : {
27695 "optional" : 1,
27696 "type" : "integer"
27697 },
27698 "starttime" : {
27699 "optional" : 1,
27700 "title" : "Starttime",
27701 "type" : "integer"
27702 },
27703 "status" : {
27704 "optional" : 1,
27705 "title" : "Status",
27706 "type" : "string"
27707 },
27708 "type" : {
27709 "optional" : 1,
27710 "title" : "Type",
27711 "type" : "string"
27712 },
27713 "upid" : {
27714 "title" : "UPID",
27715 "type" : "string"
27716 },
27717 "user" : {
27718 "optional" : 1,
27719 "title" : "User",
27720 "type" : "string"
27721 }
44660702 27722 },
4d47f125
TL
27723 "type" : "object"
27724 },
27725 "links" : [
27726 {
27727 "href" : "{upid}",
27728 "rel" : "child"
27729 }
27730 ],
27731 "type" : "array"
27732 }
27733 }
27734 },
27735 "leaf" : 0,
27736 "path" : "/nodes/{node}/tasks",
27737 "text" : "tasks"
27738 },
27739 {
27740 "children" : [
27741 {
27742 "info" : {
27743 "GET" : {
27744 "description" : "Scan zfs pool list on local node.",
27745 "method" : "GET",
27746 "name" : "zfsscan",
27747 "parameters" : {
27748 "additionalProperties" : 0,
27749 "properties" : {
27750 "node" : {
27751 "description" : "The cluster node name.",
27752 "format" : "pve-node",
27753 "type" : "string",
27754 "typetext" : "<string>"
27755 }
27756 }
44660702 27757 },
4d47f125
TL
27758 "permissions" : {
27759 "check" : [
27760 "perm",
27761 "/storage",
27762 [
27763 "Datastore.Allocate"
27764 ]
27765 ]
27766 },
27767 "protected" : 1,
27768 "proxyto" : "node",
27769 "returns" : {
27770 "items" : {
27771 "properties" : {
27772 "pool" : {
27773 "description" : "ZFS pool name.",
27774 "type" : "string"
27775 }
27776 },
27777 "type" : "object"
27778 },
27779 "type" : "array"
27780 }
27781 }
27782 },
27783 "leaf" : 1,
27784 "path" : "/nodes/{node}/scan/zfs",
27785 "text" : "zfs"
27786 },
27787 {
27788 "info" : {
27789 "GET" : {
27790 "description" : "Scan remote NFS server.",
27791 "method" : "GET",
27792 "name" : "nfsscan",
27793 "parameters" : {
27794 "additionalProperties" : 0,
27795 "properties" : {
27796 "node" : {
27797 "description" : "The cluster node name.",
27798 "format" : "pve-node",
27799 "type" : "string",
27800 "typetext" : "<string>"
27801 },
27802 "server" : {
27803 "description" : "The server address (name or IP).",
27804 "format" : "pve-storage-server",
27805 "type" : "string",
27806 "typetext" : "<string>"
27807 }
27808 }
27809 },
27810 "permissions" : {
27811 "check" : [
27812 "perm",
27813 "/storage",
27814 [
27815 "Datastore.Allocate"
27816 ]
27817 ]
27818 },
27819 "protected" : 1,
27820 "proxyto" : "node",
27821 "returns" : {
27822 "items" : {
27823 "properties" : {
27824 "options" : {
27825 "description" : "NFS export options.",
27826 "type" : "string"
27827 },
27828 "path" : {
27829 "description" : "The exported path.",
27830 "type" : "string"
27831 }
27832 },
27833 "type" : "object"
27834 },
27835 "type" : "array"
27836 }
27837 }
27838 },
27839 "leaf" : 1,
27840 "path" : "/nodes/{node}/scan/nfs",
27841 "text" : "nfs"
27842 },
27843 {
27844 "info" : {
27845 "GET" : {
27846 "description" : "Scan remote CIFS server.",
27847 "method" : "GET",
27848 "name" : "cifsscan",
27849 "parameters" : {
27850 "additionalProperties" : 0,
27851 "properties" : {
27852 "domain" : {
27853 "description" : "SMB domain (Workgroup).",
27854 "optional" : 1,
27855 "type" : "string",
27856 "typetext" : "<string>"
27857 },
27858 "node" : {
27859 "description" : "The cluster node name.",
27860 "format" : "pve-node",
27861 "type" : "string",
27862 "typetext" : "<string>"
27863 },
27864 "password" : {
27865 "description" : "User password.",
27866 "optional" : 1,
27867 "type" : "string",
27868 "typetext" : "<string>"
27869 },
27870 "server" : {
27871 "description" : "The server address (name or IP).",
27872 "format" : "pve-storage-server",
27873 "type" : "string",
27874 "typetext" : "<string>"
27875 },
27876 "username" : {
27877 "description" : "User name.",
27878 "optional" : 1,
27879 "type" : "string",
27880 "typetext" : "<string>"
27881 }
27882 }
27883 },
27884 "permissions" : {
27885 "check" : [
27886 "perm",
27887 "/storage",
27888 [
27889 "Datastore.Allocate"
27890 ]
27891 ]
27892 },
27893 "protected" : 1,
27894 "proxyto" : "node",
27895 "returns" : {
27896 "items" : {
27897 "properties" : {
27898 "description" : {
27899 "description" : "Descriptive text from server.",
27900 "type" : "string"
27901 },
27902 "share" : {
27903 "description" : "The cifs share name.",
27904 "type" : "string"
27905 }
27906 },
27907 "type" : "object"
27908 },
27909 "type" : "array"
56122987 27910 }
44660702 27911 }
56122987 27912 },
4d47f125
TL
27913 "leaf" : 1,
27914 "path" : "/nodes/{node}/scan/cifs",
27915 "text" : "cifs"
27916 },
44660702 27917 {
4d47f125
TL
27918 "info" : {
27919 "GET" : {
27920 "description" : "Scan remote GlusterFS server.",
27921 "method" : "GET",
27922 "name" : "glusterfsscan",
27923 "parameters" : {
27924 "additionalProperties" : 0,
27925 "properties" : {
27926 "node" : {
27927 "description" : "The cluster node name.",
27928 "format" : "pve-node",
27929 "type" : "string",
27930 "typetext" : "<string>"
7aacca6f 27931 },
4d47f125
TL
27932 "server" : {
27933 "description" : "The server address (name or IP).",
27934 "format" : "pve-storage-server",
27935 "type" : "string",
27936 "typetext" : "<string>"
44660702 27937 }
7aacca6f 27938 }
56122987 27939 },
4d47f125
TL
27940 "permissions" : {
27941 "check" : [
27942 "perm",
27943 "/storage",
27944 [
27945 "Datastore.Allocate"
27946 ]
27947 ]
27948 },
27949 "protected" : 1,
27950 "proxyto" : "node",
27951 "returns" : {
27952 "items" : {
27953 "properties" : {
27954 "volname" : {
27955 "description" : "The volume name.",
27956 "type" : "string"
7aacca6f
DM
27957 }
27958 },
4d47f125
TL
27959 "type" : "object"
27960 },
27961 "type" : "array"
27962 }
27963 }
27964 },
27965 "leaf" : 1,
27966 "path" : "/nodes/{node}/scan/glusterfs",
27967 "text" : "glusterfs"
27968 },
27969 {
27970 "info" : {
27971 "GET" : {
27972 "description" : "Scan remote iSCSI server.",
27973 "method" : "GET",
27974 "name" : "iscsiscan",
27975 "parameters" : {
27976 "additionalProperties" : 0,
27977 "properties" : {
27978 "node" : {
27979 "description" : "The cluster node name.",
27980 "format" : "pve-node",
27981 "type" : "string",
27982 "typetext" : "<string>"
56122987 27983 },
4d47f125
TL
27984 "portal" : {
27985 "description" : "The iSCSI portal (IP or DNS name with optional port).",
27986 "format" : "pve-storage-portal-dns",
27987 "type" : "string",
27988 "typetext" : "<string>"
27989 }
27990 }
27991 },
27992 "permissions" : {
27993 "check" : [
27994 "perm",
27995 "/storage",
27996 [
27997 "Datastore.Allocate"
27998 ]
27999 ]
28000 },
28001 "protected" : 1,
28002 "proxyto" : "node",
28003 "returns" : {
28004 "items" : {
28005 "properties" : {
28006 "portal" : {
28007 "description" : "The iSCSI portal name.",
28008 "type" : "string"
7aacca6f 28009 },
4d47f125
TL
28010 "target" : {
28011 "description" : "The iSCSI target name.",
28012 "type" : "string"
28013 }
28014 },
28015 "type" : "object"
28016 },
28017 "type" : "array"
28018 }
28019 }
28020 },
28021 "leaf" : 1,
28022 "path" : "/nodes/{node}/scan/iscsi",
28023 "text" : "iscsi"
28024 },
28025 {
28026 "info" : {
28027 "GET" : {
28028 "description" : "List local LVM volume groups.",
28029 "method" : "GET",
28030 "name" : "lvmscan",
28031 "parameters" : {
28032 "additionalProperties" : 0,
28033 "properties" : {
28034 "node" : {
28035 "description" : "The cluster node name.",
28036 "format" : "pve-node",
28037 "type" : "string",
28038 "typetext" : "<string>"
56122987 28039 }
7aacca6f 28040 }
44660702 28041 },
4d47f125
TL
28042 "permissions" : {
28043 "check" : [
28044 "perm",
28045 "/storage",
28046 [
28047 "Datastore.Allocate"
28048 ]
28049 ]
28050 },
28051 "protected" : 1,
28052 "proxyto" : "node",
28053 "returns" : {
28054 "items" : {
28055 "properties" : {
28056 "vg" : {
28057 "description" : "The LVM logical volume group name.",
28058 "type" : "string"
28059 }
28060 },
28061 "type" : "object"
28062 },
28063 "type" : "array"
28064 }
56122987 28065 }
4d47f125
TL
28066 },
28067 "leaf" : 1,
28068 "path" : "/nodes/{node}/scan/lvm",
28069 "text" : "lvm"
28070 },
28071 {
44660702 28072 "info" : {
4d47f125
TL
28073 "GET" : {
28074 "description" : "List local LVM Thin Pools.",
28075 "method" : "GET",
28076 "name" : "lvmthinscan",
44660702
DM
28077 "parameters" : {
28078 "additionalProperties" : 0,
28079 "properties" : {
28080 "node" : {
28081 "description" : "The cluster node name.",
28082 "format" : "pve-node",
013dc89f
DM
28083 "type" : "string",
28084 "typetext" : "<string>"
44660702 28085 },
4d47f125
TL
28086 "vg" : {
28087 "maxLength" : 100,
28088 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
28089 "type" : "string"
44660702 28090 }
7aacca6f 28091 }
44660702
DM
28092 },
28093 "permissions" : {
4d47f125
TL
28094 "check" : [
28095 "perm",
28096 "/storage",
28097 [
28098 "Datastore.Allocate"
28099 ]
28100 ]
44660702
DM
28101 },
28102 "protected" : 1,
28103 "proxyto" : "node",
28104 "returns" : {
4d47f125
TL
28105 "items" : {
28106 "properties" : {
28107 "lv" : {
28108 "description" : "The LVM Thin Pool name (LVM logical volume).",
28109 "type" : "string"
28110 }
28111 },
28112 "type" : "object"
28113 },
28114 "type" : "array"
7aacca6f 28115 }
4d47f125
TL
28116 }
28117 },
28118 "leaf" : 1,
28119 "path" : "/nodes/{node}/scan/lvmthin",
28120 "text" : "lvmthin"
28121 },
28122 {
28123 "info" : {
44660702 28124 "GET" : {
4d47f125 28125 "description" : "List local USB devices.",
44660702 28126 "method" : "GET",
4d47f125 28127 "name" : "usbscan",
44660702
DM
28128 "parameters" : {
28129 "additionalProperties" : 0,
28130 "properties" : {
28131 "node" : {
28132 "description" : "The cluster node name.",
28133 "format" : "pve-node",
013dc89f
DM
28134 "type" : "string",
28135 "typetext" : "<string>"
44660702
DM
28136 }
28137 }
28138 },
28139 "permissions" : {
4d47f125
TL
28140 "check" : [
28141 "perm",
28142 "/",
28143 [
28144 "Sys.Modify"
28145 ]
28146 ]
44660702 28147 },
4d47f125
TL
28148 "protected" : 1,
28149 "proxyto" : "node",
44660702
DM
28150 "returns" : {
28151 "items" : {
4d47f125
TL
28152 "properties" : {
28153 "busnum" : {
28154 "type" : "integer"
28155 },
28156 "class" : {
28157 "type" : "integer"
28158 },
28159 "devnum" : {
28160 "type" : "integer"
28161 },
28162 "level" : {
28163 "type" : "integer"
28164 },
28165 "manufacturer" : {
28166 "optional" : 1,
28167 "type" : "string"
28168 },
28169 "port" : {
28170 "type" : "integer"
28171 },
28172 "prodid" : {
28173 "type" : "string"
28174 },
28175 "product" : {
28176 "optional" : 1,
28177 "type" : "string"
28178 },
28179 "serial" : {
28180 "optional" : 1,
28181 "type" : "string"
28182 },
28183 "speed" : {
28184 "type" : "string"
28185 },
28186 "usbpath" : {
28187 "optional" : 1,
28188 "type" : "string"
28189 },
28190 "vendid" : {
28191 "type" : "string"
28192 }
28193 },
44660702
DM
28194 "type" : "object"
28195 },
44660702 28196 "type" : "array"
56122987 28197 }
44660702 28198 }
56122987 28199 },
4d47f125
TL
28200 "leaf" : 1,
28201 "path" : "/nodes/{node}/scan/usb",
28202 "text" : "usb"
44660702
DM
28203 }
28204 ],
28205 "info" : {
28206 "GET" : {
4d47f125 28207 "description" : "Index of available scan methods",
44660702 28208 "method" : "GET",
4d47f125 28209 "name" : "index",
56122987 28210 "parameters" : {
7aacca6f 28211 "additionalProperties" : 0,
56122987 28212 "properties" : {
56122987
DM
28213 "node" : {
28214 "description" : "The cluster node name.",
44660702 28215 "format" : "pve-node",
013dc89f
DM
28216 "type" : "string",
28217 "typetext" : "<string>"
56122987
DM
28218 }
28219 }
28220 },
7aacca6f
DM
28221 "permissions" : {
28222 "user" : "all"
28223 },
56122987
DM
28224 "returns" : {
28225 "items" : {
28226 "properties" : {
4d47f125 28227 "method" : {
56122987
DM
28228 "type" : "string"
28229 }
28230 },
28231 "type" : "object"
28232 },
56122987
DM
28233 "links" : [
28234 {
4d47f125 28235 "href" : "{method}",
44660702 28236 "rel" : "child"
56122987 28237 }
44660702
DM
28238 ],
28239 "type" : "array"
56122987
DM
28240 }
28241 }
28242 },
44660702 28243 "leaf" : 0,
4d47f125
TL
28244 "path" : "/nodes/{node}/scan",
28245 "text" : "scan"
44660702 28246 },
e2d681b3
TL
28247 {
28248 "children" : [
28249 {
28250 "children" : [
28251 {
28252 "children" : [
28253 {
28254 "info" : {
28255 "GET" : {
28256 "description" : "List mediated device types for given PCI device.",
28257 "method" : "GET",
28258 "name" : "mdevscan",
28259 "parameters" : {
28260 "additionalProperties" : 0,
28261 "properties" : {
28262 "node" : {
28263 "description" : "The cluster node name.",
28264 "format" : "pve-node",
28265 "type" : "string",
28266 "typetext" : "<string>"
28267 },
28268 "pciid" : {
28269 "description" : "The PCI ID to list the mdev types for.",
28270 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
28271 "type" : "string"
28272 }
28273 }
28274 },
28275 "permissions" : {
28276 "check" : [
28277 "perm",
28278 "/",
28279 [
28280 "Sys.Modify"
28281 ]
28282 ]
28283 },
28284 "protected" : 1,
28285 "proxyto" : "node",
28286 "returns" : {
28287 "items" : {
28288 "properties" : {
28289 "available" : {
28290 "description" : "The number of still available instances of this type.",
28291 "type" : "integer"
28292 },
28293 "description" : {
28294 "type" : "string"
28295 },
28296 "type" : {
28297 "description" : "The name of the mdev type.",
28298 "type" : "string"
28299 }
28300 },
28301 "type" : "object"
28302 },
28303 "type" : "array"
28304 }
28305 }
28306 },
28307 "leaf" : 1,
28308 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
28309 "text" : "mdev"
28310 }
28311 ],
28312 "info" : {
28313 "GET" : {
28314 "description" : "Index of available pci methods",
28315 "method" : "GET",
28316 "name" : "pciindex",
28317 "parameters" : {
28318 "additionalProperties" : 0,
28319 "properties" : {
28320 "node" : {
28321 "description" : "The cluster node name.",
28322 "format" : "pve-node",
28323 "type" : "string",
28324 "typetext" : "<string>"
28325 },
28326 "pciid" : {
28327 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
28328 "type" : "string"
28329 }
28330 }
28331 },
28332 "permissions" : {
28333 "user" : "all"
28334 },
28335 "returns" : {
28336 "items" : {
28337 "properties" : {
28338 "method" : {
28339 "type" : "string"
28340 }
28341 },
28342 "type" : "object"
28343 },
28344 "links" : [
28345 {
28346 "href" : "{method}",
28347 "rel" : "child"
28348 }
28349 ],
28350 "type" : "array"
28351 }
28352 }
28353 },
28354 "leaf" : 0,
28355 "path" : "/nodes/{node}/hardware/pci/{pciid}",
28356 "text" : "{pciid}"
28357 }
28358 ],
28359 "info" : {
28360 "GET" : {
28361 "description" : "List local PCI devices.",
28362 "method" : "GET",
28363 "name" : "pciscan",
28364 "parameters" : {
28365 "additionalProperties" : 0,
28366 "properties" : {
28367 "node" : {
28368 "description" : "The cluster node name.",
28369 "format" : "pve-node",
28370 "type" : "string",
28371 "typetext" : "<string>"
28372 },
28373 "pci-class-blacklist" : {
28374 "default" : "05;06;08;0b",
28375 "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).",
28376 "format" : "string-list",
28377 "optional" : 1,
28378 "type" : "string",
28379 "typetext" : "<string>"
28380 },
28381 "verbose" : {
28382 "default" : 1,
28383 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
28384 "optional" : 1,
28385 "type" : "boolean",
28386 "typetext" : "<boolean>"
28387 }
28388 }
28389 },
28390 "permissions" : {
28391 "check" : [
28392 "perm",
28393 "/",
28394 [
28395 "Sys.Modify"
28396 ]
28397 ]
28398 },
28399 "protected" : 1,
28400 "proxyto" : "node",
28401 "returns" : {
28402 "items" : {
28403 "properties" : {
28404 "class" : {
28405 "description" : "The PCI Class of the device.",
28406 "type" : "string"
28407 },
28408 "device" : {
28409 "description" : "The Device ID.",
28410 "type" : "string"
28411 },
28412 "device_name" : {
28413 "optional" : 1,
28414 "type" : "string"
28415 },
28416 "id" : {
28417 "description" : "The PCI ID.",
28418 "type" : "string"
28419 },
28420 "iommugroup" : {
28421 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
28422 "type" : "integer"
28423 },
28424 "mdev" : {
28425 "description" : "If set, marks that the device is capable of creating mediated devices.",
28426 "optional" : 1,
28427 "type" : "boolean"
28428 },
28429 "subsystem_device" : {
28430 "description" : "The Subsystem Device ID.",
28431 "optional" : 1,
28432 "type" : "string"
28433 },
28434 "subsystem_device_name" : {
28435 "optional" : 1,
28436 "type" : "string"
28437 },
28438 "subsystem_vendor" : {
28439 "description" : "The Subsystem Vendor ID.",
28440 "optional" : 1,
28441 "type" : "string"
28442 },
28443 "subsystem_vendor_name" : {
28444 "optional" : 1,
28445 "type" : "string"
28446 },
28447 "vendor" : {
28448 "description" : "The Vendor ID.",
28449 "type" : "string"
28450 },
28451 "vendor_name" : {
28452 "optional" : 1,
28453 "type" : "string"
28454 }
28455 },
28456 "type" : "object"
28457 },
28458 "links" : [
28459 {
28460 "href" : "{id}",
28461 "rel" : "child"
28462 }
28463 ],
28464 "type" : "array"
28465 }
28466 }
28467 },
28468 "leaf" : 0,
28469 "path" : "/nodes/{node}/hardware/pci",
28470 "text" : "pci"
28471 }
28472 ],
28473 "info" : {
28474 "GET" : {
28475 "description" : "Index of hardware types",
28476 "method" : "GET",
28477 "name" : "index",
28478 "parameters" : {
28479 "additionalProperties" : 0,
28480 "properties" : {
28481 "node" : {
28482 "description" : "The cluster node name.",
28483 "format" : "pve-node",
28484 "type" : "string",
28485 "typetext" : "<string>"
28486 }
28487 }
28488 },
28489 "permissions" : {
28490 "user" : "all"
28491 },
28492 "returns" : {
28493 "items" : {
28494 "properties" : {
28495 "type" : {
28496 "type" : "string"
28497 }
28498 },
28499 "type" : "object"
28500 },
28501 "links" : [
28502 {
28503 "href" : "{type}",
28504 "rel" : "child"
28505 }
28506 ],
28507 "type" : "array"
28508 }
28509 }
28510 },
28511 "leaf" : 0,
28512 "path" : "/nodes/{node}/hardware",
28513 "text" : "hardware"
28514 },
44660702 28515 {
56122987
DM
28516 "children" : [
28517 {
4d47f125
TL
28518 "children" : [
28519 {
28520 "children" : [
28521 {
28522 "info" : {
28523 "DELETE" : {
28524 "description" : "Delete volume",
28525 "method" : "DELETE",
28526 "name" : "delete",
28527 "parameters" : {
28528 "additionalProperties" : 0,
28529 "properties" : {
28530 "node" : {
28531 "description" : "The cluster node name.",
28532 "format" : "pve-node",
28533 "type" : "string",
28534 "typetext" : "<string>"
28535 },
28536 "storage" : {
28537 "description" : "The storage identifier.",
28538 "format" : "pve-storage-id",
28539 "optional" : 1,
28540 "type" : "string",
28541 "typetext" : "<string>"
28542 },
28543 "volume" : {
28544 "description" : "Volume identifier",
28545 "type" : "string",
28546 "typetext" : "<string>"
28547 }
28548 }
28549 },
28550 "permissions" : {
28551 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
28552 "user" : "all"
28553 },
28554 "protected" : 1,
28555 "proxyto" : "node",
28556 "returns" : {
28557 "type" : "null"
28558 }
28559 },
28560 "GET" : {
28561 "description" : "Get volume attributes",
28562 "method" : "GET",
28563 "name" : "info",
28564 "parameters" : {
28565 "additionalProperties" : 0,
28566 "properties" : {
28567 "node" : {
28568 "description" : "The cluster node name.",
28569 "format" : "pve-node",
28570 "type" : "string",
28571 "typetext" : "<string>"
28572 },
28573 "storage" : {
28574 "description" : "The storage identifier.",
28575 "format" : "pve-storage-id",
28576 "optional" : 1,
28577 "type" : "string",
28578 "typetext" : "<string>"
28579 },
28580 "volume" : {
28581 "description" : "Volume identifier",
28582 "type" : "string",
28583 "typetext" : "<string>"
28584 }
28585 }
28586 },
28587 "permissions" : {
28588 "description" : "You need read access for the volume.",
28589 "user" : "all"
28590 },
28591 "protected" : 1,
28592 "proxyto" : "node",
28593 "returns" : {
28594 "type" : "object"
28595 }
28596 },
28597 "POST" : {
28598 "description" : "Copy a volume. This is experimental code - do not use.",
28599 "method" : "POST",
28600 "name" : "copy",
28601 "parameters" : {
28602 "additionalProperties" : 0,
28603 "properties" : {
28604 "node" : {
28605 "description" : "The cluster node name.",
28606 "format" : "pve-node",
28607 "type" : "string",
28608 "typetext" : "<string>"
28609 },
28610 "storage" : {
28611 "description" : "The storage identifier.",
28612 "format" : "pve-storage-id",
28613 "optional" : 1,
28614 "type" : "string",
28615 "typetext" : "<string>"
28616 },
28617 "target" : {
28618 "description" : "Target volume identifier",
28619 "type" : "string",
28620 "typetext" : "<string>"
28621 },
28622 "target_node" : {
28623 "description" : "Target node. Default is local node.",
28624 "format" : "pve-node",
28625 "optional" : 1,
28626 "type" : "string",
28627 "typetext" : "<string>"
28628 },
28629 "volume" : {
28630 "description" : "Source volume identifier",
28631 "type" : "string",
28632 "typetext" : "<string>"
28633 }
28634 }
28635 },
28636 "protected" : 1,
28637 "proxyto" : "node",
28638 "returns" : {
28639 "type" : "string"
28640 }
28641 }
28642 },
28643 "leaf" : 1,
28644 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
28645 "text" : "{volume}"
44660702 28646 }
4d47f125
TL
28647 ],
28648 "info" : {
28649 "GET" : {
28650 "description" : "List storage content.",
28651 "method" : "GET",
28652 "name" : "index",
28653 "parameters" : {
28654 "additionalProperties" : 0,
28655 "properties" : {
28656 "content" : {
28657 "description" : "Only list content of this type.",
28658 "format" : "pve-storage-content",
28659 "optional" : 1,
28660 "type" : "string",
28661 "typetext" : "<string>"
28662 },
28663 "node" : {
28664 "description" : "The cluster node name.",
28665 "format" : "pve-node",
28666 "type" : "string",
28667 "typetext" : "<string>"
28668 },
28669 "storage" : {
28670 "description" : "The storage identifier.",
28671 "format" : "pve-storage-id",
28672 "type" : "string",
28673 "typetext" : "<string>"
28674 },
28675 "vmid" : {
28676 "description" : "Only list images for this VM",
28677 "format" : "pve-vmid",
28678 "minimum" : 1,
28679 "optional" : 1,
28680 "type" : "integer",
28681 "typetext" : "<integer> (1 - N)"
28682 }
56122987 28683 }
44660702 28684 },
4d47f125
TL
28685 "permissions" : {
28686 "check" : [
28687 "perm",
28688 "/storage/{storage}",
28689 [
28690 "Datastore.Audit",
28691 "Datastore.AllocateSpace"
28692 ],
28693 "any",
28694 1
28695 ]
7aacca6f 28696 },
4d47f125
TL
28697 "protected" : 1,
28698 "proxyto" : "node",
28699 "returns" : {
28700 "items" : {
28701 "properties" : {
28702 "format" : {
28703 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
28704 "type" : "string"
28705 },
28706 "parent" : {
28707 "description" : "Volume identifier of parent (for linked cloned).",
28708 "optional" : 1,
28709 "type" : "string"
28710 },
28711 "size" : {
28712 "description" : "Volume size in bytes.",
28713 "renderer" : "bytes",
28714 "type" : "integer"
28715 },
28716 "used" : {
28717 "description" : "Used space. Please note that most storage plugins does not report anything useful here.",
28718 "optional" : 1,
28719 "renderer" : "bytes",
28720 "type" : "integer"
28721 },
28722 "vmid" : {
28723 "description" : "Associated Owner VMID.",
28724 "optional" : 1,
28725 "type" : "integer"
28726 },
28727 "volid" : {
28728 "description" : "Volume identifier.",
28729 "type" : "string"
28730 }
28731 },
28732 "type" : "object"
44660702 28733 },
4d47f125
TL
28734 "links" : [
28735 {
28736 "href" : "{volid}",
28737 "rel" : "child"
28738 }
28739 ],
28740 "type" : "array"
28741 }
28742 },
28743 "POST" : {
28744 "description" : "Allocate disk images.",
28745 "method" : "POST",
28746 "name" : "create",
28747 "parameters" : {
28748 "additionalProperties" : 0,
28749 "properties" : {
28750 "filename" : {
28751 "description" : "The name of the file to create.",
28752 "type" : "string",
28753 "typetext" : "<string>"
28754 },
28755 "format" : {
28756 "enum" : [
28757 "raw",
28758 "qcow2",
28759 "subvol"
28760 ],
28761 "optional" : 1,
28762 "requires" : "size",
28763 "type" : "string"
28764 },
28765 "node" : {
28766 "description" : "The cluster node name.",
28767 "format" : "pve-node",
28768 "type" : "string",
28769 "typetext" : "<string>"
28770 },
28771 "size" : {
28772 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
28773 "pattern" : "\\d+[MG]?",
28774 "type" : "string"
28775 },
28776 "storage" : {
28777 "description" : "The storage identifier.",
28778 "format" : "pve-storage-id",
28779 "type" : "string",
28780 "typetext" : "<string>"
28781 },
28782 "vmid" : {
28783 "description" : "Specify owner VM",
28784 "format" : "pve-vmid",
28785 "minimum" : 1,
28786 "type" : "integer",
28787 "typetext" : "<integer> (1 - N)"
28788 }
44660702
DM
28789 }
28790 },
4d47f125
TL
28791 "permissions" : {
28792 "check" : [
28793 "perm",
28794 "/storage/{storage}",
28795 [
28796 "Datastore.AllocateSpace"
28797 ]
28798 ]
27a7acb2 28799 },
4d47f125
TL
28800 "protected" : 1,
28801 "proxyto" : "node",
28802 "returns" : {
28803 "description" : "Volume identifier",
28804 "type" : "string"
27a7acb2
DM
28805 }
28806 }
28807 },
4d47f125
TL
28808 "leaf" : 0,
28809 "path" : "/nodes/{node}/storage/{storage}/content",
28810 "text" : "content"
28811 },
28812 {
28813 "info" : {
28814 "GET" : {
28815 "description" : "Read storage status.",
28816 "method" : "GET",
28817 "name" : "read_status",
28818 "parameters" : {
28819 "additionalProperties" : 0,
28820 "properties" : {
28821 "node" : {
28822 "description" : "The cluster node name.",
28823 "format" : "pve-node",
28824 "type" : "string",
28825 "typetext" : "<string>"
28826 },
28827 "storage" : {
28828 "description" : "The storage identifier.",
28829 "format" : "pve-storage-id",
28830 "type" : "string",
28831 "typetext" : "<string>"
28832 }
27a7acb2
DM
28833 }
28834 },
4d47f125
TL
28835 "permissions" : {
28836 "check" : [
28837 "perm",
28838 "/storage/{storage}",
28839 [
28840 "Datastore.Audit",
28841 "Datastore.AllocateSpace"
28842 ],
28843 "any",
28844 1
28845 ]
7aacca6f 28846 },
4d47f125
TL
28847 "protected" : 1,
28848 "proxyto" : "node",
28849 "returns" : {
28850 "type" : "object"
56122987 28851 }
44660702
DM
28852 }
28853 },
4d47f125
TL
28854 "leaf" : 1,
28855 "path" : "/nodes/{node}/storage/{storage}/status",
28856 "text" : "status"
28857 },
28858 {
28859 "info" : {
28860 "GET" : {
28861 "description" : "Read storage RRD statistics (returns PNG).",
28862 "method" : "GET",
28863 "name" : "rrd",
28864 "parameters" : {
28865 "additionalProperties" : 0,
28866 "properties" : {
28867 "cf" : {
28868 "description" : "The RRD consolidation function",
28869 "enum" : [
28870 "AVERAGE",
28871 "MAX"
28872 ],
28873 "optional" : 1,
28874 "type" : "string"
28875 },
28876 "ds" : {
28877 "description" : "The list of datasources you want to display.",
28878 "format" : "pve-configid-list",
28879 "type" : "string",
28880 "typetext" : "<string>"
28881 },
28882 "node" : {
28883 "description" : "The cluster node name.",
28884 "format" : "pve-node",
28885 "type" : "string",
28886 "typetext" : "<string>"
28887 },
28888 "storage" : {
28889 "description" : "The storage identifier.",
28890 "format" : "pve-storage-id",
28891 "type" : "string",
28892 "typetext" : "<string>"
28893 },
28894 "timeframe" : {
28895 "description" : "Specify the time frame you are interested in.",
28896 "enum" : [
28897 "hour",
28898 "day",
28899 "week",
28900 "month",
28901 "year"
28902 ],
28903 "type" : "string"
28904 }
44660702
DM
28905 }
28906 },
4d47f125
TL
28907 "permissions" : {
28908 "check" : [
28909 "perm",
28910 "/storage/{storage}",
28911 [
28912 "Datastore.Audit",
28913 "Datastore.AllocateSpace"
28914 ],
28915 "any",
28916 1
28917 ]
28918 },
28919 "protected" : 1,
28920 "proxyto" : "node",
28921 "returns" : {
28922 "properties" : {
28923 "filename" : {
28924 "type" : "string"
28925 }
28926 },
28927 "type" : "object"
44660702
DM
28928 }
28929 }
28930 },
4d47f125
TL
28931 "leaf" : 1,
28932 "path" : "/nodes/{node}/storage/{storage}/rrd",
28933 "text" : "rrd"
28934 },
28935 {
28936 "info" : {
28937 "GET" : {
28938 "description" : "Read storage RRD statistics.",
28939 "method" : "GET",
28940 "name" : "rrddata",
28941 "parameters" : {
28942 "additionalProperties" : 0,
28943 "properties" : {
28944 "cf" : {
28945 "description" : "The RRD consolidation function",
28946 "enum" : [
28947 "AVERAGE",
28948 "MAX"
28949 ],
28950 "optional" : 1,
28951 "type" : "string"
28952 },
28953 "node" : {
28954 "description" : "The cluster node name.",
28955 "format" : "pve-node",
28956 "type" : "string",
28957 "typetext" : "<string>"
28958 },
28959 "storage" : {
28960 "description" : "The storage identifier.",
28961 "format" : "pve-storage-id",
28962 "type" : "string",
28963 "typetext" : "<string>"
28964 },
28965 "timeframe" : {
28966 "description" : "Specify the time frame you are interested in.",
28967 "enum" : [
28968 "hour",
28969 "day",
28970 "week",
28971 "month",
28972 "year"
28973 ],
28974 "type" : "string"
28975 }
56122987
DM
28976 }
28977 },
4d47f125
TL
28978 "permissions" : {
28979 "check" : [
28980 "perm",
28981 "/storage/{storage}",
28982 [
28983 "Datastore.Audit",
28984 "Datastore.AllocateSpace"
28985 ],
28986 "any",
28987 1
28988 ]
28989 },
28990 "protected" : 1,
28991 "proxyto" : "node",
28992 "returns" : {
28993 "items" : {
28994 "properties" : {},
28995 "type" : "object"
28996 },
28997 "type" : "array"
56122987 28998 }
7aacca6f 28999 }
56122987 29000 },
4d47f125
TL
29001 "leaf" : 1,
29002 "path" : "/nodes/{node}/storage/{storage}/rrddata",
29003 "text" : "rrddata"
29004 },
29005 {
29006 "info" : {
29007 "POST" : {
29008 "description" : "Upload templates and ISO images.",
29009 "method" : "POST",
29010 "name" : "upload",
29011 "parameters" : {
29012 "additionalProperties" : 0,
29013 "properties" : {
29014 "content" : {
29015 "description" : "Content type.",
29016 "format" : "pve-storage-content",
29017 "type" : "string",
29018 "typetext" : "<string>"
29019 },
29020 "filename" : {
29021 "description" : "The name of the file to create.",
29022 "type" : "string",
29023 "typetext" : "<string>"
29024 },
29025 "node" : {
29026 "description" : "The cluster node name.",
29027 "format" : "pve-node",
29028 "type" : "string",
29029 "typetext" : "<string>"
29030 },
29031 "storage" : {
29032 "description" : "The storage identifier.",
29033 "format" : "pve-storage-id",
29034 "type" : "string",
29035 "typetext" : "<string>"
29036 },
29037 "tmpfilename" : {
29038 "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.",
29039 "optional" : 1,
29040 "type" : "string",
29041 "typetext" : "<string>"
29042 }
44660702
DM
29043 }
29044 },
4d47f125
TL
29045 "permissions" : {
29046 "check" : [
29047 "perm",
29048 "/storage/{storage}",
29049 [
29050 "Datastore.AllocateTemplate"
29051 ]
29052 ]
56122987 29053 },
4d47f125
TL
29054 "protected" : 1,
29055 "returns" : {
44660702 29056 "type" : "string"
56122987 29057 }
44660702 29058 }
56122987 29059 },
4d47f125
TL
29060 "leaf" : 1,
29061 "path" : "/nodes/{node}/storage/{storage}/upload",
29062 "text" : "upload"
56122987 29063 }
4d47f125 29064 ],
56122987
DM
29065 "info" : {
29066 "GET" : {
4d47f125 29067 "description" : "",
44660702 29068 "method" : "GET",
4d47f125 29069 "name" : "diridx",
44660702
DM
29070 "parameters" : {
29071 "additionalProperties" : 0,
29072 "properties" : {
29073 "node" : {
29074 "description" : "The cluster node name.",
29075 "format" : "pve-node",
013dc89f
DM
29076 "type" : "string",
29077 "typetext" : "<string>"
4d47f125
TL
29078 },
29079 "storage" : {
29080 "description" : "The storage identifier.",
29081 "format" : "pve-storage-id",
29082 "type" : "string",
29083 "typetext" : "<string>"
44660702
DM
29084 }
29085 }
29086 },
7aacca6f
DM
29087 "permissions" : {
29088 "check" : [
29089 "perm",
4d47f125 29090 "/storage/{storage}",
7aacca6f 29091 [
4d47f125
TL
29092 "Datastore.Audit",
29093 "Datastore.AllocateSpace"
29094 ],
29095 "any",
29096 1
7aacca6f
DM
29097 ]
29098 },
56122987
DM
29099 "returns" : {
29100 "items" : {
29101 "properties" : {
4d47f125 29102 "subdir" : {
44660702 29103 "type" : "string"
56122987
DM
29104 }
29105 },
29106 "type" : "object"
7aacca6f 29107 },
4d47f125
TL
29108 "links" : [
29109 {
29110 "href" : "{subdir}",
29111 "rel" : "child"
29112 }
29113 ],
7aacca6f 29114 "type" : "array"
44660702
DM
29115 }
29116 }
29117 },
4d47f125
TL
29118 "leaf" : 0,
29119 "path" : "/nodes/{node}/storage/{storage}",
29120 "text" : "{storage}"
44660702
DM
29121 }
29122 ],
29123 "info" : {
29124 "GET" : {
4d47f125 29125 "description" : "Get status for all datastores.",
44660702
DM
29126 "method" : "GET",
29127 "name" : "index",
29128 "parameters" : {
29129 "additionalProperties" : 0,
29130 "properties" : {
4d47f125
TL
29131 "content" : {
29132 "description" : "Only list stores which support this content type.",
29133 "format" : "pve-storage-content-list",
29134 "optional" : 1,
29135 "type" : "string",
29136 "typetext" : "<string>"
29137 },
29138 "enabled" : {
29139 "default" : 0,
29140 "description" : "Only list stores which are enabled (not disabled in config).",
29141 "optional" : 1,
29142 "type" : "boolean",
29143 "typetext" : "<boolean>"
29144 },
29145 "format" : {
29146 "default" : 0,
29147 "description" : "Include information about formats",
29148 "optional" : 1,
29149 "type" : "boolean",
29150 "typetext" : "<boolean>"
29151 },
44660702
DM
29152 "node" : {
29153 "description" : "The cluster node name.",
29154 "format" : "pve-node",
013dc89f
DM
29155 "type" : "string",
29156 "typetext" : "<string>"
4d47f125
TL
29157 },
29158 "storage" : {
29159 "description" : "Only list status for specified storage",
29160 "format" : "pve-storage-id",
29161 "optional" : 1,
29162 "type" : "string",
29163 "typetext" : "<string>"
29164 },
29165 "target" : {
29166 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
29167 "format" : "pve-node",
29168 "optional" : 1,
29169 "type" : "string",
29170 "typetext" : "<string>"
44660702
DM
29171 }
29172 }
29173 },
4d47f125
TL
29174 "permissions" : {
29175 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
29176 "user" : "all"
29177 },
29178 "protected" : 1,
29179 "proxyto" : "node",
29180 "returns" : {
29181 "items" : {
29182 "properties" : {
29183 "active" : {
29184 "description" : "Set when storage is accessible.",
29185 "optional" : 1,
29186 "type" : "boolean"
29187 },
29188 "avail" : {
29189 "description" : "Available storage space in bytes.",
29190 "optional" : 1,
29191 "renderer" : "bytes",
29192 "type" : "integer"
29193 },
29194 "content" : {
29195 "description" : "Allowed storage content types.",
29196 "format" : "pve-storage-content-list",
29197 "type" : "string"
29198 },
29199 "enabled" : {
29200 "description" : "Set when storage is enabled (not disabled).",
29201 "optional" : 1,
29202 "type" : "boolean"
29203 },
29204 "shared" : {
29205 "description" : "Shared flag from storage configuration.",
29206 "optional" : 1,
29207 "type" : "boolean"
29208 },
29209 "storage" : {
29210 "description" : "The storage identifier.",
29211 "format" : "pve-storage-id",
29212 "type" : "string"
29213 },
29214 "total" : {
29215 "description" : "Total storage space in bytes.",
29216 "optional" : 1,
29217 "renderer" : "bytes",
29218 "type" : "integer"
29219 },
29220 "type" : {
29221 "description" : "Storage type.",
29222 "type" : "string"
29223 },
29224 "used" : {
29225 "description" : "Used storage space in bytes.",
29226 "optional" : 1,
29227 "renderer" : "bytes",
29228 "type" : "integer"
29229 },
29230 "used_fraction" : {
29231 "description" : "Used fraction (used/total).",
29232 "optional" : 1,
29233 "renderer" : "fraction_as_percentage",
29234 "type" : "number"
7aacca6f 29235 }
4d47f125
TL
29236 },
29237 "type" : "object"
29238 },
29239 "links" : [
29240 {
29241 "href" : "{storage}",
29242 "rel" : "child"
29243 }
29244 ],
29245 "type" : "array"
29246 }
29247 }
29248 },
29249 "leaf" : 0,
29250 "path" : "/nodes/{node}/storage",
29251 "text" : "storage"
29252 },
29253 {
29254 "children" : [
29255 {
29256 "info" : {
29257 "GET" : {
29258 "description" : "List LVM Volume Groups",
29259 "method" : "GET",
29260 "name" : "index",
29261 "parameters" : {
29262 "additionalProperties" : 0,
29263 "properties" : {
29264 "node" : {
29265 "description" : "The cluster node name.",
29266 "format" : "pve-node",
29267 "type" : "string",
29268 "typetext" : "<string>"
29269 }
29270 }
29271 },
29272 "permissions" : {
29273 "check" : [
29274 "perm",
29275 "/",
29276 [
29277 "Sys.Audit",
29278 "Datastore.Audit"
29279 ],
29280 "any",
29281 1
29282 ]
29283 },
29284 "protected" : 1,
29285 "proxyto" : "node",
29286 "returns" : {
29287 "properties" : {
29288 "children" : {
44660702
DM
29289 "items" : {
29290 "properties" : {
4d47f125
TL
29291 "children" : {
29292 "description" : "The underlying physical volumes",
29293 "items" : {
29294 "properties" : {
29295 "free" : {
29296 "description" : "The free bytes in the physical volume",
29297 "type" : "integer"
29298 },
29299 "leaf" : {
29300 "type" : "boolean"
29301 },
29302 "name" : {
29303 "description" : "The name of the physical volume",
29304 "type" : "string"
29305 },
29306 "size" : {
29307 "description" : "The size of the physical volume in bytes",
29308 "type" : "integer"
29309 }
29310 },
29311 "type" : "object"
29312 },
29313 "optional" : 1,
29314 "type" : "array"
29315 },
29316 "free" : {
29317 "description" : "The free bytes in the volume group",
29318 "type" : "integer"
29319 },
29320 "leaf" : {
29321 "type" : "boolean"
29322 },
29323 "name" : {
29324 "description" : "The name of the volume group",
44660702 29325 "type" : "string"
4d47f125
TL
29326 },
29327 "size" : {
29328 "description" : "The size of the volume group in bytes",
29329 "type" : "integer"
44660702
DM
29330 }
29331 },
29332 "type" : "object"
29333 },
44660702 29334 "type" : "array"
4d47f125
TL
29335 },
29336 "leaf" : {
29337 "type" : "boolean"
44660702
DM
29338 }
29339 },
4d47f125
TL
29340 "type" : "object"
29341 }
29342 },
29343 "POST" : {
29344 "description" : "Create an LVM Volume Group",
29345 "method" : "POST",
29346 "name" : "create",
29347 "parameters" : {
29348 "additionalProperties" : 0,
29349 "properties" : {
29350 "add_storage" : {
29351 "default" : 0,
29352 "description" : "Configure storage using the Volume Group",
29353 "optional" : 1,
29354 "type" : "boolean",
29355 "typetext" : "<boolean>"
44660702 29356 },
4d47f125
TL
29357 "device" : {
29358 "description" : "The block device you want to create the volume group on",
29359 "type" : "string",
29360 "typetext" : "<string>"
44660702 29361 },
4d47f125
TL
29362 "name" : {
29363 "description" : "The storage identifier.",
29364 "format" : "pve-storage-id",
29365 "type" : "string",
29366 "typetext" : "<string>"
29367 },
29368 "node" : {
29369 "description" : "The cluster node name.",
29370 "format" : "pve-node",
29371 "type" : "string",
29372 "typetext" : "<string>"
29373 }
29374 }
29375 },
29376 "permissions" : {
29377 "check" : [
29378 "perm",
29379 "/",
29380 [
29381 "Sys.Modify",
29382 "Datastore.Allocate"
29383 ]
29384 ]
29385 },
29386 "protected" : 1,
29387 "proxyto" : "node",
29388 "returns" : {
29389 "type" : "string"
29390 }
29391 }
29392 },
29393 "leaf" : 1,
29394 "path" : "/nodes/{node}/disks/lvm",
29395 "text" : "lvm"
29396 },
29397 {
29398 "info" : {
29399 "GET" : {
29400 "description" : "List LVM thinpools",
29401 "method" : "GET",
29402 "name" : "index",
29403 "parameters" : {
29404 "additionalProperties" : 0,
29405 "properties" : {
29406 "node" : {
29407 "description" : "The cluster node name.",
29408 "format" : "pve-node",
29409 "type" : "string",
29410 "typetext" : "<string>"
44660702
DM
29411 }
29412 }
29413 },
4d47f125
TL
29414 "permissions" : {
29415 "check" : [
29416 "perm",
29417 "/",
29418 [
29419 "Sys.Audit",
29420 "Datastore.Audit"
29421 ],
29422 "any",
29423 1
29424 ]
29425 },
29426 "protected" : 1,
29427 "proxyto" : "node",
29428 "returns" : {
29429 "items" : {
29430 "properties" : {
29431 "lv" : {
29432 "description" : "The name of the thinpool.",
29433 "type" : "string"
29434 },
29435 "lv_size" : {
29436 "description" : "The size of the thinpool in bytes.",
29437 "type" : "integer"
29438 },
29439 "metadata_size" : {
29440 "description" : "The size of the metadata lv in bytes.",
29441 "type" : "integer"
29442 },
29443 "metadata_used" : {
29444 "description" : "The used bytes of the metadata lv.",
29445 "type" : "integer"
29446 },
29447 "used" : {
29448 "description" : "The used bytes of the thinpool.",
29449 "type" : "integer"
44660702
DM
29450 }
29451 },
4d47f125
TL
29452 "type" : "object"
29453 },
29454 "type" : "array"
29455 }
29456 },
29457 "POST" : {
29458 "description" : "Create an LVM thinpool",
29459 "method" : "POST",
29460 "name" : "create",
29461 "parameters" : {
29462 "additionalProperties" : 0,
29463 "properties" : {
29464 "add_storage" : {
29465 "default" : 0,
29466 "description" : "Configure storage using the thinpool.",
29467 "optional" : 1,
29468 "type" : "boolean",
29469 "typetext" : "<boolean>"
56122987 29470 },
4d47f125
TL
29471 "device" : {
29472 "description" : "The block device you want to create the thinpool on.",
29473 "type" : "string",
29474 "typetext" : "<string>"
29475 },
29476 "name" : {
29477 "description" : "The storage identifier.",
29478 "format" : "pve-storage-id",
29479 "type" : "string",
29480 "typetext" : "<string>"
29481 },
29482 "node" : {
29483 "description" : "The cluster node name.",
29484 "format" : "pve-node",
29485 "type" : "string",
29486 "typetext" : "<string>"
44660702 29487 }
56122987
DM
29488 }
29489 },
4d47f125
TL
29490 "permissions" : {
29491 "check" : [
29492 "perm",
29493 "/",
29494 [
29495 "Sys.Modify",
29496 "Datastore.Allocate"
29497 ]
29498 ]
29499 },
29500 "protected" : 1,
29501 "proxyto" : "node",
29502 "returns" : {
29503 "type" : "string"
29504 }
29505 }
29506 },
29507 "leaf" : 1,
29508 "path" : "/nodes/{node}/disks/lvmthin",
29509 "text" : "lvmthin"
29510 },
29511 {
29512 "info" : {
29513 "GET" : {
29514 "description" : "PVE Managed Directory storages.",
29515 "method" : "GET",
29516 "name" : "index",
29517 "parameters" : {
29518 "additionalProperties" : 0,
29519 "properties" : {
29520 "node" : {
29521 "description" : "The cluster node name.",
29522 "format" : "pve-node",
29523 "type" : "string",
29524 "typetext" : "<string>"
29525 }
29526 }
29527 },
29528 "permissions" : {
29529 "check" : [
29530 "perm",
29531 "/",
29532 [
29533 "Sys.Audit",
29534 "Datastore.Audit"
29535 ],
29536 "any",
29537 1
29538 ]
29539 },
29540 "protected" : 1,
29541 "proxyto" : "node",
29542 "returns" : {
29543 "items" : {
29544 "properties" : {
29545 "device" : {
29546 "description" : "The mounted device.",
29547 "type" : "string"
29548 },
29549 "options" : {
29550 "description" : "The mount options.",
29551 "type" : "string"
29552 },
29553 "path" : {
29554 "description" : "The mount path.",
29555 "type" : "string"
29556 },
29557 "type" : {
29558 "description" : "The filesystem type.",
29559 "type" : "string"
29560 },
29561 "unitfile" : {
29562 "description" : "The path of the mount unit.",
29563 "type" : "string"
44660702 29564 }
56122987 29565 },
4d47f125
TL
29566 "type" : "object"
29567 },
29568 "type" : "array"
29569 }
29570 },
29571 "POST" : {
29572 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
29573 "method" : "POST",
29574 "name" : "create",
29575 "parameters" : {
29576 "additionalProperties" : 0,
29577 "properties" : {
29578 "add_storage" : {
29579 "default" : 0,
29580 "description" : "Configure storage using the directory.",
29581 "optional" : 1,
29582 "type" : "boolean",
29583 "typetext" : "<boolean>"
29584 },
29585 "device" : {
29586 "description" : "The block device you want to create the filesystem on.",
29587 "type" : "string",
29588 "typetext" : "<string>"
29589 },
29590 "filesystem" : {
29591 "default" : "ext4",
29592 "description" : "The desired filesystem.",
29593 "enum" : [
29594 "ext4",
29595 "xfs"
29596 ],
29597 "optional" : 1,
29598 "type" : "string"
56122987 29599 },
4d47f125
TL
29600 "name" : {
29601 "description" : "The storage identifier.",
29602 "format" : "pve-storage-id",
29603 "type" : "string",
29604 "typetext" : "<string>"
29605 },
29606 "node" : {
29607 "description" : "The cluster node name.",
29608 "format" : "pve-node",
29609 "type" : "string",
29610 "typetext" : "<string>"
7aacca6f 29611 }
56122987
DM
29612 }
29613 },
4d47f125
TL
29614 "permissions" : {
29615 "check" : [
29616 "perm",
29617 "/",
29618 [
29619 "Sys.Modify",
29620 "Datastore.Allocate"
29621 ]
29622 ]
29623 },
29624 "protected" : 1,
29625 "proxyto" : "node",
29626 "returns" : {
29627 "type" : "string"
29628 }
29629 }
29630 },
29631 "leaf" : 1,
29632 "path" : "/nodes/{node}/disks/directory",
29633 "text" : "directory"
29634 },
29635 {
29636 "children" : [
56122987 29637 {
56122987
DM
29638 "info" : {
29639 "GET" : {
4d47f125 29640 "description" : "Get details about a zpool.",
44660702 29641 "method" : "GET",
4d47f125 29642 "name" : "detail",
56122987 29643 "parameters" : {
44660702 29644 "additionalProperties" : 0,
56122987 29645 "properties" : {
4d47f125
TL
29646 "name" : {
29647 "description" : "The storage identifier.",
29648 "format" : "pve-storage-id",
29649 "type" : "string",
29650 "typetext" : "<string>"
44660702 29651 },
7aacca6f 29652 "node" : {
7aacca6f 29653 "description" : "The cluster node name.",
44660702 29654 "format" : "pve-node",
013dc89f
DM
29655 "type" : "string",
29656 "typetext" : "<string>"
56122987 29657 }
44660702 29658 }
7aacca6f 29659 },
7aacca6f
DM
29660 "permissions" : {
29661 "check" : [
29662 "perm",
4d47f125 29663 "/",
7aacca6f 29664 [
4d47f125
TL
29665 "Sys.Audit",
29666 "Datastore.Audit"
7aacca6f
DM
29667 ],
29668 "any",
29669 1
29670 ]
29671 },
44660702
DM
29672 "protected" : 1,
29673 "proxyto" : "node",
7aacca6f 29674 "returns" : {
56122987 29675 "properties" : {
4d47f125
TL
29676 "action" : {
29677 "description" : "Information about the recommended action to fix the state.",
29678 "optional" : 1,
29679 "type" : "string"
56122987 29680 },
4d47f125 29681 "children" : {
e2d681b3 29682 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
29683 "items" : {
29684 "properties" : {
29685 "cksum" : {
e2d681b3 29686 "optional" : 1,
4d47f125
TL
29687 "type" : "number"
29688 },
29689 "msg" : {
29690 "description" : "An optional message about the vdev.",
29691 "type" : "string"
29692 },
29693 "name" : {
e2d681b3 29694 "description" : "The name of the vdev or section.",
4d47f125
TL
29695 "type" : "string"
29696 },
29697 "read" : {
e2d681b3 29698 "optional" : 1,
4d47f125
TL
29699 "type" : "number"
29700 },
29701 "state" : {
29702 "description" : "The state of the vdev.",
e2d681b3 29703 "optional" : 1,
4d47f125
TL
29704 "type" : "string"
29705 },
29706 "write" : {
e2d681b3 29707 "optional" : 1,
4d47f125
TL
29708 "type" : "number"
29709 }
29710 },
29711 "type" : "object"
29712 },
29713 "type" : "array"
56122987 29714 },
e2d681b3
TL
29715 "errors" : {
29716 "description" : "Information about the errors on the zpool.",
29717 "type" : "string"
29718 },
4d47f125
TL
29719 "name" : {
29720 "description" : "The name of the zpool.",
29721 "type" : "string"
44660702 29722 },
4d47f125 29723 "scan" : {
e2d681b3 29724 "description" : "Information about the last/current scrub.",
4d47f125 29725 "type" : "string"
44660702 29726 },
4d47f125
TL
29727 "state" : {
29728 "description" : "The state of the zpool.",
29729 "type" : "string"
29730 },
29731 "status" : {
29732 "description" : "Information about the state of the zpool.",
44660702 29733 "optional" : 1,
4d47f125 29734 "type" : "string"
56122987 29735 }
4d47f125
TL
29736 },
29737 "type" : "object"
44660702
DM
29738 }
29739 }
29740 },
29741 "leaf" : 1,
4d47f125
TL
29742 "path" : "/nodes/{node}/disks/zfs/{name}",
29743 "text" : "{name}"
44660702
DM
29744 }
29745 ],
29746 "info" : {
29747 "GET" : {
4d47f125 29748 "description" : "List Zpools.",
44660702 29749 "method" : "GET",
4d47f125 29750 "name" : "index",
44660702
DM
29751 "parameters" : {
29752 "additionalProperties" : 0,
29753 "properties" : {
29754 "node" : {
29755 "description" : "The cluster node name.",
29756 "format" : "pve-node",
013dc89f
DM
29757 "type" : "string",
29758 "typetext" : "<string>"
4d47f125
TL
29759 }
29760 }
29761 },
29762 "permissions" : {
29763 "check" : [
29764 "perm",
29765 "/",
29766 [
29767 "Sys.Audit",
29768 "Datastore.Audit"
29769 ],
29770 "any",
29771 1
29772 ]
29773 },
29774 "protected" : 1,
29775 "proxyto" : "node",
29776 "returns" : {
29777 "items" : {
29778 "properties" : {
29779 "alloc" : {
29780 "description" : "",
29781 "type" : "integer"
29782 },
29783 "dedup" : {
29784 "description" : "",
29785 "type" : "number"
29786 },
29787 "frag" : {
29788 "description" : "",
29789 "type" : "integer"
29790 },
29791 "free" : {
29792 "description" : "",
29793 "type" : "integer"
29794 },
29795 "health" : {
29796 "description" : "",
29797 "type" : "string"
29798 },
29799 "name" : {
29800 "description" : "",
29801 "type" : "string"
29802 },
29803 "size" : {
29804 "description" : "",
29805 "type" : "integer"
29806 }
29807 },
29808 "type" : "object"
29809 },
29810 "links" : [
29811 {
29812 "href" : "{name}",
29813 "rel" : "child"
29814 }
29815 ],
29816 "type" : "array"
29817 }
29818 },
29819 "POST" : {
29820 "description" : "Create a ZFS pool.",
29821 "method" : "POST",
29822 "name" : "create",
29823 "parameters" : {
29824 "additionalProperties" : 0,
29825 "properties" : {
29826 "add_storage" : {
29827 "default" : 0,
29828 "description" : "Configure storage using the zpool.",
29829 "optional" : 1,
29830 "type" : "boolean",
29831 "typetext" : "<boolean>"
29832 },
29833 "ashift" : {
29834 "default" : 12,
29835 "description" : "Pool sector size exponent.",
29836 "maximum" : 16,
29837 "minimum" : 9,
29838 "optional" : 1,
29839 "type" : "integer",
29840 "typetext" : "<integer> (9 - 16)"
29841 },
29842 "compression" : {
29843 "default" : "on",
29844 "description" : "The compression algorithm to use.",
29845 "enum" : [
29846 "on",
29847 "off",
29848 "gzip",
29849 "lz4",
29850 "lzjb",
29851 "zle"
29852 ],
29853 "optional" : 1,
29854 "type" : "string"
29855 },
29856 "devices" : {
29857 "description" : "The block devices you want to create the zpool on.",
29858 "format" : "string-list",
29859 "type" : "string",
29860 "typetext" : "<string>"
44660702 29861 },
4d47f125 29862 "name" : {
44660702
DM
29863 "description" : "The storage identifier.",
29864 "format" : "pve-storage-id",
013dc89f
DM
29865 "type" : "string",
29866 "typetext" : "<string>"
4d47f125
TL
29867 },
29868 "node" : {
29869 "description" : "The cluster node name.",
29870 "format" : "pve-node",
29871 "type" : "string",
29872 "typetext" : "<string>"
29873 },
29874 "raidlevel" : {
29875 "description" : "The RAID level to use.",
29876 "enum" : [
29877 "single",
29878 "mirror",
29879 "raid10",
29880 "raidz",
29881 "raidz2",
29882 "raidz3"
29883 ],
29884 "type" : "string"
56122987
DM
29885 }
29886 }
44660702
DM
29887 },
29888 "permissions" : {
29889 "check" : [
29890 "perm",
4d47f125 29891 "/",
44660702 29892 [
4d47f125
TL
29893 "Sys.Modify",
29894 "Datastore.Allocate"
29895 ]
44660702
DM
29896 ]
29897 },
4d47f125
TL
29898 "protected" : 1,
29899 "proxyto" : "node",
44660702 29900 "returns" : {
4d47f125 29901 "type" : "string"
56122987
DM
29902 }
29903 }
44660702
DM
29904 },
29905 "leaf" : 0,
4d47f125
TL
29906 "path" : "/nodes/{node}/disks/zfs",
29907 "text" : "zfs"
29908 },
2c0dde61
DM
29909 {
29910 "info" : {
29911 "GET" : {
29912 "description" : "List local disks.",
29913 "method" : "GET",
29914 "name" : "list",
29915 "parameters" : {
29916 "additionalProperties" : 0,
29917 "properties" : {
29918 "node" : {
29919 "description" : "The cluster node name.",
29920 "format" : "pve-node",
013dc89f
DM
29921 "type" : "string",
29922 "typetext" : "<string>"
4d47f125
TL
29923 },
29924 "skipsmart" : {
29925 "default" : 0,
29926 "description" : "Skip smart checks.",
29927 "optional" : 1,
29928 "type" : "boolean",
29929 "typetext" : "<boolean>"
29930 },
29931 "type" : {
29932 "description" : "Only list specific types of disks.",
29933 "enum" : [
29934 "unused",
29935 "journal_disks"
29936 ],
29937 "optional" : 1,
29938 "type" : "string"
2c0dde61
DM
29939 }
29940 }
29941 },
29942 "permissions" : {
29943 "check" : [
29944 "perm",
29945 "/",
29946 [
29947 "Sys.Audit",
29948 "Datastore.Audit"
29949 ],
29950 "any",
29951 1
29952 ]
29953 },
29954 "protected" : 1,
29955 "proxyto" : "node",
29956 "returns" : {
29957 "items" : {
29958 "properties" : {
29959 "devpath" : {
29960 "description" : "The device path",
29961 "type" : "string"
29962 },
29963 "gpt" : {
29964 "type" : "boolean"
29965 },
29966 "health" : {
29967 "optional" : 1,
29968 "type" : "string"
29969 },
29970 "model" : {
29971 "optional" : 1,
29972 "type" : "string"
29973 },
29974 "osdid" : {
29975 "type" : "integer"
29976 },
29977 "serial" : {
29978 "optional" : 1,
29979 "type" : "string"
29980 },
29981 "size" : {
29982 "type" : "integer"
29983 },
29984 "used" : {
29985 "optional" : 1,
29986 "type" : "string"
29987 },
29988 "vendor" : {
29989 "optional" : 1,
29990 "type" : "string"
29991 },
29992 "wwn" : {
29993 "optional" : 1,
29994 "type" : "string"
29995 }
29996 },
29997 "type" : "object"
29998 },
29999 "type" : "array"
30000 }
30001 }
30002 },
30003 "leaf" : 1,
30004 "path" : "/nodes/{node}/disks/list",
30005 "text" : "list"
30006 },
30007 {
30008 "info" : {
30009 "GET" : {
30010 "description" : "Get SMART Health of a disk.",
30011 "method" : "GET",
30012 "name" : "smart",
30013 "parameters" : {
30014 "additionalProperties" : 0,
30015 "properties" : {
30016 "disk" : {
30017 "description" : "Block device name",
30018 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
30019 "type" : "string"
30020 },
30021 "healthonly" : {
30022 "description" : "If true returns only the health status",
30023 "optional" : 1,
013dc89f
DM
30024 "type" : "boolean",
30025 "typetext" : "<boolean>"
2c0dde61
DM
30026 },
30027 "node" : {
30028 "description" : "The cluster node name.",
30029 "format" : "pve-node",
013dc89f
DM
30030 "type" : "string",
30031 "typetext" : "<string>"
2c0dde61
DM
30032 }
30033 }
30034 },
30035 "permissions" : {
30036 "check" : [
30037 "perm",
30038 "/",
30039 [
30040 "Sys.Audit",
30041 "Datastore.Audit"
30042 ],
30043 "any",
30044 1
30045 ]
30046 },
30047 "protected" : 1,
30048 "proxyto" : "node",
30049 "returns" : {
de0983cb
DM
30050 "properties" : {
30051 "attributes" : {
30052 "optional" : 1,
30053 "type" : "array"
30054 },
30055 "health" : {
30056 "type" : "string"
30057 },
30058 "text" : {
30059 "optional" : 1,
30060 "type" : "string"
30061 },
30062 "type" : {
30063 "optional" : 1,
30064 "type" : "string"
30065 }
30066 },
2c0dde61
DM
30067 "type" : "object"
30068 }
30069 }
30070 },
30071 "leaf" : 1,
30072 "path" : "/nodes/{node}/disks/smart",
30073 "text" : "smart"
30074 },
30075 {
30076 "info" : {
30077 "POST" : {
30078 "description" : "Initialize Disk with GPT",
30079 "method" : "POST",
30080 "name" : "initgpt",
30081 "parameters" : {
30082 "additionalProperties" : 0,
30083 "properties" : {
30084 "disk" : {
30085 "description" : "Block device name",
30086 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
30087 "type" : "string"
30088 },
30089 "node" : {
30090 "description" : "The cluster node name.",
30091 "format" : "pve-node",
013dc89f
DM
30092 "type" : "string",
30093 "typetext" : "<string>"
2c0dde61
DM
30094 },
30095 "uuid" : {
30096 "description" : "UUID for the GPT table",
30097 "maxLength" : 36,
30098 "optional" : 1,
30099 "pattern" : "[a-fA-F0-9\\-]+",
30100 "type" : "string"
30101 }
30102 }
30103 },
30104 "permissions" : {
30105 "check" : [
30106 "perm",
30107 "/",
30108 [
30109 "Sys.Modify"
30110 ]
30111 ]
30112 },
30113 "protected" : 1,
30114 "proxyto" : "node",
30115 "returns" : {
30116 "type" : "string"
30117 }
30118 }
30119 },
30120 "leaf" : 1,
30121 "path" : "/nodes/{node}/disks/initgpt",
30122 "text" : "initgpt"
30123 }
30124 ],
30125 "info" : {
30126 "GET" : {
30127 "description" : "Node index.",
30128 "method" : "GET",
30129 "name" : "index",
30130 "parameters" : {
30131 "additionalProperties" : 0,
30132 "properties" : {
30133 "node" : {
30134 "description" : "The cluster node name.",
30135 "format" : "pve-node",
013dc89f
DM
30136 "type" : "string",
30137 "typetext" : "<string>"
2c0dde61
DM
30138 }
30139 }
30140 },
30141 "permissions" : {
30142 "user" : "all"
30143 },
30144 "proxyto" : "node",
30145 "returns" : {
30146 "items" : {
30147 "properties" : {},
30148 "type" : "object"
30149 },
30150 "links" : [
30151 {
30152 "href" : "{name}",
30153 "rel" : "child"
30154 }
30155 ],
30156 "type" : "array"
30157 }
30158 }
30159 },
30160 "leaf" : 0,
30161 "path" : "/nodes/{node}/disks",
30162 "text" : "disks"
30163 },
56122987 30164 {
56122987
DM
30165 "children" : [
30166 {
30167 "info" : {
44660702
DM
30168 "GET" : {
30169 "description" : "List available updates.",
30170 "method" : "GET",
30171 "name" : "list_updates",
30172 "parameters" : {
30173 "additionalProperties" : 0,
30174 "properties" : {
30175 "node" : {
30176 "description" : "The cluster node name.",
30177 "format" : "pve-node",
013dc89f
DM
30178 "type" : "string",
30179 "typetext" : "<string>"
44660702
DM
30180 }
30181 }
7aacca6f
DM
30182 },
30183 "permissions" : {
30184 "check" : [
30185 "perm",
30186 "/nodes/{node}",
30187 [
30188 "Sys.Modify"
30189 ]
30190 ]
30191 },
44660702 30192 "protected" : 1,
56122987 30193 "proxyto" : "node",
44660702
DM
30194 "returns" : {
30195 "items" : {
30196 "properties" : {},
30197 "type" : "object"
30198 },
30199 "type" : "array"
30200 }
30201 },
30202 "POST" : {
30203 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
30204 "method" : "POST",
30205 "name" : "update_database",
56122987
DM
30206 "parameters" : {
30207 "additionalProperties" : 0,
30208 "properties" : {
44660702
DM
30209 "node" : {
30210 "description" : "The cluster node name.",
30211 "format" : "pve-node",
013dc89f
DM
30212 "type" : "string",
30213 "typetext" : "<string>"
44660702 30214 },
56122987 30215 "notify" : {
56122987 30216 "default" : 0,
44660702
DM
30217 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
30218 "optional" : 1,
013dc89f
DM
30219 "type" : "boolean",
30220 "typetext" : "<boolean>"
56122987
DM
30221 },
30222 "quiet" : {
56122987 30223 "default" : 0,
44660702 30224 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 30225 "optional" : 1,
013dc89f
DM
30226 "type" : "boolean",
30227 "typetext" : "<boolean>"
56122987 30228 }
7aacca6f
DM
30229 }
30230 },
30231 "permissions" : {
30232 "check" : [
30233 "perm",
30234 "/nodes/{node}",
30235 [
30236 "Sys.Modify"
30237 ]
30238 ]
30239 },
44660702
DM
30240 "protected" : 1,
30241 "proxyto" : "node",
30242 "returns" : {
30243 "type" : "string"
30244 }
56122987
DM
30245 }
30246 },
7aacca6f 30247 "leaf" : 1,
44660702
DM
30248 "path" : "/nodes/{node}/apt/update",
30249 "text" : "update"
56122987
DM
30250 },
30251 {
56122987
DM
30252 "info" : {
30253 "GET" : {
44660702 30254 "description" : "Get package changelogs.",
56122987 30255 "method" : "GET",
7aacca6f 30256 "name" : "changelog",
56122987 30257 "parameters" : {
44660702 30258 "additionalProperties" : 0,
56122987
DM
30259 "properties" : {
30260 "name" : {
30261 "description" : "Package name.",
013dc89f
DM
30262 "type" : "string",
30263 "typetext" : "<string>"
56122987 30264 },
44660702
DM
30265 "node" : {
30266 "description" : "The cluster node name.",
30267 "format" : "pve-node",
013dc89f
DM
30268 "type" : "string",
30269 "typetext" : "<string>"
44660702 30270 },
56122987 30271 "version" : {
7aacca6f 30272 "description" : "Package version.",
44660702 30273 "optional" : 1,
013dc89f
DM
30274 "type" : "string",
30275 "typetext" : "<string>"
56122987 30276 }
44660702 30277 }
56122987 30278 },
44660702
DM
30279 "permissions" : {
30280 "check" : [
30281 "perm",
30282 "/nodes/{node}",
30283 [
30284 "Sys.Modify"
30285 ]
30286 ]
30287 },
30288 "proxyto" : "node",
30289 "returns" : {
30290 "type" : "string"
30291 }
56122987
DM
30292 }
30293 },
44660702
DM
30294 "leaf" : 1,
30295 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 30296 "text" : "changelog"
56122987
DM
30297 },
30298 {
56122987
DM
30299 "info" : {
30300 "GET" : {
44660702
DM
30301 "description" : "Get package information for important Proxmox packages.",
30302 "method" : "GET",
7aacca6f
DM
30303 "name" : "versions",
30304 "parameters" : {
44660702 30305 "additionalProperties" : 0,
7aacca6f
DM
30306 "properties" : {
30307 "node" : {
44660702 30308 "description" : "The cluster node name.",
7aacca6f 30309 "format" : "pve-node",
013dc89f
DM
30310 "type" : "string",
30311 "typetext" : "<string>"
7aacca6f 30312 }
44660702 30313 }
7aacca6f 30314 },
56122987
DM
30315 "permissions" : {
30316 "check" : [
30317 "perm",
30318 "/nodes/{node}",
30319 [
30320 "Sys.Audit"
30321 ]
30322 ]
30323 },
7aacca6f 30324 "proxyto" : "node",
56122987
DM
30325 "returns" : {
30326 "items" : {
7aacca6f
DM
30327 "properties" : {},
30328 "type" : "object"
44660702
DM
30329 },
30330 "type" : "array"
56122987
DM
30331 }
30332 }
30333 },
44660702 30334 "leaf" : 1,
7aacca6f 30335 "path" : "/nodes/{node}/apt/versions",
44660702 30336 "text" : "versions"
56122987
DM
30337 }
30338 ],
56122987
DM
30339 "info" : {
30340 "GET" : {
44660702 30341 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 30342 "method" : "GET",
44660702 30343 "name" : "index",
7aacca6f
DM
30344 "parameters" : {
30345 "additionalProperties" : 0,
30346 "properties" : {
30347 "node" : {
44660702 30348 "description" : "The cluster node name.",
7aacca6f 30349 "format" : "pve-node",
013dc89f
DM
30350 "type" : "string",
30351 "typetext" : "<string>"
7aacca6f
DM
30352 }
30353 }
30354 },
7aacca6f
DM
30355 "permissions" : {
30356 "user" : "all"
30357 },
44660702
DM
30358 "returns" : {
30359 "items" : {
30360 "properties" : {
30361 "id" : {
30362 "type" : "string"
30363 }
30364 },
30365 "type" : "object"
30366 },
30367 "links" : [
30368 {
30369 "href" : "{id}",
30370 "rel" : "child"
30371 }
30372 ],
30373 "type" : "array"
30374 }
56122987 30375 }
7aacca6f 30376 },
44660702 30377 "leaf" : 0,
7aacca6f 30378 "path" : "/nodes/{node}/apt",
44660702 30379 "text" : "apt"
56122987
DM
30380 },
30381 {
56122987
DM
30382 "children" : [
30383 {
30384 "children" : [
30385 {
56122987
DM
30386 "info" : {
30387 "DELETE" : {
44660702 30388 "description" : "Delete rule.",
7aacca6f 30389 "method" : "DELETE",
44660702 30390 "name" : "delete_rule",
56122987
DM
30391 "parameters" : {
30392 "additionalProperties" : 0,
30393 "properties" : {
56122987
DM
30394 "digest" : {
30395 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 30396 "maxLength" : 40,
56122987 30397 "optional" : 1,
013dc89f
DM
30398 "type" : "string",
30399 "typetext" : "<string>"
56122987 30400 },
44660702
DM
30401 "node" : {
30402 "description" : "The cluster node name.",
30403 "format" : "pve-node",
013dc89f
DM
30404 "type" : "string",
30405 "typetext" : "<string>"
44660702 30406 },
7aacca6f 30407 "pos" : {
7aacca6f 30408 "description" : "Update rule at position <pos>.",
44660702
DM
30409 "minimum" : 0,
30410 "optional" : 1,
4bd7df8b 30411 "type" : "integer",
013dc89f 30412 "typetext" : "<integer> (0 - N)"
56122987
DM
30413 }
30414 }
30415 },
44660702
DM
30416 "permissions" : {
30417 "check" : [
30418 "perm",
30419 "/nodes/{node}",
30420 [
30421 "Sys.Modify"
30422 ]
30423 ]
30424 },
30425 "protected" : 1,
30426 "proxyto" : "node",
56122987
DM
30427 "returns" : {
30428 "type" : "null"
44660702
DM
30429 }
30430 },
30431 "GET" : {
30432 "description" : "Get single rule data.",
30433 "method" : "GET",
30434 "name" : "get_rule",
30435 "parameters" : {
30436 "additionalProperties" : 0,
30437 "properties" : {
30438 "node" : {
30439 "description" : "The cluster node name.",
30440 "format" : "pve-node",
013dc89f
DM
30441 "type" : "string",
30442 "typetext" : "<string>"
44660702
DM
30443 },
30444 "pos" : {
30445 "description" : "Update rule at position <pos>.",
30446 "minimum" : 0,
30447 "optional" : 1,
4bd7df8b 30448 "type" : "integer",
013dc89f 30449 "typetext" : "<integer> (0 - N)"
44660702
DM
30450 }
30451 }
56122987 30452 },
56122987
DM
30453 "permissions" : {
30454 "check" : [
30455 "perm",
30456 "/nodes/{node}",
30457 [
44660702 30458 "Sys.Audit"
56122987
DM
30459 ]
30460 ]
44660702
DM
30461 },
30462 "proxyto" : "node",
30463 "returns" : {
30464 "properties" : {
e2d681b3
TL
30465 "action" : {
30466 "type" : "string"
30467 },
30468 "comment" : {
30469 "optional" : 1,
30470 "type" : "string"
30471 },
30472 "dest" : {
30473 "optional" : 1,
30474 "type" : "string"
30475 },
30476 "dport" : {
30477 "optional" : 1,
30478 "type" : "string"
30479 },
30480 "enable" : {
30481 "optional" : 1,
30482 "type" : "integer"
30483 },
30484 "iface" : {
30485 "optional" : 1,
30486 "type" : "string"
30487 },
30488 "ipversion" : {
30489 "optional" : 1,
30490 "type" : "integer"
30491 },
30492 "macro" : {
30493 "optional" : 1,
30494 "type" : "integer"
30495 },
44660702
DM
30496 "pos" : {
30497 "type" : "integer"
e2d681b3
TL
30498 },
30499 "proto" : {
30500 "optional" : 1,
30501 "type" : "string"
30502 },
30503 "source" : {
30504 "optional" : 1,
30505 "type" : "string"
30506 },
30507 "sport" : {
30508 "optional" : 1,
30509 "type" : "string"
30510 },
30511 "type" : {
30512 "type" : "string"
44660702
DM
30513 }
30514 },
30515 "type" : "object"
7aacca6f 30516 }
56122987
DM
30517 },
30518 "PUT" : {
44660702
DM
30519 "description" : "Modify rule data.",
30520 "method" : "PUT",
56122987 30521 "name" : "update_rule",
56122987 30522 "parameters" : {
44660702 30523 "additionalProperties" : 0,
56122987 30524 "properties" : {
44660702
DM
30525 "action" : {
30526 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
30527 "maxLength" : 20,
30528 "minLength" : 2,
56122987 30529 "optional" : 1,
44660702
DM
30530 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
30531 "type" : "string"
56122987 30532 },
7aacca6f 30533 "comment" : {
e94f0d56 30534 "description" : "Descriptive comment.",
56122987 30535 "optional" : 1,
013dc89f
DM
30536 "type" : "string",
30537 "typetext" : "<string>"
56122987 30538 },
44660702
DM
30539 "delete" : {
30540 "description" : "A list of settings you want to delete.",
30541 "format" : "pve-configid-list",
56122987 30542 "optional" : 1,
013dc89f
DM
30543 "type" : "string",
30544 "typetext" : "<string>"
56122987 30545 },
44660702
DM
30546 "dest" : {
30547 "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.",
30548 "format" : "pve-fw-addr-spec",
56122987 30549 "optional" : 1,
013dc89f
DM
30550 "type" : "string",
30551 "typetext" : "<string>"
56122987 30552 },
44660702
DM
30553 "digest" : {
30554 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
30555 "maxLength" : 40,
56122987 30556 "optional" : 1,
013dc89f
DM
30557 "type" : "string",
30558 "typetext" : "<string>"
56122987 30559 },
7aacca6f 30560 "dport" : {
7aacca6f 30561 "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
30562 "format" : "pve-fw-dport-spec",
30563 "optional" : 1,
013dc89f
DM
30564 "type" : "string",
30565 "typetext" : "<string>"
7aacca6f 30566 },
44660702 30567 "enable" : {
e94f0d56 30568 "description" : "Flag to enable/disable a rule.",
44660702 30569 "minimum" : 0,
56122987 30570 "optional" : 1,
4bd7df8b 30571 "type" : "integer",
013dc89f 30572 "typetext" : "<integer> (0 - N)"
56122987 30573 },
7aacca6f 30574 "iface" : {
44660702 30575 "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 30576 "format" : "pve-iface",
44660702 30577 "maxLength" : 20,
56122987 30578 "minLength" : 2,
44660702 30579 "optional" : 1,
013dc89f
DM
30580 "type" : "string",
30581 "typetext" : "<string>"
56122987 30582 },
44660702 30583 "macro" : {
e94f0d56 30584 "description" : "Use predefined standard macro.",
44660702
DM
30585 "maxLength" : 128,
30586 "optional" : 1,
013dc89f
DM
30587 "type" : "string",
30588 "typetext" : "<string>"
44660702
DM
30589 },
30590 "moveto" : {
30591 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
30592 "minimum" : 0,
7aacca6f 30593 "optional" : 1,
4bd7df8b 30594 "type" : "integer",
013dc89f 30595 "typetext" : "<integer> (0 - N)"
44660702
DM
30596 },
30597 "node" : {
30598 "description" : "The cluster node name.",
30599 "format" : "pve-node",
013dc89f
DM
30600 "type" : "string",
30601 "typetext" : "<string>"
56122987
DM
30602 },
30603 "pos" : {
44660702 30604 "description" : "Update rule at position <pos>.",
7aacca6f 30605 "minimum" : 0,
7aacca6f 30606 "optional" : 1,
4bd7df8b 30607 "type" : "integer",
013dc89f 30608 "typetext" : "<integer> (0 - N)"
7aacca6f 30609 },
44660702
DM
30610 "proto" : {
30611 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
30612 "format" : "pve-fw-protocol-spec",
7aacca6f 30613 "optional" : 1,
013dc89f
DM
30614 "type" : "string",
30615 "typetext" : "<string>"
7aacca6f 30616 },
44660702
DM
30617 "source" : {
30618 "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.",
30619 "format" : "pve-fw-addr-spec",
56122987 30620 "optional" : 1,
013dc89f
DM
30621 "type" : "string",
30622 "typetext" : "<string>"
7aacca6f 30623 },
44660702
DM
30624 "sport" : {
30625 "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.",
30626 "format" : "pve-fw-sport-spec",
30627 "optional" : 1,
013dc89f
DM
30628 "type" : "string",
30629 "typetext" : "<string>"
44660702
DM
30630 },
30631 "type" : {
e94f0d56 30632 "description" : "Rule type.",
44660702
DM
30633 "enum" : [
30634 "in",
30635 "out",
30636 "group"
30637 ],
30638 "optional" : 1,
30639 "type" : "string"
56122987 30640 }
44660702 30641 }
56122987 30642 },
56122987
DM
30643 "permissions" : {
30644 "check" : [
30645 "perm",
30646 "/nodes/{node}",
30647 [
30648 "Sys.Modify"
30649 ]
30650 ]
7aacca6f 30651 },
44660702 30652 "protected" : 1,
7aacca6f 30653 "proxyto" : "node",
7aacca6f
DM
30654 "returns" : {
30655 "type" : "null"
56122987
DM
30656 }
30657 }
7aacca6f 30658 },
44660702 30659 "leaf" : 1,
7aacca6f 30660 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 30661 "text" : "{pos}"
56122987
DM
30662 }
30663 ],
56122987
DM
30664 "info" : {
30665 "GET" : {
44660702
DM
30666 "description" : "List rules.",
30667 "method" : "GET",
30668 "name" : "get_rules",
30669 "parameters" : {
30670 "additionalProperties" : 0,
30671 "properties" : {
30672 "node" : {
30673 "description" : "The cluster node name.",
30674 "format" : "pve-node",
013dc89f
DM
30675 "type" : "string",
30676 "typetext" : "<string>"
44660702
DM
30677 }
30678 }
30679 },
30680 "permissions" : {
30681 "check" : [
30682 "perm",
30683 "/nodes/{node}",
30684 [
30685 "Sys.Audit"
30686 ]
30687 ]
30688 },
30689 "proxyto" : "node",
56122987 30690 "returns" : {
56122987
DM
30691 "items" : {
30692 "properties" : {
30693 "pos" : {
30694 "type" : "integer"
30695 }
44660702
DM
30696 },
30697 "type" : "object"
56122987 30698 },
7aacca6f
DM
30699 "links" : [
30700 {
30701 "href" : "{pos}",
30702 "rel" : "child"
30703 }
30704 ],
30705 "type" : "array"
44660702 30706 }
56122987
DM
30707 },
30708 "POST" : {
44660702 30709 "description" : "Create new rule.",
7aacca6f
DM
30710 "method" : "POST",
30711 "name" : "create_rule",
56122987 30712 "parameters" : {
44660702 30713 "additionalProperties" : 0,
56122987 30714 "properties" : {
7aacca6f 30715 "action" : {
7aacca6f 30716 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 30717 "maxLength" : 20,
7aacca6f
DM
30718 "minLength" : 2,
30719 "optional" : 0,
44660702
DM
30720 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
30721 "type" : "string"
56122987 30722 },
44660702 30723 "comment" : {
e94f0d56 30724 "description" : "Descriptive comment.",
56122987 30725 "optional" : 1,
013dc89f
DM
30726 "type" : "string",
30727 "typetext" : "<string>"
56122987 30728 },
44660702
DM
30729 "dest" : {
30730 "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.",
30731 "format" : "pve-fw-addr-spec",
7aacca6f 30732 "optional" : 1,
013dc89f
DM
30733 "type" : "string",
30734 "typetext" : "<string>"
56122987 30735 },
44660702
DM
30736 "digest" : {
30737 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
30738 "maxLength" : 40,
30739 "optional" : 1,
013dc89f
DM
30740 "type" : "string",
30741 "typetext" : "<string>"
56122987 30742 },
44660702
DM
30743 "dport" : {
30744 "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.",
30745 "format" : "pve-fw-dport-spec",
7aacca6f 30746 "optional" : 1,
013dc89f
DM
30747 "type" : "string",
30748 "typetext" : "<string>"
56122987 30749 },
44660702 30750 "enable" : {
e94f0d56 30751 "description" : "Flag to enable/disable a rule.",
44660702
DM
30752 "minimum" : 0,
30753 "optional" : 1,
4bd7df8b 30754 "type" : "integer",
013dc89f 30755 "typetext" : "<integer> (0 - N)"
44660702 30756 },
7aacca6f 30757 "iface" : {
44660702 30758 "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 30759 "format" : "pve-iface",
56122987 30760 "maxLength" : 20,
7aacca6f 30761 "minLength" : 2,
7aacca6f 30762 "optional" : 1,
013dc89f
DM
30763 "type" : "string",
30764 "typetext" : "<string>"
56122987 30765 },
44660702 30766 "macro" : {
e94f0d56 30767 "description" : "Use predefined standard macro.",
44660702 30768 "maxLength" : 128,
7aacca6f 30769 "optional" : 1,
013dc89f
DM
30770 "type" : "string",
30771 "typetext" : "<string>"
56122987 30772 },
44660702
DM
30773 "node" : {
30774 "description" : "The cluster node name.",
30775 "format" : "pve-node",
013dc89f
DM
30776 "type" : "string",
30777 "typetext" : "<string>"
44660702
DM
30778 },
30779 "pos" : {
30780 "description" : "Update rule at position <pos>.",
30781 "minimum" : 0,
30782 "optional" : 1,
4bd7df8b 30783 "type" : "integer",
013dc89f 30784 "typetext" : "<integer> (0 - N)"
44660702
DM
30785 },
30786 "proto" : {
30787 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
30788 "format" : "pve-fw-protocol-spec",
56122987 30789 "optional" : 1,
013dc89f
DM
30790 "type" : "string",
30791 "typetext" : "<string>"
56122987 30792 },
7aacca6f 30793 "source" : {
7aacca6f 30794 "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
30795 "format" : "pve-fw-addr-spec",
30796 "optional" : 1,
013dc89f
DM
30797 "type" : "string",
30798 "typetext" : "<string>"
7aacca6f 30799 },
44660702
DM
30800 "sport" : {
30801 "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.",
30802 "format" : "pve-fw-sport-spec",
7aacca6f 30803 "optional" : 1,
013dc89f
DM
30804 "type" : "string",
30805 "typetext" : "<string>"
44660702
DM
30806 },
30807 "type" : {
e94f0d56 30808 "description" : "Rule type.",
44660702
DM
30809 "enum" : [
30810 "in",
30811 "out",
30812 "group"
30813 ],
30814 "optional" : 0,
30815 "type" : "string"
56122987 30816 }
44660702 30817 }
7aacca6f 30818 },
56122987
DM
30819 "permissions" : {
30820 "check" : [
30821 "perm",
30822 "/nodes/{node}",
30823 [
30824 "Sys.Modify"
30825 ]
30826 ]
30827 },
44660702
DM
30828 "protected" : 1,
30829 "proxyto" : "node",
30830 "returns" : {
30831 "type" : "null"
30832 }
56122987
DM
30833 }
30834 },
44660702 30835 "leaf" : 0,
7aacca6f 30836 "path" : "/nodes/{node}/firewall/rules",
44660702 30837 "text" : "rules"
56122987
DM
30838 },
30839 {
56122987 30840 "info" : {
44660702
DM
30841 "GET" : {
30842 "description" : "Get host firewall options.",
30843 "method" : "GET",
30844 "name" : "get_options",
56122987 30845 "parameters" : {
7aacca6f 30846 "additionalProperties" : 0,
56122987 30847 "properties" : {
44660702
DM
30848 "node" : {
30849 "description" : "The cluster node name.",
30850 "format" : "pve-node",
013dc89f
DM
30851 "type" : "string",
30852 "typetext" : "<string>"
44660702
DM
30853 }
30854 }
30855 },
30856 "permissions" : {
30857 "check" : [
30858 "perm",
30859 "/nodes/{node}",
30860 [
30861 "Sys.Audit"
30862 ]
30863 ]
30864 },
30865 "proxyto" : "node",
30866 "returns" : {
30867 "properties" : {
30868 "enable" : {
30869 "description" : "Enable host firewall rules.",
7aacca6f 30870 "optional" : 1,
44660702 30871 "type" : "boolean"
7aacca6f 30872 },
44660702
DM
30873 "log_level_in" : {
30874 "description" : "Log level for incoming traffic.",
56122987
DM
30875 "enum" : [
30876 "emerg",
30877 "alert",
30878 "crit",
30879 "err",
30880 "warning",
30881 "notice",
30882 "info",
30883 "debug",
30884 "nolog"
30885 ],
56122987 30886 "optional" : 1,
44660702
DM
30887 "type" : "string"
30888 },
30889 "log_level_out" : {
30890 "description" : "Log level for outgoing traffic.",
56122987
DM
30891 "enum" : [
30892 "emerg",
30893 "alert",
30894 "crit",
30895 "err",
30896 "warning",
30897 "notice",
30898 "info",
30899 "debug",
30900 "nolog"
30901 ],
44660702
DM
30902 "optional" : 1,
30903 "type" : "string"
30904 },
30905 "ndp" : {
30906 "description" : "Enable NDP.",
30907 "optional" : 1,
30908 "type" : "boolean"
30909 },
30910 "nf_conntrack_max" : {
30911 "description" : "Maximum number of tracked connections.",
30912 "minimum" : 32768,
30913 "optional" : 1,
30914 "type" : "integer"
30915 },
30916 "nf_conntrack_tcp_timeout_established" : {
30917 "description" : "Conntrack established timeout.",
30918 "minimum" : 7875,
30919 "optional" : 1,
30920 "type" : "integer"
30921 },
30922 "nosmurfs" : {
30923 "description" : "Enable SMURFS filter.",
30924 "optional" : 1,
30925 "type" : "boolean"
56122987 30926 },
7aacca6f 30927 "smurf_log_level" : {
44660702 30928 "description" : "Log level for SMURFS filter.",
56122987
DM
30929 "enum" : [
30930 "emerg",
30931 "alert",
30932 "crit",
30933 "err",
30934 "warning",
30935 "notice",
30936 "info",
30937 "debug",
30938 "nolog"
7aacca6f 30939 ],
7aacca6f
DM
30940 "optional" : 1,
30941 "type" : "string"
56122987 30942 },
44660702
DM
30943 "tcp_flags_log_level" : {
30944 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
30945 "enum" : [
30946 "emerg",
30947 "alert",
30948 "crit",
30949 "err",
30950 "warning",
30951 "notice",
30952 "info",
30953 "debug",
30954 "nolog"
30955 ],
44660702
DM
30956 "optional" : 1,
30957 "type" : "string"
7aacca6f 30958 },
44660702
DM
30959 "tcpflags" : {
30960 "description" : "Filter illegal combinations of TCP flags.",
56122987 30961 "optional" : 1,
44660702 30962 "type" : "boolean"
56122987 30963 }
44660702
DM
30964 },
30965 "type" : "object"
7aacca6f 30966 }
56122987 30967 },
44660702
DM
30968 "PUT" : {
30969 "description" : "Set Firewall options.",
30970 "method" : "PUT",
30971 "name" : "set_options",
7aacca6f 30972 "parameters" : {
44660702 30973 "additionalProperties" : 0,
7aacca6f 30974 "properties" : {
44660702
DM
30975 "delete" : {
30976 "description" : "A list of settings you want to delete.",
30977 "format" : "pve-configid-list",
7aacca6f 30978 "optional" : 1,
013dc89f
DM
30979 "type" : "string",
30980 "typetext" : "<string>"
56122987 30981 },
44660702
DM
30982 "digest" : {
30983 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
30984 "maxLength" : 40,
30985 "optional" : 1,
013dc89f
DM
30986 "type" : "string",
30987 "typetext" : "<string>"
56122987 30988 },
44660702
DM
30989 "enable" : {
30990 "description" : "Enable host firewall rules.",
7aacca6f 30991 "optional" : 1,
013dc89f
DM
30992 "type" : "boolean",
30993 "typetext" : "<boolean>"
44660702
DM
30994 },
30995 "log_level_in" : {
30996 "description" : "Log level for incoming traffic.",
56122987
DM
30997 "enum" : [
30998 "emerg",
30999 "alert",
31000 "crit",
31001 "err",
31002 "warning",
31003 "notice",
31004 "info",
31005 "debug",
31006 "nolog"
44660702 31007 ],
7aacca6f 31008 "optional" : 1,
44660702 31009 "type" : "string"
7aacca6f 31010 },
44660702
DM
31011 "log_level_out" : {
31012 "description" : "Log level for outgoing traffic.",
56122987
DM
31013 "enum" : [
31014 "emerg",
31015 "alert",
31016 "crit",
31017 "err",
31018 "warning",
31019 "notice",
31020 "info",
31021 "debug",
31022 "nolog"
31023 ],
31024 "optional" : 1,
7aacca6f 31025 "type" : "string"
56122987 31026 },
44660702
DM
31027 "ndp" : {
31028 "description" : "Enable NDP.",
7aacca6f 31029 "optional" : 1,
013dc89f
DM
31030 "type" : "boolean",
31031 "typetext" : "<boolean>"
44660702
DM
31032 },
31033 "nf_conntrack_max" : {
31034 "description" : "Maximum number of tracked connections.",
31035 "minimum" : 32768,
31036 "optional" : 1,
4bd7df8b 31037 "type" : "integer",
013dc89f 31038 "typetext" : "<integer> (32768 - N)"
44660702
DM
31039 },
31040 "nf_conntrack_tcp_timeout_established" : {
31041 "description" : "Conntrack established timeout.",
31042 "minimum" : 7875,
31043 "optional" : 1,
4bd7df8b 31044 "type" : "integer",
013dc89f 31045 "typetext" : "<integer> (7875 - N)"
44660702
DM
31046 },
31047 "node" : {
31048 "description" : "The cluster node name.",
31049 "format" : "pve-node",
013dc89f
DM
31050 "type" : "string",
31051 "typetext" : "<string>"
44660702
DM
31052 },
31053 "nosmurfs" : {
31054 "description" : "Enable SMURFS filter.",
31055 "optional" : 1,
013dc89f
DM
31056 "type" : "boolean",
31057 "typetext" : "<boolean>"
44660702
DM
31058 },
31059 "smurf_log_level" : {
31060 "description" : "Log level for SMURFS filter.",
56122987
DM
31061 "enum" : [
31062 "emerg",
31063 "alert",
31064 "crit",
31065 "err",
31066 "warning",
31067 "notice",
31068 "info",
31069 "debug",
31070 "nolog"
44660702
DM
31071 ],
31072 "optional" : 1,
31073 "type" : "string"
56122987 31074 },
44660702
DM
31075 "tcp_flags_log_level" : {
31076 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
31077 "enum" : [
31078 "emerg",
31079 "alert",
31080 "crit",
31081 "err",
31082 "warning",
31083 "notice",
31084 "info",
31085 "debug",
31086 "nolog"
31087 ],
44660702
DM
31088 "optional" : 1,
31089 "type" : "string"
7aacca6f 31090 },
44660702
DM
31091 "tcpflags" : {
31092 "description" : "Filter illegal combinations of TCP flags.",
56122987 31093 "optional" : 1,
013dc89f
DM
31094 "type" : "boolean",
31095 "typetext" : "<boolean>"
56122987 31096 }
7aacca6f 31097 }
56122987 31098 },
44660702
DM
31099 "permissions" : {
31100 "check" : [
31101 "perm",
31102 "/nodes/{node}",
31103 [
31104 "Sys.Modify"
31105 ]
31106 ]
31107 },
31108 "protected" : 1,
31109 "proxyto" : "node",
31110 "returns" : {
31111 "type" : "null"
31112 }
7aacca6f
DM
31113 }
31114 },
44660702
DM
31115 "leaf" : 1,
31116 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
31117 "text" : "options"
31118 },
31119 {
7aacca6f
DM
31120 "info" : {
31121 "GET" : {
44660702
DM
31122 "description" : "Read firewall log",
31123 "method" : "GET",
7aacca6f 31124 "name" : "log",
56122987 31125 "parameters" : {
44660702 31126 "additionalProperties" : 0,
56122987 31127 "properties" : {
7aacca6f 31128 "limit" : {
44660702 31129 "minimum" : 0,
7aacca6f 31130 "optional" : 1,
4bd7df8b 31131 "type" : "integer",
013dc89f 31132 "typetext" : "<integer> (0 - N)"
7aacca6f 31133 },
56122987 31134 "node" : {
7aacca6f 31135 "description" : "The cluster node name.",
44660702 31136 "format" : "pve-node",
013dc89f
DM
31137 "type" : "string",
31138 "typetext" : "<string>"
44660702
DM
31139 },
31140 "start" : {
31141 "minimum" : 0,
31142 "optional" : 1,
4bd7df8b 31143 "type" : "integer",
013dc89f 31144 "typetext" : "<integer> (0 - N)"
56122987 31145 }
44660702 31146 }
7aacca6f 31147 },
56122987
DM
31148 "permissions" : {
31149 "check" : [
31150 "perm",
31151 "/nodes/{node}",
31152 [
31153 "Sys.Syslog"
31154 ]
31155 ]
31156 },
44660702
DM
31157 "protected" : 1,
31158 "proxyto" : "node",
56122987
DM
31159 "returns" : {
31160 "items" : {
56122987 31161 "properties" : {
56122987 31162 "n" : {
44660702
DM
31163 "description" : "Line number",
31164 "type" : "integer"
7aacca6f
DM
31165 },
31166 "t" : {
44660702
DM
31167 "description" : "Line text",
31168 "type" : "string"
56122987 31169 }
44660702
DM
31170 },
31171 "type" : "object"
56122987
DM
31172 },
31173 "type" : "array"
7aacca6f 31174 }
56122987
DM
31175 }
31176 },
44660702
DM
31177 "leaf" : 1,
31178 "path" : "/nodes/{node}/firewall/log",
7aacca6f 31179 "text" : "log"
56122987
DM
31180 }
31181 ],
31182 "info" : {
31183 "GET" : {
44660702
DM
31184 "description" : "Directory index.",
31185 "method" : "GET",
31186 "name" : "index",
56122987 31187 "parameters" : {
44660702 31188 "additionalProperties" : 0,
56122987
DM
31189 "properties" : {
31190 "node" : {
31191 "description" : "The cluster node name.",
44660702 31192 "format" : "pve-node",
013dc89f
DM
31193 "type" : "string",
31194 "typetext" : "<string>"
56122987 31195 }
44660702 31196 }
56122987 31197 },
7aacca6f
DM
31198 "permissions" : {
31199 "user" : "all"
31200 },
56122987
DM
31201 "returns" : {
31202 "items" : {
31203 "properties" : {},
31204 "type" : "object"
31205 },
56122987
DM
31206 "links" : [
31207 {
44660702
DM
31208 "href" : "{name}",
31209 "rel" : "child"
56122987 31210 }
44660702
DM
31211 ],
31212 "type" : "array"
31213 }
56122987 31214 }
7aacca6f 31215 },
44660702 31216 "leaf" : 0,
7aacca6f 31217 "path" : "/nodes/{node}/firewall",
44660702 31218 "text" : "firewall"
56122987 31219 },
5d9c884c
DM
31220 {
31221 "children" : [
31222 {
31223 "children" : [
31224 {
31225 "info" : {
31226 "GET" : {
31227 "description" : "Get replication job status.",
31228 "method" : "GET",
31229 "name" : "job_status",
31230 "parameters" : {
31231 "additionalProperties" : 0,
31232 "properties" : {
31233 "id" : {
31234 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
31235 "format" : "pve-replication-job-id",
31236 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
31237 "type" : "string"
31238 },
31239 "node" : {
31240 "description" : "The cluster node name.",
31241 "format" : "pve-node",
31242 "type" : "string",
31243 "typetext" : "<string>"
31244 }
31245 }
31246 },
31247 "permissions" : {
31248 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
31249 "user" : "all"
31250 },
31251 "protected" : 1,
31252 "proxyto" : "node",
31253 "returns" : {
5d9c884c
DM
31254 "type" : "object"
31255 }
31256 }
31257 },
31258 "leaf" : 1,
31259 "path" : "/nodes/{node}/replication/{id}/status",
31260 "text" : "status"
31261 },
31262 {
31263 "info" : {
31264 "GET" : {
31265 "description" : "Read replication job log.",
31266 "method" : "GET",
31267 "name" : "read_job_log",
31268 "parameters" : {
31269 "additionalProperties" : 0,
31270 "properties" : {
31271 "id" : {
31272 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
31273 "format" : "pve-replication-job-id",
31274 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
31275 "type" : "string"
31276 },
31277 "limit" : {
31278 "minimum" : 0,
31279 "optional" : 1,
31280 "type" : "integer",
31281 "typetext" : "<integer> (0 - N)"
31282 },
31283 "node" : {
31284 "description" : "The cluster node name.",
31285 "format" : "pve-node",
31286 "type" : "string",
31287 "typetext" : "<string>"
31288 },
31289 "start" : {
31290 "minimum" : 0,
31291 "optional" : 1,
31292 "type" : "integer",
31293 "typetext" : "<integer> (0 - N)"
31294 }
31295 }
31296 },
31297 "permissions" : {
31298 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
31299 "user" : "all"
31300 },
31301 "protected" : 1,
31302 "proxyto" : "node",
31303 "returns" : {
31304 "items" : {
31305 "properties" : {
31306 "n" : {
31307 "description" : "Line number",
31308 "type" : "integer"
31309 },
31310 "t" : {
31311 "description" : "Line text",
31312 "type" : "string"
31313 }
31314 },
31315 "type" : "object"
31316 },
31317 "type" : "array"
31318 }
31319 }
31320 },
31321 "leaf" : 1,
31322 "path" : "/nodes/{node}/replication/{id}/log",
31323 "text" : "log"
31324 },
31325 {
31326 "info" : {
31327 "POST" : {
31328 "description" : "Schedule replication job to start as soon as possible.",
31329 "method" : "POST",
31330 "name" : "schedule_now",
31331 "parameters" : {
31332 "additionalProperties" : 0,
31333 "properties" : {
31334 "id" : {
31335 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
31336 "format" : "pve-replication-job-id",
31337 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
31338 "type" : "string"
31339 },
31340 "node" : {
31341 "description" : "The cluster node name.",
31342 "format" : "pve-node",
31343 "type" : "string",
31344 "typetext" : "<string>"
31345 }
31346 }
31347 },
31348 "permissions" : {
31349 "check" : [
31350 "perm",
31351 "/storage",
31352 [
31353 "Datastore.Allocate"
31354 ]
31355 ]
31356 },
31357 "protected" : 1,
31358 "proxyto" : "node",
31359 "returns" : {
31360 "type" : "string"
31361 }
31362 }
31363 },
31364 "leaf" : 1,
31365 "path" : "/nodes/{node}/replication/{id}/schedule_now",
31366 "text" : "schedule_now"
31367 }
31368 ],
31369 "info" : {
31370 "GET" : {
31371 "description" : "Directory index.",
31372 "method" : "GET",
31373 "name" : "index",
31374 "parameters" : {
31375 "additionalProperties" : 0,
31376 "properties" : {
31377 "id" : {
31378 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
31379 "format" : "pve-replication-job-id",
31380 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
31381 "type" : "string"
31382 },
31383 "node" : {
31384 "description" : "The cluster node name.",
31385 "format" : "pve-node",
31386 "type" : "string",
31387 "typetext" : "<string>"
31388 }
31389 }
31390 },
31391 "permissions" : {
31392 "user" : "all"
31393 },
31394 "returns" : {
31395 "items" : {
31396 "properties" : {},
31397 "type" : "object"
31398 },
31399 "links" : [
31400 {
31401 "href" : "{name}",
31402 "rel" : "child"
31403 }
31404 ],
31405 "type" : "array"
31406 }
31407 }
31408 },
31409 "leaf" : 0,
31410 "path" : "/nodes/{node}/replication/{id}",
31411 "text" : "{id}"
31412 }
31413 ],
31414 "info" : {
31415 "GET" : {
31416 "description" : "List status of all replication jobs on this node.",
31417 "method" : "GET",
31418 "name" : "status",
31419 "parameters" : {
31420 "additionalProperties" : 0,
31421 "properties" : {
31422 "guest" : {
31423 "description" : "Only list replication jobs for this guest.",
31424 "format" : "pve-vmid",
31425 "minimum" : 1,
31426 "optional" : 1,
31427 "type" : "integer",
31428 "typetext" : "<integer> (1 - N)"
31429 },
31430 "node" : {
31431 "description" : "The cluster node name.",
31432 "format" : "pve-node",
31433 "type" : "string",
31434 "typetext" : "<string>"
31435 }
31436 }
31437 },
31438 "permissions" : {
31439 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
31440 "user" : "all"
31441 },
31442 "protected" : 1,
31443 "proxyto" : "node",
31444 "returns" : {
31445 "items" : {
31446 "properties" : {
31447 "id" : {
31448 "type" : "string"
31449 }
31450 },
31451 "type" : "object"
31452 },
31453 "links" : [
31454 {
31455 "href" : "{id}",
31456 "rel" : "child"
31457 }
31458 ],
31459 "type" : "array"
31460 }
31461 }
31462 },
31463 "leaf" : 0,
31464 "path" : "/nodes/{node}/replication",
31465 "text" : "replication"
31466 },
a9a8e3d1
DM
31467 {
31468 "children" : [
31469 {
31470 "children" : [
31471 {
31472 "info" : {
31473 "DELETE" : {
31474 "description" : "Revoke existing certificate from CA.",
31475 "method" : "DELETE",
31476 "name" : "revoke_certificate",
31477 "parameters" : {
31478 "additionalProperties" : 0,
31479 "properties" : {
31480 "node" : {
31481 "description" : "The cluster node name.",
31482 "format" : "pve-node",
31483 "type" : "string",
31484 "typetext" : "<string>"
31485 }
31486 }
31487 },
31488 "protected" : 1,
31489 "proxyto" : "node",
31490 "returns" : {
31491 "type" : "string"
31492 }
31493 },
31494 "POST" : {
31495 "description" : "Order a new certificate from ACME-compatible CA.",
31496 "method" : "POST",
31497 "name" : "new_certificate",
31498 "parameters" : {
31499 "additionalProperties" : 0,
31500 "properties" : {
31501 "force" : {
31502 "default" : 0,
31503 "description" : "Overwrite existing custom certificate.",
31504 "optional" : 1,
31505 "type" : "boolean",
31506 "typetext" : "<boolean>"
31507 },
31508 "node" : {
31509 "description" : "The cluster node name.",
31510 "format" : "pve-node",
31511 "type" : "string",
31512 "typetext" : "<string>"
31513 }
31514 }
31515 },
31516 "protected" : 1,
31517 "proxyto" : "node",
31518 "returns" : {
31519 "type" : "string"
31520 }
31521 },
31522 "PUT" : {
31523 "description" : "Renew existing certificate from CA.",
31524 "method" : "PUT",
31525 "name" : "renew_certificate",
31526 "parameters" : {
31527 "additionalProperties" : 0,
31528 "properties" : {
31529 "force" : {
31530 "default" : 0,
31531 "description" : "Force renewal even if expiry is more than 30 days away.",
31532 "optional" : 1,
31533 "type" : "boolean",
31534 "typetext" : "<boolean>"
31535 },
31536 "node" : {
31537 "description" : "The cluster node name.",
31538 "format" : "pve-node",
31539 "type" : "string",
31540 "typetext" : "<string>"
31541 }
31542 }
31543 },
31544 "protected" : 1,
31545 "proxyto" : "node",
31546 "returns" : {
31547 "type" : "string"
31548 }
31549 }
31550 },
31551 "leaf" : 1,
31552 "path" : "/nodes/{node}/certificates/acme/certificate",
31553 "text" : "certificate"
31554 }
31555 ],
31556 "info" : {
31557 "GET" : {
31558 "description" : "ACME index.",
31559 "method" : "GET",
31560 "name" : "index",
31561 "parameters" : {
31562 "additionalProperties" : 0,
31563 "properties" : {
31564 "node" : {
31565 "description" : "The cluster node name.",
31566 "format" : "pve-node",
31567 "type" : "string",
31568 "typetext" : "<string>"
31569 }
31570 }
31571 },
31572 "permissions" : {
31573 "user" : "all"
31574 },
31575 "returns" : {
31576 "items" : {
31577 "properties" : {},
31578 "type" : "object"
31579 },
31580 "links" : [
31581 {
31582 "href" : "{name}",
31583 "rel" : "child"
31584 }
31585 ],
31586 "type" : "array"
31587 }
31588 }
31589 },
31590 "leaf" : 0,
31591 "path" : "/nodes/{node}/certificates/acme",
31592 "text" : "acme"
31593 },
31594 {
31595 "info" : {
31596 "GET" : {
31597 "description" : "Get information about node's certificates.",
31598 "method" : "GET",
31599 "name" : "info",
31600 "parameters" : {
31601 "additionalProperties" : 0,
31602 "properties" : {
31603 "node" : {
31604 "description" : "The cluster node name.",
31605 "format" : "pve-node",
31606 "type" : "string",
31607 "typetext" : "<string>"
31608 }
31609 }
31610 },
31611 "permissions" : {
31612 "user" : "all"
31613 },
31614 "proxyto" : "node",
31615 "returns" : {
31616 "items" : {
31617 "properties" : {
31618 "filename" : {
31619 "optional" : 1,
31620 "type" : "string"
31621 },
31622 "fingerprint" : {
31623 "description" : "Certificate SHA 256 fingerprint.",
31624 "optional" : 1,
31625 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
31626 "type" : "string"
31627 },
31628 "issuer" : {
31629 "description" : "Certificate issuer name.",
31630 "optional" : 1,
31631 "type" : "string"
31632 },
31633 "notafter" : {
31634 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
31635 "optional" : 1,
4d47f125 31636 "renderer" : "timestamp",
a9a8e3d1
DM
31637 "type" : "integer"
31638 },
31639 "notbefore" : {
31640 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
31641 "optional" : 1,
4d47f125 31642 "renderer" : "timestamp",
a9a8e3d1
DM
31643 "type" : "integer"
31644 },
31645 "pem" : {
31646 "description" : "Certificate in PEM format",
31647 "format" : "pem-certificate",
31648 "optional" : 1,
31649 "type" : "string"
31650 },
31651 "san" : {
31652 "description" : "List of Certificate's SubjectAlternativeName entries.",
31653 "items" : {
31654 "type" : "string"
31655 },
31656 "optional" : 1,
4d47f125 31657 "renderer" : "yaml",
a9a8e3d1
DM
31658 "type" : "array"
31659 },
31660 "subject" : {
31661 "description" : "Certificate subject name.",
31662 "optional" : 1,
31663 "type" : "string"
31664 }
31665 },
31666 "type" : "object"
31667 },
31668 "type" : "array"
31669 }
31670 }
31671 },
31672 "leaf" : 1,
31673 "path" : "/nodes/{node}/certificates/info",
31674 "text" : "info"
31675 },
31676 {
31677 "info" : {
31678 "DELETE" : {
31679 "description" : "DELETE custom certificate chain and key.",
31680 "method" : "DELETE",
31681 "name" : "remove_custom_cert",
31682 "parameters" : {
31683 "additionalProperties" : 0,
31684 "properties" : {
31685 "node" : {
31686 "description" : "The cluster node name.",
31687 "format" : "pve-node",
31688 "type" : "string",
31689 "typetext" : "<string>"
31690 },
31691 "restart" : {
31692 "default" : 0,
31693 "description" : "Restart pveproxy.",
31694 "optional" : 1,
31695 "type" : "boolean",
31696 "typetext" : "<boolean>"
31697 }
31698 }
31699 },
31700 "protected" : 1,
31701 "proxyto" : "node",
31702 "returns" : {
31703 "type" : "null"
31704 }
31705 },
31706 "POST" : {
31707 "description" : "Upload or update custom certificate chain and key.",
31708 "method" : "POST",
31709 "name" : "upload_custom_cert",
31710 "parameters" : {
31711 "additionalProperties" : 0,
31712 "properties" : {
31713 "certificates" : {
31714 "description" : "PEM encoded certificate (chain).",
31715 "format" : "pem-certificate-chain",
31716 "type" : "string",
31717 "typetext" : "<string>"
31718 },
31719 "force" : {
31720 "default" : 0,
31721 "description" : "Overwrite existing custom or ACME certificate files.",
31722 "optional" : 1,
31723 "type" : "boolean",
31724 "typetext" : "<boolean>"
31725 },
31726 "key" : {
31727 "description" : "PEM encoded private key.",
31728 "format" : "pem-string",
31729 "optional" : 1,
31730 "type" : "string",
31731 "typetext" : "<string>"
31732 },
31733 "node" : {
31734 "description" : "The cluster node name.",
31735 "format" : "pve-node",
31736 "type" : "string",
31737 "typetext" : "<string>"
31738 },
31739 "restart" : {
31740 "default" : 0,
31741 "description" : "Restart pveproxy.",
31742 "optional" : 1,
31743 "type" : "boolean",
31744 "typetext" : "<boolean>"
31745 }
31746 }
31747 },
31748 "protected" : 1,
31749 "proxyto" : "node",
31750 "returns" : {
31751 "properties" : {
31752 "filename" : {
31753 "optional" : 1,
31754 "type" : "string"
31755 },
31756 "fingerprint" : {
31757 "description" : "Certificate SHA 256 fingerprint.",
31758 "optional" : 1,
31759 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
31760 "type" : "string"
31761 },
31762 "issuer" : {
31763 "description" : "Certificate issuer name.",
31764 "optional" : 1,
31765 "type" : "string"
31766 },
31767 "notafter" : {
31768 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
31769 "optional" : 1,
4d47f125 31770 "renderer" : "timestamp",
a9a8e3d1
DM
31771 "type" : "integer"
31772 },
31773 "notbefore" : {
31774 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
31775 "optional" : 1,
4d47f125 31776 "renderer" : "timestamp",
a9a8e3d1
DM
31777 "type" : "integer"
31778 },
31779 "pem" : {
31780 "description" : "Certificate in PEM format",
31781 "format" : "pem-certificate",
31782 "optional" : 1,
31783 "type" : "string"
31784 },
31785 "san" : {
31786 "description" : "List of Certificate's SubjectAlternativeName entries.",
31787 "items" : {
31788 "type" : "string"
31789 },
31790 "optional" : 1,
4d47f125 31791 "renderer" : "yaml",
a9a8e3d1
DM
31792 "type" : "array"
31793 },
31794 "subject" : {
31795 "description" : "Certificate subject name.",
31796 "optional" : 1,
31797 "type" : "string"
31798 }
31799 },
31800 "type" : "object"
31801 }
31802 }
31803 },
31804 "leaf" : 1,
31805 "path" : "/nodes/{node}/certificates/custom",
31806 "text" : "custom"
31807 }
31808 ],
31809 "info" : {
31810 "GET" : {
31811 "description" : "Node index.",
31812 "method" : "GET",
31813 "name" : "index",
31814 "parameters" : {
31815 "additionalProperties" : 0,
31816 "properties" : {
31817 "node" : {
31818 "description" : "The cluster node name.",
31819 "format" : "pve-node",
31820 "type" : "string",
31821 "typetext" : "<string>"
31822 }
31823 }
31824 },
31825 "permissions" : {
31826 "user" : "all"
31827 },
31828 "returns" : {
31829 "items" : {
31830 "properties" : {},
31831 "type" : "object"
31832 },
31833 "links" : [
31834 {
31835 "href" : "{name}",
31836 "rel" : "child"
31837 }
31838 ],
31839 "type" : "array"
31840 }
31841 }
31842 },
31843 "leaf" : 0,
31844 "path" : "/nodes/{node}/certificates",
31845 "text" : "certificates"
31846 },
31847 {
31848 "info" : {
31849 "GET" : {
31850 "description" : "Get node configuration options.",
31851 "method" : "GET",
31852 "name" : "get_config",
31853 "parameters" : {
31854 "additionalProperties" : 0,
31855 "properties" : {
31856 "node" : {
31857 "description" : "The cluster node name.",
31858 "format" : "pve-node",
31859 "type" : "string",
31860 "typetext" : "<string>"
31861 }
31862 }
31863 },
31864 "permissions" : {
31865 "check" : [
31866 "perm",
31867 "/",
31868 [
31869 "Sys.Audit"
31870 ]
31871 ]
31872 },
31873 "proxyto" : "node",
31874 "returns" : {
a9a8e3d1
DM
31875 "type" : "object"
31876 }
31877 },
31878 "PUT" : {
31879 "description" : "Set node configuration options.",
31880 "method" : "PUT",
31881 "name" : "set_options",
31882 "parameters" : {
31883 "additionalProperties" : 0,
31884 "properties" : {
31885 "acme" : {
31886 "description" : "Node specific ACME settings.",
31887 "format" : {
31888 "account" : {
31889 "default" : "default",
31890 "description" : "ACME account config file name.",
31891 "format" : "pve-configid",
31892 "format_description" : "name",
31893 "optional" : 1,
31894 "type" : "string"
31895 },
31896 "domains" : {
31897 "description" : "List of domains for this node's ACME certificate",
31898 "format" : "pve-acme-domain-list",
31899 "format_description" : "domain[;domain;...]",
31900 "type" : "string"
31901 }
31902 },
31903 "optional" : 1,
31904 "type" : "string",
31905 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
31906 },
31907 "delete" : {
31908 "description" : "A list of settings you want to delete.",
31909 "format" : "pve-configid-list",
31910 "optional" : 1,
31911 "type" : "string",
31912 "typetext" : "<string>"
31913 },
31914 "description" : {
31915 "description" : "Node description/comment.",
31916 "optional" : 1,
31917 "type" : "string",
31918 "typetext" : "<string>"
31919 },
31920 "digest" : {
31921 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
31922 "maxLength" : 40,
31923 "optional" : 1,
31924 "type" : "string",
31925 "typetext" : "<string>"
31926 },
31927 "node" : {
31928 "description" : "The cluster node name.",
31929 "format" : "pve-node",
31930 "type" : "string",
31931 "typetext" : "<string>"
31932 }
31933 }
31934 },
31935 "permissions" : {
31936 "check" : [
31937 "perm",
31938 "/",
31939 [
31940 "Sys.Modify"
31941 ]
31942 ]
31943 },
31944 "protected" : 1,
31945 "proxyto" : "node",
31946 "returns" : {
31947 "type" : "null"
31948 }
31949 }
31950 },
31951 "leaf" : 1,
31952 "path" : "/nodes/{node}/config",
31953 "text" : "config"
31954 },
56122987 31955 {
56122987
DM
31956 "info" : {
31957 "GET" : {
44660702
DM
31958 "description" : "API version details",
31959 "method" : "GET",
31960 "name" : "version",
56122987 31961 "parameters" : {
44660702 31962 "additionalProperties" : 0,
56122987
DM
31963 "properties" : {
31964 "node" : {
56122987 31965 "description" : "The cluster node name.",
44660702 31966 "format" : "pve-node",
013dc89f
DM
31967 "type" : "string",
31968 "typetext" : "<string>"
56122987 31969 }
44660702 31970 }
56122987 31971 },
56122987 31972 "permissions" : {
7aacca6f 31973 "user" : "all"
56122987 31974 },
56122987 31975 "proxyto" : "node",
56122987 31976 "returns" : {
56122987 31977 "properties" : {
44660702 31978 "release" : {
56122987
DM
31979 "type" : "string"
31980 },
44660702 31981 "repoid" : {
7aacca6f
DM
31982 "type" : "string"
31983 },
31984 "version" : {
31985 "type" : "string"
31986 }
44660702
DM
31987 },
31988 "type" : "object"
7aacca6f 31989 }
56122987
DM
31990 }
31991 },
56122987 31992 "leaf" : 1,
44660702
DM
31993 "path" : "/nodes/{node}/version",
31994 "text" : "version"
56122987
DM
31995 },
31996 {
56122987
DM
31997 "info" : {
31998 "GET" : {
7aacca6f 31999 "description" : "Read node status",
44660702 32000 "method" : "GET",
7aacca6f 32001 "name" : "status",
56122987 32002 "parameters" : {
44660702 32003 "additionalProperties" : 0,
56122987
DM
32004 "properties" : {
32005 "node" : {
7aacca6f 32006 "description" : "The cluster node name.",
44660702 32007 "format" : "pve-node",
013dc89f
DM
32008 "type" : "string",
32009 "typetext" : "<string>"
56122987 32010 }
44660702 32011 }
56122987 32012 },
56122987
DM
32013 "permissions" : {
32014 "check" : [
32015 "perm",
32016 "/nodes/{node}",
32017 [
32018 "Sys.Audit"
32019 ]
32020 ]
44660702
DM
32021 },
32022 "proxyto" : "node",
32023 "returns" : {
44660702 32024 "type" : "object"
7aacca6f
DM
32025 }
32026 },
32027 "POST" : {
44660702
DM
32028 "description" : "Reboot or shutdown a node.",
32029 "method" : "POST",
7aacca6f 32030 "name" : "node_cmd",
56122987 32031 "parameters" : {
44660702 32032 "additionalProperties" : 0,
56122987 32033 "properties" : {
7aacca6f
DM
32034 "command" : {
32035 "description" : "Specify the command.",
56122987 32036 "enum" : [
7aacca6f
DM
32037 "reboot",
32038 "shutdown"
56122987
DM
32039 ],
32040 "type" : "string"
44660702
DM
32041 },
32042 "node" : {
32043 "description" : "The cluster node name.",
32044 "format" : "pve-node",
013dc89f
DM
32045 "type" : "string",
32046 "typetext" : "<string>"
56122987 32047 }
44660702 32048 }
7aacca6f 32049 },
7aacca6f
DM
32050 "permissions" : {
32051 "check" : [
32052 "perm",
32053 "/nodes/{node}",
32054 [
32055 "Sys.PowerMgmt"
32056 ]
32057 ]
32058 },
44660702 32059 "protected" : 1,
7aacca6f 32060 "proxyto" : "node",
7aacca6f
DM
32061 "returns" : {
32062 "type" : "null"
56122987
DM
32063 }
32064 }
32065 },
7aacca6f 32066 "leaf" : 1,
44660702
DM
32067 "path" : "/nodes/{node}/status",
32068 "text" : "status"
56122987
DM
32069 },
32070 {
56122987
DM
32071 "info" : {
32072 "GET" : {
44660702
DM
32073 "description" : "Read tap/vm network device interface counters",
32074 "method" : "GET",
32075 "name" : "netstat",
32076 "parameters" : {
32077 "additionalProperties" : 0,
32078 "properties" : {
32079 "node" : {
32080 "description" : "The cluster node name.",
32081 "format" : "pve-node",
013dc89f
DM
32082 "type" : "string",
32083 "typetext" : "<string>"
44660702 32084 }
56122987
DM
32085 }
32086 },
32087 "permissions" : {
32088 "check" : [
32089 "perm",
32090 "/nodes/{node}",
32091 [
7aacca6f 32092 "Sys.Audit"
56122987
DM
32093 ]
32094 ]
32095 },
7aacca6f 32096 "proxyto" : "node",
44660702
DM
32097 "returns" : {
32098 "items" : {
32099 "properties" : {},
32100 "type" : "object"
32101 },
32102 "type" : "array"
32103 }
7aacca6f
DM
32104 }
32105 },
44660702
DM
32106 "leaf" : 1,
32107 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
32108 "text" : "netstat"
32109 },
32110 {
32111 "info" : {
32112 "POST" : {
7aacca6f 32113 "description" : "Execute multiple commands in order.",
7aacca6f 32114 "method" : "POST",
7aacca6f 32115 "name" : "execute",
56122987
DM
32116 "parameters" : {
32117 "additionalProperties" : 0,
32118 "properties" : {
7aacca6f
DM
32119 "commands" : {
32120 "description" : "JSON encoded array of commands.",
013dc89f
DM
32121 "type" : "string",
32122 "typetext" : "<string>"
56122987
DM
32123 },
32124 "node" : {
44660702 32125 "description" : "The cluster node name.",
56122987 32126 "format" : "pve-node",
013dc89f
DM
32127 "type" : "string",
32128 "typetext" : "<string>"
56122987
DM
32129 }
32130 }
44660702
DM
32131 },
32132 "permissions" : {
32133 "check" : [
32134 "perm",
32135 "/nodes/{node}",
32136 [
32137 "Sys.Audit"
32138 ]
32139 ]
32140 },
32141 "protected" : 1,
32142 "proxyto" : "node",
32143 "returns" : {
44660702 32144 "type" : "array"
56122987
DM
32145 }
32146 }
32147 },
56122987 32148 "leaf" : 1,
44660702
DM
32149 "path" : "/nodes/{node}/execute",
32150 "text" : "execute"
56122987
DM
32151 },
32152 {
32153 "info" : {
7aacca6f 32154 "GET" : {
44660702
DM
32155 "description" : "Read node RRD statistics (returns PNG)",
32156 "method" : "GET",
7aacca6f 32157 "name" : "rrd",
56122987 32158 "parameters" : {
7aacca6f 32159 "additionalProperties" : 0,
56122987 32160 "properties" : {
44660702
DM
32161 "cf" : {
32162 "description" : "The RRD consolidation function",
32163 "enum" : [
32164 "AVERAGE",
32165 "MAX"
32166 ],
32167 "optional" : 1,
32168 "type" : "string"
32169 },
7aacca6f 32170 "ds" : {
7aacca6f 32171 "description" : "The list of datasources you want to display.",
44660702 32172 "format" : "pve-configid-list",
013dc89f
DM
32173 "type" : "string",
32174 "typetext" : "<string>"
44660702
DM
32175 },
32176 "node" : {
32177 "description" : "The cluster node name.",
32178 "format" : "pve-node",
013dc89f
DM
32179 "type" : "string",
32180 "typetext" : "<string>"
7aacca6f
DM
32181 },
32182 "timeframe" : {
32183 "description" : "Specify the time frame you are interested in.",
32184 "enum" : [
32185 "hour",
32186 "day",
32187 "week",
32188 "month",
32189 "year"
32190 ],
32191 "type" : "string"
56122987 32192 }
7aacca6f 32193 }
56122987 32194 },
56122987 32195 "permissions" : {
56122987
DM
32196 "check" : [
32197 "perm",
32198 "/nodes/{node}",
32199 [
7aacca6f 32200 "Sys.Audit"
56122987
DM
32201 ]
32202 ]
32203 },
7aacca6f 32204 "protected" : 1,
56122987 32205 "returns" : {
56122987 32206 "properties" : {
7aacca6f 32207 "filename" : {
56122987
DM
32208 "type" : "string"
32209 }
44660702
DM
32210 },
32211 "type" : "object"
32212 }
56122987
DM
32213 }
32214 },
44660702 32215 "leaf" : 1,
7aacca6f 32216 "path" : "/nodes/{node}/rrd",
44660702 32217 "text" : "rrd"
56122987
DM
32218 },
32219 {
32220 "info" : {
7aacca6f 32221 "GET" : {
44660702
DM
32222 "description" : "Read node RRD statistics",
32223 "method" : "GET",
7aacca6f 32224 "name" : "rrddata",
56122987 32225 "parameters" : {
44660702 32226 "additionalProperties" : 0,
56122987 32227 "properties" : {
7aacca6f 32228 "cf" : {
7aacca6f
DM
32229 "description" : "The RRD consolidation function",
32230 "enum" : [
32231 "AVERAGE",
32232 "MAX"
44660702
DM
32233 ],
32234 "optional" : 1,
32235 "type" : "string"
56122987
DM
32236 },
32237 "node" : {
44660702 32238 "description" : "The cluster node name.",
56122987 32239 "format" : "pve-node",
013dc89f
DM
32240 "type" : "string",
32241 "typetext" : "<string>"
56122987 32242 },
7aacca6f 32243 "timeframe" : {
7aacca6f
DM
32244 "description" : "Specify the time frame you are interested in.",
32245 "enum" : [
32246 "hour",
32247 "day",
32248 "week",
32249 "month",
32250 "year"
44660702
DM
32251 ],
32252 "type" : "string"
56122987 32253 }
56122987
DM
32254 }
32255 },
56122987
DM
32256 "permissions" : {
32257 "check" : [
32258 "perm",
32259 "/nodes/{node}",
32260 [
44660702 32261 "Sys.Audit"
56122987
DM
32262 ]
32263 ]
7aacca6f 32264 },
44660702 32265 "protected" : 1,
56122987 32266 "returns" : {
7aacca6f 32267 "items" : {
44660702 32268 "properties" : {},
7aacca6f
DM
32269 "type" : "object"
32270 },
32271 "type" : "array"
44660702
DM
32272 }
32273 }
32274 },
32275 "leaf" : 1,
32276 "path" : "/nodes/{node}/rrddata",
32277 "text" : "rrddata"
32278 },
32279 {
32280 "info" : {
32281 "GET" : {
32282 "description" : "Read system log",
32283 "method" : "GET",
32284 "name" : "syslog",
56122987 32285 "parameters" : {
44660702 32286 "additionalProperties" : 0,
56122987 32287 "properties" : {
44660702
DM
32288 "limit" : {
32289 "minimum" : 0,
7aacca6f 32290 "optional" : 1,
4bd7df8b 32291 "type" : "integer",
013dc89f 32292 "typetext" : "<integer> (0 - N)"
7aacca6f 32293 },
56122987 32294 "node" : {
7aacca6f 32295 "description" : "The cluster node name.",
44660702 32296 "format" : "pve-node",
013dc89f
DM
32297 "type" : "string",
32298 "typetext" : "<string>"
56122987 32299 },
35a75dd3
DM
32300 "service" : {
32301 "description" : "Service ID",
32302 "maxLength" : 128,
32303 "optional" : 1,
32304 "type" : "string",
32305 "typetext" : "<string>"
32306 },
44660702
DM
32307 "since" : {
32308 "description" : "Display all log since this date-time string.",
32309 "optional" : 1,
32310 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
32311 "type" : "string"
32312 },
32313 "start" : {
7aacca6f
DM
32314 "minimum" : 0,
32315 "optional" : 1,
4bd7df8b 32316 "type" : "integer",
013dc89f 32317 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
32318 },
32319 "until" : {
32320 "description" : "Display all log until this date-time string.",
7aacca6f 32321 "optional" : 1,
44660702 32322 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
32323 "type" : "string"
32324 }
44660702 32325 }
56122987 32326 },
44660702
DM
32327 "permissions" : {
32328 "check" : [
32329 "perm",
32330 "/nodes/{node}",
32331 [
32332 "Sys.Syslog"
32333 ]
32334 ]
32335 },
32336 "protected" : 1,
32337 "proxyto" : "node",
32338 "returns" : {
32339 "items" : {
32340 "properties" : {
32341 "n" : {
32342 "description" : "Line number",
32343 "type" : "integer"
32344 },
32345 "t" : {
32346 "description" : "Line text",
32347 "type" : "string"
32348 }
32349 },
32350 "type" : "object"
32351 },
32352 "type" : "array"
32353 }
56122987
DM
32354 }
32355 },
44660702
DM
32356 "leaf" : 1,
32357 "path" : "/nodes/{node}/syslog",
7aacca6f 32358 "text" : "syslog"
56122987
DM
32359 },
32360 {
56122987
DM
32361 "info" : {
32362 "POST" : {
44660702
DM
32363 "description" : "Creates a VNC Shell proxy.",
32364 "method" : "POST",
32365 "name" : "vncshell",
32366 "parameters" : {
32367 "additionalProperties" : 0,
56122987 32368 "properties" : {
5d9c884c
DM
32369 "height" : {
32370 "description" : "sets the height of the console in pixels.",
32371 "maximum" : 2160,
32372 "minimum" : 16,
32373 "optional" : 1,
32374 "type" : "integer",
32375 "typetext" : "<integer> (16 - 2160)"
32376 },
44660702
DM
32377 "node" : {
32378 "description" : "The cluster node name.",
32379 "format" : "pve-node",
013dc89f
DM
32380 "type" : "string",
32381 "typetext" : "<string>"
7aacca6f 32382 },
44660702
DM
32383 "upgrade" : {
32384 "default" : 0,
32385 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
32386 "optional" : 1,
013dc89f
DM
32387 "type" : "boolean",
32388 "typetext" : "<boolean>"
7aacca6f 32389 },
44660702
DM
32390 "websocket" : {
32391 "description" : "use websocket instead of standard vnc.",
32392 "optional" : 1,
013dc89f
DM
32393 "type" : "boolean",
32394 "typetext" : "<boolean>"
5d9c884c
DM
32395 },
32396 "width" : {
32397 "description" : "sets the width of the console in pixels.",
32398 "maximum" : 4096,
32399 "minimum" : 16,
32400 "optional" : 1,
32401 "type" : "integer",
32402 "typetext" : "<integer> (16 - 4096)"
56122987 32403 }
44660702 32404 }
56122987 32405 },
56122987
DM
32406 "permissions" : {
32407 "check" : [
32408 "perm",
7aacca6f 32409 "/nodes/{node}",
56122987 32410 [
7aacca6f 32411 "Sys.Console"
56122987 32412 ]
44660702
DM
32413 ],
32414 "description" : "Restricted to users on realm 'pam'"
56122987 32415 },
44660702
DM
32416 "protected" : 1,
32417 "returns" : {
32418 "additionalProperties" : 0,
56122987 32419 "properties" : {
44660702
DM
32420 "cert" : {
32421 "type" : "string"
7aacca6f 32422 },
44660702
DM
32423 "port" : {
32424 "type" : "integer"
7aacca6f 32425 },
44660702
DM
32426 "ticket" : {
32427 "type" : "string"
32428 },
32429 "upid" : {
32430 "type" : "string"
32431 },
32432 "user" : {
32433 "type" : "string"
56122987 32434 }
44660702
DM
32435 }
32436 }
56122987
DM
32437 }
32438 },
7aacca6f 32439 "leaf" : 1,
44660702
DM
32440 "path" : "/nodes/{node}/vncshell",
32441 "text" : "vncshell"
56122987 32442 },
35a75dd3
DM
32443 {
32444 "info" : {
32445 "POST" : {
32446 "description" : "Creates a VNC Shell proxy.",
32447 "method" : "POST",
32448 "name" : "termproxy",
32449 "parameters" : {
32450 "additionalProperties" : 0,
32451 "properties" : {
32452 "node" : {
32453 "description" : "The cluster node name.",
32454 "format" : "pve-node",
32455 "type" : "string",
32456 "typetext" : "<string>"
32457 },
32458 "upgrade" : {
32459 "default" : 0,
32460 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
32461 "optional" : 1,
32462 "type" : "boolean",
32463 "typetext" : "<boolean>"
32464 }
32465 }
32466 },
32467 "permissions" : {
32468 "check" : [
32469 "perm",
32470 "/nodes/{node}",
32471 [
32472 "Sys.Console"
32473 ]
32474 ],
32475 "description" : "Restricted to users on realm 'pam'"
32476 },
32477 "protected" : 1,
32478 "returns" : {
32479 "additionalProperties" : 0,
32480 "properties" : {
32481 "port" : {
32482 "type" : "integer"
32483 },
32484 "ticket" : {
32485 "type" : "string"
32486 },
32487 "upid" : {
32488 "type" : "string"
32489 },
32490 "user" : {
32491 "type" : "string"
32492 }
32493 }
32494 }
32495 }
32496 },
32497 "leaf" : 1,
32498 "path" : "/nodes/{node}/termproxy",
32499 "text" : "termproxy"
32500 },
56122987
DM
32501 {
32502 "info" : {
32503 "GET" : {
7aacca6f 32504 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
32505 "method" : "GET",
32506 "name" : "vncwebsocket",
56122987 32507 "parameters" : {
44660702 32508 "additionalProperties" : 0,
56122987
DM
32509 "properties" : {
32510 "node" : {
32511 "description" : "The cluster node name.",
44660702 32512 "format" : "pve-node",
013dc89f
DM
32513 "type" : "string",
32514 "typetext" : "<string>"
7aacca6f
DM
32515 },
32516 "port" : {
7aacca6f
DM
32517 "description" : "Port number returned by previous vncproxy call.",
32518 "maximum" : 5999,
44660702 32519 "minimum" : 5900,
4bd7df8b 32520 "type" : "integer",
013dc89f 32521 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
32522 },
32523 "vncticket" : {
32524 "description" : "Ticket from previous call to vncproxy.",
32525 "maxLength" : 512,
013dc89f
DM
32526 "type" : "string",
32527 "typetext" : "<string>"
56122987 32528 }
44660702 32529 }
56122987 32530 },
56122987
DM
32531 "permissions" : {
32532 "check" : [
32533 "perm",
32534 "/nodes/{node}",
32535 [
7aacca6f 32536 "Sys.Console"
56122987 32537 ]
44660702
DM
32538 ],
32539 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
32540 },
32541 "returns" : {
32542 "properties" : {
32543 "port" : {
32544 "type" : "string"
32545 }
32546 },
32547 "type" : "object"
7aacca6f 32548 }
56122987
DM
32549 }
32550 },
44660702 32551 "leaf" : 1,
7aacca6f 32552 "path" : "/nodes/{node}/vncwebsocket",
44660702 32553 "text" : "vncwebsocket"
56122987
DM
32554 },
32555 {
32556 "info" : {
32557 "POST" : {
44660702 32558 "description" : "Creates a SPICE shell.",
7aacca6f 32559 "method" : "POST",
44660702 32560 "name" : "spiceshell",
56122987 32561 "parameters" : {
7aacca6f 32562 "additionalProperties" : 0,
56122987 32563 "properties" : {
7aacca6f 32564 "node" : {
44660702 32565 "description" : "The cluster node name.",
56122987 32566 "format" : "pve-node",
013dc89f
DM
32567 "type" : "string",
32568 "typetext" : "<string>"
7aacca6f 32569 },
44660702 32570 "proxy" : {
4d47f125 32571 "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
32572 "format" : "address",
32573 "optional" : 1,
013dc89f
DM
32574 "type" : "string",
32575 "typetext" : "<string>"
7aacca6f 32576 },
44660702
DM
32577 "upgrade" : {
32578 "default" : 0,
32579 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
32580 "optional" : 1,
013dc89f
DM
32581 "type" : "boolean",
32582 "typetext" : "<boolean>"
56122987 32583 }
7aacca6f 32584 }
56122987 32585 },
56122987
DM
32586 "permissions" : {
32587 "check" : [
32588 "perm",
7aacca6f 32589 "/nodes/{node}",
56122987 32590 [
7aacca6f 32591 "Sys.Console"
56122987 32592 ]
7aacca6f
DM
32593 ],
32594 "description" : "Restricted to users on realm 'pam'"
44660702
DM
32595 },
32596 "protected" : 1,
32597 "proxyto" : "node",
32598 "returns" : {
32599 "additionalProperties" : 1,
32600 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
32601 "properties" : {
32602 "host" : {
32603 "type" : "string"
32604 },
32605 "password" : {
32606 "type" : "string"
32607 },
32608 "proxy" : {
32609 "type" : "string"
32610 },
32611 "tls-port" : {
32612 "type" : "integer"
32613 },
32614 "type" : {
32615 "type" : "string"
32616 }
32617 }
7aacca6f 32618 }
56122987
DM
32619 }
32620 },
56122987 32621 "leaf" : 1,
44660702
DM
32622 "path" : "/nodes/{node}/spiceshell",
32623 "text" : "spiceshell"
56122987
DM
32624 },
32625 {
56122987 32626 "info" : {
7aacca6f 32627 "GET" : {
44660702 32628 "description" : "Read DNS settings.",
7aacca6f 32629 "method" : "GET",
44660702
DM
32630 "name" : "dns",
32631 "parameters" : {
7aacca6f
DM
32632 "additionalProperties" : 0,
32633 "properties" : {
44660702
DM
32634 "node" : {
32635 "description" : "The cluster node name.",
32636 "format" : "pve-node",
013dc89f
DM
32637 "type" : "string",
32638 "typetext" : "<string>"
7aacca6f
DM
32639 }
32640 }
32641 },
7aacca6f
DM
32642 "permissions" : {
32643 "check" : [
32644 "perm",
32645 "/nodes/{node}",
32646 [
32647 "Sys.Audit"
32648 ]
32649 ]
32650 },
44660702
DM
32651 "proxyto" : "node",
32652 "returns" : {
56122987
DM
32653 "additionalProperties" : 0,
32654 "properties" : {
44660702
DM
32655 "dns1" : {
32656 "description" : "First name server IP address.",
32657 "optional" : 1,
32658 "type" : "string"
32659 },
32660 "dns2" : {
32661 "description" : "Second name server IP address.",
32662 "optional" : 1,
32663 "type" : "string"
32664 },
32665 "dns3" : {
32666 "description" : "Third name server IP address.",
32667 "optional" : 1,
32668 "type" : "string"
32669 },
32670 "search" : {
32671 "description" : "Search domain for host-name lookup.",
32672 "optional" : 1,
32673 "type" : "string"
7aacca6f 32674 }
44660702
DM
32675 },
32676 "type" : "object"
32677 }
7aacca6f
DM
32678 },
32679 "PUT" : {
44660702
DM
32680 "description" : "Write DNS settings.",
32681 "method" : "PUT",
7aacca6f
DM
32682 "name" : "update_dns",
32683 "parameters" : {
32684 "additionalProperties" : 0,
32685 "properties" : {
44660702
DM
32686 "dns1" : {
32687 "description" : "First name server IP address.",
32688 "format" : "ip",
32689 "optional" : 1,
013dc89f
DM
32690 "type" : "string",
32691 "typetext" : "<string>"
7aacca6f 32692 },
44660702
DM
32693 "dns2" : {
32694 "description" : "Second name server IP address.",
32695 "format" : "ip",
7aacca6f 32696 "optional" : 1,
013dc89f
DM
32697 "type" : "string",
32698 "typetext" : "<string>"
7aacca6f 32699 },
44660702
DM
32700 "dns3" : {
32701 "description" : "Third name server IP address.",
32702 "format" : "ip",
7aacca6f 32703 "optional" : 1,
013dc89f
DM
32704 "type" : "string",
32705 "typetext" : "<string>"
7aacca6f
DM
32706 },
32707 "node" : {
44660702 32708 "description" : "The cluster node name.",
56122987 32709 "format" : "pve-node",
013dc89f
DM
32710 "type" : "string",
32711 "typetext" : "<string>"
7aacca6f 32712 },
44660702
DM
32713 "search" : {
32714 "description" : "Search domain for host-name lookup.",
013dc89f
DM
32715 "type" : "string",
32716 "typetext" : "<string>"
56122987
DM
32717 }
32718 }
32719 },
32720 "permissions" : {
32721 "check" : [
32722 "perm",
7aacca6f 32723 "/nodes/{node}",
56122987 32724 [
7aacca6f 32725 "Sys.Modify"
56122987
DM
32726 ]
32727 ]
32728 },
44660702 32729 "protected" : 1,
7aacca6f 32730 "proxyto" : "node",
56122987 32731 "returns" : {
7aacca6f
DM
32732 "type" : "null"
32733 }
56122987 32734 }
44660702
DM
32735 },
32736 "leaf" : 1,
32737 "path" : "/nodes/{node}/dns",
32738 "text" : "dns"
56122987
DM
32739 },
32740 {
32741 "info" : {
7aacca6f 32742 "GET" : {
7aacca6f 32743 "description" : "Read server time and time zone settings.",
44660702
DM
32744 "method" : "GET",
32745 "name" : "time",
56122987 32746 "parameters" : {
44660702 32747 "additionalProperties" : 0,
56122987
DM
32748 "properties" : {
32749 "node" : {
44660702 32750 "description" : "The cluster node name.",
56122987 32751 "format" : "pve-node",
013dc89f
DM
32752 "type" : "string",
32753 "typetext" : "<string>"
56122987 32754 }
44660702 32755 }
56122987
DM
32756 },
32757 "permissions" : {
32758 "check" : [
32759 "perm",
7aacca6f 32760 "/nodes/{node}",
56122987 32761 [
7aacca6f 32762 "Sys.Audit"
56122987
DM
32763 ]
32764 ]
44660702
DM
32765 },
32766 "proxyto" : "node",
32767 "returns" : {
32768 "additionalProperties" : 0,
32769 "properties" : {
32770 "localtime" : {
32771 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
32772 "minimum" : 1297163644,
4d47f125 32773 "renderer" : "timestamp_gmt",
44660702
DM
32774 "type" : "integer"
32775 },
32776 "time" : {
32777 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
32778 "minimum" : 1297163644,
4d47f125 32779 "renderer" : "timestamp",
44660702
DM
32780 "type" : "integer"
32781 },
32782 "timezone" : {
32783 "description" : "Time zone",
32784 "type" : "string"
32785 }
32786 },
32787 "type" : "object"
7aacca6f
DM
32788 }
32789 },
32790 "PUT" : {
7aacca6f 32791 "description" : "Set time zone.",
44660702
DM
32792 "method" : "PUT",
32793 "name" : "set_timezone",
32794 "parameters" : {
32795 "additionalProperties" : 0,
32796 "properties" : {
32797 "node" : {
32798 "description" : "The cluster node name.",
32799 "format" : "pve-node",
013dc89f
DM
32800 "type" : "string",
32801 "typetext" : "<string>"
44660702
DM
32802 },
32803 "timezone" : {
32804 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
32805 "type" : "string",
32806 "typetext" : "<string>"
44660702
DM
32807 }
32808 }
32809 },
7aacca6f
DM
32810 "permissions" : {
32811 "check" : [
32812 "perm",
32813 "/nodes/{node}",
32814 [
32815 "Sys.Modify"
32816 ]
32817 ]
56122987 32818 },
7aacca6f 32819 "protected" : 1,
44660702
DM
32820 "proxyto" : "node",
32821 "returns" : {
32822 "type" : "null"
32823 }
7aacca6f
DM
32824 }
32825 },
7aacca6f 32826 "leaf" : 1,
44660702
DM
32827 "path" : "/nodes/{node}/time",
32828 "text" : "time"
7aacca6f
DM
32829 },
32830 {
32831 "info" : {
44660702
DM
32832 "GET" : {
32833 "description" : "Get list of appliances.",
32834 "method" : "GET",
32835 "name" : "aplinfo",
7aacca6f
DM
32836 "parameters" : {
32837 "additionalProperties" : 0,
32838 "properties" : {
7aacca6f 32839 "node" : {
44660702 32840 "description" : "The cluster node name.",
7aacca6f 32841 "format" : "pve-node",
013dc89f
DM
32842 "type" : "string",
32843 "typetext" : "<string>"
7aacca6f
DM
32844 }
32845 }
56122987 32846 },
7aacca6f 32847 "permissions" : {
44660702 32848 "user" : "all"
56122987 32849 },
44660702 32850 "proxyto" : "node",
7aacca6f
DM
32851 "returns" : {
32852 "items" : {
44660702
DM
32853 "properties" : {},
32854 "type" : "object"
7aacca6f
DM
32855 },
32856 "type" : "array"
44660702
DM
32857 }
32858 },
32859 "POST" : {
32860 "description" : "Download appliance templates.",
32861 "method" : "POST",
32862 "name" : "apl_download",
7aacca6f
DM
32863 "parameters" : {
32864 "additionalProperties" : 0,
32865 "properties" : {
32866 "node" : {
7aacca6f 32867 "description" : "The cluster node name.",
44660702 32868 "format" : "pve-node",
013dc89f
DM
32869 "type" : "string",
32870 "typetext" : "<string>"
44660702
DM
32871 },
32872 "storage" : {
4bd7df8b 32873 "description" : "The storage where the template will be stored",
44660702 32874 "format" : "pve-storage-id",
013dc89f
DM
32875 "type" : "string",
32876 "typetext" : "<string>"
44660702
DM
32877 },
32878 "template" : {
32879 "description" : "The template wich will downloaded",
32880 "maxLength" : 255,
013dc89f
DM
32881 "type" : "string",
32882 "typetext" : "<string>"
7aacca6f
DM
32883 }
32884 }
56122987 32885 },
7aacca6f 32886 "permissions" : {
44660702
DM
32887 "check" : [
32888 "perm",
32889 "/storage/{storage}",
32890 [
32891 "Datastore.AllocateTemplate"
32892 ]
32893 ]
32894 },
32895 "protected" : 1,
32896 "proxyto" : "node",
32897 "returns" : {
32898 "type" : "string"
7aacca6f
DM
32899 }
32900 }
32901 },
7aacca6f 32902 "leaf" : 1,
44660702
DM
32903 "path" : "/nodes/{node}/aplinfo",
32904 "text" : "aplinfo"
7aacca6f
DM
32905 },
32906 {
32907 "info" : {
32908 "GET" : {
44660702
DM
32909 "description" : "Gather various systems information about a node",
32910 "method" : "GET",
32911 "name" : "report",
7aacca6f 32912 "parameters" : {
44660702 32913 "additionalProperties" : 0,
7aacca6f
DM
32914 "properties" : {
32915 "node" : {
7aacca6f 32916 "description" : "The cluster node name.",
44660702 32917 "format" : "pve-node",
013dc89f
DM
32918 "type" : "string",
32919 "typetext" : "<string>"
7aacca6f 32920 }
44660702 32921 }
56122987 32922 },
7aacca6f
DM
32923 "permissions" : {
32924 "check" : [
32925 "perm",
32926 "/nodes/{node}",
32927 [
32928 "Sys.Audit"
32929 ]
32930 ]
56122987 32931 },
44660702 32932 "protected" : 1,
7aacca6f
DM
32933 "proxyto" : "node",
32934 "returns" : {
56122987 32935 "type" : "string"
7aacca6f
DM
32936 }
32937 }
32938 },
7aacca6f 32939 "leaf" : 1,
44660702
DM
32940 "path" : "/nodes/{node}/report",
32941 "text" : "report"
7aacca6f
DM
32942 },
32943 {
7aacca6f
DM
32944 "info" : {
32945 "POST" : {
44660702 32946 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 32947 "method" : "POST",
44660702 32948 "name" : "startall",
7aacca6f 32949 "parameters" : {
44660702 32950 "additionalProperties" : 0,
7aacca6f
DM
32951 "properties" : {
32952 "force" : {
44660702 32953 "description" : "force if onboot=0.",
7aacca6f 32954 "optional" : 1,
013dc89f
DM
32955 "type" : "boolean",
32956 "typetext" : "<boolean>"
7aacca6f
DM
32957 },
32958 "node" : {
7aacca6f 32959 "description" : "The cluster node name.",
44660702 32960 "format" : "pve-node",
013dc89f
DM
32961 "type" : "string",
32962 "typetext" : "<string>"
52e44c50
FG
32963 },
32964 "vms" : {
32965 "description" : "Only consider Guests with these IDs.",
32966 "format" : "pve-vmid-list",
32967 "optional" : 1,
32968 "type" : "string",
32969 "typetext" : "<string>"
7aacca6f 32970 }
44660702 32971 }
56122987 32972 },
7aacca6f
DM
32973 "permissions" : {
32974 "check" : [
32975 "perm",
32976 "/",
32977 [
32978 "VM.PowerMgmt"
32979 ]
32980 ]
44660702
DM
32981 },
32982 "protected" : 1,
32983 "proxyto" : "node",
32984 "returns" : {
32985 "type" : "string"
7aacca6f
DM
32986 }
32987 }
32988 },
44660702 32989 "leaf" : 1,
7aacca6f 32990 "path" : "/nodes/{node}/startall",
44660702 32991 "text" : "startall"
7aacca6f
DM
32992 },
32993 {
7aacca6f
DM
32994 "info" : {
32995 "POST" : {
32996 "description" : "Stop all VMs and Containers.",
44660702
DM
32997 "method" : "POST",
32998 "name" : "stopall",
7aacca6f 32999 "parameters" : {
44660702 33000 "additionalProperties" : 0,
7aacca6f
DM
33001 "properties" : {
33002 "node" : {
44660702 33003 "description" : "The cluster node name.",
7aacca6f 33004 "format" : "pve-node",
013dc89f
DM
33005 "type" : "string",
33006 "typetext" : "<string>"
52e44c50
FG
33007 },
33008 "vms" : {
33009 "description" : "Only consider Guests with these IDs.",
33010 "format" : "pve-vmid-list",
33011 "optional" : 1,
33012 "type" : "string",
33013 "typetext" : "<string>"
7aacca6f 33014 }
44660702 33015 }
56122987 33016 },
7aacca6f
DM
33017 "permissions" : {
33018 "check" : [
33019 "perm",
33020 "/",
33021 [
44660702 33022 "VM.PowerMgmt"
7aacca6f
DM
33023 ]
33024 ]
56122987 33025 },
44660702 33026 "protected" : 1,
7aacca6f 33027 "proxyto" : "node",
44660702
DM
33028 "returns" : {
33029 "type" : "string"
33030 }
33031 }
56122987 33032 },
44660702
DM
33033 "leaf" : 1,
33034 "path" : "/nodes/{node}/stopall",
33035 "text" : "stopall"
33036 },
33037 {
33038 "info" : {
33039 "POST" : {
33040 "description" : "Migrate all VMs and Containers.",
33041 "method" : "POST",
33042 "name" : "migrateall",
33043 "parameters" : {
33044 "additionalProperties" : 0,
33045 "properties" : {
33046 "maxworkers" : {
33047 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
33048 "minimum" : 1,
33049 "optional" : 1,
4bd7df8b 33050 "type" : "integer",
013dc89f 33051 "typetext" : "<integer> (1 - N)"
44660702
DM
33052 },
33053 "node" : {
33054 "description" : "The cluster node name.",
33055 "format" : "pve-node",
013dc89f
DM
33056 "type" : "string",
33057 "typetext" : "<string>"
44660702
DM
33058 },
33059 "target" : {
33060 "description" : "Target node.",
33061 "format" : "pve-node",
013dc89f
DM
33062 "type" : "string",
33063 "typetext" : "<string>"
52e44c50
FG
33064 },
33065 "vms" : {
33066 "description" : "Only consider Guests with these IDs.",
33067 "format" : "pve-vmid-list",
33068 "optional" : 1,
33069 "type" : "string",
33070 "typetext" : "<string>"
44660702
DM
33071 }
33072 }
33073 },
33074 "permissions" : {
33075 "check" : [
33076 "perm",
33077 "/",
33078 [
33079 "VM.Migrate"
33080 ]
33081 ]
33082 },
33083 "protected" : 1,
33084 "proxyto" : "node",
33085 "returns" : {
33086 "type" : "string"
33087 }
33088 }
56122987 33089 },
44660702
DM
33090 "leaf" : 1,
33091 "path" : "/nodes/{node}/migrateall",
33092 "text" : "migrateall"
4d47f125
TL
33093 },
33094 {
33095 "info" : {
33096 "GET" : {
33097 "description" : "Get the content of /etc/hosts.",
33098 "method" : "GET",
33099 "name" : "get_etc_hosts",
33100 "parameters" : {
33101 "additionalProperties" : 0,
33102 "properties" : {
33103 "node" : {
33104 "description" : "The cluster node name.",
33105 "format" : "pve-node",
33106 "type" : "string",
33107 "typetext" : "<string>"
33108 }
33109 }
33110 },
33111 "permissions" : {
33112 "check" : [
33113 "perm",
33114 "/",
33115 [
33116 "Sys.Audit"
33117 ]
33118 ]
33119 },
33120 "protected" : 1,
33121 "proxyto" : "node",
33122 "returns" : {
33123 "properties" : {
33124 "data" : {
33125 "description" : "The content of /etc/hosts.",
33126 "type" : "string"
33127 },
33128 "digest" : {
33129 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
33130 "maxLength" : 40,
33131 "optional" : 1,
33132 "type" : "string"
33133 }
33134 },
33135 "type" : "object"
33136 }
33137 },
33138 "POST" : {
33139 "description" : "Write /etc/hosts.",
33140 "method" : "POST",
33141 "name" : "write_etc_hosts",
33142 "parameters" : {
33143 "additionalProperties" : 0,
33144 "properties" : {
33145 "data" : {
33146 "description" : "The target content of /etc/hosts.",
33147 "type" : "string",
33148 "typetext" : "<string>"
33149 },
33150 "digest" : {
33151 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
33152 "maxLength" : 40,
33153 "optional" : 1,
33154 "type" : "string",
33155 "typetext" : "<string>"
33156 },
33157 "node" : {
33158 "description" : "The cluster node name.",
33159 "format" : "pve-node",
33160 "type" : "string",
33161 "typetext" : "<string>"
33162 }
33163 }
33164 },
33165 "permissions" : {
33166 "check" : [
33167 "perm",
33168 "/nodes/{node}",
33169 [
33170 "Sys.Modify"
33171 ]
33172 ]
33173 },
33174 "protected" : 1,
33175 "proxyto" : "node",
33176 "returns" : {
33177 "type" : "null"
33178 }
33179 }
33180 },
33181 "leaf" : 1,
33182 "path" : "/nodes/{node}/hosts",
33183 "text" : "hosts"
44660702
DM
33184 }
33185 ],
33186 "info" : {
33187 "GET" : {
33188 "description" : "Node index.",
33189 "method" : "GET",
33190 "name" : "index",
33191 "parameters" : {
33192 "additionalProperties" : 0,
33193 "properties" : {
33194 "node" : {
33195 "description" : "The cluster node name.",
33196 "format" : "pve-node",
013dc89f
DM
33197 "type" : "string",
33198 "typetext" : "<string>"
44660702
DM
33199 }
33200 }
56122987 33201 },
44660702
DM
33202 "permissions" : {
33203 "user" : "all"
56122987 33204 },
44660702
DM
33205 "returns" : {
33206 "items" : {
33207 "properties" : {},
33208 "type" : "object"
33209 },
33210 "links" : [
33211 {
33212 "href" : "{name}",
33213 "rel" : "child"
33214 }
56122987 33215 ],
44660702 33216 "type" : "array"
7aacca6f
DM
33217 }
33218 }
33219 },
44660702
DM
33220 "leaf" : 0,
33221 "path" : "/nodes/{node}",
33222 "text" : "{node}"
33223 }
33224 ],
33225 "info" : {
7aacca6f 33226 "GET" : {
44660702 33227 "description" : "Cluster node index.",
7aacca6f 33228 "method" : "GET",
44660702 33229 "name" : "index",
7aacca6f 33230 "parameters" : {
7aacca6f
DM
33231 "additionalProperties" : 0
33232 },
33233 "permissions" : {
7aacca6f
DM
33234 "user" : "all"
33235 },
44660702
DM
33236 "returns" : {
33237 "items" : {
4d47f125
TL
33238 "properties" : {
33239 "cpu" : {
33240 "description" : "CPU utilization.",
33241 "optional" : 1,
33242 "renderer" : "fraction_as_percentage",
33243 "type" : "number"
33244 },
33245 "level" : {
33246 "description" : "Support level.",
33247 "optional" : 1,
33248 "type" : "string"
33249 },
33250 "maxcpu" : {
33251 "description" : "Number of available CPUs.",
33252 "optional" : 1,
33253 "type" : "integer"
33254 },
33255 "maxmem" : {
33256 "description" : "Number of available memory in bytes.",
33257 "optional" : 1,
33258 "renderer" : "bytes",
33259 "type" : "integer"
33260 },
33261 "mem" : {
33262 "description" : "Used memory in bytes.",
33263 "optional" : 1,
33264 "renderer" : "bytes",
33265 "type" : "string"
33266 },
33267 "node" : {
33268 "description" : "The cluster node name.",
33269 "format" : "pve-node",
33270 "type" : "string"
33271 },
33272 "ssl_fingerprint" : {
33273 "description" : "The SSL fingerprint for the node certificate.",
33274 "optional" : 1,
33275 "type" : "string"
33276 },
33277 "status" : {
33278 "description" : "Node status.",
33279 "enum" : [
33280 "unknown",
33281 "online",
33282 "offline"
33283 ],
33284 "type" : "string"
33285 },
33286 "uptime" : {
33287 "description" : "Node uptime in seconds.",
33288 "optional" : 1,
33289 "renderer" : "duration",
33290 "type" : "integer"
33291 }
33292 },
44660702
DM
33293 "type" : "object"
33294 },
33295 "links" : [
33296 {
33297 "href" : "{node}",
33298 "rel" : "child"
33299 }
33300 ],
33301 "type" : "array"
33302 }
7aacca6f
DM
33303 }
33304 },
44660702
DM
33305 "leaf" : 0,
33306 "path" : "/nodes",
33307 "text" : "nodes"
33308 },
33309 {
7aacca6f
DM
33310 "children" : [
33311 {
7aacca6f 33312 "info" : {
44660702
DM
33313 "DELETE" : {
33314 "description" : "Delete storage configuration.",
33315 "method" : "DELETE",
33316 "name" : "delete",
7aacca6f
DM
33317 "parameters" : {
33318 "additionalProperties" : 0,
33319 "properties" : {
33320 "storage" : {
7aacca6f 33321 "description" : "The storage identifier.",
44660702 33322 "format" : "pve-storage-id",
013dc89f
DM
33323 "type" : "string",
33324 "typetext" : "<string>"
7aacca6f
DM
33325 }
33326 }
56122987 33327 },
7aacca6f
DM
33328 "permissions" : {
33329 "check" : [
33330 "perm",
33331 "/storage",
33332 [
33333 "Datastore.Allocate"
33334 ]
33335 ]
56122987 33336 },
44660702
DM
33337 "protected" : 1,
33338 "returns" : {
33339 "type" : "null"
33340 }
33341 },
33342 "GET" : {
33343 "description" : "Read storage configuration.",
33344 "method" : "GET",
33345 "name" : "read",
7aacca6f
DM
33346 "parameters" : {
33347 "additionalProperties" : 0,
33348 "properties" : {
33349 "storage" : {
44660702 33350 "description" : "The storage identifier.",
7aacca6f 33351 "format" : "pve-storage-id",
013dc89f
DM
33352 "type" : "string",
33353 "typetext" : "<string>"
7aacca6f
DM
33354 }
33355 }
33356 },
44660702
DM
33357 "permissions" : {
33358 "check" : [
33359 "perm",
33360 "/storage/{storage}",
33361 [
33362 "Datastore.Allocate"
33363 ]
33364 ]
33365 },
5da3d723
TL
33366 "returns" : {
33367 "type" : "object"
33368 }
7aacca6f
DM
33369 },
33370 "PUT" : {
44660702
DM
33371 "description" : "Update storage configuration.",
33372 "method" : "PUT",
33373 "name" : "update",
33374 "parameters" : {
33375 "additionalProperties" : 0,
33376 "properties" : {
33377 "blocksize" : {
33378 "description" : "block size",
7aacca6f 33379 "optional" : 1,
013dc89f
DM
33380 "type" : "string",
33381 "typetext" : "<string>"
7aacca6f 33382 },
27a7acb2
DM
33383 "bwlimit" : {
33384 "description" : "Set bandwidth/io limits various operations.",
33385 "format" : {
33386 "clone" : {
33387 "description" : "bandwidth limit in MiB/s for cloning disks",
33388 "format_description" : "LIMIT",
33389 "minimum" : "0",
33390 "optional" : 1,
33391 "type" : "number"
33392 },
33393 "default" : {
33394 "description" : "default bandwidth limit in MiB/s",
33395 "format_description" : "LIMIT",
33396 "minimum" : "0",
33397 "optional" : 1,
33398 "type" : "number"
33399 },
33400 "migration" : {
33401 "description" : "bandwidth limit in MiB/s for migrating guests",
33402 "format_description" : "LIMIT",
33403 "minimum" : "0",
33404 "optional" : 1,
33405 "type" : "number"
33406 },
33407 "move" : {
33408 "description" : "bandwidth limit in MiB/s for moving disks",
33409 "format_description" : "LIMIT",
33410 "minimum" : "0",
33411 "optional" : 1,
33412 "type" : "number"
33413 },
33414 "restore" : {
33415 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
33416 "format_description" : "LIMIT",
33417 "minimum" : "0",
33418 "optional" : 1,
33419 "type" : "number"
33420 }
33421 },
33422 "optional" : 1,
33423 "type" : "string",
33424 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
33425 },
44660702
DM
33426 "comstar_hg" : {
33427 "description" : "host group for comstar views",
33428 "optional" : 1,
013dc89f
DM
33429 "type" : "string",
33430 "typetext" : "<string>"
7aacca6f 33431 },
44660702
DM
33432 "comstar_tg" : {
33433 "description" : "target group for comstar views",
7aacca6f 33434 "optional" : 1,
013dc89f
DM
33435 "type" : "string",
33436 "typetext" : "<string>"
7aacca6f 33437 },
44660702
DM
33438 "content" : {
33439 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
33440 "format" : "pve-storage-content-list",
7aacca6f 33441 "optional" : 1,
013dc89f
DM
33442 "type" : "string",
33443 "typetext" : "<string>"
7aacca6f 33444 },
44660702
DM
33445 "delete" : {
33446 "description" : "A list of settings you want to delete.",
33447 "format" : "pve-configid-list",
33448 "maxLength" : 4096,
7aacca6f 33449 "optional" : 1,
013dc89f
DM
33450 "type" : "string",
33451 "typetext" : "<string>"
7aacca6f
DM
33452 },
33453 "digest" : {
44660702 33454 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 33455 "maxLength" : 40,
7aacca6f 33456 "optional" : 1,
013dc89f
DM
33457 "type" : "string",
33458 "typetext" : "<string>"
7aacca6f 33459 },
44660702
DM
33460 "disable" : {
33461 "description" : "Flag to disable the storage.",
33462 "optional" : 1,
013dc89f
DM
33463 "type" : "boolean",
33464 "typetext" : "<boolean>"
7aacca6f 33465 },
27a7acb2
DM
33466 "domain" : {
33467 "description" : "CIFS domain.",
33468 "maxLength" : 256,
33469 "optional" : 1,
33470 "type" : "string",
33471 "typetext" : "<string>"
33472 },
7aacca6f
DM
33473 "format" : {
33474 "description" : "Default image format.",
44660702 33475 "format" : "pve-storage-format",
7aacca6f 33476 "optional" : 1,
013dc89f
DM
33477 "type" : "string",
33478 "typetext" : "<string>"
7aacca6f 33479 },
5da3d723
TL
33480 "fuse" : {
33481 "description" : "Mount CephFS through FUSE.",
33482 "optional" : 1,
33483 "type" : "boolean",
33484 "typetext" : "<boolean>"
33485 },
2c0dde61
DM
33486 "is_mountpoint" : {
33487 "default" : "no",
2489d6df 33488 "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 33489 "optional" : 1,
2489d6df
WB
33490 "type" : "string",
33491 "typetext" : "<string>"
2c0dde61 33492 },
44660702 33493 "krbd" : {
e2d681b3 33494 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 33495 "optional" : 1,
013dc89f
DM
33496 "type" : "boolean",
33497 "typetext" : "<boolean>"
7aacca6f 33498 },
4d47f125
TL
33499 "lio_tpg" : {
33500 "description" : "target portal group for Linux LIO targets",
33501 "optional" : 1,
33502 "type" : "string",
33503 "typetext" : "<string>"
33504 },
44660702
DM
33505 "maxfiles" : {
33506 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
33507 "minimum" : 0,
33508 "optional" : 1,
4bd7df8b 33509 "type" : "integer",
013dc89f 33510 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
33511 },
33512 "mkdir" : {
33513 "default" : "yes",
33514 "description" : "Create the directory if it doesn't exist.",
33515 "optional" : 1,
013dc89f
DM
33516 "type" : "boolean",
33517 "typetext" : "<boolean>"
7aacca6f 33518 },
2489d6df
WB
33519 "monhost" : {
33520 "description" : "IP addresses of monitors (for external clusters).",
33521 "format" : "pve-storage-portal-dns-list",
33522 "optional" : 1,
33523 "type" : "string",
33524 "typetext" : "<string>"
33525 },
7aacca6f 33526 "nodes" : {
44660702 33527 "description" : "List of cluster node names.",
7aacca6f
DM
33528 "format" : "pve-node-list",
33529 "optional" : 1,
013dc89f
DM
33530 "type" : "string",
33531 "typetext" : "<string>"
7aacca6f 33532 },
44660702
DM
33533 "nowritecache" : {
33534 "description" : "disable write caching on the target",
7aacca6f 33535 "optional" : 1,
013dc89f
DM
33536 "type" : "boolean",
33537 "typetext" : "<boolean>"
7aacca6f
DM
33538 },
33539 "options" : {
7aacca6f 33540 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
33541 "format" : "pve-storage-options",
33542 "optional" : 1,
013dc89f
DM
33543 "type" : "string",
33544 "typetext" : "<string>"
44660702 33545 },
27a7acb2
DM
33546 "password" : {
33547 "description" : "Password for CIFS share.",
33548 "maxLength" : 256,
33549 "optional" : 1,
33550 "type" : "string",
33551 "typetext" : "<string>"
33552 },
44660702
DM
33553 "pool" : {
33554 "description" : "Pool.",
33555 "optional" : 1,
013dc89f
DM
33556 "type" : "string",
33557 "typetext" : "<string>"
44660702
DM
33558 },
33559 "redundancy" : {
33560 "default" : 2,
33561 "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.",
33562 "maximum" : 16,
33563 "minimum" : 1,
33564 "optional" : 1,
4bd7df8b 33565 "type" : "integer",
013dc89f 33566 "typetext" : "<integer> (1 - 16)"
44660702
DM
33567 },
33568 "saferemove" : {
33569 "description" : "Zero-out data when removing LVs.",
33570 "optional" : 1,
013dc89f
DM
33571 "type" : "boolean",
33572 "typetext" : "<boolean>"
7aacca6f
DM
33573 },
33574 "saferemove_throughput" : {
44660702 33575 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 33576 "optional" : 1,
013dc89f
DM
33577 "type" : "string",
33578 "typetext" : "<string>"
7aacca6f 33579 },
44660702
DM
33580 "server" : {
33581 "description" : "Server IP or DNS name.",
33582 "format" : "pve-storage-server",
7aacca6f 33583 "optional" : 1,
013dc89f
DM
33584 "type" : "string",
33585 "typetext" : "<string>"
7aacca6f 33586 },
44660702
DM
33587 "server2" : {
33588 "description" : "Backup volfile server IP or DNS name.",
33589 "format" : "pve-storage-server",
7aacca6f 33590 "optional" : 1,
44660702 33591 "requires" : "server",
013dc89f
DM
33592 "type" : "string",
33593 "typetext" : "<string>"
44660702
DM
33594 },
33595 "shared" : {
33596 "description" : "Mark storage as shared.",
33597 "optional" : 1,
013dc89f
DM
33598 "type" : "boolean",
33599 "typetext" : "<boolean>"
44660702 33600 },
27a7acb2 33601 "smbversion" : {
5da3d723
TL
33602 "description" : "SMB protocol version",
33603 "enum" : [
33604 "2.0",
33605 "2.1",
33606 "3.0"
33607 ],
27a7acb2 33608 "optional" : 1,
5da3d723 33609 "type" : "string"
27a7acb2 33610 },
44660702
DM
33611 "sparse" : {
33612 "description" : "use sparse volumes",
33613 "optional" : 1,
013dc89f
DM
33614 "type" : "boolean",
33615 "typetext" : "<boolean>"
44660702
DM
33616 },
33617 "storage" : {
33618 "description" : "The storage identifier.",
33619 "format" : "pve-storage-id",
013dc89f
DM
33620 "type" : "string",
33621 "typetext" : "<string>"
44660702 33622 },
5da3d723
TL
33623 "subdir" : {
33624 "description" : "Subdir to mount.",
33625 "format" : "pve-storage-path",
33626 "optional" : 1,
33627 "type" : "string",
33628 "typetext" : "<string>"
33629 },
4bd7df8b
DM
33630 "tagged_only" : {
33631 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
33632 "optional" : 1,
013dc89f
DM
33633 "type" : "boolean",
33634 "typetext" : "<boolean>"
4bd7df8b 33635 },
44660702
DM
33636 "transport" : {
33637 "description" : "Gluster transport: tcp or rdma",
33638 "enum" : [
33639 "tcp",
33640 "rdma",
33641 "unix"
33642 ],
33643 "optional" : 1,
33644 "type" : "string"
7aacca6f
DM
33645 },
33646 "username" : {
33647 "description" : "RBD Id.",
44660702 33648 "optional" : 1,
013dc89f
DM
33649 "type" : "string",
33650 "typetext" : "<string>"
7aacca6f 33651 }
44660702
DM
33652 },
33653 "type" : "object"
33654 },
33655 "permissions" : {
33656 "check" : [
33657 "perm",
33658 "/storage",
33659 [
33660 "Datastore.Allocate"
33661 ]
33662 ]
33663 },
33664 "protected" : 1,
33665 "returns" : {
33666 "type" : "null"
33667 }
33668 }
33669 },
33670 "leaf" : 1,
33671 "path" : "/storage/{storage}",
33672 "text" : "{storage}"
33673 }
33674 ],
33675 "info" : {
33676 "GET" : {
33677 "description" : "Storage index.",
33678 "method" : "GET",
33679 "name" : "index",
33680 "parameters" : {
33681 "additionalProperties" : 0,
33682 "properties" : {
33683 "type" : {
33684 "description" : "Only list storage of specific type",
33685 "enum" : [
5da3d723 33686 "cephfs",
27a7acb2 33687 "cifs",
44660702
DM
33688 "dir",
33689 "drbd",
e2d681b3 33690 "fake",
44660702
DM
33691 "glusterfs",
33692 "iscsi",
33693 "iscsidirect",
33694 "lvm",
33695 "lvmthin",
33696 "nfs",
33697 "rbd",
33698 "sheepdog",
33699 "zfs",
33700 "zfspool"
33701 ],
33702 "optional" : 1,
33703 "type" : "string"
33704 }
33705 }
33706 },
33707 "permissions" : {
33708 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
33709 "user" : "all"
33710 },
33711 "returns" : {
33712 "items" : {
33713 "properties" : {
33714 "storage" : {
33715 "type" : "string"
7aacca6f 33716 }
56122987 33717 },
44660702
DM
33718 "type" : "object"
33719 },
33720 "links" : [
33721 {
33722 "href" : "{storage}",
33723 "rel" : "child"
33724 }
33725 ],
33726 "type" : "array"
33727 }
33728 },
33729 "POST" : {
33730 "description" : "Create a new storage.",
33731 "method" : "POST",
33732 "name" : "create",
33733 "parameters" : {
33734 "additionalProperties" : 0,
33735 "properties" : {
33736 "authsupported" : {
33737 "description" : "Authsupported.",
33738 "optional" : 1,
013dc89f
DM
33739 "type" : "string",
33740 "typetext" : "<string>"
44660702
DM
33741 },
33742 "base" : {
33743 "description" : "Base volume. This volume is automatically activated.",
33744 "format" : "pve-volume-id",
33745 "optional" : 1,
013dc89f
DM
33746 "type" : "string",
33747 "typetext" : "<string>"
44660702
DM
33748 },
33749 "blocksize" : {
33750 "description" : "block size",
33751 "optional" : 1,
013dc89f
DM
33752 "type" : "string",
33753 "typetext" : "<string>"
44660702 33754 },
27a7acb2
DM
33755 "bwlimit" : {
33756 "description" : "Set bandwidth/io limits various operations.",
33757 "format" : {
33758 "clone" : {
33759 "description" : "bandwidth limit in MiB/s for cloning disks",
33760 "format_description" : "LIMIT",
33761 "minimum" : "0",
33762 "optional" : 1,
33763 "type" : "number"
33764 },
33765 "default" : {
33766 "description" : "default bandwidth limit in MiB/s",
33767 "format_description" : "LIMIT",
33768 "minimum" : "0",
33769 "optional" : 1,
33770 "type" : "number"
33771 },
33772 "migration" : {
33773 "description" : "bandwidth limit in MiB/s for migrating guests",
33774 "format_description" : "LIMIT",
33775 "minimum" : "0",
33776 "optional" : 1,
33777 "type" : "number"
33778 },
33779 "move" : {
33780 "description" : "bandwidth limit in MiB/s for moving disks",
33781 "format_description" : "LIMIT",
33782 "minimum" : "0",
33783 "optional" : 1,
33784 "type" : "number"
33785 },
33786 "restore" : {
33787 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
33788 "format_description" : "LIMIT",
33789 "minimum" : "0",
33790 "optional" : 1,
33791 "type" : "number"
33792 }
33793 },
33794 "optional" : 1,
33795 "type" : "string",
33796 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
33797 },
44660702
DM
33798 "comstar_hg" : {
33799 "description" : "host group for comstar views",
33800 "optional" : 1,
013dc89f
DM
33801 "type" : "string",
33802 "typetext" : "<string>"
44660702
DM
33803 },
33804 "comstar_tg" : {
33805 "description" : "target group for comstar views",
33806 "optional" : 1,
013dc89f
DM
33807 "type" : "string",
33808 "typetext" : "<string>"
44660702
DM
33809 },
33810 "content" : {
33811 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
33812 "format" : "pve-storage-content-list",
33813 "optional" : 1,
013dc89f
DM
33814 "type" : "string",
33815 "typetext" : "<string>"
44660702
DM
33816 },
33817 "disable" : {
33818 "description" : "Flag to disable the storage.",
33819 "optional" : 1,
013dc89f
DM
33820 "type" : "boolean",
33821 "typetext" : "<boolean>"
44660702 33822 },
27a7acb2
DM
33823 "domain" : {
33824 "description" : "CIFS domain.",
33825 "maxLength" : 256,
33826 "optional" : 1,
33827 "type" : "string",
33828 "typetext" : "<string>"
33829 },
44660702
DM
33830 "export" : {
33831 "description" : "NFS export path.",
33832 "format" : "pve-storage-path",
33833 "optional" : 1,
013dc89f
DM
33834 "type" : "string",
33835 "typetext" : "<string>"
44660702
DM
33836 },
33837 "format" : {
33838 "description" : "Default image format.",
33839 "format" : "pve-storage-format",
33840 "optional" : 1,
013dc89f
DM
33841 "type" : "string",
33842 "typetext" : "<string>"
44660702 33843 },
5da3d723
TL
33844 "fuse" : {
33845 "description" : "Mount CephFS through FUSE.",
33846 "optional" : 1,
33847 "type" : "boolean",
33848 "typetext" : "<boolean>"
33849 },
2c0dde61
DM
33850 "is_mountpoint" : {
33851 "default" : "no",
2489d6df 33852 "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 33853 "optional" : 1,
2489d6df
WB
33854 "type" : "string",
33855 "typetext" : "<string>"
2c0dde61 33856 },
44660702
DM
33857 "iscsiprovider" : {
33858 "description" : "iscsi provider",
33859 "optional" : 1,
013dc89f
DM
33860 "type" : "string",
33861 "typetext" : "<string>"
44660702
DM
33862 },
33863 "krbd" : {
e2d681b3 33864 "description" : "Always access rbd through krbd kernel module.",
44660702 33865 "optional" : 1,
013dc89f
DM
33866 "type" : "boolean",
33867 "typetext" : "<boolean>"
56122987 33868 },
4d47f125
TL
33869 "lio_tpg" : {
33870 "description" : "target portal group for Linux LIO targets",
33871 "optional" : 1,
33872 "type" : "string",
33873 "typetext" : "<string>"
33874 },
44660702
DM
33875 "maxfiles" : {
33876 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
33877 "minimum" : 0,
33878 "optional" : 1,
4bd7df8b 33879 "type" : "integer",
013dc89f 33880 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
33881 },
33882 "mkdir" : {
33883 "default" : "yes",
33884 "description" : "Create the directory if it doesn't exist.",
33885 "optional" : 1,
013dc89f
DM
33886 "type" : "boolean",
33887 "typetext" : "<boolean>"
7aacca6f 33888 },
44660702 33889 "monhost" : {
2489d6df 33890 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 33891 "format" : "pve-storage-portal-dns-list",
44660702 33892 "optional" : 1,
013dc89f
DM
33893 "type" : "string",
33894 "typetext" : "<string>"
7aacca6f 33895 },
44660702
DM
33896 "nodes" : {
33897 "description" : "List of cluster node names.",
33898 "format" : "pve-node-list",
33899 "optional" : 1,
013dc89f
DM
33900 "type" : "string",
33901 "typetext" : "<string>"
7aacca6f 33902 },
44660702
DM
33903 "nowritecache" : {
33904 "description" : "disable write caching on the target",
33905 "optional" : 1,
013dc89f
DM
33906 "type" : "boolean",
33907 "typetext" : "<boolean>"
44660702
DM
33908 },
33909 "options" : {
33910 "description" : "NFS mount options (see 'man nfs')",
33911 "format" : "pve-storage-options",
33912 "optional" : 1,
013dc89f
DM
33913 "type" : "string",
33914 "typetext" : "<string>"
44660702 33915 },
27a7acb2
DM
33916 "password" : {
33917 "description" : "Password for CIFS share.",
33918 "maxLength" : 256,
33919 "optional" : 1,
33920 "type" : "string",
33921 "typetext" : "<string>"
33922 },
44660702
DM
33923 "path" : {
33924 "description" : "File system path.",
33925 "format" : "pve-storage-path",
33926 "optional" : 1,
013dc89f
DM
33927 "type" : "string",
33928 "typetext" : "<string>"
44660702
DM
33929 },
33930 "pool" : {
33931 "description" : "Pool.",
33932 "optional" : 1,
013dc89f
DM
33933 "type" : "string",
33934 "typetext" : "<string>"
44660702
DM
33935 },
33936 "portal" : {
33937 "description" : "iSCSI portal (IP or DNS name with optional port).",
33938 "format" : "pve-storage-portal-dns",
33939 "optional" : 1,
013dc89f
DM
33940 "type" : "string",
33941 "typetext" : "<string>"
44660702
DM
33942 },
33943 "redundancy" : {
33944 "default" : 2,
33945 "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.",
33946 "maximum" : 16,
33947 "minimum" : 1,
33948 "optional" : 1,
4bd7df8b 33949 "type" : "integer",
013dc89f 33950 "typetext" : "<integer> (1 - 16)"
44660702
DM
33951 },
33952 "saferemove" : {
33953 "description" : "Zero-out data when removing LVs.",
33954 "optional" : 1,
013dc89f
DM
33955 "type" : "boolean",
33956 "typetext" : "<boolean>"
44660702
DM
33957 },
33958 "saferemove_throughput" : {
33959 "description" : "Wipe throughput (cstream -t parameter value).",
33960 "optional" : 1,
013dc89f
DM
33961 "type" : "string",
33962 "typetext" : "<string>"
44660702
DM
33963 },
33964 "server" : {
33965 "description" : "Server IP or DNS name.",
33966 "format" : "pve-storage-server",
33967 "optional" : 1,
013dc89f
DM
33968 "type" : "string",
33969 "typetext" : "<string>"
44660702
DM
33970 },
33971 "server2" : {
33972 "description" : "Backup volfile server IP or DNS name.",
33973 "format" : "pve-storage-server",
33974 "optional" : 1,
33975 "requires" : "server",
013dc89f
DM
33976 "type" : "string",
33977 "typetext" : "<string>"
44660702 33978 },
27a7acb2
DM
33979 "share" : {
33980 "description" : "CIFS share.",
33981 "optional" : 1,
33982 "type" : "string",
33983 "typetext" : "<string>"
33984 },
44660702
DM
33985 "shared" : {
33986 "description" : "Mark storage as shared.",
33987 "optional" : 1,
013dc89f
DM
33988 "type" : "boolean",
33989 "typetext" : "<boolean>"
44660702 33990 },
27a7acb2 33991 "smbversion" : {
5da3d723
TL
33992 "description" : "SMB protocol version",
33993 "enum" : [
33994 "2.0",
33995 "2.1",
33996 "3.0"
33997 ],
27a7acb2 33998 "optional" : 1,
5da3d723 33999 "type" : "string"
27a7acb2 34000 },
44660702
DM
34001 "sparse" : {
34002 "description" : "use sparse volumes",
34003 "optional" : 1,
013dc89f
DM
34004 "type" : "boolean",
34005 "typetext" : "<boolean>"
44660702
DM
34006 },
34007 "storage" : {
34008 "description" : "The storage identifier.",
34009 "format" : "pve-storage-id",
013dc89f
DM
34010 "type" : "string",
34011 "typetext" : "<string>"
44660702 34012 },
5da3d723
TL
34013 "subdir" : {
34014 "description" : "Subdir to mount.",
34015 "format" : "pve-storage-path",
34016 "optional" : 1,
34017 "type" : "string",
34018 "typetext" : "<string>"
34019 },
4bd7df8b
DM
34020 "tagged_only" : {
34021 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
34022 "optional" : 1,
013dc89f
DM
34023 "type" : "boolean",
34024 "typetext" : "<boolean>"
4bd7df8b 34025 },
44660702
DM
34026 "target" : {
34027 "description" : "iSCSI target.",
34028 "optional" : 1,
013dc89f
DM
34029 "type" : "string",
34030 "typetext" : "<string>"
44660702
DM
34031 },
34032 "thinpool" : {
34033 "description" : "LVM thin pool LV name.",
34034 "format" : "pve-storage-vgname",
34035 "optional" : 1,
013dc89f
DM
34036 "type" : "string",
34037 "typetext" : "<string>"
44660702
DM
34038 },
34039 "transport" : {
34040 "description" : "Gluster transport: tcp or rdma",
34041 "enum" : [
34042 "tcp",
34043 "rdma",
34044 "unix"
7aacca6f 34045 ],
44660702
DM
34046 "optional" : 1,
34047 "type" : "string"
56122987 34048 },
44660702
DM
34049 "type" : {
34050 "description" : "Storage type.",
34051 "enum" : [
5da3d723 34052 "cephfs",
27a7acb2 34053 "cifs",
44660702
DM
34054 "dir",
34055 "drbd",
e2d681b3 34056 "fake",
44660702
DM
34057 "glusterfs",
34058 "iscsi",
34059 "iscsidirect",
34060 "lvm",
34061 "lvmthin",
34062 "nfs",
34063 "rbd",
34064 "sheepdog",
34065 "zfs",
34066 "zfspool"
34067 ],
34068 "type" : "string"
56122987 34069 },
44660702
DM
34070 "username" : {
34071 "description" : "RBD Id.",
34072 "optional" : 1,
013dc89f
DM
34073 "type" : "string",
34074 "typetext" : "<string>"
7aacca6f 34075 },
44660702
DM
34076 "vgname" : {
34077 "description" : "Volume group name.",
34078 "format" : "pve-storage-vgname",
34079 "optional" : 1,
013dc89f
DM
34080 "type" : "string",
34081 "typetext" : "<string>"
44660702
DM
34082 },
34083 "volume" : {
34084 "description" : "Glusterfs Volume.",
34085 "optional" : 1,
013dc89f
DM
34086 "type" : "string",
34087 "typetext" : "<string>"
44660702
DM
34088 }
34089 },
34090 "type" : "object"
34091 },
34092 "permissions" : {
34093 "check" : [
34094 "perm",
34095 "/storage",
34096 [
34097 "Datastore.Allocate"
34098 ]
34099 ]
56122987 34100 },
44660702
DM
34101 "protected" : 1,
34102 "returns" : {
34103 "type" : "null"
34104 }
34105 }
34106 },
34107 "leaf" : 0,
34108 "path" : "/storage",
34109 "text" : "storage"
34110 },
34111 {
34112 "children" : [
34113 {
56122987
DM
34114 "children" : [
34115 {
56122987 34116 "info" : {
44660702
DM
34117 "DELETE" : {
34118 "description" : "Delete user.",
34119 "method" : "DELETE",
34120 "name" : "delete_user",
56122987 34121 "parameters" : {
7aacca6f 34122 "additionalProperties" : 0,
56122987 34123 "properties" : {
56122987 34124 "userid" : {
56122987
DM
34125 "description" : "User ID",
34126 "format" : "pve-userid",
44660702 34127 "maxLength" : 64,
013dc89f
DM
34128 "type" : "string",
34129 "typetext" : "<string>"
56122987 34130 }
7aacca6f 34131 }
56122987 34132 },
56122987
DM
34133 "permissions" : {
34134 "check" : [
44660702 34135 "and",
56122987 34136 [
44660702
DM
34137 "userid-param",
34138 "Realm.AllocateUser"
56122987 34139 ],
44660702
DM
34140 [
34141 "userid-group",
34142 [
34143 "User.Modify"
34144 ]
34145 ]
56122987 34146 ]
7aacca6f 34147 },
44660702 34148 "protected" : 1,
56122987
DM
34149 "returns" : {
34150 "type" : "null"
44660702 34151 }
7aacca6f 34152 },
44660702
DM
34153 "GET" : {
34154 "description" : "Get user configuration.",
34155 "method" : "GET",
34156 "name" : "read_user",
56122987
DM
34157 "parameters" : {
34158 "additionalProperties" : 0,
34159 "properties" : {
34160 "userid" : {
44660702 34161 "description" : "User ID",
56122987 34162 "format" : "pve-userid",
44660702 34163 "maxLength" : 64,
013dc89f
DM
34164 "type" : "string",
34165 "typetext" : "<string>"
56122987
DM
34166 }
34167 }
34168 },
56122987
DM
34169 "permissions" : {
34170 "check" : [
44660702 34171 "userid-group",
56122987 34172 [
44660702
DM
34173 "User.Modify",
34174 "Sys.Audit"
56122987
DM
34175 ]
34176 ]
34177 },
56122987 34178 "returns" : {
7aacca6f 34179 "additionalProperties" : 0,
56122987 34180 "properties" : {
44660702
DM
34181 "comment" : {
34182 "optional" : 1,
34183 "type" : "string"
56122987 34184 },
44660702 34185 "email" : {
e2d681b3 34186 "format" : "email-opt",
44660702
DM
34187 "optional" : 1,
34188 "type" : "string"
7aacca6f
DM
34189 },
34190 "enable" : {
e2d681b3
TL
34191 "default" : 1,
34192 "description" : "Enable the account (default). You can set this to '0' to disable the account",
34193 "optional" : 1,
7aacca6f
DM
34194 "type" : "boolean"
34195 },
44660702 34196 "expire" : {
e2d681b3
TL
34197 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
34198 "minimum" : 0,
44660702
DM
34199 "optional" : 1,
34200 "type" : "integer"
34201 },
34202 "firstname" : {
56122987
DM
34203 "optional" : 1,
34204 "type" : "string"
34205 },
44660702
DM
34206 "groups" : {
34207 "type" : "array"
56122987 34208 },
44660702 34209 "keys" : {
e2d681b3 34210 "description" : "Keys for two factor auth (yubico).",
44660702
DM
34211 "optional" : 1,
34212 "type" : "string"
7aacca6f 34213 },
44660702
DM
34214 "lastname" : {
34215 "optional" : 1,
34216 "type" : "string"
56122987 34217 }
e2d681b3
TL
34218 },
34219 "type" : "object"
44660702
DM
34220 }
34221 },
34222 "PUT" : {
34223 "description" : "Update user configuration.",
34224 "method" : "PUT",
34225 "name" : "update_user",
56122987 34226 "parameters" : {
44660702 34227 "additionalProperties" : 0,
56122987 34228 "properties" : {
44660702
DM
34229 "append" : {
34230 "optional" : 1,
34231 "requires" : "groups",
013dc89f
DM
34232 "type" : "boolean",
34233 "typetext" : "<boolean>"
44660702
DM
34234 },
34235 "comment" : {
34236 "optional" : 1,
013dc89f
DM
34237 "type" : "string",
34238 "typetext" : "<string>"
44660702
DM
34239 },
34240 "email" : {
34241 "format" : "email-opt",
34242 "optional" : 1,
013dc89f
DM
34243 "type" : "string",
34244 "typetext" : "<string>"
44660702
DM
34245 },
34246 "enable" : {
e2d681b3
TL
34247 "default" : 1,
34248 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 34249 "optional" : 1,
013dc89f
DM
34250 "type" : "boolean",
34251 "typetext" : "<boolean>"
44660702
DM
34252 },
34253 "expire" : {
34254 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
34255 "minimum" : 0,
34256 "optional" : 1,
4bd7df8b 34257 "type" : "integer",
013dc89f 34258 "typetext" : "<integer> (0 - N)"
44660702
DM
34259 },
34260 "firstname" : {
34261 "optional" : 1,
013dc89f
DM
34262 "type" : "string",
34263 "typetext" : "<string>"
44660702
DM
34264 },
34265 "groups" : {
34266 "format" : "pve-groupid-list",
34267 "optional" : 1,
013dc89f
DM
34268 "type" : "string",
34269 "typetext" : "<string>"
44660702
DM
34270 },
34271 "keys" : {
34272 "description" : "Keys for two factor auth (yubico).",
34273 "optional" : 1,
013dc89f
DM
34274 "type" : "string",
34275 "typetext" : "<string>"
44660702
DM
34276 },
34277 "lastname" : {
34278 "optional" : 1,
013dc89f
DM
34279 "type" : "string",
34280 "typetext" : "<string>"
44660702 34281 },
56122987 34282 "userid" : {
56122987
DM
34283 "description" : "User ID",
34284 "format" : "pve-userid",
44660702 34285 "maxLength" : 64,
013dc89f
DM
34286 "type" : "string",
34287 "typetext" : "<string>"
56122987 34288 }
44660702 34289 }
56122987 34290 },
56122987
DM
34291 "permissions" : {
34292 "check" : [
34293 "userid-group",
34294 [
44660702
DM
34295 "User.Modify"
34296 ],
34297 "groups_param",
34298 1
56122987
DM
34299 ]
34300 },
44660702
DM
34301 "protected" : 1,
34302 "returns" : {
34303 "type" : "null"
34304 }
56122987
DM
34305 }
34306 },
44660702
DM
34307 "leaf" : 1,
34308 "path" : "/access/users/{userid}",
7aacca6f 34309 "text" : "{userid}"
56122987 34310 }
7aacca6f 34311 ],
56122987 34312 "info" : {
7aacca6f 34313 "GET" : {
44660702
DM
34314 "description" : "User index.",
34315 "method" : "GET",
7aacca6f 34316 "name" : "index",
56122987 34317 "parameters" : {
44660702
DM
34318 "additionalProperties" : 0,
34319 "properties" : {
34320 "enabled" : {
34321 "description" : "Optional filter for enable property.",
34322 "optional" : 1,
013dc89f
DM
34323 "type" : "boolean",
34324 "typetext" : "<boolean>"
44660702
DM
34325 }
34326 }
34327 },
34328 "permissions" : {
34329 "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.",
34330 "user" : "all"
56122987 34331 },
7aacca6f 34332 "returns" : {
7aacca6f
DM
34333 "items" : {
34334 "properties" : {
e2d681b3
TL
34335 "comment" : {
34336 "optional" : 1,
34337 "type" : "string"
34338 },
34339 "email" : {
34340 "format" : "email-opt",
34341 "optional" : 1,
34342 "type" : "string"
34343 },
34344 "enable" : {
34345 "default" : 1,
34346 "description" : "Enable the account (default). You can set this to '0' to disable the account",
34347 "optional" : 1,
34348 "type" : "boolean"
34349 },
34350 "expire" : {
34351 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
34352 "minimum" : 0,
34353 "optional" : 1,
34354 "type" : "integer"
34355 },
34356 "firstname" : {
34357 "optional" : 1,
34358 "type" : "string"
34359 },
34360 "keys" : {
34361 "description" : "Keys for two factor auth (yubico).",
34362 "optional" : 1,
34363 "type" : "string"
34364 },
34365 "lastname" : {
34366 "optional" : 1,
34367 "type" : "string"
34368 },
44660702 34369 "userid" : {
e2d681b3
TL
34370 "description" : "User ID",
34371 "format" : "pve-userid",
34372 "maxLength" : 64,
7aacca6f
DM
34373 "type" : "string"
34374 }
34375 },
34376 "type" : "object"
34377 },
44660702
DM
34378 "links" : [
34379 {
34380 "href" : "{userid}",
34381 "rel" : "child"
34382 }
34383 ],
7aacca6f
DM
34384 "type" : "array"
34385 }
34386 },
34387 "POST" : {
44660702 34388 "description" : "Create new user.",
7aacca6f 34389 "method" : "POST",
44660702 34390 "name" : "create_user",
56122987 34391 "parameters" : {
7aacca6f
DM
34392 "additionalProperties" : 0,
34393 "properties" : {
44660702
DM
34394 "comment" : {
34395 "optional" : 1,
013dc89f
DM
34396 "type" : "string",
34397 "typetext" : "<string>"
7aacca6f 34398 },
44660702
DM
34399 "email" : {
34400 "format" : "email-opt",
34401 "optional" : 1,
013dc89f
DM
34402 "type" : "string",
34403 "typetext" : "<string>"
44660702
DM
34404 },
34405 "enable" : {
34406 "default" : 1,
e2d681b3 34407 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 34408 "optional" : 1,
013dc89f
DM
34409 "type" : "boolean",
34410 "typetext" : "<boolean>"
44660702
DM
34411 },
34412 "expire" : {
34413 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
34414 "minimum" : 0,
34415 "optional" : 1,
4bd7df8b 34416 "type" : "integer",
013dc89f 34417 "typetext" : "<integer> (0 - N)"
44660702
DM
34418 },
34419 "firstname" : {
34420 "optional" : 1,
013dc89f
DM
34421 "type" : "string",
34422 "typetext" : "<string>"
44660702
DM
34423 },
34424 "groups" : {
34425 "format" : "pve-groupid-list",
34426 "optional" : 1,
013dc89f
DM
34427 "type" : "string",
34428 "typetext" : "<string>"
44660702
DM
34429 },
34430 "keys" : {
34431 "description" : "Keys for two factor auth (yubico).",
34432 "optional" : 1,
013dc89f
DM
34433 "type" : "string",
34434 "typetext" : "<string>"
44660702
DM
34435 },
34436 "lastname" : {
7aacca6f 34437 "optional" : 1,
013dc89f
DM
34438 "type" : "string",
34439 "typetext" : "<string>"
44660702
DM
34440 },
34441 "password" : {
34442 "description" : "Initial password.",
34443 "maxLength" : 64,
34444 "minLength" : 5,
34445 "optional" : 1,
013dc89f
DM
34446 "type" : "string",
34447 "typetext" : "<string>"
44660702
DM
34448 },
34449 "userid" : {
34450 "description" : "User ID",
34451 "format" : "pve-userid",
34452 "maxLength" : 64,
013dc89f
DM
34453 "type" : "string",
34454 "typetext" : "<string>"
56122987 34455 }
7aacca6f 34456 }
56122987 34457 },
44660702
DM
34458 "permissions" : {
34459 "check" : [
34460 "and",
34461 [
34462 "userid-param",
34463 "Realm.AllocateUser"
34464 ],
34465 [
34466 "userid-group",
34467 [
34468 "User.Modify"
34469 ],
34470 "groups_param",
34471 1
34472 ]
34473 ],
34474 "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."
34475 },
34476 "protected" : 1,
34477 "returns" : {
34478 "type" : "null"
34479 }
56122987
DM
34480 }
34481 },
44660702
DM
34482 "leaf" : 0,
34483 "path" : "/access/users",
34484 "text" : "users"
34485 },
34486 {
56122987
DM
34487 "children" : [
34488 {
56122987
DM
34489 "info" : {
34490 "DELETE" : {
44660702
DM
34491 "description" : "Delete group.",
34492 "method" : "DELETE",
34493 "name" : "delete_group",
34494 "parameters" : {
34495 "additionalProperties" : 0,
34496 "properties" : {
34497 "groupid" : {
34498 "format" : "pve-groupid",
013dc89f
DM
34499 "type" : "string",
34500 "typetext" : "<string>"
44660702
DM
34501 }
34502 }
34503 },
7aacca6f
DM
34504 "permissions" : {
34505 "check" : [
34506 "perm",
34507 "/access/groups",
34508 [
34509 "Group.Allocate"
34510 ]
34511 ]
34512 },
7aacca6f 34513 "protected" : 1,
7aacca6f
DM
34514 "returns" : {
34515 "type" : "null"
44660702 34516 }
7aacca6f 34517 },
44660702
DM
34518 "GET" : {
34519 "description" : "Get group configuration.",
34520 "method" : "GET",
34521 "name" : "read_group",
34522 "parameters" : {
34523 "additionalProperties" : 0,
34524 "properties" : {
34525 "groupid" : {
34526 "format" : "pve-groupid",
013dc89f
DM
34527 "type" : "string",
34528 "typetext" : "<string>"
44660702
DM
34529 }
34530 }
56122987 34531 },
7aacca6f
DM
34532 "permissions" : {
34533 "check" : [
34534 "perm",
34535 "/access/groups",
34536 [
44660702 34537 "Sys.Audit",
7aacca6f 34538 "Group.Allocate"
44660702
DM
34539 ],
34540 "any",
34541 1
7aacca6f
DM
34542 ]
34543 },
7aacca6f 34544 "returns" : {
44660702 34545 "additionalProperties" : 0,
7aacca6f
DM
34546 "properties" : {
34547 "comment" : {
44660702
DM
34548 "optional" : 1,
34549 "type" : "string"
7aacca6f
DM
34550 },
34551 "members" : {
34552 "items" : {
e2d681b3
TL
34553 "description" : "User ID",
34554 "format" : "pve-userid",
34555 "maxLength" : 64,
7aacca6f
DM
34556 "type" : "string"
34557 },
34558 "type" : "array"
34559 }
34560 },
44660702
DM
34561 "type" : "object"
34562 }
34563 },
34564 "PUT" : {
34565 "description" : "Update group data.",
34566 "method" : "PUT",
34567 "name" : "update_group",
56122987 34568 "parameters" : {
44660702 34569 "additionalProperties" : 0,
56122987 34570 "properties" : {
44660702
DM
34571 "comment" : {
34572 "optional" : 1,
013dc89f
DM
34573 "type" : "string",
34574 "typetext" : "<string>"
44660702 34575 },
56122987
DM
34576 "groupid" : {
34577 "format" : "pve-groupid",
013dc89f
DM
34578 "type" : "string",
34579 "typetext" : "<string>"
56122987 34580 }
44660702 34581 }
56122987 34582 },
56122987
DM
34583 "permissions" : {
34584 "check" : [
34585 "perm",
34586 "/access/groups",
34587 [
34588 "Group.Allocate"
44660702 34589 ]
56122987
DM
34590 ]
34591 },
44660702
DM
34592 "protected" : 1,
34593 "returns" : {
34594 "type" : "null"
34595 }
7aacca6f
DM
34596 }
34597 },
7aacca6f 34598 "leaf" : 1,
44660702
DM
34599 "path" : "/access/groups/{groupid}",
34600 "text" : "{groupid}"
34601 }
34602 ],
34603 "info" : {
34604 "GET" : {
34605 "description" : "Group index.",
34606 "method" : "GET",
34607 "name" : "index",
34608 "parameters" : {
34609 "additionalProperties" : 0
34610 },
34611 "permissions" : {
34612 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
34613 "user" : "all"
34614 },
34615 "returns" : {
34616 "items" : {
34617 "properties" : {
e2d681b3
TL
34618 "comment" : {
34619 "optional" : 1,
34620 "type" : "string"
34621 },
44660702 34622 "groupid" : {
e2d681b3 34623 "format" : "pve-groupid",
44660702
DM
34624 "type" : "string"
34625 }
34626 },
34627 "type" : "object"
34628 },
34629 "links" : [
34630 {
34631 "href" : "{groupid}",
34632 "rel" : "child"
34633 }
34634 ],
34635 "type" : "array"
34636 }
34637 },
34638 "POST" : {
34639 "description" : "Create new group.",
34640 "method" : "POST",
34641 "name" : "create_group",
34642 "parameters" : {
34643 "additionalProperties" : 0,
34644 "properties" : {
34645 "comment" : {
34646 "optional" : 1,
013dc89f
DM
34647 "type" : "string",
34648 "typetext" : "<string>"
44660702
DM
34649 },
34650 "groupid" : {
34651 "format" : "pve-groupid",
013dc89f
DM
34652 "type" : "string",
34653 "typetext" : "<string>"
44660702
DM
34654 }
34655 }
34656 },
34657 "permissions" : {
34658 "check" : [
34659 "perm",
34660 "/access/groups",
34661 [
34662 "Group.Allocate"
34663 ]
34664 ]
34665 },
34666 "protected" : 1,
34667 "returns" : {
34668 "type" : "null"
34669 }
7aacca6f 34670 }
44660702 34671 },
7aacca6f 34672 "leaf" : 0,
44660702
DM
34673 "path" : "/access/groups",
34674 "text" : "groups"
7aacca6f
DM
34675 },
34676 {
34677 "children" : [
34678 {
7aacca6f 34679 "info" : {
7aacca6f 34680 "DELETE" : {
7aacca6f 34681 "description" : "Delete role.",
44660702 34682 "method" : "DELETE",
7aacca6f 34683 "name" : "delete_role",
56122987
DM
34684 "parameters" : {
34685 "additionalProperties" : 0,
34686 "properties" : {
7aacca6f
DM
34687 "roleid" : {
34688 "format" : "pve-roleid",
013dc89f
DM
34689 "type" : "string",
34690 "typetext" : "<string>"
56122987
DM
34691 }
34692 }
34693 },
56122987
DM
34694 "permissions" : {
34695 "check" : [
34696 "perm",
7aacca6f 34697 "/access",
56122987 34698 [
7aacca6f
DM
34699 "Sys.Modify"
34700 ]
56122987 34701 ]
44660702
DM
34702 },
34703 "protected" : 1,
34704 "returns" : {
34705 "type" : "null"
56122987
DM
34706 }
34707 },
44660702
DM
34708 "GET" : {
34709 "description" : "Get role configuration.",
34710 "method" : "GET",
34711 "name" : "read_role",
34712 "parameters" : {
34713 "additionalProperties" : 0,
34714 "properties" : {
34715 "roleid" : {
34716 "format" : "pve-roleid",
013dc89f
DM
34717 "type" : "string",
34718 "typetext" : "<string>"
44660702
DM
34719 }
34720 }
34721 },
7aacca6f 34722 "permissions" : {
44660702 34723 "user" : "all"
56122987 34724 },
e2d681b3
TL
34725 "returns" : {
34726 "additionalProperties" : 0,
34727 "properties" : {
34728 "Datastore.Allocate" : {
34729 "optional" : 1,
34730 "type" : "boolean"
34731 },
34732 "Datastore.AllocateSpace" : {
34733 "optional" : 1,
34734 "type" : "boolean"
34735 },
34736 "Datastore.AllocateTemplate" : {
34737 "optional" : 1,
34738 "type" : "boolean"
34739 },
34740 "Datastore.Audit" : {
34741 "optional" : 1,
34742 "type" : "boolean"
34743 },
34744 "Group.Allocate" : {
34745 "optional" : 1,
34746 "type" : "boolean"
34747 },
34748 "Permissions.Modify" : {
34749 "optional" : 1,
34750 "type" : "boolean"
34751 },
34752 "Pool.Allocate" : {
34753 "optional" : 1,
34754 "type" : "boolean"
34755 },
34756 "Realm.Allocate" : {
34757 "optional" : 1,
34758 "type" : "boolean"
34759 },
34760 "Realm.AllocateUser" : {
34761 "optional" : 1,
34762 "type" : "boolean"
34763 },
34764 "Sys.Audit" : {
34765 "optional" : 1,
34766 "type" : "boolean"
34767 },
34768 "Sys.Console" : {
34769 "optional" : 1,
34770 "type" : "boolean"
34771 },
34772 "Sys.Modify" : {
34773 "optional" : 1,
34774 "type" : "boolean"
34775 },
34776 "Sys.PowerMgmt" : {
34777 "optional" : 1,
34778 "type" : "boolean"
34779 },
34780 "Sys.Syslog" : {
34781 "optional" : 1,
34782 "type" : "boolean"
34783 },
34784 "User.Modify" : {
34785 "optional" : 1,
34786 "type" : "boolean"
34787 },
34788 "VM.Allocate" : {
34789 "optional" : 1,
34790 "type" : "boolean"
34791 },
34792 "VM.Audit" : {
34793 "optional" : 1,
34794 "type" : "boolean"
34795 },
34796 "VM.Backup" : {
34797 "optional" : 1,
34798 "type" : "boolean"
34799 },
34800 "VM.Clone" : {
34801 "optional" : 1,
34802 "type" : "boolean"
34803 },
34804 "VM.Config.CDROM" : {
34805 "optional" : 1,
34806 "type" : "boolean"
34807 },
34808 "VM.Config.CPU" : {
34809 "optional" : 1,
34810 "type" : "boolean"
34811 },
34812 "VM.Config.Disk" : {
34813 "optional" : 1,
34814 "type" : "boolean"
34815 },
34816 "VM.Config.HWType" : {
34817 "optional" : 1,
34818 "type" : "boolean"
34819 },
34820 "VM.Config.Memory" : {
34821 "optional" : 1,
34822 "type" : "boolean"
34823 },
34824 "VM.Config.Network" : {
34825 "optional" : 1,
34826 "type" : "boolean"
34827 },
34828 "VM.Config.Options" : {
34829 "optional" : 1,
34830 "type" : "boolean"
34831 },
34832 "VM.Console" : {
34833 "optional" : 1,
34834 "type" : "boolean"
34835 },
34836 "VM.Migrate" : {
34837 "optional" : 1,
34838 "type" : "boolean"
34839 },
34840 "VM.Monitor" : {
34841 "optional" : 1,
34842 "type" : "boolean"
34843 },
34844 "VM.PowerMgmt" : {
34845 "optional" : 1,
34846 "type" : "boolean"
34847 },
34848 "VM.Snapshot" : {
34849 "optional" : 1,
34850 "type" : "boolean"
34851 },
34852 "VM.Snapshot.Rollback" : {
34853 "optional" : 1,
34854 "type" : "boolean"
34855 }
34856 },
34857 "type" : "object"
34858 }
44660702
DM
34859 },
34860 "PUT" : {
e2d681b3 34861 "description" : "Update an existing role.",
44660702
DM
34862 "method" : "PUT",
34863 "name" : "update_role",
56122987
DM
34864 "parameters" : {
34865 "additionalProperties" : 0,
34866 "properties" : {
7aacca6f 34867 "append" : {
44660702 34868 "optional" : 1,
7aacca6f 34869 "requires" : "privs",
013dc89f
DM
34870 "type" : "boolean",
34871 "typetext" : "<boolean>"
7aacca6f
DM
34872 },
34873 "privs" : {
34874 "format" : "pve-priv-list",
e2d681b3 34875 "optional" : 1,
013dc89f
DM
34876 "type" : "string",
34877 "typetext" : "<string>"
44660702
DM
34878 },
34879 "roleid" : {
34880 "format" : "pve-roleid",
013dc89f
DM
34881 "type" : "string",
34882 "typetext" : "<string>"
56122987
DM
34883 }
34884 }
34885 },
44660702
DM
34886 "permissions" : {
34887 "check" : [
34888 "perm",
34889 "/access",
34890 [
34891 "Sys.Modify"
34892 ]
34893 ]
34894 },
56122987 34895 "protected" : 1,
7aacca6f
DM
34896 "returns" : {
34897 "type" : "null"
56122987
DM
34898 }
34899 }
34900 },
44660702 34901 "leaf" : 1,
7aacca6f 34902 "path" : "/access/roles/{roleid}",
44660702 34903 "text" : "{roleid}"
56122987
DM
34904 }
34905 ],
56122987 34906 "info" : {
7aacca6f
DM
34907 "GET" : {
34908 "description" : "Role index.",
44660702 34909 "method" : "GET",
7aacca6f 34910 "name" : "index",
56122987 34911 "parameters" : {
56122987
DM
34912 "additionalProperties" : 0
34913 },
7aacca6f
DM
34914 "permissions" : {
34915 "user" : "all"
34916 },
56122987 34917 "returns" : {
7aacca6f 34918 "items" : {
7aacca6f 34919 "properties" : {
e2d681b3
TL
34920 "privs" : {
34921 "format" : "pve-priv-list",
34922 "optional" : 1,
34923 "type" : "string"
34924 },
7aacca6f 34925 "roleid" : {
e2d681b3 34926 "format" : "pve-roleid",
7aacca6f 34927 "type" : "string"
e2d681b3
TL
34928 },
34929 "special" : {
34930 "default" : 0,
34931 "optional" : 1,
34932 "type" : "boolean"
7aacca6f 34933 }
44660702
DM
34934 },
34935 "type" : "object"
34936 },
34937 "links" : [
34938 {
34939 "href" : "{roleid}",
34940 "rel" : "child"
7aacca6f 34941 }
44660702
DM
34942 ],
34943 "type" : "array"
34944 }
7aacca6f
DM
34945 },
34946 "POST" : {
34947 "description" : "Create new role.",
44660702
DM
34948 "method" : "POST",
34949 "name" : "create_role",
7aacca6f
DM
34950 "parameters" : {
34951 "additionalProperties" : 0,
34952 "properties" : {
7aacca6f
DM
34953 "privs" : {
34954 "format" : "pve-priv-list",
34955 "optional" : 1,
013dc89f
DM
34956 "type" : "string",
34957 "typetext" : "<string>"
44660702
DM
34958 },
34959 "roleid" : {
34960 "format" : "pve-roleid",
013dc89f
DM
34961 "type" : "string",
34962 "typetext" : "<string>"
7aacca6f
DM
34963 }
34964 }
34965 },
44660702
DM
34966 "permissions" : {
34967 "check" : [
34968 "perm",
34969 "/access",
34970 [
34971 "Sys.Modify"
34972 ]
34973 ]
34974 },
34975 "protected" : 1,
7aacca6f
DM
34976 "returns" : {
34977 "type" : "null"
34978 }
34979 }
34980 },
44660702 34981 "leaf" : 0,
7aacca6f 34982 "path" : "/access/roles",
44660702 34983 "text" : "roles"
7aacca6f
DM
34984 },
34985 {
34986 "info" : {
56122987 34987 "GET" : {
44660702
DM
34988 "description" : "Get Access Control List (ACLs).",
34989 "method" : "GET",
34990 "name" : "read_acl",
7aacca6f
DM
34991 "parameters" : {
34992 "additionalProperties" : 0
34993 },
44660702
DM
34994 "permissions" : {
34995 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
34996 "user" : "all"
34997 },
56122987 34998 "returns" : {
56122987 34999 "items" : {
44660702 35000 "additionalProperties" : 0,
56122987 35001 "properties" : {
7aacca6f 35002 "path" : {
e2d681b3 35003 "description" : "Access control path",
7aacca6f
DM
35004 "type" : "string"
35005 },
44660702 35006 "propagate" : {
e2d681b3
TL
35007 "default" : 1,
35008 "description" : "Allow to propagate (inherit) permissions.",
35009 "optional" : 1,
44660702
DM
35010 "type" : "boolean"
35011 },
35012 "roleid" : {
35013 "type" : "string"
35014 },
7aacca6f
DM
35015 "type" : {
35016 "enum" : [
35017 "user",
35018 "group"
35019 ],
35020 "type" : "string"
35021 },
7aacca6f
DM
35022 "ugid" : {
35023 "type" : "string"
56122987 35024 }
7aacca6f 35025 },
44660702 35026 "type" : "object"
7aacca6f
DM
35027 },
35028 "type" : "array"
44660702 35029 }
7aacca6f
DM
35030 },
35031 "PUT" : {
44660702
DM
35032 "description" : "Update Access Control List (add or remove permissions).",
35033 "method" : "PUT",
7aacca6f
DM
35034 "name" : "update_acl",
35035 "parameters" : {
35036 "additionalProperties" : 0,
35037 "properties" : {
35038 "delete" : {
44660702 35039 "description" : "Remove permissions (instead of adding it).",
7aacca6f 35040 "optional" : 1,
013dc89f
DM
35041 "type" : "boolean",
35042 "typetext" : "<boolean>"
7aacca6f 35043 },
44660702
DM
35044 "groups" : {
35045 "description" : "List of groups.",
35046 "format" : "pve-groupid-list",
7aacca6f 35047 "optional" : 1,
013dc89f
DM
35048 "type" : "string",
35049 "typetext" : "<string>"
7aacca6f
DM
35050 },
35051 "path" : {
35052 "description" : "Access control path",
013dc89f
DM
35053 "type" : "string",
35054 "typetext" : "<string>"
7aacca6f 35055 },
7aacca6f 35056 "propagate" : {
44660702 35057 "default" : 1,
7aacca6f 35058 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 35059 "optional" : 1,
013dc89f
DM
35060 "type" : "boolean",
35061 "typetext" : "<boolean>"
7aacca6f 35062 },
44660702
DM
35063 "roles" : {
35064 "description" : "List of roles.",
35065 "format" : "pve-roleid-list",
013dc89f
DM
35066 "type" : "string",
35067 "typetext" : "<string>"
44660702
DM
35068 },
35069 "users" : {
35070 "description" : "List of users.",
35071 "format" : "pve-userid-list",
7aacca6f 35072 "optional" : 1,
013dc89f
DM
35073 "type" : "string",
35074 "typetext" : "<string>"
56122987
DM
35075 }
35076 }
35077 },
56122987 35078 "permissions" : {
7aacca6f
DM
35079 "check" : [
35080 "perm-modify",
35081 "{path}"
35082 ]
35083 },
7aacca6f
DM
35084 "protected" : 1,
35085 "returns" : {
35086 "type" : "null"
44660702 35087 }
56122987
DM
35088 }
35089 },
7aacca6f 35090 "leaf" : 1,
44660702
DM
35091 "path" : "/access/acl",
35092 "text" : "acl"
7aacca6f
DM
35093 },
35094 {
56122987
DM
35095 "children" : [
35096 {
56122987 35097 "info" : {
44660702
DM
35098 "DELETE" : {
35099 "description" : "Delete an authentication server.",
35100 "method" : "DELETE",
35101 "name" : "delete",
35102 "parameters" : {
35103 "additionalProperties" : 0,
35104 "properties" : {
35105 "realm" : {
35106 "description" : "Authentication domain ID",
35107 "format" : "pve-realm",
35108 "maxLength" : 32,
013dc89f
DM
35109 "type" : "string",
35110 "typetext" : "<string>"
56122987 35111 }
44660702 35112 }
56122987 35113 },
56122987
DM
35114 "permissions" : {
35115 "check" : [
35116 "perm",
7aacca6f 35117 "/access/realm",
56122987 35118 [
7aacca6f 35119 "Realm.Allocate"
56122987
DM
35120 ]
35121 ]
35122 },
7aacca6f 35123 "protected" : 1,
7aacca6f
DM
35124 "returns" : {
35125 "type" : "null"
44660702 35126 }
7aacca6f 35127 },
44660702
DM
35128 "GET" : {
35129 "description" : "Get auth server configuration.",
35130 "method" : "GET",
35131 "name" : "read",
56122987 35132 "parameters" : {
44660702 35133 "additionalProperties" : 0,
56122987 35134 "properties" : {
7aacca6f 35135 "realm" : {
44660702 35136 "description" : "Authentication domain ID",
7aacca6f
DM
35137 "format" : "pve-realm",
35138 "maxLength" : 32,
013dc89f
DM
35139 "type" : "string",
35140 "typetext" : "<string>"
56122987 35141 }
44660702 35142 }
7aacca6f 35143 },
7aacca6f
DM
35144 "permissions" : {
35145 "check" : [
35146 "perm",
35147 "/access/realm",
35148 [
44660702
DM
35149 "Realm.Allocate",
35150 "Sys.Audit"
35151 ],
35152 "any",
35153 1
7aacca6f 35154 ]
44660702
DM
35155 },
35156 "returns" : {}
7aacca6f 35157 },
44660702
DM
35158 "PUT" : {
35159 "description" : "Update authentication server settings.",
35160 "method" : "PUT",
35161 "name" : "update",
7aacca6f 35162 "parameters" : {
44660702 35163 "additionalProperties" : 0,
7aacca6f 35164 "properties" : {
44660702
DM
35165 "base_dn" : {
35166 "description" : "LDAP base domain name",
35167 "maxLength" : 256,
35168 "optional" : 1,
35169 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
35170 "type" : "string"
35171 },
4bd7df8b
DM
35172 "bind_dn" : {
35173 "description" : "LDAP bind domain name",
35174 "maxLength" : 256,
35175 "optional" : 1,
35176 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
35177 "type" : "string"
35178 },
2489d6df
WB
35179 "capath" : {
35180 "default" : "/etc/ssl/certs",
35181 "description" : "Path to the CA certificate store",
35182 "optional" : 1,
35183 "type" : "string",
35184 "typetext" : "<string>"
35185 },
35186 "cert" : {
35187 "description" : "Path to the client certificate",
35188 "optional" : 1,
35189 "type" : "string",
35190 "typetext" : "<string>"
35191 },
35192 "certkey" : {
35193 "description" : "Path to the client certificate key",
35194 "optional" : 1,
35195 "type" : "string",
35196 "typetext" : "<string>"
35197 },
44660702
DM
35198 "comment" : {
35199 "description" : "Description.",
35200 "maxLength" : 4096,
35201 "optional" : 1,
013dc89f
DM
35202 "type" : "string",
35203 "typetext" : "<string>"
44660702
DM
35204 },
35205 "default" : {
35206 "description" : "Use this as default realm",
35207 "optional" : 1,
013dc89f
DM
35208 "type" : "boolean",
35209 "typetext" : "<boolean>"
44660702
DM
35210 },
35211 "delete" : {
35212 "description" : "A list of settings you want to delete.",
35213 "format" : "pve-configid-list",
35214 "maxLength" : 4096,
35215 "optional" : 1,
013dc89f
DM
35216 "type" : "string",
35217 "typetext" : "<string>"
44660702
DM
35218 },
35219 "digest" : {
35220 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
35221 "maxLength" : 40,
35222 "optional" : 1,
013dc89f
DM
35223 "type" : "string",
35224 "typetext" : "<string>"
44660702
DM
35225 },
35226 "domain" : {
35227 "description" : "AD domain name",
35228 "maxLength" : 256,
35229 "optional" : 1,
35230 "pattern" : "\\S+",
35231 "type" : "string"
35232 },
35233 "port" : {
35234 "description" : "Server port.",
35235 "maximum" : 65535,
35236 "minimum" : 1,
35237 "optional" : 1,
4bd7df8b 35238 "type" : "integer",
013dc89f 35239 "typetext" : "<integer> (1 - 65535)"
44660702 35240 },
7aacca6f 35241 "realm" : {
7aacca6f
DM
35242 "description" : "Authentication domain ID",
35243 "format" : "pve-realm",
44660702 35244 "maxLength" : 32,
013dc89f
DM
35245 "type" : "string",
35246 "typetext" : "<string>"
44660702
DM
35247 },
35248 "secure" : {
35249 "description" : "Use secure LDAPS protocol.",
35250 "optional" : 1,
013dc89f
DM
35251 "type" : "boolean",
35252 "typetext" : "<boolean>"
44660702
DM
35253 },
35254 "server1" : {
35255 "description" : "Server IP address (or DNS name)",
35256 "format" : "address",
35257 "maxLength" : 256,
35258 "optional" : 1,
013dc89f
DM
35259 "type" : "string",
35260 "typetext" : "<string>"
44660702
DM
35261 },
35262 "server2" : {
35263 "description" : "Fallback Server IP address (or DNS name)",
35264 "format" : "address",
35265 "maxLength" : 256,
35266 "optional" : 1,
013dc89f
DM
35267 "type" : "string",
35268 "typetext" : "<string>"
44660702
DM
35269 },
35270 "tfa" : {
35271 "description" : "Use Two-factor authentication.",
35272 "format" : "pve-tfa-config",
35273 "maxLength" : 128,
35274 "optional" : 1,
013dc89f
DM
35275 "type" : "string",
35276 "typetext" : "<string>"
44660702
DM
35277 },
35278 "user_attr" : {
35279 "description" : "LDAP user attribute name",
35280 "maxLength" : 256,
35281 "optional" : 1,
35282 "pattern" : "\\S{2,}",
35283 "type" : "string"
2489d6df
WB
35284 },
35285 "verify" : {
35286 "default" : 0,
35287 "description" : "Verify the server's SSL certificate",
35288 "optional" : 1,
35289 "type" : "boolean",
35290 "typetext" : "<boolean>"
7aacca6f 35291 }
56122987 35292 },
44660702 35293 "type" : "object"
56122987 35294 },
7aacca6f
DM
35295 "permissions" : {
35296 "check" : [
35297 "perm",
35298 "/access/realm",
35299 [
44660702
DM
35300 "Realm.Allocate"
35301 ]
7aacca6f
DM
35302 ]
35303 },
44660702
DM
35304 "protected" : 1,
35305 "returns" : {
35306 "type" : "null"
35307 }
56122987 35308 }
44660702
DM
35309 },
35310 "leaf" : 1,
35311 "path" : "/access/domains/{realm}",
35312 "text" : "{realm}"
56122987 35313 }
7aacca6f 35314 ],
56122987
DM
35315 "info" : {
35316 "GET" : {
44660702
DM
35317 "description" : "Authentication domain index.",
35318 "method" : "GET",
35319 "name" : "index",
35320 "parameters" : {
35321 "additionalProperties" : 0
35322 },
35323 "permissions" : {
35324 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
35325 "user" : "world"
35326 },
56122987 35327 "returns" : {
56122987
DM
35328 "items" : {
35329 "properties" : {
7aacca6f 35330 "comment" : {
52e44c50 35331 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
35332 "optional" : 1,
35333 "type" : "string"
35334 },
56122987
DM
35335 "realm" : {
35336 "type" : "string"
35337 },
35338 "tfa" : {
7aacca6f 35339 "description" : "Two-factor authentication provider.",
56122987
DM
35340 "enum" : [
35341 "yubico",
35342 "oath"
35343 ],
44660702
DM
35344 "optional" : 1,
35345 "type" : "string"
56122987
DM
35346 }
35347 },
35348 "type" : "object"
44660702
DM
35349 },
35350 "links" : [
35351 {
35352 "href" : "{realm}",
35353 "rel" : "child"
35354 }
35355 ],
35356 "type" : "array"
35357 }
56122987
DM
35358 },
35359 "POST" : {
7aacca6f 35360 "description" : "Add an authentication server.",
44660702 35361 "method" : "POST",
7aacca6f 35362 "name" : "create",
56122987 35363 "parameters" : {
44660702 35364 "additionalProperties" : 0,
56122987 35365 "properties" : {
44660702
DM
35366 "base_dn" : {
35367 "description" : "LDAP base domain name",
56122987 35368 "maxLength" : 256,
44660702
DM
35369 "optional" : 1,
35370 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 35371 "type" : "string"
56122987 35372 },
4bd7df8b
DM
35373 "bind_dn" : {
35374 "description" : "LDAP bind domain name",
35375 "maxLength" : 256,
35376 "optional" : 1,
35377 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
35378 "type" : "string"
35379 },
2489d6df
WB
35380 "capath" : {
35381 "default" : "/etc/ssl/certs",
35382 "description" : "Path to the CA certificate store",
35383 "optional" : 1,
35384 "type" : "string",
35385 "typetext" : "<string>"
35386 },
35387 "cert" : {
35388 "description" : "Path to the client certificate",
35389 "optional" : 1,
35390 "type" : "string",
35391 "typetext" : "<string>"
35392 },
35393 "certkey" : {
35394 "description" : "Path to the client certificate key",
35395 "optional" : 1,
35396 "type" : "string",
35397 "typetext" : "<string>"
35398 },
44660702
DM
35399 "comment" : {
35400 "description" : "Description.",
35401 "maxLength" : 4096,
56122987 35402 "optional" : 1,
013dc89f
DM
35403 "type" : "string",
35404 "typetext" : "<string>"
56122987 35405 },
44660702
DM
35406 "default" : {
35407 "description" : "Use this as default realm",
7aacca6f 35408 "optional" : 1,
013dc89f
DM
35409 "type" : "boolean",
35410 "typetext" : "<boolean>"
56122987 35411 },
44660702
DM
35412 "domain" : {
35413 "description" : "AD domain name",
35414 "maxLength" : 256,
7aacca6f 35415 "optional" : 1,
44660702
DM
35416 "pattern" : "\\S+",
35417 "type" : "string"
56122987 35418 },
7aacca6f 35419 "port" : {
44660702 35420 "description" : "Server port.",
7aacca6f 35421 "maximum" : 65535,
44660702 35422 "minimum" : 1,
7aacca6f 35423 "optional" : 1,
4bd7df8b 35424 "type" : "integer",
013dc89f 35425 "typetext" : "<integer> (1 - 65535)"
56122987 35426 },
44660702
DM
35427 "realm" : {
35428 "description" : "Authentication domain ID",
35429 "format" : "pve-realm",
35430 "maxLength" : 32,
013dc89f
DM
35431 "type" : "string",
35432 "typetext" : "<string>"
44660702
DM
35433 },
35434 "secure" : {
35435 "description" : "Use secure LDAPS protocol.",
7aacca6f 35436 "optional" : 1,
013dc89f
DM
35437 "type" : "boolean",
35438 "typetext" : "<boolean>"
56122987 35439 },
44660702
DM
35440 "server1" : {
35441 "description" : "Server IP address (or DNS name)",
35442 "format" : "address",
35443 "maxLength" : 256,
35444 "optional" : 1,
013dc89f
DM
35445 "type" : "string",
35446 "typetext" : "<string>"
56122987 35447 },
44660702
DM
35448 "server2" : {
35449 "description" : "Fallback Server IP address (or DNS name)",
35450 "format" : "address",
7aacca6f 35451 "maxLength" : 256,
7aacca6f 35452 "optional" : 1,
013dc89f
DM
35453 "type" : "string",
35454 "typetext" : "<string>"
7aacca6f 35455 },
44660702
DM
35456 "tfa" : {
35457 "description" : "Use Two-factor authentication.",
35458 "format" : "pve-tfa-config",
35459 "maxLength" : 128,
35460 "optional" : 1,
013dc89f
DM
35461 "type" : "string",
35462 "typetext" : "<string>"
44660702
DM
35463 },
35464 "type" : {
35465 "description" : "Realm type.",
35466 "enum" : [
35467 "ad",
35468 "ldap",
35469 "pam",
35470 "pve"
35471 ],
35472 "type" : "string"
35473 },
35474 "user_attr" : {
35475 "description" : "LDAP user attribute name",
7aacca6f 35476 "maxLength" : 256,
7aacca6f 35477 "optional" : 1,
44660702
DM
35478 "pattern" : "\\S{2,}",
35479 "type" : "string"
2489d6df
WB
35480 },
35481 "verify" : {
35482 "default" : 0,
35483 "description" : "Verify the server's SSL certificate",
35484 "optional" : 1,
35485 "type" : "boolean",
35486 "typetext" : "<boolean>"
7aacca6f
DM
35487 }
35488 },
7aacca6f 35489 "type" : "object"
56122987 35490 },
7aacca6f
DM
35491 "permissions" : {
35492 "check" : [
35493 "perm",
35494 "/access/realm",
35495 [
35496 "Realm.Allocate"
35497 ]
35498 ]
44660702
DM
35499 },
35500 "protected" : 1,
35501 "returns" : {
35502 "type" : "null"
7aacca6f 35503 }
56122987 35504 }
7aacca6f 35505 },
44660702 35506 "leaf" : 0,
56122987 35507 "path" : "/access/domains",
44660702 35508 "text" : "domains"
56122987
DM
35509 },
35510 {
56122987 35511 "info" : {
44660702 35512 "GET" : {
2489d6df 35513 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
35514 "method" : "GET",
35515 "name" : "get_ticket",
35516 "parameters" : {
35517 "additionalProperties" : 0
35518 },
35519 "permissions" : {
35520 "user" : "world"
35521 },
35522 "returns" : {
35523 "type" : "null"
35524 }
35525 },
56122987 35526 "POST" : {
44660702 35527 "description" : "Create or verify authentication ticket.",
56122987 35528 "method" : "POST",
44660702
DM
35529 "name" : "create_ticket",
35530 "parameters" : {
35531 "additionalProperties" : 0,
56122987 35532 "properties" : {
44660702
DM
35533 "otp" : {
35534 "description" : "One-time password for Two-factor authentication.",
7aacca6f 35535 "optional" : 1,
013dc89f
DM
35536 "type" : "string",
35537 "typetext" : "<string>"
56122987 35538 },
7aacca6f
DM
35539 "password" : {
35540 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
35541 "type" : "string",
35542 "typetext" : "<string>"
7aacca6f 35543 },
44660702
DM
35544 "path" : {
35545 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 35546 "maxLength" : 64,
56122987 35547 "optional" : 1,
56122987 35548 "requires" : "privs",
013dc89f
DM
35549 "type" : "string",
35550 "typetext" : "<string>"
44660702
DM
35551 },
35552 "privs" : {
7aacca6f 35553 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
35554 "format" : "pve-priv-list",
35555 "maxLength" : 64,
56122987 35556 "optional" : 1,
44660702 35557 "requires" : "path",
013dc89f
DM
35558 "type" : "string",
35559 "typetext" : "<string>"
56122987
DM
35560 },
35561 "realm" : {
56122987 35562 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 35563 "format" : "pve-realm",
7aacca6f 35564 "maxLength" : 32,
44660702 35565 "optional" : 1,
013dc89f
DM
35566 "type" : "string",
35567 "typetext" : "<string>"
56122987
DM
35568 },
35569 "username" : {
35570 "description" : "User name",
44660702 35571 "maxLength" : 64,
013dc89f
DM
35572 "type" : "string",
35573 "typetext" : "<string>"
56122987 35574 }
44660702 35575 }
7aacca6f 35576 },
56122987 35577 "permissions" : {
44660702 35578 "description" : "You need to pass valid credientials.",
56122987
DM
35579 "user" : "world"
35580 },
44660702 35581 "protected" : 1,
7aacca6f 35582 "returns" : {
56122987 35583 "properties" : {
44660702
DM
35584 "CSRFPreventionToken" : {
35585 "optional" : 1,
35586 "type" : "string"
56122987 35587 },
e2d681b3
TL
35588 "clustername" : {
35589 "optional" : 1,
35590 "type" : "string"
35591 },
44660702
DM
35592 "ticket" : {
35593 "optional" : 1,
35594 "type" : "string"
35595 },
35596 "username" : {
56122987
DM
35597 "type" : "string"
35598 }
35599 },
44660702 35600 "type" : "object"
7aacca6f 35601 }
7aacca6f
DM
35602 }
35603 },
44660702
DM
35604 "leaf" : 1,
35605 "path" : "/access/ticket",
35606 "text" : "ticket"
7aacca6f 35607 },
56122987 35608 {
56122987 35609 "info" : {
7aacca6f 35610 "PUT" : {
44660702 35611 "description" : "Change user password.",
7aacca6f 35612 "method" : "PUT",
e2d681b3 35613 "name" : "change_password",
56122987
DM
35614 "parameters" : {
35615 "additionalProperties" : 0,
35616 "properties" : {
44660702
DM
35617 "password" : {
35618 "description" : "The new password.",
35619 "maxLength" : 64,
35620 "minLength" : 5,
013dc89f
DM
35621 "type" : "string",
35622 "typetext" : "<string>"
7aacca6f 35623 },
44660702
DM
35624 "userid" : {
35625 "description" : "User ID",
35626 "format" : "pve-userid",
35627 "maxLength" : 64,
013dc89f
DM
35628 "type" : "string",
35629 "typetext" : "<string>"
56122987 35630 }
7aacca6f 35631 }
56122987
DM
35632 },
35633 "permissions" : {
35634 "check" : [
44660702 35635 "or",
56122987 35636 [
44660702
DM
35637 "userid-param",
35638 "self"
35639 ],
35640 [
35641 "and",
35642 [
35643 "userid-param",
35644 "Realm.AllocateUser"
35645 ],
35646 [
35647 "userid-group",
35648 [
35649 "User.Modify"
35650 ]
35651 ]
56122987 35652 ]
7aacca6f 35653 ],
44660702 35654 "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 35655 },
44660702 35656 "protected" : 1,
7aacca6f
DM
35657 "returns" : {
35658 "type" : "null"
44660702
DM
35659 }
35660 }
35661 },
35662 "leaf" : 1,
35663 "path" : "/access/password",
35664 "text" : "password"
35665 }
35666 ],
35667 "info" : {
35668 "GET" : {
35669 "description" : "Directory index.",
35670 "method" : "GET",
35671 "name" : "index",
35672 "parameters" : {
35673 "additionalProperties" : 0
35674 },
35675 "permissions" : {
35676 "user" : "all"
35677 },
35678 "returns" : {
35679 "items" : {
35680 "properties" : {
35681 "subdir" : {
35682 "type" : "string"
35683 }
7aacca6f 35684 },
44660702
DM
35685 "type" : "object"
35686 },
35687 "links" : [
35688 {
35689 "href" : "{subdir}",
35690 "rel" : "child"
35691 }
35692 ],
35693 "type" : "array"
35694 }
35695 }
35696 },
35697 "leaf" : 0,
35698 "path" : "/access",
35699 "text" : "access"
35700 },
35701 {
35702 "children" : [
35703 {
35704 "info" : {
35705 "DELETE" : {
7aacca6f 35706 "description" : "Delete pool.",
44660702
DM
35707 "method" : "DELETE",
35708 "name" : "delete_pool",
7aacca6f
DM
35709 "parameters" : {
35710 "additionalProperties" : 0,
35711 "properties" : {
35712 "poolid" : {
35713 "format" : "pve-poolid",
013dc89f
DM
35714 "type" : "string",
35715 "typetext" : "<string>"
7aacca6f
DM
35716 }
35717 }
35718 },
56122987
DM
35719 "permissions" : {
35720 "check" : [
35721 "perm",
35722 "/pool/{poolid}",
35723 [
35724 "Pool.Allocate"
35725 ]
44660702
DM
35726 ],
35727 "description" : "You can only delete empty pools (no members)."
35728 },
35729 "protected" : 1,
35730 "returns" : {
35731 "type" : "null"
7aacca6f
DM
35732 }
35733 },
35734 "GET" : {
35735 "description" : "Get pool configuration.",
44660702 35736 "method" : "GET",
7aacca6f 35737 "name" : "read_pool",
56122987 35738 "parameters" : {
44660702 35739 "additionalProperties" : 0,
56122987
DM
35740 "properties" : {
35741 "poolid" : {
44660702 35742 "format" : "pve-poolid",
013dc89f
DM
35743 "type" : "string",
35744 "typetext" : "<string>"
56122987 35745 }
44660702 35746 }
56122987 35747 },
56122987 35748 "permissions" : {
56122987
DM
35749 "check" : [
35750 "perm",
35751 "/pool/{poolid}",
35752 [
35753 "Pool.Allocate"
35754 ]
35755 ]
35756 },
7aacca6f 35757 "returns" : {
44660702 35758 "additionalProperties" : 0,
56122987 35759 "properties" : {
44660702
DM
35760 "comment" : {
35761 "optional" : 1,
35762 "type" : "string"
35763 },
7aacca6f 35764 "members" : {
7aacca6f
DM
35765 "items" : {
35766 "additionalProperties" : 1,
7aacca6f 35767 "properties" : {
7aacca6f
DM
35768 "id" : {
35769 "type" : "string"
35770 },
35771 "node" : {
35772 "type" : "string"
35773 },
44660702
DM
35774 "storage" : {
35775 "optional" : 1,
35776 "type" : "string"
35777 },
7aacca6f 35778 "type" : {
7aacca6f
DM
35779 "enum" : [
35780 "qemu",
35781 "lxc",
35782 "openvz",
35783 "storage"
44660702
DM
35784 ],
35785 "type" : "string"
35786 },
35787 "vmid" : {
35788 "optional" : 1,
35789 "type" : "integer"
7aacca6f 35790 }
44660702
DM
35791 },
35792 "type" : "object"
35793 },
35794 "type" : "array"
35795 }
35796 },
35797 "type" : "object"
35798 }
35799 },
35800 "PUT" : {
35801 "description" : "Update pool data.",
35802 "method" : "PUT",
35803 "name" : "update_pool",
35804 "parameters" : {
35805 "additionalProperties" : 0,
35806 "properties" : {
56122987
DM
35807 "comment" : {
35808 "optional" : 1,
013dc89f
DM
35809 "type" : "string",
35810 "typetext" : "<string>"
44660702
DM
35811 },
35812 "delete" : {
35813 "description" : "Remove vms/storage (instead of adding it).",
35814 "optional" : 1,
013dc89f
DM
35815 "type" : "boolean",
35816 "typetext" : "<boolean>"
44660702
DM
35817 },
35818 "poolid" : {
35819 "format" : "pve-poolid",
013dc89f
DM
35820 "type" : "string",
35821 "typetext" : "<string>"
44660702
DM
35822 },
35823 "storage" : {
35824 "description" : "List of storage IDs.",
35825 "format" : "pve-storage-id-list",
35826 "optional" : 1,
013dc89f
DM
35827 "type" : "string",
35828 "typetext" : "<string>"
44660702
DM
35829 },
35830 "vms" : {
35831 "description" : "List of virtual machines.",
35832 "format" : "pve-vmid-list",
35833 "optional" : 1,
013dc89f
DM
35834 "type" : "string",
35835 "typetext" : "<string>"
56122987 35836 }
44660702
DM
35837 }
35838 },
35839 "permissions" : {
35840 "check" : [
35841 "perm",
35842 "/pool/{poolid}",
35843 [
35844 "Pool.Allocate"
35845 ]
35846 ],
35847 "description" : "You also need the right to modify permissions on any object you add/delete."
35848 },
35849 "protected" : 1,
35850 "returns" : {
35851 "type" : "null"
56122987
DM
35852 }
35853 }
35854 },
44660702
DM
35855 "leaf" : 1,
35856 "path" : "/pools/{poolid}",
7aacca6f 35857 "text" : "{poolid}"
56122987 35858 }
7aacca6f 35859 ],
56122987
DM
35860 "info" : {
35861 "GET" : {
44660702
DM
35862 "description" : "Pool index.",
35863 "method" : "GET",
35864 "name" : "index",
35865 "parameters" : {
35866 "additionalProperties" : 0
35867 },
35868 "permissions" : {
35869 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
35870 "user" : "all"
35871 },
56122987 35872 "returns" : {
44660702
DM
35873 "items" : {
35874 "properties" : {
35875 "poolid" : {
35876 "type" : "string"
35877 }
56122987 35878 },
44660702
DM
35879 "type" : "object"
35880 },
35881 "links" : [
35882 {
35883 "href" : "{poolid}",
35884 "rel" : "child"
35885 }
35886 ],
35887 "type" : "array"
35888 }
35889 },
35890 "POST" : {
35891 "description" : "Create new pool.",
35892 "method" : "POST",
35893 "name" : "create_pool",
35894 "parameters" : {
35895 "additionalProperties" : 0,
35896 "properties" : {
35897 "comment" : {
35898 "optional" : 1,
013dc89f
DM
35899 "type" : "string",
35900 "typetext" : "<string>"
7aacca6f 35901 },
44660702
DM
35902 "poolid" : {
35903 "format" : "pve-poolid",
013dc89f
DM
35904 "type" : "string",
35905 "typetext" : "<string>"
56122987
DM
35906 }
35907 }
35908 },
56122987 35909 "permissions" : {
44660702
DM
35910 "check" : [
35911 "perm",
35912 "/pool/{poolid}",
35913 [
35914 "Pool.Allocate"
35915 ]
35916 ]
56122987 35917 },
44660702
DM
35918 "protected" : 1,
35919 "returns" : {
35920 "type" : "null"
35921 }
35922 }
35923 },
35924 "leaf" : 0,
35925 "path" : "/pools",
35926 "text" : "pools"
35927 },
35928 {
35929 "info" : {
35930 "GET" : {
35931 "description" : "API version details. The result also includes the global datacenter confguration.",
35932 "method" : "GET",
35933 "name" : "version",
7aacca6f
DM
35934 "parameters" : {
35935 "additionalProperties" : 0
35936 },
44660702
DM
35937 "permissions" : {
35938 "user" : "all"
35939 },
35940 "returns" : {
35941 "properties" : {
35942 "release" : {
35943 "type" : "string"
35944 },
35945 "repoid" : {
35946 "type" : "string"
35947 },
35948 "version" : {
35949 "type" : "string"
35950 }
35951 },
35952 "type" : "object"
35953 }
56122987
DM
35954 }
35955 },
44660702
DM
35956 "leaf" : 1,
35957 "path" : "/version",
56122987
DM
35958 "text" : "version"
35959 }
35960]
35961;
35962