]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
syste, booting: ensure all references are prefixed with sysboot_ namespace
[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 },
1e3f8156
TL
329 "link[n]" : {
330 "description" : "Address and priority information of a single corosync link.",
331 "format" : {
332 "address" : {
333 "default_key" : 1,
334 "description" : "Hostname (or IP) of this corosync link address.",
335 "format" : "address",
336 "format_description" : "IP",
337 "type" : "string"
338 },
339 "priority" : {
340 "default" : 0,
341 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
342 "maximum" : 255,
343 "minimum" : 0,
344 "optional" : 1,
345 "type" : "integer"
346 }
347 },
348 "optional" : 1,
349 "type" : "string",
350 "typetext" : "[address=]<IP> [,priority=<integer>]"
351 },
27a7acb2
DM
352 "node" : {
353 "description" : "The cluster node name.",
354 "format" : "pve-node",
355 "type" : "string",
356 "typetext" : "<string>"
357 },
358 "nodeid" : {
359 "description" : "Node id for this node.",
360 "minimum" : 1,
361 "optional" : 1,
362 "type" : "integer",
363 "typetext" : "<integer> (1 - N)"
364 },
27a7acb2
DM
365 "votes" : {
366 "description" : "Number of votes for this node",
367 "minimum" : 0,
368 "optional" : 1,
369 "type" : "integer",
370 "typetext" : "<integer> (0 - N)"
371 }
372 }
373 },
374 "protected" : 1,
375 "returns" : {
376 "properties" : {
377 "corosync_authkey" : {
378 "type" : "string"
379 },
380 "corosync_conf" : {
381 "type" : "string"
382 }
383 },
384 "type" : "object"
385 }
386 }
387 },
388 "leaf" : 1,
389 "path" : "/cluster/config/nodes/{node}",
390 "text" : "{node}"
391 }
392 ],
32d876b5
DM
393 "info" : {
394 "GET" : {
395 "description" : "Corosync node list.",
396 "method" : "GET",
397 "name" : "nodes",
398 "parameters" : {
399 "additionalProperties" : 0
400 },
5d9c884c
DM
401 "permissions" : {
402 "check" : [
403 "perm",
404 "/",
405 [
406 "Sys.Audit"
407 ]
408 ]
409 },
32d876b5
DM
410 "returns" : {
411 "items" : {
412 "properties" : {
413 "node" : {
414 "type" : "string"
415 }
416 },
417 "type" : "object"
418 },
419 "links" : [
420 {
421 "href" : "{node}",
422 "rel" : "child"
423 }
424 ],
425 "type" : "array"
426 }
427 }
428 },
27a7acb2 429 "leaf" : 0,
32d876b5
DM
430 "path" : "/cluster/config/nodes",
431 "text" : "nodes"
432 },
27a7acb2
DM
433 {
434 "info" : {
435 "GET" : {
436 "description" : "Get information needed to join this cluster over the connected node.",
437 "method" : "GET",
438 "name" : "join_info",
439 "parameters" : {
440 "additionalProperties" : 0,
441 "properties" : {
442 "node" : {
443 "default" : "current connected node",
444 "description" : "The node for which the joinee gets the nodeinfo. ",
445 "format" : "pve-node",
446 "optional" : 1,
447 "type" : "string",
448 "typetext" : "<string>"
449 }
450 }
451 },
a9a8e3d1
DM
452 "permissions" : {
453 "check" : [
454 "perm",
455 "/",
456 [
457 "Sys.Audit"
458 ]
459 ]
460 },
27a7acb2
DM
461 "returns" : {
462 "additionalProperties" : 0,
463 "properties" : {
464 "config_digest" : {
465 "type" : "string"
466 },
467 "nodelist" : {
468 "items" : {
469 "additionalProperties" : 1,
470 "properties" : {
471 "name" : {
472 "description" : "The cluster node name.",
473 "format" : "pve-node",
474 "type" : "string"
475 },
476 "nodeid" : {
477 "description" : "Node id for this node.",
478 "minimum" : 1,
479 "optional" : 1,
480 "type" : "integer"
481 },
482 "pve_addr" : {
483 "format" : "ip",
484 "type" : "string"
485 },
486 "pve_fp" : {
487 "description" : "Certificate SHA 256 fingerprint.",
488 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
489 "type" : "string"
490 },
491 "quorum_votes" : {
492 "minimum" : 0,
493 "type" : "integer"
494 },
495 "ring0_addr" : {
1e3f8156
TL
496 "description" : "Address and priority information of a single corosync link.",
497 "format" : {
498 "address" : {
499 "default_key" : 1,
500 "description" : "Hostname (or IP) of this corosync link address.",
501 "format" : "address",
502 "format_description" : "IP",
503 "type" : "string"
504 },
505 "priority" : {
506 "default" : 0,
507 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
508 "maximum" : 255,
509 "minimum" : 0,
510 "optional" : 1,
511 "type" : "integer"
512 }
513 },
27a7acb2
DM
514 "optional" : 1,
515 "type" : "string"
516 }
517 },
518 "type" : "object"
519 },
520 "type" : "array"
521 },
522 "preferred_node" : {
523 "description" : "The cluster node name.",
524 "format" : "pve-node",
525 "type" : "string"
526 },
527 "totem" : {
528 "type" : "object"
529 }
530 },
531 "type" : "object"
532 }
533 },
534 "POST" : {
535 "description" : "Joins this node into an existing cluster.",
536 "method" : "POST",
537 "name" : "join",
538 "parameters" : {
539 "additionalProperties" : 0,
540 "properties" : {
541 "fingerprint" : {
542 "description" : "Certificate SHA 256 fingerprint.",
543 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
544 "type" : "string"
545 },
546 "force" : {
547 "description" : "Do not throw error if node already exists.",
548 "optional" : 1,
549 "type" : "boolean",
550 "typetext" : "<boolean>"
551 },
552 "hostname" : {
553 "description" : "Hostname (or IP) of an existing cluster member.",
554 "type" : "string",
555 "typetext" : "<string>"
556 },
1e3f8156
TL
557 "link[n]" : {
558 "default" : "IP resolved by node's hostname",
559 "description" : "Address and priority information of a single corosync link.",
560 "format" : {
561 "address" : {
562 "default_key" : 1,
563 "description" : "Hostname (or IP) of this corosync link address.",
564 "format" : "address",
565 "format_description" : "IP",
566 "type" : "string"
567 },
568 "priority" : {
569 "default" : 0,
570 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
571 "maximum" : 255,
572 "minimum" : 0,
573 "optional" : 1,
574 "type" : "integer"
575 }
576 },
577 "optional" : 1,
578 "type" : "string",
579 "typetext" : "[address=]<IP> [,priority=<integer>]"
580 },
27a7acb2
DM
581 "nodeid" : {
582 "description" : "Node id for this node.",
583 "minimum" : 1,
584 "optional" : 1,
585 "type" : "integer",
586 "typetext" : "<integer> (1 - N)"
587 },
588 "password" : {
589 "description" : "Superuser (root) password of peer node.",
590 "maxLength" : 128,
591 "type" : "string",
592 "typetext" : "<string>"
593 },
27a7acb2
DM
594 "votes" : {
595 "description" : "Number of votes for this node",
596 "minimum" : 0,
597 "optional" : 1,
598 "type" : "integer",
599 "typetext" : "<integer> (0 - N)"
600 }
601 }
602 },
603 "protected" : 1,
604 "returns" : {
605 "type" : "string"
606 }
607 }
608 },
609 "leaf" : 1,
610 "path" : "/cluster/config/join",
611 "text" : "join"
612 },
32d876b5
DM
613 {
614 "info" : {
615 "GET" : {
616 "description" : "Get corosync totem protocol settings.",
617 "method" : "GET",
618 "name" : "totem",
619 "parameters" : {
620 "additionalProperties" : 0
621 },
5d9c884c
DM
622 "permissions" : {
623 "check" : [
624 "perm",
625 "/",
626 [
627 "Sys.Audit"
628 ]
629 ]
630 },
32d876b5 631 "returns" : {
32d876b5
DM
632 "type" : "object"
633 }
634 }
635 },
636 "leaf" : 1,
637 "path" : "/cluster/config/totem",
638 "text" : "totem"
9226ccbc
TL
639 },
640 {
641 "info" : {
642 "GET" : {
643 "description" : "Get QDevice status",
644 "method" : "GET",
645 "name" : "status",
646 "parameters" : {
647 "additionalProperties" : 0
648 },
649 "permissions" : {
650 "check" : [
651 "perm",
652 "/",
653 [
654 "Sys.Audit"
655 ]
656 ]
657 },
658 "returns" : {
659 "type" : "object"
660 }
661 }
662 },
663 "leaf" : 1,
664 "path" : "/cluster/config/qdevice",
665 "text" : "qdevice"
32d876b5
DM
666 }
667 ],
668 "info" : {
669 "GET" : {
670 "description" : "Directory index.",
671 "method" : "GET",
672 "name" : "index",
673 "parameters" : {
674 "additionalProperties" : 0
675 },
5d9c884c
DM
676 "permissions" : {
677 "check" : [
678 "perm",
679 "/",
680 [
681 "Sys.Audit"
682 ]
683 ]
684 },
32d876b5
DM
685 "returns" : {
686 "items" : {
687 "properties" : {},
688 "type" : "object"
689 },
690 "links" : [
691 {
692 "href" : "{name}",
693 "rel" : "child"
694 }
695 ],
696 "type" : "array"
697 }
27a7acb2
DM
698 },
699 "POST" : {
700 "description" : "Generate new cluster configuration.",
701 "method" : "POST",
702 "name" : "create",
703 "parameters" : {
704 "additionalProperties" : 0,
705 "properties" : {
27a7acb2
DM
706 "clustername" : {
707 "description" : "The name of the cluster.",
708 "format" : "pve-node",
709 "maxLength" : 15,
710 "type" : "string",
711 "typetext" : "<string>"
712 },
1e3f8156
TL
713 "link[n]" : {
714 "description" : "Address and priority information of a single corosync link.",
715 "format" : {
716 "address" : {
717 "default_key" : 1,
718 "description" : "Hostname (or IP) of this corosync link address.",
719 "format" : "address",
720 "format_description" : "IP",
721 "type" : "string"
722 },
723 "priority" : {
724 "default" : 0,
725 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
726 "maximum" : 255,
727 "minimum" : 0,
728 "optional" : 1,
729 "type" : "integer"
730 }
731 },
732 "optional" : 1,
733 "type" : "string",
734 "typetext" : "[address=]<IP> [,priority=<integer>]"
735 },
27a7acb2
DM
736 "nodeid" : {
737 "description" : "Node id for this node.",
738 "minimum" : 1,
739 "optional" : 1,
740 "type" : "integer",
741 "typetext" : "<integer> (1 - N)"
742 },
27a7acb2
DM
743 "votes" : {
744 "description" : "Number of votes for this node.",
745 "minimum" : 1,
746 "optional" : 1,
747 "type" : "integer",
748 "typetext" : "<integer> (1 - N)"
749 }
750 }
751 },
752 "protected" : 1,
753 "returns" : {
754 "type" : "string"
755 }
32d876b5
DM
756 }
757 },
758 "leaf" : 0,
759 "path" : "/cluster/config",
760 "text" : "config"
761 },
56122987 762 {
56122987
DM
763 "children" : [
764 {
56122987
DM
765 "children" : [
766 {
44660702
DM
767 "children" : [
768 {
769 "info" : {
770 "DELETE" : {
771 "description" : "Delete rule.",
772 "method" : "DELETE",
773 "name" : "delete_rule",
774 "parameters" : {
775 "additionalProperties" : 0,
776 "properties" : {
777 "digest" : {
778 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
779 "maxLength" : 40,
780 "optional" : 1,
013dc89f
DM
781 "type" : "string",
782 "typetext" : "<string>"
44660702
DM
783 },
784 "group" : {
785 "description" : "Security Group name.",
4bd7df8b 786 "maxLength" : 18,
44660702
DM
787 "minLength" : 2,
788 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
789 "type" : "string"
790 },
791 "pos" : {
792 "description" : "Update rule at position <pos>.",
793 "minimum" : 0,
794 "optional" : 1,
4bd7df8b 795 "type" : "integer",
013dc89f 796 "typetext" : "<integer> (0 - N)"
44660702
DM
797 }
798 }
799 },
800 "permissions" : {
801 "check" : [
802 "perm",
803 "/",
804 [
805 "Sys.Modify"
806 ]
807 ]
808 },
809 "protected" : 1,
810 "proxyto" : null,
811 "returns" : {
812 "type" : "null"
7aacca6f
DM
813 }
814 },
44660702
DM
815 "GET" : {
816 "description" : "Get single rule data.",
817 "method" : "GET",
818 "name" : "get_rule",
819 "parameters" : {
820 "additionalProperties" : 0,
821 "properties" : {
822 "group" : {
823 "description" : "Security Group name.",
4bd7df8b 824 "maxLength" : 18,
44660702
DM
825 "minLength" : 2,
826 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
827 "type" : "string"
828 },
829 "pos" : {
830 "description" : "Update rule at position <pos>.",
831 "minimum" : 0,
832 "optional" : 1,
4bd7df8b 833 "type" : "integer",
013dc89f 834 "typetext" : "<integer> (0 - N)"
44660702 835 }
7aacca6f 836 }
56122987 837 },
44660702
DM
838 "permissions" : {
839 "check" : [
840 "perm",
841 "/",
842 [
843 "Sys.Audit"
844 ]
845 ]
846 },
847 "proxyto" : null,
848 "returns" : {
849 "properties" : {
e2d681b3
TL
850 "action" : {
851 "type" : "string"
852 },
853 "comment" : {
854 "optional" : 1,
855 "type" : "string"
856 },
857 "dest" : {
858 "optional" : 1,
859 "type" : "string"
860 },
861 "dport" : {
862 "optional" : 1,
863 "type" : "string"
864 },
865 "enable" : {
866 "optional" : 1,
867 "type" : "integer"
868 },
869 "iface" : {
870 "optional" : 1,
871 "type" : "string"
872 },
873 "ipversion" : {
874 "optional" : 1,
875 "type" : "integer"
876 },
95895385
TL
877 "log" : {
878 "description" : "Log level for firewall rule",
879 "enum" : [
880 "emerg",
881 "alert",
882 "crit",
883 "err",
884 "warning",
885 "notice",
886 "info",
887 "debug",
888 "nolog"
889 ],
890 "optional" : 1,
891 "type" : "string"
892 },
e2d681b3
TL
893 "macro" : {
894 "optional" : 1,
5f26e15b 895 "type" : "string"
e2d681b3 896 },
44660702
DM
897 "pos" : {
898 "type" : "integer"
e2d681b3
TL
899 },
900 "proto" : {
901 "optional" : 1,
902 "type" : "string"
903 },
904 "source" : {
905 "optional" : 1,
906 "type" : "string"
907 },
908 "sport" : {
909 "optional" : 1,
910 "type" : "string"
911 },
912 "type" : {
913 "type" : "string"
44660702
DM
914 }
915 },
916 "type" : "object"
56122987 917 }
44660702 918 },
7aacca6f 919 "PUT" : {
44660702
DM
920 "description" : "Modify rule data.",
921 "method" : "PUT",
922 "name" : "update_rule",
7aacca6f
DM
923 "parameters" : {
924 "additionalProperties" : 0,
925 "properties" : {
44660702
DM
926 "action" : {
927 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 928 "maxLength" : 20,
44660702 929 "minLength" : 2,
7aacca6f 930 "optional" : 1,
44660702 931 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
932 "type" : "string"
933 },
44660702 934 "comment" : {
e94f0d56 935 "description" : "Descriptive comment.",
7aacca6f 936 "optional" : 1,
013dc89f
DM
937 "type" : "string",
938 "typetext" : "<string>"
7aacca6f 939 },
44660702
DM
940 "delete" : {
941 "description" : "A list of settings you want to delete.",
942 "format" : "pve-configid-list",
7aacca6f 943 "optional" : 1,
013dc89f
DM
944 "type" : "string",
945 "typetext" : "<string>"
7aacca6f 946 },
44660702
DM
947 "dest" : {
948 "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.",
949 "format" : "pve-fw-addr-spec",
7aacca6f 950 "optional" : 1,
013dc89f
DM
951 "type" : "string",
952 "typetext" : "<string>"
7aacca6f
DM
953 },
954 "digest" : {
955 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 956 "maxLength" : 40,
7aacca6f 957 "optional" : 1,
013dc89f
DM
958 "type" : "string",
959 "typetext" : "<string>"
7aacca6f 960 },
44660702
DM
961 "dport" : {
962 "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.",
963 "format" : "pve-fw-dport-spec",
7aacca6f 964 "optional" : 1,
013dc89f
DM
965 "type" : "string",
966 "typetext" : "<string>"
7aacca6f 967 },
44660702 968 "enable" : {
e94f0d56 969 "description" : "Flag to enable/disable a rule.",
44660702 970 "minimum" : 0,
7aacca6f 971 "optional" : 1,
4bd7df8b 972 "type" : "integer",
013dc89f 973 "typetext" : "<integer> (0 - N)"
7aacca6f 974 },
44660702
DM
975 "group" : {
976 "description" : "Security Group name.",
4bd7df8b 977 "maxLength" : 18,
44660702
DM
978 "minLength" : 2,
979 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
980 "type" : "string"
981 },
982 "iface" : {
983 "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.",
984 "format" : "pve-iface",
985 "maxLength" : 20,
986 "minLength" : 2,
7aacca6f 987 "optional" : 1,
013dc89f
DM
988 "type" : "string",
989 "typetext" : "<string>"
7aacca6f 990 },
95895385
TL
991 "log" : {
992 "description" : "Log level for firewall rule.",
993 "enum" : [
994 "emerg",
995 "alert",
996 "crit",
997 "err",
998 "warning",
999 "notice",
1000 "info",
1001 "debug",
1002 "nolog"
1003 ],
1004 "optional" : 1,
1005 "type" : "string"
1006 },
44660702 1007 "macro" : {
e94f0d56 1008 "description" : "Use predefined standard macro.",
44660702
DM
1009 "maxLength" : 128,
1010 "optional" : 1,
013dc89f
DM
1011 "type" : "string",
1012 "typetext" : "<string>"
7aacca6f
DM
1013 },
1014 "moveto" : {
1015 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 1016 "minimum" : 0,
7aacca6f 1017 "optional" : 1,
4bd7df8b 1018 "type" : "integer",
013dc89f 1019 "typetext" : "<integer> (0 - N)"
7aacca6f 1020 },
44660702
DM
1021 "pos" : {
1022 "description" : "Update rule at position <pos>.",
1023 "minimum" : 0,
1024 "optional" : 1,
4bd7df8b 1025 "type" : "integer",
013dc89f 1026 "typetext" : "<integer> (0 - N)"
7aacca6f 1027 },
44660702
DM
1028 "proto" : {
1029 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1030 "format" : "pve-fw-protocol-spec",
7aacca6f 1031 "optional" : 1,
013dc89f
DM
1032 "type" : "string",
1033 "typetext" : "<string>"
44660702
DM
1034 },
1035 "source" : {
1036 "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.",
1037 "format" : "pve-fw-addr-spec",
1038 "optional" : 1,
013dc89f
DM
1039 "type" : "string",
1040 "typetext" : "<string>"
44660702
DM
1041 },
1042 "sport" : {
1043 "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.",
1044 "format" : "pve-fw-sport-spec",
1045 "optional" : 1,
013dc89f
DM
1046 "type" : "string",
1047 "typetext" : "<string>"
7aacca6f
DM
1048 },
1049 "type" : {
e94f0d56 1050 "description" : "Rule type.",
7aacca6f
DM
1051 "enum" : [
1052 "in",
1053 "out",
1054 "group"
1055 ],
1056 "optional" : 1,
1057 "type" : "string"
1058 }
1059 }
1060 },
7aacca6f
DM
1061 "permissions" : {
1062 "check" : [
1063 "perm",
1064 "/",
1065 [
1066 "Sys.Modify"
1067 ]
1068 ]
1069 },
44660702 1070 "protected" : 1,
7aacca6f
DM
1071 "proxyto" : null,
1072 "returns" : {
1073 "type" : "null"
1074 }
7aacca6f
DM
1075 }
1076 },
44660702 1077 "leaf" : 1,
7aacca6f 1078 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 1079 "text" : "{pos}"
7aacca6f
DM
1080 }
1081 ],
44660702
DM
1082 "info" : {
1083 "DELETE" : {
1084 "description" : "Delete security group.",
1085 "method" : "DELETE",
1086 "name" : "delete_security_group",
1087 "parameters" : {
1088 "additionalProperties" : 0,
1089 "properties" : {
1090 "group" : {
1091 "description" : "Security Group name.",
4bd7df8b 1092 "maxLength" : 18,
44660702
DM
1093 "minLength" : 2,
1094 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1095 "type" : "string"
1096 }
56122987 1097 }
7aacca6f 1098 },
44660702
DM
1099 "permissions" : {
1100 "check" : [
1101 "perm",
1102 "/",
1103 [
1104 "Sys.Modify"
1105 ]
7aacca6f 1106 ]
56122987 1107 },
44660702
DM
1108 "protected" : 1,
1109 "returns" : {
1110 "type" : "null"
56122987 1111 }
7aacca6f 1112 },
7aacca6f 1113 "GET" : {
44660702 1114 "description" : "List rules.",
7aacca6f 1115 "method" : "GET",
44660702
DM
1116 "name" : "get_rules",
1117 "parameters" : {
1118 "additionalProperties" : 0,
7aacca6f 1119 "properties" : {
44660702
DM
1120 "group" : {
1121 "description" : "Security Group name.",
4bd7df8b 1122 "maxLength" : 18,
44660702
DM
1123 "minLength" : 2,
1124 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1125 "type" : "string"
7aacca6f 1126 }
44660702 1127 }
7aacca6f
DM
1128 },
1129 "permissions" : {
1130 "check" : [
1131 "perm",
1132 "/",
1133 [
1134 "Sys.Audit"
1135 ]
1136 ]
1137 },
44660702
DM
1138 "proxyto" : null,
1139 "returns" : {
1140 "items" : {
1141 "properties" : {
1142 "pos" : {
1143 "type" : "integer"
1144 }
1145 },
1146 "type" : "object"
1147 },
1148 "links" : [
1149 {
1150 "href" : "{pos}",
1151 "rel" : "child"
1152 }
1153 ],
1154 "type" : "array"
1155 }
1156 },
1157 "POST" : {
1158 "description" : "Create new rule.",
1159 "method" : "POST",
1160 "name" : "create_rule",
7aacca6f
DM
1161 "parameters" : {
1162 "additionalProperties" : 0,
1163 "properties" : {
44660702
DM
1164 "action" : {
1165 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1166 "maxLength" : 20,
56122987 1167 "minLength" : 2,
44660702
DM
1168 "optional" : 0,
1169 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1170 "type" : "string"
56122987 1171 },
44660702 1172 "comment" : {
e94f0d56 1173 "description" : "Descriptive comment.",
56122987 1174 "optional" : 1,
013dc89f
DM
1175 "type" : "string",
1176 "typetext" : "<string>"
56122987 1177 },
44660702
DM
1178 "dest" : {
1179 "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
1180 "format" : "pve-fw-addr-spec",
1181 "optional" : 1,
013dc89f
DM
1182 "type" : "string",
1183 "typetext" : "<string>"
56122987 1184 },
44660702
DM
1185 "digest" : {
1186 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1187 "maxLength" : 40,
7aacca6f 1188 "optional" : 1,
013dc89f
DM
1189 "type" : "string",
1190 "typetext" : "<string>"
56122987 1191 },
44660702
DM
1192 "dport" : {
1193 "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.",
1194 "format" : "pve-fw-dport-spec",
56122987 1195 "optional" : 1,
013dc89f
DM
1196 "type" : "string",
1197 "typetext" : "<string>"
56122987 1198 },
7aacca6f 1199 "enable" : {
e94f0d56 1200 "description" : "Flag to enable/disable a rule.",
44660702 1201 "minimum" : 0,
7aacca6f 1202 "optional" : 1,
4bd7df8b 1203 "type" : "integer",
013dc89f 1204 "typetext" : "<integer> (0 - N)"
56122987 1205 },
44660702
DM
1206 "group" : {
1207 "description" : "Security Group name.",
4bd7df8b 1208 "maxLength" : 18,
44660702 1209 "minLength" : 2,
7aacca6f 1210 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1211 "type" : "string"
1212 },
1213 "iface" : {
1214 "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.",
1215 "format" : "pve-iface",
1216 "maxLength" : 20,
7aacca6f 1217 "minLength" : 2,
44660702 1218 "optional" : 1,
013dc89f
DM
1219 "type" : "string",
1220 "typetext" : "<string>"
56122987 1221 },
95895385
TL
1222 "log" : {
1223 "description" : "Log level for firewall rule.",
1224 "enum" : [
1225 "emerg",
1226 "alert",
1227 "crit",
1228 "err",
1229 "warning",
1230 "notice",
1231 "info",
1232 "debug",
1233 "nolog"
1234 ],
1235 "optional" : 1,
1236 "type" : "string"
1237 },
7aacca6f 1238 "macro" : {
e94f0d56 1239 "description" : "Use predefined standard macro.",
44660702 1240 "maxLength" : 128,
7aacca6f 1241 "optional" : 1,
013dc89f
DM
1242 "type" : "string",
1243 "typetext" : "<string>"
7aacca6f
DM
1244 },
1245 "pos" : {
1246 "description" : "Update rule at position <pos>.",
44660702 1247 "minimum" : 0,
56122987 1248 "optional" : 1,
4bd7df8b 1249 "type" : "integer",
013dc89f 1250 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1251 },
1252 "proto" : {
1253 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1254 "format" : "pve-fw-protocol-spec",
7aacca6f 1255 "optional" : 1,
013dc89f
DM
1256 "type" : "string",
1257 "typetext" : "<string>"
44660702
DM
1258 },
1259 "source" : {
1260 "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.",
1261 "format" : "pve-fw-addr-spec",
1262 "optional" : 1,
013dc89f
DM
1263 "type" : "string",
1264 "typetext" : "<string>"
44660702
DM
1265 },
1266 "sport" : {
1267 "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.",
1268 "format" : "pve-fw-sport-spec",
1269 "optional" : 1,
013dc89f
DM
1270 "type" : "string",
1271 "typetext" : "<string>"
44660702
DM
1272 },
1273 "type" : {
e94f0d56 1274 "description" : "Rule type.",
44660702
DM
1275 "enum" : [
1276 "in",
1277 "out",
1278 "group"
1279 ],
1280 "optional" : 0,
1281 "type" : "string"
56122987 1282 }
44660702 1283 }
56122987 1284 },
56122987
DM
1285 "permissions" : {
1286 "check" : [
1287 "perm",
1288 "/",
1289 [
1290 "Sys.Modify"
1291 ]
1292 ]
1293 },
44660702
DM
1294 "protected" : 1,
1295 "proxyto" : null,
56122987
DM
1296 "returns" : {
1297 "type" : "null"
7aacca6f 1298 }
44660702
DM
1299 }
1300 },
1301 "leaf" : 0,
1302 "path" : "/cluster/firewall/groups/{group}",
1303 "text" : "{group}"
1304 }
1305 ],
1306 "info" : {
1307 "GET" : {
1308 "description" : "List security groups.",
1309 "method" : "GET",
1310 "name" : "list_security_groups",
1311 "parameters" : {
1312 "additionalProperties" : 0
1313 },
1314 "permissions" : {
1315 "user" : "all"
1316 },
1317 "returns" : {
1318 "items" : {
1319 "properties" : {
1320 "comment" : {
1321 "optional" : 1,
1322 "type" : "string"
1323 },
1324 "digest" : {
1325 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1326 "maxLength" : 40,
1327 "optional" : 0,
1328 "type" : "string"
1329 },
1330 "group" : {
1331 "description" : "Security Group name.",
4bd7df8b 1332 "maxLength" : 18,
44660702
DM
1333 "minLength" : 2,
1334 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1335 "type" : "string"
1336 }
1337 },
1338 "type" : "object"
56122987 1339 },
44660702
DM
1340 "links" : [
1341 {
1342 "href" : "{group}",
1343 "rel" : "child"
1344 }
1345 ],
1346 "type" : "array"
1347 }
1348 },
1349 "POST" : {
1350 "description" : "Create new security group.",
1351 "method" : "POST",
1352 "name" : "create_security_group",
1353 "parameters" : {
1354 "additionalProperties" : 0,
1355 "properties" : {
1356 "comment" : {
1357 "optional" : 1,
013dc89f
DM
1358 "type" : "string",
1359 "typetext" : "<string>"
44660702
DM
1360 },
1361 "digest" : {
1362 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1363 "maxLength" : 40,
1364 "optional" : 1,
013dc89f
DM
1365 "type" : "string",
1366 "typetext" : "<string>"
44660702
DM
1367 },
1368 "group" : {
1369 "description" : "Security Group name.",
4bd7df8b 1370 "maxLength" : 18,
44660702
DM
1371 "minLength" : 2,
1372 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1373 "type" : "string"
1374 },
1375 "rename" : {
1376 "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 1377 "maxLength" : 18,
44660702
DM
1378 "minLength" : 2,
1379 "optional" : 1,
1380 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1381 "type" : "string"
1382 }
1383 }
1384 },
1385 "permissions" : {
1386 "check" : [
1387 "perm",
1388 "/",
1389 [
1390 "Sys.Modify"
1391 ]
1392 ]
1393 },
1394 "protected" : 1,
1395 "returns" : {
1396 "type" : "null"
1397 }
1398 }
1399 },
1400 "leaf" : 0,
1401 "path" : "/cluster/firewall/groups",
1402 "text" : "groups"
1403 },
1404 {
1405 "children" : [
1406 {
1407 "info" : {
7aacca6f 1408 "DELETE" : {
44660702
DM
1409 "description" : "Delete rule.",
1410 "method" : "DELETE",
1411 "name" : "delete_rule",
1412 "parameters" : {
1413 "additionalProperties" : 0,
1414 "properties" : {
1415 "digest" : {
1416 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1417 "maxLength" : 40,
1418 "optional" : 1,
013dc89f
DM
1419 "type" : "string",
1420 "typetext" : "<string>"
44660702
DM
1421 },
1422 "pos" : {
1423 "description" : "Update rule at position <pos>.",
1424 "minimum" : 0,
1425 "optional" : 1,
4bd7df8b 1426 "type" : "integer",
013dc89f 1427 "typetext" : "<integer> (0 - N)"
44660702
DM
1428 }
1429 }
1430 },
56122987
DM
1431 "permissions" : {
1432 "check" : [
1433 "perm",
1434 "/",
1435 [
7aacca6f 1436 "Sys.Modify"
56122987
DM
1437 ]
1438 ]
1439 },
44660702 1440 "protected" : 1,
56122987
DM
1441 "proxyto" : null,
1442 "returns" : {
7aacca6f 1443 "type" : "null"
44660702
DM
1444 }
1445 },
1446 "GET" : {
1447 "description" : "Get single rule data.",
1448 "method" : "GET",
1449 "name" : "get_rule",
56122987
DM
1450 "parameters" : {
1451 "additionalProperties" : 0,
1452 "properties" : {
1453 "pos" : {
7aacca6f 1454 "description" : "Update rule at position <pos>.",
44660702 1455 "minimum" : 0,
56122987 1456 "optional" : 1,
4bd7df8b 1457 "type" : "integer",
013dc89f 1458 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1459 }
1460 }
1461 },
7aacca6f
DM
1462 "permissions" : {
1463 "check" : [
1464 "perm",
1465 "/",
1466 [
1467 "Sys.Audit"
1468 ]
1469 ]
56122987 1470 },
44660702
DM
1471 "proxyto" : null,
1472 "returns" : {
7aacca6f 1473 "properties" : {
e2d681b3
TL
1474 "action" : {
1475 "type" : "string"
1476 },
1477 "comment" : {
1478 "optional" : 1,
1479 "type" : "string"
1480 },
1481 "dest" : {
1482 "optional" : 1,
1483 "type" : "string"
1484 },
1485 "dport" : {
1486 "optional" : 1,
1487 "type" : "string"
1488 },
1489 "enable" : {
1490 "optional" : 1,
1491 "type" : "integer"
1492 },
1493 "iface" : {
1494 "optional" : 1,
1495 "type" : "string"
1496 },
1497 "ipversion" : {
1498 "optional" : 1,
1499 "type" : "integer"
1500 },
95895385
TL
1501 "log" : {
1502 "description" : "Log level for firewall rule",
1503 "enum" : [
1504 "emerg",
1505 "alert",
1506 "crit",
1507 "err",
1508 "warning",
1509 "notice",
1510 "info",
1511 "debug",
1512 "nolog"
1513 ],
1514 "optional" : 1,
1515 "type" : "string"
1516 },
e2d681b3
TL
1517 "macro" : {
1518 "optional" : 1,
5f26e15b 1519 "type" : "string"
e2d681b3 1520 },
44660702
DM
1521 "pos" : {
1522 "type" : "integer"
e2d681b3
TL
1523 },
1524 "proto" : {
1525 "optional" : 1,
1526 "type" : "string"
1527 },
1528 "source" : {
1529 "optional" : 1,
1530 "type" : "string"
1531 },
1532 "sport" : {
1533 "optional" : 1,
1534 "type" : "string"
1535 },
1536 "type" : {
1537 "type" : "string"
7aacca6f 1538 }
44660702
DM
1539 },
1540 "type" : "object"
1541 }
56122987 1542 },
44660702
DM
1543 "PUT" : {
1544 "description" : "Modify rule data.",
1545 "method" : "PUT",
1546 "name" : "update_rule",
7aacca6f
DM
1547 "parameters" : {
1548 "additionalProperties" : 0,
1549 "properties" : {
44660702
DM
1550 "action" : {
1551 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1552 "maxLength" : 20,
1553 "minLength" : 2,
1554 "optional" : 1,
1555 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1556 "type" : "string"
7aacca6f 1557 },
44660702 1558 "comment" : {
e94f0d56 1559 "description" : "Descriptive comment.",
44660702 1560 "optional" : 1,
013dc89f
DM
1561 "type" : "string",
1562 "typetext" : "<string>"
7aacca6f 1563 },
44660702
DM
1564 "delete" : {
1565 "description" : "A list of settings you want to delete.",
1566 "format" : "pve-configid-list",
1567 "optional" : 1,
013dc89f
DM
1568 "type" : "string",
1569 "typetext" : "<string>"
44660702
DM
1570 },
1571 "dest" : {
1572 "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.",
1573 "format" : "pve-fw-addr-spec",
1574 "optional" : 1,
013dc89f
DM
1575 "type" : "string",
1576 "typetext" : "<string>"
44660702
DM
1577 },
1578 "digest" : {
1579 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1580 "maxLength" : 40,
1581 "optional" : 1,
013dc89f
DM
1582 "type" : "string",
1583 "typetext" : "<string>"
44660702
DM
1584 },
1585 "dport" : {
1586 "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.",
1587 "format" : "pve-fw-dport-spec",
1588 "optional" : 1,
013dc89f
DM
1589 "type" : "string",
1590 "typetext" : "<string>"
44660702
DM
1591 },
1592 "enable" : {
e94f0d56 1593 "description" : "Flag to enable/disable a rule.",
44660702
DM
1594 "minimum" : 0,
1595 "optional" : 1,
4bd7df8b 1596 "type" : "integer",
013dc89f 1597 "typetext" : "<integer> (0 - N)"
44660702
DM
1598 },
1599 "iface" : {
1600 "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.",
1601 "format" : "pve-iface",
1602 "maxLength" : 20,
7aacca6f 1603 "minLength" : 2,
44660702 1604 "optional" : 1,
013dc89f
DM
1605 "type" : "string",
1606 "typetext" : "<string>"
7aacca6f 1607 },
95895385
TL
1608 "log" : {
1609 "description" : "Log level for firewall rule.",
1610 "enum" : [
1611 "emerg",
1612 "alert",
1613 "crit",
1614 "err",
1615 "warning",
1616 "notice",
1617 "info",
1618 "debug",
1619 "nolog"
1620 ],
1621 "optional" : 1,
1622 "type" : "string"
1623 },
44660702 1624 "macro" : {
e94f0d56 1625 "description" : "Use predefined standard macro.",
44660702
DM
1626 "maxLength" : 128,
1627 "optional" : 1,
013dc89f
DM
1628 "type" : "string",
1629 "typetext" : "<string>"
44660702
DM
1630 },
1631 "moveto" : {
1632 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1633 "minimum" : 0,
1634 "optional" : 1,
4bd7df8b 1635 "type" : "integer",
013dc89f 1636 "typetext" : "<integer> (0 - N)"
44660702
DM
1637 },
1638 "pos" : {
1639 "description" : "Update rule at position <pos>.",
1640 "minimum" : 0,
1641 "optional" : 1,
4bd7df8b 1642 "type" : "integer",
013dc89f 1643 "typetext" : "<integer> (0 - N)"
44660702
DM
1644 },
1645 "proto" : {
1646 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1647 "format" : "pve-fw-protocol-spec",
1648 "optional" : 1,
013dc89f
DM
1649 "type" : "string",
1650 "typetext" : "<string>"
44660702
DM
1651 },
1652 "source" : {
1653 "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.",
1654 "format" : "pve-fw-addr-spec",
1655 "optional" : 1,
013dc89f
DM
1656 "type" : "string",
1657 "typetext" : "<string>"
44660702
DM
1658 },
1659 "sport" : {
1660 "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.",
1661 "format" : "pve-fw-sport-spec",
1662 "optional" : 1,
013dc89f
DM
1663 "type" : "string",
1664 "typetext" : "<string>"
44660702
DM
1665 },
1666 "type" : {
e94f0d56 1667 "description" : "Rule type.",
44660702
DM
1668 "enum" : [
1669 "in",
1670 "out",
1671 "group"
1672 ],
1673 "optional" : 1,
1674 "type" : "string"
7aacca6f 1675 }
56122987
DM
1676 }
1677 },
7aacca6f
DM
1678 "permissions" : {
1679 "check" : [
1680 "perm",
1681 "/",
1682 [
1683 "Sys.Modify"
1684 ]
1685 ]
1686 },
44660702
DM
1687 "protected" : 1,
1688 "proxyto" : null,
1689 "returns" : {
1690 "type" : "null"
1691 }
7aacca6f 1692 }
56122987 1693 },
44660702
DM
1694 "leaf" : 1,
1695 "path" : "/cluster/firewall/rules/{pos}",
1696 "text" : "{pos}"
7aacca6f
DM
1697 }
1698 ],
7aacca6f 1699 "info" : {
44660702
DM
1700 "GET" : {
1701 "description" : "List rules.",
1702 "method" : "GET",
1703 "name" : "get_rules",
7aacca6f 1704 "parameters" : {
44660702 1705 "additionalProperties" : 0
7aacca6f
DM
1706 },
1707 "permissions" : {
1708 "check" : [
1709 "perm",
1710 "/",
1711 [
44660702 1712 "Sys.Audit"
7aacca6f
DM
1713 ]
1714 ]
1715 },
44660702 1716 "proxyto" : null,
7aacca6f 1717 "returns" : {
7aacca6f
DM
1718 "items" : {
1719 "properties" : {
44660702
DM
1720 "pos" : {
1721 "type" : "integer"
7aacca6f
DM
1722 }
1723 },
1724 "type" : "object"
56122987 1725 },
7aacca6f
DM
1726 "links" : [
1727 {
44660702 1728 "href" : "{pos}",
7aacca6f
DM
1729 "rel" : "child"
1730 }
44660702
DM
1731 ],
1732 "type" : "array"
7aacca6f 1733 }
44660702 1734 },
7aacca6f 1735 "POST" : {
44660702 1736 "description" : "Create new rule.",
7aacca6f 1737 "method" : "POST",
44660702 1738 "name" : "create_rule",
7aacca6f
DM
1739 "parameters" : {
1740 "additionalProperties" : 0,
1741 "properties" : {
44660702
DM
1742 "action" : {
1743 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1744 "maxLength" : 20,
7aacca6f 1745 "minLength" : 2,
44660702
DM
1746 "optional" : 0,
1747 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1748 "type" : "string"
7aacca6f
DM
1749 },
1750 "comment" : {
e94f0d56 1751 "description" : "Descriptive comment.",
7aacca6f 1752 "optional" : 1,
013dc89f
DM
1753 "type" : "string",
1754 "typetext" : "<string>"
44660702
DM
1755 },
1756 "dest" : {
1757 "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.",
1758 "format" : "pve-fw-addr-spec",
1759 "optional" : 1,
013dc89f
DM
1760 "type" : "string",
1761 "typetext" : "<string>"
44660702
DM
1762 },
1763 "digest" : {
1764 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1765 "maxLength" : 40,
1766 "optional" : 1,
013dc89f
DM
1767 "type" : "string",
1768 "typetext" : "<string>"
44660702
DM
1769 },
1770 "dport" : {
1771 "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.",
1772 "format" : "pve-fw-dport-spec",
1773 "optional" : 1,
013dc89f
DM
1774 "type" : "string",
1775 "typetext" : "<string>"
44660702
DM
1776 },
1777 "enable" : {
e94f0d56 1778 "description" : "Flag to enable/disable a rule.",
44660702
DM
1779 "minimum" : 0,
1780 "optional" : 1,
4bd7df8b 1781 "type" : "integer",
013dc89f 1782 "typetext" : "<integer> (0 - N)"
44660702
DM
1783 },
1784 "iface" : {
1785 "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.",
1786 "format" : "pve-iface",
1787 "maxLength" : 20,
1788 "minLength" : 2,
1789 "optional" : 1,
013dc89f
DM
1790 "type" : "string",
1791 "typetext" : "<string>"
44660702 1792 },
95895385
TL
1793 "log" : {
1794 "description" : "Log level for firewall rule.",
1795 "enum" : [
1796 "emerg",
1797 "alert",
1798 "crit",
1799 "err",
1800 "warning",
1801 "notice",
1802 "info",
1803 "debug",
1804 "nolog"
1805 ],
1806 "optional" : 1,
1807 "type" : "string"
1808 },
44660702 1809 "macro" : {
e94f0d56 1810 "description" : "Use predefined standard macro.",
44660702
DM
1811 "maxLength" : 128,
1812 "optional" : 1,
013dc89f
DM
1813 "type" : "string",
1814 "typetext" : "<string>"
44660702
DM
1815 },
1816 "pos" : {
1817 "description" : "Update rule at position <pos>.",
1818 "minimum" : 0,
1819 "optional" : 1,
4bd7df8b 1820 "type" : "integer",
013dc89f 1821 "typetext" : "<integer> (0 - N)"
44660702
DM
1822 },
1823 "proto" : {
1824 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1825 "format" : "pve-fw-protocol-spec",
1826 "optional" : 1,
013dc89f
DM
1827 "type" : "string",
1828 "typetext" : "<string>"
44660702
DM
1829 },
1830 "source" : {
1831 "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.",
1832 "format" : "pve-fw-addr-spec",
1833 "optional" : 1,
013dc89f
DM
1834 "type" : "string",
1835 "typetext" : "<string>"
44660702
DM
1836 },
1837 "sport" : {
1838 "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.",
1839 "format" : "pve-fw-sport-spec",
1840 "optional" : 1,
013dc89f
DM
1841 "type" : "string",
1842 "typetext" : "<string>"
44660702
DM
1843 },
1844 "type" : {
e94f0d56 1845 "description" : "Rule type.",
44660702
DM
1846 "enum" : [
1847 "in",
1848 "out",
1849 "group"
1850 ],
1851 "optional" : 0,
1852 "type" : "string"
7aacca6f
DM
1853 }
1854 }
1855 },
1856 "permissions" : {
1857 "check" : [
1858 "perm",
1859 "/",
1860 [
1861 "Sys.Modify"
1862 ]
1863 ]
1864 },
44660702
DM
1865 "protected" : 1,
1866 "proxyto" : null,
7aacca6f 1867 "returns" : {
44660702
DM
1868 "type" : "null"
1869 }
1870 }
1871 },
1872 "leaf" : 0,
1873 "path" : "/cluster/firewall/rules",
1874 "text" : "rules"
1875 },
1876 {
1877 "children" : [
1878 {
1879 "children" : [
1880 {
1881 "info" : {
1882 "DELETE" : {
1883 "description" : "Remove IP or Network from IPSet.",
1884 "method" : "DELETE",
1885 "name" : "remove_ip",
1886 "parameters" : {
1887 "additionalProperties" : 0,
1888 "properties" : {
1889 "cidr" : {
1890 "description" : "Network/IP specification in CIDR format.",
1891 "format" : "IPorCIDRorAlias",
013dc89f
DM
1892 "type" : "string",
1893 "typetext" : "<string>"
44660702
DM
1894 },
1895 "digest" : {
1896 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1897 "maxLength" : 40,
1898 "optional" : 1,
013dc89f
DM
1899 "type" : "string",
1900 "typetext" : "<string>"
44660702
DM
1901 },
1902 "name" : {
1903 "description" : "IP set name.",
1904 "maxLength" : 64,
1905 "minLength" : 2,
1906 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1907 "type" : "string"
1908 }
1909 }
1910 },
1911 "permissions" : {
1912 "check" : [
1913 "perm",
1914 "/",
1915 [
1916 "Sys.Modify"
1917 ]
1918 ]
1919 },
1920 "protected" : 1,
1921 "returns" : {
1922 "type" : "null"
1923 }
7aacca6f 1924 },
44660702
DM
1925 "GET" : {
1926 "description" : "Read IP or Network settings from IPSet.",
1927 "method" : "GET",
1928 "name" : "read_ip",
1929 "parameters" : {
1930 "additionalProperties" : 0,
1931 "properties" : {
1932 "cidr" : {
1933 "description" : "Network/IP specification in CIDR format.",
1934 "format" : "IPorCIDRorAlias",
013dc89f
DM
1935 "type" : "string",
1936 "typetext" : "<string>"
44660702
DM
1937 },
1938 "name" : {
1939 "description" : "IP set name.",
1940 "maxLength" : 64,
1941 "minLength" : 2,
1942 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1943 "type" : "string"
1944 }
1945 }
1946 },
1947 "permissions" : {
1948 "check" : [
1949 "perm",
1950 "/",
1951 [
1952 "Sys.Audit"
1953 ]
1954 ]
1955 },
1956 "protected" : 1,
1957 "returns" : {
1958 "type" : "object"
1959 }
7aacca6f 1960 },
44660702
DM
1961 "PUT" : {
1962 "description" : "Update IP or Network settings",
1963 "method" : "PUT",
1964 "name" : "update_ip",
1965 "parameters" : {
1966 "additionalProperties" : 0,
1967 "properties" : {
1968 "cidr" : {
1969 "description" : "Network/IP specification in CIDR format.",
1970 "format" : "IPorCIDRorAlias",
013dc89f
DM
1971 "type" : "string",
1972 "typetext" : "<string>"
44660702
DM
1973 },
1974 "comment" : {
1975 "optional" : 1,
013dc89f
DM
1976 "type" : "string",
1977 "typetext" : "<string>"
44660702
DM
1978 },
1979 "digest" : {
1980 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1981 "maxLength" : 40,
1982 "optional" : 1,
013dc89f
DM
1983 "type" : "string",
1984 "typetext" : "<string>"
44660702
DM
1985 },
1986 "name" : {
1987 "description" : "IP set name.",
1988 "maxLength" : 64,
1989 "minLength" : 2,
1990 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1991 "type" : "string"
1992 },
1993 "nomatch" : {
1994 "optional" : 1,
013dc89f
DM
1995 "type" : "boolean",
1996 "typetext" : "<boolean>"
44660702
DM
1997 }
1998 }
1999 },
2000 "permissions" : {
2001 "check" : [
2002 "perm",
2003 "/",
2004 [
2005 "Sys.Modify"
2006 ]
2007 ]
2008 },
2009 "protected" : 1,
2010 "returns" : {
2011 "type" : "null"
2012 }
7aacca6f
DM
2013 }
2014 },
44660702
DM
2015 "leaf" : 1,
2016 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
2017 "text" : "{cidr}"
7aacca6f 2018 }
44660702 2019 ],
7aacca6f
DM
2020 "info" : {
2021 "DELETE" : {
44660702
DM
2022 "description" : "Delete IPSet",
2023 "method" : "DELETE",
2024 "name" : "delete_ipset",
56122987 2025 "parameters" : {
44660702 2026 "additionalProperties" : 0,
56122987
DM
2027 "properties" : {
2028 "name" : {
44660702 2029 "description" : "IP set name.",
56122987 2030 "maxLength" : 64,
44660702 2031 "minLength" : 2,
56122987 2032 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 2033 "type" : "string"
56122987 2034 }
44660702 2035 }
7aacca6f 2036 },
56122987
DM
2037 "permissions" : {
2038 "check" : [
2039 "perm",
2040 "/",
2041 [
2042 "Sys.Modify"
2043 ]
2044 ]
2045 },
7aacca6f
DM
2046 "protected" : 1,
2047 "returns" : {
2048 "type" : "null"
44660702 2049 }
7aacca6f 2050 },
44660702
DM
2051 "GET" : {
2052 "description" : "List IPSet content",
2053 "method" : "GET",
2054 "name" : "get_ipset",
56122987
DM
2055 "parameters" : {
2056 "additionalProperties" : 0,
2057 "properties" : {
7aacca6f 2058 "name" : {
44660702 2059 "description" : "IP set name.",
7aacca6f 2060 "maxLength" : 64,
7aacca6f 2061 "minLength" : 2,
44660702 2062 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 2063 "type" : "string"
56122987 2064 }
7aacca6f 2065 }
56122987 2066 },
56122987
DM
2067 "permissions" : {
2068 "check" : [
2069 "perm",
2070 "/",
2071 [
44660702 2072 "Sys.Audit"
56122987
DM
2073 ]
2074 ]
44660702
DM
2075 },
2076 "returns" : {
2077 "items" : {
2078 "properties" : {
2079 "cidr" : {
2080 "type" : "string"
2081 },
2082 "comment" : {
2083 "optional" : 1,
2084 "type" : "string"
2085 },
2086 "digest" : {
2087 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2088 "maxLength" : 40,
2089 "optional" : 0,
2090 "type" : "string"
2091 },
2092 "nomatch" : {
2093 "optional" : 1,
2094 "type" : "boolean"
2095 }
2096 },
2097 "type" : "object"
2098 },
2099 "links" : [
2100 {
2101 "href" : "{cidr}",
2102 "rel" : "child"
2103 }
2104 ],
2105 "type" : "array"
7aacca6f
DM
2106 }
2107 },
44660702
DM
2108 "POST" : {
2109 "description" : "Add IP or Network to IPSet.",
2110 "method" : "POST",
2111 "name" : "create_ip",
56122987
DM
2112 "parameters" : {
2113 "additionalProperties" : 0,
2114 "properties" : {
44660702
DM
2115 "cidr" : {
2116 "description" : "Network/IP specification in CIDR format.",
2117 "format" : "IPorCIDRorAlias",
013dc89f
DM
2118 "type" : "string",
2119 "typetext" : "<string>"
44660702
DM
2120 },
2121 "comment" : {
2122 "optional" : 1,
013dc89f
DM
2123 "type" : "string",
2124 "typetext" : "<string>"
44660702
DM
2125 },
2126 "name" : {
2127 "description" : "IP set name.",
2128 "maxLength" : 64,
2129 "minLength" : 2,
2130 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2131 "type" : "string"
2132 },
2133 "nomatch" : {
2134 "optional" : 1,
013dc89f
DM
2135 "type" : "boolean",
2136 "typetext" : "<boolean>"
56122987
DM
2137 }
2138 }
2139 },
56122987
DM
2140 "permissions" : {
2141 "check" : [
2142 "perm",
2143 "/",
2144 [
44660702 2145 "Sys.Modify"
56122987
DM
2146 ]
2147 ]
2148 },
44660702 2149 "protected" : 1,
56122987 2150 "returns" : {
44660702
DM
2151 "type" : "null"
2152 }
56122987
DM
2153 }
2154 },
44660702
DM
2155 "leaf" : 0,
2156 "path" : "/cluster/firewall/ipset/{name}",
2157 "text" : "{name}"
56122987
DM
2158 }
2159 ],
56122987 2160 "info" : {
44660702
DM
2161 "GET" : {
2162 "description" : "List IPSets",
2163 "method" : "GET",
2164 "name" : "ipset_index",
56122987 2165 "parameters" : {
7aacca6f 2166 "additionalProperties" : 0
56122987 2167 },
56122987
DM
2168 "permissions" : {
2169 "check" : [
2170 "perm",
2171 "/",
2172 [
7aacca6f 2173 "Sys.Audit"
56122987
DM
2174 ]
2175 ]
2176 },
56122987
DM
2177 "returns" : {
2178 "items" : {
2179 "properties" : {
44660702
DM
2180 "comment" : {
2181 "optional" : 1,
2182 "type" : "string"
56122987 2183 },
44660702
DM
2184 "digest" : {
2185 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2186 "maxLength" : 40,
2187 "optional" : 0,
2188 "type" : "string"
2189 },
2190 "name" : {
2191 "description" : "IP set name.",
2192 "maxLength" : 64,
2193 "minLength" : 2,
2194 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 2195 "type" : "string"
56122987
DM
2196 }
2197 },
2198 "type" : "object"
44660702
DM
2199 },
2200 "links" : [
2201 {
2202 "href" : "{name}",
2203 "rel" : "child"
2204 }
2205 ],
2206 "type" : "array"
56122987 2207 }
44660702
DM
2208 },
2209 "POST" : {
2210 "description" : "Create new IPSet",
2211 "method" : "POST",
2212 "name" : "create_ipset",
7aacca6f
DM
2213 "parameters" : {
2214 "additionalProperties" : 0,
2215 "properties" : {
44660702
DM
2216 "comment" : {
2217 "optional" : 1,
013dc89f
DM
2218 "type" : "string",
2219 "typetext" : "<string>"
44660702
DM
2220 },
2221 "digest" : {
2222 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2223 "maxLength" : 40,
2224 "optional" : 1,
013dc89f
DM
2225 "type" : "string",
2226 "typetext" : "<string>"
44660702
DM
2227 },
2228 "name" : {
2229 "description" : "IP set name.",
2230 "maxLength" : 64,
2231 "minLength" : 2,
2232 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2233 "type" : "string"
2234 },
2235 "rename" : {
2236 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2237 "maxLength" : 64,
2238 "minLength" : 2,
2239 "optional" : 1,
2240 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2241 "type" : "string"
7aacca6f
DM
2242 }
2243 }
2244 },
56122987
DM
2245 "permissions" : {
2246 "check" : [
2247 "perm",
2248 "/",
2249 [
44660702 2250 "Sys.Modify"
56122987
DM
2251 ]
2252 ]
2253 },
44660702 2254 "protected" : 1,
56122987 2255 "returns" : {
44660702
DM
2256 "type" : "null"
2257 }
56122987 2258 }
7aacca6f 2259 },
44660702
DM
2260 "leaf" : 0,
2261 "path" : "/cluster/firewall/ipset",
2262 "text" : "ipset"
2263 },
56122987 2264 {
44660702
DM
2265 "children" : [
2266 {
2267 "info" : {
2268 "DELETE" : {
2269 "description" : "Remove IP or Network alias.",
2270 "method" : "DELETE",
2271 "name" : "remove_alias",
2272 "parameters" : {
2273 "additionalProperties" : 0,
2274 "properties" : {
2275 "digest" : {
2276 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2277 "maxLength" : 40,
2278 "optional" : 1,
013dc89f
DM
2279 "type" : "string",
2280 "typetext" : "<string>"
44660702
DM
2281 },
2282 "name" : {
2283 "description" : "Alias name.",
2284 "maxLength" : 64,
2285 "minLength" : 2,
2286 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2287 "type" : "string"
2288 }
2289 }
2290 },
2291 "permissions" : {
2292 "check" : [
2293 "perm",
2294 "/",
2295 [
2296 "Sys.Modify"
2297 ]
2298 ]
2299 },
2300 "protected" : 1,
2301 "returns" : {
2302 "type" : "null"
2303 }
2304 },
2305 "GET" : {
2306 "description" : "Read alias.",
2307 "method" : "GET",
2308 "name" : "read_alias",
2309 "parameters" : {
2310 "additionalProperties" : 0,
2311 "properties" : {
2312 "name" : {
2313 "description" : "Alias name.",
2314 "maxLength" : 64,
2315 "minLength" : 2,
2316 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2317 "type" : "string"
2318 }
2319 }
2320 },
2321 "permissions" : {
2322 "check" : [
2323 "perm",
2324 "/",
2325 [
2326 "Sys.Audit"
2327 ]
2328 ]
2329 },
2330 "returns" : {
2331 "type" : "object"
2332 }
2333 },
2334 "PUT" : {
2335 "description" : "Update IP or Network alias.",
2336 "method" : "PUT",
2337 "name" : "update_alias",
2338 "parameters" : {
2339 "additionalProperties" : 0,
2340 "properties" : {
2341 "cidr" : {
2342 "description" : "Network/IP specification in CIDR format.",
2343 "format" : "IPorCIDR",
013dc89f
DM
2344 "type" : "string",
2345 "typetext" : "<string>"
44660702
DM
2346 },
2347 "comment" : {
2348 "optional" : 1,
013dc89f
DM
2349 "type" : "string",
2350 "typetext" : "<string>"
44660702
DM
2351 },
2352 "digest" : {
2353 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2354 "maxLength" : 40,
2355 "optional" : 1,
013dc89f
DM
2356 "type" : "string",
2357 "typetext" : "<string>"
44660702
DM
2358 },
2359 "name" : {
2360 "description" : "Alias name.",
2361 "maxLength" : 64,
2362 "minLength" : 2,
2363 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2364 "type" : "string"
2365 },
2366 "rename" : {
2367 "description" : "Rename an existing alias.",
2368 "maxLength" : 64,
2369 "minLength" : 2,
2370 "optional" : 1,
2371 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2372 "type" : "string"
2373 }
2374 }
2375 },
2376 "permissions" : {
2377 "check" : [
2378 "perm",
2379 "/",
2380 [
2381 "Sys.Modify"
2382 ]
2383 ]
2384 },
2385 "protected" : 1,
2386 "returns" : {
2387 "type" : "null"
2388 }
2389 }
2390 },
2391 "leaf" : 1,
2392 "path" : "/cluster/firewall/aliases/{name}",
2393 "text" : "{name}"
2394 }
2395 ],
2396 "info" : {
2397 "GET" : {
2398 "description" : "List aliases",
2399 "method" : "GET",
2400 "name" : "get_aliases",
2401 "parameters" : {
2402 "additionalProperties" : 0
2403 },
2404 "permissions" : {
2405 "check" : [
2406 "perm",
2407 "/",
2408 [
2409 "Sys.Audit"
2410 ]
2411 ]
2412 },
2413 "returns" : {
2414 "items" : {
2415 "properties" : {
2416 "cidr" : {
2417 "type" : "string"
2418 },
2419 "comment" : {
2420 "optional" : 1,
2421 "type" : "string"
2422 },
2423 "digest" : {
2424 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2425 "maxLength" : 40,
2426 "optional" : 0,
2427 "type" : "string"
2428 },
2429 "name" : {
2430 "type" : "string"
2431 }
2432 },
2433 "type" : "object"
2434 },
2435 "links" : [
2436 {
2437 "href" : "{name}",
2438 "rel" : "child"
2439 }
2440 ],
2441 "type" : "array"
2442 }
2443 },
2444 "POST" : {
2445 "description" : "Create IP or Network Alias.",
2446 "method" : "POST",
2447 "name" : "create_alias",
56122987
DM
2448 "parameters" : {
2449 "additionalProperties" : 0,
2450 "properties" : {
44660702
DM
2451 "cidr" : {
2452 "description" : "Network/IP specification in CIDR format.",
2453 "format" : "IPorCIDR",
013dc89f
DM
2454 "type" : "string",
2455 "typetext" : "<string>"
44660702
DM
2456 },
2457 "comment" : {
2458 "optional" : 1,
013dc89f
DM
2459 "type" : "string",
2460 "typetext" : "<string>"
44660702
DM
2461 },
2462 "name" : {
2463 "description" : "Alias name.",
2464 "maxLength" : 64,
2465 "minLength" : 2,
2466 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2467 "type" : "string"
56122987
DM
2468 }
2469 }
2470 },
56122987
DM
2471 "permissions" : {
2472 "check" : [
2473 "perm",
2474 "/",
2475 [
2476 "Sys.Modify"
2477 ]
2478 ]
2479 },
44660702 2480 "protected" : 1,
56122987
DM
2481 "returns" : {
2482 "type" : "null"
2483 }
44660702
DM
2484 }
2485 },
2486 "leaf" : 0,
2487 "path" : "/cluster/firewall/aliases",
2488 "text" : "aliases"
2489 },
2490 {
2491 "info" : {
2492 "GET" : {
2493 "description" : "Get Firewall options.",
2494 "method" : "GET",
2495 "name" : "get_options",
2496 "parameters" : {
2497 "additionalProperties" : 0
7aacca6f 2498 },
56122987
DM
2499 "permissions" : {
2500 "check" : [
2501 "perm",
2502 "/",
2503 [
44660702 2504 "Sys.Audit"
56122987
DM
2505 ]
2506 ]
2507 },
44660702 2508 "returns" : {
56122987 2509 "properties" : {
5da3d723
TL
2510 "ebtables" : {
2511 "default" : 1,
2512 "description" : "Enable ebtables rules cluster wide.",
2513 "optional" : 1,
2514 "type" : "boolean"
2515 },
44660702
DM
2516 "enable" : {
2517 "description" : "Enable or disable the firewall cluster wide.",
2518 "minimum" : 0,
56122987 2519 "optional" : 1,
7aacca6f 2520 "type" : "integer"
56122987 2521 },
95895385
TL
2522 "log_ratelimit" : {
2523 "description" : "Log ratelimiting settings",
2524 "format" : {
2525 "burst" : {
2526 "default" : 5,
2527 "description" : "Inital burst of packages which will get logged",
2528 "minimum" : 0,
2529 "optional" : 1,
2530 "type" : "integer"
2531 },
2532 "enable" : {
2533 "default" : "1",
2534 "default_key" : 1,
2535 "description" : "Enable or disable log rate limiting",
2536 "type" : "boolean"
2537 },
2538 "rate" : {
2539 "default" : "1/second",
2540 "description" : "Frequency with which the burst bucket gets refilled",
2541 "format_description" : "rate",
2542 "optional" : 1,
2543 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2544 "type" : "string"
2545 }
2546 },
2547 "optional" : 1,
2548 "type" : "string"
2549 },
44660702
DM
2550 "policy_in" : {
2551 "description" : "Input policy.",
2552 "enum" : [
2553 "ACCEPT",
2554 "REJECT",
2555 "DROP"
2556 ],
56122987 2557 "optional" : 1,
44660702 2558 "type" : "string"
7aacca6f 2559 },
44660702
DM
2560 "policy_out" : {
2561 "description" : "Output policy.",
2562 "enum" : [
2563 "ACCEPT",
2564 "REJECT",
2565 "DROP"
2566 ],
7aacca6f 2567 "optional" : 1,
44660702
DM
2568 "type" : "string"
2569 }
2570 },
2571 "type" : "object"
2572 }
2573 },
2574 "PUT" : {
2575 "description" : "Set Firewall options.",
2576 "method" : "PUT",
2577 "name" : "set_options",
2578 "parameters" : {
2579 "additionalProperties" : 0,
2580 "properties" : {
2581 "delete" : {
2582 "description" : "A list of settings you want to delete.",
2583 "format" : "pve-configid-list",
56122987 2584 "optional" : 1,
013dc89f
DM
2585 "type" : "string",
2586 "typetext" : "<string>"
56122987 2587 },
44660702
DM
2588 "digest" : {
2589 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2590 "maxLength" : 40,
56122987 2591 "optional" : 1,
013dc89f
DM
2592 "type" : "string",
2593 "typetext" : "<string>"
56122987 2594 },
5da3d723
TL
2595 "ebtables" : {
2596 "default" : 1,
2597 "description" : "Enable ebtables rules cluster wide.",
2598 "optional" : 1,
2599 "type" : "boolean",
2600 "typetext" : "<boolean>"
2601 },
44660702
DM
2602 "enable" : {
2603 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2604 "minimum" : 0,
56122987 2605 "optional" : 1,
4bd7df8b 2606 "type" : "integer",
013dc89f 2607 "typetext" : "<integer> (0 - N)"
56122987 2608 },
95895385
TL
2609 "log_ratelimit" : {
2610 "description" : "Log ratelimiting settings",
2611 "format" : {
2612 "burst" : {
2613 "default" : 5,
2614 "description" : "Inital burst of packages which will get logged",
2615 "minimum" : 0,
2616 "optional" : 1,
2617 "type" : "integer"
2618 },
2619 "enable" : {
2620 "default" : "1",
2621 "default_key" : 1,
2622 "description" : "Enable or disable log rate limiting",
2623 "type" : "boolean"
2624 },
2625 "rate" : {
2626 "default" : "1/second",
2627 "description" : "Frequency with which the burst bucket gets refilled",
2628 "format_description" : "rate",
2629 "optional" : 1,
2630 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2631 "type" : "string"
2632 }
2633 },
2634 "optional" : 1,
2635 "type" : "string",
2636 "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]"
2637 },
44660702
DM
2638 "policy_in" : {
2639 "description" : "Input policy.",
56122987 2640 "enum" : [
44660702
DM
2641 "ACCEPT",
2642 "REJECT",
2643 "DROP"
56122987 2644 ],
56122987 2645 "optional" : 1,
44660702 2646 "type" : "string"
56122987 2647 },
44660702
DM
2648 "policy_out" : {
2649 "description" : "Output policy.",
56122987 2650 "enum" : [
44660702
DM
2651 "ACCEPT",
2652 "REJECT",
2653 "DROP"
56122987 2654 ],
7aacca6f 2655 "optional" : 1,
44660702 2656 "type" : "string"
56122987 2657 }
44660702
DM
2658 }
2659 },
2660 "permissions" : {
2661 "check" : [
2662 "perm",
2663 "/",
2664 [
2665 "Sys.Modify"
2666 ]
2667 ]
7aacca6f
DM
2668 },
2669 "protected" : 1,
44660702
DM
2670 "returns" : {
2671 "type" : "null"
2672 }
2673 }
2674 },
2675 "leaf" : 1,
2676 "path" : "/cluster/firewall/options",
2677 "text" : "options"
2678 },
2679 {
2680 "info" : {
7aacca6f 2681 "GET" : {
44660702 2682 "description" : "List available macros",
7aacca6f 2683 "method" : "GET",
44660702
DM
2684 "name" : "get_macros",
2685 "parameters" : {
2686 "additionalProperties" : 0
7aacca6f 2687 },
44660702
DM
2688 "permissions" : {
2689 "user" : "all"
2690 },
2691 "returns" : {
2692 "items" : {
2693 "properties" : {
2694 "descr" : {
2695 "description" : "More verbose description (if available).",
2696 "type" : "string"
2697 },
2698 "macro" : {
2699 "description" : "Macro name.",
2700 "type" : "string"
2701 }
2702 },
2703 "type" : "object"
2704 },
2705 "type" : "array"
2706 }
2707 }
2708 },
2709 "leaf" : 1,
2710 "path" : "/cluster/firewall/macros",
2711 "text" : "macros"
2712 },
2713 {
2714 "info" : {
2715 "GET" : {
2716 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2717 "method" : "GET",
2718 "name" : "refs",
7aacca6f 2719 "parameters" : {
44660702 2720 "additionalProperties" : 0,
7aacca6f 2721 "properties" : {
44660702
DM
2722 "type" : {
2723 "description" : "Only list references of specified type.",
2724 "enum" : [
2725 "alias",
2726 "ipset"
2727 ],
2728 "optional" : 1,
2729 "type" : "string"
7aacca6f 2730 }
44660702 2731 }
7aacca6f
DM
2732 },
2733 "permissions" : {
2734 "check" : [
2735 "perm",
2736 "/",
2737 [
2738 "Sys.Audit"
2739 ]
2740 ]
2741 },
44660702
DM
2742 "returns" : {
2743 "items" : {
2744 "properties" : {
2745 "comment" : {
2746 "optional" : 1,
2747 "type" : "string"
2748 },
2749 "name" : {
2750 "type" : "string"
2751 },
2752 "ref" : {
2753 "type" : "string"
2754 },
2755 "type" : {
2756 "enum" : [
2757 "alias",
2758 "ipset"
2759 ],
2760 "type" : "string"
2761 }
2762 },
2763 "type" : "object"
2764 },
2765 "type" : "array"
2766 }
56122987
DM
2767 }
2768 },
7aacca6f 2769 "leaf" : 1,
44660702
DM
2770 "path" : "/cluster/firewall/refs",
2771 "text" : "refs"
56122987
DM
2772 }
2773 ],
56122987 2774 "info" : {
44660702
DM
2775 "GET" : {
2776 "description" : "Directory index.",
2777 "method" : "GET",
2778 "name" : "index",
56122987 2779 "parameters" : {
56122987
DM
2780 "additionalProperties" : 0
2781 },
44660702
DM
2782 "permissions" : {
2783 "user" : "all"
2784 },
56122987 2785 "returns" : {
44660702
DM
2786 "items" : {
2787 "properties" : {},
2788 "type" : "object"
2789 },
7aacca6f
DM
2790 "links" : [
2791 {
44660702
DM
2792 "href" : "{name}",
2793 "rel" : "child"
7aacca6f
DM
2794 }
2795 ],
7aacca6f 2796 "type" : "array"
7aacca6f 2797 }
56122987
DM
2798 }
2799 },
44660702
DM
2800 "leaf" : 0,
2801 "path" : "/cluster/firewall",
2802 "text" : "firewall"
7aacca6f
DM
2803 },
2804 {
56122987
DM
2805 "children" : [
2806 {
56122987 2807 "info" : {
44660702
DM
2808 "DELETE" : {
2809 "description" : "Delete vzdump backup job definition.",
2810 "method" : "DELETE",
2811 "name" : "delete_job",
2812 "parameters" : {
2813 "additionalProperties" : 0,
2814 "properties" : {
2815 "id" : {
2816 "description" : "The job ID.",
2817 "maxLength" : 50,
013dc89f
DM
2818 "type" : "string",
2819 "typetext" : "<string>"
44660702
DM
2820 }
2821 }
2822 },
2823 "permissions" : {
2824 "check" : [
2825 "perm",
2826 "/",
2827 [
2828 "Sys.Modify"
2829 ]
2830 ]
2831 },
2832 "protected" : 1,
56122987
DM
2833 "returns" : {
2834 "type" : "null"
44660702
DM
2835 }
2836 },
2837 "GET" : {
2838 "description" : "Read vzdump backup job definition.",
2839 "method" : "GET",
2840 "name" : "read_job",
2841 "parameters" : {
2842 "additionalProperties" : 0,
2843 "properties" : {
2844 "id" : {
2845 "description" : "The job ID.",
2846 "maxLength" : 50,
013dc89f
DM
2847 "type" : "string",
2848 "typetext" : "<string>"
44660702
DM
2849 }
2850 }
56122987 2851 },
7aacca6f
DM
2852 "permissions" : {
2853 "check" : [
2854 "perm",
2855 "/",
2856 [
44660702 2857 "Sys.Audit"
7aacca6f
DM
2858 ]
2859 ]
2860 },
44660702
DM
2861 "returns" : {
2862 "type" : "object"
2863 }
2864 },
2865 "PUT" : {
2866 "description" : "Update vzdump backup job definition.",
2867 "method" : "PUT",
2868 "name" : "update_job",
56122987 2869 "parameters" : {
44660702 2870 "additionalProperties" : 0,
56122987 2871 "properties" : {
44660702
DM
2872 "all" : {
2873 "default" : 0,
2874 "description" : "Backup all known guest systems on this host.",
7aacca6f 2875 "optional" : 1,
013dc89f
DM
2876 "type" : "boolean",
2877 "typetext" : "<boolean>"
7aacca6f 2878 },
44660702
DM
2879 "bwlimit" : {
2880 "default" : 0,
2881 "description" : "Limit I/O bandwidth (KBytes per second).",
2882 "minimum" : 0,
2883 "optional" : 1,
4bd7df8b 2884 "type" : "integer",
013dc89f 2885 "typetext" : "<integer> (0 - N)"
44660702
DM
2886 },
2887 "compress" : {
2888 "default" : "0",
2889 "description" : "Compress dump file.",
7aacca6f 2890 "enum" : [
44660702
DM
2891 "0",
2892 "1",
2893 "gzip",
2894 "lzo"
7aacca6f 2895 ],
44660702
DM
2896 "optional" : 1,
2897 "type" : "string"
7aacca6f 2898 },
44660702
DM
2899 "delete" : {
2900 "description" : "A list of settings you want to delete.",
2901 "format" : "pve-configid-list",
7aacca6f 2902 "optional" : 1,
013dc89f
DM
2903 "type" : "string",
2904 "typetext" : "<string>"
56122987 2905 },
44660702
DM
2906 "dow" : {
2907 "description" : "Day of week selection.",
2908 "format" : "pve-day-of-week-list",
7aacca6f 2909 "optional" : 1,
013dc89f
DM
2910 "type" : "string",
2911 "typetext" : "<string>"
56122987 2912 },
44660702
DM
2913 "dumpdir" : {
2914 "description" : "Store resulting files to specified directory.",
56122987 2915 "optional" : 1,
013dc89f
DM
2916 "type" : "string",
2917 "typetext" : "<string>"
56122987 2918 },
44660702
DM
2919 "enabled" : {
2920 "default" : "1",
2921 "description" : "Enable or disable the job.",
2922 "optional" : 1,
013dc89f
DM
2923 "type" : "boolean",
2924 "typetext" : "<boolean>"
44660702
DM
2925 },
2926 "exclude" : {
2927 "description" : "Exclude specified guest systems (assumes --all)",
2928 "format" : "pve-vmid-list",
2929 "optional" : 1,
013dc89f
DM
2930 "type" : "string",
2931 "typetext" : "<string>"
44660702
DM
2932 },
2933 "exclude-path" : {
2934 "description" : "Exclude certain files/directories (shell globs).",
2935 "format" : "string-alist",
2936 "optional" : 1,
013dc89f
DM
2937 "type" : "string",
2938 "typetext" : "<string>"
44660702
DM
2939 },
2940 "id" : {
2941 "description" : "The job ID.",
2942 "maxLength" : 50,
013dc89f
DM
2943 "type" : "string",
2944 "typetext" : "<string>"
44660702
DM
2945 },
2946 "ionice" : {
2947 "default" : 7,
2948 "description" : "Set CFQ ionice priority.",
2949 "maximum" : 8,
2950 "minimum" : 0,
2951 "optional" : 1,
4bd7df8b 2952 "type" : "integer",
013dc89f 2953 "typetext" : "<integer> (0 - 8)"
44660702
DM
2954 },
2955 "lockwait" : {
2956 "default" : 180,
2957 "description" : "Maximal time to wait for the global lock (minutes).",
2958 "minimum" : 0,
2959 "optional" : 1,
4bd7df8b 2960 "type" : "integer",
013dc89f 2961 "typetext" : "<integer> (0 - N)"
44660702
DM
2962 },
2963 "mailnotification" : {
2964 "default" : "always",
2965 "description" : "Specify when to send an email",
56122987 2966 "enum" : [
44660702
DM
2967 "always",
2968 "failure"
56122987 2969 ],
44660702
DM
2970 "optional" : 1,
2971 "type" : "string"
2972 },
2973 "mailto" : {
2974 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2975 "format" : "string-list",
2976 "optional" : 1,
013dc89f
DM
2977 "type" : "string",
2978 "typetext" : "<string>"
44660702
DM
2979 },
2980 "maxfiles" : {
2981 "default" : 1,
2982 "description" : "Maximal number of backup files per guest system.",
2983 "minimum" : 1,
2984 "optional" : 1,
4bd7df8b 2985 "type" : "integer",
013dc89f 2986 "typetext" : "<integer> (1 - N)"
44660702
DM
2987 },
2988 "mode" : {
2989 "default" : "snapshot",
2990 "description" : "Backup mode.",
2991 "enum" : [
2992 "snapshot",
2993 "suspend",
2994 "stop"
2995 ],
2996 "optional" : 1,
2997 "type" : "string"
2998 },
2999 "node" : {
3000 "description" : "Only run if executed on this node.",
3001 "format" : "pve-node",
3002 "optional" : 1,
013dc89f
DM
3003 "type" : "string",
3004 "typetext" : "<string>"
44660702
DM
3005 },
3006 "pigz" : {
3007 "default" : 0,
3008 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3009 "optional" : 1,
013dc89f
DM
3010 "type" : "integer",
3011 "typetext" : "<integer>"
44660702 3012 },
9226ccbc
TL
3013 "pool" : {
3014 "description" : "Backup all known guest systems included in the specified pool.",
3015 "optional" : 1,
3016 "type" : "string",
3017 "typetext" : "<string>"
3018 },
44660702
DM
3019 "quiet" : {
3020 "default" : 0,
3021 "description" : "Be quiet.",
3022 "optional" : 1,
013dc89f
DM
3023 "type" : "boolean",
3024 "typetext" : "<boolean>"
44660702
DM
3025 },
3026 "remove" : {
3027 "default" : 1,
3028 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3029 "optional" : 1,
013dc89f
DM
3030 "type" : "boolean",
3031 "typetext" : "<boolean>"
44660702
DM
3032 },
3033 "script" : {
3034 "description" : "Use specified hook script.",
3035 "optional" : 1,
013dc89f
DM
3036 "type" : "string",
3037 "typetext" : "<string>"
44660702
DM
3038 },
3039 "size" : {
3040 "default" : 1024,
3041 "description" : "Unused, will be removed in a future release.",
3042 "minimum" : 500,
3043 "optional" : 1,
4bd7df8b 3044 "type" : "integer",
013dc89f 3045 "typetext" : "<integer> (500 - N)"
44660702
DM
3046 },
3047 "starttime" : {
3048 "description" : "Job Start time.",
3049 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 3050 "type" : "string",
44660702 3051 "typetext" : "HH:MM"
7aacca6f 3052 },
44660702
DM
3053 "stdexcludes" : {
3054 "default" : 1,
3055 "description" : "Exclude temporary files and logs.",
3056 "optional" : 1,
013dc89f
DM
3057 "type" : "boolean",
3058 "typetext" : "<boolean>"
44660702
DM
3059 },
3060 "stop" : {
3061 "default" : 0,
1e3f8156 3062 "description" : "Stop running backup jobs on this host.",
44660702 3063 "optional" : 1,
013dc89f
DM
3064 "type" : "boolean",
3065 "typetext" : "<boolean>"
44660702
DM
3066 },
3067 "stopwait" : {
3068 "default" : 10,
3069 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3070 "minimum" : 0,
3071 "optional" : 1,
4bd7df8b 3072 "type" : "integer",
013dc89f 3073 "typetext" : "<integer> (0 - N)"
44660702
DM
3074 },
3075 "storage" : {
3076 "description" : "Store resulting file to this storage.",
3077 "format" : "pve-storage-id",
3078 "optional" : 1,
013dc89f
DM
3079 "type" : "string",
3080 "typetext" : "<string>"
56122987 3081 },
44660702
DM
3082 "tmpdir" : {
3083 "description" : "Store temporary files to specified directory.",
3084 "optional" : 1,
013dc89f
DM
3085 "type" : "string",
3086 "typetext" : "<string>"
44660702
DM
3087 },
3088 "vmid" : {
3089 "description" : "The ID of the guest system you want to backup.",
3090 "format" : "pve-vmid-list",
3091 "optional" : 1,
013dc89f
DM
3092 "type" : "string",
3093 "typetext" : "<string>"
56122987 3094 }
44660702 3095 }
56122987
DM
3096 },
3097 "permissions" : {
3098 "check" : [
3099 "perm",
3100 "/",
3101 [
44660702 3102 "Sys.Modify"
56122987
DM
3103 ]
3104 ]
3105 },
44660702
DM
3106 "protected" : 1,
3107 "returns" : {
3108 "type" : "null"
7aacca6f 3109 }
56122987
DM
3110 }
3111 },
44660702
DM
3112 "leaf" : 1,
3113 "path" : "/cluster/backup/{id}",
3114 "text" : "{id}"
3115 }
3116 ],
3117 "info" : {
3118 "GET" : {
3119 "description" : "List vzdump backup schedule.",
3120 "method" : "GET",
3121 "name" : "index",
3122 "parameters" : {
3123 "additionalProperties" : 0
3124 },
3125 "permissions" : {
3126 "check" : [
3127 "perm",
3128 "/",
3129 [
3130 "Sys.Audit"
3131 ]
3132 ]
3133 },
3134 "returns" : {
3135 "items" : {
3136 "properties" : {
3137 "id" : {
3138 "type" : "string"
3139 }
3140 },
3141 "type" : "object"
3142 },
3143 "links" : [
3144 {
3145 "href" : "{id}",
3146 "rel" : "child"
3147 }
3148 ],
3149 "type" : "array"
3150 }
3151 },
3152 "POST" : {
3153 "description" : "Create new vzdump backup job.",
3154 "method" : "POST",
3155 "name" : "create_job",
3156 "parameters" : {
3157 "additionalProperties" : 0,
3158 "properties" : {
3159 "all" : {
3160 "default" : 0,
3161 "description" : "Backup all known guest systems on this host.",
3162 "optional" : 1,
013dc89f
DM
3163 "type" : "boolean",
3164 "typetext" : "<boolean>"
44660702
DM
3165 },
3166 "bwlimit" : {
3167 "default" : 0,
3168 "description" : "Limit I/O bandwidth (KBytes per second).",
3169 "minimum" : 0,
3170 "optional" : 1,
4bd7df8b 3171 "type" : "integer",
013dc89f 3172 "typetext" : "<integer> (0 - N)"
44660702
DM
3173 },
3174 "compress" : {
3175 "default" : "0",
3176 "description" : "Compress dump file.",
3177 "enum" : [
3178 "0",
3179 "1",
3180 "gzip",
3181 "lzo"
3182 ],
3183 "optional" : 1,
3184 "type" : "string"
3185 },
3186 "dow" : {
3187 "default" : "mon,tue,wed,thu,fri,sat,sun",
3188 "description" : "Day of week selection.",
3189 "format" : "pve-day-of-week-list",
3190 "optional" : 1,
013dc89f
DM
3191 "type" : "string",
3192 "typetext" : "<string>"
44660702
DM
3193 },
3194 "dumpdir" : {
3195 "description" : "Store resulting files to specified directory.",
3196 "optional" : 1,
013dc89f
DM
3197 "type" : "string",
3198 "typetext" : "<string>"
44660702
DM
3199 },
3200 "enabled" : {
3201 "default" : "1",
3202 "description" : "Enable or disable the job.",
3203 "optional" : 1,
013dc89f
DM
3204 "type" : "boolean",
3205 "typetext" : "<boolean>"
44660702
DM
3206 },
3207 "exclude" : {
3208 "description" : "Exclude specified guest systems (assumes --all)",
3209 "format" : "pve-vmid-list",
3210 "optional" : 1,
013dc89f
DM
3211 "type" : "string",
3212 "typetext" : "<string>"
44660702
DM
3213 },
3214 "exclude-path" : {
3215 "description" : "Exclude certain files/directories (shell globs).",
3216 "format" : "string-alist",
3217 "optional" : 1,
013dc89f
DM
3218 "type" : "string",
3219 "typetext" : "<string>"
44660702
DM
3220 },
3221 "ionice" : {
3222 "default" : 7,
3223 "description" : "Set CFQ ionice priority.",
3224 "maximum" : 8,
3225 "minimum" : 0,
3226 "optional" : 1,
4bd7df8b 3227 "type" : "integer",
013dc89f 3228 "typetext" : "<integer> (0 - 8)"
44660702
DM
3229 },
3230 "lockwait" : {
3231 "default" : 180,
3232 "description" : "Maximal time to wait for the global lock (minutes).",
3233 "minimum" : 0,
3234 "optional" : 1,
4bd7df8b 3235 "type" : "integer",
013dc89f 3236 "typetext" : "<integer> (0 - N)"
44660702
DM
3237 },
3238 "mailnotification" : {
3239 "default" : "always",
3240 "description" : "Specify when to send an email",
3241 "enum" : [
3242 "always",
3243 "failure"
3244 ],
3245 "optional" : 1,
3246 "type" : "string"
3247 },
3248 "mailto" : {
3249 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3250 "format" : "string-list",
3251 "optional" : 1,
013dc89f
DM
3252 "type" : "string",
3253 "typetext" : "<string>"
44660702
DM
3254 },
3255 "maxfiles" : {
3256 "default" : 1,
3257 "description" : "Maximal number of backup files per guest system.",
3258 "minimum" : 1,
3259 "optional" : 1,
4bd7df8b 3260 "type" : "integer",
013dc89f 3261 "typetext" : "<integer> (1 - N)"
44660702
DM
3262 },
3263 "mode" : {
3264 "default" : "snapshot",
3265 "description" : "Backup mode.",
3266 "enum" : [
3267 "snapshot",
3268 "suspend",
3269 "stop"
3270 ],
3271 "optional" : 1,
3272 "type" : "string"
3273 },
3274 "node" : {
3275 "description" : "Only run if executed on this node.",
3276 "format" : "pve-node",
3277 "optional" : 1,
013dc89f
DM
3278 "type" : "string",
3279 "typetext" : "<string>"
44660702
DM
3280 },
3281 "pigz" : {
3282 "default" : 0,
3283 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3284 "optional" : 1,
013dc89f
DM
3285 "type" : "integer",
3286 "typetext" : "<integer>"
44660702 3287 },
9226ccbc
TL
3288 "pool" : {
3289 "description" : "Backup all known guest systems included in the specified pool.",
3290 "optional" : 1,
3291 "type" : "string",
3292 "typetext" : "<string>"
3293 },
44660702
DM
3294 "quiet" : {
3295 "default" : 0,
3296 "description" : "Be quiet.",
3297 "optional" : 1,
013dc89f
DM
3298 "type" : "boolean",
3299 "typetext" : "<boolean>"
44660702
DM
3300 },
3301 "remove" : {
3302 "default" : 1,
3303 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3304 "optional" : 1,
013dc89f
DM
3305 "type" : "boolean",
3306 "typetext" : "<boolean>"
44660702
DM
3307 },
3308 "script" : {
3309 "description" : "Use specified hook script.",
3310 "optional" : 1,
013dc89f
DM
3311 "type" : "string",
3312 "typetext" : "<string>"
44660702
DM
3313 },
3314 "size" : {
3315 "default" : 1024,
3316 "description" : "Unused, will be removed in a future release.",
3317 "minimum" : 500,
3318 "optional" : 1,
4bd7df8b 3319 "type" : "integer",
013dc89f 3320 "typetext" : "<integer> (500 - N)"
44660702
DM
3321 },
3322 "starttime" : {
3323 "description" : "Job Start time.",
3324 "pattern" : "\\d{1,2}:\\d{1,2}",
3325 "type" : "string",
3326 "typetext" : "HH:MM"
3327 },
3328 "stdexcludes" : {
3329 "default" : 1,
3330 "description" : "Exclude temporary files and logs.",
3331 "optional" : 1,
013dc89f
DM
3332 "type" : "boolean",
3333 "typetext" : "<boolean>"
44660702
DM
3334 },
3335 "stop" : {
3336 "default" : 0,
1e3f8156 3337 "description" : "Stop running backup jobs on this host.",
44660702 3338 "optional" : 1,
013dc89f
DM
3339 "type" : "boolean",
3340 "typetext" : "<boolean>"
44660702
DM
3341 },
3342 "stopwait" : {
3343 "default" : 10,
3344 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3345 "minimum" : 0,
3346 "optional" : 1,
4bd7df8b 3347 "type" : "integer",
013dc89f 3348 "typetext" : "<integer> (0 - N)"
44660702
DM
3349 },
3350 "storage" : {
3351 "description" : "Store resulting file to this storage.",
3352 "format" : "pve-storage-id",
3353 "optional" : 1,
013dc89f
DM
3354 "type" : "string",
3355 "typetext" : "<string>"
44660702
DM
3356 },
3357 "tmpdir" : {
3358 "description" : "Store temporary files to specified directory.",
3359 "optional" : 1,
013dc89f
DM
3360 "type" : "string",
3361 "typetext" : "<string>"
44660702
DM
3362 },
3363 "vmid" : {
3364 "description" : "The ID of the guest system you want to backup.",
3365 "format" : "pve-vmid-list",
3366 "optional" : 1,
013dc89f
DM
3367 "type" : "string",
3368 "typetext" : "<string>"
44660702
DM
3369 }
3370 }
3371 },
3372 "permissions" : {
3373 "check" : [
3374 "perm",
3375 "/",
3376 [
3377 "Sys.Modify"
3378 ]
de0983cb
DM
3379 ],
3380 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3381 },
3382 "protected" : 1,
3383 "returns" : {
3384 "type" : "null"
3385 }
3386 }
3387 },
3388 "leaf" : 0,
3389 "path" : "/cluster/backup",
3390 "text" : "backup"
3391 },
3392 {
3393 "children" : [
3394 {
3395 "children" : [
3396 {
3397 "children" : [
56122987 3398 {
56122987
DM
3399 "info" : {
3400 "POST" : {
44660702
DM
3401 "description" : "Request resource migration (online) to another node.",
3402 "method" : "POST",
3403 "name" : "migrate",
56122987 3404 "parameters" : {
7aacca6f 3405 "additionalProperties" : 0,
56122987
DM
3406 "properties" : {
3407 "node" : {
95895385 3408 "description" : "Target node.",
44660702 3409 "format" : "pve-node",
013dc89f
DM
3410 "type" : "string",
3411 "typetext" : "<string>"
56122987
DM
3412 },
3413 "sid" : {
44660702 3414 "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 3415 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3416 "type" : "string",
44660702 3417 "typetext" : "<type>:<name>"
56122987 3418 }
7aacca6f 3419 }
56122987 3420 },
56122987
DM
3421 "permissions" : {
3422 "check" : [
3423 "perm",
3424 "/",
3425 [
3426 "Sys.Console"
3427 ]
3428 ]
3429 },
7aacca6f 3430 "protected" : 1,
7aacca6f
DM
3431 "returns" : {
3432 "type" : "null"
44660702 3433 }
56122987 3434 }
44660702
DM
3435 },
3436 "leaf" : 1,
3437 "path" : "/cluster/ha/resources/{sid}/migrate",
3438 "text" : "migrate"
3439 },
3440 {
3441 "info" : {
3442 "POST" : {
3443 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3444 "method" : "POST",
3445 "name" : "relocate",
3446 "parameters" : {
3447 "additionalProperties" : 0,
3448 "properties" : {
3449 "node" : {
95895385 3450 "description" : "Target node.",
44660702 3451 "format" : "pve-node",
013dc89f
DM
3452 "type" : "string",
3453 "typetext" : "<string>"
44660702
DM
3454 },
3455 "sid" : {
3456 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
3457 "format" : "pve-ha-resource-or-vm-id",
3458 "type" : "string",
3459 "typetext" : "<type>:<name>"
3460 }
3461 }
3462 },
3463 "permissions" : {
3464 "check" : [
3465 "perm",
3466 "/",
3467 [
3468 "Sys.Console"
3469 ]
3470 ]
3471 },
3472 "protected" : 1,
3473 "returns" : {
3474 "type" : "null"
3475 }
3476 }
3477 },
3478 "leaf" : 1,
3479 "path" : "/cluster/ha/resources/{sid}/relocate",
3480 "text" : "relocate"
3481 }
3482 ],
3483 "info" : {
3484 "DELETE" : {
3485 "description" : "Delete resource configuration.",
3486 "method" : "DELETE",
3487 "name" : "delete",
7aacca6f 3488 "parameters" : {
44660702 3489 "additionalProperties" : 0,
7aacca6f
DM
3490 "properties" : {
3491 "sid" : {
3492 "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 3493 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3494 "type" : "string",
44660702
DM
3495 "typetext" : "<type>:<name>"
3496 }
3497 }
3498 },
3499 "permissions" : {
3500 "check" : [
3501 "perm",
3502 "/",
3503 [
3504 "Sys.Console"
3505 ]
3506 ]
3507 },
3508 "protected" : 1,
3509 "returns" : {
3510 "type" : "null"
3511 }
3512 },
3513 "GET" : {
3514 "description" : "Read resource configuration.",
3515 "method" : "GET",
3516 "name" : "read",
3517 "parameters" : {
3518 "additionalProperties" : 0,
3519 "properties" : {
3520 "sid" : {
3521 "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 3522 "format" : "pve-ha-resource-or-vm-id",
44660702 3523 "type" : "string",
7aacca6f
DM
3524 "typetext" : "<type>:<name>"
3525 }
44660702 3526 }
7aacca6f
DM
3527 },
3528 "permissions" : {
3529 "check" : [
3530 "perm",
3531 "/",
3532 [
3533 "Sys.Audit"
3534 ]
3535 ]
3536 },
5f26e15b
TL
3537 "returns" : {
3538 "properties" : {
3539 "comment" : {
3540 "description" : "Description.",
3541 "optional" : 1,
3542 "type" : "string"
3543 },
3544 "digest" : {
3545 "description" : "Can be used to prevent concurrent modifications.",
3546 "type" : "string"
3547 },
3548 "group" : {
3549 "description" : "The HA group identifier.",
3550 "format" : "pve-configid",
3551 "optional" : 1,
3552 "type" : "string"
3553 },
3554 "max_relocate" : {
3555 "description" : "Maximal number of service relocate tries when a service failes to start.",
3556 "optional" : 1,
3557 "type" : "integer"
3558 },
3559 "max_restart" : {
3560 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3561 "optional" : 1,
3562 "type" : "integer"
3563 },
3564 "sid" : {
3565 "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).",
3566 "format" : "pve-ha-resource-or-vm-id",
3567 "type" : "string",
3568 "typetext" : "<type>:<name>"
3569 },
3570 "state" : {
3571 "description" : "Requested resource state.",
3572 "enum" : [
3573 "started",
3574 "stopped",
3575 "enabled",
3576 "disabled",
3577 "ignored"
3578 ],
3579 "optional" : 1,
3580 "type" : "string"
3581 },
3582 "type" : {
3583 "description" : "The type of the resources.",
3584 "type" : "string"
3585 }
3586 },
3587 "type" : "object"
3588 }
7aacca6f 3589 },
56122987 3590 "PUT" : {
44660702 3591 "description" : "Update resource configuration.",
7aacca6f 3592 "method" : "PUT",
44660702 3593 "name" : "update",
56122987
DM
3594 "parameters" : {
3595 "additionalProperties" : 0,
3596 "properties" : {
44660702
DM
3597 "comment" : {
3598 "description" : "Description.",
3599 "maxLength" : 4096,
56122987 3600 "optional" : 1,
013dc89f
DM
3601 "type" : "string",
3602 "typetext" : "<string>"
56122987 3603 },
7aacca6f
DM
3604 "delete" : {
3605 "description" : "A list of settings you want to delete.",
7aacca6f 3606 "format" : "pve-configid-list",
44660702
DM
3607 "maxLength" : 4096,
3608 "optional" : 1,
013dc89f
DM
3609 "type" : "string",
3610 "typetext" : "<string>"
56122987 3611 },
44660702
DM
3612 "digest" : {
3613 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3614 "maxLength" : 40,
3615 "optional" : 1,
013dc89f
DM
3616 "type" : "string",
3617 "typetext" : "<string>"
56122987 3618 },
44660702
DM
3619 "group" : {
3620 "description" : "The HA group identifier.",
3621 "format" : "pve-configid",
7aacca6f 3622 "optional" : 1,
013dc89f
DM
3623 "type" : "string",
3624 "typetext" : "<string>"
56122987
DM
3625 },
3626 "max_relocate" : {
7aacca6f 3627 "default" : 1,
56122987 3628 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3629 "minimum" : 0,
3630 "optional" : 1,
4bd7df8b 3631 "type" : "integer",
013dc89f 3632 "typetext" : "<integer> (0 - N)"
7aacca6f 3633 },
44660702
DM
3634 "max_restart" : {
3635 "default" : 1,
3636 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3637 "minimum" : 0,
7aacca6f 3638 "optional" : 1,
4bd7df8b 3639 "type" : "integer",
013dc89f 3640 "typetext" : "<integer> (0 - N)"
44660702
DM
3641 },
3642 "sid" : {
3643 "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).",
3644 "format" : "pve-ha-resource-or-vm-id",
3645 "type" : "string",
3646 "typetext" : "<type>:<name>"
7aacca6f
DM
3647 },
3648 "state" : {
f13c1238
DM
3649 "default" : "started",
3650 "description" : "Requested resource state.",
7aacca6f 3651 "enum" : [
f13c1238
DM
3652 "started",
3653 "stopped",
7aacca6f 3654 "enabled",
2489d6df
WB
3655 "disabled",
3656 "ignored"
7aacca6f 3657 ],
7aacca6f 3658 "optional" : 1,
f13c1238 3659 "type" : "string",
2489d6df 3660 "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 3661 }
44660702
DM
3662 },
3663 "type" : "object"
56122987 3664 },
56122987
DM
3665 "permissions" : {
3666 "check" : [
3667 "perm",
3668 "/",
3669 [
3670 "Sys.Console"
3671 ]
3672 ]
3673 },
7aacca6f 3674 "protected" : 1,
56122987
DM
3675 "returns" : {
3676 "type" : "null"
3677 }
3678 }
3679 },
44660702 3680 "leaf" : 0,
7aacca6f 3681 "path" : "/cluster/ha/resources/{sid}",
44660702 3682 "text" : "{sid}"
56122987
DM
3683 }
3684 ],
7aacca6f
DM
3685 "info" : {
3686 "GET" : {
44660702
DM
3687 "description" : "List HA resources.",
3688 "method" : "GET",
3689 "name" : "index",
7aacca6f 3690 "parameters" : {
44660702
DM
3691 "additionalProperties" : 0,
3692 "properties" : {
3693 "type" : {
3694 "description" : "Only list resources of specific type",
3695 "enum" : [
3696 "ct",
3697 "vm"
3698 ],
3699 "optional" : 1,
3700 "type" : "string"
3701 }
3702 }
7aacca6f 3703 },
7aacca6f
DM
3704 "permissions" : {
3705 "check" : [
3706 "perm",
3707 "/",
3708 [
3709 "Sys.Audit"
3710 ]
3711 ]
3712 },
7aacca6f 3713 "returns" : {
7aacca6f 3714 "items" : {
7aacca6f 3715 "properties" : {
44660702 3716 "sid" : {
7aacca6f
DM
3717 "type" : "string"
3718 }
44660702
DM
3719 },
3720 "type" : "object"
7aacca6f
DM
3721 },
3722 "links" : [
3723 {
44660702 3724 "href" : "{sid}",
7aacca6f
DM
3725 "rel" : "child"
3726 }
44660702
DM
3727 ],
3728 "type" : "array"
7aacca6f
DM
3729 }
3730 },
3731 "POST" : {
44660702 3732 "description" : "Create a new HA resource.",
7aacca6f 3733 "method" : "POST",
44660702 3734 "name" : "create",
7aacca6f 3735 "parameters" : {
44660702 3736 "additionalProperties" : 0,
7aacca6f
DM
3737 "properties" : {
3738 "comment" : {
7aacca6f 3739 "description" : "Description.",
44660702 3740 "maxLength" : 4096,
7aacca6f 3741 "optional" : 1,
013dc89f
DM
3742 "type" : "string",
3743 "typetext" : "<string>"
7aacca6f 3744 },
44660702
DM
3745 "group" : {
3746 "description" : "The HA group identifier.",
3747 "format" : "pve-configid",
7aacca6f 3748 "optional" : 1,
013dc89f
DM
3749 "type" : "string",
3750 "typetext" : "<string>"
7aacca6f 3751 },
44660702
DM
3752 "max_relocate" : {
3753 "default" : 1,
3754 "description" : "Maximal number of service relocate tries when a service failes to start.",
3755 "minimum" : 0,
7aacca6f 3756 "optional" : 1,
4bd7df8b 3757 "type" : "integer",
013dc89f 3758 "typetext" : "<integer> (0 - N)"
7aacca6f 3759 },
44660702
DM
3760 "max_restart" : {
3761 "default" : 1,
3762 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3763 "minimum" : 0,
3764 "optional" : 1,
4bd7df8b 3765 "type" : "integer",
013dc89f 3766 "typetext" : "<integer> (0 - N)"
44660702
DM
3767 },
3768 "sid" : {
3769 "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).",
3770 "format" : "pve-ha-resource-or-vm-id",
3771 "type" : "string",
3772 "typetext" : "<type>:<name>"
3773 },
3774 "state" : {
f13c1238
DM
3775 "default" : "started",
3776 "description" : "Requested resource state.",
7aacca6f 3777 "enum" : [
f13c1238
DM
3778 "started",
3779 "stopped",
44660702 3780 "enabled",
2489d6df
WB
3781 "disabled",
3782 "ignored"
7aacca6f 3783 ],
7aacca6f 3784 "optional" : 1,
f13c1238 3785 "type" : "string",
2489d6df 3786 "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 3787 },
44660702
DM
3788 "type" : {
3789 "description" : "Resource type.",
3790 "enum" : [
3791 "ct",
3792 "vm"
3793 ],
3794 "optional" : 1,
3795 "type" : "string"
3796 }
7aacca6f 3797 },
44660702 3798 "type" : "object"
7aacca6f
DM
3799 },
3800 "permissions" : {
3801 "check" : [
3802 "perm",
3803 "/",
3804 [
3805 "Sys.Console"
3806 ]
3807 ]
3808 },
44660702
DM
3809 "protected" : 1,
3810 "returns" : {
3811 "type" : "null"
3812 }
7aacca6f
DM
3813 }
3814 },
44660702
DM
3815 "leaf" : 0,
3816 "path" : "/cluster/ha/resources",
3817 "text" : "resources"
3818 },
3819 {
56122987
DM
3820 "children" : [
3821 {
56122987 3822 "info" : {
44660702
DM
3823 "DELETE" : {
3824 "description" : "Delete ha group configuration.",
3825 "method" : "DELETE",
3826 "name" : "delete",
56122987 3827 "parameters" : {
7aacca6f 3828 "additionalProperties" : 0,
56122987 3829 "properties" : {
7aacca6f
DM
3830 "group" : {
3831 "description" : "The HA group identifier.",
44660702 3832 "format" : "pve-configid",
013dc89f
DM
3833 "type" : "string",
3834 "typetext" : "<string>"
56122987 3835 }
7aacca6f 3836 }
56122987 3837 },
56122987
DM
3838 "permissions" : {
3839 "check" : [
3840 "perm",
3841 "/",
3842 [
7aacca6f 3843 "Sys.Console"
56122987
DM
3844 ]
3845 ]
3846 },
44660702 3847 "protected" : 1,
7aacca6f
DM
3848 "returns" : {
3849 "type" : "null"
56122987
DM
3850 }
3851 },
44660702
DM
3852 "GET" : {
3853 "description" : "Read ha group configuration.",
3854 "method" : "GET",
3855 "name" : "read",
56122987 3856 "parameters" : {
44660702 3857 "additionalProperties" : 0,
56122987
DM
3858 "properties" : {
3859 "group" : {
3860 "description" : "The HA group identifier.",
44660702 3861 "format" : "pve-configid",
013dc89f
DM
3862 "type" : "string",
3863 "typetext" : "<string>"
56122987 3864 }
44660702 3865 }
56122987 3866 },
56122987
DM
3867 "permissions" : {
3868 "check" : [
3869 "perm",
3870 "/",
3871 [
44660702 3872 "Sys.Audit"
56122987
DM
3873 ]
3874 ]
3875 },
44660702 3876 "returns" : {}
7aacca6f 3877 },
44660702
DM
3878 "PUT" : {
3879 "description" : "Update ha group configuration.",
3880 "method" : "PUT",
3881 "name" : "update",
7aacca6f 3882 "parameters" : {
44660702 3883 "additionalProperties" : 0,
7aacca6f 3884 "properties" : {
44660702
DM
3885 "comment" : {
3886 "description" : "Description.",
3887 "maxLength" : 4096,
3888 "optional" : 1,
013dc89f
DM
3889 "type" : "string",
3890 "typetext" : "<string>"
44660702
DM
3891 },
3892 "delete" : {
3893 "description" : "A list of settings you want to delete.",
3894 "format" : "pve-configid-list",
3895 "maxLength" : 4096,
3896 "optional" : 1,
013dc89f
DM
3897 "type" : "string",
3898 "typetext" : "<string>"
44660702
DM
3899 },
3900 "digest" : {
3901 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3902 "maxLength" : 40,
3903 "optional" : 1,
013dc89f
DM
3904 "type" : "string",
3905 "typetext" : "<string>"
44660702 3906 },
7aacca6f
DM
3907 "group" : {
3908 "description" : "The HA group identifier.",
44660702 3909 "format" : "pve-configid",
013dc89f
DM
3910 "type" : "string",
3911 "typetext" : "<string>"
44660702
DM
3912 },
3913 "nodes" : {
f13c1238 3914 "description" : "List of cluster node names with optional priority.",
44660702
DM
3915 "format" : "pve-ha-group-node-list",
3916 "optional" : 1,
7aacca6f 3917 "type" : "string",
f13c1238
DM
3918 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3919 "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
3920 },
3921 "nofailback" : {
3922 "default" : 0,
3923 "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.",
3924 "optional" : 1,
013dc89f
DM
3925 "type" : "boolean",
3926 "typetext" : "<boolean>"
44660702
DM
3927 },
3928 "restricted" : {
3929 "default" : 0,
c4808e75 3930 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3931 "optional" : 1,
013dc89f 3932 "type" : "boolean",
c4808e75
DM
3933 "typetext" : "<boolean>",
3934 "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
3935 }
3936 },
44660702 3937 "type" : "object"
7aacca6f 3938 },
7aacca6f
DM
3939 "permissions" : {
3940 "check" : [
3941 "perm",
3942 "/",
3943 [
44660702 3944 "Sys.Console"
7aacca6f
DM
3945 ]
3946 ]
3947 },
44660702
DM
3948 "protected" : 1,
3949 "returns" : {
3950 "type" : "null"
3951 }
56122987
DM
3952 }
3953 },
3954 "leaf" : 1,
44660702
DM
3955 "path" : "/cluster/ha/groups/{group}",
3956 "text" : "{group}"
56122987 3957 }
44660702
DM
3958 ],
3959 "info" : {
3960 "GET" : {
3961 "description" : "Get HA groups.",
3962 "method" : "GET",
3963 "name" : "index",
3964 "parameters" : {
3965 "additionalProperties" : 0
3966 },
3967 "permissions" : {
3968 "check" : [
3969 "perm",
3970 "/",
3971 [
3972 "Sys.Audit"
3973 ]
3974 ]
3975 },
3976 "returns" : {
3977 "items" : {
3978 "properties" : {
3979 "group" : {
3980 "type" : "string"
3981 }
3982 },
3983 "type" : "object"
3984 },
3985 "links" : [
3986 {
3987 "href" : "{group}",
3988 "rel" : "child"
3989 }
3990 ],
3991 "type" : "array"
3992 }
3993 },
3994 "POST" : {
3995 "description" : "Create a new HA group.",
3996 "method" : "POST",
3997 "name" : "create",
3998 "parameters" : {
3999 "additionalProperties" : 0,
4000 "properties" : {
4001 "comment" : {
4002 "description" : "Description.",
4003 "maxLength" : 4096,
4004 "optional" : 1,
013dc89f
DM
4005 "type" : "string",
4006 "typetext" : "<string>"
44660702
DM
4007 },
4008 "group" : {
4009 "description" : "The HA group identifier.",
4010 "format" : "pve-configid",
013dc89f
DM
4011 "type" : "string",
4012 "typetext" : "<string>"
44660702
DM
4013 },
4014 "nodes" : {
f13c1238 4015 "description" : "List of cluster node names with optional priority.",
44660702
DM
4016 "format" : "pve-ha-group-node-list",
4017 "optional" : 0,
4018 "type" : "string",
f13c1238
DM
4019 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4020 "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
4021 },
4022 "nofailback" : {
4023 "default" : 0,
4024 "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.",
4025 "optional" : 1,
013dc89f
DM
4026 "type" : "boolean",
4027 "typetext" : "<boolean>"
44660702
DM
4028 },
4029 "restricted" : {
4030 "default" : 0,
c4808e75 4031 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4032 "optional" : 1,
013dc89f 4033 "type" : "boolean",
c4808e75
DM
4034 "typetext" : "<boolean>",
4035 "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
4036 },
4037 "type" : {
4038 "description" : "Group type.",
4039 "enum" : [
4040 "group"
4041 ],
4042 "optional" : 1,
4043 "type" : "string"
4044 }
4045 },
4046 "type" : "object"
4047 },
4048 "permissions" : {
4049 "check" : [
4050 "perm",
4051 "/",
4052 [
4053 "Sys.Console"
4054 ]
4055 ]
4056 },
4057 "protected" : 1,
4058 "returns" : {
4059 "type" : "null"
4060 }
4061 }
4062 },
4063 "leaf" : 0,
4064 "path" : "/cluster/ha/groups",
4065 "text" : "groups"
7aacca6f
DM
4066 },
4067 {
7aacca6f
DM
4068 "children" : [
4069 {
4070 "info" : {
4071 "GET" : {
56122987 4072 "description" : "Get HA manger status.",
44660702 4073 "method" : "GET",
7aacca6f 4074 "name" : "status",
44660702
DM
4075 "parameters" : {
4076 "additionalProperties" : 0
4077 },
56122987
DM
4078 "permissions" : {
4079 "check" : [
4080 "perm",
4081 "/",
4082 [
4083 "Sys.Audit"
4084 ]
4085 ]
7aacca6f 4086 },
44660702
DM
4087 "returns" : {
4088 "type" : "array"
56122987
DM
4089 }
4090 }
7aacca6f 4091 },
7aacca6f 4092 "leaf" : 1,
44660702
DM
4093 "path" : "/cluster/ha/status/current",
4094 "text" : "current"
56122987
DM
4095 },
4096 {
4097 "info" : {
4098 "GET" : {
7aacca6f 4099 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
4100 "method" : "GET",
4101 "name" : "manager_status",
7aacca6f
DM
4102 "parameters" : {
4103 "additionalProperties" : 0
4104 },
56122987
DM
4105 "permissions" : {
4106 "check" : [
4107 "perm",
4108 "/",
4109 [
4110 "Sys.Audit"
4111 ]
4112 ]
44660702
DM
4113 },
4114 "returns" : {
4115 "type" : "object"
7aacca6f 4116 }
56122987
DM
4117 }
4118 },
56122987 4119 "leaf" : 1,
44660702
DM
4120 "path" : "/cluster/ha/status/manager_status",
4121 "text" : "manager_status"
56122987
DM
4122 }
4123 ],
56122987
DM
4124 "info" : {
4125 "GET" : {
44660702 4126 "description" : "Directory index.",
7aacca6f 4127 "method" : "GET",
44660702
DM
4128 "name" : "index",
4129 "parameters" : {
4130 "additionalProperties" : 0
4131 },
4132 "permissions" : {
4133 "user" : "all"
4134 },
56122987 4135 "returns" : {
56122987
DM
4136 "items" : {
4137 "properties" : {},
4138 "type" : "object"
4139 },
4140 "links" : [
4141 {
44660702
DM
4142 "href" : "{name}",
4143 "rel" : "child"
56122987 4144 }
7aacca6f
DM
4145 ],
4146 "type" : "array"
44660702 4147 }
56122987 4148 }
7aacca6f 4149 },
44660702 4150 "leaf" : 0,
7aacca6f 4151 "path" : "/cluster/ha/status",
44660702 4152 "text" : "status"
56122987
DM
4153 }
4154 ],
56122987
DM
4155 "info" : {
4156 "GET" : {
7aacca6f 4157 "description" : "Directory index.",
44660702
DM
4158 "method" : "GET",
4159 "name" : "index",
4160 "parameters" : {
4161 "additionalProperties" : 0
4162 },
7aacca6f
DM
4163 "permissions" : {
4164 "check" : [
4165 "perm",
4166 "/",
4167 [
4168 "Sys.Audit"
4169 ]
4170 ]
4171 },
56122987 4172 "returns" : {
56122987 4173 "items" : {
7aacca6f
DM
4174 "properties" : {
4175 "id" : {
4176 "type" : "string"
4177 }
44660702
DM
4178 },
4179 "type" : "object"
7aacca6f
DM
4180 },
4181 "links" : [
4182 {
4183 "href" : "{id}",
4184 "rel" : "child"
4185 }
44660702
DM
4186 ],
4187 "type" : "array"
7aacca6f
DM
4188 }
4189 }
44660702
DM
4190 },
4191 "leaf" : 0,
4192 "path" : "/cluster/ha",
4193 "text" : "ha"
7aacca6f 4194 },
a9a8e3d1
DM
4195 {
4196 "children" : [
4197 {
4198 "children" : [
4199 {
4200 "info" : {
4201 "DELETE" : {
4202 "description" : "Deactivate existing ACME account at CA.",
4203 "method" : "DELETE",
4204 "name" : "deactivate_account",
4205 "parameters" : {
4206 "additionalProperties" : 0,
4207 "properties" : {
4208 "name" : {
4209 "default" : "default",
4210 "description" : "ACME account config file name.",
4211 "format" : "pve-configid",
4212 "format_description" : "name",
4213 "optional" : 1,
4214 "type" : "string",
4215 "typetext" : "<name>"
4216 }
4217 }
4218 },
4219 "protected" : 1,
4220 "returns" : {
4221 "type" : "string"
4222 }
4223 },
4224 "GET" : {
4225 "description" : "Return existing ACME account information.",
4226 "method" : "GET",
4227 "name" : "get_account",
4228 "parameters" : {
4229 "additionalProperties" : 0,
4230 "properties" : {
4231 "name" : {
4232 "default" : "default",
4233 "description" : "ACME account config file name.",
4234 "format" : "pve-configid",
4235 "format_description" : "name",
4236 "optional" : 1,
4237 "type" : "string",
4238 "typetext" : "<name>"
4239 }
4240 }
4241 },
4242 "protected" : 1,
4243 "returns" : {
4244 "additionalProperties" : 0,
4245 "properties" : {
4246 "account" : {
4247 "optional" : 1,
4d47f125 4248 "renderer" : "yaml",
a9a8e3d1
DM
4249 "type" : "object"
4250 },
4251 "directory" : {
4252 "description" : "URL of ACME CA directory endpoint.",
4253 "optional" : 1,
4254 "pattern" : "^https?://.*",
4255 "type" : "string"
4256 },
4257 "location" : {
4258 "optional" : 1,
4259 "type" : "string"
4260 },
4261 "tos" : {
4262 "optional" : 1,
4263 "type" : "string"
4264 }
4265 },
4266 "type" : "object"
4267 }
4268 },
4269 "PUT" : {
4270 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
4271 "method" : "PUT",
4272 "name" : "update_account",
4273 "parameters" : {
4274 "additionalProperties" : 0,
4275 "properties" : {
4276 "contact" : {
4277 "description" : "Contact email addresses.",
4278 "format" : "email-list",
4279 "optional" : 1,
4280 "type" : "string",
4281 "typetext" : "<string>"
4282 },
4283 "name" : {
4284 "default" : "default",
4285 "description" : "ACME account config file name.",
4286 "format" : "pve-configid",
4287 "format_description" : "name",
4288 "optional" : 1,
4289 "type" : "string",
4290 "typetext" : "<name>"
4291 }
4292 }
4293 },
4294 "protected" : 1,
4295 "returns" : {
4296 "type" : "string"
4297 }
4298 }
4299 },
4300 "leaf" : 1,
4301 "path" : "/cluster/acme/account/{name}",
4302 "text" : "{name}"
4303 }
4304 ],
4305 "info" : {
4306 "GET" : {
4307 "description" : "ACMEAccount index.",
4308 "method" : "GET",
4309 "name" : "account_index",
4310 "parameters" : {
4311 "additionalProperties" : 0
4312 },
4313 "permissions" : {
4314 "user" : "all"
4315 },
4316 "protected" : 1,
4317 "returns" : {
4318 "items" : {
4319 "properties" : {},
4320 "type" : "object"
4321 },
4322 "links" : [
4323 {
4324 "href" : "{name}",
4325 "rel" : "child"
4326 }
4327 ],
4328 "type" : "array"
4329 }
4330 },
4331 "POST" : {
4332 "description" : "Register a new ACME account with CA.",
4333 "method" : "POST",
4334 "name" : "register_account",
4335 "parameters" : {
4336 "additionalProperties" : 0,
4337 "properties" : {
4338 "contact" : {
4339 "description" : "Contact email addresses.",
4340 "format" : "email-list",
4341 "type" : "string",
4342 "typetext" : "<string>"
4343 },
4344 "directory" : {
4345 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4346 "description" : "URL of ACME CA directory endpoint.",
4347 "optional" : 1,
4348 "pattern" : "^https?://.*",
4349 "type" : "string"
4350 },
4351 "name" : {
4352 "default" : "default",
4353 "description" : "ACME account config file name.",
4354 "format" : "pve-configid",
4355 "format_description" : "name",
4356 "optional" : 1,
4357 "type" : "string",
4358 "typetext" : "<name>"
4359 },
4360 "tos_url" : {
4361 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
4362 "optional" : 1,
4363 "type" : "string",
4364 "typetext" : "<string>"
4365 }
4366 }
4367 },
4368 "protected" : 1,
4369 "returns" : {
4370 "type" : "string"
4371 }
4372 }
4373 },
4374 "leaf" : 0,
4375 "path" : "/cluster/acme/account",
4376 "text" : "account"
4377 },
4378 {
4379 "info" : {
4380 "GET" : {
4381 "description" : "Retrieve ACME TermsOfService URL from CA.",
4382 "method" : "GET",
4383 "name" : "get_tos",
4384 "parameters" : {
4385 "additionalProperties" : 0,
4386 "properties" : {
4387 "directory" : {
4388 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4389 "description" : "URL of ACME CA directory endpoint.",
4390 "optional" : 1,
4391 "pattern" : "^https?://.*",
4392 "type" : "string"
4393 }
4394 }
4395 },
5da3d723
TL
4396 "permissions" : {
4397 "user" : "all"
4398 },
a9a8e3d1
DM
4399 "returns" : {
4400 "description" : "ACME TermsOfService URL.",
4401 "type" : "string"
4402 }
4403 }
4404 },
4405 "leaf" : 1,
4406 "path" : "/cluster/acme/tos",
4407 "text" : "tos"
4408 },
4409 {
4410 "info" : {
4411 "GET" : {
4412 "description" : "Get named known ACME directory endpoints.",
4413 "method" : "GET",
4414 "name" : "get_directories",
4415 "parameters" : {
4416 "additionalProperties" : 0
4417 },
5da3d723
TL
4418 "permissions" : {
4419 "user" : "all"
4420 },
a9a8e3d1
DM
4421 "returns" : {
4422 "items" : {
4423 "additionalProperties" : 0,
4424 "properties" : {
4425 "name" : {
4426 "type" : "string"
4427 },
4428 "url" : {
4429 "description" : "URL of ACME CA directory endpoint.",
4430 "pattern" : "^https?://.*",
4431 "type" : "string"
4432 }
4433 },
4434 "type" : "object"
4435 },
4436 "type" : "array"
4437 }
4438 }
4439 },
4440 "leaf" : 1,
4441 "path" : "/cluster/acme/directories",
4442 "text" : "directories"
4443 }
4444 ],
4445 "info" : {
4446 "GET" : {
4447 "description" : "ACMEAccount index.",
4448 "method" : "GET",
4449 "name" : "index",
4450 "parameters" : {
4451 "additionalProperties" : 0
4452 },
4453 "permissions" : {
4454 "user" : "all"
4455 },
4456 "returns" : {
4457 "items" : {
4458 "properties" : {},
4459 "type" : "object"
4460 },
4461 "links" : [
4462 {
4463 "href" : "{name}",
4464 "rel" : "child"
4465 }
4466 ],
4467 "type" : "array"
4468 }
4469 }
4470 },
4471 "leaf" : 0,
4472 "path" : "/cluster/acme",
4473 "text" : "acme"
4474 },
7aacca6f 4475 {
7aacca6f
DM
4476 "info" : {
4477 "GET" : {
4478 "description" : "Read cluster log",
44660702
DM
4479 "method" : "GET",
4480 "name" : "log",
56122987 4481 "parameters" : {
7aacca6f 4482 "additionalProperties" : 0,
56122987
DM
4483 "properties" : {
4484 "max" : {
7aacca6f 4485 "description" : "Maximum number of entries.",
44660702
DM
4486 "minimum" : 1,
4487 "optional" : 1,
4bd7df8b 4488 "type" : "integer",
013dc89f 4489 "typetext" : "<integer> (1 - N)"
56122987 4490 }
7aacca6f 4491 }
56122987 4492 },
44660702
DM
4493 "permissions" : {
4494 "user" : "all"
4495 },
7aacca6f 4496 "returns" : {
7aacca6f 4497 "items" : {
44660702
DM
4498 "properties" : {},
4499 "type" : "object"
4500 },
4501 "type" : "array"
7aacca6f 4502 }
56122987 4503 }
44660702
DM
4504 },
4505 "leaf" : 1,
4506 "path" : "/cluster/log",
4507 "text" : "log"
56122987
DM
4508 },
4509 {
56122987
DM
4510 "info" : {
4511 "GET" : {
44660702 4512 "description" : "Resources index (cluster wide).",
7aacca6f 4513 "method" : "GET",
7aacca6f 4514 "name" : "resources",
56122987
DM
4515 "parameters" : {
4516 "additionalProperties" : 0,
4517 "properties" : {
4518 "type" : {
4519 "enum" : [
4520 "vm",
4521 "storage",
4522 "node"
44660702
DM
4523 ],
4524 "optional" : 1,
4525 "type" : "string"
56122987
DM
4526 }
4527 }
4528 },
44660702
DM
4529 "permissions" : {
4530 "user" : "all"
4531 },
4532 "returns" : {
4533 "items" : {
4d47f125
TL
4534 "properties" : {
4535 "cpu" : {
4536 "description" : "CPU utilization (when type in node,qemu,lxc).",
4537 "optional" : 1,
4538 "renderer" : "fraction_as_percentage",
4539 "type" : "number"
4540 },
4541 "disk" : {
4542 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
4543 "optional" : 1,
4544 "renderer" : "bytes",
4545 "type" : "string"
4546 },
4547 "hastate" : {
4548 "description" : "HA service status (for HA managed VMs).",
4549 "optional" : 1,
4550 "type" : "string"
4551 },
4552 "id" : {
4553 "type" : "string"
4554 },
4555 "level" : {
4556 "description" : "Support level (when type == node).",
4557 "optional" : 1,
4558 "type" : "string"
4559 },
4560 "maxcpu" : {
4561 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
4562 "optional" : 1,
4563 "type" : "number"
4564 },
4565 "maxdisk" : {
4566 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
4567 "optional" : 1,
4568 "renderer" : "bytes",
4569 "type" : "integer"
4570 },
4571 "maxmem" : {
4572 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
4573 "optional" : 1,
4574 "renderer" : "bytes",
4575 "type" : "integer"
4576 },
4577 "mem" : {
4578 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
4579 "optional" : 1,
4580 "renderer" : "bytes",
4581 "type" : "string"
4582 },
4583 "node" : {
4584 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
4585 "format" : "pve-node",
4586 "optional" : 1,
4587 "type" : "string"
4588 },
4589 "pool" : {
4590 "description" : "The pool name (when type in pool,qemu,lxc).",
4591 "optional" : 1,
4592 "type" : "string"
4593 },
4594 "status" : {
4595 "description" : "Resource type dependent status.",
4596 "optional" : 1,
4597 "type" : "string"
4598 },
4599 "storage" : {
4600 "description" : "The storage identifier (when type == storage).",
4601 "format" : "pve-storage-id",
4602 "optional" : 1,
4603 "type" : "string"
4604 },
4605 "type" : {
4606 "description" : "Resource type.",
4607 "enum" : [
4608 "node",
4609 "storage",
4610 "pool",
4611 "qemu",
4612 "lxc",
4613 "openvz"
4614 ],
4615 "type" : "string"
4616 },
4617 "uptime" : {
4618 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
4619 "optional" : 1,
4620 "renderer" : "duration",
4621 "type" : "integer"
4622 }
4623 },
44660702
DM
4624 "type" : "object"
4625 },
4626 "type" : "array"
4627 }
56122987
DM
4628 }
4629 },
7aacca6f 4630 "leaf" : 1,
44660702
DM
4631 "path" : "/cluster/resources",
4632 "text" : "resources"
56122987
DM
4633 },
4634 {
56122987
DM
4635 "info" : {
4636 "GET" : {
7aacca6f 4637 "description" : "List recent tasks (cluster wide).",
44660702 4638 "method" : "GET",
7aacca6f 4639 "name" : "tasks",
56122987
DM
4640 "parameters" : {
4641 "additionalProperties" : 0
4642 },
44660702
DM
4643 "permissions" : {
4644 "user" : "all"
4645 },
56122987
DM
4646 "returns" : {
4647 "items" : {
4648 "properties" : {
4649 "upid" : {
4650 "type" : "string"
4651 }
44660702
DM
4652 },
4653 "type" : "object"
4654 },
4655 "type" : "array"
7aacca6f 4656 }
56122987
DM
4657 }
4658 },
7aacca6f 4659 "leaf" : 1,
44660702
DM
4660 "path" : "/cluster/tasks",
4661 "text" : "tasks"
56122987
DM
4662 },
4663 {
56122987 4664 "info" : {
7aacca6f 4665 "GET" : {
44660702
DM
4666 "description" : "Get datacenter options.",
4667 "method" : "GET",
4668 "name" : "get_options",
56122987 4669 "parameters" : {
7aacca6f
DM
4670 "additionalProperties" : 0
4671 },
4672 "permissions" : {
4673 "check" : [
4674 "perm",
4675 "/",
4676 [
4677 "Sys.Audit"
4678 ]
4679 ]
4680 },
7aacca6f 4681 "returns" : {
44660702 4682 "type" : "object"
7aacca6f
DM
4683 }
4684 },
4685 "PUT" : {
44660702
DM
4686 "description" : "Set datacenter options.",
4687 "method" : "PUT",
7aacca6f
DM
4688 "name" : "set_options",
4689 "parameters" : {
4690 "additionalProperties" : 0,
4691 "properties" : {
27a7acb2
DM
4692 "bwlimit" : {
4693 "description" : "Set bandwidth/io limits various operations.",
4694 "format" : {
4695 "clone" : {
95895385 4696 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
4697 "format_description" : "LIMIT",
4698 "minimum" : "0",
4699 "optional" : 1,
4700 "type" : "number"
4701 },
4702 "default" : {
95895385 4703 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
4704 "format_description" : "LIMIT",
4705 "minimum" : "0",
4706 "optional" : 1,
4707 "type" : "number"
4708 },
4709 "migration" : {
95895385 4710 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
4711 "format_description" : "LIMIT",
4712 "minimum" : "0",
4713 "optional" : 1,
4714 "type" : "number"
4715 },
4716 "move" : {
95895385 4717 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
4718 "format_description" : "LIMIT",
4719 "minimum" : "0",
4720 "optional" : 1,
4721 "type" : "number"
4722 },
4723 "restore" : {
95895385 4724 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
4725 "format_description" : "LIMIT",
4726 "minimum" : "0",
4727 "optional" : 1,
4728 "type" : "number"
4729 }
4730 },
4731 "optional" : 1,
4732 "type" : "string",
4733 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
4734 },
56122987 4735 "console" : {
a9a8e3d1 4736 "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
4737 "enum" : [
4738 "applet",
4739 "vv",
a9a8e3d1
DM
4740 "html5",
4741 "xtermjs"
44660702
DM
4742 ],
4743 "optional" : 1,
4744 "type" : "string"
56122987 4745 },
7aacca6f 4746 "delete" : {
7aacca6f 4747 "description" : "A list of settings you want to delete.",
44660702 4748 "format" : "pve-configid-list",
7aacca6f 4749 "optional" : 1,
013dc89f
DM
4750 "type" : "string",
4751 "typetext" : "<string>"
7aacca6f 4752 },
44660702
DM
4753 "email_from" : {
4754 "description" : "Specify email address to send notification from (default is root@$hostname)",
4755 "format" : "email-opt",
7aacca6f 4756 "optional" : 1,
013dc89f
DM
4757 "type" : "string",
4758 "typetext" : "<string>"
44660702
DM
4759 },
4760 "fencing" : {
4761 "default" : "watchdog",
4762 "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 4763 "enum" : [
44660702
DM
4764 "watchdog",
4765 "hardware",
4766 "both"
7aacca6f 4767 ],
44660702
DM
4768 "optional" : 1,
4769 "type" : "string"
4770 },
5f26e15b
TL
4771 "ha" : {
4772 "description" : "Cluster wide HA settings.",
4773 "format" : {
4774 "shutdown_policy" : {
4775 "default" : "conditional",
4776 "description" : "The policy for HA services on node shutdown. 'freeze' disables auto-recovery, 'failover' ensures recovery, 'conditional' recovers on poweroff and freezes on reboot. Running HA Services will always get stopped first on shutdown.",
4777 "enum" : [
4778 "freeze",
4779 "failover",
4780 "conditional"
4781 ],
4782 "type" : "string",
4783 "verbose_description" : "Describes the policy for handling HA services on poweroff or reboot of a node. Freeze will always freeze services which are still located on the node on shutdown, those services won't be recovered by the HA manager. Failover will not mark the services as frozen and thus the services will get recovered to other nodes, if the shutdown node does not come up again quickly (< 1min). 'conditional' chooses automatically depending on the type of shutdown, i.e., on a reboot the service will be frozen but on a poweroff the service will stay as is, and thus get recovered after about 2 minutes."
4784 }
4785 },
4786 "optional" : 1,
4787 "type" : "string",
4788 "typetext" : "shutdown_policy=<freeze|failover|conditional>"
4789 },
44660702
DM
4790 "http_proxy" : {
4791 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
4792 "optional" : 1,
4793 "pattern" : "http://.*",
4794 "type" : "string"
7aacca6f 4795 },
56122987 4796 "keyboard" : {
44660702 4797 "description" : "Default keybord layout for vnc server.",
56122987 4798 "enum" : [
44660702
DM
4799 "de",
4800 "de-ch",
7aacca6f 4801 "da",
56122987 4802 "en-gb",
44660702
DM
4803 "en-us",
4804 "es",
4805 "fi",
4806 "fr",
4807 "fr-be",
4808 "fr-ca",
4809 "fr-ch",
4810 "hu",
7aacca6f 4811 "is",
44660702
DM
4812 "it",
4813 "ja",
4814 "lt",
56122987 4815 "mk",
7aacca6f 4816 "nl",
56122987 4817 "no",
44660702 4818 "pl",
7aacca6f 4819 "pt",
44660702
DM
4820 "pt-br",
4821 "sv",
4822 "sl",
4823 "tr"
56122987 4824 ],
56122987
DM
4825 "optional" : 1,
4826 "type" : "string"
4827 },
44660702
DM
4828 "language" : {
4829 "description" : "Default GUI language.",
4830 "enum" : [
4d47f125
TL
4831 "zh_CN",
4832 "zh_TW",
4833 "ca",
44660702 4834 "en",
4d47f125
TL
4835 "eu",
4836 "fr",
4837 "de",
4838 "it",
4839 "es",
4840 "ja",
4841 "nb",
4842 "nn",
4843 "fa",
4844 "pl",
4845 "pt_BR",
4846 "ru",
4847 "sl",
4848 "sv",
4849 "tr"
44660702 4850 ],
56122987 4851 "optional" : 1,
44660702 4852 "type" : "string"
56122987 4853 },
4bd7df8b
DM
4854 "mac_prefix" : {
4855 "description" : "Prefix for autogenerated MAC addresses.",
95895385 4856 "format" : "mac-prefix",
4bd7df8b 4857 "optional" : 1,
95895385
TL
4858 "type" : "string",
4859 "typetext" : "<string>"
4bd7df8b 4860 },
44660702
DM
4861 "max_workers" : {
4862 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
4863 "minimum" : 1,
56122987 4864 "optional" : 1,
4bd7df8b 4865 "type" : "integer",
013dc89f 4866 "typetext" : "<integer> (1 - N)"
56122987 4867 },
de0983cb
DM
4868 "migration" : {
4869 "description" : "For cluster wide migration settings.",
4870 "format" : {
4871 "network" : {
4872 "description" : "CIDR of the (sub) network that is used for migration.",
4873 "format" : "CIDR",
4874 "format_description" : "CIDR",
4875 "optional" : 1,
4876 "type" : "string"
4877 },
4878 "type" : {
4879 "default" : "secure",
4880 "default_key" : 1,
4881 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
4882 "enum" : [
4883 "secure",
4884 "insecure"
4885 ],
4886 "type" : "string"
4887 }
4888 },
4889 "optional" : 1,
4890 "type" : "string",
4891 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
4892 },
7aacca6f 4893 "migration_unsecure" : {
de0983cb 4894 "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 4895 "optional" : 1,
013dc89f
DM
4896 "type" : "boolean",
4897 "typetext" : "<boolean>"
95895385
TL
4898 },
4899 "u2f" : {
4900 "description" : "u2f",
4901 "format" : {
4902 "appid" : {
4903 "description" : "U2F AppId URL override. Defaults to the origin.",
4904 "format_description" : "APPID",
4905 "optional" : 1,
4906 "type" : "string"
4907 },
4908 "origin" : {
4909 "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.",
4910 "format_description" : "URL",
4911 "optional" : 1,
4912 "type" : "string"
4913 }
4914 },
4915 "optional" : 1,
4916 "type" : "string",
4917 "typetext" : "[appid=<APPID>] [,origin=<URL>]"
56122987
DM
4918 }
4919 }
4920 },
44660702
DM
4921 "permissions" : {
4922 "check" : [
4923 "perm",
4924 "/",
4925 [
4926 "Sys.Modify"
4927 ]
4928 ]
4929 },
56122987 4930 "protected" : 1,
7aacca6f
DM
4931 "returns" : {
4932 "type" : "null"
44660702 4933 }
7aacca6f
DM
4934 }
4935 },
44660702
DM
4936 "leaf" : 1,
4937 "path" : "/cluster/options",
7aacca6f
DM
4938 "text" : "options"
4939 },
4940 {
7aacca6f 4941 "info" : {
56122987 4942 "GET" : {
1e3f8156 4943 "description" : "Get cluster status information.",
44660702
DM
4944 "method" : "GET",
4945 "name" : "get_status",
56122987
DM
4946 "parameters" : {
4947 "additionalProperties" : 0
4948 },
56122987
DM
4949 "permissions" : {
4950 "check" : [
4951 "perm",
4952 "/",
4953 [
4954 "Sys.Audit"
4955 ]
4956 ]
4957 },
7aacca6f 4958 "protected" : 1,
56122987 4959 "returns" : {
56122987 4960 "items" : {
56122987
DM
4961 "properties" : {
4962 "type" : {
4963 "type" : "string"
4964 }
44660702
DM
4965 },
4966 "type" : "object"
7aacca6f
DM
4967 },
4968 "type" : "array"
56122987
DM
4969 }
4970 }
4971 },
44660702 4972 "leaf" : 1,
7aacca6f 4973 "path" : "/cluster/status",
44660702 4974 "text" : "status"
56122987
DM
4975 },
4976 {
56122987
DM
4977 "info" : {
4978 "GET" : {
56122987 4979 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
4980 "method" : "GET",
4981 "name" : "nextid",
56122987 4982 "parameters" : {
44660702 4983 "additionalProperties" : 0,
56122987
DM
4984 "properties" : {
4985 "vmid" : {
44660702 4986 "description" : "The (unique) ID of the VM.",
56122987 4987 "format" : "pve-vmid",
7aacca6f 4988 "minimum" : 1,
7aacca6f 4989 "optional" : 1,
4bd7df8b 4990 "type" : "integer",
013dc89f 4991 "typetext" : "<integer> (1 - N)"
56122987 4992 }
44660702 4993 }
56122987 4994 },
7aacca6f
DM
4995 "permissions" : {
4996 "user" : "all"
44660702
DM
4997 },
4998 "returns" : {
4999 "description" : "The next free VMID.",
5000 "type" : "integer"
7aacca6f 5001 }
56122987
DM
5002 }
5003 },
7aacca6f 5004 "leaf" : 1,
44660702
DM
5005 "path" : "/cluster/nextid",
5006 "text" : "nextid"
1e3f8156
TL
5007 },
5008 {
5009 "children" : [
5010 {
5011 "info" : {
5012 "GET" : {
5013 "description" : "Get ceph metadata.",
5014 "method" : "GET",
5015 "name" : "ceph_metadata",
5016 "parameters" : {
5017 "additionalProperties" : 0
5018 },
5019 "permissions" : {
5020 "check" : [
5021 "perm",
5022 "/",
5023 [
5024 "Sys.Audit",
5025 "Datastore.Audit"
5026 ],
5027 "any",
5028 1
5029 ]
5030 },
5031 "protected" : 1,
5032 "returns" : {
5033 "type" : "object"
5034 }
5035 }
5036 },
5037 "leaf" : 1,
5038 "path" : "/cluster/ceph/metadata",
5039 "text" : "metadata"
5040 },
5041 {
5042 "info" : {
5043 "GET" : {
5044 "description" : "Get ceph status.",
5045 "method" : "GET",
5046 "name" : "cephstatus",
5047 "parameters" : {
5048 "additionalProperties" : 0
5049 },
5050 "permissions" : {
5051 "check" : [
5052 "perm",
5053 "/",
5054 [
5055 "Sys.Audit",
5056 "Datastore.Audit"
5057 ],
5058 "any",
5059 1
5060 ]
5061 },
5062 "protected" : 1,
5063 "returns" : {
5064 "type" : "object"
5065 }
5066 }
5067 },
5068 "leaf" : 1,
5069 "path" : "/cluster/ceph/status",
5070 "text" : "status"
5071 }
5072 ],
5073 "info" : {
5074 "GET" : {
5075 "description" : "Cluster ceph index.",
5076 "method" : "GET",
5077 "name" : "cephindex",
5078 "parameters" : {
5079 "additionalProperties" : 0
5080 },
5081 "permissions" : {
5082 "user" : "all"
5083 },
5084 "returns" : {
5085 "items" : {
5086 "properties" : {},
5087 "type" : "object"
5088 },
5089 "links" : [
5090 {
5091 "href" : "{name}",
5092 "rel" : "child"
5093 }
5094 ],
5095 "type" : "array"
5096 }
5097 }
5098 },
5099 "leaf" : 0,
5100 "path" : "/cluster/ceph",
5101 "text" : "ceph"
56122987
DM
5102 }
5103 ],
44660702
DM
5104 "info" : {
5105 "GET" : {
5106 "description" : "Cluster index.",
5107 "method" : "GET",
5108 "name" : "index",
5109 "parameters" : {
5110 "additionalProperties" : 0
5111 },
5112 "permissions" : {
5113 "user" : "all"
5114 },
5115 "returns" : {
5116 "items" : {
5117 "properties" : {},
5118 "type" : "object"
5119 },
5120 "links" : [
5121 {
5122 "href" : "{name}",
5123 "rel" : "child"
5124 }
5125 ],
5126 "type" : "array"
5127 }
5128 }
5129 },
5130 "leaf" : 0,
5131 "path" : "/cluster",
7aacca6f 5132 "text" : "cluster"
56122987
DM
5133 },
5134 {
56122987
DM
5135 "children" : [
5136 {
7aacca6f
DM
5137 "children" : [
5138 {
5139 "children" : [
5140 {
56122987
DM
5141 "children" : [
5142 {
56122987
DM
5143 "children" : [
5144 {
5145 "children" : [
5146 {
56122987
DM
5147 "info" : {
5148 "DELETE" : {
44660702 5149 "description" : "Delete rule.",
7aacca6f 5150 "method" : "DELETE",
44660702 5151 "name" : "delete_rule",
56122987 5152 "parameters" : {
44660702 5153 "additionalProperties" : 0,
56122987 5154 "properties" : {
44660702
DM
5155 "digest" : {
5156 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5157 "maxLength" : 40,
5158 "optional" : 1,
013dc89f
DM
5159 "type" : "string",
5160 "typetext" : "<string>"
44660702 5161 },
56122987 5162 "node" : {
7aacca6f 5163 "description" : "The cluster node name.",
44660702 5164 "format" : "pve-node",
013dc89f
DM
5165 "type" : "string",
5166 "typetext" : "<string>"
7aacca6f 5167 },
56122987 5168 "pos" : {
7aacca6f 5169 "description" : "Update rule at position <pos>.",
44660702 5170 "minimum" : 0,
56122987 5171 "optional" : 1,
4bd7df8b 5172 "type" : "integer",
013dc89f 5173 "typetext" : "<integer> (0 - N)"
44660702
DM
5174 },
5175 "vmid" : {
5176 "description" : "The (unique) ID of the VM.",
5177 "format" : "pve-vmid",
5178 "minimum" : 1,
4bd7df8b 5179 "type" : "integer",
013dc89f 5180 "typetext" : "<integer> (1 - N)"
56122987 5181 }
44660702 5182 }
7aacca6f 5183 },
56122987
DM
5184 "permissions" : {
5185 "check" : [
5186 "perm",
5187 "/vms/{vmid}",
5188 [
5189 "VM.Config.Network"
5190 ]
5191 ]
5192 },
44660702
DM
5193 "protected" : 1,
5194 "proxyto" : null,
56122987
DM
5195 "returns" : {
5196 "type" : "null"
44660702
DM
5197 }
5198 },
5199 "GET" : {
5200 "description" : "Get single rule data.",
5201 "method" : "GET",
5202 "name" : "get_rule",
5203 "parameters" : {
5204 "additionalProperties" : 0,
5205 "properties" : {
5206 "node" : {
5207 "description" : "The cluster node name.",
5208 "format" : "pve-node",
013dc89f
DM
5209 "type" : "string",
5210 "typetext" : "<string>"
44660702
DM
5211 },
5212 "pos" : {
5213 "description" : "Update rule at position <pos>.",
5214 "minimum" : 0,
5215 "optional" : 1,
4bd7df8b 5216 "type" : "integer",
013dc89f 5217 "typetext" : "<integer> (0 - N)"
44660702
DM
5218 },
5219 "vmid" : {
5220 "description" : "The (unique) ID of the VM.",
5221 "format" : "pve-vmid",
5222 "minimum" : 1,
4bd7df8b 5223 "type" : "integer",
013dc89f 5224 "typetext" : "<integer> (1 - N)"
44660702
DM
5225 }
5226 }
56122987 5227 },
56122987
DM
5228 "permissions" : {
5229 "check" : [
5230 "perm",
5231 "/vms/{vmid}",
5232 [
44660702 5233 "VM.Audit"
56122987
DM
5234 ]
5235 ]
5236 },
56122987 5237 "proxyto" : null,
44660702
DM
5238 "returns" : {
5239 "properties" : {
e2d681b3
TL
5240 "action" : {
5241 "type" : "string"
5242 },
5243 "comment" : {
5244 "optional" : 1,
5245 "type" : "string"
5246 },
5247 "dest" : {
5248 "optional" : 1,
5249 "type" : "string"
5250 },
5251 "dport" : {
5252 "optional" : 1,
5253 "type" : "string"
5254 },
5255 "enable" : {
5256 "optional" : 1,
5257 "type" : "integer"
5258 },
5259 "iface" : {
5260 "optional" : 1,
5261 "type" : "string"
5262 },
5263 "ipversion" : {
5264 "optional" : 1,
5265 "type" : "integer"
5266 },
95895385
TL
5267 "log" : {
5268 "description" : "Log level for firewall rule",
5269 "enum" : [
5270 "emerg",
5271 "alert",
5272 "crit",
5273 "err",
5274 "warning",
5275 "notice",
5276 "info",
5277 "debug",
5278 "nolog"
5279 ],
5280 "optional" : 1,
5281 "type" : "string"
5282 },
e2d681b3
TL
5283 "macro" : {
5284 "optional" : 1,
5f26e15b 5285 "type" : "string"
e2d681b3 5286 },
44660702
DM
5287 "pos" : {
5288 "type" : "integer"
e2d681b3
TL
5289 },
5290 "proto" : {
5291 "optional" : 1,
5292 "type" : "string"
5293 },
5294 "source" : {
5295 "optional" : 1,
5296 "type" : "string"
5297 },
5298 "sport" : {
5299 "optional" : 1,
5300 "type" : "string"
5301 },
5302 "type" : {
5303 "type" : "string"
44660702
DM
5304 }
5305 },
5306 "type" : "object"
5307 }
5308 },
5309 "PUT" : {
7aacca6f
DM
5310 "description" : "Modify rule data.",
5311 "method" : "PUT",
44660702 5312 "name" : "update_rule",
56122987 5313 "parameters" : {
44660702 5314 "additionalProperties" : 0,
56122987 5315 "properties" : {
44660702
DM
5316 "action" : {
5317 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
5318 "maxLength" : 20,
5319 "minLength" : 2,
56122987 5320 "optional" : 1,
44660702 5321 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
5322 "type" : "string"
5323 },
7aacca6f 5324 "comment" : {
e94f0d56 5325 "description" : "Descriptive comment.",
7aacca6f 5326 "optional" : 1,
013dc89f
DM
5327 "type" : "string",
5328 "typetext" : "<string>"
7aacca6f
DM
5329 },
5330 "delete" : {
7aacca6f 5331 "description" : "A list of settings you want to delete.",
44660702
DM
5332 "format" : "pve-configid-list",
5333 "optional" : 1,
013dc89f
DM
5334 "type" : "string",
5335 "typetext" : "<string>"
7aacca6f
DM
5336 },
5337 "dest" : {
44660702 5338 "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 5339 "format" : "pve-fw-addr-spec",
56122987 5340 "optional" : 1,
013dc89f
DM
5341 "type" : "string",
5342 "typetext" : "<string>"
56122987 5343 },
7aacca6f 5344 "digest" : {
44660702 5345 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 5346 "maxLength" : 40,
56122987 5347 "optional" : 1,
013dc89f
DM
5348 "type" : "string",
5349 "typetext" : "<string>"
44660702
DM
5350 },
5351 "dport" : {
5352 "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.",
5353 "format" : "pve-fw-dport-spec",
5354 "optional" : 1,
013dc89f
DM
5355 "type" : "string",
5356 "typetext" : "<string>"
56122987 5357 },
7aacca6f 5358 "enable" : {
e94f0d56 5359 "description" : "Flag to enable/disable a rule.",
44660702 5360 "minimum" : 0,
56122987 5361 "optional" : 1,
4bd7df8b 5362 "type" : "integer",
013dc89f 5363 "typetext" : "<integer> (0 - N)"
7aacca6f 5364 },
44660702
DM
5365 "iface" : {
5366 "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.",
5367 "format" : "pve-iface",
5368 "maxLength" : 20,
7aacca6f 5369 "minLength" : 2,
56122987 5370 "optional" : 1,
013dc89f
DM
5371 "type" : "string",
5372 "typetext" : "<string>"
56122987 5373 },
95895385
TL
5374 "log" : {
5375 "description" : "Log level for firewall rule.",
5376 "enum" : [
5377 "emerg",
5378 "alert",
5379 "crit",
5380 "err",
5381 "warning",
5382 "notice",
5383 "info",
5384 "debug",
5385 "nolog"
5386 ],
5387 "optional" : 1,
5388 "type" : "string"
5389 },
44660702 5390 "macro" : {
e94f0d56 5391 "description" : "Use predefined standard macro.",
44660702 5392 "maxLength" : 128,
56122987 5393 "optional" : 1,
013dc89f
DM
5394 "type" : "string",
5395 "typetext" : "<string>"
56122987 5396 },
44660702
DM
5397 "moveto" : {
5398 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
5399 "minimum" : 0,
56122987 5400 "optional" : 1,
4bd7df8b 5401 "type" : "integer",
013dc89f 5402 "typetext" : "<integer> (0 - N)"
56122987 5403 },
44660702
DM
5404 "node" : {
5405 "description" : "The cluster node name.",
5406 "format" : "pve-node",
013dc89f
DM
5407 "type" : "string",
5408 "typetext" : "<string>"
44660702
DM
5409 },
5410 "pos" : {
5411 "description" : "Update rule at position <pos>.",
5412 "minimum" : 0,
5413 "optional" : 1,
4bd7df8b 5414 "type" : "integer",
013dc89f 5415 "typetext" : "<integer> (0 - N)"
56122987 5416 },
44660702
DM
5417 "proto" : {
5418 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5419 "format" : "pve-fw-protocol-spec",
5420 "optional" : 1,
013dc89f
DM
5421 "type" : "string",
5422 "typetext" : "<string>"
7aacca6f 5423 },
44660702
DM
5424 "source" : {
5425 "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.",
5426 "format" : "pve-fw-addr-spec",
56122987 5427 "optional" : 1,
013dc89f
DM
5428 "type" : "string",
5429 "typetext" : "<string>"
56122987
DM
5430 },
5431 "sport" : {
5432 "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
5433 "format" : "pve-fw-sport-spec",
5434 "optional" : 1,
013dc89f
DM
5435 "type" : "string",
5436 "typetext" : "<string>"
44660702
DM
5437 },
5438 "type" : {
e94f0d56 5439 "description" : "Rule type.",
44660702
DM
5440 "enum" : [
5441 "in",
5442 "out",
5443 "group"
5444 ],
56122987 5445 "optional" : 1,
56122987 5446 "type" : "string"
44660702
DM
5447 },
5448 "vmid" : {
5449 "description" : "The (unique) ID of the VM.",
5450 "format" : "pve-vmid",
5451 "minimum" : 1,
4bd7df8b 5452 "type" : "integer",
013dc89f 5453 "typetext" : "<integer> (1 - N)"
56122987 5454 }
44660702 5455 }
56122987 5456 },
56122987
DM
5457 "permissions" : {
5458 "check" : [
5459 "perm",
5460 "/vms/{vmid}",
5461 [
44660702 5462 "VM.Config.Network"
56122987
DM
5463 ]
5464 ]
7aacca6f 5465 },
44660702 5466 "protected" : 1,
7aacca6f 5467 "proxyto" : null,
7aacca6f 5468 "returns" : {
44660702
DM
5469 "type" : "null"
5470 }
56122987 5471 }
7aacca6f 5472 },
44660702 5473 "leaf" : 1,
7aacca6f 5474 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 5475 "text" : "{pos}"
56122987
DM
5476 }
5477 ],
56122987 5478 "info" : {
44660702
DM
5479 "GET" : {
5480 "description" : "List rules.",
5481 "method" : "GET",
5482 "name" : "get_rules",
5483 "parameters" : {
5484 "additionalProperties" : 0,
5485 "properties" : {
5486 "node" : {
5487 "description" : "The cluster node name.",
5488 "format" : "pve-node",
013dc89f
DM
5489 "type" : "string",
5490 "typetext" : "<string>"
44660702
DM
5491 },
5492 "vmid" : {
5493 "description" : "The (unique) ID of the VM.",
5494 "format" : "pve-vmid",
5495 "minimum" : 1,
4bd7df8b 5496 "type" : "integer",
013dc89f 5497 "typetext" : "<integer> (1 - N)"
44660702
DM
5498 }
5499 }
56122987 5500 },
56122987
DM
5501 "permissions" : {
5502 "check" : [
5503 "perm",
5504 "/vms/{vmid}",
5505 [
44660702 5506 "VM.Audit"
56122987
DM
5507 ]
5508 ]
7aacca6f 5509 },
44660702
DM
5510 "proxyto" : null,
5511 "returns" : {
5512 "items" : {
5513 "properties" : {
5514 "pos" : {
5515 "type" : "integer"
5516 }
5517 },
5518 "type" : "object"
5519 },
5520 "links" : [
5521 {
5522 "href" : "{pos}",
5523 "rel" : "child"
5524 }
5525 ],
5526 "type" : "array"
5527 }
5528 },
5529 "POST" : {
5530 "description" : "Create new rule.",
7aacca6f 5531 "method" : "POST",
44660702 5532 "name" : "create_rule",
56122987 5533 "parameters" : {
44660702 5534 "additionalProperties" : 0,
56122987 5535 "properties" : {
44660702
DM
5536 "action" : {
5537 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
5538 "maxLength" : 20,
5539 "minLength" : 2,
5540 "optional" : 0,
5541 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5542 "type" : "string"
56122987 5543 },
44660702 5544 "comment" : {
e94f0d56 5545 "description" : "Descriptive comment.",
56122987 5546 "optional" : 1,
013dc89f
DM
5547 "type" : "string",
5548 "typetext" : "<string>"
56122987 5549 },
44660702
DM
5550 "dest" : {
5551 "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.",
5552 "format" : "pve-fw-addr-spec",
5553 "optional" : 1,
013dc89f
DM
5554 "type" : "string",
5555 "typetext" : "<string>"
56122987 5556 },
44660702
DM
5557 "digest" : {
5558 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5559 "maxLength" : 40,
56122987 5560 "optional" : 1,
013dc89f
DM
5561 "type" : "string",
5562 "typetext" : "<string>"
56122987 5563 },
7aacca6f
DM
5564 "dport" : {
5565 "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 5566 "format" : "pve-fw-dport-spec",
7aacca6f 5567 "optional" : 1,
013dc89f
DM
5568 "type" : "string",
5569 "typetext" : "<string>"
56122987
DM
5570 },
5571 "enable" : {
e94f0d56 5572 "description" : "Flag to enable/disable a rule.",
56122987 5573 "minimum" : 0,
44660702 5574 "optional" : 1,
4bd7df8b 5575 "type" : "integer",
013dc89f 5576 "typetext" : "<integer> (0 - N)"
56122987 5577 },
44660702
DM
5578 "iface" : {
5579 "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.",
5580 "format" : "pve-iface",
5581 "maxLength" : 20,
7aacca6f 5582 "minLength" : 2,
44660702 5583 "optional" : 1,
013dc89f
DM
5584 "type" : "string",
5585 "typetext" : "<string>"
56122987 5586 },
95895385
TL
5587 "log" : {
5588 "description" : "Log level for firewall rule.",
5589 "enum" : [
5590 "emerg",
5591 "alert",
5592 "crit",
5593 "err",
5594 "warning",
5595 "notice",
5596 "info",
5597 "debug",
5598 "nolog"
5599 ],
5600 "optional" : 1,
5601 "type" : "string"
5602 },
44660702 5603 "macro" : {
e94f0d56 5604 "description" : "Use predefined standard macro.",
44660702 5605 "maxLength" : 128,
56122987 5606 "optional" : 1,
013dc89f
DM
5607 "type" : "string",
5608 "typetext" : "<string>"
7aacca6f 5609 },
44660702
DM
5610 "node" : {
5611 "description" : "The cluster node name.",
5612 "format" : "pve-node",
013dc89f
DM
5613 "type" : "string",
5614 "typetext" : "<string>"
44660702
DM
5615 },
5616 "pos" : {
5617 "description" : "Update rule at position <pos>.",
5618 "minimum" : 0,
5619 "optional" : 1,
4bd7df8b 5620 "type" : "integer",
013dc89f 5621 "typetext" : "<integer> (0 - N)"
44660702
DM
5622 },
5623 "proto" : {
5624 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5625 "format" : "pve-fw-protocol-spec",
7aacca6f 5626 "optional" : 1,
013dc89f
DM
5627 "type" : "string",
5628 "typetext" : "<string>"
7aacca6f
DM
5629 },
5630 "source" : {
5631 "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 5632 "format" : "pve-fw-addr-spec",
7aacca6f 5633 "optional" : 1,
013dc89f
DM
5634 "type" : "string",
5635 "typetext" : "<string>"
7aacca6f 5636 },
44660702
DM
5637 "sport" : {
5638 "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.",
5639 "format" : "pve-fw-sport-spec",
7aacca6f 5640 "optional" : 1,
013dc89f
DM
5641 "type" : "string",
5642 "typetext" : "<string>"
7aacca6f 5643 },
44660702 5644 "type" : {
e94f0d56 5645 "description" : "Rule type.",
44660702
DM
5646 "enum" : [
5647 "in",
5648 "out",
5649 "group"
5650 ],
5651 "optional" : 0,
5652 "type" : "string"
7aacca6f 5653 },
7aacca6f 5654 "vmid" : {
44660702 5655 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
5656 "format" : "pve-vmid",
5657 "minimum" : 1,
4bd7df8b 5658 "type" : "integer",
013dc89f 5659 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5660 }
5661 }
5662 },
56122987
DM
5663 "permissions" : {
5664 "check" : [
5665 "perm",
5666 "/vms/{vmid}",
5667 [
44660702 5668 "VM.Config.Network"
56122987
DM
5669 ]
5670 ]
5671 },
44660702
DM
5672 "protected" : 1,
5673 "proxyto" : null,
56122987 5674 "returns" : {
44660702
DM
5675 "type" : "null"
5676 }
56122987
DM
5677 }
5678 },
44660702 5679 "leaf" : 0,
7aacca6f 5680 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 5681 "text" : "rules"
56122987
DM
5682 },
5683 {
5684 "children" : [
5685 {
56122987 5686 "info" : {
44660702
DM
5687 "DELETE" : {
5688 "description" : "Remove IP or Network alias.",
5689 "method" : "DELETE",
5690 "name" : "remove_alias",
56122987 5691 "parameters" : {
44660702 5692 "additionalProperties" : 0,
56122987 5693 "properties" : {
44660702
DM
5694 "digest" : {
5695 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5696 "maxLength" : 40,
5697 "optional" : 1,
013dc89f
DM
5698 "type" : "string",
5699 "typetext" : "<string>"
56122987
DM
5700 },
5701 "name" : {
56122987 5702 "description" : "Alias name.",
44660702 5703 "maxLength" : 64,
7aacca6f 5704 "minLength" : 2,
44660702 5705 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
5706 "type" : "string"
5707 },
7aacca6f 5708 "node" : {
44660702 5709 "description" : "The cluster node name.",
7aacca6f 5710 "format" : "pve-node",
013dc89f
DM
5711 "type" : "string",
5712 "typetext" : "<string>"
44660702
DM
5713 },
5714 "vmid" : {
5715 "description" : "The (unique) ID of the VM.",
5716 "format" : "pve-vmid",
5717 "minimum" : 1,
4bd7df8b 5718 "type" : "integer",
013dc89f 5719 "typetext" : "<integer> (1 - N)"
56122987 5720 }
44660702 5721 }
56122987 5722 },
7aacca6f
DM
5723 "permissions" : {
5724 "check" : [
5725 "perm",
5726 "/vms/{vmid}",
5727 [
5728 "VM.Config.Network"
5729 ]
5730 ]
56122987 5731 },
44660702
DM
5732 "protected" : 1,
5733 "returns" : {
5734 "type" : "null"
5735 }
5736 },
5737 "GET" : {
5738 "description" : "Read alias.",
5739 "method" : "GET",
5740 "name" : "read_alias",
56122987 5741 "parameters" : {
44660702 5742 "additionalProperties" : 0,
56122987 5743 "properties" : {
56122987 5744 "name" : {
7aacca6f 5745 "description" : "Alias name.",
44660702 5746 "maxLength" : 64,
56122987 5747 "minLength" : 2,
44660702 5748 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 5749 "type" : "string"
7aacca6f
DM
5750 },
5751 "node" : {
5752 "description" : "The cluster node name.",
44660702 5753 "format" : "pve-node",
013dc89f
DM
5754 "type" : "string",
5755 "typetext" : "<string>"
44660702
DM
5756 },
5757 "vmid" : {
5758 "description" : "The (unique) ID of the VM.",
5759 "format" : "pve-vmid",
5760 "minimum" : 1,
4bd7df8b 5761 "type" : "integer",
013dc89f 5762 "typetext" : "<integer> (1 - N)"
56122987 5763 }
44660702 5764 }
56122987 5765 },
44660702
DM
5766 "permissions" : {
5767 "check" : [
5768 "perm",
5769 "/vms/{vmid}",
5770 [
5771 "VM.Audit"
5772 ]
5773 ]
56122987 5774 },
44660702
DM
5775 "returns" : {
5776 "type" : "object"
5777 }
7aacca6f 5778 },
44660702
DM
5779 "PUT" : {
5780 "description" : "Update IP or Network alias.",
5781 "method" : "PUT",
5782 "name" : "update_alias",
56122987
DM
5783 "parameters" : {
5784 "additionalProperties" : 0,
5785 "properties" : {
44660702
DM
5786 "cidr" : {
5787 "description" : "Network/IP specification in CIDR format.",
5788 "format" : "IPorCIDR",
013dc89f
DM
5789 "type" : "string",
5790 "typetext" : "<string>"
44660702
DM
5791 },
5792 "comment" : {
5793 "optional" : 1,
013dc89f
DM
5794 "type" : "string",
5795 "typetext" : "<string>"
56122987
DM
5796 },
5797 "digest" : {
44660702 5798 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
5799 "maxLength" : 40,
5800 "optional" : 1,
013dc89f
DM
5801 "type" : "string",
5802 "typetext" : "<string>"
56122987 5803 },
7aacca6f 5804 "name" : {
44660702 5805 "description" : "Alias name.",
56122987
DM
5806 "maxLength" : 64,
5807 "minLength" : 2,
5808 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5809 "type" : "string"
7aacca6f
DM
5810 },
5811 "node" : {
7aacca6f 5812 "description" : "The cluster node name.",
44660702 5813 "format" : "pve-node",
013dc89f
DM
5814 "type" : "string",
5815 "typetext" : "<string>"
44660702
DM
5816 },
5817 "rename" : {
5818 "description" : "Rename an existing alias.",
5819 "maxLength" : 64,
5820 "minLength" : 2,
5821 "optional" : 1,
5822 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5823 "type" : "string"
5824 },
5825 "vmid" : {
5826 "description" : "The (unique) ID of the VM.",
5827 "format" : "pve-vmid",
5828 "minimum" : 1,
4bd7df8b 5829 "type" : "integer",
013dc89f 5830 "typetext" : "<integer> (1 - N)"
56122987
DM
5831 }
5832 }
5833 },
7aacca6f
DM
5834 "permissions" : {
5835 "check" : [
5836 "perm",
5837 "/vms/{vmid}",
5838 [
5839 "VM.Config.Network"
5840 ]
5841 ]
5842 },
5843 "protected" : 1,
7aacca6f
DM
5844 "returns" : {
5845 "type" : "null"
44660702 5846 }
56122987
DM
5847 }
5848 },
44660702 5849 "leaf" : 1,
7aacca6f 5850 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 5851 "text" : "{name}"
56122987
DM
5852 }
5853 ],
5854 "info" : {
44660702
DM
5855 "GET" : {
5856 "description" : "List aliases",
5857 "method" : "GET",
5858 "name" : "get_aliases",
56122987 5859 "parameters" : {
44660702 5860 "additionalProperties" : 0,
56122987 5861 "properties" : {
7aacca6f 5862 "node" : {
7aacca6f 5863 "description" : "The cluster node name.",
44660702 5864 "format" : "pve-node",
013dc89f
DM
5865 "type" : "string",
5866 "typetext" : "<string>"
56122987 5867 },
44660702
DM
5868 "vmid" : {
5869 "description" : "The (unique) ID of the VM.",
5870 "format" : "pve-vmid",
5871 "minimum" : 1,
4bd7df8b 5872 "type" : "integer",
013dc89f 5873 "typetext" : "<integer> (1 - N)"
56122987 5874 }
44660702 5875 }
56122987 5876 },
56122987
DM
5877 "permissions" : {
5878 "check" : [
5879 "perm",
5880 "/vms/{vmid}",
5881 [
44660702 5882 "VM.Audit"
56122987
DM
5883 ]
5884 ]
5885 },
56122987
DM
5886 "returns" : {
5887 "items" : {
5888 "properties" : {
44660702 5889 "cidr" : {
56122987
DM
5890 "type" : "string"
5891 },
44660702
DM
5892 "comment" : {
5893 "optional" : 1,
7aacca6f 5894 "type" : "string"
56122987
DM
5895 },
5896 "digest" : {
56122987 5897 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5898 "maxLength" : 40,
56122987
DM
5899 "optional" : 0,
5900 "type" : "string"
5901 },
44660702 5902 "name" : {
56122987
DM
5903 "type" : "string"
5904 }
44660702
DM
5905 },
5906 "type" : "object"
56122987 5907 },
56122987
DM
5908 "links" : [
5909 {
5910 "href" : "{name}",
5911 "rel" : "child"
5912 }
44660702
DM
5913 ],
5914 "type" : "array"
5915 }
5916 },
5917 "POST" : {
5918 "description" : "Create IP or Network Alias.",
5919 "method" : "POST",
5920 "name" : "create_alias",
56122987 5921 "parameters" : {
7aacca6f 5922 "additionalProperties" : 0,
56122987 5923 "properties" : {
44660702
DM
5924 "cidr" : {
5925 "description" : "Network/IP specification in CIDR format.",
5926 "format" : "IPorCIDR",
013dc89f
DM
5927 "type" : "string",
5928 "typetext" : "<string>"
44660702
DM
5929 },
5930 "comment" : {
5931 "optional" : 1,
013dc89f
DM
5932 "type" : "string",
5933 "typetext" : "<string>"
44660702
DM
5934 },
5935 "name" : {
5936 "description" : "Alias name.",
5937 "maxLength" : 64,
5938 "minLength" : 2,
5939 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5940 "type" : "string"
56122987
DM
5941 },
5942 "node" : {
7aacca6f 5943 "description" : "The cluster node name.",
44660702 5944 "format" : "pve-node",
013dc89f
DM
5945 "type" : "string",
5946 "typetext" : "<string>"
44660702
DM
5947 },
5948 "vmid" : {
5949 "description" : "The (unique) ID of the VM.",
5950 "format" : "pve-vmid",
5951 "minimum" : 1,
4bd7df8b 5952 "type" : "integer",
013dc89f 5953 "typetext" : "<integer> (1 - N)"
56122987 5954 }
7aacca6f 5955 }
56122987 5956 },
44660702
DM
5957 "permissions" : {
5958 "check" : [
5959 "perm",
5960 "/vms/{vmid}",
5961 [
5962 "VM.Config.Network"
5963 ]
5964 ]
5965 },
5966 "protected" : 1,
5967 "returns" : {
5968 "type" : "null"
5969 }
56122987 5970 }
44660702
DM
5971 },
5972 "leaf" : 0,
5973 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
5974 "text" : "aliases"
56122987
DM
5975 },
5976 {
56122987
DM
5977 "children" : [
5978 {
7aacca6f
DM
5979 "children" : [
5980 {
5981 "info" : {
5982 "DELETE" : {
44660702 5983 "description" : "Remove IP or Network from IPSet.",
7aacca6f 5984 "method" : "DELETE",
44660702 5985 "name" : "remove_ip",
7aacca6f 5986 "parameters" : {
44660702 5987 "additionalProperties" : 0,
7aacca6f 5988 "properties" : {
44660702
DM
5989 "cidr" : {
5990 "description" : "Network/IP specification in CIDR format.",
5991 "format" : "IPorCIDRorAlias",
013dc89f
DM
5992 "type" : "string",
5993 "typetext" : "<string>"
44660702
DM
5994 },
5995 "digest" : {
5996 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5997 "maxLength" : 40,
5998 "optional" : 1,
013dc89f
DM
5999 "type" : "string",
6000 "typetext" : "<string>"
44660702 6001 },
7aacca6f 6002 "name" : {
7aacca6f 6003 "description" : "IP set name.",
44660702
DM
6004 "maxLength" : 64,
6005 "minLength" : 2,
7aacca6f 6006 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 6007 "type" : "string"
7aacca6f
DM
6008 },
6009 "node" : {
6010 "description" : "The cluster node name.",
44660702 6011 "format" : "pve-node",
013dc89f
DM
6012 "type" : "string",
6013 "typetext" : "<string>"
7aacca6f
DM
6014 },
6015 "vmid" : {
44660702 6016 "description" : "The (unique) ID of the VM.",
7aacca6f 6017 "format" : "pve-vmid",
44660702 6018 "minimum" : 1,
4bd7df8b 6019 "type" : "integer",
013dc89f 6020 "typetext" : "<integer> (1 - N)"
7aacca6f 6021 }
44660702 6022 }
7aacca6f 6023 },
7aacca6f
DM
6024 "permissions" : {
6025 "check" : [
6026 "perm",
6027 "/vms/{vmid}",
6028 [
6029 "VM.Config.Network"
6030 ]
6031 ]
6032 },
6033 "protected" : 1,
44660702
DM
6034 "returns" : {
6035 "type" : "null"
6036 }
56122987 6037 },
44660702
DM
6038 "GET" : {
6039 "description" : "Read IP or Network settings from IPSet.",
6040 "method" : "GET",
6041 "name" : "read_ip",
7aacca6f 6042 "parameters" : {
44660702 6043 "additionalProperties" : 0,
7aacca6f 6044 "properties" : {
7aacca6f 6045 "cidr" : {
44660702 6046 "description" : "Network/IP specification in CIDR format.",
7aacca6f 6047 "format" : "IPorCIDRorAlias",
013dc89f
DM
6048 "type" : "string",
6049 "typetext" : "<string>"
7aacca6f
DM
6050 },
6051 "name" : {
7aacca6f 6052 "description" : "IP set name.",
44660702 6053 "maxLength" : 64,
7aacca6f 6054 "minLength" : 2,
44660702
DM
6055 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6056 "type" : "string"
7aacca6f 6057 },
44660702
DM
6058 "node" : {
6059 "description" : "The cluster node name.",
6060 "format" : "pve-node",
013dc89f
DM
6061 "type" : "string",
6062 "typetext" : "<string>"
7aacca6f 6063 },
44660702
DM
6064 "vmid" : {
6065 "description" : "The (unique) ID of the VM.",
6066 "format" : "pve-vmid",
6067 "minimum" : 1,
4bd7df8b 6068 "type" : "integer",
013dc89f 6069 "typetext" : "<integer> (1 - N)"
7aacca6f 6070 }
44660702 6071 }
7aacca6f 6072 },
44660702
DM
6073 "permissions" : {
6074 "check" : [
6075 "perm",
6076 "/vms/{vmid}",
6077 [
6078 "VM.Audit"
6079 ]
6080 ]
6081 },
6082 "protected" : 1,
7aacca6f 6083 "returns" : {
44660702 6084 "type" : "object"
7aacca6f 6085 }
56122987 6086 },
44660702
DM
6087 "PUT" : {
6088 "description" : "Update IP or Network settings",
6089 "method" : "PUT",
6090 "name" : "update_ip",
7aacca6f
DM
6091 "parameters" : {
6092 "additionalProperties" : 0,
6093 "properties" : {
44660702
DM
6094 "cidr" : {
6095 "description" : "Network/IP specification in CIDR format.",
6096 "format" : "IPorCIDRorAlias",
013dc89f
DM
6097 "type" : "string",
6098 "typetext" : "<string>"
44660702
DM
6099 },
6100 "comment" : {
6101 "optional" : 1,
013dc89f
DM
6102 "type" : "string",
6103 "typetext" : "<string>"
44660702
DM
6104 },
6105 "digest" : {
6106 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6107 "maxLength" : 40,
6108 "optional" : 1,
013dc89f
DM
6109 "type" : "string",
6110 "typetext" : "<string>"
44660702 6111 },
7aacca6f 6112 "name" : {
7aacca6f 6113 "description" : "IP set name.",
44660702 6114 "maxLength" : 64,
7aacca6f 6115 "minLength" : 2,
44660702
DM
6116 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6117 "type" : "string"
7aacca6f
DM
6118 },
6119 "node" : {
7aacca6f 6120 "description" : "The cluster node name.",
44660702 6121 "format" : "pve-node",
013dc89f
DM
6122 "type" : "string",
6123 "typetext" : "<string>"
7aacca6f 6124 },
44660702
DM
6125 "nomatch" : {
6126 "optional" : 1,
013dc89f
DM
6127 "type" : "boolean",
6128 "typetext" : "<boolean>"
7aacca6f
DM
6129 },
6130 "vmid" : {
6131 "description" : "The (unique) ID of the VM.",
44660702 6132 "format" : "pve-vmid",
7aacca6f 6133 "minimum" : 1,
4bd7df8b 6134 "type" : "integer",
013dc89f 6135 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
6136 }
6137 }
6138 },
6139 "permissions" : {
6140 "check" : [
6141 "perm",
6142 "/vms/{vmid}",
6143 [
44660702 6144 "VM.Config.Network"
7aacca6f
DM
6145 ]
6146 ]
6147 },
7aacca6f 6148 "protected" : 1,
7aacca6f 6149 "returns" : {
44660702 6150 "type" : "null"
7aacca6f 6151 }
56122987 6152 }
7aacca6f 6153 },
7aacca6f 6154 "leaf" : 1,
44660702
DM
6155 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
6156 "text" : "{cidr}"
7aacca6f 6157 }
44660702
DM
6158 ],
6159 "info" : {
6160 "DELETE" : {
6161 "description" : "Delete IPSet",
6162 "method" : "DELETE",
6163 "name" : "delete_ipset",
6164 "parameters" : {
6165 "additionalProperties" : 0,
6166 "properties" : {
6167 "name" : {
6168 "description" : "IP set name.",
6169 "maxLength" : 64,
6170 "minLength" : 2,
6171 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6172 "type" : "string"
6173 },
6174 "node" : {
6175 "description" : "The cluster node name.",
6176 "format" : "pve-node",
013dc89f
DM
6177 "type" : "string",
6178 "typetext" : "<string>"
44660702
DM
6179 },
6180 "vmid" : {
6181 "description" : "The (unique) ID of the VM.",
6182 "format" : "pve-vmid",
6183 "minimum" : 1,
4bd7df8b 6184 "type" : "integer",
013dc89f 6185 "typetext" : "<integer> (1 - N)"
44660702
DM
6186 }
6187 }
7aacca6f 6188 },
44660702
DM
6189 "permissions" : {
6190 "check" : [
6191 "perm",
6192 "/vms/{vmid}",
6193 [
6194 "VM.Config.Network"
6195 ]
6196 ]
7aacca6f 6197 },
44660702
DM
6198 "protected" : 1,
6199 "returns" : {
6200 "type" : "null"
6201 }
6202 },
6203 "GET" : {
6204 "description" : "List IPSet content",
6205 "method" : "GET",
6206 "name" : "get_ipset",
6207 "parameters" : {
6208 "additionalProperties" : 0,
6209 "properties" : {
6210 "name" : {
6211 "description" : "IP set name.",
6212 "maxLength" : 64,
6213 "minLength" : 2,
6214 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6215 "type" : "string"
6216 },
6217 "node" : {
6218 "description" : "The cluster node name.",
6219 "format" : "pve-node",
013dc89f
DM
6220 "type" : "string",
6221 "typetext" : "<string>"
44660702
DM
6222 },
6223 "vmid" : {
6224 "description" : "The (unique) ID of the VM.",
6225 "format" : "pve-vmid",
6226 "minimum" : 1,
4bd7df8b 6227 "type" : "integer",
013dc89f 6228 "typetext" : "<integer> (1 - N)"
44660702
DM
6229 }
6230 }
7aacca6f 6231 },
44660702
DM
6232 "permissions" : {
6233 "check" : [
6234 "perm",
6235 "/vms/{vmid}",
6236 [
6237 "VM.Audit"
6238 ]
6239 ]
7aacca6f 6240 },
44660702
DM
6241 "returns" : {
6242 "items" : {
6243 "properties" : {
6244 "cidr" : {
6245 "type" : "string"
6246 },
6247 "comment" : {
6248 "optional" : 1,
6249 "type" : "string"
6250 },
6251 "digest" : {
6252 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6253 "maxLength" : 40,
6254 "optional" : 0,
6255 "type" : "string"
6256 },
6257 "nomatch" : {
6258 "optional" : 1,
6259 "type" : "boolean"
6260 }
6261 },
6262 "type" : "object"
6263 },
6264 "links" : [
6265 {
6266 "href" : "{cidr}",
6267 "rel" : "child"
6268 }
6269 ],
6270 "type" : "array"
56122987
DM
6271 }
6272 },
44660702
DM
6273 "POST" : {
6274 "description" : "Add IP or Network to IPSet.",
6275 "method" : "POST",
6276 "name" : "create_ip",
6277 "parameters" : {
6278 "additionalProperties" : 0,
6279 "properties" : {
6280 "cidr" : {
6281 "description" : "Network/IP specification in CIDR format.",
6282 "format" : "IPorCIDRorAlias",
013dc89f
DM
6283 "type" : "string",
6284 "typetext" : "<string>"
44660702
DM
6285 },
6286 "comment" : {
6287 "optional" : 1,
013dc89f
DM
6288 "type" : "string",
6289 "typetext" : "<string>"
44660702
DM
6290 },
6291 "name" : {
6292 "description" : "IP set name.",
6293 "maxLength" : 64,
6294 "minLength" : 2,
6295 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6296 "type" : "string"
6297 },
6298 "node" : {
6299 "description" : "The cluster node name.",
6300 "format" : "pve-node",
013dc89f
DM
6301 "type" : "string",
6302 "typetext" : "<string>"
44660702
DM
6303 },
6304 "nomatch" : {
6305 "optional" : 1,
013dc89f
DM
6306 "type" : "boolean",
6307 "typetext" : "<boolean>"
44660702
DM
6308 },
6309 "vmid" : {
6310 "description" : "The (unique) ID of the VM.",
6311 "format" : "pve-vmid",
6312 "minimum" : 1,
4bd7df8b 6313 "type" : "integer",
013dc89f 6314 "typetext" : "<integer> (1 - N)"
44660702
DM
6315 }
6316 }
6317 },
6318 "permissions" : {
6319 "check" : [
6320 "perm",
6321 "/vms/{vmid}",
6322 [
6323 "VM.Config.Network"
6324 ]
6325 ]
6326 },
6327 "protected" : 1,
6328 "returns" : {
6329 "type" : "null"
6330 }
6331 }
6332 },
6333 "leaf" : 0,
6334 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
6335 "text" : "{name}"
6336 }
6337 ],
6338 "info" : {
6339 "GET" : {
6340 "description" : "List IPSets",
6341 "method" : "GET",
6342 "name" : "ipset_index",
6343 "parameters" : {
6344 "additionalProperties" : 0,
6345 "properties" : {
6346 "node" : {
6347 "description" : "The cluster node name.",
6348 "format" : "pve-node",
013dc89f
DM
6349 "type" : "string",
6350 "typetext" : "<string>"
44660702
DM
6351 },
6352 "vmid" : {
6353 "description" : "The (unique) ID of the VM.",
6354 "format" : "pve-vmid",
6355 "minimum" : 1,
4bd7df8b 6356 "type" : "integer",
013dc89f 6357 "typetext" : "<integer> (1 - N)"
44660702
DM
6358 }
6359 }
56122987
DM
6360 },
6361 "permissions" : {
6362 "check" : [
6363 "perm",
6364 "/vms/{vmid}",
6365 [
44660702 6366 "VM.Audit"
56122987
DM
6367 ]
6368 ]
6369 },
7aacca6f 6370 "returns" : {
7aacca6f
DM
6371 "items" : {
6372 "properties" : {
7aacca6f
DM
6373 "comment" : {
6374 "optional" : 1,
6375 "type" : "string"
6376 },
6377 "digest" : {
7aacca6f 6378 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
6379 "maxLength" : 40,
6380 "optional" : 0,
6381 "type" : "string"
6382 },
6383 "name" : {
6384 "description" : "IP set name.",
6385 "maxLength" : 64,
6386 "minLength" : 2,
6387 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6388 "type" : "string"
7aacca6f
DM
6389 }
6390 },
6391 "type" : "object"
6392 },
6393 "links" : [
6394 {
44660702
DM
6395 "href" : "{name}",
6396 "rel" : "child"
7aacca6f 6397 }
44660702
DM
6398 ],
6399 "type" : "array"
6400 }
6401 },
6402 "POST" : {
6403 "description" : "Create new IPSet",
6404 "method" : "POST",
6405 "name" : "create_ipset",
56122987
DM
6406 "parameters" : {
6407 "additionalProperties" : 0,
6408 "properties" : {
44660702
DM
6409 "comment" : {
6410 "optional" : 1,
013dc89f
DM
6411 "type" : "string",
6412 "typetext" : "<string>"
56122987 6413 },
44660702
DM
6414 "digest" : {
6415 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6416 "maxLength" : 40,
6417 "optional" : 1,
013dc89f
DM
6418 "type" : "string",
6419 "typetext" : "<string>"
44660702
DM
6420 },
6421 "name" : {
6422 "description" : "IP set name.",
6423 "maxLength" : 64,
6424 "minLength" : 2,
6425 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6426 "type" : "string"
6427 },
6428 "node" : {
6429 "description" : "The cluster node name.",
6430 "format" : "pve-node",
013dc89f
DM
6431 "type" : "string",
6432 "typetext" : "<string>"
44660702
DM
6433 },
6434 "rename" : {
6435 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
6436 "maxLength" : 64,
6437 "minLength" : 2,
6438 "optional" : 1,
6439 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6440 "type" : "string"
6441 },
6442 "vmid" : {
6443 "description" : "The (unique) ID of the VM.",
6444 "format" : "pve-vmid",
6445 "minimum" : 1,
4bd7df8b 6446 "type" : "integer",
013dc89f 6447 "typetext" : "<integer> (1 - N)"
44660702
DM
6448 }
6449 }
6450 },
7aacca6f
DM
6451 "permissions" : {
6452 "check" : [
6453 "perm",
6454 "/vms/{vmid}",
6455 [
6456 "VM.Config.Network"
6457 ]
6458 ]
6459 },
44660702 6460 "protected" : 1,
56122987 6461 "returns" : {
7aacca6f 6462 "type" : "null"
44660702
DM
6463 }
6464 }
6465 },
6466 "leaf" : 0,
6467 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
6468 "text" : "ipset"
6469 },
6470 {
6471 "info" : {
6472 "GET" : {
6473 "description" : "Get VM firewall options.",
6474 "method" : "GET",
6475 "name" : "get_options",
7aacca6f
DM
6476 "parameters" : {
6477 "additionalProperties" : 0,
56122987 6478 "properties" : {
7aacca6f
DM
6479 "node" : {
6480 "description" : "The cluster node name.",
44660702 6481 "format" : "pve-node",
013dc89f
DM
6482 "type" : "string",
6483 "typetext" : "<string>"
7aacca6f 6484 },
44660702
DM
6485 "vmid" : {
6486 "description" : "The (unique) ID of the VM.",
6487 "format" : "pve-vmid",
6488 "minimum" : 1,
4bd7df8b 6489 "type" : "integer",
013dc89f 6490 "typetext" : "<integer> (1 - N)"
44660702
DM
6491 }
6492 }
6493 },
6494 "permissions" : {
6495 "check" : [
6496 "perm",
6497 "/vms/{vmid}",
6498 [
6499 "VM.Audit"
6500 ]
6501 ]
6502 },
6503 "proxyto" : "node",
6504 "returns" : {
6505 "properties" : {
6506 "dhcp" : {
6507 "description" : "Enable DHCP.",
56122987 6508 "optional" : 1,
44660702 6509 "type" : "boolean"
56122987 6510 },
44660702
DM
6511 "enable" : {
6512 "description" : "Enable/disable firewall rules.",
7aacca6f 6513 "optional" : 1,
44660702 6514 "type" : "boolean"
56122987 6515 },
44660702
DM
6516 "ipfilter" : {
6517 "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 6518 "optional" : 1,
44660702 6519 "type" : "boolean"
7aacca6f 6520 },
56122987 6521 "log_level_in" : {
7aacca6f 6522 "description" : "Log level for incoming traffic.",
56122987
DM
6523 "enum" : [
6524 "emerg",
6525 "alert",
6526 "crit",
6527 "err",
6528 "warning",
6529 "notice",
6530 "info",
6531 "debug",
6532 "nolog"
6533 ],
56122987
DM
6534 "optional" : 1,
6535 "type" : "string"
6536 },
44660702
DM
6537 "log_level_out" : {
6538 "description" : "Log level for outgoing traffic.",
6539 "enum" : [
6540 "emerg",
6541 "alert",
6542 "crit",
6543 "err",
6544 "warning",
6545 "notice",
6546 "info",
6547 "debug",
6548 "nolog"
6549 ],
6550 "optional" : 1,
6551 "type" : "string"
6552 },
6553 "macfilter" : {
6554 "description" : "Enable/disable MAC address filter.",
56122987 6555 "optional" : 1,
7aacca6f 6556 "type" : "boolean"
56122987
DM
6557 },
6558 "ndp" : {
44660702 6559 "description" : "Enable NDP.",
56122987 6560 "optional" : 1,
44660702 6561 "type" : "boolean"
56122987
DM
6562 },
6563 "policy_in" : {
56122987
DM
6564 "description" : "Input policy.",
6565 "enum" : [
6566 "ACCEPT",
6567 "REJECT",
6568 "DROP"
44660702
DM
6569 ],
6570 "optional" : 1,
6571 "type" : "string"
56122987 6572 },
44660702
DM
6573 "policy_out" : {
6574 "description" : "Output policy.",
6575 "enum" : [
6576 "ACCEPT",
6577 "REJECT",
6578 "DROP"
6579 ],
6580 "optional" : 1,
6581 "type" : "string"
6582 },
6583 "radv" : {
6584 "description" : "Allow sending Router Advertisement.",
6585 "optional" : 1,
6586 "type" : "boolean"
6587 }
6588 },
6589 "type" : "object"
6590 }
6591 },
6592 "PUT" : {
6593 "description" : "Set Firewall options.",
6594 "method" : "PUT",
6595 "name" : "set_options",
6596 "parameters" : {
6597 "additionalProperties" : 0,
6598 "properties" : {
6599 "delete" : {
6600 "description" : "A list of settings you want to delete.",
6601 "format" : "pve-configid-list",
6602 "optional" : 1,
013dc89f
DM
6603 "type" : "string",
6604 "typetext" : "<string>"
44660702
DM
6605 },
6606 "dhcp" : {
6607 "description" : "Enable DHCP.",
7aacca6f 6608 "optional" : 1,
013dc89f
DM
6609 "type" : "boolean",
6610 "typetext" : "<boolean>"
7aacca6f
DM
6611 },
6612 "digest" : {
6613 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 6614 "maxLength" : 40,
7aacca6f 6615 "optional" : 1,
013dc89f
DM
6616 "type" : "string",
6617 "typetext" : "<string>"
7aacca6f
DM
6618 },
6619 "enable" : {
6620 "description" : "Enable/disable firewall rules.",
56122987 6621 "optional" : 1,
013dc89f
DM
6622 "type" : "boolean",
6623 "typetext" : "<boolean>"
7aacca6f 6624 },
44660702
DM
6625 "ipfilter" : {
6626 "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.",
6627 "optional" : 1,
013dc89f
DM
6628 "type" : "boolean",
6629 "typetext" : "<boolean>"
44660702
DM
6630 },
6631 "log_level_in" : {
6632 "description" : "Log level for incoming traffic.",
56122987
DM
6633 "enum" : [
6634 "emerg",
6635 "alert",
6636 "crit",
6637 "err",
6638 "warning",
6639 "notice",
6640 "info",
6641 "debug",
6642 "nolog"
7aacca6f 6643 ],
7aacca6f 6644 "optional" : 1,
44660702 6645 "type" : "string"
7aacca6f 6646 },
44660702
DM
6647 "log_level_out" : {
6648 "description" : "Log level for outgoing traffic.",
56122987
DM
6649 "enum" : [
6650 "emerg",
6651 "alert",
6652 "crit",
6653 "err",
6654 "warning",
6655 "notice",
6656 "info",
6657 "debug",
6658 "nolog"
6659 ],
56122987 6660 "optional" : 1,
44660702 6661 "type" : "string"
56122987
DM
6662 },
6663 "macfilter" : {
56122987 6664 "description" : "Enable/disable MAC address filter.",
7aacca6f 6665 "optional" : 1,
013dc89f
DM
6666 "type" : "boolean",
6667 "typetext" : "<boolean>"
56122987 6668 },
44660702
DM
6669 "ndp" : {
6670 "description" : "Enable NDP.",
6671 "optional" : 1,
013dc89f
DM
6672 "type" : "boolean",
6673 "typetext" : "<boolean>"
44660702
DM
6674 },
6675 "node" : {
6676 "description" : "The cluster node name.",
6677 "format" : "pve-node",
013dc89f
DM
6678 "type" : "string",
6679 "typetext" : "<string>"
44660702 6680 },
56122987 6681 "policy_in" : {
44660702 6682 "description" : "Input policy.",
56122987
DM
6683 "enum" : [
6684 "ACCEPT",
6685 "REJECT",
6686 "DROP"
7aacca6f 6687 ],
56122987 6688 "optional" : 1,
7aacca6f 6689 "type" : "string"
56122987 6690 },
44660702
DM
6691 "policy_out" : {
6692 "description" : "Output policy.",
6693 "enum" : [
6694 "ACCEPT",
6695 "REJECT",
6696 "DROP"
6697 ],
56122987 6698 "optional" : 1,
44660702 6699 "type" : "string"
56122987 6700 },
44660702
DM
6701 "radv" : {
6702 "description" : "Allow sending Router Advertisement.",
56122987 6703 "optional" : 1,
013dc89f
DM
6704 "type" : "boolean",
6705 "typetext" : "<boolean>"
7aacca6f
DM
6706 },
6707 "vmid" : {
6708 "description" : "The (unique) ID of the VM.",
44660702 6709 "format" : "pve-vmid",
7aacca6f 6710 "minimum" : 1,
4bd7df8b 6711 "type" : "integer",
013dc89f 6712 "typetext" : "<integer> (1 - N)"
56122987
DM
6713 }
6714 }
6715 },
56122987
DM
6716 "permissions" : {
6717 "check" : [
6718 "perm",
6719 "/vms/{vmid}",
6720 [
44660702 6721 "VM.Config.Network"
56122987
DM
6722 ]
6723 ]
7aacca6f 6724 },
44660702 6725 "protected" : 1,
7aacca6f 6726 "proxyto" : "node",
44660702
DM
6727 "returns" : {
6728 "type" : "null"
6729 }
56122987
DM
6730 }
6731 },
44660702 6732 "leaf" : 1,
7aacca6f 6733 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 6734 "text" : "options"
56122987
DM
6735 },
6736 {
56122987
DM
6737 "info" : {
6738 "GET" : {
44660702
DM
6739 "description" : "Read firewall log",
6740 "method" : "GET",
6741 "name" : "log",
6742 "parameters" : {
6743 "additionalProperties" : 0,
6744 "properties" : {
6745 "limit" : {
6746 "minimum" : 0,
6747 "optional" : 1,
4bd7df8b 6748 "type" : "integer",
013dc89f 6749 "typetext" : "<integer> (0 - N)"
56122987 6750 },
44660702
DM
6751 "node" : {
6752 "description" : "The cluster node name.",
6753 "format" : "pve-node",
013dc89f
DM
6754 "type" : "string",
6755 "typetext" : "<string>"
44660702
DM
6756 },
6757 "start" : {
6758 "minimum" : 0,
6759 "optional" : 1,
4bd7df8b 6760 "type" : "integer",
013dc89f 6761 "typetext" : "<integer> (0 - N)"
44660702
DM
6762 },
6763 "vmid" : {
6764 "description" : "The (unique) ID of the VM.",
6765 "format" : "pve-vmid",
6766 "minimum" : 1,
4bd7df8b 6767 "type" : "integer",
013dc89f 6768 "typetext" : "<integer> (1 - N)"
44660702
DM
6769 }
6770 }
7aacca6f 6771 },
7aacca6f
DM
6772 "permissions" : {
6773 "check" : [
6774 "perm",
6775 "/vms/{vmid}",
6776 [
6777 "VM.Console"
6778 ]
6779 ]
56122987 6780 },
7aacca6f 6781 "protected" : 1,
44660702
DM
6782 "proxyto" : "node",
6783 "returns" : {
6784 "items" : {
6785 "properties" : {
6786 "n" : {
6787 "description" : "Line number",
6788 "type" : "integer"
6789 },
6790 "t" : {
6791 "description" : "Line text",
6792 "type" : "string"
6793 }
56122987 6794 },
44660702 6795 "type" : "object"
7aacca6f 6796 },
44660702 6797 "type" : "array"
7aacca6f
DM
6798 }
6799 }
6800 },
44660702 6801 "leaf" : 1,
7aacca6f 6802 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 6803 "text" : "log"
7aacca6f
DM
6804 },
6805 {
7aacca6f
DM
6806 "info" : {
6807 "GET" : {
6808 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
6809 "method" : "GET",
6810 "name" : "refs",
56122987 6811 "parameters" : {
44660702 6812 "additionalProperties" : 0,
56122987
DM
6813 "properties" : {
6814 "node" : {
7aacca6f 6815 "description" : "The cluster node name.",
44660702 6816 "format" : "pve-node",
013dc89f
DM
6817 "type" : "string",
6818 "typetext" : "<string>"
56122987
DM
6819 },
6820 "type" : {
56122987
DM
6821 "description" : "Only list references of specified type.",
6822 "enum" : [
6823 "alias",
6824 "ipset"
7aacca6f 6825 ],
44660702
DM
6826 "optional" : 1,
6827 "type" : "string"
6828 },
6829 "vmid" : {
6830 "description" : "The (unique) ID of the VM.",
6831 "format" : "pve-vmid",
6832 "minimum" : 1,
4bd7df8b 6833 "type" : "integer",
013dc89f 6834 "typetext" : "<integer> (1 - N)"
56122987 6835 }
44660702
DM
6836 }
6837 },
6838 "permissions" : {
6839 "check" : [
6840 "perm",
6841 "/vms/{vmid}",
6842 [
6843 "VM.Audit"
6844 ]
6845 ]
56122987
DM
6846 },
6847 "returns" : {
56122987
DM
6848 "items" : {
6849 "properties" : {
44660702
DM
6850 "comment" : {
6851 "optional" : 1,
56122987
DM
6852 "type" : "string"
6853 },
6854 "name" : {
6855 "type" : "string"
6856 },
44660702
DM
6857 "type" : {
6858 "enum" : [
6859 "alias",
6860 "ipset"
6861 ],
7aacca6f 6862 "type" : "string"
56122987
DM
6863 }
6864 },
6865 "type" : "object"
7aacca6f
DM
6866 },
6867 "type" : "array"
6868 }
56122987 6869 }
44660702
DM
6870 },
6871 "leaf" : 1,
6872 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
6873 "text" : "refs"
56122987
DM
6874 }
6875 ],
56122987
DM
6876 "info" : {
6877 "GET" : {
44660702 6878 "description" : "Directory index.",
56122987 6879 "method" : "GET",
44660702 6880 "name" : "index",
56122987 6881 "parameters" : {
44660702 6882 "additionalProperties" : 0,
56122987
DM
6883 "properties" : {
6884 "node" : {
6885 "description" : "The cluster node name.",
44660702 6886 "format" : "pve-node",
013dc89f
DM
6887 "type" : "string",
6888 "typetext" : "<string>"
56122987
DM
6889 },
6890 "vmid" : {
44660702 6891 "description" : "The (unique) ID of the VM.",
56122987
DM
6892 "format" : "pve-vmid",
6893 "minimum" : 1,
4bd7df8b 6894 "type" : "integer",
013dc89f 6895 "typetext" : "<integer> (1 - N)"
56122987 6896 }
44660702 6897 }
56122987 6898 },
56122987 6899 "permissions" : {
27a7acb2
DM
6900 "user" : "all"
6901 },
6902 "returns" : {
6903 "items" : {
6904 "properties" : {},
6905 "type" : "object"
6906 },
6907 "links" : [
6908 {
6909 "href" : "{name}",
6910 "rel" : "child"
6911 }
6912 ],
6913 "type" : "array"
6914 }
6915 }
6916 },
6917 "leaf" : 0,
6918 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
6919 "text" : "firewall"
6920 },
6921 {
6922 "children" : [
6923 {
6924 "info" : {
6925 "POST" : {
6926 "description" : "Execute fsfreeze-freeze.",
6927 "method" : "POST",
6928 "name" : "fsfreeze-freeze",
6929 "parameters" : {
6930 "additionalProperties" : 0,
6931 "properties" : {
6932 "node" : {
6933 "description" : "The cluster node name.",
6934 "format" : "pve-node",
6935 "type" : "string",
6936 "typetext" : "<string>"
6937 },
6938 "vmid" : {
6939 "description" : "The (unique) ID of the VM.",
6940 "format" : "pve-vmid",
6941 "minimum" : 1,
6942 "type" : "integer",
6943 "typetext" : "<integer> (1 - N)"
6944 }
6945 }
6946 },
6947 "permissions" : {
6948 "check" : [
6949 "perm",
6950 "/vms/{vmid}",
6951 [
6952 "VM.Monitor"
6953 ]
6954 ]
6955 },
6956 "protected" : 1,
6957 "proxyto" : "node",
6958 "returns" : {
6959 "description" : "Returns an object with a single `result` property.",
6960 "type" : "object"
6961 }
6962 }
6963 },
6964 "leaf" : 1,
6965 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
6966 "text" : "fsfreeze-freeze"
6967 },
6968 {
6969 "info" : {
6970 "POST" : {
6971 "description" : "Execute fsfreeze-status.",
6972 "method" : "POST",
6973 "name" : "fsfreeze-status",
6974 "parameters" : {
6975 "additionalProperties" : 0,
6976 "properties" : {
6977 "node" : {
6978 "description" : "The cluster node name.",
6979 "format" : "pve-node",
6980 "type" : "string",
6981 "typetext" : "<string>"
6982 },
6983 "vmid" : {
6984 "description" : "The (unique) ID of the VM.",
6985 "format" : "pve-vmid",
6986 "minimum" : 1,
6987 "type" : "integer",
6988 "typetext" : "<integer> (1 - N)"
6989 }
6990 }
6991 },
6992 "permissions" : {
6993 "check" : [
6994 "perm",
6995 "/vms/{vmid}",
6996 [
6997 "VM.Monitor"
6998 ]
6999 ]
7000 },
7001 "protected" : 1,
7002 "proxyto" : "node",
7003 "returns" : {
7004 "description" : "Returns an object with a single `result` property.",
7005 "type" : "object"
7006 }
7007 }
7008 },
7009 "leaf" : 1,
7010 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
7011 "text" : "fsfreeze-status"
7012 },
7013 {
7014 "info" : {
7015 "POST" : {
7016 "description" : "Execute fsfreeze-thaw.",
7017 "method" : "POST",
7018 "name" : "fsfreeze-thaw",
7019 "parameters" : {
7020 "additionalProperties" : 0,
7021 "properties" : {
7022 "node" : {
7023 "description" : "The cluster node name.",
7024 "format" : "pve-node",
7025 "type" : "string",
7026 "typetext" : "<string>"
7027 },
7028 "vmid" : {
7029 "description" : "The (unique) ID of the VM.",
7030 "format" : "pve-vmid",
7031 "minimum" : 1,
7032 "type" : "integer",
7033 "typetext" : "<integer> (1 - N)"
7034 }
7035 }
7036 },
7037 "permissions" : {
7038 "check" : [
7039 "perm",
7040 "/vms/{vmid}",
7041 [
7042 "VM.Monitor"
7043 ]
7044 ]
7045 },
7046 "protected" : 1,
7047 "proxyto" : "node",
7048 "returns" : {
7049 "description" : "Returns an object with a single `result` property.",
7050 "type" : "object"
7051 }
7052 }
7053 },
7054 "leaf" : 1,
7055 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
7056 "text" : "fsfreeze-thaw"
7057 },
7058 {
7059 "info" : {
7060 "POST" : {
7061 "description" : "Execute fstrim.",
7062 "method" : "POST",
7063 "name" : "fstrim",
7064 "parameters" : {
7065 "additionalProperties" : 0,
7066 "properties" : {
7067 "node" : {
7068 "description" : "The cluster node name.",
7069 "format" : "pve-node",
7070 "type" : "string",
7071 "typetext" : "<string>"
7072 },
7073 "vmid" : {
7074 "description" : "The (unique) ID of the VM.",
7075 "format" : "pve-vmid",
7076 "minimum" : 1,
7077 "type" : "integer",
7078 "typetext" : "<integer> (1 - N)"
7079 }
7080 }
7081 },
7082 "permissions" : {
7083 "check" : [
7084 "perm",
7085 "/vms/{vmid}",
7086 [
7087 "VM.Monitor"
7088 ]
7089 ]
7090 },
7091 "protected" : 1,
7092 "proxyto" : "node",
7093 "returns" : {
7094 "description" : "Returns an object with a single `result` property.",
7095 "type" : "object"
7096 }
7097 }
7098 },
7099 "leaf" : 1,
7100 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
7101 "text" : "fstrim"
7102 },
7103 {
7104 "info" : {
7105 "GET" : {
7106 "description" : "Execute get-fsinfo.",
7107 "method" : "GET",
7108 "name" : "get-fsinfo",
7109 "parameters" : {
7110 "additionalProperties" : 0,
7111 "properties" : {
7112 "node" : {
7113 "description" : "The cluster node name.",
7114 "format" : "pve-node",
7115 "type" : "string",
7116 "typetext" : "<string>"
7117 },
7118 "vmid" : {
7119 "description" : "The (unique) ID of the VM.",
7120 "format" : "pve-vmid",
7121 "minimum" : 1,
7122 "type" : "integer",
7123 "typetext" : "<integer> (1 - N)"
7124 }
7125 }
7126 },
7127 "permissions" : {
7128 "check" : [
7129 "perm",
7130 "/vms/{vmid}",
7131 [
7132 "VM.Monitor"
7133 ]
7134 ]
7135 },
7136 "protected" : 1,
7137 "proxyto" : "node",
7138 "returns" : {
7139 "description" : "Returns an object with a single `result` property.",
7140 "type" : "object"
7141 }
7142 }
7143 },
7144 "leaf" : 1,
7145 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
7146 "text" : "get-fsinfo"
7147 },
7148 {
7149 "info" : {
7150 "GET" : {
7151 "description" : "Execute get-host-name.",
7152 "method" : "GET",
7153 "name" : "get-host-name",
7154 "parameters" : {
7155 "additionalProperties" : 0,
7156 "properties" : {
7157 "node" : {
7158 "description" : "The cluster node name.",
7159 "format" : "pve-node",
7160 "type" : "string",
7161 "typetext" : "<string>"
7162 },
7163 "vmid" : {
7164 "description" : "The (unique) ID of the VM.",
7165 "format" : "pve-vmid",
7166 "minimum" : 1,
7167 "type" : "integer",
7168 "typetext" : "<integer> (1 - N)"
7169 }
7170 }
7171 },
7172 "permissions" : {
7173 "check" : [
7174 "perm",
7175 "/vms/{vmid}",
7176 [
7177 "VM.Monitor"
7178 ]
7179 ]
7180 },
7181 "protected" : 1,
7182 "proxyto" : "node",
7183 "returns" : {
7184 "description" : "Returns an object with a single `result` property.",
7185 "type" : "object"
7186 }
7187 }
7188 },
7189 "leaf" : 1,
7190 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
7191 "text" : "get-host-name"
7192 },
7193 {
7194 "info" : {
7195 "GET" : {
7196 "description" : "Execute get-memory-block-info.",
7197 "method" : "GET",
7198 "name" : "get-memory-block-info",
7199 "parameters" : {
7200 "additionalProperties" : 0,
7201 "properties" : {
7202 "node" : {
7203 "description" : "The cluster node name.",
7204 "format" : "pve-node",
7205 "type" : "string",
7206 "typetext" : "<string>"
7207 },
7208 "vmid" : {
7209 "description" : "The (unique) ID of the VM.",
7210 "format" : "pve-vmid",
7211 "minimum" : 1,
7212 "type" : "integer",
7213 "typetext" : "<integer> (1 - N)"
7214 }
7215 }
7216 },
7217 "permissions" : {
7218 "check" : [
7219 "perm",
7220 "/vms/{vmid}",
7221 [
7222 "VM.Monitor"
7223 ]
7224 ]
7225 },
7226 "protected" : 1,
7227 "proxyto" : "node",
7228 "returns" : {
7229 "description" : "Returns an object with a single `result` property.",
7230 "type" : "object"
7231 }
7232 }
7233 },
7234 "leaf" : 1,
7235 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
7236 "text" : "get-memory-block-info"
7237 },
7238 {
7239 "info" : {
7240 "GET" : {
7241 "description" : "Execute get-memory-blocks.",
7242 "method" : "GET",
7243 "name" : "get-memory-blocks",
7244 "parameters" : {
7245 "additionalProperties" : 0,
7246 "properties" : {
7247 "node" : {
7248 "description" : "The cluster node name.",
7249 "format" : "pve-node",
7250 "type" : "string",
7251 "typetext" : "<string>"
7252 },
7253 "vmid" : {
7254 "description" : "The (unique) ID of the VM.",
7255 "format" : "pve-vmid",
7256 "minimum" : 1,
7257 "type" : "integer",
7258 "typetext" : "<integer> (1 - N)"
7259 }
7260 }
7261 },
7262 "permissions" : {
7263 "check" : [
7264 "perm",
7265 "/vms/{vmid}",
7266 [
7267 "VM.Monitor"
7268 ]
7269 ]
7270 },
7271 "protected" : 1,
7272 "proxyto" : "node",
7273 "returns" : {
7274 "description" : "Returns an object with a single `result` property.",
7275 "type" : "object"
7276 }
7277 }
7278 },
7279 "leaf" : 1,
7280 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
7281 "text" : "get-memory-blocks"
7282 },
7283 {
7284 "info" : {
7285 "GET" : {
7286 "description" : "Execute get-osinfo.",
7287 "method" : "GET",
7288 "name" : "get-osinfo",
7289 "parameters" : {
7290 "additionalProperties" : 0,
7291 "properties" : {
7292 "node" : {
7293 "description" : "The cluster node name.",
7294 "format" : "pve-node",
7295 "type" : "string",
7296 "typetext" : "<string>"
7297 },
7298 "vmid" : {
7299 "description" : "The (unique) ID of the VM.",
7300 "format" : "pve-vmid",
7301 "minimum" : 1,
7302 "type" : "integer",
7303 "typetext" : "<integer> (1 - N)"
7304 }
7305 }
7306 },
7307 "permissions" : {
7308 "check" : [
7309 "perm",
7310 "/vms/{vmid}",
7311 [
7312 "VM.Monitor"
7313 ]
7314 ]
7315 },
7316 "protected" : 1,
7317 "proxyto" : "node",
7318 "returns" : {
7319 "description" : "Returns an object with a single `result` property.",
7320 "type" : "object"
7321 }
7322 }
7323 },
7324 "leaf" : 1,
7325 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
7326 "text" : "get-osinfo"
7327 },
7328 {
7329 "info" : {
7330 "GET" : {
7331 "description" : "Execute get-time.",
7332 "method" : "GET",
7333 "name" : "get-time",
7334 "parameters" : {
7335 "additionalProperties" : 0,
7336 "properties" : {
7337 "node" : {
7338 "description" : "The cluster node name.",
7339 "format" : "pve-node",
7340 "type" : "string",
7341 "typetext" : "<string>"
7342 },
7343 "vmid" : {
7344 "description" : "The (unique) ID of the VM.",
7345 "format" : "pve-vmid",
7346 "minimum" : 1,
7347 "type" : "integer",
7348 "typetext" : "<integer> (1 - N)"
7349 }
7350 }
7351 },
7352 "permissions" : {
7353 "check" : [
7354 "perm",
7355 "/vms/{vmid}",
7356 [
7357 "VM.Monitor"
7358 ]
7359 ]
7360 },
7361 "protected" : 1,
7362 "proxyto" : "node",
7363 "returns" : {
7364 "description" : "Returns an object with a single `result` property.",
7365 "type" : "object"
7366 }
7367 }
7368 },
7369 "leaf" : 1,
7370 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
7371 "text" : "get-time"
7372 },
7373 {
7374 "info" : {
7375 "GET" : {
7376 "description" : "Execute get-timezone.",
7377 "method" : "GET",
7378 "name" : "get-timezone",
7379 "parameters" : {
7380 "additionalProperties" : 0,
7381 "properties" : {
7382 "node" : {
7383 "description" : "The cluster node name.",
7384 "format" : "pve-node",
7385 "type" : "string",
7386 "typetext" : "<string>"
7387 },
7388 "vmid" : {
7389 "description" : "The (unique) ID of the VM.",
7390 "format" : "pve-vmid",
7391 "minimum" : 1,
7392 "type" : "integer",
7393 "typetext" : "<integer> (1 - N)"
7394 }
7395 }
7396 },
7397 "permissions" : {
7398 "check" : [
7399 "perm",
7400 "/vms/{vmid}",
7401 [
7402 "VM.Monitor"
7403 ]
7404 ]
7405 },
7406 "protected" : 1,
7407 "proxyto" : "node",
7408 "returns" : {
7409 "description" : "Returns an object with a single `result` property.",
7410 "type" : "object"
7411 }
7412 }
7413 },
7414 "leaf" : 1,
7415 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
7416 "text" : "get-timezone"
7417 },
7418 {
7419 "info" : {
7420 "GET" : {
7421 "description" : "Execute get-users.",
7422 "method" : "GET",
7423 "name" : "get-users",
7424 "parameters" : {
7425 "additionalProperties" : 0,
7426 "properties" : {
7427 "node" : {
7428 "description" : "The cluster node name.",
7429 "format" : "pve-node",
7430 "type" : "string",
7431 "typetext" : "<string>"
7432 },
7433 "vmid" : {
7434 "description" : "The (unique) ID of the VM.",
7435 "format" : "pve-vmid",
7436 "minimum" : 1,
7437 "type" : "integer",
7438 "typetext" : "<integer> (1 - N)"
7439 }
7440 }
7441 },
7442 "permissions" : {
7443 "check" : [
7444 "perm",
7445 "/vms/{vmid}",
7446 [
7447 "VM.Monitor"
7448 ]
7449 ]
7450 },
7451 "protected" : 1,
7452 "proxyto" : "node",
7453 "returns" : {
7454 "description" : "Returns an object with a single `result` property.",
7455 "type" : "object"
7456 }
7457 }
7458 },
7459 "leaf" : 1,
7460 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
7461 "text" : "get-users"
7462 },
7463 {
7464 "info" : {
7465 "GET" : {
7466 "description" : "Execute get-vcpus.",
7467 "method" : "GET",
7468 "name" : "get-vcpus",
7469 "parameters" : {
7470 "additionalProperties" : 0,
7471 "properties" : {
7472 "node" : {
7473 "description" : "The cluster node name.",
7474 "format" : "pve-node",
7475 "type" : "string",
7476 "typetext" : "<string>"
7477 },
7478 "vmid" : {
7479 "description" : "The (unique) ID of the VM.",
7480 "format" : "pve-vmid",
7481 "minimum" : 1,
7482 "type" : "integer",
7483 "typetext" : "<integer> (1 - N)"
7484 }
7485 }
7486 },
7487 "permissions" : {
7488 "check" : [
7489 "perm",
7490 "/vms/{vmid}",
7491 [
7492 "VM.Monitor"
7493 ]
7494 ]
7495 },
7496 "protected" : 1,
7497 "proxyto" : "node",
7498 "returns" : {
7499 "description" : "Returns an object with a single `result` property.",
7500 "type" : "object"
7501 }
7502 }
7503 },
7504 "leaf" : 1,
7505 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
7506 "text" : "get-vcpus"
7507 },
7508 {
7509 "info" : {
7510 "GET" : {
7511 "description" : "Execute info.",
7512 "method" : "GET",
7513 "name" : "info",
7514 "parameters" : {
7515 "additionalProperties" : 0,
7516 "properties" : {
7517 "node" : {
7518 "description" : "The cluster node name.",
7519 "format" : "pve-node",
7520 "type" : "string",
7521 "typetext" : "<string>"
7522 },
7523 "vmid" : {
7524 "description" : "The (unique) ID of the VM.",
7525 "format" : "pve-vmid",
7526 "minimum" : 1,
7527 "type" : "integer",
7528 "typetext" : "<integer> (1 - N)"
7529 }
7530 }
7531 },
7532 "permissions" : {
7533 "check" : [
7534 "perm",
7535 "/vms/{vmid}",
7536 [
7537 "VM.Monitor"
7538 ]
7539 ]
7540 },
7541 "protected" : 1,
7542 "proxyto" : "node",
7543 "returns" : {
7544 "description" : "Returns an object with a single `result` property.",
7545 "type" : "object"
7546 }
7547 }
7548 },
7549 "leaf" : 1,
7550 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
7551 "text" : "info"
7552 },
7553 {
7554 "info" : {
7555 "GET" : {
7556 "description" : "Execute network-get-interfaces.",
7557 "method" : "GET",
7558 "name" : "network-get-interfaces",
7559 "parameters" : {
7560 "additionalProperties" : 0,
7561 "properties" : {
7562 "node" : {
7563 "description" : "The cluster node name.",
7564 "format" : "pve-node",
7565 "type" : "string",
7566 "typetext" : "<string>"
7567 },
7568 "vmid" : {
7569 "description" : "The (unique) ID of the VM.",
7570 "format" : "pve-vmid",
7571 "minimum" : 1,
7572 "type" : "integer",
7573 "typetext" : "<integer> (1 - N)"
7574 }
7575 }
7576 },
7577 "permissions" : {
7578 "check" : [
7579 "perm",
7580 "/vms/{vmid}",
7581 [
7582 "VM.Monitor"
7583 ]
7584 ]
7585 },
7586 "protected" : 1,
7587 "proxyto" : "node",
7588 "returns" : {
7589 "description" : "Returns an object with a single `result` property.",
7590 "type" : "object"
7591 }
7592 }
7593 },
7594 "leaf" : 1,
7595 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
7596 "text" : "network-get-interfaces"
7597 },
7598 {
7599 "info" : {
7600 "POST" : {
7601 "description" : "Execute ping.",
7602 "method" : "POST",
7603 "name" : "ping",
7604 "parameters" : {
7605 "additionalProperties" : 0,
7606 "properties" : {
7607 "node" : {
7608 "description" : "The cluster node name.",
7609 "format" : "pve-node",
7610 "type" : "string",
7611 "typetext" : "<string>"
7612 },
7613 "vmid" : {
7614 "description" : "The (unique) ID of the VM.",
7615 "format" : "pve-vmid",
7616 "minimum" : 1,
7617 "type" : "integer",
7618 "typetext" : "<integer> (1 - N)"
7619 }
7620 }
7621 },
7622 "permissions" : {
7623 "check" : [
7624 "perm",
7625 "/vms/{vmid}",
7626 [
7627 "VM.Monitor"
7628 ]
7629 ]
7630 },
7631 "protected" : 1,
7632 "proxyto" : "node",
7633 "returns" : {
7634 "description" : "Returns an object with a single `result` property.",
7635 "type" : "object"
7636 }
7637 }
7638 },
7639 "leaf" : 1,
7640 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
7641 "text" : "ping"
7642 },
7643 {
7644 "info" : {
7645 "POST" : {
7646 "description" : "Execute shutdown.",
7647 "method" : "POST",
7648 "name" : "shutdown",
7649 "parameters" : {
7650 "additionalProperties" : 0,
7651 "properties" : {
7652 "node" : {
7653 "description" : "The cluster node name.",
7654 "format" : "pve-node",
7655 "type" : "string",
7656 "typetext" : "<string>"
7657 },
7658 "vmid" : {
7659 "description" : "The (unique) ID of the VM.",
7660 "format" : "pve-vmid",
7661 "minimum" : 1,
7662 "type" : "integer",
7663 "typetext" : "<integer> (1 - N)"
7664 }
7665 }
7666 },
7667 "permissions" : {
7668 "check" : [
7669 "perm",
7670 "/vms/{vmid}",
7671 [
7672 "VM.Monitor"
7673 ]
7674 ]
7675 },
7676 "protected" : 1,
7677 "proxyto" : "node",
7678 "returns" : {
7679 "description" : "Returns an object with a single `result` property.",
7680 "type" : "object"
7681 }
7682 }
7683 },
7684 "leaf" : 1,
7685 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
7686 "text" : "shutdown"
7687 },
7688 {
7689 "info" : {
7690 "POST" : {
7691 "description" : "Execute suspend-disk.",
7692 "method" : "POST",
7693 "name" : "suspend-disk",
7694 "parameters" : {
7695 "additionalProperties" : 0,
7696 "properties" : {
7697 "node" : {
7698 "description" : "The cluster node name.",
7699 "format" : "pve-node",
7700 "type" : "string",
7701 "typetext" : "<string>"
7702 },
7703 "vmid" : {
7704 "description" : "The (unique) ID of the VM.",
7705 "format" : "pve-vmid",
7706 "minimum" : 1,
7707 "type" : "integer",
7708 "typetext" : "<integer> (1 - N)"
7709 }
7710 }
7711 },
7712 "permissions" : {
7713 "check" : [
7714 "perm",
7715 "/vms/{vmid}",
7716 [
7717 "VM.Monitor"
7718 ]
7719 ]
7720 },
7721 "protected" : 1,
7722 "proxyto" : "node",
7723 "returns" : {
7724 "description" : "Returns an object with a single `result` property.",
7725 "type" : "object"
7726 }
7727 }
7728 },
7729 "leaf" : 1,
7730 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
7731 "text" : "suspend-disk"
7732 },
7733 {
7734 "info" : {
7735 "POST" : {
7736 "description" : "Execute suspend-hybrid.",
7737 "method" : "POST",
7738 "name" : "suspend-hybrid",
7739 "parameters" : {
7740 "additionalProperties" : 0,
7741 "properties" : {
7742 "node" : {
7743 "description" : "The cluster node name.",
7744 "format" : "pve-node",
7745 "type" : "string",
7746 "typetext" : "<string>"
7747 },
7748 "vmid" : {
7749 "description" : "The (unique) ID of the VM.",
7750 "format" : "pve-vmid",
7751 "minimum" : 1,
7752 "type" : "integer",
7753 "typetext" : "<integer> (1 - N)"
7754 }
7755 }
7756 },
7757 "permissions" : {
7758 "check" : [
7759 "perm",
7760 "/vms/{vmid}",
7761 [
7762 "VM.Monitor"
7763 ]
7764 ]
7765 },
7766 "protected" : 1,
7767 "proxyto" : "node",
7768 "returns" : {
7769 "description" : "Returns an object with a single `result` property.",
7770 "type" : "object"
7771 }
7772 }
7773 },
7774 "leaf" : 1,
7775 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
7776 "text" : "suspend-hybrid"
7777 },
7778 {
7779 "info" : {
7780 "POST" : {
7781 "description" : "Execute suspend-ram.",
7782 "method" : "POST",
7783 "name" : "suspend-ram",
7784 "parameters" : {
7785 "additionalProperties" : 0,
7786 "properties" : {
7787 "node" : {
7788 "description" : "The cluster node name.",
7789 "format" : "pve-node",
7790 "type" : "string",
7791 "typetext" : "<string>"
7792 },
7793 "vmid" : {
7794 "description" : "The (unique) ID of the VM.",
7795 "format" : "pve-vmid",
7796 "minimum" : 1,
7797 "type" : "integer",
7798 "typetext" : "<integer> (1 - N)"
7799 }
7800 }
7801 },
7802 "permissions" : {
7803 "check" : [
7804 "perm",
7805 "/vms/{vmid}",
7806 [
7807 "VM.Monitor"
7808 ]
7809 ]
7810 },
7811 "protected" : 1,
7812 "proxyto" : "node",
7813 "returns" : {
7814 "description" : "Returns an object with a single `result` property.",
7815 "type" : "object"
7816 }
7817 }
7818 },
7819 "leaf" : 1,
7820 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
7821 "text" : "suspend-ram"
4d47f125
TL
7822 },
7823 {
7824 "info" : {
7825 "POST" : {
7826 "description" : "Sets the password for the given user to the given password",
7827 "method" : "POST",
7828 "name" : "set-user-password",
7829 "parameters" : {
7830 "additionalProperties" : 0,
7831 "properties" : {
7832 "crypted" : {
7833 "default" : 0,
7834 "description" : "set to 1 if the password has already been passed through crypt()",
7835 "optional" : 1,
7836 "type" : "boolean",
7837 "typetext" : "<boolean>"
7838 },
7839 "node" : {
7840 "description" : "The cluster node name.",
7841 "format" : "pve-node",
7842 "type" : "string",
7843 "typetext" : "<string>"
7844 },
7845 "password" : {
7846 "description" : "The new password.",
7847 "maxLength" : 64,
7848 "minLength" : 5,
7849 "type" : "string",
7850 "typetext" : "<string>"
7851 },
7852 "username" : {
7853 "description" : "The user to set the password for.",
7854 "type" : "string",
7855 "typetext" : "<string>"
7856 },
7857 "vmid" : {
7858 "description" : "The (unique) ID of the VM.",
7859 "format" : "pve-vmid",
7860 "minimum" : 1,
7861 "type" : "integer",
7862 "typetext" : "<integer> (1 - N)"
7863 }
7864 }
27a7acb2 7865 },
4d47f125
TL
7866 "permissions" : {
7867 "check" : [
7868 "perm",
7869 "/vms/{vmid}",
7870 [
7871 "VM.Monitor"
7872 ]
7873 ]
7874 },
7875 "protected" : 1,
7876 "proxyto" : "node",
7877 "returns" : {
7878 "description" : "Returns an object with a single `result` property.",
7879 "type" : "object"
27a7acb2
DM
7880 }
7881 }
7882 },
4d47f125
TL
7883 "leaf" : 1,
7884 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
7885 "text" : "set-user-password"
27a7acb2 7886 },
4d47f125
TL
7887 {
7888 "info" : {
7889 "POST" : {
7890 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
7891 "method" : "POST",
7892 "name" : "exec",
7893 "parameters" : {
7894 "additionalProperties" : 0,
7895 "properties" : {
7896 "command" : {
7897 "description" : "The command as a list of program + arguments",
7898 "format" : "string-alist",
7899 "type" : "string",
7900 "typetext" : "<string>"
7901 },
7902 "node" : {
7903 "description" : "The cluster node name.",
7904 "format" : "pve-node",
7905 "type" : "string",
7906 "typetext" : "<string>"
7907 },
7908 "vmid" : {
7909 "description" : "The (unique) ID of the VM.",
7910 "format" : "pve-vmid",
7911 "minimum" : 1,
7912 "type" : "integer",
7913 "typetext" : "<integer> (1 - N)"
7914 }
7915 }
27a7acb2 7916 },
4d47f125
TL
7917 "permissions" : {
7918 "check" : [
7919 "perm",
7920 "/vms/{vmid}",
7921 [
7922 "VM.Monitor"
7923 ]
7924 ]
27a7acb2 7925 },
4d47f125
TL
7926 "protected" : 1,
7927 "proxyto" : "node",
7928 "returns" : {
7929 "properties" : {
7930 "pid" : {
7931 "description" : "The PID of the process started by the guest-agent.",
7932 "type" : "integer"
7933 }
7934 },
7935 "type" : "object"
27a7acb2
DM
7936 }
7937 }
7938 },
4d47f125
TL
7939 "leaf" : 1,
7940 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
7941 "text" : "exec"
7942 },
7943 {
7944 "info" : {
7945 "GET" : {
7946 "description" : "Gets the status of the given pid started by the guest-agent",
7947 "method" : "GET",
7948 "name" : "exec-status",
7949 "parameters" : {
7950 "additionalProperties" : 0,
7951 "properties" : {
7952 "node" : {
7953 "description" : "The cluster node name.",
7954 "format" : "pve-node",
7955 "type" : "string",
7956 "typetext" : "<string>"
7957 },
7958 "pid" : {
7959 "description" : "The PID to query",
7960 "type" : "integer",
7961 "typetext" : "<integer>"
7962 },
7963 "vmid" : {
7964 "description" : "The (unique) ID of the VM.",
7965 "format" : "pve-vmid",
7966 "minimum" : 1,
7967 "type" : "integer",
7968 "typetext" : "<integer> (1 - N)"
7969 }
7970 }
56122987 7971 },
4d47f125
TL
7972 "permissions" : {
7973 "check" : [
7974 "perm",
7975 "/vms/{vmid}",
7976 [
7977 "VM.Monitor"
7978 ]
7979 ]
56122987 7980 },
4d47f125
TL
7981 "protected" : 1,
7982 "proxyto" : "node",
7983 "returns" : {
7984 "properties" : {
7985 "err-data" : {
7986 "description" : "stderr of the process",
7987 "optional" : 1,
7988 "type" : "string"
7989 },
7990 "err-truncated" : {
7991 "description" : "true if stderr was not fully captured",
7992 "optional" : 1,
7993 "type" : "boolean"
7994 },
7995 "exitcode" : {
7996 "description" : "process exit code if it was normally terminated.",
7997 "optional" : 1,
7998 "type" : "integer"
7999 },
8000 "exited" : {
8001 "description" : "Tells if the given command has exited yet.",
8002 "type" : "boolean"
8003 },
8004 "out-data" : {
8005 "description" : "stdout of the process",
8006 "optional" : 1,
8007 "type" : "string"
8008 },
8009 "out-truncated" : {
8010 "description" : "true if stdout was not fully captured",
8011 "optional" : 1,
8012 "type" : "boolean"
8013 },
8014 "signal" : {
8015 "description" : "signal number or exception code if the process was abnormally terminated.",
8016 "optional" : 1,
8017 "type" : "integer"
8018 }
8019 },
8020 "type" : "object"
56122987
DM
8021 }
8022 }
8023 },
4d47f125
TL
8024 "leaf" : 1,
8025 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
8026 "text" : "exec-status"
8027 },
8028 {
8029 "info" : {
8030 "GET" : {
8031 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
8032 "method" : "GET",
8033 "name" : "file-read",
8034 "parameters" : {
8035 "additionalProperties" : 0,
8036 "properties" : {
8037 "file" : {
8038 "description" : "The path to the file",
8039 "type" : "string",
8040 "typetext" : "<string>"
8041 },
8042 "node" : {
8043 "description" : "The cluster node name.",
8044 "format" : "pve-node",
8045 "type" : "string",
8046 "typetext" : "<string>"
8047 },
8048 "vmid" : {
8049 "description" : "The (unique) ID of the VM.",
8050 "format" : "pve-vmid",
8051 "minimum" : 1,
8052 "type" : "integer",
8053 "typetext" : "<integer> (1 - N)"
8054 }
8055 }
8056 },
8057 "permissions" : {
8058 "check" : [
8059 "perm",
8060 "/vms/{vmid}",
8061 [
8062 "VM.Monitor"
8063 ]
8064 ]
8065 },
8066 "protected" : 1,
8067 "proxyto" : "node",
8068 "returns" : {
8069 "description" : "Returns an object with a `content` property.",
8070 "properties" : {
8071 "content" : {
8072 "description" : "The content of the file, maximum 16777216",
8073 "type" : "string"
8074 },
8075 "truncated" : {
8076 "description" : "If set to 1, the output is truncated and not complete",
8077 "optional" : 1,
8078 "type" : "boolean"
8079 }
8080 },
8081 "type" : "object"
8082 }
8083 }
56122987 8084 },
4d47f125
TL
8085 "leaf" : 1,
8086 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
8087 "text" : "file-read"
8088 },
8089 {
8090 "info" : {
8091 "POST" : {
8092 "description" : "Writes the given file via guest agent.",
8093 "method" : "POST",
8094 "name" : "file-write",
8095 "parameters" : {
8096 "additionalProperties" : 0,
8097 "properties" : {
8098 "content" : {
8099 "description" : "The content to write into the file.",
8100 "maxLength" : 61440,
8101 "type" : "string",
8102 "typetext" : "<string>"
8103 },
8104 "file" : {
8105 "description" : "The path to the file.",
8106 "type" : "string",
8107 "typetext" : "<string>"
8108 },
8109 "node" : {
8110 "description" : "The cluster node name.",
8111 "format" : "pve-node",
8112 "type" : "string",
8113 "typetext" : "<string>"
8114 },
8115 "vmid" : {
8116 "description" : "The (unique) ID of the VM.",
8117 "format" : "pve-vmid",
8118 "minimum" : 1,
8119 "type" : "integer",
8120 "typetext" : "<integer> (1 - N)"
8121 }
8122 }
8123 },
8124 "permissions" : {
8125 "check" : [
8126 "perm",
8127 "/vms/{vmid}",
8128 [
8129 "VM.Monitor"
8130 ]
8131 ]
8132 },
8133 "protected" : 1,
8134 "proxyto" : "node",
8135 "returns" : {
8136 "type" : "null"
7aacca6f 8137 }
4d47f125
TL
8138 }
8139 },
8140 "leaf" : 1,
8141 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
8142 "text" : "file-write"
56122987 8143 }
4d47f125 8144 ],
7aacca6f 8145 "info" : {
56122987 8146 "GET" : {
4d47f125 8147 "description" : "Qemu Agent command index.",
44660702 8148 "method" : "GET",
4d47f125 8149 "name" : "index",
56122987 8150 "parameters" : {
4d47f125 8151 "additionalProperties" : 1,
56122987
DM
8152 "properties" : {
8153 "node" : {
44660702 8154 "description" : "The cluster node name.",
56122987 8155 "format" : "pve-node",
013dc89f
DM
8156 "type" : "string",
8157 "typetext" : "<string>"
56122987 8158 },
7aacca6f 8159 "vmid" : {
7aacca6f
DM
8160 "description" : "The (unique) ID of the VM.",
8161 "format" : "pve-vmid",
44660702 8162 "minimum" : 1,
4bd7df8b 8163 "type" : "integer",
013dc89f 8164 "typetext" : "<integer> (1 - N)"
56122987 8165 }
44660702 8166 }
56122987 8167 },
56122987 8168 "permissions" : {
4d47f125 8169 "user" : "all"
56122987 8170 },
4d47f125 8171 "proxyto" : "node",
7aacca6f 8172 "returns" : {
4d47f125 8173 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 8174 "items" : {
44660702
DM
8175 "properties" : {},
8176 "type" : "object"
8177 },
4d47f125
TL
8178 "links" : [
8179 {
8180 "href" : "{name}",
8181 "rel" : "child"
8182 }
8183 ],
44660702 8184 "type" : "array"
7aacca6f 8185 }
4d47f125
TL
8186 },
8187 "POST" : {
8188 "description" : "Execute Qemu Guest Agent commands.",
8189 "method" : "POST",
8190 "name" : "agent",
44660702
DM
8191 "parameters" : {
8192 "additionalProperties" : 0,
8193 "properties" : {
4d47f125
TL
8194 "command" : {
8195 "description" : "The QGA command.",
8196 "enum" : [
8197 "fsfreeze-freeze",
8198 "fsfreeze-status",
8199 "fsfreeze-thaw",
8200 "fstrim",
8201 "get-fsinfo",
8202 "get-host-name",
8203 "get-memory-block-info",
8204 "get-memory-blocks",
8205 "get-osinfo",
8206 "get-time",
8207 "get-timezone",
8208 "get-users",
8209 "get-vcpus",
8210 "info",
8211 "network-get-interfaces",
8212 "ping",
8213 "shutdown",
8214 "suspend-disk",
8215 "suspend-hybrid",
8216 "suspend-ram"
8217 ],
8218 "type" : "string"
8219 },
8220 "node" : {
8221 "description" : "The cluster node name.",
8222 "format" : "pve-node",
8223 "type" : "string",
8224 "typetext" : "<string>"
8225 },
8226 "vmid" : {
8227 "description" : "The (unique) ID of the VM.",
8228 "format" : "pve-vmid",
8229 "minimum" : 1,
8230 "type" : "integer",
8231 "typetext" : "<integer> (1 - N)"
8232 }
8233 }
8234 },
8235 "permissions" : {
8236 "check" : [
8237 "perm",
8238 "/vms/{vmid}",
8239 [
8240 "VM.Monitor"
8241 ]
8242 ]
8243 },
8244 "protected" : 1,
8245 "proxyto" : "node",
8246 "returns" : {
8247 "description" : "Returns an object with a single `result` property.",
8248 "type" : "object"
8249 }
8250 }
8251 },
8252 "leaf" : 0,
8253 "path" : "/nodes/{node}/qemu/{vmid}/agent",
8254 "text" : "agent"
8255 },
8256 {
8257 "info" : {
8258 "GET" : {
8259 "description" : "Read VM RRD statistics (returns PNG)",
8260 "method" : "GET",
8261 "name" : "rrd",
8262 "parameters" : {
8263 "additionalProperties" : 0,
8264 "properties" : {
8265 "cf" : {
8266 "description" : "The RRD consolidation function",
8267 "enum" : [
8268 "AVERAGE",
8269 "MAX"
8270 ],
44660702 8271 "optional" : 1,
4d47f125
TL
8272 "type" : "string"
8273 },
8274 "ds" : {
8275 "description" : "The list of datasources you want to display.",
8276 "format" : "pve-configid-list",
8277 "type" : "string",
8278 "typetext" : "<string>"
44660702
DM
8279 },
8280 "node" : {
8281 "description" : "The cluster node name.",
8282 "format" : "pve-node",
013dc89f
DM
8283 "type" : "string",
8284 "typetext" : "<string>"
44660702 8285 },
4d47f125
TL
8286 "timeframe" : {
8287 "description" : "Specify the time frame you are interested in.",
8288 "enum" : [
8289 "hour",
8290 "day",
8291 "week",
8292 "month",
8293 "year"
8294 ],
8295 "type" : "string"
8296 },
44660702
DM
8297 "vmid" : {
8298 "description" : "The (unique) ID of the VM.",
8299 "format" : "pve-vmid",
8300 "minimum" : 1,
4bd7df8b 8301 "type" : "integer",
013dc89f 8302 "typetext" : "<integer> (1 - N)"
44660702
DM
8303 }
8304 }
7aacca6f 8305 },
56122987
DM
8306 "permissions" : {
8307 "check" : [
8308 "perm",
8309 "/vms/{vmid}",
8310 [
44660702
DM
8311 "VM.Audit"
8312 ]
56122987
DM
8313 ]
8314 },
4d47f125 8315 "protected" : 1,
44660702
DM
8316 "returns" : {
8317 "properties" : {
4d47f125 8318 "filename" : {
44660702
DM
8319 "type" : "string"
8320 }
8321 },
8322 "type" : "object"
8323 }
4d47f125
TL
8324 }
8325 },
8326 "leaf" : 1,
8327 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
8328 "text" : "rrd"
8329 },
8330 {
8331 "info" : {
8332 "GET" : {
8333 "description" : "Read VM RRD statistics",
8334 "method" : "GET",
8335 "name" : "rrddata",
8336 "parameters" : {
8337 "additionalProperties" : 0,
8338 "properties" : {
8339 "cf" : {
8340 "description" : "The RRD consolidation function",
8341 "enum" : [
8342 "AVERAGE",
8343 "MAX"
8344 ],
8345 "optional" : 1,
8346 "type" : "string"
8347 },
8348 "node" : {
8349 "description" : "The cluster node name.",
8350 "format" : "pve-node",
8351 "type" : "string",
8352 "typetext" : "<string>"
8353 },
8354 "timeframe" : {
8355 "description" : "Specify the time frame you are interested in.",
8356 "enum" : [
8357 "hour",
8358 "day",
8359 "week",
8360 "month",
8361 "year"
8362 ],
8363 "type" : "string"
8364 },
8365 "vmid" : {
8366 "description" : "The (unique) ID of the VM.",
8367 "format" : "pve-vmid",
8368 "minimum" : 1,
8369 "type" : "integer",
8370 "typetext" : "<integer> (1 - N)"
8371 }
8372 }
8373 },
8374 "permissions" : {
8375 "check" : [
8376 "perm",
8377 "/vms/{vmid}",
8378 [
8379 "VM.Audit"
8380 ]
8381 ]
8382 },
8383 "protected" : 1,
8384 "returns" : {
8385 "items" : {
8386 "properties" : {},
8387 "type" : "object"
8388 },
8389 "type" : "array"
8390 }
8391 }
8392 },
8393 "leaf" : 1,
8394 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
8395 "text" : "rrddata"
8396 },
8397 {
8398 "info" : {
8399 "GET" : {
8400 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
8401 "method" : "GET",
8402 "name" : "vm_config",
56122987 8403 "parameters" : {
44660702 8404 "additionalProperties" : 0,
4d47f125
TL
8405 "properties" : {
8406 "current" : {
8407 "default" : 0,
8408 "description" : "Get current values (instead of pending values).",
8409 "optional" : 1,
8410 "type" : "boolean",
8411 "typetext" : "<boolean>"
8412 },
8413 "node" : {
8414 "description" : "The cluster node name.",
8415 "format" : "pve-node",
8416 "type" : "string",
8417 "typetext" : "<string>"
8418 },
5f26e15b
TL
8419 "snapshot" : {
8420 "description" : "Fetch config values from given snapshot.",
8421 "format" : "pve-configid",
8422 "maxLength" : 40,
8423 "optional" : 1,
8424 "type" : "string",
8425 "typetext" : "<string>"
8426 },
4d47f125
TL
8427 "vmid" : {
8428 "description" : "The (unique) ID of the VM.",
8429 "format" : "pve-vmid",
8430 "minimum" : 1,
8431 "type" : "integer",
8432 "typetext" : "<integer> (1 - N)"
8433 }
8434 }
8435 },
8436 "permissions" : {
8437 "check" : [
8438 "perm",
8439 "/vms/{vmid}",
8440 [
8441 "VM.Audit"
8442 ]
8443 ]
8444 },
8445 "proxyto" : "node",
8446 "returns" : {
8447 "description" : "The current VM configuration.",
56122987 8448 "properties" : {
44660702
DM
8449 "acpi" : {
8450 "default" : 1,
8451 "description" : "Enable/disable ACPI.",
8452 "optional" : 1,
4d47f125 8453 "type" : "boolean"
44660702
DM
8454 },
8455 "agent" : {
4d47f125
TL
8456 "description" : "Enable/disable Qemu GuestAgent and its properties.",
8457 "format" : {
8458 "enabled" : {
8459 "default" : 0,
8460 "default_key" : 1,
8461 "description" : "Enable/disable Qemu GuestAgent.",
8462 "type" : "boolean"
8463 },
8464 "fstrim_cloned_disks" : {
8465 "default" : 0,
8466 "description" : "Run fstrim after cloning/moving a disk.",
8467 "optional" : 1,
8468 "type" : "boolean"
8469 }
8470 },
7aacca6f 8471 "optional" : 1,
4d47f125 8472 "type" : "string"
7aacca6f 8473 },
e2d681b3
TL
8474 "arch" : {
8475 "description" : "Virtual processor architecture. Defaults to the host.",
8476 "enum" : [
8477 "x86_64",
8478 "aarch64"
8479 ],
8480 "optional" : 1,
8481 "type" : "string"
8482 },
44660702 8483 "args" : {
c2993fe5 8484 "description" : "Arbitrary arguments passed to kvm.",
44660702 8485 "optional" : 1,
c2993fe5
DM
8486 "type" : "string",
8487 "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 8488 },
44660702
DM
8489 "autostart" : {
8490 "default" : 0,
8491 "description" : "Automatic restart after crash (currently ignored).",
56122987 8492 "optional" : 1,
4d47f125 8493 "type" : "boolean"
56122987 8494 },
4d47f125
TL
8495 "balloon" : {
8496 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
8497 "minimum" : 0,
7aacca6f 8498 "optional" : 1,
4d47f125 8499 "type" : "integer"
7aacca6f 8500 },
44660702
DM
8501 "bios" : {
8502 "default" : "seabios",
8503 "description" : "Select BIOS implementation.",
8504 "enum" : [
8505 "seabios",
8506 "ovmf"
8507 ],
56122987 8508 "optional" : 1,
44660702 8509 "type" : "string"
7aacca6f 8510 },
44660702
DM
8511 "boot" : {
8512 "default" : "cdn",
8513 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
8514 "optional" : 1,
8515 "pattern" : "[acdn]{1,4}",
8516 "type" : "string"
8517 },
8518 "bootdisk" : {
8519 "description" : "Enable booting from specified disk.",
8520 "format" : "pve-qm-bootdisk",
8521 "optional" : 1,
8522 "pattern" : "(ide|sata|scsi|virtio)\\d+",
8523 "type" : "string"
8524 },
8525 "cdrom" : {
8526 "description" : "This is an alias for option -ide2",
de0983cb 8527 "format" : "pve-qm-ide",
44660702 8528 "optional" : 1,
7aacca6f 8529 "type" : "string",
013dc89f 8530 "typetext" : "<volume>"
44660702 8531 },
95895385
TL
8532 "cicustom" : {
8533 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
8534 "format" : "pve-qm-cicustom",
8535 "optional" : 1,
8536 "type" : "string"
8537 },
27a7acb2
DM
8538 "cipassword" : {
8539 "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.",
8540 "optional" : 1,
4d47f125 8541 "type" : "string"
27a7acb2
DM
8542 },
8543 "citype" : {
8544 "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.",
8545 "enum" : [
8546 "configdrive2",
8547 "nocloud"
8548 ],
8549 "optional" : 1,
8550 "type" : "string"
8551 },
8552 "ciuser" : {
8553 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
8554 "optional" : 1,
4d47f125 8555 "type" : "string"
27a7acb2 8556 },
44660702
DM
8557 "cores" : {
8558 "default" : 1,
8559 "description" : "The number of cores per socket.",
8560 "minimum" : 1,
7aacca6f 8561 "optional" : 1,
4d47f125 8562 "type" : "integer"
7aacca6f 8563 },
44660702
DM
8564 "cpu" : {
8565 "description" : "Emulated CPU type.",
56122987 8566 "format" : {
44660702
DM
8567 "cputype" : {
8568 "default" : "kvm64",
7aacca6f 8569 "default_key" : 1,
44660702 8570 "description" : "Emulated CPU type.",
56122987 8571 "enum" : [
44660702
DM
8572 "486",
8573 "athlon",
f004f5b9 8574 "Broadwell",
35a75dd3 8575 "Broadwell-IBRS",
f004f5b9 8576 "Broadwell-noTSX",
35a75dd3 8577 "Broadwell-noTSX-IBRS",
f004f5b9 8578 "Conroe",
44660702 8579 "core2duo",
f004f5b9 8580 "coreduo",
27a7acb2
DM
8581 "EPYC",
8582 "EPYC-IBPB",
f004f5b9 8583 "Haswell",
35a75dd3 8584 "Haswell-IBRS",
f004f5b9 8585 "Haswell-noTSX",
35a75dd3 8586 "Haswell-noTSX-IBRS",
f004f5b9
DM
8587 "host",
8588 "IvyBridge",
35a75dd3 8589 "IvyBridge-IBRS",
44660702
DM
8590 "kvm32",
8591 "kvm64",
35a75dd3 8592 "max",
44660702 8593 "Nehalem",
35a75dd3 8594 "Nehalem-IBRS",
44660702
DM
8595 "Opteron_G1",
8596 "Opteron_G2",
8597 "Opteron_G3",
8598 "Opteron_G4",
8599 "Opteron_G5",
f004f5b9
DM
8600 "Penryn",
8601 "pentium",
8602 "pentium2",
8603 "pentium3",
8604 "phenom",
8605 "qemu32",
8606 "qemu64",
8607 "SandyBridge",
35a75dd3 8608 "SandyBridge-IBRS",
5d9c884c 8609 "Skylake-Client",
35a75dd3
DM
8610 "Skylake-Client-IBRS",
8611 "Skylake-Server",
8612 "Skylake-Server-IBRS",
8613 "Westmere",
8614 "Westmere-IBRS"
56122987 8615 ],
56122987
DM
8616 "type" : "string"
8617 },
35a75dd3 8618 "flags" : {
1e3f8156 8619 "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', 'md-clear'.",
35a75dd3
DM
8620 "format_description" : "+FLAG[;-FLAG...]",
8621 "optional" : 1,
1e3f8156 8622 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
35a75dd3
DM
8623 "type" : "string"
8624 },
44660702
DM
8625 "hidden" : {
8626 "default" : 0,
8627 "description" : "Do not identify as a KVM virtual machine.",
56122987 8628 "optional" : 1,
44660702 8629 "type" : "boolean"
5f26e15b
TL
8630 },
8631 "hv-vendor-id" : {
8632 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
8633 "format_description" : "vendor-id",
8634 "optional" : 1,
8635 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
8636 "type" : "string"
44660702
DM
8637 }
8638 },
8639 "optional" : 1,
4d47f125 8640 "type" : "string"
44660702
DM
8641 },
8642 "cpulimit" : {
8643 "default" : 0,
c2993fe5 8644 "description" : "Limit of CPU usage.",
44660702
DM
8645 "maximum" : 128,
8646 "minimum" : 0,
8647 "optional" : 1,
c2993fe5
DM
8648 "type" : "number",
8649 "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
8650 },
8651 "cpuunits" : {
de0983cb 8652 "default" : 1024,
c2993fe5 8653 "description" : "CPU weight for a VM.",
2489d6df
WB
8654 "maximum" : 262144,
8655 "minimum" : 2,
44660702 8656 "optional" : 1,
c2993fe5 8657 "type" : "integer",
2489d6df 8658 "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 8659 },
44660702
DM
8660 "description" : {
8661 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
8662 "optional" : 1,
4d47f125 8663 "type" : "string"
44660702
DM
8664 },
8665 "digest" : {
4d47f125
TL
8666 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
8667 "type" : "string"
44660702 8668 },
4d47f125
TL
8669 "efidisk0" : {
8670 "description" : "Configure a Disk for storing EFI vars",
8671 "format" : {
8672 "file" : {
8673 "default_key" : 1,
8674 "description" : "The drive's backing volume.",
8675 "format" : "pve-volume-id-or-qm-path",
8676 "format_description" : "volume",
8677 "type" : "string"
8678 },
8679 "format" : {
8680 "description" : "The drive's backing file's data format.",
8681 "enum" : [
8682 "raw",
8683 "cow",
8684 "qcow",
8685 "qed",
8686 "qcow2",
8687 "vmdk",
8688 "cloop"
8689 ],
8690 "optional" : 1,
8691 "type" : "string"
8692 },
8693 "size" : {
8694 "description" : "Disk size. This is purely informational and has no effect.",
8695 "format" : "disk-size",
8696 "format_description" : "DiskSize",
8697 "optional" : 1,
8698 "type" : "string"
8699 },
8700 "volume" : {
8701 "alias" : "file"
8702 }
8703 },
44660702 8704 "optional" : 1,
4d47f125 8705 "type" : "string"
44660702
DM
8706 },
8707 "freeze" : {
8708 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
8709 "optional" : 1,
4d47f125 8710 "type" : "boolean"
44660702 8711 },
5f26e15b
TL
8712 "hookscript" : {
8713 "description" : "Script that will be executed during various steps in the vms lifetime.",
8714 "format" : "pve-volume-id",
8715 "optional" : 1,
8716 "type" : "string"
8717 },
44660702 8718 "hostpci[n]" : {
c2993fe5 8719 "description" : "Map host PCI devices into guest.",
44660702
DM
8720 "format" : "pve-qm-hostpci",
8721 "optional" : 1,
57b78691 8722 "type" : "string",
bb4c8cf8 8723 "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
8724 },
8725 "hotplug" : {
8726 "default" : "network,disk,usb",
8727 "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'.",
8728 "format" : "pve-hotplug-features",
8729 "optional" : 1,
4d47f125 8730 "type" : "string"
44660702 8731 },
4bd7df8b
DM
8732 "hugepages" : {
8733 "description" : "Enable/disable hugepages memory.",
8734 "enum" : [
8735 "any",
8736 "2",
8737 "1024"
8738 ],
8739 "optional" : 1,
8740 "type" : "string"
8741 },
44660702
DM
8742 "ide[n]" : {
8743 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
8744 "format" : {
8745 "aio" : {
8746 "description" : "AIO type to use.",
8747 "enum" : [
8748 "native",
8749 "threads"
56122987 8750 ],
56122987 8751 "optional" : 1,
44660702 8752 "type" : "string"
56122987 8753 },
44660702
DM
8754 "backup" : {
8755 "description" : "Whether the drive should be included when making backups.",
56122987 8756 "optional" : 1,
44660702 8757 "type" : "boolean"
56122987 8758 },
7aacca6f 8759 "bps" : {
de0983cb 8760 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
8761 "format_description" : "bps",
8762 "optional" : 1,
8763 "type" : "integer"
8764 },
de0983cb
DM
8765 "bps_max_length" : {
8766 "description" : "Maximum length of I/O bursts in seconds.",
8767 "format_description" : "seconds",
8768 "minimum" : 1,
8769 "optional" : 1,
8770 "type" : "integer"
8771 },
44660702 8772 "bps_rd" : {
de0983cb 8773 "description" : "Maximum read speed in bytes per second.",
44660702 8774 "format_description" : "bps",
56122987 8775 "optional" : 1,
44660702 8776 "type" : "integer"
56122987 8777 },
de0983cb 8778 "bps_rd_length" : {
5d9c884c
DM
8779 "alias" : "bps_rd_max_length"
8780 },
8781 "bps_rd_max_length" : {
de0983cb
DM
8782 "description" : "Maximum length of read I/O bursts in seconds.",
8783 "format_description" : "seconds",
8784 "minimum" : 1,
8785 "optional" : 1,
8786 "type" : "integer"
8787 },
44660702 8788 "bps_wr" : {
de0983cb 8789 "description" : "Maximum write speed in bytes per second.",
44660702
DM
8790 "format_description" : "bps",
8791 "optional" : 1,
8792 "type" : "integer"
8793 },
de0983cb 8794 "bps_wr_length" : {
5d9c884c
DM
8795 "alias" : "bps_wr_max_length"
8796 },
8797 "bps_wr_max_length" : {
de0983cb
DM
8798 "description" : "Maximum length of write I/O bursts in seconds.",
8799 "format_description" : "seconds",
8800 "minimum" : 1,
8801 "optional" : 1,
8802 "type" : "integer"
8803 },
44660702
DM
8804 "cache" : {
8805 "description" : "The drive's cache mode",
8806 "enum" : [
8807 "none",
8808 "writethrough",
8809 "writeback",
8810 "unsafe",
8811 "directsync"
8812 ],
44660702
DM
8813 "optional" : 1,
8814 "type" : "string"
8815 },
8816 "cyls" : {
8817 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8818 "optional" : 1,
8819 "type" : "integer"
8820 },
8821 "detect_zeroes" : {
8822 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8823 "optional" : 1,
8824 "type" : "boolean"
8825 },
8826 "discard" : {
8827 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8828 "enum" : [
8829 "ignore",
8830 "on"
8831 ],
56122987 8832 "optional" : 1,
44660702
DM
8833 "type" : "string"
8834 },
8835 "file" : {
8836 "default_key" : 1,
8837 "description" : "The drive's backing volume.",
8838 "format" : "pve-volume-id-or-qm-path",
8839 "format_description" : "volume",
8840 "type" : "string"
56122987 8841 },
7aacca6f 8842 "format" : {
7aacca6f 8843 "description" : "The drive's backing file's data format.",
56122987 8844 "enum" : [
7aacca6f
DM
8845 "raw",
8846 "cow",
8847 "qcow",
8848 "qed",
8849 "qcow2",
8850 "vmdk",
8851 "cloop"
56122987
DM
8852 ],
8853 "optional" : 1,
56122987
DM
8854 "type" : "string"
8855 },
44660702
DM
8856 "heads" : {
8857 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8858 "optional" : 1,
8859 "type" : "integer"
7aacca6f 8860 },
44660702 8861 "iops" : {
de0983cb 8862 "description" : "Maximum r/w I/O in operations per second.",
44660702 8863 "format_description" : "iops",
56122987 8864 "optional" : 1,
44660702 8865 "type" : "integer"
56122987 8866 },
44660702 8867 "iops_max" : {
de0983cb 8868 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8869 "format_description" : "iops",
56122987 8870 "optional" : 1,
44660702 8871 "type" : "integer"
56122987 8872 },
de0983cb
DM
8873 "iops_max_length" : {
8874 "description" : "Maximum length of I/O bursts in seconds.",
8875 "format_description" : "seconds",
8876 "minimum" : 1,
8877 "optional" : 1,
8878 "type" : "integer"
8879 },
44660702 8880 "iops_rd" : {
de0983cb 8881 "description" : "Maximum read I/O in operations per second.",
44660702
DM
8882 "format_description" : "iops",
8883 "optional" : 1,
8884 "type" : "integer"
8885 },
de0983cb 8886 "iops_rd_length" : {
5d9c884c 8887 "alias" : "iops_rd_max_length"
de0983cb 8888 },
44660702 8889 "iops_rd_max" : {
de0983cb 8890 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 8891 "format_description" : "iops",
44660702
DM
8892 "optional" : 1,
8893 "type" : "integer"
8894 },
5d9c884c
DM
8895 "iops_rd_max_length" : {
8896 "description" : "Maximum length of read I/O bursts in seconds.",
8897 "format_description" : "seconds",
8898 "minimum" : 1,
8899 "optional" : 1,
8900 "type" : "integer"
8901 },
44660702 8902 "iops_wr" : {
de0983cb 8903 "description" : "Maximum write I/O in operations per second.",
44660702 8904 "format_description" : "iops",
56122987 8905 "optional" : 1,
7aacca6f 8906 "type" : "integer"
56122987 8907 },
de0983cb 8908 "iops_wr_length" : {
5d9c884c 8909 "alias" : "iops_wr_max_length"
de0983cb 8910 },
44660702 8911 "iops_wr_max" : {
de0983cb 8912 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8913 "format_description" : "iops",
7aacca6f 8914 "optional" : 1,
44660702 8915 "type" : "integer"
56122987 8916 },
5d9c884c
DM
8917 "iops_wr_max_length" : {
8918 "description" : "Maximum length of write I/O bursts in seconds.",
8919 "format_description" : "seconds",
8920 "minimum" : 1,
8921 "optional" : 1,
8922 "type" : "integer"
8923 },
44660702 8924 "mbps" : {
de0983cb 8925 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8926 "format_description" : "mbps",
8927 "optional" : 1,
8928 "type" : "number"
8929 },
8930 "mbps_max" : {
de0983cb 8931 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8932 "format_description" : "mbps",
8933 "optional" : 1,
8934 "type" : "number"
8935 },
8936 "mbps_rd" : {
de0983cb 8937 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8938 "format_description" : "mbps",
8939 "optional" : 1,
8940 "type" : "number"
8941 },
8942 "mbps_rd_max" : {
de0983cb 8943 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8944 "format_description" : "mbps",
8945 "optional" : 1,
8946 "type" : "number"
8947 },
8948 "mbps_wr" : {
de0983cb 8949 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8950 "format_description" : "mbps",
8951 "optional" : 1,
8952 "type" : "number"
8953 },
8954 "mbps_wr_max" : {
de0983cb 8955 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 8956 "format_description" : "mbps",
56122987 8957 "optional" : 1,
44660702 8958 "type" : "number"
56122987 8959 },
7aacca6f 8960 "media" : {
7aacca6f 8961 "default" : "disk",
7aacca6f
DM
8962 "description" : "The drive's media type.",
8963 "enum" : [
8964 "cdrom",
8965 "disk"
44660702 8966 ],
44660702
DM
8967 "optional" : 1,
8968 "type" : "string"
56122987 8969 },
44660702
DM
8970 "model" : {
8971 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
8972 "format" : "urlencoded",
8973 "format_description" : "model",
8974 "maxLength" : 120,
56122987 8975 "optional" : 1,
44660702 8976 "type" : "string"
56122987 8977 },
5d9c884c
DM
8978 "replicate" : {
8979 "default" : 1,
8980 "description" : "Whether the drive should considered for replication jobs.",
8981 "optional" : 1,
8982 "type" : "boolean"
8983 },
44660702
DM
8984 "rerror" : {
8985 "description" : "Read error action.",
8986 "enum" : [
8987 "ignore",
8988 "report",
8989 "stop"
8990 ],
56122987 8991 "optional" : 1,
44660702
DM
8992 "type" : "string"
8993 },
8994 "secs" : {
8995 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
8996 "optional" : 1,
8997 "type" : "integer"
8998 },
8999 "serial" : {
9000 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9001 "format" : "urlencoded",
9002 "format_description" : "serial",
9003 "maxLength" : 60,
9004 "optional" : 1,
9005 "type" : "string"
9006 },
27a7acb2
DM
9007 "shared" : {
9008 "default" : 0,
9009 "description" : "Mark this locally-managed volume as available on all nodes",
9010 "optional" : 1,
9011 "type" : "boolean",
9012 "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!"
9013 },
44660702
DM
9014 "size" : {
9015 "description" : "Disk size. This is purely informational and has no effect.",
9016 "format" : "disk-size",
f004f5b9 9017 "format_description" : "DiskSize",
44660702
DM
9018 "optional" : 1,
9019 "type" : "string"
9020 },
9021 "snapshot" : {
27a7acb2 9022 "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
9023 "optional" : 1,
9024 "type" : "boolean"
9025 },
25203dc1
NC
9026 "ssd" : {
9027 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9028 "optional" : 1,
9029 "type" : "boolean"
9030 },
44660702
DM
9031 "trans" : {
9032 "description" : "Force disk geometry bios translation mode.",
9033 "enum" : [
9034 "none",
9035 "lba",
9036 "auto"
9037 ],
44660702
DM
9038 "optional" : 1,
9039 "type" : "string"
9040 },
9041 "volume" : {
9042 "alias" : "file"
9043 },
9044 "werror" : {
9045 "description" : "Write error action.",
9046 "enum" : [
9047 "enospc",
9048 "ignore",
9049 "report",
9050 "stop"
9051 ],
44660702
DM
9052 "optional" : 1,
9053 "type" : "string"
95895385
TL
9054 },
9055 "wwn" : {
9056 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
9057 "format_description" : "wwn",
9058 "optional" : 1,
9059 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
9060 "type" : "string"
56122987
DM
9061 }
9062 },
44660702 9063 "optional" : 1,
4d47f125 9064 "type" : "string"
27a7acb2
DM
9065 },
9066 "ipconfig[n]" : {
9067 "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",
9068 "format" : "pve-qm-ipconfig",
9069 "optional" : 1,
4d47f125 9070 "type" : "string"
56122987 9071 },
95895385
TL
9072 "ivshmem" : {
9073 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
9074 "format" : {
9075 "name" : {
9076 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
9077 "format_description" : "string",
9078 "optional" : 1,
9079 "pattern" : "[a-zA-Z0-9\\-]+",
9080 "type" : "string"
9081 },
9082 "size" : {
9083 "description" : "The size of the file in MB.",
9084 "minimum" : 1,
9085 "type" : "integer"
9086 }
9087 },
9088 "optional" : 1,
9089 "type" : "string"
9090 },
44660702 9091 "keyboard" : {
35a75dd3 9092 "default" : null,
5da3d723 9093 "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
9094 "enum" : [
9095 "de",
9096 "de-ch",
9097 "da",
9098 "en-gb",
9099 "en-us",
9100 "es",
9101 "fi",
9102 "fr",
9103 "fr-be",
9104 "fr-ca",
9105 "fr-ch",
9106 "hu",
9107 "is",
9108 "it",
9109 "ja",
9110 "lt",
9111 "mk",
9112 "nl",
9113 "no",
9114 "pl",
9115 "pt",
9116 "pt-br",
9117 "sv",
9118 "sl",
9119 "tr"
9120 ],
56122987 9121 "optional" : 1,
44660702
DM
9122 "type" : "string"
9123 },
9124 "kvm" : {
7aacca6f 9125 "default" : 1,
44660702
DM
9126 "description" : "Enable/disable KVM hardware virtualization.",
9127 "optional" : 1,
4d47f125 9128 "type" : "boolean"
56122987 9129 },
44660702
DM
9130 "localtime" : {
9131 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 9132 "optional" : 1,
4d47f125 9133 "type" : "boolean"
56122987 9134 },
44660702
DM
9135 "lock" : {
9136 "description" : "Lock/unlock the VM.",
9137 "enum" : [
44660702 9138 "backup",
5f26e15b
TL
9139 "clone",
9140 "create",
9141 "migrate",
9142 "rollback",
44660702 9143 "snapshot",
95895385
TL
9144 "snapshot-delete",
9145 "suspending",
9146 "suspended"
44660702 9147 ],
7aacca6f 9148 "optional" : 1,
44660702
DM
9149 "type" : "string"
9150 },
9151 "machine" : {
4d47f125 9152 "description" : "Specifies the Qemu machine type.",
44660702
DM
9153 "maxLength" : 40,
9154 "optional" : 1,
e2d681b3 9155 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702
DM
9156 "type" : "string"
9157 },
9158 "memory" : {
9159 "default" : 512,
9160 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
9161 "minimum" : 16,
9162 "optional" : 1,
4d47f125 9163 "type" : "integer"
44660702
DM
9164 },
9165 "migrate_downtime" : {
9166 "default" : 0.1,
9167 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
9168 "minimum" : 0,
9169 "optional" : 1,
4d47f125 9170 "type" : "number"
44660702
DM
9171 },
9172 "migrate_speed" : {
9173 "default" : 0,
9174 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
9175 "minimum" : 0,
9176 "optional" : 1,
4d47f125 9177 "type" : "integer"
44660702
DM
9178 },
9179 "name" : {
9180 "description" : "Set a name for the VM. Only used on the configuration web interface.",
9181 "format" : "dns-name",
9182 "optional" : 1,
4d47f125 9183 "type" : "string"
44660702 9184 },
27a7acb2
DM
9185 "nameserver" : {
9186 "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.",
9187 "format" : "address-list",
9188 "optional" : 1,
4d47f125 9189 "type" : "string"
27a7acb2 9190 },
44660702 9191 "net[n]" : {
c2993fe5 9192 "description" : "Specify network devices.",
f004f5b9
DM
9193 "format" : {
9194 "bridge" : {
c2993fe5 9195 "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
9196 "format_description" : "bridge",
9197 "optional" : 1,
9198 "type" : "string"
9199 },
9200 "e1000" : {
9201 "alias" : "macaddr",
9202 "keyAlias" : "model"
9203 },
9204 "e1000-82540em" : {
9205 "alias" : "macaddr",
9206 "keyAlias" : "model"
9207 },
9208 "e1000-82544gc" : {
9209 "alias" : "macaddr",
9210 "keyAlias" : "model"
9211 },
9212 "e1000-82545em" : {
9213 "alias" : "macaddr",
9214 "keyAlias" : "model"
9215 },
9216 "firewall" : {
9217 "description" : "Whether this interface should be protected by the firewall.",
9218 "optional" : 1,
9219 "type" : "boolean"
9220 },
9221 "i82551" : {
9222 "alias" : "macaddr",
9223 "keyAlias" : "model"
9224 },
9225 "i82557b" : {
9226 "alias" : "macaddr",
9227 "keyAlias" : "model"
9228 },
9229 "i82559er" : {
9230 "alias" : "macaddr",
9231 "keyAlias" : "model"
9232 },
9233 "link_down" : {
c2993fe5 9234 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
9235 "optional" : 1,
9236 "type" : "boolean"
9237 },
9238 "macaddr" : {
c2993fe5 9239 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 9240 "format" : "mac-addr",
f004f5b9 9241 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 9242 "optional" : 1,
95895385
TL
9243 "type" : "string",
9244 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
9245 },
9246 "model" : {
9247 "default_key" : 1,
c2993fe5 9248 "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
9249 "enum" : [
9250 "rtl8139",
9251 "ne2k_pci",
9252 "e1000",
9253 "pcnet",
9254 "virtio",
9255 "ne2k_isa",
9256 "i82551",
9257 "i82557b",
9258 "i82559er",
9259 "vmxnet3",
9260 "e1000-82540em",
9261 "e1000-82544gc",
9262 "e1000-82545em"
9263 ],
f004f5b9
DM
9264 "type" : "string"
9265 },
9266 "ne2k_isa" : {
9267 "alias" : "macaddr",
9268 "keyAlias" : "model"
9269 },
9270 "ne2k_pci" : {
9271 "alias" : "macaddr",
9272 "keyAlias" : "model"
9273 },
9274 "pcnet" : {
9275 "alias" : "macaddr",
9276 "keyAlias" : "model"
9277 },
9278 "queues" : {
9279 "description" : "Number of packet queues to be used on the device.",
9280 "maximum" : 16,
9281 "minimum" : 0,
9282 "optional" : 1,
9283 "type" : "integer"
9284 },
9285 "rate" : {
c2993fe5 9286 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
9287 "minimum" : 0,
9288 "optional" : 1,
9289 "type" : "number"
9290 },
9291 "rtl8139" : {
9292 "alias" : "macaddr",
9293 "keyAlias" : "model"
9294 },
9295 "tag" : {
9296 "description" : "VLAN tag to apply to packets on this interface.",
9297 "maximum" : 4094,
c2993fe5 9298 "minimum" : 1,
f004f5b9
DM
9299 "optional" : 1,
9300 "type" : "integer"
9301 },
9302 "trunks" : {
9303 "description" : "VLAN trunks to pass through this interface.",
9304 "format_description" : "vlanid[;vlanid...]",
9305 "optional" : 1,
9306 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
9307 "type" : "string"
9308 },
9309 "virtio" : {
9310 "alias" : "macaddr",
9311 "keyAlias" : "model"
9312 },
9313 "vmxnet3" : {
9314 "alias" : "macaddr",
9315 "keyAlias" : "model"
9316 }
9317 },
44660702 9318 "optional" : 1,
4d47f125 9319 "type" : "string"
44660702
DM
9320 },
9321 "numa" : {
9322 "default" : 0,
9323 "description" : "Enable/disable NUMA.",
9324 "optional" : 1,
4d47f125 9325 "type" : "boolean"
44660702
DM
9326 },
9327 "numa[n]" : {
c2993fe5 9328 "description" : "NUMA topology.",
56122987 9329 "format" : {
7aacca6f 9330 "cpus" : {
c2993fe5 9331 "description" : "CPUs accessing this NUMA node.",
44660702
DM
9332 "format_description" : "id[-id];...",
9333 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
9334 "type" : "string"
7aacca6f
DM
9335 },
9336 "hostnodes" : {
c2993fe5 9337 "description" : "Host NUMA nodes to use.",
44660702 9338 "format_description" : "id[-id];...",
7aacca6f 9339 "optional" : 1,
7aacca6f 9340 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 9341 "type" : "string"
7aacca6f 9342 },
44660702 9343 "memory" : {
c2993fe5 9344 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 9345 "optional" : 1,
44660702
DM
9346 "type" : "number"
9347 },
9348 "policy" : {
c2993fe5 9349 "description" : "NUMA allocation policy.",
7aacca6f
DM
9350 "enum" : [
9351 "preferred",
9352 "bind",
9353 "interleave"
9354 ],
44660702
DM
9355 "optional" : 1,
9356 "type" : "string"
56122987 9357 }
44660702 9358 },
56122987 9359 "optional" : 1,
4d47f125 9360 "type" : "string"
56122987 9361 },
44660702 9362 "onboot" : {
7aacca6f 9363 "default" : 0,
44660702
DM
9364 "description" : "Specifies whether a VM will be started during system bootup.",
9365 "optional" : 1,
4d47f125 9366 "type" : "boolean"
7aacca6f
DM
9367 },
9368 "ostype" : {
c2993fe5 9369 "description" : "Specify guest operating system.",
7aacca6f
DM
9370 "enum" : [
9371 "other",
9372 "wxp",
9373 "w2k",
9374 "w2k3",
9375 "w2k8",
9376 "wvista",
9377 "win7",
9378 "win8",
32d876b5 9379 "win10",
7aacca6f
DM
9380 "l24",
9381 "l26",
9382 "solaris"
9383 ],
7aacca6f 9384 "optional" : 1,
c2993fe5 9385 "type" : "string",
35a75dd3 9386 "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 9387 },
44660702 9388 "parallel[n]" : {
c2993fe5 9389 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 9390 "optional" : 1,
44660702 9391 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
9392 "type" : "string",
9393 "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
9394 },
9395 "protection" : {
9396 "default" : 0,
c2993fe5 9397 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 9398 "optional" : 1,
4d47f125 9399 "type" : "boolean"
7aacca6f 9400 },
44660702
DM
9401 "reboot" : {
9402 "default" : 1,
9403 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 9404 "optional" : 1,
4d47f125 9405 "type" : "boolean"
44660702
DM
9406 },
9407 "sata[n]" : {
9408 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 9409 "format" : {
44660702
DM
9410 "aio" : {
9411 "description" : "AIO type to use.",
7aacca6f 9412 "enum" : [
44660702
DM
9413 "native",
9414 "threads"
7aacca6f 9415 ],
44660702
DM
9416 "optional" : 1,
9417 "type" : "string"
7aacca6f 9418 },
44660702
DM
9419 "backup" : {
9420 "description" : "Whether the drive should be included when making backups.",
56122987 9421 "optional" : 1,
7aacca6f 9422 "type" : "boolean"
44660702
DM
9423 },
9424 "bps" : {
de0983cb 9425 "description" : "Maximum r/w speed in bytes per second.",
44660702 9426 "format_description" : "bps",
7aacca6f 9427 "optional" : 1,
44660702 9428 "type" : "integer"
56122987 9429 },
de0983cb
DM
9430 "bps_max_length" : {
9431 "description" : "Maximum length of I/O bursts in seconds.",
9432 "format_description" : "seconds",
9433 "minimum" : 1,
9434 "optional" : 1,
9435 "type" : "integer"
9436 },
44660702 9437 "bps_rd" : {
de0983cb 9438 "description" : "Maximum read speed in bytes per second.",
44660702 9439 "format_description" : "bps",
56122987 9440 "optional" : 1,
44660702 9441 "type" : "integer"
56122987 9442 },
de0983cb 9443 "bps_rd_length" : {
5d9c884c
DM
9444 "alias" : "bps_rd_max_length"
9445 },
9446 "bps_rd_max_length" : {
de0983cb
DM
9447 "description" : "Maximum length of read I/O bursts in seconds.",
9448 "format_description" : "seconds",
9449 "minimum" : 1,
9450 "optional" : 1,
9451 "type" : "integer"
9452 },
44660702 9453 "bps_wr" : {
de0983cb 9454 "description" : "Maximum write speed in bytes per second.",
44660702 9455 "format_description" : "bps",
56122987 9456 "optional" : 1,
44660702 9457 "type" : "integer"
56122987 9458 },
de0983cb 9459 "bps_wr_length" : {
5d9c884c
DM
9460 "alias" : "bps_wr_max_length"
9461 },
9462 "bps_wr_max_length" : {
de0983cb
DM
9463 "description" : "Maximum length of write I/O bursts in seconds.",
9464 "format_description" : "seconds",
9465 "minimum" : 1,
9466 "optional" : 1,
9467 "type" : "integer"
9468 },
56122987 9469 "cache" : {
44660702 9470 "description" : "The drive's cache mode",
56122987
DM
9471 "enum" : [
9472 "none",
9473 "writethrough",
9474 "writeback",
9475 "unsafe",
9476 "directsync"
9477 ],
56122987 9478 "optional" : 1,
44660702 9479 "type" : "string"
56122987 9480 },
44660702
DM
9481 "cyls" : {
9482 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 9483 "optional" : 1,
44660702 9484 "type" : "integer"
7aacca6f
DM
9485 },
9486 "detect_zeroes" : {
9487 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 9488 "optional" : 1,
44660702 9489 "type" : "boolean"
56122987 9490 },
44660702
DM
9491 "discard" : {
9492 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9493 "enum" : [
9494 "ignore",
9495 "on"
9496 ],
56122987 9497 "optional" : 1,
44660702 9498 "type" : "string"
7aacca6f 9499 },
44660702
DM
9500 "file" : {
9501 "default_key" : 1,
9502 "description" : "The drive's backing volume.",
9503 "format" : "pve-volume-id-or-qm-path",
9504 "format_description" : "volume",
9505 "type" : "string"
56122987 9506 },
7aacca6f 9507 "format" : {
44660702 9508 "description" : "The drive's backing file's data format.",
7aacca6f
DM
9509 "enum" : [
9510 "raw",
9511 "cow",
9512 "qcow",
9513 "qed",
9514 "qcow2",
9515 "vmdk",
9516 "cloop"
9517 ],
7aacca6f 9518 "optional" : 1,
44660702 9519 "type" : "string"
56122987 9520 },
7aacca6f 9521 "heads" : {
7aacca6f 9522 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9523 "optional" : 1,
7aacca6f 9524 "type" : "integer"
56122987 9525 },
44660702 9526 "iops" : {
de0983cb 9527 "description" : "Maximum r/w I/O in operations per second.",
44660702 9528 "format_description" : "iops",
56122987 9529 "optional" : 1,
44660702 9530 "type" : "integer"
56122987 9531 },
44660702 9532 "iops_max" : {
de0983cb 9533 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9534 "format_description" : "iops",
56122987 9535 "optional" : 1,
44660702 9536 "type" : "integer"
56122987 9537 },
de0983cb
DM
9538 "iops_max_length" : {
9539 "description" : "Maximum length of I/O bursts in seconds.",
9540 "format_description" : "seconds",
9541 "minimum" : 1,
9542 "optional" : 1,
9543 "type" : "integer"
9544 },
44660702 9545 "iops_rd" : {
de0983cb 9546 "description" : "Maximum read I/O in operations per second.",
44660702 9547 "format_description" : "iops",
7aacca6f 9548 "optional" : 1,
44660702 9549 "type" : "integer"
56122987 9550 },
de0983cb 9551 "iops_rd_length" : {
5d9c884c 9552 "alias" : "iops_rd_max_length"
de0983cb 9553 },
44660702 9554 "iops_rd_max" : {
de0983cb 9555 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9556 "format_description" : "iops",
56122987 9557 "optional" : 1,
44660702 9558 "type" : "integer"
7aacca6f 9559 },
5d9c884c
DM
9560 "iops_rd_max_length" : {
9561 "description" : "Maximum length of read I/O bursts in seconds.",
9562 "format_description" : "seconds",
9563 "minimum" : 1,
9564 "optional" : 1,
9565 "type" : "integer"
9566 },
44660702 9567 "iops_wr" : {
de0983cb 9568 "description" : "Maximum write I/O in operations per second.",
44660702 9569 "format_description" : "iops",
56122987 9570 "optional" : 1,
44660702 9571 "type" : "integer"
56122987 9572 },
de0983cb 9573 "iops_wr_length" : {
5d9c884c 9574 "alias" : "iops_wr_max_length"
de0983cb 9575 },
56122987 9576 "iops_wr_max" : {
de0983cb 9577 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9578 "format_description" : "iops",
56122987 9579 "optional" : 1,
44660702 9580 "type" : "integer"
56122987 9581 },
5d9c884c
DM
9582 "iops_wr_max_length" : {
9583 "description" : "Maximum length of write I/O bursts in seconds.",
9584 "format_description" : "seconds",
9585 "minimum" : 1,
9586 "optional" : 1,
9587 "type" : "integer"
9588 },
44660702 9589 "mbps" : {
de0983cb 9590 "description" : "Maximum r/w speed in megabytes per second.",
44660702 9591 "format_description" : "mbps",
56122987 9592 "optional" : 1,
44660702 9593 "type" : "number"
56122987 9594 },
44660702 9595 "mbps_max" : {
de0983cb 9596 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9597 "format_description" : "mbps",
9598 "optional" : 1,
9599 "type" : "number"
56122987 9600 },
44660702 9601 "mbps_rd" : {
de0983cb 9602 "description" : "Maximum read speed in megabytes per second.",
44660702 9603 "format_description" : "mbps",
56122987 9604 "optional" : 1,
44660702 9605 "type" : "number"
56122987 9606 },
44660702 9607 "mbps_rd_max" : {
de0983cb 9608 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9609 "format_description" : "mbps",
56122987 9610 "optional" : 1,
44660702 9611 "type" : "number"
56122987 9612 },
44660702 9613 "mbps_wr" : {
de0983cb 9614 "description" : "Maximum write speed in megabytes per second.",
56122987 9615 "format_description" : "mbps",
44660702
DM
9616 "optional" : 1,
9617 "type" : "number"
56122987 9618 },
44660702 9619 "mbps_wr_max" : {
de0983cb 9620 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9621 "format_description" : "mbps",
9622 "optional" : 1,
9623 "type" : "number"
7aacca6f 9624 },
44660702
DM
9625 "media" : {
9626 "default" : "disk",
9627 "description" : "The drive's media type.",
9628 "enum" : [
9629 "cdrom",
9630 "disk"
9631 ],
56122987 9632 "optional" : 1,
44660702
DM
9633 "type" : "string"
9634 },
5d9c884c
DM
9635 "replicate" : {
9636 "default" : 1,
9637 "description" : "Whether the drive should considered for replication jobs.",
9638 "optional" : 1,
9639 "type" : "boolean"
9640 },
44660702
DM
9641 "rerror" : {
9642 "description" : "Read error action.",
7aacca6f 9643 "enum" : [
44660702
DM
9644 "ignore",
9645 "report",
9646 "stop"
9647 ],
7aacca6f 9648 "optional" : 1,
44660702 9649 "type" : "string"
56122987 9650 },
44660702
DM
9651 "secs" : {
9652 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9653 "optional" : 1,
44660702 9654 "type" : "integer"
56122987 9655 },
44660702
DM
9656 "serial" : {
9657 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9658 "format" : "urlencoded",
9659 "format_description" : "serial",
9660 "maxLength" : 60,
56122987 9661 "optional" : 1,
44660702 9662 "type" : "string"
56122987 9663 },
27a7acb2
DM
9664 "shared" : {
9665 "default" : 0,
9666 "description" : "Mark this locally-managed volume as available on all nodes",
9667 "optional" : 1,
9668 "type" : "boolean",
9669 "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!"
9670 },
44660702
DM
9671 "size" : {
9672 "description" : "Disk size. This is purely informational and has no effect.",
9673 "format" : "disk-size",
f004f5b9 9674 "format_description" : "DiskSize",
44660702
DM
9675 "optional" : 1,
9676 "type" : "string"
9677 },
9678 "snapshot" : {
27a7acb2 9679 "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 9680 "optional" : 1,
44660702
DM
9681 "type" : "boolean"
9682 },
25203dc1
NC
9683 "ssd" : {
9684 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9685 "optional" : 1,
9686 "type" : "boolean"
9687 },
44660702
DM
9688 "trans" : {
9689 "description" : "Force disk geometry bios translation mode.",
56122987 9690 "enum" : [
7aacca6f
DM
9691 "none",
9692 "lba",
9693 "auto"
56122987 9694 ],
44660702
DM
9695 "optional" : 1,
9696 "type" : "string"
56122987 9697 },
7aacca6f
DM
9698 "volume" : {
9699 "alias" : "file"
56122987 9700 },
44660702
DM
9701 "werror" : {
9702 "description" : "Write error action.",
9703 "enum" : [
9704 "enospc",
9705 "ignore",
9706 "report",
9707 "stop"
9708 ],
7aacca6f 9709 "optional" : 1,
44660702 9710 "type" : "string"
95895385
TL
9711 },
9712 "wwn" : {
9713 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
9714 "format_description" : "wwn",
9715 "optional" : 1,
9716 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
9717 "type" : "string"
44660702
DM
9718 }
9719 },
9720 "optional" : 1,
4d47f125 9721 "type" : "string"
44660702
DM
9722 },
9723 "scsi[n]" : {
9724 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
9725 "format" : {
56122987 9726 "aio" : {
56122987
DM
9727 "description" : "AIO type to use.",
9728 "enum" : [
9729 "native",
9730 "threads"
9731 ],
7aacca6f 9732 "optional" : 1,
44660702 9733 "type" : "string"
56122987 9734 },
44660702
DM
9735 "backup" : {
9736 "description" : "Whether the drive should be included when making backups.",
56122987 9737 "optional" : 1,
44660702 9738 "type" : "boolean"
56122987 9739 },
44660702 9740 "bps" : {
de0983cb 9741 "description" : "Maximum r/w speed in bytes per second.",
44660702 9742 "format_description" : "bps",
56122987 9743 "optional" : 1,
44660702 9744 "type" : "integer"
56122987 9745 },
de0983cb
DM
9746 "bps_max_length" : {
9747 "description" : "Maximum length of I/O bursts in seconds.",
9748 "format_description" : "seconds",
9749 "minimum" : 1,
9750 "optional" : 1,
9751 "type" : "integer"
9752 },
44660702 9753 "bps_rd" : {
de0983cb 9754 "description" : "Maximum read speed in bytes per second.",
44660702 9755 "format_description" : "bps",
56122987 9756 "optional" : 1,
44660702 9757 "type" : "integer"
56122987 9758 },
de0983cb 9759 "bps_rd_length" : {
5d9c884c
DM
9760 "alias" : "bps_rd_max_length"
9761 },
9762 "bps_rd_max_length" : {
de0983cb
DM
9763 "description" : "Maximum length of read I/O bursts in seconds.",
9764 "format_description" : "seconds",
9765 "minimum" : 1,
9766 "optional" : 1,
9767 "type" : "integer"
9768 },
7aacca6f 9769 "bps_wr" : {
de0983cb 9770 "description" : "Maximum write speed in bytes per second.",
7aacca6f 9771 "format_description" : "bps",
56122987 9772 "optional" : 1,
44660702 9773 "type" : "integer"
56122987 9774 },
de0983cb 9775 "bps_wr_length" : {
5d9c884c
DM
9776 "alias" : "bps_wr_max_length"
9777 },
9778 "bps_wr_max_length" : {
de0983cb
DM
9779 "description" : "Maximum length of write I/O bursts in seconds.",
9780 "format_description" : "seconds",
9781 "minimum" : 1,
9782 "optional" : 1,
9783 "type" : "integer"
9784 },
44660702
DM
9785 "cache" : {
9786 "description" : "The drive's cache mode",
7aacca6f 9787 "enum" : [
44660702
DM
9788 "none",
9789 "writethrough",
9790 "writeback",
9791 "unsafe",
9792 "directsync"
7aacca6f 9793 ],
56122987 9794 "optional" : 1,
44660702 9795 "type" : "string"
56122987 9796 },
44660702
DM
9797 "cyls" : {
9798 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 9799 "optional" : 1,
44660702 9800 "type" : "integer"
56122987 9801 },
44660702
DM
9802 "detect_zeroes" : {
9803 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 9804 "optional" : 1,
44660702 9805 "type" : "boolean"
56122987 9806 },
44660702
DM
9807 "discard" : {
9808 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9809 "enum" : [
9810 "ignore",
9811 "on"
9812 ],
7aacca6f 9813 "optional" : 1,
44660702 9814 "type" : "string"
56122987 9815 },
44660702
DM
9816 "file" : {
9817 "default_key" : 1,
9818 "description" : "The drive's backing volume.",
9819 "format" : "pve-volume-id-or-qm-path",
9820 "format_description" : "volume",
9821 "type" : "string"
56122987 9822 },
7aacca6f 9823 "format" : {
44660702 9824 "description" : "The drive's backing file's data format.",
56122987 9825 "enum" : [
7aacca6f
DM
9826 "raw",
9827 "cow",
9828 "qcow",
9829 "qed",
9830 "qcow2",
9831 "vmdk",
9832 "cloop"
9833 ],
44660702
DM
9834 "optional" : 1,
9835 "type" : "string"
56122987 9836 },
44660702
DM
9837 "heads" : {
9838 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9839 "optional" : 1,
7aacca6f 9840 "type" : "integer"
56122987 9841 },
44660702 9842 "iops" : {
de0983cb 9843 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9844 "format_description" : "iops",
44660702
DM
9845 "optional" : 1,
9846 "type" : "integer"
7aacca6f 9847 },
44660702 9848 "iops_max" : {
de0983cb 9849 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9850 "format_description" : "iops",
56122987 9851 "optional" : 1,
44660702 9852 "type" : "integer"
7aacca6f 9853 },
de0983cb
DM
9854 "iops_max_length" : {
9855 "description" : "Maximum length of I/O bursts in seconds.",
9856 "format_description" : "seconds",
9857 "minimum" : 1,
9858 "optional" : 1,
9859 "type" : "integer"
9860 },
44660702 9861 "iops_rd" : {
de0983cb 9862 "description" : "Maximum read I/O in operations per second.",
44660702 9863 "format_description" : "iops",
7aacca6f 9864 "optional" : 1,
44660702 9865 "type" : "integer"
56122987 9866 },
de0983cb 9867 "iops_rd_length" : {
5d9c884c 9868 "alias" : "iops_rd_max_length"
de0983cb 9869 },
44660702 9870 "iops_rd_max" : {
de0983cb 9871 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
9872 "format_description" : "iops",
9873 "optional" : 1,
9874 "type" : "integer"
9875 },
5d9c884c
DM
9876 "iops_rd_max_length" : {
9877 "description" : "Maximum length of read I/O bursts in seconds.",
9878 "format_description" : "seconds",
9879 "minimum" : 1,
9880 "optional" : 1,
9881 "type" : "integer"
9882 },
44660702 9883 "iops_wr" : {
de0983cb 9884 "description" : "Maximum write I/O in operations per second.",
44660702 9885 "format_description" : "iops",
56122987 9886 "optional" : 1,
44660702
DM
9887 "type" : "integer"
9888 },
de0983cb 9889 "iops_wr_length" : {
5d9c884c 9890 "alias" : "iops_wr_max_length"
de0983cb 9891 },
44660702 9892 "iops_wr_max" : {
de0983cb 9893 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
9894 "format_description" : "iops",
9895 "optional" : 1,
9896 "type" : "integer"
56122987 9897 },
5d9c884c
DM
9898 "iops_wr_max_length" : {
9899 "description" : "Maximum length of write I/O bursts in seconds.",
9900 "format_description" : "seconds",
9901 "minimum" : 1,
9902 "optional" : 1,
9903 "type" : "integer"
9904 },
7aacca6f 9905 "iothread" : {
7aacca6f 9906 "description" : "Whether to use iothreads for this drive",
56122987 9907 "optional" : 1,
56122987
DM
9908 "type" : "boolean"
9909 },
44660702 9910 "mbps" : {
de0983cb 9911 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
9912 "format_description" : "mbps",
9913 "optional" : 1,
9914 "type" : "number"
9915 },
9916 "mbps_max" : {
de0983cb 9917 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9918 "format_description" : "mbps",
9919 "optional" : 1,
9920 "type" : "number"
9921 },
9922 "mbps_rd" : {
de0983cb 9923 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
9924 "format_description" : "mbps",
9925 "optional" : 1,
9926 "type" : "number"
9927 },
9928 "mbps_rd_max" : {
de0983cb 9929 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9930 "format_description" : "mbps",
9931 "optional" : 1,
9932 "type" : "number"
9933 },
9934 "mbps_wr" : {
de0983cb 9935 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
9936 "format_description" : "mbps",
9937 "optional" : 1,
9938 "type" : "number"
9939 },
9940 "mbps_wr_max" : {
de0983cb 9941 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9942 "format_description" : "mbps",
9943 "optional" : 1,
9944 "type" : "number"
9945 },
7aacca6f 9946 "media" : {
44660702
DM
9947 "default" : "disk",
9948 "description" : "The drive's media type.",
7aacca6f
DM
9949 "enum" : [
9950 "cdrom",
9951 "disk"
9952 ],
56122987 9953 "optional" : 1,
44660702
DM
9954 "type" : "string"
9955 },
9956 "queues" : {
9957 "description" : "Number of queues.",
44660702
DM
9958 "minimum" : 2,
9959 "optional" : 1,
9960 "type" : "integer"
9961 },
5d9c884c
DM
9962 "replicate" : {
9963 "default" : 1,
9964 "description" : "Whether the drive should considered for replication jobs.",
9965 "optional" : 1,
9966 "type" : "boolean"
9967 },
9968 "rerror" : {
9969 "description" : "Read error action.",
9970 "enum" : [
9971 "ignore",
9972 "report",
9973 "stop"
9974 ],
9975 "optional" : 1,
9976 "type" : "string"
9977 },
52e44c50
FG
9978 "scsiblock" : {
9979 "default" : 0,
9980 "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",
9981 "optional" : 1,
9982 "type" : "boolean"
9983 },
44660702
DM
9984 "secs" : {
9985 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9986 "optional" : 1,
9987 "type" : "integer"
9988 },
9989 "serial" : {
9990 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9991 "format" : "urlencoded",
9992 "format_description" : "serial",
9993 "maxLength" : 60,
9994 "optional" : 1,
9995 "type" : "string"
9996 },
27a7acb2
DM
9997 "shared" : {
9998 "default" : 0,
9999 "description" : "Mark this locally-managed volume as available on all nodes",
10000 "optional" : 1,
10001 "type" : "boolean",
10002 "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!"
10003 },
44660702
DM
10004 "size" : {
10005 "description" : "Disk size. This is purely informational and has no effect.",
10006 "format" : "disk-size",
f004f5b9 10007 "format_description" : "DiskSize",
44660702
DM
10008 "optional" : 1,
10009 "type" : "string"
56122987 10010 },
7aacca6f 10011 "snapshot" : {
27a7acb2 10012 "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 10013 "optional" : 1,
44660702 10014 "type" : "boolean"
7aacca6f 10015 },
25203dc1
NC
10016 "ssd" : {
10017 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
10018 "optional" : 1,
10019 "type" : "boolean"
10020 },
44660702
DM
10021 "trans" : {
10022 "description" : "Force disk geometry bios translation mode.",
10023 "enum" : [
10024 "none",
10025 "lba",
10026 "auto"
10027 ],
44660702
DM
10028 "optional" : 1,
10029 "type" : "string"
10030 },
10031 "volume" : {
10032 "alias" : "file"
10033 },
10034 "werror" : {
10035 "description" : "Write error action.",
10036 "enum" : [
10037 "enospc",
10038 "ignore",
10039 "report",
10040 "stop"
10041 ],
56122987 10042 "optional" : 1,
44660702 10043 "type" : "string"
95895385
TL
10044 },
10045 "wwn" : {
10046 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
10047 "format_description" : "wwn",
10048 "optional" : 1,
10049 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
10050 "type" : "string"
56122987 10051 }
44660702 10052 },
7aacca6f 10053 "optional" : 1,
4d47f125 10054 "type" : "string"
44660702
DM
10055 },
10056 "scsihw" : {
10057 "default" : "lsi",
c2993fe5 10058 "description" : "SCSI controller model",
7aacca6f 10059 "enum" : [
44660702
DM
10060 "lsi",
10061 "lsi53c810",
10062 "virtio-scsi-pci",
10063 "virtio-scsi-single",
10064 "megasas",
10065 "pvscsi"
7aacca6f 10066 ],
44660702
DM
10067 "optional" : 1,
10068 "type" : "string"
56122987 10069 },
27a7acb2
DM
10070 "searchdomain" : {
10071 "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.",
10072 "optional" : 1,
4d47f125 10073 "type" : "string"
27a7acb2 10074 },
44660702 10075 "serial[n]" : {
c2993fe5 10076 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 10077 "optional" : 1,
44660702 10078 "pattern" : "(/dev/.+|socket)",
c2993fe5 10079 "type" : "string",
57b78691 10080 "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 10081 },
44660702
DM
10082 "shares" : {
10083 "default" : 1000,
5da3d723 10084 "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
10085 "maximum" : 50000,
10086 "minimum" : 0,
56122987 10087 "optional" : 1,
4d47f125 10088 "type" : "integer"
56122987 10089 },
44660702
DM
10090 "smbios1" : {
10091 "description" : "Specify SMBIOS type 1 fields.",
10092 "format" : "pve-qm-smbios1",
1e3f8156 10093 "maxLength" : 512,
56122987 10094 "optional" : 1,
4d47f125 10095 "type" : "string"
56122987 10096 },
44660702
DM
10097 "smp" : {
10098 "default" : 1,
10099 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 10100 "minimum" : 1,
7aacca6f 10101 "optional" : 1,
4d47f125 10102 "type" : "integer"
7aacca6f 10103 },
44660702
DM
10104 "sockets" : {
10105 "default" : 1,
10106 "description" : "The number of CPU sockets.",
10107 "minimum" : 1,
7aacca6f 10108 "optional" : 1,
4d47f125 10109 "type" : "integer"
56122987 10110 },
27a7acb2
DM
10111 "sshkeys" : {
10112 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
10113 "format" : "urlencoded",
10114 "optional" : 1,
4d47f125 10115 "type" : "string"
27a7acb2 10116 },
44660702
DM
10117 "startdate" : {
10118 "default" : "now",
10119 "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 10120 "optional" : 1,
44660702 10121 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 10122 "type" : "string",
44660702 10123 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 10124 },
7aacca6f 10125 "startup" : {
7aacca6f 10126 "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 10127 "format" : "pve-startup-order",
56122987 10128 "optional" : 1,
44660702
DM
10129 "type" : "string",
10130 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 10131 },
44660702 10132 "tablet" : {
7aacca6f 10133 "default" : 1,
c2993fe5 10134 "description" : "Enable/disable the USB tablet device.",
7aacca6f 10135 "optional" : 1,
c2993fe5
DM
10136 "type" : "boolean",
10137 "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 10138 },
44660702
DM
10139 "tdf" : {
10140 "default" : 0,
10141 "description" : "Enable/disable time drift fix.",
7aacca6f 10142 "optional" : 1,
4d47f125 10143 "type" : "boolean"
7aacca6f 10144 },
44660702
DM
10145 "template" : {
10146 "default" : 0,
10147 "description" : "Enable/disable Template.",
7aacca6f 10148 "optional" : 1,
4d47f125 10149 "type" : "boolean"
7aacca6f 10150 },
44660702 10151 "unused[n]" : {
c2993fe5 10152 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 10153 "format" : "pve-volume-id",
7aacca6f 10154 "optional" : 1,
4d47f125 10155 "type" : "string"
7aacca6f 10156 },
44660702 10157 "usb[n]" : {
c2993fe5 10158 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
10159 "format" : {
10160 "host" : {
10161 "default_key" : 1,
c2993fe5 10162 "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
10163 "format" : "pve-qm-usb-device",
10164 "format_description" : "HOSTUSBDEVICE|spice",
10165 "type" : "string"
10166 },
10167 "usb3" : {
c2993fe5
DM
10168 "default" : 0,
10169 "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
10170 "optional" : 1,
10171 "type" : "boolean"
10172 }
10173 },
7aacca6f 10174 "optional" : 1,
4d47f125 10175 "type" : "string"
56122987 10176 },
44660702
DM
10177 "vcpus" : {
10178 "default" : 0,
10179 "description" : "Number of hotplugged vcpus.",
10180 "minimum" : 1,
56122987 10181 "optional" : 1,
4d47f125 10182 "type" : "integer"
56122987 10183 },
44660702 10184 "vga" : {
e2d681b3
TL
10185 "description" : "Configure the VGA hardware.",
10186 "format" : {
10187 "memory" : {
10188 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
10189 "maximum" : 512,
10190 "minimum" : 4,
10191 "optional" : 1,
10192 "type" : "integer"
10193 },
10194 "type" : {
10195 "default" : "std",
10196 "default_key" : 1,
10197 "description" : "Select the VGA type.",
10198 "enum" : [
10199 "cirrus",
10200 "qxl",
10201 "qxl2",
10202 "qxl3",
10203 "qxl4",
5f26e15b 10204 "none",
e2d681b3
TL
10205 "serial0",
10206 "serial1",
10207 "serial2",
10208 "serial3",
10209 "std",
10210 "virtio",
10211 "vmware"
10212 ],
10213 "optional" : 1,
10214 "type" : "string"
10215 }
10216 },
56122987 10217 "optional" : 1,
c2993fe5 10218 "type" : "string",
e2d681b3 10219 "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 10220 },
44660702
DM
10221 "virtio[n]" : {
10222 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 10223 "format" : {
44660702
DM
10224 "aio" : {
10225 "description" : "AIO type to use.",
56122987 10226 "enum" : [
44660702
DM
10227 "native",
10228 "threads"
56122987 10229 ],
56122987
DM
10230 "optional" : 1,
10231 "type" : "string"
10232 },
44660702
DM
10233 "backup" : {
10234 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10235 "optional" : 1,
10236 "type" : "boolean"
7aacca6f 10237 },
44660702 10238 "bps" : {
de0983cb 10239 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
10240 "format_description" : "bps",
10241 "optional" : 1,
10242 "type" : "integer"
56122987 10243 },
de0983cb
DM
10244 "bps_max_length" : {
10245 "description" : "Maximum length of I/O bursts in seconds.",
10246 "format_description" : "seconds",
10247 "minimum" : 1,
10248 "optional" : 1,
10249 "type" : "integer"
10250 },
44660702 10251 "bps_rd" : {
de0983cb 10252 "description" : "Maximum read speed in bytes per second.",
44660702 10253 "format_description" : "bps",
56122987 10254 "optional" : 1,
44660702 10255 "type" : "integer"
56122987 10256 },
de0983cb 10257 "bps_rd_length" : {
5d9c884c
DM
10258 "alias" : "bps_rd_max_length"
10259 },
10260 "bps_rd_max_length" : {
de0983cb
DM
10261 "description" : "Maximum length of read I/O bursts in seconds.",
10262 "format_description" : "seconds",
10263 "minimum" : 1,
10264 "optional" : 1,
10265 "type" : "integer"
10266 },
44660702 10267 "bps_wr" : {
de0983cb 10268 "description" : "Maximum write speed in bytes per second.",
44660702 10269 "format_description" : "bps",
56122987 10270 "optional" : 1,
44660702
DM
10271 "type" : "integer"
10272 },
de0983cb 10273 "bps_wr_length" : {
5d9c884c
DM
10274 "alias" : "bps_wr_max_length"
10275 },
10276 "bps_wr_max_length" : {
de0983cb
DM
10277 "description" : "Maximum length of write I/O bursts in seconds.",
10278 "format_description" : "seconds",
10279 "minimum" : 1,
10280 "optional" : 1,
10281 "type" : "integer"
10282 },
44660702
DM
10283 "cache" : {
10284 "description" : "The drive's cache mode",
56122987 10285 "enum" : [
44660702
DM
10286 "none",
10287 "writethrough",
10288 "writeback",
10289 "unsafe",
10290 "directsync"
56122987 10291 ],
56122987 10292 "optional" : 1,
44660702 10293 "type" : "string"
56122987 10294 },
44660702
DM
10295 "cyls" : {
10296 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 10297 "optional" : 1,
44660702 10298 "type" : "integer"
7aacca6f 10299 },
44660702
DM
10300 "detect_zeroes" : {
10301 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10302 "optional" : 1,
10303 "type" : "boolean"
7aacca6f 10304 },
44660702
DM
10305 "discard" : {
10306 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10307 "enum" : [
10308 "ignore",
10309 "on"
10310 ],
56122987 10311 "optional" : 1,
44660702 10312 "type" : "string"
56122987
DM
10313 },
10314 "file" : {
7aacca6f 10315 "default_key" : 1,
44660702 10316 "description" : "The drive's backing volume.",
7aacca6f 10317 "format" : "pve-volume-id-or-qm-path",
44660702
DM
10318 "format_description" : "volume",
10319 "type" : "string"
7aacca6f
DM
10320 },
10321 "format" : {
7aacca6f
DM
10322 "description" : "The drive's backing file's data format.",
10323 "enum" : [
10324 "raw",
10325 "cow",
10326 "qcow",
10327 "qed",
10328 "qcow2",
10329 "vmdk",
10330 "cloop"
56122987
DM
10331 ],
10332 "optional" : 1,
56122987
DM
10333 "type" : "string"
10334 },
44660702
DM
10335 "heads" : {
10336 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10337 "optional" : 1,
44660702 10338 "type" : "integer"
56122987 10339 },
44660702 10340 "iops" : {
de0983cb 10341 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 10342 "format_description" : "iops",
56122987 10343 "optional" : 1,
44660702 10344 "type" : "integer"
56122987 10345 },
44660702 10346 "iops_max" : {
de0983cb 10347 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10348 "format_description" : "iops",
56122987 10349 "optional" : 1,
56122987
DM
10350 "type" : "integer"
10351 },
de0983cb
DM
10352 "iops_max_length" : {
10353 "description" : "Maximum length of I/O bursts in seconds.",
10354 "format_description" : "seconds",
10355 "minimum" : 1,
10356 "optional" : 1,
10357 "type" : "integer"
10358 },
44660702 10359 "iops_rd" : {
de0983cb 10360 "description" : "Maximum read I/O in operations per second.",
44660702 10361 "format_description" : "iops",
56122987 10362 "optional" : 1,
44660702 10363 "type" : "integer"
56122987 10364 },
de0983cb 10365 "iops_rd_length" : {
5d9c884c 10366 "alias" : "iops_rd_max_length"
de0983cb 10367 },
44660702 10368 "iops_rd_max" : {
de0983cb 10369 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10370 "format_description" : "iops",
7aacca6f 10371 "optional" : 1,
44660702 10372 "type" : "integer"
56122987 10373 },
5d9c884c
DM
10374 "iops_rd_max_length" : {
10375 "description" : "Maximum length of read I/O bursts in seconds.",
10376 "format_description" : "seconds",
10377 "minimum" : 1,
10378 "optional" : 1,
10379 "type" : "integer"
10380 },
44660702 10381 "iops_wr" : {
de0983cb 10382 "description" : "Maximum write I/O in operations per second.",
44660702 10383 "format_description" : "iops",
7aacca6f 10384 "optional" : 1,
44660702 10385 "type" : "integer"
56122987 10386 },
de0983cb 10387 "iops_wr_length" : {
5d9c884c 10388 "alias" : "iops_wr_max_length"
de0983cb 10389 },
44660702 10390 "iops_wr_max" : {
de0983cb 10391 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 10392 "format_description" : "iops",
56122987
DM
10393 "optional" : 1,
10394 "type" : "integer"
10395 },
5d9c884c
DM
10396 "iops_wr_max_length" : {
10397 "description" : "Maximum length of write I/O bursts in seconds.",
10398 "format_description" : "seconds",
10399 "minimum" : 1,
10400 "optional" : 1,
10401 "type" : "integer"
10402 },
44660702
DM
10403 "iothread" : {
10404 "description" : "Whether to use iothreads for this drive",
44660702
DM
10405 "optional" : 1,
10406 "type" : "boolean"
10407 },
10408 "mbps" : {
de0983cb 10409 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 10410 "format_description" : "mbps",
44660702
DM
10411 "optional" : 1,
10412 "type" : "number"
10413 },
10414 "mbps_max" : {
de0983cb 10415 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
10416 "format_description" : "mbps",
10417 "optional" : 1,
10418 "type" : "number"
7aacca6f 10419 },
44660702 10420 "mbps_rd" : {
de0983cb 10421 "description" : "Maximum read speed in megabytes per second.",
44660702 10422 "format_description" : "mbps",
56122987 10423 "optional" : 1,
44660702 10424 "type" : "number"
56122987 10425 },
44660702 10426 "mbps_rd_max" : {
de0983cb 10427 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 10428 "format_description" : "mbps",
7aacca6f 10429 "optional" : 1,
44660702 10430 "type" : "number"
56122987 10431 },
44660702 10432 "mbps_wr" : {
de0983cb 10433 "description" : "Maximum write speed in megabytes per second.",
44660702 10434 "format_description" : "mbps",
56122987 10435 "optional" : 1,
44660702 10436 "type" : "number"
56122987 10437 },
44660702 10438 "mbps_wr_max" : {
de0983cb 10439 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 10440 "format_description" : "mbps",
56122987 10441 "optional" : 1,
44660702 10442 "type" : "number"
56122987
DM
10443 },
10444 "media" : {
7aacca6f 10445 "default" : "disk",
44660702 10446 "description" : "The drive's media type.",
56122987
DM
10447 "enum" : [
10448 "cdrom",
10449 "disk"
10450 ],
44660702
DM
10451 "optional" : 1,
10452 "type" : "string"
56122987 10453 },
5d9c884c
DM
10454 "replicate" : {
10455 "default" : 1,
10456 "description" : "Whether the drive should considered for replication jobs.",
10457 "optional" : 1,
10458 "type" : "boolean"
10459 },
7aacca6f 10460 "rerror" : {
44660702 10461 "description" : "Read error action.",
56122987 10462 "enum" : [
7aacca6f
DM
10463 "ignore",
10464 "report",
10465 "stop"
56122987 10466 ],
56122987 10467 "optional" : 1,
44660702 10468 "type" : "string"
56122987 10469 },
44660702
DM
10470 "secs" : {
10471 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10472 "optional" : 1,
10473 "type" : "integer"
10474 },
10475 "serial" : {
10476 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10477 "format" : "urlencoded",
10478 "format_description" : "serial",
10479 "maxLength" : 60,
56122987 10480 "optional" : 1,
7aacca6f 10481 "type" : "string"
56122987 10482 },
27a7acb2
DM
10483 "shared" : {
10484 "default" : 0,
10485 "description" : "Mark this locally-managed volume as available on all nodes",
10486 "optional" : 1,
10487 "type" : "boolean",
10488 "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!"
10489 },
44660702
DM
10490 "size" : {
10491 "description" : "Disk size. This is purely informational and has no effect.",
10492 "format" : "disk-size",
f004f5b9 10493 "format_description" : "DiskSize",
56122987 10494 "optional" : 1,
44660702 10495 "type" : "string"
56122987 10496 },
44660702 10497 "snapshot" : {
27a7acb2 10498 "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 10499 "optional" : 1,
44660702 10500 "type" : "boolean"
56122987 10501 },
44660702
DM
10502 "trans" : {
10503 "description" : "Force disk geometry bios translation mode.",
10504 "enum" : [
10505 "none",
10506 "lba",
10507 "auto"
10508 ],
44660702
DM
10509 "optional" : 1,
10510 "type" : "string"
10511 },
10512 "volume" : {
10513 "alias" : "file"
10514 },
10515 "werror" : {
10516 "description" : "Write error action.",
10517 "enum" : [
10518 "enospc",
10519 "ignore",
10520 "report",
10521 "stop"
10522 ],
56122987 10523 "optional" : 1,
44660702 10524 "type" : "string"
56122987 10525 }
44660702 10526 },
56122987 10527 "optional" : 1,
4d47f125 10528 "type" : "string"
56122987 10529 },
4d47f125
TL
10530 "vmgenid" : {
10531 "default" : "1 (autogenerated)",
10532 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
10533 "format_description" : "UUID",
10534 "optional" : 1,
10535 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
10536 "type" : "string",
10537 "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 10538 },
2489d6df
WB
10539 "vmstatestorage" : {
10540 "description" : "Default storage for VM state volumes/files.",
10541 "format" : "pve-storage-id",
10542 "optional" : 1,
4d47f125 10543 "type" : "string"
2489d6df 10544 },
44660702 10545 "watchdog" : {
c2993fe5 10546 "description" : "Create a virtual hardware watchdog device.",
44660702 10547 "format" : "pve-qm-watchdog",
56122987 10548 "optional" : 1,
c2993fe5
DM
10549 "type" : "string",
10550 "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 10551 }
4d47f125
TL
10552 },
10553 "type" : "object"
44660702 10554 }
56122987 10555 },
4d47f125
TL
10556 "POST" : {
10557 "description" : "Set virtual machine options (asynchrounous API).",
10558 "method" : "POST",
10559 "name" : "update_vm_async",
56122987 10560 "parameters" : {
7aacca6f 10561 "additionalProperties" : 0,
56122987 10562 "properties" : {
44660702
DM
10563 "acpi" : {
10564 "default" : 1,
10565 "description" : "Enable/disable ACPI.",
7aacca6f 10566 "optional" : 1,
013dc89f
DM
10567 "type" : "boolean",
10568 "typetext" : "<boolean>"
7aacca6f 10569 },
44660702 10570 "agent" : {
4d47f125
TL
10571 "description" : "Enable/disable Qemu GuestAgent and its properties.",
10572 "format" : {
10573 "enabled" : {
10574 "default" : 0,
10575 "default_key" : 1,
10576 "description" : "Enable/disable Qemu GuestAgent.",
10577 "type" : "boolean"
10578 },
10579 "fstrim_cloned_disks" : {
10580 "default" : 0,
10581 "description" : "Run fstrim after cloning/moving a disk.",
10582 "optional" : 1,
10583 "type" : "boolean"
10584 }
10585 },
7aacca6f 10586 "optional" : 1,
4d47f125
TL
10587 "type" : "string",
10588 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 10589 },
e2d681b3
TL
10590 "arch" : {
10591 "description" : "Virtual processor architecture. Defaults to the host.",
10592 "enum" : [
10593 "x86_64",
10594 "aarch64"
10595 ],
10596 "optional" : 1,
10597 "type" : "string"
10598 },
44660702 10599 "args" : {
c2993fe5 10600 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 10601 "optional" : 1,
c2993fe5 10602 "type" : "string",
013dc89f 10603 "typetext" : "<string>",
c2993fe5 10604 "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 10605 },
44660702
DM
10606 "autostart" : {
10607 "default" : 0,
10608 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 10609 "optional" : 1,
013dc89f
DM
10610 "type" : "boolean",
10611 "typetext" : "<boolean>"
7aacca6f 10612 },
4d47f125
TL
10613 "background_delay" : {
10614 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
10615 "maximum" : 30,
10616 "minimum" : 1,
10617 "optional" : 1,
10618 "type" : "integer",
10619 "typetext" : "<integer> (1 - 30)"
10620 },
44660702
DM
10621 "balloon" : {
10622 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
10623 "minimum" : 0,
10624 "optional" : 1,
4bd7df8b 10625 "type" : "integer",
013dc89f 10626 "typetext" : "<integer> (0 - N)"
44660702
DM
10627 },
10628 "bios" : {
10629 "default" : "seabios",
10630 "description" : "Select BIOS implementation.",
7aacca6f 10631 "enum" : [
44660702
DM
10632 "seabios",
10633 "ovmf"
7aacca6f 10634 ],
56122987 10635 "optional" : 1,
7aacca6f
DM
10636 "type" : "string"
10637 },
44660702
DM
10638 "boot" : {
10639 "default" : "cdn",
10640 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 10641 "optional" : 1,
44660702
DM
10642 "pattern" : "[acdn]{1,4}",
10643 "type" : "string"
56122987 10644 },
44660702
DM
10645 "bootdisk" : {
10646 "description" : "Enable booting from specified disk.",
10647 "format" : "pve-qm-bootdisk",
10648 "optional" : 1,
10649 "pattern" : "(ide|sata|scsi|virtio)\\d+",
10650 "type" : "string"
10651 },
10652 "cdrom" : {
10653 "description" : "This is an alias for option -ide2",
de0983cb 10654 "format" : "pve-qm-ide",
56122987 10655 "optional" : 1,
7aacca6f 10656 "type" : "string",
013dc89f 10657 "typetext" : "<volume>"
44660702 10658 },
95895385
TL
10659 "cicustom" : {
10660 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
10661 "format" : "pve-qm-cicustom",
10662 "optional" : 1,
10663 "type" : "string",
10664 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
10665 },
27a7acb2
DM
10666 "cipassword" : {
10667 "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.",
10668 "optional" : 1,
10669 "type" : "string",
10670 "typetext" : "<string>"
10671 },
10672 "citype" : {
10673 "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.",
10674 "enum" : [
10675 "configdrive2",
10676 "nocloud"
10677 ],
10678 "optional" : 1,
10679 "type" : "string"
10680 },
10681 "ciuser" : {
10682 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
10683 "optional" : 1,
10684 "type" : "string",
10685 "typetext" : "<string>"
10686 },
44660702
DM
10687 "cores" : {
10688 "default" : 1,
10689 "description" : "The number of cores per socket.",
10690 "minimum" : 1,
10691 "optional" : 1,
4bd7df8b 10692 "type" : "integer",
013dc89f 10693 "typetext" : "<integer> (1 - N)"
44660702
DM
10694 },
10695 "cpu" : {
10696 "description" : "Emulated CPU type.",
10697 "format" : {
10698 "cputype" : {
10699 "default" : "kvm64",
10700 "default_key" : 1,
10701 "description" : "Emulated CPU type.",
10702 "enum" : [
10703 "486",
10704 "athlon",
f004f5b9 10705 "Broadwell",
35a75dd3 10706 "Broadwell-IBRS",
f004f5b9 10707 "Broadwell-noTSX",
35a75dd3 10708 "Broadwell-noTSX-IBRS",
f004f5b9 10709 "Conroe",
44660702 10710 "core2duo",
f004f5b9 10711 "coreduo",
27a7acb2
DM
10712 "EPYC",
10713 "EPYC-IBPB",
f004f5b9 10714 "Haswell",
35a75dd3 10715 "Haswell-IBRS",
f004f5b9 10716 "Haswell-noTSX",
35a75dd3 10717 "Haswell-noTSX-IBRS",
f004f5b9
DM
10718 "host",
10719 "IvyBridge",
35a75dd3 10720 "IvyBridge-IBRS",
44660702
DM
10721 "kvm32",
10722 "kvm64",
35a75dd3 10723 "max",
44660702 10724 "Nehalem",
35a75dd3 10725 "Nehalem-IBRS",
44660702
DM
10726 "Opteron_G1",
10727 "Opteron_G2",
10728 "Opteron_G3",
10729 "Opteron_G4",
10730 "Opteron_G5",
f004f5b9
DM
10731 "Penryn",
10732 "pentium",
10733 "pentium2",
10734 "pentium3",
10735 "phenom",
10736 "qemu32",
10737 "qemu64",
10738 "SandyBridge",
35a75dd3 10739 "SandyBridge-IBRS",
5d9c884c 10740 "Skylake-Client",
35a75dd3
DM
10741 "Skylake-Client-IBRS",
10742 "Skylake-Server",
10743 "Skylake-Server-IBRS",
10744 "Westmere",
10745 "Westmere-IBRS"
44660702 10746 ],
44660702
DM
10747 "type" : "string"
10748 },
35a75dd3 10749 "flags" : {
1e3f8156 10750 "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', 'md-clear'.",
35a75dd3
DM
10751 "format_description" : "+FLAG[;-FLAG...]",
10752 "optional" : 1,
1e3f8156 10753 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
35a75dd3
DM
10754 "type" : "string"
10755 },
44660702
DM
10756 "hidden" : {
10757 "default" : 0,
10758 "description" : "Do not identify as a KVM virtual machine.",
10759 "optional" : 1,
10760 "type" : "boolean"
5f26e15b
TL
10761 },
10762 "hv-vendor-id" : {
10763 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
10764 "format_description" : "vendor-id",
10765 "optional" : 1,
10766 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
10767 "type" : "string"
44660702
DM
10768 }
10769 },
10770 "optional" : 1,
4bd7df8b 10771 "type" : "string",
5f26e15b 10772 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
44660702
DM
10773 },
10774 "cpulimit" : {
10775 "default" : 0,
c2993fe5 10776 "description" : "Limit of CPU usage.",
44660702
DM
10777 "maximum" : 128,
10778 "minimum" : 0,
10779 "optional" : 1,
c2993fe5 10780 "type" : "number",
013dc89f 10781 "typetext" : "<number> (0 - 128)",
c2993fe5 10782 "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
10783 },
10784 "cpuunits" : {
de0983cb 10785 "default" : 1024,
c2993fe5 10786 "description" : "CPU weight for a VM.",
2489d6df
WB
10787 "maximum" : 262144,
10788 "minimum" : 2,
44660702 10789 "optional" : 1,
c2993fe5 10790 "type" : "integer",
2489d6df
WB
10791 "typetext" : "<integer> (2 - 262144)",
10792 "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
10793 },
10794 "delete" : {
10795 "description" : "A list of settings you want to delete.",
10796 "format" : "pve-configid-list",
10797 "optional" : 1,
013dc89f
DM
10798 "type" : "string",
10799 "typetext" : "<string>"
44660702
DM
10800 },
10801 "description" : {
10802 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
10803 "optional" : 1,
013dc89f
DM
10804 "type" : "string",
10805 "typetext" : "<string>"
44660702
DM
10806 },
10807 "digest" : {
10808 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10809 "maxLength" : 40,
10810 "optional" : 1,
013dc89f
DM
10811 "type" : "string",
10812 "typetext" : "<string>"
44660702 10813 },
4d47f125
TL
10814 "efidisk0" : {
10815 "description" : "Configure a Disk for storing EFI vars",
10816 "format" : {
10817 "file" : {
10818 "default_key" : 1,
10819 "description" : "The drive's backing volume.",
10820 "format" : "pve-volume-id-or-qm-path",
10821 "format_description" : "volume",
10822 "type" : "string"
10823 },
10824 "format" : {
10825 "description" : "The drive's backing file's data format.",
10826 "enum" : [
10827 "raw",
10828 "cow",
10829 "qcow",
10830 "qed",
10831 "qcow2",
10832 "vmdk",
10833 "cloop"
10834 ],
10835 "optional" : 1,
10836 "type" : "string"
10837 },
10838 "size" : {
10839 "description" : "Disk size. This is purely informational and has no effect.",
10840 "format" : "disk-size",
10841 "format_description" : "DiskSize",
10842 "optional" : 1,
10843 "type" : "string"
10844 },
10845 "volume" : {
10846 "alias" : "file"
10847 }
10848 },
10849 "optional" : 1,
10850 "type" : "string",
10851 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
10852 },
44660702
DM
10853 "force" : {
10854 "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.",
10855 "optional" : 1,
10856 "requires" : "delete",
013dc89f
DM
10857 "type" : "boolean",
10858 "typetext" : "<boolean>"
44660702
DM
10859 },
10860 "freeze" : {
10861 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
10862 "optional" : 1,
013dc89f
DM
10863 "type" : "boolean",
10864 "typetext" : "<boolean>"
44660702 10865 },
5f26e15b
TL
10866 "hookscript" : {
10867 "description" : "Script that will be executed during various steps in the vms lifetime.",
10868 "format" : "pve-volume-id",
10869 "optional" : 1,
10870 "type" : "string",
10871 "typetext" : "<string>"
10872 },
44660702 10873 "hostpci[n]" : {
c2993fe5 10874 "description" : "Map host PCI devices into guest.",
44660702
DM
10875 "format" : "pve-qm-hostpci",
10876 "optional" : 1,
57b78691 10877 "type" : "string",
e2d681b3 10878 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 10879 "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 10880 },
7aacca6f 10881 "hotplug" : {
7aacca6f 10882 "default" : "network,disk,usb",
44660702
DM
10883 "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'.",
10884 "format" : "pve-hotplug-features",
56122987 10885 "optional" : 1,
013dc89f
DM
10886 "type" : "string",
10887 "typetext" : "<string>"
56122987 10888 },
4bd7df8b
DM
10889 "hugepages" : {
10890 "description" : "Enable/disable hugepages memory.",
10891 "enum" : [
10892 "any",
10893 "2",
10894 "1024"
10895 ],
10896 "optional" : 1,
10897 "type" : "string"
10898 },
56122987 10899 "ide[n]" : {
7aacca6f 10900 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 10901 "format" : {
44660702
DM
10902 "aio" : {
10903 "description" : "AIO type to use.",
10904 "enum" : [
10905 "native",
10906 "threads"
10907 ],
56122987 10908 "optional" : 1,
44660702 10909 "type" : "string"
56122987 10910 },
44660702
DM
10911 "backup" : {
10912 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10913 "optional" : 1,
10914 "type" : "boolean"
10915 },
10916 "bps" : {
de0983cb 10917 "description" : "Maximum r/w speed in bytes per second.",
44660702 10918 "format_description" : "bps",
56122987 10919 "optional" : 1,
44660702 10920 "type" : "integer"
56122987 10921 },
de0983cb
DM
10922 "bps_max_length" : {
10923 "description" : "Maximum length of I/O bursts in seconds.",
10924 "format_description" : "seconds",
10925 "minimum" : 1,
10926 "optional" : 1,
10927 "type" : "integer"
10928 },
44660702 10929 "bps_rd" : {
de0983cb 10930 "description" : "Maximum read speed in bytes per second.",
44660702 10931 "format_description" : "bps",
56122987 10932 "optional" : 1,
44660702 10933 "type" : "integer"
56122987 10934 },
de0983cb 10935 "bps_rd_length" : {
5d9c884c
DM
10936 "alias" : "bps_rd_max_length"
10937 },
10938 "bps_rd_max_length" : {
de0983cb
DM
10939 "description" : "Maximum length of read I/O bursts in seconds.",
10940 "format_description" : "seconds",
10941 "minimum" : 1,
10942 "optional" : 1,
10943 "type" : "integer"
10944 },
7aacca6f 10945 "bps_wr" : {
de0983cb 10946 "description" : "Maximum write speed in bytes per second.",
44660702
DM
10947 "format_description" : "bps",
10948 "optional" : 1,
10949 "type" : "integer"
7aacca6f 10950 },
de0983cb 10951 "bps_wr_length" : {
5d9c884c
DM
10952 "alias" : "bps_wr_max_length"
10953 },
10954 "bps_wr_max_length" : {
de0983cb
DM
10955 "description" : "Maximum length of write I/O bursts in seconds.",
10956 "format_description" : "seconds",
10957 "minimum" : 1,
10958 "optional" : 1,
10959 "type" : "integer"
10960 },
44660702
DM
10961 "cache" : {
10962 "description" : "The drive's cache mode",
10963 "enum" : [
10964 "none",
10965 "writethrough",
10966 "writeback",
10967 "unsafe",
10968 "directsync"
10969 ],
56122987 10970 "optional" : 1,
44660702
DM
10971 "type" : "string"
10972 },
10973 "cyls" : {
10974 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10975 "optional" : 1,
10976 "type" : "integer"
10977 },
10978 "detect_zeroes" : {
10979 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10980 "optional" : 1,
10981 "type" : "boolean"
56122987 10982 },
7aacca6f 10983 "discard" : {
7aacca6f 10984 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 10985 "enum" : [
7aacca6f
DM
10986 "ignore",
10987 "on"
56122987
DM
10988 ],
10989 "optional" : 1,
44660702 10990 "type" : "string"
7aacca6f 10991 },
44660702
DM
10992 "file" : {
10993 "default_key" : 1,
10994 "description" : "The drive's backing volume.",
10995 "format" : "pve-volume-id-or-qm-path",
10996 "format_description" : "volume",
10997 "type" : "string"
7aacca6f
DM
10998 },
10999 "format" : {
44660702 11000 "description" : "The drive's backing file's data format.",
7aacca6f
DM
11001 "enum" : [
11002 "raw",
11003 "cow",
11004 "qcow",
11005 "qed",
11006 "qcow2",
11007 "vmdk",
11008 "cloop"
11009 ],
7aacca6f 11010 "optional" : 1,
44660702 11011 "type" : "string"
56122987 11012 },
7aacca6f 11013 "heads" : {
44660702 11014 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11015 "optional" : 1,
44660702 11016 "type" : "integer"
7aacca6f 11017 },
44660702 11018 "iops" : {
de0983cb 11019 "description" : "Maximum r/w I/O in operations per second.",
44660702 11020 "format_description" : "iops",
7aacca6f 11021 "optional" : 1,
44660702 11022 "type" : "integer"
56122987 11023 },
44660702 11024 "iops_max" : {
de0983cb 11025 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11026 "format_description" : "iops",
56122987 11027 "optional" : 1,
44660702 11028 "type" : "integer"
56122987 11029 },
de0983cb
DM
11030 "iops_max_length" : {
11031 "description" : "Maximum length of I/O bursts in seconds.",
11032 "format_description" : "seconds",
11033 "minimum" : 1,
11034 "optional" : 1,
11035 "type" : "integer"
11036 },
44660702 11037 "iops_rd" : {
de0983cb 11038 "description" : "Maximum read I/O in operations per second.",
44660702 11039 "format_description" : "iops",
56122987 11040 "optional" : 1,
44660702 11041 "type" : "integer"
7aacca6f 11042 },
de0983cb 11043 "iops_rd_length" : {
5d9c884c 11044 "alias" : "iops_rd_max_length"
de0983cb 11045 },
44660702 11046 "iops_rd_max" : {
de0983cb 11047 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11048 "format_description" : "iops",
7aacca6f 11049 "optional" : 1,
44660702 11050 "type" : "integer"
7aacca6f 11051 },
5d9c884c
DM
11052 "iops_rd_max_length" : {
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 "iops_wr" : {
de0983cb 11060 "description" : "Maximum write I/O in operations per second.",
44660702 11061 "format_description" : "iops",
7aacca6f 11062 "optional" : 1,
44660702 11063 "type" : "integer"
56122987 11064 },
de0983cb 11065 "iops_wr_length" : {
5d9c884c 11066 "alias" : "iops_wr_max_length"
de0983cb 11067 },
44660702 11068 "iops_wr_max" : {
de0983cb 11069 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11070 "format_description" : "iops",
7aacca6f 11071 "optional" : 1,
44660702 11072 "type" : "integer"
7aacca6f 11073 },
5d9c884c
DM
11074 "iops_wr_max_length" : {
11075 "description" : "Maximum length of write I/O bursts in seconds.",
11076 "format_description" : "seconds",
11077 "minimum" : 1,
11078 "optional" : 1,
11079 "type" : "integer"
11080 },
7aacca6f 11081 "mbps" : {
de0983cb 11082 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 11083 "format_description" : "mbps",
7aacca6f 11084 "optional" : 1,
44660702 11085 "type" : "number"
7aacca6f 11086 },
44660702 11087 "mbps_max" : {
de0983cb 11088 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11089 "format_description" : "mbps",
7aacca6f 11090 "optional" : 1,
44660702 11091 "type" : "number"
7aacca6f 11092 },
44660702 11093 "mbps_rd" : {
de0983cb 11094 "description" : "Maximum read speed in megabytes per second.",
44660702 11095 "format_description" : "mbps",
7aacca6f 11096 "optional" : 1,
44660702 11097 "type" : "number"
7aacca6f 11098 },
44660702 11099 "mbps_rd_max" : {
de0983cb 11100 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11101 "format_description" : "mbps",
11102 "optional" : 1,
11103 "type" : "number"
7aacca6f 11104 },
44660702 11105 "mbps_wr" : {
de0983cb 11106 "description" : "Maximum write speed in megabytes per second.",
44660702 11107 "format_description" : "mbps",
7aacca6f 11108 "optional" : 1,
44660702
DM
11109 "type" : "number"
11110 },
11111 "mbps_wr_max" : {
de0983cb 11112 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11113 "format_description" : "mbps",
11114 "optional" : 1,
11115 "type" : "number"
11116 },
11117 "media" : {
11118 "default" : "disk",
11119 "description" : "The drive's media type.",
56122987 11120 "enum" : [
44660702
DM
11121 "cdrom",
11122 "disk"
56122987 11123 ],
44660702
DM
11124 "optional" : 1,
11125 "type" : "string"
56122987 11126 },
7aacca6f 11127 "model" : {
44660702 11128 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 11129 "format" : "urlencoded",
7aacca6f 11130 "format_description" : "model",
44660702 11131 "maxLength" : 120,
56122987 11132 "optional" : 1,
44660702 11133 "type" : "string"
56122987 11134 },
5d9c884c
DM
11135 "replicate" : {
11136 "default" : 1,
11137 "description" : "Whether the drive should considered for replication jobs.",
11138 "optional" : 1,
11139 "type" : "boolean"
11140 },
44660702
DM
11141 "rerror" : {
11142 "description" : "Read error action.",
11143 "enum" : [
11144 "ignore",
11145 "report",
11146 "stop"
11147 ],
56122987 11148 "optional" : 1,
44660702 11149 "type" : "string"
56122987 11150 },
44660702
DM
11151 "secs" : {
11152 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
11153 "optional" : 1,
11154 "type" : "integer"
56122987 11155 },
44660702
DM
11156 "serial" : {
11157 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11158 "format" : "urlencoded",
11159 "format_description" : "serial",
11160 "maxLength" : 60,
56122987 11161 "optional" : 1,
44660702 11162 "type" : "string"
56122987 11163 },
27a7acb2
DM
11164 "shared" : {
11165 "default" : 0,
11166 "description" : "Mark this locally-managed volume as available on all nodes",
11167 "optional" : 1,
11168 "type" : "boolean",
11169 "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!"
11170 },
44660702
DM
11171 "size" : {
11172 "description" : "Disk size. This is purely informational and has no effect.",
11173 "format" : "disk-size",
f004f5b9 11174 "format_description" : "DiskSize",
56122987 11175 "optional" : 1,
44660702 11176 "type" : "string"
56122987 11177 },
44660702 11178 "snapshot" : {
27a7acb2 11179 "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 11180 "optional" : 1,
44660702 11181 "type" : "boolean"
56122987 11182 },
25203dc1
NC
11183 "ssd" : {
11184 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11185 "optional" : 1,
11186 "type" : "boolean"
11187 },
44660702
DM
11188 "trans" : {
11189 "description" : "Force disk geometry bios translation mode.",
11190 "enum" : [
11191 "none",
11192 "lba",
11193 "auto"
11194 ],
56122987 11195 "optional" : 1,
44660702
DM
11196 "type" : "string"
11197 },
11198 "volume" : {
11199 "alias" : "file"
56122987 11200 },
7aacca6f 11201 "werror" : {
44660702 11202 "description" : "Write error action.",
7aacca6f
DM
11203 "enum" : [
11204 "enospc",
11205 "ignore",
11206 "report",
11207 "stop"
11208 ],
56122987 11209 "optional" : 1,
44660702 11210 "type" : "string"
95895385
TL
11211 },
11212 "wwn" : {
11213 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
11214 "format_description" : "wwn",
11215 "optional" : 1,
11216 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
11217 "type" : "string"
7aacca6f 11218 }
44660702
DM
11219 },
11220 "optional" : 1,
4bd7df8b 11221 "type" : "string",
95895385 11222 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
11223 },
11224 "ipconfig[n]" : {
11225 "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",
11226 "format" : "pve-qm-ipconfig",
11227 "optional" : 1,
11228 "type" : "string",
11229 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 11230 },
95895385
TL
11231 "ivshmem" : {
11232 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
11233 "format" : {
11234 "name" : {
11235 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
11236 "format_description" : "string",
11237 "optional" : 1,
11238 "pattern" : "[a-zA-Z0-9\\-]+",
11239 "type" : "string"
11240 },
11241 "size" : {
11242 "description" : "The size of the file in MB.",
11243 "minimum" : 1,
11244 "type" : "integer"
11245 }
11246 },
11247 "optional" : 1,
11248 "type" : "string",
11249 "typetext" : "size=<integer> [,name=<string>]"
11250 },
44660702 11251 "keyboard" : {
35a75dd3 11252 "default" : null,
5da3d723 11253 "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
11254 "enum" : [
11255 "de",
11256 "de-ch",
11257 "da",
11258 "en-gb",
11259 "en-us",
11260 "es",
11261 "fi",
11262 "fr",
11263 "fr-be",
11264 "fr-ca",
11265 "fr-ch",
11266 "hu",
11267 "is",
11268 "it",
11269 "ja",
11270 "lt",
11271 "mk",
11272 "nl",
11273 "no",
11274 "pl",
11275 "pt",
11276 "pt-br",
11277 "sv",
11278 "sl",
11279 "tr"
11280 ],
7aacca6f 11281 "optional" : 1,
44660702 11282 "type" : "string"
7aacca6f 11283 },
44660702 11284 "kvm" : {
7aacca6f 11285 "default" : 1,
44660702 11286 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 11287 "optional" : 1,
013dc89f
DM
11288 "type" : "boolean",
11289 "typetext" : "<boolean>"
7aacca6f 11290 },
44660702
DM
11291 "localtime" : {
11292 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 11293 "optional" : 1,
013dc89f
DM
11294 "type" : "boolean",
11295 "typetext" : "<boolean>"
7aacca6f 11296 },
44660702
DM
11297 "lock" : {
11298 "description" : "Lock/unlock the VM.",
11299 "enum" : [
44660702 11300 "backup",
5f26e15b
TL
11301 "clone",
11302 "create",
11303 "migrate",
11304 "rollback",
44660702 11305 "snapshot",
95895385
TL
11306 "snapshot-delete",
11307 "suspending",
11308 "suspended"
44660702 11309 ],
7aacca6f 11310 "optional" : 1,
44660702 11311 "type" : "string"
7aacca6f 11312 },
44660702 11313 "machine" : {
4d47f125 11314 "description" : "Specifies the Qemu machine type.",
44660702 11315 "maxLength" : 40,
7aacca6f 11316 "optional" : 1,
e2d681b3 11317 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702 11318 "type" : "string"
7aacca6f 11319 },
44660702
DM
11320 "memory" : {
11321 "default" : 512,
11322 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
11323 "minimum" : 16,
7aacca6f 11324 "optional" : 1,
4bd7df8b 11325 "type" : "integer",
013dc89f 11326 "typetext" : "<integer> (16 - N)"
7aacca6f 11327 },
44660702
DM
11328 "migrate_downtime" : {
11329 "default" : 0.1,
11330 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
11331 "minimum" : 0,
7aacca6f 11332 "optional" : 1,
4bd7df8b 11333 "type" : "number",
013dc89f 11334 "typetext" : "<number> (0 - N)"
7aacca6f 11335 },
44660702 11336 "migrate_speed" : {
7aacca6f 11337 "default" : 0,
44660702
DM
11338 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
11339 "minimum" : 0,
11340 "optional" : 1,
4bd7df8b 11341 "type" : "integer",
013dc89f 11342 "typetext" : "<integer> (0 - N)"
7aacca6f 11343 },
44660702
DM
11344 "name" : {
11345 "description" : "Set a name for the VM. Only used on the configuration web interface.",
11346 "format" : "dns-name",
7aacca6f 11347 "optional" : 1,
013dc89f
DM
11348 "type" : "string",
11349 "typetext" : "<string>"
7aacca6f 11350 },
27a7acb2
DM
11351 "nameserver" : {
11352 "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.",
11353 "format" : "address-list",
11354 "optional" : 1,
11355 "type" : "string",
11356 "typetext" : "<string>"
11357 },
44660702 11358 "net[n]" : {
c2993fe5 11359 "description" : "Specify network devices.",
f004f5b9
DM
11360 "format" : {
11361 "bridge" : {
c2993fe5 11362 "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
11363 "format_description" : "bridge",
11364 "optional" : 1,
11365 "type" : "string"
11366 },
11367 "e1000" : {
11368 "alias" : "macaddr",
11369 "keyAlias" : "model"
11370 },
11371 "e1000-82540em" : {
11372 "alias" : "macaddr",
11373 "keyAlias" : "model"
11374 },
11375 "e1000-82544gc" : {
11376 "alias" : "macaddr",
11377 "keyAlias" : "model"
11378 },
11379 "e1000-82545em" : {
11380 "alias" : "macaddr",
11381 "keyAlias" : "model"
11382 },
11383 "firewall" : {
11384 "description" : "Whether this interface should be protected by the firewall.",
11385 "optional" : 1,
11386 "type" : "boolean"
11387 },
11388 "i82551" : {
11389 "alias" : "macaddr",
11390 "keyAlias" : "model"
11391 },
11392 "i82557b" : {
11393 "alias" : "macaddr",
11394 "keyAlias" : "model"
11395 },
11396 "i82559er" : {
11397 "alias" : "macaddr",
11398 "keyAlias" : "model"
11399 },
11400 "link_down" : {
c2993fe5 11401 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
11402 "optional" : 1,
11403 "type" : "boolean"
11404 },
11405 "macaddr" : {
c2993fe5 11406 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 11407 "format" : "mac-addr",
f004f5b9 11408 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 11409 "optional" : 1,
95895385
TL
11410 "type" : "string",
11411 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
11412 },
11413 "model" : {
11414 "default_key" : 1,
c2993fe5 11415 "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
11416 "enum" : [
11417 "rtl8139",
11418 "ne2k_pci",
11419 "e1000",
11420 "pcnet",
11421 "virtio",
11422 "ne2k_isa",
11423 "i82551",
11424 "i82557b",
11425 "i82559er",
11426 "vmxnet3",
11427 "e1000-82540em",
11428 "e1000-82544gc",
11429 "e1000-82545em"
11430 ],
f004f5b9
DM
11431 "type" : "string"
11432 },
11433 "ne2k_isa" : {
11434 "alias" : "macaddr",
11435 "keyAlias" : "model"
11436 },
11437 "ne2k_pci" : {
11438 "alias" : "macaddr",
11439 "keyAlias" : "model"
11440 },
11441 "pcnet" : {
11442 "alias" : "macaddr",
11443 "keyAlias" : "model"
11444 },
11445 "queues" : {
11446 "description" : "Number of packet queues to be used on the device.",
11447 "maximum" : 16,
11448 "minimum" : 0,
11449 "optional" : 1,
11450 "type" : "integer"
11451 },
11452 "rate" : {
c2993fe5 11453 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
11454 "minimum" : 0,
11455 "optional" : 1,
11456 "type" : "number"
11457 },
11458 "rtl8139" : {
11459 "alias" : "macaddr",
11460 "keyAlias" : "model"
11461 },
11462 "tag" : {
11463 "description" : "VLAN tag to apply to packets on this interface.",
11464 "maximum" : 4094,
c2993fe5 11465 "minimum" : 1,
f004f5b9
DM
11466 "optional" : 1,
11467 "type" : "integer"
11468 },
11469 "trunks" : {
11470 "description" : "VLAN trunks to pass through this interface.",
11471 "format_description" : "vlanid[;vlanid...]",
11472 "optional" : 1,
11473 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11474 "type" : "string"
11475 },
11476 "virtio" : {
11477 "alias" : "macaddr",
11478 "keyAlias" : "model"
11479 },
11480 "vmxnet3" : {
11481 "alias" : "macaddr",
11482 "keyAlias" : "model"
11483 }
11484 },
7aacca6f 11485 "optional" : 1,
4bd7df8b 11486 "type" : "string",
013dc89f 11487 "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 11488 },
44660702
DM
11489 "node" : {
11490 "description" : "The cluster node name.",
11491 "format" : "pve-node",
013dc89f
DM
11492 "type" : "string",
11493 "typetext" : "<string>"
44660702
DM
11494 },
11495 "numa" : {
11496 "default" : 0,
11497 "description" : "Enable/disable NUMA.",
7aacca6f 11498 "optional" : 1,
013dc89f
DM
11499 "type" : "boolean",
11500 "typetext" : "<boolean>"
7aacca6f 11501 },
44660702 11502 "numa[n]" : {
c2993fe5 11503 "description" : "NUMA topology.",
44660702
DM
11504 "format" : {
11505 "cpus" : {
c2993fe5 11506 "description" : "CPUs accessing this NUMA node.",
44660702
DM
11507 "format_description" : "id[-id];...",
11508 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11509 "type" : "string"
11510 },
11511 "hostnodes" : {
c2993fe5 11512 "description" : "Host NUMA nodes to use.",
44660702
DM
11513 "format_description" : "id[-id];...",
11514 "optional" : 1,
11515 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11516 "type" : "string"
11517 },
11518 "memory" : {
c2993fe5 11519 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
11520 "optional" : 1,
11521 "type" : "number"
11522 },
11523 "policy" : {
c2993fe5 11524 "description" : "NUMA allocation policy.",
44660702
DM
11525 "enum" : [
11526 "preferred",
11527 "bind",
11528 "interleave"
11529 ],
44660702
DM
11530 "optional" : 1,
11531 "type" : "string"
11532 }
11533 },
7aacca6f 11534 "optional" : 1,
4bd7df8b
DM
11535 "type" : "string",
11536 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 11537 },
44660702
DM
11538 "onboot" : {
11539 "default" : 0,
11540 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 11541 "optional" : 1,
013dc89f
DM
11542 "type" : "boolean",
11543 "typetext" : "<boolean>"
7aacca6f 11544 },
44660702 11545 "ostype" : {
c2993fe5 11546 "description" : "Specify guest operating system.",
44660702
DM
11547 "enum" : [
11548 "other",
11549 "wxp",
11550 "w2k",
11551 "w2k3",
11552 "w2k8",
11553 "wvista",
11554 "win7",
11555 "win8",
32d876b5 11556 "win10",
44660702
DM
11557 "l24",
11558 "l26",
11559 "solaris"
11560 ],
7aacca6f 11561 "optional" : 1,
c2993fe5 11562 "type" : "string",
35a75dd3 11563 "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 11564 },
44660702 11565 "parallel[n]" : {
c2993fe5 11566 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 11567 "optional" : 1,
44660702 11568 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
11569 "type" : "string",
11570 "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 11571 },
44660702
DM
11572 "protection" : {
11573 "default" : 0,
c2993fe5 11574 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 11575 "optional" : 1,
013dc89f
DM
11576 "type" : "boolean",
11577 "typetext" : "<boolean>"
7aacca6f 11578 },
44660702
DM
11579 "reboot" : {
11580 "default" : 1,
11581 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 11582 "optional" : 1,
013dc89f
DM
11583 "type" : "boolean",
11584 "typetext" : "<boolean>"
7aacca6f 11585 },
44660702
DM
11586 "revert" : {
11587 "description" : "Revert a pending change.",
11588 "format" : "pve-configid-list",
7aacca6f 11589 "optional" : 1,
013dc89f
DM
11590 "type" : "string",
11591 "typetext" : "<string>"
7aacca6f 11592 },
44660702
DM
11593 "sata[n]" : {
11594 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 11595 "format" : {
44660702
DM
11596 "aio" : {
11597 "description" : "AIO type to use.",
11598 "enum" : [
11599 "native",
11600 "threads"
11601 ],
44660702
DM
11602 "optional" : 1,
11603 "type" : "string"
11604 },
11605 "backup" : {
11606 "description" : "Whether the drive should be included when making backups.",
44660702
DM
11607 "optional" : 1,
11608 "type" : "boolean"
11609 },
11610 "bps" : {
de0983cb 11611 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 11612 "format_description" : "bps",
7aacca6f
DM
11613 "optional" : 1,
11614 "type" : "integer"
56122987 11615 },
de0983cb
DM
11616 "bps_max_length" : {
11617 "description" : "Maximum length of I/O bursts in seconds.",
11618 "format_description" : "seconds",
11619 "minimum" : 1,
11620 "optional" : 1,
11621 "type" : "integer"
11622 },
44660702 11623 "bps_rd" : {
de0983cb 11624 "description" : "Maximum read speed in bytes per second.",
44660702 11625 "format_description" : "bps",
7aacca6f 11626 "optional" : 1,
44660702 11627 "type" : "integer"
7aacca6f 11628 },
de0983cb 11629 "bps_rd_length" : {
5d9c884c
DM
11630 "alias" : "bps_rd_max_length"
11631 },
11632 "bps_rd_max_length" : {
de0983cb
DM
11633 "description" : "Maximum length of read I/O bursts in seconds.",
11634 "format_description" : "seconds",
11635 "minimum" : 1,
11636 "optional" : 1,
11637 "type" : "integer"
11638 },
44660702 11639 "bps_wr" : {
de0983cb 11640 "description" : "Maximum write speed in bytes per second.",
44660702 11641 "format_description" : "bps",
7aacca6f 11642 "optional" : 1,
44660702 11643 "type" : "integer"
7aacca6f 11644 },
de0983cb 11645 "bps_wr_length" : {
5d9c884c
DM
11646 "alias" : "bps_wr_max_length"
11647 },
11648 "bps_wr_max_length" : {
de0983cb
DM
11649 "description" : "Maximum length of write I/O bursts in seconds.",
11650 "format_description" : "seconds",
11651 "minimum" : 1,
11652 "optional" : 1,
11653 "type" : "integer"
11654 },
44660702
DM
11655 "cache" : {
11656 "description" : "The drive's cache mode",
11657 "enum" : [
11658 "none",
11659 "writethrough",
11660 "writeback",
11661 "unsafe",
11662 "directsync"
11663 ],
7aacca6f 11664 "optional" : 1,
44660702 11665 "type" : "string"
7aacca6f 11666 },
44660702
DM
11667 "cyls" : {
11668 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 11669 "optional" : 1,
44660702 11670 "type" : "integer"
7aacca6f 11671 },
44660702
DM
11672 "detect_zeroes" : {
11673 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 11674 "optional" : 1,
44660702 11675 "type" : "boolean"
7aacca6f 11676 },
44660702
DM
11677 "discard" : {
11678 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11679 "enum" : [
11680 "ignore",
11681 "on"
11682 ],
7aacca6f 11683 "optional" : 1,
44660702
DM
11684 "type" : "string"
11685 },
11686 "file" : {
11687 "default_key" : 1,
11688 "description" : "The drive's backing volume.",
11689 "format" : "pve-volume-id-or-qm-path",
11690 "format_description" : "volume",
11691 "type" : "string"
7aacca6f
DM
11692 },
11693 "format" : {
7aacca6f 11694 "description" : "The drive's backing file's data format.",
56122987
DM
11695 "enum" : [
11696 "raw",
11697 "cow",
11698 "qcow",
11699 "qed",
11700 "qcow2",
11701 "vmdk",
11702 "cloop"
11703 ],
11704 "optional" : 1,
7aacca6f 11705 "type" : "string"
56122987 11706 },
7aacca6f 11707 "heads" : {
7aacca6f 11708 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11709 "optional" : 1,
11710 "type" : "integer"
56122987 11711 },
44660702 11712 "iops" : {
de0983cb 11713 "description" : "Maximum r/w I/O in operations per second.",
44660702 11714 "format_description" : "iops",
56122987 11715 "optional" : 1,
44660702 11716 "type" : "integer"
7aacca6f 11717 },
44660702 11718 "iops_max" : {
de0983cb 11719 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11720 "format_description" : "iops",
7aacca6f 11721 "optional" : 1,
44660702 11722 "type" : "integer"
56122987 11723 },
de0983cb
DM
11724 "iops_max_length" : {
11725 "description" : "Maximum length of I/O bursts in seconds.",
11726 "format_description" : "seconds",
11727 "minimum" : 1,
11728 "optional" : 1,
11729 "type" : "integer"
11730 },
44660702 11731 "iops_rd" : {
de0983cb 11732 "description" : "Maximum read I/O in operations per second.",
44660702 11733 "format_description" : "iops",
56122987 11734 "optional" : 1,
44660702 11735 "type" : "integer"
7aacca6f 11736 },
de0983cb 11737 "iops_rd_length" : {
5d9c884c 11738 "alias" : "iops_rd_max_length"
de0983cb 11739 },
44660702 11740 "iops_rd_max" : {
de0983cb 11741 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11742 "format_description" : "iops",
56122987 11743 "optional" : 1,
44660702 11744 "type" : "integer"
56122987 11745 },
5d9c884c
DM
11746 "iops_rd_max_length" : {
11747 "description" : "Maximum length of read I/O bursts in seconds.",
11748 "format_description" : "seconds",
11749 "minimum" : 1,
11750 "optional" : 1,
11751 "type" : "integer"
11752 },
44660702 11753 "iops_wr" : {
de0983cb 11754 "description" : "Maximum write I/O in operations per second.",
44660702
DM
11755 "format_description" : "iops",
11756 "optional" : 1,
11757 "type" : "integer"
56122987 11758 },
de0983cb 11759 "iops_wr_length" : {
5d9c884c 11760 "alias" : "iops_wr_max_length"
de0983cb 11761 },
44660702 11762 "iops_wr_max" : {
de0983cb 11763 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
11764 "format_description" : "iops",
11765 "optional" : 1,
11766 "type" : "integer"
11767 },
5d9c884c
DM
11768 "iops_wr_max_length" : {
11769 "description" : "Maximum length of write I/O bursts in seconds.",
11770 "format_description" : "seconds",
11771 "minimum" : 1,
11772 "optional" : 1,
11773 "type" : "integer"
11774 },
44660702 11775 "mbps" : {
de0983cb 11776 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
11777 "format_description" : "mbps",
11778 "optional" : 1,
11779 "type" : "number"
11780 },
11781 "mbps_max" : {
de0983cb 11782 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
11783 "format_description" : "mbps",
11784 "optional" : 1,
11785 "type" : "number"
11786 },
11787 "mbps_rd" : {
de0983cb 11788 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
11789 "format_description" : "mbps",
11790 "optional" : 1,
11791 "type" : "number"
11792 },
11793 "mbps_rd_max" : {
de0983cb 11794 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11795 "format_description" : "mbps",
11796 "optional" : 1,
11797 "type" : "number"
11798 },
11799 "mbps_wr" : {
de0983cb 11800 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11801 "format_description" : "mbps",
11802 "optional" : 1,
11803 "type" : "number"
11804 },
11805 "mbps_wr_max" : {
de0983cb 11806 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11807 "format_description" : "mbps",
11808 "optional" : 1,
11809 "type" : "number"
11810 },
11811 "media" : {
11812 "default" : "disk",
11813 "description" : "The drive's media type.",
11814 "enum" : [
11815 "cdrom",
11816 "disk"
11817 ],
56122987 11818 "optional" : 1,
44660702
DM
11819 "type" : "string"
11820 },
5d9c884c
DM
11821 "replicate" : {
11822 "default" : 1,
11823 "description" : "Whether the drive should considered for replication jobs.",
11824 "optional" : 1,
11825 "type" : "boolean"
11826 },
44660702 11827 "rerror" : {
7aacca6f
DM
11828 "description" : "Read error action.",
11829 "enum" : [
11830 "ignore",
11831 "report",
11832 "stop"
44660702 11833 ],
56122987 11834 "optional" : 1,
44660702 11835 "type" : "string"
56122987 11836 },
7aacca6f 11837 "secs" : {
44660702 11838 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11839 "optional" : 1,
44660702 11840 "type" : "integer"
56122987 11841 },
44660702
DM
11842 "serial" : {
11843 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11844 "format" : "urlencoded",
11845 "format_description" : "serial",
11846 "maxLength" : 60,
56122987 11847 "optional" : 1,
44660702 11848 "type" : "string"
56122987 11849 },
27a7acb2
DM
11850 "shared" : {
11851 "default" : 0,
11852 "description" : "Mark this locally-managed volume as available on all nodes",
11853 "optional" : 1,
11854 "type" : "boolean",
11855 "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!"
11856 },
44660702
DM
11857 "size" : {
11858 "description" : "Disk size. This is purely informational and has no effect.",
11859 "format" : "disk-size",
f004f5b9 11860 "format_description" : "DiskSize",
56122987 11861 "optional" : 1,
44660702 11862 "type" : "string"
56122987
DM
11863 },
11864 "snapshot" : {
27a7acb2 11865 "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 11866 "optional" : 1,
44660702 11867 "type" : "boolean"
56122987 11868 },
25203dc1
NC
11869 "ssd" : {
11870 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11871 "optional" : 1,
11872 "type" : "boolean"
11873 },
56122987 11874 "trans" : {
7aacca6f 11875 "description" : "Force disk geometry bios translation mode.",
56122987
DM
11876 "enum" : [
11877 "none",
11878 "lba",
11879 "auto"
11880 ],
11881 "optional" : 1,
44660702 11882 "type" : "string"
56122987 11883 },
44660702
DM
11884 "volume" : {
11885 "alias" : "file"
56122987 11886 },
7aacca6f 11887 "werror" : {
44660702 11888 "description" : "Write error action.",
56122987 11889 "enum" : [
7aacca6f 11890 "enospc",
56122987 11891 "ignore",
7aacca6f
DM
11892 "report",
11893 "stop"
11894 ],
7aacca6f 11895 "optional" : 1,
44660702 11896 "type" : "string"
95895385
TL
11897 },
11898 "wwn" : {
11899 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
11900 "format_description" : "wwn",
11901 "optional" : 1,
11902 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
11903 "type" : "string"
44660702
DM
11904 }
11905 },
11906 "optional" : 1,
4bd7df8b 11907 "type" : "string",
95895385 11908 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
11909 },
11910 "scsi[n]" : {
11911 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
11912 "format" : {
11913 "aio" : {
7aacca6f 11914 "description" : "AIO type to use.",
56122987
DM
11915 "enum" : [
11916 "native",
11917 "threads"
44660702 11918 ],
56122987 11919 "optional" : 1,
44660702 11920 "type" : "string"
56122987 11921 },
7aacca6f 11922 "backup" : {
7aacca6f 11923 "description" : "Whether the drive should be included when making backups.",
7aacca6f 11924 "optional" : 1,
44660702 11925 "type" : "boolean"
56122987 11926 },
44660702 11927 "bps" : {
de0983cb 11928 "description" : "Maximum r/w speed in bytes per second.",
44660702 11929 "format_description" : "bps",
7aacca6f 11930 "optional" : 1,
44660702 11931 "type" : "integer"
7aacca6f 11932 },
de0983cb
DM
11933 "bps_max_length" : {
11934 "description" : "Maximum length of I/O bursts in seconds.",
11935 "format_description" : "seconds",
11936 "minimum" : 1,
11937 "optional" : 1,
11938 "type" : "integer"
11939 },
44660702 11940 "bps_rd" : {
de0983cb 11941 "description" : "Maximum read speed in bytes per second.",
44660702 11942 "format_description" : "bps",
56122987 11943 "optional" : 1,
44660702 11944 "type" : "integer"
56122987 11945 },
de0983cb 11946 "bps_rd_length" : {
5d9c884c
DM
11947 "alias" : "bps_rd_max_length"
11948 },
11949 "bps_rd_max_length" : {
de0983cb
DM
11950 "description" : "Maximum length of read I/O bursts in seconds.",
11951 "format_description" : "seconds",
11952 "minimum" : 1,
11953 "optional" : 1,
11954 "type" : "integer"
11955 },
44660702 11956 "bps_wr" : {
de0983cb 11957 "description" : "Maximum write speed in bytes per second.",
44660702 11958 "format_description" : "bps",
56122987 11959 "optional" : 1,
44660702 11960 "type" : "integer"
56122987 11961 },
de0983cb 11962 "bps_wr_length" : {
5d9c884c
DM
11963 "alias" : "bps_wr_max_length"
11964 },
11965 "bps_wr_max_length" : {
de0983cb
DM
11966 "description" : "Maximum length of write I/O bursts in seconds.",
11967 "format_description" : "seconds",
11968 "minimum" : 1,
11969 "optional" : 1,
11970 "type" : "integer"
11971 },
44660702
DM
11972 "cache" : {
11973 "description" : "The drive's cache mode",
11974 "enum" : [
11975 "none",
11976 "writethrough",
11977 "writeback",
11978 "unsafe",
11979 "directsync"
11980 ],
56122987 11981 "optional" : 1,
44660702
DM
11982 "type" : "string"
11983 },
11984 "cyls" : {
11985 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11986 "optional" : 1,
11987 "type" : "integer"
11988 },
11989 "detect_zeroes" : {
11990 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11991 "optional" : 1,
11992 "type" : "boolean"
11993 },
11994 "discard" : {
11995 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11996 "enum" : [
11997 "ignore",
11998 "on"
11999 ],
44660702
DM
12000 "optional" : 1,
12001 "type" : "string"
12002 },
12003 "file" : {
12004 "default_key" : 1,
12005 "description" : "The drive's backing volume.",
12006 "format" : "pve-volume-id-or-qm-path",
12007 "format_description" : "volume",
12008 "type" : "string"
56122987 12009 },
7aacca6f 12010 "format" : {
44660702 12011 "description" : "The drive's backing file's data format.",
7aacca6f
DM
12012 "enum" : [
12013 "raw",
12014 "cow",
12015 "qcow",
12016 "qed",
12017 "qcow2",
12018 "vmdk",
12019 "cloop"
12020 ],
56122987 12021 "optional" : 1,
44660702 12022 "type" : "string"
56122987 12023 },
44660702
DM
12024 "heads" : {
12025 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12026 "optional" : 1,
44660702 12027 "type" : "integer"
56122987 12028 },
44660702 12029 "iops" : {
de0983cb 12030 "description" : "Maximum r/w I/O in operations per second.",
44660702 12031 "format_description" : "iops",
7aacca6f 12032 "optional" : 1,
44660702 12033 "type" : "integer"
56122987 12034 },
44660702 12035 "iops_max" : {
de0983cb 12036 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 12037 "format_description" : "iops",
7aacca6f 12038 "optional" : 1,
44660702 12039 "type" : "integer"
56122987 12040 },
de0983cb
DM
12041 "iops_max_length" : {
12042 "description" : "Maximum length of I/O bursts in seconds.",
12043 "format_description" : "seconds",
12044 "minimum" : 1,
12045 "optional" : 1,
12046 "type" : "integer"
12047 },
44660702 12048 "iops_rd" : {
de0983cb 12049 "description" : "Maximum read I/O in operations per second.",
44660702 12050 "format_description" : "iops",
56122987 12051 "optional" : 1,
44660702 12052 "type" : "integer"
56122987 12053 },
de0983cb 12054 "iops_rd_length" : {
5d9c884c 12055 "alias" : "iops_rd_max_length"
de0983cb 12056 },
44660702 12057 "iops_rd_max" : {
de0983cb 12058 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12059 "format_description" : "iops",
56122987 12060 "optional" : 1,
44660702 12061 "type" : "integer"
56122987 12062 },
5d9c884c
DM
12063 "iops_rd_max_length" : {
12064 "description" : "Maximum length of read I/O bursts in seconds.",
12065 "format_description" : "seconds",
12066 "minimum" : 1,
12067 "optional" : 1,
12068 "type" : "integer"
12069 },
44660702 12070 "iops_wr" : {
de0983cb 12071 "description" : "Maximum write I/O in operations per second.",
44660702 12072 "format_description" : "iops",
56122987 12073 "optional" : 1,
44660702 12074 "type" : "integer"
56122987 12075 },
de0983cb 12076 "iops_wr_length" : {
5d9c884c 12077 "alias" : "iops_wr_max_length"
de0983cb 12078 },
44660702 12079 "iops_wr_max" : {
de0983cb 12080 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 12081 "format_description" : "iops",
44660702
DM
12082 "optional" : 1,
12083 "type" : "integer"
7aacca6f 12084 },
5d9c884c
DM
12085 "iops_wr_max_length" : {
12086 "description" : "Maximum length of write I/O bursts in seconds.",
12087 "format_description" : "seconds",
12088 "minimum" : 1,
12089 "optional" : 1,
12090 "type" : "integer"
12091 },
7aacca6f 12092 "iothread" : {
44660702 12093 "description" : "Whether to use iothreads for this drive",
56122987 12094 "optional" : 1,
44660702 12095 "type" : "boolean"
56122987 12096 },
44660702 12097 "mbps" : {
de0983cb 12098 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12099 "format_description" : "mbps",
56122987 12100 "optional" : 1,
44660702 12101 "type" : "number"
56122987 12102 },
44660702 12103 "mbps_max" : {
de0983cb 12104 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12105 "format_description" : "mbps",
56122987 12106 "optional" : 1,
44660702 12107 "type" : "number"
56122987 12108 },
44660702 12109 "mbps_rd" : {
de0983cb 12110 "description" : "Maximum read speed in megabytes per second.",
44660702 12111 "format_description" : "mbps",
7aacca6f 12112 "optional" : 1,
44660702 12113 "type" : "number"
56122987 12114 },
44660702 12115 "mbps_rd_max" : {
de0983cb 12116 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12117 "format_description" : "mbps",
7aacca6f 12118 "optional" : 1,
44660702 12119 "type" : "number"
7aacca6f 12120 },
44660702 12121 "mbps_wr" : {
de0983cb 12122 "description" : "Maximum write speed in megabytes per second.",
44660702 12123 "format_description" : "mbps",
56122987 12124 "optional" : 1,
44660702 12125 "type" : "number"
56122987 12126 },
44660702 12127 "mbps_wr_max" : {
de0983cb 12128 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12129 "format_description" : "mbps",
56122987 12130 "optional" : 1,
44660702
DM
12131 "type" : "number"
12132 },
12133 "media" : {
12134 "default" : "disk",
12135 "description" : "The drive's media type.",
7aacca6f 12136 "enum" : [
44660702
DM
12137 "cdrom",
12138 "disk"
7aacca6f 12139 ],
56122987 12140 "optional" : 1,
44660702 12141 "type" : "string"
56122987 12142 },
7aacca6f 12143 "queues" : {
44660702 12144 "description" : "Number of queues.",
7aacca6f 12145 "minimum" : 2,
7aacca6f
DM
12146 "optional" : 1,
12147 "type" : "integer"
56122987 12148 },
5d9c884c
DM
12149 "replicate" : {
12150 "default" : 1,
12151 "description" : "Whether the drive should considered for replication jobs.",
12152 "optional" : 1,
12153 "type" : "boolean"
12154 },
12155 "rerror" : {
12156 "description" : "Read error action.",
12157 "enum" : [
12158 "ignore",
12159 "report",
12160 "stop"
12161 ],
12162 "optional" : 1,
12163 "type" : "string"
12164 },
52e44c50
FG
12165 "scsiblock" : {
12166 "default" : 0,
12167 "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",
12168 "optional" : 1,
12169 "type" : "boolean"
12170 },
44660702
DM
12171 "secs" : {
12172 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12173 "optional" : 1,
44660702 12174 "type" : "integer"
56122987 12175 },
44660702
DM
12176 "serial" : {
12177 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12178 "format" : "urlencoded",
12179 "format_description" : "serial",
12180 "maxLength" : 60,
56122987 12181 "optional" : 1,
44660702 12182 "type" : "string"
56122987 12183 },
27a7acb2
DM
12184 "shared" : {
12185 "default" : 0,
12186 "description" : "Mark this locally-managed volume as available on all nodes",
12187 "optional" : 1,
12188 "type" : "boolean",
12189 "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!"
12190 },
44660702
DM
12191 "size" : {
12192 "description" : "Disk size. This is purely informational and has no effect.",
12193 "format" : "disk-size",
f004f5b9 12194 "format_description" : "DiskSize",
44660702
DM
12195 "optional" : 1,
12196 "type" : "string"
12197 },
12198 "snapshot" : {
27a7acb2 12199 "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 12200 "optional" : 1,
44660702
DM
12201 "type" : "boolean"
12202 },
25203dc1
NC
12203 "ssd" : {
12204 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12205 "optional" : 1,
12206 "type" : "boolean"
12207 },
44660702
DM
12208 "trans" : {
12209 "description" : "Force disk geometry bios translation mode.",
56122987 12210 "enum" : [
44660702
DM
12211 "none",
12212 "lba",
12213 "auto"
56122987 12214 ],
44660702
DM
12215 "optional" : 1,
12216 "type" : "string"
12217 },
12218 "volume" : {
12219 "alias" : "file"
56122987 12220 },
7aacca6f 12221 "werror" : {
7aacca6f
DM
12222 "description" : "Write error action.",
12223 "enum" : [
12224 "enospc",
12225 "ignore",
12226 "report",
12227 "stop"
44660702 12228 ],
56122987 12229 "optional" : 1,
7aacca6f 12230 "type" : "string"
95895385
TL
12231 },
12232 "wwn" : {
12233 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
12234 "format_description" : "wwn",
12235 "optional" : 1,
12236 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
12237 "type" : "string"
56122987 12238 }
44660702 12239 },
56122987 12240 "optional" : 1,
4bd7df8b 12241 "type" : "string",
95895385 12242 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987
DM
12243 },
12244 "scsihw" : {
44660702 12245 "default" : "lsi",
c2993fe5 12246 "description" : "SCSI controller model",
56122987
DM
12247 "enum" : [
12248 "lsi",
12249 "lsi53c810",
12250 "virtio-scsi-pci",
12251 "virtio-scsi-single",
12252 "megasas",
12253 "pvscsi"
12254 ],
12255 "optional" : 1,
56122987
DM
12256 "type" : "string"
12257 },
27a7acb2
DM
12258 "searchdomain" : {
12259 "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.",
12260 "optional" : 1,
12261 "type" : "string",
12262 "typetext" : "<string>"
12263 },
44660702 12264 "serial[n]" : {
c2993fe5 12265 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 12266 "optional" : 1,
44660702 12267 "pattern" : "(/dev/.+|socket)",
c2993fe5 12268 "type" : "string",
57b78691 12269 "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 12270 },
44660702
DM
12271 "shares" : {
12272 "default" : 1000,
5da3d723 12273 "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
12274 "maximum" : 50000,
12275 "minimum" : 0,
7aacca6f 12276 "optional" : 1,
4bd7df8b 12277 "type" : "integer",
013dc89f 12278 "typetext" : "<integer> (0 - 50000)"
56122987 12279 },
7aacca6f
DM
12280 "skiplock" : {
12281 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 12282 "optional" : 1,
013dc89f
DM
12283 "type" : "boolean",
12284 "typetext" : "<boolean>"
56122987 12285 },
44660702
DM
12286 "smbios1" : {
12287 "description" : "Specify SMBIOS type 1 fields.",
12288 "format" : "pve-qm-smbios1",
1e3f8156 12289 "maxLength" : 512,
56122987 12290 "optional" : 1,
4bd7df8b 12291 "type" : "string",
1e3f8156 12292 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
56122987 12293 },
44660702
DM
12294 "smp" : {
12295 "default" : 1,
12296 "description" : "The number of CPUs. Please use option -sockets instead.",
12297 "minimum" : 1,
56122987 12298 "optional" : 1,
4bd7df8b 12299 "type" : "integer",
013dc89f 12300 "typetext" : "<integer> (1 - N)"
56122987 12301 },
44660702
DM
12302 "sockets" : {
12303 "default" : 1,
12304 "description" : "The number of CPU sockets.",
12305 "minimum" : 1,
56122987 12306 "optional" : 1,
4bd7df8b 12307 "type" : "integer",
013dc89f 12308 "typetext" : "<integer> (1 - N)"
56122987 12309 },
27a7acb2
DM
12310 "sshkeys" : {
12311 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
12312 "format" : "urlencoded",
12313 "optional" : 1,
12314 "type" : "string",
12315 "typetext" : "<string>"
12316 },
44660702
DM
12317 "startdate" : {
12318 "default" : "now",
12319 "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'.",
12320 "optional" : 1,
12321 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 12322 "type" : "string",
44660702
DM
12323 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
12324 },
12325 "startup" : {
12326 "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.",
12327 "format" : "pve-startup-order",
7aacca6f 12328 "optional" : 1,
44660702
DM
12329 "type" : "string",
12330 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 12331 },
44660702
DM
12332 "tablet" : {
12333 "default" : 1,
c2993fe5 12334 "description" : "Enable/disable the USB tablet device.",
7aacca6f 12335 "optional" : 1,
c2993fe5 12336 "type" : "boolean",
013dc89f 12337 "typetext" : "<boolean>",
c2993fe5 12338 "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 12339 },
44660702
DM
12340 "tdf" : {
12341 "default" : 0,
12342 "description" : "Enable/disable time drift fix.",
7aacca6f 12343 "optional" : 1,
013dc89f
DM
12344 "type" : "boolean",
12345 "typetext" : "<boolean>"
7aacca6f 12346 },
44660702
DM
12347 "template" : {
12348 "default" : 0,
12349 "description" : "Enable/disable Template.",
7aacca6f 12350 "optional" : 1,
013dc89f
DM
12351 "type" : "boolean",
12352 "typetext" : "<boolean>"
7aacca6f 12353 },
44660702 12354 "unused[n]" : {
c2993fe5 12355 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 12356 "format" : "pve-volume-id",
7aacca6f 12357 "optional" : 1,
013dc89f
DM
12358 "type" : "string",
12359 "typetext" : "<string>"
7aacca6f 12360 },
44660702 12361 "usb[n]" : {
c2993fe5 12362 "description" : "Configure an USB device (n is 0 to 4).",
56122987 12363 "format" : {
44660702
DM
12364 "host" : {
12365 "default_key" : 1,
c2993fe5 12366 "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
12367 "format" : "pve-qm-usb-device",
12368 "format_description" : "HOSTUSBDEVICE|spice",
12369 "type" : "string"
7aacca6f 12370 },
44660702 12371 "usb3" : {
c2993fe5
DM
12372 "default" : 0,
12373 "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 12374 "optional" : 1,
44660702 12375 "type" : "boolean"
7aacca6f 12376 }
44660702 12377 },
7aacca6f 12378 "optional" : 1,
4bd7df8b
DM
12379 "type" : "string",
12380 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 12381 },
44660702 12382 "vcpus" : {
7aacca6f 12383 "default" : 0,
44660702
DM
12384 "description" : "Number of hotplugged vcpus.",
12385 "minimum" : 1,
7aacca6f 12386 "optional" : 1,
4bd7df8b 12387 "type" : "integer",
013dc89f 12388 "typetext" : "<integer> (1 - N)"
7aacca6f 12389 },
44660702 12390 "vga" : {
e2d681b3
TL
12391 "description" : "Configure the VGA hardware.",
12392 "format" : {
12393 "memory" : {
12394 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
12395 "maximum" : 512,
12396 "minimum" : 4,
12397 "optional" : 1,
12398 "type" : "integer"
12399 },
12400 "type" : {
12401 "default" : "std",
12402 "default_key" : 1,
12403 "description" : "Select the VGA type.",
12404 "enum" : [
12405 "cirrus",
12406 "qxl",
12407 "qxl2",
12408 "qxl3",
12409 "qxl4",
5f26e15b 12410 "none",
e2d681b3
TL
12411 "serial0",
12412 "serial1",
12413 "serial2",
12414 "serial3",
12415 "std",
12416 "virtio",
12417 "vmware"
12418 ],
12419 "optional" : 1,
12420 "type" : "string"
12421 }
12422 },
7aacca6f 12423 "optional" : 1,
c2993fe5 12424 "type" : "string",
e2d681b3
TL
12425 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
12426 "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 12427 },
44660702
DM
12428 "virtio[n]" : {
12429 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 12430 "format" : {
7aacca6f 12431 "aio" : {
7aacca6f 12432 "description" : "AIO type to use.",
56122987 12433 "enum" : [
7aacca6f
DM
12434 "native",
12435 "threads"
7aacca6f 12436 ],
44660702
DM
12437 "optional" : 1,
12438 "type" : "string"
56122987 12439 },
44660702
DM
12440 "backup" : {
12441 "description" : "Whether the drive should be included when making backups.",
56122987 12442 "optional" : 1,
44660702 12443 "type" : "boolean"
7aacca6f 12444 },
44660702 12445 "bps" : {
de0983cb 12446 "description" : "Maximum r/w speed in bytes per second.",
44660702 12447 "format_description" : "bps",
7aacca6f 12448 "optional" : 1,
44660702 12449 "type" : "integer"
56122987 12450 },
de0983cb
DM
12451 "bps_max_length" : {
12452 "description" : "Maximum length of I/O bursts in seconds.",
12453 "format_description" : "seconds",
12454 "minimum" : 1,
12455 "optional" : 1,
12456 "type" : "integer"
12457 },
56122987 12458 "bps_rd" : {
de0983cb 12459 "description" : "Maximum read speed in bytes per second.",
44660702 12460 "format_description" : "bps",
56122987 12461 "optional" : 1,
7aacca6f 12462 "type" : "integer"
56122987 12463 },
de0983cb 12464 "bps_rd_length" : {
5d9c884c
DM
12465 "alias" : "bps_rd_max_length"
12466 },
12467 "bps_rd_max_length" : {
de0983cb
DM
12468 "description" : "Maximum length of read I/O bursts in seconds.",
12469 "format_description" : "seconds",
12470 "minimum" : 1,
12471 "optional" : 1,
12472 "type" : "integer"
12473 },
44660702 12474 "bps_wr" : {
de0983cb 12475 "description" : "Maximum write speed in bytes per second.",
44660702 12476 "format_description" : "bps",
56122987 12477 "optional" : 1,
7aacca6f 12478 "type" : "integer"
56122987 12479 },
de0983cb 12480 "bps_wr_length" : {
5d9c884c
DM
12481 "alias" : "bps_wr_max_length"
12482 },
12483 "bps_wr_max_length" : {
de0983cb
DM
12484 "description" : "Maximum length of write I/O bursts in seconds.",
12485 "format_description" : "seconds",
12486 "minimum" : 1,
12487 "optional" : 1,
12488 "type" : "integer"
12489 },
7aacca6f 12490 "cache" : {
44660702 12491 "description" : "The drive's cache mode",
7aacca6f
DM
12492 "enum" : [
12493 "none",
12494 "writethrough",
12495 "writeback",
12496 "unsafe",
12497 "directsync"
12498 ],
56122987 12499 "optional" : 1,
44660702 12500 "type" : "string"
7aacca6f 12501 },
44660702
DM
12502 "cyls" : {
12503 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12504 "optional" : 1,
12505 "type" : "integer"
12506 },
12507 "detect_zeroes" : {
12508 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12509 "optional" : 1,
12510 "type" : "boolean"
12511 },
12512 "discard" : {
12513 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 12514 "enum" : [
44660702
DM
12515 "ignore",
12516 "on"
56122987
DM
12517 ],
12518 "optional" : 1,
44660702 12519 "type" : "string"
56122987 12520 },
44660702
DM
12521 "file" : {
12522 "default_key" : 1,
12523 "description" : "The drive's backing volume.",
12524 "format" : "pve-volume-id-or-qm-path",
12525 "format_description" : "volume",
12526 "type" : "string"
12527 },
12528 "format" : {
12529 "description" : "The drive's backing file's data format.",
12530 "enum" : [
12531 "raw",
12532 "cow",
12533 "qcow",
12534 "qed",
12535 "qcow2",
12536 "vmdk",
12537 "cloop"
12538 ],
56122987 12539 "optional" : 1,
44660702 12540 "type" : "string"
56122987 12541 },
44660702
DM
12542 "heads" : {
12543 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12544 "optional" : 1,
12545 "type" : "integer"
12546 },
12547 "iops" : {
de0983cb 12548 "description" : "Maximum r/w I/O in operations per second.",
44660702 12549 "format_description" : "iops",
56122987 12550 "optional" : 1,
44660702
DM
12551 "type" : "integer"
12552 },
12553 "iops_max" : {
de0983cb 12554 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
12555 "format_description" : "iops",
12556 "optional" : 1,
12557 "type" : "integer"
56122987 12558 },
de0983cb
DM
12559 "iops_max_length" : {
12560 "description" : "Maximum length of I/O bursts in seconds.",
12561 "format_description" : "seconds",
12562 "minimum" : 1,
12563 "optional" : 1,
12564 "type" : "integer"
12565 },
7aacca6f 12566 "iops_rd" : {
de0983cb 12567 "description" : "Maximum read I/O in operations per second.",
7aacca6f 12568 "format_description" : "iops",
7aacca6f 12569 "optional" : 1,
44660702 12570 "type" : "integer"
56122987 12571 },
de0983cb 12572 "iops_rd_length" : {
5d9c884c 12573 "alias" : "iops_rd_max_length"
de0983cb 12574 },
44660702 12575 "iops_rd_max" : {
de0983cb 12576 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12577 "format_description" : "iops",
12578 "optional" : 1,
12579 "type" : "integer"
12580 },
5d9c884c
DM
12581 "iops_rd_max_length" : {
12582 "description" : "Maximum length of read I/O bursts in seconds.",
12583 "format_description" : "seconds",
12584 "minimum" : 1,
12585 "optional" : 1,
12586 "type" : "integer"
12587 },
44660702 12588 "iops_wr" : {
de0983cb 12589 "description" : "Maximum write I/O in operations per second.",
44660702
DM
12590 "format_description" : "iops",
12591 "optional" : 1,
12592 "type" : "integer"
12593 },
de0983cb 12594 "iops_wr_length" : {
5d9c884c 12595 "alias" : "iops_wr_max_length"
de0983cb 12596 },
44660702 12597 "iops_wr_max" : {
de0983cb 12598 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12599 "format_description" : "iops",
12600 "optional" : 1,
12601 "type" : "integer"
12602 },
5d9c884c
DM
12603 "iops_wr_max_length" : {
12604 "description" : "Maximum length of write I/O bursts in seconds.",
12605 "format_description" : "seconds",
12606 "minimum" : 1,
12607 "optional" : 1,
12608 "type" : "integer"
12609 },
44660702
DM
12610 "iothread" : {
12611 "description" : "Whether to use iothreads for this drive",
44660702
DM
12612 "optional" : 1,
12613 "type" : "boolean"
12614 },
12615 "mbps" : {
de0983cb 12616 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12617 "format_description" : "mbps",
7aacca6f 12618 "optional" : 1,
44660702 12619 "type" : "number"
7aacca6f
DM
12620 },
12621 "mbps_max" : {
de0983cb 12622 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12623 "format_description" : "mbps",
56122987 12624 "optional" : 1,
44660702 12625 "type" : "number"
56122987 12626 },
44660702 12627 "mbps_rd" : {
de0983cb 12628 "description" : "Maximum read speed in megabytes per second.",
44660702 12629 "format_description" : "mbps",
56122987 12630 "optional" : 1,
44660702 12631 "type" : "number"
56122987 12632 },
44660702 12633 "mbps_rd_max" : {
de0983cb 12634 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12635 "format_description" : "mbps",
12636 "optional" : 1,
12637 "type" : "number"
12638 },
12639 "mbps_wr" : {
de0983cb 12640 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12641 "format_description" : "mbps",
12642 "optional" : 1,
12643 "type" : "number"
12644 },
12645 "mbps_wr_max" : {
de0983cb 12646 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12647 "format_description" : "mbps",
12648 "optional" : 1,
12649 "type" : "number"
12650 },
12651 "media" : {
12652 "default" : "disk",
12653 "description" : "The drive's media type.",
56122987 12654 "enum" : [
44660702
DM
12655 "cdrom",
12656 "disk"
56122987
DM
12657 ],
12658 "optional" : 1,
44660702 12659 "type" : "string"
56122987 12660 },
5d9c884c
DM
12661 "replicate" : {
12662 "default" : 1,
12663 "description" : "Whether the drive should considered for replication jobs.",
12664 "optional" : 1,
12665 "type" : "boolean"
12666 },
44660702
DM
12667 "rerror" : {
12668 "description" : "Read error action.",
12669 "enum" : [
12670 "ignore",
12671 "report",
12672 "stop"
12673 ],
56122987 12674 "optional" : 1,
44660702 12675 "type" : "string"
56122987 12676 },
44660702
DM
12677 "secs" : {
12678 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12679 "optional" : 1,
44660702 12680 "type" : "integer"
56122987 12681 },
7aacca6f
DM
12682 "serial" : {
12683 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 12684 "format" : "urlencoded",
44660702 12685 "format_description" : "serial",
7aacca6f 12686 "maxLength" : 60,
44660702
DM
12687 "optional" : 1,
12688 "type" : "string"
56122987 12689 },
27a7acb2
DM
12690 "shared" : {
12691 "default" : 0,
12692 "description" : "Mark this locally-managed volume as available on all nodes",
12693 "optional" : 1,
12694 "type" : "boolean",
12695 "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!"
12696 },
44660702
DM
12697 "size" : {
12698 "description" : "Disk size. This is purely informational and has no effect.",
12699 "format" : "disk-size",
f004f5b9 12700 "format_description" : "DiskSize",
44660702
DM
12701 "optional" : 1,
12702 "type" : "string"
56122987 12703 },
44660702 12704 "snapshot" : {
27a7acb2 12705 "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 12706 "optional" : 1,
44660702 12707 "type" : "boolean"
56122987 12708 },
44660702
DM
12709 "trans" : {
12710 "description" : "Force disk geometry bios translation mode.",
12711 "enum" : [
12712 "none",
12713 "lba",
12714 "auto"
12715 ],
7aacca6f 12716 "optional" : 1,
44660702 12717 "type" : "string"
7aacca6f 12718 },
44660702
DM
12719 "volume" : {
12720 "alias" : "file"
12721 },
12722 "werror" : {
12723 "description" : "Write error action.",
12724 "enum" : [
12725 "enospc",
12726 "ignore",
12727 "report",
12728 "stop"
12729 ],
7aacca6f 12730 "optional" : 1,
44660702 12731 "type" : "string"
56122987
DM
12732 }
12733 },
7aacca6f 12734 "optional" : 1,
4bd7df8b 12735 "type" : "string",
27a7acb2 12736 "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 12737 },
4d47f125
TL
12738 "vmgenid" : {
12739 "default" : "1 (autogenerated)",
12740 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
12741 "format_description" : "UUID",
12742 "optional" : 1,
12743 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
12744 "type" : "string",
12745 "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."
12746 },
44660702
DM
12747 "vmid" : {
12748 "description" : "The (unique) ID of the VM.",
12749 "format" : "pve-vmid",
12750 "minimum" : 1,
4bd7df8b 12751 "type" : "integer",
013dc89f 12752 "typetext" : "<integer> (1 - N)"
56122987 12753 },
2489d6df
WB
12754 "vmstatestorage" : {
12755 "description" : "Default storage for VM state volumes/files.",
12756 "format" : "pve-storage-id",
12757 "optional" : 1,
12758 "type" : "string",
12759 "typetext" : "<string>"
12760 },
44660702 12761 "watchdog" : {
c2993fe5 12762 "description" : "Create a virtual hardware watchdog device.",
44660702 12763 "format" : "pve-qm-watchdog",
56122987 12764 "optional" : 1,
c2993fe5 12765 "type" : "string",
013dc89f 12766 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 12767 "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 12768 }
7aacca6f 12769 }
56122987 12770 },
56122987
DM
12771 "permissions" : {
12772 "check" : [
12773 "perm",
12774 "/vms/{vmid}",
12775 [
12776 "VM.Config.Disk",
12777 "VM.Config.CDROM",
12778 "VM.Config.CPU",
12779 "VM.Config.Memory",
12780 "VM.Config.Network",
12781 "VM.Config.HWType",
12782 "VM.Config.Options"
12783 ],
12784 "any",
12785 1
12786 ]
12787 },
44660702 12788 "protected" : 1,
7aacca6f 12789 "proxyto" : "node",
56122987 12790 "returns" : {
4d47f125
TL
12791 "optional" : 1,
12792 "type" : "string"
7aacca6f 12793 }
4d47f125
TL
12794 },
12795 "PUT" : {
12796 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
12797 "method" : "PUT",
12798 "name" : "update_vm",
7aacca6f 12799 "parameters" : {
44660702 12800 "additionalProperties" : 0,
7aacca6f 12801 "properties" : {
4d47f125
TL
12802 "acpi" : {
12803 "default" : 1,
12804 "description" : "Enable/disable ACPI.",
12805 "optional" : 1,
12806 "type" : "boolean",
12807 "typetext" : "<boolean>"
7aacca6f 12808 },
4d47f125
TL
12809 "agent" : {
12810 "description" : "Enable/disable Qemu GuestAgent and its properties.",
12811 "format" : {
12812 "enabled" : {
12813 "default" : 0,
12814 "default_key" : 1,
12815 "description" : "Enable/disable Qemu GuestAgent.",
12816 "type" : "boolean"
12817 },
12818 "fstrim_cloned_disks" : {
12819 "default" : 0,
12820 "description" : "Run fstrim after cloning/moving a disk.",
12821 "optional" : 1,
12822 "type" : "boolean"
12823 }
44660702 12824 },
4d47f125
TL
12825 "optional" : 1,
12826 "type" : "string",
12827 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
44660702 12828 },
e2d681b3
TL
12829 "arch" : {
12830 "description" : "Virtual processor architecture. Defaults to the host.",
12831 "enum" : [
12832 "x86_64",
12833 "aarch64"
12834 ],
12835 "optional" : 1,
12836 "type" : "string"
12837 },
4d47f125
TL
12838 "args" : {
12839 "description" : "Arbitrary arguments passed to kvm.",
12840 "optional" : 1,
12841 "type" : "string",
12842 "typetext" : "<string>",
12843 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
12844 },
12845 "autostart" : {
12846 "default" : 0,
12847 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 12848 "optional" : 1,
013dc89f
DM
12849 "type" : "boolean",
12850 "typetext" : "<boolean>"
7aacca6f 12851 },
4d47f125
TL
12852 "balloon" : {
12853 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
12854 "minimum" : 0,
12855 "optional" : 1,
12856 "type" : "integer",
12857 "typetext" : "<integer> (0 - N)"
12858 },
12859 "bios" : {
12860 "default" : "seabios",
12861 "description" : "Select BIOS implementation.",
12862 "enum" : [
12863 "seabios",
12864 "ovmf"
12865 ],
12866 "optional" : 1,
12867 "type" : "string"
12868 },
12869 "boot" : {
12870 "default" : "cdn",
12871 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
12872 "optional" : 1,
12873 "pattern" : "[acdn]{1,4}",
12874 "type" : "string"
12875 },
12876 "bootdisk" : {
12877 "description" : "Enable booting from specified disk.",
12878 "format" : "pve-qm-bootdisk",
12879 "optional" : 1,
12880 "pattern" : "(ide|sata|scsi|virtio)\\d+",
12881 "type" : "string"
12882 },
12883 "cdrom" : {
12884 "description" : "This is an alias for option -ide2",
12885 "format" : "pve-qm-ide",
12886 "optional" : 1,
12887 "type" : "string",
12888 "typetext" : "<volume>"
12889 },
95895385
TL
12890 "cicustom" : {
12891 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
12892 "format" : "pve-qm-cicustom",
12893 "optional" : 1,
12894 "type" : "string",
12895 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
12896 },
4d47f125
TL
12897 "cipassword" : {
12898 "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.",
12899 "optional" : 1,
013dc89f
DM
12900 "type" : "string",
12901 "typetext" : "<string>"
44660702 12902 },
4d47f125
TL
12903 "citype" : {
12904 "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.",
12905 "enum" : [
12906 "configdrive2",
12907 "nocloud"
12908 ],
12909 "optional" : 1,
12910 "type" : "string"
12911 },
12912 "ciuser" : {
12913 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
12914 "optional" : 1,
013dc89f
DM
12915 "type" : "string",
12916 "typetext" : "<string>"
56122987 12917 },
4d47f125
TL
12918 "cores" : {
12919 "default" : 1,
12920 "description" : "The number of cores per socket.",
7aacca6f 12921 "minimum" : 1,
4d47f125 12922 "optional" : 1,
4bd7df8b 12923 "type" : "integer",
013dc89f 12924 "typetext" : "<integer> (1 - N)"
4d47f125
TL
12925 },
12926 "cpu" : {
12927 "description" : "Emulated CPU type.",
12928 "format" : {
12929 "cputype" : {
12930 "default" : "kvm64",
12931 "default_key" : 1,
12932 "description" : "Emulated CPU type.",
12933 "enum" : [
12934 "486",
12935 "athlon",
12936 "Broadwell",
12937 "Broadwell-IBRS",
12938 "Broadwell-noTSX",
12939 "Broadwell-noTSX-IBRS",
12940 "Conroe",
12941 "core2duo",
12942 "coreduo",
12943 "EPYC",
12944 "EPYC-IBPB",
12945 "Haswell",
12946 "Haswell-IBRS",
12947 "Haswell-noTSX",
12948 "Haswell-noTSX-IBRS",
12949 "host",
12950 "IvyBridge",
12951 "IvyBridge-IBRS",
12952 "kvm32",
12953 "kvm64",
12954 "max",
12955 "Nehalem",
12956 "Nehalem-IBRS",
12957 "Opteron_G1",
12958 "Opteron_G2",
12959 "Opteron_G3",
12960 "Opteron_G4",
12961 "Opteron_G5",
12962 "Penryn",
12963 "pentium",
12964 "pentium2",
12965 "pentium3",
12966 "phenom",
12967 "qemu32",
12968 "qemu64",
12969 "SandyBridge",
12970 "SandyBridge-IBRS",
12971 "Skylake-Client",
12972 "Skylake-Client-IBRS",
12973 "Skylake-Server",
12974 "Skylake-Server-IBRS",
12975 "Westmere",
12976 "Westmere-IBRS"
12977 ],
12978 "type" : "string"
12979 },
12980 "flags" : {
1e3f8156 12981 "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', 'md-clear'.",
4d47f125
TL
12982 "format_description" : "+FLAG[;-FLAG...]",
12983 "optional" : 1,
1e3f8156 12984 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
4d47f125
TL
12985 "type" : "string"
12986 },
12987 "hidden" : {
12988 "default" : 0,
12989 "description" : "Do not identify as a KVM virtual machine.",
12990 "optional" : 1,
12991 "type" : "boolean"
5f26e15b
TL
12992 },
12993 "hv-vendor-id" : {
12994 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
12995 "format_description" : "vendor-id",
12996 "optional" : 1,
12997 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
12998 "type" : "string"
4d47f125
TL
12999 }
13000 },
13001 "optional" : 1,
013dc89f 13002 "type" : "string",
5f26e15b 13003 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
44660702 13004 },
4d47f125
TL
13005 "cpulimit" : {
13006 "default" : 0,
13007 "description" : "Limit of CPU usage.",
13008 "maximum" : 128,
13009 "minimum" : 0,
13010 "optional" : 1,
13011 "type" : "number",
13012 "typetext" : "<number> (0 - 128)",
13013 "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."
13014 },
13015 "cpuunits" : {
13016 "default" : 1024,
13017 "description" : "CPU weight for a VM.",
13018 "maximum" : 262144,
13019 "minimum" : 2,
13020 "optional" : 1,
4bd7df8b 13021 "type" : "integer",
4d47f125
TL
13022 "typetext" : "<integer> (2 - 262144)",
13023 "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 13024 },
4d47f125
TL
13025 "delete" : {
13026 "description" : "A list of settings you want to delete.",
13027 "format" : "pve-configid-list",
13028 "optional" : 1,
13029 "type" : "string",
13030 "typetext" : "<string>"
13031 },
13032 "description" : {
13033 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
13034 "optional" : 1,
13035 "type" : "string",
13036 "typetext" : "<string>"
13037 },
13038 "digest" : {
13039 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13040 "maxLength" : 40,
44660702 13041 "optional" : 1,
4d47f125
TL
13042 "type" : "string",
13043 "typetext" : "<string>"
13044 },
13045 "efidisk0" : {
13046 "description" : "Configure a Disk for storing EFI vars",
13047 "format" : {
13048 "file" : {
13049 "default_key" : 1,
13050 "description" : "The drive's backing volume.",
13051 "format" : "pve-volume-id-or-qm-path",
13052 "format_description" : "volume",
13053 "type" : "string"
13054 },
13055 "format" : {
13056 "description" : "The drive's backing file's data format.",
13057 "enum" : [
13058 "raw",
13059 "cow",
13060 "qcow",
13061 "qed",
13062 "qcow2",
13063 "vmdk",
13064 "cloop"
13065 ],
13066 "optional" : 1,
13067 "type" : "string"
13068 },
13069 "size" : {
13070 "description" : "Disk size. This is purely informational and has no effect.",
13071 "format" : "disk-size",
13072 "format_description" : "DiskSize",
13073 "optional" : 1,
13074 "type" : "string"
13075 },
13076 "volume" : {
13077 "alias" : "file"
13078 }
13079 },
13080 "optional" : 1,
13081 "type" : "string",
13082 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
13083 },
13084 "force" : {
13085 "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.",
13086 "optional" : 1,
13087 "requires" : "delete",
013dc89f
DM
13088 "type" : "boolean",
13089 "typetext" : "<boolean>"
56122987 13090 },
4d47f125
TL
13091 "freeze" : {
13092 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
13093 "optional" : 1,
13094 "type" : "boolean",
13095 "typetext" : "<boolean>"
7aacca6f 13096 },
5f26e15b
TL
13097 "hookscript" : {
13098 "description" : "Script that will be executed during various steps in the vms lifetime.",
13099 "format" : "pve-volume-id",
13100 "optional" : 1,
13101 "type" : "string",
13102 "typetext" : "<string>"
13103 },
4d47f125
TL
13104 "hostpci[n]" : {
13105 "description" : "Map host PCI devices into guest.",
13106 "format" : "pve-qm-hostpci",
13107 "optional" : 1,
13108 "type" : "string",
e2d681b3 13109 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 13110 "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 13111 },
4d47f125
TL
13112 "hotplug" : {
13113 "default" : "network,disk,usb",
13114 "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'.",
13115 "format" : "pve-hotplug-features",
13116 "optional" : 1,
35a75dd3
DM
13117 "type" : "string",
13118 "typetext" : "<string>"
13119 },
4d47f125
TL
13120 "hugepages" : {
13121 "description" : "Enable/disable hugepages memory.",
35a75dd3 13122 "enum" : [
4d47f125
TL
13123 "any",
13124 "2",
13125 "1024"
35a75dd3
DM
13126 ],
13127 "optional" : 1,
13128 "type" : "string"
13129 },
4d47f125
TL
13130 "ide[n]" : {
13131 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
13132 "format" : {
13133 "aio" : {
13134 "description" : "AIO type to use.",
13135 "enum" : [
13136 "native",
13137 "threads"
13138 ],
44660702 13139 "optional" : 1,
44660702
DM
13140 "type" : "string"
13141 },
4d47f125
TL
13142 "backup" : {
13143 "description" : "Whether the drive should be included when making backups.",
56122987 13144 "optional" : 1,
4d47f125 13145 "type" : "boolean"
56122987 13146 },
4d47f125
TL
13147 "bps" : {
13148 "description" : "Maximum r/w speed in bytes per second.",
13149 "format_description" : "bps",
de0983cb 13150 "optional" : 1,
4d47f125 13151 "type" : "integer"
de0983cb 13152 },
4d47f125
TL
13153 "bps_max_length" : {
13154 "description" : "Maximum length of I/O bursts in seconds.",
13155 "format_description" : "seconds",
13156 "minimum" : 1,
de0983cb 13157 "optional" : 1,
4d47f125 13158 "type" : "integer"
7aacca6f 13159 },
4d47f125
TL
13160 "bps_rd" : {
13161 "description" : "Maximum read speed in bytes per second.",
13162 "format_description" : "bps",
7aacca6f 13163 "optional" : 1,
4d47f125 13164 "type" : "integer"
56122987 13165 },
4d47f125
TL
13166 "bps_rd_length" : {
13167 "alias" : "bps_rd_max_length"
13168 },
13169 "bps_rd_max_length" : {
13170 "description" : "Maximum length of read I/O bursts in seconds.",
13171 "format_description" : "seconds",
13172 "minimum" : 1,
56122987 13173 "optional" : 1,
4d47f125 13174 "type" : "integer"
56122987 13175 },
4d47f125
TL
13176 "bps_wr" : {
13177 "description" : "Maximum write speed in bytes per second.",
13178 "format_description" : "bps",
52e44c50 13179 "optional" : 1,
4d47f125 13180 "type" : "integer"
52e44c50 13181 },
4d47f125
TL
13182 "bps_wr_length" : {
13183 "alias" : "bps_wr_max_length"
13184 },
13185 "bps_wr_max_length" : {
13186 "description" : "Maximum length of write I/O bursts in seconds.",
13187 "format_description" : "seconds",
44660702 13188 "minimum" : 1,
56122987 13189 "optional" : 1,
4d47f125 13190 "type" : "integer"
56122987 13191 },
4d47f125
TL
13192 "cache" : {
13193 "description" : "The drive's cache mode",
13194 "enum" : [
13195 "none",
13196 "writethrough",
13197 "writeback",
13198 "unsafe",
13199 "directsync"
13200 ],
7aacca6f 13201 "optional" : 1,
4d47f125 13202 "type" : "string"
7aacca6f 13203 },
4d47f125
TL
13204 "cyls" : {
13205 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13206 "optional" : 1,
13207 "type" : "integer"
56122987 13208 },
4d47f125
TL
13209 "detect_zeroes" : {
13210 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 13211 "optional" : 1,
4d47f125 13212 "type" : "boolean"
56122987 13213 },
4d47f125
TL
13214 "discard" : {
13215 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13216 "enum" : [
13217 "ignore",
13218 "on"
13219 ],
56122987 13220 "optional" : 1,
4d47f125 13221 "type" : "string"
7aacca6f 13222 },
4d47f125
TL
13223 "file" : {
13224 "default_key" : 1,
13225 "description" : "The drive's backing volume.",
13226 "format" : "pve-volume-id-or-qm-path",
13227 "format_description" : "volume",
13228 "type" : "string"
56122987 13229 },
4d47f125
TL
13230 "format" : {
13231 "description" : "The drive's backing file's data format.",
13232 "enum" : [
13233 "raw",
13234 "cow",
13235 "qcow",
13236 "qed",
13237 "qcow2",
13238 "vmdk",
13239 "cloop"
13240 ],
7aacca6f 13241 "optional" : 1,
4d47f125 13242 "type" : "string"
7aacca6f 13243 },
4d47f125
TL
13244 "heads" : {
13245 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 13246 "optional" : 1,
4d47f125 13247 "type" : "integer"
56122987 13248 },
4d47f125
TL
13249 "iops" : {
13250 "description" : "Maximum r/w I/O in operations per second.",
13251 "format_description" : "iops",
44660702 13252 "optional" : 1,
4d47f125 13253 "type" : "integer"
44660702 13254 },
4d47f125
TL
13255 "iops_max" : {
13256 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13257 "format_description" : "iops",
44660702 13258 "optional" : 1,
4d47f125 13259 "type" : "integer"
56122987 13260 },
4d47f125
TL
13261 "iops_max_length" : {
13262 "description" : "Maximum length of I/O bursts in seconds.",
13263 "format_description" : "seconds",
13264 "minimum" : 1,
7aacca6f 13265 "optional" : 1,
4d47f125 13266 "type" : "integer"
7aacca6f 13267 },
4d47f125
TL
13268 "iops_rd" : {
13269 "description" : "Maximum read I/O in operations per second.",
13270 "format_description" : "iops",
13271 "optional" : 1,
13272 "type" : "integer"
13273 },
13274 "iops_rd_length" : {
13275 "alias" : "iops_rd_max_length"
13276 },
13277 "iops_rd_max" : {
13278 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13279 "format_description" : "iops",
13280 "optional" : 1,
13281 "type" : "integer"
13282 },
13283 "iops_rd_max_length" : {
13284 "description" : "Maximum length of read I/O bursts in seconds.",
13285 "format_description" : "seconds",
44660702 13286 "minimum" : 1,
4d47f125
TL
13287 "optional" : 1,
13288 "type" : "integer"
7aacca6f 13289 },
4d47f125
TL
13290 "iops_wr" : {
13291 "description" : "Maximum write I/O in operations per second.",
13292 "format_description" : "iops",
44660702 13293 "optional" : 1,
4d47f125 13294 "type" : "integer"
44660702 13295 },
4d47f125
TL
13296 "iops_wr_length" : {
13297 "alias" : "iops_wr_max_length"
13298 },
13299 "iops_wr_max" : {
13300 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13301 "format_description" : "iops",
13302 "optional" : 1,
13303 "type" : "integer"
13304 },
13305 "iops_wr_max_length" : {
13306 "description" : "Maximum length of write I/O bursts in seconds.",
13307 "format_description" : "seconds",
44660702 13308 "minimum" : 1,
44660702 13309 "optional" : 1,
4d47f125 13310 "type" : "integer"
44660702 13311 },
4d47f125
TL
13312 "mbps" : {
13313 "description" : "Maximum r/w speed in megabytes per second.",
13314 "format_description" : "mbps",
13315 "optional" : 1,
13316 "type" : "number"
56122987 13317 },
4d47f125
TL
13318 "mbps_max" : {
13319 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13320 "format_description" : "mbps",
13321 "optional" : 1,
13322 "type" : "number"
13323 },
13324 "mbps_rd" : {
13325 "description" : "Maximum read speed in megabytes per second.",
13326 "format_description" : "mbps",
13327 "optional" : 1,
13328 "type" : "number"
13329 },
13330 "mbps_rd_max" : {
13331 "description" : "Maximum unthrottled read pool in megabytes per second.",
13332 "format_description" : "mbps",
13333 "optional" : 1,
13334 "type" : "number"
13335 },
13336 "mbps_wr" : {
13337 "description" : "Maximum write speed in megabytes per second.",
13338 "format_description" : "mbps",
13339 "optional" : 1,
13340 "type" : "number"
13341 },
13342 "mbps_wr_max" : {
13343 "description" : "Maximum unthrottled write pool in megabytes per second.",
13344 "format_description" : "mbps",
13345 "optional" : 1,
13346 "type" : "number"
13347 },
13348 "media" : {
13349 "default" : "disk",
13350 "description" : "The drive's media type.",
13351 "enum" : [
13352 "cdrom",
13353 "disk"
13354 ],
13355 "optional" : 1,
13356 "type" : "string"
13357 },
13358 "model" : {
13359 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
13360 "format" : "urlencoded",
13361 "format_description" : "model",
13362 "maxLength" : 120,
13363 "optional" : 1,
13364 "type" : "string"
13365 },
13366 "replicate" : {
13367 "default" : 1,
13368 "description" : "Whether the drive should considered for replication jobs.",
13369 "optional" : 1,
13370 "type" : "boolean"
13371 },
13372 "rerror" : {
13373 "description" : "Read error action.",
13374 "enum" : [
13375 "ignore",
13376 "report",
13377 "stop"
13378 ],
13379 "optional" : 1,
13380 "type" : "string"
13381 },
13382 "secs" : {
13383 "description" : "Force the drive's physical geometry to have a specific sector count.",
13384 "optional" : 1,
13385 "type" : "integer"
13386 },
13387 "serial" : {
13388 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13389 "format" : "urlencoded",
13390 "format_description" : "serial",
13391 "maxLength" : 60,
13392 "optional" : 1,
13393 "type" : "string"
13394 },
13395 "shared" : {
13396 "default" : 0,
13397 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 13398 "optional" : 1,
013dc89f 13399 "type" : "boolean",
4d47f125 13400 "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 13401 },
4d47f125
TL
13402 "size" : {
13403 "description" : "Disk size. This is purely informational and has no effect.",
13404 "format" : "disk-size",
13405 "format_description" : "DiskSize",
13406 "optional" : 1,
13407 "type" : "string"
13408 },
13409 "snapshot" : {
13410 "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.",
13411 "optional" : 1,
13412 "type" : "boolean"
13413 },
25203dc1
NC
13414 "ssd" : {
13415 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13416 "optional" : 1,
13417 "type" : "boolean"
13418 },
4d47f125
TL
13419 "trans" : {
13420 "description" : "Force disk geometry bios translation mode.",
13421 "enum" : [
13422 "none",
13423 "lba",
13424 "auto"
13425 ],
13426 "optional" : 1,
13427 "type" : "string"
13428 },
13429 "volume" : {
13430 "alias" : "file"
13431 },
13432 "werror" : {
13433 "description" : "Write error action.",
13434 "enum" : [
13435 "enospc",
13436 "ignore",
13437 "report",
13438 "stop"
13439 ],
13440 "optional" : 1,
13441 "type" : "string"
95895385
TL
13442 },
13443 "wwn" : {
13444 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
13445 "format_description" : "wwn",
13446 "optional" : 1,
13447 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
13448 "type" : "string"
4d47f125
TL
13449 }
13450 },
13451 "optional" : 1,
013dc89f 13452 "type" : "string",
95895385 13453 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702 13454 },
4d47f125
TL
13455 "ipconfig[n]" : {
13456 "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",
13457 "format" : "pve-qm-ipconfig",
13458 "optional" : 1,
013dc89f 13459 "type" : "string",
4d47f125 13460 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 13461 },
95895385
TL
13462 "ivshmem" : {
13463 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
13464 "format" : {
13465 "name" : {
13466 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
13467 "format_description" : "string",
13468 "optional" : 1,
13469 "pattern" : "[a-zA-Z0-9\\-]+",
13470 "type" : "string"
13471 },
13472 "size" : {
13473 "description" : "The size of the file in MB.",
13474 "minimum" : 1,
13475 "type" : "integer"
13476 }
13477 },
13478 "optional" : 1,
13479 "type" : "string",
13480 "typetext" : "size=<integer> [,name=<string>]"
13481 },
4d47f125
TL
13482 "keyboard" : {
13483 "default" : null,
13484 "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.",
13485 "enum" : [
13486 "de",
13487 "de-ch",
13488 "da",
13489 "en-gb",
13490 "en-us",
13491 "es",
13492 "fi",
13493 "fr",
13494 "fr-be",
13495 "fr-ca",
13496 "fr-ch",
13497 "hu",
13498 "is",
13499 "it",
13500 "ja",
13501 "lt",
13502 "mk",
13503 "nl",
13504 "no",
13505 "pl",
13506 "pt",
13507 "pt-br",
13508 "sv",
13509 "sl",
13510 "tr"
13511 ],
13512 "optional" : 1,
13513 "type" : "string"
44660702 13514 },
4d47f125
TL
13515 "kvm" : {
13516 "default" : 1,
13517 "description" : "Enable/disable KVM hardware virtualization.",
44660702 13518 "optional" : 1,
013dc89f
DM
13519 "type" : "boolean",
13520 "typetext" : "<boolean>"
7aacca6f 13521 },
4d47f125
TL
13522 "localtime" : {
13523 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
13524 "optional" : 1,
13525 "type" : "boolean",
13526 "typetext" : "<boolean>"
13527 },
13528 "lock" : {
13529 "description" : "Lock/unlock the VM.",
56122987 13530 "enum" : [
4d47f125 13531 "backup",
5f26e15b
TL
13532 "clone",
13533 "create",
13534 "migrate",
13535 "rollback",
56122987 13536 "snapshot",
95895385
TL
13537 "snapshot-delete",
13538 "suspending",
13539 "suspended"
56122987 13540 ],
4d47f125 13541 "optional" : 1,
44660702
DM
13542 "type" : "string"
13543 },
4d47f125
TL
13544 "machine" : {
13545 "description" : "Specifies the Qemu machine type.",
13546 "maxLength" : 40,
13547 "optional" : 1,
e2d681b3 13548 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
4d47f125
TL
13549 "type" : "string"
13550 },
13551 "memory" : {
13552 "default" : 512,
13553 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
13554 "minimum" : 16,
13555 "optional" : 1,
13556 "type" : "integer",
13557 "typetext" : "<integer> (16 - N)"
13558 },
13559 "migrate_downtime" : {
13560 "default" : 0.1,
13561 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
13562 "minimum" : 0,
13563 "optional" : 1,
13564 "type" : "number",
13565 "typetext" : "<number> (0 - N)"
13566 },
13567 "migrate_speed" : {
13568 "default" : 0,
13569 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
13570 "minimum" : 0,
13571 "optional" : 1,
13572 "type" : "integer",
13573 "typetext" : "<integer> (0 - N)"
13574 },
13575 "name" : {
13576 "description" : "Set a name for the VM. Only used on the configuration web interface.",
13577 "format" : "dns-name",
13578 "optional" : 1,
013dc89f
DM
13579 "type" : "string",
13580 "typetext" : "<string>"
56122987 13581 },
4d47f125
TL
13582 "nameserver" : {
13583 "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.",
13584 "format" : "address-list",
7aacca6f 13585 "optional" : 1,
013dc89f
DM
13586 "type" : "string",
13587 "typetext" : "<string>"
7aacca6f 13588 },
4d47f125
TL
13589 "net[n]" : {
13590 "description" : "Specify network devices.",
13591 "format" : {
13592 "bridge" : {
13593 "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",
13594 "format_description" : "bridge",
13595 "optional" : 1,
13596 "type" : "string"
13597 },
13598 "e1000" : {
13599 "alias" : "macaddr",
13600 "keyAlias" : "model"
13601 },
13602 "e1000-82540em" : {
13603 "alias" : "macaddr",
13604 "keyAlias" : "model"
13605 },
13606 "e1000-82544gc" : {
13607 "alias" : "macaddr",
13608 "keyAlias" : "model"
13609 },
13610 "e1000-82545em" : {
13611 "alias" : "macaddr",
13612 "keyAlias" : "model"
13613 },
13614 "firewall" : {
13615 "description" : "Whether this interface should be protected by the firewall.",
13616 "optional" : 1,
13617 "type" : "boolean"
13618 },
13619 "i82551" : {
13620 "alias" : "macaddr",
13621 "keyAlias" : "model"
13622 },
13623 "i82557b" : {
13624 "alias" : "macaddr",
13625 "keyAlias" : "model"
13626 },
13627 "i82559er" : {
13628 "alias" : "macaddr",
13629 "keyAlias" : "model"
13630 },
13631 "link_down" : {
13632 "description" : "Whether this interface should be disconnected (like pulling the plug).",
13633 "optional" : 1,
13634 "type" : "boolean"
13635 },
13636 "macaddr" : {
13637 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 13638 "format" : "mac-addr",
4d47f125
TL
13639 "format_description" : "XX:XX:XX:XX:XX:XX",
13640 "optional" : 1,
95895385
TL
13641 "type" : "string",
13642 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
13643 },
13644 "model" : {
13645 "default_key" : 1,
13646 "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'.",
13647 "enum" : [
13648 "rtl8139",
13649 "ne2k_pci",
13650 "e1000",
13651 "pcnet",
13652 "virtio",
13653 "ne2k_isa",
13654 "i82551",
13655 "i82557b",
13656 "i82559er",
13657 "vmxnet3",
13658 "e1000-82540em",
13659 "e1000-82544gc",
13660 "e1000-82545em"
13661 ],
13662 "type" : "string"
13663 },
13664 "ne2k_isa" : {
13665 "alias" : "macaddr",
13666 "keyAlias" : "model"
13667 },
13668 "ne2k_pci" : {
13669 "alias" : "macaddr",
13670 "keyAlias" : "model"
13671 },
13672 "pcnet" : {
13673 "alias" : "macaddr",
13674 "keyAlias" : "model"
13675 },
13676 "queues" : {
13677 "description" : "Number of packet queues to be used on the device.",
13678 "maximum" : 16,
13679 "minimum" : 0,
13680 "optional" : 1,
13681 "type" : "integer"
13682 },
13683 "rate" : {
13684 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
13685 "minimum" : 0,
13686 "optional" : 1,
13687 "type" : "number"
13688 },
13689 "rtl8139" : {
13690 "alias" : "macaddr",
13691 "keyAlias" : "model"
13692 },
13693 "tag" : {
13694 "description" : "VLAN tag to apply to packets on this interface.",
13695 "maximum" : 4094,
13696 "minimum" : 1,
13697 "optional" : 1,
13698 "type" : "integer"
13699 },
13700 "trunks" : {
13701 "description" : "VLAN trunks to pass through this interface.",
13702 "format_description" : "vlanid[;vlanid...]",
13703 "optional" : 1,
13704 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13705 "type" : "string"
13706 },
13707 "virtio" : {
13708 "alias" : "macaddr",
13709 "keyAlias" : "model"
13710 },
13711 "vmxnet3" : {
13712 "alias" : "macaddr",
13713 "keyAlias" : "model"
13714 }
44660702 13715 },
44660702 13716 "optional" : 1,
013dc89f 13717 "type" : "string",
4d47f125 13718 "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
13719 },
13720 "node" : {
13721 "description" : "The cluster node name.",
13722 "format" : "pve-node",
013dc89f
DM
13723 "type" : "string",
13724 "typetext" : "<string>"
7aacca6f 13725 },
4d47f125
TL
13726 "numa" : {
13727 "default" : 0,
13728 "description" : "Enable/disable NUMA.",
56122987 13729 "optional" : 1,
4d47f125
TL
13730 "type" : "boolean",
13731 "typetext" : "<boolean>"
56122987 13732 },
4d47f125
TL
13733 "numa[n]" : {
13734 "description" : "NUMA topology.",
13735 "format" : {
13736 "cpus" : {
13737 "description" : "CPUs accessing this NUMA node.",
13738 "format_description" : "id[-id];...",
13739 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13740 "type" : "string"
13741 },
13742 "hostnodes" : {
13743 "description" : "Host NUMA nodes to use.",
13744 "format_description" : "id[-id];...",
13745 "optional" : 1,
13746 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13747 "type" : "string"
13748 },
13749 "memory" : {
13750 "description" : "Amount of memory this NUMA node provides.",
13751 "optional" : 1,
13752 "type" : "number"
13753 },
13754 "policy" : {
13755 "description" : "NUMA allocation policy.",
13756 "enum" : [
13757 "preferred",
13758 "bind",
13759 "interleave"
13760 ],
13761 "optional" : 1,
13762 "type" : "string"
13763 }
13764 },
7aacca6f 13765 "optional" : 1,
013dc89f 13766 "type" : "string",
4d47f125 13767 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 13768 },
4d47f125 13769 "onboot" : {
44660702 13770 "default" : 0,
4d47f125 13771 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 13772 "optional" : 1,
013dc89f
DM
13773 "type" : "boolean",
13774 "typetext" : "<boolean>"
56122987 13775 },
4d47f125
TL
13776 "ostype" : {
13777 "description" : "Specify guest operating system.",
7aacca6f 13778 "enum" : [
4d47f125
TL
13779 "other",
13780 "wxp",
13781 "w2k",
13782 "w2k3",
13783 "w2k8",
13784 "wvista",
13785 "win7",
13786 "win8",
13787 "win10",
13788 "l24",
13789 "l26",
13790 "solaris"
7aacca6f
DM
13791 ],
13792 "optional" : 1,
013dc89f 13793 "type" : "string",
4d47f125 13794 "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 13795 },
4d47f125
TL
13796 "parallel[n]" : {
13797 "description" : "Map host parallel devices (n is 0 to 2).",
13798 "optional" : 1,
13799 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 13800 "type" : "string",
4d47f125 13801 "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 13802 },
4d47f125
TL
13803 "protection" : {
13804 "default" : 0,
13805 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 13806 "optional" : 1,
013dc89f
DM
13807 "type" : "boolean",
13808 "typetext" : "<boolean>"
44660702 13809 },
4d47f125
TL
13810 "reboot" : {
13811 "default" : 1,
13812 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 13813 "optional" : 1,
013dc89f
DM
13814 "type" : "boolean",
13815 "typetext" : "<boolean>"
56122987 13816 },
4d47f125
TL
13817 "revert" : {
13818 "description" : "Revert a pending change.",
13819 "format" : "pve-configid-list",
13820 "optional" : 1,
013dc89f
DM
13821 "type" : "string",
13822 "typetext" : "<string>"
56122987 13823 },
4d47f125
TL
13824 "sata[n]" : {
13825 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
13826 "format" : {
13827 "aio" : {
13828 "description" : "AIO type to use.",
13829 "enum" : [
13830 "native",
13831 "threads"
13832 ],
13833 "optional" : 1,
13834 "type" : "string"
13835 },
13836 "backup" : {
13837 "description" : "Whether the drive should be included when making backups.",
13838 "optional" : 1,
13839 "type" : "boolean"
13840 },
13841 "bps" : {
13842 "description" : "Maximum r/w speed in bytes per second.",
13843 "format_description" : "bps",
13844 "optional" : 1,
13845 "type" : "integer"
13846 },
13847 "bps_max_length" : {
13848 "description" : "Maximum length of I/O bursts in seconds.",
13849 "format_description" : "seconds",
13850 "minimum" : 1,
13851 "optional" : 1,
13852 "type" : "integer"
13853 },
13854 "bps_rd" : {
13855 "description" : "Maximum read speed in bytes per second.",
13856 "format_description" : "bps",
13857 "optional" : 1,
13858 "type" : "integer"
13859 },
13860 "bps_rd_length" : {
13861 "alias" : "bps_rd_max_length"
13862 },
13863 "bps_rd_max_length" : {
13864 "description" : "Maximum length of read I/O bursts in seconds.",
13865 "format_description" : "seconds",
13866 "minimum" : 1,
13867 "optional" : 1,
13868 "type" : "integer"
13869 },
13870 "bps_wr" : {
13871 "description" : "Maximum write speed in bytes per second.",
13872 "format_description" : "bps",
13873 "optional" : 1,
13874 "type" : "integer"
13875 },
13876 "bps_wr_length" : {
13877 "alias" : "bps_wr_max_length"
13878 },
13879 "bps_wr_max_length" : {
13880 "description" : "Maximum length of write I/O bursts in seconds.",
13881 "format_description" : "seconds",
13882 "minimum" : 1,
13883 "optional" : 1,
13884 "type" : "integer"
13885 },
13886 "cache" : {
13887 "description" : "The drive's cache mode",
13888 "enum" : [
13889 "none",
13890 "writethrough",
13891 "writeback",
13892 "unsafe",
13893 "directsync"
13894 ],
13895 "optional" : 1,
13896 "type" : "string"
13897 },
13898 "cyls" : {
13899 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13900 "optional" : 1,
13901 "type" : "integer"
13902 },
13903 "detect_zeroes" : {
13904 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13905 "optional" : 1,
13906 "type" : "boolean"
13907 },
13908 "discard" : {
13909 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13910 "enum" : [
13911 "ignore",
13912 "on"
13913 ],
13914 "optional" : 1,
13915 "type" : "string"
13916 },
13917 "file" : {
13918 "default_key" : 1,
13919 "description" : "The drive's backing volume.",
13920 "format" : "pve-volume-id-or-qm-path",
13921 "format_description" : "volume",
13922 "type" : "string"
13923 },
13924 "format" : {
13925 "description" : "The drive's backing file's data format.",
13926 "enum" : [
13927 "raw",
13928 "cow",
13929 "qcow",
13930 "qed",
13931 "qcow2",
13932 "vmdk",
13933 "cloop"
13934 ],
13935 "optional" : 1,
13936 "type" : "string"
13937 },
13938 "heads" : {
13939 "description" : "Force the drive's physical geometry to have a specific head count.",
13940 "optional" : 1,
13941 "type" : "integer"
13942 },
13943 "iops" : {
13944 "description" : "Maximum r/w I/O in operations per second.",
13945 "format_description" : "iops",
13946 "optional" : 1,
13947 "type" : "integer"
13948 },
13949 "iops_max" : {
13950 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13951 "format_description" : "iops",
13952 "optional" : 1,
13953 "type" : "integer"
13954 },
13955 "iops_max_length" : {
13956 "description" : "Maximum length of I/O bursts in seconds.",
13957 "format_description" : "seconds",
13958 "minimum" : 1,
13959 "optional" : 1,
13960 "type" : "integer"
13961 },
13962 "iops_rd" : {
13963 "description" : "Maximum read I/O in operations per second.",
13964 "format_description" : "iops",
13965 "optional" : 1,
13966 "type" : "integer"
13967 },
13968 "iops_rd_length" : {
13969 "alias" : "iops_rd_max_length"
13970 },
13971 "iops_rd_max" : {
13972 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13973 "format_description" : "iops",
13974 "optional" : 1,
13975 "type" : "integer"
13976 },
13977 "iops_rd_max_length" : {
13978 "description" : "Maximum length of read I/O bursts in seconds.",
13979 "format_description" : "seconds",
13980 "minimum" : 1,
13981 "optional" : 1,
13982 "type" : "integer"
13983 },
13984 "iops_wr" : {
13985 "description" : "Maximum write I/O in operations per second.",
13986 "format_description" : "iops",
13987 "optional" : 1,
13988 "type" : "integer"
13989 },
13990 "iops_wr_length" : {
13991 "alias" : "iops_wr_max_length"
13992 },
13993 "iops_wr_max" : {
13994 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13995 "format_description" : "iops",
13996 "optional" : 1,
13997 "type" : "integer"
13998 },
13999 "iops_wr_max_length" : {
14000 "description" : "Maximum length of write I/O bursts in seconds.",
14001 "format_description" : "seconds",
14002 "minimum" : 1,
14003 "optional" : 1,
14004 "type" : "integer"
14005 },
14006 "mbps" : {
14007 "description" : "Maximum r/w speed in megabytes per second.",
14008 "format_description" : "mbps",
14009 "optional" : 1,
14010 "type" : "number"
14011 },
14012 "mbps_max" : {
14013 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
14014 "format_description" : "mbps",
14015 "optional" : 1,
14016 "type" : "number"
14017 },
14018 "mbps_rd" : {
14019 "description" : "Maximum read speed in megabytes per second.",
14020 "format_description" : "mbps",
14021 "optional" : 1,
14022 "type" : "number"
14023 },
14024 "mbps_rd_max" : {
14025 "description" : "Maximum unthrottled read pool in megabytes per second.",
14026 "format_description" : "mbps",
14027 "optional" : 1,
14028 "type" : "number"
14029 },
14030 "mbps_wr" : {
14031 "description" : "Maximum write speed in megabytes per second.",
14032 "format_description" : "mbps",
14033 "optional" : 1,
14034 "type" : "number"
14035 },
14036 "mbps_wr_max" : {
14037 "description" : "Maximum unthrottled write pool in megabytes per second.",
14038 "format_description" : "mbps",
14039 "optional" : 1,
14040 "type" : "number"
14041 },
14042 "media" : {
14043 "default" : "disk",
14044 "description" : "The drive's media type.",
14045 "enum" : [
14046 "cdrom",
14047 "disk"
14048 ],
14049 "optional" : 1,
14050 "type" : "string"
14051 },
14052 "replicate" : {
14053 "default" : 1,
14054 "description" : "Whether the drive should considered for replication jobs.",
14055 "optional" : 1,
14056 "type" : "boolean"
14057 },
14058 "rerror" : {
14059 "description" : "Read error action.",
14060 "enum" : [
14061 "ignore",
14062 "report",
14063 "stop"
14064 ],
14065 "optional" : 1,
14066 "type" : "string"
14067 },
14068 "secs" : {
14069 "description" : "Force the drive's physical geometry to have a specific sector count.",
14070 "optional" : 1,
14071 "type" : "integer"
14072 },
14073 "serial" : {
14074 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14075 "format" : "urlencoded",
14076 "format_description" : "serial",
14077 "maxLength" : 60,
14078 "optional" : 1,
14079 "type" : "string"
14080 },
14081 "shared" : {
14082 "default" : 0,
14083 "description" : "Mark this locally-managed volume as available on all nodes",
14084 "optional" : 1,
14085 "type" : "boolean",
14086 "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!"
14087 },
14088 "size" : {
14089 "description" : "Disk size. This is purely informational and has no effect.",
14090 "format" : "disk-size",
14091 "format_description" : "DiskSize",
14092 "optional" : 1,
14093 "type" : "string"
14094 },
14095 "snapshot" : {
14096 "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.",
14097 "optional" : 1,
14098 "type" : "boolean"
14099 },
25203dc1
NC
14100 "ssd" : {
14101 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14102 "optional" : 1,
14103 "type" : "boolean"
14104 },
4d47f125
TL
14105 "trans" : {
14106 "description" : "Force disk geometry bios translation mode.",
14107 "enum" : [
14108 "none",
14109 "lba",
14110 "auto"
14111 ],
14112 "optional" : 1,
14113 "type" : "string"
14114 },
14115 "volume" : {
14116 "alias" : "file"
14117 },
14118 "werror" : {
14119 "description" : "Write error action.",
14120 "enum" : [
14121 "enospc",
14122 "ignore",
14123 "report",
14124 "stop"
14125 ],
14126 "optional" : 1,
14127 "type" : "string"
95895385
TL
14128 },
14129 "wwn" : {
14130 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14131 "format_description" : "wwn",
14132 "optional" : 1,
14133 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14134 "type" : "string"
4d47f125
TL
14135 }
14136 },
14137 "optional" : 1,
14138 "type" : "string",
95895385 14139 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
14140 },
14141 "scsi[n]" : {
14142 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
14143 "format" : {
14144 "aio" : {
14145 "description" : "AIO type to use.",
14146 "enum" : [
14147 "native",
14148 "threads"
14149 ],
14150 "optional" : 1,
14151 "type" : "string"
14152 },
14153 "backup" : {
14154 "description" : "Whether the drive should be included when making backups.",
14155 "optional" : 1,
14156 "type" : "boolean"
14157 },
14158 "bps" : {
14159 "description" : "Maximum r/w speed in bytes per second.",
14160 "format_description" : "bps",
14161 "optional" : 1,
14162 "type" : "integer"
14163 },
14164 "bps_max_length" : {
14165 "description" : "Maximum length of I/O bursts in seconds.",
14166 "format_description" : "seconds",
14167 "minimum" : 1,
14168 "optional" : 1,
14169 "type" : "integer"
14170 },
14171 "bps_rd" : {
14172 "description" : "Maximum read speed in bytes per second.",
14173 "format_description" : "bps",
14174 "optional" : 1,
14175 "type" : "integer"
14176 },
14177 "bps_rd_length" : {
14178 "alias" : "bps_rd_max_length"
14179 },
14180 "bps_rd_max_length" : {
14181 "description" : "Maximum length of read I/O bursts in seconds.",
14182 "format_description" : "seconds",
14183 "minimum" : 1,
14184 "optional" : 1,
14185 "type" : "integer"
14186 },
14187 "bps_wr" : {
14188 "description" : "Maximum write speed in bytes per second.",
14189 "format_description" : "bps",
14190 "optional" : 1,
14191 "type" : "integer"
14192 },
14193 "bps_wr_length" : {
14194 "alias" : "bps_wr_max_length"
14195 },
14196 "bps_wr_max_length" : {
14197 "description" : "Maximum length of write I/O bursts in seconds.",
14198 "format_description" : "seconds",
14199 "minimum" : 1,
14200 "optional" : 1,
14201 "type" : "integer"
14202 },
14203 "cache" : {
14204 "description" : "The drive's cache mode",
14205 "enum" : [
14206 "none",
14207 "writethrough",
14208 "writeback",
14209 "unsafe",
14210 "directsync"
14211 ],
14212 "optional" : 1,
14213 "type" : "string"
14214 },
14215 "cyls" : {
14216 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14217 "optional" : 1,
14218 "type" : "integer"
14219 },
14220 "detect_zeroes" : {
14221 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14222 "optional" : 1,
14223 "type" : "boolean"
14224 },
14225 "discard" : {
14226 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14227 "enum" : [
14228 "ignore",
14229 "on"
14230 ],
14231 "optional" : 1,
14232 "type" : "string"
14233 },
14234 "file" : {
14235 "default_key" : 1,
14236 "description" : "The drive's backing volume.",
14237 "format" : "pve-volume-id-or-qm-path",
14238 "format_description" : "volume",
14239 "type" : "string"
14240 },
14241 "format" : {
14242 "description" : "The drive's backing file's data format.",
14243 "enum" : [
14244 "raw",
14245 "cow",
14246 "qcow",
14247 "qed",
14248 "qcow2",
14249 "vmdk",
14250 "cloop"
14251 ],
14252 "optional" : 1,
14253 "type" : "string"
14254 },
14255 "heads" : {
14256 "description" : "Force the drive's physical geometry to have a specific head count.",
14257 "optional" : 1,
14258 "type" : "integer"
14259 },
14260 "iops" : {
14261 "description" : "Maximum r/w I/O in operations per second.",
14262 "format_description" : "iops",
14263 "optional" : 1,
14264 "type" : "integer"
14265 },
14266 "iops_max" : {
14267 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
14268 "format_description" : "iops",
14269 "optional" : 1,
14270 "type" : "integer"
14271 },
14272 "iops_max_length" : {
14273 "description" : "Maximum length of I/O bursts in seconds.",
14274 "format_description" : "seconds",
14275 "minimum" : 1,
14276 "optional" : 1,
14277 "type" : "integer"
14278 },
14279 "iops_rd" : {
14280 "description" : "Maximum read I/O in operations per second.",
14281 "format_description" : "iops",
14282 "optional" : 1,
14283 "type" : "integer"
14284 },
14285 "iops_rd_length" : {
14286 "alias" : "iops_rd_max_length"
14287 },
14288 "iops_rd_max" : {
14289 "description" : "Maximum unthrottled read I/O pool in operations per second.",
14290 "format_description" : "iops",
14291 "optional" : 1,
14292 "type" : "integer"
14293 },
14294 "iops_rd_max_length" : {
14295 "description" : "Maximum length of read I/O bursts in seconds.",
14296 "format_description" : "seconds",
14297 "minimum" : 1,
14298 "optional" : 1,
14299 "type" : "integer"
14300 },
14301 "iops_wr" : {
14302 "description" : "Maximum write I/O in operations per second.",
14303 "format_description" : "iops",
14304 "optional" : 1,
14305 "type" : "integer"
14306 },
14307 "iops_wr_length" : {
14308 "alias" : "iops_wr_max_length"
14309 },
14310 "iops_wr_max" : {
14311 "description" : "Maximum unthrottled write I/O pool in operations per second.",
14312 "format_description" : "iops",
14313 "optional" : 1,
14314 "type" : "integer"
14315 },
14316 "iops_wr_max_length" : {
14317 "description" : "Maximum length of write I/O bursts in seconds.",
14318 "format_description" : "seconds",
14319 "minimum" : 1,
14320 "optional" : 1,
14321 "type" : "integer"
14322 },
14323 "iothread" : {
14324 "description" : "Whether to use iothreads for this drive",
14325 "optional" : 1,
14326 "type" : "boolean"
14327 },
14328 "mbps" : {
14329 "description" : "Maximum r/w speed in megabytes per second.",
14330 "format_description" : "mbps",
14331 "optional" : 1,
14332 "type" : "number"
14333 },
14334 "mbps_max" : {
14335 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
14336 "format_description" : "mbps",
14337 "optional" : 1,
14338 "type" : "number"
14339 },
14340 "mbps_rd" : {
14341 "description" : "Maximum read speed in megabytes per second.",
14342 "format_description" : "mbps",
14343 "optional" : 1,
14344 "type" : "number"
14345 },
14346 "mbps_rd_max" : {
14347 "description" : "Maximum unthrottled read pool in megabytes per second.",
14348 "format_description" : "mbps",
14349 "optional" : 1,
14350 "type" : "number"
14351 },
14352 "mbps_wr" : {
14353 "description" : "Maximum write speed in megabytes per second.",
14354 "format_description" : "mbps",
14355 "optional" : 1,
14356 "type" : "number"
14357 },
14358 "mbps_wr_max" : {
14359 "description" : "Maximum unthrottled write pool in megabytes per second.",
14360 "format_description" : "mbps",
14361 "optional" : 1,
14362 "type" : "number"
14363 },
14364 "media" : {
14365 "default" : "disk",
14366 "description" : "The drive's media type.",
14367 "enum" : [
14368 "cdrom",
14369 "disk"
14370 ],
14371 "optional" : 1,
14372 "type" : "string"
14373 },
14374 "queues" : {
14375 "description" : "Number of queues.",
14376 "minimum" : 2,
14377 "optional" : 1,
14378 "type" : "integer"
14379 },
14380 "replicate" : {
14381 "default" : 1,
14382 "description" : "Whether the drive should considered for replication jobs.",
14383 "optional" : 1,
14384 "type" : "boolean"
14385 },
14386 "rerror" : {
14387 "description" : "Read error action.",
14388 "enum" : [
14389 "ignore",
14390 "report",
14391 "stop"
14392 ],
14393 "optional" : 1,
14394 "type" : "string"
14395 },
14396 "scsiblock" : {
14397 "default" : 0,
14398 "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",
14399 "optional" : 1,
14400 "type" : "boolean"
14401 },
14402 "secs" : {
14403 "description" : "Force the drive's physical geometry to have a specific sector count.",
14404 "optional" : 1,
14405 "type" : "integer"
14406 },
14407 "serial" : {
14408 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14409 "format" : "urlencoded",
14410 "format_description" : "serial",
14411 "maxLength" : 60,
14412 "optional" : 1,
14413 "type" : "string"
14414 },
14415 "shared" : {
14416 "default" : 0,
14417 "description" : "Mark this locally-managed volume as available on all nodes",
14418 "optional" : 1,
14419 "type" : "boolean",
14420 "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!"
14421 },
14422 "size" : {
14423 "description" : "Disk size. This is purely informational and has no effect.",
14424 "format" : "disk-size",
14425 "format_description" : "DiskSize",
14426 "optional" : 1,
14427 "type" : "string"
14428 },
14429 "snapshot" : {
14430 "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.",
14431 "optional" : 1,
14432 "type" : "boolean"
14433 },
25203dc1
NC
14434 "ssd" : {
14435 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14436 "optional" : 1,
14437 "type" : "boolean"
14438 },
4d47f125
TL
14439 "trans" : {
14440 "description" : "Force disk geometry bios translation mode.",
14441 "enum" : [
14442 "none",
14443 "lba",
14444 "auto"
14445 ],
14446 "optional" : 1,
14447 "type" : "string"
14448 },
14449 "volume" : {
14450 "alias" : "file"
14451 },
14452 "werror" : {
14453 "description" : "Write error action.",
14454 "enum" : [
14455 "enospc",
14456 "ignore",
14457 "report",
14458 "stop"
14459 ],
14460 "optional" : 1,
14461 "type" : "string"
95895385
TL
14462 },
14463 "wwn" : {
14464 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14465 "format_description" : "wwn",
14466 "optional" : 1,
14467 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14468 "type" : "string"
4d47f125
TL
14469 }
14470 },
14471 "optional" : 1,
14472 "type" : "string",
95895385 14473 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
14474 },
14475 "scsihw" : {
14476 "default" : "lsi",
14477 "description" : "SCSI controller model",
14478 "enum" : [
14479 "lsi",
14480 "lsi53c810",
14481 "virtio-scsi-pci",
14482 "virtio-scsi-single",
14483 "megasas",
14484 "pvscsi"
14485 ],
14486 "optional" : 1,
14487 "type" : "string"
14488 },
14489 "searchdomain" : {
14490 "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.",
14491 "optional" : 1,
14492 "type" : "string",
14493 "typetext" : "<string>"
14494 },
14495 "serial[n]" : {
14496 "description" : "Create a serial device inside the VM (n is 0 to 3)",
14497 "optional" : 1,
14498 "pattern" : "(/dev/.+|socket)",
14499 "type" : "string",
14500 "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"
14501 },
14502 "shares" : {
14503 "default" : 1000,
14504 "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.",
14505 "maximum" : 50000,
14506 "minimum" : 0,
14507 "optional" : 1,
14508 "type" : "integer",
14509 "typetext" : "<integer> (0 - 50000)"
14510 },
14511 "skiplock" : {
14512 "description" : "Ignore locks - only root is allowed to use this option.",
14513 "optional" : 1,
14514 "type" : "boolean",
14515 "typetext" : "<boolean>"
14516 },
14517 "smbios1" : {
14518 "description" : "Specify SMBIOS type 1 fields.",
14519 "format" : "pve-qm-smbios1",
1e3f8156 14520 "maxLength" : 512,
4d47f125
TL
14521 "optional" : 1,
14522 "type" : "string",
1e3f8156 14523 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
4d47f125
TL
14524 },
14525 "smp" : {
14526 "default" : 1,
14527 "description" : "The number of CPUs. Please use option -sockets instead.",
14528 "minimum" : 1,
14529 "optional" : 1,
14530 "type" : "integer",
14531 "typetext" : "<integer> (1 - N)"
14532 },
14533 "sockets" : {
14534 "default" : 1,
14535 "description" : "The number of CPU sockets.",
14536 "minimum" : 1,
14537 "optional" : 1,
14538 "type" : "integer",
14539 "typetext" : "<integer> (1 - N)"
14540 },
14541 "sshkeys" : {
14542 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
14543 "format" : "urlencoded",
14544 "optional" : 1,
14545 "type" : "string",
14546 "typetext" : "<string>"
14547 },
14548 "startdate" : {
14549 "default" : "now",
14550 "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'.",
14551 "optional" : 1,
14552 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
14553 "type" : "string",
14554 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
14555 },
14556 "startup" : {
14557 "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.",
14558 "format" : "pve-startup-order",
14559 "optional" : 1,
14560 "type" : "string",
14561 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
14562 },
14563 "tablet" : {
14564 "default" : 1,
14565 "description" : "Enable/disable the USB tablet device.",
14566 "optional" : 1,
14567 "type" : "boolean",
14568 "typetext" : "<boolean>",
14569 "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)."
14570 },
14571 "tdf" : {
14572 "default" : 0,
14573 "description" : "Enable/disable time drift fix.",
14574 "optional" : 1,
14575 "type" : "boolean",
14576 "typetext" : "<boolean>"
14577 },
14578 "template" : {
14579 "default" : 0,
14580 "description" : "Enable/disable Template.",
14581 "optional" : 1,
14582 "type" : "boolean",
14583 "typetext" : "<boolean>"
14584 },
14585 "unused[n]" : {
14586 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
14587 "format" : "pve-volume-id",
14588 "optional" : 1,
14589 "type" : "string",
14590 "typetext" : "<string>"
14591 },
14592 "usb[n]" : {
14593 "description" : "Configure an USB device (n is 0 to 4).",
14594 "format" : {
14595 "host" : {
14596 "default_key" : 1,
14597 "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",
14598 "format" : "pve-qm-usb-device",
14599 "format_description" : "HOSTUSBDEVICE|spice",
14600 "type" : "string"
14601 },
14602 "usb3" : {
14603 "default" : 0,
14604 "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).",
14605 "optional" : 1,
14606 "type" : "boolean"
14607 }
14608 },
14609 "optional" : 1,
14610 "type" : "string",
14611 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
14612 },
14613 "vcpus" : {
14614 "default" : 0,
14615 "description" : "Number of hotplugged vcpus.",
14616 "minimum" : 1,
14617 "optional" : 1,
14618 "type" : "integer",
14619 "typetext" : "<integer> (1 - N)"
14620 },
14621 "vga" : {
e2d681b3
TL
14622 "description" : "Configure the VGA hardware.",
14623 "format" : {
14624 "memory" : {
14625 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
14626 "maximum" : 512,
14627 "minimum" : 4,
14628 "optional" : 1,
14629 "type" : "integer"
14630 },
14631 "type" : {
14632 "default" : "std",
14633 "default_key" : 1,
14634 "description" : "Select the VGA type.",
14635 "enum" : [
14636 "cirrus",
14637 "qxl",
14638 "qxl2",
14639 "qxl3",
14640 "qxl4",
5f26e15b 14641 "none",
e2d681b3
TL
14642 "serial0",
14643 "serial1",
14644 "serial2",
14645 "serial3",
14646 "std",
14647 "virtio",
14648 "vmware"
14649 ],
14650 "optional" : 1,
14651 "type" : "string"
14652 }
14653 },
4d47f125
TL
14654 "optional" : 1,
14655 "type" : "string",
e2d681b3
TL
14656 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
14657 "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
14658 },
14659 "virtio[n]" : {
14660 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
14661 "format" : {
14662 "aio" : {
14663 "description" : "AIO type to use.",
14664 "enum" : [
14665 "native",
14666 "threads"
14667 ],
14668 "optional" : 1,
14669 "type" : "string"
14670 },
14671 "backup" : {
14672 "description" : "Whether the drive should be included when making backups.",
14673 "optional" : 1,
14674 "type" : "boolean"
14675 },
14676 "bps" : {
14677 "description" : "Maximum r/w speed in bytes per second.",
14678 "format_description" : "bps",
14679 "optional" : 1,
14680 "type" : "integer"
14681 },
14682 "bps_max_length" : {
14683 "description" : "Maximum length of I/O bursts in seconds.",
14684 "format_description" : "seconds",
14685 "minimum" : 1,
14686 "optional" : 1,
14687 "type" : "integer"
14688 },
14689 "bps_rd" : {
14690 "description" : "Maximum read speed in bytes per second.",
14691 "format_description" : "bps",
14692 "optional" : 1,
14693 "type" : "integer"
14694 },
14695 "bps_rd_length" : {
14696 "alias" : "bps_rd_max_length"
14697 },
14698 "bps_rd_max_length" : {
14699 "description" : "Maximum length of read I/O bursts in seconds.",
14700 "format_description" : "seconds",
14701 "minimum" : 1,
14702 "optional" : 1,
14703 "type" : "integer"
14704 },
14705 "bps_wr" : {
14706 "description" : "Maximum write speed in bytes per second.",
14707 "format_description" : "bps",
14708 "optional" : 1,
14709 "type" : "integer"
14710 },
14711 "bps_wr_length" : {
14712 "alias" : "bps_wr_max_length"
14713 },
14714 "bps_wr_max_length" : {
14715 "description" : "Maximum length of write I/O bursts in seconds.",
14716 "format_description" : "seconds",
14717 "minimum" : 1,
14718 "optional" : 1,
14719 "type" : "integer"
14720 },
14721 "cache" : {
14722 "description" : "The drive's cache mode",
14723 "enum" : [
14724 "none",
14725 "writethrough",
14726 "writeback",
14727 "unsafe",
14728 "directsync"
14729 ],
14730 "optional" : 1,
14731 "type" : "string"
14732 },
14733 "cyls" : {
14734 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14735 "optional" : 1,
14736 "type" : "integer"
14737 },
14738 "detect_zeroes" : {
14739 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14740 "optional" : 1,
14741 "type" : "boolean"
14742 },
14743 "discard" : {
14744 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14745 "enum" : [
14746 "ignore",
14747 "on"
14748 ],
14749 "optional" : 1,
14750 "type" : "string"
14751 },
14752 "file" : {
14753 "default_key" : 1,
14754 "description" : "The drive's backing volume.",
14755 "format" : "pve-volume-id-or-qm-path",
14756 "format_description" : "volume",
14757 "type" : "string"
14758 },
14759 "format" : {
14760 "description" : "The drive's backing file's data format.",
14761 "enum" : [
14762 "raw",
14763 "cow",
14764 "qcow",
14765 "qed",
14766 "qcow2",
14767 "vmdk",
14768 "cloop"
14769 ],
14770 "optional" : 1,
14771 "type" : "string"
14772 },
14773 "heads" : {
14774 "description" : "Force the drive's physical geometry to have a specific head count.",
14775 "optional" : 1,
14776 "type" : "integer"
14777 },
14778 "iops" : {
14779 "description" : "Maximum r/w I/O in operations per second.",
14780 "format_description" : "iops",
14781 "optional" : 1,
14782 "type" : "integer"
14783 },
14784 "iops_max" : {
14785 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
14786 "format_description" : "iops",
14787 "optional" : 1,
14788 "type" : "integer"
14789 },
14790 "iops_max_length" : {
14791 "description" : "Maximum length of I/O bursts in seconds.",
14792 "format_description" : "seconds",
14793 "minimum" : 1,
14794 "optional" : 1,
14795 "type" : "integer"
14796 },
14797 "iops_rd" : {
14798 "description" : "Maximum read I/O in operations per second.",
14799 "format_description" : "iops",
14800 "optional" : 1,
14801 "type" : "integer"
14802 },
14803 "iops_rd_length" : {
14804 "alias" : "iops_rd_max_length"
14805 },
14806 "iops_rd_max" : {
14807 "description" : "Maximum unthrottled read I/O pool in operations per second.",
14808 "format_description" : "iops",
14809 "optional" : 1,
14810 "type" : "integer"
14811 },
14812 "iops_rd_max_length" : {
14813 "description" : "Maximum length of read I/O bursts in seconds.",
14814 "format_description" : "seconds",
14815 "minimum" : 1,
14816 "optional" : 1,
14817 "type" : "integer"
14818 },
14819 "iops_wr" : {
14820 "description" : "Maximum write I/O in operations per second.",
14821 "format_description" : "iops",
14822 "optional" : 1,
14823 "type" : "integer"
14824 },
14825 "iops_wr_length" : {
14826 "alias" : "iops_wr_max_length"
14827 },
14828 "iops_wr_max" : {
14829 "description" : "Maximum unthrottled write I/O pool in operations per second.",
14830 "format_description" : "iops",
14831 "optional" : 1,
14832 "type" : "integer"
14833 },
14834 "iops_wr_max_length" : {
14835 "description" : "Maximum length of write I/O bursts in seconds.",
14836 "format_description" : "seconds",
14837 "minimum" : 1,
14838 "optional" : 1,
14839 "type" : "integer"
14840 },
14841 "iothread" : {
14842 "description" : "Whether to use iothreads for this drive",
14843 "optional" : 1,
14844 "type" : "boolean"
14845 },
14846 "mbps" : {
14847 "description" : "Maximum r/w speed in megabytes per second.",
14848 "format_description" : "mbps",
14849 "optional" : 1,
14850 "type" : "number"
14851 },
14852 "mbps_max" : {
14853 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
14854 "format_description" : "mbps",
14855 "optional" : 1,
14856 "type" : "number"
14857 },
14858 "mbps_rd" : {
14859 "description" : "Maximum read speed in megabytes per second.",
14860 "format_description" : "mbps",
14861 "optional" : 1,
14862 "type" : "number"
14863 },
14864 "mbps_rd_max" : {
14865 "description" : "Maximum unthrottled read pool in megabytes per second.",
14866 "format_description" : "mbps",
14867 "optional" : 1,
14868 "type" : "number"
14869 },
14870 "mbps_wr" : {
14871 "description" : "Maximum write speed in megabytes per second.",
14872 "format_description" : "mbps",
14873 "optional" : 1,
14874 "type" : "number"
14875 },
14876 "mbps_wr_max" : {
14877 "description" : "Maximum unthrottled write pool in megabytes per second.",
14878 "format_description" : "mbps",
14879 "optional" : 1,
14880 "type" : "number"
14881 },
14882 "media" : {
14883 "default" : "disk",
14884 "description" : "The drive's media type.",
14885 "enum" : [
14886 "cdrom",
14887 "disk"
14888 ],
14889 "optional" : 1,
14890 "type" : "string"
14891 },
14892 "replicate" : {
14893 "default" : 1,
14894 "description" : "Whether the drive should considered for replication jobs.",
14895 "optional" : 1,
14896 "type" : "boolean"
14897 },
14898 "rerror" : {
14899 "description" : "Read error action.",
14900 "enum" : [
14901 "ignore",
14902 "report",
14903 "stop"
14904 ],
14905 "optional" : 1,
14906 "type" : "string"
14907 },
14908 "secs" : {
14909 "description" : "Force the drive's physical geometry to have a specific sector count.",
14910 "optional" : 1,
14911 "type" : "integer"
14912 },
14913 "serial" : {
14914 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14915 "format" : "urlencoded",
14916 "format_description" : "serial",
14917 "maxLength" : 60,
14918 "optional" : 1,
14919 "type" : "string"
14920 },
14921 "shared" : {
14922 "default" : 0,
14923 "description" : "Mark this locally-managed volume as available on all nodes",
14924 "optional" : 1,
14925 "type" : "boolean",
14926 "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!"
14927 },
14928 "size" : {
14929 "description" : "Disk size. This is purely informational and has no effect.",
14930 "format" : "disk-size",
14931 "format_description" : "DiskSize",
14932 "optional" : 1,
14933 "type" : "string"
14934 },
14935 "snapshot" : {
14936 "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.",
14937 "optional" : 1,
14938 "type" : "boolean"
14939 },
14940 "trans" : {
14941 "description" : "Force disk geometry bios translation mode.",
14942 "enum" : [
14943 "none",
14944 "lba",
14945 "auto"
14946 ],
14947 "optional" : 1,
14948 "type" : "string"
14949 },
14950 "volume" : {
14951 "alias" : "file"
14952 },
14953 "werror" : {
14954 "description" : "Write error action.",
14955 "enum" : [
14956 "enospc",
14957 "ignore",
14958 "report",
14959 "stop"
14960 ],
14961 "optional" : 1,
14962 "type" : "string"
14963 }
14964 },
14965 "optional" : 1,
14966 "type" : "string",
14967 "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>]"
14968 },
14969 "vmgenid" : {
14970 "default" : "1 (autogenerated)",
14971 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
14972 "format_description" : "UUID",
14973 "optional" : 1,
14974 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
14975 "type" : "string",
14976 "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."
14977 },
14978 "vmid" : {
14979 "description" : "The (unique) ID of the VM.",
14980 "format" : "pve-vmid",
14981 "minimum" : 1,
14982 "type" : "integer",
14983 "typetext" : "<integer> (1 - N)"
14984 },
14985 "vmstatestorage" : {
14986 "description" : "Default storage for VM state volumes/files.",
14987 "format" : "pve-storage-id",
14988 "optional" : 1,
14989 "type" : "string",
14990 "typetext" : "<string>"
14991 },
14992 "watchdog" : {
14993 "description" : "Create a virtual hardware watchdog device.",
14994 "format" : "pve-qm-watchdog",
14995 "optional" : 1,
14996 "type" : "string",
14997 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
14998 "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)"
14999 }
15000 }
15001 },
15002 "permissions" : {
15003 "check" : [
15004 "perm",
15005 "/vms/{vmid}",
15006 [
15007 "VM.Config.Disk",
15008 "VM.Config.CDROM",
15009 "VM.Config.CPU",
15010 "VM.Config.Memory",
15011 "VM.Config.Network",
15012 "VM.Config.HWType",
15013 "VM.Config.Options"
15014 ],
15015 "any",
15016 1
15017 ]
15018 },
15019 "protected" : 1,
15020 "proxyto" : "node",
15021 "returns" : {
15022 "type" : "null"
15023 }
15024 }
15025 },
15026 "leaf" : 1,
15027 "path" : "/nodes/{node}/qemu/{vmid}/config",
15028 "text" : "config"
15029 },
15030 {
15031 "info" : {
15032 "GET" : {
15033 "description" : "Get virtual machine configuration, including pending changes.",
15034 "method" : "GET",
15035 "name" : "vm_pending",
15036 "parameters" : {
15037 "additionalProperties" : 0,
15038 "properties" : {
15039 "node" : {
15040 "description" : "The cluster node name.",
15041 "format" : "pve-node",
15042 "type" : "string",
15043 "typetext" : "<string>"
15044 },
15045 "vmid" : {
15046 "description" : "The (unique) ID of the VM.",
15047 "format" : "pve-vmid",
15048 "minimum" : 1,
15049 "type" : "integer",
15050 "typetext" : "<integer> (1 - N)"
15051 }
15052 }
15053 },
15054 "permissions" : {
15055 "check" : [
15056 "perm",
15057 "/vms/{vmid}",
15058 [
15059 "VM.Audit"
15060 ]
15061 ]
15062 },
15063 "proxyto" : "node",
15064 "returns" : {
15065 "items" : {
15066 "properties" : {
15067 "delete" : {
15068 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
15069 "maximum" : 2,
15070 "minimum" : 0,
15071 "optional" : 1,
15072 "type" : "integer"
15073 },
15074 "key" : {
15075 "description" : "Configuration option name.",
15076 "type" : "string"
15077 },
15078 "pending" : {
15079 "description" : "Pending value.",
15080 "optional" : 1,
15081 "type" : "string"
15082 },
15083 "value" : {
15084 "description" : "Current value.",
15085 "optional" : 1,
15086 "type" : "string"
15087 }
15088 },
15089 "type" : "object"
15090 },
15091 "type" : "array"
15092 }
15093 }
15094 },
15095 "leaf" : 1,
15096 "path" : "/nodes/{node}/qemu/{vmid}/pending",
15097 "text" : "pending"
15098 },
15099 {
15100 "info" : {
15101 "PUT" : {
15102 "description" : "Unlink/delete disk images.",
15103 "method" : "PUT",
15104 "name" : "unlink",
15105 "parameters" : {
15106 "additionalProperties" : 0,
15107 "properties" : {
15108 "force" : {
15109 "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.",
15110 "optional" : 1,
15111 "type" : "boolean",
15112 "typetext" : "<boolean>"
15113 },
15114 "idlist" : {
15115 "description" : "A list of disk IDs you want to delete.",
15116 "format" : "pve-configid-list",
15117 "type" : "string",
15118 "typetext" : "<string>"
15119 },
15120 "node" : {
15121 "description" : "The cluster node name.",
15122 "format" : "pve-node",
15123 "type" : "string",
15124 "typetext" : "<string>"
15125 },
15126 "vmid" : {
15127 "description" : "The (unique) ID of the VM.",
15128 "format" : "pve-vmid",
15129 "minimum" : 1,
15130 "type" : "integer",
15131 "typetext" : "<integer> (1 - N)"
15132 }
15133 }
15134 },
15135 "permissions" : {
15136 "check" : [
15137 "perm",
15138 "/vms/{vmid}",
15139 [
15140 "VM.Config.Disk"
15141 ]
15142 ]
15143 },
15144 "protected" : 1,
15145 "proxyto" : "node",
15146 "returns" : {
15147 "type" : "null"
15148 }
15149 }
15150 },
15151 "leaf" : 1,
15152 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
15153 "text" : "unlink"
15154 },
15155 {
15156 "info" : {
15157 "POST" : {
15158 "description" : "Creates a TCP VNC proxy connections.",
15159 "method" : "POST",
15160 "name" : "vncproxy",
15161 "parameters" : {
15162 "additionalProperties" : 0,
15163 "properties" : {
15164 "node" : {
15165 "description" : "The cluster node name.",
15166 "format" : "pve-node",
15167 "type" : "string",
15168 "typetext" : "<string>"
15169 },
15170 "vmid" : {
15171 "description" : "The (unique) ID of the VM.",
15172 "format" : "pve-vmid",
15173 "minimum" : 1,
15174 "type" : "integer",
15175 "typetext" : "<integer> (1 - N)"
15176 },
15177 "websocket" : {
15178 "description" : "starts websockify instead of vncproxy",
15179 "optional" : 1,
15180 "type" : "boolean",
15181 "typetext" : "<boolean>"
15182 }
15183 }
15184 },
15185 "permissions" : {
15186 "check" : [
15187 "perm",
15188 "/vms/{vmid}",
15189 [
15190 "VM.Console"
15191 ]
15192 ]
15193 },
15194 "protected" : 1,
15195 "returns" : {
15196 "additionalProperties" : 0,
15197 "properties" : {
15198 "cert" : {
15199 "type" : "string"
15200 },
15201 "port" : {
15202 "type" : "integer"
15203 },
15204 "ticket" : {
15205 "type" : "string"
15206 },
15207 "upid" : {
15208 "type" : "string"
15209 },
15210 "user" : {
15211 "type" : "string"
15212 }
15213 }
15214 }
15215 }
15216 },
15217 "leaf" : 1,
15218 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
15219 "text" : "vncproxy"
15220 },
15221 {
15222 "info" : {
15223 "POST" : {
15224 "description" : "Creates a TCP proxy connections.",
15225 "method" : "POST",
15226 "name" : "termproxy",
15227 "parameters" : {
15228 "additionalProperties" : 0,
15229 "properties" : {
15230 "node" : {
15231 "description" : "The cluster node name.",
15232 "format" : "pve-node",
15233 "type" : "string",
15234 "typetext" : "<string>"
15235 },
15236 "serial" : {
15237 "description" : "opens a serial terminal (defaults to display)",
15238 "enum" : [
15239 "serial0",
15240 "serial1",
15241 "serial2",
15242 "serial3"
15243 ],
15244 "optional" : 1,
15245 "type" : "string"
15246 },
15247 "vmid" : {
15248 "description" : "The (unique) ID of the VM.",
15249 "format" : "pve-vmid",
15250 "minimum" : 1,
15251 "type" : "integer",
15252 "typetext" : "<integer> (1 - N)"
15253 }
15254 }
15255 },
15256 "permissions" : {
15257 "check" : [
15258 "perm",
15259 "/vms/{vmid}",
15260 [
15261 "VM.Console"
15262 ]
15263 ]
15264 },
15265 "protected" : 1,
15266 "returns" : {
15267 "additionalProperties" : 0,
15268 "properties" : {
15269 "port" : {
15270 "type" : "integer"
15271 },
15272 "ticket" : {
15273 "type" : "string"
15274 },
15275 "upid" : {
15276 "type" : "string"
15277 },
15278 "user" : {
15279 "type" : "string"
15280 }
15281 }
15282 }
15283 }
15284 },
15285 "leaf" : 1,
15286 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
15287 "text" : "termproxy"
15288 },
15289 {
15290 "info" : {
15291 "GET" : {
15292 "description" : "Opens a weksocket for VNC traffic.",
15293 "method" : "GET",
15294 "name" : "vncwebsocket",
15295 "parameters" : {
15296 "additionalProperties" : 0,
15297 "properties" : {
15298 "node" : {
15299 "description" : "The cluster node name.",
15300 "format" : "pve-node",
15301 "type" : "string",
15302 "typetext" : "<string>"
15303 },
15304 "port" : {
15305 "description" : "Port number returned by previous vncproxy call.",
15306 "maximum" : 5999,
15307 "minimum" : 5900,
15308 "type" : "integer",
15309 "typetext" : "<integer> (5900 - 5999)"
15310 },
15311 "vmid" : {
15312 "description" : "The (unique) ID of the VM.",
15313 "format" : "pve-vmid",
15314 "minimum" : 1,
15315 "type" : "integer",
15316 "typetext" : "<integer> (1 - N)"
15317 },
15318 "vncticket" : {
15319 "description" : "Ticket from previous call to vncproxy.",
15320 "maxLength" : 512,
15321 "type" : "string",
15322 "typetext" : "<string>"
15323 }
15324 }
15325 },
15326 "permissions" : {
15327 "check" : [
15328 "perm",
15329 "/vms/{vmid}",
15330 [
15331 "VM.Console"
15332 ]
15333 ],
15334 "description" : "You also need to pass a valid ticket (vncticket)."
15335 },
15336 "returns" : {
15337 "properties" : {
15338 "port" : {
15339 "type" : "string"
15340 }
15341 },
15342 "type" : "object"
15343 }
15344 }
15345 },
15346 "leaf" : 1,
15347 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
15348 "text" : "vncwebsocket"
15349 },
15350 {
15351 "info" : {
15352 "POST" : {
15353 "description" : "Returns a SPICE configuration to connect to the VM.",
15354 "method" : "POST",
15355 "name" : "spiceproxy",
15356 "parameters" : {
15357 "additionalProperties" : 0,
15358 "properties" : {
15359 "node" : {
15360 "description" : "The cluster node name.",
15361 "format" : "pve-node",
15362 "type" : "string",
15363 "typetext" : "<string>"
15364 },
15365 "proxy" : {
15366 "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).",
15367 "format" : "address",
15368 "optional" : 1,
15369 "type" : "string",
15370 "typetext" : "<string>"
15371 },
15372 "vmid" : {
15373 "description" : "The (unique) ID of the VM.",
15374 "format" : "pve-vmid",
15375 "minimum" : 1,
15376 "type" : "integer",
15377 "typetext" : "<integer> (1 - N)"
15378 }
15379 }
15380 },
15381 "permissions" : {
15382 "check" : [
15383 "perm",
15384 "/vms/{vmid}",
15385 [
15386 "VM.Console"
15387 ]
15388 ]
15389 },
15390 "protected" : 1,
15391 "proxyto" : "node",
15392 "returns" : {
15393 "additionalProperties" : 1,
15394 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
15395 "properties" : {
15396 "host" : {
15397 "type" : "string"
15398 },
15399 "password" : {
15400 "type" : "string"
15401 },
15402 "proxy" : {
15403 "type" : "string"
15404 },
15405 "tls-port" : {
15406 "type" : "integer"
15407 },
15408 "type" : {
15409 "type" : "string"
15410 }
15411 }
15412 }
15413 }
15414 },
15415 "leaf" : 1,
15416 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
15417 "text" : "spiceproxy"
15418 },
15419 {
15420 "children" : [
15421 {
15422 "info" : {
15423 "GET" : {
15424 "description" : "Get virtual machine status.",
15425 "method" : "GET",
15426 "name" : "vm_status",
15427 "parameters" : {
15428 "additionalProperties" : 0,
15429 "properties" : {
15430 "node" : {
15431 "description" : "The cluster node name.",
15432 "format" : "pve-node",
15433 "type" : "string",
15434 "typetext" : "<string>"
15435 },
15436 "vmid" : {
15437 "description" : "The (unique) ID of the VM.",
15438 "format" : "pve-vmid",
15439 "minimum" : 1,
15440 "type" : "integer",
15441 "typetext" : "<integer> (1 - N)"
15442 }
15443 }
15444 },
15445 "permissions" : {
15446 "check" : [
15447 "perm",
15448 "/vms/{vmid}",
15449 [
15450 "VM.Audit"
15451 ]
15452 ]
15453 },
15454 "protected" : 1,
15455 "proxyto" : "node",
15456 "returns" : {
15457 "properties" : {
15458 "agent" : {
15459 "description" : "Qemu GuestAgent enabled in config.",
15460 "optional" : 1,
15461 "type" : "boolean"
15462 },
15463 "cpus" : {
15464 "description" : "Maximum usable CPUs.",
15465 "optional" : 1,
15466 "type" : "number"
15467 },
15468 "ha" : {
15469 "description" : "HA manager service status.",
15470 "type" : "object"
15471 },
95895385
TL
15472 "lock" : {
15473 "description" : "The current config lock, if any.",
15474 "optional" : 1,
15475 "type" : "string"
15476 },
4d47f125
TL
15477 "maxdisk" : {
15478 "description" : "Root disk size in bytes.",
15479 "optional" : 1,
15480 "renderer" : "bytes",
15481 "type" : "integer"
15482 },
15483 "maxmem" : {
15484 "description" : "Maximum memory in bytes.",
15485 "optional" : 1,
15486 "renderer" : "bytes",
15487 "type" : "integer"
15488 },
15489 "name" : {
15490 "description" : "VM name.",
15491 "optional" : 1,
15492 "type" : "string"
15493 },
15494 "pid" : {
15495 "description" : "PID of running qemu process.",
15496 "optional" : 1,
15497 "type" : "integer"
15498 },
15499 "qmpstatus" : {
15500 "description" : "Qemu QMP agent status.",
15501 "optional" : 1,
15502 "type" : "string"
15503 },
15504 "spice" : {
15505 "description" : "Qemu VGA configuration supports spice.",
15506 "optional" : 1,
15507 "type" : "boolean"
15508 },
15509 "status" : {
15510 "description" : "Qemu process status.",
15511 "enum" : [
15512 "stopped",
15513 "running"
15514 ],
15515 "type" : "string"
15516 },
15517 "uptime" : {
15518 "description" : "Uptime.",
15519 "optional" : 1,
15520 "renderer" : "duration",
15521 "type" : "integer"
15522 },
15523 "vmid" : {
15524 "description" : "The (unique) ID of the VM.",
15525 "format" : "pve-vmid",
15526 "minimum" : 1,
15527 "type" : "integer"
15528 }
15529 },
15530 "type" : "object"
15531 }
15532 }
15533 },
15534 "leaf" : 1,
15535 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
15536 "text" : "current"
15537 },
15538 {
15539 "info" : {
15540 "POST" : {
15541 "description" : "Start virtual machine.",
15542 "method" : "POST",
15543 "name" : "vm_start",
15544 "parameters" : {
15545 "additionalProperties" : 0,
15546 "properties" : {
15547 "machine" : {
15548 "description" : "Specifies the Qemu machine type.",
15549 "maxLength" : 40,
15550 "optional" : 1,
e2d681b3 15551 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
4d47f125
TL
15552 "type" : "string"
15553 },
15554 "migratedfrom" : {
15555 "description" : "The cluster node name.",
15556 "format" : "pve-node",
15557 "optional" : 1,
15558 "type" : "string",
15559 "typetext" : "<string>"
15560 },
15561 "migration_network" : {
15562 "description" : "CIDR of the (sub) network that is used for migration.",
15563 "format" : "CIDR",
15564 "optional" : 1,
15565 "type" : "string",
15566 "typetext" : "<string>"
15567 },
15568 "migration_type" : {
15569 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
15570 "enum" : [
15571 "secure",
15572 "insecure"
15573 ],
15574 "optional" : 1,
15575 "type" : "string"
15576 },
15577 "node" : {
15578 "description" : "The cluster node name.",
15579 "format" : "pve-node",
15580 "type" : "string",
15581 "typetext" : "<string>"
15582 },
15583 "skiplock" : {
15584 "description" : "Ignore locks - only root is allowed to use this option.",
15585 "optional" : 1,
15586 "type" : "boolean",
15587 "typetext" : "<boolean>"
15588 },
15589 "stateuri" : {
15590 "description" : "Some command save/restore state from this location.",
15591 "maxLength" : 128,
15592 "optional" : 1,
15593 "type" : "string",
15594 "typetext" : "<string>"
15595 },
15596 "targetstorage" : {
15597 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
15598 "optional" : 1,
15599 "type" : "string",
15600 "typetext" : "<string>"
15601 },
15602 "vmid" : {
15603 "description" : "The (unique) ID of the VM.",
15604 "format" : "pve-vmid",
15605 "minimum" : 1,
15606 "type" : "integer",
15607 "typetext" : "<integer> (1 - N)"
15608 }
15609 }
15610 },
15611 "permissions" : {
15612 "check" : [
15613 "perm",
15614 "/vms/{vmid}",
15615 [
15616 "VM.PowerMgmt"
15617 ]
15618 ]
15619 },
15620 "protected" : 1,
15621 "proxyto" : "node",
15622 "returns" : {
15623 "type" : "string"
15624 }
15625 }
15626 },
15627 "leaf" : 1,
15628 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
15629 "text" : "start"
15630 },
15631 {
15632 "info" : {
15633 "POST" : {
15634 "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",
15635 "method" : "POST",
15636 "name" : "vm_stop",
15637 "parameters" : {
15638 "additionalProperties" : 0,
15639 "properties" : {
15640 "keepActive" : {
15641 "default" : 0,
15642 "description" : "Do not deactivate storage volumes.",
15643 "optional" : 1,
15644 "type" : "boolean",
15645 "typetext" : "<boolean>"
15646 },
15647 "migratedfrom" : {
15648 "description" : "The cluster node name.",
15649 "format" : "pve-node",
15650 "optional" : 1,
15651 "type" : "string",
15652 "typetext" : "<string>"
15653 },
15654 "node" : {
15655 "description" : "The cluster node name.",
15656 "format" : "pve-node",
15657 "type" : "string",
15658 "typetext" : "<string>"
15659 },
15660 "skiplock" : {
15661 "description" : "Ignore locks - only root is allowed to use this option.",
15662 "optional" : 1,
15663 "type" : "boolean",
15664 "typetext" : "<boolean>"
15665 },
15666 "timeout" : {
15667 "description" : "Wait maximal timeout seconds.",
15668 "minimum" : 0,
15669 "optional" : 1,
15670 "type" : "integer",
15671 "typetext" : "<integer> (0 - N)"
15672 },
15673 "vmid" : {
15674 "description" : "The (unique) ID of the VM.",
15675 "format" : "pve-vmid",
15676 "minimum" : 1,
15677 "type" : "integer",
15678 "typetext" : "<integer> (1 - N)"
15679 }
15680 }
15681 },
15682 "permissions" : {
15683 "check" : [
15684 "perm",
15685 "/vms/{vmid}",
15686 [
15687 "VM.PowerMgmt"
15688 ]
15689 ]
15690 },
15691 "protected" : 1,
15692 "proxyto" : "node",
15693 "returns" : {
15694 "type" : "string"
15695 }
15696 }
15697 },
15698 "leaf" : 1,
15699 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
15700 "text" : "stop"
15701 },
15702 {
15703 "info" : {
15704 "POST" : {
15705 "description" : "Reset virtual machine.",
15706 "method" : "POST",
15707 "name" : "vm_reset",
15708 "parameters" : {
15709 "additionalProperties" : 0,
15710 "properties" : {
15711 "node" : {
15712 "description" : "The cluster node name.",
15713 "format" : "pve-node",
15714 "type" : "string",
15715 "typetext" : "<string>"
15716 },
15717 "skiplock" : {
15718 "description" : "Ignore locks - only root is allowed to use this option.",
15719 "optional" : 1,
15720 "type" : "boolean",
15721 "typetext" : "<boolean>"
15722 },
15723 "vmid" : {
15724 "description" : "The (unique) ID of the VM.",
15725 "format" : "pve-vmid",
15726 "minimum" : 1,
15727 "type" : "integer",
15728 "typetext" : "<integer> (1 - N)"
15729 }
15730 }
15731 },
15732 "permissions" : {
15733 "check" : [
15734 "perm",
15735 "/vms/{vmid}",
15736 [
15737 "VM.PowerMgmt"
15738 ]
15739 ]
15740 },
15741 "protected" : 1,
15742 "proxyto" : "node",
15743 "returns" : {
15744 "type" : "string"
15745 }
15746 }
15747 },
15748 "leaf" : 1,
15749 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
15750 "text" : "reset"
15751 },
15752 {
15753 "info" : {
15754 "POST" : {
15755 "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.",
15756 "method" : "POST",
15757 "name" : "vm_shutdown",
15758 "parameters" : {
15759 "additionalProperties" : 0,
15760 "properties" : {
15761 "forceStop" : {
15762 "default" : 0,
15763 "description" : "Make sure the VM stops.",
15764 "optional" : 1,
15765 "type" : "boolean",
15766 "typetext" : "<boolean>"
15767 },
15768 "keepActive" : {
15769 "default" : 0,
15770 "description" : "Do not deactivate storage volumes.",
15771 "optional" : 1,
15772 "type" : "boolean",
15773 "typetext" : "<boolean>"
15774 },
15775 "node" : {
15776 "description" : "The cluster node name.",
15777 "format" : "pve-node",
15778 "type" : "string",
15779 "typetext" : "<string>"
15780 },
15781 "skiplock" : {
15782 "description" : "Ignore locks - only root is allowed to use this option.",
15783 "optional" : 1,
15784 "type" : "boolean",
15785 "typetext" : "<boolean>"
15786 },
15787 "timeout" : {
15788 "description" : "Wait maximal timeout seconds.",
15789 "minimum" : 0,
15790 "optional" : 1,
15791 "type" : "integer",
15792 "typetext" : "<integer> (0 - N)"
15793 },
15794 "vmid" : {
15795 "description" : "The (unique) ID of the VM.",
15796 "format" : "pve-vmid",
15797 "minimum" : 1,
15798 "type" : "integer",
15799 "typetext" : "<integer> (1 - N)"
15800 }
15801 }
15802 },
15803 "permissions" : {
15804 "check" : [
15805 "perm",
15806 "/vms/{vmid}",
15807 [
15808 "VM.PowerMgmt"
15809 ]
15810 ]
15811 },
15812 "protected" : 1,
15813 "proxyto" : "node",
15814 "returns" : {
15815 "type" : "string"
15816 }
15817 }
15818 },
15819 "leaf" : 1,
15820 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
15821 "text" : "shutdown"
15822 },
15823 {
15824 "info" : {
15825 "POST" : {
15826 "description" : "Suspend virtual machine.",
15827 "method" : "POST",
15828 "name" : "vm_suspend",
15829 "parameters" : {
15830 "additionalProperties" : 0,
15831 "properties" : {
15832 "node" : {
15833 "description" : "The cluster node name.",
15834 "format" : "pve-node",
15835 "type" : "string",
15836 "typetext" : "<string>"
15837 },
15838 "skiplock" : {
15839 "description" : "Ignore locks - only root is allowed to use this option.",
15840 "optional" : 1,
15841 "type" : "boolean",
15842 "typetext" : "<boolean>"
15843 },
95895385
TL
15844 "statestorage" : {
15845 "description" : "The storage for the VM state",
15846 "format" : "pve-storage-id",
15847 "optional" : 1,
15848 "requires" : "todisk",
15849 "type" : "string",
15850 "typetext" : "<string>"
15851 },
15852 "todisk" : {
15853 "default" : 0,
15854 "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.",
15855 "optional" : 1,
15856 "type" : "boolean",
15857 "typetext" : "<boolean>"
15858 },
4d47f125
TL
15859 "vmid" : {
15860 "description" : "The (unique) ID of the VM.",
15861 "format" : "pve-vmid",
15862 "minimum" : 1,
15863 "type" : "integer",
15864 "typetext" : "<integer> (1 - N)"
15865 }
15866 }
15867 },
15868 "permissions" : {
15869 "check" : [
15870 "perm",
15871 "/vms/{vmid}",
15872 [
15873 "VM.PowerMgmt"
15874 ]
15875 ]
15876 },
15877 "protected" : 1,
15878 "proxyto" : "node",
15879 "returns" : {
15880 "type" : "string"
15881 }
15882 }
15883 },
15884 "leaf" : 1,
15885 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
15886 "text" : "suspend"
15887 },
15888 {
15889 "info" : {
15890 "POST" : {
15891 "description" : "Resume virtual machine.",
15892 "method" : "POST",
15893 "name" : "vm_resume",
15894 "parameters" : {
15895 "additionalProperties" : 0,
15896 "properties" : {
15897 "nocheck" : {
15898 "optional" : 1,
15899 "type" : "boolean",
15900 "typetext" : "<boolean>"
15901 },
15902 "node" : {
15903 "description" : "The cluster node name.",
15904 "format" : "pve-node",
15905 "type" : "string",
15906 "typetext" : "<string>"
15907 },
15908 "skiplock" : {
15909 "description" : "Ignore locks - only root is allowed to use this option.",
15910 "optional" : 1,
15911 "type" : "boolean",
15912 "typetext" : "<boolean>"
15913 },
15914 "vmid" : {
15915 "description" : "The (unique) ID of the VM.",
15916 "format" : "pve-vmid",
15917 "minimum" : 1,
15918 "type" : "integer",
15919 "typetext" : "<integer> (1 - N)"
15920 }
15921 }
15922 },
15923 "permissions" : {
15924 "check" : [
15925 "perm",
15926 "/vms/{vmid}",
15927 [
15928 "VM.PowerMgmt"
15929 ]
15930 ]
15931 },
15932 "protected" : 1,
15933 "proxyto" : "node",
15934 "returns" : {
15935 "type" : "string"
15936 }
15937 }
15938 },
15939 "leaf" : 1,
15940 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
15941 "text" : "resume"
15942 }
15943 ],
15944 "info" : {
15945 "GET" : {
15946 "description" : "Directory index",
15947 "method" : "GET",
15948 "name" : "vmcmdidx",
15949 "parameters" : {
15950 "additionalProperties" : 0,
15951 "properties" : {
15952 "node" : {
15953 "description" : "The cluster node name.",
15954 "format" : "pve-node",
15955 "type" : "string",
15956 "typetext" : "<string>"
15957 },
15958 "vmid" : {
15959 "description" : "The (unique) ID of the VM.",
15960 "format" : "pve-vmid",
15961 "minimum" : 1,
15962 "type" : "integer",
15963 "typetext" : "<integer> (1 - N)"
15964 }
15965 }
15966 },
15967 "permissions" : {
15968 "user" : "all"
15969 },
15970 "proxyto" : "node",
15971 "returns" : {
15972 "items" : {
15973 "properties" : {
15974 "subdir" : {
15975 "type" : "string"
15976 }
15977 },
15978 "type" : "object"
15979 },
15980 "links" : [
15981 {
15982 "href" : "{subdir}",
15983 "rel" : "child"
15984 }
15985 ],
15986 "type" : "array"
15987 }
15988 }
15989 },
15990 "leaf" : 0,
15991 "path" : "/nodes/{node}/qemu/{vmid}/status",
15992 "text" : "status"
15993 },
15994 {
15995 "info" : {
15996 "PUT" : {
15997 "description" : "Send key event to virtual machine.",
15998 "method" : "PUT",
15999 "name" : "vm_sendkey",
16000 "parameters" : {
16001 "additionalProperties" : 0,
16002 "properties" : {
16003 "key" : {
16004 "description" : "The key (qemu monitor encoding).",
16005 "type" : "string",
16006 "typetext" : "<string>"
16007 },
16008 "node" : {
16009 "description" : "The cluster node name.",
16010 "format" : "pve-node",
16011 "type" : "string",
16012 "typetext" : "<string>"
16013 },
16014 "skiplock" : {
16015 "description" : "Ignore locks - only root is allowed to use this option.",
16016 "optional" : 1,
16017 "type" : "boolean",
16018 "typetext" : "<boolean>"
16019 },
16020 "vmid" : {
16021 "description" : "The (unique) ID of the VM.",
16022 "format" : "pve-vmid",
16023 "minimum" : 1,
16024 "type" : "integer",
16025 "typetext" : "<integer> (1 - N)"
16026 }
16027 }
16028 },
16029 "permissions" : {
16030 "check" : [
16031 "perm",
16032 "/vms/{vmid}",
16033 [
16034 "VM.Console"
16035 ]
16036 ]
16037 },
16038 "protected" : 1,
16039 "proxyto" : "node",
16040 "returns" : {
16041 "type" : "null"
16042 }
16043 }
16044 },
16045 "leaf" : 1,
16046 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
16047 "text" : "sendkey"
16048 },
16049 {
16050 "info" : {
16051 "GET" : {
16052 "description" : "Check if feature for virtual machine is available.",
16053 "method" : "GET",
16054 "name" : "vm_feature",
16055 "parameters" : {
16056 "additionalProperties" : 0,
16057 "properties" : {
16058 "feature" : {
16059 "description" : "Feature to check.",
16060 "enum" : [
16061 "snapshot",
16062 "clone",
16063 "copy"
16064 ],
16065 "type" : "string"
16066 },
16067 "node" : {
16068 "description" : "The cluster node name.",
16069 "format" : "pve-node",
16070 "type" : "string",
16071 "typetext" : "<string>"
16072 },
16073 "snapname" : {
16074 "description" : "The name of the snapshot.",
16075 "format" : "pve-configid",
16076 "maxLength" : 40,
16077 "optional" : 1,
16078 "type" : "string",
16079 "typetext" : "<string>"
16080 },
16081 "vmid" : {
16082 "description" : "The (unique) ID of the VM.",
16083 "format" : "pve-vmid",
16084 "minimum" : 1,
16085 "type" : "integer",
16086 "typetext" : "<integer> (1 - N)"
16087 }
16088 }
16089 },
16090 "permissions" : {
16091 "check" : [
16092 "perm",
16093 "/vms/{vmid}",
16094 [
16095 "VM.Audit"
16096 ]
16097 ]
16098 },
16099 "protected" : 1,
16100 "proxyto" : "node",
16101 "returns" : {
16102 "properties" : {
16103 "hasFeature" : {
16104 "type" : "boolean"
16105 },
16106 "nodes" : {
16107 "items" : {
16108 "type" : "string"
16109 },
16110 "type" : "array"
16111 }
16112 },
16113 "type" : "object"
16114 }
16115 }
16116 },
16117 "leaf" : 1,
16118 "path" : "/nodes/{node}/qemu/{vmid}/feature",
16119 "text" : "feature"
16120 },
16121 {
16122 "info" : {
16123 "POST" : {
16124 "description" : "Create a copy of virtual machine/template.",
16125 "method" : "POST",
16126 "name" : "clone_vm",
16127 "parameters" : {
16128 "additionalProperties" : 0,
16129 "properties" : {
95895385
TL
16130 "bwlimit" : {
16131 "default" : "clone limit from datacenter or storage config",
16132 "description" : "Override I/O bandwidth limit (in KiB/s).",
16133 "minimum" : "0",
16134 "optional" : 1,
16135 "type" : "integer",
16136 "typetext" : "<integer> (0 - N)"
16137 },
4d47f125
TL
16138 "description" : {
16139 "description" : "Description for the new VM.",
16140 "optional" : 1,
16141 "type" : "string",
16142 "typetext" : "<string>"
16143 },
16144 "format" : {
16145 "description" : "Target format for file storage. Only valid for full clone.",
16146 "enum" : [
16147 "raw",
16148 "qcow2",
16149 "vmdk"
16150 ],
16151 "optional" : 1,
16152 "type" : "string"
16153 },
16154 "full" : {
16155 "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.",
16156 "optional" : 1,
16157 "type" : "boolean",
16158 "typetext" : "<boolean>"
16159 },
16160 "name" : {
16161 "description" : "Set a name for the new VM.",
16162 "format" : "dns-name",
16163 "optional" : 1,
16164 "type" : "string",
16165 "typetext" : "<string>"
16166 },
16167 "newid" : {
16168 "description" : "VMID for the clone.",
16169 "format" : "pve-vmid",
16170 "minimum" : 1,
16171 "type" : "integer",
16172 "typetext" : "<integer> (1 - N)"
16173 },
16174 "node" : {
16175 "description" : "The cluster node name.",
16176 "format" : "pve-node",
16177 "type" : "string",
16178 "typetext" : "<string>"
16179 },
16180 "pool" : {
16181 "description" : "Add the new VM to the specified pool.",
16182 "format" : "pve-poolid",
16183 "optional" : 1,
16184 "type" : "string",
16185 "typetext" : "<string>"
16186 },
16187 "snapname" : {
16188 "description" : "The name of the snapshot.",
16189 "format" : "pve-configid",
16190 "maxLength" : 40,
16191 "optional" : 1,
16192 "type" : "string",
16193 "typetext" : "<string>"
16194 },
16195 "storage" : {
16196 "description" : "Target storage for full clone.",
16197 "format" : "pve-storage-id",
16198 "optional" : 1,
16199 "type" : "string",
16200 "typetext" : "<string>"
16201 },
16202 "target" : {
16203 "description" : "Target node. Only allowed if the original VM is on shared storage.",
16204 "format" : "pve-node",
16205 "optional" : 1,
16206 "type" : "string",
16207 "typetext" : "<string>"
16208 },
16209 "vmid" : {
16210 "description" : "The (unique) ID of the VM.",
16211 "format" : "pve-vmid",
16212 "minimum" : 1,
16213 "type" : "integer",
16214 "typetext" : "<integer> (1 - N)"
16215 }
16216 }
16217 },
16218 "permissions" : {
16219 "check" : [
16220 "and",
16221 [
16222 "perm",
16223 "/vms/{vmid}",
16224 [
16225 "VM.Clone"
16226 ]
16227 ],
16228 [
16229 "or",
16230 [
16231 "perm",
16232 "/vms/{newid}",
16233 [
16234 "VM.Allocate"
16235 ]
16236 ],
16237 [
16238 "perm",
16239 "/pool/{pool}",
16240 [
16241 "VM.Allocate"
16242 ],
16243 "require_param",
16244 "pool"
16245 ]
16246 ]
16247 ],
16248 "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."
16249 },
16250 "protected" : 1,
16251 "proxyto" : "node",
16252 "returns" : {
16253 "type" : "string"
16254 }
16255 }
16256 },
16257 "leaf" : 1,
16258 "path" : "/nodes/{node}/qemu/{vmid}/clone",
16259 "text" : "clone"
16260 },
16261 {
16262 "info" : {
16263 "POST" : {
16264 "description" : "Move volume to different storage.",
16265 "method" : "POST",
16266 "name" : "move_vm_disk",
16267 "parameters" : {
16268 "additionalProperties" : 0,
16269 "properties" : {
95895385
TL
16270 "bwlimit" : {
16271 "default" : "move limit from datacenter or storage config",
16272 "description" : "Override I/O bandwidth limit (in KiB/s).",
16273 "minimum" : "0",
16274 "optional" : 1,
16275 "type" : "integer",
16276 "typetext" : "<integer> (0 - N)"
16277 },
4d47f125
TL
16278 "delete" : {
16279 "default" : 0,
16280 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
16281 "optional" : 1,
16282 "type" : "boolean",
16283 "typetext" : "<boolean>"
16284 },
16285 "digest" : {
16286 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16287 "maxLength" : 40,
16288 "optional" : 1,
16289 "type" : "string",
16290 "typetext" : "<string>"
16291 },
16292 "disk" : {
16293 "description" : "The disk you want to move.",
16294 "enum" : [
16295 "ide0",
16296 "ide1",
16297 "ide2",
16298 "ide3",
16299 "scsi0",
16300 "scsi1",
16301 "scsi2",
16302 "scsi3",
16303 "scsi4",
16304 "scsi5",
16305 "scsi6",
16306 "scsi7",
16307 "scsi8",
16308 "scsi9",
16309 "scsi10",
16310 "scsi11",
16311 "scsi12",
16312 "scsi13",
16313 "virtio0",
16314 "virtio1",
16315 "virtio2",
16316 "virtio3",
16317 "virtio4",
16318 "virtio5",
16319 "virtio6",
16320 "virtio7",
16321 "virtio8",
16322 "virtio9",
16323 "virtio10",
16324 "virtio11",
16325 "virtio12",
16326 "virtio13",
16327 "virtio14",
16328 "virtio15",
16329 "sata0",
16330 "sata1",
16331 "sata2",
16332 "sata3",
16333 "sata4",
16334 "sata5",
16335 "efidisk0"
16336 ],
16337 "type" : "string"
16338 },
16339 "format" : {
16340 "description" : "Target Format.",
16341 "enum" : [
16342 "raw",
16343 "qcow2",
16344 "vmdk"
16345 ],
16346 "optional" : 1,
16347 "type" : "string"
16348 },
16349 "node" : {
16350 "description" : "The cluster node name.",
16351 "format" : "pve-node",
16352 "type" : "string",
16353 "typetext" : "<string>"
16354 },
16355 "storage" : {
16356 "description" : "Target storage.",
16357 "format" : "pve-storage-id",
16358 "type" : "string",
16359 "typetext" : "<string>"
16360 },
16361 "vmid" : {
16362 "description" : "The (unique) ID of the VM.",
16363 "format" : "pve-vmid",
16364 "minimum" : 1,
16365 "type" : "integer",
16366 "typetext" : "<integer> (1 - N)"
16367 }
16368 }
16369 },
16370 "permissions" : {
16371 "check" : [
16372 "and",
16373 [
16374 "perm",
16375 "/vms/{vmid}",
16376 [
16377 "VM.Config.Disk"
16378 ]
16379 ],
16380 [
16381 "perm",
16382 "/storage/{storage}",
16383 [
16384 "Datastore.AllocateSpace"
16385 ]
16386 ]
16387 ],
16388 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
16389 },
16390 "protected" : 1,
16391 "proxyto" : "node",
16392 "returns" : {
16393 "description" : "the task ID.",
16394 "type" : "string"
16395 }
16396 }
16397 },
16398 "leaf" : 1,
16399 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
16400 "text" : "move_disk"
16401 },
16402 {
16403 "info" : {
1e3f8156
TL
16404 "GET" : {
16405 "description" : "Get preconditions for migration.",
16406 "method" : "GET",
16407 "name" : "migrate_vm_precondition",
16408 "parameters" : {
16409 "additionalProperties" : 0,
16410 "properties" : {
16411 "node" : {
16412 "description" : "The cluster node name.",
16413 "format" : "pve-node",
16414 "type" : "string",
16415 "typetext" : "<string>"
16416 },
16417 "target" : {
16418 "description" : "Target node.",
16419 "format" : "pve-node",
16420 "optional" : 1,
16421 "type" : "string",
16422 "typetext" : "<string>"
16423 },
16424 "vmid" : {
16425 "description" : "The (unique) ID of the VM.",
16426 "format" : "pve-vmid",
16427 "minimum" : 1,
16428 "type" : "integer",
16429 "typetext" : "<integer> (1 - N)"
16430 }
16431 }
16432 },
16433 "permissions" : {
16434 "check" : [
16435 "perm",
16436 "/vms/{vmid}",
16437 [
16438 "VM.Migrate"
16439 ]
16440 ]
16441 },
16442 "protected" : 1,
16443 "proxyto" : "node",
16444 "returns" : {
16445 "properties" : {
16446 "allowed_nodes" : {
9226ccbc 16447 "description" : "List nodes allowed for offline migration, only passed if VM is offline",
1e3f8156
TL
16448 "optional" : 1,
16449 "type" : "array"
16450 },
16451 "local_disks" : {
16452 "description" : "List local disks including CD-Rom, unsused and not referenced disks",
16453 "type" : "array"
16454 },
16455 "local_resources" : {
16456 "description" : "List local resources e.g. pci, usb",
16457 "type" : "array"
16458 },
9226ccbc
TL
16459 "not_allowed_nodes" : {
16460 "description" : "List not allowed nodes with additional informations, only passed if VM is offline",
16461 "optional" : 1,
16462 "type" : "object"
16463 },
1e3f8156
TL
16464 "running" : {
16465 "type" : "boolean"
16466 }
16467 },
16468 "type" : "object"
16469 }
16470 },
4d47f125
TL
16471 "POST" : {
16472 "description" : "Migrate virtual machine. Creates a new migration task.",
16473 "method" : "POST",
16474 "name" : "migrate_vm",
16475 "parameters" : {
16476 "additionalProperties" : 0,
16477 "properties" : {
95895385
TL
16478 "bwlimit" : {
16479 "default" : "migrate limit from datacenter or storage config",
16480 "description" : "Override I/O bandwidth limit (in KiB/s).",
16481 "minimum" : "0",
16482 "optional" : 1,
16483 "type" : "integer",
16484 "typetext" : "<integer> (0 - N)"
16485 },
4d47f125
TL
16486 "force" : {
16487 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
16488 "optional" : 1,
16489 "type" : "boolean",
16490 "typetext" : "<boolean>"
16491 },
16492 "migration_network" : {
16493 "description" : "CIDR of the (sub) network that is used for migration.",
16494 "format" : "CIDR",
16495 "optional" : 1,
16496 "type" : "string",
16497 "typetext" : "<string>"
16498 },
16499 "migration_type" : {
16500 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
16501 "enum" : [
16502 "secure",
16503 "insecure"
16504 ],
16505 "optional" : 1,
16506 "type" : "string"
16507 },
16508 "node" : {
16509 "description" : "The cluster node name.",
16510 "format" : "pve-node",
16511 "type" : "string",
16512 "typetext" : "<string>"
16513 },
16514 "online" : {
16515 "description" : "Use online/live migration.",
16516 "optional" : 1,
16517 "type" : "boolean",
16518 "typetext" : "<boolean>"
16519 },
16520 "target" : {
16521 "description" : "Target node.",
16522 "format" : "pve-node",
16523 "type" : "string",
16524 "typetext" : "<string>"
16525 },
16526 "targetstorage" : {
16527 "description" : "Default target storage.",
16528 "format" : "pve-storage-id",
16529 "optional" : 1,
52e44c50
FG
16530 "type" : "string",
16531 "typetext" : "<string>"
16532 },
7aacca6f 16533 "vmid" : {
7aacca6f 16534 "description" : "The (unique) ID of the VM.",
44660702 16535 "format" : "pve-vmid",
7aacca6f 16536 "minimum" : 1,
4bd7df8b 16537 "type" : "integer",
013dc89f 16538 "typetext" : "<integer> (1 - N)"
52e44c50
FG
16539 },
16540 "with-local-disks" : {
16541 "description" : "Enable live storage migration for local disk",
16542 "optional" : 1,
16543 "type" : "boolean",
16544 "typetext" : "<boolean>"
56122987 16545 }
44660702
DM
16546 }
16547 },
16548 "permissions" : {
16549 "check" : [
16550 "perm",
16551 "/vms/{vmid}",
16552 [
16553 "VM.Migrate"
16554 ]
16555 ]
56122987
DM
16556 },
16557 "protected" : 1,
44660702
DM
16558 "proxyto" : "node",
16559 "returns" : {
16560 "description" : "the task ID.",
16561 "type" : "string"
16562 }
56122987 16563 }
7aacca6f 16564 },
44660702
DM
16565 "leaf" : 1,
16566 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 16567 "text" : "migrate"
56122987
DM
16568 },
16569 {
16570 "info" : {
16571 "POST" : {
44660702 16572 "description" : "Execute Qemu monitor commands.",
56122987 16573 "method" : "POST",
44660702 16574 "name" : "monitor",
56122987 16575 "parameters" : {
7aacca6f 16576 "additionalProperties" : 0,
56122987 16577 "properties" : {
44660702
DM
16578 "command" : {
16579 "description" : "The monitor command.",
013dc89f
DM
16580 "type" : "string",
16581 "typetext" : "<string>"
44660702 16582 },
56122987 16583 "node" : {
44660702 16584 "description" : "The cluster node name.",
7aacca6f 16585 "format" : "pve-node",
013dc89f
DM
16586 "type" : "string",
16587 "typetext" : "<string>"
56122987
DM
16588 },
16589 "vmid" : {
44660702 16590 "description" : "The (unique) ID of the VM.",
56122987 16591 "format" : "pve-vmid",
7aacca6f 16592 "minimum" : 1,
4bd7df8b 16593 "type" : "integer",
013dc89f 16594 "typetext" : "<integer> (1 - N)"
56122987 16595 }
7aacca6f 16596 }
56122987 16597 },
56122987
DM
16598 "permissions" : {
16599 "check" : [
16600 "perm",
16601 "/vms/{vmid}",
16602 [
16603 "VM.Monitor"
16604 ]
32d876b5
DM
16605 ],
16606 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 16607 },
44660702
DM
16608 "protected" : 1,
16609 "proxyto" : "node",
16610 "returns" : {
16611 "type" : "string"
16612 }
56122987 16613 }
44660702
DM
16614 },
16615 "leaf" : 1,
16616 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
16617 "text" : "monitor"
56122987
DM
16618 },
16619 {
56122987
DM
16620 "info" : {
16621 "PUT" : {
44660702
DM
16622 "description" : "Extend volume size.",
16623 "method" : "PUT",
16624 "name" : "resize_vm",
56122987 16625 "parameters" : {
44660702 16626 "additionalProperties" : 0,
56122987 16627 "properties" : {
44660702
DM
16628 "digest" : {
16629 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16630 "maxLength" : 40,
16631 "optional" : 1,
013dc89f
DM
16632 "type" : "string",
16633 "typetext" : "<string>"
56122987 16634 },
56122987
DM
16635 "disk" : {
16636 "description" : "The disk you want to resize.",
16637 "enum" : [
16638 "ide0",
16639 "ide1",
16640 "ide2",
16641 "ide3",
16642 "scsi0",
16643 "scsi1",
16644 "scsi2",
16645 "scsi3",
16646 "scsi4",
16647 "scsi5",
16648 "scsi6",
16649 "scsi7",
16650 "scsi8",
16651 "scsi9",
16652 "scsi10",
16653 "scsi11",
16654 "scsi12",
16655 "scsi13",
16656 "virtio0",
16657 "virtio1",
16658 "virtio2",
16659 "virtio3",
16660 "virtio4",
16661 "virtio5",
16662 "virtio6",
16663 "virtio7",
16664 "virtio8",
16665 "virtio9",
16666 "virtio10",
16667 "virtio11",
16668 "virtio12",
16669 "virtio13",
16670 "virtio14",
16671 "virtio15",
16672 "sata0",
16673 "sata1",
16674 "sata2",
16675 "sata3",
16676 "sata4",
2c0dde61
DM
16677 "sata5",
16678 "efidisk0"
44660702
DM
16679 ],
16680 "type" : "string"
56122987 16681 },
44660702
DM
16682 "node" : {
16683 "description" : "The cluster node name.",
16684 "format" : "pve-node",
013dc89f
DM
16685 "type" : "string",
16686 "typetext" : "<string>"
7aacca6f 16687 },
44660702 16688 "size" : {
5d9c884c 16689 "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
16690 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
16691 "type" : "string"
56122987
DM
16692 },
16693 "skiplock" : {
16694 "description" : "Ignore locks - only root is allowed to use this option.",
16695 "optional" : 1,
013dc89f
DM
16696 "type" : "boolean",
16697 "typetext" : "<boolean>"
56122987
DM
16698 },
16699 "vmid" : {
7aacca6f 16700 "description" : "The (unique) ID of the VM.",
56122987 16701 "format" : "pve-vmid",
44660702 16702 "minimum" : 1,
4bd7df8b 16703 "type" : "integer",
013dc89f 16704 "typetext" : "<integer> (1 - N)"
56122987
DM
16705 }
16706 }
16707 },
16708 "permissions" : {
16709 "check" : [
16710 "perm",
16711 "/vms/{vmid}",
16712 [
44660702 16713 "VM.Config.Disk"
56122987
DM
16714 ]
16715 ]
16716 },
7aacca6f 16717 "protected" : 1,
7aacca6f 16718 "proxyto" : "node",
44660702
DM
16719 "returns" : {
16720 "type" : "null"
16721 }
7aacca6f
DM
16722 }
16723 },
44660702
DM
16724 "leaf" : 1,
16725 "path" : "/nodes/{node}/qemu/{vmid}/resize",
16726 "text" : "resize"
16727 },
16728 {
56122987
DM
16729 "children" : [
16730 {
16731 "children" : [
16732 {
56122987 16733 "info" : {
44660702
DM
16734 "GET" : {
16735 "description" : "Get snapshot configuration",
16736 "method" : "GET",
16737 "name" : "get_snapshot_config",
56122987 16738 "parameters" : {
44660702 16739 "additionalProperties" : 0,
56122987 16740 "properties" : {
56122987 16741 "node" : {
44660702 16742 "description" : "The cluster node name.",
56122987 16743 "format" : "pve-node",
013dc89f
DM
16744 "type" : "string",
16745 "typetext" : "<string>"
7aacca6f
DM
16746 },
16747 "snapname" : {
44660702 16748 "description" : "The name of the snapshot.",
7aacca6f 16749 "format" : "pve-configid",
44660702 16750 "maxLength" : 40,
013dc89f
DM
16751 "type" : "string",
16752 "typetext" : "<string>"
7aacca6f
DM
16753 },
16754 "vmid" : {
44660702 16755 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16756 "format" : "pve-vmid",
16757 "minimum" : 1,
4bd7df8b 16758 "type" : "integer",
013dc89f 16759 "typetext" : "<integer> (1 - N)"
56122987 16760 }
44660702 16761 }
56122987
DM
16762 },
16763 "permissions" : {
16764 "check" : [
16765 "perm",
16766 "/vms/{vmid}",
16767 [
2489d6df
WB
16768 "VM.Snapshot",
16769 "VM.Snapshot.Rollback"
16770 ],
16771 "any",
16772 1
56122987
DM
16773 ]
16774 },
44660702 16775 "proxyto" : "node",
56122987 16776 "returns" : {
44660702 16777 "type" : "object"
7aacca6f
DM
16778 }
16779 },
44660702
DM
16780 "PUT" : {
16781 "description" : "Update snapshot metadata.",
16782 "method" : "PUT",
16783 "name" : "update_snapshot_config",
56122987 16784 "parameters" : {
44660702 16785 "additionalProperties" : 0,
56122987 16786 "properties" : {
44660702
DM
16787 "description" : {
16788 "description" : "A textual description or comment.",
16789 "optional" : 1,
013dc89f
DM
16790 "type" : "string",
16791 "typetext" : "<string>"
44660702 16792 },
56122987 16793 "node" : {
7aacca6f 16794 "description" : "The cluster node name.",
44660702 16795 "format" : "pve-node",
013dc89f
DM
16796 "type" : "string",
16797 "typetext" : "<string>"
56122987 16798 },
56122987
DM
16799 "snapname" : {
16800 "description" : "The name of the snapshot.",
44660702 16801 "format" : "pve-configid",
7aacca6f 16802 "maxLength" : 40,
013dc89f
DM
16803 "type" : "string",
16804 "typetext" : "<string>"
7aacca6f
DM
16805 },
16806 "vmid" : {
16807 "description" : "The (unique) ID of the VM.",
44660702 16808 "format" : "pve-vmid",
7aacca6f 16809 "minimum" : 1,
4bd7df8b 16810 "type" : "integer",
013dc89f 16811 "typetext" : "<integer> (1 - N)"
56122987 16812 }
44660702 16813 }
56122987 16814 },
7aacca6f
DM
16815 "permissions" : {
16816 "check" : [
16817 "perm",
16818 "/vms/{vmid}",
16819 [
16820 "VM.Snapshot"
16821 ]
16822 ]
44660702
DM
16823 },
16824 "protected" : 1,
16825 "proxyto" : "node",
16826 "returns" : {
16827 "type" : "null"
7aacca6f 16828 }
56122987
DM
16829 }
16830 },
44660702 16831 "leaf" : 1,
7aacca6f 16832 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 16833 "text" : "config"
56122987
DM
16834 },
16835 {
56122987
DM
16836 "info" : {
16837 "POST" : {
44660702 16838 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 16839 "method" : "POST",
44660702 16840 "name" : "rollback",
56122987
DM
16841 "parameters" : {
16842 "additionalProperties" : 0,
16843 "properties" : {
44660702
DM
16844 "node" : {
16845 "description" : "The cluster node name.",
16846 "format" : "pve-node",
013dc89f
DM
16847 "type" : "string",
16848 "typetext" : "<string>"
44660702 16849 },
56122987 16850 "snapname" : {
44660702 16851 "description" : "The name of the snapshot.",
56122987
DM
16852 "format" : "pve-configid",
16853 "maxLength" : 40,
013dc89f
DM
16854 "type" : "string",
16855 "typetext" : "<string>"
7aacca6f 16856 },
56122987 16857 "vmid" : {
7aacca6f 16858 "description" : "The (unique) ID of the VM.",
44660702 16859 "format" : "pve-vmid",
56122987 16860 "minimum" : 1,
4bd7df8b 16861 "type" : "integer",
013dc89f 16862 "typetext" : "<integer> (1 - N)"
56122987
DM
16863 }
16864 }
16865 },
7aacca6f 16866 "permissions" : {
56122987
DM
16867 "check" : [
16868 "perm",
16869 "/vms/{vmid}",
16870 [
2489d6df
WB
16871 "VM.Snapshot",
16872 "VM.Snapshot.Rollback"
16873 ],
16874 "any",
16875 1
56122987
DM
16876 ]
16877 },
44660702 16878 "protected" : 1,
7aacca6f 16879 "proxyto" : "node",
44660702
DM
16880 "returns" : {
16881 "description" : "the task ID.",
16882 "type" : "string"
16883 }
56122987
DM
16884 }
16885 },
44660702
DM
16886 "leaf" : 1,
16887 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 16888 "text" : "rollback"
56122987 16889 }
44660702
DM
16890 ],
16891 "info" : {
16892 "DELETE" : {
16893 "description" : "Delete a VM snapshot.",
16894 "method" : "DELETE",
16895 "name" : "delsnapshot",
16896 "parameters" : {
16897 "additionalProperties" : 0,
16898 "properties" : {
16899 "force" : {
16900 "description" : "For removal from config file, even if removing disk snapshots fails.",
16901 "optional" : 1,
013dc89f
DM
16902 "type" : "boolean",
16903 "typetext" : "<boolean>"
44660702
DM
16904 },
16905 "node" : {
16906 "description" : "The cluster node name.",
16907 "format" : "pve-node",
013dc89f
DM
16908 "type" : "string",
16909 "typetext" : "<string>"
44660702
DM
16910 },
16911 "snapname" : {
16912 "description" : "The name of the snapshot.",
16913 "format" : "pve-configid",
16914 "maxLength" : 40,
013dc89f
DM
16915 "type" : "string",
16916 "typetext" : "<string>"
44660702
DM
16917 },
16918 "vmid" : {
16919 "description" : "The (unique) ID of the VM.",
16920 "format" : "pve-vmid",
16921 "minimum" : 1,
4bd7df8b 16922 "type" : "integer",
013dc89f 16923 "typetext" : "<integer> (1 - N)"
44660702
DM
16924 }
16925 }
16926 },
16927 "permissions" : {
16928 "check" : [
16929 "perm",
16930 "/vms/{vmid}",
16931 [
16932 "VM.Snapshot"
16933 ]
16934 ]
16935 },
16936 "protected" : 1,
16937 "proxyto" : "node",
16938 "returns" : {
16939 "description" : "the task ID.",
16940 "type" : "string"
16941 }
16942 },
16943 "GET" : {
16944 "description" : "",
16945 "method" : "GET",
16946 "name" : "snapshot_cmd_idx",
16947 "parameters" : {
16948 "additionalProperties" : 0,
16949 "properties" : {
16950 "node" : {
16951 "description" : "The cluster node name.",
16952 "format" : "pve-node",
013dc89f
DM
16953 "type" : "string",
16954 "typetext" : "<string>"
44660702
DM
16955 },
16956 "snapname" : {
16957 "description" : "The name of the snapshot.",
16958 "format" : "pve-configid",
16959 "maxLength" : 40,
013dc89f
DM
16960 "type" : "string",
16961 "typetext" : "<string>"
44660702
DM
16962 },
16963 "vmid" : {
16964 "description" : "The (unique) ID of the VM.",
16965 "format" : "pve-vmid",
16966 "minimum" : 1,
4bd7df8b 16967 "type" : "integer",
013dc89f 16968 "typetext" : "<integer> (1 - N)"
44660702
DM
16969 }
16970 }
16971 },
16972 "permissions" : {
16973 "user" : "all"
16974 },
16975 "returns" : {
16976 "items" : {
16977 "properties" : {},
16978 "type" : "object"
16979 },
16980 "links" : [
16981 {
16982 "href" : "{cmd}",
16983 "rel" : "child"
16984 }
16985 ],
16986 "type" : "array"
16987 }
16988 }
16989 },
16990 "leaf" : 0,
16991 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
16992 "text" : "{snapname}"
56122987
DM
16993 }
16994 ],
44660702
DM
16995 "info" : {
16996 "GET" : {
16997 "description" : "List all snapshots.",
16998 "method" : "GET",
16999 "name" : "snapshot_list",
17000 "parameters" : {
17001 "additionalProperties" : 0,
17002 "properties" : {
17003 "node" : {
17004 "description" : "The cluster node name.",
17005 "format" : "pve-node",
013dc89f
DM
17006 "type" : "string",
17007 "typetext" : "<string>"
44660702
DM
17008 },
17009 "vmid" : {
17010 "description" : "The (unique) ID of the VM.",
17011 "format" : "pve-vmid",
17012 "minimum" : 1,
4bd7df8b 17013 "type" : "integer",
013dc89f 17014 "typetext" : "<integer> (1 - N)"
44660702
DM
17015 }
17016 }
17017 },
17018 "permissions" : {
17019 "check" : [
17020 "perm",
17021 "/vms/{vmid}",
17022 [
17023 "VM.Audit"
17024 ]
17025 ]
17026 },
17027 "protected" : 1,
17028 "proxyto" : "node",
17029 "returns" : {
17030 "items" : {
4d47f125
TL
17031 "properties" : {
17032 "description" : {
17033 "description" : "Snapshot description.",
17034 "type" : "string"
17035 },
17036 "name" : {
17037 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
17038 "type" : "string"
17039 },
17040 "parent" : {
17041 "description" : "Parent snapshot identifier.",
17042 "optional" : 1,
17043 "type" : "string"
17044 },
17045 "snaptime" : {
17046 "description" : "Snapshot creation time",
17047 "optional" : 1,
17048 "renderer" : "timestamp",
17049 "type" : "integer"
17050 },
17051 "vmstate" : {
17052 "description" : "Snapshot includes RAM.",
17053 "optional" : 1,
17054 "type" : "boolean"
17055 }
17056 },
44660702
DM
17057 "type" : "object"
17058 },
17059 "links" : [
17060 {
17061 "href" : "{name}",
17062 "rel" : "child"
17063 }
17064 ],
17065 "type" : "array"
17066 }
17067 },
17068 "POST" : {
17069 "description" : "Snapshot a VM.",
17070 "method" : "POST",
17071 "name" : "snapshot",
17072 "parameters" : {
17073 "additionalProperties" : 0,
17074 "properties" : {
17075 "description" : {
17076 "description" : "A textual description or comment.",
17077 "optional" : 1,
013dc89f
DM
17078 "type" : "string",
17079 "typetext" : "<string>"
44660702
DM
17080 },
17081 "node" : {
17082 "description" : "The cluster node name.",
17083 "format" : "pve-node",
013dc89f
DM
17084 "type" : "string",
17085 "typetext" : "<string>"
44660702
DM
17086 },
17087 "snapname" : {
17088 "description" : "The name of the snapshot.",
17089 "format" : "pve-configid",
17090 "maxLength" : 40,
013dc89f
DM
17091 "type" : "string",
17092 "typetext" : "<string>"
44660702
DM
17093 },
17094 "vmid" : {
17095 "description" : "The (unique) ID of the VM.",
17096 "format" : "pve-vmid",
17097 "minimum" : 1,
4bd7df8b 17098 "type" : "integer",
013dc89f 17099 "typetext" : "<integer> (1 - N)"
44660702
DM
17100 },
17101 "vmstate" : {
17102 "description" : "Save the vmstate",
17103 "optional" : 1,
013dc89f
DM
17104 "type" : "boolean",
17105 "typetext" : "<boolean>"
44660702
DM
17106 }
17107 }
17108 },
17109 "permissions" : {
17110 "check" : [
17111 "perm",
17112 "/vms/{vmid}",
17113 [
17114 "VM.Snapshot"
17115 ]
17116 ]
17117 },
17118 "protected" : 1,
17119 "proxyto" : "node",
17120 "returns" : {
17121 "description" : "the task ID.",
17122 "type" : "string"
17123 }
17124 }
17125 },
17126 "leaf" : 0,
17127 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 17128 "text" : "snapshot"
56122987
DM
17129 },
17130 {
56122987
DM
17131 "info" : {
17132 "POST" : {
44660702
DM
17133 "description" : "Create a Template.",
17134 "method" : "POST",
56122987 17135 "name" : "template",
56122987 17136 "parameters" : {
7aacca6f 17137 "additionalProperties" : 0,
56122987 17138 "properties" : {
56122987 17139 "disk" : {
56122987
DM
17140 "description" : "If you want to convert only 1 disk to base image.",
17141 "enum" : [
17142 "ide0",
17143 "ide1",
17144 "ide2",
17145 "ide3",
17146 "scsi0",
17147 "scsi1",
17148 "scsi2",
17149 "scsi3",
17150 "scsi4",
17151 "scsi5",
17152 "scsi6",
17153 "scsi7",
17154 "scsi8",
17155 "scsi9",
17156 "scsi10",
17157 "scsi11",
17158 "scsi12",
17159 "scsi13",
17160 "virtio0",
17161 "virtio1",
17162 "virtio2",
17163 "virtio3",
17164 "virtio4",
17165 "virtio5",
17166 "virtio6",
17167 "virtio7",
17168 "virtio8",
17169 "virtio9",
17170 "virtio10",
17171 "virtio11",
17172 "virtio12",
17173 "virtio13",
17174 "virtio14",
17175 "virtio15",
17176 "sata0",
17177 "sata1",
17178 "sata2",
17179 "sata3",
17180 "sata4",
2c0dde61
DM
17181 "sata5",
17182 "efidisk0"
56122987 17183 ],
7aacca6f 17184 "optional" : 1,
56122987
DM
17185 "type" : "string"
17186 },
44660702
DM
17187 "node" : {
17188 "description" : "The cluster node name.",
17189 "format" : "pve-node",
013dc89f
DM
17190 "type" : "string",
17191 "typetext" : "<string>"
44660702
DM
17192 },
17193 "vmid" : {
17194 "description" : "The (unique) ID of the VM.",
7aacca6f 17195 "format" : "pve-vmid",
44660702 17196 "minimum" : 1,
4bd7df8b 17197 "type" : "integer",
013dc89f 17198 "typetext" : "<integer> (1 - N)"
56122987 17199 }
7aacca6f 17200 }
56122987 17201 },
7aacca6f
DM
17202 "permissions" : {
17203 "check" : [
17204 "perm",
17205 "/vms/{vmid}",
17206 [
17207 "VM.Allocate"
17208 ]
17209 ],
17210 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
17211 },
44660702 17212 "protected" : 1,
7aacca6f 17213 "proxyto" : "node",
7aacca6f
DM
17214 "returns" : {
17215 "type" : "null"
17216 }
56122987
DM
17217 }
17218 },
44660702 17219 "leaf" : 1,
7aacca6f 17220 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 17221 "text" : "template"
1e3f8156
TL
17222 },
17223 {
17224 "children" : [
17225 {
17226 "info" : {
17227 "GET" : {
17228 "description" : "Get automatically generated cloudinit config.",
17229 "method" : "GET",
17230 "name" : "cloudinit_generated_config_dump",
17231 "parameters" : {
17232 "additionalProperties" : 0,
17233 "properties" : {
17234 "node" : {
17235 "description" : "The cluster node name.",
17236 "format" : "pve-node",
17237 "type" : "string",
17238 "typetext" : "<string>"
17239 },
17240 "type" : {
17241 "description" : "Config type.",
17242 "enum" : [
17243 "user",
17244 "network",
17245 "meta"
17246 ],
17247 "type" : "string"
17248 },
17249 "vmid" : {
17250 "description" : "The (unique) ID of the VM.",
17251 "format" : "pve-vmid",
17252 "minimum" : 1,
17253 "type" : "integer",
17254 "typetext" : "<integer> (1 - N)"
17255 }
17256 }
17257 },
17258 "permissions" : {
17259 "check" : [
17260 "perm",
17261 "/vms/{vmid}",
17262 [
17263 "VM.Audit"
17264 ]
17265 ]
17266 },
17267 "proxyto" : "node",
17268 "returns" : {
17269 "type" : "string"
17270 }
17271 }
17272 },
17273 "leaf" : 1,
17274 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump",
17275 "text" : "dump"
17276 }
17277 ],
17278 "leaf" : 0,
17279 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit",
17280 "text" : "cloudinit"
56122987
DM
17281 }
17282 ],
7aacca6f 17283 "info" : {
44660702
DM
17284 "DELETE" : {
17285 "description" : "Destroy the vm (also delete all used/owned volumes).",
17286 "method" : "DELETE",
17287 "name" : "destroy_vm",
7aacca6f 17288 "parameters" : {
44660702 17289 "additionalProperties" : 0,
7aacca6f
DM
17290 "properties" : {
17291 "node" : {
44660702 17292 "description" : "The cluster node name.",
7aacca6f 17293 "format" : "pve-node",
013dc89f
DM
17294 "type" : "string",
17295 "typetext" : "<string>"
44660702
DM
17296 },
17297 "skiplock" : {
17298 "description" : "Ignore locks - only root is allowed to use this option.",
17299 "optional" : 1,
013dc89f
DM
17300 "type" : "boolean",
17301 "typetext" : "<boolean>"
7aacca6f
DM
17302 },
17303 "vmid" : {
44660702 17304 "description" : "The (unique) ID of the VM.",
7aacca6f 17305 "format" : "pve-vmid",
44660702 17306 "minimum" : 1,
4bd7df8b 17307 "type" : "integer",
013dc89f 17308 "typetext" : "<integer> (1 - N)"
7aacca6f 17309 }
44660702 17310 }
7aacca6f 17311 },
7aacca6f
DM
17312 "permissions" : {
17313 "check" : [
17314 "perm",
17315 "/vms/{vmid}",
17316 [
17317 "VM.Allocate"
17318 ]
17319 ]
17320 },
44660702
DM
17321 "protected" : 1,
17322 "proxyto" : "node",
7aacca6f
DM
17323 "returns" : {
17324 "type" : "string"
44660702
DM
17325 }
17326 },
17327 "GET" : {
17328 "description" : "Directory index",
17329 "method" : "GET",
17330 "name" : "vmdiridx",
7aacca6f 17331 "parameters" : {
44660702 17332 "additionalProperties" : 0,
7aacca6f 17333 "properties" : {
7aacca6f 17334 "node" : {
7aacca6f 17335 "description" : "The cluster node name.",
44660702 17336 "format" : "pve-node",
013dc89f
DM
17337 "type" : "string",
17338 "typetext" : "<string>"
44660702
DM
17339 },
17340 "vmid" : {
17341 "description" : "The (unique) ID of the VM.",
17342 "format" : "pve-vmid",
17343 "minimum" : 1,
4bd7df8b 17344 "type" : "integer",
013dc89f 17345 "typetext" : "<integer> (1 - N)"
7aacca6f 17346 }
44660702 17347 }
7aacca6f 17348 },
44660702
DM
17349 "permissions" : {
17350 "user" : "all"
17351 },
17352 "proxyto" : "node",
17353 "returns" : {
17354 "items" : {
17355 "properties" : {
17356 "subdir" : {
17357 "type" : "string"
17358 }
17359 },
17360 "type" : "object"
17361 },
17362 "links" : [
17363 {
17364 "href" : "{subdir}",
17365 "rel" : "child"
17366 }
17367 ],
17368 "type" : "array"
17369 }
7aacca6f 17370 }
44660702
DM
17371 },
17372 "leaf" : 0,
17373 "path" : "/nodes/{node}/qemu/{vmid}",
17374 "text" : "{vmid}"
56122987
DM
17375 }
17376 ],
17377 "info" : {
44660702
DM
17378 "GET" : {
17379 "description" : "Virtual machine index (per node).",
17380 "method" : "GET",
17381 "name" : "vmlist",
56122987 17382 "parameters" : {
44660702 17383 "additionalProperties" : 0,
56122987 17384 "properties" : {
44660702
DM
17385 "full" : {
17386 "description" : "Determine the full status of active VMs.",
56122987 17387 "optional" : 1,
013dc89f
DM
17388 "type" : "boolean",
17389 "typetext" : "<boolean>"
56122987 17390 },
44660702
DM
17391 "node" : {
17392 "description" : "The cluster node name.",
17393 "format" : "pve-node",
013dc89f
DM
17394 "type" : "string",
17395 "typetext" : "<string>"
44660702
DM
17396 }
17397 }
17398 },
17399 "permissions" : {
17400 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
17401 "user" : "all"
17402 },
17403 "protected" : 1,
17404 "proxyto" : "node",
17405 "returns" : {
17406 "items" : {
4d47f125
TL
17407 "properties" : {
17408 "cpus" : {
17409 "description" : "Maximum usable CPUs.",
17410 "optional" : 1,
17411 "type" : "number"
17412 },
95895385
TL
17413 "lock" : {
17414 "description" : "The current config lock, if any.",
17415 "optional" : 1,
17416 "type" : "string"
17417 },
4d47f125
TL
17418 "maxdisk" : {
17419 "description" : "Root disk size in bytes.",
17420 "optional" : 1,
17421 "renderer" : "bytes",
17422 "type" : "integer"
17423 },
17424 "maxmem" : {
17425 "description" : "Maximum memory in bytes.",
17426 "optional" : 1,
17427 "renderer" : "bytes",
17428 "type" : "integer"
17429 },
17430 "name" : {
17431 "description" : "VM name.",
17432 "optional" : 1,
17433 "type" : "string"
17434 },
17435 "pid" : {
17436 "description" : "PID of running qemu process.",
17437 "optional" : 1,
17438 "type" : "integer"
17439 },
17440 "qmpstatus" : {
17441 "description" : "Qemu QMP agent status.",
17442 "optional" : 1,
17443 "type" : "string"
17444 },
17445 "status" : {
17446 "description" : "Qemu process status.",
17447 "enum" : [
17448 "stopped",
17449 "running"
17450 ],
17451 "type" : "string"
17452 },
17453 "uptime" : {
17454 "description" : "Uptime.",
17455 "optional" : 1,
17456 "renderer" : "duration",
17457 "type" : "integer"
17458 },
17459 "vmid" : {
17460 "description" : "The (unique) ID of the VM.",
17461 "format" : "pve-vmid",
17462 "minimum" : 1,
17463 "type" : "integer"
17464 }
17465 },
44660702
DM
17466 "type" : "object"
17467 },
17468 "links" : [
17469 {
17470 "href" : "{vmid}",
17471 "rel" : "child"
17472 }
17473 ],
17474 "type" : "array"
17475 }
17476 },
17477 "POST" : {
17478 "description" : "Create or restore a virtual machine.",
17479 "method" : "POST",
17480 "name" : "create_vm",
17481 "parameters" : {
17482 "additionalProperties" : 0,
17483 "properties" : {
7aacca6f 17484 "acpi" : {
7aacca6f 17485 "default" : 1,
44660702 17486 "description" : "Enable/disable ACPI.",
56122987 17487 "optional" : 1,
013dc89f
DM
17488 "type" : "boolean",
17489 "typetext" : "<boolean>"
56122987 17490 },
44660702 17491 "agent" : {
4d47f125
TL
17492 "description" : "Enable/disable Qemu GuestAgent and its properties.",
17493 "format" : {
17494 "enabled" : {
17495 "default" : 0,
17496 "default_key" : 1,
17497 "description" : "Enable/disable Qemu GuestAgent.",
17498 "type" : "boolean"
17499 },
17500 "fstrim_cloned_disks" : {
17501 "default" : 0,
17502 "description" : "Run fstrim after cloning/moving a disk.",
17503 "optional" : 1,
17504 "type" : "boolean"
17505 }
17506 },
7aacca6f 17507 "optional" : 1,
4d47f125
TL
17508 "type" : "string",
17509 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 17510 },
e2d681b3
TL
17511 "arch" : {
17512 "description" : "Virtual processor architecture. Defaults to the host.",
17513 "enum" : [
17514 "x86_64",
17515 "aarch64"
17516 ],
17517 "optional" : 1,
17518 "type" : "string"
17519 },
44660702
DM
17520 "archive" : {
17521 "description" : "The backup file.",
17522 "maxLength" : 255,
56122987 17523 "optional" : 1,
013dc89f
DM
17524 "type" : "string",
17525 "typetext" : "<string>"
56122987 17526 },
44660702 17527 "args" : {
c2993fe5 17528 "description" : "Arbitrary arguments passed to kvm.",
56122987 17529 "optional" : 1,
c2993fe5 17530 "type" : "string",
013dc89f 17531 "typetext" : "<string>",
c2993fe5 17532 "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 17533 },
44660702 17534 "autostart" : {
7aacca6f 17535 "default" : 0,
44660702
DM
17536 "description" : "Automatic restart after crash (currently ignored).",
17537 "optional" : 1,
013dc89f
DM
17538 "type" : "boolean",
17539 "typetext" : "<boolean>"
7aacca6f 17540 },
44660702
DM
17541 "balloon" : {
17542 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
17543 "minimum" : 0,
56122987 17544 "optional" : 1,
4bd7df8b 17545 "type" : "integer",
013dc89f 17546 "typetext" : "<integer> (0 - N)"
56122987 17547 },
44660702
DM
17548 "bios" : {
17549 "default" : "seabios",
17550 "description" : "Select BIOS implementation.",
17551 "enum" : [
17552 "seabios",
17553 "ovmf"
17554 ],
56122987 17555 "optional" : 1,
44660702 17556 "type" : "string"
56122987 17557 },
44660702
DM
17558 "boot" : {
17559 "default" : "cdn",
17560 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 17561 "optional" : 1,
44660702
DM
17562 "pattern" : "[acdn]{1,4}",
17563 "type" : "string"
56122987 17564 },
7aacca6f
DM
17565 "bootdisk" : {
17566 "description" : "Enable booting from specified disk.",
44660702
DM
17567 "format" : "pve-qm-bootdisk",
17568 "optional" : 1,
7aacca6f 17569 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
17570 "type" : "string"
17571 },
27a7acb2 17572 "bwlimit" : {
95895385
TL
17573 "default" : "restore limit from datacenter or storage config",
17574 "description" : "Override I/O bandwidth limit (in KiB/s).",
27a7acb2
DM
17575 "minimum" : "0",
17576 "optional" : 1,
17577 "type" : "integer",
17578 "typetext" : "<integer> (0 - N)"
17579 },
44660702
DM
17580 "cdrom" : {
17581 "description" : "This is an alias for option -ide2",
de0983cb 17582 "format" : "pve-qm-ide",
56122987 17583 "optional" : 1,
44660702 17584 "type" : "string",
013dc89f 17585 "typetext" : "<volume>"
56122987 17586 },
95895385
TL
17587 "cicustom" : {
17588 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
17589 "format" : "pve-qm-cicustom",
17590 "optional" : 1,
17591 "type" : "string",
17592 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
17593 },
27a7acb2
DM
17594 "cipassword" : {
17595 "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.",
17596 "optional" : 1,
17597 "type" : "string",
17598 "typetext" : "<string>"
17599 },
17600 "citype" : {
17601 "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.",
17602 "enum" : [
17603 "configdrive2",
17604 "nocloud"
17605 ],
17606 "optional" : 1,
17607 "type" : "string"
17608 },
17609 "ciuser" : {
17610 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
17611 "optional" : 1,
17612 "type" : "string",
17613 "typetext" : "<string>"
17614 },
44660702
DM
17615 "cores" : {
17616 "default" : 1,
17617 "description" : "The number of cores per socket.",
7aacca6f 17618 "minimum" : 1,
44660702 17619 "optional" : 1,
4bd7df8b 17620 "type" : "integer",
013dc89f 17621 "typetext" : "<integer> (1 - N)"
7aacca6f 17622 },
44660702
DM
17623 "cpu" : {
17624 "description" : "Emulated CPU type.",
17625 "format" : {
17626 "cputype" : {
17627 "default" : "kvm64",
17628 "default_key" : 1,
17629 "description" : "Emulated CPU type.",
17630 "enum" : [
17631 "486",
17632 "athlon",
f004f5b9 17633 "Broadwell",
35a75dd3 17634 "Broadwell-IBRS",
f004f5b9 17635 "Broadwell-noTSX",
35a75dd3 17636 "Broadwell-noTSX-IBRS",
f004f5b9 17637 "Conroe",
44660702 17638 "core2duo",
f004f5b9 17639 "coreduo",
27a7acb2
DM
17640 "EPYC",
17641 "EPYC-IBPB",
f004f5b9 17642 "Haswell",
35a75dd3 17643 "Haswell-IBRS",
f004f5b9 17644 "Haswell-noTSX",
35a75dd3 17645 "Haswell-noTSX-IBRS",
f004f5b9
DM
17646 "host",
17647 "IvyBridge",
35a75dd3 17648 "IvyBridge-IBRS",
44660702
DM
17649 "kvm32",
17650 "kvm64",
35a75dd3 17651 "max",
44660702 17652 "Nehalem",
35a75dd3 17653 "Nehalem-IBRS",
44660702
DM
17654 "Opteron_G1",
17655 "Opteron_G2",
17656 "Opteron_G3",
17657 "Opteron_G4",
17658 "Opteron_G5",
f004f5b9
DM
17659 "Penryn",
17660 "pentium",
17661 "pentium2",
17662 "pentium3",
17663 "phenom",
17664 "qemu32",
17665 "qemu64",
17666 "SandyBridge",
35a75dd3 17667 "SandyBridge-IBRS",
5d9c884c 17668 "Skylake-Client",
35a75dd3
DM
17669 "Skylake-Client-IBRS",
17670 "Skylake-Server",
17671 "Skylake-Server-IBRS",
17672 "Westmere",
17673 "Westmere-IBRS"
44660702 17674 ],
44660702
DM
17675 "type" : "string"
17676 },
35a75dd3 17677 "flags" : {
1e3f8156 17678 "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', 'md-clear'.",
35a75dd3
DM
17679 "format_description" : "+FLAG[;-FLAG...]",
17680 "optional" : 1,
1e3f8156 17681 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
35a75dd3
DM
17682 "type" : "string"
17683 },
44660702
DM
17684 "hidden" : {
17685 "default" : 0,
17686 "description" : "Do not identify as a KVM virtual machine.",
17687 "optional" : 1,
17688 "type" : "boolean"
5f26e15b
TL
17689 },
17690 "hv-vendor-id" : {
17691 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
17692 "format_description" : "vendor-id",
17693 "optional" : 1,
17694 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
17695 "type" : "string"
44660702
DM
17696 }
17697 },
56122987 17698 "optional" : 1,
4bd7df8b 17699 "type" : "string",
5f26e15b 17700 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
56122987 17701 },
44660702 17702 "cpulimit" : {
7aacca6f 17703 "default" : 0,
c2993fe5 17704 "description" : "Limit of CPU usage.",
44660702
DM
17705 "maximum" : 128,
17706 "minimum" : 0,
7aacca6f 17707 "optional" : 1,
c2993fe5 17708 "type" : "number",
013dc89f 17709 "typetext" : "<number> (0 - 128)",
c2993fe5 17710 "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
17711 },
17712 "cpuunits" : {
de0983cb 17713 "default" : 1024,
c2993fe5 17714 "description" : "CPU weight for a VM.",
2489d6df
WB
17715 "maximum" : 262144,
17716 "minimum" : 2,
44660702 17717 "optional" : 1,
c2993fe5 17718 "type" : "integer",
2489d6df
WB
17719 "typetext" : "<integer> (2 - 262144)",
17720 "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
17721 },
17722 "description" : {
17723 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 17724 "optional" : 1,
013dc89f
DM
17725 "type" : "string",
17726 "typetext" : "<string>"
44660702 17727 },
4d47f125
TL
17728 "efidisk0" : {
17729 "description" : "Configure a Disk for storing EFI vars",
17730 "format" : {
17731 "file" : {
17732 "default_key" : 1,
17733 "description" : "The drive's backing volume.",
17734 "format" : "pve-volume-id-or-qm-path",
17735 "format_description" : "volume",
17736 "type" : "string"
17737 },
17738 "format" : {
17739 "description" : "The drive's backing file's data format.",
17740 "enum" : [
17741 "raw",
17742 "cow",
17743 "qcow",
17744 "qed",
17745 "qcow2",
17746 "vmdk",
17747 "cloop"
17748 ],
17749 "optional" : 1,
17750 "type" : "string"
17751 },
17752 "size" : {
17753 "description" : "Disk size. This is purely informational and has no effect.",
17754 "format" : "disk-size",
17755 "format_description" : "DiskSize",
17756 "optional" : 1,
17757 "type" : "string"
17758 },
17759 "volume" : {
17760 "alias" : "file"
17761 }
17762 },
17763 "optional" : 1,
17764 "type" : "string",
17765 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
17766 },
44660702
DM
17767 "force" : {
17768 "description" : "Allow to overwrite existing VM.",
17769 "optional" : 1,
17770 "requires" : "archive",
013dc89f
DM
17771 "type" : "boolean",
17772 "typetext" : "<boolean>"
44660702
DM
17773 },
17774 "freeze" : {
17775 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
17776 "optional" : 1,
013dc89f
DM
17777 "type" : "boolean",
17778 "typetext" : "<boolean>"
44660702 17779 },
5f26e15b
TL
17780 "hookscript" : {
17781 "description" : "Script that will be executed during various steps in the vms lifetime.",
17782 "format" : "pve-volume-id",
17783 "optional" : 1,
17784 "type" : "string",
17785 "typetext" : "<string>"
17786 },
44660702 17787 "hostpci[n]" : {
c2993fe5 17788 "description" : "Map host PCI devices into guest.",
44660702
DM
17789 "format" : "pve-qm-hostpci",
17790 "optional" : 1,
57b78691 17791 "type" : "string",
e2d681b3 17792 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 17793 "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
17794 },
17795 "hotplug" : {
17796 "default" : "network,disk,usb",
17797 "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'.",
17798 "format" : "pve-hotplug-features",
17799 "optional" : 1,
013dc89f
DM
17800 "type" : "string",
17801 "typetext" : "<string>"
7aacca6f 17802 },
4bd7df8b
DM
17803 "hugepages" : {
17804 "description" : "Enable/disable hugepages memory.",
17805 "enum" : [
17806 "any",
17807 "2",
17808 "1024"
17809 ],
17810 "optional" : 1,
17811 "type" : "string"
17812 },
7aacca6f 17813 "ide[n]" : {
44660702 17814 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 17815 "format" : {
44660702
DM
17816 "aio" : {
17817 "description" : "AIO type to use.",
17818 "enum" : [
17819 "native",
17820 "threads"
17821 ],
44660702
DM
17822 "optional" : 1,
17823 "type" : "string"
17824 },
17825 "backup" : {
17826 "description" : "Whether the drive should be included when making backups.",
44660702
DM
17827 "optional" : 1,
17828 "type" : "boolean"
17829 },
17830 "bps" : {
de0983cb 17831 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 17832 "format_description" : "bps",
56122987 17833 "optional" : 1,
44660702 17834 "type" : "integer"
56122987 17835 },
de0983cb
DM
17836 "bps_max_length" : {
17837 "description" : "Maximum length of I/O bursts in seconds.",
17838 "format_description" : "seconds",
17839 "minimum" : 1,
17840 "optional" : 1,
17841 "type" : "integer"
17842 },
44660702 17843 "bps_rd" : {
de0983cb 17844 "description" : "Maximum read speed in bytes per second.",
44660702 17845 "format_description" : "bps",
56122987 17846 "optional" : 1,
44660702 17847 "type" : "integer"
56122987 17848 },
de0983cb 17849 "bps_rd_length" : {
5d9c884c
DM
17850 "alias" : "bps_rd_max_length"
17851 },
17852 "bps_rd_max_length" : {
de0983cb
DM
17853 "description" : "Maximum length of read I/O bursts in seconds.",
17854 "format_description" : "seconds",
17855 "minimum" : 1,
17856 "optional" : 1,
17857 "type" : "integer"
17858 },
44660702 17859 "bps_wr" : {
de0983cb 17860 "description" : "Maximum write speed in bytes per second.",
44660702 17861 "format_description" : "bps",
56122987 17862 "optional" : 1,
44660702 17863 "type" : "integer"
56122987 17864 },
de0983cb 17865 "bps_wr_length" : {
5d9c884c
DM
17866 "alias" : "bps_wr_max_length"
17867 },
17868 "bps_wr_max_length" : {
de0983cb
DM
17869 "description" : "Maximum length of write I/O bursts in seconds.",
17870 "format_description" : "seconds",
17871 "minimum" : 1,
17872 "optional" : 1,
17873 "type" : "integer"
17874 },
44660702
DM
17875 "cache" : {
17876 "description" : "The drive's cache mode",
56122987 17877 "enum" : [
7aacca6f 17878 "none",
44660702
DM
17879 "writethrough",
17880 "writeback",
17881 "unsafe",
17882 "directsync"
56122987 17883 ],
56122987 17884 "optional" : 1,
44660702 17885 "type" : "string"
56122987 17886 },
44660702
DM
17887 "cyls" : {
17888 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
17889 "optional" : 1,
17890 "type" : "integer"
7aacca6f 17891 },
44660702
DM
17892 "detect_zeroes" : {
17893 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 17894 "optional" : 1,
44660702 17895 "type" : "boolean"
56122987 17896 },
44660702
DM
17897 "discard" : {
17898 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17899 "enum" : [
17900 "ignore",
17901 "on"
17902 ],
56122987 17903 "optional" : 1,
44660702 17904 "type" : "string"
56122987 17905 },
7aacca6f 17906 "file" : {
44660702 17907 "default_key" : 1,
7aacca6f 17908 "description" : "The drive's backing volume.",
7aacca6f
DM
17909 "format" : "pve-volume-id-or-qm-path",
17910 "format_description" : "volume",
7aacca6f 17911 "type" : "string"
56122987 17912 },
44660702
DM
17913 "format" : {
17914 "description" : "The drive's backing file's data format.",
56122987 17915 "enum" : [
44660702
DM
17916 "raw",
17917 "cow",
17918 "qcow",
17919 "qed",
17920 "qcow2",
17921 "vmdk",
17922 "cloop"
7aacca6f 17923 ],
7aacca6f
DM
17924 "optional" : 1,
17925 "type" : "string"
56122987 17926 },
44660702
DM
17927 "heads" : {
17928 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 17929 "optional" : 1,
44660702 17930 "type" : "integer"
56122987 17931 },
44660702 17932 "iops" : {
de0983cb 17933 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 17934 "format_description" : "iops",
56122987 17935 "optional" : 1,
44660702 17936 "type" : "integer"
56122987 17937 },
44660702 17938 "iops_max" : {
de0983cb 17939 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 17940 "format_description" : "iops",
56122987 17941 "optional" : 1,
44660702 17942 "type" : "integer"
56122987 17943 },
de0983cb
DM
17944 "iops_max_length" : {
17945 "description" : "Maximum length of I/O bursts in seconds.",
17946 "format_description" : "seconds",
17947 "minimum" : 1,
17948 "optional" : 1,
17949 "type" : "integer"
17950 },
7aacca6f 17951 "iops_rd" : {
de0983cb 17952 "description" : "Maximum read I/O in operations per second.",
44660702
DM
17953 "format_description" : "iops",
17954 "optional" : 1,
17955 "type" : "integer"
7aacca6f 17956 },
de0983cb 17957 "iops_rd_length" : {
5d9c884c 17958 "alias" : "iops_rd_max_length"
de0983cb 17959 },
44660702 17960 "iops_rd_max" : {
de0983cb 17961 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 17962 "format_description" : "iops",
56122987 17963 "optional" : 1,
44660702 17964 "type" : "integer"
56122987 17965 },
5d9c884c
DM
17966 "iops_rd_max_length" : {
17967 "description" : "Maximum length of read I/O bursts in seconds.",
17968 "format_description" : "seconds",
17969 "minimum" : 1,
17970 "optional" : 1,
17971 "type" : "integer"
17972 },
44660702 17973 "iops_wr" : {
de0983cb 17974 "description" : "Maximum write I/O in operations per second.",
44660702 17975 "format_description" : "iops",
56122987 17976 "optional" : 1,
44660702 17977 "type" : "integer"
7aacca6f 17978 },
de0983cb 17979 "iops_wr_length" : {
5d9c884c 17980 "alias" : "iops_wr_max_length"
de0983cb 17981 },
44660702 17982 "iops_wr_max" : {
de0983cb 17983 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 17984 "format_description" : "iops",
7aacca6f 17985 "optional" : 1,
44660702 17986 "type" : "integer"
56122987 17987 },
5d9c884c
DM
17988 "iops_wr_max_length" : {
17989 "description" : "Maximum length of write I/O bursts in seconds.",
17990 "format_description" : "seconds",
17991 "minimum" : 1,
17992 "optional" : 1,
17993 "type" : "integer"
17994 },
44660702 17995 "mbps" : {
de0983cb 17996 "description" : "Maximum r/w speed in megabytes per second.",
44660702 17997 "format_description" : "mbps",
7aacca6f 17998 "optional" : 1,
44660702 17999 "type" : "number"
56122987 18000 },
44660702 18001 "mbps_max" : {
de0983cb 18002 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 18003 "format_description" : "mbps",
56122987 18004 "optional" : 1,
44660702 18005 "type" : "number"
56122987 18006 },
44660702 18007 "mbps_rd" : {
de0983cb 18008 "description" : "Maximum read speed in megabytes per second.",
44660702 18009 "format_description" : "mbps",
7aacca6f 18010 "optional" : 1,
44660702 18011 "type" : "number"
7aacca6f 18012 },
44660702 18013 "mbps_rd_max" : {
de0983cb 18014 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 18015 "format_description" : "mbps",
56122987 18016 "optional" : 1,
44660702 18017 "type" : "number"
56122987 18018 },
44660702 18019 "mbps_wr" : {
de0983cb 18020 "description" : "Maximum write speed in megabytes per second.",
44660702 18021 "format_description" : "mbps",
7aacca6f 18022 "optional" : 1,
44660702 18023 "type" : "number"
56122987 18024 },
44660702 18025 "mbps_wr_max" : {
de0983cb 18026 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 18027 "format_description" : "mbps",
56122987 18028 "optional" : 1,
44660702 18029 "type" : "number"
7aacca6f
DM
18030 },
18031 "media" : {
44660702
DM
18032 "default" : "disk",
18033 "description" : "The drive's media type.",
56122987 18034 "enum" : [
7aacca6f
DM
18035 "cdrom",
18036 "disk"
56122987 18037 ],
56122987 18038 "optional" : 1,
44660702 18039 "type" : "string"
56122987 18040 },
44660702
DM
18041 "model" : {
18042 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
18043 "format" : "urlencoded",
18044 "format_description" : "model",
18045 "maxLength" : 120,
56122987 18046 "optional" : 1,
44660702 18047 "type" : "string"
56122987 18048 },
5d9c884c
DM
18049 "replicate" : {
18050 "default" : 1,
18051 "description" : "Whether the drive should considered for replication jobs.",
18052 "optional" : 1,
18053 "type" : "boolean"
18054 },
7aacca6f 18055 "rerror" : {
7aacca6f
DM
18056 "description" : "Read error action.",
18057 "enum" : [
18058 "ignore",
18059 "report",
18060 "stop"
44660702 18061 ],
44660702
DM
18062 "optional" : 1,
18063 "type" : "string"
56122987 18064 },
44660702
DM
18065 "secs" : {
18066 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 18067 "optional" : 1,
44660702
DM
18068 "type" : "integer"
18069 },
18070 "serial" : {
18071 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18072 "format" : "urlencoded",
18073 "format_description" : "serial",
18074 "maxLength" : 60,
18075 "optional" : 1,
18076 "type" : "string"
18077 },
27a7acb2
DM
18078 "shared" : {
18079 "default" : 0,
18080 "description" : "Mark this locally-managed volume as available on all nodes",
18081 "optional" : 1,
18082 "type" : "boolean",
18083 "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!"
18084 },
44660702
DM
18085 "size" : {
18086 "description" : "Disk size. This is purely informational and has no effect.",
18087 "format" : "disk-size",
f004f5b9 18088 "format_description" : "DiskSize",
44660702
DM
18089 "optional" : 1,
18090 "type" : "string"
7aacca6f
DM
18091 },
18092 "snapshot" : {
27a7acb2 18093 "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 18094 "optional" : 1,
44660702 18095 "type" : "boolean"
7aacca6f 18096 },
25203dc1
NC
18097 "ssd" : {
18098 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
18099 "optional" : 1,
18100 "type" : "boolean"
18101 },
44660702
DM
18102 "trans" : {
18103 "description" : "Force disk geometry bios translation mode.",
18104 "enum" : [
18105 "none",
18106 "lba",
18107 "auto"
18108 ],
7aacca6f 18109 "optional" : 1,
44660702
DM
18110 "type" : "string"
18111 },
18112 "volume" : {
18113 "alias" : "file"
18114 },
18115 "werror" : {
18116 "description" : "Write error action.",
18117 "enum" : [
18118 "enospc",
18119 "ignore",
18120 "report",
18121 "stop"
18122 ],
44660702
DM
18123 "optional" : 1,
18124 "type" : "string"
95895385
TL
18125 },
18126 "wwn" : {
18127 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
18128 "format_description" : "wwn",
18129 "optional" : 1,
18130 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
18131 "type" : "string"
56122987
DM
18132 }
18133 },
56122987 18134 "optional" : 1,
4bd7df8b 18135 "type" : "string",
95895385 18136 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
18137 },
18138 "ipconfig[n]" : {
18139 "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",
18140 "format" : "pve-qm-ipconfig",
18141 "optional" : 1,
18142 "type" : "string",
18143 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 18144 },
95895385
TL
18145 "ivshmem" : {
18146 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
18147 "format" : {
18148 "name" : {
18149 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
18150 "format_description" : "string",
18151 "optional" : 1,
18152 "pattern" : "[a-zA-Z0-9\\-]+",
18153 "type" : "string"
18154 },
18155 "size" : {
18156 "description" : "The size of the file in MB.",
18157 "minimum" : 1,
18158 "type" : "integer"
18159 }
18160 },
18161 "optional" : 1,
18162 "type" : "string",
18163 "typetext" : "size=<integer> [,name=<string>]"
18164 },
56122987 18165 "keyboard" : {
35a75dd3 18166 "default" : null,
5da3d723 18167 "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 18168 "enum" : [
44660702
DM
18169 "de",
18170 "de-ch",
7aacca6f 18171 "da",
56122987 18172 "en-gb",
44660702
DM
18173 "en-us",
18174 "es",
18175 "fi",
18176 "fr",
18177 "fr-be",
18178 "fr-ca",
18179 "fr-ch",
18180 "hu",
7aacca6f 18181 "is",
44660702
DM
18182 "it",
18183 "ja",
18184 "lt",
56122987 18185 "mk",
7aacca6f 18186 "nl",
56122987 18187 "no",
44660702 18188 "pl",
7aacca6f 18189 "pt",
44660702
DM
18190 "pt-br",
18191 "sv",
18192 "sl",
18193 "tr"
56122987 18194 ],
44660702
DM
18195 "optional" : 1,
18196 "type" : "string"
56122987 18197 },
44660702
DM
18198 "kvm" : {
18199 "default" : 1,
18200 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 18201 "optional" : 1,
013dc89f
DM
18202 "type" : "boolean",
18203 "typetext" : "<boolean>"
7aacca6f 18204 },
44660702
DM
18205 "localtime" : {
18206 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 18207 "optional" : 1,
013dc89f
DM
18208 "type" : "boolean",
18209 "typetext" : "<boolean>"
44660702
DM
18210 },
18211 "lock" : {
18212 "description" : "Lock/unlock the VM.",
7aacca6f 18213 "enum" : [
7aacca6f 18214 "backup",
5f26e15b
TL
18215 "clone",
18216 "create",
18217 "migrate",
18218 "rollback",
7aacca6f 18219 "snapshot",
95895385
TL
18220 "snapshot-delete",
18221 "suspending",
18222 "suspended"
7aacca6f 18223 ],
44660702
DM
18224 "optional" : 1,
18225 "type" : "string"
56122987 18226 },
44660702 18227 "machine" : {
4d47f125 18228 "description" : "Specifies the Qemu machine type.",
44660702
DM
18229 "maxLength" : 40,
18230 "optional" : 1,
e2d681b3 18231 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
44660702
DM
18232 "type" : "string"
18233 },
18234 "memory" : {
18235 "default" : 512,
18236 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
18237 "minimum" : 16,
18238 "optional" : 1,
4bd7df8b 18239 "type" : "integer",
013dc89f 18240 "typetext" : "<integer> (16 - N)"
44660702
DM
18241 },
18242 "migrate_downtime" : {
18243 "default" : 0.1,
18244 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
18245 "minimum" : 0,
18246 "optional" : 1,
4bd7df8b 18247 "type" : "number",
013dc89f 18248 "typetext" : "<number> (0 - N)"
44660702
DM
18249 },
18250 "migrate_speed" : {
56122987 18251 "default" : 0,
44660702
DM
18252 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
18253 "minimum" : 0,
56122987 18254 "optional" : 1,
4bd7df8b 18255 "type" : "integer",
013dc89f 18256 "typetext" : "<integer> (0 - N)"
56122987 18257 },
27a7acb2
DM
18258 "name" : {
18259 "description" : "Set a name for the VM. Only used on the configuration web interface.",
18260 "format" : "dns-name",
18261 "optional" : 1,
18262 "type" : "string",
18263 "typetext" : "<string>"
18264 },
18265 "nameserver" : {
18266 "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.",
18267 "format" : "address-list",
44660702 18268 "optional" : 1,
013dc89f
DM
18269 "type" : "string",
18270 "typetext" : "<string>"
44660702
DM
18271 },
18272 "net[n]" : {
c2993fe5 18273 "description" : "Specify network devices.",
f004f5b9
DM
18274 "format" : {
18275 "bridge" : {
c2993fe5 18276 "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
18277 "format_description" : "bridge",
18278 "optional" : 1,
18279 "type" : "string"
18280 },
18281 "e1000" : {
18282 "alias" : "macaddr",
18283 "keyAlias" : "model"
18284 },
18285 "e1000-82540em" : {
18286 "alias" : "macaddr",
18287 "keyAlias" : "model"
18288 },
18289 "e1000-82544gc" : {
18290 "alias" : "macaddr",
18291 "keyAlias" : "model"
18292 },
18293 "e1000-82545em" : {
18294 "alias" : "macaddr",
18295 "keyAlias" : "model"
18296 },
18297 "firewall" : {
18298 "description" : "Whether this interface should be protected by the firewall.",
18299 "optional" : 1,
18300 "type" : "boolean"
18301 },
18302 "i82551" : {
18303 "alias" : "macaddr",
18304 "keyAlias" : "model"
18305 },
18306 "i82557b" : {
18307 "alias" : "macaddr",
18308 "keyAlias" : "model"
18309 },
18310 "i82559er" : {
18311 "alias" : "macaddr",
18312 "keyAlias" : "model"
18313 },
18314 "link_down" : {
c2993fe5 18315 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
18316 "optional" : 1,
18317 "type" : "boolean"
18318 },
18319 "macaddr" : {
c2993fe5 18320 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 18321 "format" : "mac-addr",
f004f5b9 18322 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 18323 "optional" : 1,
95895385
TL
18324 "type" : "string",
18325 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
18326 },
18327 "model" : {
18328 "default_key" : 1,
c2993fe5 18329 "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
18330 "enum" : [
18331 "rtl8139",
18332 "ne2k_pci",
18333 "e1000",
18334 "pcnet",
18335 "virtio",
18336 "ne2k_isa",
18337 "i82551",
18338 "i82557b",
18339 "i82559er",
18340 "vmxnet3",
18341 "e1000-82540em",
18342 "e1000-82544gc",
18343 "e1000-82545em"
18344 ],
f004f5b9
DM
18345 "type" : "string"
18346 },
18347 "ne2k_isa" : {
18348 "alias" : "macaddr",
18349 "keyAlias" : "model"
18350 },
18351 "ne2k_pci" : {
18352 "alias" : "macaddr",
18353 "keyAlias" : "model"
18354 },
18355 "pcnet" : {
18356 "alias" : "macaddr",
18357 "keyAlias" : "model"
18358 },
18359 "queues" : {
18360 "description" : "Number of packet queues to be used on the device.",
18361 "maximum" : 16,
18362 "minimum" : 0,
18363 "optional" : 1,
18364 "type" : "integer"
18365 },
18366 "rate" : {
c2993fe5 18367 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
18368 "minimum" : 0,
18369 "optional" : 1,
18370 "type" : "number"
18371 },
18372 "rtl8139" : {
18373 "alias" : "macaddr",
18374 "keyAlias" : "model"
18375 },
18376 "tag" : {
18377 "description" : "VLAN tag to apply to packets on this interface.",
18378 "maximum" : 4094,
c2993fe5 18379 "minimum" : 1,
f004f5b9
DM
18380 "optional" : 1,
18381 "type" : "integer"
18382 },
18383 "trunks" : {
18384 "description" : "VLAN trunks to pass through this interface.",
18385 "format_description" : "vlanid[;vlanid...]",
18386 "optional" : 1,
18387 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
18388 "type" : "string"
18389 },
18390 "virtio" : {
18391 "alias" : "macaddr",
18392 "keyAlias" : "model"
18393 },
18394 "vmxnet3" : {
18395 "alias" : "macaddr",
18396 "keyAlias" : "model"
18397 }
18398 },
44660702 18399 "optional" : 1,
4bd7df8b 18400 "type" : "string",
013dc89f 18401 "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
18402 },
18403 "node" : {
18404 "description" : "The cluster node name.",
18405 "format" : "pve-node",
013dc89f
DM
18406 "type" : "string",
18407 "typetext" : "<string>"
44660702
DM
18408 },
18409 "numa" : {
7aacca6f 18410 "default" : 0,
44660702
DM
18411 "description" : "Enable/disable NUMA.",
18412 "optional" : 1,
013dc89f
DM
18413 "type" : "boolean",
18414 "typetext" : "<boolean>"
56122987 18415 },
7aacca6f 18416 "numa[n]" : {
c2993fe5 18417 "description" : "NUMA topology.",
7aacca6f 18418 "format" : {
44660702 18419 "cpus" : {
c2993fe5 18420 "description" : "CPUs accessing this NUMA node.",
44660702
DM
18421 "format_description" : "id[-id];...",
18422 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
18423 "type" : "string"
18424 },
7aacca6f 18425 "hostnodes" : {
c2993fe5 18426 "description" : "Host NUMA nodes to use.",
44660702 18427 "format_description" : "id[-id];...",
7aacca6f 18428 "optional" : 1,
44660702
DM
18429 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
18430 "type" : "string"
7aacca6f 18431 },
44660702 18432 "memory" : {
c2993fe5 18433 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
18434 "optional" : 1,
18435 "type" : "number"
7aacca6f
DM
18436 },
18437 "policy" : {
c2993fe5 18438 "description" : "NUMA allocation policy.",
7aacca6f
DM
18439 "enum" : [
18440 "preferred",
18441 "bind",
18442 "interleave"
18443 ],
7aacca6f 18444 "optional" : 1,
44660702 18445 "type" : "string"
7aacca6f
DM
18446 }
18447 },
56122987 18448 "optional" : 1,
4bd7df8b
DM
18449 "type" : "string",
18450 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 18451 },
44660702
DM
18452 "onboot" : {
18453 "default" : 0,
18454 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 18455 "optional" : 1,
013dc89f
DM
18456 "type" : "boolean",
18457 "typetext" : "<boolean>"
56122987
DM
18458 },
18459 "ostype" : {
c2993fe5 18460 "description" : "Specify guest operating system.",
56122987
DM
18461 "enum" : [
18462 "other",
18463 "wxp",
18464 "w2k",
18465 "w2k3",
18466 "w2k8",
18467 "wvista",
18468 "win7",
18469 "win8",
32d876b5 18470 "win10",
56122987
DM
18471 "l24",
18472 "l26",
18473 "solaris"
44660702 18474 ],
56122987 18475 "optional" : 1,
c2993fe5 18476 "type" : "string",
35a75dd3 18477 "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 18478 },
44660702 18479 "parallel[n]" : {
c2993fe5 18480 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 18481 "optional" : 1,
44660702 18482 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
18483 "type" : "string",
18484 "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 18485 },
44660702
DM
18486 "pool" : {
18487 "description" : "Add the VM to the specified pool.",
18488 "format" : "pve-poolid",
56122987 18489 "optional" : 1,
013dc89f
DM
18490 "type" : "string",
18491 "typetext" : "<string>"
56122987 18492 },
44660702
DM
18493 "protection" : {
18494 "default" : 0,
c2993fe5 18495 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 18496 "optional" : 1,
013dc89f
DM
18497 "type" : "boolean",
18498 "typetext" : "<boolean>"
56122987 18499 },
44660702 18500 "reboot" : {
7aacca6f 18501 "default" : 1,
44660702
DM
18502 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
18503 "optional" : 1,
013dc89f
DM
18504 "type" : "boolean",
18505 "typetext" : "<boolean>"
56122987 18506 },
56122987 18507 "sata[n]" : {
44660702 18508 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 18509 "format" : {
7aacca6f 18510 "aio" : {
44660702 18511 "description" : "AIO type to use.",
56122987 18512 "enum" : [
7aacca6f
DM
18513 "native",
18514 "threads"
56122987 18515 ],
7aacca6f 18516 "optional" : 1,
44660702 18517 "type" : "string"
7aacca6f
DM
18518 },
18519 "backup" : {
7aacca6f 18520 "description" : "Whether the drive should be included when making backups.",
7aacca6f 18521 "optional" : 1,
44660702 18522 "type" : "boolean"
56122987 18523 },
44660702 18524 "bps" : {
de0983cb 18525 "description" : "Maximum r/w speed in bytes per second.",
44660702 18526 "format_description" : "bps",
7aacca6f 18527 "optional" : 1,
44660702 18528 "type" : "integer"
56122987 18529 },
de0983cb
DM
18530 "bps_max_length" : {
18531 "description" : "Maximum length of I/O bursts in seconds.",
18532 "format_description" : "seconds",
18533 "minimum" : 1,
18534 "optional" : 1,
18535 "type" : "integer"
18536 },
44660702 18537 "bps_rd" : {
de0983cb 18538 "description" : "Maximum read speed in bytes per second.",
44660702 18539 "format_description" : "bps",
56122987 18540 "optional" : 1,
44660702 18541 "type" : "integer"
7aacca6f 18542 },
de0983cb 18543 "bps_rd_length" : {
5d9c884c
DM
18544 "alias" : "bps_rd_max_length"
18545 },
18546 "bps_rd_max_length" : {
de0983cb
DM
18547 "description" : "Maximum length of read I/O bursts in seconds.",
18548 "format_description" : "seconds",
18549 "minimum" : 1,
18550 "optional" : 1,
18551 "type" : "integer"
18552 },
44660702 18553 "bps_wr" : {
de0983cb 18554 "description" : "Maximum write speed in bytes per second.",
44660702 18555 "format_description" : "bps",
56122987 18556 "optional" : 1,
44660702 18557 "type" : "integer"
56122987 18558 },
de0983cb 18559 "bps_wr_length" : {
5d9c884c
DM
18560 "alias" : "bps_wr_max_length"
18561 },
18562 "bps_wr_max_length" : {
de0983cb
DM
18563 "description" : "Maximum length of write I/O bursts in seconds.",
18564 "format_description" : "seconds",
18565 "minimum" : 1,
18566 "optional" : 1,
18567 "type" : "integer"
18568 },
7aacca6f 18569 "cache" : {
7aacca6f
DM
18570 "description" : "The drive's cache mode",
18571 "enum" : [
18572 "none",
18573 "writethrough",
18574 "writeback",
18575 "unsafe",
18576 "directsync"
18577 ],
44660702
DM
18578 "optional" : 1,
18579 "type" : "string"
56122987 18580 },
44660702
DM
18581 "cyls" : {
18582 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 18583 "optional" : 1,
7aacca6f 18584 "type" : "integer"
56122987 18585 },
7aacca6f
DM
18586 "detect_zeroes" : {
18587 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 18588 "optional" : 1,
7aacca6f 18589 "type" : "boolean"
56122987 18590 },
44660702
DM
18591 "discard" : {
18592 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
18593 "enum" : [
18594 "ignore",
18595 "on"
18596 ],
56122987 18597 "optional" : 1,
44660702 18598 "type" : "string"
56122987 18599 },
44660702
DM
18600 "file" : {
18601 "default_key" : 1,
18602 "description" : "The drive's backing volume.",
18603 "format" : "pve-volume-id-or-qm-path",
18604 "format_description" : "volume",
18605 "type" : "string"
56122987
DM
18606 },
18607 "format" : {
44660702 18608 "description" : "The drive's backing file's data format.",
56122987
DM
18609 "enum" : [
18610 "raw",
18611 "cow",
18612 "qcow",
18613 "qed",
18614 "qcow2",
18615 "vmdk",
18616 "cloop"
18617 ],
56122987 18618 "optional" : 1,
44660702 18619 "type" : "string"
56122987 18620 },
7aacca6f 18621 "heads" : {
7aacca6f 18622 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
18623 "optional" : 1,
18624 "type" : "integer"
56122987 18625 },
44660702 18626 "iops" : {
de0983cb 18627 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
18628 "format_description" : "iops",
18629 "optional" : 1,
18630 "type" : "integer"
56122987 18631 },
44660702 18632 "iops_max" : {
de0983cb 18633 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 18634 "format_description" : "iops",
56122987 18635 "optional" : 1,
44660702 18636 "type" : "integer"
56122987 18637 },
de0983cb
DM
18638 "iops_max_length" : {
18639 "description" : "Maximum length of I/O bursts in seconds.",
18640 "format_description" : "seconds",
18641 "minimum" : 1,
18642 "optional" : 1,
18643 "type" : "integer"
18644 },
44660702 18645 "iops_rd" : {
de0983cb 18646 "description" : "Maximum read I/O in operations per second.",
44660702 18647 "format_description" : "iops",
56122987 18648 "optional" : 1,
44660702 18649 "type" : "integer"
56122987 18650 },
de0983cb 18651 "iops_rd_length" : {
5d9c884c 18652 "alias" : "iops_rd_max_length"
de0983cb 18653 },
44660702 18654 "iops_rd_max" : {
de0983cb 18655 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 18656 "format_description" : "iops",
56122987 18657 "optional" : 1,
44660702 18658 "type" : "integer"
56122987 18659 },
5d9c884c
DM
18660 "iops_rd_max_length" : {
18661 "description" : "Maximum length of read I/O bursts in seconds.",
18662 "format_description" : "seconds",
18663 "minimum" : 1,
18664 "optional" : 1,
18665 "type" : "integer"
18666 },
44660702 18667 "iops_wr" : {
de0983cb 18668 "description" : "Maximum write I/O in operations per second.",
44660702 18669 "format_description" : "iops",
7aacca6f 18670 "optional" : 1,
44660702 18671 "type" : "integer"
7aacca6f 18672 },
de0983cb 18673 "iops_wr_length" : {
5d9c884c 18674 "alias" : "iops_wr_max_length"
de0983cb 18675 },
44660702 18676 "iops_wr_max" : {
de0983cb 18677 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 18678 "format_description" : "iops",
56122987 18679 "optional" : 1,
7aacca6f 18680 "type" : "integer"
56122987 18681 },
5d9c884c
DM
18682 "iops_wr_max_length" : {
18683 "description" : "Maximum length of write I/O bursts in seconds.",
18684 "format_description" : "seconds",
18685 "minimum" : 1,
18686 "optional" : 1,
18687 "type" : "integer"
18688 },
44660702 18689 "mbps" : {
de0983cb 18690 "description" : "Maximum r/w speed in megabytes per second.",
44660702 18691 "format_description" : "mbps",
56122987 18692 "optional" : 1,
44660702 18693 "type" : "number"
56122987 18694 },
44660702 18695 "mbps_max" : {
de0983cb 18696 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 18697 "format_description" : "mbps",
7aacca6f 18698 "optional" : 1,
44660702 18699 "type" : "number"
7aacca6f 18700 },
44660702 18701 "mbps_rd" : {
de0983cb 18702 "description" : "Maximum read speed in megabytes per second.",
44660702 18703 "format_description" : "mbps",
7aacca6f 18704 "optional" : 1,
44660702 18705 "type" : "number"
7aacca6f 18706 },
44660702 18707 "mbps_rd_max" : {
de0983cb 18708 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 18709 "format_description" : "mbps",
7aacca6f 18710 "optional" : 1,
44660702 18711 "type" : "number"
7aacca6f 18712 },
44660702 18713 "mbps_wr" : {
de0983cb 18714 "description" : "Maximum write speed in megabytes per second.",
44660702 18715 "format_description" : "mbps",
7aacca6f 18716 "optional" : 1,
44660702 18717 "type" : "number"
7aacca6f
DM
18718 },
18719 "mbps_wr_max" : {
de0983cb 18720 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 18721 "format_description" : "mbps",
7aacca6f 18722 "optional" : 1,
44660702 18723 "type" : "number"
7aacca6f 18724 },
44660702
DM
18725 "media" : {
18726 "default" : "disk",
18727 "description" : "The drive's media type.",
56122987 18728 "enum" : [
44660702
DM
18729 "cdrom",
18730 "disk"
56122987 18731 ],
56122987 18732 "optional" : 1,
44660702 18733 "type" : "string"
56122987 18734 },
5d9c884c
DM
18735 "replicate" : {
18736 "default" : 1,
18737 "description" : "Whether the drive should considered for replication jobs.",
18738 "optional" : 1,
18739 "type" : "boolean"
18740 },
44660702
DM
18741 "rerror" : {
18742 "description" : "Read error action.",
7aacca6f
DM
18743 "enum" : [
18744 "ignore",
44660702
DM
18745 "report",
18746 "stop"
7aacca6f 18747 ],
56122987 18748 "optional" : 1,
44660702 18749 "type" : "string"
56122987 18750 },
44660702
DM
18751 "secs" : {
18752 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 18753 "optional" : 1,
44660702 18754 "type" : "integer"
56122987 18755 },
44660702
DM
18756 "serial" : {
18757 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18758 "format" : "urlencoded",
18759 "format_description" : "serial",
18760 "maxLength" : 60,
18761 "optional" : 1,
18762 "type" : "string"
7aacca6f 18763 },
27a7acb2
DM
18764 "shared" : {
18765 "default" : 0,
18766 "description" : "Mark this locally-managed volume as available on all nodes",
18767 "optional" : 1,
18768 "type" : "boolean",
18769 "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!"
18770 },
7aacca6f
DM
18771 "size" : {
18772 "description" : "Disk size. This is purely informational and has no effect.",
44660702 18773 "format" : "disk-size",
f004f5b9 18774 "format_description" : "DiskSize",
56122987 18775 "optional" : 1,
44660702 18776 "type" : "string"
56122987 18777 },
44660702 18778 "snapshot" : {
27a7acb2 18779 "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 18780 "optional" : 1,
44660702 18781 "type" : "boolean"
56122987 18782 },
25203dc1
NC
18783 "ssd" : {
18784 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
18785 "optional" : 1,
18786 "type" : "boolean"
18787 },
44660702
DM
18788 "trans" : {
18789 "description" : "Force disk geometry bios translation mode.",
56122987 18790 "enum" : [
44660702
DM
18791 "none",
18792 "lba",
18793 "auto"
7aacca6f 18794 ],
44660702
DM
18795 "optional" : 1,
18796 "type" : "string"
18797 },
18798 "volume" : {
18799 "alias" : "file"
56122987
DM
18800 },
18801 "werror" : {
56122987
DM
18802 "description" : "Write error action.",
18803 "enum" : [
18804 "enospc",
18805 "ignore",
18806 "report",
18807 "stop"
18808 ],
56122987 18809 "optional" : 1,
44660702 18810 "type" : "string"
95895385
TL
18811 },
18812 "wwn" : {
18813 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
18814 "format_description" : "wwn",
18815 "optional" : 1,
18816 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
18817 "type" : "string"
44660702
DM
18818 }
18819 },
18820 "optional" : 1,
4bd7df8b 18821 "type" : "string",
95895385 18822 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
18823 },
18824 "scsi[n]" : {
18825 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
18826 "format" : {
18827 "aio" : {
18828 "description" : "AIO type to use.",
18829 "enum" : [
18830 "native",
18831 "threads"
18832 ],
44660702
DM
18833 "optional" : 1,
18834 "type" : "string"
56122987 18835 },
7aacca6f 18836 "backup" : {
44660702 18837 "description" : "Whether the drive should be included when making backups.",
7aacca6f 18838 "optional" : 1,
44660702 18839 "type" : "boolean"
7aacca6f 18840 },
44660702 18841 "bps" : {
de0983cb 18842 "description" : "Maximum r/w speed in bytes per second.",
44660702 18843 "format_description" : "bps",
7aacca6f 18844 "optional" : 1,
44660702 18845 "type" : "integer"
7aacca6f 18846 },
de0983cb
DM
18847 "bps_max_length" : {
18848 "description" : "Maximum length of I/O bursts in seconds.",
18849 "format_description" : "seconds",
18850 "minimum" : 1,
18851 "optional" : 1,
18852 "type" : "integer"
18853 },
44660702 18854 "bps_rd" : {
de0983cb 18855 "description" : "Maximum read speed in bytes per second.",
44660702 18856 "format_description" : "bps",
56122987 18857 "optional" : 1,
44660702 18858 "type" : "integer"
56122987 18859 },
de0983cb 18860 "bps_rd_length" : {
5d9c884c
DM
18861 "alias" : "bps_rd_max_length"
18862 },
18863 "bps_rd_max_length" : {
de0983cb
DM
18864 "description" : "Maximum length of read I/O bursts in seconds.",
18865 "format_description" : "seconds",
18866 "minimum" : 1,
18867 "optional" : 1,
18868 "type" : "integer"
18869 },
44660702 18870 "bps_wr" : {
de0983cb 18871 "description" : "Maximum write speed in bytes per second.",
44660702 18872 "format_description" : "bps",
7aacca6f 18873 "optional" : 1,
44660702 18874 "type" : "integer"
56122987 18875 },
de0983cb 18876 "bps_wr_length" : {
5d9c884c
DM
18877 "alias" : "bps_wr_max_length"
18878 },
18879 "bps_wr_max_length" : {
de0983cb
DM
18880 "description" : "Maximum length of write I/O bursts in seconds.",
18881 "format_description" : "seconds",
18882 "minimum" : 1,
18883 "optional" : 1,
18884 "type" : "integer"
18885 },
44660702
DM
18886 "cache" : {
18887 "description" : "The drive's cache mode",
7aacca6f
DM
18888 "enum" : [
18889 "none",
44660702
DM
18890 "writethrough",
18891 "writeback",
18892 "unsafe",
18893 "directsync"
7aacca6f 18894 ],
56122987 18895 "optional" : 1,
44660702 18896 "type" : "string"
56122987 18897 },
7aacca6f
DM
18898 "cyls" : {
18899 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
18900 "optional" : 1,
44660702 18901 "type" : "integer"
7aacca6f 18902 },
44660702
DM
18903 "detect_zeroes" : {
18904 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 18905 "optional" : 1,
44660702 18906 "type" : "boolean"
56122987 18907 },
44660702
DM
18908 "discard" : {
18909 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 18910 "enum" : [
44660702
DM
18911 "ignore",
18912 "on"
7aacca6f 18913 ],
7aacca6f 18914 "optional" : 1,
44660702 18915 "type" : "string"
56122987
DM
18916 },
18917 "file" : {
7aacca6f
DM
18918 "default_key" : 1,
18919 "description" : "The drive's backing volume.",
44660702
DM
18920 "format" : "pve-volume-id-or-qm-path",
18921 "format_description" : "volume",
7aacca6f 18922 "type" : "string"
56122987 18923 },
7aacca6f 18924 "format" : {
44660702 18925 "description" : "The drive's backing file's data format.",
56122987 18926 "enum" : [
7aacca6f
DM
18927 "raw",
18928 "cow",
18929 "qcow",
18930 "qed",
18931 "qcow2",
18932 "vmdk",
18933 "cloop"
56122987 18934 ],
44660702
DM
18935 "optional" : 1,
18936 "type" : "string"
56122987 18937 },
44660702
DM
18938 "heads" : {
18939 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
18940 "optional" : 1,
18941 "type" : "integer"
18942 },
18943 "iops" : {
de0983cb 18944 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 18945 "format_description" : "iops",
56122987 18946 "optional" : 1,
44660702 18947 "type" : "integer"
56122987 18948 },
44660702 18949 "iops_max" : {
de0983cb 18950 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 18951 "format_description" : "iops",
7aacca6f 18952 "optional" : 1,
44660702 18953 "type" : "integer"
56122987 18954 },
de0983cb
DM
18955 "iops_max_length" : {
18956 "description" : "Maximum length of I/O bursts in seconds.",
18957 "format_description" : "seconds",
18958 "minimum" : 1,
18959 "optional" : 1,
18960 "type" : "integer"
18961 },
44660702 18962 "iops_rd" : {
de0983cb 18963 "description" : "Maximum read I/O in operations per second.",
44660702 18964 "format_description" : "iops",
56122987 18965 "optional" : 1,
44660702 18966 "type" : "integer"
56122987 18967 },
de0983cb 18968 "iops_rd_length" : {
5d9c884c 18969 "alias" : "iops_rd_max_length"
de0983cb 18970 },
44660702 18971 "iops_rd_max" : {
de0983cb 18972 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
18973 "format_description" : "iops",
18974 "optional" : 1,
18975 "type" : "integer"
56122987 18976 },
5d9c884c
DM
18977 "iops_rd_max_length" : {
18978 "description" : "Maximum length of read I/O bursts in seconds.",
18979 "format_description" : "seconds",
18980 "minimum" : 1,
18981 "optional" : 1,
18982 "type" : "integer"
18983 },
44660702 18984 "iops_wr" : {
de0983cb 18985 "description" : "Maximum write I/O in operations per second.",
44660702 18986 "format_description" : "iops",
56122987 18987 "optional" : 1,
44660702 18988 "type" : "integer"
56122987 18989 },
de0983cb 18990 "iops_wr_length" : {
5d9c884c 18991 "alias" : "iops_wr_max_length"
de0983cb 18992 },
44660702 18993 "iops_wr_max" : {
de0983cb 18994 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 18995 "format_description" : "iops",
56122987 18996 "optional" : 1,
56122987
DM
18997 "type" : "integer"
18998 },
5d9c884c
DM
18999 "iops_wr_max_length" : {
19000 "description" : "Maximum length of write I/O bursts in seconds.",
19001 "format_description" : "seconds",
19002 "minimum" : 1,
19003 "optional" : 1,
19004 "type" : "integer"
19005 },
44660702
DM
19006 "iothread" : {
19007 "description" : "Whether to use iothreads for this drive",
44660702
DM
19008 "optional" : 1,
19009 "type" : "boolean"
19010 },
19011 "mbps" : {
de0983cb 19012 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
19013 "format_description" : "mbps",
19014 "optional" : 1,
19015 "type" : "number"
19016 },
7aacca6f 19017 "mbps_max" : {
de0983cb 19018 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 19019 "format_description" : "mbps",
56122987 19020 "optional" : 1,
44660702 19021 "type" : "number"
56122987 19022 },
44660702 19023 "mbps_rd" : {
de0983cb 19024 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
19025 "format_description" : "mbps",
19026 "optional" : 1,
19027 "type" : "number"
56122987 19028 },
44660702 19029 "mbps_rd_max" : {
de0983cb 19030 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 19031 "format_description" : "mbps",
56122987 19032 "optional" : 1,
44660702 19033 "type" : "number"
56122987 19034 },
44660702 19035 "mbps_wr" : {
de0983cb 19036 "description" : "Maximum write speed in megabytes per second.",
44660702 19037 "format_description" : "mbps",
56122987 19038 "optional" : 1,
44660702 19039 "type" : "number"
56122987 19040 },
44660702 19041 "mbps_wr_max" : {
de0983cb 19042 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 19043 "format_description" : "mbps",
7aacca6f 19044 "optional" : 1,
44660702 19045 "type" : "number"
56122987 19046 },
7aacca6f 19047 "media" : {
44660702 19048 "default" : "disk",
7aacca6f
DM
19049 "description" : "The drive's media type.",
19050 "enum" : [
19051 "cdrom",
19052 "disk"
19053 ],
56122987 19054 "optional" : 1,
44660702 19055 "type" : "string"
56122987 19056 },
44660702
DM
19057 "queues" : {
19058 "description" : "Number of queues.",
44660702
DM
19059 "minimum" : 2,
19060 "optional" : 1,
19061 "type" : "integer"
56122987 19062 },
5d9c884c
DM
19063 "replicate" : {
19064 "default" : 1,
19065 "description" : "Whether the drive should considered for replication jobs.",
19066 "optional" : 1,
19067 "type" : "boolean"
19068 },
19069 "rerror" : {
19070 "description" : "Read error action.",
19071 "enum" : [
19072 "ignore",
19073 "report",
19074 "stop"
19075 ],
19076 "optional" : 1,
19077 "type" : "string"
19078 },
52e44c50
FG
19079 "scsiblock" : {
19080 "default" : 0,
19081 "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",
19082 "optional" : 1,
19083 "type" : "boolean"
19084 },
7aacca6f 19085 "secs" : {
7aacca6f 19086 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
19087 "optional" : 1,
19088 "type" : "integer"
19089 },
19090 "serial" : {
19091 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
19092 "format" : "urlencoded",
19093 "format_description" : "serial",
19094 "maxLength" : 60,
19095 "optional" : 1,
19096 "type" : "string"
19097 },
27a7acb2
DM
19098 "shared" : {
19099 "default" : 0,
19100 "description" : "Mark this locally-managed volume as available on all nodes",
19101 "optional" : 1,
19102 "type" : "boolean",
19103 "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!"
19104 },
44660702
DM
19105 "size" : {
19106 "description" : "Disk size. This is purely informational and has no effect.",
19107 "format" : "disk-size",
f004f5b9 19108 "format_description" : "DiskSize",
44660702
DM
19109 "optional" : 1,
19110 "type" : "string"
19111 },
19112 "snapshot" : {
27a7acb2 19113 "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
19114 "optional" : 1,
19115 "type" : "boolean"
19116 },
25203dc1
NC
19117 "ssd" : {
19118 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
19119 "optional" : 1,
19120 "type" : "boolean"
19121 },
44660702
DM
19122 "trans" : {
19123 "description" : "Force disk geometry bios translation mode.",
19124 "enum" : [
19125 "none",
19126 "lba",
19127 "auto"
19128 ],
44660702
DM
19129 "optional" : 1,
19130 "type" : "string"
19131 },
19132 "volume" : {
19133 "alias" : "file"
19134 },
19135 "werror" : {
19136 "description" : "Write error action.",
19137 "enum" : [
19138 "enospc",
19139 "ignore",
19140 "report",
19141 "stop"
19142 ],
44660702
DM
19143 "optional" : 1,
19144 "type" : "string"
95895385
TL
19145 },
19146 "wwn" : {
19147 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
19148 "format_description" : "wwn",
19149 "optional" : 1,
19150 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
19151 "type" : "string"
56122987
DM
19152 }
19153 },
7aacca6f 19154 "optional" : 1,
4bd7df8b 19155 "type" : "string",
95895385 19156 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987 19157 },
44660702
DM
19158 "scsihw" : {
19159 "default" : "lsi",
c2993fe5 19160 "description" : "SCSI controller model",
44660702
DM
19161 "enum" : [
19162 "lsi",
19163 "lsi53c810",
19164 "virtio-scsi-pci",
19165 "virtio-scsi-single",
19166 "megasas",
19167 "pvscsi"
19168 ],
7aacca6f 19169 "optional" : 1,
44660702 19170 "type" : "string"
7aacca6f 19171 },
27a7acb2
DM
19172 "searchdomain" : {
19173 "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.",
19174 "optional" : 1,
19175 "type" : "string",
19176 "typetext" : "<string>"
19177 },
44660702 19178 "serial[n]" : {
c2993fe5 19179 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
19180 "optional" : 1,
19181 "pattern" : "(/dev/.+|socket)",
c2993fe5 19182 "type" : "string",
57b78691 19183 "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
19184 },
19185 "shares" : {
19186 "default" : 1000,
5da3d723 19187 "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
19188 "maximum" : 50000,
19189 "minimum" : 0,
19190 "optional" : 1,
4bd7df8b 19191 "type" : "integer",
013dc89f 19192 "typetext" : "<integer> (0 - 50000)"
44660702
DM
19193 },
19194 "smbios1" : {
19195 "description" : "Specify SMBIOS type 1 fields.",
19196 "format" : "pve-qm-smbios1",
1e3f8156 19197 "maxLength" : 512,
7aacca6f 19198 "optional" : 1,
4bd7df8b 19199 "type" : "string",
1e3f8156 19200 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
7aacca6f
DM
19201 },
19202 "smp" : {
44660702 19203 "default" : 1,
7aacca6f 19204 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 19205 "minimum" : 1,
56122987 19206 "optional" : 1,
4bd7df8b 19207 "type" : "integer",
013dc89f 19208 "typetext" : "<integer> (1 - N)"
44660702
DM
19209 },
19210 "sockets" : {
7aacca6f 19211 "default" : 1,
44660702
DM
19212 "description" : "The number of CPU sockets.",
19213 "minimum" : 1,
19214 "optional" : 1,
4bd7df8b 19215 "type" : "integer",
013dc89f 19216 "typetext" : "<integer> (1 - N)"
7aacca6f 19217 },
27a7acb2
DM
19218 "sshkeys" : {
19219 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
19220 "format" : "urlencoded",
19221 "optional" : 1,
19222 "type" : "string",
19223 "typetext" : "<string>"
19224 },
5da3d723
TL
19225 "start" : {
19226 "default" : 0,
19227 "description" : "Start VM after it was created successfully.",
19228 "optional" : 1,
19229 "type" : "boolean",
19230 "typetext" : "<boolean>"
19231 },
44660702
DM
19232 "startdate" : {
19233 "default" : "now",
19234 "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'.",
19235 "optional" : 1,
19236 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
19237 "type" : "string",
19238 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
19239 },
19240 "startup" : {
19241 "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.",
19242 "format" : "pve-startup-order",
19243 "optional" : 1,
19244 "type" : "string",
19245 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
19246 },
19247 "storage" : {
19248 "description" : "Default storage.",
19249 "format" : "pve-storage-id",
7aacca6f 19250 "optional" : 1,
013dc89f
DM
19251 "type" : "string",
19252 "typetext" : "<string>"
56122987 19253 },
44660702
DM
19254 "tablet" : {
19255 "default" : 1,
c2993fe5 19256 "description" : "Enable/disable the USB tablet device.",
56122987 19257 "optional" : 1,
c2993fe5 19258 "type" : "boolean",
013dc89f 19259 "typetext" : "<boolean>",
c2993fe5 19260 "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
19261 },
19262 "tdf" : {
19263 "default" : 0,
19264 "description" : "Enable/disable time drift fix.",
19265 "optional" : 1,
013dc89f
DM
19266 "type" : "boolean",
19267 "typetext" : "<boolean>"
7aacca6f
DM
19268 },
19269 "template" : {
7aacca6f 19270 "default" : 0,
44660702 19271 "description" : "Enable/disable Template.",
7aacca6f 19272 "optional" : 1,
013dc89f
DM
19273 "type" : "boolean",
19274 "typetext" : "<boolean>"
7aacca6f 19275 },
44660702
DM
19276 "unique" : {
19277 "description" : "Assign a unique random ethernet address.",
7aacca6f 19278 "optional" : 1,
44660702 19279 "requires" : "archive",
013dc89f
DM
19280 "type" : "boolean",
19281 "typetext" : "<boolean>"
56122987 19282 },
44660702 19283 "unused[n]" : {
c2993fe5 19284 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 19285 "format" : "pve-volume-id",
7aacca6f 19286 "optional" : 1,
013dc89f
DM
19287 "type" : "string",
19288 "typetext" : "<string>"
44660702
DM
19289 },
19290 "usb[n]" : {
c2993fe5 19291 "description" : "Configure an USB device (n is 0 to 4).",
56122987 19292 "format" : {
7aacca6f
DM
19293 "host" : {
19294 "default_key" : 1,
c2993fe5 19295 "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 19296 "format" : "pve-qm-usb-device",
44660702
DM
19297 "format_description" : "HOSTUSBDEVICE|spice",
19298 "type" : "string"
7aacca6f 19299 },
56122987 19300 "usb3" : {
c2993fe5
DM
19301 "default" : 0,
19302 "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 19303 "optional" : 1,
56122987 19304 "type" : "boolean"
7aacca6f 19305 }
56122987 19306 },
56122987 19307 "optional" : 1,
4bd7df8b
DM
19308 "type" : "string",
19309 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 19310 },
44660702
DM
19311 "vcpus" : {
19312 "default" : 0,
19313 "description" : "Number of hotplugged vcpus.",
19314 "minimum" : 1,
56122987 19315 "optional" : 1,
4bd7df8b 19316 "type" : "integer",
013dc89f 19317 "typetext" : "<integer> (1 - N)"
7aacca6f 19318 },
44660702 19319 "vga" : {
e2d681b3
TL
19320 "description" : "Configure the VGA hardware.",
19321 "format" : {
19322 "memory" : {
19323 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
19324 "maximum" : 512,
19325 "minimum" : 4,
19326 "optional" : 1,
19327 "type" : "integer"
19328 },
19329 "type" : {
19330 "default" : "std",
19331 "default_key" : 1,
19332 "description" : "Select the VGA type.",
19333 "enum" : [
19334 "cirrus",
19335 "qxl",
19336 "qxl2",
19337 "qxl3",
19338 "qxl4",
5f26e15b 19339 "none",
e2d681b3
TL
19340 "serial0",
19341 "serial1",
19342 "serial2",
19343 "serial3",
19344 "std",
19345 "virtio",
19346 "vmware"
19347 ],
19348 "optional" : 1,
19349 "type" : "string"
19350 }
19351 },
44660702 19352 "optional" : 1,
c2993fe5 19353 "type" : "string",
e2d681b3
TL
19354 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
19355 "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 19356 },
44660702
DM
19357 "virtio[n]" : {
19358 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
19359 "format" : {
19360 "aio" : {
19361 "description" : "AIO type to use.",
19362 "enum" : [
19363 "native",
19364 "threads"
19365 ],
44660702
DM
19366 "optional" : 1,
19367 "type" : "string"
19368 },
19369 "backup" : {
19370 "description" : "Whether the drive should be included when making backups.",
44660702
DM
19371 "optional" : 1,
19372 "type" : "boolean"
19373 },
19374 "bps" : {
de0983cb 19375 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
19376 "format_description" : "bps",
19377 "optional" : 1,
19378 "type" : "integer"
19379 },
de0983cb
DM
19380 "bps_max_length" : {
19381 "description" : "Maximum length of I/O bursts in seconds.",
19382 "format_description" : "seconds",
19383 "minimum" : 1,
19384 "optional" : 1,
19385 "type" : "integer"
19386 },
44660702 19387 "bps_rd" : {
de0983cb 19388 "description" : "Maximum read speed in bytes per second.",
44660702
DM
19389 "format_description" : "bps",
19390 "optional" : 1,
19391 "type" : "integer"
19392 },
de0983cb 19393 "bps_rd_length" : {
5d9c884c
DM
19394 "alias" : "bps_rd_max_length"
19395 },
19396 "bps_rd_max_length" : {
de0983cb
DM
19397 "description" : "Maximum length of read I/O bursts in seconds.",
19398 "format_description" : "seconds",
19399 "minimum" : 1,
19400 "optional" : 1,
19401 "type" : "integer"
19402 },
44660702 19403 "bps_wr" : {
de0983cb 19404 "description" : "Maximum write speed in bytes per second.",
44660702
DM
19405 "format_description" : "bps",
19406 "optional" : 1,
19407 "type" : "integer"
19408 },
de0983cb 19409 "bps_wr_length" : {
5d9c884c
DM
19410 "alias" : "bps_wr_max_length"
19411 },
19412 "bps_wr_max_length" : {
de0983cb
DM
19413 "description" : "Maximum length of write I/O bursts in seconds.",
19414 "format_description" : "seconds",
19415 "minimum" : 1,
19416 "optional" : 1,
19417 "type" : "integer"
19418 },
44660702
DM
19419 "cache" : {
19420 "description" : "The drive's cache mode",
19421 "enum" : [
19422 "none",
19423 "writethrough",
19424 "writeback",
19425 "unsafe",
19426 "directsync"
19427 ],
44660702
DM
19428 "optional" : 1,
19429 "type" : "string"
19430 },
19431 "cyls" : {
19432 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
19433 "optional" : 1,
19434 "type" : "integer"
19435 },
19436 "detect_zeroes" : {
19437 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
19438 "optional" : 1,
19439 "type" : "boolean"
19440 },
19441 "discard" : {
19442 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
19443 "enum" : [
19444 "ignore",
19445 "on"
19446 ],
44660702
DM
19447 "optional" : 1,
19448 "type" : "string"
19449 },
19450 "file" : {
19451 "default_key" : 1,
19452 "description" : "The drive's backing volume.",
19453 "format" : "pve-volume-id-or-qm-path",
19454 "format_description" : "volume",
19455 "type" : "string"
19456 },
19457 "format" : {
19458 "description" : "The drive's backing file's data format.",
19459 "enum" : [
19460 "raw",
19461 "cow",
19462 "qcow",
19463 "qed",
19464 "qcow2",
19465 "vmdk",
19466 "cloop"
19467 ],
44660702
DM
19468 "optional" : 1,
19469 "type" : "string"
19470 },
19471 "heads" : {
19472 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
19473 "optional" : 1,
19474 "type" : "integer"
19475 },
19476 "iops" : {
de0983cb 19477 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
19478 "format_description" : "iops",
19479 "optional" : 1,
19480 "type" : "integer"
19481 },
19482 "iops_max" : {
de0983cb 19483 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
19484 "format_description" : "iops",
19485 "optional" : 1,
19486 "type" : "integer"
19487 },
de0983cb
DM
19488 "iops_max_length" : {
19489 "description" : "Maximum length of I/O bursts in seconds.",
19490 "format_description" : "seconds",
19491 "minimum" : 1,
19492 "optional" : 1,
19493 "type" : "integer"
19494 },
44660702 19495 "iops_rd" : {
de0983cb 19496 "description" : "Maximum read I/O in operations per second.",
44660702
DM
19497 "format_description" : "iops",
19498 "optional" : 1,
19499 "type" : "integer"
19500 },
de0983cb 19501 "iops_rd_length" : {
5d9c884c 19502 "alias" : "iops_rd_max_length"
de0983cb 19503 },
44660702 19504 "iops_rd_max" : {
de0983cb 19505 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
19506 "format_description" : "iops",
19507 "optional" : 1,
19508 "type" : "integer"
19509 },
5d9c884c
DM
19510 "iops_rd_max_length" : {
19511 "description" : "Maximum length of read I/O bursts in seconds.",
19512 "format_description" : "seconds",
19513 "minimum" : 1,
19514 "optional" : 1,
19515 "type" : "integer"
19516 },
44660702 19517 "iops_wr" : {
de0983cb 19518 "description" : "Maximum write I/O in operations per second.",
44660702
DM
19519 "format_description" : "iops",
19520 "optional" : 1,
19521 "type" : "integer"
19522 },
de0983cb 19523 "iops_wr_length" : {
5d9c884c 19524 "alias" : "iops_wr_max_length"
de0983cb 19525 },
44660702 19526 "iops_wr_max" : {
de0983cb 19527 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
19528 "format_description" : "iops",
19529 "optional" : 1,
19530 "type" : "integer"
19531 },
5d9c884c
DM
19532 "iops_wr_max_length" : {
19533 "description" : "Maximum length of write I/O bursts in seconds.",
19534 "format_description" : "seconds",
19535 "minimum" : 1,
19536 "optional" : 1,
19537 "type" : "integer"
19538 },
44660702
DM
19539 "iothread" : {
19540 "description" : "Whether to use iothreads for this drive",
44660702
DM
19541 "optional" : 1,
19542 "type" : "boolean"
19543 },
19544 "mbps" : {
de0983cb 19545 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
19546 "format_description" : "mbps",
19547 "optional" : 1,
19548 "type" : "number"
19549 },
19550 "mbps_max" : {
de0983cb 19551 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
19552 "format_description" : "mbps",
19553 "optional" : 1,
19554 "type" : "number"
19555 },
19556 "mbps_rd" : {
de0983cb 19557 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
19558 "format_description" : "mbps",
19559 "optional" : 1,
19560 "type" : "number"
19561 },
19562 "mbps_rd_max" : {
de0983cb 19563 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
19564 "format_description" : "mbps",
19565 "optional" : 1,
19566 "type" : "number"
19567 },
19568 "mbps_wr" : {
de0983cb 19569 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
19570 "format_description" : "mbps",
19571 "optional" : 1,
19572 "type" : "number"
19573 },
19574 "mbps_wr_max" : {
de0983cb 19575 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
19576 "format_description" : "mbps",
19577 "optional" : 1,
19578 "type" : "number"
19579 },
19580 "media" : {
19581 "default" : "disk",
19582 "description" : "The drive's media type.",
19583 "enum" : [
19584 "cdrom",
19585 "disk"
19586 ],
44660702
DM
19587 "optional" : 1,
19588 "type" : "string"
19589 },
5d9c884c
DM
19590 "replicate" : {
19591 "default" : 1,
19592 "description" : "Whether the drive should considered for replication jobs.",
19593 "optional" : 1,
19594 "type" : "boolean"
19595 },
44660702
DM
19596 "rerror" : {
19597 "description" : "Read error action.",
19598 "enum" : [
19599 "ignore",
19600 "report",
19601 "stop"
19602 ],
44660702
DM
19603 "optional" : 1,
19604 "type" : "string"
19605 },
19606 "secs" : {
19607 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
19608 "optional" : 1,
19609 "type" : "integer"
19610 },
19611 "serial" : {
19612 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
19613 "format" : "urlencoded",
19614 "format_description" : "serial",
19615 "maxLength" : 60,
19616 "optional" : 1,
19617 "type" : "string"
19618 },
27a7acb2
DM
19619 "shared" : {
19620 "default" : 0,
19621 "description" : "Mark this locally-managed volume as available on all nodes",
19622 "optional" : 1,
19623 "type" : "boolean",
19624 "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!"
19625 },
44660702
DM
19626 "size" : {
19627 "description" : "Disk size. This is purely informational and has no effect.",
19628 "format" : "disk-size",
f004f5b9 19629 "format_description" : "DiskSize",
44660702
DM
19630 "optional" : 1,
19631 "type" : "string"
19632 },
19633 "snapshot" : {
27a7acb2 19634 "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
19635 "optional" : 1,
19636 "type" : "boolean"
19637 },
19638 "trans" : {
19639 "description" : "Force disk geometry bios translation mode.",
19640 "enum" : [
19641 "none",
19642 "lba",
19643 "auto"
19644 ],
44660702
DM
19645 "optional" : 1,
19646 "type" : "string"
19647 },
19648 "volume" : {
19649 "alias" : "file"
19650 },
19651 "werror" : {
19652 "description" : "Write error action.",
19653 "enum" : [
19654 "enospc",
19655 "ignore",
19656 "report",
19657 "stop"
19658 ],
44660702
DM
19659 "optional" : 1,
19660 "type" : "string"
19661 }
19662 },
19663 "optional" : 1,
4bd7df8b 19664 "type" : "string",
27a7acb2 19665 "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 19666 },
4d47f125
TL
19667 "vmgenid" : {
19668 "default" : "1 (autogenerated)",
19669 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
19670 "format_description" : "UUID",
19671 "optional" : 1,
19672 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
19673 "type" : "string",
19674 "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."
19675 },
44660702
DM
19676 "vmid" : {
19677 "description" : "The (unique) ID of the VM.",
19678 "format" : "pve-vmid",
19679 "minimum" : 1,
4bd7df8b 19680 "type" : "integer",
013dc89f 19681 "typetext" : "<integer> (1 - N)"
44660702 19682 },
2489d6df
WB
19683 "vmstatestorage" : {
19684 "description" : "Default storage for VM state volumes/files.",
19685 "format" : "pve-storage-id",
19686 "optional" : 1,
19687 "type" : "string",
19688 "typetext" : "<string>"
19689 },
44660702 19690 "watchdog" : {
c2993fe5 19691 "description" : "Create a virtual hardware watchdog device.",
44660702 19692 "format" : "pve-qm-watchdog",
7aacca6f 19693 "optional" : 1,
c2993fe5 19694 "type" : "string",
013dc89f 19695 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 19696 "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 19697 }
44660702 19698 }
56122987 19699 },
56122987 19700 "permissions" : {
44660702
DM
19701 "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.",
19702 "user" : "all"
56122987 19703 },
44660702
DM
19704 "protected" : 1,
19705 "proxyto" : "node",
56122987 19706 "returns" : {
44660702 19707 "type" : "string"
7aacca6f 19708 }
56122987 19709 }
7aacca6f 19710 },
44660702 19711 "leaf" : 0,
7aacca6f 19712 "path" : "/nodes/{node}/qemu",
44660702 19713 "text" : "qemu"
56122987
DM
19714 },
19715 {
19716 "children" : [
19717 {
56122987
DM
19718 "children" : [
19719 {
56122987 19720 "info" : {
44660702
DM
19721 "GET" : {
19722 "description" : "Get container configuration.",
19723 "method" : "GET",
19724 "name" : "vm_config",
19725 "parameters" : {
19726 "additionalProperties" : 0,
19727 "properties" : {
19728 "node" : {
19729 "description" : "The cluster node name.",
19730 "format" : "pve-node",
013dc89f 19731 "type" : "string",
4d47f125
TL
19732 "typetext" : "<string>"
19733 },
5f26e15b
TL
19734 "snapshot" : {
19735 "description" : "Fetch config values from given snapshot.",
19736 "format" : "pve-configid",
19737 "maxLength" : 40,
19738 "optional" : 1,
19739 "type" : "string",
19740 "typetext" : "<string>"
19741 },
4d47f125
TL
19742 "vmid" : {
19743 "description" : "The (unique) ID of the VM.",
19744 "format" : "pve-vmid",
19745 "minimum" : 1,
19746 "type" : "integer",
19747 "typetext" : "<integer> (1 - N)"
19748 }
19749 }
19750 },
19751 "permissions" : {
19752 "check" : [
19753 "perm",
19754 "/vms/{vmid}",
19755 [
19756 "VM.Audit"
19757 ]
19758 ]
19759 },
19760 "proxyto" : "node",
19761 "returns" : {
19762 "properties" : {
19763 "arch" : {
19764 "default" : "amd64",
19765 "description" : "OS architecture type.",
19766 "enum" : [
19767 "amd64",
19768 "i386",
19769 "arm64",
19770 "armhf"
19771 ],
19772 "optional" : 1,
19773 "type" : "string"
19774 },
19775 "cmode" : {
19776 "default" : "tty",
19777 "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).",
19778 "enum" : [
19779 "shell",
19780 "console",
19781 "tty"
19782 ],
19783 "optional" : 1,
19784 "type" : "string"
19785 },
19786 "console" : {
19787 "default" : 1,
19788 "description" : "Attach a console device (/dev/console) to the container.",
19789 "optional" : 1,
19790 "type" : "boolean"
19791 },
19792 "cores" : {
19793 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
19794 "maximum" : 128,
19795 "minimum" : 1,
19796 "optional" : 1,
19797 "type" : "integer"
19798 },
19799 "cpulimit" : {
19800 "default" : 0,
19801 "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.",
19802 "maximum" : 128,
19803 "minimum" : 0,
19804 "optional" : 1,
19805 "type" : "number"
19806 },
19807 "cpuunits" : {
19808 "default" : 1024,
19809 "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.",
19810 "maximum" : 500000,
19811 "minimum" : 0,
19812 "optional" : 1,
19813 "type" : "integer"
19814 },
19815 "description" : {
19816 "description" : "Container description. Only used on the configuration web interface.",
19817 "optional" : 1,
19818 "type" : "string"
19819 },
19820 "digest" : {
19821 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
19822 "type" : "string"
19823 },
19824 "features" : {
19825 "description" : "Allow containers access to advanced features.",
19826 "format" : {
e2d681b3
TL
19827 "fuse" : {
19828 "default" : 0,
19829 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
19830 "optional" : 1,
19831 "type" : "boolean"
19832 },
4d47f125
TL
19833 "keyctl" : {
19834 "default" : 0,
19835 "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.",
19836 "optional" : 1,
19837 "type" : "boolean"
19838 },
19839 "mount" : {
19840 "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.",
19841 "format_description" : "fstype;fstype;...",
19842 "optional" : 1,
95895385 19843 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
19844 "type" : "string"
19845 },
19846 "nesting" : {
19847 "default" : 0,
19848 "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.",
19849 "optional" : 1,
19850 "type" : "boolean"
19851 }
19852 },
19853 "optional" : 1,
19854 "type" : "string"
19855 },
5f26e15b
TL
19856 "hookscript" : {
19857 "description" : "Script that will be exectued during various steps in the containers lifetime.",
19858 "format" : "pve-volume-id",
19859 "optional" : 1,
19860 "type" : "string"
19861 },
4d47f125
TL
19862 "hostname" : {
19863 "description" : "Set a host name for the container.",
19864 "format" : "dns-name",
19865 "maxLength" : 255,
19866 "optional" : 1,
19867 "type" : "string"
19868 },
19869 "lock" : {
19870 "description" : "Lock/unlock the VM.",
19871 "enum" : [
19872 "backup",
bb4c8cf8 19873 "create",
4d47f125 19874 "disk",
bb4c8cf8 19875 "fstrim",
4d47f125
TL
19876 "migrate",
19877 "mounted",
19878 "rollback",
19879 "snapshot",
19880 "snapshot-delete"
19881 ],
19882 "optional" : 1,
19883 "type" : "string"
19884 },
19885 "lxc" : {
19886 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
19887 "items" : {
19888 "items" : {
19889 "type" : "string"
19890 },
19891 "type" : "array"
19892 },
19893 "optional" : 1,
19894 "type" : "array"
19895 },
19896 "memory" : {
19897 "default" : 512,
19898 "description" : "Amount of RAM for the VM in MB.",
19899 "minimum" : 16,
19900 "optional" : 1,
19901 "type" : "integer"
19902 },
19903 "mp[n]" : {
19904 "description" : "Use volume as container mount point.",
19905 "format" : {
19906 "acl" : {
19907 "description" : "Explicitly enable or disable ACL support.",
19908 "optional" : 1,
19909 "type" : "boolean"
19910 },
19911 "backup" : {
19912 "description" : "Whether to include the mount point in backups.",
19913 "optional" : 1,
19914 "type" : "boolean",
19915 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
19916 },
19917 "mp" : {
19918 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
19919 "format" : "pve-lxc-mp-string",
19920 "format_description" : "Path",
19921 "type" : "string",
19922 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
19923 },
19924 "quota" : {
19925 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19926 "optional" : 1,
19927 "type" : "boolean"
19928 },
19929 "replicate" : {
19930 "default" : 1,
19931 "description" : "Will include this volume to a storage replica job.",
19932 "optional" : 1,
19933 "type" : "boolean"
19934 },
19935 "ro" : {
19936 "description" : "Read-only mount point",
19937 "optional" : 1,
19938 "type" : "boolean"
19939 },
19940 "shared" : {
19941 "default" : 0,
19942 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19943 "optional" : 1,
19944 "type" : "boolean",
19945 "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!"
19946 },
19947 "size" : {
19948 "description" : "Volume size (read only value).",
19949 "format" : "disk-size",
19950 "format_description" : "DiskSize",
19951 "optional" : 1,
19952 "type" : "string"
19953 },
19954 "volume" : {
19955 "default_key" : 1,
19956 "description" : "Volume, device or directory to mount into the container.",
19957 "format" : "pve-lxc-mp-string",
19958 "format_description" : "volume",
19959 "type" : "string"
19960 }
19961 },
19962 "optional" : 1,
19963 "type" : "string"
19964 },
19965 "nameserver" : {
19966 "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.",
19967 "format" : "address-list",
19968 "optional" : 1,
19969 "type" : "string"
19970 },
19971 "net[n]" : {
19972 "description" : "Specifies network interfaces for the container.",
19973 "format" : {
19974 "bridge" : {
19975 "description" : "Bridge to attach the network device to.",
19976 "format_description" : "bridge",
19977 "optional" : 1,
19978 "pattern" : "[-_.\\w\\d]+",
19979 "type" : "string"
19980 },
19981 "firewall" : {
19982 "description" : "Controls whether this interface's firewall rules should be used.",
19983 "optional" : 1,
19984 "type" : "boolean"
19985 },
19986 "gw" : {
19987 "description" : "Default gateway for IPv4 traffic.",
19988 "format" : "ipv4",
19989 "format_description" : "GatewayIPv4",
19990 "optional" : 1,
19991 "type" : "string"
19992 },
19993 "gw6" : {
19994 "description" : "Default gateway for IPv6 traffic.",
19995 "format" : "ipv6",
19996 "format_description" : "GatewayIPv6",
19997 "optional" : 1,
19998 "type" : "string"
19999 },
20000 "hwaddr" : {
20001 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 20002 "format" : "mac-addr",
4d47f125
TL
20003 "format_description" : "XX:XX:XX:XX:XX:XX",
20004 "optional" : 1,
95895385
TL
20005 "type" : "string",
20006 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
20007 },
20008 "ip" : {
20009 "description" : "IPv4 address in CIDR format.",
20010 "format" : "pve-ipv4-config",
20011 "format_description" : "(IPv4/CIDR|dhcp|manual)",
20012 "optional" : 1,
20013 "type" : "string"
20014 },
20015 "ip6" : {
20016 "description" : "IPv6 address in CIDR format.",
20017 "format" : "pve-ipv6-config",
20018 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
20019 "optional" : 1,
20020 "type" : "string"
20021 },
20022 "mtu" : {
20023 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
20024 "minimum" : 64,
20025 "optional" : 1,
20026 "type" : "integer"
20027 },
20028 "name" : {
20029 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
20030 "format_description" : "string",
20031 "pattern" : "[-_.\\w\\d]+",
20032 "type" : "string"
20033 },
20034 "rate" : {
20035 "description" : "Apply rate limiting to the interface",
20036 "format_description" : "mbps",
20037 "optional" : 1,
20038 "type" : "number"
20039 },
20040 "tag" : {
20041 "description" : "VLAN tag for this interface.",
20042 "maximum" : 4094,
20043 "minimum" : 1,
20044 "optional" : 1,
20045 "type" : "integer"
20046 },
20047 "trunks" : {
20048 "description" : "VLAN ids to pass through the interface",
20049 "format_description" : "vlanid[;vlanid...]",
20050 "optional" : 1,
20051 "pattern" : "(?^:\\d+(?:;\\d+)*)",
20052 "type" : "string"
20053 },
20054 "type" : {
20055 "description" : "Network interface type.",
20056 "enum" : [
20057 "veth"
20058 ],
20059 "optional" : 1,
20060 "type" : "string"
20061 }
20062 },
20063 "optional" : 1,
20064 "type" : "string"
20065 },
20066 "onboot" : {
20067 "default" : 0,
20068 "description" : "Specifies whether a VM will be started during system bootup.",
20069 "optional" : 1,
20070 "type" : "boolean"
20071 },
20072 "ostype" : {
20073 "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.",
20074 "enum" : [
20075 "debian",
20076 "ubuntu",
20077 "centos",
20078 "fedora",
20079 "opensuse",
20080 "archlinux",
20081 "alpine",
20082 "gentoo",
20083 "unmanaged"
20084 ],
20085 "optional" : 1,
20086 "type" : "string"
20087 },
20088 "protection" : {
20089 "default" : 0,
20090 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
20091 "optional" : 1,
20092 "type" : "boolean"
20093 },
20094 "rootfs" : {
20095 "description" : "Use volume as container root.",
20096 "format" : {
20097 "acl" : {
20098 "description" : "Explicitly enable or disable ACL support.",
20099 "optional" : 1,
20100 "type" : "boolean"
20101 },
20102 "quota" : {
20103 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
20104 "optional" : 1,
20105 "type" : "boolean"
20106 },
20107 "replicate" : {
20108 "default" : 1,
20109 "description" : "Will include this volume to a storage replica job.",
20110 "optional" : 1,
20111 "type" : "boolean"
20112 },
20113 "ro" : {
20114 "description" : "Read-only mount point",
20115 "optional" : 1,
20116 "type" : "boolean"
20117 },
20118 "shared" : {
20119 "default" : 0,
20120 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20121 "optional" : 1,
20122 "type" : "boolean",
20123 "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!"
20124 },
20125 "size" : {
20126 "description" : "Volume size (read only value).",
20127 "format" : "disk-size",
20128 "format_description" : "DiskSize",
20129 "optional" : 1,
20130 "type" : "string"
20131 },
20132 "volume" : {
20133 "default_key" : 1,
20134 "description" : "Volume, device or directory to mount into the container.",
20135 "format" : "pve-lxc-mp-string",
20136 "format_description" : "volume",
20137 "type" : "string"
20138 }
20139 },
20140 "optional" : 1,
20141 "type" : "string"
20142 },
20143 "searchdomain" : {
20144 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
20145 "format" : "dns-name-list",
20146 "optional" : 1,
20147 "type" : "string"
20148 },
20149 "startup" : {
20150 "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.",
20151 "format" : "pve-startup-order",
20152 "optional" : 1,
20153 "type" : "string",
20154 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
20155 },
20156 "swap" : {
20157 "default" : 512,
20158 "description" : "Amount of SWAP for the VM in MB.",
20159 "minimum" : 0,
20160 "optional" : 1,
20161 "type" : "integer"
20162 },
20163 "template" : {
20164 "default" : 0,
20165 "description" : "Enable/disable Template.",
20166 "optional" : 1,
20167 "type" : "boolean"
44660702 20168 },
4d47f125
TL
20169 "tty" : {
20170 "default" : 2,
20171 "description" : "Specify the number of tty available to the container",
20172 "maximum" : 6,
20173 "minimum" : 0,
20174 "optional" : 1,
20175 "type" : "integer"
20176 },
20177 "unprivileged" : {
20178 "default" : 0,
20179 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
20180 "optional" : 1,
20181 "type" : "boolean"
20182 },
20183 "unused[n]" : {
20184 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
20185 "format" : "pve-volume-id",
20186 "optional" : 1,
44660702
DM
20187 "type" : "string"
20188 }
20189 },
20190 "type" : "object"
20191 }
20192 },
56122987 20193 "PUT" : {
44660702
DM
20194 "description" : "Set container options.",
20195 "method" : "PUT",
20196 "name" : "update_vm",
56122987 20197 "parameters" : {
44660702 20198 "additionalProperties" : 0,
56122987 20199 "properties" : {
44660702
DM
20200 "arch" : {
20201 "default" : "amd64",
20202 "description" : "OS architecture type.",
20203 "enum" : [
20204 "amd64",
4d47f125
TL
20205 "i386",
20206 "arm64",
20207 "armhf"
44660702 20208 ],
7aacca6f 20209 "optional" : 1,
44660702
DM
20210 "type" : "string"
20211 },
20212 "cmode" : {
7aacca6f 20213 "default" : "tty",
44660702 20214 "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
20215 "enum" : [
20216 "shell",
20217 "console",
20218 "tty"
20219 ],
44660702
DM
20220 "optional" : 1,
20221 "type" : "string"
7aacca6f 20222 },
44660702
DM
20223 "console" : {
20224 "default" : 1,
20225 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 20226 "optional" : 1,
013dc89f
DM
20227 "type" : "boolean",
20228 "typetext" : "<boolean>"
7aacca6f 20229 },
de0983cb
DM
20230 "cores" : {
20231 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
20232 "maximum" : 128,
20233 "minimum" : 1,
20234 "optional" : 1,
20235 "type" : "integer",
013dc89f 20236 "typetext" : "<integer> (1 - 128)"
de0983cb 20237 },
44660702
DM
20238 "cpulimit" : {
20239 "default" : 0,
20240 "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.",
20241 "maximum" : 128,
7aacca6f 20242 "minimum" : 0,
7aacca6f 20243 "optional" : 1,
4bd7df8b 20244 "type" : "number",
013dc89f 20245 "typetext" : "<number> (0 - 128)"
7aacca6f 20246 },
44660702
DM
20247 "cpuunits" : {
20248 "default" : 1024,
20249 "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.",
20250 "maximum" : 500000,
20251 "minimum" : 0,
20252 "optional" : 1,
4bd7df8b 20253 "type" : "integer",
013dc89f 20254 "typetext" : "<integer> (0 - 500000)"
7aacca6f 20255 },
44660702
DM
20256 "delete" : {
20257 "description" : "A list of settings you want to delete.",
20258 "format" : "pve-configid-list",
7aacca6f 20259 "optional" : 1,
013dc89f
DM
20260 "type" : "string",
20261 "typetext" : "<string>"
7aacca6f 20262 },
44660702
DM
20263 "description" : {
20264 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 20265 "optional" : 1,
013dc89f
DM
20266 "type" : "string",
20267 "typetext" : "<string>"
7aacca6f 20268 },
44660702
DM
20269 "digest" : {
20270 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20271 "maxLength" : 40,
7aacca6f 20272 "optional" : 1,
013dc89f
DM
20273 "type" : "string",
20274 "typetext" : "<string>"
7aacca6f 20275 },
4d47f125
TL
20276 "features" : {
20277 "description" : "Allow containers access to advanced features.",
20278 "format" : {
e2d681b3
TL
20279 "fuse" : {
20280 "default" : 0,
20281 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
20282 "optional" : 1,
20283 "type" : "boolean"
20284 },
4d47f125
TL
20285 "keyctl" : {
20286 "default" : 0,
20287 "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.",
20288 "optional" : 1,
20289 "type" : "boolean"
20290 },
20291 "mount" : {
20292 "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.",
20293 "format_description" : "fstype;fstype;...",
20294 "optional" : 1,
95895385 20295 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
20296 "type" : "string"
20297 },
20298 "nesting" : {
20299 "default" : 0,
20300 "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.",
20301 "optional" : 1,
20302 "type" : "boolean"
20303 }
20304 },
20305 "optional" : 1,
20306 "type" : "string",
e2d681b3 20307 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 20308 },
5f26e15b
TL
20309 "hookscript" : {
20310 "description" : "Script that will be exectued during various steps in the containers lifetime.",
20311 "format" : "pve-volume-id",
20312 "optional" : 1,
20313 "type" : "string",
20314 "typetext" : "<string>"
20315 },
44660702
DM
20316 "hostname" : {
20317 "description" : "Set a host name for the container.",
20318 "format" : "dns-name",
20319 "maxLength" : 255,
56122987 20320 "optional" : 1,
013dc89f
DM
20321 "type" : "string",
20322 "typetext" : "<string>"
44660702
DM
20323 },
20324 "lock" : {
20325 "description" : "Lock/unlock the VM.",
20326 "enum" : [
44660702 20327 "backup",
bb4c8cf8 20328 "create",
4d47f125 20329 "disk",
bb4c8cf8 20330 "fstrim",
4d47f125
TL
20331 "migrate",
20332 "mounted",
20333 "rollback",
44660702 20334 "snapshot",
4d47f125 20335 "snapshot-delete"
44660702
DM
20336 ],
20337 "optional" : 1,
20338 "type" : "string"
20339 },
20340 "memory" : {
20341 "default" : 512,
20342 "description" : "Amount of RAM for the VM in MB.",
20343 "minimum" : 16,
20344 "optional" : 1,
4bd7df8b 20345 "type" : "integer",
013dc89f 20346 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
20347 },
20348 "mp[n]" : {
c2993fe5 20349 "description" : "Use volume as container mount point.",
7aacca6f 20350 "format" : {
7aacca6f
DM
20351 "acl" : {
20352 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 20353 "optional" : 1,
44660702 20354 "type" : "boolean"
7aacca6f
DM
20355 },
20356 "backup" : {
de0983cb 20357 "description" : "Whether to include the mount point in backups.",
7aacca6f 20358 "optional" : 1,
4bd7df8b 20359 "type" : "boolean",
de0983cb 20360 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
20361 },
20362 "mp" : {
de0983cb 20363 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 20364 "format" : "pve-lxc-mp-string",
44660702 20365 "format_description" : "Path",
4bd7df8b 20366 "type" : "string",
de0983cb 20367 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 20368 },
5d9c884c
DM
20369 "quota" : {
20370 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
20371 "optional" : 1,
20372 "type" : "boolean"
20373 },
20374 "replicate" : {
20375 "default" : 1,
20376 "description" : "Will include this volume to a storage replica job.",
44660702
DM
20377 "optional" : 1,
20378 "type" : "boolean"
20379 },
20380 "ro" : {
de0983cb 20381 "description" : "Read-only mount point",
44660702
DM
20382 "optional" : 1,
20383 "type" : "boolean"
20384 },
de0983cb
DM
20385 "shared" : {
20386 "default" : 0,
20387 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20388 "optional" : 1,
20389 "type" : "boolean",
20390 "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!"
20391 },
44660702
DM
20392 "size" : {
20393 "description" : "Volume size (read only value).",
20394 "format" : "disk-size",
20395 "format_description" : "DiskSize",
20396 "optional" : 1,
20397 "type" : "string"
20398 },
20399 "volume" : {
20400 "default_key" : 1,
20401 "description" : "Volume, device or directory to mount into the container.",
20402 "format" : "pve-lxc-mp-string",
20403 "format_description" : "volume",
20404 "type" : "string"
20405 }
20406 },
7aacca6f 20407 "optional" : 1,
4bd7df8b 20408 "type" : "string",
5d9c884c 20409 "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 20410 },
44660702
DM
20411 "nameserver" : {
20412 "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.",
20413 "format" : "address-list",
56122987 20414 "optional" : 1,
013dc89f
DM
20415 "type" : "string",
20416 "typetext" : "<string>"
56122987
DM
20417 },
20418 "net[n]" : {
44660702 20419 "description" : "Specifies network interfaces for the container.",
56122987 20420 "format" : {
44660702
DM
20421 "bridge" : {
20422 "description" : "Bridge to attach the network device to.",
f004f5b9 20423 "format_description" : "bridge",
56122987 20424 "optional" : 1,
44660702
DM
20425 "pattern" : "[-_.\\w\\d]+",
20426 "type" : "string"
56122987 20427 },
44660702
DM
20428 "firewall" : {
20429 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 20430 "optional" : 1,
44660702 20431 "type" : "boolean"
56122987 20432 },
44660702
DM
20433 "gw" : {
20434 "description" : "Default gateway for IPv4 traffic.",
20435 "format" : "ipv4",
20436 "format_description" : "GatewayIPv4",
56122987 20437 "optional" : 1,
44660702 20438 "type" : "string"
56122987
DM
20439 },
20440 "gw6" : {
7aacca6f 20441 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
20442 "format" : "ipv6",
20443 "format_description" : "GatewayIPv6",
7aacca6f 20444 "optional" : 1,
56122987
DM
20445 "type" : "string"
20446 },
44660702 20447 "hwaddr" : {
f004f5b9 20448 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 20449 "format" : "mac-addr",
f004f5b9 20450 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702 20451 "optional" : 1,
95895385
TL
20452 "type" : "string",
20453 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
44660702
DM
20454 },
20455 "ip" : {
20456 "description" : "IPv4 address in CIDR format.",
20457 "format" : "pve-ipv4-config",
2489d6df 20458 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 20459 "optional" : 1,
44660702 20460 "type" : "string"
56122987 20461 },
7aacca6f 20462 "ip6" : {
7aacca6f
DM
20463 "description" : "IPv6 address in CIDR format.",
20464 "format" : "pve-ipv6-config",
2489d6df 20465 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 20466 "optional" : 1,
44660702 20467 "type" : "string"
56122987 20468 },
44660702
DM
20469 "mtu" : {
20470 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 20471 "minimum" : 64,
56122987 20472 "optional" : 1,
44660702 20473 "type" : "integer"
56122987
DM
20474 },
20475 "name" : {
44660702 20476 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 20477 "format_description" : "string",
56122987 20478 "pattern" : "[-_.\\w\\d]+",
44660702 20479 "type" : "string"
56122987 20480 },
44660702
DM
20481 "rate" : {
20482 "description" : "Apply rate limiting to the interface",
20483 "format_description" : "mbps",
56122987 20484 "optional" : 1,
44660702 20485 "type" : "number"
7aacca6f 20486 },
44660702
DM
20487 "tag" : {
20488 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
20489 "maximum" : 4094,
20490 "minimum" : 1,
56122987 20491 "optional" : 1,
7aacca6f 20492 "type" : "integer"
56122987 20493 },
44660702
DM
20494 "trunks" : {
20495 "description" : "VLAN ids to pass through the interface",
20496 "format_description" : "vlanid[;vlanid...]",
20497 "optional" : 1,
20498 "pattern" : "(?^:\\d+(?:;\\d+)*)",
20499 "type" : "string"
20500 },
20501 "type" : {
20502 "description" : "Network interface type.",
20503 "enum" : [
20504 "veth"
20505 ],
56122987 20506 "optional" : 1,
44660702 20507 "type" : "string"
56122987
DM
20508 }
20509 },
7aacca6f 20510 "optional" : 1,
4bd7df8b 20511 "type" : "string",
2489d6df 20512 "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 20513 },
44660702
DM
20514 "node" : {
20515 "description" : "The cluster node name.",
20516 "format" : "pve-node",
013dc89f
DM
20517 "type" : "string",
20518 "typetext" : "<string>"
56122987 20519 },
44660702
DM
20520 "onboot" : {
20521 "default" : 0,
20522 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 20523 "optional" : 1,
013dc89f
DM
20524 "type" : "boolean",
20525 "typetext" : "<boolean>"
56122987 20526 },
44660702
DM
20527 "ostype" : {
20528 "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.",
20529 "enum" : [
20530 "debian",
20531 "ubuntu",
20532 "centos",
20533 "fedora",
20534 "opensuse",
20535 "archlinux",
20536 "alpine",
57b78691 20537 "gentoo",
44660702
DM
20538 "unmanaged"
20539 ],
56122987 20540 "optional" : 1,
44660702 20541 "type" : "string"
56122987 20542 },
44660702
DM
20543 "protection" : {
20544 "default" : 0,
20545 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 20546 "optional" : 1,
013dc89f
DM
20547 "type" : "boolean",
20548 "typetext" : "<boolean>"
56122987 20549 },
7aacca6f
DM
20550 "rootfs" : {
20551 "description" : "Use volume as container root.",
56122987
DM
20552 "format" : {
20553 "acl" : {
44660702 20554 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
20555 "optional" : 1,
20556 "type" : "boolean"
56122987 20557 },
44660702
DM
20558 "quota" : {
20559 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
20560 "optional" : 1,
20561 "type" : "boolean"
20562 },
5d9c884c
DM
20563 "replicate" : {
20564 "default" : 1,
20565 "description" : "Will include this volume to a storage replica job.",
20566 "optional" : 1,
20567 "type" : "boolean"
20568 },
44660702 20569 "ro" : {
de0983cb 20570 "description" : "Read-only mount point",
56122987 20571 "optional" : 1,
44660702
DM
20572 "type" : "boolean"
20573 },
de0983cb
DM
20574 "shared" : {
20575 "default" : 0,
20576 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20577 "optional" : 1,
20578 "type" : "boolean",
20579 "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!"
20580 },
44660702 20581 "size" : {
7aacca6f 20582 "description" : "Volume size (read only value).",
44660702 20583 "format" : "disk-size",
56122987 20584 "format_description" : "DiskSize",
56122987 20585 "optional" : 1,
44660702 20586 "type" : "string"
7aacca6f
DM
20587 },
20588 "volume" : {
7aacca6f
DM
20589 "default_key" : 1,
20590 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
20591 "format" : "pve-lxc-mp-string",
20592 "format_description" : "volume",
7aacca6f 20593 "type" : "string"
56122987 20594 }
44660702
DM
20595 },
20596 "optional" : 1,
4bd7df8b 20597 "type" : "string",
5d9c884c 20598 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
20599 },
20600 "searchdomain" : {
20601 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
20602 "format" : "dns-name-list",
20603 "optional" : 1,
013dc89f
DM
20604 "type" : "string",
20605 "typetext" : "<string>"
44660702
DM
20606 },
20607 "startup" : {
20608 "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.",
20609 "format" : "pve-startup-order",
20610 "optional" : 1,
20611 "type" : "string",
20612 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
20613 },
20614 "swap" : {
20615 "default" : 512,
20616 "description" : "Amount of SWAP for the VM in MB.",
20617 "minimum" : 0,
20618 "optional" : 1,
4bd7df8b 20619 "type" : "integer",
013dc89f 20620 "typetext" : "<integer> (0 - N)"
56122987 20621 },
56122987 20622 "template" : {
44660702 20623 "default" : 0,
7aacca6f 20624 "description" : "Enable/disable Template.",
56122987 20625 "optional" : 1,
013dc89f
DM
20626 "type" : "boolean",
20627 "typetext" : "<boolean>"
56122987 20628 },
44660702
DM
20629 "tty" : {
20630 "default" : 2,
20631 "description" : "Specify the number of tty available to the container",
20632 "maximum" : 6,
20633 "minimum" : 0,
20634 "optional" : 1,
4bd7df8b 20635 "type" : "integer",
013dc89f 20636 "typetext" : "<integer> (0 - 6)"
56122987 20637 },
44660702
DM
20638 "unprivileged" : {
20639 "default" : 0,
20640 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 20641 "optional" : 1,
013dc89f
DM
20642 "type" : "boolean",
20643 "typetext" : "<boolean>"
56122987 20644 },
44660702 20645 "unused[n]" : {
c2993fe5 20646 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 20647 "format" : "pve-volume-id",
56122987 20648 "optional" : 1,
013dc89f
DM
20649 "type" : "string",
20650 "typetext" : "<string>"
44660702
DM
20651 },
20652 "vmid" : {
20653 "description" : "The (unique) ID of the VM.",
20654 "format" : "pve-vmid",
20655 "minimum" : 1,
4bd7df8b 20656 "type" : "integer",
013dc89f 20657 "typetext" : "<integer> (1 - N)"
56122987 20658 }
44660702 20659 }
56122987 20660 },
56122987
DM
20661 "permissions" : {
20662 "check" : [
20663 "perm",
20664 "/vms/{vmid}",
20665 [
20666 "VM.Config.Disk",
20667 "VM.Config.CPU",
20668 "VM.Config.Memory",
20669 "VM.Config.Network",
20670 "VM.Config.Options"
20671 ],
20672 "any",
20673 1
52e44c50
FG
20674 ],
20675 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 20676 },
44660702
DM
20677 "protected" : 1,
20678 "proxyto" : "node",
56122987
DM
20679 "returns" : {
20680 "type" : "null"
7aacca6f 20681 }
56122987 20682 }
7aacca6f 20683 },
44660702 20684 "leaf" : 1,
7aacca6f 20685 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 20686 "text" : "config"
56122987
DM
20687 },
20688 {
56122987
DM
20689 "children" : [
20690 {
20691 "info" : {
20692 "GET" : {
44660702 20693 "description" : "Get virtual machine status.",
7aacca6f 20694 "method" : "GET",
44660702 20695 "name" : "vm_status",
56122987 20696 "parameters" : {
44660702 20697 "additionalProperties" : 0,
56122987 20698 "properties" : {
56122987 20699 "node" : {
44660702 20700 "description" : "The cluster node name.",
56122987 20701 "format" : "pve-node",
013dc89f
DM
20702 "type" : "string",
20703 "typetext" : "<string>"
7aacca6f
DM
20704 },
20705 "vmid" : {
20706 "description" : "The (unique) ID of the VM.",
44660702 20707 "format" : "pve-vmid",
7aacca6f 20708 "minimum" : 1,
4bd7df8b 20709 "type" : "integer",
013dc89f 20710 "typetext" : "<integer> (1 - N)"
56122987 20711 }
44660702 20712 }
7aacca6f
DM
20713 },
20714 "permissions" : {
20715 "check" : [
20716 "perm",
20717 "/vms/{vmid}",
20718 [
4d47f125
TL
20719 "VM.Audit"
20720 ]
20721 ]
20722 },
20723 "protected" : 1,
20724 "proxyto" : "node",
20725 "returns" : {
20726 "properties" : {
20727 "cpus" : {
20728 "description" : "Maximum usable CPUs.",
20729 "optional" : 1,
20730 "type" : "number"
20731 },
20732 "ha" : {
20733 "description" : "HA manager service status.",
20734 "type" : "object"
20735 },
95895385
TL
20736 "lock" : {
20737 "description" : "The current config lock, if any.",
20738 "optional" : 1,
20739 "type" : "string"
20740 },
4d47f125
TL
20741 "maxdisk" : {
20742 "description" : "Root disk size in bytes.",
20743 "optional" : 1,
20744 "renderer" : "bytes",
20745 "type" : "integer"
20746 },
20747 "maxmem" : {
20748 "description" : "Maximum memory in bytes.",
20749 "optional" : 1,
20750 "renderer" : "bytes",
20751 "type" : "integer"
20752 },
20753 "maxswap" : {
20754 "description" : "Maximum SWAP memory in bytes.",
20755 "optional" : 1,
20756 "renderer" : "bytes",
20757 "type" : "integer"
20758 },
20759 "name" : {
20760 "description" : "Container name.",
20761 "optional" : 1,
20762 "type" : "string"
20763 },
20764 "status" : {
20765 "description" : "LXC Container status.",
20766 "enum" : [
20767 "stopped",
20768 "running"
20769 ],
20770 "type" : "string"
20771 },
20772 "uptime" : {
20773 "description" : "Uptime.",
20774 "optional" : 1,
20775 "renderer" : "duration",
20776 "type" : "integer"
20777 },
20778 "vmid" : {
20779 "description" : "The (unique) ID of the VM.",
20780 "format" : "pve-vmid",
20781 "minimum" : 1,
20782 "type" : "integer"
20783 }
20784 },
20785 "type" : "object"
20786 }
20787 }
20788 },
20789 "leaf" : 1,
20790 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
20791 "text" : "current"
20792 },
20793 {
20794 "info" : {
20795 "POST" : {
20796 "description" : "Start the container.",
20797 "method" : "POST",
20798 "name" : "vm_start",
20799 "parameters" : {
20800 "additionalProperties" : 0,
20801 "properties" : {
20802 "node" : {
20803 "description" : "The cluster node name.",
20804 "format" : "pve-node",
20805 "type" : "string",
20806 "typetext" : "<string>"
20807 },
20808 "skiplock" : {
20809 "description" : "Ignore locks - only root is allowed to use this option.",
20810 "optional" : 1,
20811 "type" : "boolean",
20812 "typetext" : "<boolean>"
20813 },
20814 "vmid" : {
20815 "description" : "The (unique) ID of the VM.",
20816 "format" : "pve-vmid",
20817 "minimum" : 1,
20818 "type" : "integer",
20819 "typetext" : "<integer> (1 - N)"
20820 }
20821 }
20822 },
20823 "permissions" : {
20824 "check" : [
20825 "perm",
20826 "/vms/{vmid}",
20827 [
20828 "VM.PowerMgmt"
20829 ]
20830 ]
20831 },
20832 "protected" : 1,
20833 "proxyto" : "node",
20834 "returns" : {
20835 "type" : "string"
20836 }
20837 }
20838 },
20839 "leaf" : 1,
20840 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
20841 "text" : "start"
20842 },
20843 {
20844 "info" : {
20845 "POST" : {
20846 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
20847 "method" : "POST",
20848 "name" : "vm_stop",
20849 "parameters" : {
20850 "additionalProperties" : 0,
20851 "properties" : {
20852 "node" : {
20853 "description" : "The cluster node name.",
20854 "format" : "pve-node",
20855 "type" : "string",
20856 "typetext" : "<string>"
20857 },
20858 "skiplock" : {
20859 "description" : "Ignore locks - only root is allowed to use this option.",
20860 "optional" : 1,
20861 "type" : "boolean",
20862 "typetext" : "<boolean>"
20863 },
20864 "vmid" : {
20865 "description" : "The (unique) ID of the VM.",
20866 "format" : "pve-vmid",
20867 "minimum" : 1,
20868 "type" : "integer",
20869 "typetext" : "<integer> (1 - N)"
20870 }
20871 }
20872 },
20873 "permissions" : {
20874 "check" : [
20875 "perm",
20876 "/vms/{vmid}",
20877 [
20878 "VM.PowerMgmt"
20879 ]
20880 ]
20881 },
20882 "protected" : 1,
20883 "proxyto" : "node",
20884 "returns" : {
20885 "type" : "string"
20886 }
20887 }
20888 },
20889 "leaf" : 1,
20890 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
20891 "text" : "stop"
20892 },
20893 {
20894 "info" : {
20895 "POST" : {
20896 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
20897 "method" : "POST",
20898 "name" : "vm_shutdown",
20899 "parameters" : {
20900 "additionalProperties" : 0,
20901 "properties" : {
20902 "forceStop" : {
20903 "default" : 0,
20904 "description" : "Make sure the Container stops.",
20905 "optional" : 1,
20906 "type" : "boolean",
20907 "typetext" : "<boolean>"
20908 },
20909 "node" : {
20910 "description" : "The cluster node name.",
20911 "format" : "pve-node",
20912 "type" : "string",
20913 "typetext" : "<string>"
20914 },
20915 "timeout" : {
20916 "default" : 60,
20917 "description" : "Wait maximal timeout seconds.",
20918 "minimum" : 0,
20919 "optional" : 1,
20920 "type" : "integer",
20921 "typetext" : "<integer> (0 - N)"
20922 },
20923 "vmid" : {
20924 "description" : "The (unique) ID of the VM.",
20925 "format" : "pve-vmid",
20926 "minimum" : 1,
20927 "type" : "integer",
20928 "typetext" : "<integer> (1 - N)"
20929 }
20930 }
20931 },
20932 "permissions" : {
20933 "check" : [
20934 "perm",
20935 "/vms/{vmid}",
20936 [
20937 "VM.PowerMgmt"
7aacca6f
DM
20938 ]
20939 ]
20940 },
44660702 20941 "protected" : 1,
7aacca6f 20942 "proxyto" : "node",
44660702 20943 "returns" : {
4d47f125 20944 "type" : "string"
44660702 20945 }
56122987
DM
20946 }
20947 },
44660702 20948 "leaf" : 1,
4d47f125
TL
20949 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
20950 "text" : "shutdown"
56122987
DM
20951 },
20952 {
56122987
DM
20953 "info" : {
20954 "POST" : {
4d47f125 20955 "description" : "Suspend the container.",
44660702 20956 "method" : "POST",
4d47f125 20957 "name" : "vm_suspend",
56122987
DM
20958 "parameters" : {
20959 "additionalProperties" : 0,
20960 "properties" : {
56122987 20961 "node" : {
7aacca6f 20962 "description" : "The cluster node name.",
44660702 20963 "format" : "pve-node",
013dc89f
DM
20964 "type" : "string",
20965 "typetext" : "<string>"
56122987
DM
20966 },
20967 "vmid" : {
7aacca6f 20968 "description" : "The (unique) ID of the VM.",
44660702 20969 "format" : "pve-vmid",
56122987 20970 "minimum" : 1,
4bd7df8b 20971 "type" : "integer",
013dc89f 20972 "typetext" : "<integer> (1 - N)"
56122987
DM
20973 }
20974 }
20975 },
20976 "permissions" : {
20977 "check" : [
20978 "perm",
20979 "/vms/{vmid}",
20980 [
20981 "VM.PowerMgmt"
20982 ]
20983 ]
20984 },
44660702 20985 "protected" : 1,
7aacca6f 20986 "proxyto" : "node",
44660702
DM
20987 "returns" : {
20988 "type" : "string"
20989 }
20990 }
20991 },
20992 "leaf" : 1,
4d47f125
TL
20993 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
20994 "text" : "suspend"
44660702
DM
20995 },
20996 {
20997 "info" : {
20998 "POST" : {
4d47f125 20999 "description" : "Resume the container.",
7aacca6f 21000 "method" : "POST",
4d47f125 21001 "name" : "vm_resume",
7aacca6f 21002 "parameters" : {
44660702 21003 "additionalProperties" : 0,
7aacca6f 21004 "properties" : {
44660702
DM
21005 "node" : {
21006 "description" : "The cluster node name.",
21007 "format" : "pve-node",
013dc89f
DM
21008 "type" : "string",
21009 "typetext" : "<string>"
44660702 21010 },
7aacca6f 21011 "vmid" : {
44660702 21012 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21013 "format" : "pve-vmid",
21014 "minimum" : 1,
4bd7df8b 21015 "type" : "integer",
013dc89f 21016 "typetext" : "<integer> (1 - N)"
7aacca6f 21017 }
44660702
DM
21018 }
21019 },
21020 "permissions" : {
21021 "check" : [
21022 "perm",
21023 "/vms/{vmid}",
21024 [
21025 "VM.PowerMgmt"
21026 ]
21027 ]
7aacca6f 21028 },
44660702
DM
21029 "protected" : 1,
21030 "proxyto" : "node",
21031 "returns" : {
21032 "type" : "string"
21033 }
56122987 21034 }
7aacca6f 21035 },
7aacca6f 21036 "leaf" : 1,
4d47f125
TL
21037 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
21038 "text" : "resume"
21039 }
21040 ],
21041 "info" : {
21042 "GET" : {
21043 "description" : "Directory index",
21044 "method" : "GET",
21045 "name" : "vmcmdidx",
21046 "parameters" : {
21047 "additionalProperties" : 0,
21048 "properties" : {
21049 "node" : {
21050 "description" : "The cluster node name.",
21051 "format" : "pve-node",
21052 "type" : "string",
21053 "typetext" : "<string>"
21054 },
21055 "vmid" : {
21056 "description" : "The (unique) ID of the VM.",
21057 "format" : "pve-vmid",
21058 "minimum" : 1,
21059 "type" : "integer",
21060 "typetext" : "<integer> (1 - N)"
21061 }
21062 }
21063 },
21064 "permissions" : {
21065 "user" : "all"
21066 },
21067 "proxyto" : "node",
21068 "returns" : {
21069 "items" : {
21070 "properties" : {
21071 "subdir" : {
21072 "type" : "string"
21073 }
21074 },
21075 "type" : "object"
21076 },
21077 "links" : [
21078 {
21079 "href" : "{subdir}",
21080 "rel" : "child"
21081 }
21082 ],
21083 "type" : "array"
21084 }
21085 }
21086 },
21087 "leaf" : 0,
21088 "path" : "/nodes/{node}/lxc/{vmid}/status",
21089 "text" : "status"
21090 },
21091 {
21092 "children" : [
56122987 21093 {
4d47f125
TL
21094 "children" : [
21095 {
21096 "info" : {
21097 "POST" : {
21098 "description" : "Rollback LXC state to specified snapshot.",
21099 "method" : "POST",
21100 "name" : "rollback",
21101 "parameters" : {
21102 "additionalProperties" : 0,
21103 "properties" : {
21104 "node" : {
21105 "description" : "The cluster node name.",
21106 "format" : "pve-node",
21107 "type" : "string",
21108 "typetext" : "<string>"
21109 },
21110 "snapname" : {
21111 "description" : "The name of the snapshot.",
21112 "format" : "pve-configid",
21113 "maxLength" : 40,
21114 "type" : "string",
21115 "typetext" : "<string>"
21116 },
21117 "vmid" : {
21118 "description" : "The (unique) ID of the VM.",
21119 "format" : "pve-vmid",
21120 "minimum" : 1,
21121 "type" : "integer",
21122 "typetext" : "<integer> (1 - N)"
21123 }
21124 }
21125 },
21126 "permissions" : {
21127 "check" : [
21128 "perm",
21129 "/vms/{vmid}",
21130 [
21131 "VM.Snapshot",
21132 "VM.Snapshot.Rollback"
21133 ],
21134 "any",
21135 1
21136 ]
21137 },
21138 "protected" : 1,
21139 "proxyto" : "node",
21140 "returns" : {
21141 "description" : "the task ID.",
21142 "type" : "string"
21143 }
21144 }
21145 },
21146 "leaf" : 1,
21147 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
21148 "text" : "rollback"
21149 },
21150 {
21151 "info" : {
21152 "GET" : {
21153 "description" : "Get snapshot configuration",
21154 "method" : "GET",
21155 "name" : "get_snapshot_config",
21156 "parameters" : {
21157 "additionalProperties" : 0,
21158 "properties" : {
21159 "node" : {
21160 "description" : "The cluster node name.",
21161 "format" : "pve-node",
21162 "type" : "string",
21163 "typetext" : "<string>"
21164 },
21165 "snapname" : {
21166 "description" : "The name of the snapshot.",
21167 "format" : "pve-configid",
21168 "maxLength" : 40,
21169 "type" : "string",
21170 "typetext" : "<string>"
21171 },
21172 "vmid" : {
21173 "description" : "The (unique) ID of the VM.",
21174 "format" : "pve-vmid",
21175 "minimum" : 1,
21176 "type" : "integer",
21177 "typetext" : "<integer> (1 - N)"
21178 }
21179 }
21180 },
21181 "permissions" : {
21182 "check" : [
21183 "perm",
21184 "/vms/{vmid}",
21185 [
21186 "VM.Snapshot",
21187 "VM.Snapshot.Rollback"
21188 ],
21189 "any",
21190 1
21191 ]
21192 },
21193 "proxyto" : "node",
21194 "returns" : {
21195 "type" : "object"
21196 }
21197 },
21198 "PUT" : {
21199 "description" : "Update snapshot metadata.",
21200 "method" : "PUT",
21201 "name" : "update_snapshot_config",
21202 "parameters" : {
21203 "additionalProperties" : 0,
21204 "properties" : {
21205 "description" : {
21206 "description" : "A textual description or comment.",
21207 "optional" : 1,
21208 "type" : "string",
21209 "typetext" : "<string>"
21210 },
21211 "node" : {
21212 "description" : "The cluster node name.",
21213 "format" : "pve-node",
21214 "type" : "string",
21215 "typetext" : "<string>"
21216 },
21217 "snapname" : {
21218 "description" : "The name of the snapshot.",
21219 "format" : "pve-configid",
21220 "maxLength" : 40,
21221 "type" : "string",
21222 "typetext" : "<string>"
21223 },
21224 "vmid" : {
21225 "description" : "The (unique) ID of the VM.",
21226 "format" : "pve-vmid",
21227 "minimum" : 1,
21228 "type" : "integer",
21229 "typetext" : "<integer> (1 - N)"
21230 }
21231 }
21232 },
21233 "permissions" : {
21234 "check" : [
21235 "perm",
21236 "/vms/{vmid}",
21237 [
21238 "VM.Snapshot"
21239 ]
21240 ]
21241 },
21242 "protected" : 1,
21243 "proxyto" : "node",
21244 "returns" : {
21245 "type" : "null"
21246 }
21247 }
21248 },
21249 "leaf" : 1,
21250 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
21251 "text" : "config"
21252 }
21253 ],
56122987 21254 "info" : {
4d47f125
TL
21255 "DELETE" : {
21256 "description" : "Delete a LXC snapshot.",
21257 "method" : "DELETE",
21258 "name" : "delsnapshot",
56122987 21259 "parameters" : {
44660702 21260 "additionalProperties" : 0,
56122987 21261 "properties" : {
4d47f125
TL
21262 "force" : {
21263 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 21264 "optional" : 1,
013dc89f
DM
21265 "type" : "boolean",
21266 "typetext" : "<boolean>"
44660702
DM
21267 },
21268 "node" : {
21269 "description" : "The cluster node name.",
21270 "format" : "pve-node",
013dc89f
DM
21271 "type" : "string",
21272 "typetext" : "<string>"
7aacca6f 21273 },
4d47f125
TL
21274 "snapname" : {
21275 "description" : "The name of the snapshot.",
21276 "format" : "pve-configid",
21277 "maxLength" : 40,
21278 "type" : "string",
21279 "typetext" : "<string>"
56122987
DM
21280 },
21281 "vmid" : {
7aacca6f 21282 "description" : "The (unique) ID of the VM.",
44660702
DM
21283 "format" : "pve-vmid",
21284 "minimum" : 1,
4bd7df8b 21285 "type" : "integer",
013dc89f 21286 "typetext" : "<integer> (1 - N)"
56122987 21287 }
44660702 21288 }
56122987
DM
21289 },
21290 "permissions" : {
21291 "check" : [
21292 "perm",
21293 "/vms/{vmid}",
21294 [
4d47f125 21295 "VM.Snapshot"
56122987
DM
21296 ]
21297 ]
21298 },
44660702
DM
21299 "protected" : 1,
21300 "proxyto" : "node",
7aacca6f 21301 "returns" : {
4d47f125 21302 "description" : "the task ID.",
7aacca6f
DM
21303 "type" : "string"
21304 }
4d47f125
TL
21305 },
21306 "GET" : {
21307 "description" : "",
21308 "method" : "GET",
21309 "name" : "snapshot_cmd_idx",
56122987
DM
21310 "parameters" : {
21311 "additionalProperties" : 0,
21312 "properties" : {
44660702
DM
21313 "node" : {
21314 "description" : "The cluster node name.",
21315 "format" : "pve-node",
013dc89f
DM
21316 "type" : "string",
21317 "typetext" : "<string>"
44660702 21318 },
4d47f125
TL
21319 "snapname" : {
21320 "description" : "The name of the snapshot.",
21321 "format" : "pve-configid",
21322 "maxLength" : 40,
013dc89f
DM
21323 "type" : "string",
21324 "typetext" : "<string>"
56122987
DM
21325 },
21326 "vmid" : {
7aacca6f 21327 "description" : "The (unique) ID of the VM.",
56122987 21328 "format" : "pve-vmid",
44660702 21329 "minimum" : 1,
4bd7df8b 21330 "type" : "integer",
013dc89f 21331 "typetext" : "<integer> (1 - N)"
56122987 21332 }
44660702
DM
21333 }
21334 },
21335 "permissions" : {
4d47f125 21336 "user" : "all"
56122987 21337 },
44660702 21338 "returns" : {
4d47f125
TL
21339 "items" : {
21340 "properties" : {},
21341 "type" : "object"
21342 },
21343 "links" : [
21344 {
21345 "href" : "{cmd}",
21346 "rel" : "child"
21347 }
21348 ],
21349 "type" : "array"
44660702 21350 }
7aacca6f
DM
21351 }
21352 },
4d47f125
TL
21353 "leaf" : 0,
21354 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
21355 "text" : "{snapname}"
7aacca6f
DM
21356 }
21357 ],
21358 "info" : {
21359 "GET" : {
4d47f125 21360 "description" : "List all snapshots.",
44660702 21361 "method" : "GET",
4d47f125 21362 "name" : "list",
7aacca6f
DM
21363 "parameters" : {
21364 "additionalProperties" : 0,
21365 "properties" : {
21366 "node" : {
21367 "description" : "The cluster node name.",
44660702 21368 "format" : "pve-node",
013dc89f
DM
21369 "type" : "string",
21370 "typetext" : "<string>"
56122987 21371 },
7aacca6f 21372 "vmid" : {
44660702 21373 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21374 "format" : "pve-vmid",
21375 "minimum" : 1,
4bd7df8b 21376 "type" : "integer",
013dc89f 21377 "typetext" : "<integer> (1 - N)"
7aacca6f 21378 }
56122987
DM
21379 }
21380 },
44660702 21381 "permissions" : {
4d47f125
TL
21382 "check" : [
21383 "perm",
21384 "/vms/{vmid}",
21385 [
21386 "VM.Audit"
21387 ]
21388 ]
44660702 21389 },
4d47f125 21390 "protected" : 1,
44660702 21391 "proxyto" : "node",
7aacca6f 21392 "returns" : {
7aacca6f
DM
21393 "items" : {
21394 "properties" : {
4d47f125
TL
21395 "description" : {
21396 "description" : "Snapshot description.",
7aacca6f 21397 "type" : "string"
4d47f125
TL
21398 },
21399 "name" : {
21400 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
21401 "type" : "string"
21402 },
21403 "parent" : {
21404 "description" : "Parent snapshot identifier.",
21405 "optional" : 1,
21406 "type" : "string"
21407 },
21408 "snaptime" : {
21409 "description" : "Snapshot creation time",
21410 "optional" : 1,
21411 "renderer" : "timestamp",
21412 "type" : "integer"
7aacca6f
DM
21413 }
21414 },
21415 "type" : "object"
21416 },
21417 "links" : [
21418 {
4d47f125 21419 "href" : "{name}",
44660702 21420 "rel" : "child"
7aacca6f 21421 }
44660702
DM
21422 ],
21423 "type" : "array"
7aacca6f 21424 }
4d47f125
TL
21425 },
21426 "POST" : {
21427 "description" : "Snapshot a container.",
21428 "method" : "POST",
21429 "name" : "snapshot",
21430 "parameters" : {
21431 "additionalProperties" : 0,
21432 "properties" : {
21433 "description" : {
21434 "description" : "A textual description or comment.",
21435 "optional" : 1,
21436 "type" : "string",
21437 "typetext" : "<string>"
21438 },
21439 "node" : {
21440 "description" : "The cluster node name.",
21441 "format" : "pve-node",
21442 "type" : "string",
21443 "typetext" : "<string>"
21444 },
21445 "snapname" : {
21446 "description" : "The name of the snapshot.",
21447 "format" : "pve-configid",
21448 "maxLength" : 40,
21449 "type" : "string",
21450 "typetext" : "<string>"
21451 },
21452 "vmid" : {
21453 "description" : "The (unique) ID of the VM.",
21454 "format" : "pve-vmid",
21455 "minimum" : 1,
21456 "type" : "integer",
21457 "typetext" : "<integer> (1 - N)"
21458 }
21459 }
21460 },
21461 "permissions" : {
21462 "check" : [
21463 "perm",
21464 "/vms/{vmid}",
21465 [
21466 "VM.Snapshot"
21467 ]
21468 ]
21469 },
21470 "protected" : 1,
21471 "proxyto" : "node",
21472 "returns" : {
21473 "description" : "the task ID.",
21474 "type" : "string"
21475 }
7aacca6f 21476 }
44660702
DM
21477 },
21478 "leaf" : 0,
4d47f125
TL
21479 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
21480 "text" : "snapshot"
7aacca6f
DM
21481 },
21482 {
7aacca6f 21483 "children" : [
56122987 21484 {
7aacca6f
DM
21485 "children" : [
21486 {
21487 "info" : {
4d47f125
TL
21488 "DELETE" : {
21489 "description" : "Delete rule.",
21490 "method" : "DELETE",
21491 "name" : "delete_rule",
7aacca6f 21492 "parameters" : {
44660702 21493 "additionalProperties" : 0,
7aacca6f 21494 "properties" : {
4d47f125
TL
21495 "digest" : {
21496 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21497 "maxLength" : 40,
21498 "optional" : 1,
21499 "type" : "string",
21500 "typetext" : "<string>"
21501 },
44660702
DM
21502 "node" : {
21503 "description" : "The cluster node name.",
21504 "format" : "pve-node",
013dc89f
DM
21505 "type" : "string",
21506 "typetext" : "<string>"
44660702 21507 },
4d47f125
TL
21508 "pos" : {
21509 "description" : "Update rule at position <pos>.",
21510 "minimum" : 0,
21511 "optional" : 1,
21512 "type" : "integer",
21513 "typetext" : "<integer> (0 - N)"
7aacca6f 21514 },
7aacca6f 21515 "vmid" : {
44660702 21516 "description" : "The (unique) ID of the VM.",
7aacca6f 21517 "format" : "pve-vmid",
44660702 21518 "minimum" : 1,
4bd7df8b 21519 "type" : "integer",
013dc89f 21520 "typetext" : "<integer> (1 - N)"
7aacca6f 21521 }
44660702
DM
21522 }
21523 },
21524 "permissions" : {
21525 "check" : [
21526 "perm",
21527 "/vms/{vmid}",
21528 [
4d47f125
TL
21529 "VM.Config.Network"
21530 ]
44660702 21531 ]
7aacca6f 21532 },
44660702 21533 "protected" : 1,
4d47f125 21534 "proxyto" : null,
44660702 21535 "returns" : {
4d47f125 21536 "type" : "null"
44660702 21537 }
4d47f125 21538 },
7aacca6f 21539 "GET" : {
4d47f125 21540 "description" : "Get single rule data.",
44660702 21541 "method" : "GET",
4d47f125 21542 "name" : "get_rule",
7aacca6f
DM
21543 "parameters" : {
21544 "additionalProperties" : 0,
4d47f125
TL
21545 "properties" : {
21546 "node" : {
21547 "description" : "The cluster node name.",
21548 "format" : "pve-node",
013dc89f
DM
21549 "type" : "string",
21550 "typetext" : "<string>"
44660702 21551 },
4d47f125
TL
21552 "pos" : {
21553 "description" : "Update rule at position <pos>.",
21554 "minimum" : 0,
21555 "optional" : 1,
21556 "type" : "integer",
21557 "typetext" : "<integer> (0 - N)"
21558 },
44660702
DM
21559 "vmid" : {
21560 "description" : "The (unique) ID of the VM.",
21561 "format" : "pve-vmid",
21562 "minimum" : 1,
4bd7df8b 21563 "type" : "integer",
013dc89f 21564 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
21565 }
21566 }
21567 },
21568 "permissions" : {
21569 "check" : [
21570 "perm",
21571 "/vms/{vmid}",
21572 [
4d47f125
TL
21573 "VM.Audit"
21574 ]
7aacca6f
DM
21575 ]
21576 },
4d47f125 21577 "proxyto" : null,
44660702 21578 "returns" : {
4d47f125 21579 "properties" : {
e2d681b3
TL
21580 "action" : {
21581 "type" : "string"
21582 },
21583 "comment" : {
21584 "optional" : 1,
21585 "type" : "string"
21586 },
21587 "dest" : {
21588 "optional" : 1,
21589 "type" : "string"
21590 },
21591 "dport" : {
21592 "optional" : 1,
21593 "type" : "string"
21594 },
21595 "enable" : {
21596 "optional" : 1,
21597 "type" : "integer"
21598 },
21599 "iface" : {
21600 "optional" : 1,
21601 "type" : "string"
21602 },
21603 "ipversion" : {
21604 "optional" : 1,
21605 "type" : "integer"
21606 },
95895385
TL
21607 "log" : {
21608 "description" : "Log level for firewall rule",
21609 "enum" : [
21610 "emerg",
21611 "alert",
21612 "crit",
21613 "err",
21614 "warning",
21615 "notice",
21616 "info",
21617 "debug",
21618 "nolog"
21619 ],
21620 "optional" : 1,
21621 "type" : "string"
21622 },
e2d681b3
TL
21623 "macro" : {
21624 "optional" : 1,
5f26e15b 21625 "type" : "string"
e2d681b3 21626 },
4d47f125
TL
21627 "pos" : {
21628 "type" : "integer"
e2d681b3
TL
21629 },
21630 "proto" : {
21631 "optional" : 1,
21632 "type" : "string"
21633 },
21634 "source" : {
21635 "optional" : 1,
21636 "type" : "string"
21637 },
21638 "sport" : {
21639 "optional" : 1,
21640 "type" : "string"
21641 },
21642 "type" : {
21643 "type" : "string"
4d47f125
TL
21644 }
21645 },
44660702
DM
21646 "type" : "object"
21647 }
7aacca6f
DM
21648 },
21649 "PUT" : {
4d47f125 21650 "description" : "Modify rule data.",
44660702 21651 "method" : "PUT",
4d47f125 21652 "name" : "update_rule",
7aacca6f
DM
21653 "parameters" : {
21654 "additionalProperties" : 0,
21655 "properties" : {
4d47f125
TL
21656 "action" : {
21657 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21658 "maxLength" : 20,
21659 "minLength" : 2,
21660 "optional" : 1,
21661 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21662 "type" : "string"
21663 },
21664 "comment" : {
21665 "description" : "Descriptive comment.",
21666 "optional" : 1,
21667 "type" : "string",
21668 "typetext" : "<string>"
21669 },
21670 "delete" : {
21671 "description" : "A list of settings you want to delete.",
21672 "format" : "pve-configid-list",
21673 "optional" : 1,
21674 "type" : "string",
21675 "typetext" : "<string>"
21676 },
21677 "dest" : {
21678 "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.",
21679 "format" : "pve-fw-addr-spec",
21680 "optional" : 1,
21681 "type" : "string",
21682 "typetext" : "<string>"
21683 },
21684 "digest" : {
21685 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21686 "maxLength" : 40,
21687 "optional" : 1,
21688 "type" : "string",
21689 "typetext" : "<string>"
21690 },
21691 "dport" : {
21692 "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.",
21693 "format" : "pve-fw-dport-spec",
21694 "optional" : 1,
21695 "type" : "string",
21696 "typetext" : "<string>"
21697 },
21698 "enable" : {
21699 "description" : "Flag to enable/disable a rule.",
21700 "minimum" : 0,
21701 "optional" : 1,
21702 "type" : "integer",
21703 "typetext" : "<integer> (0 - N)"
21704 },
21705 "iface" : {
21706 "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.",
21707 "format" : "pve-iface",
21708 "maxLength" : 20,
21709 "minLength" : 2,
21710 "optional" : 1,
21711 "type" : "string",
21712 "typetext" : "<string>"
21713 },
95895385
TL
21714 "log" : {
21715 "description" : "Log level for firewall rule.",
21716 "enum" : [
21717 "emerg",
21718 "alert",
21719 "crit",
21720 "err",
21721 "warning",
21722 "notice",
21723 "info",
21724 "debug",
21725 "nolog"
21726 ],
21727 "optional" : 1,
21728 "type" : "string"
21729 },
4d47f125
TL
21730 "macro" : {
21731 "description" : "Use predefined standard macro.",
21732 "maxLength" : 128,
44660702 21733 "optional" : 1,
013dc89f
DM
21734 "type" : "string",
21735 "typetext" : "<string>"
44660702 21736 },
4d47f125
TL
21737 "moveto" : {
21738 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
21739 "minimum" : 0,
21740 "optional" : 1,
21741 "type" : "integer",
21742 "typetext" : "<integer> (0 - N)"
21743 },
7aacca6f 21744 "node" : {
7aacca6f 21745 "description" : "The cluster node name.",
44660702 21746 "format" : "pve-node",
013dc89f
DM
21747 "type" : "string",
21748 "typetext" : "<string>"
7aacca6f 21749 },
4d47f125
TL
21750 "pos" : {
21751 "description" : "Update rule at position <pos>.",
21752 "minimum" : 0,
21753 "optional" : 1,
21754 "type" : "integer",
21755 "typetext" : "<integer> (0 - N)"
21756 },
21757 "proto" : {
21758 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21759 "format" : "pve-fw-protocol-spec",
21760 "optional" : 1,
21761 "type" : "string",
21762 "typetext" : "<string>"
21763 },
21764 "source" : {
21765 "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.",
21766 "format" : "pve-fw-addr-spec",
21767 "optional" : 1,
21768 "type" : "string",
21769 "typetext" : "<string>"
21770 },
21771 "sport" : {
21772 "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.",
21773 "format" : "pve-fw-sport-spec",
21774 "optional" : 1,
013dc89f
DM
21775 "type" : "string",
21776 "typetext" : "<string>"
7aacca6f 21777 },
4d47f125
TL
21778 "type" : {
21779 "description" : "Rule type.",
21780 "enum" : [
21781 "in",
21782 "out",
21783 "group"
21784 ],
21785 "optional" : 1,
21786 "type" : "string"
21787 },
7aacca6f 21788 "vmid" : {
44660702 21789 "description" : "The (unique) ID of the VM.",
7aacca6f 21790 "format" : "pve-vmid",
44660702 21791 "minimum" : 1,
4bd7df8b 21792 "type" : "integer",
013dc89f 21793 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
21794 }
21795 }
21796 },
7aacca6f
DM
21797 "permissions" : {
21798 "check" : [
21799 "perm",
21800 "/vms/{vmid}",
21801 [
4d47f125 21802 "VM.Config.Network"
7aacca6f
DM
21803 ]
21804 ]
21805 },
4d47f125
TL
21806 "protected" : 1,
21807 "proxyto" : null,
21808 "returns" : {
21809 "type" : "null"
21810 }
21811 }
21812 },
21813 "leaf" : 1,
21814 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
21815 "text" : "{pos}"
21816 }
21817 ],
21818 "info" : {
21819 "GET" : {
21820 "description" : "List rules.",
21821 "method" : "GET",
21822 "name" : "get_rules",
21823 "parameters" : {
21824 "additionalProperties" : 0,
21825 "properties" : {
21826 "node" : {
21827 "description" : "The cluster node name.",
21828 "format" : "pve-node",
21829 "type" : "string",
21830 "typetext" : "<string>"
21831 },
21832 "vmid" : {
21833 "description" : "The (unique) ID of the VM.",
21834 "format" : "pve-vmid",
21835 "minimum" : 1,
21836 "type" : "integer",
21837 "typetext" : "<integer> (1 - N)"
21838 }
21839 }
21840 },
21841 "permissions" : {
21842 "check" : [
21843 "perm",
21844 "/vms/{vmid}",
21845 [
21846 "VM.Audit"
21847 ]
21848 ]
21849 },
21850 "proxyto" : null,
21851 "returns" : {
21852 "items" : {
21853 "properties" : {
21854 "pos" : {
21855 "type" : "integer"
21856 }
21857 },
21858 "type" : "object"
21859 },
21860 "links" : [
21861 {
21862 "href" : "{pos}",
21863 "rel" : "child"
21864 }
21865 ],
21866 "type" : "array"
21867 }
21868 },
21869 "POST" : {
21870 "description" : "Create new rule.",
21871 "method" : "POST",
21872 "name" : "create_rule",
21873 "parameters" : {
21874 "additionalProperties" : 0,
21875 "properties" : {
21876 "action" : {
21877 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21878 "maxLength" : 20,
21879 "minLength" : 2,
21880 "optional" : 0,
21881 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21882 "type" : "string"
21883 },
21884 "comment" : {
21885 "description" : "Descriptive comment.",
21886 "optional" : 1,
21887 "type" : "string",
21888 "typetext" : "<string>"
21889 },
21890 "dest" : {
21891 "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.",
21892 "format" : "pve-fw-addr-spec",
21893 "optional" : 1,
21894 "type" : "string",
21895 "typetext" : "<string>"
21896 },
21897 "digest" : {
21898 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21899 "maxLength" : 40,
21900 "optional" : 1,
21901 "type" : "string",
21902 "typetext" : "<string>"
21903 },
21904 "dport" : {
21905 "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.",
21906 "format" : "pve-fw-dport-spec",
21907 "optional" : 1,
21908 "type" : "string",
21909 "typetext" : "<string>"
21910 },
21911 "enable" : {
21912 "description" : "Flag to enable/disable a rule.",
21913 "minimum" : 0,
21914 "optional" : 1,
21915 "type" : "integer",
21916 "typetext" : "<integer> (0 - N)"
21917 },
21918 "iface" : {
21919 "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.",
21920 "format" : "pve-iface",
21921 "maxLength" : 20,
21922 "minLength" : 2,
21923 "optional" : 1,
21924 "type" : "string",
21925 "typetext" : "<string>"
21926 },
95895385
TL
21927 "log" : {
21928 "description" : "Log level for firewall rule.",
21929 "enum" : [
21930 "emerg",
21931 "alert",
21932 "crit",
21933 "err",
21934 "warning",
21935 "notice",
21936 "info",
21937 "debug",
21938 "nolog"
21939 ],
21940 "optional" : 1,
21941 "type" : "string"
21942 },
4d47f125
TL
21943 "macro" : {
21944 "description" : "Use predefined standard macro.",
21945 "maxLength" : 128,
44660702 21946 "optional" : 1,
4d47f125
TL
21947 "type" : "string",
21948 "typetext" : "<string>"
44660702
DM
21949 },
21950 "node" : {
21951 "description" : "The cluster node name.",
21952 "format" : "pve-node",
013dc89f
DM
21953 "type" : "string",
21954 "typetext" : "<string>"
7aacca6f 21955 },
4d47f125
TL
21956 "pos" : {
21957 "description" : "Update rule at position <pos>.",
21958 "minimum" : 0,
21959 "optional" : 1,
21960 "type" : "integer",
21961 "typetext" : "<integer> (0 - N)"
21962 },
21963 "proto" : {
21964 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21965 "format" : "pve-fw-protocol-spec",
21966 "optional" : 1,
21967 "type" : "string",
21968 "typetext" : "<string>"
21969 },
21970 "source" : {
21971 "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.",
21972 "format" : "pve-fw-addr-spec",
21973 "optional" : 1,
013dc89f
DM
21974 "type" : "string",
21975 "typetext" : "<string>"
44660702 21976 },
4d47f125
TL
21977 "sport" : {
21978 "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.",
21979 "format" : "pve-fw-sport-spec",
21980 "optional" : 1,
21981 "type" : "string",
21982 "typetext" : "<string>"
21983 },
21984 "type" : {
21985 "description" : "Rule type.",
21986 "enum" : [
21987 "in",
21988 "out",
21989 "group"
21990 ],
21991 "optional" : 0,
21992 "type" : "string"
21993 },
44660702
DM
21994 "vmid" : {
21995 "description" : "The (unique) ID of the VM.",
21996 "format" : "pve-vmid",
21997 "minimum" : 1,
4bd7df8b 21998 "type" : "integer",
013dc89f 21999 "typetext" : "<integer> (1 - N)"
56122987 22000 }
44660702 22001 }
7aacca6f 22002 },
56122987
DM
22003 "permissions" : {
22004 "check" : [
22005 "perm",
22006 "/vms/{vmid}",
22007 [
4d47f125 22008 "VM.Config.Network"
56122987
DM
22009 ]
22010 ]
22011 },
44660702 22012 "protected" : 1,
4d47f125 22013 "proxyto" : null,
44660702 22014 "returns" : {
4d47f125 22015 "type" : "null"
44660702
DM
22016 }
22017 }
22018 },
22019 "leaf" : 0,
4d47f125
TL
22020 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
22021 "text" : "rules"
7aacca6f 22022 },
56122987 22023 {
56122987
DM
22024 "children" : [
22025 {
56122987 22026 "info" : {
44660702 22027 "DELETE" : {
4d47f125 22028 "description" : "Remove IP or Network alias.",
44660702 22029 "method" : "DELETE",
4d47f125 22030 "name" : "remove_alias",
56122987 22031 "parameters" : {
44660702 22032 "additionalProperties" : 0,
56122987 22033 "properties" : {
44660702
DM
22034 "digest" : {
22035 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22036 "maxLength" : 40,
7aacca6f 22037 "optional" : 1,
013dc89f
DM
22038 "type" : "string",
22039 "typetext" : "<string>"
7aacca6f 22040 },
4d47f125
TL
22041 "name" : {
22042 "description" : "Alias name.",
22043 "maxLength" : 64,
22044 "minLength" : 2,
22045 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22046 "type" : "string"
22047 },
7aacca6f 22048 "node" : {
44660702 22049 "description" : "The cluster node name.",
7aacca6f 22050 "format" : "pve-node",
013dc89f
DM
22051 "type" : "string",
22052 "typetext" : "<string>"
44660702 22053 },
44660702
DM
22054 "vmid" : {
22055 "description" : "The (unique) ID of the VM.",
22056 "format" : "pve-vmid",
22057 "minimum" : 1,
4bd7df8b 22058 "type" : "integer",
013dc89f 22059 "typetext" : "<integer> (1 - N)"
56122987 22060 }
44660702 22061 }
56122987 22062 },
56122987
DM
22063 "permissions" : {
22064 "check" : [
22065 "perm",
22066 "/vms/{vmid}",
22067 [
44660702 22068 "VM.Config.Network"
56122987
DM
22069 ]
22070 ]
22071 },
44660702 22072 "protected" : 1,
44660702
DM
22073 "returns" : {
22074 "type" : "null"
22075 }
7aacca6f 22076 },
44660702 22077 "GET" : {
4d47f125 22078 "description" : "Read alias.",
44660702 22079 "method" : "GET",
4d47f125 22080 "name" : "read_alias",
56122987 22081 "parameters" : {
44660702 22082 "additionalProperties" : 0,
56122987 22083 "properties" : {
4d47f125
TL
22084 "name" : {
22085 "description" : "Alias name.",
22086 "maxLength" : 64,
22087 "minLength" : 2,
22088 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22089 "type" : "string"
22090 },
7aacca6f 22091 "node" : {
7aacca6f 22092 "description" : "The cluster node name.",
44660702 22093 "format" : "pve-node",
013dc89f
DM
22094 "type" : "string",
22095 "typetext" : "<string>"
56122987 22096 },
7aacca6f 22097 "vmid" : {
44660702 22098 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
22099 "format" : "pve-vmid",
22100 "minimum" : 1,
4bd7df8b 22101 "type" : "integer",
013dc89f 22102 "typetext" : "<integer> (1 - N)"
56122987 22103 }
44660702 22104 }
56122987 22105 },
7aacca6f
DM
22106 "permissions" : {
22107 "check" : [
22108 "perm",
22109 "/vms/{vmid}",
22110 [
44660702 22111 "VM.Audit"
7aacca6f
DM
22112 ]
22113 ]
22114 },
7aacca6f 22115 "returns" : {
44660702 22116 "type" : "object"
7aacca6f 22117 }
56122987 22118 },
44660702 22119 "PUT" : {
4d47f125 22120 "description" : "Update IP or Network alias.",
44660702 22121 "method" : "PUT",
4d47f125 22122 "name" : "update_alias",
56122987
DM
22123 "parameters" : {
22124 "additionalProperties" : 0,
22125 "properties" : {
4d47f125
TL
22126 "cidr" : {
22127 "description" : "Network/IP specification in CIDR format.",
22128 "format" : "IPorCIDR",
013dc89f
DM
22129 "type" : "string",
22130 "typetext" : "<string>"
44660702 22131 },
4d47f125 22132 "comment" : {
44660702 22133 "optional" : 1,
013dc89f
DM
22134 "type" : "string",
22135 "typetext" : "<string>"
44660702
DM
22136 },
22137 "digest" : {
22138 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22139 "maxLength" : 40,
22140 "optional" : 1,
013dc89f
DM
22141 "type" : "string",
22142 "typetext" : "<string>"
44660702 22143 },
4d47f125
TL
22144 "name" : {
22145 "description" : "Alias name.",
22146 "maxLength" : 64,
44660702 22147 "minLength" : 2,
4d47f125
TL
22148 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22149 "type" : "string"
44660702 22150 },
7aacca6f
DM
22151 "node" : {
22152 "description" : "The cluster node name.",
44660702 22153 "format" : "pve-node",
013dc89f
DM
22154 "type" : "string",
22155 "typetext" : "<string>"
56122987 22156 },
4d47f125
TL
22157 "rename" : {
22158 "description" : "Rename an existing alias.",
22159 "maxLength" : 64,
22160 "minLength" : 2,
7aacca6f 22161 "optional" : 1,
4d47f125 22162 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
22163 "type" : "string"
22164 },
22165 "vmid" : {
22166 "description" : "The (unique) ID of the VM.",
22167 "format" : "pve-vmid",
22168 "minimum" : 1,
4bd7df8b 22169 "type" : "integer",
013dc89f 22170 "typetext" : "<integer> (1 - N)"
56122987
DM
22171 }
22172 }
22173 },
56122987
DM
22174 "permissions" : {
22175 "check" : [
22176 "perm",
22177 "/vms/{vmid}",
22178 [
7aacca6f 22179 "VM.Config.Network"
56122987
DM
22180 ]
22181 ]
22182 },
44660702 22183 "protected" : 1,
56122987 22184 "returns" : {
7aacca6f
DM
22185 "type" : "null"
22186 }
56122987 22187 }
44660702
DM
22188 },
22189 "leaf" : 1,
4d47f125
TL
22190 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
22191 "text" : "{name}"
56122987
DM
22192 }
22193 ],
22194 "info" : {
7aacca6f 22195 "GET" : {
4d47f125 22196 "description" : "List aliases",
44660702 22197 "method" : "GET",
4d47f125 22198 "name" : "get_aliases",
7aacca6f 22199 "parameters" : {
44660702 22200 "additionalProperties" : 0,
7aacca6f
DM
22201 "properties" : {
22202 "node" : {
7aacca6f 22203 "description" : "The cluster node name.",
44660702 22204 "format" : "pve-node",
013dc89f
DM
22205 "type" : "string",
22206 "typetext" : "<string>"
7aacca6f
DM
22207 },
22208 "vmid" : {
22209 "description" : "The (unique) ID of the VM.",
44660702 22210 "format" : "pve-vmid",
7aacca6f 22211 "minimum" : 1,
4bd7df8b 22212 "type" : "integer",
013dc89f 22213 "typetext" : "<integer> (1 - N)"
7aacca6f 22214 }
44660702 22215 }
56122987 22216 },
56122987
DM
22217 "permissions" : {
22218 "check" : [
22219 "perm",
22220 "/vms/{vmid}",
22221 [
7aacca6f 22222 "VM.Audit"
56122987
DM
22223 ]
22224 ]
22225 },
7aacca6f 22226 "returns" : {
7aacca6f
DM
22227 "items" : {
22228 "properties" : {
4d47f125
TL
22229 "cidr" : {
22230 "type" : "string"
22231 },
22232 "comment" : {
22233 "optional" : 1,
22234 "type" : "string"
22235 },
22236 "digest" : {
22237 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22238 "maxLength" : 40,
22239 "optional" : 0,
22240 "type" : "string"
22241 },
22242 "name" : {
22243 "type" : "string"
7aacca6f
DM
22244 }
22245 },
22246 "type" : "object"
22247 },
22248 "links" : [
22249 {
4d47f125 22250 "href" : "{name}",
44660702 22251 "rel" : "child"
7aacca6f 22252 }
44660702
DM
22253 ],
22254 "type" : "array"
22255 }
7aacca6f
DM
22256 },
22257 "POST" : {
4d47f125 22258 "description" : "Create IP or Network Alias.",
44660702 22259 "method" : "POST",
4d47f125 22260 "name" : "create_alias",
56122987 22261 "parameters" : {
44660702 22262 "additionalProperties" : 0,
56122987 22263 "properties" : {
4d47f125
TL
22264 "cidr" : {
22265 "description" : "Network/IP specification in CIDR format.",
22266 "format" : "IPorCIDR",
013dc89f 22267 "type" : "string",
4d47f125
TL
22268 "typetext" : "<string>"
22269 },
22270 "comment" : {
44660702 22271 "optional" : 1,
013dc89f
DM
22272 "type" : "string",
22273 "typetext" : "<string>"
7aacca6f 22274 },
4d47f125
TL
22275 "name" : {
22276 "description" : "Alias name.",
22277 "maxLength" : 64,
22278 "minLength" : 2,
22279 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
22280 "type" : "string"
22281 },
4d47f125
TL
22282 "node" : {
22283 "description" : "The cluster node name.",
22284 "format" : "pve-node",
22285 "type" : "string",
22286 "typetext" : "<string>"
22287 },
44660702
DM
22288 "vmid" : {
22289 "description" : "The (unique) ID of the VM.",
22290 "format" : "pve-vmid",
22291 "minimum" : 1,
4bd7df8b 22292 "type" : "integer",
013dc89f 22293 "typetext" : "<integer> (1 - N)"
44660702
DM
22294 }
22295 }
22296 },
22297 "permissions" : {
22298 "check" : [
22299 "perm",
22300 "/vms/{vmid}",
22301 [
22302 "VM.Config.Network"
22303 ]
22304 ]
22305 },
22306 "protected" : 1,
44660702
DM
22307 "returns" : {
22308 "type" : "null"
22309 }
22310 }
22311 },
22312 "leaf" : 0,
4d47f125
TL
22313 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
22314 "text" : "aliases"
44660702
DM
22315 },
22316 {
22317 "children" : [
22318 {
4d47f125
TL
22319 "children" : [
22320 {
22321 "info" : {
22322 "DELETE" : {
22323 "description" : "Remove IP or Network from IPSet.",
22324 "method" : "DELETE",
22325 "name" : "remove_ip",
22326 "parameters" : {
22327 "additionalProperties" : 0,
22328 "properties" : {
22329 "cidr" : {
22330 "description" : "Network/IP specification in CIDR format.",
22331 "format" : "IPorCIDRorAlias",
22332 "type" : "string",
22333 "typetext" : "<string>"
22334 },
22335 "digest" : {
22336 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22337 "maxLength" : 40,
22338 "optional" : 1,
22339 "type" : "string",
22340 "typetext" : "<string>"
22341 },
22342 "name" : {
22343 "description" : "IP set name.",
22344 "maxLength" : 64,
22345 "minLength" : 2,
22346 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22347 "type" : "string"
22348 },
22349 "node" : {
22350 "description" : "The cluster node name.",
22351 "format" : "pve-node",
22352 "type" : "string",
22353 "typetext" : "<string>"
22354 },
22355 "vmid" : {
22356 "description" : "The (unique) ID of the VM.",
22357 "format" : "pve-vmid",
22358 "minimum" : 1,
22359 "type" : "integer",
22360 "typetext" : "<integer> (1 - N)"
22361 }
22362 }
22363 },
22364 "permissions" : {
22365 "check" : [
22366 "perm",
22367 "/vms/{vmid}",
22368 [
22369 "VM.Config.Network"
22370 ]
22371 ]
22372 },
22373 "protected" : 1,
22374 "returns" : {
22375 "type" : "null"
22376 }
22377 },
22378 "GET" : {
22379 "description" : "Read IP or Network settings from IPSet.",
22380 "method" : "GET",
22381 "name" : "read_ip",
22382 "parameters" : {
22383 "additionalProperties" : 0,
22384 "properties" : {
22385 "cidr" : {
22386 "description" : "Network/IP specification in CIDR format.",
22387 "format" : "IPorCIDRorAlias",
22388 "type" : "string",
22389 "typetext" : "<string>"
22390 },
22391 "name" : {
22392 "description" : "IP set name.",
22393 "maxLength" : 64,
22394 "minLength" : 2,
22395 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22396 "type" : "string"
22397 },
22398 "node" : {
22399 "description" : "The cluster node name.",
22400 "format" : "pve-node",
22401 "type" : "string",
22402 "typetext" : "<string>"
22403 },
22404 "vmid" : {
22405 "description" : "The (unique) ID of the VM.",
22406 "format" : "pve-vmid",
22407 "minimum" : 1,
22408 "type" : "integer",
22409 "typetext" : "<integer> (1 - N)"
22410 }
22411 }
22412 },
22413 "permissions" : {
22414 "check" : [
22415 "perm",
22416 "/vms/{vmid}",
22417 [
22418 "VM.Audit"
22419 ]
22420 ]
22421 },
22422 "protected" : 1,
22423 "returns" : {
22424 "type" : "object"
22425 }
22426 },
22427 "PUT" : {
22428 "description" : "Update IP or Network settings",
22429 "method" : "PUT",
22430 "name" : "update_ip",
22431 "parameters" : {
22432 "additionalProperties" : 0,
22433 "properties" : {
22434 "cidr" : {
22435 "description" : "Network/IP specification in CIDR format.",
22436 "format" : "IPorCIDRorAlias",
22437 "type" : "string",
22438 "typetext" : "<string>"
22439 },
22440 "comment" : {
22441 "optional" : 1,
22442 "type" : "string",
22443 "typetext" : "<string>"
22444 },
22445 "digest" : {
22446 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22447 "maxLength" : 40,
22448 "optional" : 1,
22449 "type" : "string",
22450 "typetext" : "<string>"
22451 },
22452 "name" : {
22453 "description" : "IP set name.",
22454 "maxLength" : 64,
22455 "minLength" : 2,
22456 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22457 "type" : "string"
22458 },
22459 "node" : {
22460 "description" : "The cluster node name.",
22461 "format" : "pve-node",
22462 "type" : "string",
22463 "typetext" : "<string>"
22464 },
22465 "nomatch" : {
22466 "optional" : 1,
22467 "type" : "boolean",
22468 "typetext" : "<boolean>"
22469 },
22470 "vmid" : {
22471 "description" : "The (unique) ID of the VM.",
22472 "format" : "pve-vmid",
22473 "minimum" : 1,
22474 "type" : "integer",
22475 "typetext" : "<integer> (1 - N)"
22476 }
22477 }
22478 },
22479 "permissions" : {
22480 "check" : [
22481 "perm",
22482 "/vms/{vmid}",
22483 [
22484 "VM.Config.Network"
22485 ]
22486 ]
22487 },
22488 "protected" : 1,
22489 "returns" : {
22490 "type" : "null"
22491 }
22492 }
22493 },
22494 "leaf" : 1,
22495 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
22496 "text" : "{cidr}"
22497 }
22498 ],
44660702
DM
22499 "info" : {
22500 "DELETE" : {
4d47f125 22501 "description" : "Delete IPSet",
44660702 22502 "method" : "DELETE",
4d47f125 22503 "name" : "delete_ipset",
56122987 22504 "parameters" : {
44660702 22505 "additionalProperties" : 0,
56122987 22506 "properties" : {
7aacca6f 22507 "name" : {
4d47f125 22508 "description" : "IP set name.",
7aacca6f 22509 "maxLength" : 64,
7aacca6f
DM
22510 "minLength" : 2,
22511 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22512 "type" : "string"
7aacca6f
DM
22513 },
22514 "node" : {
44660702 22515 "description" : "The cluster node name.",
56122987 22516 "format" : "pve-node",
013dc89f
DM
22517 "type" : "string",
22518 "typetext" : "<string>"
7aacca6f 22519 },
56122987 22520 "vmid" : {
44660702 22521 "description" : "The (unique) ID of the VM.",
56122987 22522 "format" : "pve-vmid",
44660702 22523 "minimum" : 1,
4bd7df8b 22524 "type" : "integer",
013dc89f 22525 "typetext" : "<integer> (1 - N)"
56122987 22526 }
44660702 22527 }
56122987 22528 },
56122987
DM
22529 "permissions" : {
22530 "check" : [
22531 "perm",
22532 "/vms/{vmid}",
22533 [
7aacca6f 22534 "VM.Config.Network"
56122987
DM
22535 ]
22536 ]
22537 },
44660702 22538 "protected" : 1,
56122987 22539 "returns" : {
7aacca6f 22540 "type" : "null"
44660702 22541 }
56122987 22542 },
44660702 22543 "GET" : {
4d47f125 22544 "description" : "List IPSet content",
44660702 22545 "method" : "GET",
4d47f125 22546 "name" : "get_ipset",
44660702
DM
22547 "parameters" : {
22548 "additionalProperties" : 0,
22549 "properties" : {
22550 "name" : {
4d47f125 22551 "description" : "IP set name.",
44660702
DM
22552 "maxLength" : 64,
22553 "minLength" : 2,
22554 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22555 "type" : "string"
22556 },
22557 "node" : {
22558 "description" : "The cluster node name.",
22559 "format" : "pve-node",
013dc89f
DM
22560 "type" : "string",
22561 "typetext" : "<string>"
44660702
DM
22562 },
22563 "vmid" : {
22564 "description" : "The (unique) ID of the VM.",
22565 "format" : "pve-vmid",
22566 "minimum" : 1,
4bd7df8b 22567 "type" : "integer",
013dc89f 22568 "typetext" : "<integer> (1 - N)"
44660702 22569 }
4d47f125
TL
22570 }
22571 },
22572 "permissions" : {
22573 "check" : [
22574 "perm",
22575 "/vms/{vmid}",
22576 [
22577 "VM.Audit"
22578 ]
22579 ]
22580 },
22581 "returns" : {
22582 "items" : {
22583 "properties" : {
22584 "cidr" : {
22585 "type" : "string"
22586 },
22587 "comment" : {
22588 "optional" : 1,
22589 "type" : "string"
22590 },
22591 "digest" : {
22592 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22593 "maxLength" : 40,
22594 "optional" : 0,
22595 "type" : "string"
22596 },
22597 "nomatch" : {
22598 "optional" : 1,
22599 "type" : "boolean"
22600 }
22601 },
22602 "type" : "object"
22603 },
22604 "links" : [
22605 {
22606 "href" : "{cidr}",
22607 "rel" : "child"
22608 }
22609 ],
22610 "type" : "array"
44660702
DM
22611 }
22612 },
4d47f125
TL
22613 "POST" : {
22614 "description" : "Add IP or Network to IPSet.",
22615 "method" : "POST",
22616 "name" : "create_ip",
56122987
DM
22617 "parameters" : {
22618 "additionalProperties" : 0,
22619 "properties" : {
44660702
DM
22620 "cidr" : {
22621 "description" : "Network/IP specification in CIDR format.",
4d47f125 22622 "format" : "IPorCIDRorAlias",
013dc89f
DM
22623 "type" : "string",
22624 "typetext" : "<string>"
44660702
DM
22625 },
22626 "comment" : {
22627 "optional" : 1,
013dc89f
DM
22628 "type" : "string",
22629 "typetext" : "<string>"
44660702 22630 },
56122987 22631 "name" : {
4d47f125 22632 "description" : "IP set name.",
44660702
DM
22633 "maxLength" : 64,
22634 "minLength" : 2,
7aacca6f 22635 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22636 "type" : "string"
56122987
DM
22637 },
22638 "node" : {
22639 "description" : "The cluster node name.",
44660702 22640 "format" : "pve-node",
013dc89f
DM
22641 "type" : "string",
22642 "typetext" : "<string>"
44660702 22643 },
4d47f125 22644 "nomatch" : {
44660702 22645 "optional" : 1,
4d47f125
TL
22646 "type" : "boolean",
22647 "typetext" : "<boolean>"
56122987 22648 },
7aacca6f 22649 "vmid" : {
7aacca6f 22650 "description" : "The (unique) ID of the VM.",
44660702 22651 "format" : "pve-vmid",
7aacca6f 22652 "minimum" : 1,
4bd7df8b 22653 "type" : "integer",
013dc89f 22654 "typetext" : "<integer> (1 - N)"
56122987
DM
22655 }
22656 }
22657 },
44660702
DM
22658 "permissions" : {
22659 "check" : [
22660 "perm",
22661 "/vms/{vmid}",
22662 [
22663 "VM.Config.Network"
22664 ]
22665 ]
7aacca6f 22666 },
44660702
DM
22667 "protected" : 1,
22668 "returns" : {
22669 "type" : "null"
7aacca6f
DM
22670 }
22671 }
22672 },
4d47f125
TL
22673 "leaf" : 0,
22674 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
22675 "text" : "{name}"
22676 }
22677 ],
22678 "info" : {
22679 "GET" : {
4d47f125 22680 "description" : "List IPSets",
44660702 22681 "method" : "GET",
4d47f125 22682 "name" : "ipset_index",
56122987
DM
22683 "parameters" : {
22684 "additionalProperties" : 0,
22685 "properties" : {
22686 "node" : {
44660702 22687 "description" : "The cluster node name.",
56122987 22688 "format" : "pve-node",
013dc89f
DM
22689 "type" : "string",
22690 "typetext" : "<string>"
56122987
DM
22691 },
22692 "vmid" : {
7aacca6f 22693 "description" : "The (unique) ID of the VM.",
44660702 22694 "format" : "pve-vmid",
7aacca6f 22695 "minimum" : 1,
4bd7df8b 22696 "type" : "integer",
013dc89f 22697 "typetext" : "<integer> (1 - N)"
56122987
DM
22698 }
22699 }
22700 },
44660702
DM
22701 "permissions" : {
22702 "check" : [
22703 "perm",
22704 "/vms/{vmid}",
22705 [
22706 "VM.Audit"
22707 ]
22708 ]
22709 },
56122987
DM
22710 "returns" : {
22711 "items" : {
56122987 22712 "properties" : {
44660702
DM
22713 "comment" : {
22714 "optional" : 1,
56122987
DM
22715 "type" : "string"
22716 },
56122987 22717 "digest" : {
56122987 22718 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
22719 "maxLength" : 40,
22720 "optional" : 0,
22721 "type" : "string"
22722 },
22723 "name" : {
4d47f125
TL
22724 "description" : "IP set name.",
22725 "maxLength" : 64,
22726 "minLength" : 2,
22727 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22728 "type" : "string"
56122987 22729 }
44660702
DM
22730 },
22731 "type" : "object"
22732 },
22733 "links" : [
22734 {
22735 "href" : "{name}",
22736 "rel" : "child"
56122987 22737 }
4d47f125
TL
22738 ],
22739 "type" : "array"
22740 }
22741 },
22742 "POST" : {
22743 "description" : "Create new IPSet",
22744 "method" : "POST",
22745 "name" : "create_ipset",
22746 "parameters" : {
22747 "additionalProperties" : 0,
22748 "properties" : {
22749 "comment" : {
22750 "optional" : 1,
22751 "type" : "string",
22752 "typetext" : "<string>"
22753 },
22754 "digest" : {
22755 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22756 "maxLength" : 40,
22757 "optional" : 1,
22758 "type" : "string",
22759 "typetext" : "<string>"
22760 },
22761 "name" : {
22762 "description" : "IP set name.",
22763 "maxLength" : 64,
22764 "minLength" : 2,
22765 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22766 "type" : "string"
22767 },
22768 "node" : {
22769 "description" : "The cluster node name.",
22770 "format" : "pve-node",
22771 "type" : "string",
22772 "typetext" : "<string>"
22773 },
22774 "rename" : {
22775 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
22776 "maxLength" : 64,
22777 "minLength" : 2,
22778 "optional" : 1,
22779 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22780 "type" : "string"
22781 },
22782 "vmid" : {
22783 "description" : "The (unique) ID of the VM.",
22784 "format" : "pve-vmid",
22785 "minimum" : 1,
22786 "type" : "integer",
22787 "typetext" : "<integer> (1 - N)"
22788 }
22789 }
22790 },
22791 "permissions" : {
22792 "check" : [
22793 "perm",
22794 "/vms/{vmid}",
22795 [
22796 "VM.Config.Network"
22797 ]
22798 ]
22799 },
22800 "protected" : 1,
22801 "returns" : {
22802 "type" : "null"
22803 }
22804 }
22805 },
22806 "leaf" : 0,
22807 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
22808 "text" : "ipset"
22809 },
22810 {
22811 "info" : {
22812 "GET" : {
22813 "description" : "Get VM firewall options.",
22814 "method" : "GET",
22815 "name" : "get_options",
22816 "parameters" : {
22817 "additionalProperties" : 0,
22818 "properties" : {
22819 "node" : {
22820 "description" : "The cluster node name.",
22821 "format" : "pve-node",
22822 "type" : "string",
22823 "typetext" : "<string>"
22824 },
22825 "vmid" : {
22826 "description" : "The (unique) ID of the VM.",
22827 "format" : "pve-vmid",
22828 "minimum" : 1,
22829 "type" : "integer",
22830 "typetext" : "<integer> (1 - N)"
22831 }
22832 }
22833 },
22834 "permissions" : {
22835 "check" : [
22836 "perm",
22837 "/vms/{vmid}",
22838 [
22839 "VM.Audit"
22840 ]
22841 ]
22842 },
22843 "proxyto" : "node",
22844 "returns" : {
22845 "properties" : {
22846 "dhcp" : {
22847 "description" : "Enable DHCP.",
22848 "optional" : 1,
22849 "type" : "boolean"
22850 },
22851 "enable" : {
22852 "description" : "Enable/disable firewall rules.",
22853 "optional" : 1,
22854 "type" : "boolean"
22855 },
22856 "ipfilter" : {
22857 "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.",
22858 "optional" : 1,
22859 "type" : "boolean"
22860 },
22861 "log_level_in" : {
22862 "description" : "Log level for incoming traffic.",
22863 "enum" : [
22864 "emerg",
22865 "alert",
22866 "crit",
22867 "err",
22868 "warning",
22869 "notice",
22870 "info",
22871 "debug",
22872 "nolog"
22873 ],
22874 "optional" : 1,
22875 "type" : "string"
22876 },
22877 "log_level_out" : {
22878 "description" : "Log level for outgoing traffic.",
22879 "enum" : [
22880 "emerg",
22881 "alert",
22882 "crit",
22883 "err",
22884 "warning",
22885 "notice",
22886 "info",
22887 "debug",
22888 "nolog"
22889 ],
22890 "optional" : 1,
22891 "type" : "string"
22892 },
22893 "macfilter" : {
22894 "description" : "Enable/disable MAC address filter.",
22895 "optional" : 1,
22896 "type" : "boolean"
22897 },
22898 "ndp" : {
22899 "description" : "Enable NDP.",
22900 "optional" : 1,
22901 "type" : "boolean"
22902 },
22903 "policy_in" : {
22904 "description" : "Input policy.",
22905 "enum" : [
22906 "ACCEPT",
22907 "REJECT",
22908 "DROP"
22909 ],
22910 "optional" : 1,
22911 "type" : "string"
22912 },
22913 "policy_out" : {
22914 "description" : "Output policy.",
22915 "enum" : [
22916 "ACCEPT",
22917 "REJECT",
22918 "DROP"
22919 ],
22920 "optional" : 1,
22921 "type" : "string"
22922 },
22923 "radv" : {
22924 "description" : "Allow sending Router Advertisement.",
22925 "optional" : 1,
22926 "type" : "boolean"
22927 }
22928 },
22929 "type" : "object"
7aacca6f
DM
22930 }
22931 },
4d47f125
TL
22932 "PUT" : {
22933 "description" : "Set Firewall options.",
22934 "method" : "PUT",
22935 "name" : "set_options",
7aacca6f
DM
22936 "parameters" : {
22937 "additionalProperties" : 0,
22938 "properties" : {
4d47f125
TL
22939 "delete" : {
22940 "description" : "A list of settings you want to delete.",
22941 "format" : "pve-configid-list",
7aacca6f 22942 "optional" : 1,
013dc89f
DM
22943 "type" : "string",
22944 "typetext" : "<string>"
7aacca6f 22945 },
4d47f125
TL
22946 "dhcp" : {
22947 "description" : "Enable DHCP.",
22948 "optional" : 1,
22949 "type" : "boolean",
22950 "typetext" : "<boolean>"
7aacca6f 22951 },
4d47f125
TL
22952 "digest" : {
22953 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22954 "maxLength" : 40,
22955 "optional" : 1,
013dc89f
DM
22956 "type" : "string",
22957 "typetext" : "<string>"
7aacca6f 22958 },
4d47f125
TL
22959 "enable" : {
22960 "description" : "Enable/disable firewall rules.",
22961 "optional" : 1,
22962 "type" : "boolean",
22963 "typetext" : "<boolean>"
22964 },
22965 "ipfilter" : {
22966 "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.",
22967 "optional" : 1,
22968 "type" : "boolean",
22969 "typetext" : "<boolean>"
56122987 22970 },
4d47f125
TL
22971 "log_level_in" : {
22972 "description" : "Log level for incoming traffic.",
22973 "enum" : [
22974 "emerg",
22975 "alert",
22976 "crit",
22977 "err",
22978 "warning",
22979 "notice",
22980 "info",
22981 "debug",
22982 "nolog"
22983 ],
22984 "optional" : 1,
22985 "type" : "string"
44660702 22986 },
4d47f125
TL
22987 "log_level_out" : {
22988 "description" : "Log level for outgoing traffic.",
22989 "enum" : [
22990 "emerg",
22991 "alert",
22992 "crit",
22993 "err",
22994 "warning",
22995 "notice",
22996 "info",
22997 "debug",
22998 "nolog"
22999 ],
23000 "optional" : 1,
23001 "type" : "string"
44660702 23002 },
4d47f125
TL
23003 "macfilter" : {
23004 "description" : "Enable/disable MAC address filter.",
23005 "optional" : 1,
23006 "type" : "boolean",
23007 "typetext" : "<boolean>"
7aacca6f 23008 },
4d47f125
TL
23009 "ndp" : {
23010 "description" : "Enable NDP.",
23011 "optional" : 1,
23012 "type" : "boolean",
23013 "typetext" : "<boolean>"
7aacca6f 23014 },
4d47f125
TL
23015 "node" : {
23016 "description" : "The cluster node name.",
23017 "format" : "pve-node",
23018 "type" : "string",
23019 "typetext" : "<string>"
23020 },
23021 "policy_in" : {
23022 "description" : "Input policy.",
23023 "enum" : [
23024 "ACCEPT",
23025 "REJECT",
23026 "DROP"
44660702 23027 ],
4d47f125
TL
23028 "optional" : 1,
23029 "type" : "string"
23030 },
23031 "policy_out" : {
23032 "description" : "Output policy.",
23033 "enum" : [
23034 "ACCEPT",
23035 "REJECT",
23036 "DROP"
23037 ],
23038 "optional" : 1,
23039 "type" : "string"
23040 },
23041 "radv" : {
23042 "description" : "Allow sending Router Advertisement.",
23043 "optional" : 1,
23044 "type" : "boolean",
23045 "typetext" : "<boolean>"
23046 },
23047 "vmid" : {
23048 "description" : "The (unique) ID of the VM.",
23049 "format" : "pve-vmid",
23050 "minimum" : 1,
23051 "type" : "integer",
23052 "typetext" : "<integer> (1 - N)"
44660702 23053 }
4d47f125
TL
23054 }
23055 },
23056 "permissions" : {
23057 "check" : [
23058 "perm",
23059 "/vms/{vmid}",
23060 [
23061 "VM.Config.Network"
23062 ]
23063 ]
23064 },
23065 "protected" : 1,
23066 "proxyto" : "node",
23067 "returns" : {
23068 "type" : "null"
23069 }
23070 }
23071 },
23072 "leaf" : 1,
23073 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
23074 "text" : "options"
23075 },
23076 {
23077 "info" : {
23078 "GET" : {
23079 "description" : "Read firewall log",
23080 "method" : "GET",
23081 "name" : "log",
23082 "parameters" : {
23083 "additionalProperties" : 0,
23084 "properties" : {
23085 "limit" : {
23086 "minimum" : 0,
23087 "optional" : 1,
23088 "type" : "integer",
23089 "typetext" : "<integer> (0 - N)"
44660702 23090 },
4d47f125
TL
23091 "node" : {
23092 "description" : "The cluster node name.",
23093 "format" : "pve-node",
23094 "type" : "string",
23095 "typetext" : "<string>"
44660702 23096 },
4d47f125
TL
23097 "start" : {
23098 "minimum" : 0,
23099 "optional" : 1,
23100 "type" : "integer",
23101 "typetext" : "<integer> (0 - N)"
23102 },
23103 "vmid" : {
23104 "description" : "The (unique) ID of the VM.",
23105 "format" : "pve-vmid",
23106 "minimum" : 1,
23107 "type" : "integer",
23108 "typetext" : "<integer> (1 - N)"
44660702
DM
23109 }
23110 }
23111 },
4d47f125
TL
23112 "permissions" : {
23113 "check" : [
23114 "perm",
23115 "/vms/{vmid}",
23116 [
23117 "VM.Console"
23118 ]
23119 ]
23120 },
23121 "protected" : 1,
23122 "proxyto" : "node",
23123 "returns" : {
23124 "items" : {
23125 "properties" : {
23126 "n" : {
23127 "description" : "Line number",
23128 "type" : "integer"
23129 },
23130 "t" : {
23131 "description" : "Line text",
23132 "type" : "string"
23133 }
23134 },
23135 "type" : "object"
23136 },
23137 "type" : "array"
23138 }
44660702 23139 }
4d47f125
TL
23140 },
23141 "leaf" : 1,
23142 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
23143 "text" : "log"
23144 },
23145 {
44660702
DM
23146 "info" : {
23147 "GET" : {
4d47f125 23148 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 23149 "method" : "GET",
4d47f125 23150 "name" : "refs",
44660702
DM
23151 "parameters" : {
23152 "additionalProperties" : 0,
23153 "properties" : {
23154 "node" : {
23155 "description" : "The cluster node name.",
23156 "format" : "pve-node",
013dc89f
DM
23157 "type" : "string",
23158 "typetext" : "<string>"
44660702 23159 },
4d47f125
TL
23160 "type" : {
23161 "description" : "Only list references of specified type.",
23162 "enum" : [
23163 "alias",
23164 "ipset"
23165 ],
23166 "optional" : 1,
23167 "type" : "string"
23168 },
44660702
DM
23169 "vmid" : {
23170 "description" : "The (unique) ID of the VM.",
23171 "format" : "pve-vmid",
23172 "minimum" : 1,
4bd7df8b 23173 "type" : "integer",
013dc89f 23174 "typetext" : "<integer> (1 - N)"
44660702
DM
23175 }
23176 }
23177 },
4d47f125
TL
23178 "permissions" : {
23179 "check" : [
23180 "perm",
23181 "/vms/{vmid}",
23182 [
23183 "VM.Audit"
23184 ]
23185 ]
23186 },
23187 "returns" : {
23188 "items" : {
23189 "properties" : {
23190 "comment" : {
23191 "optional" : 1,
23192 "type" : "string"
23193 },
23194 "name" : {
23195 "type" : "string"
23196 },
23197 "type" : {
23198 "enum" : [
23199 "alias",
23200 "ipset"
23201 ],
23202 "type" : "string"
23203 }
23204 },
23205 "type" : "object"
23206 },
23207 "type" : "array"
23208 }
23209 }
23210 },
23211 "leaf" : 1,
23212 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
23213 "text" : "refs"
23214 }
23215 ],
23216 "info" : {
23217 "GET" : {
23218 "description" : "Directory index.",
23219 "method" : "GET",
23220 "name" : "index",
23221 "parameters" : {
23222 "additionalProperties" : 0,
23223 "properties" : {
23224 "node" : {
23225 "description" : "The cluster node name.",
23226 "format" : "pve-node",
23227 "type" : "string",
23228 "typetext" : "<string>"
23229 },
23230 "vmid" : {
23231 "description" : "The (unique) ID of the VM.",
23232 "format" : "pve-vmid",
23233 "minimum" : 1,
23234 "type" : "integer",
23235 "typetext" : "<integer> (1 - N)"
23236 }
23237 }
23238 },
23239 "permissions" : {
23240 "user" : "all"
23241 },
23242 "returns" : {
23243 "items" : {
23244 "properties" : {},
23245 "type" : "object"
23246 },
23247 "links" : [
23248 {
23249 "href" : "{name}",
23250 "rel" : "child"
23251 }
23252 ],
23253 "type" : "array"
23254 }
23255 }
23256 },
23257 "leaf" : 0,
23258 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
23259 "text" : "firewall"
23260 },
23261 {
23262 "info" : {
23263 "GET" : {
23264 "description" : "Read VM RRD statistics (returns PNG)",
23265 "method" : "GET",
23266 "name" : "rrd",
23267 "parameters" : {
23268 "additionalProperties" : 0,
23269 "properties" : {
23270 "cf" : {
23271 "description" : "The RRD consolidation function",
23272 "enum" : [
23273 "AVERAGE",
23274 "MAX"
23275 ],
23276 "optional" : 1,
23277 "type" : "string"
23278 },
23279 "ds" : {
23280 "description" : "The list of datasources you want to display.",
23281 "format" : "pve-configid-list",
23282 "type" : "string",
23283 "typetext" : "<string>"
23284 },
23285 "node" : {
23286 "description" : "The cluster node name.",
23287 "format" : "pve-node",
23288 "type" : "string",
23289 "typetext" : "<string>"
23290 },
23291 "timeframe" : {
23292 "description" : "Specify the time frame you are interested in.",
23293 "enum" : [
23294 "hour",
23295 "day",
23296 "week",
23297 "month",
23298 "year"
23299 ],
23300 "type" : "string"
23301 },
23302 "vmid" : {
23303 "description" : "The (unique) ID of the VM.",
23304 "format" : "pve-vmid",
23305 "minimum" : 1,
23306 "type" : "integer",
23307 "typetext" : "<integer> (1 - N)"
23308 }
23309 }
23310 },
23311 "permissions" : {
23312 "check" : [
23313 "perm",
23314 "/vms/{vmid}",
23315 [
23316 "VM.Audit"
23317 ]
23318 ]
23319 },
23320 "protected" : 1,
23321 "returns" : {
23322 "properties" : {
23323 "filename" : {
23324 "type" : "string"
23325 }
23326 },
23327 "type" : "object"
23328 }
23329 }
23330 },
23331 "leaf" : 1,
23332 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
23333 "text" : "rrd"
23334 },
23335 {
23336 "info" : {
23337 "GET" : {
23338 "description" : "Read VM RRD statistics",
23339 "method" : "GET",
23340 "name" : "rrddata",
23341 "parameters" : {
23342 "additionalProperties" : 0,
23343 "properties" : {
23344 "cf" : {
23345 "description" : "The RRD consolidation function",
23346 "enum" : [
23347 "AVERAGE",
23348 "MAX"
23349 ],
23350 "optional" : 1,
23351 "type" : "string"
23352 },
23353 "node" : {
23354 "description" : "The cluster node name.",
23355 "format" : "pve-node",
23356 "type" : "string",
23357 "typetext" : "<string>"
44660702 23358 },
4d47f125
TL
23359 "timeframe" : {
23360 "description" : "Specify the time frame you are interested in.",
23361 "enum" : [
23362 "hour",
23363 "day",
23364 "week",
23365 "month",
23366 "year"
44660702 23367 ],
4d47f125
TL
23368 "type" : "string"
23369 },
23370 "vmid" : {
23371 "description" : "The (unique) ID of the VM.",
23372 "format" : "pve-vmid",
23373 "minimum" : 1,
23374 "type" : "integer",
23375 "typetext" : "<integer> (1 - N)"
44660702 23376 }
4d47f125
TL
23377 }
23378 },
23379 "permissions" : {
23380 "check" : [
23381 "perm",
23382 "/vms/{vmid}",
23383 [
23384 "VM.Audit"
23385 ]
23386 ]
23387 },
23388 "protected" : 1,
23389 "returns" : {
23390 "items" : {
23391 "properties" : {},
23392 "type" : "object"
44660702 23393 },
4d47f125
TL
23394 "type" : "array"
23395 }
23396 }
23397 },
23398 "leaf" : 1,
23399 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
23400 "text" : "rrddata"
23401 },
23402 {
23403 "info" : {
23404 "POST" : {
23405 "description" : "Creates a TCP VNC proxy connections.",
23406 "method" : "POST",
23407 "name" : "vncproxy",
23408 "parameters" : {
23409 "additionalProperties" : 0,
23410 "properties" : {
23411 "height" : {
23412 "description" : "sets the height of the console in pixels.",
23413 "maximum" : 2160,
23414 "minimum" : 16,
23415 "optional" : 1,
23416 "type" : "integer",
23417 "typetext" : "<integer> (16 - 2160)"
44660702 23418 },
4d47f125
TL
23419 "node" : {
23420 "description" : "The cluster node name.",
23421 "format" : "pve-node",
23422 "type" : "string",
23423 "typetext" : "<string>"
44660702 23424 },
4d47f125
TL
23425 "vmid" : {
23426 "description" : "The (unique) ID of the VM.",
23427 "format" : "pve-vmid",
23428 "minimum" : 1,
23429 "type" : "integer",
23430 "typetext" : "<integer> (1 - N)"
23431 },
23432 "websocket" : {
23433 "description" : "use websocket instead of standard VNC.",
23434 "optional" : 1,
23435 "type" : "boolean",
23436 "typetext" : "<boolean>"
23437 },
23438 "width" : {
23439 "description" : "sets the width of the console in pixels.",
23440 "maximum" : 4096,
23441 "minimum" : 16,
23442 "optional" : 1,
23443 "type" : "integer",
23444 "typetext" : "<integer> (16 - 4096)"
56122987
DM
23445 }
23446 }
44660702 23447 },
4d47f125
TL
23448 "permissions" : {
23449 "check" : [
23450 "perm",
23451 "/vms/{vmid}",
23452 [
23453 "VM.Console"
23454 ]
23455 ]
23456 },
23457 "protected" : 1,
23458 "returns" : {
23459 "additionalProperties" : 0,
23460 "properties" : {
23461 "cert" : {
23462 "type" : "string"
44660702 23463 },
4d47f125
TL
23464 "port" : {
23465 "type" : "integer"
23466 },
23467 "ticket" : {
23468 "type" : "string"
23469 },
23470 "upid" : {
23471 "type" : "string"
23472 },
23473 "user" : {
23474 "type" : "string"
23475 }
23476 }
23477 }
23478 }
23479 },
23480 "leaf" : 1,
23481 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
23482 "text" : "vncproxy"
23483 },
23484 {
23485 "info" : {
23486 "POST" : {
23487 "description" : "Creates a TCP proxy connection.",
23488 "method" : "POST",
23489 "name" : "termproxy",
23490 "parameters" : {
23491 "additionalProperties" : 0,
23492 "properties" : {
23493 "node" : {
23494 "description" : "The cluster node name.",
23495 "format" : "pve-node",
23496 "type" : "string",
23497 "typetext" : "<string>"
44660702 23498 },
4d47f125
TL
23499 "vmid" : {
23500 "description" : "The (unique) ID of the VM.",
23501 "format" : "pve-vmid",
23502 "minimum" : 1,
23503 "type" : "integer",
23504 "typetext" : "<integer> (1 - N)"
44660702 23505 }
4d47f125
TL
23506 }
23507 },
23508 "permissions" : {
23509 "check" : [
23510 "perm",
23511 "/vms/{vmid}",
23512 [
23513 "VM.Console"
23514 ]
23515 ]
23516 },
23517 "protected" : 1,
23518 "returns" : {
23519 "additionalProperties" : 0,
23520 "properties" : {
23521 "port" : {
23522 "type" : "integer"
56122987 23523 },
4d47f125
TL
23524 "ticket" : {
23525 "type" : "string"
7aacca6f 23526 },
4d47f125
TL
23527 "upid" : {
23528 "type" : "string"
23529 },
23530 "user" : {
23531 "type" : "string"
23532 }
23533 }
23534 }
23535 }
23536 },
23537 "leaf" : 1,
23538 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
23539 "text" : "termproxy"
23540 },
23541 {
23542 "info" : {
23543 "GET" : {
23544 "description" : "Opens a weksocket for VNC traffic.",
23545 "method" : "GET",
23546 "name" : "vncwebsocket",
23547 "parameters" : {
23548 "additionalProperties" : 0,
23549 "properties" : {
23550 "node" : {
23551 "description" : "The cluster node name.",
23552 "format" : "pve-node",
23553 "type" : "string",
23554 "typetext" : "<string>"
23555 },
23556 "port" : {
23557 "description" : "Port number returned by previous vncproxy call.",
23558 "maximum" : 5999,
23559 "minimum" : 5900,
23560 "type" : "integer",
23561 "typetext" : "<integer> (5900 - 5999)"
23562 },
23563 "vmid" : {
23564 "description" : "The (unique) ID of the VM.",
23565 "format" : "pve-vmid",
23566 "minimum" : 1,
23567 "type" : "integer",
23568 "typetext" : "<integer> (1 - N)"
23569 },
23570 "vncticket" : {
23571 "description" : "Ticket from previous call to vncproxy.",
23572 "maxLength" : 512,
23573 "type" : "string",
23574 "typetext" : "<string>"
56122987
DM
23575 }
23576 }
23577 },
4d47f125
TL
23578 "permissions" : {
23579 "check" : [
23580 "perm",
23581 "/vms/{vmid}",
23582 [
23583 "VM.Console"
23584 ]
23585 ],
23586 "description" : "You also need to pass a valid ticket (vncticket)."
23587 },
23588 "returns" : {
23589 "properties" : {
23590 "port" : {
23591 "type" : "string"
23592 }
23593 },
23594 "type" : "object"
23595 }
23596 }
23597 },
23598 "leaf" : 1,
23599 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
23600 "text" : "vncwebsocket"
23601 },
23602 {
23603 "info" : {
23604 "POST" : {
23605 "description" : "Returns a SPICE configuration to connect to the CT.",
23606 "method" : "POST",
23607 "name" : "spiceproxy",
23608 "parameters" : {
23609 "additionalProperties" : 0,
23610 "properties" : {
23611 "node" : {
23612 "description" : "The cluster node name.",
23613 "format" : "pve-node",
23614 "type" : "string",
23615 "typetext" : "<string>"
56122987 23616 },
4d47f125
TL
23617 "proxy" : {
23618 "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).",
23619 "format" : "address",
23620 "optional" : 1,
23621 "type" : "string",
23622 "typetext" : "<string>"
44660702 23623 },
4d47f125
TL
23624 "vmid" : {
23625 "description" : "The (unique) ID of the VM.",
23626 "format" : "pve-vmid",
23627 "minimum" : 1,
23628 "type" : "integer",
23629 "typetext" : "<integer> (1 - N)"
44660702 23630 }
56122987
DM
23631 }
23632 },
4d47f125
TL
23633 "permissions" : {
23634 "check" : [
23635 "perm",
23636 "/vms/{vmid}",
23637 [
23638 "VM.Console"
23639 ]
23640 ]
23641 },
23642 "protected" : 1,
23643 "proxyto" : "node",
23644 "returns" : {
23645 "additionalProperties" : 1,
23646 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
23647 "properties" : {
23648 "host" : {
23649 "type" : "string"
23650 },
23651 "password" : {
23652 "type" : "string"
23653 },
23654 "proxy" : {
23655 "type" : "string"
23656 },
23657 "tls-port" : {
23658 "type" : "integer"
23659 },
23660 "type" : {
23661 "type" : "string"
23662 }
23663 }
23664 }
23665 }
23666 },
23667 "leaf" : 1,
23668 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
23669 "text" : "spiceproxy"
23670 },
23671 {
23672 "info" : {
23673 "POST" : {
23674 "description" : "Migrate the container to another node. Creates a new migration task.",
23675 "method" : "POST",
23676 "name" : "migrate_vm",
23677 "parameters" : {
23678 "additionalProperties" : 0,
23679 "properties" : {
95895385
TL
23680 "bwlimit" : {
23681 "default" : "migrate limit from datacenter or storage config",
23682 "description" : "Override I/O bandwidth limit (in KiB/s).",
23683 "minimum" : "0",
23684 "optional" : 1,
23685 "type" : "number",
23686 "typetext" : "<number> (0 - N)"
23687 },
4d47f125
TL
23688 "force" : {
23689 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
23690 "optional" : 1,
23691 "type" : "boolean",
23692 "typetext" : "<boolean>"
56122987 23693 },
4d47f125
TL
23694 "node" : {
23695 "description" : "The cluster node name.",
23696 "format" : "pve-node",
23697 "type" : "string",
23698 "typetext" : "<string>"
44660702 23699 },
4d47f125
TL
23700 "online" : {
23701 "description" : "Use online/live migration.",
23702 "optional" : 1,
23703 "type" : "boolean",
23704 "typetext" : "<boolean>"
23705 },
23706 "restart" : {
23707 "description" : "Use restart migration",
23708 "optional" : 1,
23709 "type" : "boolean",
23710 "typetext" : "<boolean>"
23711 },
23712 "target" : {
23713 "description" : "Target node.",
23714 "format" : "pve-node",
23715 "type" : "string",
23716 "typetext" : "<string>"
23717 },
23718 "timeout" : {
23719 "default" : 180,
23720 "description" : "Timeout in seconds for shutdown for restart migration",
23721 "optional" : 1,
23722 "type" : "integer",
23723 "typetext" : "<integer>"
23724 },
23725 "vmid" : {
23726 "description" : "The (unique) ID of the VM.",
23727 "format" : "pve-vmid",
23728 "minimum" : 1,
23729 "type" : "integer",
23730 "typetext" : "<integer> (1 - N)"
56122987
DM
23731 }
23732 }
23733 },
4d47f125
TL
23734 "permissions" : {
23735 "check" : [
23736 "perm",
23737 "/vms/{vmid}",
23738 [
23739 "VM.Migrate"
23740 ]
23741 ]
23742 },
23743 "protected" : 1,
23744 "proxyto" : "node",
23745 "returns" : {
23746 "description" : "the task ID.",
23747 "type" : "string"
23748 }
56122987 23749 }
4d47f125
TL
23750 },
23751 "leaf" : 1,
23752 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
23753 "text" : "migrate"
23754 },
23755 {
56122987
DM
23756 "info" : {
23757 "GET" : {
4d47f125 23758 "description" : "Check if feature for virtual machine is available.",
44660702 23759 "method" : "GET",
4d47f125 23760 "name" : "vm_feature",
56122987 23761 "parameters" : {
44660702 23762 "additionalProperties" : 0,
56122987 23763 "properties" : {
4d47f125
TL
23764 "feature" : {
23765 "description" : "Feature to check.",
23766 "enum" : [
23767 "snapshot",
23768 "clone",
23769 "copy"
23770 ],
23771 "type" : "string"
23772 },
56122987 23773 "node" : {
44660702 23774 "description" : "The cluster node name.",
56122987 23775 "format" : "pve-node",
013dc89f
DM
23776 "type" : "string",
23777 "typetext" : "<string>"
44660702 23778 },
4d47f125
TL
23779 "snapname" : {
23780 "description" : "The name of the snapshot.",
23781 "format" : "pve-configid",
23782 "maxLength" : 40,
23783 "optional" : 1,
23784 "type" : "string",
23785 "typetext" : "<string>"
23786 },
44660702
DM
23787 "vmid" : {
23788 "description" : "The (unique) ID of the VM.",
23789 "format" : "pve-vmid",
23790 "minimum" : 1,
4bd7df8b 23791 "type" : "integer",
013dc89f 23792 "typetext" : "<integer> (1 - N)"
56122987 23793 }
44660702
DM
23794 }
23795 },
23796 "permissions" : {
4d47f125
TL
23797 "check" : [
23798 "perm",
23799 "/vms/{vmid}",
23800 [
23801 "VM.Audit"
23802 ]
23803 ]
56122987 23804 },
4d47f125
TL
23805 "protected" : 1,
23806 "proxyto" : "node",
56122987 23807 "returns" : {
4d47f125
TL
23808 "properties" : {
23809 "hasFeature" : {
23810 "type" : "boolean"
23811 }
7aacca6f 23812 },
4d47f125
TL
23813 "type" : "object"
23814 }
23815 }
23816 },
23817 "leaf" : 1,
23818 "path" : "/nodes/{node}/lxc/{vmid}/feature",
23819 "text" : "feature"
23820 },
23821 {
23822 "info" : {
23823 "POST" : {
23824 "description" : "Create a Template.",
23825 "method" : "POST",
23826 "name" : "template",
23827 "parameters" : {
23828 "additionalProperties" : 0,
23829 "properties" : {
23830 "node" : {
23831 "description" : "The cluster node name.",
23832 "format" : "pve-node",
23833 "type" : "string",
23834 "typetext" : "<string>"
23835 },
23836 "vmid" : {
23837 "description" : "The (unique) ID of the VM.",
23838 "format" : "pve-vmid",
23839 "minimum" : 1,
23840 "type" : "integer",
23841 "typetext" : "<integer> (1 - N)"
56122987 23842 }
4d47f125
TL
23843 }
23844 },
23845 "permissions" : {
23846 "check" : [
23847 "perm",
23848 "/vms/{vmid}",
23849 [
23850 "VM.Allocate"
23851 ]
44660702 23852 ],
4d47f125
TL
23853 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
23854 },
23855 "protected" : 1,
23856 "proxyto" : "node",
23857 "returns" : {
23858 "type" : "null"
56122987
DM
23859 }
23860 }
23861 },
4d47f125
TL
23862 "leaf" : 1,
23863 "path" : "/nodes/{node}/lxc/{vmid}/template",
23864 "text" : "template"
56122987
DM
23865 },
23866 {
56122987 23867 "info" : {
4d47f125
TL
23868 "POST" : {
23869 "description" : "Create a container clone/copy",
23870 "method" : "POST",
23871 "name" : "clone_vm",
56122987 23872 "parameters" : {
7aacca6f 23873 "additionalProperties" : 0,
56122987 23874 "properties" : {
95895385
TL
23875 "bwlimit" : {
23876 "default" : "clone limit from datacenter or storage config",
23877 "description" : "Override I/O bandwidth limit (in KiB/s).",
23878 "minimum" : "0",
23879 "optional" : 1,
23880 "type" : "number",
23881 "typetext" : "<number> (0 - N)"
23882 },
4d47f125
TL
23883 "description" : {
23884 "description" : "Description for the new CT.",
44660702 23885 "optional" : 1,
4d47f125
TL
23886 "type" : "string",
23887 "typetext" : "<string>"
44660702 23888 },
4d47f125
TL
23889 "full" : {
23890 "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.",
23891 "optional" : 1,
23892 "type" : "boolean",
23893 "typetext" : "<boolean>"
23894 },
23895 "hostname" : {
23896 "description" : "Set a hostname for the new CT.",
23897 "format" : "dns-name",
23898 "optional" : 1,
013dc89f
DM
23899 "type" : "string",
23900 "typetext" : "<string>"
44660702 23901 },
4d47f125
TL
23902 "newid" : {
23903 "description" : "VMID for the clone.",
23904 "format" : "pve-vmid",
23905 "minimum" : 1,
23906 "type" : "integer",
23907 "typetext" : "<integer> (1 - N)"
23908 },
7aacca6f
DM
23909 "node" : {
23910 "description" : "The cluster node name.",
44660702 23911 "format" : "pve-node",
013dc89f
DM
23912 "type" : "string",
23913 "typetext" : "<string>"
56122987 23914 },
4d47f125
TL
23915 "pool" : {
23916 "description" : "Add the new CT to the specified pool.",
23917 "format" : "pve-poolid",
23918 "optional" : 1,
23919 "type" : "string",
23920 "typetext" : "<string>"
23921 },
23922 "snapname" : {
23923 "description" : "The name of the snapshot.",
23924 "format" : "pve-configid",
23925 "maxLength" : 40,
23926 "optional" : 1,
23927 "type" : "string",
23928 "typetext" : "<string>"
23929 },
23930 "storage" : {
23931 "description" : "Target storage for full clone.",
23932 "format" : "pve-storage-id",
23933 "optional" : 1,
23934 "type" : "string",
23935 "typetext" : "<string>"
23936 },
23937 "target" : {
23938 "description" : "Target node. Only allowed if the original VM is on shared storage.",
23939 "format" : "pve-node",
23940 "optional" : 1,
23941 "type" : "string",
23942 "typetext" : "<string>"
23943 },
7aacca6f 23944 "vmid" : {
44660702 23945 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23946 "format" : "pve-vmid",
23947 "minimum" : 1,
4bd7df8b 23948 "type" : "integer",
013dc89f 23949 "typetext" : "<integer> (1 - N)"
56122987 23950 }
7aacca6f
DM
23951 }
23952 },
23953 "permissions" : {
23954 "check" : [
4d47f125 23955 "and",
7aacca6f 23956 [
4d47f125
TL
23957 "perm",
23958 "/vms/{vmid}",
23959 [
23960 "VM.Clone"
23961 ]
23962 ],
23963 [
23964 "or",
23965 [
23966 "perm",
23967 "/vms/{newid}",
23968 [
23969 "VM.Allocate"
23970 ]
23971 ],
23972 [
23973 "perm",
23974 "/pool/{pool}",
23975 [
23976 "VM.Allocate"
23977 ],
23978 "require_param",
23979 "pool"
23980 ]
7aacca6f 23981 ]
4d47f125
TL
23982 ],
23983 "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 23984 },
44660702 23985 "protected" : 1,
4d47f125 23986 "proxyto" : "node",
7aacca6f 23987 "returns" : {
4d47f125 23988 "type" : "string"
7aacca6f 23989 }
56122987 23990 }
7aacca6f 23991 },
44660702 23992 "leaf" : 1,
4d47f125
TL
23993 "path" : "/nodes/{node}/lxc/{vmid}/clone",
23994 "text" : "clone"
56122987
DM
23995 },
23996 {
56122987 23997 "info" : {
4d47f125
TL
23998 "PUT" : {
23999 "description" : "Resize a container mount point.",
24000 "method" : "PUT",
24001 "name" : "resize_vm",
56122987 24002 "parameters" : {
7aacca6f 24003 "additionalProperties" : 0,
56122987 24004 "properties" : {
4d47f125
TL
24005 "digest" : {
24006 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24007 "maxLength" : 40,
24008 "optional" : 1,
24009 "type" : "string",
24010 "typetext" : "<string>"
24011 },
24012 "disk" : {
24013 "description" : "The disk you want to resize.",
44660702 24014 "enum" : [
4d47f125
TL
24015 "rootfs",
24016 "mp0",
24017 "mp1",
24018 "mp2",
24019 "mp3",
24020 "mp4",
24021 "mp5",
24022 "mp6",
24023 "mp7",
24024 "mp8",
24025 "mp9",
24026 "mp10",
24027 "mp11",
24028 "mp12",
24029 "mp13",
24030 "mp14",
24031 "mp15",
24032 "mp16",
24033 "mp17",
24034 "mp18",
24035 "mp19",
24036 "mp20",
24037 "mp21",
24038 "mp22",
24039 "mp23",
24040 "mp24",
24041 "mp25",
24042 "mp26",
24043 "mp27",
24044 "mp28",
24045 "mp29",
24046 "mp30",
24047 "mp31",
24048 "mp32",
24049 "mp33",
24050 "mp34",
24051 "mp35",
24052 "mp36",
24053 "mp37",
24054 "mp38",
24055 "mp39",
24056 "mp40",
24057 "mp41",
24058 "mp42",
24059 "mp43",
24060 "mp44",
24061 "mp45",
24062 "mp46",
24063 "mp47",
24064 "mp48",
24065 "mp49",
24066 "mp50",
24067 "mp51",
24068 "mp52",
24069 "mp53",
24070 "mp54",
24071 "mp55",
24072 "mp56",
24073 "mp57",
24074 "mp58",
24075 "mp59",
24076 "mp60",
24077 "mp61",
24078 "mp62",
24079 "mp63",
24080 "mp64",
24081 "mp65",
24082 "mp66",
24083 "mp67",
24084 "mp68",
24085 "mp69",
24086 "mp70",
24087 "mp71",
24088 "mp72",
24089 "mp73",
24090 "mp74",
24091 "mp75",
24092 "mp76",
24093 "mp77",
24094 "mp78",
24095 "mp79",
24096 "mp80",
24097 "mp81",
24098 "mp82",
24099 "mp83",
24100 "mp84",
24101 "mp85",
24102 "mp86",
24103 "mp87",
24104 "mp88",
24105 "mp89",
24106 "mp90",
24107 "mp91",
24108 "mp92",
24109 "mp93",
24110 "mp94",
24111 "mp95",
24112 "mp96",
24113 "mp97",
24114 "mp98",
24115 "mp99",
24116 "mp100",
24117 "mp101",
24118 "mp102",
24119 "mp103",
24120 "mp104",
24121 "mp105",
24122 "mp106",
24123 "mp107",
24124 "mp108",
24125 "mp109",
24126 "mp110",
24127 "mp111",
24128 "mp112",
24129 "mp113",
24130 "mp114",
24131 "mp115",
24132 "mp116",
24133 "mp117",
24134 "mp118",
24135 "mp119",
24136 "mp120",
24137 "mp121",
24138 "mp122",
24139 "mp123",
24140 "mp124",
24141 "mp125",
24142 "mp126",
24143 "mp127",
24144 "mp128",
24145 "mp129",
24146 "mp130",
24147 "mp131",
24148 "mp132",
24149 "mp133",
24150 "mp134",
24151 "mp135",
24152 "mp136",
24153 "mp137",
24154 "mp138",
24155 "mp139",
24156 "mp140",
24157 "mp141",
24158 "mp142",
24159 "mp143",
24160 "mp144",
24161 "mp145",
24162 "mp146",
24163 "mp147",
24164 "mp148",
24165 "mp149",
24166 "mp150",
24167 "mp151",
24168 "mp152",
24169 "mp153",
24170 "mp154",
24171 "mp155",
24172 "mp156",
24173 "mp157",
24174 "mp158",
24175 "mp159",
24176 "mp160",
24177 "mp161",
24178 "mp162",
24179 "mp163",
24180 "mp164",
24181 "mp165",
24182 "mp166",
24183 "mp167",
24184 "mp168",
24185 "mp169",
24186 "mp170",
24187 "mp171",
24188 "mp172",
24189 "mp173",
24190 "mp174",
24191 "mp175",
24192 "mp176",
24193 "mp177",
24194 "mp178",
24195 "mp179",
24196 "mp180",
24197 "mp181",
24198 "mp182",
24199 "mp183",
24200 "mp184",
24201 "mp185",
24202 "mp186",
24203 "mp187",
24204 "mp188",
24205 "mp189",
24206 "mp190",
24207 "mp191",
24208 "mp192",
24209 "mp193",
24210 "mp194",
24211 "mp195",
24212 "mp196",
24213 "mp197",
24214 "mp198",
24215 "mp199",
24216 "mp200",
24217 "mp201",
24218 "mp202",
24219 "mp203",
24220 "mp204",
24221 "mp205",
24222 "mp206",
24223 "mp207",
24224 "mp208",
24225 "mp209",
24226 "mp210",
24227 "mp211",
24228 "mp212",
24229 "mp213",
24230 "mp214",
24231 "mp215",
24232 "mp216",
24233 "mp217",
24234 "mp218",
24235 "mp219",
24236 "mp220",
24237 "mp221",
24238 "mp222",
24239 "mp223",
24240 "mp224",
24241 "mp225",
24242 "mp226",
24243 "mp227",
24244 "mp228",
24245 "mp229",
24246 "mp230",
24247 "mp231",
24248 "mp232",
24249 "mp233",
24250 "mp234",
24251 "mp235",
24252 "mp236",
24253 "mp237",
24254 "mp238",
24255 "mp239",
24256 "mp240",
24257 "mp241",
24258 "mp242",
24259 "mp243",
24260 "mp244",
24261 "mp245",
24262 "mp246",
24263 "mp247",
24264 "mp248",
24265 "mp249",
24266 "mp250",
24267 "mp251",
24268 "mp252",
24269 "mp253",
24270 "mp254",
24271 "mp255"
44660702 24272 ],
44660702
DM
24273 "type" : "string"
24274 },
7aacca6f 24275 "node" : {
44660702 24276 "description" : "The cluster node name.",
7aacca6f 24277 "format" : "pve-node",
013dc89f
DM
24278 "type" : "string",
24279 "typetext" : "<string>"
7aacca6f 24280 },
4d47f125
TL
24281 "size" : {
24282 "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.",
24283 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 24284 "type" : "string"
7aacca6f
DM
24285 },
24286 "vmid" : {
24287 "description" : "The (unique) ID of the VM.",
44660702 24288 "format" : "pve-vmid",
7aacca6f 24289 "minimum" : 1,
4bd7df8b 24290 "type" : "integer",
013dc89f 24291 "typetext" : "<integer> (1 - N)"
56122987 24292 }
56122987
DM
24293 }
24294 },
56122987
DM
24295 "permissions" : {
24296 "check" : [
24297 "perm",
24298 "/vms/{vmid}",
24299 [
4d47f125
TL
24300 "VM.Config.Disk"
24301 ],
24302 "any",
24303 1
56122987
DM
24304 ]
24305 },
7aacca6f 24306 "protected" : 1,
4d47f125 24307 "proxyto" : "node",
7aacca6f 24308 "returns" : {
4d47f125
TL
24309 "description" : "the task ID.",
24310 "type" : "string"
44660702 24311 }
56122987
DM
24312 }
24313 },
44660702 24314 "leaf" : 1,
4d47f125
TL
24315 "path" : "/nodes/{node}/lxc/{vmid}/resize",
24316 "text" : "resize"
56122987
DM
24317 },
24318 {
24319 "info" : {
24320 "POST" : {
4d47f125 24321 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 24322 "method" : "POST",
4d47f125 24323 "name" : "move_volume",
7aacca6f 24324 "parameters" : {
44660702 24325 "additionalProperties" : 0,
7aacca6f 24326 "properties" : {
95895385
TL
24327 "bwlimit" : {
24328 "default" : "clone limit from datacenter or storage config",
24329 "description" : "Override I/O bandwidth limit (in KiB/s).",
24330 "minimum" : "0",
24331 "optional" : 1,
24332 "type" : "number",
24333 "typetext" : "<number> (0 - N)"
24334 },
4d47f125
TL
24335 "delete" : {
24336 "default" : 0,
24337 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 24338 "optional" : 1,
4d47f125
TL
24339 "type" : "boolean",
24340 "typetext" : "<boolean>"
24341 },
24342 "digest" : {
24343 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24344 "maxLength" : 40,
24345 "optional" : 1,
24346 "type" : "string",
24347 "typetext" : "<string>"
5d9c884c 24348 },
44660702
DM
24349 "node" : {
24350 "description" : "The cluster node name.",
24351 "format" : "pve-node",
013dc89f
DM
24352 "type" : "string",
24353 "typetext" : "<string>"
44660702 24354 },
4d47f125
TL
24355 "storage" : {
24356 "description" : "Target Storage.",
24357 "format" : "pve-storage-id",
24358 "type" : "string",
24359 "typetext" : "<string>"
24360 },
7aacca6f 24361 "vmid" : {
44660702 24362 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
24363 "format" : "pve-vmid",
24364 "minimum" : 1,
4bd7df8b 24365 "type" : "integer",
013dc89f 24366 "typetext" : "<integer> (1 - N)"
7aacca6f 24367 },
4d47f125
TL
24368 "volume" : {
24369 "description" : "Volume which will be moved.",
24370 "enum" : [
24371 "rootfs",
24372 "mp0",
24373 "mp1",
24374 "mp2",
24375 "mp3",
24376 "mp4",
24377 "mp5",
24378 "mp6",
24379 "mp7",
24380 "mp8",
24381 "mp9",
24382 "mp10",
24383 "mp11",
24384 "mp12",
24385 "mp13",
24386 "mp14",
24387 "mp15",
24388 "mp16",
24389 "mp17",
24390 "mp18",
24391 "mp19",
24392 "mp20",
24393 "mp21",
24394 "mp22",
24395 "mp23",
24396 "mp24",
24397 "mp25",
24398 "mp26",
24399 "mp27",
24400 "mp28",
24401 "mp29",
24402 "mp30",
24403 "mp31",
24404 "mp32",
24405 "mp33",
24406 "mp34",
24407 "mp35",
24408 "mp36",
24409 "mp37",
24410 "mp38",
24411 "mp39",
24412 "mp40",
24413 "mp41",
24414 "mp42",
24415 "mp43",
24416 "mp44",
24417 "mp45",
24418 "mp46",
24419 "mp47",
24420 "mp48",
24421 "mp49",
24422 "mp50",
24423 "mp51",
24424 "mp52",
24425 "mp53",
24426 "mp54",
24427 "mp55",
24428 "mp56",
24429 "mp57",
24430 "mp58",
24431 "mp59",
24432 "mp60",
24433 "mp61",
24434 "mp62",
24435 "mp63",
24436 "mp64",
24437 "mp65",
24438 "mp66",
24439 "mp67",
24440 "mp68",
24441 "mp69",
24442 "mp70",
24443 "mp71",
24444 "mp72",
24445 "mp73",
24446 "mp74",
24447 "mp75",
24448 "mp76",
24449 "mp77",
24450 "mp78",
24451 "mp79",
24452 "mp80",
24453 "mp81",
24454 "mp82",
24455 "mp83",
24456 "mp84",
24457 "mp85",
24458 "mp86",
24459 "mp87",
24460 "mp88",
24461 "mp89",
24462 "mp90",
24463 "mp91",
24464 "mp92",
24465 "mp93",
24466 "mp94",
24467 "mp95",
24468 "mp96",
24469 "mp97",
24470 "mp98",
24471 "mp99",
24472 "mp100",
24473 "mp101",
24474 "mp102",
24475 "mp103",
24476 "mp104",
24477 "mp105",
24478 "mp106",
24479 "mp107",
24480 "mp108",
24481 "mp109",
24482 "mp110",
24483 "mp111",
24484 "mp112",
24485 "mp113",
24486 "mp114",
24487 "mp115",
24488 "mp116",
24489 "mp117",
24490 "mp118",
24491 "mp119",
24492 "mp120",
24493 "mp121",
24494 "mp122",
24495 "mp123",
24496 "mp124",
24497 "mp125",
24498 "mp126",
24499 "mp127",
24500 "mp128",
24501 "mp129",
24502 "mp130",
24503 "mp131",
24504 "mp132",
24505 "mp133",
24506 "mp134",
24507 "mp135",
24508 "mp136",
24509 "mp137",
24510 "mp138",
24511 "mp139",
24512 "mp140",
24513 "mp141",
24514 "mp142",
24515 "mp143",
24516 "mp144",
24517 "mp145",
24518 "mp146",
24519 "mp147",
24520 "mp148",
24521 "mp149",
24522 "mp150",
24523 "mp151",
24524 "mp152",
24525 "mp153",
24526 "mp154",
24527 "mp155",
24528 "mp156",
24529 "mp157",
24530 "mp158",
24531 "mp159",
24532 "mp160",
24533 "mp161",
24534 "mp162",
24535 "mp163",
24536 "mp164",
24537 "mp165",
24538 "mp166",
24539 "mp167",
24540 "mp168",
24541 "mp169",
24542 "mp170",
24543 "mp171",
24544 "mp172",
24545 "mp173",
24546 "mp174",
24547 "mp175",
24548 "mp176",
24549 "mp177",
24550 "mp178",
24551 "mp179",
24552 "mp180",
24553 "mp181",
24554 "mp182",
24555 "mp183",
24556 "mp184",
24557 "mp185",
24558 "mp186",
24559 "mp187",
24560 "mp188",
24561 "mp189",
24562 "mp190",
24563 "mp191",
24564 "mp192",
24565 "mp193",
24566 "mp194",
24567 "mp195",
24568 "mp196",
24569 "mp197",
24570 "mp198",
24571 "mp199",
24572 "mp200",
24573 "mp201",
24574 "mp202",
24575 "mp203",
24576 "mp204",
24577 "mp205",
24578 "mp206",
24579 "mp207",
24580 "mp208",
24581 "mp209",
24582 "mp210",
24583 "mp211",
24584 "mp212",
24585 "mp213",
24586 "mp214",
24587 "mp215",
24588 "mp216",
24589 "mp217",
24590 "mp218",
24591 "mp219",
24592 "mp220",
24593 "mp221",
24594 "mp222",
24595 "mp223",
24596 "mp224",
24597 "mp225",
24598 "mp226",
24599 "mp227",
24600 "mp228",
24601 "mp229",
24602 "mp230",
24603 "mp231",
24604 "mp232",
24605 "mp233",
24606 "mp234",
24607 "mp235",
24608 "mp236",
24609 "mp237",
24610 "mp238",
24611 "mp239",
24612 "mp240",
24613 "mp241",
24614 "mp242",
24615 "mp243",
24616 "mp244",
24617 "mp245",
24618 "mp246",
24619 "mp247",
24620 "mp248",
24621 "mp249",
24622 "mp250",
24623 "mp251",
24624 "mp252",
24625 "mp253",
24626 "mp254",
24627 "mp255"
24628 ],
24629 "type" : "string"
7aacca6f 24630 }
44660702 24631 }
7aacca6f 24632 },
56122987
DM
24633 "permissions" : {
24634 "check" : [
4d47f125 24635 "and",
56122987 24636 [
4d47f125
TL
24637 "perm",
24638 "/vms/{vmid}",
24639 [
24640 "VM.Config.Disk"
24641 ]
24642 ],
24643 [
24644 "perm",
24645 "/storage/{storage}",
24646 [
24647 "Datastore.AllocateSpace"
24648 ]
56122987 24649 ]
4d47f125
TL
24650 ],
24651 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
24652 },
24653 "protected" : 1,
24654 "proxyto" : "node",
24655 "returns" : {
24656 "type" : "string"
24657 }
24658 }
24659 },
24660 "leaf" : 1,
24661 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
24662 "text" : "move_volume"
24663 }
24664 ],
24665 "info" : {
24666 "DELETE" : {
24667 "description" : "Destroy the container (also delete all uses files).",
24668 "method" : "DELETE",
24669 "name" : "destroy_vm",
24670 "parameters" : {
24671 "additionalProperties" : 0,
24672 "properties" : {
24673 "node" : {
24674 "description" : "The cluster node name.",
24675 "format" : "pve-node",
24676 "type" : "string",
24677 "typetext" : "<string>"
24678 },
24679 "vmid" : {
24680 "description" : "The (unique) ID of the VM.",
24681 "format" : "pve-vmid",
24682 "minimum" : 1,
24683 "type" : "integer",
24684 "typetext" : "<integer> (1 - N)"
24685 }
24686 }
24687 },
24688 "permissions" : {
24689 "check" : [
24690 "perm",
24691 "/vms/{vmid}",
24692 [
24693 "VM.Allocate"
24694 ]
24695 ]
24696 },
24697 "protected" : 1,
24698 "proxyto" : "node",
24699 "returns" : {
24700 "type" : "string"
24701 }
24702 },
24703 "GET" : {
24704 "description" : "Directory index",
24705 "method" : "GET",
24706 "name" : "vmdiridx",
24707 "parameters" : {
24708 "additionalProperties" : 0,
24709 "properties" : {
24710 "node" : {
24711 "description" : "The cluster node name.",
24712 "format" : "pve-node",
24713 "type" : "string",
24714 "typetext" : "<string>"
56122987 24715 },
4d47f125
TL
24716 "vmid" : {
24717 "description" : "The (unique) ID of the VM.",
24718 "format" : "pve-vmid",
24719 "minimum" : 1,
24720 "type" : "integer",
24721 "typetext" : "<integer> (1 - N)"
56122987
DM
24722 }
24723 }
24724 },
4d47f125
TL
24725 "permissions" : {
24726 "user" : "all"
24727 },
24728 "proxyto" : "node",
24729 "returns" : {
24730 "items" : {
24731 "properties" : {
24732 "subdir" : {
24733 "type" : "string"
35a75dd3
DM
24734 }
24735 },
4d47f125
TL
24736 "type" : "object"
24737 },
24738 "links" : [
24739 {
24740 "href" : "{subdir}",
24741 "rel" : "child"
35a75dd3 24742 }
4d47f125
TL
24743 ],
24744 "type" : "array"
24745 }
24746 }
24747 },
24748 "leaf" : 0,
24749 "path" : "/nodes/{node}/lxc/{vmid}",
24750 "text" : "{vmid}"
24751 }
24752 ],
24753 "info" : {
24754 "GET" : {
24755 "description" : "LXC container index (per node).",
24756 "method" : "GET",
24757 "name" : "vmlist",
24758 "parameters" : {
24759 "additionalProperties" : 0,
24760 "properties" : {
24761 "node" : {
24762 "description" : "The cluster node name.",
24763 "format" : "pve-node",
24764 "type" : "string",
24765 "typetext" : "<string>"
24766 }
24767 }
24768 },
24769 "permissions" : {
24770 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
24771 "user" : "all"
24772 },
24773 "protected" : 1,
24774 "proxyto" : "node",
24775 "returns" : {
24776 "items" : {
24777 "properties" : {
24778 "cpus" : {
24779 "description" : "Maximum usable CPUs.",
24780 "optional" : 1,
24781 "type" : "number"
24782 },
95895385
TL
24783 "lock" : {
24784 "description" : "The current config lock, if any.",
24785 "optional" : 1,
24786 "type" : "string"
24787 },
4d47f125
TL
24788 "maxdisk" : {
24789 "description" : "Root disk size in bytes.",
24790 "optional" : 1,
24791 "renderer" : "bytes",
24792 "type" : "integer"
24793 },
24794 "maxmem" : {
24795 "description" : "Maximum memory in bytes.",
24796 "optional" : 1,
24797 "renderer" : "bytes",
24798 "type" : "integer"
24799 },
24800 "maxswap" : {
24801 "description" : "Maximum SWAP memory in bytes.",
24802 "optional" : 1,
24803 "renderer" : "bytes",
24804 "type" : "integer"
24805 },
24806 "name" : {
24807 "description" : "Container name.",
24808 "optional" : 1,
24809 "type" : "string"
24810 },
24811 "status" : {
24812 "description" : "LXC Container status.",
24813 "enum" : [
24814 "stopped",
24815 "running"
24816 ],
24817 "type" : "string"
24818 },
24819 "uptime" : {
24820 "description" : "Uptime.",
24821 "optional" : 1,
24822 "renderer" : "duration",
24823 "type" : "integer"
24824 },
24825 "vmid" : {
24826 "description" : "The (unique) ID of the VM.",
24827 "format" : "pve-vmid",
24828 "minimum" : 1,
24829 "type" : "integer"
35a75dd3
DM
24830 }
24831 },
4d47f125 24832 "type" : "object"
35a75dd3 24833 },
4d47f125
TL
24834 "links" : [
24835 {
24836 "href" : "{vmid}",
24837 "rel" : "child"
24838 }
24839 ],
24840 "type" : "array"
24841 }
24842 },
24843 "POST" : {
24844 "description" : "Create or restore a container.",
24845 "method" : "POST",
24846 "name" : "create_vm",
24847 "parameters" : {
24848 "additionalProperties" : 0,
24849 "properties" : {
24850 "arch" : {
24851 "default" : "amd64",
24852 "description" : "OS architecture type.",
24853 "enum" : [
24854 "amd64",
24855 "i386",
24856 "arm64",
24857 "armhf"
24858 ],
24859 "optional" : 1,
24860 "type" : "string"
24861 },
24862 "bwlimit" : {
95895385
TL
24863 "default" : "restore limit from datacenter or storage config",
24864 "description" : "Override I/O bandwidth limit (in KiB/s).",
4d47f125
TL
24865 "minimum" : "0",
24866 "optional" : 1,
24867 "type" : "number",
24868 "typetext" : "<number> (0 - N)"
24869 },
24870 "cmode" : {
24871 "default" : "tty",
24872 "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).",
24873 "enum" : [
24874 "shell",
24875 "console",
24876 "tty"
24877 ],
24878 "optional" : 1,
24879 "type" : "string"
24880 },
24881 "console" : {
24882 "default" : 1,
24883 "description" : "Attach a console device (/dev/console) to the container.",
24884 "optional" : 1,
24885 "type" : "boolean",
24886 "typetext" : "<boolean>"
24887 },
24888 "cores" : {
24889 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
24890 "maximum" : 128,
24891 "minimum" : 1,
24892 "optional" : 1,
24893 "type" : "integer",
24894 "typetext" : "<integer> (1 - 128)"
24895 },
24896 "cpulimit" : {
24897 "default" : 0,
24898 "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.",
24899 "maximum" : 128,
24900 "minimum" : 0,
24901 "optional" : 1,
24902 "type" : "number",
24903 "typetext" : "<number> (0 - 128)"
24904 },
24905 "cpuunits" : {
24906 "default" : 1024,
24907 "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.",
24908 "maximum" : 500000,
24909 "minimum" : 0,
24910 "optional" : 1,
24911 "type" : "integer",
24912 "typetext" : "<integer> (0 - 500000)"
24913 },
24914 "description" : {
24915 "description" : "Container description. Only used on the configuration web interface.",
24916 "optional" : 1,
24917 "type" : "string",
24918 "typetext" : "<string>"
24919 },
24920 "features" : {
24921 "description" : "Allow containers access to advanced features.",
24922 "format" : {
e2d681b3
TL
24923 "fuse" : {
24924 "default" : 0,
24925 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
24926 "optional" : 1,
24927 "type" : "boolean"
24928 },
4d47f125
TL
24929 "keyctl" : {
24930 "default" : 0,
24931 "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.",
24932 "optional" : 1,
24933 "type" : "boolean"
7aacca6f 24934 },
4d47f125
TL
24935 "mount" : {
24936 "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.",
24937 "format_description" : "fstype;fstype;...",
24938 "optional" : 1,
95895385 24939 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125 24940 "type" : "string"
56122987 24941 },
4d47f125
TL
24942 "nesting" : {
24943 "default" : 0,
24944 "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.",
24945 "optional" : 1,
24946 "type" : "boolean"
44660702 24947 }
4d47f125
TL
24948 },
24949 "optional" : 1,
24950 "type" : "string",
e2d681b3 24951 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 24952 },
4d47f125
TL
24953 "force" : {
24954 "description" : "Allow to overwrite existing container.",
24955 "optional" : 1,
24956 "type" : "boolean",
24957 "typetext" : "<boolean>"
24958 },
5f26e15b
TL
24959 "hookscript" : {
24960 "description" : "Script that will be exectued during various steps in the containers lifetime.",
24961 "format" : "pve-volume-id",
24962 "optional" : 1,
24963 "type" : "string",
24964 "typetext" : "<string>"
24965 },
4d47f125
TL
24966 "hostname" : {
24967 "description" : "Set a host name for the container.",
24968 "format" : "dns-name",
24969 "maxLength" : 255,
24970 "optional" : 1,
24971 "type" : "string",
24972 "typetext" : "<string>"
24973 },
24974 "ignore-unpack-errors" : {
24975 "description" : "Ignore errors when extracting the template.",
24976 "optional" : 1,
24977 "type" : "boolean",
24978 "typetext" : "<boolean>"
24979 },
24980 "lock" : {
24981 "description" : "Lock/unlock the VM.",
24982 "enum" : [
24983 "backup",
bb4c8cf8 24984 "create",
4d47f125 24985 "disk",
bb4c8cf8 24986 "fstrim",
4d47f125
TL
24987 "migrate",
24988 "mounted",
24989 "rollback",
24990 "snapshot",
24991 "snapshot-delete"
24992 ],
24993 "optional" : 1,
24994 "type" : "string"
24995 },
24996 "memory" : {
24997 "default" : 512,
24998 "description" : "Amount of RAM for the VM in MB.",
24999 "minimum" : 16,
25000 "optional" : 1,
25001 "type" : "integer",
25002 "typetext" : "<integer> (16 - N)"
25003 },
25004 "mp[n]" : {
25005 "description" : "Use volume as container mount point.",
25006 "format" : {
25007 "acl" : {
25008 "description" : "Explicitly enable or disable ACL support.",
25009 "optional" : 1,
25010 "type" : "boolean"
56122987 25011 },
4d47f125
TL
25012 "backup" : {
25013 "description" : "Whether to include the mount point in backups.",
25014 "optional" : 1,
25015 "type" : "boolean",
25016 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 25017 },
4d47f125
TL
25018 "mp" : {
25019 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
25020 "format" : "pve-lxc-mp-string",
25021 "format_description" : "Path",
25022 "type" : "string",
25023 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 25024 },
4d47f125
TL
25025 "quota" : {
25026 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
25027 "optional" : 1,
25028 "type" : "boolean"
25029 },
25030 "replicate" : {
25031 "default" : 1,
25032 "description" : "Will include this volume to a storage replica job.",
25033 "optional" : 1,
25034 "type" : "boolean"
25035 },
25036 "ro" : {
25037 "description" : "Read-only mount point",
25038 "optional" : 1,
25039 "type" : "boolean"
25040 },
25041 "shared" : {
25042 "default" : 0,
25043 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
25044 "optional" : 1,
25045 "type" : "boolean",
25046 "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 25047 },
4d47f125
TL
25048 "size" : {
25049 "description" : "Volume size (read only value).",
25050 "format" : "disk-size",
25051 "format_description" : "DiskSize",
25052 "optional" : 1,
25053 "type" : "string"
25054 },
25055 "volume" : {
25056 "default_key" : 1,
25057 "description" : "Volume, device or directory to mount into the container.",
25058 "format" : "pve-lxc-mp-string",
25059 "format_description" : "volume",
44660702
DM
25060 "type" : "string"
25061 }
4d47f125
TL
25062 },
25063 "optional" : 1,
25064 "type" : "string",
25065 "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 25066 },
4d47f125
TL
25067 "nameserver" : {
25068 "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.",
25069 "format" : "address-list",
25070 "optional" : 1,
25071 "type" : "string",
25072 "typetext" : "<string>"
25073 },
25074 "net[n]" : {
25075 "description" : "Specifies network interfaces for the container.",
25076 "format" : {
25077 "bridge" : {
25078 "description" : "Bridge to attach the network device to.",
25079 "format_description" : "bridge",
25080 "optional" : 1,
25081 "pattern" : "[-_.\\w\\d]+",
25082 "type" : "string"
56122987 25083 },
4d47f125
TL
25084 "firewall" : {
25085 "description" : "Controls whether this interface's firewall rules should be used.",
25086 "optional" : 1,
25087 "type" : "boolean"
56122987 25088 },
4d47f125
TL
25089 "gw" : {
25090 "description" : "Default gateway for IPv4 traffic.",
25091 "format" : "ipv4",
25092 "format_description" : "GatewayIPv4",
25093 "optional" : 1,
25094 "type" : "string"
25095 },
25096 "gw6" : {
25097 "description" : "Default gateway for IPv6 traffic.",
25098 "format" : "ipv6",
25099 "format_description" : "GatewayIPv6",
25100 "optional" : 1,
25101 "type" : "string"
25102 },
25103 "hwaddr" : {
25104 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 25105 "format" : "mac-addr",
4d47f125
TL
25106 "format_description" : "XX:XX:XX:XX:XX:XX",
25107 "optional" : 1,
95895385
TL
25108 "type" : "string",
25109 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
25110 },
25111 "ip" : {
25112 "description" : "IPv4 address in CIDR format.",
25113 "format" : "pve-ipv4-config",
25114 "format_description" : "(IPv4/CIDR|dhcp|manual)",
25115 "optional" : 1,
25116 "type" : "string"
25117 },
25118 "ip6" : {
25119 "description" : "IPv6 address in CIDR format.",
25120 "format" : "pve-ipv6-config",
25121 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
25122 "optional" : 1,
25123 "type" : "string"
25124 },
25125 "mtu" : {
25126 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
25127 "minimum" : 64,
25128 "optional" : 1,
25129 "type" : "integer"
25130 },
25131 "name" : {
25132 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
25133 "format_description" : "string",
25134 "pattern" : "[-_.\\w\\d]+",
25135 "type" : "string"
25136 },
25137 "rate" : {
25138 "description" : "Apply rate limiting to the interface",
25139 "format_description" : "mbps",
25140 "optional" : 1,
25141 "type" : "number"
25142 },
25143 "tag" : {
25144 "description" : "VLAN tag for this interface.",
25145 "maximum" : 4094,
25146 "minimum" : 1,
25147 "optional" : 1,
25148 "type" : "integer"
25149 },
25150 "trunks" : {
25151 "description" : "VLAN ids to pass through the interface",
25152 "format_description" : "vlanid[;vlanid...]",
25153 "optional" : 1,
25154 "pattern" : "(?^:\\d+(?:;\\d+)*)",
25155 "type" : "string"
25156 },
25157 "type" : {
25158 "description" : "Network interface type.",
25159 "enum" : [
25160 "veth"
25161 ],
25162 "optional" : 1,
25163 "type" : "string"
7aacca6f 25164 }
4d47f125
TL
25165 },
25166 "optional" : 1,
25167 "type" : "string",
25168 "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 25169 },
4d47f125
TL
25170 "node" : {
25171 "description" : "The cluster node name.",
25172 "format" : "pve-node",
25173 "type" : "string",
25174 "typetext" : "<string>"
25175 },
25176 "onboot" : {
25177 "default" : 0,
25178 "description" : "Specifies whether a VM will be started during system bootup.",
25179 "optional" : 1,
25180 "type" : "boolean",
25181 "typetext" : "<boolean>"
25182 },
25183 "ostemplate" : {
25184 "description" : "The OS template or backup file.",
25185 "maxLength" : 255,
25186 "type" : "string",
25187 "typetext" : "<string>"
25188 },
25189 "ostype" : {
25190 "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.",
25191 "enum" : [
25192 "debian",
25193 "ubuntu",
25194 "centos",
25195 "fedora",
25196 "opensuse",
25197 "archlinux",
25198 "alpine",
25199 "gentoo",
25200 "unmanaged"
25201 ],
25202 "optional" : 1,
25203 "type" : "string"
25204 },
25205 "password" : {
25206 "description" : "Sets root password inside container.",
25207 "minLength" : 5,
25208 "optional" : 1,
25209 "type" : "string",
25210 "typetext" : "<string>"
25211 },
25212 "pool" : {
25213 "description" : "Add the VM to the specified pool.",
25214 "format" : "pve-poolid",
25215 "optional" : 1,
25216 "type" : "string",
25217 "typetext" : "<string>"
25218 },
25219 "protection" : {
25220 "default" : 0,
25221 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
25222 "optional" : 1,
25223 "type" : "boolean",
25224 "typetext" : "<boolean>"
25225 },
25226 "restore" : {
25227 "description" : "Mark this as restore task.",
25228 "optional" : 1,
25229 "type" : "boolean",
25230 "typetext" : "<boolean>"
25231 },
25232 "rootfs" : {
25233 "description" : "Use volume as container root.",
25234 "format" : {
25235 "acl" : {
25236 "description" : "Explicitly enable or disable ACL support.",
25237 "optional" : 1,
25238 "type" : "boolean"
56122987 25239 },
4d47f125
TL
25240 "quota" : {
25241 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
25242 "optional" : 1,
25243 "type" : "boolean"
7aacca6f 25244 },
4d47f125
TL
25245 "replicate" : {
25246 "default" : 1,
25247 "description" : "Will include this volume to a storage replica job.",
25248 "optional" : 1,
25249 "type" : "boolean"
25250 },
25251 "ro" : {
25252 "description" : "Read-only mount point",
25253 "optional" : 1,
25254 "type" : "boolean"
25255 },
25256 "shared" : {
25257 "default" : 0,
25258 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
25259 "optional" : 1,
25260 "type" : "boolean",
25261 "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!"
25262 },
25263 "size" : {
25264 "description" : "Volume size (read only value).",
25265 "format" : "disk-size",
25266 "format_description" : "DiskSize",
25267 "optional" : 1,
25268 "type" : "string"
25269 },
25270 "volume" : {
25271 "default_key" : 1,
25272 "description" : "Volume, device or directory to mount into the container.",
25273 "format" : "pve-lxc-mp-string",
25274 "format_description" : "volume",
25275 "type" : "string"
56122987 25276 }
4d47f125
TL
25277 },
25278 "optional" : 1,
25279 "type" : "string",
25280 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 25281 },
4d47f125
TL
25282 "searchdomain" : {
25283 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
25284 "format" : "dns-name-list",
25285 "optional" : 1,
25286 "type" : "string",
25287 "typetext" : "<string>"
25288 },
25289 "ssh-public-keys" : {
25290 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
25291 "optional" : 1,
25292 "type" : "string",
25293 "typetext" : "<string>"
25294 },
25295 "start" : {
25296 "default" : 0,
25297 "description" : "Start the CT after its creation finished successfully.",
25298 "optional" : 1,
25299 "type" : "boolean",
25300 "typetext" : "<boolean>"
25301 },
25302 "startup" : {
25303 "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.",
25304 "format" : "pve-startup-order",
25305 "optional" : 1,
25306 "type" : "string",
25307 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
25308 },
25309 "storage" : {
25310 "default" : "local",
25311 "description" : "Default Storage.",
25312 "format" : "pve-storage-id",
25313 "optional" : 1,
25314 "type" : "string",
25315 "typetext" : "<string>"
25316 },
25317 "swap" : {
25318 "default" : 512,
25319 "description" : "Amount of SWAP for the VM in MB.",
25320 "minimum" : 0,
25321 "optional" : 1,
25322 "type" : "integer",
25323 "typetext" : "<integer> (0 - N)"
25324 },
25325 "template" : {
25326 "default" : 0,
25327 "description" : "Enable/disable Template.",
25328 "optional" : 1,
25329 "type" : "boolean",
25330 "typetext" : "<boolean>"
25331 },
25332 "tty" : {
25333 "default" : 2,
25334 "description" : "Specify the number of tty available to the container",
25335 "maximum" : 6,
25336 "minimum" : 0,
25337 "optional" : 1,
25338 "type" : "integer",
25339 "typetext" : "<integer> (0 - 6)"
25340 },
95895385
TL
25341 "unique" : {
25342 "description" : "Assign a unique random ethernet address.",
25343 "optional" : 1,
25344 "requires" : "restore",
25345 "type" : "boolean",
25346 "typetext" : "<boolean>"
25347 },
4d47f125
TL
25348 "unprivileged" : {
25349 "default" : 0,
25350 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
25351 "optional" : 1,
25352 "type" : "boolean",
25353 "typetext" : "<boolean>"
25354 },
25355 "unused[n]" : {
25356 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
25357 "format" : "pve-volume-id",
25358 "optional" : 1,
25359 "type" : "string",
25360 "typetext" : "<string>"
25361 },
25362 "vmid" : {
25363 "description" : "The (unique) ID of the VM.",
25364 "format" : "pve-vmid",
25365 "minimum" : 1,
25366 "type" : "integer",
25367 "typetext" : "<integer> (1 - N)"
25368 }
25369 }
25370 },
25371 "permissions" : {
25372 "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.",
25373 "user" : "all"
25374 },
25375 "protected" : 1,
25376 "proxyto" : "node",
25377 "returns" : {
25378 "type" : "string"
25379 }
25380 }
25381 },
25382 "leaf" : 0,
25383 "path" : "/nodes/{node}/lxc",
25384 "text" : "lxc"
25385 },
25386 {
25387 "children" : [
25388 {
25389 "children" : [
56122987 25390 {
4d47f125
TL
25391 "children" : [
25392 {
25393 "info" : {
25394 "POST" : {
25395 "description" : "ceph osd in",
25396 "method" : "POST",
25397 "name" : "in",
25398 "parameters" : {
25399 "additionalProperties" : 0,
25400 "properties" : {
25401 "node" : {
25402 "description" : "The cluster node name.",
25403 "format" : "pve-node",
25404 "type" : "string",
25405 "typetext" : "<string>"
25406 },
25407 "osdid" : {
25408 "description" : "OSD ID",
25409 "type" : "integer",
25410 "typetext" : "<integer>"
25411 }
25412 }
27a7acb2 25413 },
4d47f125
TL
25414 "permissions" : {
25415 "check" : [
25416 "perm",
25417 "/",
25418 [
25419 "Sys.Modify"
25420 ]
25421 ]
44660702 25422 },
4d47f125
TL
25423 "protected" : 1,
25424 "proxyto" : "node",
25425 "returns" : {
25426 "type" : "null"
7aacca6f
DM
25427 }
25428 }
56122987 25429 },
4d47f125
TL
25430 "leaf" : 1,
25431 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
25432 "text" : "in"
25433 },
25434 {
25435 "info" : {
25436 "POST" : {
25437 "description" : "ceph osd out",
25438 "method" : "POST",
25439 "name" : "out",
25440 "parameters" : {
25441 "additionalProperties" : 0,
25442 "properties" : {
25443 "node" : {
25444 "description" : "The cluster node name.",
25445 "format" : "pve-node",
25446 "type" : "string",
25447 "typetext" : "<string>"
25448 },
25449 "osdid" : {
25450 "description" : "OSD ID",
25451 "type" : "integer",
25452 "typetext" : "<integer>"
25453 }
25454 }
25455 },
25456 "permissions" : {
25457 "check" : [
56122987 25458 "perm",
4d47f125 25459 "/",
56122987 25460 [
4d47f125 25461 "Sys.Modify"
56122987 25462 ]
56122987 25463 ]
44660702 25464 },
4d47f125
TL
25465 "protected" : 1,
25466 "proxyto" : "node",
25467 "returns" : {
25468 "type" : "null"
56122987 25469 }
44660702 25470 }
56122987 25471 },
4d47f125
TL
25472 "leaf" : 1,
25473 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
25474 "text" : "out"
56122987 25475 }
4d47f125 25476 ],
27a7acb2 25477 "info" : {
4d47f125
TL
25478 "DELETE" : {
25479 "description" : "Destroy OSD",
25480 "method" : "DELETE",
25481 "name" : "destroyosd",
27a7acb2
DM
25482 "parameters" : {
25483 "additionalProperties" : 0,
25484 "properties" : {
4d47f125 25485 "cleanup" : {
27a7acb2 25486 "default" : 0,
4d47f125 25487 "description" : "If set, we remove partition table entries.",
27a7acb2 25488 "optional" : 1,
4d47f125
TL
25489 "type" : "boolean",
25490 "typetext" : "<boolean>"
25491 },
25492 "node" : {
25493 "description" : "The cluster node name.",
25494 "format" : "pve-node",
25495 "type" : "string",
25496 "typetext" : "<string>"
25497 },
25498 "osdid" : {
25499 "description" : "OSD ID",
25500 "type" : "integer",
25501 "typetext" : "<integer>"
25502 }
25503 }
27a7acb2
DM
25504 },
25505 "protected" : 1,
25506 "proxyto" : "node",
25507 "returns" : {
25508 "type" : "string"
25509 }
25510 }
25511 },
4d47f125
TL
25512 "leaf" : 0,
25513 "path" : "/nodes/{node}/ceph/osd/{osdid}",
25514 "text" : "{osdid}"
56122987
DM
25515 }
25516 ],
25517 "info" : {
4d47f125
TL
25518 "GET" : {
25519 "description" : "Get Ceph osd list/tree.",
25520 "method" : "GET",
25521 "name" : "index",
44660702
DM
25522 "parameters" : {
25523 "additionalProperties" : 0,
25524 "properties" : {
25525 "node" : {
25526 "description" : "The cluster node name.",
25527 "format" : "pve-node",
013dc89f
DM
25528 "type" : "string",
25529 "typetext" : "<string>"
44660702
DM
25530 }
25531 }
25532 },
7aacca6f
DM
25533 "permissions" : {
25534 "check" : [
25535 "perm",
4d47f125 25536 "/",
7aacca6f 25537 [
4d47f125
TL
25538 "Sys.Audit",
25539 "Datastore.Audit"
25540 ],
25541 "any",
25542 1
25543 ]
25544 },
25545 "protected" : 1,
25546 "proxyto" : "node",
25547 "returns" : {
25548 "type" : "object"
25549 }
25550 },
25551 "POST" : {
25552 "description" : "Create OSD",
25553 "method" : "POST",
25554 "name" : "createosd",
25555 "parameters" : {
25556 "additionalProperties" : 0,
25557 "properties" : {
1e3f8156
TL
25558 "db_dev" : {
25559 "description" : "Block device name for block.db.",
44660702 25560 "optional" : 1,
4bd7df8b 25561 "type" : "string",
4d47f125 25562 "typetext" : "<string>"
44660702 25563 },
1e3f8156
TL
25564 "db_size" : {
25565 "default" : "bluestore_block_db_size or 10% of OSD size",
25566 "description" : "Size in GiB for block.db.",
25567 "minimum" : 1,
7aacca6f 25568 "optional" : 1,
1e3f8156
TL
25569 "requires" : "db_dev",
25570 "type" : "number",
25571 "typetext" : "<number> (1 - N)",
25572 "verbose_description" : "If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough."
44660702 25573 },
1e3f8156
TL
25574 "dev" : {
25575 "description" : "Block device name.",
4d47f125
TL
25576 "type" : "string",
25577 "typetext" : "<string>"
5d9c884c 25578 },
1e3f8156
TL
25579 "encrypted" : {
25580 "default" : 0,
25581 "description" : "Enables encryption of the OSD.",
25582 "optional" : 1,
25583 "type" : "boolean",
25584 "typetext" : "<boolean>"
25585 },
4d47f125
TL
25586 "node" : {
25587 "description" : "The cluster node name.",
25588 "format" : "pve-node",
25589 "type" : "string",
25590 "typetext" : "<string>"
7aacca6f 25591 },
4d47f125 25592 "wal_dev" : {
1e3f8156 25593 "description" : "Block device name for block.wal.",
de0983cb 25594 "optional" : 1,
4d47f125
TL
25595 "type" : "string",
25596 "typetext" : "<string>"
1e3f8156
TL
25597 },
25598 "wal_size" : {
25599 "default" : "bluestore_block_wal_size or 1% of OSD size",
25600 "description" : "Size in GiB for block.wal.",
25601 "minimum" : 0.5,
25602 "optional" : 1,
25603 "requires" : "wal_dev",
25604 "type" : "number",
25605 "typetext" : "<number> (0.5 - N)",
25606 "verbose_description" : "If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough."
4d47f125
TL
25607 }
25608 }
25609 },
25610 "protected" : 1,
25611 "proxyto" : "node",
25612 "returns" : {
25613 "type" : "string"
25614 }
25615 }
25616 },
25617 "leaf" : 0,
25618 "path" : "/nodes/{node}/ceph/osd",
25619 "text" : "osd"
25620 },
e2d681b3
TL
25621 {
25622 "children" : [
25623 {
25624 "info" : {
25625 "DELETE" : {
25626 "description" : "Destroy Ceph Metadata Server",
25627 "method" : "DELETE",
25628 "name" : "destroymds",
25629 "parameters" : {
25630 "additionalProperties" : 0,
25631 "properties" : {
25632 "name" : {
25633 "description" : "The name (ID) of the mds",
25634 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25635 "type" : "string"
25636 },
25637 "node" : {
25638 "description" : "The cluster node name.",
25639 "format" : "pve-node",
25640 "type" : "string",
25641 "typetext" : "<string>"
25642 }
25643 }
25644 },
25645 "permissions" : {
25646 "check" : [
25647 "perm",
25648 "/",
25649 [
25650 "Sys.Modify"
25651 ]
25652 ]
25653 },
25654 "protected" : 1,
25655 "proxyto" : "node",
25656 "returns" : {
25657 "type" : "string"
25658 }
25659 },
25660 "POST" : {
25661 "description" : "Create Ceph Metadata Server (MDS)",
25662 "method" : "POST",
25663 "name" : "createmds",
25664 "parameters" : {
25665 "additionalProperties" : 0,
25666 "properties" : {
25667 "hotstandby" : {
25668 "default" : "0",
25669 "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.",
25670 "optional" : 1,
25671 "type" : "boolean",
25672 "typetext" : "<boolean>"
25673 },
25674 "name" : {
25675 "default" : "nodename",
25676 "description" : "The ID for the mds, when omitted the same as the nodename",
25677 "optional" : 1,
25678 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25679 "type" : "string"
25680 },
25681 "node" : {
25682 "description" : "The cluster node name.",
25683 "format" : "pve-node",
25684 "type" : "string",
25685 "typetext" : "<string>"
25686 }
25687 }
25688 },
25689 "permissions" : {
25690 "check" : [
25691 "perm",
25692 "/",
25693 [
25694 "Sys.Modify"
25695 ]
25696 ]
25697 },
25698 "protected" : 1,
25699 "proxyto" : "node",
25700 "returns" : {
25701 "type" : "string"
25702 }
25703 }
25704 },
25705 "leaf" : 1,
25706 "path" : "/nodes/{node}/ceph/mds/{name}",
25707 "text" : "{name}"
25708 }
25709 ],
25710 "info" : {
25711 "GET" : {
25712 "description" : "MDS directory index.",
25713 "method" : "GET",
25714 "name" : "index",
25715 "parameters" : {
25716 "additionalProperties" : 0,
25717 "properties" : {
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.Audit",
25732 "Datastore.Audit"
25733 ],
25734 "any",
25735 1
25736 ]
25737 },
25738 "protected" : 1,
25739 "proxyto" : "node",
25740 "returns" : {
25741 "items" : {
25742 "properties" : {
25743 "addr" : {
25744 "optional" : 1,
25745 "type" : "string"
25746 },
25747 "host" : {
25748 "optional" : 1,
25749 "type" : "string"
25750 },
25751 "name" : {
25752 "description" : "The name (ID) for the MDS"
25753 },
25754 "rank" : {
25755 "optional" : 1,
25756 "type" : "integer"
25757 },
25758 "standby_replay" : {
25759 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
25760 "optional" : 1,
25761 "type" : "boolean"
25762 },
25763 "state" : {
25764 "description" : "State of the MDS",
25765 "type" : "string"
25766 }
25767 },
25768 "type" : "object"
25769 },
25770 "links" : [
25771 {
25772 "href" : "{name}",
25773 "rel" : "child"
25774 }
25775 ],
25776 "type" : "array"
25777 }
25778 }
25779 },
25780 "leaf" : 0,
25781 "path" : "/nodes/{node}/ceph/mds",
25782 "text" : "mds"
25783 },
25784 {
25785 "children" : [
25786 {
25787 "info" : {
5f26e15b
TL
25788 "DELETE" : {
25789 "description" : "Destroy Ceph Manager.",
25790 "method" : "DELETE",
25791 "name" : "destroymgr",
e2d681b3
TL
25792 "parameters" : {
25793 "additionalProperties" : 0,
25794 "properties" : {
5f26e15b
TL
25795 "id" : {
25796 "description" : "The ID of the manager",
25797 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25798 "type" : "string"
e2d681b3
TL
25799 },
25800 "node" : {
25801 "description" : "The cluster node name.",
25802 "format" : "pve-node",
25803 "type" : "string",
25804 "typetext" : "<string>"
e2d681b3
TL
25805 }
25806 }
25807 },
25808 "permissions" : {
25809 "check" : [
25810 "perm",
25811 "/",
25812 [
25813 "Sys.Modify"
25814 ]
25815 ]
25816 },
25817 "protected" : 1,
25818 "proxyto" : "node",
25819 "returns" : {
25820 "type" : "string"
25821 }
1e3f8156
TL
25822 },
25823 "POST" : {
25824 "description" : "Create Ceph Manager",
25825 "method" : "POST",
25826 "name" : "createmgr",
25827 "parameters" : {
25828 "additionalProperties" : 0,
25829 "properties" : {
25830 "id" : {
25831 "description" : "The ID for the manager, when omitted the same as the nodename",
25832 "optional" : 1,
25833 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25834 "type" : "string"
25835 },
25836 "node" : {
25837 "description" : "The cluster node name.",
25838 "format" : "pve-node",
25839 "type" : "string",
25840 "typetext" : "<string>"
25841 }
25842 }
25843 },
25844 "permissions" : {
25845 "check" : [
25846 "perm",
25847 "/",
25848 [
25849 "Sys.Modify"
25850 ]
25851 ]
25852 },
25853 "protected" : 1,
25854 "proxyto" : "node",
25855 "returns" : {
25856 "type" : "string"
25857 }
e2d681b3
TL
25858 }
25859 },
25860 "leaf" : 1,
5f26e15b
TL
25861 "path" : "/nodes/{node}/ceph/mgr/{id}",
25862 "text" : "{id}"
e2d681b3
TL
25863 }
25864 ],
25865 "info" : {
1e3f8156
TL
25866 "GET" : {
25867 "description" : "MGR directory index.",
25868 "method" : "GET",
25869 "name" : "index",
e2d681b3
TL
25870 "parameters" : {
25871 "additionalProperties" : 0,
25872 "properties" : {
25873 "node" : {
25874 "description" : "The cluster node name.",
25875 "format" : "pve-node",
25876 "type" : "string",
25877 "typetext" : "<string>"
25878 }
25879 }
25880 },
25881 "permissions" : {
25882 "check" : [
25883 "perm",
25884 "/",
25885 [
1e3f8156
TL
25886 "Sys.Audit",
25887 "Datastore.Audit"
25888 ],
25889 "any",
25890 1
e2d681b3
TL
25891 ]
25892 },
25893 "protected" : 1,
5f26e15b 25894 "proxyto" : "node",
e2d681b3 25895 "returns" : {
1e3f8156
TL
25896 "items" : {
25897 "properties" : {
25898 "addr" : {
25899 "optional" : 1,
25900 "type" : "string"
25901 },
25902 "host" : {
25903 "optional" : 1,
25904 "type" : "string"
25905 },
25906 "name" : {
25907 "description" : "The name (ID) for the MGR"
25908 },
25909 "state" : {
25910 "description" : "State of the MGR",
25911 "type" : "string"
25912 }
25913 },
25914 "type" : "object"
25915 },
25916 "links" : [
25917 {
25918 "href" : "{name}",
25919 "rel" : "child"
25920 }
25921 ],
25922 "type" : "array"
e2d681b3
TL
25923 }
25924 }
25925 },
25926 "leaf" : 0,
5f26e15b
TL
25927 "path" : "/nodes/{node}/ceph/mgr",
25928 "text" : "mgr"
e2d681b3 25929 },
4d47f125 25930 {
5f26e15b
TL
25931 "children" : [
25932 {
25933 "info" : {
25934 "DELETE" : {
25935 "description" : "Destroy Ceph Monitor and Manager.",
25936 "method" : "DELETE",
25937 "name" : "destroymon",
25938 "parameters" : {
25939 "additionalProperties" : 0,
25940 "properties" : {
1e3f8156
TL
25941 "monid" : {
25942 "description" : "Monitor ID",
25943 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25944 "type" : "string"
25945 },
25946 "node" : {
25947 "description" : "The cluster node name.",
25948 "format" : "pve-node",
25949 "type" : "string",
25950 "typetext" : "<string>"
25951 }
25952 }
25953 },
25954 "permissions" : {
25955 "check" : [
25956 "perm",
25957 "/",
25958 [
25959 "Sys.Modify"
25960 ]
25961 ]
25962 },
25963 "protected" : 1,
25964 "proxyto" : "node",
25965 "returns" : {
25966 "type" : "string"
25967 }
25968 },
25969 "POST" : {
25970 "description" : "Create Ceph Monitor and Manager",
25971 "method" : "POST",
25972 "name" : "createmon",
25973 "parameters" : {
25974 "additionalProperties" : 0,
25975 "properties" : {
25976 "mon-address" : {
25977 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
25978 "format" : "ip",
5f26e15b 25979 "optional" : 1,
1e3f8156
TL
25980 "type" : "string",
25981 "typetext" : "<string>"
5f26e15b
TL
25982 },
25983 "monid" : {
1e3f8156
TL
25984 "description" : "The ID for the monitor, when omitted the same as the nodename",
25985 "optional" : 1,
5f26e15b
TL
25986 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25987 "type" : "string"
25988 },
25989 "node" : {
25990 "description" : "The cluster node name.",
25991 "format" : "pve-node",
25992 "type" : "string",
25993 "typetext" : "<string>"
25994 }
25995 }
25996 },
25997 "permissions" : {
25998 "check" : [
25999 "perm",
26000 "/",
26001 [
26002 "Sys.Modify"
26003 ]
26004 ]
26005 },
26006 "protected" : 1,
26007 "proxyto" : "node",
26008 "returns" : {
7aacca6f 26009 "type" : "string"
56122987 26010 }
4d47f125 26011 }
56122987 26012 },
5f26e15b
TL
26013 "leaf" : 1,
26014 "path" : "/nodes/{node}/ceph/mon/{monid}",
26015 "text" : "{monid}"
26016 }
26017 ],
26018 "info" : {
26019 "GET" : {
26020 "description" : "Get Ceph monitor list.",
26021 "method" : "GET",
26022 "name" : "listmon",
26023 "parameters" : {
26024 "additionalProperties" : 0,
26025 "properties" : {
26026 "node" : {
26027 "description" : "The cluster node name.",
26028 "format" : "pve-node",
26029 "type" : "string",
26030 "typetext" : "<string>"
26031 }
26032 }
26033 },
4d47f125
TL
26034 "permissions" : {
26035 "check" : [
26036 "perm",
26037 "/",
26038 [
26039 "Sys.Audit",
26040 "Datastore.Audit"
26041 ],
26042 "any",
26043 1
26044 ]
56122987 26045 },
4d47f125
TL
26046 "protected" : 1,
26047 "proxyto" : "node",
26048 "returns" : {
26049 "items" : {
26050 "properties" : {
5f26e15b 26051 "addr" : {
1e3f8156
TL
26052 "optional" : 1,
26053 "type" : "string"
26054 },
26055 "host" : {
26056 "optional" : 1,
4d47f125
TL
26057 "type" : "string"
26058 },
5f26e15b 26059 "name" : {
4d47f125
TL
26060 "type" : "string"
26061 }
7aacca6f 26062 },
4d47f125
TL
26063 "type" : "object"
26064 },
5f26e15b
TL
26065 "links" : [
26066 {
26067 "href" : "{name}",
26068 "rel" : "child"
26069 }
26070 ],
4d47f125
TL
26071 "type" : "array"
26072 }
4d47f125
TL
26073 }
26074 },
5f26e15b
TL
26075 "leaf" : 0,
26076 "path" : "/nodes/{node}/ceph/mon",
26077 "text" : "mon"
4d47f125
TL
26078 },
26079 {
26080 "children" : [
26081 {
26082 "info" : {
5f26e15b
TL
26083 "POST" : {
26084 "description" : "Create a Ceph filesystem",
26085 "method" : "POST",
26086 "name" : "createfs",
4d47f125
TL
26087 "parameters" : {
26088 "additionalProperties" : 0,
26089 "properties" : {
5f26e15b 26090 "add-storage" : {
4d47f125 26091 "default" : 0,
5f26e15b 26092 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
26093 "optional" : 1,
26094 "type" : "boolean",
26095 "typetext" : "<boolean>"
26096 },
5f26e15b
TL
26097 "name" : {
26098 "default" : "cephfs",
26099 "description" : "The ceph filesystem name.",
26100 "optional" : 1,
26101 "type" : "string",
26102 "typetext" : "<string>"
4d47f125
TL
26103 },
26104 "node" : {
26105 "description" : "The cluster node name.",
26106 "format" : "pve-node",
26107 "type" : "string",
26108 "typetext" : "<string>"
5f26e15b
TL
26109 },
26110 "pg_num" : {
26111 "default" : 128,
26112 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
26113 "maximum" : 32768,
26114 "minimum" : 8,
26115 "optional" : 1,
26116 "type" : "integer",
26117 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
26118 }
26119 }
7aacca6f 26120 },
4d47f125
TL
26121 "permissions" : {
26122 "check" : [
26123 "perm",
26124 "/",
26125 [
26126 "Sys.Modify"
26127 ]
26128 ]
7aacca6f 26129 },
4d47f125
TL
26130 "protected" : 1,
26131 "proxyto" : "node",
26132 "returns" : {
44660702 26133 "type" : "string"
4d47f125
TL
26134 }
26135 }
26136 },
26137 "leaf" : 1,
5f26e15b
TL
26138 "path" : "/nodes/{node}/ceph/fs/{name}",
26139 "text" : "{name}"
4d47f125
TL
26140 }
26141 ],
26142 "info" : {
26143 "GET" : {
5f26e15b 26144 "description" : "Directory index.",
4d47f125 26145 "method" : "GET",
5f26e15b 26146 "name" : "index",
4d47f125
TL
26147 "parameters" : {
26148 "additionalProperties" : 0,
26149 "properties" : {
26150 "node" : {
26151 "description" : "The cluster node name.",
26152 "format" : "pve-node",
26153 "type" : "string",
26154 "typetext" : "<string>"
26155 }
26156 }
26157 },
26158 "permissions" : {
26159 "check" : [
26160 "perm",
26161 "/",
26162 [
26163 "Sys.Audit",
26164 "Datastore.Audit"
26165 ],
26166 "any",
26167 1
26168 ]
26169 },
26170 "protected" : 1,
95895385 26171 "proxyto" : "node",
4d47f125
TL
26172 "returns" : {
26173 "items" : {
26174 "properties" : {
5f26e15b
TL
26175 "data_pool" : {
26176 "description" : "The name of the data pool.",
26177 "type" : "string"
26178 },
26179 "metadata_pool" : {
26180 "description" : "The name of the metadata pool.",
4d47f125
TL
26181 "type" : "string"
26182 },
26183 "name" : {
5f26e15b 26184 "description" : "The ceph filesystem name.",
4d47f125
TL
26185 "type" : "string"
26186 }
7aacca6f 26187 },
4d47f125
TL
26188 "type" : "object"
26189 },
26190 "links" : [
26191 {
26192 "href" : "{name}",
26193 "rel" : "child"
26194 }
26195 ],
26196 "type" : "array"
26197 }
5f26e15b
TL
26198 }
26199 },
26200 "leaf" : 0,
26201 "path" : "/nodes/{node}/ceph/fs",
26202 "text" : "fs"
26203 },
26204 {
26205 "info" : {
26206 "GET" : {
26207 "description" : "List local disks.",
26208 "method" : "GET",
26209 "name" : "disks",
4d47f125
TL
26210 "parameters" : {
26211 "additionalProperties" : 0,
26212 "properties" : {
5f26e15b
TL
26213 "node" : {
26214 "description" : "The cluster node name.",
26215 "format" : "pve-node",
26216 "type" : "string",
26217 "typetext" : "<string>"
44660702 26218 },
5f26e15b
TL
26219 "type" : {
26220 "description" : "Only list specific types of disks.",
26221 "enum" : [
26222 "unused",
26223 "journal_disks"
26224 ],
44660702 26225 "optional" : 1,
44660702 26226 "type" : "string"
5f26e15b
TL
26227 }
26228 }
26229 },
26230 "permissions" : {
26231 "check" : [
26232 "perm",
26233 "/",
26234 [
26235 "Sys.Audit",
26236 "Datastore.Audit"
26237 ],
26238 "any",
26239 1
26240 ]
26241 },
26242 "protected" : 1,
26243 "proxyto" : "node",
26244 "returns" : {
26245 "items" : {
26246 "properties" : {
26247 "dev" : {
26248 "type" : "string"
26249 },
26250 "gpt" : {
26251 "type" : "boolean"
26252 },
26253 "model" : {
26254 "optional" : 1,
26255 "type" : "string"
26256 },
26257 "osdid" : {
26258 "type" : "integer"
26259 },
26260 "serial" : {
26261 "optional" : 1,
26262 "type" : "string"
26263 },
26264 "size" : {
26265 "type" : "integer"
26266 },
26267 "used" : {
26268 "optional" : 1,
26269 "type" : "string"
26270 },
26271 "vendor" : {
26272 "optional" : 1,
26273 "type" : "string"
26274 }
44660702 26275 },
5f26e15b
TL
26276 "type" : "object"
26277 },
26278 "type" : "array"
26279 }
26280 }
26281 },
26282 "leaf" : 1,
26283 "path" : "/nodes/{node}/ceph/disks",
26284 "text" : "disks"
26285 },
26286 {
26287 "info" : {
26288 "GET" : {
26289 "description" : "Get Ceph configuration.",
26290 "method" : "GET",
26291 "name" : "config",
26292 "parameters" : {
26293 "additionalProperties" : 0,
26294 "properties" : {
4d47f125
TL
26295 "node" : {
26296 "description" : "The cluster node name.",
26297 "format" : "pve-node",
26298 "type" : "string",
26299 "typetext" : "<string>"
7aacca6f 26300 }
4d47f125 26301 }
44660702 26302 },
4d47f125
TL
26303 "permissions" : {
26304 "check" : [
26305 "perm",
26306 "/",
26307 [
5f26e15b
TL
26308 "Sys.Audit",
26309 "Datastore.Audit"
26310 ],
26311 "any",
26312 1
4d47f125 26313 ]
56122987 26314 },
95895385 26315 "proxyto" : "node",
4d47f125 26316 "returns" : {
7aacca6f 26317 "type" : "string"
4d47f125
TL
26318 }
26319 }
26320 },
5f26e15b
TL
26321 "leaf" : 1,
26322 "path" : "/nodes/{node}/ceph/config",
26323 "text" : "config"
4d47f125
TL
26324 },
26325 {
26326 "info" : {
26327 "POST" : {
26328 "description" : "Create initial ceph default configuration and setup symlinks.",
26329 "method" : "POST",
26330 "name" : "init",
26331 "parameters" : {
26332 "additionalProperties" : 0,
26333 "properties" : {
e2d681b3
TL
26334 "cluster-network" : {
26335 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
26336 "format" : "CIDR",
26337 "maxLength" : 128,
26338 "optional" : 1,
26339 "requires" : "network",
26340 "type" : "string",
26341 "typetext" : "<string>"
26342 },
4d47f125
TL
26343 "disable_cephx" : {
26344 "default" : 0,
1e3f8156 26345 "description" : "Disable cephx authentication.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
56122987 26346 "optional" : 1,
4d47f125
TL
26347 "type" : "boolean",
26348 "typetext" : "<boolean>"
56122987 26349 },
4d47f125
TL
26350 "min_size" : {
26351 "default" : 2,
26352 "description" : "Minimum number of available replicas per object to allow I/O",
26353 "maximum" : 7,
26354 "minimum" : 1,
7aacca6f 26355 "optional" : 1,
4d47f125
TL
26356 "type" : "integer",
26357 "typetext" : "<integer> (1 - 7)"
7aacca6f 26358 },
4d47f125
TL
26359 "network" : {
26360 "description" : "Use specific network for all ceph related traffic",
26361 "format" : "CIDR",
26362 "maxLength" : 128,
5d9c884c 26363 "optional" : 1,
4d47f125
TL
26364 "type" : "string",
26365 "typetext" : "<string>"
5d9c884c 26366 },
4d47f125
TL
26367 "node" : {
26368 "description" : "The cluster node name.",
26369 "format" : "pve-node",
26370 "type" : "string",
26371 "typetext" : "<string>"
7aacca6f 26372 },
4d47f125
TL
26373 "pg_bits" : {
26374 "default" : 6,
26375 "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.",
26376 "maximum" : 14,
26377 "minimum" : 6,
de0983cb 26378 "optional" : 1,
4d47f125
TL
26379 "type" : "integer",
26380 "typetext" : "<integer> (6 - 14)"
de0983cb 26381 },
44660702 26382 "size" : {
4d47f125
TL
26383 "default" : 3,
26384 "description" : "Targeted number of replicas per object",
26385 "maximum" : 7,
26386 "minimum" : 1,
7aacca6f 26387 "optional" : 1,
4d47f125
TL
26388 "type" : "integer",
26389 "typetext" : "<integer> (1 - 7)"
56122987 26390 }
4d47f125 26391 }
44660702 26392 },
4d47f125
TL
26393 "permissions" : {
26394 "check" : [
26395 "perm",
26396 "/",
26397 [
26398 "Sys.Modify"
26399 ]
26400 ]
5da3d723 26401 },
4d47f125
TL
26402 "protected" : 1,
26403 "proxyto" : "node",
26404 "returns" : {
26405 "type" : "null"
26406 }
26407 }
26408 },
26409 "leaf" : 1,
26410 "path" : "/nodes/{node}/ceph/init",
26411 "text" : "init"
26412 },
4d47f125
TL
26413 {
26414 "info" : {
26415 "POST" : {
26416 "description" : "Stop ceph services.",
26417 "method" : "POST",
26418 "name" : "stop",
26419 "parameters" : {
26420 "additionalProperties" : 0,
26421 "properties" : {
26422 "node" : {
26423 "description" : "The cluster node name.",
26424 "format" : "pve-node",
26425 "type" : "string",
26426 "typetext" : "<string>"
26427 },
26428 "service" : {
e2d681b3 26429 "default" : "ceph.target",
4d47f125
TL
26430 "description" : "Ceph service name.",
26431 "optional" : 1,
95895385 26432 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
26433 "type" : "string"
26434 }
26435 }
7aacca6f 26436 },
4d47f125
TL
26437 "permissions" : {
26438 "check" : [
26439 "perm",
26440 "/",
26441 [
26442 "Sys.Modify"
26443 ]
26444 ]
7aacca6f 26445 },
4d47f125
TL
26446 "protected" : 1,
26447 "proxyto" : "node",
26448 "returns" : {
26449 "type" : "string"
26450 }
26451 }
26452 },
26453 "leaf" : 1,
26454 "path" : "/nodes/{node}/ceph/stop",
26455 "text" : "stop"
26456 },
26457 {
26458 "info" : {
26459 "POST" : {
26460 "description" : "Start ceph services.",
26461 "method" : "POST",
26462 "name" : "start",
26463 "parameters" : {
26464 "additionalProperties" : 0,
26465 "properties" : {
26466 "node" : {
26467 "description" : "The cluster node name.",
26468 "format" : "pve-node",
26469 "type" : "string",
26470 "typetext" : "<string>"
26471 },
26472 "service" : {
e2d681b3 26473 "default" : "ceph.target",
4d47f125
TL
26474 "description" : "Ceph service name.",
26475 "optional" : 1,
95895385 26476 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
26477 "type" : "string"
26478 }
26479 }
44660702 26480 },
4d47f125
TL
26481 "permissions" : {
26482 "check" : [
26483 "perm",
26484 "/",
26485 [
26486 "Sys.Modify"
26487 ]
26488 ]
44660702 26489 },
4d47f125
TL
26490 "protected" : 1,
26491 "proxyto" : "node",
26492 "returns" : {
26493 "type" : "string"
44660702 26494 }
7aacca6f
DM
26495 }
26496 },
4d47f125
TL
26497 "leaf" : 1,
26498 "path" : "/nodes/{node}/ceph/start",
26499 "text" : "start"
26500 },
e2d681b3
TL
26501 {
26502 "info" : {
26503 "POST" : {
26504 "description" : "Restart ceph services.",
26505 "method" : "POST",
26506 "name" : "restart",
26507 "parameters" : {
26508 "additionalProperties" : 0,
26509 "properties" : {
26510 "node" : {
26511 "description" : "The cluster node name.",
26512 "format" : "pve-node",
26513 "type" : "string",
26514 "typetext" : "<string>"
26515 },
26516 "service" : {
26517 "default" : "ceph.target",
26518 "description" : "Ceph service name.",
26519 "optional" : 1,
26520 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
26521 "type" : "string"
26522 }
26523 }
26524 },
26525 "permissions" : {
26526 "check" : [
26527 "perm",
26528 "/",
26529 [
26530 "Sys.Modify"
26531 ]
26532 ]
26533 },
26534 "protected" : 1,
26535 "proxyto" : "node",
26536 "returns" : {
26537 "type" : "string"
26538 }
26539 }
26540 },
26541 "leaf" : 1,
26542 "path" : "/nodes/{node}/ceph/restart",
26543 "text" : "restart"
26544 },
4d47f125
TL
26545 {
26546 "info" : {
26547 "GET" : {
26548 "description" : "Get ceph status.",
26549 "method" : "GET",
26550 "name" : "status",
26551 "parameters" : {
26552 "additionalProperties" : 0,
26553 "properties" : {
26554 "node" : {
26555 "description" : "The cluster node name.",
26556 "format" : "pve-node",
26557 "type" : "string",
26558 "typetext" : "<string>"
26559 }
26560 }
26561 },
26562 "permissions" : {
26563 "check" : [
26564 "perm",
26565 "/",
26566 [
26567 "Sys.Audit",
26568 "Datastore.Audit"
26569 ],
26570 "any",
26571 1
26572 ]
26573 },
26574 "protected" : 1,
26575 "proxyto" : "node",
26576 "returns" : {
26577 "type" : "object"
26578 }
26579 }
44660702 26580 },
4d47f125
TL
26581 "leaf" : 1,
26582 "path" : "/nodes/{node}/ceph/status",
26583 "text" : "status"
26584 },
44660702 26585 {
56122987
DM
26586 "children" : [
26587 {
44660702
DM
26588 "info" : {
26589 "DELETE" : {
4d47f125 26590 "description" : "Destroy pool",
44660702 26591 "method" : "DELETE",
4d47f125 26592 "name" : "destroypool",
44660702
DM
26593 "parameters" : {
26594 "additionalProperties" : 0,
26595 "properties" : {
4d47f125 26596 "force" : {
44660702 26597 "default" : 0,
4d47f125 26598 "description" : "If true, destroys pool even if in use",
44660702 26599 "optional" : 1,
013dc89f
DM
26600 "type" : "boolean",
26601 "typetext" : "<boolean>"
7aacca6f 26602 },
4d47f125
TL
26603 "name" : {
26604 "description" : "The name of the pool. It must be unique.",
26605 "type" : "string",
26606 "typetext" : "<string>"
26607 },
44660702
DM
26608 "node" : {
26609 "description" : "The cluster node name.",
26610 "format" : "pve-node",
013dc89f
DM
26611 "type" : "string",
26612 "typetext" : "<string>"
56122987 26613 },
4d47f125
TL
26614 "remove_storages" : {
26615 "default" : 0,
26616 "description" : "Remove all pveceph-managed storages configured for this pool",
26617 "optional" : 1,
26618 "type" : "boolean",
26619 "typetext" : "<boolean>"
44660702 26620 }
56122987
DM
26621 }
26622 },
4d47f125
TL
26623 "permissions" : {
26624 "check" : [
26625 "perm",
26626 "/",
26627 [
26628 "Sys.Modify"
26629 ]
26630 ]
26631 },
44660702
DM
26632 "protected" : 1,
26633 "proxyto" : "node",
26634 "returns" : {
26635 "type" : "string"
26636 }
26637 }
26638 },
4d47f125
TL
26639 "leaf" : 1,
26640 "path" : "/nodes/{node}/ceph/pools/{name}",
26641 "text" : "{name}"
44660702
DM
26642 }
26643 ],
26644 "info" : {
26645 "GET" : {
4d47f125 26646 "description" : "List all pools.",
44660702 26647 "method" : "GET",
4d47f125 26648 "name" : "lspools",
44660702
DM
26649 "parameters" : {
26650 "additionalProperties" : 0,
26651 "properties" : {
26652 "node" : {
26653 "description" : "The cluster node name.",
26654 "format" : "pve-node",
013dc89f
DM
26655 "type" : "string",
26656 "typetext" : "<string>"
44660702
DM
26657 }
26658 }
26659 },
26660 "permissions" : {
26661 "check" : [
26662 "perm",
26663 "/",
26664 [
26665 "Sys.Audit",
26666 "Datastore.Audit"
26667 ],
26668 "any",
26669 1
26670 ]
26671 },
26672 "protected" : 1,
26673 "proxyto" : "node",
26674 "returns" : {
4d47f125
TL
26675 "items" : {
26676 "properties" : {
26677 "pool" : {
26678 "type" : "integer"
26679 },
26680 "pool_name" : {
26681 "type" : "string"
26682 },
26683 "size" : {
26684 "type" : "integer"
26685 }
26686 },
26687 "type" : "object"
26688 },
26689 "links" : [
26690 {
26691 "href" : "{pool_name}",
26692 "rel" : "child"
26693 }
26694 ],
26695 "type" : "array"
44660702
DM
26696 }
26697 },
26698 "POST" : {
4d47f125 26699 "description" : "Create POOL",
44660702 26700 "method" : "POST",
4d47f125 26701 "name" : "createpool",
44660702
DM
26702 "parameters" : {
26703 "additionalProperties" : 0,
26704 "properties" : {
4d47f125 26705 "add_storages" : {
e2d681b3 26706 "description" : "Configure VM and CT storage using the new pool.",
5d9c884c
DM
26707 "optional" : 1,
26708 "type" : "boolean",
26709 "typetext" : "<boolean>"
26710 },
4d47f125
TL
26711 "application" : {
26712 "description" : "The application of the pool, 'rbd' by default.",
44660702 26713 "enum" : [
4d47f125
TL
26714 "rbd",
26715 "cephfs",
26716 "rgw"
44660702
DM
26717 ],
26718 "optional" : 1,
26719 "type" : "string"
26720 },
4d47f125
TL
26721 "crush_rule" : {
26722 "description" : "The rule to use for mapping object placement in the cluster.",
26723 "optional" : 1,
26724 "type" : "string",
26725 "typetext" : "<string>"
26726 },
26727 "min_size" : {
26728 "default" : 2,
26729 "description" : "Minimum number of replicas per object",
26730 "maximum" : 7,
26731 "minimum" : 1,
44660702 26732 "optional" : 1,
4d47f125
TL
26733 "type" : "integer",
26734 "typetext" : "<integer> (1 - 7)"
26735 },
26736 "name" : {
26737 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
26738 "type" : "string",
26739 "typetext" : "<string>"
44660702
DM
26740 },
26741 "node" : {
26742 "description" : "The cluster node name.",
26743 "format" : "pve-node",
013dc89f
DM
26744 "type" : "string",
26745 "typetext" : "<string>"
2489d6df 26746 },
4d47f125 26747 "pg_num" : {
e2d681b3 26748 "default" : 128,
4d47f125
TL
26749 "description" : "Number of placement groups.",
26750 "maximum" : 32768,
26751 "minimum" : 8,
2489d6df 26752 "optional" : 1,
4d47f125
TL
26753 "type" : "integer",
26754 "typetext" : "<integer> (8 - 32768)"
26755 },
26756 "size" : {
26757 "default" : 3,
26758 "description" : "Number of replicas per object",
26759 "maximum" : 7,
26760 "minimum" : 1,
26761 "optional" : 1,
26762 "type" : "integer",
26763 "typetext" : "<integer> (1 - 7)"
44660702 26764 }
56122987 26765 }
44660702 26766 },
4d47f125
TL
26767 "permissions" : {
26768 "check" : [
26769 "perm",
26770 "/",
26771 [
26772 "Sys.Modify"
26773 ]
26774 ]
26775 },
44660702
DM
26776 "protected" : 1,
26777 "proxyto" : "node",
26778 "returns" : {
26779 "type" : "string"
26780 }
56122987 26781 }
44660702 26782 },
7aacca6f 26783 "leaf" : 0,
4d47f125
TL
26784 "path" : "/nodes/{node}/ceph/pools",
26785 "text" : "pools"
7aacca6f
DM
26786 },
26787 {
4d47f125
TL
26788 "children" : [
26789 {
26790 "info" : {
26791 "DELETE" : {
26792 "description" : "Unset a ceph flag",
26793 "method" : "DELETE",
26794 "name" : "unset_flag",
26795 "parameters" : {
26796 "additionalProperties" : 0,
26797 "properties" : {
26798 "flag" : {
26799 "description" : "The ceph flag to set/unset",
26800 "enum" : [
26801 "full",
26802 "pause",
26803 "noup",
26804 "nodown",
26805 "noout",
26806 "noin",
26807 "nobackfill",
26808 "norebalance",
26809 "norecover",
26810 "noscrub",
26811 "nodeep-scrub",
26812 "notieragent"
26813 ],
26814 "type" : "string"
26815 },
26816 "node" : {
26817 "description" : "The cluster node name.",
26818 "format" : "pve-node",
26819 "type" : "string",
26820 "typetext" : "<string>"
26821 }
26822 }
26823 },
26824 "permissions" : {
26825 "check" : [
26826 "perm",
26827 "/",
26828 [
26829 "Sys.Modify"
26830 ]
26831 ]
26832 },
26833 "protected" : 1,
26834 "proxyto" : "node",
26835 "returns" : {
26836 "type" : "null"
26837 }
26838 },
26839 "POST" : {
26840 "description" : "Set a ceph flag",
26841 "method" : "POST",
26842 "name" : "set_flag",
26843 "parameters" : {
26844 "additionalProperties" : 0,
26845 "properties" : {
26846 "flag" : {
26847 "description" : "The ceph flag to set/unset",
26848 "enum" : [
26849 "full",
26850 "pause",
26851 "noup",
26852 "nodown",
26853 "noout",
26854 "noin",
26855 "nobackfill",
26856 "norebalance",
26857 "norecover",
26858 "noscrub",
26859 "nodeep-scrub",
26860 "notieragent"
26861 ],
26862 "type" : "string"
26863 },
26864 "node" : {
26865 "description" : "The cluster node name.",
26866 "format" : "pve-node",
26867 "type" : "string",
26868 "typetext" : "<string>"
26869 }
26870 }
26871 },
26872 "permissions" : {
26873 "check" : [
26874 "perm",
26875 "/",
26876 [
26877 "Sys.Modify"
26878 ]
26879 ]
26880 },
26881 "protected" : 1,
26882 "proxyto" : "node",
26883 "returns" : {
26884 "type" : "null"
26885 }
26886 }
26887 },
26888 "leaf" : 1,
26889 "path" : "/nodes/{node}/ceph/flags/{flag}",
26890 "text" : "{flag}"
26891 }
26892 ],
56122987
DM
26893 "info" : {
26894 "GET" : {
4d47f125 26895 "description" : "get all set ceph flags",
44660702 26896 "method" : "GET",
4d47f125 26897 "name" : "get_flags",
44660702
DM
26898 "parameters" : {
26899 "additionalProperties" : 0,
26900 "properties" : {
26901 "node" : {
26902 "description" : "The cluster node name.",
26903 "format" : "pve-node",
013dc89f
DM
26904 "type" : "string",
26905 "typetext" : "<string>"
44660702
DM
26906 }
26907 }
26908 },
56122987
DM
26909 "permissions" : {
26910 "check" : [
26911 "perm",
26912 "/",
26913 [
4d47f125
TL
26914 "Sys.Audit"
26915 ]
56122987 26916 ]
4d47f125
TL
26917 },
26918 "protected" : 1,
26919 "proxyto" : "node",
26920 "returns" : {
26921 "type" : "string"
44660702 26922 }
56122987 26923 }
44660702 26924 },
4d47f125
TL
26925 "leaf" : 0,
26926 "path" : "/nodes/{node}/ceph/flags",
26927 "text" : "flags"
56122987
DM
26928 },
26929 {
56122987
DM
26930 "info" : {
26931 "GET" : {
4d47f125 26932 "description" : "Get OSD crush map",
44660702 26933 "method" : "GET",
4d47f125 26934 "name" : "crush",
56122987 26935 "parameters" : {
7aacca6f 26936 "additionalProperties" : 0,
56122987 26937 "properties" : {
56122987 26938 "node" : {
7aacca6f 26939 "description" : "The cluster node name.",
44660702 26940 "format" : "pve-node",
013dc89f
DM
26941 "type" : "string",
26942 "typetext" : "<string>"
56122987 26943 }
7aacca6f 26944 }
56122987 26945 },
56122987
DM
26946 "permissions" : {
26947 "check" : [
26948 "perm",
26949 "/",
26950 [
26951 "Sys.Audit",
26952 "Datastore.Audit"
26953 ],
26954 "any",
26955 1
26956 ]
44660702 26957 },
4d47f125
TL
26958 "protected" : 1,
26959 "proxyto" : "node",
44660702
DM
26960 "returns" : {
26961 "type" : "string"
7aacca6f
DM
26962 }
26963 }
44660702
DM
26964 },
26965 "leaf" : 1,
4d47f125
TL
26966 "path" : "/nodes/{node}/ceph/crush",
26967 "text" : "crush"
7aacca6f
DM
26968 },
26969 {
7aacca6f
DM
26970 "info" : {
26971 "GET" : {
4d47f125 26972 "description" : "Read ceph log",
7aacca6f 26973 "method" : "GET",
4d47f125 26974 "name" : "log",
7aacca6f
DM
26975 "parameters" : {
26976 "additionalProperties" : 0,
26977 "properties" : {
4d47f125
TL
26978 "limit" : {
26979 "minimum" : 0,
26980 "optional" : 1,
26981 "type" : "integer",
26982 "typetext" : "<integer> (0 - N)"
26983 },
7aacca6f 26984 "node" : {
7aacca6f 26985 "description" : "The cluster node name.",
44660702 26986 "format" : "pve-node",
013dc89f
DM
26987 "type" : "string",
26988 "typetext" : "<string>"
4d47f125
TL
26989 },
26990 "start" : {
26991 "minimum" : 0,
26992 "optional" : 1,
26993 "type" : "integer",
26994 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
26995 }
26996 }
26997 },
44660702
DM
26998 "permissions" : {
26999 "check" : [
27000 "perm",
4d47f125 27001 "/nodes/{node}",
44660702 27002 [
4d47f125
TL
27003 "Sys.Syslog"
27004 ]
44660702
DM
27005 ]
27006 },
7aacca6f 27007 "protected" : 1,
44660702 27008 "proxyto" : "node",
7aacca6f
DM
27009 "returns" : {
27010 "items" : {
27011 "properties" : {
4d47f125
TL
27012 "n" : {
27013 "description" : "Line number",
27014 "type" : "integer"
56122987 27015 },
4d47f125
TL
27016 "t" : {
27017 "description" : "Line text",
56122987
DM
27018 "type" : "string"
27019 }
7aacca6f
DM
27020 },
27021 "type" : "object"
56122987
DM
27022 },
27023 "type" : "array"
44660702 27024 }
4d47f125
TL
27025 }
27026 },
27027 "leaf" : 1,
27028 "path" : "/nodes/{node}/ceph/log",
27029 "text" : "log"
27030 },
27031 {
27032 "info" : {
27033 "GET" : {
27034 "description" : "List ceph rules.",
27035 "method" : "GET",
27036 "name" : "rules",
44660702
DM
27037 "parameters" : {
27038 "additionalProperties" : 0,
27039 "properties" : {
27040 "node" : {
27041 "description" : "The cluster node name.",
27042 "format" : "pve-node",
013dc89f
DM
27043 "type" : "string",
27044 "typetext" : "<string>"
44660702
DM
27045 }
27046 }
27047 },
7aacca6f
DM
27048 "permissions" : {
27049 "check" : [
27050 "perm",
27051 "/",
27052 [
4d47f125
TL
27053 "Sys.Audit",
27054 "Datastore.Audit"
27055 ],
27056 "any",
27057 1
7aacca6f
DM
27058 ]
27059 },
44660702 27060 "protected" : 1,
7aacca6f 27061 "proxyto" : "node",
56122987 27062 "returns" : {
4d47f125
TL
27063 "items" : {
27064 "properties" : {},
27065 "type" : "object"
27066 },
27067 "links" : [
27068 {
27069 "href" : "{name}",
27070 "rel" : "child"
27071 }
27072 ],
27073 "type" : "array"
44660702 27074 }
56122987 27075 }
44660702 27076 },
4d47f125
TL
27077 "leaf" : 1,
27078 "path" : "/nodes/{node}/ceph/rules",
27079 "text" : "rules"
27080 }
27081 ],
27082 "info" : {
27083 "GET" : {
27084 "description" : "Directory index.",
27085 "method" : "GET",
27086 "name" : "index",
27087 "parameters" : {
27088 "additionalProperties" : 0,
27089 "properties" : {
27090 "node" : {
27091 "description" : "The cluster node name.",
27092 "format" : "pve-node",
27093 "type" : "string",
27094 "typetext" : "<string>"
27095 }
27096 }
27097 },
27098 "permissions" : {
27099 "check" : [
27100 "perm",
27101 "/",
27102 [
27103 "Sys.Audit",
27104 "Datastore.Audit"
27105 ],
27106 "any",
27107 1
27108 ]
27109 },
27110 "returns" : {
27111 "items" : {
27112 "properties" : {},
27113 "type" : "object"
27114 },
27115 "links" : [
27116 {
27117 "href" : "{name}",
27118 "rel" : "child"
27119 }
27120 ],
27121 "type" : "array"
27122 }
27123 }
27124 },
27125 "leaf" : 0,
27126 "path" : "/nodes/{node}/ceph",
27127 "text" : "ceph"
27128 },
27129 {
27130 "children" : [
56122987
DM
27131 {
27132 "info" : {
4d47f125
TL
27133 "GET" : {
27134 "description" : "Extract configuration from vzdump backup archive.",
27135 "method" : "GET",
27136 "name" : "extractconfig",
27137 "parameters" : {
27138 "additionalProperties" : 0,
27139 "properties" : {
44660702
DM
27140 "node" : {
27141 "description" : "The cluster node name.",
27142 "format" : "pve-node",
013dc89f
DM
27143 "type" : "string",
27144 "typetext" : "<string>"
44660702 27145 },
4d47f125
TL
27146 "volume" : {
27147 "description" : "Volume identifier",
27148 "type" : "string",
27149 "typetext" : "<string>"
44660702
DM
27150 }
27151 }
7aacca6f 27152 },
56122987 27153 "permissions" : {
4d47f125
TL
27154 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
27155 "user" : "all"
56122987 27156 },
7aacca6f 27157 "protected" : 1,
44660702
DM
27158 "proxyto" : "node",
27159 "returns" : {
4d47f125 27160 "type" : "string"
7aacca6f
DM
27161 }
27162 }
27163 },
7aacca6f 27164 "leaf" : 1,
4d47f125
TL
27165 "path" : "/nodes/{node}/vzdump/extractconfig",
27166 "text" : "extractconfig"
27167 }
27168 ],
27169 "info" : {
27170 "POST" : {
27171 "description" : "Create backup.",
27172 "method" : "POST",
27173 "name" : "vzdump",
27174 "parameters" : {
27175 "additionalProperties" : 0,
27176 "properties" : {
27177 "all" : {
27178 "default" : 0,
27179 "description" : "Backup all known guest systems on this host.",
27180 "optional" : 1,
27181 "type" : "boolean",
27182 "typetext" : "<boolean>"
27183 },
27184 "bwlimit" : {
27185 "default" : 0,
27186 "description" : "Limit I/O bandwidth (KBytes per second).",
27187 "minimum" : 0,
27188 "optional" : 1,
27189 "type" : "integer",
27190 "typetext" : "<integer> (0 - N)"
27191 },
27192 "compress" : {
27193 "default" : "0",
27194 "description" : "Compress dump file.",
27195 "enum" : [
27196 "0",
27197 "1",
27198 "gzip",
27199 "lzo"
27200 ],
27201 "optional" : 1,
27202 "type" : "string"
27203 },
27204 "dumpdir" : {
27205 "description" : "Store resulting files to specified directory.",
27206 "optional" : 1,
27207 "type" : "string",
27208 "typetext" : "<string>"
27209 },
27210 "exclude" : {
27211 "description" : "Exclude specified guest systems (assumes --all)",
27212 "format" : "pve-vmid-list",
27213 "optional" : 1,
27214 "type" : "string",
27215 "typetext" : "<string>"
27216 },
27217 "exclude-path" : {
27218 "description" : "Exclude certain files/directories (shell globs).",
27219 "format" : "string-alist",
27220 "optional" : 1,
27221 "type" : "string",
27222 "typetext" : "<string>"
27223 },
27224 "ionice" : {
27225 "default" : 7,
27226 "description" : "Set CFQ ionice priority.",
27227 "maximum" : 8,
27228 "minimum" : 0,
27229 "optional" : 1,
27230 "type" : "integer",
27231 "typetext" : "<integer> (0 - 8)"
27232 },
27233 "lockwait" : {
27234 "default" : 180,
27235 "description" : "Maximal time to wait for the global lock (minutes).",
27236 "minimum" : 0,
27237 "optional" : 1,
27238 "type" : "integer",
27239 "typetext" : "<integer> (0 - N)"
27240 },
27241 "mailnotification" : {
27242 "default" : "always",
27243 "description" : "Specify when to send an email",
27244 "enum" : [
27245 "always",
27246 "failure"
27247 ],
27248 "optional" : 1,
27249 "type" : "string"
27250 },
27251 "mailto" : {
27252 "description" : "Comma-separated list of email addresses that should receive email notifications.",
27253 "format" : "string-list",
27254 "optional" : 1,
27255 "type" : "string",
27256 "typetext" : "<string>"
27257 },
27258 "maxfiles" : {
27259 "default" : 1,
27260 "description" : "Maximal number of backup files per guest system.",
27261 "minimum" : 1,
27262 "optional" : 1,
27263 "type" : "integer",
27264 "typetext" : "<integer> (1 - N)"
27265 },
27266 "mode" : {
27267 "default" : "snapshot",
27268 "description" : "Backup mode.",
27269 "enum" : [
27270 "snapshot",
27271 "suspend",
27272 "stop"
27273 ],
27274 "optional" : 1,
27275 "type" : "string"
27276 },
27277 "node" : {
27278 "description" : "Only run if executed on this node.",
27279 "format" : "pve-node",
27280 "optional" : 1,
27281 "type" : "string",
27282 "typetext" : "<string>"
27283 },
27284 "pigz" : {
27285 "default" : 0,
27286 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
27287 "optional" : 1,
27288 "type" : "integer",
27289 "typetext" : "<integer>"
27290 },
9226ccbc
TL
27291 "pool" : {
27292 "description" : "Backup all known guest systems included in the specified pool.",
27293 "optional" : 1,
27294 "type" : "string",
27295 "typetext" : "<string>"
27296 },
4d47f125
TL
27297 "quiet" : {
27298 "default" : 0,
27299 "description" : "Be quiet.",
27300 "optional" : 1,
27301 "type" : "boolean",
27302 "typetext" : "<boolean>"
27303 },
27304 "remove" : {
27305 "default" : 1,
27306 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
27307 "optional" : 1,
27308 "type" : "boolean",
27309 "typetext" : "<boolean>"
27310 },
27311 "script" : {
27312 "description" : "Use specified hook script.",
27313 "optional" : 1,
27314 "type" : "string",
27315 "typetext" : "<string>"
27316 },
27317 "size" : {
27318 "default" : 1024,
27319 "description" : "Unused, will be removed in a future release.",
27320 "minimum" : 500,
27321 "optional" : 1,
27322 "type" : "integer",
27323 "typetext" : "<integer> (500 - N)"
27324 },
27325 "stdexcludes" : {
27326 "default" : 1,
27327 "description" : "Exclude temporary files and logs.",
27328 "optional" : 1,
27329 "type" : "boolean",
27330 "typetext" : "<boolean>"
27331 },
27332 "stdout" : {
27333 "description" : "Write tar to stdout, not to a file.",
27334 "optional" : 1,
27335 "type" : "boolean",
27336 "typetext" : "<boolean>"
27337 },
27338 "stop" : {
27339 "default" : 0,
1e3f8156 27340 "description" : "Stop running backup jobs on this host.",
4d47f125
TL
27341 "optional" : 1,
27342 "type" : "boolean",
27343 "typetext" : "<boolean>"
27344 },
27345 "stopwait" : {
27346 "default" : 10,
27347 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
27348 "minimum" : 0,
27349 "optional" : 1,
27350 "type" : "integer",
27351 "typetext" : "<integer> (0 - N)"
27352 },
27353 "storage" : {
27354 "description" : "Store resulting file to this storage.",
27355 "format" : "pve-storage-id",
27356 "optional" : 1,
27357 "type" : "string",
27358 "typetext" : "<string>"
27359 },
27360 "tmpdir" : {
27361 "description" : "Store temporary files to specified directory.",
27362 "optional" : 1,
27363 "type" : "string",
27364 "typetext" : "<string>"
27365 },
27366 "vmid" : {
27367 "description" : "The ID of the guest system you want to backup.",
27368 "format" : "pve-vmid-list",
27369 "optional" : 1,
27370 "type" : "string",
27371 "typetext" : "<string>"
27372 }
27373 }
27374 },
27375 "permissions" : {
27376 "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.",
27377 "user" : "all"
27378 },
27379 "protected" : 1,
27380 "proxyto" : "node",
27381 "returns" : {
27382 "type" : "string"
27383 }
27384 }
27385 },
27386 "leaf" : 0,
27387 "path" : "/nodes/{node}/vzdump",
27388 "text" : "vzdump"
27389 },
27390 {
27391 "children" : [
2489d6df
WB
27392 {
27393 "children" : [
27394 {
27395 "info" : {
4d47f125
TL
27396 "GET" : {
27397 "description" : "Read service properties",
27398 "method" : "GET",
27399 "name" : "service_state",
2489d6df
WB
27400 "parameters" : {
27401 "additionalProperties" : 0,
27402 "properties" : {
2489d6df
WB
27403 "node" : {
27404 "description" : "The cluster node name.",
27405 "format" : "pve-node",
27406 "type" : "string",
27407 "typetext" : "<string>"
4d47f125
TL
27408 },
27409 "service" : {
27410 "description" : "Service ID",
27411 "enum" : [
27412 "pveproxy",
27413 "pvedaemon",
27414 "spiceproxy",
27415 "pvestatd",
27416 "pve-cluster",
27417 "corosync",
27418 "pve-firewall",
27419 "pvefw-logger",
27420 "pve-ha-crm",
27421 "pve-ha-lrm",
27422 "sshd",
27423 "syslog",
27424 "cron",
27425 "postfix",
27426 "ksmtuned",
27427 "systemd-timesyncd"
27428 ],
27429 "type" : "string"
2489d6df
WB
27430 }
27431 }
27432 },
27433 "permissions" : {
27434 "check" : [
27435 "perm",
4d47f125 27436 "/nodes/{node}",
2489d6df 27437 [
4d47f125 27438 "Sys.Audit"
2489d6df
WB
27439 ]
27440 ]
27441 },
27442 "protected" : 1,
27443 "proxyto" : "node",
27444 "returns" : {
4d47f125 27445 "type" : "object"
2489d6df
WB
27446 }
27447 }
27448 },
27449 "leaf" : 1,
4d47f125
TL
27450 "path" : "/nodes/{node}/services/{service}/state",
27451 "text" : "state"
27452 },
27453 {
27454 "info" : {
27455 "POST" : {
27456 "description" : "Start service.",
27457 "method" : "POST",
27458 "name" : "service_start",
27459 "parameters" : {
27460 "additionalProperties" : 0,
27461 "properties" : {
27462 "node" : {
27463 "description" : "The cluster node name.",
27464 "format" : "pve-node",
27465 "type" : "string",
27466 "typetext" : "<string>"
27467 },
27468 "service" : {
27469 "description" : "Service ID",
27470 "enum" : [
27471 "pveproxy",
27472 "pvedaemon",
27473 "spiceproxy",
27474 "pvestatd",
27475 "pve-cluster",
27476 "corosync",
27477 "pve-firewall",
27478 "pvefw-logger",
27479 "pve-ha-crm",
27480 "pve-ha-lrm",
27481 "sshd",
27482 "syslog",
27483 "cron",
27484 "postfix",
27485 "ksmtuned",
27486 "systemd-timesyncd"
27487 ],
27488 "type" : "string"
27489 }
27490 }
7aacca6f 27491 },
4d47f125
TL
27492 "permissions" : {
27493 "check" : [
27494 "perm",
27495 "/nodes/{node}",
27496 [
27497 "Sys.Modify"
27498 ]
27499 ]
7aacca6f 27500 },
4d47f125
TL
27501 "protected" : 1,
27502 "proxyto" : "node",
27503 "returns" : {
27504 "type" : "string"
27505 }
27506 }
56122987 27507 },
4d47f125
TL
27508 "leaf" : 1,
27509 "path" : "/nodes/{node}/services/{service}/start",
27510 "text" : "start"
27511 },
44660702
DM
27512 {
27513 "info" : {
4d47f125
TL
27514 "POST" : {
27515 "description" : "Stop service.",
27516 "method" : "POST",
27517 "name" : "service_stop",
44660702
DM
27518 "parameters" : {
27519 "additionalProperties" : 0,
27520 "properties" : {
44660702
DM
27521 "node" : {
27522 "description" : "The cluster node name.",
27523 "format" : "pve-node",
013dc89f
DM
27524 "type" : "string",
27525 "typetext" : "<string>"
2489d6df 27526 },
4d47f125
TL
27527 "service" : {
27528 "description" : "Service ID",
27529 "enum" : [
27530 "pveproxy",
27531 "pvedaemon",
27532 "spiceproxy",
27533 "pvestatd",
27534 "pve-cluster",
27535 "corosync",
27536 "pve-firewall",
27537 "pvefw-logger",
27538 "pve-ha-crm",
27539 "pve-ha-lrm",
27540 "sshd",
27541 "syslog",
27542 "cron",
27543 "postfix",
27544 "ksmtuned",
27545 "systemd-timesyncd"
27546 ],
27547 "type" : "string"
44660702
DM
27548 }
27549 }
27550 },
27551 "permissions" : {
27552 "check" : [
27553 "perm",
4d47f125 27554 "/nodes/{node}",
44660702
DM
27555 [
27556 "Sys.Modify"
27557 ]
27558 ]
27559 },
27560 "protected" : 1,
27561 "proxyto" : "node",
27562 "returns" : {
2489d6df 27563 "type" : "string"
44660702
DM
27564 }
27565 }
27566 },
27567 "leaf" : 1,
4d47f125
TL
27568 "path" : "/nodes/{node}/services/{service}/stop",
27569 "text" : "stop"
7aacca6f 27570 },
32d876b5
DM
27571 {
27572 "info" : {
4d47f125
TL
27573 "POST" : {
27574 "description" : "Restart service.",
27575 "method" : "POST",
27576 "name" : "service_restart",
32d876b5
DM
27577 "parameters" : {
27578 "additionalProperties" : 0,
27579 "properties" : {
4d47f125
TL
27580 "node" : {
27581 "description" : "The cluster node name.",
27582 "format" : "pve-node",
27583 "type" : "string",
27584 "typetext" : "<string>"
27585 },
27586 "service" : {
27587 "description" : "Service ID",
32d876b5 27588 "enum" : [
4d47f125
TL
27589 "pveproxy",
27590 "pvedaemon",
27591 "spiceproxy",
27592 "pvestatd",
27593 "pve-cluster",
27594 "corosync",
27595 "pve-firewall",
27596 "pvefw-logger",
27597 "pve-ha-crm",
27598 "pve-ha-lrm",
27599 "sshd",
27600 "syslog",
27601 "cron",
27602 "postfix",
27603 "ksmtuned",
27604 "systemd-timesyncd"
32d876b5
DM
27605 ],
27606 "type" : "string"
32d876b5
DM
27607 }
27608 }
27609 },
27610 "permissions" : {
27611 "check" : [
27612 "perm",
4d47f125 27613 "/nodes/{node}",
32d876b5
DM
27614 [
27615 "Sys.Modify"
27616 ]
27617 ]
27618 },
27619 "protected" : 1,
27620 "proxyto" : "node",
27621 "returns" : {
4d47f125 27622 "type" : "string"
32d876b5 27623 }
4d47f125
TL
27624 }
27625 },
27626 "leaf" : 1,
27627 "path" : "/nodes/{node}/services/{service}/restart",
27628 "text" : "restart"
27629 },
27630 {
27631 "info" : {
32d876b5 27632 "POST" : {
4d47f125 27633 "description" : "Reload service.",
32d876b5 27634 "method" : "POST",
4d47f125 27635 "name" : "service_reload",
32d876b5
DM
27636 "parameters" : {
27637 "additionalProperties" : 0,
27638 "properties" : {
32d876b5
DM
27639 "node" : {
27640 "description" : "The cluster node name.",
27641 "format" : "pve-node",
27642 "type" : "string",
27643 "typetext" : "<string>"
4d47f125
TL
27644 },
27645 "service" : {
27646 "description" : "Service ID",
27647 "enum" : [
27648 "pveproxy",
27649 "pvedaemon",
27650 "spiceproxy",
27651 "pvestatd",
27652 "pve-cluster",
27653 "corosync",
27654 "pve-firewall",
27655 "pvefw-logger",
27656 "pve-ha-crm",
27657 "pve-ha-lrm",
27658 "sshd",
27659 "syslog",
27660 "cron",
27661 "postfix",
27662 "ksmtuned",
27663 "systemd-timesyncd"
27664 ],
27665 "type" : "string"
32d876b5
DM
27666 }
27667 }
27668 },
27669 "permissions" : {
27670 "check" : [
27671 "perm",
4d47f125 27672 "/nodes/{node}",
32d876b5
DM
27673 [
27674 "Sys.Modify"
27675 ]
27676 ]
27677 },
27678 "protected" : 1,
27679 "proxyto" : "node",
27680 "returns" : {
4d47f125 27681 "type" : "string"
32d876b5
DM
27682 }
27683 }
27684 },
27685 "leaf" : 1,
4d47f125
TL
27686 "path" : "/nodes/{node}/services/{service}/reload",
27687 "text" : "reload"
32d876b5
DM
27688 }
27689 ],
27690 "info" : {
27691 "GET" : {
4d47f125 27692 "description" : "Directory index",
44660702 27693 "method" : "GET",
4d47f125 27694 "name" : "srvcmdidx",
44660702
DM
27695 "parameters" : {
27696 "additionalProperties" : 0,
27697 "properties" : {
44660702
DM
27698 "node" : {
27699 "description" : "The cluster node name.",
27700 "format" : "pve-node",
013dc89f
DM
27701 "type" : "string",
27702 "typetext" : "<string>"
44660702 27703 },
4d47f125
TL
27704 "service" : {
27705 "description" : "Service ID",
27706 "enum" : [
27707 "pveproxy",
27708 "pvedaemon",
27709 "spiceproxy",
27710 "pvestatd",
27711 "pve-cluster",
27712 "corosync",
27713 "pve-firewall",
27714 "pvefw-logger",
27715 "pve-ha-crm",
27716 "pve-ha-lrm",
27717 "sshd",
27718 "syslog",
27719 "cron",
27720 "postfix",
27721 "ksmtuned",
27722 "systemd-timesyncd"
27723 ],
27724 "type" : "string"
44660702 27725 }
7aacca6f 27726 }
56122987 27727 },
56122987
DM
27728 "permissions" : {
27729 "check" : [
27730 "perm",
7aacca6f 27731 "/nodes/{node}",
56122987 27732 [
4d47f125 27733 "Sys.Audit"
56122987
DM
27734 ]
27735 ]
27736 },
44660702
DM
27737 "returns" : {
27738 "items" : {
27739 "properties" : {
4d47f125 27740 "subdir" : {
44660702
DM
27741 "type" : "string"
27742 }
56122987 27743 },
44660702 27744 "type" : "object"
56122987 27745 },
2489d6df
WB
27746 "links" : [
27747 {
4d47f125 27748 "href" : "{subdir}",
2489d6df
WB
27749 "rel" : "child"
27750 }
27751 ],
27752 "type" : "array"
27753 }
27754 }
4d47f125
TL
27755 },
27756 "leaf" : 0,
27757 "path" : "/nodes/{node}/services/{service}",
27758 "text" : "{service}"
7aacca6f
DM
27759 }
27760 ],
44660702
DM
27761 "info" : {
27762 "GET" : {
4d47f125 27763 "description" : "Service list.",
44660702
DM
27764 "method" : "GET",
27765 "name" : "index",
27766 "parameters" : {
27767 "additionalProperties" : 0,
27768 "properties" : {
27769 "node" : {
27770 "description" : "The cluster node name.",
27771 "format" : "pve-node",
013dc89f
DM
27772 "type" : "string",
27773 "typetext" : "<string>"
44660702
DM
27774 }
27775 }
27776 },
27777 "permissions" : {
27778 "check" : [
27779 "perm",
4d47f125 27780 "/nodes/{node}",
44660702 27781 [
4d47f125
TL
27782 "Sys.Audit"
27783 ]
44660702
DM
27784 ]
27785 },
4d47f125
TL
27786 "protected" : 1,
27787 "proxyto" : "node",
44660702
DM
27788 "returns" : {
27789 "items" : {
27790 "properties" : {},
27791 "type" : "object"
27792 },
27793 "links" : [
27794 {
4d47f125 27795 "href" : "{service}",
44660702
DM
27796 "rel" : "child"
27797 }
27798 ],
27799 "type" : "array"
27800 }
27801 }
27802 },
7aacca6f 27803 "leaf" : 0,
4d47f125
TL
27804 "path" : "/nodes/{node}/services",
27805 "text" : "services"
7aacca6f
DM
27806 },
27807 {
7aacca6f 27808 "info" : {
4d47f125
TL
27809 "GET" : {
27810 "description" : "Read subscription info.",
27811 "method" : "GET",
27812 "name" : "get",
7aacca6f 27813 "parameters" : {
44660702 27814 "additionalProperties" : 0,
7aacca6f 27815 "properties" : {
44660702 27816 "node" : {
4d47f125 27817 "description" : "The cluster node name.",
44660702 27818 "format" : "pve-node",
013dc89f
DM
27819 "type" : "string",
27820 "typetext" : "<string>"
4d47f125
TL
27821 }
27822 }
27823 },
27824 "permissions" : {
27825 "user" : "all"
27826 },
27827 "proxyto" : "node",
27828 "returns" : {
27829 "type" : "object"
27830 }
27831 },
27832 "POST" : {
27833 "description" : "Update subscription info.",
27834 "method" : "POST",
27835 "name" : "update",
27836 "parameters" : {
27837 "additionalProperties" : 0,
27838 "properties" : {
27839 "force" : {
27840 "default" : 0,
27841 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 27842 "optional" : 1,
4d47f125
TL
27843 "type" : "boolean",
27844 "typetext" : "<boolean>"
44660702 27845 },
4d47f125
TL
27846 "node" : {
27847 "description" : "The cluster node name.",
27848 "format" : "pve-node",
013dc89f
DM
27849 "type" : "string",
27850 "typetext" : "<string>"
4d47f125
TL
27851 }
27852 }
27853 },
27854 "permissions" : {
27855 "check" : [
27856 "perm",
27857 "/nodes/{node}",
27858 [
27859 "Sys.Modify"
27860 ]
27861 ]
27862 },
27863 "protected" : 1,
27864 "proxyto" : "node",
27865 "returns" : {
27866 "type" : "null"
27867 }
27868 },
27869 "PUT" : {
27870 "description" : "Set subscription key.",
27871 "method" : "PUT",
27872 "name" : "set",
27873 "parameters" : {
27874 "additionalProperties" : 0,
27875 "properties" : {
27876 "key" : {
27877 "description" : "Proxmox VE subscription key",
27878 "maxLength" : 32,
5f26e15b 27879 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 27880 "type" : "string"
7aacca6f 27881 },
4d47f125
TL
27882 "node" : {
27883 "description" : "The cluster node name.",
27884 "format" : "pve-node",
013dc89f
DM
27885 "type" : "string",
27886 "typetext" : "<string>"
7aacca6f 27887 }
7aacca6f
DM
27888 }
27889 },
7aacca6f 27890 "permissions" : {
4d47f125
TL
27891 "check" : [
27892 "perm",
27893 "/nodes/{node}",
27894 [
27895 "Sys.Modify"
27896 ]
27897 ]
7aacca6f 27898 },
44660702 27899 "protected" : 1,
7aacca6f 27900 "proxyto" : "node",
7aacca6f 27901 "returns" : {
4d47f125 27902 "type" : "null"
7aacca6f
DM
27903 }
27904 }
27905 },
4d47f125
TL
27906 "leaf" : 1,
27907 "path" : "/nodes/{node}/subscription",
27908 "text" : "subscription"
44660702
DM
27909 },
27910 {
7aacca6f
DM
27911 "children" : [
27912 {
4d47f125
TL
27913 "info" : {
27914 "DELETE" : {
27915 "description" : "Delete network device configuration",
27916 "method" : "DELETE",
27917 "name" : "delete_network",
27918 "parameters" : {
27919 "additionalProperties" : 0,
27920 "properties" : {
27921 "iface" : {
27922 "description" : "Network interface name.",
27923 "format" : "pve-iface",
27924 "maxLength" : 20,
27925 "minLength" : 2,
27926 "type" : "string",
27927 "typetext" : "<string>"
7aacca6f 27928 },
4d47f125
TL
27929 "node" : {
27930 "description" : "The cluster node name.",
27931 "format" : "pve-node",
27932 "type" : "string",
27933 "typetext" : "<string>"
44660702
DM
27934 }
27935 }
27936 },
4d47f125
TL
27937 "permissions" : {
27938 "check" : [
27939 "perm",
27940 "/nodes/{node}",
27941 [
27942 "Sys.Modify"
27943 ]
27944 ]
27945 },
27946 "protected" : 1,
27947 "proxyto" : "node",
27948 "returns" : {
27949 "type" : "null"
27950 }
27951 },
27952 "GET" : {
27953 "description" : "Read network device configuration",
27954 "method" : "GET",
27955 "name" : "network_config",
27956 "parameters" : {
27957 "additionalProperties" : 0,
27958 "properties" : {
27959 "iface" : {
27960 "description" : "Network interface name.",
27961 "format" : "pve-iface",
27962 "maxLength" : 20,
27963 "minLength" : 2,
27964 "type" : "string",
27965 "typetext" : "<string>"
56122987 27966 },
4d47f125
TL
27967 "node" : {
27968 "description" : "The cluster node name.",
27969 "format" : "pve-node",
27970 "type" : "string",
27971 "typetext" : "<string>"
44660702
DM
27972 }
27973 }
27974 },
4d47f125
TL
27975 "permissions" : {
27976 "check" : [
27977 "perm",
27978 "/nodes/{node}",
27979 [
27980 "Sys.Audit"
27981 ]
27982 ]
27983 },
27984 "proxyto" : "node",
27985 "returns" : {
27986 "properties" : {
27987 "method" : {
27988 "type" : "string"
44660702 27989 },
4d47f125 27990 "type" : {
44660702
DM
27991 "type" : "string"
27992 }
4d47f125
TL
27993 },
27994 "type" : "object"
27995 }
56122987 27996 },
4d47f125
TL
27997 "PUT" : {
27998 "description" : "Update network device configuration",
27999 "method" : "PUT",
28000 "name" : "update_network",
28001 "parameters" : {
28002 "additionalProperties" : 0,
28003 "properties" : {
28004 "address" : {
28005 "description" : "IP address.",
28006 "format" : "ipv4",
28007 "optional" : 1,
28008 "requires" : "netmask",
28009 "type" : "string",
28010 "typetext" : "<string>"
28011 },
28012 "address6" : {
28013 "description" : "IP address.",
28014 "format" : "ipv6",
28015 "optional" : 1,
28016 "requires" : "netmask6",
28017 "type" : "string",
28018 "typetext" : "<string>"
28019 },
28020 "autostart" : {
28021 "description" : "Automatically start interface on boot.",
28022 "optional" : 1,
28023 "type" : "boolean",
28024 "typetext" : "<boolean>"
28025 },
28026 "bond_mode" : {
28027 "description" : "Bonding mode.",
28028 "enum" : [
28029 "balance-rr",
28030 "active-backup",
28031 "balance-xor",
28032 "broadcast",
28033 "802.3ad",
28034 "balance-tlb",
28035 "balance-alb",
28036 "balance-slb",
28037 "lacp-balance-slb",
28038 "lacp-balance-tcp"
28039 ],
28040 "optional" : 1,
28041 "type" : "string"
28042 },
28043 "bond_xmit_hash_policy" : {
28044 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
28045 "enum" : [
28046 "layer2",
28047 "layer2+3",
28048 "layer3+4"
28049 ],
28050 "optional" : 1,
28051 "type" : "string"
28052 },
28053 "bridge_ports" : {
1e3f8156 28054 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
28055 "format" : "pve-iface-list",
28056 "optional" : 1,
28057 "type" : "string",
28058 "typetext" : "<string>"
28059 },
28060 "bridge_vlan_aware" : {
28061 "description" : "Enable bridge vlan support.",
28062 "optional" : 1,
28063 "type" : "boolean",
28064 "typetext" : "<boolean>"
28065 },
bb4c8cf8
TL
28066 "cidr" : {
28067 "description" : "IPv4 CIDR.",
28068 "format" : "CIDRv4",
28069 "optional" : 1,
28070 "type" : "string",
28071 "typetext" : "<string>"
28072 },
28073 "cidr6" : {
28074 "description" : "IPv6 CIDR.",
28075 "format" : "CIDRv6",
28076 "optional" : 1,
28077 "type" : "string",
28078 "typetext" : "<string>"
28079 },
4d47f125
TL
28080 "comments" : {
28081 "description" : "Comments",
28082 "optional" : 1,
28083 "type" : "string",
28084 "typetext" : "<string>"
28085 },
28086 "comments6" : {
28087 "description" : "Comments",
28088 "optional" : 1,
28089 "type" : "string",
28090 "typetext" : "<string>"
28091 },
28092 "delete" : {
28093 "description" : "A list of settings you want to delete.",
28094 "format" : "pve-configid-list",
28095 "optional" : 1,
28096 "type" : "string",
28097 "typetext" : "<string>"
28098 },
28099 "gateway" : {
28100 "description" : "Default gateway address.",
28101 "format" : "ipv4",
28102 "optional" : 1,
28103 "type" : "string",
28104 "typetext" : "<string>"
28105 },
28106 "gateway6" : {
28107 "description" : "Default ipv6 gateway address.",
28108 "format" : "ipv6",
28109 "optional" : 1,
28110 "type" : "string",
28111 "typetext" : "<string>"
28112 },
28113 "iface" : {
28114 "description" : "Network interface name.",
28115 "format" : "pve-iface",
28116 "maxLength" : 20,
28117 "minLength" : 2,
28118 "type" : "string",
28119 "typetext" : "<string>"
56122987 28120 },
4d47f125
TL
28121 "netmask" : {
28122 "description" : "Network mask.",
28123 "format" : "ipv4mask",
28124 "optional" : 1,
28125 "requires" : "address",
28126 "type" : "string",
28127 "typetext" : "<string>"
28128 },
28129 "netmask6" : {
28130 "description" : "Network mask.",
28131 "maximum" : 128,
28132 "minimum" : 0,
28133 "optional" : 1,
28134 "requires" : "address6",
28135 "type" : "integer",
28136 "typetext" : "<integer> (0 - 128)"
56122987 28137 },
44660702
DM
28138 "node" : {
28139 "description" : "The cluster node name.",
28140 "format" : "pve-node",
013dc89f
DM
28141 "type" : "string",
28142 "typetext" : "<string>"
44660702 28143 },
4d47f125
TL
28144 "ovs_bonds" : {
28145 "description" : "Specify the interfaces used by the bonding device.",
28146 "format" : "pve-iface-list",
28147 "optional" : 1,
28148 "type" : "string",
28149 "typetext" : "<string>"
28150 },
28151 "ovs_bridge" : {
28152 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
28153 "format" : "pve-iface",
28154 "optional" : 1,
28155 "type" : "string",
28156 "typetext" : "<string>"
28157 },
28158 "ovs_options" : {
28159 "description" : "OVS interface options.",
28160 "maxLength" : 1024,
28161 "optional" : 1,
28162 "type" : "string",
28163 "typetext" : "<string>"
28164 },
28165 "ovs_ports" : {
1e3f8156 28166 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
28167 "format" : "pve-iface-list",
28168 "optional" : 1,
28169 "type" : "string",
28170 "typetext" : "<string>"
28171 },
28172 "ovs_tag" : {
28173 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
28174 "maximum" : 4094,
28175 "minimum" : 1,
28176 "optional" : 1,
28177 "type" : "integer",
28178 "typetext" : "<integer> (1 - 4094)"
28179 },
28180 "slaves" : {
28181 "description" : "Specify the interfaces used by the bonding device.",
28182 "format" : "pve-iface-list",
28183 "optional" : 1,
28184 "type" : "string",
28185 "typetext" : "<string>"
28186 },
28187 "type" : {
28188 "description" : "Network interface type",
44660702 28189 "enum" : [
4d47f125
TL
28190 "bridge",
28191 "bond",
28192 "eth",
28193 "alias",
28194 "vlan",
28195 "OVSBridge",
28196 "OVSBond",
28197 "OVSPort",
28198 "OVSIntPort",
28199 "unknown"
44660702
DM
28200 ],
28201 "type" : "string"
28202 }
28203 }
28204 },
28205 "permissions" : {
28206 "check" : [
28207 "perm",
28208 "/nodes/{node}",
28209 [
4d47f125 28210 "Sys.Modify"
44660702
DM
28211 ]
28212 ]
28213 },
4d47f125
TL
28214 "protected" : 1,
28215 "proxyto" : "node",
44660702 28216 "returns" : {
4d47f125 28217 "type" : "null"
44660702
DM
28218 }
28219 }
28220 },
4d47f125
TL
28221 "leaf" : 1,
28222 "path" : "/nodes/{node}/network/{iface}",
28223 "text" : "{iface}"
44660702
DM
28224 }
28225 ],
28226 "info" : {
4d47f125
TL
28227 "DELETE" : {
28228 "description" : "Revert network configuration changes.",
28229 "method" : "DELETE",
28230 "name" : "revert_network_changes",
44660702
DM
28231 "parameters" : {
28232 "additionalProperties" : 0,
28233 "properties" : {
28234 "node" : {
28235 "description" : "The cluster node name.",
28236 "format" : "pve-node",
013dc89f
DM
28237 "type" : "string",
28238 "typetext" : "<string>"
44660702
DM
28239 }
28240 }
28241 },
28242 "permissions" : {
28243 "check" : [
28244 "perm",
28245 "/nodes/{node}",
28246 [
4d47f125 28247 "Sys.Modify"
44660702
DM
28248 ]
28249 ]
28250 },
28251 "protected" : 1,
28252 "proxyto" : "node",
4d47f125
TL
28253 "returns" : {
28254 "type" : "null"
28255 }
28256 },
28257 "GET" : {
28258 "description" : "List available networks",
28259 "method" : "GET",
28260 "name" : "index",
28261 "parameters" : {
28262 "additionalProperties" : 0,
28263 "properties" : {
28264 "node" : {
28265 "description" : "The cluster node name.",
28266 "format" : "pve-node",
28267 "type" : "string",
28268 "typetext" : "<string>"
28269 },
28270 "type" : {
28271 "description" : "Only list specific interface types.",
28272 "enum" : [
28273 "bridge",
28274 "bond",
28275 "eth",
28276 "alias",
28277 "vlan",
28278 "OVSBridge",
28279 "OVSBond",
28280 "OVSPort",
28281 "OVSIntPort",
28282 "any_bridge"
28283 ],
28284 "optional" : 1,
28285 "type" : "string"
28286 }
28287 }
28288 },
28289 "permissions" : {
28290 "user" : "all"
28291 },
28292 "proxyto" : "node",
44660702
DM
28293 "returns" : {
28294 "items" : {
28295 "properties" : {},
28296 "type" : "object"
28297 },
28298 "links" : [
28299 {
4d47f125 28300 "href" : "{iface}",
44660702 28301 "rel" : "child"
56122987 28302 }
44660702
DM
28303 ],
28304 "type" : "array"
28305 }
4d47f125
TL
28306 },
28307 "POST" : {
28308 "description" : "Create network device configuration",
28309 "method" : "POST",
28310 "name" : "create_network",
7aacca6f 28311 "parameters" : {
44660702 28312 "additionalProperties" : 0,
7aacca6f 28313 "properties" : {
4d47f125
TL
28314 "address" : {
28315 "description" : "IP address.",
28316 "format" : "ipv4",
28317 "optional" : 1,
28318 "requires" : "netmask",
28319 "type" : "string",
28320 "typetext" : "<string>"
28321 },
28322 "address6" : {
28323 "description" : "IP address.",
28324 "format" : "ipv6",
28325 "optional" : 1,
28326 "requires" : "netmask6",
28327 "type" : "string",
28328 "typetext" : "<string>"
28329 },
28330 "autostart" : {
28331 "description" : "Automatically start interface on boot.",
28332 "optional" : 1,
28333 "type" : "boolean",
28334 "typetext" : "<boolean>"
28335 },
28336 "bond_mode" : {
28337 "description" : "Bonding mode.",
28338 "enum" : [
28339 "balance-rr",
28340 "active-backup",
28341 "balance-xor",
28342 "broadcast",
28343 "802.3ad",
28344 "balance-tlb",
28345 "balance-alb",
28346 "balance-slb",
28347 "lacp-balance-slb",
28348 "lacp-balance-tcp"
28349 ],
28350 "optional" : 1,
28351 "type" : "string"
28352 },
28353 "bond_xmit_hash_policy" : {
28354 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
28355 "enum" : [
28356 "layer2",
28357 "layer2+3",
28358 "layer3+4"
28359 ],
28360 "optional" : 1,
28361 "type" : "string"
28362 },
28363 "bridge_ports" : {
1e3f8156 28364 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
28365 "format" : "pve-iface-list",
28366 "optional" : 1,
013dc89f
DM
28367 "type" : "string",
28368 "typetext" : "<string>"
4d47f125
TL
28369 },
28370 "bridge_vlan_aware" : {
28371 "description" : "Enable bridge vlan support.",
44660702 28372 "optional" : 1,
013dc89f
DM
28373 "type" : "boolean",
28374 "typetext" : "<boolean>"
44660702 28375 },
bb4c8cf8
TL
28376 "cidr" : {
28377 "description" : "IPv4 CIDR.",
28378 "format" : "CIDRv4",
28379 "optional" : 1,
28380 "type" : "string",
28381 "typetext" : "<string>"
28382 },
28383 "cidr6" : {
28384 "description" : "IPv6 CIDR.",
28385 "format" : "CIDRv6",
28386 "optional" : 1,
28387 "type" : "string",
28388 "typetext" : "<string>"
28389 },
4d47f125
TL
28390 "comments" : {
28391 "description" : "Comments",
28392 "optional" : 1,
28393 "type" : "string",
28394 "typetext" : "<string>"
28395 },
28396 "comments6" : {
28397 "description" : "Comments",
28398 "optional" : 1,
28399 "type" : "string",
28400 "typetext" : "<string>"
28401 },
28402 "gateway" : {
28403 "description" : "Default gateway address.",
28404 "format" : "ipv4",
28405 "optional" : 1,
28406 "type" : "string",
28407 "typetext" : "<string>"
28408 },
28409 "gateway6" : {
28410 "description" : "Default ipv6 gateway address.",
28411 "format" : "ipv6",
28412 "optional" : 1,
28413 "type" : "string",
28414 "typetext" : "<string>"
28415 },
28416 "iface" : {
28417 "description" : "Network interface name.",
28418 "format" : "pve-iface",
28419 "maxLength" : 20,
28420 "minLength" : 2,
28421 "type" : "string",
28422 "typetext" : "<string>"
28423 },
28424 "netmask" : {
28425 "description" : "Network mask.",
28426 "format" : "ipv4mask",
28427 "optional" : 1,
28428 "requires" : "address",
28429 "type" : "string",
28430 "typetext" : "<string>"
28431 },
28432 "netmask6" : {
28433 "description" : "Network mask.",
28434 "maximum" : 128,
28435 "minimum" : 0,
28436 "optional" : 1,
28437 "requires" : "address6",
28438 "type" : "integer",
28439 "typetext" : "<integer> (0 - 128)"
28440 },
7aacca6f 28441 "node" : {
7aacca6f 28442 "description" : "The cluster node name.",
44660702 28443 "format" : "pve-node",
013dc89f
DM
28444 "type" : "string",
28445 "typetext" : "<string>"
4d47f125
TL
28446 },
28447 "ovs_bonds" : {
28448 "description" : "Specify the interfaces used by the bonding device.",
28449 "format" : "pve-iface-list",
28450 "optional" : 1,
28451 "type" : "string",
28452 "typetext" : "<string>"
28453 },
28454 "ovs_bridge" : {
28455 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
28456 "format" : "pve-iface",
28457 "optional" : 1,
28458 "type" : "string",
28459 "typetext" : "<string>"
28460 },
28461 "ovs_options" : {
28462 "description" : "OVS interface options.",
28463 "maxLength" : 1024,
28464 "optional" : 1,
28465 "type" : "string",
28466 "typetext" : "<string>"
28467 },
28468 "ovs_ports" : {
1e3f8156 28469 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
28470 "format" : "pve-iface-list",
28471 "optional" : 1,
28472 "type" : "string",
28473 "typetext" : "<string>"
28474 },
28475 "ovs_tag" : {
28476 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
28477 "maximum" : 4094,
28478 "minimum" : 1,
28479 "optional" : 1,
28480 "type" : "integer",
28481 "typetext" : "<integer> (1 - 4094)"
28482 },
28483 "slaves" : {
28484 "description" : "Specify the interfaces used by the bonding device.",
28485 "format" : "pve-iface-list",
28486 "optional" : 1,
28487 "type" : "string",
28488 "typetext" : "<string>"
28489 },
28490 "type" : {
28491 "description" : "Network interface type",
28492 "enum" : [
28493 "bridge",
28494 "bond",
28495 "eth",
28496 "alias",
28497 "vlan",
28498 "OVSBridge",
28499 "OVSBond",
28500 "OVSPort",
28501 "OVSIntPort",
28502 "unknown"
28503 ],
28504 "type" : "string"
7aacca6f
DM
28505 }
28506 }
28507 },
35a75dd3
DM
28508 "permissions" : {
28509 "check" : [
28510 "perm",
28511 "/nodes/{node}",
28512 [
28513 "Sys.Modify"
28514 ]
28515 ]
28516 },
7aacca6f 28517 "protected" : 1,
7aacca6f 28518 "proxyto" : "node",
44660702
DM
28519 "returns" : {
28520 "type" : "null"
28521 }
28522 },
28523 "PUT" : {
4d47f125 28524 "description" : "Reload network configuration",
44660702 28525 "method" : "PUT",
4d47f125 28526 "name" : "reload_network_config",
7aacca6f
DM
28527 "parameters" : {
28528 "additionalProperties" : 0,
28529 "properties" : {
7aacca6f 28530 "node" : {
7aacca6f 28531 "description" : "The cluster node name.",
44660702 28532 "format" : "pve-node",
013dc89f
DM
28533 "type" : "string",
28534 "typetext" : "<string>"
7aacca6f
DM
28535 }
28536 }
28537 },
35a75dd3
DM
28538 "permissions" : {
28539 "check" : [
28540 "perm",
28541 "/nodes/{node}",
28542 [
28543 "Sys.Modify"
28544 ]
28545 ]
28546 },
44660702
DM
28547 "protected" : 1,
28548 "proxyto" : "node",
7aacca6f 28549 "returns" : {
4d47f125 28550 "type" : "string"
44660702 28551 }
7aacca6f
DM
28552 }
28553 },
4d47f125
TL
28554 "leaf" : 0,
28555 "path" : "/nodes/{node}/network",
28556 "text" : "network"
7aacca6f
DM
28557 },
28558 {
7aacca6f
DM
28559 "children" : [
28560 {
4d47f125
TL
28561 "children" : [
28562 {
28563 "info" : {
28564 "GET" : {
28565 "description" : "Read task log.",
28566 "method" : "GET",
28567 "name" : "read_task_log",
28568 "parameters" : {
28569 "additionalProperties" : 0,
28570 "properties" : {
28571 "limit" : {
28572 "default" : 50,
28573 "minimum" : 0,
28574 "optional" : 1,
28575 "type" : "integer",
28576 "typetext" : "<integer> (0 - N)"
28577 },
28578 "node" : {
28579 "description" : "The cluster node name.",
28580 "format" : "pve-node",
28581 "type" : "string",
28582 "typetext" : "<string>"
28583 },
28584 "start" : {
28585 "default" : 0,
28586 "minimum" : 0,
28587 "optional" : 1,
28588 "type" : "integer",
28589 "typetext" : "<integer> (0 - N)"
28590 },
28591 "upid" : {
28592 "type" : "string",
28593 "typetext" : "<string>"
28594 }
28595 }
28596 },
28597 "permissions" : {
28598 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
28599 "user" : "all"
28600 },
28601 "protected" : 1,
28602 "proxyto" : "node",
28603 "returns" : {
28604 "items" : {
28605 "properties" : {
28606 "n" : {
28607 "description" : "Line number",
28608 "type" : "integer"
28609 },
28610 "t" : {
28611 "description" : "Line text",
28612 "type" : "string"
28613 }
28614 },
28615 "type" : "object"
28616 },
28617 "type" : "array"
28618 }
28619 }
28620 },
28621 "leaf" : 1,
28622 "path" : "/nodes/{node}/tasks/{upid}/log",
28623 "text" : "log"
28624 },
28625 {
28626 "info" : {
28627 "GET" : {
28628 "description" : "Read task status.",
28629 "method" : "GET",
28630 "name" : "read_task_status",
28631 "parameters" : {
28632 "additionalProperties" : 0,
28633 "properties" : {
28634 "node" : {
28635 "description" : "The cluster node name.",
28636 "format" : "pve-node",
28637 "type" : "string",
28638 "typetext" : "<string>"
28639 },
28640 "upid" : {
28641 "type" : "string",
28642 "typetext" : "<string>"
28643 }
28644 }
28645 },
28646 "permissions" : {
28647 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
28648 "user" : "all"
28649 },
28650 "protected" : 1,
28651 "proxyto" : "node",
28652 "returns" : {
28653 "properties" : {
28654 "pid" : {
28655 "type" : "integer"
28656 },
28657 "status" : {
28658 "enum" : [
28659 "running",
28660 "stopped"
28661 ],
28662 "type" : "string"
28663 }
28664 },
28665 "type" : "object"
28666 }
28667 }
28668 },
28669 "leaf" : 1,
28670 "path" : "/nodes/{node}/tasks/{upid}/status",
28671 "text" : "status"
28672 }
28673 ],
56122987 28674 "info" : {
7aacca6f 28675 "DELETE" : {
4d47f125 28676 "description" : "Stop a task.",
44660702 28677 "method" : "DELETE",
4d47f125 28678 "name" : "stop_task",
44660702
DM
28679 "parameters" : {
28680 "additionalProperties" : 0,
28681 "properties" : {
44660702
DM
28682 "node" : {
28683 "description" : "The cluster node name.",
28684 "format" : "pve-node",
013dc89f
DM
28685 "type" : "string",
28686 "typetext" : "<string>"
4d47f125
TL
28687 },
28688 "upid" : {
28689 "type" : "string",
28690 "typetext" : "<string>"
44660702
DM
28691 }
28692 }
7aacca6f
DM
28693 },
28694 "permissions" : {
4d47f125
TL
28695 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
28696 "user" : "all"
7aacca6f 28697 },
44660702 28698 "protected" : 1,
7aacca6f 28699 "proxyto" : "node",
44660702
DM
28700 "returns" : {
28701 "type" : "null"
28702 }
28703 },
28704 "GET" : {
4d47f125 28705 "description" : "",
44660702 28706 "method" : "GET",
4d47f125 28707 "name" : "upid_index",
7aacca6f
DM
28708 "parameters" : {
28709 "additionalProperties" : 0,
28710 "properties" : {
7aacca6f 28711 "node" : {
44660702 28712 "description" : "The cluster node name.",
7aacca6f 28713 "format" : "pve-node",
013dc89f
DM
28714 "type" : "string",
28715 "typetext" : "<string>"
7aacca6f 28716 },
4d47f125
TL
28717 "upid" : {
28718 "type" : "string",
28719 "typetext" : "<string>"
7aacca6f
DM
28720 }
28721 }
28722 },
7aacca6f 28723 "permissions" : {
4d47f125 28724 "user" : "all"
7aacca6f
DM
28725 },
28726 "returns" : {
4d47f125
TL
28727 "items" : {
28728 "properties" : {},
28729 "type" : "object"
28730 },
28731 "links" : [
28732 {
28733 "href" : "{name}",
28734 "rel" : "child"
28735 }
28736 ],
28737 "type" : "array"
44660702 28738 }
7aacca6f
DM
28739 }
28740 },
4d47f125
TL
28741 "leaf" : 0,
28742 "path" : "/nodes/{node}/tasks/{upid}",
28743 "text" : "{upid}"
7aacca6f
DM
28744 }
28745 ],
7aacca6f 28746 "info" : {
44660702 28747 "GET" : {
4d47f125 28748 "description" : "Read task list for one node (finished tasks).",
44660702 28749 "method" : "GET",
4d47f125 28750 "name" : "node_tasks",
44660702
DM
28751 "parameters" : {
28752 "additionalProperties" : 0,
28753 "properties" : {
4d47f125
TL
28754 "errors" : {
28755 "default" : 0,
7aacca6f 28756 "optional" : 1,
4d47f125
TL
28757 "type" : "boolean",
28758 "typetext" : "<boolean>"
7aacca6f 28759 },
4d47f125
TL
28760 "limit" : {
28761 "default" : 50,
28762 "description" : "Only list this amount of tasks.",
28763 "minimum" : 0,
44660702 28764 "optional" : 1,
4d47f125
TL
28765 "type" : "integer",
28766 "typetext" : "<integer> (0 - N)"
28767 },
28768 "node" : {
28769 "description" : "The cluster node name.",
28770 "format" : "pve-node",
013dc89f
DM
28771 "type" : "string",
28772 "typetext" : "<string>"
44660702 28773 },
5f26e15b
TL
28774 "source" : {
28775 "default" : "archive",
28776 "description" : "List archived, active or all tasks.",
28777 "enum" : [
28778 "archive",
28779 "active",
28780 "all"
28781 ],
28782 "optional" : 1,
28783 "type" : "string"
28784 },
4d47f125
TL
28785 "start" : {
28786 "default" : 0,
28787 "description" : "List tasks beginning from this offset.",
28788 "minimum" : 0,
44660702 28789 "optional" : 1,
4d47f125
TL
28790 "type" : "integer",
28791 "typetext" : "<integer> (0 - N)"
44660702 28792 },
5f26e15b
TL
28793 "typefilter" : {
28794 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
28795 "optional" : 1,
28796 "type" : "string",
28797 "typetext" : "<string>"
28798 },
4d47f125
TL
28799 "userfilter" : {
28800 "description" : "Only list tasks from this user.",
44660702 28801 "optional" : 1,
013dc89f
DM
28802 "type" : "string",
28803 "typetext" : "<string>"
44660702 28804 },
4d47f125
TL
28805 "vmid" : {
28806 "description" : "Only list tasks for this VM.",
28807 "format" : "pve-vmid",
44660702
DM
28808 "minimum" : 1,
28809 "optional" : 1,
4bd7df8b 28810 "type" : "integer",
4d47f125
TL
28811 "typetext" : "<integer> (1 - N)"
28812 }
28813 }
28814 },
28815 "permissions" : {
28816 "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).",
28817 "user" : "all"
28818 },
28819 "proxyto" : "node",
28820 "returns" : {
28821 "items" : {
28822 "properties" : {
28823 "endtime" : {
28824 "optional" : 1,
28825 "title" : "Endtime",
28826 "type" : "integer"
28827 },
28828 "id" : {
4d47f125
TL
28829 "title" : "ID",
28830 "type" : "string"
28831 },
28832 "node" : {
4d47f125
TL
28833 "title" : "Node",
28834 "type" : "string"
28835 },
28836 "pid" : {
4d47f125
TL
28837 "title" : "PID",
28838 "type" : "integer"
28839 },
28840 "pstart" : {
4d47f125
TL
28841 "type" : "integer"
28842 },
28843 "starttime" : {
4d47f125
TL
28844 "title" : "Starttime",
28845 "type" : "integer"
28846 },
28847 "status" : {
28848 "optional" : 1,
28849 "title" : "Status",
28850 "type" : "string"
28851 },
28852 "type" : {
4d47f125
TL
28853 "title" : "Type",
28854 "type" : "string"
28855 },
28856 "upid" : {
28857 "title" : "UPID",
28858 "type" : "string"
28859 },
28860 "user" : {
4d47f125
TL
28861 "title" : "User",
28862 "type" : "string"
28863 }
44660702 28864 },
4d47f125
TL
28865 "type" : "object"
28866 },
28867 "links" : [
28868 {
28869 "href" : "{upid}",
28870 "rel" : "child"
28871 }
28872 ],
28873 "type" : "array"
28874 }
28875 }
28876 },
28877 "leaf" : 0,
28878 "path" : "/nodes/{node}/tasks",
28879 "text" : "tasks"
28880 },
28881 {
28882 "children" : [
28883 {
28884 "info" : {
28885 "GET" : {
28886 "description" : "Scan zfs pool list on local node.",
28887 "method" : "GET",
28888 "name" : "zfsscan",
28889 "parameters" : {
28890 "additionalProperties" : 0,
28891 "properties" : {
28892 "node" : {
28893 "description" : "The cluster node name.",
28894 "format" : "pve-node",
28895 "type" : "string",
28896 "typetext" : "<string>"
28897 }
28898 }
44660702 28899 },
4d47f125
TL
28900 "permissions" : {
28901 "check" : [
28902 "perm",
28903 "/storage",
28904 [
28905 "Datastore.Allocate"
28906 ]
28907 ]
28908 },
28909 "protected" : 1,
28910 "proxyto" : "node",
28911 "returns" : {
28912 "items" : {
28913 "properties" : {
28914 "pool" : {
28915 "description" : "ZFS pool name.",
28916 "type" : "string"
28917 }
28918 },
28919 "type" : "object"
28920 },
28921 "type" : "array"
28922 }
28923 }
28924 },
28925 "leaf" : 1,
28926 "path" : "/nodes/{node}/scan/zfs",
28927 "text" : "zfs"
28928 },
28929 {
28930 "info" : {
28931 "GET" : {
28932 "description" : "Scan remote NFS server.",
28933 "method" : "GET",
28934 "name" : "nfsscan",
28935 "parameters" : {
28936 "additionalProperties" : 0,
28937 "properties" : {
28938 "node" : {
28939 "description" : "The cluster node name.",
28940 "format" : "pve-node",
28941 "type" : "string",
28942 "typetext" : "<string>"
28943 },
28944 "server" : {
28945 "description" : "The server address (name or IP).",
28946 "format" : "pve-storage-server",
28947 "type" : "string",
28948 "typetext" : "<string>"
28949 }
28950 }
28951 },
28952 "permissions" : {
28953 "check" : [
28954 "perm",
28955 "/storage",
28956 [
28957 "Datastore.Allocate"
28958 ]
28959 ]
28960 },
28961 "protected" : 1,
28962 "proxyto" : "node",
28963 "returns" : {
28964 "items" : {
28965 "properties" : {
28966 "options" : {
28967 "description" : "NFS export options.",
28968 "type" : "string"
28969 },
28970 "path" : {
28971 "description" : "The exported path.",
28972 "type" : "string"
28973 }
28974 },
28975 "type" : "object"
28976 },
28977 "type" : "array"
28978 }
28979 }
28980 },
28981 "leaf" : 1,
28982 "path" : "/nodes/{node}/scan/nfs",
28983 "text" : "nfs"
28984 },
28985 {
28986 "info" : {
28987 "GET" : {
28988 "description" : "Scan remote CIFS server.",
28989 "method" : "GET",
28990 "name" : "cifsscan",
28991 "parameters" : {
28992 "additionalProperties" : 0,
28993 "properties" : {
28994 "domain" : {
28995 "description" : "SMB domain (Workgroup).",
28996 "optional" : 1,
28997 "type" : "string",
28998 "typetext" : "<string>"
28999 },
29000 "node" : {
29001 "description" : "The cluster node name.",
29002 "format" : "pve-node",
29003 "type" : "string",
29004 "typetext" : "<string>"
29005 },
29006 "password" : {
29007 "description" : "User password.",
29008 "optional" : 1,
29009 "type" : "string",
29010 "typetext" : "<string>"
29011 },
29012 "server" : {
29013 "description" : "The server address (name or IP).",
29014 "format" : "pve-storage-server",
29015 "type" : "string",
29016 "typetext" : "<string>"
29017 },
29018 "username" : {
29019 "description" : "User name.",
29020 "optional" : 1,
29021 "type" : "string",
29022 "typetext" : "<string>"
29023 }
29024 }
29025 },
29026 "permissions" : {
29027 "check" : [
29028 "perm",
29029 "/storage",
29030 [
29031 "Datastore.Allocate"
29032 ]
29033 ]
29034 },
29035 "protected" : 1,
29036 "proxyto" : "node",
29037 "returns" : {
29038 "items" : {
29039 "properties" : {
29040 "description" : {
29041 "description" : "Descriptive text from server.",
29042 "type" : "string"
29043 },
29044 "share" : {
29045 "description" : "The cifs share name.",
29046 "type" : "string"
29047 }
29048 },
29049 "type" : "object"
29050 },
29051 "type" : "array"
56122987 29052 }
44660702 29053 }
56122987 29054 },
4d47f125
TL
29055 "leaf" : 1,
29056 "path" : "/nodes/{node}/scan/cifs",
29057 "text" : "cifs"
29058 },
44660702 29059 {
4d47f125
TL
29060 "info" : {
29061 "GET" : {
29062 "description" : "Scan remote GlusterFS server.",
29063 "method" : "GET",
29064 "name" : "glusterfsscan",
29065 "parameters" : {
29066 "additionalProperties" : 0,
29067 "properties" : {
29068 "node" : {
29069 "description" : "The cluster node name.",
29070 "format" : "pve-node",
29071 "type" : "string",
29072 "typetext" : "<string>"
7aacca6f 29073 },
4d47f125
TL
29074 "server" : {
29075 "description" : "The server address (name or IP).",
29076 "format" : "pve-storage-server",
29077 "type" : "string",
29078 "typetext" : "<string>"
44660702 29079 }
7aacca6f 29080 }
56122987 29081 },
4d47f125
TL
29082 "permissions" : {
29083 "check" : [
29084 "perm",
29085 "/storage",
29086 [
29087 "Datastore.Allocate"
29088 ]
29089 ]
29090 },
29091 "protected" : 1,
29092 "proxyto" : "node",
29093 "returns" : {
29094 "items" : {
29095 "properties" : {
29096 "volname" : {
29097 "description" : "The volume name.",
29098 "type" : "string"
7aacca6f
DM
29099 }
29100 },
4d47f125
TL
29101 "type" : "object"
29102 },
29103 "type" : "array"
29104 }
29105 }
29106 },
29107 "leaf" : 1,
29108 "path" : "/nodes/{node}/scan/glusterfs",
29109 "text" : "glusterfs"
29110 },
29111 {
29112 "info" : {
29113 "GET" : {
29114 "description" : "Scan remote iSCSI server.",
29115 "method" : "GET",
29116 "name" : "iscsiscan",
29117 "parameters" : {
29118 "additionalProperties" : 0,
29119 "properties" : {
29120 "node" : {
29121 "description" : "The cluster node name.",
29122 "format" : "pve-node",
29123 "type" : "string",
29124 "typetext" : "<string>"
56122987 29125 },
4d47f125
TL
29126 "portal" : {
29127 "description" : "The iSCSI portal (IP or DNS name with optional port).",
29128 "format" : "pve-storage-portal-dns",
29129 "type" : "string",
29130 "typetext" : "<string>"
29131 }
29132 }
29133 },
29134 "permissions" : {
29135 "check" : [
29136 "perm",
29137 "/storage",
29138 [
29139 "Datastore.Allocate"
29140 ]
29141 ]
29142 },
29143 "protected" : 1,
29144 "proxyto" : "node",
29145 "returns" : {
29146 "items" : {
29147 "properties" : {
29148 "portal" : {
29149 "description" : "The iSCSI portal name.",
29150 "type" : "string"
7aacca6f 29151 },
4d47f125
TL
29152 "target" : {
29153 "description" : "The iSCSI target name.",
29154 "type" : "string"
29155 }
29156 },
29157 "type" : "object"
29158 },
29159 "type" : "array"
29160 }
29161 }
29162 },
29163 "leaf" : 1,
29164 "path" : "/nodes/{node}/scan/iscsi",
29165 "text" : "iscsi"
29166 },
29167 {
29168 "info" : {
29169 "GET" : {
29170 "description" : "List local LVM volume groups.",
29171 "method" : "GET",
29172 "name" : "lvmscan",
29173 "parameters" : {
29174 "additionalProperties" : 0,
29175 "properties" : {
29176 "node" : {
29177 "description" : "The cluster node name.",
29178 "format" : "pve-node",
29179 "type" : "string",
29180 "typetext" : "<string>"
56122987 29181 }
7aacca6f 29182 }
44660702 29183 },
4d47f125
TL
29184 "permissions" : {
29185 "check" : [
29186 "perm",
29187 "/storage",
29188 [
29189 "Datastore.Allocate"
29190 ]
29191 ]
29192 },
29193 "protected" : 1,
29194 "proxyto" : "node",
29195 "returns" : {
29196 "items" : {
29197 "properties" : {
29198 "vg" : {
29199 "description" : "The LVM logical volume group name.",
29200 "type" : "string"
29201 }
29202 },
29203 "type" : "object"
29204 },
29205 "type" : "array"
29206 }
56122987 29207 }
4d47f125
TL
29208 },
29209 "leaf" : 1,
29210 "path" : "/nodes/{node}/scan/lvm",
29211 "text" : "lvm"
29212 },
29213 {
44660702 29214 "info" : {
4d47f125
TL
29215 "GET" : {
29216 "description" : "List local LVM Thin Pools.",
29217 "method" : "GET",
29218 "name" : "lvmthinscan",
44660702
DM
29219 "parameters" : {
29220 "additionalProperties" : 0,
29221 "properties" : {
29222 "node" : {
29223 "description" : "The cluster node name.",
29224 "format" : "pve-node",
013dc89f
DM
29225 "type" : "string",
29226 "typetext" : "<string>"
44660702 29227 },
4d47f125
TL
29228 "vg" : {
29229 "maxLength" : 100,
29230 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
29231 "type" : "string"
44660702 29232 }
7aacca6f 29233 }
44660702
DM
29234 },
29235 "permissions" : {
4d47f125
TL
29236 "check" : [
29237 "perm",
29238 "/storage",
29239 [
29240 "Datastore.Allocate"
29241 ]
29242 ]
44660702
DM
29243 },
29244 "protected" : 1,
29245 "proxyto" : "node",
29246 "returns" : {
4d47f125
TL
29247 "items" : {
29248 "properties" : {
29249 "lv" : {
29250 "description" : "The LVM Thin Pool name (LVM logical volume).",
29251 "type" : "string"
29252 }
29253 },
29254 "type" : "object"
29255 },
29256 "type" : "array"
7aacca6f 29257 }
4d47f125
TL
29258 }
29259 },
29260 "leaf" : 1,
29261 "path" : "/nodes/{node}/scan/lvmthin",
29262 "text" : "lvmthin"
29263 },
29264 {
29265 "info" : {
44660702 29266 "GET" : {
4d47f125 29267 "description" : "List local USB devices.",
44660702 29268 "method" : "GET",
4d47f125 29269 "name" : "usbscan",
44660702
DM
29270 "parameters" : {
29271 "additionalProperties" : 0,
29272 "properties" : {
29273 "node" : {
29274 "description" : "The cluster node name.",
29275 "format" : "pve-node",
013dc89f
DM
29276 "type" : "string",
29277 "typetext" : "<string>"
44660702
DM
29278 }
29279 }
29280 },
29281 "permissions" : {
4d47f125
TL
29282 "check" : [
29283 "perm",
29284 "/",
29285 [
29286 "Sys.Modify"
29287 ]
29288 ]
44660702 29289 },
4d47f125
TL
29290 "protected" : 1,
29291 "proxyto" : "node",
44660702
DM
29292 "returns" : {
29293 "items" : {
4d47f125
TL
29294 "properties" : {
29295 "busnum" : {
29296 "type" : "integer"
29297 },
29298 "class" : {
29299 "type" : "integer"
29300 },
29301 "devnum" : {
29302 "type" : "integer"
29303 },
29304 "level" : {
29305 "type" : "integer"
29306 },
29307 "manufacturer" : {
29308 "optional" : 1,
29309 "type" : "string"
29310 },
29311 "port" : {
29312 "type" : "integer"
29313 },
29314 "prodid" : {
29315 "type" : "string"
29316 },
29317 "product" : {
29318 "optional" : 1,
29319 "type" : "string"
29320 },
29321 "serial" : {
29322 "optional" : 1,
29323 "type" : "string"
29324 },
29325 "speed" : {
29326 "type" : "string"
29327 },
29328 "usbpath" : {
29329 "optional" : 1,
29330 "type" : "string"
29331 },
29332 "vendid" : {
29333 "type" : "string"
29334 }
29335 },
44660702
DM
29336 "type" : "object"
29337 },
44660702 29338 "type" : "array"
56122987 29339 }
44660702 29340 }
56122987 29341 },
4d47f125
TL
29342 "leaf" : 1,
29343 "path" : "/nodes/{node}/scan/usb",
29344 "text" : "usb"
44660702
DM
29345 }
29346 ],
29347 "info" : {
29348 "GET" : {
4d47f125 29349 "description" : "Index of available scan methods",
44660702 29350 "method" : "GET",
4d47f125 29351 "name" : "index",
56122987 29352 "parameters" : {
7aacca6f 29353 "additionalProperties" : 0,
56122987 29354 "properties" : {
56122987
DM
29355 "node" : {
29356 "description" : "The cluster node name.",
44660702 29357 "format" : "pve-node",
013dc89f
DM
29358 "type" : "string",
29359 "typetext" : "<string>"
56122987
DM
29360 }
29361 }
29362 },
7aacca6f
DM
29363 "permissions" : {
29364 "user" : "all"
29365 },
56122987
DM
29366 "returns" : {
29367 "items" : {
29368 "properties" : {
4d47f125 29369 "method" : {
56122987
DM
29370 "type" : "string"
29371 }
29372 },
29373 "type" : "object"
29374 },
56122987
DM
29375 "links" : [
29376 {
4d47f125 29377 "href" : "{method}",
44660702 29378 "rel" : "child"
56122987 29379 }
44660702
DM
29380 ],
29381 "type" : "array"
56122987
DM
29382 }
29383 }
29384 },
44660702 29385 "leaf" : 0,
4d47f125
TL
29386 "path" : "/nodes/{node}/scan",
29387 "text" : "scan"
44660702 29388 },
e2d681b3
TL
29389 {
29390 "children" : [
29391 {
29392 "children" : [
29393 {
29394 "children" : [
29395 {
29396 "info" : {
29397 "GET" : {
29398 "description" : "List mediated device types for given PCI device.",
29399 "method" : "GET",
29400 "name" : "mdevscan",
29401 "parameters" : {
29402 "additionalProperties" : 0,
29403 "properties" : {
29404 "node" : {
29405 "description" : "The cluster node name.",
29406 "format" : "pve-node",
29407 "type" : "string",
29408 "typetext" : "<string>"
29409 },
29410 "pciid" : {
29411 "description" : "The PCI ID to list the mdev types for.",
29412 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
29413 "type" : "string"
29414 }
29415 }
29416 },
29417 "permissions" : {
29418 "check" : [
29419 "perm",
29420 "/",
29421 [
29422 "Sys.Modify"
29423 ]
29424 ]
29425 },
29426 "protected" : 1,
29427 "proxyto" : "node",
29428 "returns" : {
29429 "items" : {
29430 "properties" : {
29431 "available" : {
29432 "description" : "The number of still available instances of this type.",
29433 "type" : "integer"
29434 },
29435 "description" : {
29436 "type" : "string"
29437 },
29438 "type" : {
29439 "description" : "The name of the mdev type.",
29440 "type" : "string"
29441 }
29442 },
29443 "type" : "object"
29444 },
29445 "type" : "array"
29446 }
29447 }
29448 },
29449 "leaf" : 1,
29450 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
29451 "text" : "mdev"
29452 }
29453 ],
29454 "info" : {
29455 "GET" : {
29456 "description" : "Index of available pci methods",
29457 "method" : "GET",
29458 "name" : "pciindex",
29459 "parameters" : {
29460 "additionalProperties" : 0,
29461 "properties" : {
29462 "node" : {
29463 "description" : "The cluster node name.",
29464 "format" : "pve-node",
29465 "type" : "string",
29466 "typetext" : "<string>"
29467 },
29468 "pciid" : {
29469 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
29470 "type" : "string"
29471 }
29472 }
29473 },
29474 "permissions" : {
29475 "user" : "all"
29476 },
29477 "returns" : {
29478 "items" : {
29479 "properties" : {
29480 "method" : {
29481 "type" : "string"
29482 }
29483 },
29484 "type" : "object"
29485 },
29486 "links" : [
29487 {
29488 "href" : "{method}",
29489 "rel" : "child"
29490 }
29491 ],
29492 "type" : "array"
29493 }
29494 }
29495 },
29496 "leaf" : 0,
29497 "path" : "/nodes/{node}/hardware/pci/{pciid}",
29498 "text" : "{pciid}"
29499 }
29500 ],
29501 "info" : {
29502 "GET" : {
29503 "description" : "List local PCI devices.",
29504 "method" : "GET",
29505 "name" : "pciscan",
29506 "parameters" : {
29507 "additionalProperties" : 0,
29508 "properties" : {
29509 "node" : {
29510 "description" : "The cluster node name.",
29511 "format" : "pve-node",
29512 "type" : "string",
29513 "typetext" : "<string>"
29514 },
29515 "pci-class-blacklist" : {
29516 "default" : "05;06;08;0b",
29517 "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).",
29518 "format" : "string-list",
29519 "optional" : 1,
29520 "type" : "string",
29521 "typetext" : "<string>"
29522 },
29523 "verbose" : {
29524 "default" : 1,
29525 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
29526 "optional" : 1,
29527 "type" : "boolean",
29528 "typetext" : "<boolean>"
29529 }
29530 }
29531 },
29532 "permissions" : {
29533 "check" : [
29534 "perm",
29535 "/",
29536 [
29537 "Sys.Modify"
29538 ]
29539 ]
29540 },
29541 "protected" : 1,
29542 "proxyto" : "node",
29543 "returns" : {
29544 "items" : {
29545 "properties" : {
29546 "class" : {
29547 "description" : "The PCI Class of the device.",
29548 "type" : "string"
29549 },
29550 "device" : {
29551 "description" : "The Device ID.",
29552 "type" : "string"
29553 },
29554 "device_name" : {
29555 "optional" : 1,
29556 "type" : "string"
29557 },
29558 "id" : {
29559 "description" : "The PCI ID.",
29560 "type" : "string"
29561 },
29562 "iommugroup" : {
29563 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
29564 "type" : "integer"
29565 },
29566 "mdev" : {
29567 "description" : "If set, marks that the device is capable of creating mediated devices.",
29568 "optional" : 1,
29569 "type" : "boolean"
29570 },
29571 "subsystem_device" : {
29572 "description" : "The Subsystem Device ID.",
29573 "optional" : 1,
29574 "type" : "string"
29575 },
29576 "subsystem_device_name" : {
29577 "optional" : 1,
29578 "type" : "string"
29579 },
29580 "subsystem_vendor" : {
29581 "description" : "The Subsystem Vendor ID.",
29582 "optional" : 1,
29583 "type" : "string"
29584 },
29585 "subsystem_vendor_name" : {
29586 "optional" : 1,
29587 "type" : "string"
29588 },
29589 "vendor" : {
29590 "description" : "The Vendor ID.",
29591 "type" : "string"
29592 },
29593 "vendor_name" : {
29594 "optional" : 1,
29595 "type" : "string"
29596 }
29597 },
29598 "type" : "object"
29599 },
29600 "links" : [
29601 {
29602 "href" : "{id}",
29603 "rel" : "child"
29604 }
29605 ],
29606 "type" : "array"
29607 }
29608 }
29609 },
29610 "leaf" : 0,
29611 "path" : "/nodes/{node}/hardware/pci",
29612 "text" : "pci"
29613 }
29614 ],
29615 "info" : {
29616 "GET" : {
29617 "description" : "Index of hardware types",
29618 "method" : "GET",
29619 "name" : "index",
29620 "parameters" : {
29621 "additionalProperties" : 0,
29622 "properties" : {
29623 "node" : {
29624 "description" : "The cluster node name.",
29625 "format" : "pve-node",
29626 "type" : "string",
29627 "typetext" : "<string>"
29628 }
29629 }
29630 },
29631 "permissions" : {
29632 "user" : "all"
29633 },
29634 "returns" : {
29635 "items" : {
29636 "properties" : {
29637 "type" : {
29638 "type" : "string"
29639 }
29640 },
29641 "type" : "object"
29642 },
29643 "links" : [
29644 {
29645 "href" : "{type}",
29646 "rel" : "child"
29647 }
29648 ],
29649 "type" : "array"
29650 }
29651 }
29652 },
29653 "leaf" : 0,
29654 "path" : "/nodes/{node}/hardware",
29655 "text" : "hardware"
29656 },
44660702 29657 {
56122987
DM
29658 "children" : [
29659 {
4d47f125
TL
29660 "children" : [
29661 {
29662 "children" : [
29663 {
29664 "info" : {
29665 "DELETE" : {
29666 "description" : "Delete volume",
29667 "method" : "DELETE",
29668 "name" : "delete",
29669 "parameters" : {
29670 "additionalProperties" : 0,
29671 "properties" : {
29672 "node" : {
29673 "description" : "The cluster node name.",
29674 "format" : "pve-node",
29675 "type" : "string",
29676 "typetext" : "<string>"
29677 },
29678 "storage" : {
29679 "description" : "The storage identifier.",
29680 "format" : "pve-storage-id",
29681 "optional" : 1,
29682 "type" : "string",
29683 "typetext" : "<string>"
29684 },
29685 "volume" : {
29686 "description" : "Volume identifier",
29687 "type" : "string",
29688 "typetext" : "<string>"
29689 }
29690 }
29691 },
29692 "permissions" : {
29693 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
29694 "user" : "all"
29695 },
29696 "protected" : 1,
29697 "proxyto" : "node",
29698 "returns" : {
29699 "type" : "null"
29700 }
29701 },
29702 "GET" : {
29703 "description" : "Get volume attributes",
29704 "method" : "GET",
29705 "name" : "info",
29706 "parameters" : {
29707 "additionalProperties" : 0,
29708 "properties" : {
29709 "node" : {
29710 "description" : "The cluster node name.",
29711 "format" : "pve-node",
29712 "type" : "string",
29713 "typetext" : "<string>"
29714 },
29715 "storage" : {
29716 "description" : "The storage identifier.",
29717 "format" : "pve-storage-id",
29718 "optional" : 1,
29719 "type" : "string",
29720 "typetext" : "<string>"
29721 },
29722 "volume" : {
29723 "description" : "Volume identifier",
29724 "type" : "string",
29725 "typetext" : "<string>"
29726 }
29727 }
29728 },
29729 "permissions" : {
29730 "description" : "You need read access for the volume.",
29731 "user" : "all"
29732 },
29733 "protected" : 1,
29734 "proxyto" : "node",
29735 "returns" : {
29736 "type" : "object"
29737 }
29738 },
29739 "POST" : {
29740 "description" : "Copy a volume. This is experimental code - do not use.",
29741 "method" : "POST",
29742 "name" : "copy",
29743 "parameters" : {
29744 "additionalProperties" : 0,
29745 "properties" : {
29746 "node" : {
29747 "description" : "The cluster node name.",
29748 "format" : "pve-node",
29749 "type" : "string",
29750 "typetext" : "<string>"
29751 },
29752 "storage" : {
29753 "description" : "The storage identifier.",
29754 "format" : "pve-storage-id",
29755 "optional" : 1,
29756 "type" : "string",
29757 "typetext" : "<string>"
29758 },
29759 "target" : {
29760 "description" : "Target volume identifier",
29761 "type" : "string",
29762 "typetext" : "<string>"
29763 },
29764 "target_node" : {
29765 "description" : "Target node. Default is local node.",
29766 "format" : "pve-node",
29767 "optional" : 1,
29768 "type" : "string",
29769 "typetext" : "<string>"
29770 },
29771 "volume" : {
29772 "description" : "Source volume identifier",
29773 "type" : "string",
29774 "typetext" : "<string>"
29775 }
29776 }
29777 },
29778 "protected" : 1,
29779 "proxyto" : "node",
29780 "returns" : {
29781 "type" : "string"
29782 }
29783 }
29784 },
29785 "leaf" : 1,
29786 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
29787 "text" : "{volume}"
44660702 29788 }
4d47f125
TL
29789 ],
29790 "info" : {
29791 "GET" : {
29792 "description" : "List storage content.",
29793 "method" : "GET",
29794 "name" : "index",
29795 "parameters" : {
29796 "additionalProperties" : 0,
29797 "properties" : {
29798 "content" : {
29799 "description" : "Only list content of this type.",
29800 "format" : "pve-storage-content",
29801 "optional" : 1,
29802 "type" : "string",
29803 "typetext" : "<string>"
29804 },
29805 "node" : {
29806 "description" : "The cluster node name.",
29807 "format" : "pve-node",
29808 "type" : "string",
29809 "typetext" : "<string>"
29810 },
29811 "storage" : {
29812 "description" : "The storage identifier.",
29813 "format" : "pve-storage-id",
29814 "type" : "string",
29815 "typetext" : "<string>"
29816 },
29817 "vmid" : {
29818 "description" : "Only list images for this VM",
29819 "format" : "pve-vmid",
29820 "minimum" : 1,
29821 "optional" : 1,
29822 "type" : "integer",
29823 "typetext" : "<integer> (1 - N)"
29824 }
56122987 29825 }
44660702 29826 },
4d47f125
TL
29827 "permissions" : {
29828 "check" : [
29829 "perm",
29830 "/storage/{storage}",
29831 [
29832 "Datastore.Audit",
29833 "Datastore.AllocateSpace"
29834 ],
29835 "any",
29836 1
29837 ]
7aacca6f 29838 },
4d47f125
TL
29839 "protected" : 1,
29840 "proxyto" : "node",
29841 "returns" : {
29842 "items" : {
29843 "properties" : {
29844 "format" : {
29845 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
29846 "type" : "string"
29847 },
29848 "parent" : {
29849 "description" : "Volume identifier of parent (for linked cloned).",
29850 "optional" : 1,
29851 "type" : "string"
29852 },
29853 "size" : {
29854 "description" : "Volume size in bytes.",
29855 "renderer" : "bytes",
29856 "type" : "integer"
29857 },
29858 "used" : {
29859 "description" : "Used space. Please note that most storage plugins does not report anything useful here.",
29860 "optional" : 1,
29861 "renderer" : "bytes",
29862 "type" : "integer"
29863 },
29864 "vmid" : {
29865 "description" : "Associated Owner VMID.",
29866 "optional" : 1,
29867 "type" : "integer"
29868 },
29869 "volid" : {
29870 "description" : "Volume identifier.",
29871 "type" : "string"
29872 }
29873 },
29874 "type" : "object"
44660702 29875 },
4d47f125
TL
29876 "links" : [
29877 {
29878 "href" : "{volid}",
29879 "rel" : "child"
29880 }
29881 ],
29882 "type" : "array"
29883 }
29884 },
29885 "POST" : {
29886 "description" : "Allocate disk images.",
29887 "method" : "POST",
29888 "name" : "create",
29889 "parameters" : {
29890 "additionalProperties" : 0,
29891 "properties" : {
29892 "filename" : {
29893 "description" : "The name of the file to create.",
29894 "type" : "string",
29895 "typetext" : "<string>"
29896 },
29897 "format" : {
29898 "enum" : [
29899 "raw",
29900 "qcow2",
29901 "subvol"
29902 ],
29903 "optional" : 1,
29904 "requires" : "size",
29905 "type" : "string"
29906 },
29907 "node" : {
29908 "description" : "The cluster node name.",
29909 "format" : "pve-node",
29910 "type" : "string",
29911 "typetext" : "<string>"
29912 },
29913 "size" : {
29914 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
29915 "pattern" : "\\d+[MG]?",
29916 "type" : "string"
29917 },
29918 "storage" : {
29919 "description" : "The storage identifier.",
29920 "format" : "pve-storage-id",
29921 "type" : "string",
29922 "typetext" : "<string>"
29923 },
29924 "vmid" : {
29925 "description" : "Specify owner VM",
29926 "format" : "pve-vmid",
29927 "minimum" : 1,
29928 "type" : "integer",
29929 "typetext" : "<integer> (1 - N)"
29930 }
44660702
DM
29931 }
29932 },
4d47f125
TL
29933 "permissions" : {
29934 "check" : [
29935 "perm",
29936 "/storage/{storage}",
29937 [
29938 "Datastore.AllocateSpace"
29939 ]
29940 ]
27a7acb2 29941 },
4d47f125
TL
29942 "protected" : 1,
29943 "proxyto" : "node",
29944 "returns" : {
29945 "description" : "Volume identifier",
29946 "type" : "string"
27a7acb2
DM
29947 }
29948 }
29949 },
4d47f125
TL
29950 "leaf" : 0,
29951 "path" : "/nodes/{node}/storage/{storage}/content",
29952 "text" : "content"
29953 },
29954 {
29955 "info" : {
29956 "GET" : {
29957 "description" : "Read storage status.",
29958 "method" : "GET",
29959 "name" : "read_status",
29960 "parameters" : {
29961 "additionalProperties" : 0,
29962 "properties" : {
29963 "node" : {
29964 "description" : "The cluster node name.",
29965 "format" : "pve-node",
29966 "type" : "string",
29967 "typetext" : "<string>"
29968 },
29969 "storage" : {
29970 "description" : "The storage identifier.",
29971 "format" : "pve-storage-id",
29972 "type" : "string",
29973 "typetext" : "<string>"
29974 }
27a7acb2
DM
29975 }
29976 },
4d47f125
TL
29977 "permissions" : {
29978 "check" : [
29979 "perm",
29980 "/storage/{storage}",
29981 [
29982 "Datastore.Audit",
29983 "Datastore.AllocateSpace"
29984 ],
29985 "any",
29986 1
29987 ]
7aacca6f 29988 },
4d47f125
TL
29989 "protected" : 1,
29990 "proxyto" : "node",
29991 "returns" : {
29992 "type" : "object"
56122987 29993 }
44660702
DM
29994 }
29995 },
4d47f125
TL
29996 "leaf" : 1,
29997 "path" : "/nodes/{node}/storage/{storage}/status",
29998 "text" : "status"
29999 },
30000 {
30001 "info" : {
30002 "GET" : {
30003 "description" : "Read storage RRD statistics (returns PNG).",
30004 "method" : "GET",
30005 "name" : "rrd",
30006 "parameters" : {
30007 "additionalProperties" : 0,
30008 "properties" : {
30009 "cf" : {
30010 "description" : "The RRD consolidation function",
30011 "enum" : [
30012 "AVERAGE",
30013 "MAX"
30014 ],
30015 "optional" : 1,
30016 "type" : "string"
30017 },
30018 "ds" : {
30019 "description" : "The list of datasources you want to display.",
30020 "format" : "pve-configid-list",
30021 "type" : "string",
30022 "typetext" : "<string>"
30023 },
30024 "node" : {
30025 "description" : "The cluster node name.",
30026 "format" : "pve-node",
30027 "type" : "string",
30028 "typetext" : "<string>"
30029 },
30030 "storage" : {
30031 "description" : "The storage identifier.",
30032 "format" : "pve-storage-id",
30033 "type" : "string",
30034 "typetext" : "<string>"
30035 },
30036 "timeframe" : {
30037 "description" : "Specify the time frame you are interested in.",
30038 "enum" : [
30039 "hour",
30040 "day",
30041 "week",
30042 "month",
30043 "year"
30044 ],
30045 "type" : "string"
30046 }
44660702
DM
30047 }
30048 },
4d47f125
TL
30049 "permissions" : {
30050 "check" : [
30051 "perm",
30052 "/storage/{storage}",
30053 [
30054 "Datastore.Audit",
30055 "Datastore.AllocateSpace"
30056 ],
30057 "any",
30058 1
30059 ]
30060 },
30061 "protected" : 1,
30062 "proxyto" : "node",
30063 "returns" : {
30064 "properties" : {
30065 "filename" : {
30066 "type" : "string"
30067 }
30068 },
30069 "type" : "object"
44660702
DM
30070 }
30071 }
30072 },
4d47f125
TL
30073 "leaf" : 1,
30074 "path" : "/nodes/{node}/storage/{storage}/rrd",
30075 "text" : "rrd"
30076 },
30077 {
30078 "info" : {
30079 "GET" : {
30080 "description" : "Read storage RRD statistics.",
30081 "method" : "GET",
30082 "name" : "rrddata",
30083 "parameters" : {
30084 "additionalProperties" : 0,
30085 "properties" : {
30086 "cf" : {
30087 "description" : "The RRD consolidation function",
30088 "enum" : [
30089 "AVERAGE",
30090 "MAX"
30091 ],
30092 "optional" : 1,
30093 "type" : "string"
30094 },
30095 "node" : {
30096 "description" : "The cluster node name.",
30097 "format" : "pve-node",
30098 "type" : "string",
30099 "typetext" : "<string>"
30100 },
30101 "storage" : {
30102 "description" : "The storage identifier.",
30103 "format" : "pve-storage-id",
30104 "type" : "string",
30105 "typetext" : "<string>"
30106 },
30107 "timeframe" : {
30108 "description" : "Specify the time frame you are interested in.",
30109 "enum" : [
30110 "hour",
30111 "day",
30112 "week",
30113 "month",
30114 "year"
30115 ],
30116 "type" : "string"
30117 }
56122987
DM
30118 }
30119 },
4d47f125
TL
30120 "permissions" : {
30121 "check" : [
30122 "perm",
30123 "/storage/{storage}",
30124 [
30125 "Datastore.Audit",
30126 "Datastore.AllocateSpace"
30127 ],
30128 "any",
30129 1
30130 ]
30131 },
30132 "protected" : 1,
30133 "proxyto" : "node",
30134 "returns" : {
30135 "items" : {
30136 "properties" : {},
30137 "type" : "object"
30138 },
30139 "type" : "array"
56122987 30140 }
7aacca6f 30141 }
56122987 30142 },
4d47f125
TL
30143 "leaf" : 1,
30144 "path" : "/nodes/{node}/storage/{storage}/rrddata",
30145 "text" : "rrddata"
30146 },
30147 {
30148 "info" : {
30149 "POST" : {
30150 "description" : "Upload templates and ISO images.",
30151 "method" : "POST",
30152 "name" : "upload",
30153 "parameters" : {
30154 "additionalProperties" : 0,
30155 "properties" : {
30156 "content" : {
30157 "description" : "Content type.",
30158 "format" : "pve-storage-content",
30159 "type" : "string",
30160 "typetext" : "<string>"
30161 },
30162 "filename" : {
30163 "description" : "The name of the file to create.",
30164 "type" : "string",
30165 "typetext" : "<string>"
30166 },
30167 "node" : {
30168 "description" : "The cluster node name.",
30169 "format" : "pve-node",
30170 "type" : "string",
30171 "typetext" : "<string>"
30172 },
30173 "storage" : {
30174 "description" : "The storage identifier.",
30175 "format" : "pve-storage-id",
30176 "type" : "string",
30177 "typetext" : "<string>"
30178 },
30179 "tmpfilename" : {
1e3f8156 30180 "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trusted port on localhost.",
4d47f125
TL
30181 "optional" : 1,
30182 "type" : "string",
30183 "typetext" : "<string>"
30184 }
44660702
DM
30185 }
30186 },
4d47f125
TL
30187 "permissions" : {
30188 "check" : [
30189 "perm",
30190 "/storage/{storage}",
30191 [
30192 "Datastore.AllocateTemplate"
30193 ]
30194 ]
56122987 30195 },
4d47f125
TL
30196 "protected" : 1,
30197 "returns" : {
44660702 30198 "type" : "string"
56122987 30199 }
44660702 30200 }
56122987 30201 },
4d47f125
TL
30202 "leaf" : 1,
30203 "path" : "/nodes/{node}/storage/{storage}/upload",
30204 "text" : "upload"
56122987 30205 }
4d47f125 30206 ],
56122987
DM
30207 "info" : {
30208 "GET" : {
4d47f125 30209 "description" : "",
44660702 30210 "method" : "GET",
4d47f125 30211 "name" : "diridx",
44660702
DM
30212 "parameters" : {
30213 "additionalProperties" : 0,
30214 "properties" : {
30215 "node" : {
30216 "description" : "The cluster node name.",
30217 "format" : "pve-node",
013dc89f
DM
30218 "type" : "string",
30219 "typetext" : "<string>"
4d47f125
TL
30220 },
30221 "storage" : {
30222 "description" : "The storage identifier.",
30223 "format" : "pve-storage-id",
30224 "type" : "string",
30225 "typetext" : "<string>"
44660702
DM
30226 }
30227 }
30228 },
7aacca6f
DM
30229 "permissions" : {
30230 "check" : [
30231 "perm",
4d47f125 30232 "/storage/{storage}",
7aacca6f 30233 [
4d47f125
TL
30234 "Datastore.Audit",
30235 "Datastore.AllocateSpace"
30236 ],
30237 "any",
30238 1
7aacca6f
DM
30239 ]
30240 },
56122987
DM
30241 "returns" : {
30242 "items" : {
30243 "properties" : {
4d47f125 30244 "subdir" : {
44660702 30245 "type" : "string"
56122987
DM
30246 }
30247 },
30248 "type" : "object"
7aacca6f 30249 },
4d47f125
TL
30250 "links" : [
30251 {
30252 "href" : "{subdir}",
30253 "rel" : "child"
30254 }
30255 ],
7aacca6f 30256 "type" : "array"
44660702
DM
30257 }
30258 }
30259 },
4d47f125
TL
30260 "leaf" : 0,
30261 "path" : "/nodes/{node}/storage/{storage}",
30262 "text" : "{storage}"
44660702
DM
30263 }
30264 ],
30265 "info" : {
30266 "GET" : {
4d47f125 30267 "description" : "Get status for all datastores.",
44660702
DM
30268 "method" : "GET",
30269 "name" : "index",
30270 "parameters" : {
30271 "additionalProperties" : 0,
30272 "properties" : {
4d47f125
TL
30273 "content" : {
30274 "description" : "Only list stores which support this content type.",
30275 "format" : "pve-storage-content-list",
30276 "optional" : 1,
30277 "type" : "string",
30278 "typetext" : "<string>"
30279 },
30280 "enabled" : {
30281 "default" : 0,
30282 "description" : "Only list stores which are enabled (not disabled in config).",
30283 "optional" : 1,
30284 "type" : "boolean",
30285 "typetext" : "<boolean>"
30286 },
30287 "format" : {
30288 "default" : 0,
30289 "description" : "Include information about formats",
30290 "optional" : 1,
30291 "type" : "boolean",
30292 "typetext" : "<boolean>"
30293 },
44660702
DM
30294 "node" : {
30295 "description" : "The cluster node name.",
30296 "format" : "pve-node",
013dc89f
DM
30297 "type" : "string",
30298 "typetext" : "<string>"
4d47f125
TL
30299 },
30300 "storage" : {
30301 "description" : "Only list status for specified storage",
30302 "format" : "pve-storage-id",
30303 "optional" : 1,
30304 "type" : "string",
30305 "typetext" : "<string>"
30306 },
30307 "target" : {
30308 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
30309 "format" : "pve-node",
30310 "optional" : 1,
30311 "type" : "string",
30312 "typetext" : "<string>"
44660702
DM
30313 }
30314 }
30315 },
4d47f125
TL
30316 "permissions" : {
30317 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
30318 "user" : "all"
30319 },
30320 "protected" : 1,
30321 "proxyto" : "node",
30322 "returns" : {
30323 "items" : {
30324 "properties" : {
30325 "active" : {
30326 "description" : "Set when storage is accessible.",
30327 "optional" : 1,
30328 "type" : "boolean"
30329 },
30330 "avail" : {
30331 "description" : "Available storage space in bytes.",
30332 "optional" : 1,
30333 "renderer" : "bytes",
30334 "type" : "integer"
30335 },
30336 "content" : {
30337 "description" : "Allowed storage content types.",
30338 "format" : "pve-storage-content-list",
30339 "type" : "string"
30340 },
30341 "enabled" : {
30342 "description" : "Set when storage is enabled (not disabled).",
30343 "optional" : 1,
30344 "type" : "boolean"
30345 },
30346 "shared" : {
30347 "description" : "Shared flag from storage configuration.",
30348 "optional" : 1,
30349 "type" : "boolean"
30350 },
30351 "storage" : {
30352 "description" : "The storage identifier.",
30353 "format" : "pve-storage-id",
30354 "type" : "string"
30355 },
30356 "total" : {
30357 "description" : "Total storage space in bytes.",
30358 "optional" : 1,
30359 "renderer" : "bytes",
30360 "type" : "integer"
30361 },
30362 "type" : {
30363 "description" : "Storage type.",
30364 "type" : "string"
30365 },
30366 "used" : {
30367 "description" : "Used storage space in bytes.",
30368 "optional" : 1,
30369 "renderer" : "bytes",
30370 "type" : "integer"
30371 },
30372 "used_fraction" : {
30373 "description" : "Used fraction (used/total).",
30374 "optional" : 1,
30375 "renderer" : "fraction_as_percentage",
30376 "type" : "number"
7aacca6f 30377 }
4d47f125
TL
30378 },
30379 "type" : "object"
30380 },
30381 "links" : [
30382 {
30383 "href" : "{storage}",
30384 "rel" : "child"
30385 }
30386 ],
30387 "type" : "array"
30388 }
30389 }
30390 },
30391 "leaf" : 0,
30392 "path" : "/nodes/{node}/storage",
30393 "text" : "storage"
30394 },
30395 {
30396 "children" : [
30397 {
30398 "info" : {
30399 "GET" : {
30400 "description" : "List LVM Volume Groups",
30401 "method" : "GET",
30402 "name" : "index",
30403 "parameters" : {
30404 "additionalProperties" : 0,
30405 "properties" : {
30406 "node" : {
30407 "description" : "The cluster node name.",
30408 "format" : "pve-node",
30409 "type" : "string",
30410 "typetext" : "<string>"
30411 }
30412 }
30413 },
30414 "permissions" : {
30415 "check" : [
30416 "perm",
30417 "/",
30418 [
30419 "Sys.Audit",
30420 "Datastore.Audit"
30421 ],
30422 "any",
30423 1
30424 ]
30425 },
30426 "protected" : 1,
30427 "proxyto" : "node",
30428 "returns" : {
30429 "properties" : {
30430 "children" : {
44660702
DM
30431 "items" : {
30432 "properties" : {
4d47f125
TL
30433 "children" : {
30434 "description" : "The underlying physical volumes",
30435 "items" : {
30436 "properties" : {
30437 "free" : {
30438 "description" : "The free bytes in the physical volume",
30439 "type" : "integer"
30440 },
30441 "leaf" : {
30442 "type" : "boolean"
30443 },
30444 "name" : {
30445 "description" : "The name of the physical volume",
30446 "type" : "string"
30447 },
30448 "size" : {
30449 "description" : "The size of the physical volume in bytes",
30450 "type" : "integer"
30451 }
30452 },
30453 "type" : "object"
30454 },
30455 "optional" : 1,
30456 "type" : "array"
30457 },
30458 "free" : {
30459 "description" : "The free bytes in the volume group",
30460 "type" : "integer"
30461 },
30462 "leaf" : {
30463 "type" : "boolean"
30464 },
30465 "name" : {
30466 "description" : "The name of the volume group",
44660702 30467 "type" : "string"
4d47f125
TL
30468 },
30469 "size" : {
30470 "description" : "The size of the volume group in bytes",
30471 "type" : "integer"
44660702
DM
30472 }
30473 },
30474 "type" : "object"
30475 },
44660702 30476 "type" : "array"
4d47f125
TL
30477 },
30478 "leaf" : {
30479 "type" : "boolean"
44660702
DM
30480 }
30481 },
4d47f125
TL
30482 "type" : "object"
30483 }
30484 },
30485 "POST" : {
30486 "description" : "Create an LVM Volume Group",
30487 "method" : "POST",
30488 "name" : "create",
30489 "parameters" : {
30490 "additionalProperties" : 0,
30491 "properties" : {
30492 "add_storage" : {
30493 "default" : 0,
30494 "description" : "Configure storage using the Volume Group",
30495 "optional" : 1,
30496 "type" : "boolean",
30497 "typetext" : "<boolean>"
44660702 30498 },
4d47f125
TL
30499 "device" : {
30500 "description" : "The block device you want to create the volume group on",
30501 "type" : "string",
30502 "typetext" : "<string>"
44660702 30503 },
4d47f125
TL
30504 "name" : {
30505 "description" : "The storage identifier.",
30506 "format" : "pve-storage-id",
30507 "type" : "string",
30508 "typetext" : "<string>"
30509 },
30510 "node" : {
30511 "description" : "The cluster node name.",
30512 "format" : "pve-node",
30513 "type" : "string",
30514 "typetext" : "<string>"
30515 }
30516 }
30517 },
30518 "permissions" : {
30519 "check" : [
30520 "perm",
30521 "/",
30522 [
30523 "Sys.Modify",
30524 "Datastore.Allocate"
30525 ]
30526 ]
30527 },
30528 "protected" : 1,
30529 "proxyto" : "node",
30530 "returns" : {
30531 "type" : "string"
30532 }
30533 }
30534 },
30535 "leaf" : 1,
30536 "path" : "/nodes/{node}/disks/lvm",
30537 "text" : "lvm"
30538 },
30539 {
30540 "info" : {
30541 "GET" : {
30542 "description" : "List LVM thinpools",
30543 "method" : "GET",
30544 "name" : "index",
30545 "parameters" : {
30546 "additionalProperties" : 0,
30547 "properties" : {
30548 "node" : {
30549 "description" : "The cluster node name.",
30550 "format" : "pve-node",
30551 "type" : "string",
30552 "typetext" : "<string>"
44660702
DM
30553 }
30554 }
30555 },
4d47f125
TL
30556 "permissions" : {
30557 "check" : [
30558 "perm",
30559 "/",
30560 [
30561 "Sys.Audit",
30562 "Datastore.Audit"
30563 ],
30564 "any",
30565 1
30566 ]
30567 },
30568 "protected" : 1,
30569 "proxyto" : "node",
30570 "returns" : {
30571 "items" : {
30572 "properties" : {
30573 "lv" : {
30574 "description" : "The name of the thinpool.",
30575 "type" : "string"
30576 },
30577 "lv_size" : {
30578 "description" : "The size of the thinpool in bytes.",
30579 "type" : "integer"
30580 },
30581 "metadata_size" : {
30582 "description" : "The size of the metadata lv in bytes.",
30583 "type" : "integer"
30584 },
30585 "metadata_used" : {
30586 "description" : "The used bytes of the metadata lv.",
30587 "type" : "integer"
30588 },
30589 "used" : {
30590 "description" : "The used bytes of the thinpool.",
30591 "type" : "integer"
44660702
DM
30592 }
30593 },
4d47f125
TL
30594 "type" : "object"
30595 },
30596 "type" : "array"
30597 }
30598 },
30599 "POST" : {
30600 "description" : "Create an LVM thinpool",
30601 "method" : "POST",
30602 "name" : "create",
30603 "parameters" : {
30604 "additionalProperties" : 0,
30605 "properties" : {
30606 "add_storage" : {
30607 "default" : 0,
30608 "description" : "Configure storage using the thinpool.",
30609 "optional" : 1,
30610 "type" : "boolean",
30611 "typetext" : "<boolean>"
56122987 30612 },
4d47f125
TL
30613 "device" : {
30614 "description" : "The block device you want to create the thinpool on.",
30615 "type" : "string",
30616 "typetext" : "<string>"
30617 },
30618 "name" : {
30619 "description" : "The storage identifier.",
30620 "format" : "pve-storage-id",
30621 "type" : "string",
30622 "typetext" : "<string>"
30623 },
30624 "node" : {
30625 "description" : "The cluster node name.",
30626 "format" : "pve-node",
30627 "type" : "string",
30628 "typetext" : "<string>"
44660702 30629 }
56122987
DM
30630 }
30631 },
4d47f125
TL
30632 "permissions" : {
30633 "check" : [
30634 "perm",
30635 "/",
30636 [
30637 "Sys.Modify",
30638 "Datastore.Allocate"
30639 ]
30640 ]
30641 },
30642 "protected" : 1,
30643 "proxyto" : "node",
30644 "returns" : {
30645 "type" : "string"
30646 }
30647 }
30648 },
30649 "leaf" : 1,
30650 "path" : "/nodes/{node}/disks/lvmthin",
30651 "text" : "lvmthin"
30652 },
30653 {
30654 "info" : {
30655 "GET" : {
30656 "description" : "PVE Managed Directory storages.",
30657 "method" : "GET",
30658 "name" : "index",
30659 "parameters" : {
30660 "additionalProperties" : 0,
30661 "properties" : {
30662 "node" : {
30663 "description" : "The cluster node name.",
30664 "format" : "pve-node",
30665 "type" : "string",
30666 "typetext" : "<string>"
30667 }
30668 }
30669 },
30670 "permissions" : {
30671 "check" : [
30672 "perm",
30673 "/",
30674 [
30675 "Sys.Audit",
30676 "Datastore.Audit"
30677 ],
30678 "any",
30679 1
30680 ]
30681 },
30682 "protected" : 1,
30683 "proxyto" : "node",
30684 "returns" : {
30685 "items" : {
30686 "properties" : {
30687 "device" : {
30688 "description" : "The mounted device.",
30689 "type" : "string"
30690 },
30691 "options" : {
30692 "description" : "The mount options.",
30693 "type" : "string"
30694 },
30695 "path" : {
30696 "description" : "The mount path.",
30697 "type" : "string"
30698 },
30699 "type" : {
30700 "description" : "The filesystem type.",
30701 "type" : "string"
30702 },
30703 "unitfile" : {
30704 "description" : "The path of the mount unit.",
30705 "type" : "string"
44660702 30706 }
56122987 30707 },
4d47f125
TL
30708 "type" : "object"
30709 },
30710 "type" : "array"
30711 }
30712 },
30713 "POST" : {
30714 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
30715 "method" : "POST",
30716 "name" : "create",
30717 "parameters" : {
30718 "additionalProperties" : 0,
30719 "properties" : {
30720 "add_storage" : {
30721 "default" : 0,
30722 "description" : "Configure storage using the directory.",
30723 "optional" : 1,
30724 "type" : "boolean",
30725 "typetext" : "<boolean>"
30726 },
30727 "device" : {
30728 "description" : "The block device you want to create the filesystem on.",
30729 "type" : "string",
30730 "typetext" : "<string>"
30731 },
30732 "filesystem" : {
30733 "default" : "ext4",
30734 "description" : "The desired filesystem.",
30735 "enum" : [
30736 "ext4",
30737 "xfs"
30738 ],
30739 "optional" : 1,
30740 "type" : "string"
56122987 30741 },
4d47f125
TL
30742 "name" : {
30743 "description" : "The storage identifier.",
30744 "format" : "pve-storage-id",
30745 "type" : "string",
30746 "typetext" : "<string>"
30747 },
30748 "node" : {
30749 "description" : "The cluster node name.",
30750 "format" : "pve-node",
30751 "type" : "string",
30752 "typetext" : "<string>"
7aacca6f 30753 }
56122987
DM
30754 }
30755 },
4d47f125
TL
30756 "permissions" : {
30757 "check" : [
30758 "perm",
30759 "/",
30760 [
30761 "Sys.Modify",
30762 "Datastore.Allocate"
30763 ]
30764 ]
30765 },
30766 "protected" : 1,
30767 "proxyto" : "node",
30768 "returns" : {
30769 "type" : "string"
30770 }
30771 }
30772 },
30773 "leaf" : 1,
30774 "path" : "/nodes/{node}/disks/directory",
30775 "text" : "directory"
30776 },
30777 {
30778 "children" : [
56122987 30779 {
56122987
DM
30780 "info" : {
30781 "GET" : {
4d47f125 30782 "description" : "Get details about a zpool.",
44660702 30783 "method" : "GET",
4d47f125 30784 "name" : "detail",
56122987 30785 "parameters" : {
44660702 30786 "additionalProperties" : 0,
56122987 30787 "properties" : {
4d47f125
TL
30788 "name" : {
30789 "description" : "The storage identifier.",
30790 "format" : "pve-storage-id",
30791 "type" : "string",
30792 "typetext" : "<string>"
44660702 30793 },
7aacca6f 30794 "node" : {
7aacca6f 30795 "description" : "The cluster node name.",
44660702 30796 "format" : "pve-node",
013dc89f
DM
30797 "type" : "string",
30798 "typetext" : "<string>"
56122987 30799 }
44660702 30800 }
7aacca6f 30801 },
7aacca6f
DM
30802 "permissions" : {
30803 "check" : [
30804 "perm",
4d47f125 30805 "/",
7aacca6f 30806 [
4d47f125
TL
30807 "Sys.Audit",
30808 "Datastore.Audit"
7aacca6f
DM
30809 ],
30810 "any",
30811 1
30812 ]
30813 },
44660702
DM
30814 "protected" : 1,
30815 "proxyto" : "node",
7aacca6f 30816 "returns" : {
56122987 30817 "properties" : {
4d47f125
TL
30818 "action" : {
30819 "description" : "Information about the recommended action to fix the state.",
30820 "optional" : 1,
30821 "type" : "string"
56122987 30822 },
4d47f125 30823 "children" : {
e2d681b3 30824 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
30825 "items" : {
30826 "properties" : {
30827 "cksum" : {
e2d681b3 30828 "optional" : 1,
4d47f125
TL
30829 "type" : "number"
30830 },
30831 "msg" : {
30832 "description" : "An optional message about the vdev.",
30833 "type" : "string"
30834 },
30835 "name" : {
e2d681b3 30836 "description" : "The name of the vdev or section.",
4d47f125
TL
30837 "type" : "string"
30838 },
30839 "read" : {
e2d681b3 30840 "optional" : 1,
4d47f125
TL
30841 "type" : "number"
30842 },
30843 "state" : {
30844 "description" : "The state of the vdev.",
e2d681b3 30845 "optional" : 1,
4d47f125
TL
30846 "type" : "string"
30847 },
30848 "write" : {
e2d681b3 30849 "optional" : 1,
4d47f125
TL
30850 "type" : "number"
30851 }
30852 },
30853 "type" : "object"
30854 },
30855 "type" : "array"
56122987 30856 },
e2d681b3
TL
30857 "errors" : {
30858 "description" : "Information about the errors on the zpool.",
30859 "type" : "string"
30860 },
4d47f125
TL
30861 "name" : {
30862 "description" : "The name of the zpool.",
30863 "type" : "string"
44660702 30864 },
4d47f125 30865 "scan" : {
e2d681b3 30866 "description" : "Information about the last/current scrub.",
4d47f125 30867 "type" : "string"
44660702 30868 },
4d47f125
TL
30869 "state" : {
30870 "description" : "The state of the zpool.",
30871 "type" : "string"
30872 },
30873 "status" : {
30874 "description" : "Information about the state of the zpool.",
44660702 30875 "optional" : 1,
4d47f125 30876 "type" : "string"
56122987 30877 }
4d47f125
TL
30878 },
30879 "type" : "object"
44660702
DM
30880 }
30881 }
30882 },
30883 "leaf" : 1,
4d47f125
TL
30884 "path" : "/nodes/{node}/disks/zfs/{name}",
30885 "text" : "{name}"
44660702
DM
30886 }
30887 ],
30888 "info" : {
30889 "GET" : {
4d47f125 30890 "description" : "List Zpools.",
44660702 30891 "method" : "GET",
4d47f125 30892 "name" : "index",
44660702
DM
30893 "parameters" : {
30894 "additionalProperties" : 0,
30895 "properties" : {
30896 "node" : {
30897 "description" : "The cluster node name.",
30898 "format" : "pve-node",
013dc89f
DM
30899 "type" : "string",
30900 "typetext" : "<string>"
4d47f125
TL
30901 }
30902 }
30903 },
30904 "permissions" : {
30905 "check" : [
30906 "perm",
30907 "/",
30908 [
30909 "Sys.Audit",
30910 "Datastore.Audit"
30911 ],
30912 "any",
30913 1
30914 ]
30915 },
30916 "protected" : 1,
30917 "proxyto" : "node",
30918 "returns" : {
30919 "items" : {
30920 "properties" : {
30921 "alloc" : {
30922 "description" : "",
30923 "type" : "integer"
30924 },
30925 "dedup" : {
30926 "description" : "",
30927 "type" : "number"
30928 },
30929 "frag" : {
30930 "description" : "",
30931 "type" : "integer"
30932 },
30933 "free" : {
30934 "description" : "",
30935 "type" : "integer"
30936 },
30937 "health" : {
30938 "description" : "",
30939 "type" : "string"
30940 },
30941 "name" : {
30942 "description" : "",
30943 "type" : "string"
30944 },
30945 "size" : {
30946 "description" : "",
30947 "type" : "integer"
30948 }
30949 },
30950 "type" : "object"
30951 },
30952 "links" : [
30953 {
30954 "href" : "{name}",
30955 "rel" : "child"
30956 }
30957 ],
30958 "type" : "array"
30959 }
30960 },
30961 "POST" : {
30962 "description" : "Create a ZFS pool.",
30963 "method" : "POST",
30964 "name" : "create",
30965 "parameters" : {
30966 "additionalProperties" : 0,
30967 "properties" : {
30968 "add_storage" : {
30969 "default" : 0,
30970 "description" : "Configure storage using the zpool.",
30971 "optional" : 1,
30972 "type" : "boolean",
30973 "typetext" : "<boolean>"
30974 },
30975 "ashift" : {
30976 "default" : 12,
30977 "description" : "Pool sector size exponent.",
30978 "maximum" : 16,
30979 "minimum" : 9,
30980 "optional" : 1,
30981 "type" : "integer",
30982 "typetext" : "<integer> (9 - 16)"
30983 },
30984 "compression" : {
30985 "default" : "on",
30986 "description" : "The compression algorithm to use.",
30987 "enum" : [
30988 "on",
30989 "off",
30990 "gzip",
30991 "lz4",
30992 "lzjb",
30993 "zle"
30994 ],
30995 "optional" : 1,
30996 "type" : "string"
30997 },
30998 "devices" : {
30999 "description" : "The block devices you want to create the zpool on.",
31000 "format" : "string-list",
31001 "type" : "string",
31002 "typetext" : "<string>"
44660702 31003 },
4d47f125 31004 "name" : {
44660702
DM
31005 "description" : "The storage identifier.",
31006 "format" : "pve-storage-id",
013dc89f
DM
31007 "type" : "string",
31008 "typetext" : "<string>"
4d47f125
TL
31009 },
31010 "node" : {
31011 "description" : "The cluster node name.",
31012 "format" : "pve-node",
31013 "type" : "string",
31014 "typetext" : "<string>"
31015 },
31016 "raidlevel" : {
31017 "description" : "The RAID level to use.",
31018 "enum" : [
31019 "single",
31020 "mirror",
31021 "raid10",
31022 "raidz",
31023 "raidz2",
31024 "raidz3"
31025 ],
31026 "type" : "string"
56122987
DM
31027 }
31028 }
44660702
DM
31029 },
31030 "permissions" : {
31031 "check" : [
31032 "perm",
4d47f125 31033 "/",
44660702 31034 [
4d47f125
TL
31035 "Sys.Modify",
31036 "Datastore.Allocate"
31037 ]
44660702
DM
31038 ]
31039 },
4d47f125
TL
31040 "protected" : 1,
31041 "proxyto" : "node",
44660702 31042 "returns" : {
4d47f125 31043 "type" : "string"
56122987
DM
31044 }
31045 }
44660702
DM
31046 },
31047 "leaf" : 0,
4d47f125
TL
31048 "path" : "/nodes/{node}/disks/zfs",
31049 "text" : "zfs"
31050 },
2c0dde61
DM
31051 {
31052 "info" : {
31053 "GET" : {
31054 "description" : "List local disks.",
31055 "method" : "GET",
31056 "name" : "list",
31057 "parameters" : {
31058 "additionalProperties" : 0,
31059 "properties" : {
31060 "node" : {
31061 "description" : "The cluster node name.",
31062 "format" : "pve-node",
013dc89f
DM
31063 "type" : "string",
31064 "typetext" : "<string>"
4d47f125
TL
31065 },
31066 "skipsmart" : {
31067 "default" : 0,
31068 "description" : "Skip smart checks.",
31069 "optional" : 1,
31070 "type" : "boolean",
31071 "typetext" : "<boolean>"
31072 },
31073 "type" : {
31074 "description" : "Only list specific types of disks.",
31075 "enum" : [
31076 "unused",
31077 "journal_disks"
31078 ],
31079 "optional" : 1,
31080 "type" : "string"
2c0dde61
DM
31081 }
31082 }
31083 },
31084 "permissions" : {
31085 "check" : [
31086 "perm",
31087 "/",
31088 [
31089 "Sys.Audit",
31090 "Datastore.Audit"
31091 ],
31092 "any",
31093 1
31094 ]
31095 },
31096 "protected" : 1,
31097 "proxyto" : "node",
31098 "returns" : {
31099 "items" : {
31100 "properties" : {
31101 "devpath" : {
31102 "description" : "The device path",
31103 "type" : "string"
31104 },
31105 "gpt" : {
31106 "type" : "boolean"
31107 },
31108 "health" : {
31109 "optional" : 1,
31110 "type" : "string"
31111 },
31112 "model" : {
31113 "optional" : 1,
31114 "type" : "string"
31115 },
31116 "osdid" : {
31117 "type" : "integer"
31118 },
31119 "serial" : {
31120 "optional" : 1,
31121 "type" : "string"
31122 },
31123 "size" : {
31124 "type" : "integer"
31125 },
31126 "used" : {
31127 "optional" : 1,
31128 "type" : "string"
31129 },
31130 "vendor" : {
31131 "optional" : 1,
31132 "type" : "string"
31133 },
31134 "wwn" : {
31135 "optional" : 1,
31136 "type" : "string"
31137 }
31138 },
31139 "type" : "object"
31140 },
31141 "type" : "array"
31142 }
31143 }
31144 },
31145 "leaf" : 1,
31146 "path" : "/nodes/{node}/disks/list",
31147 "text" : "list"
31148 },
31149 {
31150 "info" : {
31151 "GET" : {
31152 "description" : "Get SMART Health of a disk.",
31153 "method" : "GET",
31154 "name" : "smart",
31155 "parameters" : {
31156 "additionalProperties" : 0,
31157 "properties" : {
31158 "disk" : {
31159 "description" : "Block device name",
31160 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
31161 "type" : "string"
31162 },
31163 "healthonly" : {
31164 "description" : "If true returns only the health status",
31165 "optional" : 1,
013dc89f
DM
31166 "type" : "boolean",
31167 "typetext" : "<boolean>"
2c0dde61
DM
31168 },
31169 "node" : {
31170 "description" : "The cluster node name.",
31171 "format" : "pve-node",
013dc89f
DM
31172 "type" : "string",
31173 "typetext" : "<string>"
2c0dde61
DM
31174 }
31175 }
31176 },
31177 "permissions" : {
31178 "check" : [
31179 "perm",
31180 "/",
31181 [
31182 "Sys.Audit",
31183 "Datastore.Audit"
31184 ],
31185 "any",
31186 1
31187 ]
31188 },
31189 "protected" : 1,
31190 "proxyto" : "node",
31191 "returns" : {
de0983cb
DM
31192 "properties" : {
31193 "attributes" : {
31194 "optional" : 1,
31195 "type" : "array"
31196 },
31197 "health" : {
31198 "type" : "string"
31199 },
31200 "text" : {
31201 "optional" : 1,
31202 "type" : "string"
31203 },
31204 "type" : {
31205 "optional" : 1,
31206 "type" : "string"
31207 }
31208 },
2c0dde61
DM
31209 "type" : "object"
31210 }
31211 }
31212 },
31213 "leaf" : 1,
31214 "path" : "/nodes/{node}/disks/smart",
31215 "text" : "smart"
31216 },
31217 {
31218 "info" : {
31219 "POST" : {
31220 "description" : "Initialize Disk with GPT",
31221 "method" : "POST",
31222 "name" : "initgpt",
31223 "parameters" : {
31224 "additionalProperties" : 0,
31225 "properties" : {
31226 "disk" : {
31227 "description" : "Block device name",
31228 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
31229 "type" : "string"
31230 },
31231 "node" : {
31232 "description" : "The cluster node name.",
31233 "format" : "pve-node",
013dc89f
DM
31234 "type" : "string",
31235 "typetext" : "<string>"
2c0dde61
DM
31236 },
31237 "uuid" : {
31238 "description" : "UUID for the GPT table",
31239 "maxLength" : 36,
31240 "optional" : 1,
31241 "pattern" : "[a-fA-F0-9\\-]+",
31242 "type" : "string"
31243 }
31244 }
31245 },
31246 "permissions" : {
31247 "check" : [
31248 "perm",
31249 "/",
31250 [
31251 "Sys.Modify"
31252 ]
31253 ]
31254 },
31255 "protected" : 1,
31256 "proxyto" : "node",
31257 "returns" : {
31258 "type" : "string"
31259 }
31260 }
31261 },
31262 "leaf" : 1,
31263 "path" : "/nodes/{node}/disks/initgpt",
31264 "text" : "initgpt"
31265 }
31266 ],
31267 "info" : {
31268 "GET" : {
31269 "description" : "Node index.",
31270 "method" : "GET",
31271 "name" : "index",
31272 "parameters" : {
31273 "additionalProperties" : 0,
31274 "properties" : {
31275 "node" : {
31276 "description" : "The cluster node name.",
31277 "format" : "pve-node",
013dc89f
DM
31278 "type" : "string",
31279 "typetext" : "<string>"
2c0dde61
DM
31280 }
31281 }
31282 },
31283 "permissions" : {
31284 "user" : "all"
31285 },
31286 "proxyto" : "node",
31287 "returns" : {
31288 "items" : {
31289 "properties" : {},
31290 "type" : "object"
31291 },
31292 "links" : [
31293 {
31294 "href" : "{name}",
31295 "rel" : "child"
31296 }
31297 ],
31298 "type" : "array"
31299 }
31300 }
31301 },
31302 "leaf" : 0,
31303 "path" : "/nodes/{node}/disks",
31304 "text" : "disks"
31305 },
56122987 31306 {
56122987
DM
31307 "children" : [
31308 {
31309 "info" : {
44660702
DM
31310 "GET" : {
31311 "description" : "List available updates.",
31312 "method" : "GET",
31313 "name" : "list_updates",
31314 "parameters" : {
31315 "additionalProperties" : 0,
31316 "properties" : {
31317 "node" : {
31318 "description" : "The cluster node name.",
31319 "format" : "pve-node",
013dc89f
DM
31320 "type" : "string",
31321 "typetext" : "<string>"
44660702
DM
31322 }
31323 }
7aacca6f
DM
31324 },
31325 "permissions" : {
31326 "check" : [
31327 "perm",
31328 "/nodes/{node}",
31329 [
31330 "Sys.Modify"
31331 ]
31332 ]
31333 },
44660702 31334 "protected" : 1,
56122987 31335 "proxyto" : "node",
44660702
DM
31336 "returns" : {
31337 "items" : {
31338 "properties" : {},
31339 "type" : "object"
31340 },
31341 "type" : "array"
31342 }
31343 },
31344 "POST" : {
31345 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
31346 "method" : "POST",
31347 "name" : "update_database",
56122987
DM
31348 "parameters" : {
31349 "additionalProperties" : 0,
31350 "properties" : {
44660702
DM
31351 "node" : {
31352 "description" : "The cluster node name.",
31353 "format" : "pve-node",
013dc89f
DM
31354 "type" : "string",
31355 "typetext" : "<string>"
44660702 31356 },
56122987 31357 "notify" : {
56122987 31358 "default" : 0,
44660702
DM
31359 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
31360 "optional" : 1,
013dc89f
DM
31361 "type" : "boolean",
31362 "typetext" : "<boolean>"
56122987
DM
31363 },
31364 "quiet" : {
56122987 31365 "default" : 0,
44660702 31366 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 31367 "optional" : 1,
013dc89f
DM
31368 "type" : "boolean",
31369 "typetext" : "<boolean>"
56122987 31370 }
7aacca6f
DM
31371 }
31372 },
31373 "permissions" : {
31374 "check" : [
31375 "perm",
31376 "/nodes/{node}",
31377 [
31378 "Sys.Modify"
31379 ]
31380 ]
31381 },
44660702
DM
31382 "protected" : 1,
31383 "proxyto" : "node",
31384 "returns" : {
31385 "type" : "string"
31386 }
56122987
DM
31387 }
31388 },
7aacca6f 31389 "leaf" : 1,
44660702
DM
31390 "path" : "/nodes/{node}/apt/update",
31391 "text" : "update"
56122987
DM
31392 },
31393 {
56122987
DM
31394 "info" : {
31395 "GET" : {
44660702 31396 "description" : "Get package changelogs.",
56122987 31397 "method" : "GET",
7aacca6f 31398 "name" : "changelog",
56122987 31399 "parameters" : {
44660702 31400 "additionalProperties" : 0,
56122987
DM
31401 "properties" : {
31402 "name" : {
31403 "description" : "Package name.",
013dc89f
DM
31404 "type" : "string",
31405 "typetext" : "<string>"
56122987 31406 },
44660702
DM
31407 "node" : {
31408 "description" : "The cluster node name.",
31409 "format" : "pve-node",
013dc89f
DM
31410 "type" : "string",
31411 "typetext" : "<string>"
44660702 31412 },
56122987 31413 "version" : {
7aacca6f 31414 "description" : "Package version.",
44660702 31415 "optional" : 1,
013dc89f
DM
31416 "type" : "string",
31417 "typetext" : "<string>"
56122987 31418 }
44660702 31419 }
56122987 31420 },
44660702
DM
31421 "permissions" : {
31422 "check" : [
31423 "perm",
31424 "/nodes/{node}",
31425 [
31426 "Sys.Modify"
31427 ]
31428 ]
31429 },
31430 "proxyto" : "node",
31431 "returns" : {
31432 "type" : "string"
31433 }
56122987
DM
31434 }
31435 },
44660702
DM
31436 "leaf" : 1,
31437 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 31438 "text" : "changelog"
56122987
DM
31439 },
31440 {
56122987
DM
31441 "info" : {
31442 "GET" : {
44660702
DM
31443 "description" : "Get package information for important Proxmox packages.",
31444 "method" : "GET",
7aacca6f
DM
31445 "name" : "versions",
31446 "parameters" : {
44660702 31447 "additionalProperties" : 0,
7aacca6f
DM
31448 "properties" : {
31449 "node" : {
44660702 31450 "description" : "The cluster node name.",
7aacca6f 31451 "format" : "pve-node",
013dc89f
DM
31452 "type" : "string",
31453 "typetext" : "<string>"
7aacca6f 31454 }
44660702 31455 }
7aacca6f 31456 },
56122987
DM
31457 "permissions" : {
31458 "check" : [
31459 "perm",
31460 "/nodes/{node}",
31461 [
31462 "Sys.Audit"
31463 ]
31464 ]
31465 },
7aacca6f 31466 "proxyto" : "node",
56122987
DM
31467 "returns" : {
31468 "items" : {
7aacca6f
DM
31469 "properties" : {},
31470 "type" : "object"
44660702
DM
31471 },
31472 "type" : "array"
56122987
DM
31473 }
31474 }
31475 },
44660702 31476 "leaf" : 1,
7aacca6f 31477 "path" : "/nodes/{node}/apt/versions",
44660702 31478 "text" : "versions"
56122987
DM
31479 }
31480 ],
56122987
DM
31481 "info" : {
31482 "GET" : {
44660702 31483 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 31484 "method" : "GET",
44660702 31485 "name" : "index",
7aacca6f
DM
31486 "parameters" : {
31487 "additionalProperties" : 0,
31488 "properties" : {
31489 "node" : {
44660702 31490 "description" : "The cluster node name.",
7aacca6f 31491 "format" : "pve-node",
013dc89f
DM
31492 "type" : "string",
31493 "typetext" : "<string>"
7aacca6f
DM
31494 }
31495 }
31496 },
7aacca6f
DM
31497 "permissions" : {
31498 "user" : "all"
31499 },
44660702
DM
31500 "returns" : {
31501 "items" : {
31502 "properties" : {
31503 "id" : {
31504 "type" : "string"
31505 }
31506 },
31507 "type" : "object"
31508 },
31509 "links" : [
31510 {
31511 "href" : "{id}",
31512 "rel" : "child"
31513 }
31514 ],
31515 "type" : "array"
31516 }
56122987 31517 }
7aacca6f 31518 },
44660702 31519 "leaf" : 0,
7aacca6f 31520 "path" : "/nodes/{node}/apt",
44660702 31521 "text" : "apt"
56122987
DM
31522 },
31523 {
56122987
DM
31524 "children" : [
31525 {
31526 "children" : [
31527 {
56122987
DM
31528 "info" : {
31529 "DELETE" : {
44660702 31530 "description" : "Delete rule.",
7aacca6f 31531 "method" : "DELETE",
44660702 31532 "name" : "delete_rule",
56122987
DM
31533 "parameters" : {
31534 "additionalProperties" : 0,
31535 "properties" : {
56122987
DM
31536 "digest" : {
31537 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 31538 "maxLength" : 40,
56122987 31539 "optional" : 1,
013dc89f
DM
31540 "type" : "string",
31541 "typetext" : "<string>"
56122987 31542 },
44660702
DM
31543 "node" : {
31544 "description" : "The cluster node name.",
31545 "format" : "pve-node",
013dc89f
DM
31546 "type" : "string",
31547 "typetext" : "<string>"
44660702 31548 },
7aacca6f 31549 "pos" : {
7aacca6f 31550 "description" : "Update rule at position <pos>.",
44660702
DM
31551 "minimum" : 0,
31552 "optional" : 1,
4bd7df8b 31553 "type" : "integer",
013dc89f 31554 "typetext" : "<integer> (0 - N)"
56122987
DM
31555 }
31556 }
31557 },
44660702
DM
31558 "permissions" : {
31559 "check" : [
31560 "perm",
31561 "/nodes/{node}",
31562 [
31563 "Sys.Modify"
31564 ]
31565 ]
31566 },
31567 "protected" : 1,
31568 "proxyto" : "node",
56122987
DM
31569 "returns" : {
31570 "type" : "null"
44660702
DM
31571 }
31572 },
31573 "GET" : {
31574 "description" : "Get single rule data.",
31575 "method" : "GET",
31576 "name" : "get_rule",
31577 "parameters" : {
31578 "additionalProperties" : 0,
31579 "properties" : {
31580 "node" : {
31581 "description" : "The cluster node name.",
31582 "format" : "pve-node",
013dc89f
DM
31583 "type" : "string",
31584 "typetext" : "<string>"
44660702
DM
31585 },
31586 "pos" : {
31587 "description" : "Update rule at position <pos>.",
31588 "minimum" : 0,
31589 "optional" : 1,
4bd7df8b 31590 "type" : "integer",
013dc89f 31591 "typetext" : "<integer> (0 - N)"
44660702
DM
31592 }
31593 }
56122987 31594 },
56122987
DM
31595 "permissions" : {
31596 "check" : [
31597 "perm",
31598 "/nodes/{node}",
31599 [
44660702 31600 "Sys.Audit"
56122987
DM
31601 ]
31602 ]
44660702
DM
31603 },
31604 "proxyto" : "node",
31605 "returns" : {
31606 "properties" : {
e2d681b3
TL
31607 "action" : {
31608 "type" : "string"
31609 },
31610 "comment" : {
31611 "optional" : 1,
31612 "type" : "string"
31613 },
31614 "dest" : {
31615 "optional" : 1,
31616 "type" : "string"
31617 },
31618 "dport" : {
31619 "optional" : 1,
31620 "type" : "string"
31621 },
31622 "enable" : {
31623 "optional" : 1,
31624 "type" : "integer"
31625 },
31626 "iface" : {
31627 "optional" : 1,
31628 "type" : "string"
31629 },
31630 "ipversion" : {
31631 "optional" : 1,
31632 "type" : "integer"
31633 },
95895385
TL
31634 "log" : {
31635 "description" : "Log level for firewall rule",
31636 "enum" : [
31637 "emerg",
31638 "alert",
31639 "crit",
31640 "err",
31641 "warning",
31642 "notice",
31643 "info",
31644 "debug",
31645 "nolog"
31646 ],
31647 "optional" : 1,
31648 "type" : "string"
31649 },
e2d681b3
TL
31650 "macro" : {
31651 "optional" : 1,
5f26e15b 31652 "type" : "string"
e2d681b3 31653 },
44660702
DM
31654 "pos" : {
31655 "type" : "integer"
e2d681b3
TL
31656 },
31657 "proto" : {
31658 "optional" : 1,
31659 "type" : "string"
31660 },
31661 "source" : {
31662 "optional" : 1,
31663 "type" : "string"
31664 },
31665 "sport" : {
31666 "optional" : 1,
31667 "type" : "string"
31668 },
31669 "type" : {
31670 "type" : "string"
44660702
DM
31671 }
31672 },
31673 "type" : "object"
7aacca6f 31674 }
56122987
DM
31675 },
31676 "PUT" : {
44660702
DM
31677 "description" : "Modify rule data.",
31678 "method" : "PUT",
56122987 31679 "name" : "update_rule",
56122987 31680 "parameters" : {
44660702 31681 "additionalProperties" : 0,
56122987 31682 "properties" : {
44660702
DM
31683 "action" : {
31684 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
31685 "maxLength" : 20,
31686 "minLength" : 2,
56122987 31687 "optional" : 1,
44660702
DM
31688 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
31689 "type" : "string"
56122987 31690 },
7aacca6f 31691 "comment" : {
e94f0d56 31692 "description" : "Descriptive comment.",
56122987 31693 "optional" : 1,
013dc89f
DM
31694 "type" : "string",
31695 "typetext" : "<string>"
56122987 31696 },
44660702
DM
31697 "delete" : {
31698 "description" : "A list of settings you want to delete.",
31699 "format" : "pve-configid-list",
56122987 31700 "optional" : 1,
013dc89f
DM
31701 "type" : "string",
31702 "typetext" : "<string>"
56122987 31703 },
44660702
DM
31704 "dest" : {
31705 "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.",
31706 "format" : "pve-fw-addr-spec",
56122987 31707 "optional" : 1,
013dc89f
DM
31708 "type" : "string",
31709 "typetext" : "<string>"
56122987 31710 },
44660702
DM
31711 "digest" : {
31712 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
31713 "maxLength" : 40,
56122987 31714 "optional" : 1,
013dc89f
DM
31715 "type" : "string",
31716 "typetext" : "<string>"
56122987 31717 },
7aacca6f 31718 "dport" : {
7aacca6f 31719 "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
31720 "format" : "pve-fw-dport-spec",
31721 "optional" : 1,
013dc89f
DM
31722 "type" : "string",
31723 "typetext" : "<string>"
7aacca6f 31724 },
44660702 31725 "enable" : {
e94f0d56 31726 "description" : "Flag to enable/disable a rule.",
44660702 31727 "minimum" : 0,
56122987 31728 "optional" : 1,
4bd7df8b 31729 "type" : "integer",
013dc89f 31730 "typetext" : "<integer> (0 - N)"
56122987 31731 },
7aacca6f 31732 "iface" : {
44660702 31733 "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 31734 "format" : "pve-iface",
44660702 31735 "maxLength" : 20,
56122987 31736 "minLength" : 2,
44660702 31737 "optional" : 1,
013dc89f
DM
31738 "type" : "string",
31739 "typetext" : "<string>"
56122987 31740 },
95895385
TL
31741 "log" : {
31742 "description" : "Log level for firewall rule.",
31743 "enum" : [
31744 "emerg",
31745 "alert",
31746 "crit",
31747 "err",
31748 "warning",
31749 "notice",
31750 "info",
31751 "debug",
31752 "nolog"
31753 ],
31754 "optional" : 1,
31755 "type" : "string"
31756 },
44660702 31757 "macro" : {
e94f0d56 31758 "description" : "Use predefined standard macro.",
44660702
DM
31759 "maxLength" : 128,
31760 "optional" : 1,
013dc89f
DM
31761 "type" : "string",
31762 "typetext" : "<string>"
44660702
DM
31763 },
31764 "moveto" : {
31765 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
31766 "minimum" : 0,
7aacca6f 31767 "optional" : 1,
4bd7df8b 31768 "type" : "integer",
013dc89f 31769 "typetext" : "<integer> (0 - N)"
44660702
DM
31770 },
31771 "node" : {
31772 "description" : "The cluster node name.",
31773 "format" : "pve-node",
013dc89f
DM
31774 "type" : "string",
31775 "typetext" : "<string>"
56122987
DM
31776 },
31777 "pos" : {
44660702 31778 "description" : "Update rule at position <pos>.",
7aacca6f 31779 "minimum" : 0,
7aacca6f 31780 "optional" : 1,
4bd7df8b 31781 "type" : "integer",
013dc89f 31782 "typetext" : "<integer> (0 - N)"
7aacca6f 31783 },
44660702
DM
31784 "proto" : {
31785 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
31786 "format" : "pve-fw-protocol-spec",
7aacca6f 31787 "optional" : 1,
013dc89f
DM
31788 "type" : "string",
31789 "typetext" : "<string>"
7aacca6f 31790 },
44660702
DM
31791 "source" : {
31792 "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.",
31793 "format" : "pve-fw-addr-spec",
56122987 31794 "optional" : 1,
013dc89f
DM
31795 "type" : "string",
31796 "typetext" : "<string>"
7aacca6f 31797 },
44660702
DM
31798 "sport" : {
31799 "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.",
31800 "format" : "pve-fw-sport-spec",
31801 "optional" : 1,
013dc89f
DM
31802 "type" : "string",
31803 "typetext" : "<string>"
44660702
DM
31804 },
31805 "type" : {
e94f0d56 31806 "description" : "Rule type.",
44660702
DM
31807 "enum" : [
31808 "in",
31809 "out",
31810 "group"
31811 ],
31812 "optional" : 1,
31813 "type" : "string"
56122987 31814 }
44660702 31815 }
56122987 31816 },
56122987
DM
31817 "permissions" : {
31818 "check" : [
31819 "perm",
31820 "/nodes/{node}",
31821 [
31822 "Sys.Modify"
31823 ]
31824 ]
7aacca6f 31825 },
44660702 31826 "protected" : 1,
7aacca6f 31827 "proxyto" : "node",
7aacca6f
DM
31828 "returns" : {
31829 "type" : "null"
56122987
DM
31830 }
31831 }
7aacca6f 31832 },
44660702 31833 "leaf" : 1,
7aacca6f 31834 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 31835 "text" : "{pos}"
56122987
DM
31836 }
31837 ],
56122987
DM
31838 "info" : {
31839 "GET" : {
44660702
DM
31840 "description" : "List rules.",
31841 "method" : "GET",
31842 "name" : "get_rules",
31843 "parameters" : {
31844 "additionalProperties" : 0,
31845 "properties" : {
31846 "node" : {
31847 "description" : "The cluster node name.",
31848 "format" : "pve-node",
013dc89f
DM
31849 "type" : "string",
31850 "typetext" : "<string>"
44660702
DM
31851 }
31852 }
31853 },
31854 "permissions" : {
31855 "check" : [
31856 "perm",
31857 "/nodes/{node}",
31858 [
31859 "Sys.Audit"
31860 ]
31861 ]
31862 },
31863 "proxyto" : "node",
56122987 31864 "returns" : {
56122987
DM
31865 "items" : {
31866 "properties" : {
31867 "pos" : {
31868 "type" : "integer"
31869 }
44660702
DM
31870 },
31871 "type" : "object"
56122987 31872 },
7aacca6f
DM
31873 "links" : [
31874 {
31875 "href" : "{pos}",
31876 "rel" : "child"
31877 }
31878 ],
31879 "type" : "array"
44660702 31880 }
56122987
DM
31881 },
31882 "POST" : {
44660702 31883 "description" : "Create new rule.",
7aacca6f
DM
31884 "method" : "POST",
31885 "name" : "create_rule",
56122987 31886 "parameters" : {
44660702 31887 "additionalProperties" : 0,
56122987 31888 "properties" : {
7aacca6f 31889 "action" : {
7aacca6f 31890 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 31891 "maxLength" : 20,
7aacca6f
DM
31892 "minLength" : 2,
31893 "optional" : 0,
44660702
DM
31894 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
31895 "type" : "string"
56122987 31896 },
44660702 31897 "comment" : {
e94f0d56 31898 "description" : "Descriptive comment.",
56122987 31899 "optional" : 1,
013dc89f
DM
31900 "type" : "string",
31901 "typetext" : "<string>"
56122987 31902 },
44660702
DM
31903 "dest" : {
31904 "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.",
31905 "format" : "pve-fw-addr-spec",
7aacca6f 31906 "optional" : 1,
013dc89f
DM
31907 "type" : "string",
31908 "typetext" : "<string>"
56122987 31909 },
44660702
DM
31910 "digest" : {
31911 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
31912 "maxLength" : 40,
31913 "optional" : 1,
013dc89f
DM
31914 "type" : "string",
31915 "typetext" : "<string>"
56122987 31916 },
44660702
DM
31917 "dport" : {
31918 "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.",
31919 "format" : "pve-fw-dport-spec",
7aacca6f 31920 "optional" : 1,
013dc89f
DM
31921 "type" : "string",
31922 "typetext" : "<string>"
56122987 31923 },
44660702 31924 "enable" : {
e94f0d56 31925 "description" : "Flag to enable/disable a rule.",
44660702
DM
31926 "minimum" : 0,
31927 "optional" : 1,
4bd7df8b 31928 "type" : "integer",
013dc89f 31929 "typetext" : "<integer> (0 - N)"
44660702 31930 },
7aacca6f 31931 "iface" : {
44660702 31932 "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 31933 "format" : "pve-iface",
56122987 31934 "maxLength" : 20,
7aacca6f 31935 "minLength" : 2,
7aacca6f 31936 "optional" : 1,
013dc89f
DM
31937 "type" : "string",
31938 "typetext" : "<string>"
56122987 31939 },
95895385
TL
31940 "log" : {
31941 "description" : "Log level for firewall rule.",
31942 "enum" : [
31943 "emerg",
31944 "alert",
31945 "crit",
31946 "err",
31947 "warning",
31948 "notice",
31949 "info",
31950 "debug",
31951 "nolog"
31952 ],
31953 "optional" : 1,
31954 "type" : "string"
31955 },
44660702 31956 "macro" : {
e94f0d56 31957 "description" : "Use predefined standard macro.",
44660702 31958 "maxLength" : 128,
7aacca6f 31959 "optional" : 1,
013dc89f
DM
31960 "type" : "string",
31961 "typetext" : "<string>"
56122987 31962 },
44660702
DM
31963 "node" : {
31964 "description" : "The cluster node name.",
31965 "format" : "pve-node",
013dc89f
DM
31966 "type" : "string",
31967 "typetext" : "<string>"
44660702
DM
31968 },
31969 "pos" : {
31970 "description" : "Update rule at position <pos>.",
31971 "minimum" : 0,
31972 "optional" : 1,
4bd7df8b 31973 "type" : "integer",
013dc89f 31974 "typetext" : "<integer> (0 - N)"
44660702
DM
31975 },
31976 "proto" : {
31977 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
31978 "format" : "pve-fw-protocol-spec",
56122987 31979 "optional" : 1,
013dc89f
DM
31980 "type" : "string",
31981 "typetext" : "<string>"
56122987 31982 },
7aacca6f 31983 "source" : {
7aacca6f 31984 "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
31985 "format" : "pve-fw-addr-spec",
31986 "optional" : 1,
013dc89f
DM
31987 "type" : "string",
31988 "typetext" : "<string>"
7aacca6f 31989 },
44660702
DM
31990 "sport" : {
31991 "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.",
31992 "format" : "pve-fw-sport-spec",
7aacca6f 31993 "optional" : 1,
013dc89f
DM
31994 "type" : "string",
31995 "typetext" : "<string>"
44660702
DM
31996 },
31997 "type" : {
e94f0d56 31998 "description" : "Rule type.",
44660702
DM
31999 "enum" : [
32000 "in",
32001 "out",
32002 "group"
32003 ],
32004 "optional" : 0,
32005 "type" : "string"
56122987 32006 }
44660702 32007 }
7aacca6f 32008 },
56122987
DM
32009 "permissions" : {
32010 "check" : [
32011 "perm",
32012 "/nodes/{node}",
32013 [
32014 "Sys.Modify"
32015 ]
32016 ]
32017 },
44660702
DM
32018 "protected" : 1,
32019 "proxyto" : "node",
32020 "returns" : {
32021 "type" : "null"
32022 }
56122987
DM
32023 }
32024 },
44660702 32025 "leaf" : 0,
7aacca6f 32026 "path" : "/nodes/{node}/firewall/rules",
44660702 32027 "text" : "rules"
56122987
DM
32028 },
32029 {
56122987 32030 "info" : {
44660702
DM
32031 "GET" : {
32032 "description" : "Get host firewall options.",
32033 "method" : "GET",
32034 "name" : "get_options",
56122987 32035 "parameters" : {
7aacca6f 32036 "additionalProperties" : 0,
56122987 32037 "properties" : {
44660702
DM
32038 "node" : {
32039 "description" : "The cluster node name.",
32040 "format" : "pve-node",
013dc89f
DM
32041 "type" : "string",
32042 "typetext" : "<string>"
44660702
DM
32043 }
32044 }
32045 },
32046 "permissions" : {
32047 "check" : [
32048 "perm",
32049 "/nodes/{node}",
32050 [
32051 "Sys.Audit"
32052 ]
32053 ]
32054 },
32055 "proxyto" : "node",
32056 "returns" : {
32057 "properties" : {
32058 "enable" : {
32059 "description" : "Enable host firewall rules.",
7aacca6f 32060 "optional" : 1,
44660702 32061 "type" : "boolean"
7aacca6f 32062 },
44660702
DM
32063 "log_level_in" : {
32064 "description" : "Log level for incoming traffic.",
56122987
DM
32065 "enum" : [
32066 "emerg",
32067 "alert",
32068 "crit",
32069 "err",
32070 "warning",
32071 "notice",
32072 "info",
32073 "debug",
32074 "nolog"
32075 ],
56122987 32076 "optional" : 1,
44660702
DM
32077 "type" : "string"
32078 },
32079 "log_level_out" : {
32080 "description" : "Log level for outgoing traffic.",
56122987
DM
32081 "enum" : [
32082 "emerg",
32083 "alert",
32084 "crit",
32085 "err",
32086 "warning",
32087 "notice",
32088 "info",
32089 "debug",
32090 "nolog"
32091 ],
44660702
DM
32092 "optional" : 1,
32093 "type" : "string"
32094 },
95895385
TL
32095 "log_nf_conntrack" : {
32096 "default" : 0,
32097 "description" : "Enable logging of conntrack information.",
32098 "optional" : 1,
32099 "type" : "boolean"
32100 },
44660702
DM
32101 "ndp" : {
32102 "description" : "Enable NDP.",
32103 "optional" : 1,
32104 "type" : "boolean"
32105 },
5f26e15b
TL
32106 "nf_conntrack_allow_invalid" : {
32107 "default" : 0,
32108 "description" : "Allow invalid packets on connection tracking.",
32109 "optional" : 1,
32110 "type" : "boolean"
32111 },
44660702
DM
32112 "nf_conntrack_max" : {
32113 "description" : "Maximum number of tracked connections.",
32114 "minimum" : 32768,
32115 "optional" : 1,
32116 "type" : "integer"
32117 },
32118 "nf_conntrack_tcp_timeout_established" : {
32119 "description" : "Conntrack established timeout.",
32120 "minimum" : 7875,
32121 "optional" : 1,
32122 "type" : "integer"
32123 },
32124 "nosmurfs" : {
32125 "description" : "Enable SMURFS filter.",
32126 "optional" : 1,
32127 "type" : "boolean"
56122987 32128 },
7aacca6f 32129 "smurf_log_level" : {
44660702 32130 "description" : "Log level for SMURFS filter.",
56122987
DM
32131 "enum" : [
32132 "emerg",
32133 "alert",
32134 "crit",
32135 "err",
32136 "warning",
32137 "notice",
32138 "info",
32139 "debug",
32140 "nolog"
7aacca6f 32141 ],
7aacca6f
DM
32142 "optional" : 1,
32143 "type" : "string"
56122987 32144 },
44660702
DM
32145 "tcp_flags_log_level" : {
32146 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
32147 "enum" : [
32148 "emerg",
32149 "alert",
32150 "crit",
32151 "err",
32152 "warning",
32153 "notice",
32154 "info",
32155 "debug",
32156 "nolog"
32157 ],
44660702
DM
32158 "optional" : 1,
32159 "type" : "string"
7aacca6f 32160 },
44660702
DM
32161 "tcpflags" : {
32162 "description" : "Filter illegal combinations of TCP flags.",
56122987 32163 "optional" : 1,
44660702 32164 "type" : "boolean"
56122987 32165 }
44660702
DM
32166 },
32167 "type" : "object"
7aacca6f 32168 }
56122987 32169 },
44660702
DM
32170 "PUT" : {
32171 "description" : "Set Firewall options.",
32172 "method" : "PUT",
32173 "name" : "set_options",
7aacca6f 32174 "parameters" : {
44660702 32175 "additionalProperties" : 0,
7aacca6f 32176 "properties" : {
44660702
DM
32177 "delete" : {
32178 "description" : "A list of settings you want to delete.",
32179 "format" : "pve-configid-list",
7aacca6f 32180 "optional" : 1,
013dc89f
DM
32181 "type" : "string",
32182 "typetext" : "<string>"
56122987 32183 },
44660702
DM
32184 "digest" : {
32185 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32186 "maxLength" : 40,
32187 "optional" : 1,
013dc89f
DM
32188 "type" : "string",
32189 "typetext" : "<string>"
56122987 32190 },
44660702
DM
32191 "enable" : {
32192 "description" : "Enable host firewall rules.",
7aacca6f 32193 "optional" : 1,
013dc89f
DM
32194 "type" : "boolean",
32195 "typetext" : "<boolean>"
44660702
DM
32196 },
32197 "log_level_in" : {
32198 "description" : "Log level for incoming traffic.",
56122987
DM
32199 "enum" : [
32200 "emerg",
32201 "alert",
32202 "crit",
32203 "err",
32204 "warning",
32205 "notice",
32206 "info",
32207 "debug",
32208 "nolog"
44660702 32209 ],
7aacca6f 32210 "optional" : 1,
44660702 32211 "type" : "string"
7aacca6f 32212 },
44660702
DM
32213 "log_level_out" : {
32214 "description" : "Log level for outgoing traffic.",
56122987
DM
32215 "enum" : [
32216 "emerg",
32217 "alert",
32218 "crit",
32219 "err",
32220 "warning",
32221 "notice",
32222 "info",
32223 "debug",
32224 "nolog"
32225 ],
32226 "optional" : 1,
7aacca6f 32227 "type" : "string"
56122987 32228 },
95895385
TL
32229 "log_nf_conntrack" : {
32230 "default" : 0,
32231 "description" : "Enable logging of conntrack information.",
32232 "optional" : 1,
32233 "type" : "boolean",
32234 "typetext" : "<boolean>"
32235 },
44660702
DM
32236 "ndp" : {
32237 "description" : "Enable NDP.",
7aacca6f 32238 "optional" : 1,
013dc89f
DM
32239 "type" : "boolean",
32240 "typetext" : "<boolean>"
44660702 32241 },
5f26e15b
TL
32242 "nf_conntrack_allow_invalid" : {
32243 "default" : 0,
32244 "description" : "Allow invalid packets on connection tracking.",
32245 "optional" : 1,
32246 "type" : "boolean",
32247 "typetext" : "<boolean>"
32248 },
44660702
DM
32249 "nf_conntrack_max" : {
32250 "description" : "Maximum number of tracked connections.",
32251 "minimum" : 32768,
32252 "optional" : 1,
4bd7df8b 32253 "type" : "integer",
013dc89f 32254 "typetext" : "<integer> (32768 - N)"
44660702
DM
32255 },
32256 "nf_conntrack_tcp_timeout_established" : {
32257 "description" : "Conntrack established timeout.",
32258 "minimum" : 7875,
32259 "optional" : 1,
4bd7df8b 32260 "type" : "integer",
013dc89f 32261 "typetext" : "<integer> (7875 - N)"
44660702
DM
32262 },
32263 "node" : {
32264 "description" : "The cluster node name.",
32265 "format" : "pve-node",
013dc89f
DM
32266 "type" : "string",
32267 "typetext" : "<string>"
44660702
DM
32268 },
32269 "nosmurfs" : {
32270 "description" : "Enable SMURFS filter.",
32271 "optional" : 1,
013dc89f
DM
32272 "type" : "boolean",
32273 "typetext" : "<boolean>"
44660702
DM
32274 },
32275 "smurf_log_level" : {
32276 "description" : "Log level for SMURFS filter.",
56122987
DM
32277 "enum" : [
32278 "emerg",
32279 "alert",
32280 "crit",
32281 "err",
32282 "warning",
32283 "notice",
32284 "info",
32285 "debug",
32286 "nolog"
44660702
DM
32287 ],
32288 "optional" : 1,
32289 "type" : "string"
56122987 32290 },
44660702
DM
32291 "tcp_flags_log_level" : {
32292 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
32293 "enum" : [
32294 "emerg",
32295 "alert",
32296 "crit",
32297 "err",
32298 "warning",
32299 "notice",
32300 "info",
32301 "debug",
32302 "nolog"
32303 ],
44660702
DM
32304 "optional" : 1,
32305 "type" : "string"
7aacca6f 32306 },
44660702
DM
32307 "tcpflags" : {
32308 "description" : "Filter illegal combinations of TCP flags.",
56122987 32309 "optional" : 1,
013dc89f
DM
32310 "type" : "boolean",
32311 "typetext" : "<boolean>"
56122987 32312 }
7aacca6f 32313 }
56122987 32314 },
44660702
DM
32315 "permissions" : {
32316 "check" : [
32317 "perm",
32318 "/nodes/{node}",
32319 [
32320 "Sys.Modify"
32321 ]
32322 ]
32323 },
32324 "protected" : 1,
32325 "proxyto" : "node",
32326 "returns" : {
32327 "type" : "null"
32328 }
7aacca6f
DM
32329 }
32330 },
44660702
DM
32331 "leaf" : 1,
32332 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
32333 "text" : "options"
32334 },
32335 {
7aacca6f
DM
32336 "info" : {
32337 "GET" : {
44660702
DM
32338 "description" : "Read firewall log",
32339 "method" : "GET",
7aacca6f 32340 "name" : "log",
56122987 32341 "parameters" : {
44660702 32342 "additionalProperties" : 0,
56122987 32343 "properties" : {
7aacca6f 32344 "limit" : {
44660702 32345 "minimum" : 0,
7aacca6f 32346 "optional" : 1,
4bd7df8b 32347 "type" : "integer",
013dc89f 32348 "typetext" : "<integer> (0 - N)"
7aacca6f 32349 },
56122987 32350 "node" : {
7aacca6f 32351 "description" : "The cluster node name.",
44660702 32352 "format" : "pve-node",
013dc89f
DM
32353 "type" : "string",
32354 "typetext" : "<string>"
44660702
DM
32355 },
32356 "start" : {
32357 "minimum" : 0,
32358 "optional" : 1,
4bd7df8b 32359 "type" : "integer",
013dc89f 32360 "typetext" : "<integer> (0 - N)"
56122987 32361 }
44660702 32362 }
7aacca6f 32363 },
56122987
DM
32364 "permissions" : {
32365 "check" : [
32366 "perm",
32367 "/nodes/{node}",
32368 [
32369 "Sys.Syslog"
32370 ]
32371 ]
32372 },
44660702
DM
32373 "protected" : 1,
32374 "proxyto" : "node",
56122987
DM
32375 "returns" : {
32376 "items" : {
56122987 32377 "properties" : {
56122987 32378 "n" : {
44660702
DM
32379 "description" : "Line number",
32380 "type" : "integer"
7aacca6f
DM
32381 },
32382 "t" : {
44660702
DM
32383 "description" : "Line text",
32384 "type" : "string"
56122987 32385 }
44660702
DM
32386 },
32387 "type" : "object"
56122987
DM
32388 },
32389 "type" : "array"
7aacca6f 32390 }
56122987
DM
32391 }
32392 },
44660702
DM
32393 "leaf" : 1,
32394 "path" : "/nodes/{node}/firewall/log",
7aacca6f 32395 "text" : "log"
56122987
DM
32396 }
32397 ],
32398 "info" : {
32399 "GET" : {
44660702
DM
32400 "description" : "Directory index.",
32401 "method" : "GET",
32402 "name" : "index",
56122987 32403 "parameters" : {
44660702 32404 "additionalProperties" : 0,
56122987
DM
32405 "properties" : {
32406 "node" : {
32407 "description" : "The cluster node name.",
44660702 32408 "format" : "pve-node",
013dc89f
DM
32409 "type" : "string",
32410 "typetext" : "<string>"
56122987 32411 }
44660702 32412 }
56122987 32413 },
7aacca6f
DM
32414 "permissions" : {
32415 "user" : "all"
32416 },
56122987
DM
32417 "returns" : {
32418 "items" : {
32419 "properties" : {},
32420 "type" : "object"
32421 },
56122987
DM
32422 "links" : [
32423 {
44660702
DM
32424 "href" : "{name}",
32425 "rel" : "child"
56122987 32426 }
44660702
DM
32427 ],
32428 "type" : "array"
32429 }
56122987 32430 }
7aacca6f 32431 },
44660702 32432 "leaf" : 0,
7aacca6f 32433 "path" : "/nodes/{node}/firewall",
44660702 32434 "text" : "firewall"
56122987 32435 },
5d9c884c
DM
32436 {
32437 "children" : [
32438 {
32439 "children" : [
32440 {
32441 "info" : {
32442 "GET" : {
32443 "description" : "Get replication job status.",
32444 "method" : "GET",
32445 "name" : "job_status",
32446 "parameters" : {
32447 "additionalProperties" : 0,
32448 "properties" : {
32449 "id" : {
32450 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32451 "format" : "pve-replication-job-id",
32452 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32453 "type" : "string"
32454 },
32455 "node" : {
32456 "description" : "The cluster node name.",
32457 "format" : "pve-node",
32458 "type" : "string",
32459 "typetext" : "<string>"
32460 }
32461 }
32462 },
32463 "permissions" : {
32464 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
32465 "user" : "all"
32466 },
32467 "protected" : 1,
32468 "proxyto" : "node",
32469 "returns" : {
5d9c884c
DM
32470 "type" : "object"
32471 }
32472 }
32473 },
32474 "leaf" : 1,
32475 "path" : "/nodes/{node}/replication/{id}/status",
32476 "text" : "status"
32477 },
32478 {
32479 "info" : {
32480 "GET" : {
32481 "description" : "Read replication job log.",
32482 "method" : "GET",
32483 "name" : "read_job_log",
32484 "parameters" : {
32485 "additionalProperties" : 0,
32486 "properties" : {
32487 "id" : {
32488 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32489 "format" : "pve-replication-job-id",
32490 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32491 "type" : "string"
32492 },
32493 "limit" : {
32494 "minimum" : 0,
32495 "optional" : 1,
32496 "type" : "integer",
32497 "typetext" : "<integer> (0 - N)"
32498 },
32499 "node" : {
32500 "description" : "The cluster node name.",
32501 "format" : "pve-node",
32502 "type" : "string",
32503 "typetext" : "<string>"
32504 },
32505 "start" : {
32506 "minimum" : 0,
32507 "optional" : 1,
32508 "type" : "integer",
32509 "typetext" : "<integer> (0 - N)"
32510 }
32511 }
32512 },
32513 "permissions" : {
32514 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
32515 "user" : "all"
32516 },
32517 "protected" : 1,
32518 "proxyto" : "node",
32519 "returns" : {
32520 "items" : {
32521 "properties" : {
32522 "n" : {
32523 "description" : "Line number",
32524 "type" : "integer"
32525 },
32526 "t" : {
32527 "description" : "Line text",
32528 "type" : "string"
32529 }
32530 },
32531 "type" : "object"
32532 },
32533 "type" : "array"
32534 }
32535 }
32536 },
32537 "leaf" : 1,
32538 "path" : "/nodes/{node}/replication/{id}/log",
32539 "text" : "log"
32540 },
32541 {
32542 "info" : {
32543 "POST" : {
32544 "description" : "Schedule replication job to start as soon as possible.",
32545 "method" : "POST",
32546 "name" : "schedule_now",
32547 "parameters" : {
32548 "additionalProperties" : 0,
32549 "properties" : {
32550 "id" : {
32551 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32552 "format" : "pve-replication-job-id",
32553 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32554 "type" : "string"
32555 },
32556 "node" : {
32557 "description" : "The cluster node name.",
32558 "format" : "pve-node",
32559 "type" : "string",
32560 "typetext" : "<string>"
32561 }
32562 }
32563 },
32564 "permissions" : {
32565 "check" : [
32566 "perm",
32567 "/storage",
32568 [
32569 "Datastore.Allocate"
32570 ]
32571 ]
32572 },
32573 "protected" : 1,
32574 "proxyto" : "node",
32575 "returns" : {
32576 "type" : "string"
32577 }
32578 }
32579 },
32580 "leaf" : 1,
32581 "path" : "/nodes/{node}/replication/{id}/schedule_now",
32582 "text" : "schedule_now"
32583 }
32584 ],
32585 "info" : {
32586 "GET" : {
32587 "description" : "Directory index.",
32588 "method" : "GET",
32589 "name" : "index",
32590 "parameters" : {
32591 "additionalProperties" : 0,
32592 "properties" : {
32593 "id" : {
32594 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32595 "format" : "pve-replication-job-id",
32596 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32597 "type" : "string"
32598 },
32599 "node" : {
32600 "description" : "The cluster node name.",
32601 "format" : "pve-node",
32602 "type" : "string",
32603 "typetext" : "<string>"
32604 }
32605 }
32606 },
32607 "permissions" : {
32608 "user" : "all"
32609 },
32610 "returns" : {
32611 "items" : {
32612 "properties" : {},
32613 "type" : "object"
32614 },
32615 "links" : [
32616 {
32617 "href" : "{name}",
32618 "rel" : "child"
32619 }
32620 ],
32621 "type" : "array"
32622 }
32623 }
32624 },
32625 "leaf" : 0,
32626 "path" : "/nodes/{node}/replication/{id}",
32627 "text" : "{id}"
32628 }
32629 ],
32630 "info" : {
32631 "GET" : {
32632 "description" : "List status of all replication jobs on this node.",
32633 "method" : "GET",
32634 "name" : "status",
32635 "parameters" : {
32636 "additionalProperties" : 0,
32637 "properties" : {
32638 "guest" : {
32639 "description" : "Only list replication jobs for this guest.",
32640 "format" : "pve-vmid",
32641 "minimum" : 1,
32642 "optional" : 1,
32643 "type" : "integer",
32644 "typetext" : "<integer> (1 - N)"
32645 },
32646 "node" : {
32647 "description" : "The cluster node name.",
32648 "format" : "pve-node",
32649 "type" : "string",
32650 "typetext" : "<string>"
32651 }
32652 }
32653 },
32654 "permissions" : {
32655 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
32656 "user" : "all"
32657 },
32658 "protected" : 1,
32659 "proxyto" : "node",
32660 "returns" : {
32661 "items" : {
32662 "properties" : {
32663 "id" : {
32664 "type" : "string"
32665 }
32666 },
32667 "type" : "object"
32668 },
32669 "links" : [
32670 {
32671 "href" : "{id}",
32672 "rel" : "child"
32673 }
32674 ],
32675 "type" : "array"
32676 }
32677 }
32678 },
32679 "leaf" : 0,
32680 "path" : "/nodes/{node}/replication",
32681 "text" : "replication"
32682 },
a9a8e3d1
DM
32683 {
32684 "children" : [
32685 {
32686 "children" : [
32687 {
32688 "info" : {
32689 "DELETE" : {
32690 "description" : "Revoke existing certificate from CA.",
32691 "method" : "DELETE",
32692 "name" : "revoke_certificate",
32693 "parameters" : {
32694 "additionalProperties" : 0,
32695 "properties" : {
32696 "node" : {
32697 "description" : "The cluster node name.",
32698 "format" : "pve-node",
32699 "type" : "string",
32700 "typetext" : "<string>"
32701 }
32702 }
32703 },
32704 "protected" : 1,
32705 "proxyto" : "node",
32706 "returns" : {
32707 "type" : "string"
32708 }
32709 },
32710 "POST" : {
32711 "description" : "Order a new certificate from ACME-compatible CA.",
32712 "method" : "POST",
32713 "name" : "new_certificate",
32714 "parameters" : {
32715 "additionalProperties" : 0,
32716 "properties" : {
32717 "force" : {
32718 "default" : 0,
32719 "description" : "Overwrite existing custom certificate.",
32720 "optional" : 1,
32721 "type" : "boolean",
32722 "typetext" : "<boolean>"
32723 },
32724 "node" : {
32725 "description" : "The cluster node name.",
32726 "format" : "pve-node",
32727 "type" : "string",
32728 "typetext" : "<string>"
32729 }
32730 }
32731 },
32732 "protected" : 1,
32733 "proxyto" : "node",
32734 "returns" : {
32735 "type" : "string"
32736 }
32737 },
32738 "PUT" : {
32739 "description" : "Renew existing certificate from CA.",
32740 "method" : "PUT",
32741 "name" : "renew_certificate",
32742 "parameters" : {
32743 "additionalProperties" : 0,
32744 "properties" : {
32745 "force" : {
32746 "default" : 0,
32747 "description" : "Force renewal even if expiry is more than 30 days away.",
32748 "optional" : 1,
32749 "type" : "boolean",
32750 "typetext" : "<boolean>"
32751 },
32752 "node" : {
32753 "description" : "The cluster node name.",
32754 "format" : "pve-node",
32755 "type" : "string",
32756 "typetext" : "<string>"
32757 }
32758 }
32759 },
32760 "protected" : 1,
32761 "proxyto" : "node",
32762 "returns" : {
32763 "type" : "string"
32764 }
32765 }
32766 },
32767 "leaf" : 1,
32768 "path" : "/nodes/{node}/certificates/acme/certificate",
32769 "text" : "certificate"
32770 }
32771 ],
32772 "info" : {
32773 "GET" : {
32774 "description" : "ACME index.",
32775 "method" : "GET",
32776 "name" : "index",
32777 "parameters" : {
32778 "additionalProperties" : 0,
32779 "properties" : {
32780 "node" : {
32781 "description" : "The cluster node name.",
32782 "format" : "pve-node",
32783 "type" : "string",
32784 "typetext" : "<string>"
32785 }
32786 }
32787 },
32788 "permissions" : {
32789 "user" : "all"
32790 },
32791 "returns" : {
32792 "items" : {
32793 "properties" : {},
32794 "type" : "object"
32795 },
32796 "links" : [
32797 {
32798 "href" : "{name}",
32799 "rel" : "child"
32800 }
32801 ],
32802 "type" : "array"
32803 }
32804 }
32805 },
32806 "leaf" : 0,
32807 "path" : "/nodes/{node}/certificates/acme",
32808 "text" : "acme"
32809 },
32810 {
32811 "info" : {
32812 "GET" : {
32813 "description" : "Get information about node's certificates.",
32814 "method" : "GET",
32815 "name" : "info",
32816 "parameters" : {
32817 "additionalProperties" : 0,
32818 "properties" : {
32819 "node" : {
32820 "description" : "The cluster node name.",
32821 "format" : "pve-node",
32822 "type" : "string",
32823 "typetext" : "<string>"
32824 }
32825 }
32826 },
32827 "permissions" : {
32828 "user" : "all"
32829 },
32830 "proxyto" : "node",
32831 "returns" : {
32832 "items" : {
32833 "properties" : {
32834 "filename" : {
32835 "optional" : 1,
32836 "type" : "string"
32837 },
32838 "fingerprint" : {
32839 "description" : "Certificate SHA 256 fingerprint.",
32840 "optional" : 1,
32841 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
32842 "type" : "string"
32843 },
32844 "issuer" : {
32845 "description" : "Certificate issuer name.",
32846 "optional" : 1,
32847 "type" : "string"
32848 },
32849 "notafter" : {
32850 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
32851 "optional" : 1,
4d47f125 32852 "renderer" : "timestamp",
a9a8e3d1
DM
32853 "type" : "integer"
32854 },
32855 "notbefore" : {
32856 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
32857 "optional" : 1,
4d47f125 32858 "renderer" : "timestamp",
a9a8e3d1
DM
32859 "type" : "integer"
32860 },
32861 "pem" : {
32862 "description" : "Certificate in PEM format",
32863 "format" : "pem-certificate",
32864 "optional" : 1,
32865 "type" : "string"
32866 },
32867 "san" : {
32868 "description" : "List of Certificate's SubjectAlternativeName entries.",
32869 "items" : {
32870 "type" : "string"
32871 },
32872 "optional" : 1,
4d47f125 32873 "renderer" : "yaml",
a9a8e3d1
DM
32874 "type" : "array"
32875 },
32876 "subject" : {
32877 "description" : "Certificate subject name.",
32878 "optional" : 1,
32879 "type" : "string"
32880 }
32881 },
32882 "type" : "object"
32883 },
32884 "type" : "array"
32885 }
32886 }
32887 },
32888 "leaf" : 1,
32889 "path" : "/nodes/{node}/certificates/info",
32890 "text" : "info"
32891 },
32892 {
32893 "info" : {
32894 "DELETE" : {
32895 "description" : "DELETE custom certificate chain and key.",
32896 "method" : "DELETE",
32897 "name" : "remove_custom_cert",
32898 "parameters" : {
32899 "additionalProperties" : 0,
32900 "properties" : {
32901 "node" : {
32902 "description" : "The cluster node name.",
32903 "format" : "pve-node",
32904 "type" : "string",
32905 "typetext" : "<string>"
32906 },
32907 "restart" : {
32908 "default" : 0,
32909 "description" : "Restart pveproxy.",
32910 "optional" : 1,
32911 "type" : "boolean",
32912 "typetext" : "<boolean>"
32913 }
32914 }
32915 },
32916 "protected" : 1,
32917 "proxyto" : "node",
32918 "returns" : {
32919 "type" : "null"
32920 }
32921 },
32922 "POST" : {
32923 "description" : "Upload or update custom certificate chain and key.",
32924 "method" : "POST",
32925 "name" : "upload_custom_cert",
32926 "parameters" : {
32927 "additionalProperties" : 0,
32928 "properties" : {
32929 "certificates" : {
32930 "description" : "PEM encoded certificate (chain).",
32931 "format" : "pem-certificate-chain",
32932 "type" : "string",
32933 "typetext" : "<string>"
32934 },
32935 "force" : {
32936 "default" : 0,
32937 "description" : "Overwrite existing custom or ACME certificate files.",
32938 "optional" : 1,
32939 "type" : "boolean",
32940 "typetext" : "<boolean>"
32941 },
32942 "key" : {
32943 "description" : "PEM encoded private key.",
32944 "format" : "pem-string",
32945 "optional" : 1,
32946 "type" : "string",
32947 "typetext" : "<string>"
32948 },
32949 "node" : {
32950 "description" : "The cluster node name.",
32951 "format" : "pve-node",
32952 "type" : "string",
32953 "typetext" : "<string>"
32954 },
32955 "restart" : {
32956 "default" : 0,
32957 "description" : "Restart pveproxy.",
32958 "optional" : 1,
32959 "type" : "boolean",
32960 "typetext" : "<boolean>"
32961 }
32962 }
32963 },
32964 "protected" : 1,
32965 "proxyto" : "node",
32966 "returns" : {
32967 "properties" : {
32968 "filename" : {
32969 "optional" : 1,
32970 "type" : "string"
32971 },
32972 "fingerprint" : {
32973 "description" : "Certificate SHA 256 fingerprint.",
32974 "optional" : 1,
32975 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
32976 "type" : "string"
32977 },
32978 "issuer" : {
32979 "description" : "Certificate issuer name.",
32980 "optional" : 1,
32981 "type" : "string"
32982 },
32983 "notafter" : {
32984 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
32985 "optional" : 1,
4d47f125 32986 "renderer" : "timestamp",
a9a8e3d1
DM
32987 "type" : "integer"
32988 },
32989 "notbefore" : {
32990 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
32991 "optional" : 1,
4d47f125 32992 "renderer" : "timestamp",
a9a8e3d1
DM
32993 "type" : "integer"
32994 },
32995 "pem" : {
32996 "description" : "Certificate in PEM format",
32997 "format" : "pem-certificate",
32998 "optional" : 1,
32999 "type" : "string"
33000 },
33001 "san" : {
33002 "description" : "List of Certificate's SubjectAlternativeName entries.",
33003 "items" : {
33004 "type" : "string"
33005 },
33006 "optional" : 1,
4d47f125 33007 "renderer" : "yaml",
a9a8e3d1
DM
33008 "type" : "array"
33009 },
33010 "subject" : {
33011 "description" : "Certificate subject name.",
33012 "optional" : 1,
33013 "type" : "string"
33014 }
33015 },
33016 "type" : "object"
33017 }
33018 }
33019 },
33020 "leaf" : 1,
33021 "path" : "/nodes/{node}/certificates/custom",
33022 "text" : "custom"
33023 }
33024 ],
33025 "info" : {
33026 "GET" : {
33027 "description" : "Node index.",
33028 "method" : "GET",
33029 "name" : "index",
33030 "parameters" : {
33031 "additionalProperties" : 0,
33032 "properties" : {
33033 "node" : {
33034 "description" : "The cluster node name.",
33035 "format" : "pve-node",
33036 "type" : "string",
33037 "typetext" : "<string>"
33038 }
33039 }
33040 },
33041 "permissions" : {
33042 "user" : "all"
33043 },
33044 "returns" : {
33045 "items" : {
33046 "properties" : {},
33047 "type" : "object"
33048 },
33049 "links" : [
33050 {
33051 "href" : "{name}",
33052 "rel" : "child"
33053 }
33054 ],
33055 "type" : "array"
33056 }
33057 }
33058 },
33059 "leaf" : 0,
33060 "path" : "/nodes/{node}/certificates",
33061 "text" : "certificates"
33062 },
33063 {
33064 "info" : {
33065 "GET" : {
33066 "description" : "Get node configuration options.",
33067 "method" : "GET",
33068 "name" : "get_config",
33069 "parameters" : {
33070 "additionalProperties" : 0,
33071 "properties" : {
33072 "node" : {
33073 "description" : "The cluster node name.",
33074 "format" : "pve-node",
33075 "type" : "string",
33076 "typetext" : "<string>"
33077 }
33078 }
33079 },
33080 "permissions" : {
33081 "check" : [
33082 "perm",
33083 "/",
33084 [
33085 "Sys.Audit"
33086 ]
33087 ]
33088 },
33089 "proxyto" : "node",
33090 "returns" : {
a9a8e3d1
DM
33091 "type" : "object"
33092 }
33093 },
33094 "PUT" : {
33095 "description" : "Set node configuration options.",
33096 "method" : "PUT",
33097 "name" : "set_options",
33098 "parameters" : {
33099 "additionalProperties" : 0,
33100 "properties" : {
33101 "acme" : {
33102 "description" : "Node specific ACME settings.",
33103 "format" : {
33104 "account" : {
33105 "default" : "default",
33106 "description" : "ACME account config file name.",
33107 "format" : "pve-configid",
33108 "format_description" : "name",
33109 "optional" : 1,
33110 "type" : "string"
33111 },
33112 "domains" : {
33113 "description" : "List of domains for this node's ACME certificate",
33114 "format" : "pve-acme-domain-list",
33115 "format_description" : "domain[;domain;...]",
33116 "type" : "string"
33117 }
33118 },
33119 "optional" : 1,
33120 "type" : "string",
33121 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
33122 },
33123 "delete" : {
33124 "description" : "A list of settings you want to delete.",
33125 "format" : "pve-configid-list",
33126 "optional" : 1,
33127 "type" : "string",
33128 "typetext" : "<string>"
33129 },
33130 "description" : {
33131 "description" : "Node description/comment.",
33132 "optional" : 1,
33133 "type" : "string",
33134 "typetext" : "<string>"
33135 },
33136 "digest" : {
33137 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
33138 "maxLength" : 40,
33139 "optional" : 1,
33140 "type" : "string",
33141 "typetext" : "<string>"
33142 },
33143 "node" : {
33144 "description" : "The cluster node name.",
33145 "format" : "pve-node",
33146 "type" : "string",
33147 "typetext" : "<string>"
5f26e15b
TL
33148 },
33149 "wakeonlan" : {
33150 "description" : "MAC address for wake on LAN",
33151 "format" : "mac-addr",
33152 "optional" : 1,
33153 "type" : "string",
33154 "typetext" : "<string>"
a9a8e3d1
DM
33155 }
33156 }
33157 },
33158 "permissions" : {
33159 "check" : [
33160 "perm",
33161 "/",
33162 [
33163 "Sys.Modify"
33164 ]
33165 ]
33166 },
33167 "protected" : 1,
33168 "proxyto" : "node",
33169 "returns" : {
33170 "type" : "null"
33171 }
33172 }
33173 },
33174 "leaf" : 1,
33175 "path" : "/nodes/{node}/config",
33176 "text" : "config"
33177 },
56122987 33178 {
56122987
DM
33179 "info" : {
33180 "GET" : {
44660702
DM
33181 "description" : "API version details",
33182 "method" : "GET",
33183 "name" : "version",
56122987 33184 "parameters" : {
44660702 33185 "additionalProperties" : 0,
56122987
DM
33186 "properties" : {
33187 "node" : {
56122987 33188 "description" : "The cluster node name.",
44660702 33189 "format" : "pve-node",
013dc89f
DM
33190 "type" : "string",
33191 "typetext" : "<string>"
56122987 33192 }
44660702 33193 }
56122987 33194 },
56122987 33195 "permissions" : {
7aacca6f 33196 "user" : "all"
56122987 33197 },
56122987 33198 "proxyto" : "node",
56122987 33199 "returns" : {
56122987 33200 "properties" : {
44660702 33201 "release" : {
1e3f8156 33202 "description" : "The current installed Proxmox VE Release",
56122987
DM
33203 "type" : "string"
33204 },
44660702 33205 "repoid" : {
1e3f8156 33206 "description" : "The short git commit hash ID from which this version was build",
7aacca6f
DM
33207 "type" : "string"
33208 },
33209 "version" : {
1e3f8156 33210 "description" : "The current installed pve-manager package version",
7aacca6f
DM
33211 "type" : "string"
33212 }
44660702
DM
33213 },
33214 "type" : "object"
7aacca6f 33215 }
56122987
DM
33216 }
33217 },
56122987 33218 "leaf" : 1,
44660702
DM
33219 "path" : "/nodes/{node}/version",
33220 "text" : "version"
56122987
DM
33221 },
33222 {
56122987
DM
33223 "info" : {
33224 "GET" : {
7aacca6f 33225 "description" : "Read node status",
44660702 33226 "method" : "GET",
7aacca6f 33227 "name" : "status",
56122987 33228 "parameters" : {
44660702 33229 "additionalProperties" : 0,
56122987
DM
33230 "properties" : {
33231 "node" : {
7aacca6f 33232 "description" : "The cluster node name.",
44660702 33233 "format" : "pve-node",
013dc89f
DM
33234 "type" : "string",
33235 "typetext" : "<string>"
56122987 33236 }
44660702 33237 }
56122987 33238 },
56122987
DM
33239 "permissions" : {
33240 "check" : [
33241 "perm",
33242 "/nodes/{node}",
33243 [
33244 "Sys.Audit"
33245 ]
33246 ]
44660702
DM
33247 },
33248 "proxyto" : "node",
33249 "returns" : {
44660702 33250 "type" : "object"
7aacca6f
DM
33251 }
33252 },
33253 "POST" : {
44660702
DM
33254 "description" : "Reboot or shutdown a node.",
33255 "method" : "POST",
7aacca6f 33256 "name" : "node_cmd",
56122987 33257 "parameters" : {
44660702 33258 "additionalProperties" : 0,
56122987 33259 "properties" : {
7aacca6f
DM
33260 "command" : {
33261 "description" : "Specify the command.",
56122987 33262 "enum" : [
7aacca6f
DM
33263 "reboot",
33264 "shutdown"
56122987
DM
33265 ],
33266 "type" : "string"
44660702
DM
33267 },
33268 "node" : {
33269 "description" : "The cluster node name.",
33270 "format" : "pve-node",
013dc89f
DM
33271 "type" : "string",
33272 "typetext" : "<string>"
56122987 33273 }
44660702 33274 }
7aacca6f 33275 },
7aacca6f
DM
33276 "permissions" : {
33277 "check" : [
33278 "perm",
33279 "/nodes/{node}",
33280 [
33281 "Sys.PowerMgmt"
33282 ]
33283 ]
33284 },
44660702 33285 "protected" : 1,
7aacca6f 33286 "proxyto" : "node",
7aacca6f
DM
33287 "returns" : {
33288 "type" : "null"
56122987
DM
33289 }
33290 }
33291 },
7aacca6f 33292 "leaf" : 1,
44660702
DM
33293 "path" : "/nodes/{node}/status",
33294 "text" : "status"
56122987
DM
33295 },
33296 {
56122987
DM
33297 "info" : {
33298 "GET" : {
44660702
DM
33299 "description" : "Read tap/vm network device interface counters",
33300 "method" : "GET",
33301 "name" : "netstat",
33302 "parameters" : {
33303 "additionalProperties" : 0,
33304 "properties" : {
33305 "node" : {
33306 "description" : "The cluster node name.",
33307 "format" : "pve-node",
013dc89f
DM
33308 "type" : "string",
33309 "typetext" : "<string>"
44660702 33310 }
56122987
DM
33311 }
33312 },
33313 "permissions" : {
33314 "check" : [
33315 "perm",
33316 "/nodes/{node}",
33317 [
7aacca6f 33318 "Sys.Audit"
56122987
DM
33319 ]
33320 ]
33321 },
7aacca6f 33322 "proxyto" : "node",
44660702
DM
33323 "returns" : {
33324 "items" : {
33325 "properties" : {},
33326 "type" : "object"
33327 },
33328 "type" : "array"
33329 }
7aacca6f
DM
33330 }
33331 },
44660702
DM
33332 "leaf" : 1,
33333 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
33334 "text" : "netstat"
33335 },
33336 {
33337 "info" : {
33338 "POST" : {
7aacca6f 33339 "description" : "Execute multiple commands in order.",
7aacca6f 33340 "method" : "POST",
7aacca6f 33341 "name" : "execute",
56122987
DM
33342 "parameters" : {
33343 "additionalProperties" : 0,
33344 "properties" : {
7aacca6f
DM
33345 "commands" : {
33346 "description" : "JSON encoded array of commands.",
013dc89f
DM
33347 "type" : "string",
33348 "typetext" : "<string>"
56122987
DM
33349 },
33350 "node" : {
44660702 33351 "description" : "The cluster node name.",
56122987 33352 "format" : "pve-node",
013dc89f
DM
33353 "type" : "string",
33354 "typetext" : "<string>"
56122987
DM
33355 }
33356 }
44660702
DM
33357 },
33358 "permissions" : {
33359 "check" : [
33360 "perm",
33361 "/nodes/{node}",
33362 [
33363 "Sys.Audit"
33364 ]
33365 ]
33366 },
33367 "protected" : 1,
33368 "proxyto" : "node",
33369 "returns" : {
44660702 33370 "type" : "array"
56122987
DM
33371 }
33372 }
33373 },
56122987 33374 "leaf" : 1,
44660702
DM
33375 "path" : "/nodes/{node}/execute",
33376 "text" : "execute"
56122987 33377 },
5f26e15b
TL
33378 {
33379 "info" : {
33380 "POST" : {
33381 "description" : "Try to wake a node via 'wake on LAN' network packet.",
33382 "method" : "POST",
33383 "name" : "wakeonlan",
33384 "parameters" : {
33385 "additionalProperties" : 0,
33386 "properties" : {
33387 "node" : {
33388 "description" : "target node for wake on LAN packet",
33389 "format" : "pve-node",
33390 "type" : "string",
33391 "typetext" : "<string>"
33392 }
33393 }
33394 },
33395 "permissions" : {
33396 "check" : [
33397 "perm",
33398 "/nodes/{node}",
33399 [
33400 "Sys.PowerMgmt"
33401 ]
33402 ]
33403 },
33404 "protected" : 1,
33405 "returns" : {
33406 "description" : "MAC address used to assemble the WoL magic packet.",
33407 "format" : "mac-addr",
33408 "type" : "string"
33409 }
33410 }
33411 },
33412 "leaf" : 1,
33413 "path" : "/nodes/{node}/wakeonlan",
33414 "text" : "wakeonlan"
33415 },
56122987
DM
33416 {
33417 "info" : {
7aacca6f 33418 "GET" : {
44660702
DM
33419 "description" : "Read node RRD statistics (returns PNG)",
33420 "method" : "GET",
7aacca6f 33421 "name" : "rrd",
56122987 33422 "parameters" : {
7aacca6f 33423 "additionalProperties" : 0,
56122987 33424 "properties" : {
44660702
DM
33425 "cf" : {
33426 "description" : "The RRD consolidation function",
33427 "enum" : [
33428 "AVERAGE",
33429 "MAX"
33430 ],
33431 "optional" : 1,
33432 "type" : "string"
33433 },
7aacca6f 33434 "ds" : {
7aacca6f 33435 "description" : "The list of datasources you want to display.",
44660702 33436 "format" : "pve-configid-list",
013dc89f
DM
33437 "type" : "string",
33438 "typetext" : "<string>"
44660702
DM
33439 },
33440 "node" : {
33441 "description" : "The cluster node name.",
33442 "format" : "pve-node",
013dc89f
DM
33443 "type" : "string",
33444 "typetext" : "<string>"
7aacca6f
DM
33445 },
33446 "timeframe" : {
33447 "description" : "Specify the time frame you are interested in.",
33448 "enum" : [
33449 "hour",
33450 "day",
33451 "week",
33452 "month",
33453 "year"
33454 ],
33455 "type" : "string"
56122987 33456 }
7aacca6f 33457 }
56122987 33458 },
56122987 33459 "permissions" : {
56122987
DM
33460 "check" : [
33461 "perm",
33462 "/nodes/{node}",
33463 [
7aacca6f 33464 "Sys.Audit"
56122987
DM
33465 ]
33466 ]
33467 },
7aacca6f 33468 "protected" : 1,
56122987 33469 "returns" : {
56122987 33470 "properties" : {
7aacca6f 33471 "filename" : {
56122987
DM
33472 "type" : "string"
33473 }
44660702
DM
33474 },
33475 "type" : "object"
33476 }
56122987
DM
33477 }
33478 },
44660702 33479 "leaf" : 1,
7aacca6f 33480 "path" : "/nodes/{node}/rrd",
44660702 33481 "text" : "rrd"
56122987
DM
33482 },
33483 {
33484 "info" : {
7aacca6f 33485 "GET" : {
44660702
DM
33486 "description" : "Read node RRD statistics",
33487 "method" : "GET",
7aacca6f 33488 "name" : "rrddata",
56122987 33489 "parameters" : {
44660702 33490 "additionalProperties" : 0,
56122987 33491 "properties" : {
7aacca6f 33492 "cf" : {
7aacca6f
DM
33493 "description" : "The RRD consolidation function",
33494 "enum" : [
33495 "AVERAGE",
33496 "MAX"
44660702
DM
33497 ],
33498 "optional" : 1,
33499 "type" : "string"
56122987
DM
33500 },
33501 "node" : {
44660702 33502 "description" : "The cluster node name.",
56122987 33503 "format" : "pve-node",
013dc89f
DM
33504 "type" : "string",
33505 "typetext" : "<string>"
56122987 33506 },
7aacca6f 33507 "timeframe" : {
7aacca6f
DM
33508 "description" : "Specify the time frame you are interested in.",
33509 "enum" : [
33510 "hour",
33511 "day",
33512 "week",
33513 "month",
33514 "year"
44660702
DM
33515 ],
33516 "type" : "string"
56122987 33517 }
56122987
DM
33518 }
33519 },
56122987
DM
33520 "permissions" : {
33521 "check" : [
33522 "perm",
33523 "/nodes/{node}",
33524 [
44660702 33525 "Sys.Audit"
56122987
DM
33526 ]
33527 ]
7aacca6f 33528 },
44660702 33529 "protected" : 1,
56122987 33530 "returns" : {
7aacca6f 33531 "items" : {
44660702 33532 "properties" : {},
7aacca6f
DM
33533 "type" : "object"
33534 },
33535 "type" : "array"
44660702
DM
33536 }
33537 }
33538 },
33539 "leaf" : 1,
33540 "path" : "/nodes/{node}/rrddata",
33541 "text" : "rrddata"
33542 },
33543 {
33544 "info" : {
33545 "GET" : {
33546 "description" : "Read system log",
33547 "method" : "GET",
33548 "name" : "syslog",
56122987 33549 "parameters" : {
44660702 33550 "additionalProperties" : 0,
56122987 33551 "properties" : {
44660702
DM
33552 "limit" : {
33553 "minimum" : 0,
7aacca6f 33554 "optional" : 1,
4bd7df8b 33555 "type" : "integer",
013dc89f 33556 "typetext" : "<integer> (0 - N)"
7aacca6f 33557 },
56122987 33558 "node" : {
7aacca6f 33559 "description" : "The cluster node name.",
44660702 33560 "format" : "pve-node",
013dc89f
DM
33561 "type" : "string",
33562 "typetext" : "<string>"
56122987 33563 },
35a75dd3
DM
33564 "service" : {
33565 "description" : "Service ID",
33566 "maxLength" : 128,
33567 "optional" : 1,
33568 "type" : "string",
33569 "typetext" : "<string>"
33570 },
44660702
DM
33571 "since" : {
33572 "description" : "Display all log since this date-time string.",
33573 "optional" : 1,
33574 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
33575 "type" : "string"
33576 },
33577 "start" : {
7aacca6f
DM
33578 "minimum" : 0,
33579 "optional" : 1,
4bd7df8b 33580 "type" : "integer",
013dc89f 33581 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
33582 },
33583 "until" : {
33584 "description" : "Display all log until this date-time string.",
7aacca6f 33585 "optional" : 1,
44660702 33586 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
33587 "type" : "string"
33588 }
44660702 33589 }
56122987 33590 },
44660702
DM
33591 "permissions" : {
33592 "check" : [
33593 "perm",
33594 "/nodes/{node}",
33595 [
33596 "Sys.Syslog"
33597 ]
33598 ]
33599 },
33600 "protected" : 1,
33601 "proxyto" : "node",
33602 "returns" : {
33603 "items" : {
33604 "properties" : {
33605 "n" : {
33606 "description" : "Line number",
33607 "type" : "integer"
33608 },
33609 "t" : {
33610 "description" : "Line text",
33611 "type" : "string"
33612 }
33613 },
33614 "type" : "object"
33615 },
33616 "type" : "array"
33617 }
56122987
DM
33618 }
33619 },
44660702
DM
33620 "leaf" : 1,
33621 "path" : "/nodes/{node}/syslog",
7aacca6f 33622 "text" : "syslog"
56122987 33623 },
bb4c8cf8
TL
33624 {
33625 "info" : {
33626 "GET" : {
33627 "description" : "Read Journal",
33628 "method" : "GET",
33629 "name" : "journal",
33630 "parameters" : {
33631 "additionalProperties" : 0,
33632 "properties" : {
33633 "endcursor" : {
33634 "description" : "End before the given Cursor. Conflicts with 'until'",
33635 "optional" : 1,
33636 "type" : "string",
33637 "typetext" : "<string>"
33638 },
33639 "lastentries" : {
33640 "description" : "Limit to the last X lines. Conflicts with a range.",
33641 "minimum" : 0,
33642 "optional" : 1,
33643 "type" : "integer",
33644 "typetext" : "<integer> (0 - N)"
33645 },
33646 "node" : {
33647 "description" : "The cluster node name.",
33648 "format" : "pve-node",
33649 "type" : "string",
33650 "typetext" : "<string>"
33651 },
33652 "since" : {
33653 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
33654 "minimum" : 0,
33655 "optional" : 1,
33656 "type" : "integer",
33657 "typetext" : "<integer> (0 - N)"
33658 },
33659 "startcursor" : {
33660 "description" : "Start after the given Cursor. Conflicts with 'since'",
33661 "optional" : 1,
33662 "type" : "string",
33663 "typetext" : "<string>"
33664 },
33665 "until" : {
33666 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
33667 "minimum" : 0,
33668 "optional" : 1,
33669 "type" : "integer",
33670 "typetext" : "<integer> (0 - N)"
33671 }
33672 }
33673 },
33674 "permissions" : {
33675 "check" : [
33676 "perm",
33677 "/nodes/{node}",
33678 [
33679 "Sys.Syslog"
33680 ]
33681 ]
33682 },
33683 "protected" : 1,
33684 "proxyto" : "node",
33685 "returns" : {
33686 "items" : {
33687 "type" : "string"
33688 },
33689 "type" : "array"
33690 }
33691 }
33692 },
33693 "leaf" : 1,
33694 "path" : "/nodes/{node}/journal",
33695 "text" : "journal"
33696 },
56122987 33697 {
56122987
DM
33698 "info" : {
33699 "POST" : {
44660702
DM
33700 "description" : "Creates a VNC Shell proxy.",
33701 "method" : "POST",
33702 "name" : "vncshell",
33703 "parameters" : {
33704 "additionalProperties" : 0,
56122987 33705 "properties" : {
95895385
TL
33706 "cmd" : {
33707 "default" : "login",
33708 "description" : "Run specific command or default to login.",
33709 "enum" : [
1e3f8156 33710 "upgrade",
9226ccbc
TL
33711 "login",
33712 "ceph_install"
95895385
TL
33713 ],
33714 "optional" : 1,
33715 "type" : "string"
33716 },
5d9c884c
DM
33717 "height" : {
33718 "description" : "sets the height of the console in pixels.",
33719 "maximum" : 2160,
33720 "minimum" : 16,
33721 "optional" : 1,
33722 "type" : "integer",
33723 "typetext" : "<integer> (16 - 2160)"
33724 },
44660702
DM
33725 "node" : {
33726 "description" : "The cluster node name.",
33727 "format" : "pve-node",
013dc89f
DM
33728 "type" : "string",
33729 "typetext" : "<string>"
7aacca6f 33730 },
44660702
DM
33731 "upgrade" : {
33732 "default" : 0,
95895385 33733 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 33734 "optional" : 1,
013dc89f
DM
33735 "type" : "boolean",
33736 "typetext" : "<boolean>"
7aacca6f 33737 },
44660702
DM
33738 "websocket" : {
33739 "description" : "use websocket instead of standard vnc.",
33740 "optional" : 1,
013dc89f
DM
33741 "type" : "boolean",
33742 "typetext" : "<boolean>"
5d9c884c
DM
33743 },
33744 "width" : {
33745 "description" : "sets the width of the console in pixels.",
33746 "maximum" : 4096,
33747 "minimum" : 16,
33748 "optional" : 1,
33749 "type" : "integer",
33750 "typetext" : "<integer> (16 - 4096)"
56122987 33751 }
44660702 33752 }
56122987 33753 },
56122987
DM
33754 "permissions" : {
33755 "check" : [
33756 "perm",
7aacca6f 33757 "/nodes/{node}",
56122987 33758 [
7aacca6f 33759 "Sys.Console"
56122987 33760 ]
44660702
DM
33761 ],
33762 "description" : "Restricted to users on realm 'pam'"
56122987 33763 },
44660702
DM
33764 "protected" : 1,
33765 "returns" : {
33766 "additionalProperties" : 0,
56122987 33767 "properties" : {
44660702
DM
33768 "cert" : {
33769 "type" : "string"
7aacca6f 33770 },
44660702
DM
33771 "port" : {
33772 "type" : "integer"
7aacca6f 33773 },
44660702
DM
33774 "ticket" : {
33775 "type" : "string"
33776 },
33777 "upid" : {
33778 "type" : "string"
33779 },
33780 "user" : {
33781 "type" : "string"
56122987 33782 }
44660702
DM
33783 }
33784 }
56122987
DM
33785 }
33786 },
7aacca6f 33787 "leaf" : 1,
44660702
DM
33788 "path" : "/nodes/{node}/vncshell",
33789 "text" : "vncshell"
56122987 33790 },
35a75dd3
DM
33791 {
33792 "info" : {
33793 "POST" : {
33794 "description" : "Creates a VNC Shell proxy.",
33795 "method" : "POST",
33796 "name" : "termproxy",
33797 "parameters" : {
33798 "additionalProperties" : 0,
33799 "properties" : {
95895385
TL
33800 "cmd" : {
33801 "default" : "login",
33802 "description" : "Run specific command or default to login.",
33803 "enum" : [
1e3f8156 33804 "upgrade",
9226ccbc
TL
33805 "login",
33806 "ceph_install"
95895385
TL
33807 ],
33808 "optional" : 1,
33809 "type" : "string"
33810 },
35a75dd3
DM
33811 "node" : {
33812 "description" : "The cluster node name.",
33813 "format" : "pve-node",
33814 "type" : "string",
33815 "typetext" : "<string>"
33816 },
33817 "upgrade" : {
33818 "default" : 0,
95895385 33819 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
35a75dd3
DM
33820 "optional" : 1,
33821 "type" : "boolean",
33822 "typetext" : "<boolean>"
33823 }
33824 }
33825 },
33826 "permissions" : {
33827 "check" : [
33828 "perm",
33829 "/nodes/{node}",
33830 [
33831 "Sys.Console"
33832 ]
33833 ],
33834 "description" : "Restricted to users on realm 'pam'"
33835 },
33836 "protected" : 1,
33837 "returns" : {
33838 "additionalProperties" : 0,
33839 "properties" : {
33840 "port" : {
33841 "type" : "integer"
33842 },
33843 "ticket" : {
33844 "type" : "string"
33845 },
33846 "upid" : {
33847 "type" : "string"
33848 },
33849 "user" : {
33850 "type" : "string"
33851 }
33852 }
33853 }
33854 }
33855 },
33856 "leaf" : 1,
33857 "path" : "/nodes/{node}/termproxy",
33858 "text" : "termproxy"
33859 },
56122987
DM
33860 {
33861 "info" : {
33862 "GET" : {
7aacca6f 33863 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
33864 "method" : "GET",
33865 "name" : "vncwebsocket",
56122987 33866 "parameters" : {
44660702 33867 "additionalProperties" : 0,
56122987
DM
33868 "properties" : {
33869 "node" : {
33870 "description" : "The cluster node name.",
44660702 33871 "format" : "pve-node",
013dc89f
DM
33872 "type" : "string",
33873 "typetext" : "<string>"
7aacca6f
DM
33874 },
33875 "port" : {
7aacca6f
DM
33876 "description" : "Port number returned by previous vncproxy call.",
33877 "maximum" : 5999,
44660702 33878 "minimum" : 5900,
4bd7df8b 33879 "type" : "integer",
013dc89f 33880 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
33881 },
33882 "vncticket" : {
33883 "description" : "Ticket from previous call to vncproxy.",
33884 "maxLength" : 512,
013dc89f
DM
33885 "type" : "string",
33886 "typetext" : "<string>"
56122987 33887 }
44660702 33888 }
56122987 33889 },
56122987
DM
33890 "permissions" : {
33891 "check" : [
33892 "perm",
33893 "/nodes/{node}",
33894 [
7aacca6f 33895 "Sys.Console"
56122987 33896 ]
44660702
DM
33897 ],
33898 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
33899 },
33900 "returns" : {
33901 "properties" : {
33902 "port" : {
33903 "type" : "string"
33904 }
33905 },
33906 "type" : "object"
7aacca6f 33907 }
56122987
DM
33908 }
33909 },
44660702 33910 "leaf" : 1,
7aacca6f 33911 "path" : "/nodes/{node}/vncwebsocket",
44660702 33912 "text" : "vncwebsocket"
56122987
DM
33913 },
33914 {
33915 "info" : {
33916 "POST" : {
44660702 33917 "description" : "Creates a SPICE shell.",
7aacca6f 33918 "method" : "POST",
44660702 33919 "name" : "spiceshell",
56122987 33920 "parameters" : {
7aacca6f 33921 "additionalProperties" : 0,
56122987 33922 "properties" : {
95895385
TL
33923 "cmd" : {
33924 "default" : "login",
33925 "description" : "Run specific command or default to login.",
33926 "enum" : [
1e3f8156 33927 "upgrade",
9226ccbc
TL
33928 "login",
33929 "ceph_install"
95895385
TL
33930 ],
33931 "optional" : 1,
33932 "type" : "string"
33933 },
7aacca6f 33934 "node" : {
44660702 33935 "description" : "The cluster node name.",
56122987 33936 "format" : "pve-node",
013dc89f
DM
33937 "type" : "string",
33938 "typetext" : "<string>"
7aacca6f 33939 },
44660702 33940 "proxy" : {
4d47f125 33941 "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
33942 "format" : "address",
33943 "optional" : 1,
013dc89f
DM
33944 "type" : "string",
33945 "typetext" : "<string>"
7aacca6f 33946 },
44660702
DM
33947 "upgrade" : {
33948 "default" : 0,
95895385 33949 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 33950 "optional" : 1,
013dc89f
DM
33951 "type" : "boolean",
33952 "typetext" : "<boolean>"
56122987 33953 }
7aacca6f 33954 }
56122987 33955 },
56122987
DM
33956 "permissions" : {
33957 "check" : [
33958 "perm",
7aacca6f 33959 "/nodes/{node}",
56122987 33960 [
7aacca6f 33961 "Sys.Console"
56122987 33962 ]
7aacca6f
DM
33963 ],
33964 "description" : "Restricted to users on realm 'pam'"
44660702
DM
33965 },
33966 "protected" : 1,
33967 "proxyto" : "node",
33968 "returns" : {
33969 "additionalProperties" : 1,
33970 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
33971 "properties" : {
33972 "host" : {
33973 "type" : "string"
33974 },
33975 "password" : {
33976 "type" : "string"
33977 },
33978 "proxy" : {
33979 "type" : "string"
33980 },
33981 "tls-port" : {
33982 "type" : "integer"
33983 },
33984 "type" : {
33985 "type" : "string"
33986 }
33987 }
7aacca6f 33988 }
56122987
DM
33989 }
33990 },
56122987 33991 "leaf" : 1,
44660702
DM
33992 "path" : "/nodes/{node}/spiceshell",
33993 "text" : "spiceshell"
56122987
DM
33994 },
33995 {
56122987 33996 "info" : {
7aacca6f 33997 "GET" : {
44660702 33998 "description" : "Read DNS settings.",
7aacca6f 33999 "method" : "GET",
44660702
DM
34000 "name" : "dns",
34001 "parameters" : {
7aacca6f
DM
34002 "additionalProperties" : 0,
34003 "properties" : {
44660702
DM
34004 "node" : {
34005 "description" : "The cluster node name.",
34006 "format" : "pve-node",
013dc89f
DM
34007 "type" : "string",
34008 "typetext" : "<string>"
7aacca6f
DM
34009 }
34010 }
34011 },
7aacca6f
DM
34012 "permissions" : {
34013 "check" : [
34014 "perm",
34015 "/nodes/{node}",
34016 [
34017 "Sys.Audit"
34018 ]
34019 ]
34020 },
44660702
DM
34021 "proxyto" : "node",
34022 "returns" : {
56122987
DM
34023 "additionalProperties" : 0,
34024 "properties" : {
44660702
DM
34025 "dns1" : {
34026 "description" : "First name server IP address.",
34027 "optional" : 1,
34028 "type" : "string"
34029 },
34030 "dns2" : {
34031 "description" : "Second name server IP address.",
34032 "optional" : 1,
34033 "type" : "string"
34034 },
34035 "dns3" : {
34036 "description" : "Third name server IP address.",
34037 "optional" : 1,
34038 "type" : "string"
34039 },
34040 "search" : {
34041 "description" : "Search domain for host-name lookup.",
34042 "optional" : 1,
34043 "type" : "string"
7aacca6f 34044 }
44660702
DM
34045 },
34046 "type" : "object"
34047 }
7aacca6f
DM
34048 },
34049 "PUT" : {
44660702
DM
34050 "description" : "Write DNS settings.",
34051 "method" : "PUT",
7aacca6f
DM
34052 "name" : "update_dns",
34053 "parameters" : {
34054 "additionalProperties" : 0,
34055 "properties" : {
44660702
DM
34056 "dns1" : {
34057 "description" : "First name server IP address.",
34058 "format" : "ip",
34059 "optional" : 1,
013dc89f
DM
34060 "type" : "string",
34061 "typetext" : "<string>"
7aacca6f 34062 },
44660702
DM
34063 "dns2" : {
34064 "description" : "Second name server IP address.",
34065 "format" : "ip",
7aacca6f 34066 "optional" : 1,
013dc89f
DM
34067 "type" : "string",
34068 "typetext" : "<string>"
7aacca6f 34069 },
44660702
DM
34070 "dns3" : {
34071 "description" : "Third name server IP address.",
34072 "format" : "ip",
7aacca6f 34073 "optional" : 1,
013dc89f
DM
34074 "type" : "string",
34075 "typetext" : "<string>"
7aacca6f
DM
34076 },
34077 "node" : {
44660702 34078 "description" : "The cluster node name.",
56122987 34079 "format" : "pve-node",
013dc89f
DM
34080 "type" : "string",
34081 "typetext" : "<string>"
7aacca6f 34082 },
44660702
DM
34083 "search" : {
34084 "description" : "Search domain for host-name lookup.",
013dc89f
DM
34085 "type" : "string",
34086 "typetext" : "<string>"
56122987
DM
34087 }
34088 }
34089 },
34090 "permissions" : {
34091 "check" : [
34092 "perm",
7aacca6f 34093 "/nodes/{node}",
56122987 34094 [
7aacca6f 34095 "Sys.Modify"
56122987
DM
34096 ]
34097 ]
34098 },
44660702 34099 "protected" : 1,
7aacca6f 34100 "proxyto" : "node",
56122987 34101 "returns" : {
7aacca6f
DM
34102 "type" : "null"
34103 }
56122987 34104 }
44660702
DM
34105 },
34106 "leaf" : 1,
34107 "path" : "/nodes/{node}/dns",
34108 "text" : "dns"
56122987
DM
34109 },
34110 {
34111 "info" : {
7aacca6f 34112 "GET" : {
7aacca6f 34113 "description" : "Read server time and time zone settings.",
44660702
DM
34114 "method" : "GET",
34115 "name" : "time",
56122987 34116 "parameters" : {
44660702 34117 "additionalProperties" : 0,
56122987
DM
34118 "properties" : {
34119 "node" : {
44660702 34120 "description" : "The cluster node name.",
56122987 34121 "format" : "pve-node",
013dc89f
DM
34122 "type" : "string",
34123 "typetext" : "<string>"
56122987 34124 }
44660702 34125 }
56122987
DM
34126 },
34127 "permissions" : {
34128 "check" : [
34129 "perm",
7aacca6f 34130 "/nodes/{node}",
56122987 34131 [
7aacca6f 34132 "Sys.Audit"
56122987
DM
34133 ]
34134 ]
44660702
DM
34135 },
34136 "proxyto" : "node",
34137 "returns" : {
34138 "additionalProperties" : 0,
34139 "properties" : {
34140 "localtime" : {
34141 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
34142 "minimum" : 1297163644,
4d47f125 34143 "renderer" : "timestamp_gmt",
44660702
DM
34144 "type" : "integer"
34145 },
34146 "time" : {
34147 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
34148 "minimum" : 1297163644,
4d47f125 34149 "renderer" : "timestamp",
44660702
DM
34150 "type" : "integer"
34151 },
34152 "timezone" : {
34153 "description" : "Time zone",
34154 "type" : "string"
34155 }
34156 },
34157 "type" : "object"
7aacca6f
DM
34158 }
34159 },
34160 "PUT" : {
7aacca6f 34161 "description" : "Set time zone.",
44660702
DM
34162 "method" : "PUT",
34163 "name" : "set_timezone",
34164 "parameters" : {
34165 "additionalProperties" : 0,
34166 "properties" : {
34167 "node" : {
34168 "description" : "The cluster node name.",
34169 "format" : "pve-node",
013dc89f
DM
34170 "type" : "string",
34171 "typetext" : "<string>"
44660702
DM
34172 },
34173 "timezone" : {
34174 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
34175 "type" : "string",
34176 "typetext" : "<string>"
44660702
DM
34177 }
34178 }
34179 },
7aacca6f
DM
34180 "permissions" : {
34181 "check" : [
34182 "perm",
34183 "/nodes/{node}",
34184 [
34185 "Sys.Modify"
34186 ]
34187 ]
56122987 34188 },
7aacca6f 34189 "protected" : 1,
44660702
DM
34190 "proxyto" : "node",
34191 "returns" : {
34192 "type" : "null"
34193 }
7aacca6f
DM
34194 }
34195 },
7aacca6f 34196 "leaf" : 1,
44660702
DM
34197 "path" : "/nodes/{node}/time",
34198 "text" : "time"
7aacca6f
DM
34199 },
34200 {
34201 "info" : {
44660702
DM
34202 "GET" : {
34203 "description" : "Get list of appliances.",
34204 "method" : "GET",
34205 "name" : "aplinfo",
7aacca6f
DM
34206 "parameters" : {
34207 "additionalProperties" : 0,
34208 "properties" : {
7aacca6f 34209 "node" : {
44660702 34210 "description" : "The cluster node name.",
7aacca6f 34211 "format" : "pve-node",
013dc89f
DM
34212 "type" : "string",
34213 "typetext" : "<string>"
7aacca6f
DM
34214 }
34215 }
56122987 34216 },
7aacca6f 34217 "permissions" : {
44660702 34218 "user" : "all"
56122987 34219 },
44660702 34220 "proxyto" : "node",
7aacca6f
DM
34221 "returns" : {
34222 "items" : {
44660702
DM
34223 "properties" : {},
34224 "type" : "object"
7aacca6f
DM
34225 },
34226 "type" : "array"
44660702
DM
34227 }
34228 },
34229 "POST" : {
34230 "description" : "Download appliance templates.",
34231 "method" : "POST",
34232 "name" : "apl_download",
7aacca6f
DM
34233 "parameters" : {
34234 "additionalProperties" : 0,
34235 "properties" : {
34236 "node" : {
7aacca6f 34237 "description" : "The cluster node name.",
44660702 34238 "format" : "pve-node",
013dc89f
DM
34239 "type" : "string",
34240 "typetext" : "<string>"
44660702
DM
34241 },
34242 "storage" : {
4bd7df8b 34243 "description" : "The storage where the template will be stored",
44660702 34244 "format" : "pve-storage-id",
013dc89f
DM
34245 "type" : "string",
34246 "typetext" : "<string>"
44660702
DM
34247 },
34248 "template" : {
1e3f8156 34249 "description" : "The template which will downloaded",
44660702 34250 "maxLength" : 255,
013dc89f
DM
34251 "type" : "string",
34252 "typetext" : "<string>"
7aacca6f
DM
34253 }
34254 }
56122987 34255 },
7aacca6f 34256 "permissions" : {
44660702
DM
34257 "check" : [
34258 "perm",
34259 "/storage/{storage}",
34260 [
34261 "Datastore.AllocateTemplate"
34262 ]
34263 ]
34264 },
34265 "protected" : 1,
34266 "proxyto" : "node",
34267 "returns" : {
34268 "type" : "string"
7aacca6f
DM
34269 }
34270 }
34271 },
7aacca6f 34272 "leaf" : 1,
44660702
DM
34273 "path" : "/nodes/{node}/aplinfo",
34274 "text" : "aplinfo"
7aacca6f
DM
34275 },
34276 {
34277 "info" : {
34278 "GET" : {
44660702
DM
34279 "description" : "Gather various systems information about a node",
34280 "method" : "GET",
34281 "name" : "report",
7aacca6f 34282 "parameters" : {
44660702 34283 "additionalProperties" : 0,
7aacca6f
DM
34284 "properties" : {
34285 "node" : {
7aacca6f 34286 "description" : "The cluster node name.",
44660702 34287 "format" : "pve-node",
013dc89f
DM
34288 "type" : "string",
34289 "typetext" : "<string>"
7aacca6f 34290 }
44660702 34291 }
56122987 34292 },
7aacca6f
DM
34293 "permissions" : {
34294 "check" : [
34295 "perm",
34296 "/nodes/{node}",
34297 [
34298 "Sys.Audit"
34299 ]
34300 ]
56122987 34301 },
44660702 34302 "protected" : 1,
7aacca6f
DM
34303 "proxyto" : "node",
34304 "returns" : {
56122987 34305 "type" : "string"
7aacca6f
DM
34306 }
34307 }
34308 },
7aacca6f 34309 "leaf" : 1,
44660702
DM
34310 "path" : "/nodes/{node}/report",
34311 "text" : "report"
7aacca6f
DM
34312 },
34313 {
7aacca6f
DM
34314 "info" : {
34315 "POST" : {
44660702 34316 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 34317 "method" : "POST",
44660702 34318 "name" : "startall",
7aacca6f 34319 "parameters" : {
44660702 34320 "additionalProperties" : 0,
7aacca6f
DM
34321 "properties" : {
34322 "force" : {
44660702 34323 "description" : "force if onboot=0.",
7aacca6f 34324 "optional" : 1,
013dc89f
DM
34325 "type" : "boolean",
34326 "typetext" : "<boolean>"
7aacca6f
DM
34327 },
34328 "node" : {
7aacca6f 34329 "description" : "The cluster node name.",
44660702 34330 "format" : "pve-node",
013dc89f
DM
34331 "type" : "string",
34332 "typetext" : "<string>"
52e44c50
FG
34333 },
34334 "vms" : {
34335 "description" : "Only consider Guests with these IDs.",
34336 "format" : "pve-vmid-list",
34337 "optional" : 1,
34338 "type" : "string",
34339 "typetext" : "<string>"
7aacca6f 34340 }
44660702 34341 }
56122987 34342 },
7aacca6f
DM
34343 "permissions" : {
34344 "check" : [
34345 "perm",
34346 "/",
34347 [
34348 "VM.PowerMgmt"
34349 ]
34350 ]
44660702
DM
34351 },
34352 "protected" : 1,
34353 "proxyto" : "node",
34354 "returns" : {
34355 "type" : "string"
7aacca6f
DM
34356 }
34357 }
34358 },
44660702 34359 "leaf" : 1,
7aacca6f 34360 "path" : "/nodes/{node}/startall",
44660702 34361 "text" : "startall"
7aacca6f
DM
34362 },
34363 {
7aacca6f
DM
34364 "info" : {
34365 "POST" : {
34366 "description" : "Stop all VMs and Containers.",
44660702
DM
34367 "method" : "POST",
34368 "name" : "stopall",
7aacca6f 34369 "parameters" : {
44660702 34370 "additionalProperties" : 0,
7aacca6f
DM
34371 "properties" : {
34372 "node" : {
44660702 34373 "description" : "The cluster node name.",
7aacca6f 34374 "format" : "pve-node",
013dc89f
DM
34375 "type" : "string",
34376 "typetext" : "<string>"
52e44c50
FG
34377 },
34378 "vms" : {
34379 "description" : "Only consider Guests with these IDs.",
34380 "format" : "pve-vmid-list",
34381 "optional" : 1,
34382 "type" : "string",
34383 "typetext" : "<string>"
7aacca6f 34384 }
44660702 34385 }
56122987 34386 },
7aacca6f
DM
34387 "permissions" : {
34388 "check" : [
34389 "perm",
34390 "/",
34391 [
44660702 34392 "VM.PowerMgmt"
7aacca6f
DM
34393 ]
34394 ]
56122987 34395 },
44660702 34396 "protected" : 1,
7aacca6f 34397 "proxyto" : "node",
44660702
DM
34398 "returns" : {
34399 "type" : "string"
34400 }
34401 }
56122987 34402 },
44660702
DM
34403 "leaf" : 1,
34404 "path" : "/nodes/{node}/stopall",
34405 "text" : "stopall"
34406 },
34407 {
34408 "info" : {
34409 "POST" : {
34410 "description" : "Migrate all VMs and Containers.",
34411 "method" : "POST",
34412 "name" : "migrateall",
34413 "parameters" : {
34414 "additionalProperties" : 0,
34415 "properties" : {
34416 "maxworkers" : {
34417 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
34418 "minimum" : 1,
34419 "optional" : 1,
4bd7df8b 34420 "type" : "integer",
013dc89f 34421 "typetext" : "<integer> (1 - N)"
44660702
DM
34422 },
34423 "node" : {
34424 "description" : "The cluster node name.",
34425 "format" : "pve-node",
013dc89f
DM
34426 "type" : "string",
34427 "typetext" : "<string>"
44660702
DM
34428 },
34429 "target" : {
34430 "description" : "Target node.",
34431 "format" : "pve-node",
013dc89f
DM
34432 "type" : "string",
34433 "typetext" : "<string>"
52e44c50
FG
34434 },
34435 "vms" : {
34436 "description" : "Only consider Guests with these IDs.",
34437 "format" : "pve-vmid-list",
34438 "optional" : 1,
34439 "type" : "string",
34440 "typetext" : "<string>"
44660702
DM
34441 }
34442 }
34443 },
34444 "permissions" : {
34445 "check" : [
34446 "perm",
34447 "/",
34448 [
34449 "VM.Migrate"
34450 ]
34451 ]
34452 },
34453 "protected" : 1,
34454 "proxyto" : "node",
34455 "returns" : {
34456 "type" : "string"
34457 }
34458 }
56122987 34459 },
44660702
DM
34460 "leaf" : 1,
34461 "path" : "/nodes/{node}/migrateall",
34462 "text" : "migrateall"
4d47f125
TL
34463 },
34464 {
34465 "info" : {
34466 "GET" : {
34467 "description" : "Get the content of /etc/hosts.",
34468 "method" : "GET",
34469 "name" : "get_etc_hosts",
34470 "parameters" : {
34471 "additionalProperties" : 0,
34472 "properties" : {
34473 "node" : {
34474 "description" : "The cluster node name.",
34475 "format" : "pve-node",
34476 "type" : "string",
34477 "typetext" : "<string>"
34478 }
34479 }
34480 },
34481 "permissions" : {
34482 "check" : [
34483 "perm",
34484 "/",
34485 [
34486 "Sys.Audit"
34487 ]
34488 ]
34489 },
34490 "protected" : 1,
34491 "proxyto" : "node",
34492 "returns" : {
34493 "properties" : {
34494 "data" : {
34495 "description" : "The content of /etc/hosts.",
34496 "type" : "string"
34497 },
34498 "digest" : {
34499 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34500 "maxLength" : 40,
34501 "optional" : 1,
34502 "type" : "string"
34503 }
34504 },
34505 "type" : "object"
34506 }
34507 },
34508 "POST" : {
34509 "description" : "Write /etc/hosts.",
34510 "method" : "POST",
34511 "name" : "write_etc_hosts",
34512 "parameters" : {
34513 "additionalProperties" : 0,
34514 "properties" : {
34515 "data" : {
34516 "description" : "The target content of /etc/hosts.",
34517 "type" : "string",
34518 "typetext" : "<string>"
34519 },
34520 "digest" : {
34521 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34522 "maxLength" : 40,
34523 "optional" : 1,
34524 "type" : "string",
34525 "typetext" : "<string>"
34526 },
34527 "node" : {
34528 "description" : "The cluster node name.",
34529 "format" : "pve-node",
34530 "type" : "string",
34531 "typetext" : "<string>"
34532 }
34533 }
34534 },
34535 "permissions" : {
34536 "check" : [
34537 "perm",
34538 "/nodes/{node}",
34539 [
34540 "Sys.Modify"
34541 ]
34542 ]
34543 },
34544 "protected" : 1,
34545 "proxyto" : "node",
34546 "returns" : {
34547 "type" : "null"
34548 }
34549 }
34550 },
34551 "leaf" : 1,
34552 "path" : "/nodes/{node}/hosts",
34553 "text" : "hosts"
44660702
DM
34554 }
34555 ],
34556 "info" : {
34557 "GET" : {
34558 "description" : "Node index.",
34559 "method" : "GET",
34560 "name" : "index",
34561 "parameters" : {
34562 "additionalProperties" : 0,
34563 "properties" : {
34564 "node" : {
34565 "description" : "The cluster node name.",
34566 "format" : "pve-node",
013dc89f
DM
34567 "type" : "string",
34568 "typetext" : "<string>"
44660702
DM
34569 }
34570 }
56122987 34571 },
44660702
DM
34572 "permissions" : {
34573 "user" : "all"
56122987 34574 },
44660702
DM
34575 "returns" : {
34576 "items" : {
34577 "properties" : {},
34578 "type" : "object"
34579 },
34580 "links" : [
34581 {
34582 "href" : "{name}",
34583 "rel" : "child"
34584 }
56122987 34585 ],
44660702 34586 "type" : "array"
7aacca6f
DM
34587 }
34588 }
34589 },
44660702
DM
34590 "leaf" : 0,
34591 "path" : "/nodes/{node}",
34592 "text" : "{node}"
34593 }
34594 ],
34595 "info" : {
7aacca6f 34596 "GET" : {
44660702 34597 "description" : "Cluster node index.",
7aacca6f 34598 "method" : "GET",
44660702 34599 "name" : "index",
7aacca6f 34600 "parameters" : {
7aacca6f
DM
34601 "additionalProperties" : 0
34602 },
34603 "permissions" : {
7aacca6f
DM
34604 "user" : "all"
34605 },
44660702
DM
34606 "returns" : {
34607 "items" : {
4d47f125
TL
34608 "properties" : {
34609 "cpu" : {
34610 "description" : "CPU utilization.",
34611 "optional" : 1,
34612 "renderer" : "fraction_as_percentage",
34613 "type" : "number"
34614 },
34615 "level" : {
34616 "description" : "Support level.",
34617 "optional" : 1,
34618 "type" : "string"
34619 },
34620 "maxcpu" : {
34621 "description" : "Number of available CPUs.",
34622 "optional" : 1,
34623 "type" : "integer"
34624 },
34625 "maxmem" : {
34626 "description" : "Number of available memory in bytes.",
34627 "optional" : 1,
34628 "renderer" : "bytes",
34629 "type" : "integer"
34630 },
34631 "mem" : {
34632 "description" : "Used memory in bytes.",
34633 "optional" : 1,
34634 "renderer" : "bytes",
34635 "type" : "string"
34636 },
34637 "node" : {
34638 "description" : "The cluster node name.",
34639 "format" : "pve-node",
34640 "type" : "string"
34641 },
34642 "ssl_fingerprint" : {
34643 "description" : "The SSL fingerprint for the node certificate.",
34644 "optional" : 1,
34645 "type" : "string"
34646 },
34647 "status" : {
34648 "description" : "Node status.",
34649 "enum" : [
34650 "unknown",
34651 "online",
34652 "offline"
34653 ],
34654 "type" : "string"
34655 },
34656 "uptime" : {
34657 "description" : "Node uptime in seconds.",
34658 "optional" : 1,
34659 "renderer" : "duration",
34660 "type" : "integer"
34661 }
34662 },
44660702
DM
34663 "type" : "object"
34664 },
34665 "links" : [
34666 {
34667 "href" : "{node}",
34668 "rel" : "child"
34669 }
34670 ],
34671 "type" : "array"
34672 }
7aacca6f
DM
34673 }
34674 },
44660702
DM
34675 "leaf" : 0,
34676 "path" : "/nodes",
34677 "text" : "nodes"
34678 },
34679 {
7aacca6f
DM
34680 "children" : [
34681 {
7aacca6f 34682 "info" : {
44660702
DM
34683 "DELETE" : {
34684 "description" : "Delete storage configuration.",
34685 "method" : "DELETE",
34686 "name" : "delete",
7aacca6f
DM
34687 "parameters" : {
34688 "additionalProperties" : 0,
34689 "properties" : {
34690 "storage" : {
7aacca6f 34691 "description" : "The storage identifier.",
44660702 34692 "format" : "pve-storage-id",
013dc89f
DM
34693 "type" : "string",
34694 "typetext" : "<string>"
7aacca6f
DM
34695 }
34696 }
56122987 34697 },
7aacca6f
DM
34698 "permissions" : {
34699 "check" : [
34700 "perm",
34701 "/storage",
34702 [
34703 "Datastore.Allocate"
34704 ]
34705 ]
56122987 34706 },
44660702
DM
34707 "protected" : 1,
34708 "returns" : {
34709 "type" : "null"
34710 }
34711 },
34712 "GET" : {
34713 "description" : "Read storage configuration.",
34714 "method" : "GET",
34715 "name" : "read",
7aacca6f
DM
34716 "parameters" : {
34717 "additionalProperties" : 0,
34718 "properties" : {
34719 "storage" : {
44660702 34720 "description" : "The storage identifier.",
7aacca6f 34721 "format" : "pve-storage-id",
013dc89f
DM
34722 "type" : "string",
34723 "typetext" : "<string>"
7aacca6f
DM
34724 }
34725 }
34726 },
44660702
DM
34727 "permissions" : {
34728 "check" : [
34729 "perm",
34730 "/storage/{storage}",
34731 [
34732 "Datastore.Allocate"
34733 ]
34734 ]
34735 },
5da3d723
TL
34736 "returns" : {
34737 "type" : "object"
34738 }
7aacca6f
DM
34739 },
34740 "PUT" : {
44660702
DM
34741 "description" : "Update storage configuration.",
34742 "method" : "PUT",
34743 "name" : "update",
34744 "parameters" : {
34745 "additionalProperties" : 0,
34746 "properties" : {
34747 "blocksize" : {
34748 "description" : "block size",
7aacca6f 34749 "optional" : 1,
013dc89f
DM
34750 "type" : "string",
34751 "typetext" : "<string>"
7aacca6f 34752 },
27a7acb2
DM
34753 "bwlimit" : {
34754 "description" : "Set bandwidth/io limits various operations.",
34755 "format" : {
34756 "clone" : {
95895385 34757 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
34758 "format_description" : "LIMIT",
34759 "minimum" : "0",
34760 "optional" : 1,
34761 "type" : "number"
34762 },
34763 "default" : {
95895385 34764 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
34765 "format_description" : "LIMIT",
34766 "minimum" : "0",
34767 "optional" : 1,
34768 "type" : "number"
34769 },
34770 "migration" : {
95895385 34771 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
34772 "format_description" : "LIMIT",
34773 "minimum" : "0",
34774 "optional" : 1,
34775 "type" : "number"
34776 },
34777 "move" : {
95895385 34778 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
34779 "format_description" : "LIMIT",
34780 "minimum" : "0",
34781 "optional" : 1,
34782 "type" : "number"
34783 },
34784 "restore" : {
95895385 34785 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
34786 "format_description" : "LIMIT",
34787 "minimum" : "0",
34788 "optional" : 1,
34789 "type" : "number"
34790 }
34791 },
34792 "optional" : 1,
34793 "type" : "string",
34794 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
34795 },
44660702
DM
34796 "comstar_hg" : {
34797 "description" : "host group for comstar views",
34798 "optional" : 1,
013dc89f
DM
34799 "type" : "string",
34800 "typetext" : "<string>"
7aacca6f 34801 },
44660702
DM
34802 "comstar_tg" : {
34803 "description" : "target group for comstar views",
7aacca6f 34804 "optional" : 1,
013dc89f
DM
34805 "type" : "string",
34806 "typetext" : "<string>"
7aacca6f 34807 },
44660702
DM
34808 "content" : {
34809 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
34810 "format" : "pve-storage-content-list",
7aacca6f 34811 "optional" : 1,
013dc89f
DM
34812 "type" : "string",
34813 "typetext" : "<string>"
7aacca6f 34814 },
44660702
DM
34815 "delete" : {
34816 "description" : "A list of settings you want to delete.",
34817 "format" : "pve-configid-list",
34818 "maxLength" : 4096,
7aacca6f 34819 "optional" : 1,
013dc89f
DM
34820 "type" : "string",
34821 "typetext" : "<string>"
7aacca6f
DM
34822 },
34823 "digest" : {
44660702 34824 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 34825 "maxLength" : 40,
7aacca6f 34826 "optional" : 1,
013dc89f
DM
34827 "type" : "string",
34828 "typetext" : "<string>"
7aacca6f 34829 },
44660702
DM
34830 "disable" : {
34831 "description" : "Flag to disable the storage.",
34832 "optional" : 1,
013dc89f
DM
34833 "type" : "boolean",
34834 "typetext" : "<boolean>"
7aacca6f 34835 },
27a7acb2
DM
34836 "domain" : {
34837 "description" : "CIFS domain.",
34838 "maxLength" : 256,
34839 "optional" : 1,
34840 "type" : "string",
34841 "typetext" : "<string>"
34842 },
7aacca6f
DM
34843 "format" : {
34844 "description" : "Default image format.",
44660702 34845 "format" : "pve-storage-format",
7aacca6f 34846 "optional" : 1,
013dc89f
DM
34847 "type" : "string",
34848 "typetext" : "<string>"
7aacca6f 34849 },
5da3d723
TL
34850 "fuse" : {
34851 "description" : "Mount CephFS through FUSE.",
34852 "optional" : 1,
34853 "type" : "boolean",
34854 "typetext" : "<boolean>"
34855 },
2c0dde61
DM
34856 "is_mountpoint" : {
34857 "default" : "no",
2489d6df 34858 "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 34859 "optional" : 1,
2489d6df
WB
34860 "type" : "string",
34861 "typetext" : "<string>"
2c0dde61 34862 },
44660702 34863 "krbd" : {
e2d681b3 34864 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 34865 "optional" : 1,
013dc89f
DM
34866 "type" : "boolean",
34867 "typetext" : "<boolean>"
7aacca6f 34868 },
4d47f125
TL
34869 "lio_tpg" : {
34870 "description" : "target portal group for Linux LIO targets",
34871 "optional" : 1,
34872 "type" : "string",
34873 "typetext" : "<string>"
34874 },
44660702
DM
34875 "maxfiles" : {
34876 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
34877 "minimum" : 0,
34878 "optional" : 1,
4bd7df8b 34879 "type" : "integer",
013dc89f 34880 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
34881 },
34882 "mkdir" : {
34883 "default" : "yes",
34884 "description" : "Create the directory if it doesn't exist.",
34885 "optional" : 1,
013dc89f
DM
34886 "type" : "boolean",
34887 "typetext" : "<boolean>"
7aacca6f 34888 },
2489d6df
WB
34889 "monhost" : {
34890 "description" : "IP addresses of monitors (for external clusters).",
34891 "format" : "pve-storage-portal-dns-list",
34892 "optional" : 1,
34893 "type" : "string",
34894 "typetext" : "<string>"
34895 },
7aacca6f 34896 "nodes" : {
44660702 34897 "description" : "List of cluster node names.",
7aacca6f
DM
34898 "format" : "pve-node-list",
34899 "optional" : 1,
013dc89f
DM
34900 "type" : "string",
34901 "typetext" : "<string>"
7aacca6f 34902 },
44660702
DM
34903 "nowritecache" : {
34904 "description" : "disable write caching on the target",
7aacca6f 34905 "optional" : 1,
013dc89f
DM
34906 "type" : "boolean",
34907 "typetext" : "<boolean>"
7aacca6f
DM
34908 },
34909 "options" : {
7aacca6f 34910 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
34911 "format" : "pve-storage-options",
34912 "optional" : 1,
013dc89f
DM
34913 "type" : "string",
34914 "typetext" : "<string>"
44660702 34915 },
27a7acb2
DM
34916 "password" : {
34917 "description" : "Password for CIFS share.",
34918 "maxLength" : 256,
34919 "optional" : 1,
34920 "type" : "string",
34921 "typetext" : "<string>"
34922 },
44660702
DM
34923 "pool" : {
34924 "description" : "Pool.",
34925 "optional" : 1,
013dc89f
DM
34926 "type" : "string",
34927 "typetext" : "<string>"
44660702
DM
34928 },
34929 "redundancy" : {
34930 "default" : 2,
34931 "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.",
34932 "maximum" : 16,
34933 "minimum" : 1,
34934 "optional" : 1,
4bd7df8b 34935 "type" : "integer",
013dc89f 34936 "typetext" : "<integer> (1 - 16)"
44660702
DM
34937 },
34938 "saferemove" : {
34939 "description" : "Zero-out data when removing LVs.",
34940 "optional" : 1,
013dc89f
DM
34941 "type" : "boolean",
34942 "typetext" : "<boolean>"
7aacca6f
DM
34943 },
34944 "saferemove_throughput" : {
44660702 34945 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 34946 "optional" : 1,
013dc89f
DM
34947 "type" : "string",
34948 "typetext" : "<string>"
7aacca6f 34949 },
44660702
DM
34950 "server" : {
34951 "description" : "Server IP or DNS name.",
34952 "format" : "pve-storage-server",
7aacca6f 34953 "optional" : 1,
013dc89f
DM
34954 "type" : "string",
34955 "typetext" : "<string>"
7aacca6f 34956 },
44660702
DM
34957 "server2" : {
34958 "description" : "Backup volfile server IP or DNS name.",
34959 "format" : "pve-storage-server",
7aacca6f 34960 "optional" : 1,
44660702 34961 "requires" : "server",
013dc89f
DM
34962 "type" : "string",
34963 "typetext" : "<string>"
44660702
DM
34964 },
34965 "shared" : {
34966 "description" : "Mark storage as shared.",
34967 "optional" : 1,
013dc89f
DM
34968 "type" : "boolean",
34969 "typetext" : "<boolean>"
44660702 34970 },
27a7acb2 34971 "smbversion" : {
5da3d723
TL
34972 "description" : "SMB protocol version",
34973 "enum" : [
34974 "2.0",
34975 "2.1",
34976 "3.0"
34977 ],
27a7acb2 34978 "optional" : 1,
5da3d723 34979 "type" : "string"
27a7acb2 34980 },
44660702
DM
34981 "sparse" : {
34982 "description" : "use sparse volumes",
34983 "optional" : 1,
013dc89f
DM
34984 "type" : "boolean",
34985 "typetext" : "<boolean>"
44660702
DM
34986 },
34987 "storage" : {
34988 "description" : "The storage identifier.",
34989 "format" : "pve-storage-id",
013dc89f
DM
34990 "type" : "string",
34991 "typetext" : "<string>"
44660702 34992 },
5da3d723
TL
34993 "subdir" : {
34994 "description" : "Subdir to mount.",
34995 "format" : "pve-storage-path",
34996 "optional" : 1,
34997 "type" : "string",
34998 "typetext" : "<string>"
34999 },
4bd7df8b
DM
35000 "tagged_only" : {
35001 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
35002 "optional" : 1,
013dc89f
DM
35003 "type" : "boolean",
35004 "typetext" : "<boolean>"
4bd7df8b 35005 },
44660702
DM
35006 "transport" : {
35007 "description" : "Gluster transport: tcp or rdma",
35008 "enum" : [
35009 "tcp",
35010 "rdma",
35011 "unix"
35012 ],
35013 "optional" : 1,
35014 "type" : "string"
7aacca6f
DM
35015 },
35016 "username" : {
35017 "description" : "RBD Id.",
44660702 35018 "optional" : 1,
013dc89f
DM
35019 "type" : "string",
35020 "typetext" : "<string>"
7aacca6f 35021 }
44660702
DM
35022 },
35023 "type" : "object"
35024 },
35025 "permissions" : {
35026 "check" : [
35027 "perm",
35028 "/storage",
35029 [
35030 "Datastore.Allocate"
35031 ]
35032 ]
35033 },
35034 "protected" : 1,
35035 "returns" : {
35036 "type" : "null"
35037 }
35038 }
35039 },
35040 "leaf" : 1,
35041 "path" : "/storage/{storage}",
35042 "text" : "{storage}"
35043 }
35044 ],
35045 "info" : {
35046 "GET" : {
35047 "description" : "Storage index.",
35048 "method" : "GET",
35049 "name" : "index",
35050 "parameters" : {
35051 "additionalProperties" : 0,
35052 "properties" : {
35053 "type" : {
35054 "description" : "Only list storage of specific type",
35055 "enum" : [
5da3d723 35056 "cephfs",
27a7acb2 35057 "cifs",
44660702
DM
35058 "dir",
35059 "drbd",
35060 "glusterfs",
35061 "iscsi",
35062 "iscsidirect",
35063 "lvm",
35064 "lvmthin",
35065 "nfs",
35066 "rbd",
44660702
DM
35067 "zfs",
35068 "zfspool"
35069 ],
35070 "optional" : 1,
35071 "type" : "string"
35072 }
35073 }
35074 },
35075 "permissions" : {
35076 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
35077 "user" : "all"
35078 },
35079 "returns" : {
35080 "items" : {
35081 "properties" : {
35082 "storage" : {
35083 "type" : "string"
7aacca6f 35084 }
56122987 35085 },
44660702
DM
35086 "type" : "object"
35087 },
35088 "links" : [
35089 {
35090 "href" : "{storage}",
35091 "rel" : "child"
35092 }
35093 ],
35094 "type" : "array"
35095 }
35096 },
35097 "POST" : {
35098 "description" : "Create a new storage.",
35099 "method" : "POST",
35100 "name" : "create",
35101 "parameters" : {
35102 "additionalProperties" : 0,
35103 "properties" : {
35104 "authsupported" : {
35105 "description" : "Authsupported.",
35106 "optional" : 1,
013dc89f
DM
35107 "type" : "string",
35108 "typetext" : "<string>"
44660702
DM
35109 },
35110 "base" : {
35111 "description" : "Base volume. This volume is automatically activated.",
35112 "format" : "pve-volume-id",
35113 "optional" : 1,
013dc89f
DM
35114 "type" : "string",
35115 "typetext" : "<string>"
44660702
DM
35116 },
35117 "blocksize" : {
35118 "description" : "block size",
35119 "optional" : 1,
013dc89f
DM
35120 "type" : "string",
35121 "typetext" : "<string>"
44660702 35122 },
27a7acb2
DM
35123 "bwlimit" : {
35124 "description" : "Set bandwidth/io limits various operations.",
35125 "format" : {
35126 "clone" : {
95895385 35127 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
35128 "format_description" : "LIMIT",
35129 "minimum" : "0",
35130 "optional" : 1,
35131 "type" : "number"
35132 },
35133 "default" : {
95895385 35134 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
35135 "format_description" : "LIMIT",
35136 "minimum" : "0",
35137 "optional" : 1,
35138 "type" : "number"
35139 },
35140 "migration" : {
95895385 35141 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
35142 "format_description" : "LIMIT",
35143 "minimum" : "0",
35144 "optional" : 1,
35145 "type" : "number"
35146 },
35147 "move" : {
95895385 35148 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
35149 "format_description" : "LIMIT",
35150 "minimum" : "0",
35151 "optional" : 1,
35152 "type" : "number"
35153 },
35154 "restore" : {
95895385 35155 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
35156 "format_description" : "LIMIT",
35157 "minimum" : "0",
35158 "optional" : 1,
35159 "type" : "number"
35160 }
35161 },
35162 "optional" : 1,
35163 "type" : "string",
35164 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
35165 },
44660702
DM
35166 "comstar_hg" : {
35167 "description" : "host group for comstar views",
35168 "optional" : 1,
013dc89f
DM
35169 "type" : "string",
35170 "typetext" : "<string>"
44660702
DM
35171 },
35172 "comstar_tg" : {
35173 "description" : "target group for comstar views",
35174 "optional" : 1,
013dc89f
DM
35175 "type" : "string",
35176 "typetext" : "<string>"
44660702
DM
35177 },
35178 "content" : {
35179 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
35180 "format" : "pve-storage-content-list",
35181 "optional" : 1,
013dc89f
DM
35182 "type" : "string",
35183 "typetext" : "<string>"
44660702
DM
35184 },
35185 "disable" : {
35186 "description" : "Flag to disable the storage.",
35187 "optional" : 1,
013dc89f
DM
35188 "type" : "boolean",
35189 "typetext" : "<boolean>"
44660702 35190 },
27a7acb2
DM
35191 "domain" : {
35192 "description" : "CIFS domain.",
35193 "maxLength" : 256,
35194 "optional" : 1,
35195 "type" : "string",
35196 "typetext" : "<string>"
35197 },
44660702
DM
35198 "export" : {
35199 "description" : "NFS export path.",
35200 "format" : "pve-storage-path",
35201 "optional" : 1,
013dc89f
DM
35202 "type" : "string",
35203 "typetext" : "<string>"
44660702
DM
35204 },
35205 "format" : {
35206 "description" : "Default image format.",
35207 "format" : "pve-storage-format",
35208 "optional" : 1,
013dc89f
DM
35209 "type" : "string",
35210 "typetext" : "<string>"
44660702 35211 },
5da3d723
TL
35212 "fuse" : {
35213 "description" : "Mount CephFS through FUSE.",
35214 "optional" : 1,
35215 "type" : "boolean",
35216 "typetext" : "<boolean>"
35217 },
2c0dde61
DM
35218 "is_mountpoint" : {
35219 "default" : "no",
2489d6df 35220 "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 35221 "optional" : 1,
2489d6df
WB
35222 "type" : "string",
35223 "typetext" : "<string>"
2c0dde61 35224 },
44660702
DM
35225 "iscsiprovider" : {
35226 "description" : "iscsi provider",
35227 "optional" : 1,
013dc89f
DM
35228 "type" : "string",
35229 "typetext" : "<string>"
44660702
DM
35230 },
35231 "krbd" : {
e2d681b3 35232 "description" : "Always access rbd through krbd kernel module.",
44660702 35233 "optional" : 1,
013dc89f
DM
35234 "type" : "boolean",
35235 "typetext" : "<boolean>"
56122987 35236 },
4d47f125
TL
35237 "lio_tpg" : {
35238 "description" : "target portal group for Linux LIO targets",
35239 "optional" : 1,
35240 "type" : "string",
35241 "typetext" : "<string>"
35242 },
44660702
DM
35243 "maxfiles" : {
35244 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
35245 "minimum" : 0,
35246 "optional" : 1,
4bd7df8b 35247 "type" : "integer",
013dc89f 35248 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
35249 },
35250 "mkdir" : {
35251 "default" : "yes",
35252 "description" : "Create the directory if it doesn't exist.",
35253 "optional" : 1,
013dc89f
DM
35254 "type" : "boolean",
35255 "typetext" : "<boolean>"
7aacca6f 35256 },
44660702 35257 "monhost" : {
2489d6df 35258 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 35259 "format" : "pve-storage-portal-dns-list",
44660702 35260 "optional" : 1,
013dc89f
DM
35261 "type" : "string",
35262 "typetext" : "<string>"
7aacca6f 35263 },
44660702
DM
35264 "nodes" : {
35265 "description" : "List of cluster node names.",
35266 "format" : "pve-node-list",
35267 "optional" : 1,
013dc89f
DM
35268 "type" : "string",
35269 "typetext" : "<string>"
7aacca6f 35270 },
44660702
DM
35271 "nowritecache" : {
35272 "description" : "disable write caching on the target",
35273 "optional" : 1,
013dc89f
DM
35274 "type" : "boolean",
35275 "typetext" : "<boolean>"
44660702
DM
35276 },
35277 "options" : {
35278 "description" : "NFS mount options (see 'man nfs')",
35279 "format" : "pve-storage-options",
35280 "optional" : 1,
013dc89f
DM
35281 "type" : "string",
35282 "typetext" : "<string>"
44660702 35283 },
27a7acb2
DM
35284 "password" : {
35285 "description" : "Password for CIFS share.",
35286 "maxLength" : 256,
35287 "optional" : 1,
35288 "type" : "string",
35289 "typetext" : "<string>"
35290 },
44660702
DM
35291 "path" : {
35292 "description" : "File system path.",
35293 "format" : "pve-storage-path",
35294 "optional" : 1,
013dc89f
DM
35295 "type" : "string",
35296 "typetext" : "<string>"
44660702
DM
35297 },
35298 "pool" : {
35299 "description" : "Pool.",
35300 "optional" : 1,
013dc89f
DM
35301 "type" : "string",
35302 "typetext" : "<string>"
44660702
DM
35303 },
35304 "portal" : {
35305 "description" : "iSCSI portal (IP or DNS name with optional port).",
35306 "format" : "pve-storage-portal-dns",
35307 "optional" : 1,
013dc89f
DM
35308 "type" : "string",
35309 "typetext" : "<string>"
44660702
DM
35310 },
35311 "redundancy" : {
35312 "default" : 2,
35313 "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.",
35314 "maximum" : 16,
35315 "minimum" : 1,
35316 "optional" : 1,
4bd7df8b 35317 "type" : "integer",
013dc89f 35318 "typetext" : "<integer> (1 - 16)"
44660702
DM
35319 },
35320 "saferemove" : {
35321 "description" : "Zero-out data when removing LVs.",
35322 "optional" : 1,
013dc89f
DM
35323 "type" : "boolean",
35324 "typetext" : "<boolean>"
44660702
DM
35325 },
35326 "saferemove_throughput" : {
35327 "description" : "Wipe throughput (cstream -t parameter value).",
35328 "optional" : 1,
013dc89f
DM
35329 "type" : "string",
35330 "typetext" : "<string>"
44660702
DM
35331 },
35332 "server" : {
35333 "description" : "Server IP or DNS name.",
35334 "format" : "pve-storage-server",
35335 "optional" : 1,
013dc89f
DM
35336 "type" : "string",
35337 "typetext" : "<string>"
44660702
DM
35338 },
35339 "server2" : {
35340 "description" : "Backup volfile server IP or DNS name.",
35341 "format" : "pve-storage-server",
35342 "optional" : 1,
35343 "requires" : "server",
013dc89f
DM
35344 "type" : "string",
35345 "typetext" : "<string>"
44660702 35346 },
27a7acb2
DM
35347 "share" : {
35348 "description" : "CIFS share.",
35349 "optional" : 1,
35350 "type" : "string",
35351 "typetext" : "<string>"
35352 },
44660702
DM
35353 "shared" : {
35354 "description" : "Mark storage as shared.",
35355 "optional" : 1,
013dc89f
DM
35356 "type" : "boolean",
35357 "typetext" : "<boolean>"
44660702 35358 },
27a7acb2 35359 "smbversion" : {
5da3d723
TL
35360 "description" : "SMB protocol version",
35361 "enum" : [
35362 "2.0",
35363 "2.1",
35364 "3.0"
35365 ],
27a7acb2 35366 "optional" : 1,
5da3d723 35367 "type" : "string"
27a7acb2 35368 },
44660702
DM
35369 "sparse" : {
35370 "description" : "use sparse volumes",
35371 "optional" : 1,
013dc89f
DM
35372 "type" : "boolean",
35373 "typetext" : "<boolean>"
44660702
DM
35374 },
35375 "storage" : {
35376 "description" : "The storage identifier.",
35377 "format" : "pve-storage-id",
013dc89f
DM
35378 "type" : "string",
35379 "typetext" : "<string>"
44660702 35380 },
5da3d723
TL
35381 "subdir" : {
35382 "description" : "Subdir to mount.",
35383 "format" : "pve-storage-path",
35384 "optional" : 1,
35385 "type" : "string",
35386 "typetext" : "<string>"
35387 },
4bd7df8b
DM
35388 "tagged_only" : {
35389 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
35390 "optional" : 1,
013dc89f
DM
35391 "type" : "boolean",
35392 "typetext" : "<boolean>"
4bd7df8b 35393 },
44660702
DM
35394 "target" : {
35395 "description" : "iSCSI target.",
35396 "optional" : 1,
013dc89f
DM
35397 "type" : "string",
35398 "typetext" : "<string>"
44660702
DM
35399 },
35400 "thinpool" : {
35401 "description" : "LVM thin pool LV name.",
35402 "format" : "pve-storage-vgname",
35403 "optional" : 1,
013dc89f
DM
35404 "type" : "string",
35405 "typetext" : "<string>"
44660702
DM
35406 },
35407 "transport" : {
35408 "description" : "Gluster transport: tcp or rdma",
35409 "enum" : [
35410 "tcp",
35411 "rdma",
35412 "unix"
7aacca6f 35413 ],
44660702
DM
35414 "optional" : 1,
35415 "type" : "string"
56122987 35416 },
44660702
DM
35417 "type" : {
35418 "description" : "Storage type.",
35419 "enum" : [
5da3d723 35420 "cephfs",
27a7acb2 35421 "cifs",
44660702
DM
35422 "dir",
35423 "drbd",
35424 "glusterfs",
35425 "iscsi",
35426 "iscsidirect",
35427 "lvm",
35428 "lvmthin",
35429 "nfs",
35430 "rbd",
44660702
DM
35431 "zfs",
35432 "zfspool"
35433 ],
35434 "type" : "string"
56122987 35435 },
44660702
DM
35436 "username" : {
35437 "description" : "RBD Id.",
35438 "optional" : 1,
013dc89f
DM
35439 "type" : "string",
35440 "typetext" : "<string>"
7aacca6f 35441 },
44660702
DM
35442 "vgname" : {
35443 "description" : "Volume group name.",
35444 "format" : "pve-storage-vgname",
35445 "optional" : 1,
013dc89f
DM
35446 "type" : "string",
35447 "typetext" : "<string>"
44660702
DM
35448 },
35449 "volume" : {
35450 "description" : "Glusterfs Volume.",
35451 "optional" : 1,
013dc89f
DM
35452 "type" : "string",
35453 "typetext" : "<string>"
44660702
DM
35454 }
35455 },
35456 "type" : "object"
35457 },
35458 "permissions" : {
35459 "check" : [
35460 "perm",
35461 "/storage",
35462 [
35463 "Datastore.Allocate"
35464 ]
35465 ]
56122987 35466 },
44660702
DM
35467 "protected" : 1,
35468 "returns" : {
35469 "type" : "null"
35470 }
35471 }
35472 },
35473 "leaf" : 0,
35474 "path" : "/storage",
35475 "text" : "storage"
35476 },
35477 {
35478 "children" : [
35479 {
56122987
DM
35480 "children" : [
35481 {
bb4c8cf8
TL
35482 "children" : [
35483 {
35484 "info" : {
35485 "GET" : {
35486 "description" : "Get user TFA types (Personal and Realm).",
35487 "method" : "GET",
35488 "name" : "read_user_tfa_type",
35489 "parameters" : {
35490 "additionalProperties" : 0,
35491 "properties" : {
35492 "userid" : {
35493 "description" : "User ID",
35494 "format" : "pve-userid",
35495 "maxLength" : 64,
35496 "type" : "string",
35497 "typetext" : "<string>"
35498 }
35499 }
35500 },
35501 "permissions" : {
35502 "check" : [
35503 "or",
35504 [
35505 "userid-param",
35506 "self"
35507 ],
35508 [
35509 "userid-group",
35510 [
35511 "User.Modify",
35512 "Sys.Audit"
35513 ]
35514 ]
35515 ]
35516 },
35517 "protected" : 1,
35518 "returns" : {
35519 "additionalProperties" : 0,
35520 "properties" : {
35521 "realm" : {
35522 "description" : "The type of TFA the users realm has set, if any.",
35523 "enum" : [
35524 "oath",
35525 "yubico"
35526 ],
35527 "optional" : 1,
35528 "type" : "string"
35529 },
35530 "user" : {
35531 "description" : "The type of TFA the user has set, if any.",
35532 "enum" : [
35533 "oath",
35534 "u2f"
35535 ],
35536 "optional" : 1,
35537 "type" : "string"
35538 }
35539 },
35540 "type" : "object"
35541 }
35542 }
35543 },
35544 "leaf" : 1,
35545 "path" : "/access/users/{userid}/tfa",
35546 "text" : "tfa"
35547 }
35548 ],
56122987 35549 "info" : {
44660702
DM
35550 "DELETE" : {
35551 "description" : "Delete user.",
35552 "method" : "DELETE",
35553 "name" : "delete_user",
56122987 35554 "parameters" : {
7aacca6f 35555 "additionalProperties" : 0,
56122987 35556 "properties" : {
56122987 35557 "userid" : {
56122987
DM
35558 "description" : "User ID",
35559 "format" : "pve-userid",
44660702 35560 "maxLength" : 64,
013dc89f
DM
35561 "type" : "string",
35562 "typetext" : "<string>"
56122987 35563 }
7aacca6f 35564 }
56122987 35565 },
56122987
DM
35566 "permissions" : {
35567 "check" : [
44660702 35568 "and",
56122987 35569 [
44660702
DM
35570 "userid-param",
35571 "Realm.AllocateUser"
56122987 35572 ],
44660702
DM
35573 [
35574 "userid-group",
35575 [
35576 "User.Modify"
35577 ]
35578 ]
56122987 35579 ]
7aacca6f 35580 },
44660702 35581 "protected" : 1,
56122987
DM
35582 "returns" : {
35583 "type" : "null"
44660702 35584 }
7aacca6f 35585 },
44660702
DM
35586 "GET" : {
35587 "description" : "Get user configuration.",
35588 "method" : "GET",
35589 "name" : "read_user",
56122987
DM
35590 "parameters" : {
35591 "additionalProperties" : 0,
35592 "properties" : {
35593 "userid" : {
44660702 35594 "description" : "User ID",
56122987 35595 "format" : "pve-userid",
44660702 35596 "maxLength" : 64,
013dc89f
DM
35597 "type" : "string",
35598 "typetext" : "<string>"
56122987
DM
35599 }
35600 }
35601 },
56122987
DM
35602 "permissions" : {
35603 "check" : [
44660702 35604 "userid-group",
56122987 35605 [
44660702
DM
35606 "User.Modify",
35607 "Sys.Audit"
56122987
DM
35608 ]
35609 ]
35610 },
56122987 35611 "returns" : {
7aacca6f 35612 "additionalProperties" : 0,
56122987 35613 "properties" : {
44660702
DM
35614 "comment" : {
35615 "optional" : 1,
35616 "type" : "string"
56122987 35617 },
44660702 35618 "email" : {
e2d681b3 35619 "format" : "email-opt",
44660702
DM
35620 "optional" : 1,
35621 "type" : "string"
7aacca6f
DM
35622 },
35623 "enable" : {
e2d681b3
TL
35624 "default" : 1,
35625 "description" : "Enable the account (default). You can set this to '0' to disable the account",
35626 "optional" : 1,
7aacca6f
DM
35627 "type" : "boolean"
35628 },
44660702 35629 "expire" : {
e2d681b3
TL
35630 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35631 "minimum" : 0,
44660702
DM
35632 "optional" : 1,
35633 "type" : "integer"
35634 },
35635 "firstname" : {
56122987
DM
35636 "optional" : 1,
35637 "type" : "string"
35638 },
44660702
DM
35639 "groups" : {
35640 "type" : "array"
56122987 35641 },
44660702 35642 "keys" : {
e2d681b3 35643 "description" : "Keys for two factor auth (yubico).",
44660702
DM
35644 "optional" : 1,
35645 "type" : "string"
7aacca6f 35646 },
44660702
DM
35647 "lastname" : {
35648 "optional" : 1,
35649 "type" : "string"
56122987 35650 }
e2d681b3
TL
35651 },
35652 "type" : "object"
44660702
DM
35653 }
35654 },
35655 "PUT" : {
35656 "description" : "Update user configuration.",
35657 "method" : "PUT",
35658 "name" : "update_user",
56122987 35659 "parameters" : {
44660702 35660 "additionalProperties" : 0,
56122987 35661 "properties" : {
44660702
DM
35662 "append" : {
35663 "optional" : 1,
35664 "requires" : "groups",
013dc89f
DM
35665 "type" : "boolean",
35666 "typetext" : "<boolean>"
44660702
DM
35667 },
35668 "comment" : {
35669 "optional" : 1,
013dc89f
DM
35670 "type" : "string",
35671 "typetext" : "<string>"
44660702
DM
35672 },
35673 "email" : {
35674 "format" : "email-opt",
35675 "optional" : 1,
013dc89f
DM
35676 "type" : "string",
35677 "typetext" : "<string>"
44660702
DM
35678 },
35679 "enable" : {
e2d681b3
TL
35680 "default" : 1,
35681 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 35682 "optional" : 1,
013dc89f
DM
35683 "type" : "boolean",
35684 "typetext" : "<boolean>"
44660702
DM
35685 },
35686 "expire" : {
35687 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35688 "minimum" : 0,
35689 "optional" : 1,
4bd7df8b 35690 "type" : "integer",
013dc89f 35691 "typetext" : "<integer> (0 - N)"
44660702
DM
35692 },
35693 "firstname" : {
35694 "optional" : 1,
013dc89f
DM
35695 "type" : "string",
35696 "typetext" : "<string>"
44660702
DM
35697 },
35698 "groups" : {
35699 "format" : "pve-groupid-list",
35700 "optional" : 1,
013dc89f
DM
35701 "type" : "string",
35702 "typetext" : "<string>"
44660702
DM
35703 },
35704 "keys" : {
35705 "description" : "Keys for two factor auth (yubico).",
35706 "optional" : 1,
013dc89f
DM
35707 "type" : "string",
35708 "typetext" : "<string>"
44660702
DM
35709 },
35710 "lastname" : {
35711 "optional" : 1,
013dc89f
DM
35712 "type" : "string",
35713 "typetext" : "<string>"
44660702 35714 },
56122987 35715 "userid" : {
56122987
DM
35716 "description" : "User ID",
35717 "format" : "pve-userid",
44660702 35718 "maxLength" : 64,
013dc89f
DM
35719 "type" : "string",
35720 "typetext" : "<string>"
56122987 35721 }
44660702 35722 }
56122987 35723 },
56122987
DM
35724 "permissions" : {
35725 "check" : [
35726 "userid-group",
35727 [
44660702
DM
35728 "User.Modify"
35729 ],
35730 "groups_param",
35731 1
56122987
DM
35732 ]
35733 },
44660702
DM
35734 "protected" : 1,
35735 "returns" : {
35736 "type" : "null"
35737 }
56122987
DM
35738 }
35739 },
bb4c8cf8 35740 "leaf" : 0,
44660702 35741 "path" : "/access/users/{userid}",
7aacca6f 35742 "text" : "{userid}"
56122987 35743 }
7aacca6f 35744 ],
56122987 35745 "info" : {
7aacca6f 35746 "GET" : {
44660702
DM
35747 "description" : "User index.",
35748 "method" : "GET",
7aacca6f 35749 "name" : "index",
56122987 35750 "parameters" : {
44660702
DM
35751 "additionalProperties" : 0,
35752 "properties" : {
35753 "enabled" : {
35754 "description" : "Optional filter for enable property.",
35755 "optional" : 1,
013dc89f
DM
35756 "type" : "boolean",
35757 "typetext" : "<boolean>"
44660702
DM
35758 }
35759 }
35760 },
35761 "permissions" : {
35762 "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.",
35763 "user" : "all"
56122987 35764 },
7aacca6f 35765 "returns" : {
7aacca6f
DM
35766 "items" : {
35767 "properties" : {
e2d681b3
TL
35768 "comment" : {
35769 "optional" : 1,
35770 "type" : "string"
35771 },
35772 "email" : {
35773 "format" : "email-opt",
35774 "optional" : 1,
35775 "type" : "string"
35776 },
35777 "enable" : {
35778 "default" : 1,
35779 "description" : "Enable the account (default). You can set this to '0' to disable the account",
35780 "optional" : 1,
35781 "type" : "boolean"
35782 },
35783 "expire" : {
35784 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35785 "minimum" : 0,
35786 "optional" : 1,
35787 "type" : "integer"
35788 },
35789 "firstname" : {
35790 "optional" : 1,
35791 "type" : "string"
35792 },
35793 "keys" : {
35794 "description" : "Keys for two factor auth (yubico).",
35795 "optional" : 1,
35796 "type" : "string"
35797 },
35798 "lastname" : {
35799 "optional" : 1,
35800 "type" : "string"
35801 },
44660702 35802 "userid" : {
e2d681b3
TL
35803 "description" : "User ID",
35804 "format" : "pve-userid",
35805 "maxLength" : 64,
7aacca6f
DM
35806 "type" : "string"
35807 }
35808 },
35809 "type" : "object"
35810 },
44660702
DM
35811 "links" : [
35812 {
35813 "href" : "{userid}",
35814 "rel" : "child"
35815 }
35816 ],
7aacca6f
DM
35817 "type" : "array"
35818 }
35819 },
35820 "POST" : {
44660702 35821 "description" : "Create new user.",
7aacca6f 35822 "method" : "POST",
44660702 35823 "name" : "create_user",
56122987 35824 "parameters" : {
7aacca6f
DM
35825 "additionalProperties" : 0,
35826 "properties" : {
44660702
DM
35827 "comment" : {
35828 "optional" : 1,
013dc89f
DM
35829 "type" : "string",
35830 "typetext" : "<string>"
7aacca6f 35831 },
44660702
DM
35832 "email" : {
35833 "format" : "email-opt",
35834 "optional" : 1,
013dc89f
DM
35835 "type" : "string",
35836 "typetext" : "<string>"
44660702
DM
35837 },
35838 "enable" : {
35839 "default" : 1,
e2d681b3 35840 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 35841 "optional" : 1,
013dc89f
DM
35842 "type" : "boolean",
35843 "typetext" : "<boolean>"
44660702
DM
35844 },
35845 "expire" : {
35846 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35847 "minimum" : 0,
35848 "optional" : 1,
4bd7df8b 35849 "type" : "integer",
013dc89f 35850 "typetext" : "<integer> (0 - N)"
44660702
DM
35851 },
35852 "firstname" : {
35853 "optional" : 1,
013dc89f
DM
35854 "type" : "string",
35855 "typetext" : "<string>"
44660702
DM
35856 },
35857 "groups" : {
35858 "format" : "pve-groupid-list",
35859 "optional" : 1,
013dc89f
DM
35860 "type" : "string",
35861 "typetext" : "<string>"
44660702
DM
35862 },
35863 "keys" : {
35864 "description" : "Keys for two factor auth (yubico).",
35865 "optional" : 1,
013dc89f
DM
35866 "type" : "string",
35867 "typetext" : "<string>"
44660702
DM
35868 },
35869 "lastname" : {
7aacca6f 35870 "optional" : 1,
013dc89f
DM
35871 "type" : "string",
35872 "typetext" : "<string>"
44660702
DM
35873 },
35874 "password" : {
35875 "description" : "Initial password.",
35876 "maxLength" : 64,
35877 "minLength" : 5,
35878 "optional" : 1,
013dc89f
DM
35879 "type" : "string",
35880 "typetext" : "<string>"
44660702
DM
35881 },
35882 "userid" : {
35883 "description" : "User ID",
35884 "format" : "pve-userid",
35885 "maxLength" : 64,
013dc89f
DM
35886 "type" : "string",
35887 "typetext" : "<string>"
56122987 35888 }
7aacca6f 35889 }
56122987 35890 },
44660702
DM
35891 "permissions" : {
35892 "check" : [
35893 "and",
35894 [
35895 "userid-param",
35896 "Realm.AllocateUser"
35897 ],
35898 [
35899 "userid-group",
35900 [
35901 "User.Modify"
35902 ],
35903 "groups_param",
35904 1
35905 ]
35906 ],
35907 "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."
35908 },
35909 "protected" : 1,
35910 "returns" : {
35911 "type" : "null"
35912 }
56122987
DM
35913 }
35914 },
44660702
DM
35915 "leaf" : 0,
35916 "path" : "/access/users",
35917 "text" : "users"
35918 },
35919 {
56122987
DM
35920 "children" : [
35921 {
56122987
DM
35922 "info" : {
35923 "DELETE" : {
44660702
DM
35924 "description" : "Delete group.",
35925 "method" : "DELETE",
35926 "name" : "delete_group",
35927 "parameters" : {
35928 "additionalProperties" : 0,
35929 "properties" : {
35930 "groupid" : {
35931 "format" : "pve-groupid",
013dc89f
DM
35932 "type" : "string",
35933 "typetext" : "<string>"
44660702
DM
35934 }
35935 }
35936 },
7aacca6f
DM
35937 "permissions" : {
35938 "check" : [
35939 "perm",
35940 "/access/groups",
35941 [
35942 "Group.Allocate"
35943 ]
35944 ]
35945 },
7aacca6f 35946 "protected" : 1,
7aacca6f
DM
35947 "returns" : {
35948 "type" : "null"
44660702 35949 }
7aacca6f 35950 },
44660702
DM
35951 "GET" : {
35952 "description" : "Get group configuration.",
35953 "method" : "GET",
35954 "name" : "read_group",
35955 "parameters" : {
35956 "additionalProperties" : 0,
35957 "properties" : {
35958 "groupid" : {
35959 "format" : "pve-groupid",
013dc89f
DM
35960 "type" : "string",
35961 "typetext" : "<string>"
44660702
DM
35962 }
35963 }
56122987 35964 },
7aacca6f
DM
35965 "permissions" : {
35966 "check" : [
35967 "perm",
35968 "/access/groups",
35969 [
44660702 35970 "Sys.Audit",
7aacca6f 35971 "Group.Allocate"
44660702
DM
35972 ],
35973 "any",
35974 1
7aacca6f
DM
35975 ]
35976 },
7aacca6f 35977 "returns" : {
44660702 35978 "additionalProperties" : 0,
7aacca6f
DM
35979 "properties" : {
35980 "comment" : {
44660702
DM
35981 "optional" : 1,
35982 "type" : "string"
7aacca6f
DM
35983 },
35984 "members" : {
35985 "items" : {
e2d681b3
TL
35986 "description" : "User ID",
35987 "format" : "pve-userid",
35988 "maxLength" : 64,
7aacca6f
DM
35989 "type" : "string"
35990 },
35991 "type" : "array"
35992 }
35993 },
44660702
DM
35994 "type" : "object"
35995 }
35996 },
35997 "PUT" : {
35998 "description" : "Update group data.",
35999 "method" : "PUT",
36000 "name" : "update_group",
56122987 36001 "parameters" : {
44660702 36002 "additionalProperties" : 0,
56122987 36003 "properties" : {
44660702
DM
36004 "comment" : {
36005 "optional" : 1,
013dc89f
DM
36006 "type" : "string",
36007 "typetext" : "<string>"
44660702 36008 },
56122987
DM
36009 "groupid" : {
36010 "format" : "pve-groupid",
013dc89f
DM
36011 "type" : "string",
36012 "typetext" : "<string>"
56122987 36013 }
44660702 36014 }
56122987 36015 },
56122987
DM
36016 "permissions" : {
36017 "check" : [
36018 "perm",
36019 "/access/groups",
36020 [
36021 "Group.Allocate"
44660702 36022 ]
56122987
DM
36023 ]
36024 },
44660702
DM
36025 "protected" : 1,
36026 "returns" : {
36027 "type" : "null"
36028 }
7aacca6f
DM
36029 }
36030 },
7aacca6f 36031 "leaf" : 1,
44660702
DM
36032 "path" : "/access/groups/{groupid}",
36033 "text" : "{groupid}"
36034 }
36035 ],
36036 "info" : {
36037 "GET" : {
36038 "description" : "Group index.",
36039 "method" : "GET",
36040 "name" : "index",
36041 "parameters" : {
36042 "additionalProperties" : 0
36043 },
36044 "permissions" : {
36045 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
36046 "user" : "all"
36047 },
36048 "returns" : {
36049 "items" : {
36050 "properties" : {
e2d681b3
TL
36051 "comment" : {
36052 "optional" : 1,
36053 "type" : "string"
36054 },
44660702 36055 "groupid" : {
e2d681b3 36056 "format" : "pve-groupid",
44660702
DM
36057 "type" : "string"
36058 }
36059 },
36060 "type" : "object"
36061 },
36062 "links" : [
36063 {
36064 "href" : "{groupid}",
36065 "rel" : "child"
36066 }
36067 ],
36068 "type" : "array"
36069 }
36070 },
36071 "POST" : {
36072 "description" : "Create new group.",
36073 "method" : "POST",
36074 "name" : "create_group",
36075 "parameters" : {
36076 "additionalProperties" : 0,
36077 "properties" : {
36078 "comment" : {
36079 "optional" : 1,
013dc89f
DM
36080 "type" : "string",
36081 "typetext" : "<string>"
44660702
DM
36082 },
36083 "groupid" : {
36084 "format" : "pve-groupid",
013dc89f
DM
36085 "type" : "string",
36086 "typetext" : "<string>"
44660702
DM
36087 }
36088 }
36089 },
36090 "permissions" : {
36091 "check" : [
36092 "perm",
36093 "/access/groups",
36094 [
36095 "Group.Allocate"
36096 ]
36097 ]
36098 },
36099 "protected" : 1,
36100 "returns" : {
36101 "type" : "null"
36102 }
7aacca6f 36103 }
44660702 36104 },
7aacca6f 36105 "leaf" : 0,
44660702
DM
36106 "path" : "/access/groups",
36107 "text" : "groups"
7aacca6f
DM
36108 },
36109 {
36110 "children" : [
36111 {
7aacca6f 36112 "info" : {
7aacca6f 36113 "DELETE" : {
7aacca6f 36114 "description" : "Delete role.",
44660702 36115 "method" : "DELETE",
7aacca6f 36116 "name" : "delete_role",
56122987
DM
36117 "parameters" : {
36118 "additionalProperties" : 0,
36119 "properties" : {
7aacca6f
DM
36120 "roleid" : {
36121 "format" : "pve-roleid",
013dc89f
DM
36122 "type" : "string",
36123 "typetext" : "<string>"
56122987
DM
36124 }
36125 }
36126 },
56122987
DM
36127 "permissions" : {
36128 "check" : [
36129 "perm",
7aacca6f 36130 "/access",
56122987 36131 [
7aacca6f
DM
36132 "Sys.Modify"
36133 ]
56122987 36134 ]
44660702
DM
36135 },
36136 "protected" : 1,
36137 "returns" : {
36138 "type" : "null"
56122987
DM
36139 }
36140 },
44660702
DM
36141 "GET" : {
36142 "description" : "Get role configuration.",
36143 "method" : "GET",
36144 "name" : "read_role",
36145 "parameters" : {
36146 "additionalProperties" : 0,
36147 "properties" : {
36148 "roleid" : {
36149 "format" : "pve-roleid",
013dc89f
DM
36150 "type" : "string",
36151 "typetext" : "<string>"
44660702
DM
36152 }
36153 }
36154 },
7aacca6f 36155 "permissions" : {
44660702 36156 "user" : "all"
56122987 36157 },
e2d681b3
TL
36158 "returns" : {
36159 "additionalProperties" : 0,
36160 "properties" : {
36161 "Datastore.Allocate" : {
36162 "optional" : 1,
36163 "type" : "boolean"
36164 },
36165 "Datastore.AllocateSpace" : {
36166 "optional" : 1,
36167 "type" : "boolean"
36168 },
36169 "Datastore.AllocateTemplate" : {
36170 "optional" : 1,
36171 "type" : "boolean"
36172 },
36173 "Datastore.Audit" : {
36174 "optional" : 1,
36175 "type" : "boolean"
36176 },
36177 "Group.Allocate" : {
36178 "optional" : 1,
36179 "type" : "boolean"
36180 },
36181 "Permissions.Modify" : {
36182 "optional" : 1,
36183 "type" : "boolean"
36184 },
36185 "Pool.Allocate" : {
36186 "optional" : 1,
36187 "type" : "boolean"
36188 },
36189 "Realm.Allocate" : {
36190 "optional" : 1,
36191 "type" : "boolean"
36192 },
36193 "Realm.AllocateUser" : {
36194 "optional" : 1,
36195 "type" : "boolean"
36196 },
36197 "Sys.Audit" : {
36198 "optional" : 1,
36199 "type" : "boolean"
36200 },
36201 "Sys.Console" : {
36202 "optional" : 1,
36203 "type" : "boolean"
36204 },
36205 "Sys.Modify" : {
36206 "optional" : 1,
36207 "type" : "boolean"
36208 },
36209 "Sys.PowerMgmt" : {
36210 "optional" : 1,
36211 "type" : "boolean"
36212 },
36213 "Sys.Syslog" : {
36214 "optional" : 1,
36215 "type" : "boolean"
36216 },
36217 "User.Modify" : {
36218 "optional" : 1,
36219 "type" : "boolean"
36220 },
36221 "VM.Allocate" : {
36222 "optional" : 1,
36223 "type" : "boolean"
36224 },
36225 "VM.Audit" : {
36226 "optional" : 1,
36227 "type" : "boolean"
36228 },
36229 "VM.Backup" : {
36230 "optional" : 1,
36231 "type" : "boolean"
36232 },
36233 "VM.Clone" : {
36234 "optional" : 1,
36235 "type" : "boolean"
36236 },
36237 "VM.Config.CDROM" : {
36238 "optional" : 1,
36239 "type" : "boolean"
36240 },
36241 "VM.Config.CPU" : {
36242 "optional" : 1,
36243 "type" : "boolean"
36244 },
36245 "VM.Config.Disk" : {
36246 "optional" : 1,
36247 "type" : "boolean"
36248 },
36249 "VM.Config.HWType" : {
36250 "optional" : 1,
36251 "type" : "boolean"
36252 },
36253 "VM.Config.Memory" : {
36254 "optional" : 1,
36255 "type" : "boolean"
36256 },
36257 "VM.Config.Network" : {
36258 "optional" : 1,
36259 "type" : "boolean"
36260 },
36261 "VM.Config.Options" : {
36262 "optional" : 1,
36263 "type" : "boolean"
36264 },
36265 "VM.Console" : {
36266 "optional" : 1,
36267 "type" : "boolean"
36268 },
36269 "VM.Migrate" : {
36270 "optional" : 1,
36271 "type" : "boolean"
36272 },
36273 "VM.Monitor" : {
36274 "optional" : 1,
36275 "type" : "boolean"
36276 },
36277 "VM.PowerMgmt" : {
36278 "optional" : 1,
36279 "type" : "boolean"
36280 },
36281 "VM.Snapshot" : {
36282 "optional" : 1,
36283 "type" : "boolean"
36284 },
36285 "VM.Snapshot.Rollback" : {
36286 "optional" : 1,
36287 "type" : "boolean"
36288 }
36289 },
36290 "type" : "object"
36291 }
44660702
DM
36292 },
36293 "PUT" : {
e2d681b3 36294 "description" : "Update an existing role.",
44660702
DM
36295 "method" : "PUT",
36296 "name" : "update_role",
56122987
DM
36297 "parameters" : {
36298 "additionalProperties" : 0,
36299 "properties" : {
7aacca6f 36300 "append" : {
44660702 36301 "optional" : 1,
7aacca6f 36302 "requires" : "privs",
013dc89f
DM
36303 "type" : "boolean",
36304 "typetext" : "<boolean>"
7aacca6f
DM
36305 },
36306 "privs" : {
36307 "format" : "pve-priv-list",
e2d681b3 36308 "optional" : 1,
013dc89f
DM
36309 "type" : "string",
36310 "typetext" : "<string>"
44660702
DM
36311 },
36312 "roleid" : {
36313 "format" : "pve-roleid",
013dc89f
DM
36314 "type" : "string",
36315 "typetext" : "<string>"
56122987
DM
36316 }
36317 }
36318 },
44660702
DM
36319 "permissions" : {
36320 "check" : [
36321 "perm",
36322 "/access",
36323 [
36324 "Sys.Modify"
36325 ]
36326 ]
36327 },
56122987 36328 "protected" : 1,
7aacca6f
DM
36329 "returns" : {
36330 "type" : "null"
56122987
DM
36331 }
36332 }
36333 },
44660702 36334 "leaf" : 1,
7aacca6f 36335 "path" : "/access/roles/{roleid}",
44660702 36336 "text" : "{roleid}"
56122987
DM
36337 }
36338 ],
56122987 36339 "info" : {
7aacca6f
DM
36340 "GET" : {
36341 "description" : "Role index.",
44660702 36342 "method" : "GET",
7aacca6f 36343 "name" : "index",
56122987 36344 "parameters" : {
56122987
DM
36345 "additionalProperties" : 0
36346 },
7aacca6f
DM
36347 "permissions" : {
36348 "user" : "all"
36349 },
56122987 36350 "returns" : {
7aacca6f 36351 "items" : {
7aacca6f 36352 "properties" : {
e2d681b3
TL
36353 "privs" : {
36354 "format" : "pve-priv-list",
36355 "optional" : 1,
36356 "type" : "string"
36357 },
7aacca6f 36358 "roleid" : {
e2d681b3 36359 "format" : "pve-roleid",
7aacca6f 36360 "type" : "string"
e2d681b3
TL
36361 },
36362 "special" : {
36363 "default" : 0,
36364 "optional" : 1,
36365 "type" : "boolean"
7aacca6f 36366 }
44660702
DM
36367 },
36368 "type" : "object"
36369 },
36370 "links" : [
36371 {
36372 "href" : "{roleid}",
36373 "rel" : "child"
7aacca6f 36374 }
44660702
DM
36375 ],
36376 "type" : "array"
36377 }
7aacca6f
DM
36378 },
36379 "POST" : {
36380 "description" : "Create new role.",
44660702
DM
36381 "method" : "POST",
36382 "name" : "create_role",
7aacca6f
DM
36383 "parameters" : {
36384 "additionalProperties" : 0,
36385 "properties" : {
7aacca6f
DM
36386 "privs" : {
36387 "format" : "pve-priv-list",
36388 "optional" : 1,
013dc89f
DM
36389 "type" : "string",
36390 "typetext" : "<string>"
44660702
DM
36391 },
36392 "roleid" : {
36393 "format" : "pve-roleid",
013dc89f
DM
36394 "type" : "string",
36395 "typetext" : "<string>"
7aacca6f
DM
36396 }
36397 }
36398 },
44660702
DM
36399 "permissions" : {
36400 "check" : [
36401 "perm",
36402 "/access",
36403 [
36404 "Sys.Modify"
36405 ]
36406 ]
36407 },
36408 "protected" : 1,
7aacca6f
DM
36409 "returns" : {
36410 "type" : "null"
36411 }
36412 }
36413 },
44660702 36414 "leaf" : 0,
7aacca6f 36415 "path" : "/access/roles",
44660702 36416 "text" : "roles"
7aacca6f
DM
36417 },
36418 {
36419 "info" : {
56122987 36420 "GET" : {
44660702
DM
36421 "description" : "Get Access Control List (ACLs).",
36422 "method" : "GET",
36423 "name" : "read_acl",
7aacca6f
DM
36424 "parameters" : {
36425 "additionalProperties" : 0
36426 },
44660702
DM
36427 "permissions" : {
36428 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
36429 "user" : "all"
36430 },
56122987 36431 "returns" : {
56122987 36432 "items" : {
44660702 36433 "additionalProperties" : 0,
56122987 36434 "properties" : {
7aacca6f 36435 "path" : {
e2d681b3 36436 "description" : "Access control path",
7aacca6f
DM
36437 "type" : "string"
36438 },
44660702 36439 "propagate" : {
e2d681b3
TL
36440 "default" : 1,
36441 "description" : "Allow to propagate (inherit) permissions.",
36442 "optional" : 1,
44660702
DM
36443 "type" : "boolean"
36444 },
36445 "roleid" : {
36446 "type" : "string"
36447 },
7aacca6f
DM
36448 "type" : {
36449 "enum" : [
36450 "user",
36451 "group"
36452 ],
36453 "type" : "string"
36454 },
7aacca6f
DM
36455 "ugid" : {
36456 "type" : "string"
56122987 36457 }
7aacca6f 36458 },
44660702 36459 "type" : "object"
7aacca6f
DM
36460 },
36461 "type" : "array"
44660702 36462 }
7aacca6f
DM
36463 },
36464 "PUT" : {
44660702
DM
36465 "description" : "Update Access Control List (add or remove permissions).",
36466 "method" : "PUT",
7aacca6f
DM
36467 "name" : "update_acl",
36468 "parameters" : {
36469 "additionalProperties" : 0,
36470 "properties" : {
36471 "delete" : {
44660702 36472 "description" : "Remove permissions (instead of adding it).",
7aacca6f 36473 "optional" : 1,
013dc89f
DM
36474 "type" : "boolean",
36475 "typetext" : "<boolean>"
7aacca6f 36476 },
44660702
DM
36477 "groups" : {
36478 "description" : "List of groups.",
36479 "format" : "pve-groupid-list",
7aacca6f 36480 "optional" : 1,
013dc89f
DM
36481 "type" : "string",
36482 "typetext" : "<string>"
7aacca6f
DM
36483 },
36484 "path" : {
36485 "description" : "Access control path",
013dc89f
DM
36486 "type" : "string",
36487 "typetext" : "<string>"
7aacca6f 36488 },
7aacca6f 36489 "propagate" : {
44660702 36490 "default" : 1,
7aacca6f 36491 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 36492 "optional" : 1,
013dc89f
DM
36493 "type" : "boolean",
36494 "typetext" : "<boolean>"
7aacca6f 36495 },
44660702
DM
36496 "roles" : {
36497 "description" : "List of roles.",
36498 "format" : "pve-roleid-list",
013dc89f
DM
36499 "type" : "string",
36500 "typetext" : "<string>"
44660702
DM
36501 },
36502 "users" : {
36503 "description" : "List of users.",
36504 "format" : "pve-userid-list",
7aacca6f 36505 "optional" : 1,
013dc89f
DM
36506 "type" : "string",
36507 "typetext" : "<string>"
56122987
DM
36508 }
36509 }
36510 },
56122987 36511 "permissions" : {
7aacca6f
DM
36512 "check" : [
36513 "perm-modify",
36514 "{path}"
36515 ]
36516 },
7aacca6f
DM
36517 "protected" : 1,
36518 "returns" : {
36519 "type" : "null"
44660702 36520 }
56122987
DM
36521 }
36522 },
7aacca6f 36523 "leaf" : 1,
44660702
DM
36524 "path" : "/access/acl",
36525 "text" : "acl"
7aacca6f
DM
36526 },
36527 {
56122987
DM
36528 "children" : [
36529 {
56122987 36530 "info" : {
44660702
DM
36531 "DELETE" : {
36532 "description" : "Delete an authentication server.",
36533 "method" : "DELETE",
36534 "name" : "delete",
36535 "parameters" : {
36536 "additionalProperties" : 0,
36537 "properties" : {
36538 "realm" : {
36539 "description" : "Authentication domain ID",
36540 "format" : "pve-realm",
36541 "maxLength" : 32,
013dc89f
DM
36542 "type" : "string",
36543 "typetext" : "<string>"
56122987 36544 }
44660702 36545 }
56122987 36546 },
56122987
DM
36547 "permissions" : {
36548 "check" : [
36549 "perm",
7aacca6f 36550 "/access/realm",
56122987 36551 [
7aacca6f 36552 "Realm.Allocate"
56122987
DM
36553 ]
36554 ]
36555 },
7aacca6f 36556 "protected" : 1,
7aacca6f
DM
36557 "returns" : {
36558 "type" : "null"
44660702 36559 }
7aacca6f 36560 },
44660702
DM
36561 "GET" : {
36562 "description" : "Get auth server configuration.",
36563 "method" : "GET",
36564 "name" : "read",
56122987 36565 "parameters" : {
44660702 36566 "additionalProperties" : 0,
56122987 36567 "properties" : {
7aacca6f 36568 "realm" : {
44660702 36569 "description" : "Authentication domain ID",
7aacca6f
DM
36570 "format" : "pve-realm",
36571 "maxLength" : 32,
013dc89f
DM
36572 "type" : "string",
36573 "typetext" : "<string>"
56122987 36574 }
44660702 36575 }
7aacca6f 36576 },
7aacca6f
DM
36577 "permissions" : {
36578 "check" : [
36579 "perm",
36580 "/access/realm",
36581 [
44660702
DM
36582 "Realm.Allocate",
36583 "Sys.Audit"
36584 ],
36585 "any",
36586 1
7aacca6f 36587 ]
44660702
DM
36588 },
36589 "returns" : {}
7aacca6f 36590 },
44660702
DM
36591 "PUT" : {
36592 "description" : "Update authentication server settings.",
36593 "method" : "PUT",
36594 "name" : "update",
7aacca6f 36595 "parameters" : {
44660702 36596 "additionalProperties" : 0,
7aacca6f 36597 "properties" : {
44660702
DM
36598 "base_dn" : {
36599 "description" : "LDAP base domain name",
36600 "maxLength" : 256,
36601 "optional" : 1,
36602 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36603 "type" : "string"
36604 },
4bd7df8b
DM
36605 "bind_dn" : {
36606 "description" : "LDAP bind domain name",
36607 "maxLength" : 256,
36608 "optional" : 1,
36609 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36610 "type" : "string"
36611 },
2489d6df
WB
36612 "capath" : {
36613 "default" : "/etc/ssl/certs",
36614 "description" : "Path to the CA certificate store",
36615 "optional" : 1,
36616 "type" : "string",
36617 "typetext" : "<string>"
36618 },
36619 "cert" : {
36620 "description" : "Path to the client certificate",
36621 "optional" : 1,
36622 "type" : "string",
36623 "typetext" : "<string>"
36624 },
36625 "certkey" : {
36626 "description" : "Path to the client certificate key",
36627 "optional" : 1,
36628 "type" : "string",
36629 "typetext" : "<string>"
36630 },
44660702
DM
36631 "comment" : {
36632 "description" : "Description.",
36633 "maxLength" : 4096,
36634 "optional" : 1,
013dc89f
DM
36635 "type" : "string",
36636 "typetext" : "<string>"
44660702
DM
36637 },
36638 "default" : {
36639 "description" : "Use this as default realm",
36640 "optional" : 1,
013dc89f
DM
36641 "type" : "boolean",
36642 "typetext" : "<boolean>"
44660702
DM
36643 },
36644 "delete" : {
36645 "description" : "A list of settings you want to delete.",
36646 "format" : "pve-configid-list",
36647 "maxLength" : 4096,
36648 "optional" : 1,
013dc89f
DM
36649 "type" : "string",
36650 "typetext" : "<string>"
44660702
DM
36651 },
36652 "digest" : {
36653 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
36654 "maxLength" : 40,
36655 "optional" : 1,
013dc89f
DM
36656 "type" : "string",
36657 "typetext" : "<string>"
44660702
DM
36658 },
36659 "domain" : {
36660 "description" : "AD domain name",
36661 "maxLength" : 256,
36662 "optional" : 1,
36663 "pattern" : "\\S+",
36664 "type" : "string"
36665 },
36666 "port" : {
36667 "description" : "Server port.",
36668 "maximum" : 65535,
36669 "minimum" : 1,
36670 "optional" : 1,
4bd7df8b 36671 "type" : "integer",
013dc89f 36672 "typetext" : "<integer> (1 - 65535)"
44660702 36673 },
7aacca6f 36674 "realm" : {
7aacca6f
DM
36675 "description" : "Authentication domain ID",
36676 "format" : "pve-realm",
44660702 36677 "maxLength" : 32,
013dc89f
DM
36678 "type" : "string",
36679 "typetext" : "<string>"
44660702
DM
36680 },
36681 "secure" : {
36682 "description" : "Use secure LDAPS protocol.",
36683 "optional" : 1,
013dc89f
DM
36684 "type" : "boolean",
36685 "typetext" : "<boolean>"
44660702
DM
36686 },
36687 "server1" : {
36688 "description" : "Server IP address (or DNS name)",
36689 "format" : "address",
36690 "maxLength" : 256,
36691 "optional" : 1,
013dc89f
DM
36692 "type" : "string",
36693 "typetext" : "<string>"
44660702
DM
36694 },
36695 "server2" : {
36696 "description" : "Fallback Server IP address (or DNS name)",
36697 "format" : "address",
36698 "maxLength" : 256,
36699 "optional" : 1,
013dc89f
DM
36700 "type" : "string",
36701 "typetext" : "<string>"
44660702
DM
36702 },
36703 "tfa" : {
36704 "description" : "Use Two-factor authentication.",
36705 "format" : "pve-tfa-config",
36706 "maxLength" : 128,
36707 "optional" : 1,
013dc89f 36708 "type" : "string",
95895385 36709 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
36710 },
36711 "user_attr" : {
36712 "description" : "LDAP user attribute name",
36713 "maxLength" : 256,
36714 "optional" : 1,
36715 "pattern" : "\\S{2,}",
36716 "type" : "string"
2489d6df
WB
36717 },
36718 "verify" : {
36719 "default" : 0,
36720 "description" : "Verify the server's SSL certificate",
36721 "optional" : 1,
36722 "type" : "boolean",
36723 "typetext" : "<boolean>"
7aacca6f 36724 }
56122987 36725 },
44660702 36726 "type" : "object"
56122987 36727 },
7aacca6f
DM
36728 "permissions" : {
36729 "check" : [
36730 "perm",
36731 "/access/realm",
36732 [
44660702
DM
36733 "Realm.Allocate"
36734 ]
7aacca6f
DM
36735 ]
36736 },
44660702
DM
36737 "protected" : 1,
36738 "returns" : {
36739 "type" : "null"
36740 }
56122987 36741 }
44660702
DM
36742 },
36743 "leaf" : 1,
36744 "path" : "/access/domains/{realm}",
36745 "text" : "{realm}"
56122987 36746 }
7aacca6f 36747 ],
56122987
DM
36748 "info" : {
36749 "GET" : {
44660702
DM
36750 "description" : "Authentication domain index.",
36751 "method" : "GET",
36752 "name" : "index",
36753 "parameters" : {
36754 "additionalProperties" : 0
36755 },
36756 "permissions" : {
36757 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
36758 "user" : "world"
36759 },
56122987 36760 "returns" : {
56122987
DM
36761 "items" : {
36762 "properties" : {
7aacca6f 36763 "comment" : {
52e44c50 36764 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
36765 "optional" : 1,
36766 "type" : "string"
36767 },
56122987
DM
36768 "realm" : {
36769 "type" : "string"
36770 },
36771 "tfa" : {
7aacca6f 36772 "description" : "Two-factor authentication provider.",
56122987
DM
36773 "enum" : [
36774 "yubico",
36775 "oath"
36776 ],
44660702
DM
36777 "optional" : 1,
36778 "type" : "string"
56122987
DM
36779 }
36780 },
36781 "type" : "object"
44660702
DM
36782 },
36783 "links" : [
36784 {
36785 "href" : "{realm}",
36786 "rel" : "child"
36787 }
36788 ],
36789 "type" : "array"
36790 }
56122987
DM
36791 },
36792 "POST" : {
7aacca6f 36793 "description" : "Add an authentication server.",
44660702 36794 "method" : "POST",
7aacca6f 36795 "name" : "create",
56122987 36796 "parameters" : {
44660702 36797 "additionalProperties" : 0,
56122987 36798 "properties" : {
44660702
DM
36799 "base_dn" : {
36800 "description" : "LDAP base domain name",
56122987 36801 "maxLength" : 256,
44660702
DM
36802 "optional" : 1,
36803 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 36804 "type" : "string"
56122987 36805 },
4bd7df8b
DM
36806 "bind_dn" : {
36807 "description" : "LDAP bind domain name",
36808 "maxLength" : 256,
36809 "optional" : 1,
36810 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36811 "type" : "string"
36812 },
2489d6df
WB
36813 "capath" : {
36814 "default" : "/etc/ssl/certs",
36815 "description" : "Path to the CA certificate store",
36816 "optional" : 1,
36817 "type" : "string",
36818 "typetext" : "<string>"
36819 },
36820 "cert" : {
36821 "description" : "Path to the client certificate",
36822 "optional" : 1,
36823 "type" : "string",
36824 "typetext" : "<string>"
36825 },
36826 "certkey" : {
36827 "description" : "Path to the client certificate key",
36828 "optional" : 1,
36829 "type" : "string",
36830 "typetext" : "<string>"
36831 },
44660702
DM
36832 "comment" : {
36833 "description" : "Description.",
36834 "maxLength" : 4096,
56122987 36835 "optional" : 1,
013dc89f
DM
36836 "type" : "string",
36837 "typetext" : "<string>"
56122987 36838 },
44660702
DM
36839 "default" : {
36840 "description" : "Use this as default realm",
7aacca6f 36841 "optional" : 1,
013dc89f
DM
36842 "type" : "boolean",
36843 "typetext" : "<boolean>"
56122987 36844 },
44660702
DM
36845 "domain" : {
36846 "description" : "AD domain name",
36847 "maxLength" : 256,
7aacca6f 36848 "optional" : 1,
44660702
DM
36849 "pattern" : "\\S+",
36850 "type" : "string"
56122987 36851 },
7aacca6f 36852 "port" : {
44660702 36853 "description" : "Server port.",
7aacca6f 36854 "maximum" : 65535,
44660702 36855 "minimum" : 1,
7aacca6f 36856 "optional" : 1,
4bd7df8b 36857 "type" : "integer",
013dc89f 36858 "typetext" : "<integer> (1 - 65535)"
56122987 36859 },
44660702
DM
36860 "realm" : {
36861 "description" : "Authentication domain ID",
36862 "format" : "pve-realm",
36863 "maxLength" : 32,
013dc89f
DM
36864 "type" : "string",
36865 "typetext" : "<string>"
44660702
DM
36866 },
36867 "secure" : {
36868 "description" : "Use secure LDAPS protocol.",
7aacca6f 36869 "optional" : 1,
013dc89f
DM
36870 "type" : "boolean",
36871 "typetext" : "<boolean>"
56122987 36872 },
44660702
DM
36873 "server1" : {
36874 "description" : "Server IP address (or DNS name)",
36875 "format" : "address",
36876 "maxLength" : 256,
36877 "optional" : 1,
013dc89f
DM
36878 "type" : "string",
36879 "typetext" : "<string>"
56122987 36880 },
44660702
DM
36881 "server2" : {
36882 "description" : "Fallback Server IP address (or DNS name)",
36883 "format" : "address",
7aacca6f 36884 "maxLength" : 256,
7aacca6f 36885 "optional" : 1,
013dc89f
DM
36886 "type" : "string",
36887 "typetext" : "<string>"
7aacca6f 36888 },
44660702
DM
36889 "tfa" : {
36890 "description" : "Use Two-factor authentication.",
36891 "format" : "pve-tfa-config",
36892 "maxLength" : 128,
36893 "optional" : 1,
013dc89f 36894 "type" : "string",
95895385 36895 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
36896 },
36897 "type" : {
36898 "description" : "Realm type.",
36899 "enum" : [
36900 "ad",
36901 "ldap",
36902 "pam",
36903 "pve"
36904 ],
36905 "type" : "string"
36906 },
36907 "user_attr" : {
36908 "description" : "LDAP user attribute name",
7aacca6f 36909 "maxLength" : 256,
7aacca6f 36910 "optional" : 1,
44660702
DM
36911 "pattern" : "\\S{2,}",
36912 "type" : "string"
2489d6df
WB
36913 },
36914 "verify" : {
36915 "default" : 0,
36916 "description" : "Verify the server's SSL certificate",
36917 "optional" : 1,
36918 "type" : "boolean",
36919 "typetext" : "<boolean>"
7aacca6f
DM
36920 }
36921 },
7aacca6f 36922 "type" : "object"
56122987 36923 },
7aacca6f
DM
36924 "permissions" : {
36925 "check" : [
36926 "perm",
36927 "/access/realm",
36928 [
36929 "Realm.Allocate"
36930 ]
36931 ]
44660702
DM
36932 },
36933 "protected" : 1,
36934 "returns" : {
36935 "type" : "null"
7aacca6f 36936 }
56122987 36937 }
7aacca6f 36938 },
44660702 36939 "leaf" : 0,
56122987 36940 "path" : "/access/domains",
44660702 36941 "text" : "domains"
56122987
DM
36942 },
36943 {
56122987 36944 "info" : {
44660702 36945 "GET" : {
2489d6df 36946 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
36947 "method" : "GET",
36948 "name" : "get_ticket",
36949 "parameters" : {
36950 "additionalProperties" : 0
36951 },
36952 "permissions" : {
36953 "user" : "world"
36954 },
36955 "returns" : {
36956 "type" : "null"
36957 }
36958 },
56122987 36959 "POST" : {
44660702 36960 "description" : "Create or verify authentication ticket.",
56122987 36961 "method" : "POST",
44660702
DM
36962 "name" : "create_ticket",
36963 "parameters" : {
36964 "additionalProperties" : 0,
56122987 36965 "properties" : {
44660702
DM
36966 "otp" : {
36967 "description" : "One-time password for Two-factor authentication.",
7aacca6f 36968 "optional" : 1,
013dc89f
DM
36969 "type" : "string",
36970 "typetext" : "<string>"
56122987 36971 },
7aacca6f
DM
36972 "password" : {
36973 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
36974 "type" : "string",
36975 "typetext" : "<string>"
7aacca6f 36976 },
44660702
DM
36977 "path" : {
36978 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 36979 "maxLength" : 64,
56122987 36980 "optional" : 1,
56122987 36981 "requires" : "privs",
013dc89f
DM
36982 "type" : "string",
36983 "typetext" : "<string>"
44660702
DM
36984 },
36985 "privs" : {
7aacca6f 36986 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
36987 "format" : "pve-priv-list",
36988 "maxLength" : 64,
56122987 36989 "optional" : 1,
44660702 36990 "requires" : "path",
013dc89f
DM
36991 "type" : "string",
36992 "typetext" : "<string>"
56122987
DM
36993 },
36994 "realm" : {
56122987 36995 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 36996 "format" : "pve-realm",
7aacca6f 36997 "maxLength" : 32,
44660702 36998 "optional" : 1,
013dc89f
DM
36999 "type" : "string",
37000 "typetext" : "<string>"
56122987
DM
37001 },
37002 "username" : {
37003 "description" : "User name",
44660702 37004 "maxLength" : 64,
013dc89f
DM
37005 "type" : "string",
37006 "typetext" : "<string>"
56122987 37007 }
44660702 37008 }
7aacca6f 37009 },
56122987 37010 "permissions" : {
44660702 37011 "description" : "You need to pass valid credientials.",
56122987
DM
37012 "user" : "world"
37013 },
44660702 37014 "protected" : 1,
7aacca6f 37015 "returns" : {
56122987 37016 "properties" : {
44660702
DM
37017 "CSRFPreventionToken" : {
37018 "optional" : 1,
37019 "type" : "string"
56122987 37020 },
e2d681b3
TL
37021 "clustername" : {
37022 "optional" : 1,
37023 "type" : "string"
37024 },
44660702
DM
37025 "ticket" : {
37026 "optional" : 1,
37027 "type" : "string"
37028 },
37029 "username" : {
56122987
DM
37030 "type" : "string"
37031 }
37032 },
44660702 37033 "type" : "object"
7aacca6f 37034 }
7aacca6f
DM
37035 }
37036 },
44660702
DM
37037 "leaf" : 1,
37038 "path" : "/access/ticket",
37039 "text" : "ticket"
7aacca6f 37040 },
56122987 37041 {
56122987 37042 "info" : {
7aacca6f 37043 "PUT" : {
44660702 37044 "description" : "Change user password.",
7aacca6f 37045 "method" : "PUT",
e2d681b3 37046 "name" : "change_password",
56122987
DM
37047 "parameters" : {
37048 "additionalProperties" : 0,
37049 "properties" : {
44660702
DM
37050 "password" : {
37051 "description" : "The new password.",
37052 "maxLength" : 64,
37053 "minLength" : 5,
013dc89f
DM
37054 "type" : "string",
37055 "typetext" : "<string>"
7aacca6f 37056 },
44660702
DM
37057 "userid" : {
37058 "description" : "User ID",
37059 "format" : "pve-userid",
37060 "maxLength" : 64,
013dc89f
DM
37061 "type" : "string",
37062 "typetext" : "<string>"
56122987 37063 }
7aacca6f 37064 }
56122987
DM
37065 },
37066 "permissions" : {
37067 "check" : [
44660702 37068 "or",
56122987 37069 [
44660702
DM
37070 "userid-param",
37071 "self"
37072 ],
37073 [
37074 "and",
37075 [
37076 "userid-param",
37077 "Realm.AllocateUser"
37078 ],
37079 [
37080 "userid-group",
37081 [
37082 "User.Modify"
37083 ]
37084 ]
56122987 37085 ]
7aacca6f 37086 ],
44660702 37087 "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 37088 },
44660702 37089 "protected" : 1,
7aacca6f
DM
37090 "returns" : {
37091 "type" : "null"
44660702
DM
37092 }
37093 }
37094 },
37095 "leaf" : 1,
37096 "path" : "/access/password",
37097 "text" : "password"
95895385
TL
37098 },
37099 {
37100 "info" : {
37101 "POST" : {
37102 "description" : "Finish a u2f challenge.",
37103 "method" : "POST",
37104 "name" : "verify_tfa",
37105 "parameters" : {
37106 "additionalProperties" : 0,
37107 "properties" : {
37108 "response" : {
37109 "description" : "The response to the current authentication challenge.",
37110 "type" : "string",
37111 "typetext" : "<string>"
37112 }
37113 }
37114 },
37115 "permissions" : {
37116 "user" : "all"
37117 },
37118 "protected" : 1,
37119 "returns" : {
37120 "properties" : {
37121 "ticket" : {
37122 "type" : "string"
37123 }
37124 },
37125 "type" : "object"
37126 }
37127 },
37128 "PUT" : {
37129 "description" : "Change user u2f authentication.",
37130 "method" : "PUT",
37131 "name" : "change_tfa",
37132 "parameters" : {
37133 "additionalProperties" : 0,
37134 "properties" : {
37135 "action" : {
37136 "description" : "The action to perform",
37137 "enum" : [
37138 "delete",
37139 "new",
37140 "confirm"
37141 ],
37142 "type" : "string"
37143 },
37144 "config" : {
37145 "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
37146 "format" : "pve-tfa-config",
37147 "maxLength" : 128,
37148 "optional" : 1,
37149 "type" : "string",
37150 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
37151 },
37152 "key" : {
37153 "description" : "When adding TOTP, the shared secret value.",
37154 "optional" : 1,
37155 "pattern" : "(?^:[A-Z2-7=]{16}|[A-Fa-f0-9]{40})",
37156 "type" : "string"
37157 },
37158 "password" : {
37159 "description" : "The current password.",
37160 "maxLength" : 64,
37161 "minLength" : 5,
37162 "optional" : 1,
37163 "type" : "string",
37164 "typetext" : "<string>"
37165 },
37166 "response" : {
37167 "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
37168 "optional" : 1,
37169 "type" : "string",
37170 "typetext" : "<string>"
37171 },
37172 "userid" : {
37173 "description" : "User ID",
37174 "format" : "pve-userid",
37175 "maxLength" : 64,
37176 "type" : "string",
37177 "typetext" : "<string>"
37178 }
37179 }
37180 },
37181 "permissions" : {
37182 "check" : [
37183 "or",
37184 [
37185 "userid-param",
37186 "self"
37187 ],
37188 [
37189 "and",
37190 [
37191 "userid-param",
37192 "Realm.AllocateUser"
37193 ],
37194 [
37195 "userid-group",
37196 [
37197 "User.Modify"
37198 ]
37199 ]
37200 ]
37201 ],
37202 "description" : "A user can change their own u2f or totp token."
37203 },
37204 "protected" : 1,
37205 "returns" : {
37206 "type" : "object"
37207 }
37208 }
37209 },
37210 "leaf" : 1,
37211 "path" : "/access/tfa",
37212 "text" : "tfa"
44660702
DM
37213 }
37214 ],
37215 "info" : {
37216 "GET" : {
37217 "description" : "Directory index.",
37218 "method" : "GET",
37219 "name" : "index",
37220 "parameters" : {
37221 "additionalProperties" : 0
37222 },
37223 "permissions" : {
37224 "user" : "all"
37225 },
37226 "returns" : {
37227 "items" : {
37228 "properties" : {
37229 "subdir" : {
37230 "type" : "string"
37231 }
7aacca6f 37232 },
44660702
DM
37233 "type" : "object"
37234 },
37235 "links" : [
37236 {
37237 "href" : "{subdir}",
37238 "rel" : "child"
37239 }
37240 ],
37241 "type" : "array"
37242 }
37243 }
37244 },
37245 "leaf" : 0,
37246 "path" : "/access",
37247 "text" : "access"
37248 },
37249 {
37250 "children" : [
37251 {
37252 "info" : {
37253 "DELETE" : {
7aacca6f 37254 "description" : "Delete pool.",
44660702
DM
37255 "method" : "DELETE",
37256 "name" : "delete_pool",
7aacca6f
DM
37257 "parameters" : {
37258 "additionalProperties" : 0,
37259 "properties" : {
37260 "poolid" : {
37261 "format" : "pve-poolid",
013dc89f
DM
37262 "type" : "string",
37263 "typetext" : "<string>"
7aacca6f
DM
37264 }
37265 }
37266 },
56122987
DM
37267 "permissions" : {
37268 "check" : [
37269 "perm",
37270 "/pool/{poolid}",
37271 [
37272 "Pool.Allocate"
37273 ]
44660702
DM
37274 ],
37275 "description" : "You can only delete empty pools (no members)."
37276 },
37277 "protected" : 1,
37278 "returns" : {
37279 "type" : "null"
7aacca6f
DM
37280 }
37281 },
37282 "GET" : {
37283 "description" : "Get pool configuration.",
44660702 37284 "method" : "GET",
7aacca6f 37285 "name" : "read_pool",
56122987 37286 "parameters" : {
44660702 37287 "additionalProperties" : 0,
56122987
DM
37288 "properties" : {
37289 "poolid" : {
44660702 37290 "format" : "pve-poolid",
013dc89f
DM
37291 "type" : "string",
37292 "typetext" : "<string>"
56122987 37293 }
44660702 37294 }
56122987 37295 },
56122987 37296 "permissions" : {
56122987
DM
37297 "check" : [
37298 "perm",
37299 "/pool/{poolid}",
37300 [
37301 "Pool.Allocate"
37302 ]
37303 ]
37304 },
7aacca6f 37305 "returns" : {
44660702 37306 "additionalProperties" : 0,
56122987 37307 "properties" : {
44660702
DM
37308 "comment" : {
37309 "optional" : 1,
37310 "type" : "string"
37311 },
7aacca6f 37312 "members" : {
7aacca6f
DM
37313 "items" : {
37314 "additionalProperties" : 1,
7aacca6f 37315 "properties" : {
7aacca6f
DM
37316 "id" : {
37317 "type" : "string"
37318 },
37319 "node" : {
37320 "type" : "string"
37321 },
44660702
DM
37322 "storage" : {
37323 "optional" : 1,
37324 "type" : "string"
37325 },
7aacca6f 37326 "type" : {
7aacca6f
DM
37327 "enum" : [
37328 "qemu",
37329 "lxc",
37330 "openvz",
37331 "storage"
44660702
DM
37332 ],
37333 "type" : "string"
37334 },
37335 "vmid" : {
37336 "optional" : 1,
37337 "type" : "integer"
7aacca6f 37338 }
44660702
DM
37339 },
37340 "type" : "object"
37341 },
37342 "type" : "array"
37343 }
37344 },
37345 "type" : "object"
37346 }
37347 },
37348 "PUT" : {
37349 "description" : "Update pool data.",
37350 "method" : "PUT",
37351 "name" : "update_pool",
37352 "parameters" : {
37353 "additionalProperties" : 0,
37354 "properties" : {
56122987
DM
37355 "comment" : {
37356 "optional" : 1,
013dc89f
DM
37357 "type" : "string",
37358 "typetext" : "<string>"
44660702
DM
37359 },
37360 "delete" : {
37361 "description" : "Remove vms/storage (instead of adding it).",
37362 "optional" : 1,
013dc89f
DM
37363 "type" : "boolean",
37364 "typetext" : "<boolean>"
44660702
DM
37365 },
37366 "poolid" : {
37367 "format" : "pve-poolid",
013dc89f
DM
37368 "type" : "string",
37369 "typetext" : "<string>"
44660702
DM
37370 },
37371 "storage" : {
37372 "description" : "List of storage IDs.",
37373 "format" : "pve-storage-id-list",
37374 "optional" : 1,
013dc89f
DM
37375 "type" : "string",
37376 "typetext" : "<string>"
44660702
DM
37377 },
37378 "vms" : {
37379 "description" : "List of virtual machines.",
37380 "format" : "pve-vmid-list",
37381 "optional" : 1,
013dc89f
DM
37382 "type" : "string",
37383 "typetext" : "<string>"
56122987 37384 }
44660702
DM
37385 }
37386 },
37387 "permissions" : {
37388 "check" : [
37389 "perm",
37390 "/pool/{poolid}",
37391 [
37392 "Pool.Allocate"
37393 ]
37394 ],
37395 "description" : "You also need the right to modify permissions on any object you add/delete."
37396 },
37397 "protected" : 1,
37398 "returns" : {
37399 "type" : "null"
56122987
DM
37400 }
37401 }
37402 },
44660702
DM
37403 "leaf" : 1,
37404 "path" : "/pools/{poolid}",
7aacca6f 37405 "text" : "{poolid}"
56122987 37406 }
7aacca6f 37407 ],
56122987
DM
37408 "info" : {
37409 "GET" : {
44660702
DM
37410 "description" : "Pool index.",
37411 "method" : "GET",
37412 "name" : "index",
37413 "parameters" : {
37414 "additionalProperties" : 0
37415 },
37416 "permissions" : {
37417 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
37418 "user" : "all"
37419 },
56122987 37420 "returns" : {
44660702
DM
37421 "items" : {
37422 "properties" : {
37423 "poolid" : {
37424 "type" : "string"
37425 }
56122987 37426 },
44660702
DM
37427 "type" : "object"
37428 },
37429 "links" : [
37430 {
37431 "href" : "{poolid}",
37432 "rel" : "child"
37433 }
37434 ],
37435 "type" : "array"
37436 }
37437 },
37438 "POST" : {
37439 "description" : "Create new pool.",
37440 "method" : "POST",
37441 "name" : "create_pool",
37442 "parameters" : {
37443 "additionalProperties" : 0,
37444 "properties" : {
37445 "comment" : {
37446 "optional" : 1,
013dc89f
DM
37447 "type" : "string",
37448 "typetext" : "<string>"
7aacca6f 37449 },
44660702
DM
37450 "poolid" : {
37451 "format" : "pve-poolid",
013dc89f
DM
37452 "type" : "string",
37453 "typetext" : "<string>"
56122987
DM
37454 }
37455 }
37456 },
56122987 37457 "permissions" : {
44660702
DM
37458 "check" : [
37459 "perm",
37460 "/pool/{poolid}",
37461 [
37462 "Pool.Allocate"
37463 ]
37464 ]
56122987 37465 },
44660702
DM
37466 "protected" : 1,
37467 "returns" : {
37468 "type" : "null"
37469 }
37470 }
37471 },
37472 "leaf" : 0,
37473 "path" : "/pools",
37474 "text" : "pools"
37475 },
37476 {
37477 "info" : {
37478 "GET" : {
37479 "description" : "API version details. The result also includes the global datacenter confguration.",
37480 "method" : "GET",
37481 "name" : "version",
7aacca6f
DM
37482 "parameters" : {
37483 "additionalProperties" : 0
37484 },
44660702
DM
37485 "permissions" : {
37486 "user" : "all"
37487 },
37488 "returns" : {
37489 "properties" : {
37490 "release" : {
37491 "type" : "string"
37492 },
37493 "repoid" : {
37494 "type" : "string"
37495 },
37496 "version" : {
37497 "type" : "string"
37498 }
37499 },
37500 "type" : "object"
37501 }
56122987
DM
37502 }
37503 },
44660702
DM
37504 "leaf" : 1,
37505 "path" : "/version",
56122987
DM
37506 "text" : "version"
37507 }
37508]
37509;
37510