]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
Add section for ZFS Special Device
[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 },
7cbed89a
TL
19917 "mountoptions" : {
19918 "description" : "Extra mount options for rootfs/mps.",
19919 "format_description" : "opt[;opt...]",
19920 "optional" : 1,
19921 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
19922 "type" : "string"
19923 },
4d47f125
TL
19924 "mp" : {
19925 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
19926 "format" : "pve-lxc-mp-string",
19927 "format_description" : "Path",
19928 "type" : "string",
19929 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
19930 },
19931 "quota" : {
19932 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19933 "optional" : 1,
19934 "type" : "boolean"
19935 },
19936 "replicate" : {
19937 "default" : 1,
19938 "description" : "Will include this volume to a storage replica job.",
19939 "optional" : 1,
19940 "type" : "boolean"
19941 },
19942 "ro" : {
19943 "description" : "Read-only mount point",
19944 "optional" : 1,
19945 "type" : "boolean"
19946 },
19947 "shared" : {
19948 "default" : 0,
19949 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19950 "optional" : 1,
19951 "type" : "boolean",
19952 "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!"
19953 },
19954 "size" : {
19955 "description" : "Volume size (read only value).",
19956 "format" : "disk-size",
19957 "format_description" : "DiskSize",
19958 "optional" : 1,
19959 "type" : "string"
19960 },
19961 "volume" : {
19962 "default_key" : 1,
19963 "description" : "Volume, device or directory to mount into the container.",
19964 "format" : "pve-lxc-mp-string",
19965 "format_description" : "volume",
19966 "type" : "string"
19967 }
19968 },
19969 "optional" : 1,
19970 "type" : "string"
19971 },
19972 "nameserver" : {
19973 "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.",
19974 "format" : "address-list",
19975 "optional" : 1,
19976 "type" : "string"
19977 },
19978 "net[n]" : {
19979 "description" : "Specifies network interfaces for the container.",
19980 "format" : {
19981 "bridge" : {
19982 "description" : "Bridge to attach the network device to.",
19983 "format_description" : "bridge",
19984 "optional" : 1,
19985 "pattern" : "[-_.\\w\\d]+",
19986 "type" : "string"
19987 },
19988 "firewall" : {
19989 "description" : "Controls whether this interface's firewall rules should be used.",
19990 "optional" : 1,
19991 "type" : "boolean"
19992 },
19993 "gw" : {
19994 "description" : "Default gateway for IPv4 traffic.",
19995 "format" : "ipv4",
19996 "format_description" : "GatewayIPv4",
19997 "optional" : 1,
19998 "type" : "string"
19999 },
20000 "gw6" : {
20001 "description" : "Default gateway for IPv6 traffic.",
20002 "format" : "ipv6",
20003 "format_description" : "GatewayIPv6",
20004 "optional" : 1,
20005 "type" : "string"
20006 },
20007 "hwaddr" : {
20008 "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 20009 "format" : "mac-addr",
4d47f125
TL
20010 "format_description" : "XX:XX:XX:XX:XX:XX",
20011 "optional" : 1,
95895385
TL
20012 "type" : "string",
20013 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
20014 },
20015 "ip" : {
20016 "description" : "IPv4 address in CIDR format.",
20017 "format" : "pve-ipv4-config",
20018 "format_description" : "(IPv4/CIDR|dhcp|manual)",
20019 "optional" : 1,
20020 "type" : "string"
20021 },
20022 "ip6" : {
20023 "description" : "IPv6 address in CIDR format.",
20024 "format" : "pve-ipv6-config",
20025 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
20026 "optional" : 1,
20027 "type" : "string"
20028 },
20029 "mtu" : {
20030 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
20031 "minimum" : 64,
20032 "optional" : 1,
20033 "type" : "integer"
20034 },
20035 "name" : {
20036 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
20037 "format_description" : "string",
20038 "pattern" : "[-_.\\w\\d]+",
20039 "type" : "string"
20040 },
20041 "rate" : {
20042 "description" : "Apply rate limiting to the interface",
20043 "format_description" : "mbps",
20044 "optional" : 1,
20045 "type" : "number"
20046 },
20047 "tag" : {
20048 "description" : "VLAN tag for this interface.",
20049 "maximum" : 4094,
20050 "minimum" : 1,
20051 "optional" : 1,
20052 "type" : "integer"
20053 },
20054 "trunks" : {
20055 "description" : "VLAN ids to pass through the interface",
20056 "format_description" : "vlanid[;vlanid...]",
20057 "optional" : 1,
20058 "pattern" : "(?^:\\d+(?:;\\d+)*)",
20059 "type" : "string"
20060 },
20061 "type" : {
20062 "description" : "Network interface type.",
20063 "enum" : [
20064 "veth"
20065 ],
20066 "optional" : 1,
20067 "type" : "string"
20068 }
20069 },
20070 "optional" : 1,
20071 "type" : "string"
20072 },
20073 "onboot" : {
20074 "default" : 0,
20075 "description" : "Specifies whether a VM will be started during system bootup.",
20076 "optional" : 1,
20077 "type" : "boolean"
20078 },
20079 "ostype" : {
20080 "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.",
20081 "enum" : [
20082 "debian",
20083 "ubuntu",
20084 "centos",
20085 "fedora",
20086 "opensuse",
20087 "archlinux",
20088 "alpine",
20089 "gentoo",
20090 "unmanaged"
20091 ],
20092 "optional" : 1,
20093 "type" : "string"
20094 },
20095 "protection" : {
20096 "default" : 0,
20097 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
20098 "optional" : 1,
20099 "type" : "boolean"
20100 },
20101 "rootfs" : {
20102 "description" : "Use volume as container root.",
20103 "format" : {
20104 "acl" : {
20105 "description" : "Explicitly enable or disable ACL support.",
20106 "optional" : 1,
20107 "type" : "boolean"
20108 },
7cbed89a
TL
20109 "mountoptions" : {
20110 "description" : "Extra mount options for rootfs/mps.",
20111 "format_description" : "opt[;opt...]",
20112 "optional" : 1,
20113 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
20114 "type" : "string"
20115 },
4d47f125
TL
20116 "quota" : {
20117 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
20118 "optional" : 1,
20119 "type" : "boolean"
20120 },
20121 "replicate" : {
20122 "default" : 1,
20123 "description" : "Will include this volume to a storage replica job.",
20124 "optional" : 1,
20125 "type" : "boolean"
20126 },
20127 "ro" : {
20128 "description" : "Read-only mount point",
20129 "optional" : 1,
20130 "type" : "boolean"
20131 },
20132 "shared" : {
20133 "default" : 0,
20134 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20135 "optional" : 1,
20136 "type" : "boolean",
20137 "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!"
20138 },
20139 "size" : {
20140 "description" : "Volume size (read only value).",
20141 "format" : "disk-size",
20142 "format_description" : "DiskSize",
20143 "optional" : 1,
20144 "type" : "string"
20145 },
20146 "volume" : {
20147 "default_key" : 1,
20148 "description" : "Volume, device or directory to mount into the container.",
20149 "format" : "pve-lxc-mp-string",
20150 "format_description" : "volume",
20151 "type" : "string"
20152 }
20153 },
20154 "optional" : 1,
20155 "type" : "string"
20156 },
20157 "searchdomain" : {
20158 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
20159 "format" : "dns-name-list",
20160 "optional" : 1,
20161 "type" : "string"
20162 },
20163 "startup" : {
20164 "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.",
20165 "format" : "pve-startup-order",
20166 "optional" : 1,
20167 "type" : "string",
20168 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
20169 },
20170 "swap" : {
20171 "default" : 512,
20172 "description" : "Amount of SWAP for the VM in MB.",
20173 "minimum" : 0,
20174 "optional" : 1,
20175 "type" : "integer"
20176 },
20177 "template" : {
20178 "default" : 0,
20179 "description" : "Enable/disable Template.",
20180 "optional" : 1,
20181 "type" : "boolean"
44660702 20182 },
4d47f125
TL
20183 "tty" : {
20184 "default" : 2,
20185 "description" : "Specify the number of tty available to the container",
20186 "maximum" : 6,
20187 "minimum" : 0,
20188 "optional" : 1,
20189 "type" : "integer"
20190 },
20191 "unprivileged" : {
20192 "default" : 0,
20193 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
20194 "optional" : 1,
20195 "type" : "boolean"
20196 },
20197 "unused[n]" : {
20198 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
20199 "format" : "pve-volume-id",
20200 "optional" : 1,
44660702
DM
20201 "type" : "string"
20202 }
20203 },
20204 "type" : "object"
20205 }
20206 },
56122987 20207 "PUT" : {
44660702
DM
20208 "description" : "Set container options.",
20209 "method" : "PUT",
20210 "name" : "update_vm",
56122987 20211 "parameters" : {
44660702 20212 "additionalProperties" : 0,
56122987 20213 "properties" : {
44660702
DM
20214 "arch" : {
20215 "default" : "amd64",
20216 "description" : "OS architecture type.",
20217 "enum" : [
20218 "amd64",
4d47f125
TL
20219 "i386",
20220 "arm64",
20221 "armhf"
44660702 20222 ],
7aacca6f 20223 "optional" : 1,
44660702
DM
20224 "type" : "string"
20225 },
20226 "cmode" : {
7aacca6f 20227 "default" : "tty",
44660702 20228 "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
20229 "enum" : [
20230 "shell",
20231 "console",
20232 "tty"
20233 ],
44660702
DM
20234 "optional" : 1,
20235 "type" : "string"
7aacca6f 20236 },
44660702
DM
20237 "console" : {
20238 "default" : 1,
20239 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 20240 "optional" : 1,
013dc89f
DM
20241 "type" : "boolean",
20242 "typetext" : "<boolean>"
7aacca6f 20243 },
de0983cb
DM
20244 "cores" : {
20245 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
20246 "maximum" : 128,
20247 "minimum" : 1,
20248 "optional" : 1,
20249 "type" : "integer",
013dc89f 20250 "typetext" : "<integer> (1 - 128)"
de0983cb 20251 },
44660702
DM
20252 "cpulimit" : {
20253 "default" : 0,
20254 "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.",
20255 "maximum" : 128,
7aacca6f 20256 "minimum" : 0,
7aacca6f 20257 "optional" : 1,
4bd7df8b 20258 "type" : "number",
013dc89f 20259 "typetext" : "<number> (0 - 128)"
7aacca6f 20260 },
44660702
DM
20261 "cpuunits" : {
20262 "default" : 1024,
20263 "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.",
20264 "maximum" : 500000,
20265 "minimum" : 0,
20266 "optional" : 1,
4bd7df8b 20267 "type" : "integer",
013dc89f 20268 "typetext" : "<integer> (0 - 500000)"
7aacca6f 20269 },
44660702
DM
20270 "delete" : {
20271 "description" : "A list of settings you want to delete.",
20272 "format" : "pve-configid-list",
7aacca6f 20273 "optional" : 1,
013dc89f
DM
20274 "type" : "string",
20275 "typetext" : "<string>"
7aacca6f 20276 },
44660702
DM
20277 "description" : {
20278 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 20279 "optional" : 1,
013dc89f
DM
20280 "type" : "string",
20281 "typetext" : "<string>"
7aacca6f 20282 },
44660702
DM
20283 "digest" : {
20284 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20285 "maxLength" : 40,
7aacca6f 20286 "optional" : 1,
013dc89f
DM
20287 "type" : "string",
20288 "typetext" : "<string>"
7aacca6f 20289 },
4d47f125
TL
20290 "features" : {
20291 "description" : "Allow containers access to advanced features.",
20292 "format" : {
e2d681b3
TL
20293 "fuse" : {
20294 "default" : 0,
20295 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
20296 "optional" : 1,
20297 "type" : "boolean"
20298 },
4d47f125
TL
20299 "keyctl" : {
20300 "default" : 0,
20301 "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.",
20302 "optional" : 1,
20303 "type" : "boolean"
20304 },
20305 "mount" : {
20306 "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.",
20307 "format_description" : "fstype;fstype;...",
20308 "optional" : 1,
95895385 20309 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
20310 "type" : "string"
20311 },
20312 "nesting" : {
20313 "default" : 0,
20314 "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.",
20315 "optional" : 1,
20316 "type" : "boolean"
20317 }
20318 },
20319 "optional" : 1,
20320 "type" : "string",
e2d681b3 20321 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 20322 },
5f26e15b
TL
20323 "hookscript" : {
20324 "description" : "Script that will be exectued during various steps in the containers lifetime.",
20325 "format" : "pve-volume-id",
20326 "optional" : 1,
20327 "type" : "string",
20328 "typetext" : "<string>"
20329 },
44660702
DM
20330 "hostname" : {
20331 "description" : "Set a host name for the container.",
20332 "format" : "dns-name",
20333 "maxLength" : 255,
56122987 20334 "optional" : 1,
013dc89f
DM
20335 "type" : "string",
20336 "typetext" : "<string>"
44660702
DM
20337 },
20338 "lock" : {
20339 "description" : "Lock/unlock the VM.",
20340 "enum" : [
44660702 20341 "backup",
bb4c8cf8 20342 "create",
4d47f125 20343 "disk",
bb4c8cf8 20344 "fstrim",
4d47f125
TL
20345 "migrate",
20346 "mounted",
20347 "rollback",
44660702 20348 "snapshot",
4d47f125 20349 "snapshot-delete"
44660702
DM
20350 ],
20351 "optional" : 1,
20352 "type" : "string"
20353 },
20354 "memory" : {
20355 "default" : 512,
20356 "description" : "Amount of RAM for the VM in MB.",
20357 "minimum" : 16,
20358 "optional" : 1,
4bd7df8b 20359 "type" : "integer",
013dc89f 20360 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
20361 },
20362 "mp[n]" : {
c2993fe5 20363 "description" : "Use volume as container mount point.",
7aacca6f 20364 "format" : {
7aacca6f
DM
20365 "acl" : {
20366 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 20367 "optional" : 1,
44660702 20368 "type" : "boolean"
7aacca6f
DM
20369 },
20370 "backup" : {
de0983cb 20371 "description" : "Whether to include the mount point in backups.",
7aacca6f 20372 "optional" : 1,
4bd7df8b 20373 "type" : "boolean",
de0983cb 20374 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f 20375 },
7cbed89a
TL
20376 "mountoptions" : {
20377 "description" : "Extra mount options for rootfs/mps.",
20378 "format_description" : "opt[;opt...]",
20379 "optional" : 1,
20380 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
20381 "type" : "string"
20382 },
7aacca6f 20383 "mp" : {
de0983cb 20384 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 20385 "format" : "pve-lxc-mp-string",
44660702 20386 "format_description" : "Path",
4bd7df8b 20387 "type" : "string",
de0983cb 20388 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 20389 },
5d9c884c
DM
20390 "quota" : {
20391 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
20392 "optional" : 1,
20393 "type" : "boolean"
20394 },
20395 "replicate" : {
20396 "default" : 1,
20397 "description" : "Will include this volume to a storage replica job.",
44660702
DM
20398 "optional" : 1,
20399 "type" : "boolean"
20400 },
20401 "ro" : {
de0983cb 20402 "description" : "Read-only mount point",
44660702
DM
20403 "optional" : 1,
20404 "type" : "boolean"
20405 },
de0983cb
DM
20406 "shared" : {
20407 "default" : 0,
20408 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20409 "optional" : 1,
20410 "type" : "boolean",
20411 "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!"
20412 },
44660702
DM
20413 "size" : {
20414 "description" : "Volume size (read only value).",
20415 "format" : "disk-size",
20416 "format_description" : "DiskSize",
20417 "optional" : 1,
20418 "type" : "string"
20419 },
20420 "volume" : {
20421 "default_key" : 1,
20422 "description" : "Volume, device or directory to mount into the container.",
20423 "format" : "pve-lxc-mp-string",
20424 "format_description" : "volume",
20425 "type" : "string"
20426 }
20427 },
7aacca6f 20428 "optional" : 1,
4bd7df8b 20429 "type" : "string",
7cbed89a 20430 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 20431 },
44660702
DM
20432 "nameserver" : {
20433 "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.",
20434 "format" : "address-list",
56122987 20435 "optional" : 1,
013dc89f
DM
20436 "type" : "string",
20437 "typetext" : "<string>"
56122987
DM
20438 },
20439 "net[n]" : {
44660702 20440 "description" : "Specifies network interfaces for the container.",
56122987 20441 "format" : {
44660702
DM
20442 "bridge" : {
20443 "description" : "Bridge to attach the network device to.",
f004f5b9 20444 "format_description" : "bridge",
56122987 20445 "optional" : 1,
44660702
DM
20446 "pattern" : "[-_.\\w\\d]+",
20447 "type" : "string"
56122987 20448 },
44660702
DM
20449 "firewall" : {
20450 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 20451 "optional" : 1,
44660702 20452 "type" : "boolean"
56122987 20453 },
44660702
DM
20454 "gw" : {
20455 "description" : "Default gateway for IPv4 traffic.",
20456 "format" : "ipv4",
20457 "format_description" : "GatewayIPv4",
56122987 20458 "optional" : 1,
44660702 20459 "type" : "string"
56122987
DM
20460 },
20461 "gw6" : {
7aacca6f 20462 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
20463 "format" : "ipv6",
20464 "format_description" : "GatewayIPv6",
7aacca6f 20465 "optional" : 1,
56122987
DM
20466 "type" : "string"
20467 },
44660702 20468 "hwaddr" : {
f004f5b9 20469 "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 20470 "format" : "mac-addr",
f004f5b9 20471 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702 20472 "optional" : 1,
95895385
TL
20473 "type" : "string",
20474 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
44660702
DM
20475 },
20476 "ip" : {
20477 "description" : "IPv4 address in CIDR format.",
20478 "format" : "pve-ipv4-config",
2489d6df 20479 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 20480 "optional" : 1,
44660702 20481 "type" : "string"
56122987 20482 },
7aacca6f 20483 "ip6" : {
7aacca6f
DM
20484 "description" : "IPv6 address in CIDR format.",
20485 "format" : "pve-ipv6-config",
2489d6df 20486 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 20487 "optional" : 1,
44660702 20488 "type" : "string"
56122987 20489 },
44660702
DM
20490 "mtu" : {
20491 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 20492 "minimum" : 64,
56122987 20493 "optional" : 1,
44660702 20494 "type" : "integer"
56122987
DM
20495 },
20496 "name" : {
44660702 20497 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 20498 "format_description" : "string",
56122987 20499 "pattern" : "[-_.\\w\\d]+",
44660702 20500 "type" : "string"
56122987 20501 },
44660702
DM
20502 "rate" : {
20503 "description" : "Apply rate limiting to the interface",
20504 "format_description" : "mbps",
56122987 20505 "optional" : 1,
44660702 20506 "type" : "number"
7aacca6f 20507 },
44660702
DM
20508 "tag" : {
20509 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
20510 "maximum" : 4094,
20511 "minimum" : 1,
56122987 20512 "optional" : 1,
7aacca6f 20513 "type" : "integer"
56122987 20514 },
44660702
DM
20515 "trunks" : {
20516 "description" : "VLAN ids to pass through the interface",
20517 "format_description" : "vlanid[;vlanid...]",
20518 "optional" : 1,
20519 "pattern" : "(?^:\\d+(?:;\\d+)*)",
20520 "type" : "string"
20521 },
20522 "type" : {
20523 "description" : "Network interface type.",
20524 "enum" : [
20525 "veth"
20526 ],
56122987 20527 "optional" : 1,
44660702 20528 "type" : "string"
56122987
DM
20529 }
20530 },
7aacca6f 20531 "optional" : 1,
4bd7df8b 20532 "type" : "string",
2489d6df 20533 "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 20534 },
44660702
DM
20535 "node" : {
20536 "description" : "The cluster node name.",
20537 "format" : "pve-node",
013dc89f
DM
20538 "type" : "string",
20539 "typetext" : "<string>"
56122987 20540 },
44660702
DM
20541 "onboot" : {
20542 "default" : 0,
20543 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 20544 "optional" : 1,
013dc89f
DM
20545 "type" : "boolean",
20546 "typetext" : "<boolean>"
56122987 20547 },
44660702
DM
20548 "ostype" : {
20549 "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.",
20550 "enum" : [
20551 "debian",
20552 "ubuntu",
20553 "centos",
20554 "fedora",
20555 "opensuse",
20556 "archlinux",
20557 "alpine",
57b78691 20558 "gentoo",
44660702
DM
20559 "unmanaged"
20560 ],
56122987 20561 "optional" : 1,
44660702 20562 "type" : "string"
56122987 20563 },
44660702
DM
20564 "protection" : {
20565 "default" : 0,
20566 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 20567 "optional" : 1,
013dc89f
DM
20568 "type" : "boolean",
20569 "typetext" : "<boolean>"
56122987 20570 },
7aacca6f
DM
20571 "rootfs" : {
20572 "description" : "Use volume as container root.",
56122987
DM
20573 "format" : {
20574 "acl" : {
44660702 20575 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
20576 "optional" : 1,
20577 "type" : "boolean"
56122987 20578 },
7cbed89a
TL
20579 "mountoptions" : {
20580 "description" : "Extra mount options for rootfs/mps.",
20581 "format_description" : "opt[;opt...]",
20582 "optional" : 1,
20583 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
20584 "type" : "string"
20585 },
44660702
DM
20586 "quota" : {
20587 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
20588 "optional" : 1,
20589 "type" : "boolean"
20590 },
5d9c884c
DM
20591 "replicate" : {
20592 "default" : 1,
20593 "description" : "Will include this volume to a storage replica job.",
20594 "optional" : 1,
20595 "type" : "boolean"
20596 },
44660702 20597 "ro" : {
de0983cb 20598 "description" : "Read-only mount point",
56122987 20599 "optional" : 1,
44660702
DM
20600 "type" : "boolean"
20601 },
de0983cb
DM
20602 "shared" : {
20603 "default" : 0,
20604 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20605 "optional" : 1,
20606 "type" : "boolean",
20607 "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!"
20608 },
44660702 20609 "size" : {
7aacca6f 20610 "description" : "Volume size (read only value).",
44660702 20611 "format" : "disk-size",
56122987 20612 "format_description" : "DiskSize",
56122987 20613 "optional" : 1,
44660702 20614 "type" : "string"
7aacca6f
DM
20615 },
20616 "volume" : {
7aacca6f
DM
20617 "default_key" : 1,
20618 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
20619 "format" : "pve-lxc-mp-string",
20620 "format_description" : "volume",
7aacca6f 20621 "type" : "string"
56122987 20622 }
44660702
DM
20623 },
20624 "optional" : 1,
4bd7df8b 20625 "type" : "string",
7cbed89a 20626 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
20627 },
20628 "searchdomain" : {
20629 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
20630 "format" : "dns-name-list",
20631 "optional" : 1,
013dc89f
DM
20632 "type" : "string",
20633 "typetext" : "<string>"
44660702
DM
20634 },
20635 "startup" : {
20636 "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.",
20637 "format" : "pve-startup-order",
20638 "optional" : 1,
20639 "type" : "string",
20640 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
20641 },
20642 "swap" : {
20643 "default" : 512,
20644 "description" : "Amount of SWAP for the VM in MB.",
20645 "minimum" : 0,
20646 "optional" : 1,
4bd7df8b 20647 "type" : "integer",
013dc89f 20648 "typetext" : "<integer> (0 - N)"
56122987 20649 },
56122987 20650 "template" : {
44660702 20651 "default" : 0,
7aacca6f 20652 "description" : "Enable/disable Template.",
56122987 20653 "optional" : 1,
013dc89f
DM
20654 "type" : "boolean",
20655 "typetext" : "<boolean>"
56122987 20656 },
44660702
DM
20657 "tty" : {
20658 "default" : 2,
20659 "description" : "Specify the number of tty available to the container",
20660 "maximum" : 6,
20661 "minimum" : 0,
20662 "optional" : 1,
4bd7df8b 20663 "type" : "integer",
013dc89f 20664 "typetext" : "<integer> (0 - 6)"
56122987 20665 },
44660702
DM
20666 "unprivileged" : {
20667 "default" : 0,
20668 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 20669 "optional" : 1,
013dc89f
DM
20670 "type" : "boolean",
20671 "typetext" : "<boolean>"
56122987 20672 },
44660702 20673 "unused[n]" : {
c2993fe5 20674 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 20675 "format" : "pve-volume-id",
56122987 20676 "optional" : 1,
013dc89f
DM
20677 "type" : "string",
20678 "typetext" : "<string>"
44660702
DM
20679 },
20680 "vmid" : {
20681 "description" : "The (unique) ID of the VM.",
20682 "format" : "pve-vmid",
20683 "minimum" : 1,
4bd7df8b 20684 "type" : "integer",
013dc89f 20685 "typetext" : "<integer> (1 - N)"
56122987 20686 }
44660702 20687 }
56122987 20688 },
56122987
DM
20689 "permissions" : {
20690 "check" : [
20691 "perm",
20692 "/vms/{vmid}",
20693 [
20694 "VM.Config.Disk",
20695 "VM.Config.CPU",
20696 "VM.Config.Memory",
20697 "VM.Config.Network",
20698 "VM.Config.Options"
20699 ],
20700 "any",
20701 1
52e44c50
FG
20702 ],
20703 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 20704 },
44660702
DM
20705 "protected" : 1,
20706 "proxyto" : "node",
56122987
DM
20707 "returns" : {
20708 "type" : "null"
7aacca6f 20709 }
56122987 20710 }
7aacca6f 20711 },
44660702 20712 "leaf" : 1,
7aacca6f 20713 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 20714 "text" : "config"
56122987
DM
20715 },
20716 {
56122987
DM
20717 "children" : [
20718 {
20719 "info" : {
20720 "GET" : {
44660702 20721 "description" : "Get virtual machine status.",
7aacca6f 20722 "method" : "GET",
44660702 20723 "name" : "vm_status",
56122987 20724 "parameters" : {
44660702 20725 "additionalProperties" : 0,
56122987 20726 "properties" : {
56122987 20727 "node" : {
44660702 20728 "description" : "The cluster node name.",
56122987 20729 "format" : "pve-node",
013dc89f
DM
20730 "type" : "string",
20731 "typetext" : "<string>"
7aacca6f
DM
20732 },
20733 "vmid" : {
20734 "description" : "The (unique) ID of the VM.",
44660702 20735 "format" : "pve-vmid",
7aacca6f 20736 "minimum" : 1,
4bd7df8b 20737 "type" : "integer",
013dc89f 20738 "typetext" : "<integer> (1 - N)"
56122987 20739 }
44660702 20740 }
7aacca6f
DM
20741 },
20742 "permissions" : {
20743 "check" : [
20744 "perm",
20745 "/vms/{vmid}",
20746 [
4d47f125
TL
20747 "VM.Audit"
20748 ]
20749 ]
20750 },
20751 "protected" : 1,
20752 "proxyto" : "node",
20753 "returns" : {
20754 "properties" : {
20755 "cpus" : {
20756 "description" : "Maximum usable CPUs.",
20757 "optional" : 1,
20758 "type" : "number"
20759 },
20760 "ha" : {
20761 "description" : "HA manager service status.",
20762 "type" : "object"
20763 },
95895385
TL
20764 "lock" : {
20765 "description" : "The current config lock, if any.",
20766 "optional" : 1,
20767 "type" : "string"
20768 },
4d47f125
TL
20769 "maxdisk" : {
20770 "description" : "Root disk size in bytes.",
20771 "optional" : 1,
20772 "renderer" : "bytes",
20773 "type" : "integer"
20774 },
20775 "maxmem" : {
20776 "description" : "Maximum memory in bytes.",
20777 "optional" : 1,
20778 "renderer" : "bytes",
20779 "type" : "integer"
20780 },
20781 "maxswap" : {
20782 "description" : "Maximum SWAP memory in bytes.",
20783 "optional" : 1,
20784 "renderer" : "bytes",
20785 "type" : "integer"
20786 },
20787 "name" : {
20788 "description" : "Container name.",
20789 "optional" : 1,
20790 "type" : "string"
20791 },
20792 "status" : {
20793 "description" : "LXC Container status.",
20794 "enum" : [
20795 "stopped",
20796 "running"
20797 ],
20798 "type" : "string"
20799 },
20800 "uptime" : {
20801 "description" : "Uptime.",
20802 "optional" : 1,
20803 "renderer" : "duration",
20804 "type" : "integer"
20805 },
20806 "vmid" : {
20807 "description" : "The (unique) ID of the VM.",
20808 "format" : "pve-vmid",
20809 "minimum" : 1,
20810 "type" : "integer"
20811 }
20812 },
20813 "type" : "object"
20814 }
20815 }
20816 },
20817 "leaf" : 1,
20818 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
20819 "text" : "current"
20820 },
20821 {
20822 "info" : {
20823 "POST" : {
20824 "description" : "Start the container.",
20825 "method" : "POST",
20826 "name" : "vm_start",
20827 "parameters" : {
20828 "additionalProperties" : 0,
20829 "properties" : {
20830 "node" : {
20831 "description" : "The cluster node name.",
20832 "format" : "pve-node",
20833 "type" : "string",
20834 "typetext" : "<string>"
20835 },
20836 "skiplock" : {
20837 "description" : "Ignore locks - only root is allowed to use this option.",
20838 "optional" : 1,
20839 "type" : "boolean",
20840 "typetext" : "<boolean>"
20841 },
20842 "vmid" : {
20843 "description" : "The (unique) ID of the VM.",
20844 "format" : "pve-vmid",
20845 "minimum" : 1,
20846 "type" : "integer",
20847 "typetext" : "<integer> (1 - N)"
20848 }
20849 }
20850 },
20851 "permissions" : {
20852 "check" : [
20853 "perm",
20854 "/vms/{vmid}",
20855 [
20856 "VM.PowerMgmt"
20857 ]
20858 ]
20859 },
20860 "protected" : 1,
20861 "proxyto" : "node",
20862 "returns" : {
20863 "type" : "string"
20864 }
20865 }
20866 },
20867 "leaf" : 1,
20868 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
20869 "text" : "start"
20870 },
20871 {
20872 "info" : {
20873 "POST" : {
20874 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
20875 "method" : "POST",
20876 "name" : "vm_stop",
20877 "parameters" : {
20878 "additionalProperties" : 0,
20879 "properties" : {
20880 "node" : {
20881 "description" : "The cluster node name.",
20882 "format" : "pve-node",
20883 "type" : "string",
20884 "typetext" : "<string>"
20885 },
20886 "skiplock" : {
20887 "description" : "Ignore locks - only root is allowed to use this option.",
20888 "optional" : 1,
20889 "type" : "boolean",
20890 "typetext" : "<boolean>"
20891 },
20892 "vmid" : {
20893 "description" : "The (unique) ID of the VM.",
20894 "format" : "pve-vmid",
20895 "minimum" : 1,
20896 "type" : "integer",
20897 "typetext" : "<integer> (1 - N)"
20898 }
20899 }
20900 },
20901 "permissions" : {
20902 "check" : [
20903 "perm",
20904 "/vms/{vmid}",
20905 [
20906 "VM.PowerMgmt"
20907 ]
20908 ]
20909 },
20910 "protected" : 1,
20911 "proxyto" : "node",
20912 "returns" : {
20913 "type" : "string"
20914 }
20915 }
20916 },
20917 "leaf" : 1,
20918 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
20919 "text" : "stop"
20920 },
20921 {
20922 "info" : {
20923 "POST" : {
20924 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
20925 "method" : "POST",
20926 "name" : "vm_shutdown",
20927 "parameters" : {
20928 "additionalProperties" : 0,
20929 "properties" : {
20930 "forceStop" : {
20931 "default" : 0,
20932 "description" : "Make sure the Container stops.",
20933 "optional" : 1,
20934 "type" : "boolean",
20935 "typetext" : "<boolean>"
20936 },
20937 "node" : {
20938 "description" : "The cluster node name.",
20939 "format" : "pve-node",
20940 "type" : "string",
20941 "typetext" : "<string>"
20942 },
20943 "timeout" : {
20944 "default" : 60,
20945 "description" : "Wait maximal timeout seconds.",
20946 "minimum" : 0,
20947 "optional" : 1,
20948 "type" : "integer",
20949 "typetext" : "<integer> (0 - N)"
20950 },
20951 "vmid" : {
20952 "description" : "The (unique) ID of the VM.",
20953 "format" : "pve-vmid",
20954 "minimum" : 1,
20955 "type" : "integer",
20956 "typetext" : "<integer> (1 - N)"
20957 }
20958 }
20959 },
20960 "permissions" : {
20961 "check" : [
20962 "perm",
20963 "/vms/{vmid}",
20964 [
20965 "VM.PowerMgmt"
7aacca6f
DM
20966 ]
20967 ]
20968 },
44660702 20969 "protected" : 1,
7aacca6f 20970 "proxyto" : "node",
44660702 20971 "returns" : {
4d47f125 20972 "type" : "string"
44660702 20973 }
56122987
DM
20974 }
20975 },
44660702 20976 "leaf" : 1,
4d47f125
TL
20977 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
20978 "text" : "shutdown"
56122987
DM
20979 },
20980 {
56122987
DM
20981 "info" : {
20982 "POST" : {
4d47f125 20983 "description" : "Suspend the container.",
44660702 20984 "method" : "POST",
4d47f125 20985 "name" : "vm_suspend",
56122987
DM
20986 "parameters" : {
20987 "additionalProperties" : 0,
20988 "properties" : {
56122987 20989 "node" : {
7aacca6f 20990 "description" : "The cluster node name.",
44660702 20991 "format" : "pve-node",
013dc89f
DM
20992 "type" : "string",
20993 "typetext" : "<string>"
56122987
DM
20994 },
20995 "vmid" : {
7aacca6f 20996 "description" : "The (unique) ID of the VM.",
44660702 20997 "format" : "pve-vmid",
56122987 20998 "minimum" : 1,
4bd7df8b 20999 "type" : "integer",
013dc89f 21000 "typetext" : "<integer> (1 - N)"
56122987
DM
21001 }
21002 }
21003 },
21004 "permissions" : {
21005 "check" : [
21006 "perm",
21007 "/vms/{vmid}",
21008 [
21009 "VM.PowerMgmt"
21010 ]
21011 ]
21012 },
44660702 21013 "protected" : 1,
7aacca6f 21014 "proxyto" : "node",
44660702
DM
21015 "returns" : {
21016 "type" : "string"
21017 }
21018 }
21019 },
21020 "leaf" : 1,
4d47f125
TL
21021 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
21022 "text" : "suspend"
44660702
DM
21023 },
21024 {
21025 "info" : {
21026 "POST" : {
4d47f125 21027 "description" : "Resume the container.",
7aacca6f 21028 "method" : "POST",
4d47f125 21029 "name" : "vm_resume",
7aacca6f 21030 "parameters" : {
44660702 21031 "additionalProperties" : 0,
7aacca6f 21032 "properties" : {
44660702
DM
21033 "node" : {
21034 "description" : "The cluster node name.",
21035 "format" : "pve-node",
013dc89f
DM
21036 "type" : "string",
21037 "typetext" : "<string>"
44660702 21038 },
7aacca6f 21039 "vmid" : {
44660702 21040 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21041 "format" : "pve-vmid",
21042 "minimum" : 1,
4bd7df8b 21043 "type" : "integer",
013dc89f 21044 "typetext" : "<integer> (1 - N)"
7aacca6f 21045 }
44660702
DM
21046 }
21047 },
21048 "permissions" : {
21049 "check" : [
21050 "perm",
21051 "/vms/{vmid}",
21052 [
21053 "VM.PowerMgmt"
21054 ]
21055 ]
7aacca6f 21056 },
44660702
DM
21057 "protected" : 1,
21058 "proxyto" : "node",
21059 "returns" : {
21060 "type" : "string"
21061 }
56122987 21062 }
7aacca6f 21063 },
7aacca6f 21064 "leaf" : 1,
4d47f125
TL
21065 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
21066 "text" : "resume"
21067 }
21068 ],
21069 "info" : {
21070 "GET" : {
21071 "description" : "Directory index",
21072 "method" : "GET",
21073 "name" : "vmcmdidx",
21074 "parameters" : {
21075 "additionalProperties" : 0,
21076 "properties" : {
21077 "node" : {
21078 "description" : "The cluster node name.",
21079 "format" : "pve-node",
21080 "type" : "string",
21081 "typetext" : "<string>"
21082 },
21083 "vmid" : {
21084 "description" : "The (unique) ID of the VM.",
21085 "format" : "pve-vmid",
21086 "minimum" : 1,
21087 "type" : "integer",
21088 "typetext" : "<integer> (1 - N)"
21089 }
21090 }
21091 },
21092 "permissions" : {
21093 "user" : "all"
21094 },
21095 "proxyto" : "node",
21096 "returns" : {
21097 "items" : {
21098 "properties" : {
21099 "subdir" : {
21100 "type" : "string"
21101 }
21102 },
21103 "type" : "object"
21104 },
21105 "links" : [
21106 {
21107 "href" : "{subdir}",
21108 "rel" : "child"
21109 }
21110 ],
21111 "type" : "array"
21112 }
21113 }
21114 },
21115 "leaf" : 0,
21116 "path" : "/nodes/{node}/lxc/{vmid}/status",
21117 "text" : "status"
21118 },
21119 {
21120 "children" : [
56122987 21121 {
4d47f125
TL
21122 "children" : [
21123 {
21124 "info" : {
21125 "POST" : {
21126 "description" : "Rollback LXC state to specified snapshot.",
21127 "method" : "POST",
21128 "name" : "rollback",
21129 "parameters" : {
21130 "additionalProperties" : 0,
21131 "properties" : {
21132 "node" : {
21133 "description" : "The cluster node name.",
21134 "format" : "pve-node",
21135 "type" : "string",
21136 "typetext" : "<string>"
21137 },
21138 "snapname" : {
21139 "description" : "The name of the snapshot.",
21140 "format" : "pve-configid",
21141 "maxLength" : 40,
21142 "type" : "string",
21143 "typetext" : "<string>"
21144 },
21145 "vmid" : {
21146 "description" : "The (unique) ID of the VM.",
21147 "format" : "pve-vmid",
21148 "minimum" : 1,
21149 "type" : "integer",
21150 "typetext" : "<integer> (1 - N)"
21151 }
21152 }
21153 },
21154 "permissions" : {
21155 "check" : [
21156 "perm",
21157 "/vms/{vmid}",
21158 [
21159 "VM.Snapshot",
21160 "VM.Snapshot.Rollback"
21161 ],
21162 "any",
21163 1
21164 ]
21165 },
21166 "protected" : 1,
21167 "proxyto" : "node",
21168 "returns" : {
21169 "description" : "the task ID.",
21170 "type" : "string"
21171 }
21172 }
21173 },
21174 "leaf" : 1,
21175 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
21176 "text" : "rollback"
21177 },
21178 {
21179 "info" : {
21180 "GET" : {
21181 "description" : "Get snapshot configuration",
21182 "method" : "GET",
21183 "name" : "get_snapshot_config",
21184 "parameters" : {
21185 "additionalProperties" : 0,
21186 "properties" : {
21187 "node" : {
21188 "description" : "The cluster node name.",
21189 "format" : "pve-node",
21190 "type" : "string",
21191 "typetext" : "<string>"
21192 },
21193 "snapname" : {
21194 "description" : "The name of the snapshot.",
21195 "format" : "pve-configid",
21196 "maxLength" : 40,
21197 "type" : "string",
21198 "typetext" : "<string>"
21199 },
21200 "vmid" : {
21201 "description" : "The (unique) ID of the VM.",
21202 "format" : "pve-vmid",
21203 "minimum" : 1,
21204 "type" : "integer",
21205 "typetext" : "<integer> (1 - N)"
21206 }
21207 }
21208 },
21209 "permissions" : {
21210 "check" : [
21211 "perm",
21212 "/vms/{vmid}",
21213 [
21214 "VM.Snapshot",
21215 "VM.Snapshot.Rollback"
21216 ],
21217 "any",
21218 1
21219 ]
21220 },
21221 "proxyto" : "node",
21222 "returns" : {
21223 "type" : "object"
21224 }
21225 },
21226 "PUT" : {
21227 "description" : "Update snapshot metadata.",
21228 "method" : "PUT",
21229 "name" : "update_snapshot_config",
21230 "parameters" : {
21231 "additionalProperties" : 0,
21232 "properties" : {
21233 "description" : {
21234 "description" : "A textual description or comment.",
21235 "optional" : 1,
21236 "type" : "string",
21237 "typetext" : "<string>"
21238 },
21239 "node" : {
21240 "description" : "The cluster node name.",
21241 "format" : "pve-node",
21242 "type" : "string",
21243 "typetext" : "<string>"
21244 },
21245 "snapname" : {
21246 "description" : "The name of the snapshot.",
21247 "format" : "pve-configid",
21248 "maxLength" : 40,
21249 "type" : "string",
21250 "typetext" : "<string>"
21251 },
21252 "vmid" : {
21253 "description" : "The (unique) ID of the VM.",
21254 "format" : "pve-vmid",
21255 "minimum" : 1,
21256 "type" : "integer",
21257 "typetext" : "<integer> (1 - N)"
21258 }
21259 }
21260 },
21261 "permissions" : {
21262 "check" : [
21263 "perm",
21264 "/vms/{vmid}",
21265 [
21266 "VM.Snapshot"
21267 ]
21268 ]
21269 },
21270 "protected" : 1,
21271 "proxyto" : "node",
21272 "returns" : {
21273 "type" : "null"
21274 }
21275 }
21276 },
21277 "leaf" : 1,
21278 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
21279 "text" : "config"
21280 }
21281 ],
56122987 21282 "info" : {
4d47f125
TL
21283 "DELETE" : {
21284 "description" : "Delete a LXC snapshot.",
21285 "method" : "DELETE",
21286 "name" : "delsnapshot",
56122987 21287 "parameters" : {
44660702 21288 "additionalProperties" : 0,
56122987 21289 "properties" : {
4d47f125
TL
21290 "force" : {
21291 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 21292 "optional" : 1,
013dc89f
DM
21293 "type" : "boolean",
21294 "typetext" : "<boolean>"
44660702
DM
21295 },
21296 "node" : {
21297 "description" : "The cluster node name.",
21298 "format" : "pve-node",
013dc89f
DM
21299 "type" : "string",
21300 "typetext" : "<string>"
7aacca6f 21301 },
4d47f125
TL
21302 "snapname" : {
21303 "description" : "The name of the snapshot.",
21304 "format" : "pve-configid",
21305 "maxLength" : 40,
21306 "type" : "string",
21307 "typetext" : "<string>"
56122987
DM
21308 },
21309 "vmid" : {
7aacca6f 21310 "description" : "The (unique) ID of the VM.",
44660702
DM
21311 "format" : "pve-vmid",
21312 "minimum" : 1,
4bd7df8b 21313 "type" : "integer",
013dc89f 21314 "typetext" : "<integer> (1 - N)"
56122987 21315 }
44660702 21316 }
56122987
DM
21317 },
21318 "permissions" : {
21319 "check" : [
21320 "perm",
21321 "/vms/{vmid}",
21322 [
4d47f125 21323 "VM.Snapshot"
56122987
DM
21324 ]
21325 ]
21326 },
44660702
DM
21327 "protected" : 1,
21328 "proxyto" : "node",
7aacca6f 21329 "returns" : {
4d47f125 21330 "description" : "the task ID.",
7aacca6f
DM
21331 "type" : "string"
21332 }
4d47f125
TL
21333 },
21334 "GET" : {
21335 "description" : "",
21336 "method" : "GET",
21337 "name" : "snapshot_cmd_idx",
56122987
DM
21338 "parameters" : {
21339 "additionalProperties" : 0,
21340 "properties" : {
44660702
DM
21341 "node" : {
21342 "description" : "The cluster node name.",
21343 "format" : "pve-node",
013dc89f
DM
21344 "type" : "string",
21345 "typetext" : "<string>"
44660702 21346 },
4d47f125
TL
21347 "snapname" : {
21348 "description" : "The name of the snapshot.",
21349 "format" : "pve-configid",
21350 "maxLength" : 40,
013dc89f
DM
21351 "type" : "string",
21352 "typetext" : "<string>"
56122987
DM
21353 },
21354 "vmid" : {
7aacca6f 21355 "description" : "The (unique) ID of the VM.",
56122987 21356 "format" : "pve-vmid",
44660702 21357 "minimum" : 1,
4bd7df8b 21358 "type" : "integer",
013dc89f 21359 "typetext" : "<integer> (1 - N)"
56122987 21360 }
44660702
DM
21361 }
21362 },
21363 "permissions" : {
4d47f125 21364 "user" : "all"
56122987 21365 },
44660702 21366 "returns" : {
4d47f125
TL
21367 "items" : {
21368 "properties" : {},
21369 "type" : "object"
21370 },
21371 "links" : [
21372 {
21373 "href" : "{cmd}",
21374 "rel" : "child"
21375 }
21376 ],
21377 "type" : "array"
44660702 21378 }
7aacca6f
DM
21379 }
21380 },
4d47f125
TL
21381 "leaf" : 0,
21382 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
21383 "text" : "{snapname}"
7aacca6f
DM
21384 }
21385 ],
21386 "info" : {
21387 "GET" : {
4d47f125 21388 "description" : "List all snapshots.",
44660702 21389 "method" : "GET",
4d47f125 21390 "name" : "list",
7aacca6f
DM
21391 "parameters" : {
21392 "additionalProperties" : 0,
21393 "properties" : {
21394 "node" : {
21395 "description" : "The cluster node name.",
44660702 21396 "format" : "pve-node",
013dc89f
DM
21397 "type" : "string",
21398 "typetext" : "<string>"
56122987 21399 },
7aacca6f 21400 "vmid" : {
44660702 21401 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21402 "format" : "pve-vmid",
21403 "minimum" : 1,
4bd7df8b 21404 "type" : "integer",
013dc89f 21405 "typetext" : "<integer> (1 - N)"
7aacca6f 21406 }
56122987
DM
21407 }
21408 },
44660702 21409 "permissions" : {
4d47f125
TL
21410 "check" : [
21411 "perm",
21412 "/vms/{vmid}",
21413 [
21414 "VM.Audit"
21415 ]
21416 ]
44660702 21417 },
4d47f125 21418 "protected" : 1,
44660702 21419 "proxyto" : "node",
7aacca6f 21420 "returns" : {
7aacca6f
DM
21421 "items" : {
21422 "properties" : {
4d47f125
TL
21423 "description" : {
21424 "description" : "Snapshot description.",
7aacca6f 21425 "type" : "string"
4d47f125
TL
21426 },
21427 "name" : {
21428 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
21429 "type" : "string"
21430 },
21431 "parent" : {
21432 "description" : "Parent snapshot identifier.",
21433 "optional" : 1,
21434 "type" : "string"
21435 },
21436 "snaptime" : {
21437 "description" : "Snapshot creation time",
21438 "optional" : 1,
21439 "renderer" : "timestamp",
21440 "type" : "integer"
7aacca6f
DM
21441 }
21442 },
21443 "type" : "object"
21444 },
21445 "links" : [
21446 {
4d47f125 21447 "href" : "{name}",
44660702 21448 "rel" : "child"
7aacca6f 21449 }
44660702
DM
21450 ],
21451 "type" : "array"
7aacca6f 21452 }
4d47f125
TL
21453 },
21454 "POST" : {
21455 "description" : "Snapshot a container.",
21456 "method" : "POST",
21457 "name" : "snapshot",
21458 "parameters" : {
21459 "additionalProperties" : 0,
21460 "properties" : {
21461 "description" : {
21462 "description" : "A textual description or comment.",
21463 "optional" : 1,
21464 "type" : "string",
21465 "typetext" : "<string>"
21466 },
21467 "node" : {
21468 "description" : "The cluster node name.",
21469 "format" : "pve-node",
21470 "type" : "string",
21471 "typetext" : "<string>"
21472 },
21473 "snapname" : {
21474 "description" : "The name of the snapshot.",
21475 "format" : "pve-configid",
21476 "maxLength" : 40,
21477 "type" : "string",
21478 "typetext" : "<string>"
21479 },
21480 "vmid" : {
21481 "description" : "The (unique) ID of the VM.",
21482 "format" : "pve-vmid",
21483 "minimum" : 1,
21484 "type" : "integer",
21485 "typetext" : "<integer> (1 - N)"
21486 }
21487 }
21488 },
21489 "permissions" : {
21490 "check" : [
21491 "perm",
21492 "/vms/{vmid}",
21493 [
21494 "VM.Snapshot"
21495 ]
21496 ]
21497 },
21498 "protected" : 1,
21499 "proxyto" : "node",
21500 "returns" : {
21501 "description" : "the task ID.",
21502 "type" : "string"
21503 }
7aacca6f 21504 }
44660702
DM
21505 },
21506 "leaf" : 0,
4d47f125
TL
21507 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
21508 "text" : "snapshot"
7aacca6f
DM
21509 },
21510 {
7aacca6f 21511 "children" : [
56122987 21512 {
7aacca6f
DM
21513 "children" : [
21514 {
21515 "info" : {
4d47f125
TL
21516 "DELETE" : {
21517 "description" : "Delete rule.",
21518 "method" : "DELETE",
21519 "name" : "delete_rule",
7aacca6f 21520 "parameters" : {
44660702 21521 "additionalProperties" : 0,
7aacca6f 21522 "properties" : {
4d47f125
TL
21523 "digest" : {
21524 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21525 "maxLength" : 40,
21526 "optional" : 1,
21527 "type" : "string",
21528 "typetext" : "<string>"
21529 },
44660702
DM
21530 "node" : {
21531 "description" : "The cluster node name.",
21532 "format" : "pve-node",
013dc89f
DM
21533 "type" : "string",
21534 "typetext" : "<string>"
44660702 21535 },
4d47f125
TL
21536 "pos" : {
21537 "description" : "Update rule at position <pos>.",
21538 "minimum" : 0,
21539 "optional" : 1,
21540 "type" : "integer",
21541 "typetext" : "<integer> (0 - N)"
7aacca6f 21542 },
7aacca6f 21543 "vmid" : {
44660702 21544 "description" : "The (unique) ID of the VM.",
7aacca6f 21545 "format" : "pve-vmid",
44660702 21546 "minimum" : 1,
4bd7df8b 21547 "type" : "integer",
013dc89f 21548 "typetext" : "<integer> (1 - N)"
7aacca6f 21549 }
44660702
DM
21550 }
21551 },
21552 "permissions" : {
21553 "check" : [
21554 "perm",
21555 "/vms/{vmid}",
21556 [
4d47f125
TL
21557 "VM.Config.Network"
21558 ]
44660702 21559 ]
7aacca6f 21560 },
44660702 21561 "protected" : 1,
4d47f125 21562 "proxyto" : null,
44660702 21563 "returns" : {
4d47f125 21564 "type" : "null"
44660702 21565 }
4d47f125 21566 },
7aacca6f 21567 "GET" : {
4d47f125 21568 "description" : "Get single rule data.",
44660702 21569 "method" : "GET",
4d47f125 21570 "name" : "get_rule",
7aacca6f
DM
21571 "parameters" : {
21572 "additionalProperties" : 0,
4d47f125
TL
21573 "properties" : {
21574 "node" : {
21575 "description" : "The cluster node name.",
21576 "format" : "pve-node",
013dc89f
DM
21577 "type" : "string",
21578 "typetext" : "<string>"
44660702 21579 },
4d47f125
TL
21580 "pos" : {
21581 "description" : "Update rule at position <pos>.",
21582 "minimum" : 0,
21583 "optional" : 1,
21584 "type" : "integer",
21585 "typetext" : "<integer> (0 - N)"
21586 },
44660702
DM
21587 "vmid" : {
21588 "description" : "The (unique) ID of the VM.",
21589 "format" : "pve-vmid",
21590 "minimum" : 1,
4bd7df8b 21591 "type" : "integer",
013dc89f 21592 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
21593 }
21594 }
21595 },
21596 "permissions" : {
21597 "check" : [
21598 "perm",
21599 "/vms/{vmid}",
21600 [
4d47f125
TL
21601 "VM.Audit"
21602 ]
7aacca6f
DM
21603 ]
21604 },
4d47f125 21605 "proxyto" : null,
44660702 21606 "returns" : {
4d47f125 21607 "properties" : {
e2d681b3
TL
21608 "action" : {
21609 "type" : "string"
21610 },
21611 "comment" : {
21612 "optional" : 1,
21613 "type" : "string"
21614 },
21615 "dest" : {
21616 "optional" : 1,
21617 "type" : "string"
21618 },
21619 "dport" : {
21620 "optional" : 1,
21621 "type" : "string"
21622 },
21623 "enable" : {
21624 "optional" : 1,
21625 "type" : "integer"
21626 },
21627 "iface" : {
21628 "optional" : 1,
21629 "type" : "string"
21630 },
21631 "ipversion" : {
21632 "optional" : 1,
21633 "type" : "integer"
21634 },
95895385
TL
21635 "log" : {
21636 "description" : "Log level for firewall rule",
21637 "enum" : [
21638 "emerg",
21639 "alert",
21640 "crit",
21641 "err",
21642 "warning",
21643 "notice",
21644 "info",
21645 "debug",
21646 "nolog"
21647 ],
21648 "optional" : 1,
21649 "type" : "string"
21650 },
e2d681b3
TL
21651 "macro" : {
21652 "optional" : 1,
5f26e15b 21653 "type" : "string"
e2d681b3 21654 },
4d47f125
TL
21655 "pos" : {
21656 "type" : "integer"
e2d681b3
TL
21657 },
21658 "proto" : {
21659 "optional" : 1,
21660 "type" : "string"
21661 },
21662 "source" : {
21663 "optional" : 1,
21664 "type" : "string"
21665 },
21666 "sport" : {
21667 "optional" : 1,
21668 "type" : "string"
21669 },
21670 "type" : {
21671 "type" : "string"
4d47f125
TL
21672 }
21673 },
44660702
DM
21674 "type" : "object"
21675 }
7aacca6f
DM
21676 },
21677 "PUT" : {
4d47f125 21678 "description" : "Modify rule data.",
44660702 21679 "method" : "PUT",
4d47f125 21680 "name" : "update_rule",
7aacca6f
DM
21681 "parameters" : {
21682 "additionalProperties" : 0,
21683 "properties" : {
4d47f125
TL
21684 "action" : {
21685 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21686 "maxLength" : 20,
21687 "minLength" : 2,
21688 "optional" : 1,
21689 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21690 "type" : "string"
21691 },
21692 "comment" : {
21693 "description" : "Descriptive comment.",
21694 "optional" : 1,
21695 "type" : "string",
21696 "typetext" : "<string>"
21697 },
21698 "delete" : {
21699 "description" : "A list of settings you want to delete.",
21700 "format" : "pve-configid-list",
21701 "optional" : 1,
21702 "type" : "string",
21703 "typetext" : "<string>"
21704 },
21705 "dest" : {
21706 "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.",
21707 "format" : "pve-fw-addr-spec",
21708 "optional" : 1,
21709 "type" : "string",
21710 "typetext" : "<string>"
21711 },
21712 "digest" : {
21713 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21714 "maxLength" : 40,
21715 "optional" : 1,
21716 "type" : "string",
21717 "typetext" : "<string>"
21718 },
21719 "dport" : {
21720 "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.",
21721 "format" : "pve-fw-dport-spec",
21722 "optional" : 1,
21723 "type" : "string",
21724 "typetext" : "<string>"
21725 },
21726 "enable" : {
21727 "description" : "Flag to enable/disable a rule.",
21728 "minimum" : 0,
21729 "optional" : 1,
21730 "type" : "integer",
21731 "typetext" : "<integer> (0 - N)"
21732 },
21733 "iface" : {
21734 "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.",
21735 "format" : "pve-iface",
21736 "maxLength" : 20,
21737 "minLength" : 2,
21738 "optional" : 1,
21739 "type" : "string",
21740 "typetext" : "<string>"
21741 },
95895385
TL
21742 "log" : {
21743 "description" : "Log level for firewall rule.",
21744 "enum" : [
21745 "emerg",
21746 "alert",
21747 "crit",
21748 "err",
21749 "warning",
21750 "notice",
21751 "info",
21752 "debug",
21753 "nolog"
21754 ],
21755 "optional" : 1,
21756 "type" : "string"
21757 },
4d47f125
TL
21758 "macro" : {
21759 "description" : "Use predefined standard macro.",
21760 "maxLength" : 128,
44660702 21761 "optional" : 1,
013dc89f
DM
21762 "type" : "string",
21763 "typetext" : "<string>"
44660702 21764 },
4d47f125
TL
21765 "moveto" : {
21766 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
21767 "minimum" : 0,
21768 "optional" : 1,
21769 "type" : "integer",
21770 "typetext" : "<integer> (0 - N)"
21771 },
7aacca6f 21772 "node" : {
7aacca6f 21773 "description" : "The cluster node name.",
44660702 21774 "format" : "pve-node",
013dc89f
DM
21775 "type" : "string",
21776 "typetext" : "<string>"
7aacca6f 21777 },
4d47f125
TL
21778 "pos" : {
21779 "description" : "Update rule at position <pos>.",
21780 "minimum" : 0,
21781 "optional" : 1,
21782 "type" : "integer",
21783 "typetext" : "<integer> (0 - N)"
21784 },
21785 "proto" : {
21786 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21787 "format" : "pve-fw-protocol-spec",
21788 "optional" : 1,
21789 "type" : "string",
21790 "typetext" : "<string>"
21791 },
21792 "source" : {
21793 "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.",
21794 "format" : "pve-fw-addr-spec",
21795 "optional" : 1,
21796 "type" : "string",
21797 "typetext" : "<string>"
21798 },
21799 "sport" : {
21800 "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.",
21801 "format" : "pve-fw-sport-spec",
21802 "optional" : 1,
013dc89f
DM
21803 "type" : "string",
21804 "typetext" : "<string>"
7aacca6f 21805 },
4d47f125
TL
21806 "type" : {
21807 "description" : "Rule type.",
21808 "enum" : [
21809 "in",
21810 "out",
21811 "group"
21812 ],
21813 "optional" : 1,
21814 "type" : "string"
21815 },
7aacca6f 21816 "vmid" : {
44660702 21817 "description" : "The (unique) ID of the VM.",
7aacca6f 21818 "format" : "pve-vmid",
44660702 21819 "minimum" : 1,
4bd7df8b 21820 "type" : "integer",
013dc89f 21821 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
21822 }
21823 }
21824 },
7aacca6f
DM
21825 "permissions" : {
21826 "check" : [
21827 "perm",
21828 "/vms/{vmid}",
21829 [
4d47f125 21830 "VM.Config.Network"
7aacca6f
DM
21831 ]
21832 ]
21833 },
4d47f125
TL
21834 "protected" : 1,
21835 "proxyto" : null,
21836 "returns" : {
21837 "type" : "null"
21838 }
21839 }
21840 },
21841 "leaf" : 1,
21842 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
21843 "text" : "{pos}"
21844 }
21845 ],
21846 "info" : {
21847 "GET" : {
21848 "description" : "List rules.",
21849 "method" : "GET",
21850 "name" : "get_rules",
21851 "parameters" : {
21852 "additionalProperties" : 0,
21853 "properties" : {
21854 "node" : {
21855 "description" : "The cluster node name.",
21856 "format" : "pve-node",
21857 "type" : "string",
21858 "typetext" : "<string>"
21859 },
21860 "vmid" : {
21861 "description" : "The (unique) ID of the VM.",
21862 "format" : "pve-vmid",
21863 "minimum" : 1,
21864 "type" : "integer",
21865 "typetext" : "<integer> (1 - N)"
21866 }
21867 }
21868 },
21869 "permissions" : {
21870 "check" : [
21871 "perm",
21872 "/vms/{vmid}",
21873 [
21874 "VM.Audit"
21875 ]
21876 ]
21877 },
21878 "proxyto" : null,
21879 "returns" : {
21880 "items" : {
21881 "properties" : {
21882 "pos" : {
21883 "type" : "integer"
21884 }
21885 },
21886 "type" : "object"
21887 },
21888 "links" : [
21889 {
21890 "href" : "{pos}",
21891 "rel" : "child"
21892 }
21893 ],
21894 "type" : "array"
21895 }
21896 },
21897 "POST" : {
21898 "description" : "Create new rule.",
21899 "method" : "POST",
21900 "name" : "create_rule",
21901 "parameters" : {
21902 "additionalProperties" : 0,
21903 "properties" : {
21904 "action" : {
21905 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21906 "maxLength" : 20,
21907 "minLength" : 2,
21908 "optional" : 0,
21909 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21910 "type" : "string"
21911 },
21912 "comment" : {
21913 "description" : "Descriptive comment.",
21914 "optional" : 1,
21915 "type" : "string",
21916 "typetext" : "<string>"
21917 },
21918 "dest" : {
21919 "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.",
21920 "format" : "pve-fw-addr-spec",
21921 "optional" : 1,
21922 "type" : "string",
21923 "typetext" : "<string>"
21924 },
21925 "digest" : {
21926 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21927 "maxLength" : 40,
21928 "optional" : 1,
21929 "type" : "string",
21930 "typetext" : "<string>"
21931 },
21932 "dport" : {
21933 "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.",
21934 "format" : "pve-fw-dport-spec",
21935 "optional" : 1,
21936 "type" : "string",
21937 "typetext" : "<string>"
21938 },
21939 "enable" : {
21940 "description" : "Flag to enable/disable a rule.",
21941 "minimum" : 0,
21942 "optional" : 1,
21943 "type" : "integer",
21944 "typetext" : "<integer> (0 - N)"
21945 },
21946 "iface" : {
21947 "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.",
21948 "format" : "pve-iface",
21949 "maxLength" : 20,
21950 "minLength" : 2,
21951 "optional" : 1,
21952 "type" : "string",
21953 "typetext" : "<string>"
21954 },
95895385
TL
21955 "log" : {
21956 "description" : "Log level for firewall rule.",
21957 "enum" : [
21958 "emerg",
21959 "alert",
21960 "crit",
21961 "err",
21962 "warning",
21963 "notice",
21964 "info",
21965 "debug",
21966 "nolog"
21967 ],
21968 "optional" : 1,
21969 "type" : "string"
21970 },
4d47f125
TL
21971 "macro" : {
21972 "description" : "Use predefined standard macro.",
21973 "maxLength" : 128,
44660702 21974 "optional" : 1,
4d47f125
TL
21975 "type" : "string",
21976 "typetext" : "<string>"
44660702
DM
21977 },
21978 "node" : {
21979 "description" : "The cluster node name.",
21980 "format" : "pve-node",
013dc89f
DM
21981 "type" : "string",
21982 "typetext" : "<string>"
7aacca6f 21983 },
4d47f125
TL
21984 "pos" : {
21985 "description" : "Update rule at position <pos>.",
21986 "minimum" : 0,
21987 "optional" : 1,
21988 "type" : "integer",
21989 "typetext" : "<integer> (0 - N)"
21990 },
21991 "proto" : {
21992 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21993 "format" : "pve-fw-protocol-spec",
21994 "optional" : 1,
21995 "type" : "string",
21996 "typetext" : "<string>"
21997 },
21998 "source" : {
21999 "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.",
22000 "format" : "pve-fw-addr-spec",
22001 "optional" : 1,
013dc89f
DM
22002 "type" : "string",
22003 "typetext" : "<string>"
44660702 22004 },
4d47f125
TL
22005 "sport" : {
22006 "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.",
22007 "format" : "pve-fw-sport-spec",
22008 "optional" : 1,
22009 "type" : "string",
22010 "typetext" : "<string>"
22011 },
22012 "type" : {
22013 "description" : "Rule type.",
22014 "enum" : [
22015 "in",
22016 "out",
22017 "group"
22018 ],
22019 "optional" : 0,
22020 "type" : "string"
22021 },
44660702
DM
22022 "vmid" : {
22023 "description" : "The (unique) ID of the VM.",
22024 "format" : "pve-vmid",
22025 "minimum" : 1,
4bd7df8b 22026 "type" : "integer",
013dc89f 22027 "typetext" : "<integer> (1 - N)"
56122987 22028 }
44660702 22029 }
7aacca6f 22030 },
56122987
DM
22031 "permissions" : {
22032 "check" : [
22033 "perm",
22034 "/vms/{vmid}",
22035 [
4d47f125 22036 "VM.Config.Network"
56122987
DM
22037 ]
22038 ]
22039 },
44660702 22040 "protected" : 1,
4d47f125 22041 "proxyto" : null,
44660702 22042 "returns" : {
4d47f125 22043 "type" : "null"
44660702
DM
22044 }
22045 }
22046 },
22047 "leaf" : 0,
4d47f125
TL
22048 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
22049 "text" : "rules"
7aacca6f 22050 },
56122987 22051 {
56122987
DM
22052 "children" : [
22053 {
56122987 22054 "info" : {
44660702 22055 "DELETE" : {
4d47f125 22056 "description" : "Remove IP or Network alias.",
44660702 22057 "method" : "DELETE",
4d47f125 22058 "name" : "remove_alias",
56122987 22059 "parameters" : {
44660702 22060 "additionalProperties" : 0,
56122987 22061 "properties" : {
44660702
DM
22062 "digest" : {
22063 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22064 "maxLength" : 40,
7aacca6f 22065 "optional" : 1,
013dc89f
DM
22066 "type" : "string",
22067 "typetext" : "<string>"
7aacca6f 22068 },
4d47f125
TL
22069 "name" : {
22070 "description" : "Alias name.",
22071 "maxLength" : 64,
22072 "minLength" : 2,
22073 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22074 "type" : "string"
22075 },
7aacca6f 22076 "node" : {
44660702 22077 "description" : "The cluster node name.",
7aacca6f 22078 "format" : "pve-node",
013dc89f
DM
22079 "type" : "string",
22080 "typetext" : "<string>"
44660702 22081 },
44660702
DM
22082 "vmid" : {
22083 "description" : "The (unique) ID of the VM.",
22084 "format" : "pve-vmid",
22085 "minimum" : 1,
4bd7df8b 22086 "type" : "integer",
013dc89f 22087 "typetext" : "<integer> (1 - N)"
56122987 22088 }
44660702 22089 }
56122987 22090 },
56122987
DM
22091 "permissions" : {
22092 "check" : [
22093 "perm",
22094 "/vms/{vmid}",
22095 [
44660702 22096 "VM.Config.Network"
56122987
DM
22097 ]
22098 ]
22099 },
44660702 22100 "protected" : 1,
44660702
DM
22101 "returns" : {
22102 "type" : "null"
22103 }
7aacca6f 22104 },
44660702 22105 "GET" : {
4d47f125 22106 "description" : "Read alias.",
44660702 22107 "method" : "GET",
4d47f125 22108 "name" : "read_alias",
56122987 22109 "parameters" : {
44660702 22110 "additionalProperties" : 0,
56122987 22111 "properties" : {
4d47f125
TL
22112 "name" : {
22113 "description" : "Alias name.",
22114 "maxLength" : 64,
22115 "minLength" : 2,
22116 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22117 "type" : "string"
22118 },
7aacca6f 22119 "node" : {
7aacca6f 22120 "description" : "The cluster node name.",
44660702 22121 "format" : "pve-node",
013dc89f
DM
22122 "type" : "string",
22123 "typetext" : "<string>"
56122987 22124 },
7aacca6f 22125 "vmid" : {
44660702 22126 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
22127 "format" : "pve-vmid",
22128 "minimum" : 1,
4bd7df8b 22129 "type" : "integer",
013dc89f 22130 "typetext" : "<integer> (1 - N)"
56122987 22131 }
44660702 22132 }
56122987 22133 },
7aacca6f
DM
22134 "permissions" : {
22135 "check" : [
22136 "perm",
22137 "/vms/{vmid}",
22138 [
44660702 22139 "VM.Audit"
7aacca6f
DM
22140 ]
22141 ]
22142 },
7aacca6f 22143 "returns" : {
44660702 22144 "type" : "object"
7aacca6f 22145 }
56122987 22146 },
44660702 22147 "PUT" : {
4d47f125 22148 "description" : "Update IP or Network alias.",
44660702 22149 "method" : "PUT",
4d47f125 22150 "name" : "update_alias",
56122987
DM
22151 "parameters" : {
22152 "additionalProperties" : 0,
22153 "properties" : {
4d47f125
TL
22154 "cidr" : {
22155 "description" : "Network/IP specification in CIDR format.",
22156 "format" : "IPorCIDR",
013dc89f
DM
22157 "type" : "string",
22158 "typetext" : "<string>"
44660702 22159 },
4d47f125 22160 "comment" : {
44660702 22161 "optional" : 1,
013dc89f
DM
22162 "type" : "string",
22163 "typetext" : "<string>"
44660702
DM
22164 },
22165 "digest" : {
22166 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22167 "maxLength" : 40,
22168 "optional" : 1,
013dc89f
DM
22169 "type" : "string",
22170 "typetext" : "<string>"
44660702 22171 },
4d47f125
TL
22172 "name" : {
22173 "description" : "Alias name.",
22174 "maxLength" : 64,
44660702 22175 "minLength" : 2,
4d47f125
TL
22176 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22177 "type" : "string"
44660702 22178 },
7aacca6f
DM
22179 "node" : {
22180 "description" : "The cluster node name.",
44660702 22181 "format" : "pve-node",
013dc89f
DM
22182 "type" : "string",
22183 "typetext" : "<string>"
56122987 22184 },
4d47f125
TL
22185 "rename" : {
22186 "description" : "Rename an existing alias.",
22187 "maxLength" : 64,
22188 "minLength" : 2,
7aacca6f 22189 "optional" : 1,
4d47f125 22190 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
22191 "type" : "string"
22192 },
22193 "vmid" : {
22194 "description" : "The (unique) ID of the VM.",
22195 "format" : "pve-vmid",
22196 "minimum" : 1,
4bd7df8b 22197 "type" : "integer",
013dc89f 22198 "typetext" : "<integer> (1 - N)"
56122987
DM
22199 }
22200 }
22201 },
56122987
DM
22202 "permissions" : {
22203 "check" : [
22204 "perm",
22205 "/vms/{vmid}",
22206 [
7aacca6f 22207 "VM.Config.Network"
56122987
DM
22208 ]
22209 ]
22210 },
44660702 22211 "protected" : 1,
56122987 22212 "returns" : {
7aacca6f
DM
22213 "type" : "null"
22214 }
56122987 22215 }
44660702
DM
22216 },
22217 "leaf" : 1,
4d47f125
TL
22218 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
22219 "text" : "{name}"
56122987
DM
22220 }
22221 ],
22222 "info" : {
7aacca6f 22223 "GET" : {
4d47f125 22224 "description" : "List aliases",
44660702 22225 "method" : "GET",
4d47f125 22226 "name" : "get_aliases",
7aacca6f 22227 "parameters" : {
44660702 22228 "additionalProperties" : 0,
7aacca6f
DM
22229 "properties" : {
22230 "node" : {
7aacca6f 22231 "description" : "The cluster node name.",
44660702 22232 "format" : "pve-node",
013dc89f
DM
22233 "type" : "string",
22234 "typetext" : "<string>"
7aacca6f
DM
22235 },
22236 "vmid" : {
22237 "description" : "The (unique) ID of the VM.",
44660702 22238 "format" : "pve-vmid",
7aacca6f 22239 "minimum" : 1,
4bd7df8b 22240 "type" : "integer",
013dc89f 22241 "typetext" : "<integer> (1 - N)"
7aacca6f 22242 }
44660702 22243 }
56122987 22244 },
56122987
DM
22245 "permissions" : {
22246 "check" : [
22247 "perm",
22248 "/vms/{vmid}",
22249 [
7aacca6f 22250 "VM.Audit"
56122987
DM
22251 ]
22252 ]
22253 },
7aacca6f 22254 "returns" : {
7aacca6f
DM
22255 "items" : {
22256 "properties" : {
4d47f125
TL
22257 "cidr" : {
22258 "type" : "string"
22259 },
22260 "comment" : {
22261 "optional" : 1,
22262 "type" : "string"
22263 },
22264 "digest" : {
22265 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22266 "maxLength" : 40,
22267 "optional" : 0,
22268 "type" : "string"
22269 },
22270 "name" : {
22271 "type" : "string"
7aacca6f
DM
22272 }
22273 },
22274 "type" : "object"
22275 },
22276 "links" : [
22277 {
4d47f125 22278 "href" : "{name}",
44660702 22279 "rel" : "child"
7aacca6f 22280 }
44660702
DM
22281 ],
22282 "type" : "array"
22283 }
7aacca6f
DM
22284 },
22285 "POST" : {
4d47f125 22286 "description" : "Create IP or Network Alias.",
44660702 22287 "method" : "POST",
4d47f125 22288 "name" : "create_alias",
56122987 22289 "parameters" : {
44660702 22290 "additionalProperties" : 0,
56122987 22291 "properties" : {
4d47f125
TL
22292 "cidr" : {
22293 "description" : "Network/IP specification in CIDR format.",
22294 "format" : "IPorCIDR",
013dc89f 22295 "type" : "string",
4d47f125
TL
22296 "typetext" : "<string>"
22297 },
22298 "comment" : {
44660702 22299 "optional" : 1,
013dc89f
DM
22300 "type" : "string",
22301 "typetext" : "<string>"
7aacca6f 22302 },
4d47f125
TL
22303 "name" : {
22304 "description" : "Alias name.",
22305 "maxLength" : 64,
22306 "minLength" : 2,
22307 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
22308 "type" : "string"
22309 },
4d47f125
TL
22310 "node" : {
22311 "description" : "The cluster node name.",
22312 "format" : "pve-node",
22313 "type" : "string",
22314 "typetext" : "<string>"
22315 },
44660702
DM
22316 "vmid" : {
22317 "description" : "The (unique) ID of the VM.",
22318 "format" : "pve-vmid",
22319 "minimum" : 1,
4bd7df8b 22320 "type" : "integer",
013dc89f 22321 "typetext" : "<integer> (1 - N)"
44660702
DM
22322 }
22323 }
22324 },
22325 "permissions" : {
22326 "check" : [
22327 "perm",
22328 "/vms/{vmid}",
22329 [
22330 "VM.Config.Network"
22331 ]
22332 ]
22333 },
22334 "protected" : 1,
44660702
DM
22335 "returns" : {
22336 "type" : "null"
22337 }
22338 }
22339 },
22340 "leaf" : 0,
4d47f125
TL
22341 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
22342 "text" : "aliases"
44660702
DM
22343 },
22344 {
22345 "children" : [
22346 {
4d47f125
TL
22347 "children" : [
22348 {
22349 "info" : {
22350 "DELETE" : {
22351 "description" : "Remove IP or Network from IPSet.",
22352 "method" : "DELETE",
22353 "name" : "remove_ip",
22354 "parameters" : {
22355 "additionalProperties" : 0,
22356 "properties" : {
22357 "cidr" : {
22358 "description" : "Network/IP specification in CIDR format.",
22359 "format" : "IPorCIDRorAlias",
22360 "type" : "string",
22361 "typetext" : "<string>"
22362 },
22363 "digest" : {
22364 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22365 "maxLength" : 40,
22366 "optional" : 1,
22367 "type" : "string",
22368 "typetext" : "<string>"
22369 },
22370 "name" : {
22371 "description" : "IP set name.",
22372 "maxLength" : 64,
22373 "minLength" : 2,
22374 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22375 "type" : "string"
22376 },
22377 "node" : {
22378 "description" : "The cluster node name.",
22379 "format" : "pve-node",
22380 "type" : "string",
22381 "typetext" : "<string>"
22382 },
22383 "vmid" : {
22384 "description" : "The (unique) ID of the VM.",
22385 "format" : "pve-vmid",
22386 "minimum" : 1,
22387 "type" : "integer",
22388 "typetext" : "<integer> (1 - N)"
22389 }
22390 }
22391 },
22392 "permissions" : {
22393 "check" : [
22394 "perm",
22395 "/vms/{vmid}",
22396 [
22397 "VM.Config.Network"
22398 ]
22399 ]
22400 },
22401 "protected" : 1,
22402 "returns" : {
22403 "type" : "null"
22404 }
22405 },
22406 "GET" : {
22407 "description" : "Read IP or Network settings from IPSet.",
22408 "method" : "GET",
22409 "name" : "read_ip",
22410 "parameters" : {
22411 "additionalProperties" : 0,
22412 "properties" : {
22413 "cidr" : {
22414 "description" : "Network/IP specification in CIDR format.",
22415 "format" : "IPorCIDRorAlias",
22416 "type" : "string",
22417 "typetext" : "<string>"
22418 },
22419 "name" : {
22420 "description" : "IP set name.",
22421 "maxLength" : 64,
22422 "minLength" : 2,
22423 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22424 "type" : "string"
22425 },
22426 "node" : {
22427 "description" : "The cluster node name.",
22428 "format" : "pve-node",
22429 "type" : "string",
22430 "typetext" : "<string>"
22431 },
22432 "vmid" : {
22433 "description" : "The (unique) ID of the VM.",
22434 "format" : "pve-vmid",
22435 "minimum" : 1,
22436 "type" : "integer",
22437 "typetext" : "<integer> (1 - N)"
22438 }
22439 }
22440 },
22441 "permissions" : {
22442 "check" : [
22443 "perm",
22444 "/vms/{vmid}",
22445 [
22446 "VM.Audit"
22447 ]
22448 ]
22449 },
22450 "protected" : 1,
22451 "returns" : {
22452 "type" : "object"
22453 }
22454 },
22455 "PUT" : {
22456 "description" : "Update IP or Network settings",
22457 "method" : "PUT",
22458 "name" : "update_ip",
22459 "parameters" : {
22460 "additionalProperties" : 0,
22461 "properties" : {
22462 "cidr" : {
22463 "description" : "Network/IP specification in CIDR format.",
22464 "format" : "IPorCIDRorAlias",
22465 "type" : "string",
22466 "typetext" : "<string>"
22467 },
22468 "comment" : {
22469 "optional" : 1,
22470 "type" : "string",
22471 "typetext" : "<string>"
22472 },
22473 "digest" : {
22474 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22475 "maxLength" : 40,
22476 "optional" : 1,
22477 "type" : "string",
22478 "typetext" : "<string>"
22479 },
22480 "name" : {
22481 "description" : "IP set name.",
22482 "maxLength" : 64,
22483 "minLength" : 2,
22484 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22485 "type" : "string"
22486 },
22487 "node" : {
22488 "description" : "The cluster node name.",
22489 "format" : "pve-node",
22490 "type" : "string",
22491 "typetext" : "<string>"
22492 },
22493 "nomatch" : {
22494 "optional" : 1,
22495 "type" : "boolean",
22496 "typetext" : "<boolean>"
22497 },
22498 "vmid" : {
22499 "description" : "The (unique) ID of the VM.",
22500 "format" : "pve-vmid",
22501 "minimum" : 1,
22502 "type" : "integer",
22503 "typetext" : "<integer> (1 - N)"
22504 }
22505 }
22506 },
22507 "permissions" : {
22508 "check" : [
22509 "perm",
22510 "/vms/{vmid}",
22511 [
22512 "VM.Config.Network"
22513 ]
22514 ]
22515 },
22516 "protected" : 1,
22517 "returns" : {
22518 "type" : "null"
22519 }
22520 }
22521 },
22522 "leaf" : 1,
22523 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
22524 "text" : "{cidr}"
22525 }
22526 ],
44660702
DM
22527 "info" : {
22528 "DELETE" : {
4d47f125 22529 "description" : "Delete IPSet",
44660702 22530 "method" : "DELETE",
4d47f125 22531 "name" : "delete_ipset",
56122987 22532 "parameters" : {
44660702 22533 "additionalProperties" : 0,
56122987 22534 "properties" : {
7aacca6f 22535 "name" : {
4d47f125 22536 "description" : "IP set name.",
7aacca6f 22537 "maxLength" : 64,
7aacca6f
DM
22538 "minLength" : 2,
22539 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22540 "type" : "string"
7aacca6f
DM
22541 },
22542 "node" : {
44660702 22543 "description" : "The cluster node name.",
56122987 22544 "format" : "pve-node",
013dc89f
DM
22545 "type" : "string",
22546 "typetext" : "<string>"
7aacca6f 22547 },
56122987 22548 "vmid" : {
44660702 22549 "description" : "The (unique) ID of the VM.",
56122987 22550 "format" : "pve-vmid",
44660702 22551 "minimum" : 1,
4bd7df8b 22552 "type" : "integer",
013dc89f 22553 "typetext" : "<integer> (1 - N)"
56122987 22554 }
44660702 22555 }
56122987 22556 },
56122987
DM
22557 "permissions" : {
22558 "check" : [
22559 "perm",
22560 "/vms/{vmid}",
22561 [
7aacca6f 22562 "VM.Config.Network"
56122987
DM
22563 ]
22564 ]
22565 },
44660702 22566 "protected" : 1,
56122987 22567 "returns" : {
7aacca6f 22568 "type" : "null"
44660702 22569 }
56122987 22570 },
44660702 22571 "GET" : {
4d47f125 22572 "description" : "List IPSet content",
44660702 22573 "method" : "GET",
4d47f125 22574 "name" : "get_ipset",
44660702
DM
22575 "parameters" : {
22576 "additionalProperties" : 0,
22577 "properties" : {
22578 "name" : {
4d47f125 22579 "description" : "IP set name.",
44660702
DM
22580 "maxLength" : 64,
22581 "minLength" : 2,
22582 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22583 "type" : "string"
22584 },
22585 "node" : {
22586 "description" : "The cluster node name.",
22587 "format" : "pve-node",
013dc89f
DM
22588 "type" : "string",
22589 "typetext" : "<string>"
44660702
DM
22590 },
22591 "vmid" : {
22592 "description" : "The (unique) ID of the VM.",
22593 "format" : "pve-vmid",
22594 "minimum" : 1,
4bd7df8b 22595 "type" : "integer",
013dc89f 22596 "typetext" : "<integer> (1 - N)"
44660702 22597 }
4d47f125
TL
22598 }
22599 },
22600 "permissions" : {
22601 "check" : [
22602 "perm",
22603 "/vms/{vmid}",
22604 [
22605 "VM.Audit"
22606 ]
22607 ]
22608 },
22609 "returns" : {
22610 "items" : {
22611 "properties" : {
22612 "cidr" : {
22613 "type" : "string"
22614 },
22615 "comment" : {
22616 "optional" : 1,
22617 "type" : "string"
22618 },
22619 "digest" : {
22620 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22621 "maxLength" : 40,
22622 "optional" : 0,
22623 "type" : "string"
22624 },
22625 "nomatch" : {
22626 "optional" : 1,
22627 "type" : "boolean"
22628 }
22629 },
22630 "type" : "object"
22631 },
22632 "links" : [
22633 {
22634 "href" : "{cidr}",
22635 "rel" : "child"
22636 }
22637 ],
22638 "type" : "array"
44660702
DM
22639 }
22640 },
4d47f125
TL
22641 "POST" : {
22642 "description" : "Add IP or Network to IPSet.",
22643 "method" : "POST",
22644 "name" : "create_ip",
56122987
DM
22645 "parameters" : {
22646 "additionalProperties" : 0,
22647 "properties" : {
44660702
DM
22648 "cidr" : {
22649 "description" : "Network/IP specification in CIDR format.",
4d47f125 22650 "format" : "IPorCIDRorAlias",
013dc89f
DM
22651 "type" : "string",
22652 "typetext" : "<string>"
44660702
DM
22653 },
22654 "comment" : {
22655 "optional" : 1,
013dc89f
DM
22656 "type" : "string",
22657 "typetext" : "<string>"
44660702 22658 },
56122987 22659 "name" : {
4d47f125 22660 "description" : "IP set name.",
44660702
DM
22661 "maxLength" : 64,
22662 "minLength" : 2,
7aacca6f 22663 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22664 "type" : "string"
56122987
DM
22665 },
22666 "node" : {
22667 "description" : "The cluster node name.",
44660702 22668 "format" : "pve-node",
013dc89f
DM
22669 "type" : "string",
22670 "typetext" : "<string>"
44660702 22671 },
4d47f125 22672 "nomatch" : {
44660702 22673 "optional" : 1,
4d47f125
TL
22674 "type" : "boolean",
22675 "typetext" : "<boolean>"
56122987 22676 },
7aacca6f 22677 "vmid" : {
7aacca6f 22678 "description" : "The (unique) ID of the VM.",
44660702 22679 "format" : "pve-vmid",
7aacca6f 22680 "minimum" : 1,
4bd7df8b 22681 "type" : "integer",
013dc89f 22682 "typetext" : "<integer> (1 - N)"
56122987
DM
22683 }
22684 }
22685 },
44660702
DM
22686 "permissions" : {
22687 "check" : [
22688 "perm",
22689 "/vms/{vmid}",
22690 [
22691 "VM.Config.Network"
22692 ]
22693 ]
7aacca6f 22694 },
44660702
DM
22695 "protected" : 1,
22696 "returns" : {
22697 "type" : "null"
7aacca6f
DM
22698 }
22699 }
22700 },
4d47f125
TL
22701 "leaf" : 0,
22702 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
22703 "text" : "{name}"
22704 }
22705 ],
22706 "info" : {
22707 "GET" : {
4d47f125 22708 "description" : "List IPSets",
44660702 22709 "method" : "GET",
4d47f125 22710 "name" : "ipset_index",
56122987
DM
22711 "parameters" : {
22712 "additionalProperties" : 0,
22713 "properties" : {
22714 "node" : {
44660702 22715 "description" : "The cluster node name.",
56122987 22716 "format" : "pve-node",
013dc89f
DM
22717 "type" : "string",
22718 "typetext" : "<string>"
56122987
DM
22719 },
22720 "vmid" : {
7aacca6f 22721 "description" : "The (unique) ID of the VM.",
44660702 22722 "format" : "pve-vmid",
7aacca6f 22723 "minimum" : 1,
4bd7df8b 22724 "type" : "integer",
013dc89f 22725 "typetext" : "<integer> (1 - N)"
56122987
DM
22726 }
22727 }
22728 },
44660702
DM
22729 "permissions" : {
22730 "check" : [
22731 "perm",
22732 "/vms/{vmid}",
22733 [
22734 "VM.Audit"
22735 ]
22736 ]
22737 },
56122987
DM
22738 "returns" : {
22739 "items" : {
56122987 22740 "properties" : {
44660702
DM
22741 "comment" : {
22742 "optional" : 1,
56122987
DM
22743 "type" : "string"
22744 },
56122987 22745 "digest" : {
56122987 22746 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
22747 "maxLength" : 40,
22748 "optional" : 0,
22749 "type" : "string"
22750 },
22751 "name" : {
4d47f125
TL
22752 "description" : "IP set name.",
22753 "maxLength" : 64,
22754 "minLength" : 2,
22755 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 22756 "type" : "string"
56122987 22757 }
44660702
DM
22758 },
22759 "type" : "object"
22760 },
22761 "links" : [
22762 {
22763 "href" : "{name}",
22764 "rel" : "child"
56122987 22765 }
4d47f125
TL
22766 ],
22767 "type" : "array"
22768 }
22769 },
22770 "POST" : {
22771 "description" : "Create new IPSet",
22772 "method" : "POST",
22773 "name" : "create_ipset",
22774 "parameters" : {
22775 "additionalProperties" : 0,
22776 "properties" : {
22777 "comment" : {
22778 "optional" : 1,
22779 "type" : "string",
22780 "typetext" : "<string>"
22781 },
22782 "digest" : {
22783 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22784 "maxLength" : 40,
22785 "optional" : 1,
22786 "type" : "string",
22787 "typetext" : "<string>"
22788 },
22789 "name" : {
22790 "description" : "IP set name.",
22791 "maxLength" : 64,
22792 "minLength" : 2,
22793 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22794 "type" : "string"
22795 },
22796 "node" : {
22797 "description" : "The cluster node name.",
22798 "format" : "pve-node",
22799 "type" : "string",
22800 "typetext" : "<string>"
22801 },
22802 "rename" : {
22803 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
22804 "maxLength" : 64,
22805 "minLength" : 2,
22806 "optional" : 1,
22807 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22808 "type" : "string"
22809 },
22810 "vmid" : {
22811 "description" : "The (unique) ID of the VM.",
22812 "format" : "pve-vmid",
22813 "minimum" : 1,
22814 "type" : "integer",
22815 "typetext" : "<integer> (1 - N)"
22816 }
22817 }
22818 },
22819 "permissions" : {
22820 "check" : [
22821 "perm",
22822 "/vms/{vmid}",
22823 [
22824 "VM.Config.Network"
22825 ]
22826 ]
22827 },
22828 "protected" : 1,
22829 "returns" : {
22830 "type" : "null"
22831 }
22832 }
22833 },
22834 "leaf" : 0,
22835 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
22836 "text" : "ipset"
22837 },
22838 {
22839 "info" : {
22840 "GET" : {
22841 "description" : "Get VM firewall options.",
22842 "method" : "GET",
22843 "name" : "get_options",
22844 "parameters" : {
22845 "additionalProperties" : 0,
22846 "properties" : {
22847 "node" : {
22848 "description" : "The cluster node name.",
22849 "format" : "pve-node",
22850 "type" : "string",
22851 "typetext" : "<string>"
22852 },
22853 "vmid" : {
22854 "description" : "The (unique) ID of the VM.",
22855 "format" : "pve-vmid",
22856 "minimum" : 1,
22857 "type" : "integer",
22858 "typetext" : "<integer> (1 - N)"
22859 }
22860 }
22861 },
22862 "permissions" : {
22863 "check" : [
22864 "perm",
22865 "/vms/{vmid}",
22866 [
22867 "VM.Audit"
22868 ]
22869 ]
22870 },
22871 "proxyto" : "node",
22872 "returns" : {
22873 "properties" : {
22874 "dhcp" : {
22875 "description" : "Enable DHCP.",
22876 "optional" : 1,
22877 "type" : "boolean"
22878 },
22879 "enable" : {
22880 "description" : "Enable/disable firewall rules.",
22881 "optional" : 1,
22882 "type" : "boolean"
22883 },
22884 "ipfilter" : {
22885 "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.",
22886 "optional" : 1,
22887 "type" : "boolean"
22888 },
22889 "log_level_in" : {
22890 "description" : "Log level for incoming traffic.",
22891 "enum" : [
22892 "emerg",
22893 "alert",
22894 "crit",
22895 "err",
22896 "warning",
22897 "notice",
22898 "info",
22899 "debug",
22900 "nolog"
22901 ],
22902 "optional" : 1,
22903 "type" : "string"
22904 },
22905 "log_level_out" : {
22906 "description" : "Log level for outgoing traffic.",
22907 "enum" : [
22908 "emerg",
22909 "alert",
22910 "crit",
22911 "err",
22912 "warning",
22913 "notice",
22914 "info",
22915 "debug",
22916 "nolog"
22917 ],
22918 "optional" : 1,
22919 "type" : "string"
22920 },
22921 "macfilter" : {
22922 "description" : "Enable/disable MAC address filter.",
22923 "optional" : 1,
22924 "type" : "boolean"
22925 },
22926 "ndp" : {
22927 "description" : "Enable NDP.",
22928 "optional" : 1,
22929 "type" : "boolean"
22930 },
22931 "policy_in" : {
22932 "description" : "Input policy.",
22933 "enum" : [
22934 "ACCEPT",
22935 "REJECT",
22936 "DROP"
22937 ],
22938 "optional" : 1,
22939 "type" : "string"
22940 },
22941 "policy_out" : {
22942 "description" : "Output policy.",
22943 "enum" : [
22944 "ACCEPT",
22945 "REJECT",
22946 "DROP"
22947 ],
22948 "optional" : 1,
22949 "type" : "string"
22950 },
22951 "radv" : {
22952 "description" : "Allow sending Router Advertisement.",
22953 "optional" : 1,
22954 "type" : "boolean"
22955 }
22956 },
22957 "type" : "object"
7aacca6f
DM
22958 }
22959 },
4d47f125
TL
22960 "PUT" : {
22961 "description" : "Set Firewall options.",
22962 "method" : "PUT",
22963 "name" : "set_options",
7aacca6f
DM
22964 "parameters" : {
22965 "additionalProperties" : 0,
22966 "properties" : {
4d47f125
TL
22967 "delete" : {
22968 "description" : "A list of settings you want to delete.",
22969 "format" : "pve-configid-list",
7aacca6f 22970 "optional" : 1,
013dc89f
DM
22971 "type" : "string",
22972 "typetext" : "<string>"
7aacca6f 22973 },
4d47f125
TL
22974 "dhcp" : {
22975 "description" : "Enable DHCP.",
22976 "optional" : 1,
22977 "type" : "boolean",
22978 "typetext" : "<boolean>"
7aacca6f 22979 },
4d47f125
TL
22980 "digest" : {
22981 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22982 "maxLength" : 40,
22983 "optional" : 1,
013dc89f
DM
22984 "type" : "string",
22985 "typetext" : "<string>"
7aacca6f 22986 },
4d47f125
TL
22987 "enable" : {
22988 "description" : "Enable/disable firewall rules.",
22989 "optional" : 1,
22990 "type" : "boolean",
22991 "typetext" : "<boolean>"
22992 },
22993 "ipfilter" : {
22994 "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.",
22995 "optional" : 1,
22996 "type" : "boolean",
22997 "typetext" : "<boolean>"
56122987 22998 },
4d47f125
TL
22999 "log_level_in" : {
23000 "description" : "Log level for incoming traffic.",
23001 "enum" : [
23002 "emerg",
23003 "alert",
23004 "crit",
23005 "err",
23006 "warning",
23007 "notice",
23008 "info",
23009 "debug",
23010 "nolog"
23011 ],
23012 "optional" : 1,
23013 "type" : "string"
44660702 23014 },
4d47f125
TL
23015 "log_level_out" : {
23016 "description" : "Log level for outgoing traffic.",
23017 "enum" : [
23018 "emerg",
23019 "alert",
23020 "crit",
23021 "err",
23022 "warning",
23023 "notice",
23024 "info",
23025 "debug",
23026 "nolog"
23027 ],
23028 "optional" : 1,
23029 "type" : "string"
44660702 23030 },
4d47f125
TL
23031 "macfilter" : {
23032 "description" : "Enable/disable MAC address filter.",
23033 "optional" : 1,
23034 "type" : "boolean",
23035 "typetext" : "<boolean>"
7aacca6f 23036 },
4d47f125
TL
23037 "ndp" : {
23038 "description" : "Enable NDP.",
23039 "optional" : 1,
23040 "type" : "boolean",
23041 "typetext" : "<boolean>"
7aacca6f 23042 },
4d47f125
TL
23043 "node" : {
23044 "description" : "The cluster node name.",
23045 "format" : "pve-node",
23046 "type" : "string",
23047 "typetext" : "<string>"
23048 },
23049 "policy_in" : {
23050 "description" : "Input policy.",
23051 "enum" : [
23052 "ACCEPT",
23053 "REJECT",
23054 "DROP"
44660702 23055 ],
4d47f125
TL
23056 "optional" : 1,
23057 "type" : "string"
23058 },
23059 "policy_out" : {
23060 "description" : "Output policy.",
23061 "enum" : [
23062 "ACCEPT",
23063 "REJECT",
23064 "DROP"
23065 ],
23066 "optional" : 1,
23067 "type" : "string"
23068 },
23069 "radv" : {
23070 "description" : "Allow sending Router Advertisement.",
23071 "optional" : 1,
23072 "type" : "boolean",
23073 "typetext" : "<boolean>"
23074 },
23075 "vmid" : {
23076 "description" : "The (unique) ID of the VM.",
23077 "format" : "pve-vmid",
23078 "minimum" : 1,
23079 "type" : "integer",
23080 "typetext" : "<integer> (1 - N)"
44660702 23081 }
4d47f125
TL
23082 }
23083 },
23084 "permissions" : {
23085 "check" : [
23086 "perm",
23087 "/vms/{vmid}",
23088 [
23089 "VM.Config.Network"
23090 ]
23091 ]
23092 },
23093 "protected" : 1,
23094 "proxyto" : "node",
23095 "returns" : {
23096 "type" : "null"
23097 }
23098 }
23099 },
23100 "leaf" : 1,
23101 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
23102 "text" : "options"
23103 },
23104 {
23105 "info" : {
23106 "GET" : {
23107 "description" : "Read firewall log",
23108 "method" : "GET",
23109 "name" : "log",
23110 "parameters" : {
23111 "additionalProperties" : 0,
23112 "properties" : {
23113 "limit" : {
23114 "minimum" : 0,
23115 "optional" : 1,
23116 "type" : "integer",
23117 "typetext" : "<integer> (0 - N)"
44660702 23118 },
4d47f125
TL
23119 "node" : {
23120 "description" : "The cluster node name.",
23121 "format" : "pve-node",
23122 "type" : "string",
23123 "typetext" : "<string>"
44660702 23124 },
4d47f125
TL
23125 "start" : {
23126 "minimum" : 0,
23127 "optional" : 1,
23128 "type" : "integer",
23129 "typetext" : "<integer> (0 - N)"
23130 },
23131 "vmid" : {
23132 "description" : "The (unique) ID of the VM.",
23133 "format" : "pve-vmid",
23134 "minimum" : 1,
23135 "type" : "integer",
23136 "typetext" : "<integer> (1 - N)"
44660702
DM
23137 }
23138 }
23139 },
4d47f125
TL
23140 "permissions" : {
23141 "check" : [
23142 "perm",
23143 "/vms/{vmid}",
23144 [
23145 "VM.Console"
23146 ]
23147 ]
23148 },
23149 "protected" : 1,
23150 "proxyto" : "node",
23151 "returns" : {
23152 "items" : {
23153 "properties" : {
23154 "n" : {
23155 "description" : "Line number",
23156 "type" : "integer"
23157 },
23158 "t" : {
23159 "description" : "Line text",
23160 "type" : "string"
23161 }
23162 },
23163 "type" : "object"
23164 },
23165 "type" : "array"
23166 }
44660702 23167 }
4d47f125
TL
23168 },
23169 "leaf" : 1,
23170 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
23171 "text" : "log"
23172 },
23173 {
44660702
DM
23174 "info" : {
23175 "GET" : {
4d47f125 23176 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 23177 "method" : "GET",
4d47f125 23178 "name" : "refs",
44660702
DM
23179 "parameters" : {
23180 "additionalProperties" : 0,
23181 "properties" : {
23182 "node" : {
23183 "description" : "The cluster node name.",
23184 "format" : "pve-node",
013dc89f
DM
23185 "type" : "string",
23186 "typetext" : "<string>"
44660702 23187 },
4d47f125
TL
23188 "type" : {
23189 "description" : "Only list references of specified type.",
23190 "enum" : [
23191 "alias",
23192 "ipset"
23193 ],
23194 "optional" : 1,
23195 "type" : "string"
23196 },
44660702
DM
23197 "vmid" : {
23198 "description" : "The (unique) ID of the VM.",
23199 "format" : "pve-vmid",
23200 "minimum" : 1,
4bd7df8b 23201 "type" : "integer",
013dc89f 23202 "typetext" : "<integer> (1 - N)"
44660702
DM
23203 }
23204 }
23205 },
4d47f125
TL
23206 "permissions" : {
23207 "check" : [
23208 "perm",
23209 "/vms/{vmid}",
23210 [
23211 "VM.Audit"
23212 ]
23213 ]
23214 },
23215 "returns" : {
23216 "items" : {
23217 "properties" : {
23218 "comment" : {
23219 "optional" : 1,
23220 "type" : "string"
23221 },
23222 "name" : {
23223 "type" : "string"
23224 },
23225 "type" : {
23226 "enum" : [
23227 "alias",
23228 "ipset"
23229 ],
23230 "type" : "string"
23231 }
23232 },
23233 "type" : "object"
23234 },
23235 "type" : "array"
23236 }
23237 }
23238 },
23239 "leaf" : 1,
23240 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
23241 "text" : "refs"
23242 }
23243 ],
23244 "info" : {
23245 "GET" : {
23246 "description" : "Directory index.",
23247 "method" : "GET",
23248 "name" : "index",
23249 "parameters" : {
23250 "additionalProperties" : 0,
23251 "properties" : {
23252 "node" : {
23253 "description" : "The cluster node name.",
23254 "format" : "pve-node",
23255 "type" : "string",
23256 "typetext" : "<string>"
23257 },
23258 "vmid" : {
23259 "description" : "The (unique) ID of the VM.",
23260 "format" : "pve-vmid",
23261 "minimum" : 1,
23262 "type" : "integer",
23263 "typetext" : "<integer> (1 - N)"
23264 }
23265 }
23266 },
23267 "permissions" : {
23268 "user" : "all"
23269 },
23270 "returns" : {
23271 "items" : {
23272 "properties" : {},
23273 "type" : "object"
23274 },
23275 "links" : [
23276 {
23277 "href" : "{name}",
23278 "rel" : "child"
23279 }
23280 ],
23281 "type" : "array"
23282 }
23283 }
23284 },
23285 "leaf" : 0,
23286 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
23287 "text" : "firewall"
23288 },
23289 {
23290 "info" : {
23291 "GET" : {
23292 "description" : "Read VM RRD statistics (returns PNG)",
23293 "method" : "GET",
23294 "name" : "rrd",
23295 "parameters" : {
23296 "additionalProperties" : 0,
23297 "properties" : {
23298 "cf" : {
23299 "description" : "The RRD consolidation function",
23300 "enum" : [
23301 "AVERAGE",
23302 "MAX"
23303 ],
23304 "optional" : 1,
23305 "type" : "string"
23306 },
23307 "ds" : {
23308 "description" : "The list of datasources you want to display.",
23309 "format" : "pve-configid-list",
23310 "type" : "string",
23311 "typetext" : "<string>"
23312 },
23313 "node" : {
23314 "description" : "The cluster node name.",
23315 "format" : "pve-node",
23316 "type" : "string",
23317 "typetext" : "<string>"
23318 },
23319 "timeframe" : {
23320 "description" : "Specify the time frame you are interested in.",
23321 "enum" : [
23322 "hour",
23323 "day",
23324 "week",
23325 "month",
23326 "year"
23327 ],
23328 "type" : "string"
23329 },
23330 "vmid" : {
23331 "description" : "The (unique) ID of the VM.",
23332 "format" : "pve-vmid",
23333 "minimum" : 1,
23334 "type" : "integer",
23335 "typetext" : "<integer> (1 - N)"
23336 }
23337 }
23338 },
23339 "permissions" : {
23340 "check" : [
23341 "perm",
23342 "/vms/{vmid}",
23343 [
23344 "VM.Audit"
23345 ]
23346 ]
23347 },
23348 "protected" : 1,
23349 "returns" : {
23350 "properties" : {
23351 "filename" : {
23352 "type" : "string"
23353 }
23354 },
23355 "type" : "object"
23356 }
23357 }
23358 },
23359 "leaf" : 1,
23360 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
23361 "text" : "rrd"
23362 },
23363 {
23364 "info" : {
23365 "GET" : {
23366 "description" : "Read VM RRD statistics",
23367 "method" : "GET",
23368 "name" : "rrddata",
23369 "parameters" : {
23370 "additionalProperties" : 0,
23371 "properties" : {
23372 "cf" : {
23373 "description" : "The RRD consolidation function",
23374 "enum" : [
23375 "AVERAGE",
23376 "MAX"
23377 ],
23378 "optional" : 1,
23379 "type" : "string"
23380 },
23381 "node" : {
23382 "description" : "The cluster node name.",
23383 "format" : "pve-node",
23384 "type" : "string",
23385 "typetext" : "<string>"
44660702 23386 },
4d47f125
TL
23387 "timeframe" : {
23388 "description" : "Specify the time frame you are interested in.",
23389 "enum" : [
23390 "hour",
23391 "day",
23392 "week",
23393 "month",
23394 "year"
44660702 23395 ],
4d47f125
TL
23396 "type" : "string"
23397 },
23398 "vmid" : {
23399 "description" : "The (unique) ID of the VM.",
23400 "format" : "pve-vmid",
23401 "minimum" : 1,
23402 "type" : "integer",
23403 "typetext" : "<integer> (1 - N)"
44660702 23404 }
4d47f125
TL
23405 }
23406 },
23407 "permissions" : {
23408 "check" : [
23409 "perm",
23410 "/vms/{vmid}",
23411 [
23412 "VM.Audit"
23413 ]
23414 ]
23415 },
23416 "protected" : 1,
23417 "returns" : {
23418 "items" : {
23419 "properties" : {},
23420 "type" : "object"
44660702 23421 },
4d47f125
TL
23422 "type" : "array"
23423 }
23424 }
23425 },
23426 "leaf" : 1,
23427 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
23428 "text" : "rrddata"
23429 },
23430 {
23431 "info" : {
23432 "POST" : {
23433 "description" : "Creates a TCP VNC proxy connections.",
23434 "method" : "POST",
23435 "name" : "vncproxy",
23436 "parameters" : {
23437 "additionalProperties" : 0,
23438 "properties" : {
23439 "height" : {
23440 "description" : "sets the height of the console in pixels.",
23441 "maximum" : 2160,
23442 "minimum" : 16,
23443 "optional" : 1,
23444 "type" : "integer",
23445 "typetext" : "<integer> (16 - 2160)"
44660702 23446 },
4d47f125
TL
23447 "node" : {
23448 "description" : "The cluster node name.",
23449 "format" : "pve-node",
23450 "type" : "string",
23451 "typetext" : "<string>"
44660702 23452 },
4d47f125
TL
23453 "vmid" : {
23454 "description" : "The (unique) ID of the VM.",
23455 "format" : "pve-vmid",
23456 "minimum" : 1,
23457 "type" : "integer",
23458 "typetext" : "<integer> (1 - N)"
23459 },
23460 "websocket" : {
23461 "description" : "use websocket instead of standard VNC.",
23462 "optional" : 1,
23463 "type" : "boolean",
23464 "typetext" : "<boolean>"
23465 },
23466 "width" : {
23467 "description" : "sets the width of the console in pixels.",
23468 "maximum" : 4096,
23469 "minimum" : 16,
23470 "optional" : 1,
23471 "type" : "integer",
23472 "typetext" : "<integer> (16 - 4096)"
56122987
DM
23473 }
23474 }
44660702 23475 },
4d47f125
TL
23476 "permissions" : {
23477 "check" : [
23478 "perm",
23479 "/vms/{vmid}",
23480 [
23481 "VM.Console"
23482 ]
23483 ]
23484 },
23485 "protected" : 1,
23486 "returns" : {
23487 "additionalProperties" : 0,
23488 "properties" : {
23489 "cert" : {
23490 "type" : "string"
44660702 23491 },
4d47f125
TL
23492 "port" : {
23493 "type" : "integer"
23494 },
23495 "ticket" : {
23496 "type" : "string"
23497 },
23498 "upid" : {
23499 "type" : "string"
23500 },
23501 "user" : {
23502 "type" : "string"
23503 }
23504 }
23505 }
23506 }
23507 },
23508 "leaf" : 1,
23509 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
23510 "text" : "vncproxy"
23511 },
23512 {
23513 "info" : {
23514 "POST" : {
23515 "description" : "Creates a TCP proxy connection.",
23516 "method" : "POST",
23517 "name" : "termproxy",
23518 "parameters" : {
23519 "additionalProperties" : 0,
23520 "properties" : {
23521 "node" : {
23522 "description" : "The cluster node name.",
23523 "format" : "pve-node",
23524 "type" : "string",
23525 "typetext" : "<string>"
44660702 23526 },
4d47f125
TL
23527 "vmid" : {
23528 "description" : "The (unique) ID of the VM.",
23529 "format" : "pve-vmid",
23530 "minimum" : 1,
23531 "type" : "integer",
23532 "typetext" : "<integer> (1 - N)"
44660702 23533 }
4d47f125
TL
23534 }
23535 },
23536 "permissions" : {
23537 "check" : [
23538 "perm",
23539 "/vms/{vmid}",
23540 [
23541 "VM.Console"
23542 ]
23543 ]
23544 },
23545 "protected" : 1,
23546 "returns" : {
23547 "additionalProperties" : 0,
23548 "properties" : {
23549 "port" : {
23550 "type" : "integer"
56122987 23551 },
4d47f125
TL
23552 "ticket" : {
23553 "type" : "string"
7aacca6f 23554 },
4d47f125
TL
23555 "upid" : {
23556 "type" : "string"
23557 },
23558 "user" : {
23559 "type" : "string"
23560 }
23561 }
23562 }
23563 }
23564 },
23565 "leaf" : 1,
23566 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
23567 "text" : "termproxy"
23568 },
23569 {
23570 "info" : {
23571 "GET" : {
23572 "description" : "Opens a weksocket for VNC traffic.",
23573 "method" : "GET",
23574 "name" : "vncwebsocket",
23575 "parameters" : {
23576 "additionalProperties" : 0,
23577 "properties" : {
23578 "node" : {
23579 "description" : "The cluster node name.",
23580 "format" : "pve-node",
23581 "type" : "string",
23582 "typetext" : "<string>"
23583 },
23584 "port" : {
23585 "description" : "Port number returned by previous vncproxy call.",
23586 "maximum" : 5999,
23587 "minimum" : 5900,
23588 "type" : "integer",
23589 "typetext" : "<integer> (5900 - 5999)"
23590 },
23591 "vmid" : {
23592 "description" : "The (unique) ID of the VM.",
23593 "format" : "pve-vmid",
23594 "minimum" : 1,
23595 "type" : "integer",
23596 "typetext" : "<integer> (1 - N)"
23597 },
23598 "vncticket" : {
23599 "description" : "Ticket from previous call to vncproxy.",
23600 "maxLength" : 512,
23601 "type" : "string",
23602 "typetext" : "<string>"
56122987
DM
23603 }
23604 }
23605 },
4d47f125
TL
23606 "permissions" : {
23607 "check" : [
23608 "perm",
23609 "/vms/{vmid}",
23610 [
23611 "VM.Console"
23612 ]
23613 ],
23614 "description" : "You also need to pass a valid ticket (vncticket)."
23615 },
23616 "returns" : {
23617 "properties" : {
23618 "port" : {
23619 "type" : "string"
23620 }
23621 },
23622 "type" : "object"
23623 }
23624 }
23625 },
23626 "leaf" : 1,
23627 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
23628 "text" : "vncwebsocket"
23629 },
23630 {
23631 "info" : {
23632 "POST" : {
23633 "description" : "Returns a SPICE configuration to connect to the CT.",
23634 "method" : "POST",
23635 "name" : "spiceproxy",
23636 "parameters" : {
23637 "additionalProperties" : 0,
23638 "properties" : {
23639 "node" : {
23640 "description" : "The cluster node name.",
23641 "format" : "pve-node",
23642 "type" : "string",
23643 "typetext" : "<string>"
56122987 23644 },
4d47f125
TL
23645 "proxy" : {
23646 "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).",
23647 "format" : "address",
23648 "optional" : 1,
23649 "type" : "string",
23650 "typetext" : "<string>"
44660702 23651 },
4d47f125
TL
23652 "vmid" : {
23653 "description" : "The (unique) ID of the VM.",
23654 "format" : "pve-vmid",
23655 "minimum" : 1,
23656 "type" : "integer",
23657 "typetext" : "<integer> (1 - N)"
44660702 23658 }
56122987
DM
23659 }
23660 },
4d47f125
TL
23661 "permissions" : {
23662 "check" : [
23663 "perm",
23664 "/vms/{vmid}",
23665 [
23666 "VM.Console"
23667 ]
23668 ]
23669 },
23670 "protected" : 1,
23671 "proxyto" : "node",
23672 "returns" : {
23673 "additionalProperties" : 1,
23674 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
23675 "properties" : {
23676 "host" : {
23677 "type" : "string"
23678 },
23679 "password" : {
23680 "type" : "string"
23681 },
23682 "proxy" : {
23683 "type" : "string"
23684 },
23685 "tls-port" : {
23686 "type" : "integer"
23687 },
23688 "type" : {
23689 "type" : "string"
23690 }
23691 }
23692 }
23693 }
23694 },
23695 "leaf" : 1,
23696 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
23697 "text" : "spiceproxy"
23698 },
23699 {
23700 "info" : {
23701 "POST" : {
23702 "description" : "Migrate the container to another node. Creates a new migration task.",
23703 "method" : "POST",
23704 "name" : "migrate_vm",
23705 "parameters" : {
23706 "additionalProperties" : 0,
23707 "properties" : {
95895385
TL
23708 "bwlimit" : {
23709 "default" : "migrate limit from datacenter or storage config",
23710 "description" : "Override I/O bandwidth limit (in KiB/s).",
23711 "minimum" : "0",
23712 "optional" : 1,
23713 "type" : "number",
23714 "typetext" : "<number> (0 - N)"
23715 },
4d47f125
TL
23716 "force" : {
23717 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
23718 "optional" : 1,
23719 "type" : "boolean",
23720 "typetext" : "<boolean>"
56122987 23721 },
4d47f125
TL
23722 "node" : {
23723 "description" : "The cluster node name.",
23724 "format" : "pve-node",
23725 "type" : "string",
23726 "typetext" : "<string>"
44660702 23727 },
4d47f125
TL
23728 "online" : {
23729 "description" : "Use online/live migration.",
23730 "optional" : 1,
23731 "type" : "boolean",
23732 "typetext" : "<boolean>"
23733 },
23734 "restart" : {
23735 "description" : "Use restart migration",
23736 "optional" : 1,
23737 "type" : "boolean",
23738 "typetext" : "<boolean>"
23739 },
23740 "target" : {
23741 "description" : "Target node.",
23742 "format" : "pve-node",
23743 "type" : "string",
23744 "typetext" : "<string>"
23745 },
23746 "timeout" : {
23747 "default" : 180,
23748 "description" : "Timeout in seconds for shutdown for restart migration",
23749 "optional" : 1,
23750 "type" : "integer",
23751 "typetext" : "<integer>"
23752 },
23753 "vmid" : {
23754 "description" : "The (unique) ID of the VM.",
23755 "format" : "pve-vmid",
23756 "minimum" : 1,
23757 "type" : "integer",
23758 "typetext" : "<integer> (1 - N)"
56122987
DM
23759 }
23760 }
23761 },
4d47f125
TL
23762 "permissions" : {
23763 "check" : [
23764 "perm",
23765 "/vms/{vmid}",
23766 [
23767 "VM.Migrate"
23768 ]
23769 ]
23770 },
23771 "protected" : 1,
23772 "proxyto" : "node",
23773 "returns" : {
23774 "description" : "the task ID.",
23775 "type" : "string"
23776 }
56122987 23777 }
4d47f125
TL
23778 },
23779 "leaf" : 1,
23780 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
23781 "text" : "migrate"
23782 },
23783 {
56122987
DM
23784 "info" : {
23785 "GET" : {
4d47f125 23786 "description" : "Check if feature for virtual machine is available.",
44660702 23787 "method" : "GET",
4d47f125 23788 "name" : "vm_feature",
56122987 23789 "parameters" : {
44660702 23790 "additionalProperties" : 0,
56122987 23791 "properties" : {
4d47f125
TL
23792 "feature" : {
23793 "description" : "Feature to check.",
23794 "enum" : [
23795 "snapshot",
23796 "clone",
23797 "copy"
23798 ],
23799 "type" : "string"
23800 },
56122987 23801 "node" : {
44660702 23802 "description" : "The cluster node name.",
56122987 23803 "format" : "pve-node",
013dc89f
DM
23804 "type" : "string",
23805 "typetext" : "<string>"
44660702 23806 },
4d47f125
TL
23807 "snapname" : {
23808 "description" : "The name of the snapshot.",
23809 "format" : "pve-configid",
23810 "maxLength" : 40,
23811 "optional" : 1,
23812 "type" : "string",
23813 "typetext" : "<string>"
23814 },
44660702
DM
23815 "vmid" : {
23816 "description" : "The (unique) ID of the VM.",
23817 "format" : "pve-vmid",
23818 "minimum" : 1,
4bd7df8b 23819 "type" : "integer",
013dc89f 23820 "typetext" : "<integer> (1 - N)"
56122987 23821 }
44660702
DM
23822 }
23823 },
23824 "permissions" : {
4d47f125
TL
23825 "check" : [
23826 "perm",
23827 "/vms/{vmid}",
23828 [
23829 "VM.Audit"
23830 ]
23831 ]
56122987 23832 },
4d47f125
TL
23833 "protected" : 1,
23834 "proxyto" : "node",
56122987 23835 "returns" : {
4d47f125
TL
23836 "properties" : {
23837 "hasFeature" : {
23838 "type" : "boolean"
23839 }
7aacca6f 23840 },
4d47f125
TL
23841 "type" : "object"
23842 }
23843 }
23844 },
23845 "leaf" : 1,
23846 "path" : "/nodes/{node}/lxc/{vmid}/feature",
23847 "text" : "feature"
23848 },
23849 {
23850 "info" : {
23851 "POST" : {
23852 "description" : "Create a Template.",
23853 "method" : "POST",
23854 "name" : "template",
23855 "parameters" : {
23856 "additionalProperties" : 0,
23857 "properties" : {
23858 "node" : {
23859 "description" : "The cluster node name.",
23860 "format" : "pve-node",
23861 "type" : "string",
23862 "typetext" : "<string>"
23863 },
23864 "vmid" : {
23865 "description" : "The (unique) ID of the VM.",
23866 "format" : "pve-vmid",
23867 "minimum" : 1,
23868 "type" : "integer",
23869 "typetext" : "<integer> (1 - N)"
56122987 23870 }
4d47f125
TL
23871 }
23872 },
23873 "permissions" : {
23874 "check" : [
23875 "perm",
23876 "/vms/{vmid}",
23877 [
23878 "VM.Allocate"
23879 ]
44660702 23880 ],
4d47f125
TL
23881 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
23882 },
23883 "protected" : 1,
23884 "proxyto" : "node",
23885 "returns" : {
23886 "type" : "null"
56122987
DM
23887 }
23888 }
23889 },
4d47f125
TL
23890 "leaf" : 1,
23891 "path" : "/nodes/{node}/lxc/{vmid}/template",
23892 "text" : "template"
56122987
DM
23893 },
23894 {
56122987 23895 "info" : {
4d47f125
TL
23896 "POST" : {
23897 "description" : "Create a container clone/copy",
23898 "method" : "POST",
23899 "name" : "clone_vm",
56122987 23900 "parameters" : {
7aacca6f 23901 "additionalProperties" : 0,
56122987 23902 "properties" : {
95895385
TL
23903 "bwlimit" : {
23904 "default" : "clone limit from datacenter or storage config",
23905 "description" : "Override I/O bandwidth limit (in KiB/s).",
23906 "minimum" : "0",
23907 "optional" : 1,
23908 "type" : "number",
23909 "typetext" : "<number> (0 - N)"
23910 },
4d47f125
TL
23911 "description" : {
23912 "description" : "Description for the new CT.",
44660702 23913 "optional" : 1,
4d47f125
TL
23914 "type" : "string",
23915 "typetext" : "<string>"
44660702 23916 },
4d47f125
TL
23917 "full" : {
23918 "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.",
23919 "optional" : 1,
23920 "type" : "boolean",
23921 "typetext" : "<boolean>"
23922 },
23923 "hostname" : {
23924 "description" : "Set a hostname for the new CT.",
23925 "format" : "dns-name",
23926 "optional" : 1,
013dc89f
DM
23927 "type" : "string",
23928 "typetext" : "<string>"
44660702 23929 },
4d47f125
TL
23930 "newid" : {
23931 "description" : "VMID for the clone.",
23932 "format" : "pve-vmid",
23933 "minimum" : 1,
23934 "type" : "integer",
23935 "typetext" : "<integer> (1 - N)"
23936 },
7aacca6f
DM
23937 "node" : {
23938 "description" : "The cluster node name.",
44660702 23939 "format" : "pve-node",
013dc89f
DM
23940 "type" : "string",
23941 "typetext" : "<string>"
56122987 23942 },
4d47f125
TL
23943 "pool" : {
23944 "description" : "Add the new CT to the specified pool.",
23945 "format" : "pve-poolid",
23946 "optional" : 1,
23947 "type" : "string",
23948 "typetext" : "<string>"
23949 },
23950 "snapname" : {
23951 "description" : "The name of the snapshot.",
23952 "format" : "pve-configid",
23953 "maxLength" : 40,
23954 "optional" : 1,
23955 "type" : "string",
23956 "typetext" : "<string>"
23957 },
23958 "storage" : {
23959 "description" : "Target storage for full clone.",
23960 "format" : "pve-storage-id",
23961 "optional" : 1,
23962 "type" : "string",
23963 "typetext" : "<string>"
23964 },
23965 "target" : {
23966 "description" : "Target node. Only allowed if the original VM is on shared storage.",
23967 "format" : "pve-node",
23968 "optional" : 1,
23969 "type" : "string",
23970 "typetext" : "<string>"
23971 },
7aacca6f 23972 "vmid" : {
44660702 23973 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23974 "format" : "pve-vmid",
23975 "minimum" : 1,
4bd7df8b 23976 "type" : "integer",
013dc89f 23977 "typetext" : "<integer> (1 - N)"
56122987 23978 }
7aacca6f
DM
23979 }
23980 },
23981 "permissions" : {
23982 "check" : [
4d47f125 23983 "and",
7aacca6f 23984 [
4d47f125
TL
23985 "perm",
23986 "/vms/{vmid}",
23987 [
23988 "VM.Clone"
23989 ]
23990 ],
23991 [
23992 "or",
23993 [
23994 "perm",
23995 "/vms/{newid}",
23996 [
23997 "VM.Allocate"
23998 ]
23999 ],
24000 [
24001 "perm",
24002 "/pool/{pool}",
24003 [
24004 "VM.Allocate"
24005 ],
24006 "require_param",
24007 "pool"
24008 ]
7aacca6f 24009 ]
4d47f125
TL
24010 ],
24011 "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 24012 },
44660702 24013 "protected" : 1,
4d47f125 24014 "proxyto" : "node",
7aacca6f 24015 "returns" : {
4d47f125 24016 "type" : "string"
7aacca6f 24017 }
56122987 24018 }
7aacca6f 24019 },
44660702 24020 "leaf" : 1,
4d47f125
TL
24021 "path" : "/nodes/{node}/lxc/{vmid}/clone",
24022 "text" : "clone"
56122987
DM
24023 },
24024 {
56122987 24025 "info" : {
4d47f125
TL
24026 "PUT" : {
24027 "description" : "Resize a container mount point.",
24028 "method" : "PUT",
24029 "name" : "resize_vm",
56122987 24030 "parameters" : {
7aacca6f 24031 "additionalProperties" : 0,
56122987 24032 "properties" : {
4d47f125
TL
24033 "digest" : {
24034 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24035 "maxLength" : 40,
24036 "optional" : 1,
24037 "type" : "string",
24038 "typetext" : "<string>"
24039 },
24040 "disk" : {
24041 "description" : "The disk you want to resize.",
44660702 24042 "enum" : [
4d47f125
TL
24043 "rootfs",
24044 "mp0",
24045 "mp1",
24046 "mp2",
24047 "mp3",
24048 "mp4",
24049 "mp5",
24050 "mp6",
24051 "mp7",
24052 "mp8",
24053 "mp9",
24054 "mp10",
24055 "mp11",
24056 "mp12",
24057 "mp13",
24058 "mp14",
24059 "mp15",
24060 "mp16",
24061 "mp17",
24062 "mp18",
24063 "mp19",
24064 "mp20",
24065 "mp21",
24066 "mp22",
24067 "mp23",
24068 "mp24",
24069 "mp25",
24070 "mp26",
24071 "mp27",
24072 "mp28",
24073 "mp29",
24074 "mp30",
24075 "mp31",
24076 "mp32",
24077 "mp33",
24078 "mp34",
24079 "mp35",
24080 "mp36",
24081 "mp37",
24082 "mp38",
24083 "mp39",
24084 "mp40",
24085 "mp41",
24086 "mp42",
24087 "mp43",
24088 "mp44",
24089 "mp45",
24090 "mp46",
24091 "mp47",
24092 "mp48",
24093 "mp49",
24094 "mp50",
24095 "mp51",
24096 "mp52",
24097 "mp53",
24098 "mp54",
24099 "mp55",
24100 "mp56",
24101 "mp57",
24102 "mp58",
24103 "mp59",
24104 "mp60",
24105 "mp61",
24106 "mp62",
24107 "mp63",
24108 "mp64",
24109 "mp65",
24110 "mp66",
24111 "mp67",
24112 "mp68",
24113 "mp69",
24114 "mp70",
24115 "mp71",
24116 "mp72",
24117 "mp73",
24118 "mp74",
24119 "mp75",
24120 "mp76",
24121 "mp77",
24122 "mp78",
24123 "mp79",
24124 "mp80",
24125 "mp81",
24126 "mp82",
24127 "mp83",
24128 "mp84",
24129 "mp85",
24130 "mp86",
24131 "mp87",
24132 "mp88",
24133 "mp89",
24134 "mp90",
24135 "mp91",
24136 "mp92",
24137 "mp93",
24138 "mp94",
24139 "mp95",
24140 "mp96",
24141 "mp97",
24142 "mp98",
24143 "mp99",
24144 "mp100",
24145 "mp101",
24146 "mp102",
24147 "mp103",
24148 "mp104",
24149 "mp105",
24150 "mp106",
24151 "mp107",
24152 "mp108",
24153 "mp109",
24154 "mp110",
24155 "mp111",
24156 "mp112",
24157 "mp113",
24158 "mp114",
24159 "mp115",
24160 "mp116",
24161 "mp117",
24162 "mp118",
24163 "mp119",
24164 "mp120",
24165 "mp121",
24166 "mp122",
24167 "mp123",
24168 "mp124",
24169 "mp125",
24170 "mp126",
24171 "mp127",
24172 "mp128",
24173 "mp129",
24174 "mp130",
24175 "mp131",
24176 "mp132",
24177 "mp133",
24178 "mp134",
24179 "mp135",
24180 "mp136",
24181 "mp137",
24182 "mp138",
24183 "mp139",
24184 "mp140",
24185 "mp141",
24186 "mp142",
24187 "mp143",
24188 "mp144",
24189 "mp145",
24190 "mp146",
24191 "mp147",
24192 "mp148",
24193 "mp149",
24194 "mp150",
24195 "mp151",
24196 "mp152",
24197 "mp153",
24198 "mp154",
24199 "mp155",
24200 "mp156",
24201 "mp157",
24202 "mp158",
24203 "mp159",
24204 "mp160",
24205 "mp161",
24206 "mp162",
24207 "mp163",
24208 "mp164",
24209 "mp165",
24210 "mp166",
24211 "mp167",
24212 "mp168",
24213 "mp169",
24214 "mp170",
24215 "mp171",
24216 "mp172",
24217 "mp173",
24218 "mp174",
24219 "mp175",
24220 "mp176",
24221 "mp177",
24222 "mp178",
24223 "mp179",
24224 "mp180",
24225 "mp181",
24226 "mp182",
24227 "mp183",
24228 "mp184",
24229 "mp185",
24230 "mp186",
24231 "mp187",
24232 "mp188",
24233 "mp189",
24234 "mp190",
24235 "mp191",
24236 "mp192",
24237 "mp193",
24238 "mp194",
24239 "mp195",
24240 "mp196",
24241 "mp197",
24242 "mp198",
24243 "mp199",
24244 "mp200",
24245 "mp201",
24246 "mp202",
24247 "mp203",
24248 "mp204",
24249 "mp205",
24250 "mp206",
24251 "mp207",
24252 "mp208",
24253 "mp209",
24254 "mp210",
24255 "mp211",
24256 "mp212",
24257 "mp213",
24258 "mp214",
24259 "mp215",
24260 "mp216",
24261 "mp217",
24262 "mp218",
24263 "mp219",
24264 "mp220",
24265 "mp221",
24266 "mp222",
24267 "mp223",
24268 "mp224",
24269 "mp225",
24270 "mp226",
24271 "mp227",
24272 "mp228",
24273 "mp229",
24274 "mp230",
24275 "mp231",
24276 "mp232",
24277 "mp233",
24278 "mp234",
24279 "mp235",
24280 "mp236",
24281 "mp237",
24282 "mp238",
24283 "mp239",
24284 "mp240",
24285 "mp241",
24286 "mp242",
24287 "mp243",
24288 "mp244",
24289 "mp245",
24290 "mp246",
24291 "mp247",
24292 "mp248",
24293 "mp249",
24294 "mp250",
24295 "mp251",
24296 "mp252",
24297 "mp253",
24298 "mp254",
24299 "mp255"
44660702 24300 ],
44660702
DM
24301 "type" : "string"
24302 },
7aacca6f 24303 "node" : {
44660702 24304 "description" : "The cluster node name.",
7aacca6f 24305 "format" : "pve-node",
013dc89f
DM
24306 "type" : "string",
24307 "typetext" : "<string>"
7aacca6f 24308 },
4d47f125
TL
24309 "size" : {
24310 "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.",
24311 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 24312 "type" : "string"
7aacca6f
DM
24313 },
24314 "vmid" : {
24315 "description" : "The (unique) ID of the VM.",
44660702 24316 "format" : "pve-vmid",
7aacca6f 24317 "minimum" : 1,
4bd7df8b 24318 "type" : "integer",
013dc89f 24319 "typetext" : "<integer> (1 - N)"
56122987 24320 }
56122987
DM
24321 }
24322 },
56122987
DM
24323 "permissions" : {
24324 "check" : [
24325 "perm",
24326 "/vms/{vmid}",
24327 [
4d47f125
TL
24328 "VM.Config.Disk"
24329 ],
24330 "any",
24331 1
56122987
DM
24332 ]
24333 },
7aacca6f 24334 "protected" : 1,
4d47f125 24335 "proxyto" : "node",
7aacca6f 24336 "returns" : {
4d47f125
TL
24337 "description" : "the task ID.",
24338 "type" : "string"
44660702 24339 }
56122987
DM
24340 }
24341 },
44660702 24342 "leaf" : 1,
4d47f125
TL
24343 "path" : "/nodes/{node}/lxc/{vmid}/resize",
24344 "text" : "resize"
56122987
DM
24345 },
24346 {
24347 "info" : {
24348 "POST" : {
4d47f125 24349 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 24350 "method" : "POST",
4d47f125 24351 "name" : "move_volume",
7aacca6f 24352 "parameters" : {
44660702 24353 "additionalProperties" : 0,
7aacca6f 24354 "properties" : {
95895385
TL
24355 "bwlimit" : {
24356 "default" : "clone limit from datacenter or storage config",
24357 "description" : "Override I/O bandwidth limit (in KiB/s).",
24358 "minimum" : "0",
24359 "optional" : 1,
24360 "type" : "number",
24361 "typetext" : "<number> (0 - N)"
24362 },
4d47f125
TL
24363 "delete" : {
24364 "default" : 0,
24365 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 24366 "optional" : 1,
4d47f125
TL
24367 "type" : "boolean",
24368 "typetext" : "<boolean>"
24369 },
24370 "digest" : {
24371 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24372 "maxLength" : 40,
24373 "optional" : 1,
24374 "type" : "string",
24375 "typetext" : "<string>"
5d9c884c 24376 },
44660702
DM
24377 "node" : {
24378 "description" : "The cluster node name.",
24379 "format" : "pve-node",
013dc89f
DM
24380 "type" : "string",
24381 "typetext" : "<string>"
44660702 24382 },
4d47f125
TL
24383 "storage" : {
24384 "description" : "Target Storage.",
24385 "format" : "pve-storage-id",
24386 "type" : "string",
24387 "typetext" : "<string>"
24388 },
7aacca6f 24389 "vmid" : {
44660702 24390 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
24391 "format" : "pve-vmid",
24392 "minimum" : 1,
4bd7df8b 24393 "type" : "integer",
013dc89f 24394 "typetext" : "<integer> (1 - N)"
7aacca6f 24395 },
4d47f125
TL
24396 "volume" : {
24397 "description" : "Volume which will be moved.",
24398 "enum" : [
24399 "rootfs",
24400 "mp0",
24401 "mp1",
24402 "mp2",
24403 "mp3",
24404 "mp4",
24405 "mp5",
24406 "mp6",
24407 "mp7",
24408 "mp8",
24409 "mp9",
24410 "mp10",
24411 "mp11",
24412 "mp12",
24413 "mp13",
24414 "mp14",
24415 "mp15",
24416 "mp16",
24417 "mp17",
24418 "mp18",
24419 "mp19",
24420 "mp20",
24421 "mp21",
24422 "mp22",
24423 "mp23",
24424 "mp24",
24425 "mp25",
24426 "mp26",
24427 "mp27",
24428 "mp28",
24429 "mp29",
24430 "mp30",
24431 "mp31",
24432 "mp32",
24433 "mp33",
24434 "mp34",
24435 "mp35",
24436 "mp36",
24437 "mp37",
24438 "mp38",
24439 "mp39",
24440 "mp40",
24441 "mp41",
24442 "mp42",
24443 "mp43",
24444 "mp44",
24445 "mp45",
24446 "mp46",
24447 "mp47",
24448 "mp48",
24449 "mp49",
24450 "mp50",
24451 "mp51",
24452 "mp52",
24453 "mp53",
24454 "mp54",
24455 "mp55",
24456 "mp56",
24457 "mp57",
24458 "mp58",
24459 "mp59",
24460 "mp60",
24461 "mp61",
24462 "mp62",
24463 "mp63",
24464 "mp64",
24465 "mp65",
24466 "mp66",
24467 "mp67",
24468 "mp68",
24469 "mp69",
24470 "mp70",
24471 "mp71",
24472 "mp72",
24473 "mp73",
24474 "mp74",
24475 "mp75",
24476 "mp76",
24477 "mp77",
24478 "mp78",
24479 "mp79",
24480 "mp80",
24481 "mp81",
24482 "mp82",
24483 "mp83",
24484 "mp84",
24485 "mp85",
24486 "mp86",
24487 "mp87",
24488 "mp88",
24489 "mp89",
24490 "mp90",
24491 "mp91",
24492 "mp92",
24493 "mp93",
24494 "mp94",
24495 "mp95",
24496 "mp96",
24497 "mp97",
24498 "mp98",
24499 "mp99",
24500 "mp100",
24501 "mp101",
24502 "mp102",
24503 "mp103",
24504 "mp104",
24505 "mp105",
24506 "mp106",
24507 "mp107",
24508 "mp108",
24509 "mp109",
24510 "mp110",
24511 "mp111",
24512 "mp112",
24513 "mp113",
24514 "mp114",
24515 "mp115",
24516 "mp116",
24517 "mp117",
24518 "mp118",
24519 "mp119",
24520 "mp120",
24521 "mp121",
24522 "mp122",
24523 "mp123",
24524 "mp124",
24525 "mp125",
24526 "mp126",
24527 "mp127",
24528 "mp128",
24529 "mp129",
24530 "mp130",
24531 "mp131",
24532 "mp132",
24533 "mp133",
24534 "mp134",
24535 "mp135",
24536 "mp136",
24537 "mp137",
24538 "mp138",
24539 "mp139",
24540 "mp140",
24541 "mp141",
24542 "mp142",
24543 "mp143",
24544 "mp144",
24545 "mp145",
24546 "mp146",
24547 "mp147",
24548 "mp148",
24549 "mp149",
24550 "mp150",
24551 "mp151",
24552 "mp152",
24553 "mp153",
24554 "mp154",
24555 "mp155",
24556 "mp156",
24557 "mp157",
24558 "mp158",
24559 "mp159",
24560 "mp160",
24561 "mp161",
24562 "mp162",
24563 "mp163",
24564 "mp164",
24565 "mp165",
24566 "mp166",
24567 "mp167",
24568 "mp168",
24569 "mp169",
24570 "mp170",
24571 "mp171",
24572 "mp172",
24573 "mp173",
24574 "mp174",
24575 "mp175",
24576 "mp176",
24577 "mp177",
24578 "mp178",
24579 "mp179",
24580 "mp180",
24581 "mp181",
24582 "mp182",
24583 "mp183",
24584 "mp184",
24585 "mp185",
24586 "mp186",
24587 "mp187",
24588 "mp188",
24589 "mp189",
24590 "mp190",
24591 "mp191",
24592 "mp192",
24593 "mp193",
24594 "mp194",
24595 "mp195",
24596 "mp196",
24597 "mp197",
24598 "mp198",
24599 "mp199",
24600 "mp200",
24601 "mp201",
24602 "mp202",
24603 "mp203",
24604 "mp204",
24605 "mp205",
24606 "mp206",
24607 "mp207",
24608 "mp208",
24609 "mp209",
24610 "mp210",
24611 "mp211",
24612 "mp212",
24613 "mp213",
24614 "mp214",
24615 "mp215",
24616 "mp216",
24617 "mp217",
24618 "mp218",
24619 "mp219",
24620 "mp220",
24621 "mp221",
24622 "mp222",
24623 "mp223",
24624 "mp224",
24625 "mp225",
24626 "mp226",
24627 "mp227",
24628 "mp228",
24629 "mp229",
24630 "mp230",
24631 "mp231",
24632 "mp232",
24633 "mp233",
24634 "mp234",
24635 "mp235",
24636 "mp236",
24637 "mp237",
24638 "mp238",
24639 "mp239",
24640 "mp240",
24641 "mp241",
24642 "mp242",
24643 "mp243",
24644 "mp244",
24645 "mp245",
24646 "mp246",
24647 "mp247",
24648 "mp248",
24649 "mp249",
24650 "mp250",
24651 "mp251",
24652 "mp252",
24653 "mp253",
24654 "mp254",
24655 "mp255"
24656 ],
24657 "type" : "string"
7aacca6f 24658 }
44660702 24659 }
7aacca6f 24660 },
56122987
DM
24661 "permissions" : {
24662 "check" : [
4d47f125 24663 "and",
56122987 24664 [
4d47f125
TL
24665 "perm",
24666 "/vms/{vmid}",
24667 [
24668 "VM.Config.Disk"
24669 ]
24670 ],
24671 [
24672 "perm",
24673 "/storage/{storage}",
24674 [
24675 "Datastore.AllocateSpace"
24676 ]
56122987 24677 ]
4d47f125
TL
24678 ],
24679 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
24680 },
24681 "protected" : 1,
24682 "proxyto" : "node",
24683 "returns" : {
24684 "type" : "string"
24685 }
24686 }
24687 },
24688 "leaf" : 1,
24689 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
24690 "text" : "move_volume"
24691 }
24692 ],
24693 "info" : {
24694 "DELETE" : {
24695 "description" : "Destroy the container (also delete all uses files).",
24696 "method" : "DELETE",
24697 "name" : "destroy_vm",
24698 "parameters" : {
24699 "additionalProperties" : 0,
24700 "properties" : {
24701 "node" : {
24702 "description" : "The cluster node name.",
24703 "format" : "pve-node",
24704 "type" : "string",
24705 "typetext" : "<string>"
24706 },
24707 "vmid" : {
24708 "description" : "The (unique) ID of the VM.",
24709 "format" : "pve-vmid",
24710 "minimum" : 1,
24711 "type" : "integer",
24712 "typetext" : "<integer> (1 - N)"
24713 }
24714 }
24715 },
24716 "permissions" : {
24717 "check" : [
24718 "perm",
24719 "/vms/{vmid}",
24720 [
24721 "VM.Allocate"
24722 ]
24723 ]
24724 },
24725 "protected" : 1,
24726 "proxyto" : "node",
24727 "returns" : {
24728 "type" : "string"
24729 }
24730 },
24731 "GET" : {
24732 "description" : "Directory index",
24733 "method" : "GET",
24734 "name" : "vmdiridx",
24735 "parameters" : {
24736 "additionalProperties" : 0,
24737 "properties" : {
24738 "node" : {
24739 "description" : "The cluster node name.",
24740 "format" : "pve-node",
24741 "type" : "string",
24742 "typetext" : "<string>"
56122987 24743 },
4d47f125
TL
24744 "vmid" : {
24745 "description" : "The (unique) ID of the VM.",
24746 "format" : "pve-vmid",
24747 "minimum" : 1,
24748 "type" : "integer",
24749 "typetext" : "<integer> (1 - N)"
56122987
DM
24750 }
24751 }
24752 },
4d47f125
TL
24753 "permissions" : {
24754 "user" : "all"
24755 },
24756 "proxyto" : "node",
24757 "returns" : {
24758 "items" : {
24759 "properties" : {
24760 "subdir" : {
24761 "type" : "string"
35a75dd3
DM
24762 }
24763 },
4d47f125
TL
24764 "type" : "object"
24765 },
24766 "links" : [
24767 {
24768 "href" : "{subdir}",
24769 "rel" : "child"
35a75dd3 24770 }
4d47f125
TL
24771 ],
24772 "type" : "array"
24773 }
24774 }
24775 },
24776 "leaf" : 0,
24777 "path" : "/nodes/{node}/lxc/{vmid}",
24778 "text" : "{vmid}"
24779 }
24780 ],
24781 "info" : {
24782 "GET" : {
24783 "description" : "LXC container index (per node).",
24784 "method" : "GET",
24785 "name" : "vmlist",
24786 "parameters" : {
24787 "additionalProperties" : 0,
24788 "properties" : {
24789 "node" : {
24790 "description" : "The cluster node name.",
24791 "format" : "pve-node",
24792 "type" : "string",
24793 "typetext" : "<string>"
24794 }
24795 }
24796 },
24797 "permissions" : {
24798 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
24799 "user" : "all"
24800 },
24801 "protected" : 1,
24802 "proxyto" : "node",
24803 "returns" : {
24804 "items" : {
24805 "properties" : {
24806 "cpus" : {
24807 "description" : "Maximum usable CPUs.",
24808 "optional" : 1,
24809 "type" : "number"
24810 },
95895385
TL
24811 "lock" : {
24812 "description" : "The current config lock, if any.",
24813 "optional" : 1,
24814 "type" : "string"
24815 },
4d47f125
TL
24816 "maxdisk" : {
24817 "description" : "Root disk size in bytes.",
24818 "optional" : 1,
24819 "renderer" : "bytes",
24820 "type" : "integer"
24821 },
24822 "maxmem" : {
24823 "description" : "Maximum memory in bytes.",
24824 "optional" : 1,
24825 "renderer" : "bytes",
24826 "type" : "integer"
24827 },
24828 "maxswap" : {
24829 "description" : "Maximum SWAP memory in bytes.",
24830 "optional" : 1,
24831 "renderer" : "bytes",
24832 "type" : "integer"
24833 },
24834 "name" : {
24835 "description" : "Container name.",
24836 "optional" : 1,
24837 "type" : "string"
24838 },
24839 "status" : {
24840 "description" : "LXC Container status.",
24841 "enum" : [
24842 "stopped",
24843 "running"
24844 ],
24845 "type" : "string"
24846 },
24847 "uptime" : {
24848 "description" : "Uptime.",
24849 "optional" : 1,
24850 "renderer" : "duration",
24851 "type" : "integer"
24852 },
24853 "vmid" : {
24854 "description" : "The (unique) ID of the VM.",
24855 "format" : "pve-vmid",
24856 "minimum" : 1,
24857 "type" : "integer"
35a75dd3
DM
24858 }
24859 },
4d47f125 24860 "type" : "object"
35a75dd3 24861 },
4d47f125
TL
24862 "links" : [
24863 {
24864 "href" : "{vmid}",
24865 "rel" : "child"
24866 }
24867 ],
24868 "type" : "array"
24869 }
24870 },
24871 "POST" : {
24872 "description" : "Create or restore a container.",
24873 "method" : "POST",
24874 "name" : "create_vm",
24875 "parameters" : {
24876 "additionalProperties" : 0,
24877 "properties" : {
24878 "arch" : {
24879 "default" : "amd64",
24880 "description" : "OS architecture type.",
24881 "enum" : [
24882 "amd64",
24883 "i386",
24884 "arm64",
24885 "armhf"
24886 ],
24887 "optional" : 1,
24888 "type" : "string"
24889 },
24890 "bwlimit" : {
95895385
TL
24891 "default" : "restore limit from datacenter or storage config",
24892 "description" : "Override I/O bandwidth limit (in KiB/s).",
4d47f125
TL
24893 "minimum" : "0",
24894 "optional" : 1,
24895 "type" : "number",
24896 "typetext" : "<number> (0 - N)"
24897 },
24898 "cmode" : {
24899 "default" : "tty",
24900 "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).",
24901 "enum" : [
24902 "shell",
24903 "console",
24904 "tty"
24905 ],
24906 "optional" : 1,
24907 "type" : "string"
24908 },
24909 "console" : {
24910 "default" : 1,
24911 "description" : "Attach a console device (/dev/console) to the container.",
24912 "optional" : 1,
24913 "type" : "boolean",
24914 "typetext" : "<boolean>"
24915 },
24916 "cores" : {
24917 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
24918 "maximum" : 128,
24919 "minimum" : 1,
24920 "optional" : 1,
24921 "type" : "integer",
24922 "typetext" : "<integer> (1 - 128)"
24923 },
24924 "cpulimit" : {
24925 "default" : 0,
24926 "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.",
24927 "maximum" : 128,
24928 "minimum" : 0,
24929 "optional" : 1,
24930 "type" : "number",
24931 "typetext" : "<number> (0 - 128)"
24932 },
24933 "cpuunits" : {
24934 "default" : 1024,
24935 "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.",
24936 "maximum" : 500000,
24937 "minimum" : 0,
24938 "optional" : 1,
24939 "type" : "integer",
24940 "typetext" : "<integer> (0 - 500000)"
24941 },
24942 "description" : {
24943 "description" : "Container description. Only used on the configuration web interface.",
24944 "optional" : 1,
24945 "type" : "string",
24946 "typetext" : "<string>"
24947 },
24948 "features" : {
24949 "description" : "Allow containers access to advanced features.",
24950 "format" : {
e2d681b3
TL
24951 "fuse" : {
24952 "default" : 0,
24953 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
24954 "optional" : 1,
24955 "type" : "boolean"
24956 },
4d47f125
TL
24957 "keyctl" : {
24958 "default" : 0,
24959 "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.",
24960 "optional" : 1,
24961 "type" : "boolean"
7aacca6f 24962 },
4d47f125
TL
24963 "mount" : {
24964 "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.",
24965 "format_description" : "fstype;fstype;...",
24966 "optional" : 1,
95895385 24967 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125 24968 "type" : "string"
56122987 24969 },
4d47f125
TL
24970 "nesting" : {
24971 "default" : 0,
24972 "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.",
24973 "optional" : 1,
24974 "type" : "boolean"
44660702 24975 }
4d47f125
TL
24976 },
24977 "optional" : 1,
24978 "type" : "string",
e2d681b3 24979 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 24980 },
4d47f125
TL
24981 "force" : {
24982 "description" : "Allow to overwrite existing container.",
24983 "optional" : 1,
24984 "type" : "boolean",
24985 "typetext" : "<boolean>"
24986 },
5f26e15b
TL
24987 "hookscript" : {
24988 "description" : "Script that will be exectued during various steps in the containers lifetime.",
24989 "format" : "pve-volume-id",
24990 "optional" : 1,
24991 "type" : "string",
24992 "typetext" : "<string>"
24993 },
4d47f125
TL
24994 "hostname" : {
24995 "description" : "Set a host name for the container.",
24996 "format" : "dns-name",
24997 "maxLength" : 255,
24998 "optional" : 1,
24999 "type" : "string",
25000 "typetext" : "<string>"
25001 },
25002 "ignore-unpack-errors" : {
25003 "description" : "Ignore errors when extracting the template.",
25004 "optional" : 1,
25005 "type" : "boolean",
25006 "typetext" : "<boolean>"
25007 },
25008 "lock" : {
25009 "description" : "Lock/unlock the VM.",
25010 "enum" : [
25011 "backup",
bb4c8cf8 25012 "create",
4d47f125 25013 "disk",
bb4c8cf8 25014 "fstrim",
4d47f125
TL
25015 "migrate",
25016 "mounted",
25017 "rollback",
25018 "snapshot",
25019 "snapshot-delete"
25020 ],
25021 "optional" : 1,
25022 "type" : "string"
25023 },
25024 "memory" : {
25025 "default" : 512,
25026 "description" : "Amount of RAM for the VM in MB.",
25027 "minimum" : 16,
25028 "optional" : 1,
25029 "type" : "integer",
25030 "typetext" : "<integer> (16 - N)"
25031 },
25032 "mp[n]" : {
25033 "description" : "Use volume as container mount point.",
25034 "format" : {
25035 "acl" : {
25036 "description" : "Explicitly enable or disable ACL support.",
25037 "optional" : 1,
25038 "type" : "boolean"
56122987 25039 },
4d47f125
TL
25040 "backup" : {
25041 "description" : "Whether to include the mount point in backups.",
25042 "optional" : 1,
25043 "type" : "boolean",
25044 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 25045 },
7cbed89a
TL
25046 "mountoptions" : {
25047 "description" : "Extra mount options for rootfs/mps.",
25048 "format_description" : "opt[;opt...]",
25049 "optional" : 1,
25050 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
25051 "type" : "string"
25052 },
4d47f125
TL
25053 "mp" : {
25054 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
25055 "format" : "pve-lxc-mp-string",
25056 "format_description" : "Path",
25057 "type" : "string",
25058 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 25059 },
4d47f125
TL
25060 "quota" : {
25061 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
25062 "optional" : 1,
25063 "type" : "boolean"
25064 },
25065 "replicate" : {
25066 "default" : 1,
25067 "description" : "Will include this volume to a storage replica job.",
25068 "optional" : 1,
25069 "type" : "boolean"
25070 },
25071 "ro" : {
25072 "description" : "Read-only mount point",
25073 "optional" : 1,
25074 "type" : "boolean"
25075 },
25076 "shared" : {
25077 "default" : 0,
25078 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
25079 "optional" : 1,
25080 "type" : "boolean",
25081 "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 25082 },
4d47f125
TL
25083 "size" : {
25084 "description" : "Volume size (read only value).",
25085 "format" : "disk-size",
25086 "format_description" : "DiskSize",
25087 "optional" : 1,
25088 "type" : "string"
25089 },
25090 "volume" : {
25091 "default_key" : 1,
25092 "description" : "Volume, device or directory to mount into the container.",
25093 "format" : "pve-lxc-mp-string",
25094 "format_description" : "volume",
44660702
DM
25095 "type" : "string"
25096 }
4d47f125
TL
25097 },
25098 "optional" : 1,
25099 "type" : "string",
7cbed89a 25100 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 25101 },
4d47f125
TL
25102 "nameserver" : {
25103 "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.",
25104 "format" : "address-list",
25105 "optional" : 1,
25106 "type" : "string",
25107 "typetext" : "<string>"
25108 },
25109 "net[n]" : {
25110 "description" : "Specifies network interfaces for the container.",
25111 "format" : {
25112 "bridge" : {
25113 "description" : "Bridge to attach the network device to.",
25114 "format_description" : "bridge",
25115 "optional" : 1,
25116 "pattern" : "[-_.\\w\\d]+",
25117 "type" : "string"
56122987 25118 },
4d47f125
TL
25119 "firewall" : {
25120 "description" : "Controls whether this interface's firewall rules should be used.",
25121 "optional" : 1,
25122 "type" : "boolean"
56122987 25123 },
4d47f125
TL
25124 "gw" : {
25125 "description" : "Default gateway for IPv4 traffic.",
25126 "format" : "ipv4",
25127 "format_description" : "GatewayIPv4",
25128 "optional" : 1,
25129 "type" : "string"
25130 },
25131 "gw6" : {
25132 "description" : "Default gateway for IPv6 traffic.",
25133 "format" : "ipv6",
25134 "format_description" : "GatewayIPv6",
25135 "optional" : 1,
25136 "type" : "string"
25137 },
25138 "hwaddr" : {
25139 "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 25140 "format" : "mac-addr",
4d47f125
TL
25141 "format_description" : "XX:XX:XX:XX:XX:XX",
25142 "optional" : 1,
95895385
TL
25143 "type" : "string",
25144 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
25145 },
25146 "ip" : {
25147 "description" : "IPv4 address in CIDR format.",
25148 "format" : "pve-ipv4-config",
25149 "format_description" : "(IPv4/CIDR|dhcp|manual)",
25150 "optional" : 1,
25151 "type" : "string"
25152 },
25153 "ip6" : {
25154 "description" : "IPv6 address in CIDR format.",
25155 "format" : "pve-ipv6-config",
25156 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
25157 "optional" : 1,
25158 "type" : "string"
25159 },
25160 "mtu" : {
25161 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
25162 "minimum" : 64,
25163 "optional" : 1,
25164 "type" : "integer"
25165 },
25166 "name" : {
25167 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
25168 "format_description" : "string",
25169 "pattern" : "[-_.\\w\\d]+",
25170 "type" : "string"
25171 },
25172 "rate" : {
25173 "description" : "Apply rate limiting to the interface",
25174 "format_description" : "mbps",
25175 "optional" : 1,
25176 "type" : "number"
25177 },
25178 "tag" : {
25179 "description" : "VLAN tag for this interface.",
25180 "maximum" : 4094,
25181 "minimum" : 1,
25182 "optional" : 1,
25183 "type" : "integer"
25184 },
25185 "trunks" : {
25186 "description" : "VLAN ids to pass through the interface",
25187 "format_description" : "vlanid[;vlanid...]",
25188 "optional" : 1,
25189 "pattern" : "(?^:\\d+(?:;\\d+)*)",
25190 "type" : "string"
25191 },
25192 "type" : {
25193 "description" : "Network interface type.",
25194 "enum" : [
25195 "veth"
25196 ],
25197 "optional" : 1,
25198 "type" : "string"
7aacca6f 25199 }
4d47f125
TL
25200 },
25201 "optional" : 1,
25202 "type" : "string",
25203 "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 25204 },
4d47f125
TL
25205 "node" : {
25206 "description" : "The cluster node name.",
25207 "format" : "pve-node",
25208 "type" : "string",
25209 "typetext" : "<string>"
25210 },
25211 "onboot" : {
25212 "default" : 0,
25213 "description" : "Specifies whether a VM will be started during system bootup.",
25214 "optional" : 1,
25215 "type" : "boolean",
25216 "typetext" : "<boolean>"
25217 },
25218 "ostemplate" : {
25219 "description" : "The OS template or backup file.",
25220 "maxLength" : 255,
25221 "type" : "string",
25222 "typetext" : "<string>"
25223 },
25224 "ostype" : {
25225 "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.",
25226 "enum" : [
25227 "debian",
25228 "ubuntu",
25229 "centos",
25230 "fedora",
25231 "opensuse",
25232 "archlinux",
25233 "alpine",
25234 "gentoo",
25235 "unmanaged"
25236 ],
25237 "optional" : 1,
25238 "type" : "string"
25239 },
25240 "password" : {
25241 "description" : "Sets root password inside container.",
25242 "minLength" : 5,
25243 "optional" : 1,
25244 "type" : "string",
25245 "typetext" : "<string>"
25246 },
25247 "pool" : {
25248 "description" : "Add the VM to the specified pool.",
25249 "format" : "pve-poolid",
25250 "optional" : 1,
25251 "type" : "string",
25252 "typetext" : "<string>"
25253 },
25254 "protection" : {
25255 "default" : 0,
25256 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
25257 "optional" : 1,
25258 "type" : "boolean",
25259 "typetext" : "<boolean>"
25260 },
25261 "restore" : {
25262 "description" : "Mark this as restore task.",
25263 "optional" : 1,
25264 "type" : "boolean",
25265 "typetext" : "<boolean>"
25266 },
25267 "rootfs" : {
25268 "description" : "Use volume as container root.",
25269 "format" : {
25270 "acl" : {
25271 "description" : "Explicitly enable or disable ACL support.",
25272 "optional" : 1,
25273 "type" : "boolean"
56122987 25274 },
7cbed89a
TL
25275 "mountoptions" : {
25276 "description" : "Extra mount options for rootfs/mps.",
25277 "format_description" : "opt[;opt...]",
25278 "optional" : 1,
25279 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
25280 "type" : "string"
25281 },
4d47f125
TL
25282 "quota" : {
25283 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
25284 "optional" : 1,
25285 "type" : "boolean"
7aacca6f 25286 },
4d47f125
TL
25287 "replicate" : {
25288 "default" : 1,
25289 "description" : "Will include this volume to a storage replica job.",
25290 "optional" : 1,
25291 "type" : "boolean"
25292 },
25293 "ro" : {
25294 "description" : "Read-only mount point",
25295 "optional" : 1,
25296 "type" : "boolean"
25297 },
25298 "shared" : {
25299 "default" : 0,
25300 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
25301 "optional" : 1,
25302 "type" : "boolean",
25303 "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!"
25304 },
25305 "size" : {
25306 "description" : "Volume size (read only value).",
25307 "format" : "disk-size",
25308 "format_description" : "DiskSize",
25309 "optional" : 1,
25310 "type" : "string"
25311 },
25312 "volume" : {
25313 "default_key" : 1,
25314 "description" : "Volume, device or directory to mount into the container.",
25315 "format" : "pve-lxc-mp-string",
25316 "format_description" : "volume",
25317 "type" : "string"
56122987 25318 }
4d47f125
TL
25319 },
25320 "optional" : 1,
25321 "type" : "string",
7cbed89a 25322 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 25323 },
4d47f125
TL
25324 "searchdomain" : {
25325 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
25326 "format" : "dns-name-list",
25327 "optional" : 1,
25328 "type" : "string",
25329 "typetext" : "<string>"
25330 },
25331 "ssh-public-keys" : {
25332 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
25333 "optional" : 1,
25334 "type" : "string",
25335 "typetext" : "<string>"
25336 },
25337 "start" : {
25338 "default" : 0,
25339 "description" : "Start the CT after its creation finished successfully.",
25340 "optional" : 1,
25341 "type" : "boolean",
25342 "typetext" : "<boolean>"
25343 },
25344 "startup" : {
25345 "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.",
25346 "format" : "pve-startup-order",
25347 "optional" : 1,
25348 "type" : "string",
25349 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
25350 },
25351 "storage" : {
25352 "default" : "local",
25353 "description" : "Default Storage.",
25354 "format" : "pve-storage-id",
25355 "optional" : 1,
25356 "type" : "string",
25357 "typetext" : "<string>"
25358 },
25359 "swap" : {
25360 "default" : 512,
25361 "description" : "Amount of SWAP for the VM in MB.",
25362 "minimum" : 0,
25363 "optional" : 1,
25364 "type" : "integer",
25365 "typetext" : "<integer> (0 - N)"
25366 },
25367 "template" : {
25368 "default" : 0,
25369 "description" : "Enable/disable Template.",
25370 "optional" : 1,
25371 "type" : "boolean",
25372 "typetext" : "<boolean>"
25373 },
25374 "tty" : {
25375 "default" : 2,
25376 "description" : "Specify the number of tty available to the container",
25377 "maximum" : 6,
25378 "minimum" : 0,
25379 "optional" : 1,
25380 "type" : "integer",
25381 "typetext" : "<integer> (0 - 6)"
25382 },
95895385
TL
25383 "unique" : {
25384 "description" : "Assign a unique random ethernet address.",
25385 "optional" : 1,
25386 "requires" : "restore",
25387 "type" : "boolean",
25388 "typetext" : "<boolean>"
25389 },
4d47f125
TL
25390 "unprivileged" : {
25391 "default" : 0,
25392 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
25393 "optional" : 1,
25394 "type" : "boolean",
25395 "typetext" : "<boolean>"
25396 },
25397 "unused[n]" : {
25398 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
25399 "format" : "pve-volume-id",
25400 "optional" : 1,
25401 "type" : "string",
25402 "typetext" : "<string>"
25403 },
25404 "vmid" : {
25405 "description" : "The (unique) ID of the VM.",
25406 "format" : "pve-vmid",
25407 "minimum" : 1,
25408 "type" : "integer",
25409 "typetext" : "<integer> (1 - N)"
25410 }
25411 }
25412 },
25413 "permissions" : {
25414 "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.",
25415 "user" : "all"
25416 },
25417 "protected" : 1,
25418 "proxyto" : "node",
25419 "returns" : {
25420 "type" : "string"
25421 }
25422 }
25423 },
25424 "leaf" : 0,
25425 "path" : "/nodes/{node}/lxc",
25426 "text" : "lxc"
25427 },
25428 {
25429 "children" : [
25430 {
25431 "children" : [
56122987 25432 {
4d47f125
TL
25433 "children" : [
25434 {
25435 "info" : {
25436 "POST" : {
25437 "description" : "ceph osd in",
25438 "method" : "POST",
25439 "name" : "in",
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 }
27a7acb2 25455 },
4d47f125
TL
25456 "permissions" : {
25457 "check" : [
25458 "perm",
25459 "/",
25460 [
25461 "Sys.Modify"
25462 ]
25463 ]
44660702 25464 },
4d47f125
TL
25465 "protected" : 1,
25466 "proxyto" : "node",
25467 "returns" : {
25468 "type" : "null"
7aacca6f
DM
25469 }
25470 }
56122987 25471 },
4d47f125
TL
25472 "leaf" : 1,
25473 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
25474 "text" : "in"
25475 },
25476 {
25477 "info" : {
25478 "POST" : {
25479 "description" : "ceph osd out",
25480 "method" : "POST",
25481 "name" : "out",
25482 "parameters" : {
25483 "additionalProperties" : 0,
25484 "properties" : {
25485 "node" : {
25486 "description" : "The cluster node name.",
25487 "format" : "pve-node",
25488 "type" : "string",
25489 "typetext" : "<string>"
25490 },
25491 "osdid" : {
25492 "description" : "OSD ID",
25493 "type" : "integer",
25494 "typetext" : "<integer>"
25495 }
25496 }
25497 },
25498 "permissions" : {
25499 "check" : [
56122987 25500 "perm",
4d47f125 25501 "/",
56122987 25502 [
4d47f125 25503 "Sys.Modify"
56122987 25504 ]
56122987 25505 ]
44660702 25506 },
4d47f125
TL
25507 "protected" : 1,
25508 "proxyto" : "node",
25509 "returns" : {
25510 "type" : "null"
56122987 25511 }
44660702 25512 }
56122987 25513 },
4d47f125
TL
25514 "leaf" : 1,
25515 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
25516 "text" : "out"
7cbed89a
TL
25517 },
25518 {
25519 "info" : {
25520 "POST" : {
25521 "description" : "Instruct the OSD to scrub.",
25522 "method" : "POST",
25523 "name" : "scrub",
25524 "parameters" : {
25525 "additionalProperties" : 0,
25526 "properties" : {
25527 "deep" : {
25528 "default" : 0,
25529 "description" : "If set, instructs a deep scrub instead of a normal one.",
25530 "optional" : 1,
25531 "type" : "boolean",
25532 "typetext" : "<boolean>"
25533 },
25534 "node" : {
25535 "description" : "The cluster node name.",
25536 "format" : "pve-node",
25537 "type" : "string",
25538 "typetext" : "<string>"
25539 },
25540 "osdid" : {
25541 "description" : "OSD ID",
25542 "type" : "integer",
25543 "typetext" : "<integer>"
25544 }
25545 }
25546 },
25547 "permissions" : {
25548 "check" : [
25549 "perm",
25550 "/",
25551 [
25552 "Sys.Modify"
25553 ]
25554 ]
25555 },
25556 "protected" : 1,
25557 "proxyto" : "node",
25558 "returns" : {
25559 "type" : "null"
25560 }
25561 }
25562 },
25563 "leaf" : 1,
25564 "path" : "/nodes/{node}/ceph/osd/{osdid}/scrub",
25565 "text" : "scrub"
56122987 25566 }
4d47f125 25567 ],
27a7acb2 25568 "info" : {
4d47f125
TL
25569 "DELETE" : {
25570 "description" : "Destroy OSD",
25571 "method" : "DELETE",
25572 "name" : "destroyosd",
27a7acb2
DM
25573 "parameters" : {
25574 "additionalProperties" : 0,
25575 "properties" : {
4d47f125 25576 "cleanup" : {
27a7acb2 25577 "default" : 0,
4d47f125 25578 "description" : "If set, we remove partition table entries.",
27a7acb2 25579 "optional" : 1,
4d47f125
TL
25580 "type" : "boolean",
25581 "typetext" : "<boolean>"
25582 },
25583 "node" : {
25584 "description" : "The cluster node name.",
25585 "format" : "pve-node",
25586 "type" : "string",
25587 "typetext" : "<string>"
25588 },
25589 "osdid" : {
25590 "description" : "OSD ID",
25591 "type" : "integer",
25592 "typetext" : "<integer>"
25593 }
25594 }
27a7acb2
DM
25595 },
25596 "protected" : 1,
25597 "proxyto" : "node",
25598 "returns" : {
25599 "type" : "string"
25600 }
25601 }
25602 },
4d47f125
TL
25603 "leaf" : 0,
25604 "path" : "/nodes/{node}/ceph/osd/{osdid}",
25605 "text" : "{osdid}"
56122987
DM
25606 }
25607 ],
25608 "info" : {
4d47f125
TL
25609 "GET" : {
25610 "description" : "Get Ceph osd list/tree.",
25611 "method" : "GET",
25612 "name" : "index",
44660702
DM
25613 "parameters" : {
25614 "additionalProperties" : 0,
25615 "properties" : {
25616 "node" : {
25617 "description" : "The cluster node name.",
25618 "format" : "pve-node",
013dc89f
DM
25619 "type" : "string",
25620 "typetext" : "<string>"
44660702
DM
25621 }
25622 }
25623 },
7aacca6f
DM
25624 "permissions" : {
25625 "check" : [
25626 "perm",
4d47f125 25627 "/",
7aacca6f 25628 [
4d47f125
TL
25629 "Sys.Audit",
25630 "Datastore.Audit"
25631 ],
25632 "any",
25633 1
25634 ]
25635 },
25636 "protected" : 1,
25637 "proxyto" : "node",
25638 "returns" : {
25639 "type" : "object"
25640 }
25641 },
25642 "POST" : {
25643 "description" : "Create OSD",
25644 "method" : "POST",
25645 "name" : "createosd",
25646 "parameters" : {
25647 "additionalProperties" : 0,
25648 "properties" : {
1e3f8156
TL
25649 "db_dev" : {
25650 "description" : "Block device name for block.db.",
44660702 25651 "optional" : 1,
4bd7df8b 25652 "type" : "string",
4d47f125 25653 "typetext" : "<string>"
44660702 25654 },
1e3f8156
TL
25655 "db_size" : {
25656 "default" : "bluestore_block_db_size or 10% of OSD size",
25657 "description" : "Size in GiB for block.db.",
25658 "minimum" : 1,
7aacca6f 25659 "optional" : 1,
1e3f8156
TL
25660 "requires" : "db_dev",
25661 "type" : "number",
25662 "typetext" : "<number> (1 - N)",
25663 "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 25664 },
1e3f8156
TL
25665 "dev" : {
25666 "description" : "Block device name.",
4d47f125
TL
25667 "type" : "string",
25668 "typetext" : "<string>"
5d9c884c 25669 },
1e3f8156
TL
25670 "encrypted" : {
25671 "default" : 0,
25672 "description" : "Enables encryption of the OSD.",
25673 "optional" : 1,
25674 "type" : "boolean",
25675 "typetext" : "<boolean>"
25676 },
4d47f125
TL
25677 "node" : {
25678 "description" : "The cluster node name.",
25679 "format" : "pve-node",
25680 "type" : "string",
25681 "typetext" : "<string>"
7aacca6f 25682 },
4d47f125 25683 "wal_dev" : {
1e3f8156 25684 "description" : "Block device name for block.wal.",
de0983cb 25685 "optional" : 1,
4d47f125
TL
25686 "type" : "string",
25687 "typetext" : "<string>"
1e3f8156
TL
25688 },
25689 "wal_size" : {
25690 "default" : "bluestore_block_wal_size or 1% of OSD size",
25691 "description" : "Size in GiB for block.wal.",
25692 "minimum" : 0.5,
25693 "optional" : 1,
25694 "requires" : "wal_dev",
25695 "type" : "number",
25696 "typetext" : "<number> (0.5 - N)",
25697 "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
25698 }
25699 }
25700 },
25701 "protected" : 1,
25702 "proxyto" : "node",
25703 "returns" : {
25704 "type" : "string"
25705 }
25706 }
25707 },
25708 "leaf" : 0,
25709 "path" : "/nodes/{node}/ceph/osd",
25710 "text" : "osd"
25711 },
e2d681b3
TL
25712 {
25713 "children" : [
25714 {
25715 "info" : {
25716 "DELETE" : {
25717 "description" : "Destroy Ceph Metadata Server",
25718 "method" : "DELETE",
25719 "name" : "destroymds",
25720 "parameters" : {
25721 "additionalProperties" : 0,
25722 "properties" : {
25723 "name" : {
25724 "description" : "The name (ID) of the mds",
25725 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25726 "type" : "string"
25727 },
25728 "node" : {
25729 "description" : "The cluster node name.",
25730 "format" : "pve-node",
25731 "type" : "string",
25732 "typetext" : "<string>"
25733 }
25734 }
25735 },
25736 "permissions" : {
25737 "check" : [
25738 "perm",
25739 "/",
25740 [
25741 "Sys.Modify"
25742 ]
25743 ]
25744 },
25745 "protected" : 1,
25746 "proxyto" : "node",
25747 "returns" : {
25748 "type" : "string"
25749 }
25750 },
25751 "POST" : {
25752 "description" : "Create Ceph Metadata Server (MDS)",
25753 "method" : "POST",
25754 "name" : "createmds",
25755 "parameters" : {
25756 "additionalProperties" : 0,
25757 "properties" : {
25758 "hotstandby" : {
25759 "default" : "0",
25760 "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.",
25761 "optional" : 1,
25762 "type" : "boolean",
25763 "typetext" : "<boolean>"
25764 },
25765 "name" : {
25766 "default" : "nodename",
25767 "description" : "The ID for the mds, when omitted the same as the nodename",
25768 "optional" : 1,
25769 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25770 "type" : "string"
25771 },
25772 "node" : {
25773 "description" : "The cluster node name.",
25774 "format" : "pve-node",
25775 "type" : "string",
25776 "typetext" : "<string>"
25777 }
25778 }
25779 },
25780 "permissions" : {
25781 "check" : [
25782 "perm",
25783 "/",
25784 [
25785 "Sys.Modify"
25786 ]
25787 ]
25788 },
25789 "protected" : 1,
25790 "proxyto" : "node",
25791 "returns" : {
25792 "type" : "string"
25793 }
25794 }
25795 },
25796 "leaf" : 1,
25797 "path" : "/nodes/{node}/ceph/mds/{name}",
25798 "text" : "{name}"
25799 }
25800 ],
25801 "info" : {
25802 "GET" : {
25803 "description" : "MDS directory index.",
25804 "method" : "GET",
25805 "name" : "index",
25806 "parameters" : {
25807 "additionalProperties" : 0,
25808 "properties" : {
25809 "node" : {
25810 "description" : "The cluster node name.",
25811 "format" : "pve-node",
25812 "type" : "string",
25813 "typetext" : "<string>"
25814 }
25815 }
25816 },
25817 "permissions" : {
25818 "check" : [
25819 "perm",
25820 "/",
25821 [
25822 "Sys.Audit",
25823 "Datastore.Audit"
25824 ],
25825 "any",
25826 1
25827 ]
25828 },
25829 "protected" : 1,
25830 "proxyto" : "node",
25831 "returns" : {
25832 "items" : {
25833 "properties" : {
25834 "addr" : {
25835 "optional" : 1,
25836 "type" : "string"
25837 },
25838 "host" : {
25839 "optional" : 1,
25840 "type" : "string"
25841 },
25842 "name" : {
25843 "description" : "The name (ID) for the MDS"
25844 },
25845 "rank" : {
25846 "optional" : 1,
25847 "type" : "integer"
25848 },
25849 "standby_replay" : {
25850 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
25851 "optional" : 1,
25852 "type" : "boolean"
25853 },
25854 "state" : {
25855 "description" : "State of the MDS",
25856 "type" : "string"
25857 }
25858 },
25859 "type" : "object"
25860 },
25861 "links" : [
25862 {
25863 "href" : "{name}",
25864 "rel" : "child"
25865 }
25866 ],
25867 "type" : "array"
25868 }
25869 }
25870 },
25871 "leaf" : 0,
25872 "path" : "/nodes/{node}/ceph/mds",
25873 "text" : "mds"
25874 },
25875 {
25876 "children" : [
25877 {
25878 "info" : {
5f26e15b
TL
25879 "DELETE" : {
25880 "description" : "Destroy Ceph Manager.",
25881 "method" : "DELETE",
25882 "name" : "destroymgr",
e2d681b3
TL
25883 "parameters" : {
25884 "additionalProperties" : 0,
25885 "properties" : {
5f26e15b
TL
25886 "id" : {
25887 "description" : "The ID of the manager",
25888 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25889 "type" : "string"
e2d681b3
TL
25890 },
25891 "node" : {
25892 "description" : "The cluster node name.",
25893 "format" : "pve-node",
25894 "type" : "string",
25895 "typetext" : "<string>"
e2d681b3
TL
25896 }
25897 }
25898 },
25899 "permissions" : {
25900 "check" : [
25901 "perm",
25902 "/",
25903 [
25904 "Sys.Modify"
25905 ]
25906 ]
25907 },
25908 "protected" : 1,
25909 "proxyto" : "node",
25910 "returns" : {
25911 "type" : "string"
25912 }
1e3f8156
TL
25913 },
25914 "POST" : {
25915 "description" : "Create Ceph Manager",
25916 "method" : "POST",
25917 "name" : "createmgr",
25918 "parameters" : {
25919 "additionalProperties" : 0,
25920 "properties" : {
25921 "id" : {
25922 "description" : "The ID for the manager, when omitted the same as the nodename",
25923 "optional" : 1,
25924 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
25925 "type" : "string"
25926 },
25927 "node" : {
25928 "description" : "The cluster node name.",
25929 "format" : "pve-node",
25930 "type" : "string",
25931 "typetext" : "<string>"
25932 }
25933 }
25934 },
25935 "permissions" : {
25936 "check" : [
25937 "perm",
25938 "/",
25939 [
25940 "Sys.Modify"
25941 ]
25942 ]
25943 },
25944 "protected" : 1,
25945 "proxyto" : "node",
25946 "returns" : {
25947 "type" : "string"
25948 }
e2d681b3
TL
25949 }
25950 },
25951 "leaf" : 1,
5f26e15b
TL
25952 "path" : "/nodes/{node}/ceph/mgr/{id}",
25953 "text" : "{id}"
e2d681b3
TL
25954 }
25955 ],
25956 "info" : {
1e3f8156
TL
25957 "GET" : {
25958 "description" : "MGR directory index.",
25959 "method" : "GET",
25960 "name" : "index",
e2d681b3
TL
25961 "parameters" : {
25962 "additionalProperties" : 0,
25963 "properties" : {
25964 "node" : {
25965 "description" : "The cluster node name.",
25966 "format" : "pve-node",
25967 "type" : "string",
25968 "typetext" : "<string>"
25969 }
25970 }
25971 },
25972 "permissions" : {
25973 "check" : [
25974 "perm",
25975 "/",
25976 [
1e3f8156
TL
25977 "Sys.Audit",
25978 "Datastore.Audit"
25979 ],
25980 "any",
25981 1
e2d681b3
TL
25982 ]
25983 },
25984 "protected" : 1,
5f26e15b 25985 "proxyto" : "node",
e2d681b3 25986 "returns" : {
1e3f8156
TL
25987 "items" : {
25988 "properties" : {
25989 "addr" : {
25990 "optional" : 1,
25991 "type" : "string"
25992 },
25993 "host" : {
25994 "optional" : 1,
25995 "type" : "string"
25996 },
25997 "name" : {
25998 "description" : "The name (ID) for the MGR"
25999 },
26000 "state" : {
26001 "description" : "State of the MGR",
26002 "type" : "string"
26003 }
26004 },
26005 "type" : "object"
26006 },
26007 "links" : [
26008 {
26009 "href" : "{name}",
26010 "rel" : "child"
26011 }
26012 ],
26013 "type" : "array"
e2d681b3
TL
26014 }
26015 }
26016 },
26017 "leaf" : 0,
5f26e15b
TL
26018 "path" : "/nodes/{node}/ceph/mgr",
26019 "text" : "mgr"
e2d681b3 26020 },
4d47f125 26021 {
5f26e15b
TL
26022 "children" : [
26023 {
26024 "info" : {
26025 "DELETE" : {
26026 "description" : "Destroy Ceph Monitor and Manager.",
26027 "method" : "DELETE",
26028 "name" : "destroymon",
26029 "parameters" : {
26030 "additionalProperties" : 0,
26031 "properties" : {
1e3f8156
TL
26032 "monid" : {
26033 "description" : "Monitor ID",
26034 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
26035 "type" : "string"
26036 },
26037 "node" : {
26038 "description" : "The cluster node name.",
26039 "format" : "pve-node",
26040 "type" : "string",
26041 "typetext" : "<string>"
26042 }
26043 }
26044 },
26045 "permissions" : {
26046 "check" : [
26047 "perm",
26048 "/",
26049 [
26050 "Sys.Modify"
26051 ]
26052 ]
26053 },
26054 "protected" : 1,
26055 "proxyto" : "node",
26056 "returns" : {
26057 "type" : "string"
26058 }
26059 },
26060 "POST" : {
26061 "description" : "Create Ceph Monitor and Manager",
26062 "method" : "POST",
26063 "name" : "createmon",
26064 "parameters" : {
26065 "additionalProperties" : 0,
26066 "properties" : {
26067 "mon-address" : {
26068 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
26069 "format" : "ip",
5f26e15b 26070 "optional" : 1,
1e3f8156
TL
26071 "type" : "string",
26072 "typetext" : "<string>"
5f26e15b
TL
26073 },
26074 "monid" : {
1e3f8156
TL
26075 "description" : "The ID for the monitor, when omitted the same as the nodename",
26076 "optional" : 1,
5f26e15b
TL
26077 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
26078 "type" : "string"
26079 },
26080 "node" : {
26081 "description" : "The cluster node name.",
26082 "format" : "pve-node",
26083 "type" : "string",
26084 "typetext" : "<string>"
26085 }
26086 }
26087 },
26088 "permissions" : {
26089 "check" : [
26090 "perm",
26091 "/",
26092 [
26093 "Sys.Modify"
26094 ]
26095 ]
26096 },
26097 "protected" : 1,
26098 "proxyto" : "node",
26099 "returns" : {
7aacca6f 26100 "type" : "string"
56122987 26101 }
4d47f125 26102 }
56122987 26103 },
5f26e15b
TL
26104 "leaf" : 1,
26105 "path" : "/nodes/{node}/ceph/mon/{monid}",
26106 "text" : "{monid}"
26107 }
26108 ],
26109 "info" : {
26110 "GET" : {
26111 "description" : "Get Ceph monitor list.",
26112 "method" : "GET",
26113 "name" : "listmon",
26114 "parameters" : {
26115 "additionalProperties" : 0,
26116 "properties" : {
26117 "node" : {
26118 "description" : "The cluster node name.",
26119 "format" : "pve-node",
26120 "type" : "string",
26121 "typetext" : "<string>"
26122 }
26123 }
26124 },
4d47f125
TL
26125 "permissions" : {
26126 "check" : [
26127 "perm",
26128 "/",
26129 [
26130 "Sys.Audit",
26131 "Datastore.Audit"
26132 ],
26133 "any",
26134 1
26135 ]
56122987 26136 },
4d47f125
TL
26137 "protected" : 1,
26138 "proxyto" : "node",
26139 "returns" : {
26140 "items" : {
26141 "properties" : {
5f26e15b 26142 "addr" : {
1e3f8156
TL
26143 "optional" : 1,
26144 "type" : "string"
26145 },
26146 "host" : {
26147 "optional" : 1,
4d47f125
TL
26148 "type" : "string"
26149 },
5f26e15b 26150 "name" : {
4d47f125
TL
26151 "type" : "string"
26152 }
7aacca6f 26153 },
4d47f125
TL
26154 "type" : "object"
26155 },
5f26e15b
TL
26156 "links" : [
26157 {
26158 "href" : "{name}",
26159 "rel" : "child"
26160 }
26161 ],
4d47f125
TL
26162 "type" : "array"
26163 }
4d47f125
TL
26164 }
26165 },
5f26e15b
TL
26166 "leaf" : 0,
26167 "path" : "/nodes/{node}/ceph/mon",
26168 "text" : "mon"
4d47f125
TL
26169 },
26170 {
26171 "children" : [
26172 {
26173 "info" : {
5f26e15b
TL
26174 "POST" : {
26175 "description" : "Create a Ceph filesystem",
26176 "method" : "POST",
26177 "name" : "createfs",
4d47f125
TL
26178 "parameters" : {
26179 "additionalProperties" : 0,
26180 "properties" : {
5f26e15b 26181 "add-storage" : {
4d47f125 26182 "default" : 0,
5f26e15b 26183 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
26184 "optional" : 1,
26185 "type" : "boolean",
26186 "typetext" : "<boolean>"
26187 },
5f26e15b
TL
26188 "name" : {
26189 "default" : "cephfs",
26190 "description" : "The ceph filesystem name.",
26191 "optional" : 1,
26192 "type" : "string",
26193 "typetext" : "<string>"
4d47f125
TL
26194 },
26195 "node" : {
26196 "description" : "The cluster node name.",
26197 "format" : "pve-node",
26198 "type" : "string",
26199 "typetext" : "<string>"
5f26e15b
TL
26200 },
26201 "pg_num" : {
26202 "default" : 128,
26203 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
26204 "maximum" : 32768,
26205 "minimum" : 8,
26206 "optional" : 1,
26207 "type" : "integer",
26208 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
26209 }
26210 }
7aacca6f 26211 },
4d47f125
TL
26212 "permissions" : {
26213 "check" : [
26214 "perm",
26215 "/",
26216 [
26217 "Sys.Modify"
26218 ]
26219 ]
7aacca6f 26220 },
4d47f125
TL
26221 "protected" : 1,
26222 "proxyto" : "node",
26223 "returns" : {
44660702 26224 "type" : "string"
4d47f125
TL
26225 }
26226 }
26227 },
26228 "leaf" : 1,
5f26e15b
TL
26229 "path" : "/nodes/{node}/ceph/fs/{name}",
26230 "text" : "{name}"
4d47f125
TL
26231 }
26232 ],
26233 "info" : {
26234 "GET" : {
5f26e15b 26235 "description" : "Directory index.",
4d47f125 26236 "method" : "GET",
5f26e15b 26237 "name" : "index",
4d47f125
TL
26238 "parameters" : {
26239 "additionalProperties" : 0,
26240 "properties" : {
26241 "node" : {
26242 "description" : "The cluster node name.",
26243 "format" : "pve-node",
26244 "type" : "string",
26245 "typetext" : "<string>"
26246 }
26247 }
26248 },
26249 "permissions" : {
26250 "check" : [
26251 "perm",
26252 "/",
26253 [
26254 "Sys.Audit",
26255 "Datastore.Audit"
26256 ],
26257 "any",
26258 1
26259 ]
26260 },
26261 "protected" : 1,
95895385 26262 "proxyto" : "node",
4d47f125
TL
26263 "returns" : {
26264 "items" : {
26265 "properties" : {
5f26e15b
TL
26266 "data_pool" : {
26267 "description" : "The name of the data pool.",
26268 "type" : "string"
26269 },
26270 "metadata_pool" : {
26271 "description" : "The name of the metadata pool.",
4d47f125
TL
26272 "type" : "string"
26273 },
26274 "name" : {
5f26e15b 26275 "description" : "The ceph filesystem name.",
4d47f125
TL
26276 "type" : "string"
26277 }
7aacca6f 26278 },
4d47f125
TL
26279 "type" : "object"
26280 },
26281 "links" : [
26282 {
26283 "href" : "{name}",
26284 "rel" : "child"
26285 }
26286 ],
26287 "type" : "array"
26288 }
5f26e15b
TL
26289 }
26290 },
26291 "leaf" : 0,
26292 "path" : "/nodes/{node}/ceph/fs",
26293 "text" : "fs"
26294 },
26295 {
26296 "info" : {
26297 "GET" : {
26298 "description" : "List local disks.",
26299 "method" : "GET",
26300 "name" : "disks",
4d47f125
TL
26301 "parameters" : {
26302 "additionalProperties" : 0,
26303 "properties" : {
5f26e15b
TL
26304 "node" : {
26305 "description" : "The cluster node name.",
26306 "format" : "pve-node",
26307 "type" : "string",
26308 "typetext" : "<string>"
44660702 26309 },
5f26e15b
TL
26310 "type" : {
26311 "description" : "Only list specific types of disks.",
26312 "enum" : [
26313 "unused",
26314 "journal_disks"
26315 ],
44660702 26316 "optional" : 1,
44660702 26317 "type" : "string"
5f26e15b
TL
26318 }
26319 }
26320 },
26321 "permissions" : {
26322 "check" : [
26323 "perm",
26324 "/",
26325 [
26326 "Sys.Audit",
26327 "Datastore.Audit"
26328 ],
26329 "any",
26330 1
26331 ]
26332 },
26333 "protected" : 1,
26334 "proxyto" : "node",
26335 "returns" : {
26336 "items" : {
26337 "properties" : {
26338 "dev" : {
26339 "type" : "string"
26340 },
26341 "gpt" : {
26342 "type" : "boolean"
26343 },
26344 "model" : {
26345 "optional" : 1,
26346 "type" : "string"
26347 },
26348 "osdid" : {
26349 "type" : "integer"
26350 },
26351 "serial" : {
26352 "optional" : 1,
26353 "type" : "string"
26354 },
26355 "size" : {
26356 "type" : "integer"
26357 },
26358 "used" : {
26359 "optional" : 1,
26360 "type" : "string"
26361 },
26362 "vendor" : {
26363 "optional" : 1,
26364 "type" : "string"
26365 }
44660702 26366 },
5f26e15b
TL
26367 "type" : "object"
26368 },
26369 "type" : "array"
26370 }
26371 }
26372 },
26373 "leaf" : 1,
26374 "path" : "/nodes/{node}/ceph/disks",
26375 "text" : "disks"
26376 },
26377 {
26378 "info" : {
26379 "GET" : {
26380 "description" : "Get Ceph configuration.",
26381 "method" : "GET",
26382 "name" : "config",
26383 "parameters" : {
26384 "additionalProperties" : 0,
26385 "properties" : {
4d47f125
TL
26386 "node" : {
26387 "description" : "The cluster node name.",
26388 "format" : "pve-node",
26389 "type" : "string",
26390 "typetext" : "<string>"
7aacca6f 26391 }
4d47f125 26392 }
44660702 26393 },
4d47f125
TL
26394 "permissions" : {
26395 "check" : [
26396 "perm",
26397 "/",
26398 [
5f26e15b
TL
26399 "Sys.Audit",
26400 "Datastore.Audit"
26401 ],
26402 "any",
26403 1
4d47f125 26404 ]
56122987 26405 },
95895385 26406 "proxyto" : "node",
4d47f125 26407 "returns" : {
7aacca6f 26408 "type" : "string"
4d47f125
TL
26409 }
26410 }
26411 },
5f26e15b
TL
26412 "leaf" : 1,
26413 "path" : "/nodes/{node}/ceph/config",
26414 "text" : "config"
4d47f125 26415 },
7cbed89a
TL
26416 {
26417 "info" : {
26418 "GET" : {
26419 "description" : "Get Ceph configuration database.",
26420 "method" : "GET",
26421 "name" : "configdb",
26422 "parameters" : {
26423 "additionalProperties" : 0,
26424 "properties" : {
26425 "node" : {
26426 "description" : "The cluster node name.",
26427 "format" : "pve-node",
26428 "type" : "string",
26429 "typetext" : "<string>"
26430 }
26431 }
26432 },
26433 "permissions" : {
26434 "check" : [
26435 "perm",
26436 "/",
26437 [
26438 "Sys.Audit",
26439 "Datastore.Audit"
26440 ],
26441 "any",
26442 1
26443 ]
26444 },
26445 "protected" : 1,
26446 "proxyto" : "node",
26447 "returns" : {
26448 "items" : {
26449 "properties" : {
26450 "can_update_at_runtime" : {
26451 "type" : "boolean"
26452 },
26453 "level" : {
26454 "type" : "string"
26455 },
26456 "mask" : {
26457 "type" : "string"
26458 },
26459 "name" : {
26460 "type" : "string"
26461 },
26462 "section" : {
26463 "type" : "string"
26464 },
26465 "value" : {
26466 "type" : "string"
26467 }
26468 },
26469 "type" : "object"
26470 },
26471 "type" : "array"
26472 }
26473 }
26474 },
26475 "leaf" : 1,
26476 "path" : "/nodes/{node}/ceph/configdb",
26477 "text" : "configdb"
26478 },
4d47f125
TL
26479 {
26480 "info" : {
26481 "POST" : {
26482 "description" : "Create initial ceph default configuration and setup symlinks.",
26483 "method" : "POST",
26484 "name" : "init",
26485 "parameters" : {
26486 "additionalProperties" : 0,
26487 "properties" : {
e2d681b3
TL
26488 "cluster-network" : {
26489 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
26490 "format" : "CIDR",
26491 "maxLength" : 128,
26492 "optional" : 1,
26493 "requires" : "network",
26494 "type" : "string",
26495 "typetext" : "<string>"
26496 },
4d47f125
TL
26497 "disable_cephx" : {
26498 "default" : 0,
1e3f8156 26499 "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 26500 "optional" : 1,
4d47f125
TL
26501 "type" : "boolean",
26502 "typetext" : "<boolean>"
56122987 26503 },
4d47f125
TL
26504 "min_size" : {
26505 "default" : 2,
26506 "description" : "Minimum number of available replicas per object to allow I/O",
26507 "maximum" : 7,
26508 "minimum" : 1,
7aacca6f 26509 "optional" : 1,
4d47f125
TL
26510 "type" : "integer",
26511 "typetext" : "<integer> (1 - 7)"
7aacca6f 26512 },
4d47f125
TL
26513 "network" : {
26514 "description" : "Use specific network for all ceph related traffic",
26515 "format" : "CIDR",
26516 "maxLength" : 128,
5d9c884c 26517 "optional" : 1,
4d47f125
TL
26518 "type" : "string",
26519 "typetext" : "<string>"
5d9c884c 26520 },
4d47f125
TL
26521 "node" : {
26522 "description" : "The cluster node name.",
26523 "format" : "pve-node",
26524 "type" : "string",
26525 "typetext" : "<string>"
7aacca6f 26526 },
4d47f125
TL
26527 "pg_bits" : {
26528 "default" : 6,
26529 "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.",
26530 "maximum" : 14,
26531 "minimum" : 6,
de0983cb 26532 "optional" : 1,
4d47f125
TL
26533 "type" : "integer",
26534 "typetext" : "<integer> (6 - 14)"
de0983cb 26535 },
44660702 26536 "size" : {
4d47f125
TL
26537 "default" : 3,
26538 "description" : "Targeted number of replicas per object",
26539 "maximum" : 7,
26540 "minimum" : 1,
7aacca6f 26541 "optional" : 1,
4d47f125
TL
26542 "type" : "integer",
26543 "typetext" : "<integer> (1 - 7)"
56122987 26544 }
4d47f125 26545 }
44660702 26546 },
4d47f125
TL
26547 "permissions" : {
26548 "check" : [
26549 "perm",
26550 "/",
26551 [
26552 "Sys.Modify"
26553 ]
26554 ]
5da3d723 26555 },
4d47f125
TL
26556 "protected" : 1,
26557 "proxyto" : "node",
26558 "returns" : {
26559 "type" : "null"
26560 }
26561 }
26562 },
26563 "leaf" : 1,
26564 "path" : "/nodes/{node}/ceph/init",
26565 "text" : "init"
26566 },
4d47f125
TL
26567 {
26568 "info" : {
26569 "POST" : {
26570 "description" : "Stop ceph services.",
26571 "method" : "POST",
26572 "name" : "stop",
26573 "parameters" : {
26574 "additionalProperties" : 0,
26575 "properties" : {
26576 "node" : {
26577 "description" : "The cluster node name.",
26578 "format" : "pve-node",
26579 "type" : "string",
26580 "typetext" : "<string>"
26581 },
26582 "service" : {
e2d681b3 26583 "default" : "ceph.target",
4d47f125
TL
26584 "description" : "Ceph service name.",
26585 "optional" : 1,
95895385 26586 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
26587 "type" : "string"
26588 }
26589 }
7aacca6f 26590 },
4d47f125
TL
26591 "permissions" : {
26592 "check" : [
26593 "perm",
26594 "/",
26595 [
26596 "Sys.Modify"
26597 ]
26598 ]
7aacca6f 26599 },
4d47f125
TL
26600 "protected" : 1,
26601 "proxyto" : "node",
26602 "returns" : {
26603 "type" : "string"
26604 }
26605 }
26606 },
26607 "leaf" : 1,
26608 "path" : "/nodes/{node}/ceph/stop",
26609 "text" : "stop"
26610 },
26611 {
26612 "info" : {
26613 "POST" : {
26614 "description" : "Start ceph services.",
26615 "method" : "POST",
26616 "name" : "start",
26617 "parameters" : {
26618 "additionalProperties" : 0,
26619 "properties" : {
26620 "node" : {
26621 "description" : "The cluster node name.",
26622 "format" : "pve-node",
26623 "type" : "string",
26624 "typetext" : "<string>"
26625 },
26626 "service" : {
e2d681b3 26627 "default" : "ceph.target",
4d47f125
TL
26628 "description" : "Ceph service name.",
26629 "optional" : 1,
95895385 26630 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
26631 "type" : "string"
26632 }
26633 }
44660702 26634 },
4d47f125
TL
26635 "permissions" : {
26636 "check" : [
26637 "perm",
26638 "/",
26639 [
26640 "Sys.Modify"
26641 ]
26642 ]
44660702 26643 },
4d47f125
TL
26644 "protected" : 1,
26645 "proxyto" : "node",
26646 "returns" : {
26647 "type" : "string"
44660702 26648 }
7aacca6f
DM
26649 }
26650 },
4d47f125
TL
26651 "leaf" : 1,
26652 "path" : "/nodes/{node}/ceph/start",
26653 "text" : "start"
26654 },
e2d681b3
TL
26655 {
26656 "info" : {
26657 "POST" : {
26658 "description" : "Restart ceph services.",
26659 "method" : "POST",
26660 "name" : "restart",
26661 "parameters" : {
26662 "additionalProperties" : 0,
26663 "properties" : {
26664 "node" : {
26665 "description" : "The cluster node name.",
26666 "format" : "pve-node",
26667 "type" : "string",
26668 "typetext" : "<string>"
26669 },
26670 "service" : {
26671 "default" : "ceph.target",
26672 "description" : "Ceph service name.",
26673 "optional" : 1,
26674 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
26675 "type" : "string"
26676 }
26677 }
26678 },
26679 "permissions" : {
26680 "check" : [
26681 "perm",
26682 "/",
26683 [
26684 "Sys.Modify"
26685 ]
26686 ]
26687 },
26688 "protected" : 1,
26689 "proxyto" : "node",
26690 "returns" : {
26691 "type" : "string"
26692 }
26693 }
26694 },
26695 "leaf" : 1,
26696 "path" : "/nodes/{node}/ceph/restart",
26697 "text" : "restart"
26698 },
4d47f125
TL
26699 {
26700 "info" : {
26701 "GET" : {
26702 "description" : "Get ceph status.",
26703 "method" : "GET",
26704 "name" : "status",
26705 "parameters" : {
26706 "additionalProperties" : 0,
26707 "properties" : {
26708 "node" : {
26709 "description" : "The cluster node name.",
26710 "format" : "pve-node",
26711 "type" : "string",
26712 "typetext" : "<string>"
26713 }
26714 }
26715 },
26716 "permissions" : {
26717 "check" : [
26718 "perm",
26719 "/",
26720 [
26721 "Sys.Audit",
26722 "Datastore.Audit"
26723 ],
26724 "any",
26725 1
26726 ]
26727 },
26728 "protected" : 1,
26729 "proxyto" : "node",
26730 "returns" : {
26731 "type" : "object"
26732 }
26733 }
44660702 26734 },
4d47f125
TL
26735 "leaf" : 1,
26736 "path" : "/nodes/{node}/ceph/status",
26737 "text" : "status"
26738 },
44660702 26739 {
56122987
DM
26740 "children" : [
26741 {
44660702
DM
26742 "info" : {
26743 "DELETE" : {
4d47f125 26744 "description" : "Destroy pool",
44660702 26745 "method" : "DELETE",
4d47f125 26746 "name" : "destroypool",
44660702
DM
26747 "parameters" : {
26748 "additionalProperties" : 0,
26749 "properties" : {
4d47f125 26750 "force" : {
44660702 26751 "default" : 0,
4d47f125 26752 "description" : "If true, destroys pool even if in use",
44660702 26753 "optional" : 1,
013dc89f
DM
26754 "type" : "boolean",
26755 "typetext" : "<boolean>"
7aacca6f 26756 },
4d47f125
TL
26757 "name" : {
26758 "description" : "The name of the pool. It must be unique.",
26759 "type" : "string",
26760 "typetext" : "<string>"
26761 },
44660702
DM
26762 "node" : {
26763 "description" : "The cluster node name.",
26764 "format" : "pve-node",
013dc89f
DM
26765 "type" : "string",
26766 "typetext" : "<string>"
56122987 26767 },
4d47f125
TL
26768 "remove_storages" : {
26769 "default" : 0,
26770 "description" : "Remove all pveceph-managed storages configured for this pool",
26771 "optional" : 1,
26772 "type" : "boolean",
26773 "typetext" : "<boolean>"
44660702 26774 }
56122987
DM
26775 }
26776 },
4d47f125
TL
26777 "permissions" : {
26778 "check" : [
26779 "perm",
26780 "/",
26781 [
26782 "Sys.Modify"
26783 ]
26784 ]
26785 },
44660702
DM
26786 "protected" : 1,
26787 "proxyto" : "node",
26788 "returns" : {
26789 "type" : "string"
26790 }
26791 }
26792 },
4d47f125
TL
26793 "leaf" : 1,
26794 "path" : "/nodes/{node}/ceph/pools/{name}",
26795 "text" : "{name}"
44660702
DM
26796 }
26797 ],
26798 "info" : {
26799 "GET" : {
4d47f125 26800 "description" : "List all pools.",
44660702 26801 "method" : "GET",
4d47f125 26802 "name" : "lspools",
44660702
DM
26803 "parameters" : {
26804 "additionalProperties" : 0,
26805 "properties" : {
26806 "node" : {
26807 "description" : "The cluster node name.",
26808 "format" : "pve-node",
013dc89f
DM
26809 "type" : "string",
26810 "typetext" : "<string>"
44660702
DM
26811 }
26812 }
26813 },
26814 "permissions" : {
26815 "check" : [
26816 "perm",
26817 "/",
26818 [
26819 "Sys.Audit",
26820 "Datastore.Audit"
26821 ],
26822 "any",
26823 1
26824 ]
26825 },
26826 "protected" : 1,
26827 "proxyto" : "node",
26828 "returns" : {
4d47f125
TL
26829 "items" : {
26830 "properties" : {
26831 "pool" : {
26832 "type" : "integer"
26833 },
26834 "pool_name" : {
26835 "type" : "string"
26836 },
26837 "size" : {
26838 "type" : "integer"
26839 }
26840 },
26841 "type" : "object"
26842 },
26843 "links" : [
26844 {
26845 "href" : "{pool_name}",
26846 "rel" : "child"
26847 }
26848 ],
26849 "type" : "array"
44660702
DM
26850 }
26851 },
26852 "POST" : {
4d47f125 26853 "description" : "Create POOL",
44660702 26854 "method" : "POST",
4d47f125 26855 "name" : "createpool",
44660702
DM
26856 "parameters" : {
26857 "additionalProperties" : 0,
26858 "properties" : {
4d47f125 26859 "add_storages" : {
e2d681b3 26860 "description" : "Configure VM and CT storage using the new pool.",
5d9c884c
DM
26861 "optional" : 1,
26862 "type" : "boolean",
26863 "typetext" : "<boolean>"
26864 },
4d47f125
TL
26865 "application" : {
26866 "description" : "The application of the pool, 'rbd' by default.",
44660702 26867 "enum" : [
4d47f125
TL
26868 "rbd",
26869 "cephfs",
26870 "rgw"
44660702
DM
26871 ],
26872 "optional" : 1,
26873 "type" : "string"
26874 },
4d47f125
TL
26875 "crush_rule" : {
26876 "description" : "The rule to use for mapping object placement in the cluster.",
26877 "optional" : 1,
26878 "type" : "string",
26879 "typetext" : "<string>"
26880 },
26881 "min_size" : {
26882 "default" : 2,
26883 "description" : "Minimum number of replicas per object",
26884 "maximum" : 7,
26885 "minimum" : 1,
44660702 26886 "optional" : 1,
4d47f125
TL
26887 "type" : "integer",
26888 "typetext" : "<integer> (1 - 7)"
26889 },
26890 "name" : {
26891 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
26892 "type" : "string",
26893 "typetext" : "<string>"
44660702
DM
26894 },
26895 "node" : {
26896 "description" : "The cluster node name.",
26897 "format" : "pve-node",
013dc89f
DM
26898 "type" : "string",
26899 "typetext" : "<string>"
2489d6df 26900 },
4d47f125 26901 "pg_num" : {
e2d681b3 26902 "default" : 128,
4d47f125
TL
26903 "description" : "Number of placement groups.",
26904 "maximum" : 32768,
26905 "minimum" : 8,
2489d6df 26906 "optional" : 1,
4d47f125
TL
26907 "type" : "integer",
26908 "typetext" : "<integer> (8 - 32768)"
26909 },
26910 "size" : {
26911 "default" : 3,
26912 "description" : "Number of replicas per object",
26913 "maximum" : 7,
26914 "minimum" : 1,
26915 "optional" : 1,
26916 "type" : "integer",
26917 "typetext" : "<integer> (1 - 7)"
44660702 26918 }
56122987 26919 }
44660702 26920 },
4d47f125
TL
26921 "permissions" : {
26922 "check" : [
26923 "perm",
26924 "/",
26925 [
26926 "Sys.Modify"
26927 ]
26928 ]
26929 },
44660702
DM
26930 "protected" : 1,
26931 "proxyto" : "node",
26932 "returns" : {
26933 "type" : "string"
26934 }
56122987 26935 }
44660702 26936 },
7aacca6f 26937 "leaf" : 0,
4d47f125
TL
26938 "path" : "/nodes/{node}/ceph/pools",
26939 "text" : "pools"
7aacca6f
DM
26940 },
26941 {
4d47f125
TL
26942 "children" : [
26943 {
26944 "info" : {
26945 "DELETE" : {
26946 "description" : "Unset a ceph flag",
26947 "method" : "DELETE",
26948 "name" : "unset_flag",
26949 "parameters" : {
26950 "additionalProperties" : 0,
26951 "properties" : {
26952 "flag" : {
26953 "description" : "The ceph flag to set/unset",
26954 "enum" : [
26955 "full",
26956 "pause",
26957 "noup",
26958 "nodown",
26959 "noout",
26960 "noin",
26961 "nobackfill",
26962 "norebalance",
26963 "norecover",
26964 "noscrub",
26965 "nodeep-scrub",
26966 "notieragent"
26967 ],
26968 "type" : "string"
26969 },
26970 "node" : {
26971 "description" : "The cluster node name.",
26972 "format" : "pve-node",
26973 "type" : "string",
26974 "typetext" : "<string>"
26975 }
26976 }
26977 },
26978 "permissions" : {
26979 "check" : [
26980 "perm",
26981 "/",
26982 [
26983 "Sys.Modify"
26984 ]
26985 ]
26986 },
26987 "protected" : 1,
26988 "proxyto" : "node",
26989 "returns" : {
26990 "type" : "null"
26991 }
26992 },
26993 "POST" : {
26994 "description" : "Set a ceph flag",
26995 "method" : "POST",
26996 "name" : "set_flag",
26997 "parameters" : {
26998 "additionalProperties" : 0,
26999 "properties" : {
27000 "flag" : {
27001 "description" : "The ceph flag to set/unset",
27002 "enum" : [
27003 "full",
27004 "pause",
27005 "noup",
27006 "nodown",
27007 "noout",
27008 "noin",
27009 "nobackfill",
27010 "norebalance",
27011 "norecover",
27012 "noscrub",
27013 "nodeep-scrub",
27014 "notieragent"
27015 ],
27016 "type" : "string"
27017 },
27018 "node" : {
27019 "description" : "The cluster node name.",
27020 "format" : "pve-node",
27021 "type" : "string",
27022 "typetext" : "<string>"
27023 }
27024 }
27025 },
27026 "permissions" : {
27027 "check" : [
27028 "perm",
27029 "/",
27030 [
27031 "Sys.Modify"
27032 ]
27033 ]
27034 },
27035 "protected" : 1,
27036 "proxyto" : "node",
27037 "returns" : {
27038 "type" : "null"
27039 }
27040 }
27041 },
27042 "leaf" : 1,
27043 "path" : "/nodes/{node}/ceph/flags/{flag}",
27044 "text" : "{flag}"
27045 }
27046 ],
56122987
DM
27047 "info" : {
27048 "GET" : {
4d47f125 27049 "description" : "get all set ceph flags",
44660702 27050 "method" : "GET",
4d47f125 27051 "name" : "get_flags",
44660702
DM
27052 "parameters" : {
27053 "additionalProperties" : 0,
27054 "properties" : {
27055 "node" : {
27056 "description" : "The cluster node name.",
27057 "format" : "pve-node",
013dc89f
DM
27058 "type" : "string",
27059 "typetext" : "<string>"
44660702
DM
27060 }
27061 }
27062 },
56122987
DM
27063 "permissions" : {
27064 "check" : [
27065 "perm",
27066 "/",
27067 [
4d47f125
TL
27068 "Sys.Audit"
27069 ]
56122987 27070 ]
4d47f125
TL
27071 },
27072 "protected" : 1,
27073 "proxyto" : "node",
27074 "returns" : {
27075 "type" : "string"
44660702 27076 }
56122987 27077 }
44660702 27078 },
4d47f125
TL
27079 "leaf" : 0,
27080 "path" : "/nodes/{node}/ceph/flags",
27081 "text" : "flags"
56122987
DM
27082 },
27083 {
56122987
DM
27084 "info" : {
27085 "GET" : {
4d47f125 27086 "description" : "Get OSD crush map",
44660702 27087 "method" : "GET",
4d47f125 27088 "name" : "crush",
56122987 27089 "parameters" : {
7aacca6f 27090 "additionalProperties" : 0,
56122987 27091 "properties" : {
56122987 27092 "node" : {
7aacca6f 27093 "description" : "The cluster node name.",
44660702 27094 "format" : "pve-node",
013dc89f
DM
27095 "type" : "string",
27096 "typetext" : "<string>"
56122987 27097 }
7aacca6f 27098 }
56122987 27099 },
56122987
DM
27100 "permissions" : {
27101 "check" : [
27102 "perm",
27103 "/",
27104 [
27105 "Sys.Audit",
27106 "Datastore.Audit"
27107 ],
27108 "any",
27109 1
27110 ]
44660702 27111 },
4d47f125
TL
27112 "protected" : 1,
27113 "proxyto" : "node",
44660702
DM
27114 "returns" : {
27115 "type" : "string"
7aacca6f
DM
27116 }
27117 }
44660702
DM
27118 },
27119 "leaf" : 1,
4d47f125
TL
27120 "path" : "/nodes/{node}/ceph/crush",
27121 "text" : "crush"
7aacca6f
DM
27122 },
27123 {
7aacca6f
DM
27124 "info" : {
27125 "GET" : {
4d47f125 27126 "description" : "Read ceph log",
7aacca6f 27127 "method" : "GET",
4d47f125 27128 "name" : "log",
7aacca6f
DM
27129 "parameters" : {
27130 "additionalProperties" : 0,
27131 "properties" : {
4d47f125
TL
27132 "limit" : {
27133 "minimum" : 0,
27134 "optional" : 1,
27135 "type" : "integer",
27136 "typetext" : "<integer> (0 - N)"
27137 },
7aacca6f 27138 "node" : {
7aacca6f 27139 "description" : "The cluster node name.",
44660702 27140 "format" : "pve-node",
013dc89f
DM
27141 "type" : "string",
27142 "typetext" : "<string>"
4d47f125
TL
27143 },
27144 "start" : {
27145 "minimum" : 0,
27146 "optional" : 1,
27147 "type" : "integer",
27148 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
27149 }
27150 }
27151 },
44660702
DM
27152 "permissions" : {
27153 "check" : [
27154 "perm",
4d47f125 27155 "/nodes/{node}",
44660702 27156 [
4d47f125
TL
27157 "Sys.Syslog"
27158 ]
44660702
DM
27159 ]
27160 },
7aacca6f 27161 "protected" : 1,
44660702 27162 "proxyto" : "node",
7aacca6f
DM
27163 "returns" : {
27164 "items" : {
27165 "properties" : {
4d47f125
TL
27166 "n" : {
27167 "description" : "Line number",
27168 "type" : "integer"
56122987 27169 },
4d47f125
TL
27170 "t" : {
27171 "description" : "Line text",
56122987
DM
27172 "type" : "string"
27173 }
7aacca6f
DM
27174 },
27175 "type" : "object"
56122987
DM
27176 },
27177 "type" : "array"
44660702 27178 }
4d47f125
TL
27179 }
27180 },
27181 "leaf" : 1,
27182 "path" : "/nodes/{node}/ceph/log",
27183 "text" : "log"
27184 },
27185 {
27186 "info" : {
27187 "GET" : {
27188 "description" : "List ceph rules.",
27189 "method" : "GET",
27190 "name" : "rules",
44660702
DM
27191 "parameters" : {
27192 "additionalProperties" : 0,
27193 "properties" : {
27194 "node" : {
27195 "description" : "The cluster node name.",
27196 "format" : "pve-node",
013dc89f
DM
27197 "type" : "string",
27198 "typetext" : "<string>"
44660702
DM
27199 }
27200 }
27201 },
7aacca6f
DM
27202 "permissions" : {
27203 "check" : [
27204 "perm",
27205 "/",
27206 [
4d47f125
TL
27207 "Sys.Audit",
27208 "Datastore.Audit"
27209 ],
27210 "any",
27211 1
7aacca6f
DM
27212 ]
27213 },
44660702 27214 "protected" : 1,
7aacca6f 27215 "proxyto" : "node",
56122987 27216 "returns" : {
4d47f125
TL
27217 "items" : {
27218 "properties" : {},
27219 "type" : "object"
27220 },
27221 "links" : [
27222 {
27223 "href" : "{name}",
27224 "rel" : "child"
27225 }
27226 ],
27227 "type" : "array"
44660702 27228 }
56122987 27229 }
44660702 27230 },
4d47f125
TL
27231 "leaf" : 1,
27232 "path" : "/nodes/{node}/ceph/rules",
27233 "text" : "rules"
27234 }
27235 ],
27236 "info" : {
27237 "GET" : {
27238 "description" : "Directory index.",
27239 "method" : "GET",
27240 "name" : "index",
27241 "parameters" : {
27242 "additionalProperties" : 0,
27243 "properties" : {
27244 "node" : {
27245 "description" : "The cluster node name.",
27246 "format" : "pve-node",
27247 "type" : "string",
27248 "typetext" : "<string>"
27249 }
27250 }
27251 },
27252 "permissions" : {
27253 "check" : [
27254 "perm",
27255 "/",
27256 [
27257 "Sys.Audit",
27258 "Datastore.Audit"
27259 ],
27260 "any",
27261 1
27262 ]
27263 },
27264 "returns" : {
27265 "items" : {
27266 "properties" : {},
27267 "type" : "object"
27268 },
27269 "links" : [
27270 {
27271 "href" : "{name}",
27272 "rel" : "child"
27273 }
27274 ],
27275 "type" : "array"
27276 }
27277 }
27278 },
27279 "leaf" : 0,
27280 "path" : "/nodes/{node}/ceph",
27281 "text" : "ceph"
27282 },
27283 {
27284 "children" : [
56122987
DM
27285 {
27286 "info" : {
4d47f125
TL
27287 "GET" : {
27288 "description" : "Extract configuration from vzdump backup archive.",
27289 "method" : "GET",
27290 "name" : "extractconfig",
27291 "parameters" : {
27292 "additionalProperties" : 0,
27293 "properties" : {
44660702
DM
27294 "node" : {
27295 "description" : "The cluster node name.",
27296 "format" : "pve-node",
013dc89f
DM
27297 "type" : "string",
27298 "typetext" : "<string>"
44660702 27299 },
4d47f125
TL
27300 "volume" : {
27301 "description" : "Volume identifier",
27302 "type" : "string",
27303 "typetext" : "<string>"
44660702
DM
27304 }
27305 }
7aacca6f 27306 },
56122987 27307 "permissions" : {
4d47f125
TL
27308 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
27309 "user" : "all"
56122987 27310 },
7aacca6f 27311 "protected" : 1,
44660702
DM
27312 "proxyto" : "node",
27313 "returns" : {
4d47f125 27314 "type" : "string"
7aacca6f
DM
27315 }
27316 }
27317 },
7aacca6f 27318 "leaf" : 1,
4d47f125
TL
27319 "path" : "/nodes/{node}/vzdump/extractconfig",
27320 "text" : "extractconfig"
27321 }
27322 ],
27323 "info" : {
27324 "POST" : {
27325 "description" : "Create backup.",
27326 "method" : "POST",
27327 "name" : "vzdump",
27328 "parameters" : {
27329 "additionalProperties" : 0,
27330 "properties" : {
27331 "all" : {
27332 "default" : 0,
27333 "description" : "Backup all known guest systems on this host.",
27334 "optional" : 1,
27335 "type" : "boolean",
27336 "typetext" : "<boolean>"
27337 },
27338 "bwlimit" : {
27339 "default" : 0,
27340 "description" : "Limit I/O bandwidth (KBytes per second).",
27341 "minimum" : 0,
27342 "optional" : 1,
27343 "type" : "integer",
27344 "typetext" : "<integer> (0 - N)"
27345 },
27346 "compress" : {
27347 "default" : "0",
27348 "description" : "Compress dump file.",
27349 "enum" : [
27350 "0",
27351 "1",
27352 "gzip",
27353 "lzo"
27354 ],
27355 "optional" : 1,
27356 "type" : "string"
27357 },
27358 "dumpdir" : {
27359 "description" : "Store resulting files to specified directory.",
27360 "optional" : 1,
27361 "type" : "string",
27362 "typetext" : "<string>"
27363 },
27364 "exclude" : {
27365 "description" : "Exclude specified guest systems (assumes --all)",
27366 "format" : "pve-vmid-list",
27367 "optional" : 1,
27368 "type" : "string",
27369 "typetext" : "<string>"
27370 },
27371 "exclude-path" : {
27372 "description" : "Exclude certain files/directories (shell globs).",
27373 "format" : "string-alist",
27374 "optional" : 1,
27375 "type" : "string",
27376 "typetext" : "<string>"
27377 },
27378 "ionice" : {
27379 "default" : 7,
27380 "description" : "Set CFQ ionice priority.",
27381 "maximum" : 8,
27382 "minimum" : 0,
27383 "optional" : 1,
27384 "type" : "integer",
27385 "typetext" : "<integer> (0 - 8)"
27386 },
27387 "lockwait" : {
27388 "default" : 180,
27389 "description" : "Maximal time to wait for the global lock (minutes).",
27390 "minimum" : 0,
27391 "optional" : 1,
27392 "type" : "integer",
27393 "typetext" : "<integer> (0 - N)"
27394 },
27395 "mailnotification" : {
27396 "default" : "always",
27397 "description" : "Specify when to send an email",
27398 "enum" : [
27399 "always",
27400 "failure"
27401 ],
27402 "optional" : 1,
27403 "type" : "string"
27404 },
27405 "mailto" : {
27406 "description" : "Comma-separated list of email addresses that should receive email notifications.",
27407 "format" : "string-list",
27408 "optional" : 1,
27409 "type" : "string",
27410 "typetext" : "<string>"
27411 },
27412 "maxfiles" : {
27413 "default" : 1,
27414 "description" : "Maximal number of backup files per guest system.",
27415 "minimum" : 1,
27416 "optional" : 1,
27417 "type" : "integer",
27418 "typetext" : "<integer> (1 - N)"
27419 },
27420 "mode" : {
27421 "default" : "snapshot",
27422 "description" : "Backup mode.",
27423 "enum" : [
27424 "snapshot",
27425 "suspend",
27426 "stop"
27427 ],
27428 "optional" : 1,
27429 "type" : "string"
27430 },
27431 "node" : {
27432 "description" : "Only run if executed on this node.",
27433 "format" : "pve-node",
27434 "optional" : 1,
27435 "type" : "string",
27436 "typetext" : "<string>"
27437 },
27438 "pigz" : {
27439 "default" : 0,
27440 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
27441 "optional" : 1,
27442 "type" : "integer",
27443 "typetext" : "<integer>"
27444 },
9226ccbc
TL
27445 "pool" : {
27446 "description" : "Backup all known guest systems included in the specified pool.",
27447 "optional" : 1,
27448 "type" : "string",
27449 "typetext" : "<string>"
27450 },
4d47f125
TL
27451 "quiet" : {
27452 "default" : 0,
27453 "description" : "Be quiet.",
27454 "optional" : 1,
27455 "type" : "boolean",
27456 "typetext" : "<boolean>"
27457 },
27458 "remove" : {
27459 "default" : 1,
27460 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
27461 "optional" : 1,
27462 "type" : "boolean",
27463 "typetext" : "<boolean>"
27464 },
27465 "script" : {
27466 "description" : "Use specified hook script.",
27467 "optional" : 1,
27468 "type" : "string",
27469 "typetext" : "<string>"
27470 },
27471 "size" : {
27472 "default" : 1024,
27473 "description" : "Unused, will be removed in a future release.",
27474 "minimum" : 500,
27475 "optional" : 1,
27476 "type" : "integer",
27477 "typetext" : "<integer> (500 - N)"
27478 },
27479 "stdexcludes" : {
27480 "default" : 1,
27481 "description" : "Exclude temporary files and logs.",
27482 "optional" : 1,
27483 "type" : "boolean",
27484 "typetext" : "<boolean>"
27485 },
27486 "stdout" : {
27487 "description" : "Write tar to stdout, not to a file.",
27488 "optional" : 1,
27489 "type" : "boolean",
27490 "typetext" : "<boolean>"
27491 },
27492 "stop" : {
27493 "default" : 0,
1e3f8156 27494 "description" : "Stop running backup jobs on this host.",
4d47f125
TL
27495 "optional" : 1,
27496 "type" : "boolean",
27497 "typetext" : "<boolean>"
27498 },
27499 "stopwait" : {
27500 "default" : 10,
27501 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
27502 "minimum" : 0,
27503 "optional" : 1,
27504 "type" : "integer",
27505 "typetext" : "<integer> (0 - N)"
27506 },
27507 "storage" : {
27508 "description" : "Store resulting file to this storage.",
27509 "format" : "pve-storage-id",
27510 "optional" : 1,
27511 "type" : "string",
27512 "typetext" : "<string>"
27513 },
27514 "tmpdir" : {
27515 "description" : "Store temporary files to specified directory.",
27516 "optional" : 1,
27517 "type" : "string",
27518 "typetext" : "<string>"
27519 },
27520 "vmid" : {
27521 "description" : "The ID of the guest system you want to backup.",
27522 "format" : "pve-vmid-list",
27523 "optional" : 1,
27524 "type" : "string",
27525 "typetext" : "<string>"
27526 }
27527 }
27528 },
27529 "permissions" : {
27530 "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.",
27531 "user" : "all"
27532 },
27533 "protected" : 1,
27534 "proxyto" : "node",
27535 "returns" : {
27536 "type" : "string"
27537 }
27538 }
27539 },
27540 "leaf" : 0,
27541 "path" : "/nodes/{node}/vzdump",
27542 "text" : "vzdump"
27543 },
27544 {
27545 "children" : [
2489d6df
WB
27546 {
27547 "children" : [
27548 {
27549 "info" : {
4d47f125
TL
27550 "GET" : {
27551 "description" : "Read service properties",
27552 "method" : "GET",
27553 "name" : "service_state",
2489d6df
WB
27554 "parameters" : {
27555 "additionalProperties" : 0,
27556 "properties" : {
2489d6df
WB
27557 "node" : {
27558 "description" : "The cluster node name.",
27559 "format" : "pve-node",
27560 "type" : "string",
27561 "typetext" : "<string>"
4d47f125
TL
27562 },
27563 "service" : {
27564 "description" : "Service ID",
27565 "enum" : [
27566 "pveproxy",
27567 "pvedaemon",
27568 "spiceproxy",
27569 "pvestatd",
27570 "pve-cluster",
27571 "corosync",
27572 "pve-firewall",
27573 "pvefw-logger",
27574 "pve-ha-crm",
27575 "pve-ha-lrm",
27576 "sshd",
27577 "syslog",
27578 "cron",
27579 "postfix",
27580 "ksmtuned",
27581 "systemd-timesyncd"
27582 ],
27583 "type" : "string"
2489d6df
WB
27584 }
27585 }
27586 },
27587 "permissions" : {
27588 "check" : [
27589 "perm",
4d47f125 27590 "/nodes/{node}",
2489d6df 27591 [
4d47f125 27592 "Sys.Audit"
2489d6df
WB
27593 ]
27594 ]
27595 },
27596 "protected" : 1,
27597 "proxyto" : "node",
27598 "returns" : {
4d47f125 27599 "type" : "object"
2489d6df
WB
27600 }
27601 }
27602 },
27603 "leaf" : 1,
4d47f125
TL
27604 "path" : "/nodes/{node}/services/{service}/state",
27605 "text" : "state"
27606 },
27607 {
27608 "info" : {
27609 "POST" : {
27610 "description" : "Start service.",
27611 "method" : "POST",
27612 "name" : "service_start",
27613 "parameters" : {
27614 "additionalProperties" : 0,
27615 "properties" : {
27616 "node" : {
27617 "description" : "The cluster node name.",
27618 "format" : "pve-node",
27619 "type" : "string",
27620 "typetext" : "<string>"
27621 },
27622 "service" : {
27623 "description" : "Service ID",
27624 "enum" : [
27625 "pveproxy",
27626 "pvedaemon",
27627 "spiceproxy",
27628 "pvestatd",
27629 "pve-cluster",
27630 "corosync",
27631 "pve-firewall",
27632 "pvefw-logger",
27633 "pve-ha-crm",
27634 "pve-ha-lrm",
27635 "sshd",
27636 "syslog",
27637 "cron",
27638 "postfix",
27639 "ksmtuned",
27640 "systemd-timesyncd"
27641 ],
27642 "type" : "string"
27643 }
27644 }
7aacca6f 27645 },
4d47f125
TL
27646 "permissions" : {
27647 "check" : [
27648 "perm",
27649 "/nodes/{node}",
27650 [
27651 "Sys.Modify"
27652 ]
27653 ]
7aacca6f 27654 },
4d47f125
TL
27655 "protected" : 1,
27656 "proxyto" : "node",
27657 "returns" : {
27658 "type" : "string"
27659 }
27660 }
56122987 27661 },
4d47f125
TL
27662 "leaf" : 1,
27663 "path" : "/nodes/{node}/services/{service}/start",
27664 "text" : "start"
27665 },
44660702
DM
27666 {
27667 "info" : {
4d47f125
TL
27668 "POST" : {
27669 "description" : "Stop service.",
27670 "method" : "POST",
27671 "name" : "service_stop",
44660702
DM
27672 "parameters" : {
27673 "additionalProperties" : 0,
27674 "properties" : {
44660702
DM
27675 "node" : {
27676 "description" : "The cluster node name.",
27677 "format" : "pve-node",
013dc89f
DM
27678 "type" : "string",
27679 "typetext" : "<string>"
2489d6df 27680 },
4d47f125
TL
27681 "service" : {
27682 "description" : "Service ID",
27683 "enum" : [
27684 "pveproxy",
27685 "pvedaemon",
27686 "spiceproxy",
27687 "pvestatd",
27688 "pve-cluster",
27689 "corosync",
27690 "pve-firewall",
27691 "pvefw-logger",
27692 "pve-ha-crm",
27693 "pve-ha-lrm",
27694 "sshd",
27695 "syslog",
27696 "cron",
27697 "postfix",
27698 "ksmtuned",
27699 "systemd-timesyncd"
27700 ],
27701 "type" : "string"
44660702
DM
27702 }
27703 }
27704 },
27705 "permissions" : {
27706 "check" : [
27707 "perm",
4d47f125 27708 "/nodes/{node}",
44660702
DM
27709 [
27710 "Sys.Modify"
27711 ]
27712 ]
27713 },
27714 "protected" : 1,
27715 "proxyto" : "node",
27716 "returns" : {
2489d6df 27717 "type" : "string"
44660702
DM
27718 }
27719 }
27720 },
27721 "leaf" : 1,
4d47f125
TL
27722 "path" : "/nodes/{node}/services/{service}/stop",
27723 "text" : "stop"
7aacca6f 27724 },
32d876b5
DM
27725 {
27726 "info" : {
4d47f125
TL
27727 "POST" : {
27728 "description" : "Restart service.",
27729 "method" : "POST",
27730 "name" : "service_restart",
32d876b5
DM
27731 "parameters" : {
27732 "additionalProperties" : 0,
27733 "properties" : {
4d47f125
TL
27734 "node" : {
27735 "description" : "The cluster node name.",
27736 "format" : "pve-node",
27737 "type" : "string",
27738 "typetext" : "<string>"
27739 },
27740 "service" : {
27741 "description" : "Service ID",
32d876b5 27742 "enum" : [
4d47f125
TL
27743 "pveproxy",
27744 "pvedaemon",
27745 "spiceproxy",
27746 "pvestatd",
27747 "pve-cluster",
27748 "corosync",
27749 "pve-firewall",
27750 "pvefw-logger",
27751 "pve-ha-crm",
27752 "pve-ha-lrm",
27753 "sshd",
27754 "syslog",
27755 "cron",
27756 "postfix",
27757 "ksmtuned",
27758 "systemd-timesyncd"
32d876b5
DM
27759 ],
27760 "type" : "string"
32d876b5
DM
27761 }
27762 }
27763 },
27764 "permissions" : {
27765 "check" : [
27766 "perm",
4d47f125 27767 "/nodes/{node}",
32d876b5
DM
27768 [
27769 "Sys.Modify"
27770 ]
27771 ]
27772 },
27773 "protected" : 1,
27774 "proxyto" : "node",
27775 "returns" : {
4d47f125 27776 "type" : "string"
32d876b5 27777 }
4d47f125
TL
27778 }
27779 },
27780 "leaf" : 1,
27781 "path" : "/nodes/{node}/services/{service}/restart",
27782 "text" : "restart"
27783 },
27784 {
27785 "info" : {
32d876b5 27786 "POST" : {
4d47f125 27787 "description" : "Reload service.",
32d876b5 27788 "method" : "POST",
4d47f125 27789 "name" : "service_reload",
32d876b5
DM
27790 "parameters" : {
27791 "additionalProperties" : 0,
27792 "properties" : {
32d876b5
DM
27793 "node" : {
27794 "description" : "The cluster node name.",
27795 "format" : "pve-node",
27796 "type" : "string",
27797 "typetext" : "<string>"
4d47f125
TL
27798 },
27799 "service" : {
27800 "description" : "Service ID",
27801 "enum" : [
27802 "pveproxy",
27803 "pvedaemon",
27804 "spiceproxy",
27805 "pvestatd",
27806 "pve-cluster",
27807 "corosync",
27808 "pve-firewall",
27809 "pvefw-logger",
27810 "pve-ha-crm",
27811 "pve-ha-lrm",
27812 "sshd",
27813 "syslog",
27814 "cron",
27815 "postfix",
27816 "ksmtuned",
27817 "systemd-timesyncd"
27818 ],
27819 "type" : "string"
32d876b5
DM
27820 }
27821 }
27822 },
27823 "permissions" : {
27824 "check" : [
27825 "perm",
4d47f125 27826 "/nodes/{node}",
32d876b5
DM
27827 [
27828 "Sys.Modify"
27829 ]
27830 ]
27831 },
27832 "protected" : 1,
27833 "proxyto" : "node",
27834 "returns" : {
4d47f125 27835 "type" : "string"
32d876b5
DM
27836 }
27837 }
27838 },
27839 "leaf" : 1,
4d47f125
TL
27840 "path" : "/nodes/{node}/services/{service}/reload",
27841 "text" : "reload"
32d876b5
DM
27842 }
27843 ],
27844 "info" : {
27845 "GET" : {
4d47f125 27846 "description" : "Directory index",
44660702 27847 "method" : "GET",
4d47f125 27848 "name" : "srvcmdidx",
44660702
DM
27849 "parameters" : {
27850 "additionalProperties" : 0,
27851 "properties" : {
44660702
DM
27852 "node" : {
27853 "description" : "The cluster node name.",
27854 "format" : "pve-node",
013dc89f
DM
27855 "type" : "string",
27856 "typetext" : "<string>"
44660702 27857 },
4d47f125
TL
27858 "service" : {
27859 "description" : "Service ID",
27860 "enum" : [
27861 "pveproxy",
27862 "pvedaemon",
27863 "spiceproxy",
27864 "pvestatd",
27865 "pve-cluster",
27866 "corosync",
27867 "pve-firewall",
27868 "pvefw-logger",
27869 "pve-ha-crm",
27870 "pve-ha-lrm",
27871 "sshd",
27872 "syslog",
27873 "cron",
27874 "postfix",
27875 "ksmtuned",
27876 "systemd-timesyncd"
27877 ],
27878 "type" : "string"
44660702 27879 }
7aacca6f 27880 }
56122987 27881 },
56122987
DM
27882 "permissions" : {
27883 "check" : [
27884 "perm",
7aacca6f 27885 "/nodes/{node}",
56122987 27886 [
4d47f125 27887 "Sys.Audit"
56122987
DM
27888 ]
27889 ]
27890 },
44660702
DM
27891 "returns" : {
27892 "items" : {
27893 "properties" : {
4d47f125 27894 "subdir" : {
44660702
DM
27895 "type" : "string"
27896 }
56122987 27897 },
44660702 27898 "type" : "object"
56122987 27899 },
2489d6df
WB
27900 "links" : [
27901 {
4d47f125 27902 "href" : "{subdir}",
2489d6df
WB
27903 "rel" : "child"
27904 }
27905 ],
27906 "type" : "array"
27907 }
27908 }
4d47f125
TL
27909 },
27910 "leaf" : 0,
27911 "path" : "/nodes/{node}/services/{service}",
27912 "text" : "{service}"
7aacca6f
DM
27913 }
27914 ],
44660702
DM
27915 "info" : {
27916 "GET" : {
4d47f125 27917 "description" : "Service list.",
44660702
DM
27918 "method" : "GET",
27919 "name" : "index",
27920 "parameters" : {
27921 "additionalProperties" : 0,
27922 "properties" : {
27923 "node" : {
27924 "description" : "The cluster node name.",
27925 "format" : "pve-node",
013dc89f
DM
27926 "type" : "string",
27927 "typetext" : "<string>"
44660702
DM
27928 }
27929 }
27930 },
27931 "permissions" : {
27932 "check" : [
27933 "perm",
4d47f125 27934 "/nodes/{node}",
44660702 27935 [
4d47f125
TL
27936 "Sys.Audit"
27937 ]
44660702
DM
27938 ]
27939 },
4d47f125
TL
27940 "protected" : 1,
27941 "proxyto" : "node",
44660702
DM
27942 "returns" : {
27943 "items" : {
27944 "properties" : {},
27945 "type" : "object"
27946 },
27947 "links" : [
27948 {
4d47f125 27949 "href" : "{service}",
44660702
DM
27950 "rel" : "child"
27951 }
27952 ],
27953 "type" : "array"
27954 }
27955 }
27956 },
7aacca6f 27957 "leaf" : 0,
4d47f125
TL
27958 "path" : "/nodes/{node}/services",
27959 "text" : "services"
7aacca6f
DM
27960 },
27961 {
7aacca6f 27962 "info" : {
4d47f125
TL
27963 "GET" : {
27964 "description" : "Read subscription info.",
27965 "method" : "GET",
27966 "name" : "get",
7aacca6f 27967 "parameters" : {
44660702 27968 "additionalProperties" : 0,
7aacca6f 27969 "properties" : {
44660702 27970 "node" : {
4d47f125 27971 "description" : "The cluster node name.",
44660702 27972 "format" : "pve-node",
013dc89f
DM
27973 "type" : "string",
27974 "typetext" : "<string>"
4d47f125
TL
27975 }
27976 }
27977 },
27978 "permissions" : {
27979 "user" : "all"
27980 },
27981 "proxyto" : "node",
27982 "returns" : {
27983 "type" : "object"
27984 }
27985 },
27986 "POST" : {
27987 "description" : "Update subscription info.",
27988 "method" : "POST",
27989 "name" : "update",
27990 "parameters" : {
27991 "additionalProperties" : 0,
27992 "properties" : {
27993 "force" : {
27994 "default" : 0,
27995 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 27996 "optional" : 1,
4d47f125
TL
27997 "type" : "boolean",
27998 "typetext" : "<boolean>"
44660702 27999 },
4d47f125
TL
28000 "node" : {
28001 "description" : "The cluster node name.",
28002 "format" : "pve-node",
013dc89f
DM
28003 "type" : "string",
28004 "typetext" : "<string>"
4d47f125
TL
28005 }
28006 }
28007 },
28008 "permissions" : {
28009 "check" : [
28010 "perm",
28011 "/nodes/{node}",
28012 [
28013 "Sys.Modify"
28014 ]
28015 ]
28016 },
28017 "protected" : 1,
28018 "proxyto" : "node",
28019 "returns" : {
28020 "type" : "null"
28021 }
28022 },
28023 "PUT" : {
28024 "description" : "Set subscription key.",
28025 "method" : "PUT",
28026 "name" : "set",
28027 "parameters" : {
28028 "additionalProperties" : 0,
28029 "properties" : {
28030 "key" : {
28031 "description" : "Proxmox VE subscription key",
28032 "maxLength" : 32,
5f26e15b 28033 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 28034 "type" : "string"
7aacca6f 28035 },
4d47f125
TL
28036 "node" : {
28037 "description" : "The cluster node name.",
28038 "format" : "pve-node",
013dc89f
DM
28039 "type" : "string",
28040 "typetext" : "<string>"
7aacca6f 28041 }
7aacca6f
DM
28042 }
28043 },
7aacca6f 28044 "permissions" : {
4d47f125
TL
28045 "check" : [
28046 "perm",
28047 "/nodes/{node}",
28048 [
28049 "Sys.Modify"
28050 ]
28051 ]
7aacca6f 28052 },
44660702 28053 "protected" : 1,
7aacca6f 28054 "proxyto" : "node",
7aacca6f 28055 "returns" : {
4d47f125 28056 "type" : "null"
7aacca6f
DM
28057 }
28058 }
28059 },
4d47f125
TL
28060 "leaf" : 1,
28061 "path" : "/nodes/{node}/subscription",
28062 "text" : "subscription"
44660702
DM
28063 },
28064 {
7aacca6f
DM
28065 "children" : [
28066 {
4d47f125
TL
28067 "info" : {
28068 "DELETE" : {
28069 "description" : "Delete network device configuration",
28070 "method" : "DELETE",
28071 "name" : "delete_network",
28072 "parameters" : {
28073 "additionalProperties" : 0,
28074 "properties" : {
28075 "iface" : {
28076 "description" : "Network interface name.",
28077 "format" : "pve-iface",
28078 "maxLength" : 20,
28079 "minLength" : 2,
28080 "type" : "string",
28081 "typetext" : "<string>"
7aacca6f 28082 },
4d47f125
TL
28083 "node" : {
28084 "description" : "The cluster node name.",
28085 "format" : "pve-node",
28086 "type" : "string",
28087 "typetext" : "<string>"
44660702
DM
28088 }
28089 }
28090 },
4d47f125
TL
28091 "permissions" : {
28092 "check" : [
28093 "perm",
28094 "/nodes/{node}",
28095 [
28096 "Sys.Modify"
28097 ]
28098 ]
28099 },
28100 "protected" : 1,
28101 "proxyto" : "node",
28102 "returns" : {
28103 "type" : "null"
28104 }
28105 },
28106 "GET" : {
28107 "description" : "Read network device configuration",
28108 "method" : "GET",
28109 "name" : "network_config",
28110 "parameters" : {
28111 "additionalProperties" : 0,
28112 "properties" : {
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 "node" : {
28122 "description" : "The cluster node name.",
28123 "format" : "pve-node",
28124 "type" : "string",
28125 "typetext" : "<string>"
44660702
DM
28126 }
28127 }
28128 },
4d47f125
TL
28129 "permissions" : {
28130 "check" : [
28131 "perm",
28132 "/nodes/{node}",
28133 [
28134 "Sys.Audit"
28135 ]
28136 ]
28137 },
28138 "proxyto" : "node",
28139 "returns" : {
28140 "properties" : {
28141 "method" : {
28142 "type" : "string"
44660702 28143 },
4d47f125 28144 "type" : {
44660702
DM
28145 "type" : "string"
28146 }
4d47f125
TL
28147 },
28148 "type" : "object"
28149 }
56122987 28150 },
4d47f125
TL
28151 "PUT" : {
28152 "description" : "Update network device configuration",
28153 "method" : "PUT",
28154 "name" : "update_network",
28155 "parameters" : {
28156 "additionalProperties" : 0,
28157 "properties" : {
28158 "address" : {
28159 "description" : "IP address.",
28160 "format" : "ipv4",
28161 "optional" : 1,
28162 "requires" : "netmask",
28163 "type" : "string",
28164 "typetext" : "<string>"
28165 },
28166 "address6" : {
28167 "description" : "IP address.",
28168 "format" : "ipv6",
28169 "optional" : 1,
28170 "requires" : "netmask6",
28171 "type" : "string",
28172 "typetext" : "<string>"
28173 },
28174 "autostart" : {
28175 "description" : "Automatically start interface on boot.",
28176 "optional" : 1,
28177 "type" : "boolean",
28178 "typetext" : "<boolean>"
28179 },
28180 "bond_mode" : {
28181 "description" : "Bonding mode.",
28182 "enum" : [
28183 "balance-rr",
28184 "active-backup",
28185 "balance-xor",
28186 "broadcast",
28187 "802.3ad",
28188 "balance-tlb",
28189 "balance-alb",
28190 "balance-slb",
28191 "lacp-balance-slb",
28192 "lacp-balance-tcp"
28193 ],
28194 "optional" : 1,
28195 "type" : "string"
28196 },
28197 "bond_xmit_hash_policy" : {
28198 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
28199 "enum" : [
28200 "layer2",
28201 "layer2+3",
28202 "layer3+4"
28203 ],
28204 "optional" : 1,
28205 "type" : "string"
28206 },
28207 "bridge_ports" : {
1e3f8156 28208 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
28209 "format" : "pve-iface-list",
28210 "optional" : 1,
28211 "type" : "string",
28212 "typetext" : "<string>"
28213 },
28214 "bridge_vlan_aware" : {
28215 "description" : "Enable bridge vlan support.",
28216 "optional" : 1,
28217 "type" : "boolean",
28218 "typetext" : "<boolean>"
28219 },
bb4c8cf8
TL
28220 "cidr" : {
28221 "description" : "IPv4 CIDR.",
28222 "format" : "CIDRv4",
28223 "optional" : 1,
28224 "type" : "string",
28225 "typetext" : "<string>"
28226 },
28227 "cidr6" : {
28228 "description" : "IPv6 CIDR.",
28229 "format" : "CIDRv6",
28230 "optional" : 1,
28231 "type" : "string",
28232 "typetext" : "<string>"
28233 },
4d47f125
TL
28234 "comments" : {
28235 "description" : "Comments",
28236 "optional" : 1,
28237 "type" : "string",
28238 "typetext" : "<string>"
28239 },
28240 "comments6" : {
28241 "description" : "Comments",
28242 "optional" : 1,
28243 "type" : "string",
28244 "typetext" : "<string>"
28245 },
28246 "delete" : {
28247 "description" : "A list of settings you want to delete.",
28248 "format" : "pve-configid-list",
28249 "optional" : 1,
28250 "type" : "string",
28251 "typetext" : "<string>"
28252 },
28253 "gateway" : {
28254 "description" : "Default gateway address.",
28255 "format" : "ipv4",
28256 "optional" : 1,
28257 "type" : "string",
28258 "typetext" : "<string>"
28259 },
28260 "gateway6" : {
28261 "description" : "Default ipv6 gateway address.",
28262 "format" : "ipv6",
28263 "optional" : 1,
28264 "type" : "string",
28265 "typetext" : "<string>"
28266 },
28267 "iface" : {
28268 "description" : "Network interface name.",
28269 "format" : "pve-iface",
28270 "maxLength" : 20,
28271 "minLength" : 2,
28272 "type" : "string",
28273 "typetext" : "<string>"
56122987 28274 },
4d47f125
TL
28275 "netmask" : {
28276 "description" : "Network mask.",
28277 "format" : "ipv4mask",
28278 "optional" : 1,
28279 "requires" : "address",
28280 "type" : "string",
28281 "typetext" : "<string>"
28282 },
28283 "netmask6" : {
28284 "description" : "Network mask.",
28285 "maximum" : 128,
28286 "minimum" : 0,
28287 "optional" : 1,
28288 "requires" : "address6",
28289 "type" : "integer",
28290 "typetext" : "<integer> (0 - 128)"
56122987 28291 },
44660702
DM
28292 "node" : {
28293 "description" : "The cluster node name.",
28294 "format" : "pve-node",
013dc89f
DM
28295 "type" : "string",
28296 "typetext" : "<string>"
44660702 28297 },
4d47f125
TL
28298 "ovs_bonds" : {
28299 "description" : "Specify the interfaces used by the bonding device.",
28300 "format" : "pve-iface-list",
28301 "optional" : 1,
28302 "type" : "string",
28303 "typetext" : "<string>"
28304 },
28305 "ovs_bridge" : {
28306 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
28307 "format" : "pve-iface",
28308 "optional" : 1,
28309 "type" : "string",
28310 "typetext" : "<string>"
28311 },
28312 "ovs_options" : {
28313 "description" : "OVS interface options.",
28314 "maxLength" : 1024,
28315 "optional" : 1,
28316 "type" : "string",
28317 "typetext" : "<string>"
28318 },
28319 "ovs_ports" : {
1e3f8156 28320 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
28321 "format" : "pve-iface-list",
28322 "optional" : 1,
28323 "type" : "string",
28324 "typetext" : "<string>"
28325 },
28326 "ovs_tag" : {
28327 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
28328 "maximum" : 4094,
28329 "minimum" : 1,
28330 "optional" : 1,
28331 "type" : "integer",
28332 "typetext" : "<integer> (1 - 4094)"
28333 },
28334 "slaves" : {
28335 "description" : "Specify the interfaces used by the bonding device.",
28336 "format" : "pve-iface-list",
28337 "optional" : 1,
28338 "type" : "string",
28339 "typetext" : "<string>"
28340 },
28341 "type" : {
28342 "description" : "Network interface type",
44660702 28343 "enum" : [
4d47f125
TL
28344 "bridge",
28345 "bond",
28346 "eth",
28347 "alias",
28348 "vlan",
28349 "OVSBridge",
28350 "OVSBond",
28351 "OVSPort",
28352 "OVSIntPort",
28353 "unknown"
44660702
DM
28354 ],
28355 "type" : "string"
28356 }
28357 }
28358 },
28359 "permissions" : {
28360 "check" : [
28361 "perm",
28362 "/nodes/{node}",
28363 [
4d47f125 28364 "Sys.Modify"
44660702
DM
28365 ]
28366 ]
28367 },
4d47f125
TL
28368 "protected" : 1,
28369 "proxyto" : "node",
44660702 28370 "returns" : {
4d47f125 28371 "type" : "null"
44660702
DM
28372 }
28373 }
28374 },
4d47f125
TL
28375 "leaf" : 1,
28376 "path" : "/nodes/{node}/network/{iface}",
28377 "text" : "{iface}"
44660702
DM
28378 }
28379 ],
28380 "info" : {
4d47f125
TL
28381 "DELETE" : {
28382 "description" : "Revert network configuration changes.",
28383 "method" : "DELETE",
28384 "name" : "revert_network_changes",
44660702
DM
28385 "parameters" : {
28386 "additionalProperties" : 0,
28387 "properties" : {
28388 "node" : {
28389 "description" : "The cluster node name.",
28390 "format" : "pve-node",
013dc89f
DM
28391 "type" : "string",
28392 "typetext" : "<string>"
44660702
DM
28393 }
28394 }
28395 },
28396 "permissions" : {
28397 "check" : [
28398 "perm",
28399 "/nodes/{node}",
28400 [
4d47f125 28401 "Sys.Modify"
44660702
DM
28402 ]
28403 ]
28404 },
28405 "protected" : 1,
28406 "proxyto" : "node",
4d47f125
TL
28407 "returns" : {
28408 "type" : "null"
28409 }
28410 },
28411 "GET" : {
28412 "description" : "List available networks",
28413 "method" : "GET",
28414 "name" : "index",
28415 "parameters" : {
28416 "additionalProperties" : 0,
28417 "properties" : {
28418 "node" : {
28419 "description" : "The cluster node name.",
28420 "format" : "pve-node",
28421 "type" : "string",
28422 "typetext" : "<string>"
28423 },
28424 "type" : {
28425 "description" : "Only list specific interface types.",
28426 "enum" : [
28427 "bridge",
28428 "bond",
28429 "eth",
28430 "alias",
28431 "vlan",
28432 "OVSBridge",
28433 "OVSBond",
28434 "OVSPort",
28435 "OVSIntPort",
28436 "any_bridge"
28437 ],
28438 "optional" : 1,
28439 "type" : "string"
28440 }
28441 }
28442 },
28443 "permissions" : {
28444 "user" : "all"
28445 },
28446 "proxyto" : "node",
44660702
DM
28447 "returns" : {
28448 "items" : {
28449 "properties" : {},
28450 "type" : "object"
28451 },
28452 "links" : [
28453 {
4d47f125 28454 "href" : "{iface}",
44660702 28455 "rel" : "child"
56122987 28456 }
44660702
DM
28457 ],
28458 "type" : "array"
28459 }
4d47f125
TL
28460 },
28461 "POST" : {
28462 "description" : "Create network device configuration",
28463 "method" : "POST",
28464 "name" : "create_network",
7aacca6f 28465 "parameters" : {
44660702 28466 "additionalProperties" : 0,
7aacca6f 28467 "properties" : {
4d47f125
TL
28468 "address" : {
28469 "description" : "IP address.",
28470 "format" : "ipv4",
28471 "optional" : 1,
28472 "requires" : "netmask",
28473 "type" : "string",
28474 "typetext" : "<string>"
28475 },
28476 "address6" : {
28477 "description" : "IP address.",
28478 "format" : "ipv6",
28479 "optional" : 1,
28480 "requires" : "netmask6",
28481 "type" : "string",
28482 "typetext" : "<string>"
28483 },
28484 "autostart" : {
28485 "description" : "Automatically start interface on boot.",
28486 "optional" : 1,
28487 "type" : "boolean",
28488 "typetext" : "<boolean>"
28489 },
28490 "bond_mode" : {
28491 "description" : "Bonding mode.",
28492 "enum" : [
28493 "balance-rr",
28494 "active-backup",
28495 "balance-xor",
28496 "broadcast",
28497 "802.3ad",
28498 "balance-tlb",
28499 "balance-alb",
28500 "balance-slb",
28501 "lacp-balance-slb",
28502 "lacp-balance-tcp"
28503 ],
28504 "optional" : 1,
28505 "type" : "string"
28506 },
28507 "bond_xmit_hash_policy" : {
28508 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
28509 "enum" : [
28510 "layer2",
28511 "layer2+3",
28512 "layer3+4"
28513 ],
28514 "optional" : 1,
28515 "type" : "string"
28516 },
28517 "bridge_ports" : {
1e3f8156 28518 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
28519 "format" : "pve-iface-list",
28520 "optional" : 1,
013dc89f
DM
28521 "type" : "string",
28522 "typetext" : "<string>"
4d47f125
TL
28523 },
28524 "bridge_vlan_aware" : {
28525 "description" : "Enable bridge vlan support.",
44660702 28526 "optional" : 1,
013dc89f
DM
28527 "type" : "boolean",
28528 "typetext" : "<boolean>"
44660702 28529 },
bb4c8cf8
TL
28530 "cidr" : {
28531 "description" : "IPv4 CIDR.",
28532 "format" : "CIDRv4",
28533 "optional" : 1,
28534 "type" : "string",
28535 "typetext" : "<string>"
28536 },
28537 "cidr6" : {
28538 "description" : "IPv6 CIDR.",
28539 "format" : "CIDRv6",
28540 "optional" : 1,
28541 "type" : "string",
28542 "typetext" : "<string>"
28543 },
4d47f125
TL
28544 "comments" : {
28545 "description" : "Comments",
28546 "optional" : 1,
28547 "type" : "string",
28548 "typetext" : "<string>"
28549 },
28550 "comments6" : {
28551 "description" : "Comments",
28552 "optional" : 1,
28553 "type" : "string",
28554 "typetext" : "<string>"
28555 },
28556 "gateway" : {
28557 "description" : "Default gateway address.",
28558 "format" : "ipv4",
28559 "optional" : 1,
28560 "type" : "string",
28561 "typetext" : "<string>"
28562 },
28563 "gateway6" : {
28564 "description" : "Default ipv6 gateway address.",
28565 "format" : "ipv6",
28566 "optional" : 1,
28567 "type" : "string",
28568 "typetext" : "<string>"
28569 },
28570 "iface" : {
28571 "description" : "Network interface name.",
28572 "format" : "pve-iface",
28573 "maxLength" : 20,
28574 "minLength" : 2,
28575 "type" : "string",
28576 "typetext" : "<string>"
28577 },
28578 "netmask" : {
28579 "description" : "Network mask.",
28580 "format" : "ipv4mask",
28581 "optional" : 1,
28582 "requires" : "address",
28583 "type" : "string",
28584 "typetext" : "<string>"
28585 },
28586 "netmask6" : {
28587 "description" : "Network mask.",
28588 "maximum" : 128,
28589 "minimum" : 0,
28590 "optional" : 1,
28591 "requires" : "address6",
28592 "type" : "integer",
28593 "typetext" : "<integer> (0 - 128)"
28594 },
7aacca6f 28595 "node" : {
7aacca6f 28596 "description" : "The cluster node name.",
44660702 28597 "format" : "pve-node",
013dc89f
DM
28598 "type" : "string",
28599 "typetext" : "<string>"
4d47f125
TL
28600 },
28601 "ovs_bonds" : {
28602 "description" : "Specify the interfaces used by the bonding device.",
28603 "format" : "pve-iface-list",
28604 "optional" : 1,
28605 "type" : "string",
28606 "typetext" : "<string>"
28607 },
28608 "ovs_bridge" : {
28609 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
28610 "format" : "pve-iface",
28611 "optional" : 1,
28612 "type" : "string",
28613 "typetext" : "<string>"
28614 },
28615 "ovs_options" : {
28616 "description" : "OVS interface options.",
28617 "maxLength" : 1024,
28618 "optional" : 1,
28619 "type" : "string",
28620 "typetext" : "<string>"
28621 },
28622 "ovs_ports" : {
1e3f8156 28623 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
28624 "format" : "pve-iface-list",
28625 "optional" : 1,
28626 "type" : "string",
28627 "typetext" : "<string>"
28628 },
28629 "ovs_tag" : {
28630 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
28631 "maximum" : 4094,
28632 "minimum" : 1,
28633 "optional" : 1,
28634 "type" : "integer",
28635 "typetext" : "<integer> (1 - 4094)"
28636 },
28637 "slaves" : {
28638 "description" : "Specify the interfaces used by the bonding device.",
28639 "format" : "pve-iface-list",
28640 "optional" : 1,
28641 "type" : "string",
28642 "typetext" : "<string>"
28643 },
28644 "type" : {
28645 "description" : "Network interface type",
28646 "enum" : [
28647 "bridge",
28648 "bond",
28649 "eth",
28650 "alias",
28651 "vlan",
28652 "OVSBridge",
28653 "OVSBond",
28654 "OVSPort",
28655 "OVSIntPort",
28656 "unknown"
28657 ],
28658 "type" : "string"
7aacca6f
DM
28659 }
28660 }
28661 },
35a75dd3
DM
28662 "permissions" : {
28663 "check" : [
28664 "perm",
28665 "/nodes/{node}",
28666 [
28667 "Sys.Modify"
28668 ]
28669 ]
28670 },
7aacca6f 28671 "protected" : 1,
7aacca6f 28672 "proxyto" : "node",
44660702
DM
28673 "returns" : {
28674 "type" : "null"
28675 }
28676 },
28677 "PUT" : {
4d47f125 28678 "description" : "Reload network configuration",
44660702 28679 "method" : "PUT",
4d47f125 28680 "name" : "reload_network_config",
7aacca6f
DM
28681 "parameters" : {
28682 "additionalProperties" : 0,
28683 "properties" : {
7aacca6f 28684 "node" : {
7aacca6f 28685 "description" : "The cluster node name.",
44660702 28686 "format" : "pve-node",
013dc89f
DM
28687 "type" : "string",
28688 "typetext" : "<string>"
7aacca6f
DM
28689 }
28690 }
28691 },
35a75dd3
DM
28692 "permissions" : {
28693 "check" : [
28694 "perm",
28695 "/nodes/{node}",
28696 [
28697 "Sys.Modify"
28698 ]
28699 ]
28700 },
44660702
DM
28701 "protected" : 1,
28702 "proxyto" : "node",
7aacca6f 28703 "returns" : {
4d47f125 28704 "type" : "string"
44660702 28705 }
7aacca6f
DM
28706 }
28707 },
4d47f125
TL
28708 "leaf" : 0,
28709 "path" : "/nodes/{node}/network",
28710 "text" : "network"
7aacca6f
DM
28711 },
28712 {
7aacca6f
DM
28713 "children" : [
28714 {
4d47f125
TL
28715 "children" : [
28716 {
28717 "info" : {
28718 "GET" : {
28719 "description" : "Read task log.",
28720 "method" : "GET",
28721 "name" : "read_task_log",
28722 "parameters" : {
28723 "additionalProperties" : 0,
28724 "properties" : {
28725 "limit" : {
28726 "default" : 50,
28727 "minimum" : 0,
28728 "optional" : 1,
28729 "type" : "integer",
28730 "typetext" : "<integer> (0 - N)"
28731 },
28732 "node" : {
28733 "description" : "The cluster node name.",
28734 "format" : "pve-node",
28735 "type" : "string",
28736 "typetext" : "<string>"
28737 },
28738 "start" : {
28739 "default" : 0,
28740 "minimum" : 0,
28741 "optional" : 1,
28742 "type" : "integer",
28743 "typetext" : "<integer> (0 - N)"
28744 },
28745 "upid" : {
28746 "type" : "string",
28747 "typetext" : "<string>"
28748 }
28749 }
28750 },
28751 "permissions" : {
28752 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
28753 "user" : "all"
28754 },
28755 "protected" : 1,
28756 "proxyto" : "node",
28757 "returns" : {
28758 "items" : {
28759 "properties" : {
28760 "n" : {
28761 "description" : "Line number",
28762 "type" : "integer"
28763 },
28764 "t" : {
28765 "description" : "Line text",
28766 "type" : "string"
28767 }
28768 },
28769 "type" : "object"
28770 },
28771 "type" : "array"
28772 }
28773 }
28774 },
28775 "leaf" : 1,
28776 "path" : "/nodes/{node}/tasks/{upid}/log",
28777 "text" : "log"
28778 },
28779 {
28780 "info" : {
28781 "GET" : {
28782 "description" : "Read task status.",
28783 "method" : "GET",
28784 "name" : "read_task_status",
28785 "parameters" : {
28786 "additionalProperties" : 0,
28787 "properties" : {
28788 "node" : {
28789 "description" : "The cluster node name.",
28790 "format" : "pve-node",
28791 "type" : "string",
28792 "typetext" : "<string>"
28793 },
28794 "upid" : {
28795 "type" : "string",
28796 "typetext" : "<string>"
28797 }
28798 }
28799 },
28800 "permissions" : {
28801 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
28802 "user" : "all"
28803 },
28804 "protected" : 1,
28805 "proxyto" : "node",
28806 "returns" : {
28807 "properties" : {
28808 "pid" : {
28809 "type" : "integer"
28810 },
28811 "status" : {
28812 "enum" : [
28813 "running",
28814 "stopped"
28815 ],
28816 "type" : "string"
28817 }
28818 },
28819 "type" : "object"
28820 }
28821 }
28822 },
28823 "leaf" : 1,
28824 "path" : "/nodes/{node}/tasks/{upid}/status",
28825 "text" : "status"
28826 }
28827 ],
56122987 28828 "info" : {
7aacca6f 28829 "DELETE" : {
4d47f125 28830 "description" : "Stop a task.",
44660702 28831 "method" : "DELETE",
4d47f125 28832 "name" : "stop_task",
44660702
DM
28833 "parameters" : {
28834 "additionalProperties" : 0,
28835 "properties" : {
44660702
DM
28836 "node" : {
28837 "description" : "The cluster node name.",
28838 "format" : "pve-node",
013dc89f
DM
28839 "type" : "string",
28840 "typetext" : "<string>"
4d47f125
TL
28841 },
28842 "upid" : {
28843 "type" : "string",
28844 "typetext" : "<string>"
44660702
DM
28845 }
28846 }
7aacca6f
DM
28847 },
28848 "permissions" : {
4d47f125
TL
28849 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
28850 "user" : "all"
7aacca6f 28851 },
44660702 28852 "protected" : 1,
7aacca6f 28853 "proxyto" : "node",
44660702
DM
28854 "returns" : {
28855 "type" : "null"
28856 }
28857 },
28858 "GET" : {
4d47f125 28859 "description" : "",
44660702 28860 "method" : "GET",
4d47f125 28861 "name" : "upid_index",
7aacca6f
DM
28862 "parameters" : {
28863 "additionalProperties" : 0,
28864 "properties" : {
7aacca6f 28865 "node" : {
44660702 28866 "description" : "The cluster node name.",
7aacca6f 28867 "format" : "pve-node",
013dc89f
DM
28868 "type" : "string",
28869 "typetext" : "<string>"
7aacca6f 28870 },
4d47f125
TL
28871 "upid" : {
28872 "type" : "string",
28873 "typetext" : "<string>"
7aacca6f
DM
28874 }
28875 }
28876 },
7aacca6f 28877 "permissions" : {
4d47f125 28878 "user" : "all"
7aacca6f
DM
28879 },
28880 "returns" : {
4d47f125
TL
28881 "items" : {
28882 "properties" : {},
28883 "type" : "object"
28884 },
28885 "links" : [
28886 {
28887 "href" : "{name}",
28888 "rel" : "child"
28889 }
28890 ],
28891 "type" : "array"
44660702 28892 }
7aacca6f
DM
28893 }
28894 },
4d47f125
TL
28895 "leaf" : 0,
28896 "path" : "/nodes/{node}/tasks/{upid}",
28897 "text" : "{upid}"
7aacca6f
DM
28898 }
28899 ],
7aacca6f 28900 "info" : {
44660702 28901 "GET" : {
4d47f125 28902 "description" : "Read task list for one node (finished tasks).",
44660702 28903 "method" : "GET",
4d47f125 28904 "name" : "node_tasks",
44660702
DM
28905 "parameters" : {
28906 "additionalProperties" : 0,
28907 "properties" : {
4d47f125
TL
28908 "errors" : {
28909 "default" : 0,
7aacca6f 28910 "optional" : 1,
4d47f125
TL
28911 "type" : "boolean",
28912 "typetext" : "<boolean>"
7aacca6f 28913 },
4d47f125
TL
28914 "limit" : {
28915 "default" : 50,
28916 "description" : "Only list this amount of tasks.",
28917 "minimum" : 0,
44660702 28918 "optional" : 1,
4d47f125
TL
28919 "type" : "integer",
28920 "typetext" : "<integer> (0 - N)"
28921 },
28922 "node" : {
28923 "description" : "The cluster node name.",
28924 "format" : "pve-node",
013dc89f
DM
28925 "type" : "string",
28926 "typetext" : "<string>"
44660702 28927 },
5f26e15b
TL
28928 "source" : {
28929 "default" : "archive",
28930 "description" : "List archived, active or all tasks.",
28931 "enum" : [
28932 "archive",
28933 "active",
28934 "all"
28935 ],
28936 "optional" : 1,
28937 "type" : "string"
28938 },
4d47f125
TL
28939 "start" : {
28940 "default" : 0,
28941 "description" : "List tasks beginning from this offset.",
28942 "minimum" : 0,
44660702 28943 "optional" : 1,
4d47f125
TL
28944 "type" : "integer",
28945 "typetext" : "<integer> (0 - N)"
44660702 28946 },
5f26e15b
TL
28947 "typefilter" : {
28948 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
28949 "optional" : 1,
28950 "type" : "string",
28951 "typetext" : "<string>"
28952 },
4d47f125
TL
28953 "userfilter" : {
28954 "description" : "Only list tasks from this user.",
44660702 28955 "optional" : 1,
013dc89f
DM
28956 "type" : "string",
28957 "typetext" : "<string>"
44660702 28958 },
4d47f125
TL
28959 "vmid" : {
28960 "description" : "Only list tasks for this VM.",
28961 "format" : "pve-vmid",
44660702
DM
28962 "minimum" : 1,
28963 "optional" : 1,
4bd7df8b 28964 "type" : "integer",
4d47f125
TL
28965 "typetext" : "<integer> (1 - N)"
28966 }
28967 }
28968 },
28969 "permissions" : {
28970 "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).",
28971 "user" : "all"
28972 },
28973 "proxyto" : "node",
28974 "returns" : {
28975 "items" : {
28976 "properties" : {
28977 "endtime" : {
28978 "optional" : 1,
28979 "title" : "Endtime",
28980 "type" : "integer"
28981 },
28982 "id" : {
4d47f125
TL
28983 "title" : "ID",
28984 "type" : "string"
28985 },
28986 "node" : {
4d47f125
TL
28987 "title" : "Node",
28988 "type" : "string"
28989 },
28990 "pid" : {
4d47f125
TL
28991 "title" : "PID",
28992 "type" : "integer"
28993 },
28994 "pstart" : {
4d47f125
TL
28995 "type" : "integer"
28996 },
28997 "starttime" : {
4d47f125
TL
28998 "title" : "Starttime",
28999 "type" : "integer"
29000 },
29001 "status" : {
29002 "optional" : 1,
29003 "title" : "Status",
29004 "type" : "string"
29005 },
29006 "type" : {
4d47f125
TL
29007 "title" : "Type",
29008 "type" : "string"
29009 },
29010 "upid" : {
29011 "title" : "UPID",
29012 "type" : "string"
29013 },
29014 "user" : {
4d47f125
TL
29015 "title" : "User",
29016 "type" : "string"
29017 }
44660702 29018 },
4d47f125
TL
29019 "type" : "object"
29020 },
29021 "links" : [
29022 {
29023 "href" : "{upid}",
29024 "rel" : "child"
29025 }
29026 ],
29027 "type" : "array"
29028 }
29029 }
29030 },
29031 "leaf" : 0,
29032 "path" : "/nodes/{node}/tasks",
29033 "text" : "tasks"
29034 },
29035 {
29036 "children" : [
29037 {
29038 "info" : {
29039 "GET" : {
29040 "description" : "Scan zfs pool list on local node.",
29041 "method" : "GET",
29042 "name" : "zfsscan",
29043 "parameters" : {
29044 "additionalProperties" : 0,
29045 "properties" : {
29046 "node" : {
29047 "description" : "The cluster node name.",
29048 "format" : "pve-node",
29049 "type" : "string",
29050 "typetext" : "<string>"
29051 }
29052 }
44660702 29053 },
4d47f125
TL
29054 "permissions" : {
29055 "check" : [
29056 "perm",
29057 "/storage",
29058 [
29059 "Datastore.Allocate"
29060 ]
29061 ]
29062 },
29063 "protected" : 1,
29064 "proxyto" : "node",
29065 "returns" : {
29066 "items" : {
29067 "properties" : {
29068 "pool" : {
29069 "description" : "ZFS pool name.",
29070 "type" : "string"
29071 }
29072 },
29073 "type" : "object"
29074 },
29075 "type" : "array"
29076 }
29077 }
29078 },
29079 "leaf" : 1,
29080 "path" : "/nodes/{node}/scan/zfs",
29081 "text" : "zfs"
29082 },
29083 {
29084 "info" : {
29085 "GET" : {
29086 "description" : "Scan remote NFS server.",
29087 "method" : "GET",
29088 "name" : "nfsscan",
29089 "parameters" : {
29090 "additionalProperties" : 0,
29091 "properties" : {
29092 "node" : {
29093 "description" : "The cluster node name.",
29094 "format" : "pve-node",
29095 "type" : "string",
29096 "typetext" : "<string>"
29097 },
29098 "server" : {
29099 "description" : "The server address (name or IP).",
29100 "format" : "pve-storage-server",
29101 "type" : "string",
29102 "typetext" : "<string>"
29103 }
29104 }
29105 },
29106 "permissions" : {
29107 "check" : [
29108 "perm",
29109 "/storage",
29110 [
29111 "Datastore.Allocate"
29112 ]
29113 ]
29114 },
29115 "protected" : 1,
29116 "proxyto" : "node",
29117 "returns" : {
29118 "items" : {
29119 "properties" : {
29120 "options" : {
29121 "description" : "NFS export options.",
29122 "type" : "string"
29123 },
29124 "path" : {
29125 "description" : "The exported path.",
29126 "type" : "string"
29127 }
29128 },
29129 "type" : "object"
29130 },
29131 "type" : "array"
29132 }
29133 }
29134 },
29135 "leaf" : 1,
29136 "path" : "/nodes/{node}/scan/nfs",
29137 "text" : "nfs"
29138 },
29139 {
29140 "info" : {
29141 "GET" : {
29142 "description" : "Scan remote CIFS server.",
29143 "method" : "GET",
29144 "name" : "cifsscan",
29145 "parameters" : {
29146 "additionalProperties" : 0,
29147 "properties" : {
29148 "domain" : {
29149 "description" : "SMB domain (Workgroup).",
29150 "optional" : 1,
29151 "type" : "string",
29152 "typetext" : "<string>"
29153 },
29154 "node" : {
29155 "description" : "The cluster node name.",
29156 "format" : "pve-node",
29157 "type" : "string",
29158 "typetext" : "<string>"
29159 },
29160 "password" : {
29161 "description" : "User password.",
29162 "optional" : 1,
29163 "type" : "string",
29164 "typetext" : "<string>"
29165 },
29166 "server" : {
29167 "description" : "The server address (name or IP).",
29168 "format" : "pve-storage-server",
29169 "type" : "string",
29170 "typetext" : "<string>"
29171 },
29172 "username" : {
29173 "description" : "User name.",
29174 "optional" : 1,
29175 "type" : "string",
29176 "typetext" : "<string>"
29177 }
29178 }
29179 },
29180 "permissions" : {
29181 "check" : [
29182 "perm",
29183 "/storage",
29184 [
29185 "Datastore.Allocate"
29186 ]
29187 ]
29188 },
29189 "protected" : 1,
29190 "proxyto" : "node",
29191 "returns" : {
29192 "items" : {
29193 "properties" : {
29194 "description" : {
29195 "description" : "Descriptive text from server.",
29196 "type" : "string"
29197 },
29198 "share" : {
29199 "description" : "The cifs share name.",
29200 "type" : "string"
29201 }
29202 },
29203 "type" : "object"
29204 },
29205 "type" : "array"
56122987 29206 }
44660702 29207 }
56122987 29208 },
4d47f125
TL
29209 "leaf" : 1,
29210 "path" : "/nodes/{node}/scan/cifs",
29211 "text" : "cifs"
29212 },
44660702 29213 {
4d47f125
TL
29214 "info" : {
29215 "GET" : {
29216 "description" : "Scan remote GlusterFS server.",
29217 "method" : "GET",
29218 "name" : "glusterfsscan",
29219 "parameters" : {
29220 "additionalProperties" : 0,
29221 "properties" : {
29222 "node" : {
29223 "description" : "The cluster node name.",
29224 "format" : "pve-node",
29225 "type" : "string",
29226 "typetext" : "<string>"
7aacca6f 29227 },
4d47f125
TL
29228 "server" : {
29229 "description" : "The server address (name or IP).",
29230 "format" : "pve-storage-server",
29231 "type" : "string",
29232 "typetext" : "<string>"
44660702 29233 }
7aacca6f 29234 }
56122987 29235 },
4d47f125
TL
29236 "permissions" : {
29237 "check" : [
29238 "perm",
29239 "/storage",
29240 [
29241 "Datastore.Allocate"
29242 ]
29243 ]
29244 },
29245 "protected" : 1,
29246 "proxyto" : "node",
29247 "returns" : {
29248 "items" : {
29249 "properties" : {
29250 "volname" : {
29251 "description" : "The volume name.",
29252 "type" : "string"
7aacca6f
DM
29253 }
29254 },
4d47f125
TL
29255 "type" : "object"
29256 },
29257 "type" : "array"
29258 }
29259 }
29260 },
29261 "leaf" : 1,
29262 "path" : "/nodes/{node}/scan/glusterfs",
29263 "text" : "glusterfs"
29264 },
29265 {
29266 "info" : {
29267 "GET" : {
29268 "description" : "Scan remote iSCSI server.",
29269 "method" : "GET",
29270 "name" : "iscsiscan",
29271 "parameters" : {
29272 "additionalProperties" : 0,
29273 "properties" : {
29274 "node" : {
29275 "description" : "The cluster node name.",
29276 "format" : "pve-node",
29277 "type" : "string",
29278 "typetext" : "<string>"
56122987 29279 },
4d47f125
TL
29280 "portal" : {
29281 "description" : "The iSCSI portal (IP or DNS name with optional port).",
29282 "format" : "pve-storage-portal-dns",
29283 "type" : "string",
29284 "typetext" : "<string>"
29285 }
29286 }
29287 },
29288 "permissions" : {
29289 "check" : [
29290 "perm",
29291 "/storage",
29292 [
29293 "Datastore.Allocate"
29294 ]
29295 ]
29296 },
29297 "protected" : 1,
29298 "proxyto" : "node",
29299 "returns" : {
29300 "items" : {
29301 "properties" : {
29302 "portal" : {
29303 "description" : "The iSCSI portal name.",
29304 "type" : "string"
7aacca6f 29305 },
4d47f125
TL
29306 "target" : {
29307 "description" : "The iSCSI target name.",
29308 "type" : "string"
29309 }
29310 },
29311 "type" : "object"
29312 },
29313 "type" : "array"
29314 }
29315 }
29316 },
29317 "leaf" : 1,
29318 "path" : "/nodes/{node}/scan/iscsi",
29319 "text" : "iscsi"
29320 },
29321 {
29322 "info" : {
29323 "GET" : {
29324 "description" : "List local LVM volume groups.",
29325 "method" : "GET",
29326 "name" : "lvmscan",
29327 "parameters" : {
29328 "additionalProperties" : 0,
29329 "properties" : {
29330 "node" : {
29331 "description" : "The cluster node name.",
29332 "format" : "pve-node",
29333 "type" : "string",
29334 "typetext" : "<string>"
56122987 29335 }
7aacca6f 29336 }
44660702 29337 },
4d47f125
TL
29338 "permissions" : {
29339 "check" : [
29340 "perm",
29341 "/storage",
29342 [
29343 "Datastore.Allocate"
29344 ]
29345 ]
29346 },
29347 "protected" : 1,
29348 "proxyto" : "node",
29349 "returns" : {
29350 "items" : {
29351 "properties" : {
29352 "vg" : {
29353 "description" : "The LVM logical volume group name.",
29354 "type" : "string"
29355 }
29356 },
29357 "type" : "object"
29358 },
29359 "type" : "array"
29360 }
56122987 29361 }
4d47f125
TL
29362 },
29363 "leaf" : 1,
29364 "path" : "/nodes/{node}/scan/lvm",
29365 "text" : "lvm"
29366 },
29367 {
44660702 29368 "info" : {
4d47f125
TL
29369 "GET" : {
29370 "description" : "List local LVM Thin Pools.",
29371 "method" : "GET",
29372 "name" : "lvmthinscan",
44660702
DM
29373 "parameters" : {
29374 "additionalProperties" : 0,
29375 "properties" : {
29376 "node" : {
29377 "description" : "The cluster node name.",
29378 "format" : "pve-node",
013dc89f
DM
29379 "type" : "string",
29380 "typetext" : "<string>"
44660702 29381 },
4d47f125
TL
29382 "vg" : {
29383 "maxLength" : 100,
29384 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
29385 "type" : "string"
44660702 29386 }
7aacca6f 29387 }
44660702
DM
29388 },
29389 "permissions" : {
4d47f125
TL
29390 "check" : [
29391 "perm",
29392 "/storage",
29393 [
29394 "Datastore.Allocate"
29395 ]
29396 ]
44660702
DM
29397 },
29398 "protected" : 1,
29399 "proxyto" : "node",
29400 "returns" : {
4d47f125
TL
29401 "items" : {
29402 "properties" : {
29403 "lv" : {
29404 "description" : "The LVM Thin Pool name (LVM logical volume).",
29405 "type" : "string"
29406 }
29407 },
29408 "type" : "object"
29409 },
29410 "type" : "array"
7aacca6f 29411 }
4d47f125
TL
29412 }
29413 },
29414 "leaf" : 1,
29415 "path" : "/nodes/{node}/scan/lvmthin",
29416 "text" : "lvmthin"
29417 },
29418 {
29419 "info" : {
44660702 29420 "GET" : {
4d47f125 29421 "description" : "List local USB devices.",
44660702 29422 "method" : "GET",
4d47f125 29423 "name" : "usbscan",
44660702
DM
29424 "parameters" : {
29425 "additionalProperties" : 0,
29426 "properties" : {
29427 "node" : {
29428 "description" : "The cluster node name.",
29429 "format" : "pve-node",
013dc89f
DM
29430 "type" : "string",
29431 "typetext" : "<string>"
44660702
DM
29432 }
29433 }
29434 },
29435 "permissions" : {
4d47f125
TL
29436 "check" : [
29437 "perm",
29438 "/",
29439 [
29440 "Sys.Modify"
29441 ]
29442 ]
44660702 29443 },
4d47f125
TL
29444 "protected" : 1,
29445 "proxyto" : "node",
44660702
DM
29446 "returns" : {
29447 "items" : {
4d47f125
TL
29448 "properties" : {
29449 "busnum" : {
29450 "type" : "integer"
29451 },
29452 "class" : {
29453 "type" : "integer"
29454 },
29455 "devnum" : {
29456 "type" : "integer"
29457 },
29458 "level" : {
29459 "type" : "integer"
29460 },
29461 "manufacturer" : {
29462 "optional" : 1,
29463 "type" : "string"
29464 },
29465 "port" : {
29466 "type" : "integer"
29467 },
29468 "prodid" : {
29469 "type" : "string"
29470 },
29471 "product" : {
29472 "optional" : 1,
29473 "type" : "string"
29474 },
29475 "serial" : {
29476 "optional" : 1,
29477 "type" : "string"
29478 },
29479 "speed" : {
29480 "type" : "string"
29481 },
29482 "usbpath" : {
29483 "optional" : 1,
29484 "type" : "string"
29485 },
29486 "vendid" : {
29487 "type" : "string"
29488 }
29489 },
44660702
DM
29490 "type" : "object"
29491 },
44660702 29492 "type" : "array"
56122987 29493 }
44660702 29494 }
56122987 29495 },
4d47f125
TL
29496 "leaf" : 1,
29497 "path" : "/nodes/{node}/scan/usb",
29498 "text" : "usb"
44660702
DM
29499 }
29500 ],
29501 "info" : {
29502 "GET" : {
4d47f125 29503 "description" : "Index of available scan methods",
44660702 29504 "method" : "GET",
4d47f125 29505 "name" : "index",
56122987 29506 "parameters" : {
7aacca6f 29507 "additionalProperties" : 0,
56122987 29508 "properties" : {
56122987
DM
29509 "node" : {
29510 "description" : "The cluster node name.",
44660702 29511 "format" : "pve-node",
013dc89f
DM
29512 "type" : "string",
29513 "typetext" : "<string>"
56122987
DM
29514 }
29515 }
29516 },
7aacca6f
DM
29517 "permissions" : {
29518 "user" : "all"
29519 },
56122987
DM
29520 "returns" : {
29521 "items" : {
29522 "properties" : {
4d47f125 29523 "method" : {
56122987
DM
29524 "type" : "string"
29525 }
29526 },
29527 "type" : "object"
29528 },
56122987
DM
29529 "links" : [
29530 {
4d47f125 29531 "href" : "{method}",
44660702 29532 "rel" : "child"
56122987 29533 }
44660702
DM
29534 ],
29535 "type" : "array"
56122987
DM
29536 }
29537 }
29538 },
44660702 29539 "leaf" : 0,
4d47f125
TL
29540 "path" : "/nodes/{node}/scan",
29541 "text" : "scan"
44660702 29542 },
e2d681b3
TL
29543 {
29544 "children" : [
29545 {
29546 "children" : [
29547 {
29548 "children" : [
29549 {
29550 "info" : {
29551 "GET" : {
29552 "description" : "List mediated device types for given PCI device.",
29553 "method" : "GET",
29554 "name" : "mdevscan",
29555 "parameters" : {
29556 "additionalProperties" : 0,
29557 "properties" : {
29558 "node" : {
29559 "description" : "The cluster node name.",
29560 "format" : "pve-node",
29561 "type" : "string",
29562 "typetext" : "<string>"
29563 },
29564 "pciid" : {
29565 "description" : "The PCI ID to list the mdev types for.",
29566 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
29567 "type" : "string"
29568 }
29569 }
29570 },
29571 "permissions" : {
29572 "check" : [
29573 "perm",
29574 "/",
29575 [
29576 "Sys.Modify"
29577 ]
29578 ]
29579 },
29580 "protected" : 1,
29581 "proxyto" : "node",
29582 "returns" : {
29583 "items" : {
29584 "properties" : {
29585 "available" : {
29586 "description" : "The number of still available instances of this type.",
29587 "type" : "integer"
29588 },
29589 "description" : {
29590 "type" : "string"
29591 },
29592 "type" : {
29593 "description" : "The name of the mdev type.",
29594 "type" : "string"
29595 }
29596 },
29597 "type" : "object"
29598 },
29599 "type" : "array"
29600 }
29601 }
29602 },
29603 "leaf" : 1,
29604 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
29605 "text" : "mdev"
29606 }
29607 ],
29608 "info" : {
29609 "GET" : {
29610 "description" : "Index of available pci methods",
29611 "method" : "GET",
29612 "name" : "pciindex",
29613 "parameters" : {
29614 "additionalProperties" : 0,
29615 "properties" : {
29616 "node" : {
29617 "description" : "The cluster node name.",
29618 "format" : "pve-node",
29619 "type" : "string",
29620 "typetext" : "<string>"
29621 },
29622 "pciid" : {
29623 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
29624 "type" : "string"
29625 }
29626 }
29627 },
29628 "permissions" : {
29629 "user" : "all"
29630 },
29631 "returns" : {
29632 "items" : {
29633 "properties" : {
29634 "method" : {
29635 "type" : "string"
29636 }
29637 },
29638 "type" : "object"
29639 },
29640 "links" : [
29641 {
29642 "href" : "{method}",
29643 "rel" : "child"
29644 }
29645 ],
29646 "type" : "array"
29647 }
29648 }
29649 },
29650 "leaf" : 0,
29651 "path" : "/nodes/{node}/hardware/pci/{pciid}",
29652 "text" : "{pciid}"
29653 }
29654 ],
29655 "info" : {
29656 "GET" : {
29657 "description" : "List local PCI devices.",
29658 "method" : "GET",
29659 "name" : "pciscan",
29660 "parameters" : {
29661 "additionalProperties" : 0,
29662 "properties" : {
29663 "node" : {
29664 "description" : "The cluster node name.",
29665 "format" : "pve-node",
29666 "type" : "string",
29667 "typetext" : "<string>"
29668 },
29669 "pci-class-blacklist" : {
29670 "default" : "05;06;08;0b",
29671 "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).",
29672 "format" : "string-list",
29673 "optional" : 1,
29674 "type" : "string",
29675 "typetext" : "<string>"
29676 },
29677 "verbose" : {
29678 "default" : 1,
29679 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
29680 "optional" : 1,
29681 "type" : "boolean",
29682 "typetext" : "<boolean>"
29683 }
29684 }
29685 },
29686 "permissions" : {
29687 "check" : [
29688 "perm",
29689 "/",
29690 [
29691 "Sys.Modify"
29692 ]
29693 ]
29694 },
29695 "protected" : 1,
29696 "proxyto" : "node",
29697 "returns" : {
29698 "items" : {
29699 "properties" : {
29700 "class" : {
29701 "description" : "The PCI Class of the device.",
29702 "type" : "string"
29703 },
29704 "device" : {
29705 "description" : "The Device ID.",
29706 "type" : "string"
29707 },
29708 "device_name" : {
29709 "optional" : 1,
29710 "type" : "string"
29711 },
29712 "id" : {
29713 "description" : "The PCI ID.",
29714 "type" : "string"
29715 },
29716 "iommugroup" : {
29717 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
29718 "type" : "integer"
29719 },
29720 "mdev" : {
29721 "description" : "If set, marks that the device is capable of creating mediated devices.",
29722 "optional" : 1,
29723 "type" : "boolean"
29724 },
29725 "subsystem_device" : {
29726 "description" : "The Subsystem Device ID.",
29727 "optional" : 1,
29728 "type" : "string"
29729 },
29730 "subsystem_device_name" : {
29731 "optional" : 1,
29732 "type" : "string"
29733 },
29734 "subsystem_vendor" : {
29735 "description" : "The Subsystem Vendor ID.",
29736 "optional" : 1,
29737 "type" : "string"
29738 },
29739 "subsystem_vendor_name" : {
29740 "optional" : 1,
29741 "type" : "string"
29742 },
29743 "vendor" : {
29744 "description" : "The Vendor ID.",
29745 "type" : "string"
29746 },
29747 "vendor_name" : {
29748 "optional" : 1,
29749 "type" : "string"
29750 }
29751 },
29752 "type" : "object"
29753 },
29754 "links" : [
29755 {
29756 "href" : "{id}",
29757 "rel" : "child"
29758 }
29759 ],
29760 "type" : "array"
29761 }
29762 }
29763 },
29764 "leaf" : 0,
29765 "path" : "/nodes/{node}/hardware/pci",
29766 "text" : "pci"
29767 }
29768 ],
29769 "info" : {
29770 "GET" : {
29771 "description" : "Index of hardware types",
29772 "method" : "GET",
29773 "name" : "index",
29774 "parameters" : {
29775 "additionalProperties" : 0,
29776 "properties" : {
29777 "node" : {
29778 "description" : "The cluster node name.",
29779 "format" : "pve-node",
29780 "type" : "string",
29781 "typetext" : "<string>"
29782 }
29783 }
29784 },
29785 "permissions" : {
29786 "user" : "all"
29787 },
29788 "returns" : {
29789 "items" : {
29790 "properties" : {
29791 "type" : {
29792 "type" : "string"
29793 }
29794 },
29795 "type" : "object"
29796 },
29797 "links" : [
29798 {
29799 "href" : "{type}",
29800 "rel" : "child"
29801 }
29802 ],
29803 "type" : "array"
29804 }
29805 }
29806 },
29807 "leaf" : 0,
29808 "path" : "/nodes/{node}/hardware",
29809 "text" : "hardware"
29810 },
44660702 29811 {
56122987
DM
29812 "children" : [
29813 {
4d47f125
TL
29814 "children" : [
29815 {
29816 "children" : [
29817 {
29818 "info" : {
29819 "DELETE" : {
29820 "description" : "Delete volume",
29821 "method" : "DELETE",
29822 "name" : "delete",
29823 "parameters" : {
29824 "additionalProperties" : 0,
29825 "properties" : {
29826 "node" : {
29827 "description" : "The cluster node name.",
29828 "format" : "pve-node",
29829 "type" : "string",
29830 "typetext" : "<string>"
29831 },
29832 "storage" : {
29833 "description" : "The storage identifier.",
29834 "format" : "pve-storage-id",
29835 "optional" : 1,
29836 "type" : "string",
29837 "typetext" : "<string>"
29838 },
29839 "volume" : {
29840 "description" : "Volume identifier",
29841 "type" : "string",
29842 "typetext" : "<string>"
29843 }
29844 }
29845 },
29846 "permissions" : {
29847 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
29848 "user" : "all"
29849 },
29850 "protected" : 1,
29851 "proxyto" : "node",
29852 "returns" : {
29853 "type" : "null"
29854 }
29855 },
29856 "GET" : {
29857 "description" : "Get volume attributes",
29858 "method" : "GET",
29859 "name" : "info",
29860 "parameters" : {
29861 "additionalProperties" : 0,
29862 "properties" : {
29863 "node" : {
29864 "description" : "The cluster node name.",
29865 "format" : "pve-node",
29866 "type" : "string",
29867 "typetext" : "<string>"
29868 },
29869 "storage" : {
29870 "description" : "The storage identifier.",
29871 "format" : "pve-storage-id",
29872 "optional" : 1,
29873 "type" : "string",
29874 "typetext" : "<string>"
29875 },
29876 "volume" : {
29877 "description" : "Volume identifier",
29878 "type" : "string",
29879 "typetext" : "<string>"
29880 }
29881 }
29882 },
29883 "permissions" : {
29884 "description" : "You need read access for the volume.",
29885 "user" : "all"
29886 },
29887 "protected" : 1,
29888 "proxyto" : "node",
29889 "returns" : {
29890 "type" : "object"
29891 }
29892 },
29893 "POST" : {
29894 "description" : "Copy a volume. This is experimental code - do not use.",
29895 "method" : "POST",
29896 "name" : "copy",
29897 "parameters" : {
29898 "additionalProperties" : 0,
29899 "properties" : {
29900 "node" : {
29901 "description" : "The cluster node name.",
29902 "format" : "pve-node",
29903 "type" : "string",
29904 "typetext" : "<string>"
29905 },
29906 "storage" : {
29907 "description" : "The storage identifier.",
29908 "format" : "pve-storage-id",
29909 "optional" : 1,
29910 "type" : "string",
29911 "typetext" : "<string>"
29912 },
29913 "target" : {
29914 "description" : "Target volume identifier",
29915 "type" : "string",
29916 "typetext" : "<string>"
29917 },
29918 "target_node" : {
29919 "description" : "Target node. Default is local node.",
29920 "format" : "pve-node",
29921 "optional" : 1,
29922 "type" : "string",
29923 "typetext" : "<string>"
29924 },
29925 "volume" : {
29926 "description" : "Source volume identifier",
29927 "type" : "string",
29928 "typetext" : "<string>"
29929 }
29930 }
29931 },
29932 "protected" : 1,
29933 "proxyto" : "node",
29934 "returns" : {
29935 "type" : "string"
29936 }
29937 }
29938 },
29939 "leaf" : 1,
29940 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
29941 "text" : "{volume}"
44660702 29942 }
4d47f125
TL
29943 ],
29944 "info" : {
29945 "GET" : {
29946 "description" : "List storage content.",
29947 "method" : "GET",
29948 "name" : "index",
29949 "parameters" : {
29950 "additionalProperties" : 0,
29951 "properties" : {
29952 "content" : {
29953 "description" : "Only list content of this type.",
29954 "format" : "pve-storage-content",
29955 "optional" : 1,
29956 "type" : "string",
29957 "typetext" : "<string>"
29958 },
29959 "node" : {
29960 "description" : "The cluster node name.",
29961 "format" : "pve-node",
29962 "type" : "string",
29963 "typetext" : "<string>"
29964 },
29965 "storage" : {
29966 "description" : "The storage identifier.",
29967 "format" : "pve-storage-id",
29968 "type" : "string",
29969 "typetext" : "<string>"
29970 },
29971 "vmid" : {
29972 "description" : "Only list images for this VM",
29973 "format" : "pve-vmid",
29974 "minimum" : 1,
29975 "optional" : 1,
29976 "type" : "integer",
29977 "typetext" : "<integer> (1 - N)"
29978 }
56122987 29979 }
44660702 29980 },
4d47f125
TL
29981 "permissions" : {
29982 "check" : [
29983 "perm",
29984 "/storage/{storage}",
29985 [
29986 "Datastore.Audit",
29987 "Datastore.AllocateSpace"
29988 ],
29989 "any",
29990 1
29991 ]
7aacca6f 29992 },
4d47f125
TL
29993 "protected" : 1,
29994 "proxyto" : "node",
29995 "returns" : {
29996 "items" : {
29997 "properties" : {
29998 "format" : {
29999 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
30000 "type" : "string"
30001 },
30002 "parent" : {
30003 "description" : "Volume identifier of parent (for linked cloned).",
30004 "optional" : 1,
30005 "type" : "string"
30006 },
30007 "size" : {
30008 "description" : "Volume size in bytes.",
30009 "renderer" : "bytes",
30010 "type" : "integer"
30011 },
30012 "used" : {
30013 "description" : "Used space. Please note that most storage plugins does not report anything useful here.",
30014 "optional" : 1,
30015 "renderer" : "bytes",
30016 "type" : "integer"
30017 },
30018 "vmid" : {
30019 "description" : "Associated Owner VMID.",
30020 "optional" : 1,
30021 "type" : "integer"
30022 },
30023 "volid" : {
30024 "description" : "Volume identifier.",
30025 "type" : "string"
30026 }
30027 },
30028 "type" : "object"
44660702 30029 },
4d47f125
TL
30030 "links" : [
30031 {
30032 "href" : "{volid}",
30033 "rel" : "child"
30034 }
30035 ],
30036 "type" : "array"
30037 }
30038 },
30039 "POST" : {
30040 "description" : "Allocate disk images.",
30041 "method" : "POST",
30042 "name" : "create",
30043 "parameters" : {
30044 "additionalProperties" : 0,
30045 "properties" : {
30046 "filename" : {
30047 "description" : "The name of the file to create.",
30048 "type" : "string",
30049 "typetext" : "<string>"
30050 },
30051 "format" : {
30052 "enum" : [
30053 "raw",
30054 "qcow2",
30055 "subvol"
30056 ],
30057 "optional" : 1,
30058 "requires" : "size",
30059 "type" : "string"
30060 },
30061 "node" : {
30062 "description" : "The cluster node name.",
30063 "format" : "pve-node",
30064 "type" : "string",
30065 "typetext" : "<string>"
30066 },
30067 "size" : {
30068 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
30069 "pattern" : "\\d+[MG]?",
30070 "type" : "string"
30071 },
30072 "storage" : {
30073 "description" : "The storage identifier.",
30074 "format" : "pve-storage-id",
30075 "type" : "string",
30076 "typetext" : "<string>"
30077 },
30078 "vmid" : {
30079 "description" : "Specify owner VM",
30080 "format" : "pve-vmid",
30081 "minimum" : 1,
30082 "type" : "integer",
30083 "typetext" : "<integer> (1 - N)"
30084 }
44660702
DM
30085 }
30086 },
4d47f125
TL
30087 "permissions" : {
30088 "check" : [
30089 "perm",
30090 "/storage/{storage}",
30091 [
30092 "Datastore.AllocateSpace"
30093 ]
30094 ]
27a7acb2 30095 },
4d47f125
TL
30096 "protected" : 1,
30097 "proxyto" : "node",
30098 "returns" : {
30099 "description" : "Volume identifier",
30100 "type" : "string"
27a7acb2
DM
30101 }
30102 }
30103 },
4d47f125
TL
30104 "leaf" : 0,
30105 "path" : "/nodes/{node}/storage/{storage}/content",
30106 "text" : "content"
30107 },
30108 {
30109 "info" : {
30110 "GET" : {
30111 "description" : "Read storage status.",
30112 "method" : "GET",
30113 "name" : "read_status",
30114 "parameters" : {
30115 "additionalProperties" : 0,
30116 "properties" : {
30117 "node" : {
30118 "description" : "The cluster node name.",
30119 "format" : "pve-node",
30120 "type" : "string",
30121 "typetext" : "<string>"
30122 },
30123 "storage" : {
30124 "description" : "The storage identifier.",
30125 "format" : "pve-storage-id",
30126 "type" : "string",
30127 "typetext" : "<string>"
30128 }
27a7acb2
DM
30129 }
30130 },
4d47f125
TL
30131 "permissions" : {
30132 "check" : [
30133 "perm",
30134 "/storage/{storage}",
30135 [
30136 "Datastore.Audit",
30137 "Datastore.AllocateSpace"
30138 ],
30139 "any",
30140 1
30141 ]
7aacca6f 30142 },
4d47f125
TL
30143 "protected" : 1,
30144 "proxyto" : "node",
30145 "returns" : {
30146 "type" : "object"
56122987 30147 }
44660702
DM
30148 }
30149 },
4d47f125
TL
30150 "leaf" : 1,
30151 "path" : "/nodes/{node}/storage/{storage}/status",
30152 "text" : "status"
30153 },
30154 {
30155 "info" : {
30156 "GET" : {
30157 "description" : "Read storage RRD statistics (returns PNG).",
30158 "method" : "GET",
30159 "name" : "rrd",
30160 "parameters" : {
30161 "additionalProperties" : 0,
30162 "properties" : {
30163 "cf" : {
30164 "description" : "The RRD consolidation function",
30165 "enum" : [
30166 "AVERAGE",
30167 "MAX"
30168 ],
30169 "optional" : 1,
30170 "type" : "string"
30171 },
30172 "ds" : {
30173 "description" : "The list of datasources you want to display.",
30174 "format" : "pve-configid-list",
30175 "type" : "string",
30176 "typetext" : "<string>"
30177 },
30178 "node" : {
30179 "description" : "The cluster node name.",
30180 "format" : "pve-node",
30181 "type" : "string",
30182 "typetext" : "<string>"
30183 },
30184 "storage" : {
30185 "description" : "The storage identifier.",
30186 "format" : "pve-storage-id",
30187 "type" : "string",
30188 "typetext" : "<string>"
30189 },
30190 "timeframe" : {
30191 "description" : "Specify the time frame you are interested in.",
30192 "enum" : [
30193 "hour",
30194 "day",
30195 "week",
30196 "month",
30197 "year"
30198 ],
30199 "type" : "string"
30200 }
44660702
DM
30201 }
30202 },
4d47f125
TL
30203 "permissions" : {
30204 "check" : [
30205 "perm",
30206 "/storage/{storage}",
30207 [
30208 "Datastore.Audit",
30209 "Datastore.AllocateSpace"
30210 ],
30211 "any",
30212 1
30213 ]
30214 },
30215 "protected" : 1,
30216 "proxyto" : "node",
30217 "returns" : {
30218 "properties" : {
30219 "filename" : {
30220 "type" : "string"
30221 }
30222 },
30223 "type" : "object"
44660702
DM
30224 }
30225 }
30226 },
4d47f125
TL
30227 "leaf" : 1,
30228 "path" : "/nodes/{node}/storage/{storage}/rrd",
30229 "text" : "rrd"
30230 },
30231 {
30232 "info" : {
30233 "GET" : {
30234 "description" : "Read storage RRD statistics.",
30235 "method" : "GET",
30236 "name" : "rrddata",
30237 "parameters" : {
30238 "additionalProperties" : 0,
30239 "properties" : {
30240 "cf" : {
30241 "description" : "The RRD consolidation function",
30242 "enum" : [
30243 "AVERAGE",
30244 "MAX"
30245 ],
30246 "optional" : 1,
30247 "type" : "string"
30248 },
30249 "node" : {
30250 "description" : "The cluster node name.",
30251 "format" : "pve-node",
30252 "type" : "string",
30253 "typetext" : "<string>"
30254 },
30255 "storage" : {
30256 "description" : "The storage identifier.",
30257 "format" : "pve-storage-id",
30258 "type" : "string",
30259 "typetext" : "<string>"
30260 },
30261 "timeframe" : {
30262 "description" : "Specify the time frame you are interested in.",
30263 "enum" : [
30264 "hour",
30265 "day",
30266 "week",
30267 "month",
30268 "year"
30269 ],
30270 "type" : "string"
30271 }
56122987
DM
30272 }
30273 },
4d47f125
TL
30274 "permissions" : {
30275 "check" : [
30276 "perm",
30277 "/storage/{storage}",
30278 [
30279 "Datastore.Audit",
30280 "Datastore.AllocateSpace"
30281 ],
30282 "any",
30283 1
30284 ]
30285 },
30286 "protected" : 1,
30287 "proxyto" : "node",
30288 "returns" : {
30289 "items" : {
30290 "properties" : {},
30291 "type" : "object"
30292 },
30293 "type" : "array"
56122987 30294 }
7aacca6f 30295 }
56122987 30296 },
4d47f125
TL
30297 "leaf" : 1,
30298 "path" : "/nodes/{node}/storage/{storage}/rrddata",
30299 "text" : "rrddata"
30300 },
30301 {
30302 "info" : {
30303 "POST" : {
30304 "description" : "Upload templates and ISO images.",
30305 "method" : "POST",
30306 "name" : "upload",
30307 "parameters" : {
30308 "additionalProperties" : 0,
30309 "properties" : {
30310 "content" : {
30311 "description" : "Content type.",
30312 "format" : "pve-storage-content",
30313 "type" : "string",
30314 "typetext" : "<string>"
30315 },
30316 "filename" : {
30317 "description" : "The name of the file to create.",
30318 "type" : "string",
30319 "typetext" : "<string>"
30320 },
30321 "node" : {
30322 "description" : "The cluster node name.",
30323 "format" : "pve-node",
30324 "type" : "string",
30325 "typetext" : "<string>"
30326 },
30327 "storage" : {
30328 "description" : "The storage identifier.",
30329 "format" : "pve-storage-id",
30330 "type" : "string",
30331 "typetext" : "<string>"
30332 },
30333 "tmpfilename" : {
1e3f8156 30334 "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
30335 "optional" : 1,
30336 "type" : "string",
30337 "typetext" : "<string>"
30338 }
44660702
DM
30339 }
30340 },
4d47f125
TL
30341 "permissions" : {
30342 "check" : [
30343 "perm",
30344 "/storage/{storage}",
30345 [
30346 "Datastore.AllocateTemplate"
30347 ]
30348 ]
56122987 30349 },
4d47f125
TL
30350 "protected" : 1,
30351 "returns" : {
44660702 30352 "type" : "string"
56122987 30353 }
44660702 30354 }
56122987 30355 },
4d47f125
TL
30356 "leaf" : 1,
30357 "path" : "/nodes/{node}/storage/{storage}/upload",
30358 "text" : "upload"
56122987 30359 }
4d47f125 30360 ],
56122987
DM
30361 "info" : {
30362 "GET" : {
4d47f125 30363 "description" : "",
44660702 30364 "method" : "GET",
4d47f125 30365 "name" : "diridx",
44660702
DM
30366 "parameters" : {
30367 "additionalProperties" : 0,
30368 "properties" : {
30369 "node" : {
30370 "description" : "The cluster node name.",
30371 "format" : "pve-node",
013dc89f
DM
30372 "type" : "string",
30373 "typetext" : "<string>"
4d47f125
TL
30374 },
30375 "storage" : {
30376 "description" : "The storage identifier.",
30377 "format" : "pve-storage-id",
30378 "type" : "string",
30379 "typetext" : "<string>"
44660702
DM
30380 }
30381 }
30382 },
7aacca6f
DM
30383 "permissions" : {
30384 "check" : [
30385 "perm",
4d47f125 30386 "/storage/{storage}",
7aacca6f 30387 [
4d47f125
TL
30388 "Datastore.Audit",
30389 "Datastore.AllocateSpace"
30390 ],
30391 "any",
30392 1
7aacca6f
DM
30393 ]
30394 },
56122987
DM
30395 "returns" : {
30396 "items" : {
30397 "properties" : {
4d47f125 30398 "subdir" : {
44660702 30399 "type" : "string"
56122987
DM
30400 }
30401 },
30402 "type" : "object"
7aacca6f 30403 },
4d47f125
TL
30404 "links" : [
30405 {
30406 "href" : "{subdir}",
30407 "rel" : "child"
30408 }
30409 ],
7aacca6f 30410 "type" : "array"
44660702
DM
30411 }
30412 }
30413 },
4d47f125
TL
30414 "leaf" : 0,
30415 "path" : "/nodes/{node}/storage/{storage}",
30416 "text" : "{storage}"
44660702
DM
30417 }
30418 ],
30419 "info" : {
30420 "GET" : {
4d47f125 30421 "description" : "Get status for all datastores.",
44660702
DM
30422 "method" : "GET",
30423 "name" : "index",
30424 "parameters" : {
30425 "additionalProperties" : 0,
30426 "properties" : {
4d47f125
TL
30427 "content" : {
30428 "description" : "Only list stores which support this content type.",
30429 "format" : "pve-storage-content-list",
30430 "optional" : 1,
30431 "type" : "string",
30432 "typetext" : "<string>"
30433 },
30434 "enabled" : {
30435 "default" : 0,
30436 "description" : "Only list stores which are enabled (not disabled in config).",
30437 "optional" : 1,
30438 "type" : "boolean",
30439 "typetext" : "<boolean>"
30440 },
30441 "format" : {
30442 "default" : 0,
30443 "description" : "Include information about formats",
30444 "optional" : 1,
30445 "type" : "boolean",
30446 "typetext" : "<boolean>"
30447 },
44660702
DM
30448 "node" : {
30449 "description" : "The cluster node name.",
30450 "format" : "pve-node",
013dc89f
DM
30451 "type" : "string",
30452 "typetext" : "<string>"
4d47f125
TL
30453 },
30454 "storage" : {
30455 "description" : "Only list status for specified storage",
30456 "format" : "pve-storage-id",
30457 "optional" : 1,
30458 "type" : "string",
30459 "typetext" : "<string>"
30460 },
30461 "target" : {
30462 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
30463 "format" : "pve-node",
30464 "optional" : 1,
30465 "type" : "string",
30466 "typetext" : "<string>"
44660702
DM
30467 }
30468 }
30469 },
4d47f125
TL
30470 "permissions" : {
30471 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
30472 "user" : "all"
30473 },
30474 "protected" : 1,
30475 "proxyto" : "node",
30476 "returns" : {
30477 "items" : {
30478 "properties" : {
30479 "active" : {
30480 "description" : "Set when storage is accessible.",
30481 "optional" : 1,
30482 "type" : "boolean"
30483 },
30484 "avail" : {
30485 "description" : "Available storage space in bytes.",
30486 "optional" : 1,
30487 "renderer" : "bytes",
30488 "type" : "integer"
30489 },
30490 "content" : {
30491 "description" : "Allowed storage content types.",
30492 "format" : "pve-storage-content-list",
30493 "type" : "string"
30494 },
30495 "enabled" : {
30496 "description" : "Set when storage is enabled (not disabled).",
30497 "optional" : 1,
30498 "type" : "boolean"
30499 },
30500 "shared" : {
30501 "description" : "Shared flag from storage configuration.",
30502 "optional" : 1,
30503 "type" : "boolean"
30504 },
30505 "storage" : {
30506 "description" : "The storage identifier.",
30507 "format" : "pve-storage-id",
30508 "type" : "string"
30509 },
30510 "total" : {
30511 "description" : "Total storage space in bytes.",
30512 "optional" : 1,
30513 "renderer" : "bytes",
30514 "type" : "integer"
30515 },
30516 "type" : {
30517 "description" : "Storage type.",
30518 "type" : "string"
30519 },
30520 "used" : {
30521 "description" : "Used storage space in bytes.",
30522 "optional" : 1,
30523 "renderer" : "bytes",
30524 "type" : "integer"
30525 },
30526 "used_fraction" : {
30527 "description" : "Used fraction (used/total).",
30528 "optional" : 1,
30529 "renderer" : "fraction_as_percentage",
30530 "type" : "number"
7aacca6f 30531 }
4d47f125
TL
30532 },
30533 "type" : "object"
30534 },
30535 "links" : [
30536 {
30537 "href" : "{storage}",
30538 "rel" : "child"
30539 }
30540 ],
30541 "type" : "array"
30542 }
30543 }
30544 },
30545 "leaf" : 0,
30546 "path" : "/nodes/{node}/storage",
30547 "text" : "storage"
30548 },
30549 {
30550 "children" : [
30551 {
30552 "info" : {
30553 "GET" : {
30554 "description" : "List LVM Volume Groups",
30555 "method" : "GET",
30556 "name" : "index",
30557 "parameters" : {
30558 "additionalProperties" : 0,
30559 "properties" : {
30560 "node" : {
30561 "description" : "The cluster node name.",
30562 "format" : "pve-node",
30563 "type" : "string",
30564 "typetext" : "<string>"
30565 }
30566 }
30567 },
30568 "permissions" : {
30569 "check" : [
30570 "perm",
30571 "/",
30572 [
30573 "Sys.Audit",
30574 "Datastore.Audit"
30575 ],
30576 "any",
30577 1
30578 ]
30579 },
30580 "protected" : 1,
30581 "proxyto" : "node",
30582 "returns" : {
30583 "properties" : {
30584 "children" : {
44660702
DM
30585 "items" : {
30586 "properties" : {
4d47f125
TL
30587 "children" : {
30588 "description" : "The underlying physical volumes",
30589 "items" : {
30590 "properties" : {
30591 "free" : {
30592 "description" : "The free bytes in the physical volume",
30593 "type" : "integer"
30594 },
30595 "leaf" : {
30596 "type" : "boolean"
30597 },
30598 "name" : {
30599 "description" : "The name of the physical volume",
30600 "type" : "string"
30601 },
30602 "size" : {
30603 "description" : "The size of the physical volume in bytes",
30604 "type" : "integer"
30605 }
30606 },
30607 "type" : "object"
30608 },
30609 "optional" : 1,
30610 "type" : "array"
30611 },
30612 "free" : {
30613 "description" : "The free bytes in the volume group",
30614 "type" : "integer"
30615 },
30616 "leaf" : {
30617 "type" : "boolean"
30618 },
30619 "name" : {
30620 "description" : "The name of the volume group",
44660702 30621 "type" : "string"
4d47f125
TL
30622 },
30623 "size" : {
30624 "description" : "The size of the volume group in bytes",
30625 "type" : "integer"
44660702
DM
30626 }
30627 },
30628 "type" : "object"
30629 },
44660702 30630 "type" : "array"
4d47f125
TL
30631 },
30632 "leaf" : {
30633 "type" : "boolean"
44660702
DM
30634 }
30635 },
4d47f125
TL
30636 "type" : "object"
30637 }
30638 },
30639 "POST" : {
30640 "description" : "Create an LVM Volume Group",
30641 "method" : "POST",
30642 "name" : "create",
30643 "parameters" : {
30644 "additionalProperties" : 0,
30645 "properties" : {
30646 "add_storage" : {
30647 "default" : 0,
30648 "description" : "Configure storage using the Volume Group",
30649 "optional" : 1,
30650 "type" : "boolean",
30651 "typetext" : "<boolean>"
44660702 30652 },
4d47f125
TL
30653 "device" : {
30654 "description" : "The block device you want to create the volume group on",
30655 "type" : "string",
30656 "typetext" : "<string>"
44660702 30657 },
4d47f125
TL
30658 "name" : {
30659 "description" : "The storage identifier.",
30660 "format" : "pve-storage-id",
30661 "type" : "string",
30662 "typetext" : "<string>"
30663 },
30664 "node" : {
30665 "description" : "The cluster node name.",
30666 "format" : "pve-node",
30667 "type" : "string",
30668 "typetext" : "<string>"
30669 }
30670 }
30671 },
30672 "permissions" : {
30673 "check" : [
30674 "perm",
30675 "/",
30676 [
30677 "Sys.Modify",
30678 "Datastore.Allocate"
30679 ]
30680 ]
30681 },
30682 "protected" : 1,
30683 "proxyto" : "node",
30684 "returns" : {
30685 "type" : "string"
30686 }
30687 }
30688 },
30689 "leaf" : 1,
30690 "path" : "/nodes/{node}/disks/lvm",
30691 "text" : "lvm"
30692 },
30693 {
30694 "info" : {
30695 "GET" : {
30696 "description" : "List LVM thinpools",
30697 "method" : "GET",
30698 "name" : "index",
30699 "parameters" : {
30700 "additionalProperties" : 0,
30701 "properties" : {
30702 "node" : {
30703 "description" : "The cluster node name.",
30704 "format" : "pve-node",
30705 "type" : "string",
30706 "typetext" : "<string>"
44660702
DM
30707 }
30708 }
30709 },
4d47f125
TL
30710 "permissions" : {
30711 "check" : [
30712 "perm",
30713 "/",
30714 [
30715 "Sys.Audit",
30716 "Datastore.Audit"
30717 ],
30718 "any",
30719 1
30720 ]
30721 },
30722 "protected" : 1,
30723 "proxyto" : "node",
30724 "returns" : {
30725 "items" : {
30726 "properties" : {
30727 "lv" : {
30728 "description" : "The name of the thinpool.",
30729 "type" : "string"
30730 },
30731 "lv_size" : {
30732 "description" : "The size of the thinpool in bytes.",
30733 "type" : "integer"
30734 },
30735 "metadata_size" : {
30736 "description" : "The size of the metadata lv in bytes.",
30737 "type" : "integer"
30738 },
30739 "metadata_used" : {
30740 "description" : "The used bytes of the metadata lv.",
30741 "type" : "integer"
30742 },
30743 "used" : {
30744 "description" : "The used bytes of the thinpool.",
30745 "type" : "integer"
44660702
DM
30746 }
30747 },
4d47f125
TL
30748 "type" : "object"
30749 },
30750 "type" : "array"
30751 }
30752 },
30753 "POST" : {
30754 "description" : "Create an LVM thinpool",
30755 "method" : "POST",
30756 "name" : "create",
30757 "parameters" : {
30758 "additionalProperties" : 0,
30759 "properties" : {
30760 "add_storage" : {
30761 "default" : 0,
30762 "description" : "Configure storage using the thinpool.",
30763 "optional" : 1,
30764 "type" : "boolean",
30765 "typetext" : "<boolean>"
56122987 30766 },
4d47f125
TL
30767 "device" : {
30768 "description" : "The block device you want to create the thinpool on.",
30769 "type" : "string",
30770 "typetext" : "<string>"
30771 },
30772 "name" : {
30773 "description" : "The storage identifier.",
30774 "format" : "pve-storage-id",
30775 "type" : "string",
30776 "typetext" : "<string>"
30777 },
30778 "node" : {
30779 "description" : "The cluster node name.",
30780 "format" : "pve-node",
30781 "type" : "string",
30782 "typetext" : "<string>"
44660702 30783 }
56122987
DM
30784 }
30785 },
4d47f125
TL
30786 "permissions" : {
30787 "check" : [
30788 "perm",
30789 "/",
30790 [
30791 "Sys.Modify",
30792 "Datastore.Allocate"
30793 ]
30794 ]
30795 },
30796 "protected" : 1,
30797 "proxyto" : "node",
30798 "returns" : {
30799 "type" : "string"
30800 }
30801 }
30802 },
30803 "leaf" : 1,
30804 "path" : "/nodes/{node}/disks/lvmthin",
30805 "text" : "lvmthin"
30806 },
30807 {
30808 "info" : {
30809 "GET" : {
30810 "description" : "PVE Managed Directory storages.",
30811 "method" : "GET",
30812 "name" : "index",
30813 "parameters" : {
30814 "additionalProperties" : 0,
30815 "properties" : {
30816 "node" : {
30817 "description" : "The cluster node name.",
30818 "format" : "pve-node",
30819 "type" : "string",
30820 "typetext" : "<string>"
30821 }
30822 }
30823 },
30824 "permissions" : {
30825 "check" : [
30826 "perm",
30827 "/",
30828 [
30829 "Sys.Audit",
30830 "Datastore.Audit"
30831 ],
30832 "any",
30833 1
30834 ]
30835 },
30836 "protected" : 1,
30837 "proxyto" : "node",
30838 "returns" : {
30839 "items" : {
30840 "properties" : {
30841 "device" : {
30842 "description" : "The mounted device.",
30843 "type" : "string"
30844 },
30845 "options" : {
30846 "description" : "The mount options.",
30847 "type" : "string"
30848 },
30849 "path" : {
30850 "description" : "The mount path.",
30851 "type" : "string"
30852 },
30853 "type" : {
30854 "description" : "The filesystem type.",
30855 "type" : "string"
30856 },
30857 "unitfile" : {
30858 "description" : "The path of the mount unit.",
30859 "type" : "string"
44660702 30860 }
56122987 30861 },
4d47f125
TL
30862 "type" : "object"
30863 },
30864 "type" : "array"
30865 }
30866 },
30867 "POST" : {
30868 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
30869 "method" : "POST",
30870 "name" : "create",
30871 "parameters" : {
30872 "additionalProperties" : 0,
30873 "properties" : {
30874 "add_storage" : {
30875 "default" : 0,
30876 "description" : "Configure storage using the directory.",
30877 "optional" : 1,
30878 "type" : "boolean",
30879 "typetext" : "<boolean>"
30880 },
30881 "device" : {
30882 "description" : "The block device you want to create the filesystem on.",
30883 "type" : "string",
30884 "typetext" : "<string>"
30885 },
30886 "filesystem" : {
30887 "default" : "ext4",
30888 "description" : "The desired filesystem.",
30889 "enum" : [
30890 "ext4",
30891 "xfs"
30892 ],
30893 "optional" : 1,
30894 "type" : "string"
56122987 30895 },
4d47f125
TL
30896 "name" : {
30897 "description" : "The storage identifier.",
30898 "format" : "pve-storage-id",
30899 "type" : "string",
30900 "typetext" : "<string>"
30901 },
30902 "node" : {
30903 "description" : "The cluster node name.",
30904 "format" : "pve-node",
30905 "type" : "string",
30906 "typetext" : "<string>"
7aacca6f 30907 }
56122987
DM
30908 }
30909 },
4d47f125
TL
30910 "permissions" : {
30911 "check" : [
30912 "perm",
30913 "/",
30914 [
30915 "Sys.Modify",
30916 "Datastore.Allocate"
30917 ]
30918 ]
30919 },
30920 "protected" : 1,
30921 "proxyto" : "node",
30922 "returns" : {
30923 "type" : "string"
30924 }
30925 }
30926 },
30927 "leaf" : 1,
30928 "path" : "/nodes/{node}/disks/directory",
30929 "text" : "directory"
30930 },
30931 {
30932 "children" : [
56122987 30933 {
56122987
DM
30934 "info" : {
30935 "GET" : {
4d47f125 30936 "description" : "Get details about a zpool.",
44660702 30937 "method" : "GET",
4d47f125 30938 "name" : "detail",
56122987 30939 "parameters" : {
44660702 30940 "additionalProperties" : 0,
56122987 30941 "properties" : {
4d47f125
TL
30942 "name" : {
30943 "description" : "The storage identifier.",
30944 "format" : "pve-storage-id",
30945 "type" : "string",
30946 "typetext" : "<string>"
44660702 30947 },
7aacca6f 30948 "node" : {
7aacca6f 30949 "description" : "The cluster node name.",
44660702 30950 "format" : "pve-node",
013dc89f
DM
30951 "type" : "string",
30952 "typetext" : "<string>"
56122987 30953 }
44660702 30954 }
7aacca6f 30955 },
7aacca6f
DM
30956 "permissions" : {
30957 "check" : [
30958 "perm",
4d47f125 30959 "/",
7aacca6f 30960 [
4d47f125
TL
30961 "Sys.Audit",
30962 "Datastore.Audit"
7aacca6f
DM
30963 ],
30964 "any",
30965 1
30966 ]
30967 },
44660702
DM
30968 "protected" : 1,
30969 "proxyto" : "node",
7aacca6f 30970 "returns" : {
56122987 30971 "properties" : {
4d47f125
TL
30972 "action" : {
30973 "description" : "Information about the recommended action to fix the state.",
30974 "optional" : 1,
30975 "type" : "string"
56122987 30976 },
4d47f125 30977 "children" : {
e2d681b3 30978 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
30979 "items" : {
30980 "properties" : {
30981 "cksum" : {
e2d681b3 30982 "optional" : 1,
4d47f125
TL
30983 "type" : "number"
30984 },
30985 "msg" : {
30986 "description" : "An optional message about the vdev.",
30987 "type" : "string"
30988 },
30989 "name" : {
e2d681b3 30990 "description" : "The name of the vdev or section.",
4d47f125
TL
30991 "type" : "string"
30992 },
30993 "read" : {
e2d681b3 30994 "optional" : 1,
4d47f125
TL
30995 "type" : "number"
30996 },
30997 "state" : {
30998 "description" : "The state of the vdev.",
e2d681b3 30999 "optional" : 1,
4d47f125
TL
31000 "type" : "string"
31001 },
31002 "write" : {
e2d681b3 31003 "optional" : 1,
4d47f125
TL
31004 "type" : "number"
31005 }
31006 },
31007 "type" : "object"
31008 },
31009 "type" : "array"
56122987 31010 },
e2d681b3
TL
31011 "errors" : {
31012 "description" : "Information about the errors on the zpool.",
31013 "type" : "string"
31014 },
4d47f125
TL
31015 "name" : {
31016 "description" : "The name of the zpool.",
31017 "type" : "string"
44660702 31018 },
4d47f125 31019 "scan" : {
e2d681b3 31020 "description" : "Information about the last/current scrub.",
4d47f125 31021 "type" : "string"
44660702 31022 },
4d47f125
TL
31023 "state" : {
31024 "description" : "The state of the zpool.",
31025 "type" : "string"
31026 },
31027 "status" : {
31028 "description" : "Information about the state of the zpool.",
44660702 31029 "optional" : 1,
4d47f125 31030 "type" : "string"
56122987 31031 }
4d47f125
TL
31032 },
31033 "type" : "object"
44660702
DM
31034 }
31035 }
31036 },
31037 "leaf" : 1,
4d47f125
TL
31038 "path" : "/nodes/{node}/disks/zfs/{name}",
31039 "text" : "{name}"
44660702
DM
31040 }
31041 ],
31042 "info" : {
31043 "GET" : {
4d47f125 31044 "description" : "List Zpools.",
44660702 31045 "method" : "GET",
4d47f125 31046 "name" : "index",
44660702
DM
31047 "parameters" : {
31048 "additionalProperties" : 0,
31049 "properties" : {
31050 "node" : {
31051 "description" : "The cluster node name.",
31052 "format" : "pve-node",
013dc89f
DM
31053 "type" : "string",
31054 "typetext" : "<string>"
4d47f125
TL
31055 }
31056 }
31057 },
31058 "permissions" : {
31059 "check" : [
31060 "perm",
31061 "/",
31062 [
31063 "Sys.Audit",
31064 "Datastore.Audit"
31065 ],
31066 "any",
31067 1
31068 ]
31069 },
31070 "protected" : 1,
31071 "proxyto" : "node",
31072 "returns" : {
31073 "items" : {
31074 "properties" : {
31075 "alloc" : {
31076 "description" : "",
31077 "type" : "integer"
31078 },
31079 "dedup" : {
31080 "description" : "",
31081 "type" : "number"
31082 },
31083 "frag" : {
31084 "description" : "",
31085 "type" : "integer"
31086 },
31087 "free" : {
31088 "description" : "",
31089 "type" : "integer"
31090 },
31091 "health" : {
31092 "description" : "",
31093 "type" : "string"
31094 },
31095 "name" : {
31096 "description" : "",
31097 "type" : "string"
31098 },
31099 "size" : {
31100 "description" : "",
31101 "type" : "integer"
31102 }
31103 },
31104 "type" : "object"
31105 },
31106 "links" : [
31107 {
31108 "href" : "{name}",
31109 "rel" : "child"
31110 }
31111 ],
31112 "type" : "array"
31113 }
31114 },
31115 "POST" : {
31116 "description" : "Create a ZFS pool.",
31117 "method" : "POST",
31118 "name" : "create",
31119 "parameters" : {
31120 "additionalProperties" : 0,
31121 "properties" : {
31122 "add_storage" : {
31123 "default" : 0,
31124 "description" : "Configure storage using the zpool.",
31125 "optional" : 1,
31126 "type" : "boolean",
31127 "typetext" : "<boolean>"
31128 },
31129 "ashift" : {
31130 "default" : 12,
31131 "description" : "Pool sector size exponent.",
31132 "maximum" : 16,
31133 "minimum" : 9,
31134 "optional" : 1,
31135 "type" : "integer",
31136 "typetext" : "<integer> (9 - 16)"
31137 },
31138 "compression" : {
31139 "default" : "on",
31140 "description" : "The compression algorithm to use.",
31141 "enum" : [
31142 "on",
31143 "off",
31144 "gzip",
31145 "lz4",
31146 "lzjb",
31147 "zle"
31148 ],
31149 "optional" : 1,
31150 "type" : "string"
31151 },
31152 "devices" : {
31153 "description" : "The block devices you want to create the zpool on.",
31154 "format" : "string-list",
31155 "type" : "string",
31156 "typetext" : "<string>"
44660702 31157 },
4d47f125 31158 "name" : {
44660702
DM
31159 "description" : "The storage identifier.",
31160 "format" : "pve-storage-id",
013dc89f
DM
31161 "type" : "string",
31162 "typetext" : "<string>"
4d47f125
TL
31163 },
31164 "node" : {
31165 "description" : "The cluster node name.",
31166 "format" : "pve-node",
31167 "type" : "string",
31168 "typetext" : "<string>"
31169 },
31170 "raidlevel" : {
31171 "description" : "The RAID level to use.",
31172 "enum" : [
31173 "single",
31174 "mirror",
31175 "raid10",
31176 "raidz",
31177 "raidz2",
31178 "raidz3"
31179 ],
31180 "type" : "string"
56122987
DM
31181 }
31182 }
44660702
DM
31183 },
31184 "permissions" : {
31185 "check" : [
31186 "perm",
4d47f125 31187 "/",
44660702 31188 [
4d47f125
TL
31189 "Sys.Modify",
31190 "Datastore.Allocate"
31191 ]
44660702
DM
31192 ]
31193 },
4d47f125
TL
31194 "protected" : 1,
31195 "proxyto" : "node",
44660702 31196 "returns" : {
4d47f125 31197 "type" : "string"
56122987
DM
31198 }
31199 }
44660702
DM
31200 },
31201 "leaf" : 0,
4d47f125
TL
31202 "path" : "/nodes/{node}/disks/zfs",
31203 "text" : "zfs"
31204 },
2c0dde61
DM
31205 {
31206 "info" : {
31207 "GET" : {
31208 "description" : "List local disks.",
31209 "method" : "GET",
31210 "name" : "list",
31211 "parameters" : {
31212 "additionalProperties" : 0,
31213 "properties" : {
31214 "node" : {
31215 "description" : "The cluster node name.",
31216 "format" : "pve-node",
013dc89f
DM
31217 "type" : "string",
31218 "typetext" : "<string>"
4d47f125
TL
31219 },
31220 "skipsmart" : {
31221 "default" : 0,
31222 "description" : "Skip smart checks.",
31223 "optional" : 1,
31224 "type" : "boolean",
31225 "typetext" : "<boolean>"
31226 },
31227 "type" : {
31228 "description" : "Only list specific types of disks.",
31229 "enum" : [
31230 "unused",
31231 "journal_disks"
31232 ],
31233 "optional" : 1,
31234 "type" : "string"
2c0dde61
DM
31235 }
31236 }
31237 },
31238 "permissions" : {
31239 "check" : [
31240 "perm",
31241 "/",
31242 [
31243 "Sys.Audit",
31244 "Datastore.Audit"
31245 ],
31246 "any",
31247 1
31248 ]
31249 },
31250 "protected" : 1,
31251 "proxyto" : "node",
31252 "returns" : {
31253 "items" : {
31254 "properties" : {
31255 "devpath" : {
31256 "description" : "The device path",
31257 "type" : "string"
31258 },
31259 "gpt" : {
31260 "type" : "boolean"
31261 },
31262 "health" : {
31263 "optional" : 1,
31264 "type" : "string"
31265 },
31266 "model" : {
31267 "optional" : 1,
31268 "type" : "string"
31269 },
31270 "osdid" : {
31271 "type" : "integer"
31272 },
31273 "serial" : {
31274 "optional" : 1,
31275 "type" : "string"
31276 },
31277 "size" : {
31278 "type" : "integer"
31279 },
31280 "used" : {
31281 "optional" : 1,
31282 "type" : "string"
31283 },
31284 "vendor" : {
31285 "optional" : 1,
31286 "type" : "string"
31287 },
31288 "wwn" : {
31289 "optional" : 1,
31290 "type" : "string"
31291 }
31292 },
31293 "type" : "object"
31294 },
31295 "type" : "array"
31296 }
31297 }
31298 },
31299 "leaf" : 1,
31300 "path" : "/nodes/{node}/disks/list",
31301 "text" : "list"
31302 },
31303 {
31304 "info" : {
31305 "GET" : {
31306 "description" : "Get SMART Health of a disk.",
31307 "method" : "GET",
31308 "name" : "smart",
31309 "parameters" : {
31310 "additionalProperties" : 0,
31311 "properties" : {
31312 "disk" : {
31313 "description" : "Block device name",
31314 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
31315 "type" : "string"
31316 },
31317 "healthonly" : {
31318 "description" : "If true returns only the health status",
31319 "optional" : 1,
013dc89f
DM
31320 "type" : "boolean",
31321 "typetext" : "<boolean>"
2c0dde61
DM
31322 },
31323 "node" : {
31324 "description" : "The cluster node name.",
31325 "format" : "pve-node",
013dc89f
DM
31326 "type" : "string",
31327 "typetext" : "<string>"
2c0dde61
DM
31328 }
31329 }
31330 },
31331 "permissions" : {
31332 "check" : [
31333 "perm",
31334 "/",
31335 [
31336 "Sys.Audit",
31337 "Datastore.Audit"
31338 ],
31339 "any",
31340 1
31341 ]
31342 },
31343 "protected" : 1,
31344 "proxyto" : "node",
31345 "returns" : {
de0983cb
DM
31346 "properties" : {
31347 "attributes" : {
31348 "optional" : 1,
31349 "type" : "array"
31350 },
31351 "health" : {
31352 "type" : "string"
31353 },
31354 "text" : {
31355 "optional" : 1,
31356 "type" : "string"
31357 },
31358 "type" : {
31359 "optional" : 1,
31360 "type" : "string"
31361 }
31362 },
2c0dde61
DM
31363 "type" : "object"
31364 }
31365 }
31366 },
31367 "leaf" : 1,
31368 "path" : "/nodes/{node}/disks/smart",
31369 "text" : "smart"
31370 },
31371 {
31372 "info" : {
31373 "POST" : {
31374 "description" : "Initialize Disk with GPT",
31375 "method" : "POST",
31376 "name" : "initgpt",
31377 "parameters" : {
31378 "additionalProperties" : 0,
31379 "properties" : {
31380 "disk" : {
31381 "description" : "Block device name",
31382 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
31383 "type" : "string"
31384 },
31385 "node" : {
31386 "description" : "The cluster node name.",
31387 "format" : "pve-node",
013dc89f
DM
31388 "type" : "string",
31389 "typetext" : "<string>"
2c0dde61
DM
31390 },
31391 "uuid" : {
31392 "description" : "UUID for the GPT table",
31393 "maxLength" : 36,
31394 "optional" : 1,
31395 "pattern" : "[a-fA-F0-9\\-]+",
31396 "type" : "string"
31397 }
31398 }
31399 },
31400 "permissions" : {
31401 "check" : [
31402 "perm",
31403 "/",
31404 [
31405 "Sys.Modify"
31406 ]
31407 ]
31408 },
31409 "protected" : 1,
31410 "proxyto" : "node",
31411 "returns" : {
31412 "type" : "string"
31413 }
31414 }
31415 },
31416 "leaf" : 1,
31417 "path" : "/nodes/{node}/disks/initgpt",
31418 "text" : "initgpt"
31419 }
31420 ],
31421 "info" : {
31422 "GET" : {
31423 "description" : "Node index.",
31424 "method" : "GET",
31425 "name" : "index",
31426 "parameters" : {
31427 "additionalProperties" : 0,
31428 "properties" : {
31429 "node" : {
31430 "description" : "The cluster node name.",
31431 "format" : "pve-node",
013dc89f
DM
31432 "type" : "string",
31433 "typetext" : "<string>"
2c0dde61
DM
31434 }
31435 }
31436 },
31437 "permissions" : {
31438 "user" : "all"
31439 },
31440 "proxyto" : "node",
31441 "returns" : {
31442 "items" : {
31443 "properties" : {},
31444 "type" : "object"
31445 },
31446 "links" : [
31447 {
31448 "href" : "{name}",
31449 "rel" : "child"
31450 }
31451 ],
31452 "type" : "array"
31453 }
31454 }
31455 },
31456 "leaf" : 0,
31457 "path" : "/nodes/{node}/disks",
31458 "text" : "disks"
31459 },
56122987 31460 {
56122987
DM
31461 "children" : [
31462 {
31463 "info" : {
44660702
DM
31464 "GET" : {
31465 "description" : "List available updates.",
31466 "method" : "GET",
31467 "name" : "list_updates",
31468 "parameters" : {
31469 "additionalProperties" : 0,
31470 "properties" : {
31471 "node" : {
31472 "description" : "The cluster node name.",
31473 "format" : "pve-node",
013dc89f
DM
31474 "type" : "string",
31475 "typetext" : "<string>"
44660702
DM
31476 }
31477 }
7aacca6f
DM
31478 },
31479 "permissions" : {
31480 "check" : [
31481 "perm",
31482 "/nodes/{node}",
31483 [
31484 "Sys.Modify"
31485 ]
31486 ]
31487 },
44660702 31488 "protected" : 1,
56122987 31489 "proxyto" : "node",
44660702
DM
31490 "returns" : {
31491 "items" : {
31492 "properties" : {},
31493 "type" : "object"
31494 },
31495 "type" : "array"
31496 }
31497 },
31498 "POST" : {
31499 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
31500 "method" : "POST",
31501 "name" : "update_database",
56122987
DM
31502 "parameters" : {
31503 "additionalProperties" : 0,
31504 "properties" : {
44660702
DM
31505 "node" : {
31506 "description" : "The cluster node name.",
31507 "format" : "pve-node",
013dc89f
DM
31508 "type" : "string",
31509 "typetext" : "<string>"
44660702 31510 },
56122987 31511 "notify" : {
56122987 31512 "default" : 0,
44660702
DM
31513 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
31514 "optional" : 1,
013dc89f
DM
31515 "type" : "boolean",
31516 "typetext" : "<boolean>"
56122987
DM
31517 },
31518 "quiet" : {
56122987 31519 "default" : 0,
44660702 31520 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 31521 "optional" : 1,
013dc89f
DM
31522 "type" : "boolean",
31523 "typetext" : "<boolean>"
56122987 31524 }
7aacca6f
DM
31525 }
31526 },
31527 "permissions" : {
31528 "check" : [
31529 "perm",
31530 "/nodes/{node}",
31531 [
31532 "Sys.Modify"
31533 ]
31534 ]
31535 },
44660702
DM
31536 "protected" : 1,
31537 "proxyto" : "node",
31538 "returns" : {
31539 "type" : "string"
31540 }
56122987
DM
31541 }
31542 },
7aacca6f 31543 "leaf" : 1,
44660702
DM
31544 "path" : "/nodes/{node}/apt/update",
31545 "text" : "update"
56122987
DM
31546 },
31547 {
56122987
DM
31548 "info" : {
31549 "GET" : {
44660702 31550 "description" : "Get package changelogs.",
56122987 31551 "method" : "GET",
7aacca6f 31552 "name" : "changelog",
56122987 31553 "parameters" : {
44660702 31554 "additionalProperties" : 0,
56122987
DM
31555 "properties" : {
31556 "name" : {
31557 "description" : "Package name.",
013dc89f
DM
31558 "type" : "string",
31559 "typetext" : "<string>"
56122987 31560 },
44660702
DM
31561 "node" : {
31562 "description" : "The cluster node name.",
31563 "format" : "pve-node",
013dc89f
DM
31564 "type" : "string",
31565 "typetext" : "<string>"
44660702 31566 },
56122987 31567 "version" : {
7aacca6f 31568 "description" : "Package version.",
44660702 31569 "optional" : 1,
013dc89f
DM
31570 "type" : "string",
31571 "typetext" : "<string>"
56122987 31572 }
44660702 31573 }
56122987 31574 },
44660702
DM
31575 "permissions" : {
31576 "check" : [
31577 "perm",
31578 "/nodes/{node}",
31579 [
31580 "Sys.Modify"
31581 ]
31582 ]
31583 },
31584 "proxyto" : "node",
31585 "returns" : {
31586 "type" : "string"
31587 }
56122987
DM
31588 }
31589 },
44660702
DM
31590 "leaf" : 1,
31591 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 31592 "text" : "changelog"
56122987
DM
31593 },
31594 {
56122987
DM
31595 "info" : {
31596 "GET" : {
44660702
DM
31597 "description" : "Get package information for important Proxmox packages.",
31598 "method" : "GET",
7aacca6f
DM
31599 "name" : "versions",
31600 "parameters" : {
44660702 31601 "additionalProperties" : 0,
7aacca6f
DM
31602 "properties" : {
31603 "node" : {
44660702 31604 "description" : "The cluster node name.",
7aacca6f 31605 "format" : "pve-node",
013dc89f
DM
31606 "type" : "string",
31607 "typetext" : "<string>"
7aacca6f 31608 }
44660702 31609 }
7aacca6f 31610 },
56122987
DM
31611 "permissions" : {
31612 "check" : [
31613 "perm",
31614 "/nodes/{node}",
31615 [
31616 "Sys.Audit"
31617 ]
31618 ]
31619 },
7aacca6f 31620 "proxyto" : "node",
56122987
DM
31621 "returns" : {
31622 "items" : {
7aacca6f
DM
31623 "properties" : {},
31624 "type" : "object"
44660702
DM
31625 },
31626 "type" : "array"
56122987
DM
31627 }
31628 }
31629 },
44660702 31630 "leaf" : 1,
7aacca6f 31631 "path" : "/nodes/{node}/apt/versions",
44660702 31632 "text" : "versions"
56122987
DM
31633 }
31634 ],
56122987
DM
31635 "info" : {
31636 "GET" : {
44660702 31637 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 31638 "method" : "GET",
44660702 31639 "name" : "index",
7aacca6f
DM
31640 "parameters" : {
31641 "additionalProperties" : 0,
31642 "properties" : {
31643 "node" : {
44660702 31644 "description" : "The cluster node name.",
7aacca6f 31645 "format" : "pve-node",
013dc89f
DM
31646 "type" : "string",
31647 "typetext" : "<string>"
7aacca6f
DM
31648 }
31649 }
31650 },
7aacca6f
DM
31651 "permissions" : {
31652 "user" : "all"
31653 },
44660702
DM
31654 "returns" : {
31655 "items" : {
31656 "properties" : {
31657 "id" : {
31658 "type" : "string"
31659 }
31660 },
31661 "type" : "object"
31662 },
31663 "links" : [
31664 {
31665 "href" : "{id}",
31666 "rel" : "child"
31667 }
31668 ],
31669 "type" : "array"
31670 }
56122987 31671 }
7aacca6f 31672 },
44660702 31673 "leaf" : 0,
7aacca6f 31674 "path" : "/nodes/{node}/apt",
44660702 31675 "text" : "apt"
56122987
DM
31676 },
31677 {
56122987
DM
31678 "children" : [
31679 {
31680 "children" : [
31681 {
56122987
DM
31682 "info" : {
31683 "DELETE" : {
44660702 31684 "description" : "Delete rule.",
7aacca6f 31685 "method" : "DELETE",
44660702 31686 "name" : "delete_rule",
56122987
DM
31687 "parameters" : {
31688 "additionalProperties" : 0,
31689 "properties" : {
56122987
DM
31690 "digest" : {
31691 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 31692 "maxLength" : 40,
56122987 31693 "optional" : 1,
013dc89f
DM
31694 "type" : "string",
31695 "typetext" : "<string>"
56122987 31696 },
44660702
DM
31697 "node" : {
31698 "description" : "The cluster node name.",
31699 "format" : "pve-node",
013dc89f
DM
31700 "type" : "string",
31701 "typetext" : "<string>"
44660702 31702 },
7aacca6f 31703 "pos" : {
7aacca6f 31704 "description" : "Update rule at position <pos>.",
44660702
DM
31705 "minimum" : 0,
31706 "optional" : 1,
4bd7df8b 31707 "type" : "integer",
013dc89f 31708 "typetext" : "<integer> (0 - N)"
56122987
DM
31709 }
31710 }
31711 },
44660702
DM
31712 "permissions" : {
31713 "check" : [
31714 "perm",
31715 "/nodes/{node}",
31716 [
31717 "Sys.Modify"
31718 ]
31719 ]
31720 },
31721 "protected" : 1,
31722 "proxyto" : "node",
56122987
DM
31723 "returns" : {
31724 "type" : "null"
44660702
DM
31725 }
31726 },
31727 "GET" : {
31728 "description" : "Get single rule data.",
31729 "method" : "GET",
31730 "name" : "get_rule",
31731 "parameters" : {
31732 "additionalProperties" : 0,
31733 "properties" : {
31734 "node" : {
31735 "description" : "The cluster node name.",
31736 "format" : "pve-node",
013dc89f
DM
31737 "type" : "string",
31738 "typetext" : "<string>"
44660702
DM
31739 },
31740 "pos" : {
31741 "description" : "Update rule at position <pos>.",
31742 "minimum" : 0,
31743 "optional" : 1,
4bd7df8b 31744 "type" : "integer",
013dc89f 31745 "typetext" : "<integer> (0 - N)"
44660702
DM
31746 }
31747 }
56122987 31748 },
56122987
DM
31749 "permissions" : {
31750 "check" : [
31751 "perm",
31752 "/nodes/{node}",
31753 [
44660702 31754 "Sys.Audit"
56122987
DM
31755 ]
31756 ]
44660702
DM
31757 },
31758 "proxyto" : "node",
31759 "returns" : {
31760 "properties" : {
e2d681b3
TL
31761 "action" : {
31762 "type" : "string"
31763 },
31764 "comment" : {
31765 "optional" : 1,
31766 "type" : "string"
31767 },
31768 "dest" : {
31769 "optional" : 1,
31770 "type" : "string"
31771 },
31772 "dport" : {
31773 "optional" : 1,
31774 "type" : "string"
31775 },
31776 "enable" : {
31777 "optional" : 1,
31778 "type" : "integer"
31779 },
31780 "iface" : {
31781 "optional" : 1,
31782 "type" : "string"
31783 },
31784 "ipversion" : {
31785 "optional" : 1,
31786 "type" : "integer"
31787 },
95895385
TL
31788 "log" : {
31789 "description" : "Log level for firewall rule",
31790 "enum" : [
31791 "emerg",
31792 "alert",
31793 "crit",
31794 "err",
31795 "warning",
31796 "notice",
31797 "info",
31798 "debug",
31799 "nolog"
31800 ],
31801 "optional" : 1,
31802 "type" : "string"
31803 },
e2d681b3
TL
31804 "macro" : {
31805 "optional" : 1,
5f26e15b 31806 "type" : "string"
e2d681b3 31807 },
44660702
DM
31808 "pos" : {
31809 "type" : "integer"
e2d681b3
TL
31810 },
31811 "proto" : {
31812 "optional" : 1,
31813 "type" : "string"
31814 },
31815 "source" : {
31816 "optional" : 1,
31817 "type" : "string"
31818 },
31819 "sport" : {
31820 "optional" : 1,
31821 "type" : "string"
31822 },
31823 "type" : {
31824 "type" : "string"
44660702
DM
31825 }
31826 },
31827 "type" : "object"
7aacca6f 31828 }
56122987
DM
31829 },
31830 "PUT" : {
44660702
DM
31831 "description" : "Modify rule data.",
31832 "method" : "PUT",
56122987 31833 "name" : "update_rule",
56122987 31834 "parameters" : {
44660702 31835 "additionalProperties" : 0,
56122987 31836 "properties" : {
44660702
DM
31837 "action" : {
31838 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
31839 "maxLength" : 20,
31840 "minLength" : 2,
56122987 31841 "optional" : 1,
44660702
DM
31842 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
31843 "type" : "string"
56122987 31844 },
7aacca6f 31845 "comment" : {
e94f0d56 31846 "description" : "Descriptive comment.",
56122987 31847 "optional" : 1,
013dc89f
DM
31848 "type" : "string",
31849 "typetext" : "<string>"
56122987 31850 },
44660702
DM
31851 "delete" : {
31852 "description" : "A list of settings you want to delete.",
31853 "format" : "pve-configid-list",
56122987 31854 "optional" : 1,
013dc89f
DM
31855 "type" : "string",
31856 "typetext" : "<string>"
56122987 31857 },
44660702
DM
31858 "dest" : {
31859 "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.",
31860 "format" : "pve-fw-addr-spec",
56122987 31861 "optional" : 1,
013dc89f
DM
31862 "type" : "string",
31863 "typetext" : "<string>"
56122987 31864 },
44660702
DM
31865 "digest" : {
31866 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
31867 "maxLength" : 40,
56122987 31868 "optional" : 1,
013dc89f
DM
31869 "type" : "string",
31870 "typetext" : "<string>"
56122987 31871 },
7aacca6f 31872 "dport" : {
7aacca6f 31873 "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
31874 "format" : "pve-fw-dport-spec",
31875 "optional" : 1,
013dc89f
DM
31876 "type" : "string",
31877 "typetext" : "<string>"
7aacca6f 31878 },
44660702 31879 "enable" : {
e94f0d56 31880 "description" : "Flag to enable/disable a rule.",
44660702 31881 "minimum" : 0,
56122987 31882 "optional" : 1,
4bd7df8b 31883 "type" : "integer",
013dc89f 31884 "typetext" : "<integer> (0 - N)"
56122987 31885 },
7aacca6f 31886 "iface" : {
44660702 31887 "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 31888 "format" : "pve-iface",
44660702 31889 "maxLength" : 20,
56122987 31890 "minLength" : 2,
44660702 31891 "optional" : 1,
013dc89f
DM
31892 "type" : "string",
31893 "typetext" : "<string>"
56122987 31894 },
95895385
TL
31895 "log" : {
31896 "description" : "Log level for firewall rule.",
31897 "enum" : [
31898 "emerg",
31899 "alert",
31900 "crit",
31901 "err",
31902 "warning",
31903 "notice",
31904 "info",
31905 "debug",
31906 "nolog"
31907 ],
31908 "optional" : 1,
31909 "type" : "string"
31910 },
44660702 31911 "macro" : {
e94f0d56 31912 "description" : "Use predefined standard macro.",
44660702
DM
31913 "maxLength" : 128,
31914 "optional" : 1,
013dc89f
DM
31915 "type" : "string",
31916 "typetext" : "<string>"
44660702
DM
31917 },
31918 "moveto" : {
31919 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
31920 "minimum" : 0,
7aacca6f 31921 "optional" : 1,
4bd7df8b 31922 "type" : "integer",
013dc89f 31923 "typetext" : "<integer> (0 - N)"
44660702
DM
31924 },
31925 "node" : {
31926 "description" : "The cluster node name.",
31927 "format" : "pve-node",
013dc89f
DM
31928 "type" : "string",
31929 "typetext" : "<string>"
56122987
DM
31930 },
31931 "pos" : {
44660702 31932 "description" : "Update rule at position <pos>.",
7aacca6f 31933 "minimum" : 0,
7aacca6f 31934 "optional" : 1,
4bd7df8b 31935 "type" : "integer",
013dc89f 31936 "typetext" : "<integer> (0 - N)"
7aacca6f 31937 },
44660702
DM
31938 "proto" : {
31939 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
31940 "format" : "pve-fw-protocol-spec",
7aacca6f 31941 "optional" : 1,
013dc89f
DM
31942 "type" : "string",
31943 "typetext" : "<string>"
7aacca6f 31944 },
44660702
DM
31945 "source" : {
31946 "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.",
31947 "format" : "pve-fw-addr-spec",
56122987 31948 "optional" : 1,
013dc89f
DM
31949 "type" : "string",
31950 "typetext" : "<string>"
7aacca6f 31951 },
44660702
DM
31952 "sport" : {
31953 "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.",
31954 "format" : "pve-fw-sport-spec",
31955 "optional" : 1,
013dc89f
DM
31956 "type" : "string",
31957 "typetext" : "<string>"
44660702
DM
31958 },
31959 "type" : {
e94f0d56 31960 "description" : "Rule type.",
44660702
DM
31961 "enum" : [
31962 "in",
31963 "out",
31964 "group"
31965 ],
31966 "optional" : 1,
31967 "type" : "string"
56122987 31968 }
44660702 31969 }
56122987 31970 },
56122987
DM
31971 "permissions" : {
31972 "check" : [
31973 "perm",
31974 "/nodes/{node}",
31975 [
31976 "Sys.Modify"
31977 ]
31978 ]
7aacca6f 31979 },
44660702 31980 "protected" : 1,
7aacca6f 31981 "proxyto" : "node",
7aacca6f
DM
31982 "returns" : {
31983 "type" : "null"
56122987
DM
31984 }
31985 }
7aacca6f 31986 },
44660702 31987 "leaf" : 1,
7aacca6f 31988 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 31989 "text" : "{pos}"
56122987
DM
31990 }
31991 ],
56122987
DM
31992 "info" : {
31993 "GET" : {
44660702
DM
31994 "description" : "List rules.",
31995 "method" : "GET",
31996 "name" : "get_rules",
31997 "parameters" : {
31998 "additionalProperties" : 0,
31999 "properties" : {
32000 "node" : {
32001 "description" : "The cluster node name.",
32002 "format" : "pve-node",
013dc89f
DM
32003 "type" : "string",
32004 "typetext" : "<string>"
44660702
DM
32005 }
32006 }
32007 },
32008 "permissions" : {
32009 "check" : [
32010 "perm",
32011 "/nodes/{node}",
32012 [
32013 "Sys.Audit"
32014 ]
32015 ]
32016 },
32017 "proxyto" : "node",
56122987 32018 "returns" : {
56122987
DM
32019 "items" : {
32020 "properties" : {
32021 "pos" : {
32022 "type" : "integer"
32023 }
44660702
DM
32024 },
32025 "type" : "object"
56122987 32026 },
7aacca6f
DM
32027 "links" : [
32028 {
32029 "href" : "{pos}",
32030 "rel" : "child"
32031 }
32032 ],
32033 "type" : "array"
44660702 32034 }
56122987
DM
32035 },
32036 "POST" : {
44660702 32037 "description" : "Create new rule.",
7aacca6f
DM
32038 "method" : "POST",
32039 "name" : "create_rule",
56122987 32040 "parameters" : {
44660702 32041 "additionalProperties" : 0,
56122987 32042 "properties" : {
7aacca6f 32043 "action" : {
7aacca6f 32044 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 32045 "maxLength" : 20,
7aacca6f
DM
32046 "minLength" : 2,
32047 "optional" : 0,
44660702
DM
32048 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
32049 "type" : "string"
56122987 32050 },
44660702 32051 "comment" : {
e94f0d56 32052 "description" : "Descriptive comment.",
56122987 32053 "optional" : 1,
013dc89f
DM
32054 "type" : "string",
32055 "typetext" : "<string>"
56122987 32056 },
44660702
DM
32057 "dest" : {
32058 "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.",
32059 "format" : "pve-fw-addr-spec",
7aacca6f 32060 "optional" : 1,
013dc89f
DM
32061 "type" : "string",
32062 "typetext" : "<string>"
56122987 32063 },
44660702
DM
32064 "digest" : {
32065 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32066 "maxLength" : 40,
32067 "optional" : 1,
013dc89f
DM
32068 "type" : "string",
32069 "typetext" : "<string>"
56122987 32070 },
44660702
DM
32071 "dport" : {
32072 "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.",
32073 "format" : "pve-fw-dport-spec",
7aacca6f 32074 "optional" : 1,
013dc89f
DM
32075 "type" : "string",
32076 "typetext" : "<string>"
56122987 32077 },
44660702 32078 "enable" : {
e94f0d56 32079 "description" : "Flag to enable/disable a rule.",
44660702
DM
32080 "minimum" : 0,
32081 "optional" : 1,
4bd7df8b 32082 "type" : "integer",
013dc89f 32083 "typetext" : "<integer> (0 - N)"
44660702 32084 },
7aacca6f 32085 "iface" : {
44660702 32086 "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 32087 "format" : "pve-iface",
56122987 32088 "maxLength" : 20,
7aacca6f 32089 "minLength" : 2,
7aacca6f 32090 "optional" : 1,
013dc89f
DM
32091 "type" : "string",
32092 "typetext" : "<string>"
56122987 32093 },
95895385
TL
32094 "log" : {
32095 "description" : "Log level for firewall rule.",
32096 "enum" : [
32097 "emerg",
32098 "alert",
32099 "crit",
32100 "err",
32101 "warning",
32102 "notice",
32103 "info",
32104 "debug",
32105 "nolog"
32106 ],
32107 "optional" : 1,
32108 "type" : "string"
32109 },
44660702 32110 "macro" : {
e94f0d56 32111 "description" : "Use predefined standard macro.",
44660702 32112 "maxLength" : 128,
7aacca6f 32113 "optional" : 1,
013dc89f
DM
32114 "type" : "string",
32115 "typetext" : "<string>"
56122987 32116 },
44660702
DM
32117 "node" : {
32118 "description" : "The cluster node name.",
32119 "format" : "pve-node",
013dc89f
DM
32120 "type" : "string",
32121 "typetext" : "<string>"
44660702
DM
32122 },
32123 "pos" : {
32124 "description" : "Update rule at position <pos>.",
32125 "minimum" : 0,
32126 "optional" : 1,
4bd7df8b 32127 "type" : "integer",
013dc89f 32128 "typetext" : "<integer> (0 - N)"
44660702
DM
32129 },
32130 "proto" : {
32131 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
32132 "format" : "pve-fw-protocol-spec",
56122987 32133 "optional" : 1,
013dc89f
DM
32134 "type" : "string",
32135 "typetext" : "<string>"
56122987 32136 },
7aacca6f 32137 "source" : {
7aacca6f 32138 "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
32139 "format" : "pve-fw-addr-spec",
32140 "optional" : 1,
013dc89f
DM
32141 "type" : "string",
32142 "typetext" : "<string>"
7aacca6f 32143 },
44660702
DM
32144 "sport" : {
32145 "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.",
32146 "format" : "pve-fw-sport-spec",
7aacca6f 32147 "optional" : 1,
013dc89f
DM
32148 "type" : "string",
32149 "typetext" : "<string>"
44660702
DM
32150 },
32151 "type" : {
e94f0d56 32152 "description" : "Rule type.",
44660702
DM
32153 "enum" : [
32154 "in",
32155 "out",
32156 "group"
32157 ],
32158 "optional" : 0,
32159 "type" : "string"
56122987 32160 }
44660702 32161 }
7aacca6f 32162 },
56122987
DM
32163 "permissions" : {
32164 "check" : [
32165 "perm",
32166 "/nodes/{node}",
32167 [
32168 "Sys.Modify"
32169 ]
32170 ]
32171 },
44660702
DM
32172 "protected" : 1,
32173 "proxyto" : "node",
32174 "returns" : {
32175 "type" : "null"
32176 }
56122987
DM
32177 }
32178 },
44660702 32179 "leaf" : 0,
7aacca6f 32180 "path" : "/nodes/{node}/firewall/rules",
44660702 32181 "text" : "rules"
56122987
DM
32182 },
32183 {
56122987 32184 "info" : {
44660702
DM
32185 "GET" : {
32186 "description" : "Get host firewall options.",
32187 "method" : "GET",
32188 "name" : "get_options",
56122987 32189 "parameters" : {
7aacca6f 32190 "additionalProperties" : 0,
56122987 32191 "properties" : {
44660702
DM
32192 "node" : {
32193 "description" : "The cluster node name.",
32194 "format" : "pve-node",
013dc89f
DM
32195 "type" : "string",
32196 "typetext" : "<string>"
44660702
DM
32197 }
32198 }
32199 },
32200 "permissions" : {
32201 "check" : [
32202 "perm",
32203 "/nodes/{node}",
32204 [
32205 "Sys.Audit"
32206 ]
32207 ]
32208 },
32209 "proxyto" : "node",
32210 "returns" : {
32211 "properties" : {
32212 "enable" : {
32213 "description" : "Enable host firewall rules.",
7aacca6f 32214 "optional" : 1,
44660702 32215 "type" : "boolean"
7aacca6f 32216 },
44660702
DM
32217 "log_level_in" : {
32218 "description" : "Log level for incoming traffic.",
56122987
DM
32219 "enum" : [
32220 "emerg",
32221 "alert",
32222 "crit",
32223 "err",
32224 "warning",
32225 "notice",
32226 "info",
32227 "debug",
32228 "nolog"
32229 ],
56122987 32230 "optional" : 1,
44660702
DM
32231 "type" : "string"
32232 },
32233 "log_level_out" : {
32234 "description" : "Log level for outgoing traffic.",
56122987
DM
32235 "enum" : [
32236 "emerg",
32237 "alert",
32238 "crit",
32239 "err",
32240 "warning",
32241 "notice",
32242 "info",
32243 "debug",
32244 "nolog"
32245 ],
44660702
DM
32246 "optional" : 1,
32247 "type" : "string"
32248 },
95895385
TL
32249 "log_nf_conntrack" : {
32250 "default" : 0,
32251 "description" : "Enable logging of conntrack information.",
32252 "optional" : 1,
32253 "type" : "boolean"
32254 },
44660702
DM
32255 "ndp" : {
32256 "description" : "Enable NDP.",
32257 "optional" : 1,
32258 "type" : "boolean"
32259 },
5f26e15b
TL
32260 "nf_conntrack_allow_invalid" : {
32261 "default" : 0,
32262 "description" : "Allow invalid packets on connection tracking.",
32263 "optional" : 1,
32264 "type" : "boolean"
32265 },
44660702
DM
32266 "nf_conntrack_max" : {
32267 "description" : "Maximum number of tracked connections.",
32268 "minimum" : 32768,
32269 "optional" : 1,
32270 "type" : "integer"
32271 },
32272 "nf_conntrack_tcp_timeout_established" : {
32273 "description" : "Conntrack established timeout.",
32274 "minimum" : 7875,
32275 "optional" : 1,
32276 "type" : "integer"
32277 },
32278 "nosmurfs" : {
32279 "description" : "Enable SMURFS filter.",
32280 "optional" : 1,
32281 "type" : "boolean"
56122987 32282 },
7aacca6f 32283 "smurf_log_level" : {
44660702 32284 "description" : "Log level for SMURFS filter.",
56122987
DM
32285 "enum" : [
32286 "emerg",
32287 "alert",
32288 "crit",
32289 "err",
32290 "warning",
32291 "notice",
32292 "info",
32293 "debug",
32294 "nolog"
7aacca6f 32295 ],
7aacca6f
DM
32296 "optional" : 1,
32297 "type" : "string"
56122987 32298 },
44660702
DM
32299 "tcp_flags_log_level" : {
32300 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
32301 "enum" : [
32302 "emerg",
32303 "alert",
32304 "crit",
32305 "err",
32306 "warning",
32307 "notice",
32308 "info",
32309 "debug",
32310 "nolog"
32311 ],
44660702
DM
32312 "optional" : 1,
32313 "type" : "string"
7aacca6f 32314 },
44660702
DM
32315 "tcpflags" : {
32316 "description" : "Filter illegal combinations of TCP flags.",
56122987 32317 "optional" : 1,
44660702 32318 "type" : "boolean"
56122987 32319 }
44660702
DM
32320 },
32321 "type" : "object"
7aacca6f 32322 }
56122987 32323 },
44660702
DM
32324 "PUT" : {
32325 "description" : "Set Firewall options.",
32326 "method" : "PUT",
32327 "name" : "set_options",
7aacca6f 32328 "parameters" : {
44660702 32329 "additionalProperties" : 0,
7aacca6f 32330 "properties" : {
44660702
DM
32331 "delete" : {
32332 "description" : "A list of settings you want to delete.",
32333 "format" : "pve-configid-list",
7aacca6f 32334 "optional" : 1,
013dc89f
DM
32335 "type" : "string",
32336 "typetext" : "<string>"
56122987 32337 },
44660702
DM
32338 "digest" : {
32339 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32340 "maxLength" : 40,
32341 "optional" : 1,
013dc89f
DM
32342 "type" : "string",
32343 "typetext" : "<string>"
56122987 32344 },
44660702
DM
32345 "enable" : {
32346 "description" : "Enable host firewall rules.",
7aacca6f 32347 "optional" : 1,
013dc89f
DM
32348 "type" : "boolean",
32349 "typetext" : "<boolean>"
44660702
DM
32350 },
32351 "log_level_in" : {
32352 "description" : "Log level for incoming traffic.",
56122987
DM
32353 "enum" : [
32354 "emerg",
32355 "alert",
32356 "crit",
32357 "err",
32358 "warning",
32359 "notice",
32360 "info",
32361 "debug",
32362 "nolog"
44660702 32363 ],
7aacca6f 32364 "optional" : 1,
44660702 32365 "type" : "string"
7aacca6f 32366 },
44660702
DM
32367 "log_level_out" : {
32368 "description" : "Log level for outgoing traffic.",
56122987
DM
32369 "enum" : [
32370 "emerg",
32371 "alert",
32372 "crit",
32373 "err",
32374 "warning",
32375 "notice",
32376 "info",
32377 "debug",
32378 "nolog"
32379 ],
32380 "optional" : 1,
7aacca6f 32381 "type" : "string"
56122987 32382 },
95895385
TL
32383 "log_nf_conntrack" : {
32384 "default" : 0,
32385 "description" : "Enable logging of conntrack information.",
32386 "optional" : 1,
32387 "type" : "boolean",
32388 "typetext" : "<boolean>"
32389 },
44660702
DM
32390 "ndp" : {
32391 "description" : "Enable NDP.",
7aacca6f 32392 "optional" : 1,
013dc89f
DM
32393 "type" : "boolean",
32394 "typetext" : "<boolean>"
44660702 32395 },
5f26e15b
TL
32396 "nf_conntrack_allow_invalid" : {
32397 "default" : 0,
32398 "description" : "Allow invalid packets on connection tracking.",
32399 "optional" : 1,
32400 "type" : "boolean",
32401 "typetext" : "<boolean>"
32402 },
44660702
DM
32403 "nf_conntrack_max" : {
32404 "description" : "Maximum number of tracked connections.",
32405 "minimum" : 32768,
32406 "optional" : 1,
4bd7df8b 32407 "type" : "integer",
013dc89f 32408 "typetext" : "<integer> (32768 - N)"
44660702
DM
32409 },
32410 "nf_conntrack_tcp_timeout_established" : {
32411 "description" : "Conntrack established timeout.",
32412 "minimum" : 7875,
32413 "optional" : 1,
4bd7df8b 32414 "type" : "integer",
013dc89f 32415 "typetext" : "<integer> (7875 - N)"
44660702
DM
32416 },
32417 "node" : {
32418 "description" : "The cluster node name.",
32419 "format" : "pve-node",
013dc89f
DM
32420 "type" : "string",
32421 "typetext" : "<string>"
44660702
DM
32422 },
32423 "nosmurfs" : {
32424 "description" : "Enable SMURFS filter.",
32425 "optional" : 1,
013dc89f
DM
32426 "type" : "boolean",
32427 "typetext" : "<boolean>"
44660702
DM
32428 },
32429 "smurf_log_level" : {
32430 "description" : "Log level for SMURFS filter.",
56122987
DM
32431 "enum" : [
32432 "emerg",
32433 "alert",
32434 "crit",
32435 "err",
32436 "warning",
32437 "notice",
32438 "info",
32439 "debug",
32440 "nolog"
44660702
DM
32441 ],
32442 "optional" : 1,
32443 "type" : "string"
56122987 32444 },
44660702
DM
32445 "tcp_flags_log_level" : {
32446 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
32447 "enum" : [
32448 "emerg",
32449 "alert",
32450 "crit",
32451 "err",
32452 "warning",
32453 "notice",
32454 "info",
32455 "debug",
32456 "nolog"
32457 ],
44660702
DM
32458 "optional" : 1,
32459 "type" : "string"
7aacca6f 32460 },
44660702
DM
32461 "tcpflags" : {
32462 "description" : "Filter illegal combinations of TCP flags.",
56122987 32463 "optional" : 1,
013dc89f
DM
32464 "type" : "boolean",
32465 "typetext" : "<boolean>"
56122987 32466 }
7aacca6f 32467 }
56122987 32468 },
44660702
DM
32469 "permissions" : {
32470 "check" : [
32471 "perm",
32472 "/nodes/{node}",
32473 [
32474 "Sys.Modify"
32475 ]
32476 ]
32477 },
32478 "protected" : 1,
32479 "proxyto" : "node",
32480 "returns" : {
32481 "type" : "null"
32482 }
7aacca6f
DM
32483 }
32484 },
44660702
DM
32485 "leaf" : 1,
32486 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
32487 "text" : "options"
32488 },
32489 {
7aacca6f
DM
32490 "info" : {
32491 "GET" : {
44660702
DM
32492 "description" : "Read firewall log",
32493 "method" : "GET",
7aacca6f 32494 "name" : "log",
56122987 32495 "parameters" : {
44660702 32496 "additionalProperties" : 0,
56122987 32497 "properties" : {
7aacca6f 32498 "limit" : {
44660702 32499 "minimum" : 0,
7aacca6f 32500 "optional" : 1,
4bd7df8b 32501 "type" : "integer",
013dc89f 32502 "typetext" : "<integer> (0 - N)"
7aacca6f 32503 },
56122987 32504 "node" : {
7aacca6f 32505 "description" : "The cluster node name.",
44660702 32506 "format" : "pve-node",
013dc89f
DM
32507 "type" : "string",
32508 "typetext" : "<string>"
44660702
DM
32509 },
32510 "start" : {
32511 "minimum" : 0,
32512 "optional" : 1,
4bd7df8b 32513 "type" : "integer",
013dc89f 32514 "typetext" : "<integer> (0 - N)"
56122987 32515 }
44660702 32516 }
7aacca6f 32517 },
56122987
DM
32518 "permissions" : {
32519 "check" : [
32520 "perm",
32521 "/nodes/{node}",
32522 [
32523 "Sys.Syslog"
32524 ]
32525 ]
32526 },
44660702
DM
32527 "protected" : 1,
32528 "proxyto" : "node",
56122987
DM
32529 "returns" : {
32530 "items" : {
56122987 32531 "properties" : {
56122987 32532 "n" : {
44660702
DM
32533 "description" : "Line number",
32534 "type" : "integer"
7aacca6f
DM
32535 },
32536 "t" : {
44660702
DM
32537 "description" : "Line text",
32538 "type" : "string"
56122987 32539 }
44660702
DM
32540 },
32541 "type" : "object"
56122987
DM
32542 },
32543 "type" : "array"
7aacca6f 32544 }
56122987
DM
32545 }
32546 },
44660702
DM
32547 "leaf" : 1,
32548 "path" : "/nodes/{node}/firewall/log",
7aacca6f 32549 "text" : "log"
56122987
DM
32550 }
32551 ],
32552 "info" : {
32553 "GET" : {
44660702
DM
32554 "description" : "Directory index.",
32555 "method" : "GET",
32556 "name" : "index",
56122987 32557 "parameters" : {
44660702 32558 "additionalProperties" : 0,
56122987
DM
32559 "properties" : {
32560 "node" : {
32561 "description" : "The cluster node name.",
44660702 32562 "format" : "pve-node",
013dc89f
DM
32563 "type" : "string",
32564 "typetext" : "<string>"
56122987 32565 }
44660702 32566 }
56122987 32567 },
7aacca6f
DM
32568 "permissions" : {
32569 "user" : "all"
32570 },
56122987
DM
32571 "returns" : {
32572 "items" : {
32573 "properties" : {},
32574 "type" : "object"
32575 },
56122987
DM
32576 "links" : [
32577 {
44660702
DM
32578 "href" : "{name}",
32579 "rel" : "child"
56122987 32580 }
44660702
DM
32581 ],
32582 "type" : "array"
32583 }
56122987 32584 }
7aacca6f 32585 },
44660702 32586 "leaf" : 0,
7aacca6f 32587 "path" : "/nodes/{node}/firewall",
44660702 32588 "text" : "firewall"
56122987 32589 },
5d9c884c
DM
32590 {
32591 "children" : [
32592 {
32593 "children" : [
32594 {
32595 "info" : {
32596 "GET" : {
32597 "description" : "Get replication job status.",
32598 "method" : "GET",
32599 "name" : "job_status",
32600 "parameters" : {
32601 "additionalProperties" : 0,
32602 "properties" : {
32603 "id" : {
32604 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32605 "format" : "pve-replication-job-id",
32606 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32607 "type" : "string"
32608 },
32609 "node" : {
32610 "description" : "The cluster node name.",
32611 "format" : "pve-node",
32612 "type" : "string",
32613 "typetext" : "<string>"
32614 }
32615 }
32616 },
32617 "permissions" : {
32618 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
32619 "user" : "all"
32620 },
32621 "protected" : 1,
32622 "proxyto" : "node",
32623 "returns" : {
5d9c884c
DM
32624 "type" : "object"
32625 }
32626 }
32627 },
32628 "leaf" : 1,
32629 "path" : "/nodes/{node}/replication/{id}/status",
32630 "text" : "status"
32631 },
32632 {
32633 "info" : {
32634 "GET" : {
32635 "description" : "Read replication job log.",
32636 "method" : "GET",
32637 "name" : "read_job_log",
32638 "parameters" : {
32639 "additionalProperties" : 0,
32640 "properties" : {
32641 "id" : {
32642 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32643 "format" : "pve-replication-job-id",
32644 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32645 "type" : "string"
32646 },
32647 "limit" : {
32648 "minimum" : 0,
32649 "optional" : 1,
32650 "type" : "integer",
32651 "typetext" : "<integer> (0 - N)"
32652 },
32653 "node" : {
32654 "description" : "The cluster node name.",
32655 "format" : "pve-node",
32656 "type" : "string",
32657 "typetext" : "<string>"
32658 },
32659 "start" : {
32660 "minimum" : 0,
32661 "optional" : 1,
32662 "type" : "integer",
32663 "typetext" : "<integer> (0 - N)"
32664 }
32665 }
32666 },
32667 "permissions" : {
32668 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
32669 "user" : "all"
32670 },
32671 "protected" : 1,
32672 "proxyto" : "node",
32673 "returns" : {
32674 "items" : {
32675 "properties" : {
32676 "n" : {
32677 "description" : "Line number",
32678 "type" : "integer"
32679 },
32680 "t" : {
32681 "description" : "Line text",
32682 "type" : "string"
32683 }
32684 },
32685 "type" : "object"
32686 },
32687 "type" : "array"
32688 }
32689 }
32690 },
32691 "leaf" : 1,
32692 "path" : "/nodes/{node}/replication/{id}/log",
32693 "text" : "log"
32694 },
32695 {
32696 "info" : {
32697 "POST" : {
32698 "description" : "Schedule replication job to start as soon as possible.",
32699 "method" : "POST",
32700 "name" : "schedule_now",
32701 "parameters" : {
32702 "additionalProperties" : 0,
32703 "properties" : {
32704 "id" : {
32705 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32706 "format" : "pve-replication-job-id",
32707 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32708 "type" : "string"
32709 },
32710 "node" : {
32711 "description" : "The cluster node name.",
32712 "format" : "pve-node",
32713 "type" : "string",
32714 "typetext" : "<string>"
32715 }
32716 }
32717 },
32718 "permissions" : {
32719 "check" : [
32720 "perm",
32721 "/storage",
32722 [
32723 "Datastore.Allocate"
32724 ]
32725 ]
32726 },
32727 "protected" : 1,
32728 "proxyto" : "node",
32729 "returns" : {
32730 "type" : "string"
32731 }
32732 }
32733 },
32734 "leaf" : 1,
32735 "path" : "/nodes/{node}/replication/{id}/schedule_now",
32736 "text" : "schedule_now"
32737 }
32738 ],
32739 "info" : {
32740 "GET" : {
32741 "description" : "Directory index.",
32742 "method" : "GET",
32743 "name" : "index",
32744 "parameters" : {
32745 "additionalProperties" : 0,
32746 "properties" : {
32747 "id" : {
32748 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
32749 "format" : "pve-replication-job-id",
32750 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
32751 "type" : "string"
32752 },
32753 "node" : {
32754 "description" : "The cluster node name.",
32755 "format" : "pve-node",
32756 "type" : "string",
32757 "typetext" : "<string>"
32758 }
32759 }
32760 },
32761 "permissions" : {
32762 "user" : "all"
32763 },
32764 "returns" : {
32765 "items" : {
32766 "properties" : {},
32767 "type" : "object"
32768 },
32769 "links" : [
32770 {
32771 "href" : "{name}",
32772 "rel" : "child"
32773 }
32774 ],
32775 "type" : "array"
32776 }
32777 }
32778 },
32779 "leaf" : 0,
32780 "path" : "/nodes/{node}/replication/{id}",
32781 "text" : "{id}"
32782 }
32783 ],
32784 "info" : {
32785 "GET" : {
32786 "description" : "List status of all replication jobs on this node.",
32787 "method" : "GET",
32788 "name" : "status",
32789 "parameters" : {
32790 "additionalProperties" : 0,
32791 "properties" : {
32792 "guest" : {
32793 "description" : "Only list replication jobs for this guest.",
32794 "format" : "pve-vmid",
32795 "minimum" : 1,
32796 "optional" : 1,
32797 "type" : "integer",
32798 "typetext" : "<integer> (1 - N)"
32799 },
32800 "node" : {
32801 "description" : "The cluster node name.",
32802 "format" : "pve-node",
32803 "type" : "string",
32804 "typetext" : "<string>"
32805 }
32806 }
32807 },
32808 "permissions" : {
32809 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
32810 "user" : "all"
32811 },
32812 "protected" : 1,
32813 "proxyto" : "node",
32814 "returns" : {
32815 "items" : {
32816 "properties" : {
32817 "id" : {
32818 "type" : "string"
32819 }
32820 },
32821 "type" : "object"
32822 },
32823 "links" : [
32824 {
32825 "href" : "{id}",
32826 "rel" : "child"
32827 }
32828 ],
32829 "type" : "array"
32830 }
32831 }
32832 },
32833 "leaf" : 0,
32834 "path" : "/nodes/{node}/replication",
32835 "text" : "replication"
32836 },
a9a8e3d1
DM
32837 {
32838 "children" : [
32839 {
32840 "children" : [
32841 {
32842 "info" : {
32843 "DELETE" : {
32844 "description" : "Revoke existing certificate from CA.",
32845 "method" : "DELETE",
32846 "name" : "revoke_certificate",
32847 "parameters" : {
32848 "additionalProperties" : 0,
32849 "properties" : {
32850 "node" : {
32851 "description" : "The cluster node name.",
32852 "format" : "pve-node",
32853 "type" : "string",
32854 "typetext" : "<string>"
32855 }
32856 }
32857 },
32858 "protected" : 1,
32859 "proxyto" : "node",
32860 "returns" : {
32861 "type" : "string"
32862 }
32863 },
32864 "POST" : {
32865 "description" : "Order a new certificate from ACME-compatible CA.",
32866 "method" : "POST",
32867 "name" : "new_certificate",
32868 "parameters" : {
32869 "additionalProperties" : 0,
32870 "properties" : {
32871 "force" : {
32872 "default" : 0,
32873 "description" : "Overwrite existing custom certificate.",
32874 "optional" : 1,
32875 "type" : "boolean",
32876 "typetext" : "<boolean>"
32877 },
32878 "node" : {
32879 "description" : "The cluster node name.",
32880 "format" : "pve-node",
32881 "type" : "string",
32882 "typetext" : "<string>"
32883 }
32884 }
32885 },
32886 "protected" : 1,
32887 "proxyto" : "node",
32888 "returns" : {
32889 "type" : "string"
32890 }
32891 },
32892 "PUT" : {
32893 "description" : "Renew existing certificate from CA.",
32894 "method" : "PUT",
32895 "name" : "renew_certificate",
32896 "parameters" : {
32897 "additionalProperties" : 0,
32898 "properties" : {
32899 "force" : {
32900 "default" : 0,
32901 "description" : "Force renewal even if expiry is more than 30 days away.",
32902 "optional" : 1,
32903 "type" : "boolean",
32904 "typetext" : "<boolean>"
32905 },
32906 "node" : {
32907 "description" : "The cluster node name.",
32908 "format" : "pve-node",
32909 "type" : "string",
32910 "typetext" : "<string>"
32911 }
32912 }
32913 },
32914 "protected" : 1,
32915 "proxyto" : "node",
32916 "returns" : {
32917 "type" : "string"
32918 }
32919 }
32920 },
32921 "leaf" : 1,
32922 "path" : "/nodes/{node}/certificates/acme/certificate",
32923 "text" : "certificate"
32924 }
32925 ],
32926 "info" : {
32927 "GET" : {
32928 "description" : "ACME index.",
32929 "method" : "GET",
32930 "name" : "index",
32931 "parameters" : {
32932 "additionalProperties" : 0,
32933 "properties" : {
32934 "node" : {
32935 "description" : "The cluster node name.",
32936 "format" : "pve-node",
32937 "type" : "string",
32938 "typetext" : "<string>"
32939 }
32940 }
32941 },
32942 "permissions" : {
32943 "user" : "all"
32944 },
32945 "returns" : {
32946 "items" : {
32947 "properties" : {},
32948 "type" : "object"
32949 },
32950 "links" : [
32951 {
32952 "href" : "{name}",
32953 "rel" : "child"
32954 }
32955 ],
32956 "type" : "array"
32957 }
32958 }
32959 },
32960 "leaf" : 0,
32961 "path" : "/nodes/{node}/certificates/acme",
32962 "text" : "acme"
32963 },
32964 {
32965 "info" : {
32966 "GET" : {
32967 "description" : "Get information about node's certificates.",
32968 "method" : "GET",
32969 "name" : "info",
32970 "parameters" : {
32971 "additionalProperties" : 0,
32972 "properties" : {
32973 "node" : {
32974 "description" : "The cluster node name.",
32975 "format" : "pve-node",
32976 "type" : "string",
32977 "typetext" : "<string>"
32978 }
32979 }
32980 },
32981 "permissions" : {
32982 "user" : "all"
32983 },
32984 "proxyto" : "node",
32985 "returns" : {
32986 "items" : {
32987 "properties" : {
32988 "filename" : {
32989 "optional" : 1,
32990 "type" : "string"
32991 },
32992 "fingerprint" : {
32993 "description" : "Certificate SHA 256 fingerprint.",
32994 "optional" : 1,
32995 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
32996 "type" : "string"
32997 },
32998 "issuer" : {
32999 "description" : "Certificate issuer name.",
33000 "optional" : 1,
33001 "type" : "string"
33002 },
33003 "notafter" : {
33004 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
33005 "optional" : 1,
4d47f125 33006 "renderer" : "timestamp",
a9a8e3d1
DM
33007 "type" : "integer"
33008 },
33009 "notbefore" : {
33010 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
33011 "optional" : 1,
4d47f125 33012 "renderer" : "timestamp",
a9a8e3d1
DM
33013 "type" : "integer"
33014 },
33015 "pem" : {
33016 "description" : "Certificate in PEM format",
33017 "format" : "pem-certificate",
33018 "optional" : 1,
33019 "type" : "string"
33020 },
33021 "san" : {
33022 "description" : "List of Certificate's SubjectAlternativeName entries.",
33023 "items" : {
33024 "type" : "string"
33025 },
33026 "optional" : 1,
4d47f125 33027 "renderer" : "yaml",
a9a8e3d1
DM
33028 "type" : "array"
33029 },
33030 "subject" : {
33031 "description" : "Certificate subject name.",
33032 "optional" : 1,
33033 "type" : "string"
33034 }
33035 },
33036 "type" : "object"
33037 },
33038 "type" : "array"
33039 }
33040 }
33041 },
33042 "leaf" : 1,
33043 "path" : "/nodes/{node}/certificates/info",
33044 "text" : "info"
33045 },
33046 {
33047 "info" : {
33048 "DELETE" : {
33049 "description" : "DELETE custom certificate chain and key.",
33050 "method" : "DELETE",
33051 "name" : "remove_custom_cert",
33052 "parameters" : {
33053 "additionalProperties" : 0,
33054 "properties" : {
33055 "node" : {
33056 "description" : "The cluster node name.",
33057 "format" : "pve-node",
33058 "type" : "string",
33059 "typetext" : "<string>"
33060 },
33061 "restart" : {
33062 "default" : 0,
33063 "description" : "Restart pveproxy.",
33064 "optional" : 1,
33065 "type" : "boolean",
33066 "typetext" : "<boolean>"
33067 }
33068 }
33069 },
33070 "protected" : 1,
33071 "proxyto" : "node",
33072 "returns" : {
33073 "type" : "null"
33074 }
33075 },
33076 "POST" : {
33077 "description" : "Upload or update custom certificate chain and key.",
33078 "method" : "POST",
33079 "name" : "upload_custom_cert",
33080 "parameters" : {
33081 "additionalProperties" : 0,
33082 "properties" : {
33083 "certificates" : {
33084 "description" : "PEM encoded certificate (chain).",
33085 "format" : "pem-certificate-chain",
33086 "type" : "string",
33087 "typetext" : "<string>"
33088 },
33089 "force" : {
33090 "default" : 0,
33091 "description" : "Overwrite existing custom or ACME certificate files.",
33092 "optional" : 1,
33093 "type" : "boolean",
33094 "typetext" : "<boolean>"
33095 },
33096 "key" : {
33097 "description" : "PEM encoded private key.",
33098 "format" : "pem-string",
33099 "optional" : 1,
33100 "type" : "string",
33101 "typetext" : "<string>"
33102 },
33103 "node" : {
33104 "description" : "The cluster node name.",
33105 "format" : "pve-node",
33106 "type" : "string",
33107 "typetext" : "<string>"
33108 },
33109 "restart" : {
33110 "default" : 0,
33111 "description" : "Restart pveproxy.",
33112 "optional" : 1,
33113 "type" : "boolean",
33114 "typetext" : "<boolean>"
33115 }
33116 }
33117 },
33118 "protected" : 1,
33119 "proxyto" : "node",
33120 "returns" : {
33121 "properties" : {
33122 "filename" : {
33123 "optional" : 1,
33124 "type" : "string"
33125 },
33126 "fingerprint" : {
33127 "description" : "Certificate SHA 256 fingerprint.",
33128 "optional" : 1,
33129 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
33130 "type" : "string"
33131 },
33132 "issuer" : {
33133 "description" : "Certificate issuer name.",
33134 "optional" : 1,
33135 "type" : "string"
33136 },
33137 "notafter" : {
33138 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
33139 "optional" : 1,
4d47f125 33140 "renderer" : "timestamp",
a9a8e3d1
DM
33141 "type" : "integer"
33142 },
33143 "notbefore" : {
33144 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
33145 "optional" : 1,
4d47f125 33146 "renderer" : "timestamp",
a9a8e3d1
DM
33147 "type" : "integer"
33148 },
33149 "pem" : {
33150 "description" : "Certificate in PEM format",
33151 "format" : "pem-certificate",
33152 "optional" : 1,
33153 "type" : "string"
33154 },
33155 "san" : {
33156 "description" : "List of Certificate's SubjectAlternativeName entries.",
33157 "items" : {
33158 "type" : "string"
33159 },
33160 "optional" : 1,
4d47f125 33161 "renderer" : "yaml",
a9a8e3d1
DM
33162 "type" : "array"
33163 },
33164 "subject" : {
33165 "description" : "Certificate subject name.",
33166 "optional" : 1,
33167 "type" : "string"
33168 }
33169 },
33170 "type" : "object"
33171 }
33172 }
33173 },
33174 "leaf" : 1,
33175 "path" : "/nodes/{node}/certificates/custom",
33176 "text" : "custom"
33177 }
33178 ],
33179 "info" : {
33180 "GET" : {
33181 "description" : "Node index.",
33182 "method" : "GET",
33183 "name" : "index",
33184 "parameters" : {
33185 "additionalProperties" : 0,
33186 "properties" : {
33187 "node" : {
33188 "description" : "The cluster node name.",
33189 "format" : "pve-node",
33190 "type" : "string",
33191 "typetext" : "<string>"
33192 }
33193 }
33194 },
33195 "permissions" : {
33196 "user" : "all"
33197 },
33198 "returns" : {
33199 "items" : {
33200 "properties" : {},
33201 "type" : "object"
33202 },
33203 "links" : [
33204 {
33205 "href" : "{name}",
33206 "rel" : "child"
33207 }
33208 ],
33209 "type" : "array"
33210 }
33211 }
33212 },
33213 "leaf" : 0,
33214 "path" : "/nodes/{node}/certificates",
33215 "text" : "certificates"
33216 },
33217 {
33218 "info" : {
33219 "GET" : {
33220 "description" : "Get node configuration options.",
33221 "method" : "GET",
33222 "name" : "get_config",
33223 "parameters" : {
33224 "additionalProperties" : 0,
33225 "properties" : {
33226 "node" : {
33227 "description" : "The cluster node name.",
33228 "format" : "pve-node",
33229 "type" : "string",
33230 "typetext" : "<string>"
33231 }
33232 }
33233 },
33234 "permissions" : {
33235 "check" : [
33236 "perm",
33237 "/",
33238 [
33239 "Sys.Audit"
33240 ]
33241 ]
33242 },
33243 "proxyto" : "node",
33244 "returns" : {
a9a8e3d1
DM
33245 "type" : "object"
33246 }
33247 },
33248 "PUT" : {
33249 "description" : "Set node configuration options.",
33250 "method" : "PUT",
33251 "name" : "set_options",
33252 "parameters" : {
33253 "additionalProperties" : 0,
33254 "properties" : {
33255 "acme" : {
33256 "description" : "Node specific ACME settings.",
33257 "format" : {
33258 "account" : {
33259 "default" : "default",
33260 "description" : "ACME account config file name.",
33261 "format" : "pve-configid",
33262 "format_description" : "name",
33263 "optional" : 1,
33264 "type" : "string"
33265 },
33266 "domains" : {
33267 "description" : "List of domains for this node's ACME certificate",
33268 "format" : "pve-acme-domain-list",
33269 "format_description" : "domain[;domain;...]",
33270 "type" : "string"
33271 }
33272 },
33273 "optional" : 1,
33274 "type" : "string",
33275 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
33276 },
33277 "delete" : {
33278 "description" : "A list of settings you want to delete.",
33279 "format" : "pve-configid-list",
33280 "optional" : 1,
33281 "type" : "string",
33282 "typetext" : "<string>"
33283 },
33284 "description" : {
33285 "description" : "Node description/comment.",
33286 "optional" : 1,
33287 "type" : "string",
33288 "typetext" : "<string>"
33289 },
33290 "digest" : {
33291 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
33292 "maxLength" : 40,
33293 "optional" : 1,
33294 "type" : "string",
33295 "typetext" : "<string>"
33296 },
33297 "node" : {
33298 "description" : "The cluster node name.",
33299 "format" : "pve-node",
33300 "type" : "string",
33301 "typetext" : "<string>"
5f26e15b
TL
33302 },
33303 "wakeonlan" : {
33304 "description" : "MAC address for wake on LAN",
33305 "format" : "mac-addr",
33306 "optional" : 1,
33307 "type" : "string",
33308 "typetext" : "<string>"
a9a8e3d1
DM
33309 }
33310 }
33311 },
33312 "permissions" : {
33313 "check" : [
33314 "perm",
33315 "/",
33316 [
33317 "Sys.Modify"
33318 ]
33319 ]
33320 },
33321 "protected" : 1,
33322 "proxyto" : "node",
33323 "returns" : {
33324 "type" : "null"
33325 }
33326 }
33327 },
33328 "leaf" : 1,
33329 "path" : "/nodes/{node}/config",
33330 "text" : "config"
33331 },
56122987 33332 {
56122987
DM
33333 "info" : {
33334 "GET" : {
44660702
DM
33335 "description" : "API version details",
33336 "method" : "GET",
33337 "name" : "version",
56122987 33338 "parameters" : {
44660702 33339 "additionalProperties" : 0,
56122987
DM
33340 "properties" : {
33341 "node" : {
56122987 33342 "description" : "The cluster node name.",
44660702 33343 "format" : "pve-node",
013dc89f
DM
33344 "type" : "string",
33345 "typetext" : "<string>"
56122987 33346 }
44660702 33347 }
56122987 33348 },
56122987 33349 "permissions" : {
7aacca6f 33350 "user" : "all"
56122987 33351 },
56122987 33352 "proxyto" : "node",
56122987 33353 "returns" : {
56122987 33354 "properties" : {
44660702 33355 "release" : {
1e3f8156 33356 "description" : "The current installed Proxmox VE Release",
56122987
DM
33357 "type" : "string"
33358 },
44660702 33359 "repoid" : {
1e3f8156 33360 "description" : "The short git commit hash ID from which this version was build",
7aacca6f
DM
33361 "type" : "string"
33362 },
33363 "version" : {
1e3f8156 33364 "description" : "The current installed pve-manager package version",
7aacca6f
DM
33365 "type" : "string"
33366 }
44660702
DM
33367 },
33368 "type" : "object"
7aacca6f 33369 }
56122987
DM
33370 }
33371 },
56122987 33372 "leaf" : 1,
44660702
DM
33373 "path" : "/nodes/{node}/version",
33374 "text" : "version"
56122987
DM
33375 },
33376 {
56122987
DM
33377 "info" : {
33378 "GET" : {
7aacca6f 33379 "description" : "Read node status",
44660702 33380 "method" : "GET",
7aacca6f 33381 "name" : "status",
56122987 33382 "parameters" : {
44660702 33383 "additionalProperties" : 0,
56122987
DM
33384 "properties" : {
33385 "node" : {
7aacca6f 33386 "description" : "The cluster node name.",
44660702 33387 "format" : "pve-node",
013dc89f
DM
33388 "type" : "string",
33389 "typetext" : "<string>"
56122987 33390 }
44660702 33391 }
56122987 33392 },
56122987
DM
33393 "permissions" : {
33394 "check" : [
33395 "perm",
33396 "/nodes/{node}",
33397 [
33398 "Sys.Audit"
33399 ]
33400 ]
44660702
DM
33401 },
33402 "proxyto" : "node",
33403 "returns" : {
44660702 33404 "type" : "object"
7aacca6f
DM
33405 }
33406 },
33407 "POST" : {
44660702
DM
33408 "description" : "Reboot or shutdown a node.",
33409 "method" : "POST",
7aacca6f 33410 "name" : "node_cmd",
56122987 33411 "parameters" : {
44660702 33412 "additionalProperties" : 0,
56122987 33413 "properties" : {
7aacca6f
DM
33414 "command" : {
33415 "description" : "Specify the command.",
56122987 33416 "enum" : [
7aacca6f
DM
33417 "reboot",
33418 "shutdown"
56122987
DM
33419 ],
33420 "type" : "string"
44660702
DM
33421 },
33422 "node" : {
33423 "description" : "The cluster node name.",
33424 "format" : "pve-node",
013dc89f
DM
33425 "type" : "string",
33426 "typetext" : "<string>"
56122987 33427 }
44660702 33428 }
7aacca6f 33429 },
7aacca6f
DM
33430 "permissions" : {
33431 "check" : [
33432 "perm",
33433 "/nodes/{node}",
33434 [
33435 "Sys.PowerMgmt"
33436 ]
33437 ]
33438 },
44660702 33439 "protected" : 1,
7aacca6f 33440 "proxyto" : "node",
7aacca6f
DM
33441 "returns" : {
33442 "type" : "null"
56122987
DM
33443 }
33444 }
33445 },
7aacca6f 33446 "leaf" : 1,
44660702
DM
33447 "path" : "/nodes/{node}/status",
33448 "text" : "status"
56122987
DM
33449 },
33450 {
56122987
DM
33451 "info" : {
33452 "GET" : {
44660702
DM
33453 "description" : "Read tap/vm network device interface counters",
33454 "method" : "GET",
33455 "name" : "netstat",
33456 "parameters" : {
33457 "additionalProperties" : 0,
33458 "properties" : {
33459 "node" : {
33460 "description" : "The cluster node name.",
33461 "format" : "pve-node",
013dc89f
DM
33462 "type" : "string",
33463 "typetext" : "<string>"
44660702 33464 }
56122987
DM
33465 }
33466 },
33467 "permissions" : {
33468 "check" : [
33469 "perm",
33470 "/nodes/{node}",
33471 [
7aacca6f 33472 "Sys.Audit"
56122987
DM
33473 ]
33474 ]
33475 },
7aacca6f 33476 "proxyto" : "node",
44660702
DM
33477 "returns" : {
33478 "items" : {
33479 "properties" : {},
33480 "type" : "object"
33481 },
33482 "type" : "array"
33483 }
7aacca6f
DM
33484 }
33485 },
44660702
DM
33486 "leaf" : 1,
33487 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
33488 "text" : "netstat"
33489 },
33490 {
33491 "info" : {
33492 "POST" : {
7aacca6f 33493 "description" : "Execute multiple commands in order.",
7aacca6f 33494 "method" : "POST",
7aacca6f 33495 "name" : "execute",
56122987
DM
33496 "parameters" : {
33497 "additionalProperties" : 0,
33498 "properties" : {
7aacca6f
DM
33499 "commands" : {
33500 "description" : "JSON encoded array of commands.",
013dc89f
DM
33501 "type" : "string",
33502 "typetext" : "<string>"
56122987
DM
33503 },
33504 "node" : {
44660702 33505 "description" : "The cluster node name.",
56122987 33506 "format" : "pve-node",
013dc89f
DM
33507 "type" : "string",
33508 "typetext" : "<string>"
56122987
DM
33509 }
33510 }
44660702
DM
33511 },
33512 "permissions" : {
33513 "check" : [
33514 "perm",
33515 "/nodes/{node}",
33516 [
33517 "Sys.Audit"
33518 ]
33519 ]
33520 },
33521 "protected" : 1,
33522 "proxyto" : "node",
33523 "returns" : {
44660702 33524 "type" : "array"
56122987
DM
33525 }
33526 }
33527 },
56122987 33528 "leaf" : 1,
44660702
DM
33529 "path" : "/nodes/{node}/execute",
33530 "text" : "execute"
56122987 33531 },
5f26e15b
TL
33532 {
33533 "info" : {
33534 "POST" : {
33535 "description" : "Try to wake a node via 'wake on LAN' network packet.",
33536 "method" : "POST",
33537 "name" : "wakeonlan",
33538 "parameters" : {
33539 "additionalProperties" : 0,
33540 "properties" : {
33541 "node" : {
33542 "description" : "target node for wake on LAN packet",
33543 "format" : "pve-node",
33544 "type" : "string",
33545 "typetext" : "<string>"
33546 }
33547 }
33548 },
33549 "permissions" : {
33550 "check" : [
33551 "perm",
33552 "/nodes/{node}",
33553 [
33554 "Sys.PowerMgmt"
33555 ]
33556 ]
33557 },
33558 "protected" : 1,
33559 "returns" : {
33560 "description" : "MAC address used to assemble the WoL magic packet.",
33561 "format" : "mac-addr",
33562 "type" : "string"
33563 }
33564 }
33565 },
33566 "leaf" : 1,
33567 "path" : "/nodes/{node}/wakeonlan",
33568 "text" : "wakeonlan"
33569 },
56122987
DM
33570 {
33571 "info" : {
7aacca6f 33572 "GET" : {
44660702
DM
33573 "description" : "Read node RRD statistics (returns PNG)",
33574 "method" : "GET",
7aacca6f 33575 "name" : "rrd",
56122987 33576 "parameters" : {
7aacca6f 33577 "additionalProperties" : 0,
56122987 33578 "properties" : {
44660702
DM
33579 "cf" : {
33580 "description" : "The RRD consolidation function",
33581 "enum" : [
33582 "AVERAGE",
33583 "MAX"
33584 ],
33585 "optional" : 1,
33586 "type" : "string"
33587 },
7aacca6f 33588 "ds" : {
7aacca6f 33589 "description" : "The list of datasources you want to display.",
44660702 33590 "format" : "pve-configid-list",
013dc89f
DM
33591 "type" : "string",
33592 "typetext" : "<string>"
44660702
DM
33593 },
33594 "node" : {
33595 "description" : "The cluster node name.",
33596 "format" : "pve-node",
013dc89f
DM
33597 "type" : "string",
33598 "typetext" : "<string>"
7aacca6f
DM
33599 },
33600 "timeframe" : {
33601 "description" : "Specify the time frame you are interested in.",
33602 "enum" : [
33603 "hour",
33604 "day",
33605 "week",
33606 "month",
33607 "year"
33608 ],
33609 "type" : "string"
56122987 33610 }
7aacca6f 33611 }
56122987 33612 },
56122987 33613 "permissions" : {
56122987
DM
33614 "check" : [
33615 "perm",
33616 "/nodes/{node}",
33617 [
7aacca6f 33618 "Sys.Audit"
56122987
DM
33619 ]
33620 ]
33621 },
7aacca6f 33622 "protected" : 1,
56122987 33623 "returns" : {
56122987 33624 "properties" : {
7aacca6f 33625 "filename" : {
56122987
DM
33626 "type" : "string"
33627 }
44660702
DM
33628 },
33629 "type" : "object"
33630 }
56122987
DM
33631 }
33632 },
44660702 33633 "leaf" : 1,
7aacca6f 33634 "path" : "/nodes/{node}/rrd",
44660702 33635 "text" : "rrd"
56122987
DM
33636 },
33637 {
33638 "info" : {
7aacca6f 33639 "GET" : {
44660702
DM
33640 "description" : "Read node RRD statistics",
33641 "method" : "GET",
7aacca6f 33642 "name" : "rrddata",
56122987 33643 "parameters" : {
44660702 33644 "additionalProperties" : 0,
56122987 33645 "properties" : {
7aacca6f 33646 "cf" : {
7aacca6f
DM
33647 "description" : "The RRD consolidation function",
33648 "enum" : [
33649 "AVERAGE",
33650 "MAX"
44660702
DM
33651 ],
33652 "optional" : 1,
33653 "type" : "string"
56122987
DM
33654 },
33655 "node" : {
44660702 33656 "description" : "The cluster node name.",
56122987 33657 "format" : "pve-node",
013dc89f
DM
33658 "type" : "string",
33659 "typetext" : "<string>"
56122987 33660 },
7aacca6f 33661 "timeframe" : {
7aacca6f
DM
33662 "description" : "Specify the time frame you are interested in.",
33663 "enum" : [
33664 "hour",
33665 "day",
33666 "week",
33667 "month",
33668 "year"
44660702
DM
33669 ],
33670 "type" : "string"
56122987 33671 }
56122987
DM
33672 }
33673 },
56122987
DM
33674 "permissions" : {
33675 "check" : [
33676 "perm",
33677 "/nodes/{node}",
33678 [
44660702 33679 "Sys.Audit"
56122987
DM
33680 ]
33681 ]
7aacca6f 33682 },
44660702 33683 "protected" : 1,
56122987 33684 "returns" : {
7aacca6f 33685 "items" : {
44660702 33686 "properties" : {},
7aacca6f
DM
33687 "type" : "object"
33688 },
33689 "type" : "array"
44660702
DM
33690 }
33691 }
33692 },
33693 "leaf" : 1,
33694 "path" : "/nodes/{node}/rrddata",
33695 "text" : "rrddata"
33696 },
33697 {
33698 "info" : {
33699 "GET" : {
33700 "description" : "Read system log",
33701 "method" : "GET",
33702 "name" : "syslog",
56122987 33703 "parameters" : {
44660702 33704 "additionalProperties" : 0,
56122987 33705 "properties" : {
44660702
DM
33706 "limit" : {
33707 "minimum" : 0,
7aacca6f 33708 "optional" : 1,
4bd7df8b 33709 "type" : "integer",
013dc89f 33710 "typetext" : "<integer> (0 - N)"
7aacca6f 33711 },
56122987 33712 "node" : {
7aacca6f 33713 "description" : "The cluster node name.",
44660702 33714 "format" : "pve-node",
013dc89f
DM
33715 "type" : "string",
33716 "typetext" : "<string>"
56122987 33717 },
35a75dd3
DM
33718 "service" : {
33719 "description" : "Service ID",
33720 "maxLength" : 128,
33721 "optional" : 1,
33722 "type" : "string",
33723 "typetext" : "<string>"
33724 },
44660702
DM
33725 "since" : {
33726 "description" : "Display all log since this date-time string.",
33727 "optional" : 1,
33728 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
33729 "type" : "string"
33730 },
33731 "start" : {
7aacca6f
DM
33732 "minimum" : 0,
33733 "optional" : 1,
4bd7df8b 33734 "type" : "integer",
013dc89f 33735 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
33736 },
33737 "until" : {
33738 "description" : "Display all log until this date-time string.",
7aacca6f 33739 "optional" : 1,
44660702 33740 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
33741 "type" : "string"
33742 }
44660702 33743 }
56122987 33744 },
44660702
DM
33745 "permissions" : {
33746 "check" : [
33747 "perm",
33748 "/nodes/{node}",
33749 [
33750 "Sys.Syslog"
33751 ]
33752 ]
33753 },
33754 "protected" : 1,
33755 "proxyto" : "node",
33756 "returns" : {
33757 "items" : {
33758 "properties" : {
33759 "n" : {
33760 "description" : "Line number",
33761 "type" : "integer"
33762 },
33763 "t" : {
33764 "description" : "Line text",
33765 "type" : "string"
33766 }
33767 },
33768 "type" : "object"
33769 },
33770 "type" : "array"
33771 }
56122987
DM
33772 }
33773 },
44660702
DM
33774 "leaf" : 1,
33775 "path" : "/nodes/{node}/syslog",
7aacca6f 33776 "text" : "syslog"
56122987 33777 },
bb4c8cf8
TL
33778 {
33779 "info" : {
33780 "GET" : {
33781 "description" : "Read Journal",
33782 "method" : "GET",
33783 "name" : "journal",
33784 "parameters" : {
33785 "additionalProperties" : 0,
33786 "properties" : {
33787 "endcursor" : {
33788 "description" : "End before the given Cursor. Conflicts with 'until'",
33789 "optional" : 1,
33790 "type" : "string",
33791 "typetext" : "<string>"
33792 },
33793 "lastentries" : {
33794 "description" : "Limit to the last X lines. Conflicts with a range.",
33795 "minimum" : 0,
33796 "optional" : 1,
33797 "type" : "integer",
33798 "typetext" : "<integer> (0 - N)"
33799 },
33800 "node" : {
33801 "description" : "The cluster node name.",
33802 "format" : "pve-node",
33803 "type" : "string",
33804 "typetext" : "<string>"
33805 },
33806 "since" : {
33807 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
33808 "minimum" : 0,
33809 "optional" : 1,
33810 "type" : "integer",
33811 "typetext" : "<integer> (0 - N)"
33812 },
33813 "startcursor" : {
33814 "description" : "Start after the given Cursor. Conflicts with 'since'",
33815 "optional" : 1,
33816 "type" : "string",
33817 "typetext" : "<string>"
33818 },
33819 "until" : {
33820 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
33821 "minimum" : 0,
33822 "optional" : 1,
33823 "type" : "integer",
33824 "typetext" : "<integer> (0 - N)"
33825 }
33826 }
33827 },
33828 "permissions" : {
33829 "check" : [
33830 "perm",
33831 "/nodes/{node}",
33832 [
33833 "Sys.Syslog"
33834 ]
33835 ]
33836 },
33837 "protected" : 1,
33838 "proxyto" : "node",
33839 "returns" : {
33840 "items" : {
33841 "type" : "string"
33842 },
33843 "type" : "array"
33844 }
33845 }
33846 },
33847 "leaf" : 1,
33848 "path" : "/nodes/{node}/journal",
33849 "text" : "journal"
33850 },
56122987 33851 {
56122987
DM
33852 "info" : {
33853 "POST" : {
44660702
DM
33854 "description" : "Creates a VNC Shell proxy.",
33855 "method" : "POST",
33856 "name" : "vncshell",
33857 "parameters" : {
33858 "additionalProperties" : 0,
56122987 33859 "properties" : {
95895385
TL
33860 "cmd" : {
33861 "default" : "login",
33862 "description" : "Run specific command or default to login.",
33863 "enum" : [
1e3f8156 33864 "upgrade",
7cbed89a
TL
33865 "ceph_install",
33866 "login"
95895385
TL
33867 ],
33868 "optional" : 1,
33869 "type" : "string"
33870 },
5d9c884c
DM
33871 "height" : {
33872 "description" : "sets the height of the console in pixels.",
33873 "maximum" : 2160,
33874 "minimum" : 16,
33875 "optional" : 1,
33876 "type" : "integer",
33877 "typetext" : "<integer> (16 - 2160)"
33878 },
44660702
DM
33879 "node" : {
33880 "description" : "The cluster node name.",
33881 "format" : "pve-node",
013dc89f
DM
33882 "type" : "string",
33883 "typetext" : "<string>"
7aacca6f 33884 },
44660702
DM
33885 "upgrade" : {
33886 "default" : 0,
95895385 33887 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 33888 "optional" : 1,
013dc89f
DM
33889 "type" : "boolean",
33890 "typetext" : "<boolean>"
7aacca6f 33891 },
44660702
DM
33892 "websocket" : {
33893 "description" : "use websocket instead of standard vnc.",
33894 "optional" : 1,
013dc89f
DM
33895 "type" : "boolean",
33896 "typetext" : "<boolean>"
5d9c884c
DM
33897 },
33898 "width" : {
33899 "description" : "sets the width of the console in pixels.",
33900 "maximum" : 4096,
33901 "minimum" : 16,
33902 "optional" : 1,
33903 "type" : "integer",
33904 "typetext" : "<integer> (16 - 4096)"
56122987 33905 }
44660702 33906 }
56122987 33907 },
56122987
DM
33908 "permissions" : {
33909 "check" : [
33910 "perm",
7aacca6f 33911 "/nodes/{node}",
56122987 33912 [
7aacca6f 33913 "Sys.Console"
56122987 33914 ]
44660702
DM
33915 ],
33916 "description" : "Restricted to users on realm 'pam'"
56122987 33917 },
44660702
DM
33918 "protected" : 1,
33919 "returns" : {
33920 "additionalProperties" : 0,
56122987 33921 "properties" : {
44660702
DM
33922 "cert" : {
33923 "type" : "string"
7aacca6f 33924 },
44660702
DM
33925 "port" : {
33926 "type" : "integer"
7aacca6f 33927 },
44660702
DM
33928 "ticket" : {
33929 "type" : "string"
33930 },
33931 "upid" : {
33932 "type" : "string"
33933 },
33934 "user" : {
33935 "type" : "string"
56122987 33936 }
44660702
DM
33937 }
33938 }
56122987
DM
33939 }
33940 },
7aacca6f 33941 "leaf" : 1,
44660702
DM
33942 "path" : "/nodes/{node}/vncshell",
33943 "text" : "vncshell"
56122987 33944 },
35a75dd3
DM
33945 {
33946 "info" : {
33947 "POST" : {
33948 "description" : "Creates a VNC Shell proxy.",
33949 "method" : "POST",
33950 "name" : "termproxy",
33951 "parameters" : {
33952 "additionalProperties" : 0,
33953 "properties" : {
95895385
TL
33954 "cmd" : {
33955 "default" : "login",
33956 "description" : "Run specific command or default to login.",
33957 "enum" : [
1e3f8156 33958 "upgrade",
7cbed89a
TL
33959 "ceph_install",
33960 "login"
95895385
TL
33961 ],
33962 "optional" : 1,
33963 "type" : "string"
33964 },
35a75dd3
DM
33965 "node" : {
33966 "description" : "The cluster node name.",
33967 "format" : "pve-node",
33968 "type" : "string",
33969 "typetext" : "<string>"
33970 },
33971 "upgrade" : {
33972 "default" : 0,
95895385 33973 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
35a75dd3
DM
33974 "optional" : 1,
33975 "type" : "boolean",
33976 "typetext" : "<boolean>"
33977 }
33978 }
33979 },
33980 "permissions" : {
33981 "check" : [
33982 "perm",
33983 "/nodes/{node}",
33984 [
33985 "Sys.Console"
33986 ]
33987 ],
33988 "description" : "Restricted to users on realm 'pam'"
33989 },
33990 "protected" : 1,
33991 "returns" : {
33992 "additionalProperties" : 0,
33993 "properties" : {
33994 "port" : {
33995 "type" : "integer"
33996 },
33997 "ticket" : {
33998 "type" : "string"
33999 },
34000 "upid" : {
34001 "type" : "string"
34002 },
34003 "user" : {
34004 "type" : "string"
34005 }
34006 }
34007 }
34008 }
34009 },
34010 "leaf" : 1,
34011 "path" : "/nodes/{node}/termproxy",
34012 "text" : "termproxy"
34013 },
56122987
DM
34014 {
34015 "info" : {
34016 "GET" : {
7aacca6f 34017 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
34018 "method" : "GET",
34019 "name" : "vncwebsocket",
56122987 34020 "parameters" : {
44660702 34021 "additionalProperties" : 0,
56122987
DM
34022 "properties" : {
34023 "node" : {
34024 "description" : "The cluster node name.",
44660702 34025 "format" : "pve-node",
013dc89f
DM
34026 "type" : "string",
34027 "typetext" : "<string>"
7aacca6f
DM
34028 },
34029 "port" : {
7aacca6f
DM
34030 "description" : "Port number returned by previous vncproxy call.",
34031 "maximum" : 5999,
44660702 34032 "minimum" : 5900,
4bd7df8b 34033 "type" : "integer",
013dc89f 34034 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
34035 },
34036 "vncticket" : {
34037 "description" : "Ticket from previous call to vncproxy.",
34038 "maxLength" : 512,
013dc89f
DM
34039 "type" : "string",
34040 "typetext" : "<string>"
56122987 34041 }
44660702 34042 }
56122987 34043 },
56122987
DM
34044 "permissions" : {
34045 "check" : [
34046 "perm",
34047 "/nodes/{node}",
34048 [
7aacca6f 34049 "Sys.Console"
56122987 34050 ]
44660702
DM
34051 ],
34052 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
34053 },
34054 "returns" : {
34055 "properties" : {
34056 "port" : {
34057 "type" : "string"
34058 }
34059 },
34060 "type" : "object"
7aacca6f 34061 }
56122987
DM
34062 }
34063 },
44660702 34064 "leaf" : 1,
7aacca6f 34065 "path" : "/nodes/{node}/vncwebsocket",
44660702 34066 "text" : "vncwebsocket"
56122987
DM
34067 },
34068 {
34069 "info" : {
34070 "POST" : {
44660702 34071 "description" : "Creates a SPICE shell.",
7aacca6f 34072 "method" : "POST",
44660702 34073 "name" : "spiceshell",
56122987 34074 "parameters" : {
7aacca6f 34075 "additionalProperties" : 0,
56122987 34076 "properties" : {
95895385
TL
34077 "cmd" : {
34078 "default" : "login",
34079 "description" : "Run specific command or default to login.",
34080 "enum" : [
1e3f8156 34081 "upgrade",
7cbed89a
TL
34082 "ceph_install",
34083 "login"
95895385
TL
34084 ],
34085 "optional" : 1,
34086 "type" : "string"
34087 },
7aacca6f 34088 "node" : {
44660702 34089 "description" : "The cluster node name.",
56122987 34090 "format" : "pve-node",
013dc89f
DM
34091 "type" : "string",
34092 "typetext" : "<string>"
7aacca6f 34093 },
44660702 34094 "proxy" : {
4d47f125 34095 "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
34096 "format" : "address",
34097 "optional" : 1,
013dc89f
DM
34098 "type" : "string",
34099 "typetext" : "<string>"
7aacca6f 34100 },
44660702
DM
34101 "upgrade" : {
34102 "default" : 0,
95895385 34103 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 34104 "optional" : 1,
013dc89f
DM
34105 "type" : "boolean",
34106 "typetext" : "<boolean>"
56122987 34107 }
7aacca6f 34108 }
56122987 34109 },
56122987
DM
34110 "permissions" : {
34111 "check" : [
34112 "perm",
7aacca6f 34113 "/nodes/{node}",
56122987 34114 [
7aacca6f 34115 "Sys.Console"
56122987 34116 ]
7aacca6f
DM
34117 ],
34118 "description" : "Restricted to users on realm 'pam'"
44660702
DM
34119 },
34120 "protected" : 1,
34121 "proxyto" : "node",
34122 "returns" : {
34123 "additionalProperties" : 1,
34124 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
34125 "properties" : {
34126 "host" : {
34127 "type" : "string"
34128 },
34129 "password" : {
34130 "type" : "string"
34131 },
34132 "proxy" : {
34133 "type" : "string"
34134 },
34135 "tls-port" : {
34136 "type" : "integer"
34137 },
34138 "type" : {
34139 "type" : "string"
34140 }
34141 }
7aacca6f 34142 }
56122987
DM
34143 }
34144 },
56122987 34145 "leaf" : 1,
44660702
DM
34146 "path" : "/nodes/{node}/spiceshell",
34147 "text" : "spiceshell"
56122987
DM
34148 },
34149 {
56122987 34150 "info" : {
7aacca6f 34151 "GET" : {
44660702 34152 "description" : "Read DNS settings.",
7aacca6f 34153 "method" : "GET",
44660702
DM
34154 "name" : "dns",
34155 "parameters" : {
7aacca6f
DM
34156 "additionalProperties" : 0,
34157 "properties" : {
44660702
DM
34158 "node" : {
34159 "description" : "The cluster node name.",
34160 "format" : "pve-node",
013dc89f
DM
34161 "type" : "string",
34162 "typetext" : "<string>"
7aacca6f
DM
34163 }
34164 }
34165 },
7aacca6f
DM
34166 "permissions" : {
34167 "check" : [
34168 "perm",
34169 "/nodes/{node}",
34170 [
34171 "Sys.Audit"
34172 ]
34173 ]
34174 },
44660702
DM
34175 "proxyto" : "node",
34176 "returns" : {
56122987
DM
34177 "additionalProperties" : 0,
34178 "properties" : {
44660702
DM
34179 "dns1" : {
34180 "description" : "First name server IP address.",
34181 "optional" : 1,
34182 "type" : "string"
34183 },
34184 "dns2" : {
34185 "description" : "Second name server IP address.",
34186 "optional" : 1,
34187 "type" : "string"
34188 },
34189 "dns3" : {
34190 "description" : "Third name server IP address.",
34191 "optional" : 1,
34192 "type" : "string"
34193 },
34194 "search" : {
34195 "description" : "Search domain for host-name lookup.",
34196 "optional" : 1,
34197 "type" : "string"
7aacca6f 34198 }
44660702
DM
34199 },
34200 "type" : "object"
34201 }
7aacca6f
DM
34202 },
34203 "PUT" : {
44660702
DM
34204 "description" : "Write DNS settings.",
34205 "method" : "PUT",
7aacca6f
DM
34206 "name" : "update_dns",
34207 "parameters" : {
34208 "additionalProperties" : 0,
34209 "properties" : {
44660702
DM
34210 "dns1" : {
34211 "description" : "First name server IP address.",
34212 "format" : "ip",
34213 "optional" : 1,
013dc89f
DM
34214 "type" : "string",
34215 "typetext" : "<string>"
7aacca6f 34216 },
44660702
DM
34217 "dns2" : {
34218 "description" : "Second name server IP address.",
34219 "format" : "ip",
7aacca6f 34220 "optional" : 1,
013dc89f
DM
34221 "type" : "string",
34222 "typetext" : "<string>"
7aacca6f 34223 },
44660702
DM
34224 "dns3" : {
34225 "description" : "Third name server IP address.",
34226 "format" : "ip",
7aacca6f 34227 "optional" : 1,
013dc89f
DM
34228 "type" : "string",
34229 "typetext" : "<string>"
7aacca6f
DM
34230 },
34231 "node" : {
44660702 34232 "description" : "The cluster node name.",
56122987 34233 "format" : "pve-node",
013dc89f
DM
34234 "type" : "string",
34235 "typetext" : "<string>"
7aacca6f 34236 },
44660702
DM
34237 "search" : {
34238 "description" : "Search domain for host-name lookup.",
013dc89f
DM
34239 "type" : "string",
34240 "typetext" : "<string>"
56122987
DM
34241 }
34242 }
34243 },
34244 "permissions" : {
34245 "check" : [
34246 "perm",
7aacca6f 34247 "/nodes/{node}",
56122987 34248 [
7aacca6f 34249 "Sys.Modify"
56122987
DM
34250 ]
34251 ]
34252 },
44660702 34253 "protected" : 1,
7aacca6f 34254 "proxyto" : "node",
56122987 34255 "returns" : {
7aacca6f
DM
34256 "type" : "null"
34257 }
56122987 34258 }
44660702
DM
34259 },
34260 "leaf" : 1,
34261 "path" : "/nodes/{node}/dns",
34262 "text" : "dns"
56122987
DM
34263 },
34264 {
34265 "info" : {
7aacca6f 34266 "GET" : {
7aacca6f 34267 "description" : "Read server time and time zone settings.",
44660702
DM
34268 "method" : "GET",
34269 "name" : "time",
56122987 34270 "parameters" : {
44660702 34271 "additionalProperties" : 0,
56122987
DM
34272 "properties" : {
34273 "node" : {
44660702 34274 "description" : "The cluster node name.",
56122987 34275 "format" : "pve-node",
013dc89f
DM
34276 "type" : "string",
34277 "typetext" : "<string>"
56122987 34278 }
44660702 34279 }
56122987
DM
34280 },
34281 "permissions" : {
34282 "check" : [
34283 "perm",
7aacca6f 34284 "/nodes/{node}",
56122987 34285 [
7aacca6f 34286 "Sys.Audit"
56122987
DM
34287 ]
34288 ]
44660702
DM
34289 },
34290 "proxyto" : "node",
34291 "returns" : {
34292 "additionalProperties" : 0,
34293 "properties" : {
34294 "localtime" : {
34295 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
34296 "minimum" : 1297163644,
4d47f125 34297 "renderer" : "timestamp_gmt",
44660702
DM
34298 "type" : "integer"
34299 },
34300 "time" : {
34301 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
34302 "minimum" : 1297163644,
4d47f125 34303 "renderer" : "timestamp",
44660702
DM
34304 "type" : "integer"
34305 },
34306 "timezone" : {
34307 "description" : "Time zone",
34308 "type" : "string"
34309 }
34310 },
34311 "type" : "object"
7aacca6f
DM
34312 }
34313 },
34314 "PUT" : {
7aacca6f 34315 "description" : "Set time zone.",
44660702
DM
34316 "method" : "PUT",
34317 "name" : "set_timezone",
34318 "parameters" : {
34319 "additionalProperties" : 0,
34320 "properties" : {
34321 "node" : {
34322 "description" : "The cluster node name.",
34323 "format" : "pve-node",
013dc89f
DM
34324 "type" : "string",
34325 "typetext" : "<string>"
44660702
DM
34326 },
34327 "timezone" : {
34328 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
34329 "type" : "string",
34330 "typetext" : "<string>"
44660702
DM
34331 }
34332 }
34333 },
7aacca6f
DM
34334 "permissions" : {
34335 "check" : [
34336 "perm",
34337 "/nodes/{node}",
34338 [
34339 "Sys.Modify"
34340 ]
34341 ]
56122987 34342 },
7aacca6f 34343 "protected" : 1,
44660702
DM
34344 "proxyto" : "node",
34345 "returns" : {
34346 "type" : "null"
34347 }
7aacca6f
DM
34348 }
34349 },
7aacca6f 34350 "leaf" : 1,
44660702
DM
34351 "path" : "/nodes/{node}/time",
34352 "text" : "time"
7aacca6f
DM
34353 },
34354 {
34355 "info" : {
44660702
DM
34356 "GET" : {
34357 "description" : "Get list of appliances.",
34358 "method" : "GET",
34359 "name" : "aplinfo",
7aacca6f
DM
34360 "parameters" : {
34361 "additionalProperties" : 0,
34362 "properties" : {
7aacca6f 34363 "node" : {
44660702 34364 "description" : "The cluster node name.",
7aacca6f 34365 "format" : "pve-node",
013dc89f
DM
34366 "type" : "string",
34367 "typetext" : "<string>"
7aacca6f
DM
34368 }
34369 }
56122987 34370 },
7aacca6f 34371 "permissions" : {
44660702 34372 "user" : "all"
56122987 34373 },
44660702 34374 "proxyto" : "node",
7aacca6f
DM
34375 "returns" : {
34376 "items" : {
44660702
DM
34377 "properties" : {},
34378 "type" : "object"
7aacca6f
DM
34379 },
34380 "type" : "array"
44660702
DM
34381 }
34382 },
34383 "POST" : {
34384 "description" : "Download appliance templates.",
34385 "method" : "POST",
34386 "name" : "apl_download",
7aacca6f
DM
34387 "parameters" : {
34388 "additionalProperties" : 0,
34389 "properties" : {
34390 "node" : {
7aacca6f 34391 "description" : "The cluster node name.",
44660702 34392 "format" : "pve-node",
013dc89f
DM
34393 "type" : "string",
34394 "typetext" : "<string>"
44660702
DM
34395 },
34396 "storage" : {
4bd7df8b 34397 "description" : "The storage where the template will be stored",
44660702 34398 "format" : "pve-storage-id",
013dc89f
DM
34399 "type" : "string",
34400 "typetext" : "<string>"
44660702
DM
34401 },
34402 "template" : {
1e3f8156 34403 "description" : "The template which will downloaded",
44660702 34404 "maxLength" : 255,
013dc89f
DM
34405 "type" : "string",
34406 "typetext" : "<string>"
7aacca6f
DM
34407 }
34408 }
56122987 34409 },
7aacca6f 34410 "permissions" : {
44660702
DM
34411 "check" : [
34412 "perm",
34413 "/storage/{storage}",
34414 [
34415 "Datastore.AllocateTemplate"
34416 ]
34417 ]
34418 },
34419 "protected" : 1,
34420 "proxyto" : "node",
34421 "returns" : {
34422 "type" : "string"
7aacca6f
DM
34423 }
34424 }
34425 },
7aacca6f 34426 "leaf" : 1,
44660702
DM
34427 "path" : "/nodes/{node}/aplinfo",
34428 "text" : "aplinfo"
7aacca6f
DM
34429 },
34430 {
34431 "info" : {
34432 "GET" : {
44660702
DM
34433 "description" : "Gather various systems information about a node",
34434 "method" : "GET",
34435 "name" : "report",
7aacca6f 34436 "parameters" : {
44660702 34437 "additionalProperties" : 0,
7aacca6f
DM
34438 "properties" : {
34439 "node" : {
7aacca6f 34440 "description" : "The cluster node name.",
44660702 34441 "format" : "pve-node",
013dc89f
DM
34442 "type" : "string",
34443 "typetext" : "<string>"
7aacca6f 34444 }
44660702 34445 }
56122987 34446 },
7aacca6f
DM
34447 "permissions" : {
34448 "check" : [
34449 "perm",
34450 "/nodes/{node}",
34451 [
34452 "Sys.Audit"
34453 ]
34454 ]
56122987 34455 },
44660702 34456 "protected" : 1,
7aacca6f
DM
34457 "proxyto" : "node",
34458 "returns" : {
56122987 34459 "type" : "string"
7aacca6f
DM
34460 }
34461 }
34462 },
7aacca6f 34463 "leaf" : 1,
44660702
DM
34464 "path" : "/nodes/{node}/report",
34465 "text" : "report"
7aacca6f
DM
34466 },
34467 {
7aacca6f
DM
34468 "info" : {
34469 "POST" : {
44660702 34470 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 34471 "method" : "POST",
44660702 34472 "name" : "startall",
7aacca6f 34473 "parameters" : {
44660702 34474 "additionalProperties" : 0,
7aacca6f
DM
34475 "properties" : {
34476 "force" : {
44660702 34477 "description" : "force if onboot=0.",
7aacca6f 34478 "optional" : 1,
013dc89f
DM
34479 "type" : "boolean",
34480 "typetext" : "<boolean>"
7aacca6f
DM
34481 },
34482 "node" : {
7aacca6f 34483 "description" : "The cluster node name.",
44660702 34484 "format" : "pve-node",
013dc89f
DM
34485 "type" : "string",
34486 "typetext" : "<string>"
52e44c50
FG
34487 },
34488 "vms" : {
34489 "description" : "Only consider Guests with these IDs.",
34490 "format" : "pve-vmid-list",
34491 "optional" : 1,
34492 "type" : "string",
34493 "typetext" : "<string>"
7aacca6f 34494 }
44660702 34495 }
56122987 34496 },
7aacca6f
DM
34497 "permissions" : {
34498 "check" : [
34499 "perm",
34500 "/",
34501 [
34502 "VM.PowerMgmt"
34503 ]
34504 ]
44660702
DM
34505 },
34506 "protected" : 1,
34507 "proxyto" : "node",
34508 "returns" : {
34509 "type" : "string"
7aacca6f
DM
34510 }
34511 }
34512 },
44660702 34513 "leaf" : 1,
7aacca6f 34514 "path" : "/nodes/{node}/startall",
44660702 34515 "text" : "startall"
7aacca6f
DM
34516 },
34517 {
7aacca6f
DM
34518 "info" : {
34519 "POST" : {
34520 "description" : "Stop all VMs and Containers.",
44660702
DM
34521 "method" : "POST",
34522 "name" : "stopall",
7aacca6f 34523 "parameters" : {
44660702 34524 "additionalProperties" : 0,
7aacca6f
DM
34525 "properties" : {
34526 "node" : {
44660702 34527 "description" : "The cluster node name.",
7aacca6f 34528 "format" : "pve-node",
013dc89f
DM
34529 "type" : "string",
34530 "typetext" : "<string>"
52e44c50
FG
34531 },
34532 "vms" : {
34533 "description" : "Only consider Guests with these IDs.",
34534 "format" : "pve-vmid-list",
34535 "optional" : 1,
34536 "type" : "string",
34537 "typetext" : "<string>"
7aacca6f 34538 }
44660702 34539 }
56122987 34540 },
7aacca6f
DM
34541 "permissions" : {
34542 "check" : [
34543 "perm",
34544 "/",
34545 [
44660702 34546 "VM.PowerMgmt"
7aacca6f
DM
34547 ]
34548 ]
56122987 34549 },
44660702 34550 "protected" : 1,
7aacca6f 34551 "proxyto" : "node",
44660702
DM
34552 "returns" : {
34553 "type" : "string"
34554 }
34555 }
56122987 34556 },
44660702
DM
34557 "leaf" : 1,
34558 "path" : "/nodes/{node}/stopall",
34559 "text" : "stopall"
34560 },
34561 {
34562 "info" : {
34563 "POST" : {
34564 "description" : "Migrate all VMs and Containers.",
34565 "method" : "POST",
34566 "name" : "migrateall",
34567 "parameters" : {
34568 "additionalProperties" : 0,
34569 "properties" : {
34570 "maxworkers" : {
34571 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
34572 "minimum" : 1,
34573 "optional" : 1,
4bd7df8b 34574 "type" : "integer",
013dc89f 34575 "typetext" : "<integer> (1 - N)"
44660702
DM
34576 },
34577 "node" : {
34578 "description" : "The cluster node name.",
34579 "format" : "pve-node",
013dc89f
DM
34580 "type" : "string",
34581 "typetext" : "<string>"
44660702
DM
34582 },
34583 "target" : {
34584 "description" : "Target node.",
34585 "format" : "pve-node",
013dc89f
DM
34586 "type" : "string",
34587 "typetext" : "<string>"
52e44c50
FG
34588 },
34589 "vms" : {
34590 "description" : "Only consider Guests with these IDs.",
34591 "format" : "pve-vmid-list",
34592 "optional" : 1,
34593 "type" : "string",
34594 "typetext" : "<string>"
44660702
DM
34595 }
34596 }
34597 },
34598 "permissions" : {
34599 "check" : [
34600 "perm",
34601 "/",
34602 [
34603 "VM.Migrate"
34604 ]
34605 ]
34606 },
34607 "protected" : 1,
34608 "proxyto" : "node",
34609 "returns" : {
34610 "type" : "string"
34611 }
34612 }
56122987 34613 },
44660702
DM
34614 "leaf" : 1,
34615 "path" : "/nodes/{node}/migrateall",
34616 "text" : "migrateall"
4d47f125
TL
34617 },
34618 {
34619 "info" : {
34620 "GET" : {
34621 "description" : "Get the content of /etc/hosts.",
34622 "method" : "GET",
34623 "name" : "get_etc_hosts",
34624 "parameters" : {
34625 "additionalProperties" : 0,
34626 "properties" : {
34627 "node" : {
34628 "description" : "The cluster node name.",
34629 "format" : "pve-node",
34630 "type" : "string",
34631 "typetext" : "<string>"
34632 }
34633 }
34634 },
34635 "permissions" : {
34636 "check" : [
34637 "perm",
34638 "/",
34639 [
34640 "Sys.Audit"
34641 ]
34642 ]
34643 },
34644 "protected" : 1,
34645 "proxyto" : "node",
34646 "returns" : {
34647 "properties" : {
34648 "data" : {
34649 "description" : "The content of /etc/hosts.",
34650 "type" : "string"
34651 },
34652 "digest" : {
34653 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34654 "maxLength" : 40,
34655 "optional" : 1,
34656 "type" : "string"
34657 }
34658 },
34659 "type" : "object"
34660 }
34661 },
34662 "POST" : {
34663 "description" : "Write /etc/hosts.",
34664 "method" : "POST",
34665 "name" : "write_etc_hosts",
34666 "parameters" : {
34667 "additionalProperties" : 0,
34668 "properties" : {
34669 "data" : {
34670 "description" : "The target content of /etc/hosts.",
34671 "type" : "string",
34672 "typetext" : "<string>"
34673 },
34674 "digest" : {
34675 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34676 "maxLength" : 40,
34677 "optional" : 1,
34678 "type" : "string",
34679 "typetext" : "<string>"
34680 },
34681 "node" : {
34682 "description" : "The cluster node name.",
34683 "format" : "pve-node",
34684 "type" : "string",
34685 "typetext" : "<string>"
34686 }
34687 }
34688 },
34689 "permissions" : {
34690 "check" : [
34691 "perm",
34692 "/nodes/{node}",
34693 [
34694 "Sys.Modify"
34695 ]
34696 ]
34697 },
34698 "protected" : 1,
34699 "proxyto" : "node",
34700 "returns" : {
34701 "type" : "null"
34702 }
34703 }
34704 },
34705 "leaf" : 1,
34706 "path" : "/nodes/{node}/hosts",
34707 "text" : "hosts"
44660702
DM
34708 }
34709 ],
34710 "info" : {
34711 "GET" : {
34712 "description" : "Node index.",
34713 "method" : "GET",
34714 "name" : "index",
34715 "parameters" : {
34716 "additionalProperties" : 0,
34717 "properties" : {
34718 "node" : {
34719 "description" : "The cluster node name.",
34720 "format" : "pve-node",
013dc89f
DM
34721 "type" : "string",
34722 "typetext" : "<string>"
44660702
DM
34723 }
34724 }
56122987 34725 },
44660702
DM
34726 "permissions" : {
34727 "user" : "all"
56122987 34728 },
44660702
DM
34729 "returns" : {
34730 "items" : {
34731 "properties" : {},
34732 "type" : "object"
34733 },
34734 "links" : [
34735 {
34736 "href" : "{name}",
34737 "rel" : "child"
34738 }
56122987 34739 ],
44660702 34740 "type" : "array"
7aacca6f
DM
34741 }
34742 }
34743 },
44660702
DM
34744 "leaf" : 0,
34745 "path" : "/nodes/{node}",
34746 "text" : "{node}"
34747 }
34748 ],
34749 "info" : {
7aacca6f 34750 "GET" : {
44660702 34751 "description" : "Cluster node index.",
7aacca6f 34752 "method" : "GET",
44660702 34753 "name" : "index",
7aacca6f 34754 "parameters" : {
7aacca6f
DM
34755 "additionalProperties" : 0
34756 },
34757 "permissions" : {
7aacca6f
DM
34758 "user" : "all"
34759 },
44660702
DM
34760 "returns" : {
34761 "items" : {
4d47f125
TL
34762 "properties" : {
34763 "cpu" : {
34764 "description" : "CPU utilization.",
34765 "optional" : 1,
34766 "renderer" : "fraction_as_percentage",
34767 "type" : "number"
34768 },
34769 "level" : {
34770 "description" : "Support level.",
34771 "optional" : 1,
34772 "type" : "string"
34773 },
34774 "maxcpu" : {
34775 "description" : "Number of available CPUs.",
34776 "optional" : 1,
34777 "type" : "integer"
34778 },
34779 "maxmem" : {
34780 "description" : "Number of available memory in bytes.",
34781 "optional" : 1,
34782 "renderer" : "bytes",
34783 "type" : "integer"
34784 },
34785 "mem" : {
34786 "description" : "Used memory in bytes.",
34787 "optional" : 1,
34788 "renderer" : "bytes",
34789 "type" : "string"
34790 },
34791 "node" : {
34792 "description" : "The cluster node name.",
34793 "format" : "pve-node",
34794 "type" : "string"
34795 },
34796 "ssl_fingerprint" : {
34797 "description" : "The SSL fingerprint for the node certificate.",
34798 "optional" : 1,
34799 "type" : "string"
34800 },
34801 "status" : {
34802 "description" : "Node status.",
34803 "enum" : [
34804 "unknown",
34805 "online",
34806 "offline"
34807 ],
34808 "type" : "string"
34809 },
34810 "uptime" : {
34811 "description" : "Node uptime in seconds.",
34812 "optional" : 1,
34813 "renderer" : "duration",
34814 "type" : "integer"
34815 }
34816 },
44660702
DM
34817 "type" : "object"
34818 },
34819 "links" : [
34820 {
34821 "href" : "{node}",
34822 "rel" : "child"
34823 }
34824 ],
34825 "type" : "array"
34826 }
7aacca6f
DM
34827 }
34828 },
44660702
DM
34829 "leaf" : 0,
34830 "path" : "/nodes",
34831 "text" : "nodes"
34832 },
34833 {
7aacca6f
DM
34834 "children" : [
34835 {
7aacca6f 34836 "info" : {
44660702
DM
34837 "DELETE" : {
34838 "description" : "Delete storage configuration.",
34839 "method" : "DELETE",
34840 "name" : "delete",
7aacca6f
DM
34841 "parameters" : {
34842 "additionalProperties" : 0,
34843 "properties" : {
34844 "storage" : {
7aacca6f 34845 "description" : "The storage identifier.",
44660702 34846 "format" : "pve-storage-id",
013dc89f
DM
34847 "type" : "string",
34848 "typetext" : "<string>"
7aacca6f
DM
34849 }
34850 }
56122987 34851 },
7aacca6f
DM
34852 "permissions" : {
34853 "check" : [
34854 "perm",
34855 "/storage",
34856 [
34857 "Datastore.Allocate"
34858 ]
34859 ]
56122987 34860 },
44660702
DM
34861 "protected" : 1,
34862 "returns" : {
34863 "type" : "null"
34864 }
34865 },
34866 "GET" : {
34867 "description" : "Read storage configuration.",
34868 "method" : "GET",
34869 "name" : "read",
7aacca6f
DM
34870 "parameters" : {
34871 "additionalProperties" : 0,
34872 "properties" : {
34873 "storage" : {
44660702 34874 "description" : "The storage identifier.",
7aacca6f 34875 "format" : "pve-storage-id",
013dc89f
DM
34876 "type" : "string",
34877 "typetext" : "<string>"
7aacca6f
DM
34878 }
34879 }
34880 },
44660702
DM
34881 "permissions" : {
34882 "check" : [
34883 "perm",
34884 "/storage/{storage}",
34885 [
34886 "Datastore.Allocate"
34887 ]
34888 ]
34889 },
5da3d723
TL
34890 "returns" : {
34891 "type" : "object"
34892 }
7aacca6f
DM
34893 },
34894 "PUT" : {
44660702
DM
34895 "description" : "Update storage configuration.",
34896 "method" : "PUT",
34897 "name" : "update",
34898 "parameters" : {
34899 "additionalProperties" : 0,
34900 "properties" : {
34901 "blocksize" : {
34902 "description" : "block size",
7aacca6f 34903 "optional" : 1,
013dc89f
DM
34904 "type" : "string",
34905 "typetext" : "<string>"
7aacca6f 34906 },
27a7acb2
DM
34907 "bwlimit" : {
34908 "description" : "Set bandwidth/io limits various operations.",
34909 "format" : {
34910 "clone" : {
95895385 34911 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
34912 "format_description" : "LIMIT",
34913 "minimum" : "0",
34914 "optional" : 1,
34915 "type" : "number"
34916 },
34917 "default" : {
95895385 34918 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
34919 "format_description" : "LIMIT",
34920 "minimum" : "0",
34921 "optional" : 1,
34922 "type" : "number"
34923 },
34924 "migration" : {
95895385 34925 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
34926 "format_description" : "LIMIT",
34927 "minimum" : "0",
34928 "optional" : 1,
34929 "type" : "number"
34930 },
34931 "move" : {
95895385 34932 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
34933 "format_description" : "LIMIT",
34934 "minimum" : "0",
34935 "optional" : 1,
34936 "type" : "number"
34937 },
34938 "restore" : {
95895385 34939 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
34940 "format_description" : "LIMIT",
34941 "minimum" : "0",
34942 "optional" : 1,
34943 "type" : "number"
34944 }
34945 },
34946 "optional" : 1,
34947 "type" : "string",
34948 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
34949 },
44660702
DM
34950 "comstar_hg" : {
34951 "description" : "host group for comstar views",
34952 "optional" : 1,
013dc89f
DM
34953 "type" : "string",
34954 "typetext" : "<string>"
7aacca6f 34955 },
44660702
DM
34956 "comstar_tg" : {
34957 "description" : "target group for comstar views",
7aacca6f 34958 "optional" : 1,
013dc89f
DM
34959 "type" : "string",
34960 "typetext" : "<string>"
7aacca6f 34961 },
44660702
DM
34962 "content" : {
34963 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
34964 "format" : "pve-storage-content-list",
7aacca6f 34965 "optional" : 1,
013dc89f
DM
34966 "type" : "string",
34967 "typetext" : "<string>"
7aacca6f 34968 },
44660702
DM
34969 "delete" : {
34970 "description" : "A list of settings you want to delete.",
34971 "format" : "pve-configid-list",
34972 "maxLength" : 4096,
7aacca6f 34973 "optional" : 1,
013dc89f
DM
34974 "type" : "string",
34975 "typetext" : "<string>"
7aacca6f
DM
34976 },
34977 "digest" : {
44660702 34978 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 34979 "maxLength" : 40,
7aacca6f 34980 "optional" : 1,
013dc89f
DM
34981 "type" : "string",
34982 "typetext" : "<string>"
7aacca6f 34983 },
44660702
DM
34984 "disable" : {
34985 "description" : "Flag to disable the storage.",
34986 "optional" : 1,
013dc89f
DM
34987 "type" : "boolean",
34988 "typetext" : "<boolean>"
7aacca6f 34989 },
27a7acb2
DM
34990 "domain" : {
34991 "description" : "CIFS domain.",
34992 "maxLength" : 256,
34993 "optional" : 1,
34994 "type" : "string",
34995 "typetext" : "<string>"
34996 },
7aacca6f
DM
34997 "format" : {
34998 "description" : "Default image format.",
44660702 34999 "format" : "pve-storage-format",
7aacca6f 35000 "optional" : 1,
013dc89f
DM
35001 "type" : "string",
35002 "typetext" : "<string>"
7aacca6f 35003 },
5da3d723
TL
35004 "fuse" : {
35005 "description" : "Mount CephFS through FUSE.",
35006 "optional" : 1,
35007 "type" : "boolean",
35008 "typetext" : "<boolean>"
35009 },
2c0dde61
DM
35010 "is_mountpoint" : {
35011 "default" : "no",
2489d6df 35012 "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 35013 "optional" : 1,
2489d6df
WB
35014 "type" : "string",
35015 "typetext" : "<string>"
2c0dde61 35016 },
44660702 35017 "krbd" : {
e2d681b3 35018 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 35019 "optional" : 1,
013dc89f
DM
35020 "type" : "boolean",
35021 "typetext" : "<boolean>"
7aacca6f 35022 },
4d47f125
TL
35023 "lio_tpg" : {
35024 "description" : "target portal group for Linux LIO targets",
35025 "optional" : 1,
35026 "type" : "string",
35027 "typetext" : "<string>"
35028 },
44660702
DM
35029 "maxfiles" : {
35030 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
35031 "minimum" : 0,
35032 "optional" : 1,
4bd7df8b 35033 "type" : "integer",
013dc89f 35034 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
35035 },
35036 "mkdir" : {
35037 "default" : "yes",
35038 "description" : "Create the directory if it doesn't exist.",
35039 "optional" : 1,
013dc89f
DM
35040 "type" : "boolean",
35041 "typetext" : "<boolean>"
7aacca6f 35042 },
2489d6df
WB
35043 "monhost" : {
35044 "description" : "IP addresses of monitors (for external clusters).",
35045 "format" : "pve-storage-portal-dns-list",
35046 "optional" : 1,
35047 "type" : "string",
35048 "typetext" : "<string>"
35049 },
7aacca6f 35050 "nodes" : {
44660702 35051 "description" : "List of cluster node names.",
7aacca6f
DM
35052 "format" : "pve-node-list",
35053 "optional" : 1,
013dc89f
DM
35054 "type" : "string",
35055 "typetext" : "<string>"
7aacca6f 35056 },
44660702
DM
35057 "nowritecache" : {
35058 "description" : "disable write caching on the target",
7aacca6f 35059 "optional" : 1,
013dc89f
DM
35060 "type" : "boolean",
35061 "typetext" : "<boolean>"
7aacca6f
DM
35062 },
35063 "options" : {
7aacca6f 35064 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
35065 "format" : "pve-storage-options",
35066 "optional" : 1,
013dc89f
DM
35067 "type" : "string",
35068 "typetext" : "<string>"
44660702 35069 },
27a7acb2
DM
35070 "password" : {
35071 "description" : "Password for CIFS share.",
35072 "maxLength" : 256,
35073 "optional" : 1,
35074 "type" : "string",
35075 "typetext" : "<string>"
35076 },
44660702
DM
35077 "pool" : {
35078 "description" : "Pool.",
35079 "optional" : 1,
013dc89f
DM
35080 "type" : "string",
35081 "typetext" : "<string>"
44660702
DM
35082 },
35083 "redundancy" : {
35084 "default" : 2,
35085 "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.",
35086 "maximum" : 16,
35087 "minimum" : 1,
35088 "optional" : 1,
4bd7df8b 35089 "type" : "integer",
013dc89f 35090 "typetext" : "<integer> (1 - 16)"
44660702
DM
35091 },
35092 "saferemove" : {
35093 "description" : "Zero-out data when removing LVs.",
35094 "optional" : 1,
013dc89f
DM
35095 "type" : "boolean",
35096 "typetext" : "<boolean>"
7aacca6f
DM
35097 },
35098 "saferemove_throughput" : {
44660702 35099 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 35100 "optional" : 1,
013dc89f
DM
35101 "type" : "string",
35102 "typetext" : "<string>"
7aacca6f 35103 },
44660702
DM
35104 "server" : {
35105 "description" : "Server IP or DNS name.",
35106 "format" : "pve-storage-server",
7aacca6f 35107 "optional" : 1,
013dc89f
DM
35108 "type" : "string",
35109 "typetext" : "<string>"
7aacca6f 35110 },
44660702
DM
35111 "server2" : {
35112 "description" : "Backup volfile server IP or DNS name.",
35113 "format" : "pve-storage-server",
7aacca6f 35114 "optional" : 1,
44660702 35115 "requires" : "server",
013dc89f
DM
35116 "type" : "string",
35117 "typetext" : "<string>"
44660702
DM
35118 },
35119 "shared" : {
35120 "description" : "Mark storage as shared.",
35121 "optional" : 1,
013dc89f
DM
35122 "type" : "boolean",
35123 "typetext" : "<boolean>"
44660702 35124 },
27a7acb2 35125 "smbversion" : {
5da3d723
TL
35126 "description" : "SMB protocol version",
35127 "enum" : [
35128 "2.0",
35129 "2.1",
35130 "3.0"
35131 ],
27a7acb2 35132 "optional" : 1,
5da3d723 35133 "type" : "string"
27a7acb2 35134 },
44660702
DM
35135 "sparse" : {
35136 "description" : "use sparse volumes",
35137 "optional" : 1,
013dc89f
DM
35138 "type" : "boolean",
35139 "typetext" : "<boolean>"
44660702
DM
35140 },
35141 "storage" : {
35142 "description" : "The storage identifier.",
35143 "format" : "pve-storage-id",
013dc89f
DM
35144 "type" : "string",
35145 "typetext" : "<string>"
44660702 35146 },
5da3d723
TL
35147 "subdir" : {
35148 "description" : "Subdir to mount.",
35149 "format" : "pve-storage-path",
35150 "optional" : 1,
35151 "type" : "string",
35152 "typetext" : "<string>"
35153 },
4bd7df8b
DM
35154 "tagged_only" : {
35155 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
35156 "optional" : 1,
013dc89f
DM
35157 "type" : "boolean",
35158 "typetext" : "<boolean>"
4bd7df8b 35159 },
44660702
DM
35160 "transport" : {
35161 "description" : "Gluster transport: tcp or rdma",
35162 "enum" : [
35163 "tcp",
35164 "rdma",
35165 "unix"
35166 ],
35167 "optional" : 1,
35168 "type" : "string"
7aacca6f
DM
35169 },
35170 "username" : {
35171 "description" : "RBD Id.",
44660702 35172 "optional" : 1,
013dc89f
DM
35173 "type" : "string",
35174 "typetext" : "<string>"
7aacca6f 35175 }
44660702
DM
35176 },
35177 "type" : "object"
35178 },
35179 "permissions" : {
35180 "check" : [
35181 "perm",
35182 "/storage",
35183 [
35184 "Datastore.Allocate"
35185 ]
35186 ]
35187 },
35188 "protected" : 1,
35189 "returns" : {
35190 "type" : "null"
35191 }
35192 }
35193 },
35194 "leaf" : 1,
35195 "path" : "/storage/{storage}",
35196 "text" : "{storage}"
35197 }
35198 ],
35199 "info" : {
35200 "GET" : {
35201 "description" : "Storage index.",
35202 "method" : "GET",
35203 "name" : "index",
35204 "parameters" : {
35205 "additionalProperties" : 0,
35206 "properties" : {
35207 "type" : {
35208 "description" : "Only list storage of specific type",
35209 "enum" : [
5da3d723 35210 "cephfs",
27a7acb2 35211 "cifs",
44660702
DM
35212 "dir",
35213 "drbd",
35214 "glusterfs",
35215 "iscsi",
35216 "iscsidirect",
35217 "lvm",
35218 "lvmthin",
35219 "nfs",
35220 "rbd",
44660702
DM
35221 "zfs",
35222 "zfspool"
35223 ],
35224 "optional" : 1,
35225 "type" : "string"
35226 }
35227 }
35228 },
35229 "permissions" : {
35230 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
35231 "user" : "all"
35232 },
35233 "returns" : {
35234 "items" : {
35235 "properties" : {
35236 "storage" : {
35237 "type" : "string"
7aacca6f 35238 }
56122987 35239 },
44660702
DM
35240 "type" : "object"
35241 },
35242 "links" : [
35243 {
35244 "href" : "{storage}",
35245 "rel" : "child"
35246 }
35247 ],
35248 "type" : "array"
35249 }
35250 },
35251 "POST" : {
35252 "description" : "Create a new storage.",
35253 "method" : "POST",
35254 "name" : "create",
35255 "parameters" : {
35256 "additionalProperties" : 0,
35257 "properties" : {
35258 "authsupported" : {
35259 "description" : "Authsupported.",
35260 "optional" : 1,
013dc89f
DM
35261 "type" : "string",
35262 "typetext" : "<string>"
44660702
DM
35263 },
35264 "base" : {
35265 "description" : "Base volume. This volume is automatically activated.",
35266 "format" : "pve-volume-id",
35267 "optional" : 1,
013dc89f
DM
35268 "type" : "string",
35269 "typetext" : "<string>"
44660702
DM
35270 },
35271 "blocksize" : {
35272 "description" : "block size",
35273 "optional" : 1,
013dc89f
DM
35274 "type" : "string",
35275 "typetext" : "<string>"
44660702 35276 },
27a7acb2
DM
35277 "bwlimit" : {
35278 "description" : "Set bandwidth/io limits various operations.",
35279 "format" : {
35280 "clone" : {
95895385 35281 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
35282 "format_description" : "LIMIT",
35283 "minimum" : "0",
35284 "optional" : 1,
35285 "type" : "number"
35286 },
35287 "default" : {
95895385 35288 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
35289 "format_description" : "LIMIT",
35290 "minimum" : "0",
35291 "optional" : 1,
35292 "type" : "number"
35293 },
35294 "migration" : {
95895385 35295 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
35296 "format_description" : "LIMIT",
35297 "minimum" : "0",
35298 "optional" : 1,
35299 "type" : "number"
35300 },
35301 "move" : {
95895385 35302 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
35303 "format_description" : "LIMIT",
35304 "minimum" : "0",
35305 "optional" : 1,
35306 "type" : "number"
35307 },
35308 "restore" : {
95895385 35309 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
35310 "format_description" : "LIMIT",
35311 "minimum" : "0",
35312 "optional" : 1,
35313 "type" : "number"
35314 }
35315 },
35316 "optional" : 1,
35317 "type" : "string",
35318 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
35319 },
44660702
DM
35320 "comstar_hg" : {
35321 "description" : "host group for comstar views",
35322 "optional" : 1,
013dc89f
DM
35323 "type" : "string",
35324 "typetext" : "<string>"
44660702
DM
35325 },
35326 "comstar_tg" : {
35327 "description" : "target group for comstar views",
35328 "optional" : 1,
013dc89f
DM
35329 "type" : "string",
35330 "typetext" : "<string>"
44660702
DM
35331 },
35332 "content" : {
35333 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
35334 "format" : "pve-storage-content-list",
35335 "optional" : 1,
013dc89f
DM
35336 "type" : "string",
35337 "typetext" : "<string>"
44660702
DM
35338 },
35339 "disable" : {
35340 "description" : "Flag to disable the storage.",
35341 "optional" : 1,
013dc89f
DM
35342 "type" : "boolean",
35343 "typetext" : "<boolean>"
44660702 35344 },
27a7acb2
DM
35345 "domain" : {
35346 "description" : "CIFS domain.",
35347 "maxLength" : 256,
35348 "optional" : 1,
35349 "type" : "string",
35350 "typetext" : "<string>"
35351 },
44660702
DM
35352 "export" : {
35353 "description" : "NFS export path.",
35354 "format" : "pve-storage-path",
35355 "optional" : 1,
013dc89f
DM
35356 "type" : "string",
35357 "typetext" : "<string>"
44660702
DM
35358 },
35359 "format" : {
35360 "description" : "Default image format.",
35361 "format" : "pve-storage-format",
35362 "optional" : 1,
013dc89f
DM
35363 "type" : "string",
35364 "typetext" : "<string>"
44660702 35365 },
5da3d723
TL
35366 "fuse" : {
35367 "description" : "Mount CephFS through FUSE.",
35368 "optional" : 1,
35369 "type" : "boolean",
35370 "typetext" : "<boolean>"
35371 },
2c0dde61
DM
35372 "is_mountpoint" : {
35373 "default" : "no",
2489d6df 35374 "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 35375 "optional" : 1,
2489d6df
WB
35376 "type" : "string",
35377 "typetext" : "<string>"
2c0dde61 35378 },
44660702
DM
35379 "iscsiprovider" : {
35380 "description" : "iscsi provider",
35381 "optional" : 1,
013dc89f
DM
35382 "type" : "string",
35383 "typetext" : "<string>"
44660702
DM
35384 },
35385 "krbd" : {
e2d681b3 35386 "description" : "Always access rbd through krbd kernel module.",
44660702 35387 "optional" : 1,
013dc89f
DM
35388 "type" : "boolean",
35389 "typetext" : "<boolean>"
56122987 35390 },
4d47f125
TL
35391 "lio_tpg" : {
35392 "description" : "target portal group for Linux LIO targets",
35393 "optional" : 1,
35394 "type" : "string",
35395 "typetext" : "<string>"
35396 },
44660702
DM
35397 "maxfiles" : {
35398 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
35399 "minimum" : 0,
35400 "optional" : 1,
4bd7df8b 35401 "type" : "integer",
013dc89f 35402 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
35403 },
35404 "mkdir" : {
35405 "default" : "yes",
35406 "description" : "Create the directory if it doesn't exist.",
35407 "optional" : 1,
013dc89f
DM
35408 "type" : "boolean",
35409 "typetext" : "<boolean>"
7aacca6f 35410 },
44660702 35411 "monhost" : {
2489d6df 35412 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 35413 "format" : "pve-storage-portal-dns-list",
44660702 35414 "optional" : 1,
013dc89f
DM
35415 "type" : "string",
35416 "typetext" : "<string>"
7aacca6f 35417 },
44660702
DM
35418 "nodes" : {
35419 "description" : "List of cluster node names.",
35420 "format" : "pve-node-list",
35421 "optional" : 1,
013dc89f
DM
35422 "type" : "string",
35423 "typetext" : "<string>"
7aacca6f 35424 },
44660702
DM
35425 "nowritecache" : {
35426 "description" : "disable write caching on the target",
35427 "optional" : 1,
013dc89f
DM
35428 "type" : "boolean",
35429 "typetext" : "<boolean>"
44660702
DM
35430 },
35431 "options" : {
35432 "description" : "NFS mount options (see 'man nfs')",
35433 "format" : "pve-storage-options",
35434 "optional" : 1,
013dc89f
DM
35435 "type" : "string",
35436 "typetext" : "<string>"
44660702 35437 },
27a7acb2
DM
35438 "password" : {
35439 "description" : "Password for CIFS share.",
35440 "maxLength" : 256,
35441 "optional" : 1,
35442 "type" : "string",
35443 "typetext" : "<string>"
35444 },
44660702
DM
35445 "path" : {
35446 "description" : "File system path.",
35447 "format" : "pve-storage-path",
35448 "optional" : 1,
013dc89f
DM
35449 "type" : "string",
35450 "typetext" : "<string>"
44660702
DM
35451 },
35452 "pool" : {
35453 "description" : "Pool.",
35454 "optional" : 1,
013dc89f
DM
35455 "type" : "string",
35456 "typetext" : "<string>"
44660702
DM
35457 },
35458 "portal" : {
35459 "description" : "iSCSI portal (IP or DNS name with optional port).",
35460 "format" : "pve-storage-portal-dns",
35461 "optional" : 1,
013dc89f
DM
35462 "type" : "string",
35463 "typetext" : "<string>"
44660702
DM
35464 },
35465 "redundancy" : {
35466 "default" : 2,
35467 "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.",
35468 "maximum" : 16,
35469 "minimum" : 1,
35470 "optional" : 1,
4bd7df8b 35471 "type" : "integer",
013dc89f 35472 "typetext" : "<integer> (1 - 16)"
44660702
DM
35473 },
35474 "saferemove" : {
35475 "description" : "Zero-out data when removing LVs.",
35476 "optional" : 1,
013dc89f
DM
35477 "type" : "boolean",
35478 "typetext" : "<boolean>"
44660702
DM
35479 },
35480 "saferemove_throughput" : {
35481 "description" : "Wipe throughput (cstream -t parameter value).",
35482 "optional" : 1,
013dc89f
DM
35483 "type" : "string",
35484 "typetext" : "<string>"
44660702
DM
35485 },
35486 "server" : {
35487 "description" : "Server IP or DNS name.",
35488 "format" : "pve-storage-server",
35489 "optional" : 1,
013dc89f
DM
35490 "type" : "string",
35491 "typetext" : "<string>"
44660702
DM
35492 },
35493 "server2" : {
35494 "description" : "Backup volfile server IP or DNS name.",
35495 "format" : "pve-storage-server",
35496 "optional" : 1,
35497 "requires" : "server",
013dc89f
DM
35498 "type" : "string",
35499 "typetext" : "<string>"
44660702 35500 },
27a7acb2
DM
35501 "share" : {
35502 "description" : "CIFS share.",
35503 "optional" : 1,
35504 "type" : "string",
35505 "typetext" : "<string>"
35506 },
44660702
DM
35507 "shared" : {
35508 "description" : "Mark storage as shared.",
35509 "optional" : 1,
013dc89f
DM
35510 "type" : "boolean",
35511 "typetext" : "<boolean>"
44660702 35512 },
27a7acb2 35513 "smbversion" : {
5da3d723
TL
35514 "description" : "SMB protocol version",
35515 "enum" : [
35516 "2.0",
35517 "2.1",
35518 "3.0"
35519 ],
27a7acb2 35520 "optional" : 1,
5da3d723 35521 "type" : "string"
27a7acb2 35522 },
44660702
DM
35523 "sparse" : {
35524 "description" : "use sparse volumes",
35525 "optional" : 1,
013dc89f
DM
35526 "type" : "boolean",
35527 "typetext" : "<boolean>"
44660702
DM
35528 },
35529 "storage" : {
35530 "description" : "The storage identifier.",
35531 "format" : "pve-storage-id",
013dc89f
DM
35532 "type" : "string",
35533 "typetext" : "<string>"
44660702 35534 },
5da3d723
TL
35535 "subdir" : {
35536 "description" : "Subdir to mount.",
35537 "format" : "pve-storage-path",
35538 "optional" : 1,
35539 "type" : "string",
35540 "typetext" : "<string>"
35541 },
4bd7df8b
DM
35542 "tagged_only" : {
35543 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
35544 "optional" : 1,
013dc89f
DM
35545 "type" : "boolean",
35546 "typetext" : "<boolean>"
4bd7df8b 35547 },
44660702
DM
35548 "target" : {
35549 "description" : "iSCSI target.",
35550 "optional" : 1,
013dc89f
DM
35551 "type" : "string",
35552 "typetext" : "<string>"
44660702
DM
35553 },
35554 "thinpool" : {
35555 "description" : "LVM thin pool LV name.",
35556 "format" : "pve-storage-vgname",
35557 "optional" : 1,
013dc89f
DM
35558 "type" : "string",
35559 "typetext" : "<string>"
44660702
DM
35560 },
35561 "transport" : {
35562 "description" : "Gluster transport: tcp or rdma",
35563 "enum" : [
35564 "tcp",
35565 "rdma",
35566 "unix"
7aacca6f 35567 ],
44660702
DM
35568 "optional" : 1,
35569 "type" : "string"
56122987 35570 },
44660702
DM
35571 "type" : {
35572 "description" : "Storage type.",
35573 "enum" : [
5da3d723 35574 "cephfs",
27a7acb2 35575 "cifs",
44660702
DM
35576 "dir",
35577 "drbd",
35578 "glusterfs",
35579 "iscsi",
35580 "iscsidirect",
35581 "lvm",
35582 "lvmthin",
35583 "nfs",
35584 "rbd",
44660702
DM
35585 "zfs",
35586 "zfspool"
35587 ],
35588 "type" : "string"
56122987 35589 },
44660702
DM
35590 "username" : {
35591 "description" : "RBD Id.",
35592 "optional" : 1,
013dc89f
DM
35593 "type" : "string",
35594 "typetext" : "<string>"
7aacca6f 35595 },
44660702
DM
35596 "vgname" : {
35597 "description" : "Volume group name.",
35598 "format" : "pve-storage-vgname",
35599 "optional" : 1,
013dc89f
DM
35600 "type" : "string",
35601 "typetext" : "<string>"
44660702
DM
35602 },
35603 "volume" : {
35604 "description" : "Glusterfs Volume.",
35605 "optional" : 1,
013dc89f
DM
35606 "type" : "string",
35607 "typetext" : "<string>"
44660702
DM
35608 }
35609 },
35610 "type" : "object"
35611 },
35612 "permissions" : {
35613 "check" : [
35614 "perm",
35615 "/storage",
35616 [
35617 "Datastore.Allocate"
35618 ]
35619 ]
56122987 35620 },
44660702
DM
35621 "protected" : 1,
35622 "returns" : {
35623 "type" : "null"
35624 }
35625 }
35626 },
35627 "leaf" : 0,
35628 "path" : "/storage",
35629 "text" : "storage"
35630 },
35631 {
35632 "children" : [
35633 {
56122987
DM
35634 "children" : [
35635 {
bb4c8cf8
TL
35636 "children" : [
35637 {
35638 "info" : {
35639 "GET" : {
35640 "description" : "Get user TFA types (Personal and Realm).",
35641 "method" : "GET",
35642 "name" : "read_user_tfa_type",
35643 "parameters" : {
35644 "additionalProperties" : 0,
35645 "properties" : {
35646 "userid" : {
35647 "description" : "User ID",
35648 "format" : "pve-userid",
35649 "maxLength" : 64,
35650 "type" : "string",
35651 "typetext" : "<string>"
35652 }
35653 }
35654 },
35655 "permissions" : {
35656 "check" : [
35657 "or",
35658 [
35659 "userid-param",
35660 "self"
35661 ],
35662 [
35663 "userid-group",
35664 [
35665 "User.Modify",
35666 "Sys.Audit"
35667 ]
35668 ]
35669 ]
35670 },
35671 "protected" : 1,
35672 "returns" : {
35673 "additionalProperties" : 0,
35674 "properties" : {
35675 "realm" : {
35676 "description" : "The type of TFA the users realm has set, if any.",
35677 "enum" : [
35678 "oath",
35679 "yubico"
35680 ],
35681 "optional" : 1,
35682 "type" : "string"
35683 },
35684 "user" : {
35685 "description" : "The type of TFA the user has set, if any.",
35686 "enum" : [
35687 "oath",
35688 "u2f"
35689 ],
35690 "optional" : 1,
35691 "type" : "string"
35692 }
35693 },
35694 "type" : "object"
35695 }
35696 }
35697 },
35698 "leaf" : 1,
35699 "path" : "/access/users/{userid}/tfa",
35700 "text" : "tfa"
35701 }
35702 ],
56122987 35703 "info" : {
44660702
DM
35704 "DELETE" : {
35705 "description" : "Delete user.",
35706 "method" : "DELETE",
35707 "name" : "delete_user",
56122987 35708 "parameters" : {
7aacca6f 35709 "additionalProperties" : 0,
56122987 35710 "properties" : {
56122987 35711 "userid" : {
56122987
DM
35712 "description" : "User ID",
35713 "format" : "pve-userid",
44660702 35714 "maxLength" : 64,
013dc89f
DM
35715 "type" : "string",
35716 "typetext" : "<string>"
56122987 35717 }
7aacca6f 35718 }
56122987 35719 },
56122987
DM
35720 "permissions" : {
35721 "check" : [
44660702 35722 "and",
56122987 35723 [
44660702
DM
35724 "userid-param",
35725 "Realm.AllocateUser"
56122987 35726 ],
44660702
DM
35727 [
35728 "userid-group",
35729 [
35730 "User.Modify"
35731 ]
35732 ]
56122987 35733 ]
7aacca6f 35734 },
44660702 35735 "protected" : 1,
56122987
DM
35736 "returns" : {
35737 "type" : "null"
44660702 35738 }
7aacca6f 35739 },
44660702
DM
35740 "GET" : {
35741 "description" : "Get user configuration.",
35742 "method" : "GET",
35743 "name" : "read_user",
56122987
DM
35744 "parameters" : {
35745 "additionalProperties" : 0,
35746 "properties" : {
35747 "userid" : {
44660702 35748 "description" : "User ID",
56122987 35749 "format" : "pve-userid",
44660702 35750 "maxLength" : 64,
013dc89f
DM
35751 "type" : "string",
35752 "typetext" : "<string>"
56122987
DM
35753 }
35754 }
35755 },
56122987
DM
35756 "permissions" : {
35757 "check" : [
44660702 35758 "userid-group",
56122987 35759 [
44660702
DM
35760 "User.Modify",
35761 "Sys.Audit"
56122987
DM
35762 ]
35763 ]
35764 },
56122987 35765 "returns" : {
7aacca6f 35766 "additionalProperties" : 0,
56122987 35767 "properties" : {
44660702
DM
35768 "comment" : {
35769 "optional" : 1,
35770 "type" : "string"
56122987 35771 },
44660702 35772 "email" : {
e2d681b3 35773 "format" : "email-opt",
44660702
DM
35774 "optional" : 1,
35775 "type" : "string"
7aacca6f
DM
35776 },
35777 "enable" : {
e2d681b3
TL
35778 "default" : 1,
35779 "description" : "Enable the account (default). You can set this to '0' to disable the account",
35780 "optional" : 1,
7aacca6f
DM
35781 "type" : "boolean"
35782 },
44660702 35783 "expire" : {
e2d681b3
TL
35784 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35785 "minimum" : 0,
44660702
DM
35786 "optional" : 1,
35787 "type" : "integer"
35788 },
35789 "firstname" : {
56122987
DM
35790 "optional" : 1,
35791 "type" : "string"
35792 },
44660702
DM
35793 "groups" : {
35794 "type" : "array"
56122987 35795 },
44660702 35796 "keys" : {
e2d681b3 35797 "description" : "Keys for two factor auth (yubico).",
44660702
DM
35798 "optional" : 1,
35799 "type" : "string"
7aacca6f 35800 },
44660702
DM
35801 "lastname" : {
35802 "optional" : 1,
35803 "type" : "string"
56122987 35804 }
e2d681b3
TL
35805 },
35806 "type" : "object"
44660702
DM
35807 }
35808 },
35809 "PUT" : {
35810 "description" : "Update user configuration.",
35811 "method" : "PUT",
35812 "name" : "update_user",
56122987 35813 "parameters" : {
44660702 35814 "additionalProperties" : 0,
56122987 35815 "properties" : {
44660702
DM
35816 "append" : {
35817 "optional" : 1,
35818 "requires" : "groups",
013dc89f
DM
35819 "type" : "boolean",
35820 "typetext" : "<boolean>"
44660702
DM
35821 },
35822 "comment" : {
35823 "optional" : 1,
013dc89f
DM
35824 "type" : "string",
35825 "typetext" : "<string>"
44660702
DM
35826 },
35827 "email" : {
35828 "format" : "email-opt",
35829 "optional" : 1,
013dc89f
DM
35830 "type" : "string",
35831 "typetext" : "<string>"
44660702
DM
35832 },
35833 "enable" : {
e2d681b3
TL
35834 "default" : 1,
35835 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 35836 "optional" : 1,
013dc89f
DM
35837 "type" : "boolean",
35838 "typetext" : "<boolean>"
44660702
DM
35839 },
35840 "expire" : {
35841 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35842 "minimum" : 0,
35843 "optional" : 1,
4bd7df8b 35844 "type" : "integer",
013dc89f 35845 "typetext" : "<integer> (0 - N)"
44660702
DM
35846 },
35847 "firstname" : {
35848 "optional" : 1,
013dc89f
DM
35849 "type" : "string",
35850 "typetext" : "<string>"
44660702
DM
35851 },
35852 "groups" : {
35853 "format" : "pve-groupid-list",
35854 "optional" : 1,
013dc89f
DM
35855 "type" : "string",
35856 "typetext" : "<string>"
44660702
DM
35857 },
35858 "keys" : {
35859 "description" : "Keys for two factor auth (yubico).",
35860 "optional" : 1,
013dc89f
DM
35861 "type" : "string",
35862 "typetext" : "<string>"
44660702
DM
35863 },
35864 "lastname" : {
35865 "optional" : 1,
013dc89f
DM
35866 "type" : "string",
35867 "typetext" : "<string>"
44660702 35868 },
56122987 35869 "userid" : {
56122987
DM
35870 "description" : "User ID",
35871 "format" : "pve-userid",
44660702 35872 "maxLength" : 64,
013dc89f
DM
35873 "type" : "string",
35874 "typetext" : "<string>"
56122987 35875 }
44660702 35876 }
56122987 35877 },
56122987
DM
35878 "permissions" : {
35879 "check" : [
35880 "userid-group",
35881 [
44660702
DM
35882 "User.Modify"
35883 ],
35884 "groups_param",
35885 1
56122987
DM
35886 ]
35887 },
44660702
DM
35888 "protected" : 1,
35889 "returns" : {
35890 "type" : "null"
35891 }
56122987
DM
35892 }
35893 },
bb4c8cf8 35894 "leaf" : 0,
44660702 35895 "path" : "/access/users/{userid}",
7aacca6f 35896 "text" : "{userid}"
56122987 35897 }
7aacca6f 35898 ],
56122987 35899 "info" : {
7aacca6f 35900 "GET" : {
44660702
DM
35901 "description" : "User index.",
35902 "method" : "GET",
7aacca6f 35903 "name" : "index",
56122987 35904 "parameters" : {
44660702
DM
35905 "additionalProperties" : 0,
35906 "properties" : {
35907 "enabled" : {
35908 "description" : "Optional filter for enable property.",
35909 "optional" : 1,
013dc89f
DM
35910 "type" : "boolean",
35911 "typetext" : "<boolean>"
44660702
DM
35912 }
35913 }
35914 },
35915 "permissions" : {
35916 "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.",
35917 "user" : "all"
56122987 35918 },
7aacca6f 35919 "returns" : {
7aacca6f
DM
35920 "items" : {
35921 "properties" : {
e2d681b3
TL
35922 "comment" : {
35923 "optional" : 1,
35924 "type" : "string"
35925 },
35926 "email" : {
35927 "format" : "email-opt",
35928 "optional" : 1,
35929 "type" : "string"
35930 },
35931 "enable" : {
35932 "default" : 1,
35933 "description" : "Enable the account (default). You can set this to '0' to disable the account",
35934 "optional" : 1,
35935 "type" : "boolean"
35936 },
35937 "expire" : {
35938 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
35939 "minimum" : 0,
35940 "optional" : 1,
35941 "type" : "integer"
35942 },
35943 "firstname" : {
35944 "optional" : 1,
35945 "type" : "string"
35946 },
35947 "keys" : {
35948 "description" : "Keys for two factor auth (yubico).",
35949 "optional" : 1,
35950 "type" : "string"
35951 },
35952 "lastname" : {
35953 "optional" : 1,
35954 "type" : "string"
35955 },
44660702 35956 "userid" : {
e2d681b3
TL
35957 "description" : "User ID",
35958 "format" : "pve-userid",
35959 "maxLength" : 64,
7aacca6f
DM
35960 "type" : "string"
35961 }
35962 },
35963 "type" : "object"
35964 },
44660702
DM
35965 "links" : [
35966 {
35967 "href" : "{userid}",
35968 "rel" : "child"
35969 }
35970 ],
7aacca6f
DM
35971 "type" : "array"
35972 }
35973 },
35974 "POST" : {
44660702 35975 "description" : "Create new user.",
7aacca6f 35976 "method" : "POST",
44660702 35977 "name" : "create_user",
56122987 35978 "parameters" : {
7aacca6f
DM
35979 "additionalProperties" : 0,
35980 "properties" : {
44660702
DM
35981 "comment" : {
35982 "optional" : 1,
013dc89f
DM
35983 "type" : "string",
35984 "typetext" : "<string>"
7aacca6f 35985 },
44660702
DM
35986 "email" : {
35987 "format" : "email-opt",
35988 "optional" : 1,
013dc89f
DM
35989 "type" : "string",
35990 "typetext" : "<string>"
44660702
DM
35991 },
35992 "enable" : {
35993 "default" : 1,
e2d681b3 35994 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 35995 "optional" : 1,
013dc89f
DM
35996 "type" : "boolean",
35997 "typetext" : "<boolean>"
44660702
DM
35998 },
35999 "expire" : {
36000 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
36001 "minimum" : 0,
36002 "optional" : 1,
4bd7df8b 36003 "type" : "integer",
013dc89f 36004 "typetext" : "<integer> (0 - N)"
44660702
DM
36005 },
36006 "firstname" : {
36007 "optional" : 1,
013dc89f
DM
36008 "type" : "string",
36009 "typetext" : "<string>"
44660702
DM
36010 },
36011 "groups" : {
36012 "format" : "pve-groupid-list",
36013 "optional" : 1,
013dc89f
DM
36014 "type" : "string",
36015 "typetext" : "<string>"
44660702
DM
36016 },
36017 "keys" : {
36018 "description" : "Keys for two factor auth (yubico).",
36019 "optional" : 1,
013dc89f
DM
36020 "type" : "string",
36021 "typetext" : "<string>"
44660702
DM
36022 },
36023 "lastname" : {
7aacca6f 36024 "optional" : 1,
013dc89f
DM
36025 "type" : "string",
36026 "typetext" : "<string>"
44660702
DM
36027 },
36028 "password" : {
36029 "description" : "Initial password.",
36030 "maxLength" : 64,
36031 "minLength" : 5,
36032 "optional" : 1,
013dc89f
DM
36033 "type" : "string",
36034 "typetext" : "<string>"
44660702
DM
36035 },
36036 "userid" : {
36037 "description" : "User ID",
36038 "format" : "pve-userid",
36039 "maxLength" : 64,
013dc89f
DM
36040 "type" : "string",
36041 "typetext" : "<string>"
56122987 36042 }
7aacca6f 36043 }
56122987 36044 },
44660702
DM
36045 "permissions" : {
36046 "check" : [
36047 "and",
36048 [
36049 "userid-param",
36050 "Realm.AllocateUser"
36051 ],
36052 [
36053 "userid-group",
36054 [
36055 "User.Modify"
36056 ],
36057 "groups_param",
36058 1
36059 ]
36060 ],
36061 "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."
36062 },
36063 "protected" : 1,
36064 "returns" : {
36065 "type" : "null"
36066 }
56122987
DM
36067 }
36068 },
44660702
DM
36069 "leaf" : 0,
36070 "path" : "/access/users",
36071 "text" : "users"
36072 },
36073 {
56122987
DM
36074 "children" : [
36075 {
56122987
DM
36076 "info" : {
36077 "DELETE" : {
44660702
DM
36078 "description" : "Delete group.",
36079 "method" : "DELETE",
36080 "name" : "delete_group",
36081 "parameters" : {
36082 "additionalProperties" : 0,
36083 "properties" : {
36084 "groupid" : {
36085 "format" : "pve-groupid",
013dc89f
DM
36086 "type" : "string",
36087 "typetext" : "<string>"
44660702
DM
36088 }
36089 }
36090 },
7aacca6f
DM
36091 "permissions" : {
36092 "check" : [
36093 "perm",
36094 "/access/groups",
36095 [
36096 "Group.Allocate"
36097 ]
36098 ]
36099 },
7aacca6f 36100 "protected" : 1,
7aacca6f
DM
36101 "returns" : {
36102 "type" : "null"
44660702 36103 }
7aacca6f 36104 },
44660702
DM
36105 "GET" : {
36106 "description" : "Get group configuration.",
36107 "method" : "GET",
36108 "name" : "read_group",
36109 "parameters" : {
36110 "additionalProperties" : 0,
36111 "properties" : {
36112 "groupid" : {
36113 "format" : "pve-groupid",
013dc89f
DM
36114 "type" : "string",
36115 "typetext" : "<string>"
44660702
DM
36116 }
36117 }
56122987 36118 },
7aacca6f
DM
36119 "permissions" : {
36120 "check" : [
36121 "perm",
36122 "/access/groups",
36123 [
44660702 36124 "Sys.Audit",
7aacca6f 36125 "Group.Allocate"
44660702
DM
36126 ],
36127 "any",
36128 1
7aacca6f
DM
36129 ]
36130 },
7aacca6f 36131 "returns" : {
44660702 36132 "additionalProperties" : 0,
7aacca6f
DM
36133 "properties" : {
36134 "comment" : {
44660702
DM
36135 "optional" : 1,
36136 "type" : "string"
7aacca6f
DM
36137 },
36138 "members" : {
36139 "items" : {
e2d681b3
TL
36140 "description" : "User ID",
36141 "format" : "pve-userid",
36142 "maxLength" : 64,
7aacca6f
DM
36143 "type" : "string"
36144 },
36145 "type" : "array"
36146 }
36147 },
44660702
DM
36148 "type" : "object"
36149 }
36150 },
36151 "PUT" : {
36152 "description" : "Update group data.",
36153 "method" : "PUT",
36154 "name" : "update_group",
56122987 36155 "parameters" : {
44660702 36156 "additionalProperties" : 0,
56122987 36157 "properties" : {
44660702
DM
36158 "comment" : {
36159 "optional" : 1,
013dc89f
DM
36160 "type" : "string",
36161 "typetext" : "<string>"
44660702 36162 },
56122987
DM
36163 "groupid" : {
36164 "format" : "pve-groupid",
013dc89f
DM
36165 "type" : "string",
36166 "typetext" : "<string>"
56122987 36167 }
44660702 36168 }
56122987 36169 },
56122987
DM
36170 "permissions" : {
36171 "check" : [
36172 "perm",
36173 "/access/groups",
36174 [
36175 "Group.Allocate"
44660702 36176 ]
56122987
DM
36177 ]
36178 },
44660702
DM
36179 "protected" : 1,
36180 "returns" : {
36181 "type" : "null"
36182 }
7aacca6f
DM
36183 }
36184 },
7aacca6f 36185 "leaf" : 1,
44660702
DM
36186 "path" : "/access/groups/{groupid}",
36187 "text" : "{groupid}"
36188 }
36189 ],
36190 "info" : {
36191 "GET" : {
36192 "description" : "Group index.",
36193 "method" : "GET",
36194 "name" : "index",
36195 "parameters" : {
36196 "additionalProperties" : 0
36197 },
36198 "permissions" : {
36199 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
36200 "user" : "all"
36201 },
36202 "returns" : {
36203 "items" : {
36204 "properties" : {
e2d681b3
TL
36205 "comment" : {
36206 "optional" : 1,
36207 "type" : "string"
36208 },
44660702 36209 "groupid" : {
e2d681b3 36210 "format" : "pve-groupid",
44660702
DM
36211 "type" : "string"
36212 }
36213 },
36214 "type" : "object"
36215 },
36216 "links" : [
36217 {
36218 "href" : "{groupid}",
36219 "rel" : "child"
36220 }
36221 ],
36222 "type" : "array"
36223 }
36224 },
36225 "POST" : {
36226 "description" : "Create new group.",
36227 "method" : "POST",
36228 "name" : "create_group",
36229 "parameters" : {
36230 "additionalProperties" : 0,
36231 "properties" : {
36232 "comment" : {
36233 "optional" : 1,
013dc89f
DM
36234 "type" : "string",
36235 "typetext" : "<string>"
44660702
DM
36236 },
36237 "groupid" : {
36238 "format" : "pve-groupid",
013dc89f
DM
36239 "type" : "string",
36240 "typetext" : "<string>"
44660702
DM
36241 }
36242 }
36243 },
36244 "permissions" : {
36245 "check" : [
36246 "perm",
36247 "/access/groups",
36248 [
36249 "Group.Allocate"
36250 ]
36251 ]
36252 },
36253 "protected" : 1,
36254 "returns" : {
36255 "type" : "null"
36256 }
7aacca6f 36257 }
44660702 36258 },
7aacca6f 36259 "leaf" : 0,
44660702
DM
36260 "path" : "/access/groups",
36261 "text" : "groups"
7aacca6f
DM
36262 },
36263 {
36264 "children" : [
36265 {
7aacca6f 36266 "info" : {
7aacca6f 36267 "DELETE" : {
7aacca6f 36268 "description" : "Delete role.",
44660702 36269 "method" : "DELETE",
7aacca6f 36270 "name" : "delete_role",
56122987
DM
36271 "parameters" : {
36272 "additionalProperties" : 0,
36273 "properties" : {
7aacca6f
DM
36274 "roleid" : {
36275 "format" : "pve-roleid",
013dc89f
DM
36276 "type" : "string",
36277 "typetext" : "<string>"
56122987
DM
36278 }
36279 }
36280 },
56122987
DM
36281 "permissions" : {
36282 "check" : [
36283 "perm",
7aacca6f 36284 "/access",
56122987 36285 [
7aacca6f
DM
36286 "Sys.Modify"
36287 ]
56122987 36288 ]
44660702
DM
36289 },
36290 "protected" : 1,
36291 "returns" : {
36292 "type" : "null"
56122987
DM
36293 }
36294 },
44660702
DM
36295 "GET" : {
36296 "description" : "Get role configuration.",
36297 "method" : "GET",
36298 "name" : "read_role",
36299 "parameters" : {
36300 "additionalProperties" : 0,
36301 "properties" : {
36302 "roleid" : {
36303 "format" : "pve-roleid",
013dc89f
DM
36304 "type" : "string",
36305 "typetext" : "<string>"
44660702
DM
36306 }
36307 }
36308 },
7aacca6f 36309 "permissions" : {
44660702 36310 "user" : "all"
56122987 36311 },
e2d681b3
TL
36312 "returns" : {
36313 "additionalProperties" : 0,
36314 "properties" : {
36315 "Datastore.Allocate" : {
36316 "optional" : 1,
36317 "type" : "boolean"
36318 },
36319 "Datastore.AllocateSpace" : {
36320 "optional" : 1,
36321 "type" : "boolean"
36322 },
36323 "Datastore.AllocateTemplate" : {
36324 "optional" : 1,
36325 "type" : "boolean"
36326 },
36327 "Datastore.Audit" : {
36328 "optional" : 1,
36329 "type" : "boolean"
36330 },
36331 "Group.Allocate" : {
36332 "optional" : 1,
36333 "type" : "boolean"
36334 },
36335 "Permissions.Modify" : {
36336 "optional" : 1,
36337 "type" : "boolean"
36338 },
36339 "Pool.Allocate" : {
36340 "optional" : 1,
36341 "type" : "boolean"
36342 },
36343 "Realm.Allocate" : {
36344 "optional" : 1,
36345 "type" : "boolean"
36346 },
36347 "Realm.AllocateUser" : {
36348 "optional" : 1,
36349 "type" : "boolean"
36350 },
36351 "Sys.Audit" : {
36352 "optional" : 1,
36353 "type" : "boolean"
36354 },
36355 "Sys.Console" : {
36356 "optional" : 1,
36357 "type" : "boolean"
36358 },
36359 "Sys.Modify" : {
36360 "optional" : 1,
36361 "type" : "boolean"
36362 },
36363 "Sys.PowerMgmt" : {
36364 "optional" : 1,
36365 "type" : "boolean"
36366 },
36367 "Sys.Syslog" : {
36368 "optional" : 1,
36369 "type" : "boolean"
36370 },
36371 "User.Modify" : {
36372 "optional" : 1,
36373 "type" : "boolean"
36374 },
36375 "VM.Allocate" : {
36376 "optional" : 1,
36377 "type" : "boolean"
36378 },
36379 "VM.Audit" : {
36380 "optional" : 1,
36381 "type" : "boolean"
36382 },
36383 "VM.Backup" : {
36384 "optional" : 1,
36385 "type" : "boolean"
36386 },
36387 "VM.Clone" : {
36388 "optional" : 1,
36389 "type" : "boolean"
36390 },
36391 "VM.Config.CDROM" : {
36392 "optional" : 1,
36393 "type" : "boolean"
36394 },
36395 "VM.Config.CPU" : {
36396 "optional" : 1,
36397 "type" : "boolean"
36398 },
36399 "VM.Config.Disk" : {
36400 "optional" : 1,
36401 "type" : "boolean"
36402 },
36403 "VM.Config.HWType" : {
36404 "optional" : 1,
36405 "type" : "boolean"
36406 },
36407 "VM.Config.Memory" : {
36408 "optional" : 1,
36409 "type" : "boolean"
36410 },
36411 "VM.Config.Network" : {
36412 "optional" : 1,
36413 "type" : "boolean"
36414 },
36415 "VM.Config.Options" : {
36416 "optional" : 1,
36417 "type" : "boolean"
36418 },
36419 "VM.Console" : {
36420 "optional" : 1,
36421 "type" : "boolean"
36422 },
36423 "VM.Migrate" : {
36424 "optional" : 1,
36425 "type" : "boolean"
36426 },
36427 "VM.Monitor" : {
36428 "optional" : 1,
36429 "type" : "boolean"
36430 },
36431 "VM.PowerMgmt" : {
36432 "optional" : 1,
36433 "type" : "boolean"
36434 },
36435 "VM.Snapshot" : {
36436 "optional" : 1,
36437 "type" : "boolean"
36438 },
36439 "VM.Snapshot.Rollback" : {
36440 "optional" : 1,
36441 "type" : "boolean"
36442 }
36443 },
36444 "type" : "object"
36445 }
44660702
DM
36446 },
36447 "PUT" : {
e2d681b3 36448 "description" : "Update an existing role.",
44660702
DM
36449 "method" : "PUT",
36450 "name" : "update_role",
56122987
DM
36451 "parameters" : {
36452 "additionalProperties" : 0,
36453 "properties" : {
7aacca6f 36454 "append" : {
44660702 36455 "optional" : 1,
7aacca6f 36456 "requires" : "privs",
013dc89f
DM
36457 "type" : "boolean",
36458 "typetext" : "<boolean>"
7aacca6f
DM
36459 },
36460 "privs" : {
36461 "format" : "pve-priv-list",
e2d681b3 36462 "optional" : 1,
013dc89f
DM
36463 "type" : "string",
36464 "typetext" : "<string>"
44660702
DM
36465 },
36466 "roleid" : {
36467 "format" : "pve-roleid",
013dc89f
DM
36468 "type" : "string",
36469 "typetext" : "<string>"
56122987
DM
36470 }
36471 }
36472 },
44660702
DM
36473 "permissions" : {
36474 "check" : [
36475 "perm",
36476 "/access",
36477 [
36478 "Sys.Modify"
36479 ]
36480 ]
36481 },
56122987 36482 "protected" : 1,
7aacca6f
DM
36483 "returns" : {
36484 "type" : "null"
56122987
DM
36485 }
36486 }
36487 },
44660702 36488 "leaf" : 1,
7aacca6f 36489 "path" : "/access/roles/{roleid}",
44660702 36490 "text" : "{roleid}"
56122987
DM
36491 }
36492 ],
56122987 36493 "info" : {
7aacca6f
DM
36494 "GET" : {
36495 "description" : "Role index.",
44660702 36496 "method" : "GET",
7aacca6f 36497 "name" : "index",
56122987 36498 "parameters" : {
56122987
DM
36499 "additionalProperties" : 0
36500 },
7aacca6f
DM
36501 "permissions" : {
36502 "user" : "all"
36503 },
56122987 36504 "returns" : {
7aacca6f 36505 "items" : {
7aacca6f 36506 "properties" : {
e2d681b3
TL
36507 "privs" : {
36508 "format" : "pve-priv-list",
36509 "optional" : 1,
36510 "type" : "string"
36511 },
7aacca6f 36512 "roleid" : {
e2d681b3 36513 "format" : "pve-roleid",
7aacca6f 36514 "type" : "string"
e2d681b3
TL
36515 },
36516 "special" : {
36517 "default" : 0,
36518 "optional" : 1,
36519 "type" : "boolean"
7aacca6f 36520 }
44660702
DM
36521 },
36522 "type" : "object"
36523 },
36524 "links" : [
36525 {
36526 "href" : "{roleid}",
36527 "rel" : "child"
7aacca6f 36528 }
44660702
DM
36529 ],
36530 "type" : "array"
36531 }
7aacca6f
DM
36532 },
36533 "POST" : {
36534 "description" : "Create new role.",
44660702
DM
36535 "method" : "POST",
36536 "name" : "create_role",
7aacca6f
DM
36537 "parameters" : {
36538 "additionalProperties" : 0,
36539 "properties" : {
7aacca6f
DM
36540 "privs" : {
36541 "format" : "pve-priv-list",
36542 "optional" : 1,
013dc89f
DM
36543 "type" : "string",
36544 "typetext" : "<string>"
44660702
DM
36545 },
36546 "roleid" : {
36547 "format" : "pve-roleid",
013dc89f
DM
36548 "type" : "string",
36549 "typetext" : "<string>"
7aacca6f
DM
36550 }
36551 }
36552 },
44660702
DM
36553 "permissions" : {
36554 "check" : [
36555 "perm",
36556 "/access",
36557 [
36558 "Sys.Modify"
36559 ]
36560 ]
36561 },
36562 "protected" : 1,
7aacca6f
DM
36563 "returns" : {
36564 "type" : "null"
36565 }
36566 }
36567 },
44660702 36568 "leaf" : 0,
7aacca6f 36569 "path" : "/access/roles",
44660702 36570 "text" : "roles"
7aacca6f
DM
36571 },
36572 {
36573 "info" : {
56122987 36574 "GET" : {
44660702
DM
36575 "description" : "Get Access Control List (ACLs).",
36576 "method" : "GET",
36577 "name" : "read_acl",
7aacca6f
DM
36578 "parameters" : {
36579 "additionalProperties" : 0
36580 },
44660702
DM
36581 "permissions" : {
36582 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
36583 "user" : "all"
36584 },
56122987 36585 "returns" : {
56122987 36586 "items" : {
44660702 36587 "additionalProperties" : 0,
56122987 36588 "properties" : {
7aacca6f 36589 "path" : {
e2d681b3 36590 "description" : "Access control path",
7aacca6f
DM
36591 "type" : "string"
36592 },
44660702 36593 "propagate" : {
e2d681b3
TL
36594 "default" : 1,
36595 "description" : "Allow to propagate (inherit) permissions.",
36596 "optional" : 1,
44660702
DM
36597 "type" : "boolean"
36598 },
36599 "roleid" : {
36600 "type" : "string"
36601 },
7aacca6f
DM
36602 "type" : {
36603 "enum" : [
36604 "user",
36605 "group"
36606 ],
36607 "type" : "string"
36608 },
7aacca6f
DM
36609 "ugid" : {
36610 "type" : "string"
56122987 36611 }
7aacca6f 36612 },
44660702 36613 "type" : "object"
7aacca6f
DM
36614 },
36615 "type" : "array"
44660702 36616 }
7aacca6f
DM
36617 },
36618 "PUT" : {
44660702
DM
36619 "description" : "Update Access Control List (add or remove permissions).",
36620 "method" : "PUT",
7aacca6f
DM
36621 "name" : "update_acl",
36622 "parameters" : {
36623 "additionalProperties" : 0,
36624 "properties" : {
36625 "delete" : {
44660702 36626 "description" : "Remove permissions (instead of adding it).",
7aacca6f 36627 "optional" : 1,
013dc89f
DM
36628 "type" : "boolean",
36629 "typetext" : "<boolean>"
7aacca6f 36630 },
44660702
DM
36631 "groups" : {
36632 "description" : "List of groups.",
36633 "format" : "pve-groupid-list",
7aacca6f 36634 "optional" : 1,
013dc89f
DM
36635 "type" : "string",
36636 "typetext" : "<string>"
7aacca6f
DM
36637 },
36638 "path" : {
36639 "description" : "Access control path",
013dc89f
DM
36640 "type" : "string",
36641 "typetext" : "<string>"
7aacca6f 36642 },
7aacca6f 36643 "propagate" : {
44660702 36644 "default" : 1,
7aacca6f 36645 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 36646 "optional" : 1,
013dc89f
DM
36647 "type" : "boolean",
36648 "typetext" : "<boolean>"
7aacca6f 36649 },
44660702
DM
36650 "roles" : {
36651 "description" : "List of roles.",
36652 "format" : "pve-roleid-list",
013dc89f
DM
36653 "type" : "string",
36654 "typetext" : "<string>"
44660702
DM
36655 },
36656 "users" : {
36657 "description" : "List of users.",
36658 "format" : "pve-userid-list",
7aacca6f 36659 "optional" : 1,
013dc89f
DM
36660 "type" : "string",
36661 "typetext" : "<string>"
56122987
DM
36662 }
36663 }
36664 },
56122987 36665 "permissions" : {
7aacca6f
DM
36666 "check" : [
36667 "perm-modify",
36668 "{path}"
36669 ]
36670 },
7aacca6f
DM
36671 "protected" : 1,
36672 "returns" : {
36673 "type" : "null"
44660702 36674 }
56122987
DM
36675 }
36676 },
7aacca6f 36677 "leaf" : 1,
44660702
DM
36678 "path" : "/access/acl",
36679 "text" : "acl"
7aacca6f
DM
36680 },
36681 {
56122987
DM
36682 "children" : [
36683 {
56122987 36684 "info" : {
44660702
DM
36685 "DELETE" : {
36686 "description" : "Delete an authentication server.",
36687 "method" : "DELETE",
36688 "name" : "delete",
36689 "parameters" : {
36690 "additionalProperties" : 0,
36691 "properties" : {
36692 "realm" : {
36693 "description" : "Authentication domain ID",
36694 "format" : "pve-realm",
36695 "maxLength" : 32,
013dc89f
DM
36696 "type" : "string",
36697 "typetext" : "<string>"
56122987 36698 }
44660702 36699 }
56122987 36700 },
56122987
DM
36701 "permissions" : {
36702 "check" : [
36703 "perm",
7aacca6f 36704 "/access/realm",
56122987 36705 [
7aacca6f 36706 "Realm.Allocate"
56122987
DM
36707 ]
36708 ]
36709 },
7aacca6f 36710 "protected" : 1,
7aacca6f
DM
36711 "returns" : {
36712 "type" : "null"
44660702 36713 }
7aacca6f 36714 },
44660702
DM
36715 "GET" : {
36716 "description" : "Get auth server configuration.",
36717 "method" : "GET",
36718 "name" : "read",
56122987 36719 "parameters" : {
44660702 36720 "additionalProperties" : 0,
56122987 36721 "properties" : {
7aacca6f 36722 "realm" : {
44660702 36723 "description" : "Authentication domain ID",
7aacca6f
DM
36724 "format" : "pve-realm",
36725 "maxLength" : 32,
013dc89f
DM
36726 "type" : "string",
36727 "typetext" : "<string>"
56122987 36728 }
44660702 36729 }
7aacca6f 36730 },
7aacca6f
DM
36731 "permissions" : {
36732 "check" : [
36733 "perm",
36734 "/access/realm",
36735 [
44660702
DM
36736 "Realm.Allocate",
36737 "Sys.Audit"
36738 ],
36739 "any",
36740 1
7aacca6f 36741 ]
44660702
DM
36742 },
36743 "returns" : {}
7aacca6f 36744 },
44660702
DM
36745 "PUT" : {
36746 "description" : "Update authentication server settings.",
36747 "method" : "PUT",
36748 "name" : "update",
7aacca6f 36749 "parameters" : {
44660702 36750 "additionalProperties" : 0,
7aacca6f 36751 "properties" : {
44660702
DM
36752 "base_dn" : {
36753 "description" : "LDAP base domain name",
36754 "maxLength" : 256,
36755 "optional" : 1,
36756 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36757 "type" : "string"
36758 },
4bd7df8b
DM
36759 "bind_dn" : {
36760 "description" : "LDAP bind domain name",
36761 "maxLength" : 256,
36762 "optional" : 1,
36763 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36764 "type" : "string"
36765 },
2489d6df
WB
36766 "capath" : {
36767 "default" : "/etc/ssl/certs",
36768 "description" : "Path to the CA certificate store",
36769 "optional" : 1,
36770 "type" : "string",
36771 "typetext" : "<string>"
36772 },
36773 "cert" : {
36774 "description" : "Path to the client certificate",
36775 "optional" : 1,
36776 "type" : "string",
36777 "typetext" : "<string>"
36778 },
36779 "certkey" : {
36780 "description" : "Path to the client certificate key",
36781 "optional" : 1,
36782 "type" : "string",
36783 "typetext" : "<string>"
36784 },
44660702
DM
36785 "comment" : {
36786 "description" : "Description.",
36787 "maxLength" : 4096,
36788 "optional" : 1,
013dc89f
DM
36789 "type" : "string",
36790 "typetext" : "<string>"
44660702
DM
36791 },
36792 "default" : {
36793 "description" : "Use this as default realm",
36794 "optional" : 1,
013dc89f
DM
36795 "type" : "boolean",
36796 "typetext" : "<boolean>"
44660702
DM
36797 },
36798 "delete" : {
36799 "description" : "A list of settings you want to delete.",
36800 "format" : "pve-configid-list",
36801 "maxLength" : 4096,
36802 "optional" : 1,
013dc89f
DM
36803 "type" : "string",
36804 "typetext" : "<string>"
44660702
DM
36805 },
36806 "digest" : {
36807 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
36808 "maxLength" : 40,
36809 "optional" : 1,
013dc89f
DM
36810 "type" : "string",
36811 "typetext" : "<string>"
44660702
DM
36812 },
36813 "domain" : {
36814 "description" : "AD domain name",
36815 "maxLength" : 256,
36816 "optional" : 1,
36817 "pattern" : "\\S+",
36818 "type" : "string"
36819 },
36820 "port" : {
36821 "description" : "Server port.",
36822 "maximum" : 65535,
36823 "minimum" : 1,
36824 "optional" : 1,
4bd7df8b 36825 "type" : "integer",
013dc89f 36826 "typetext" : "<integer> (1 - 65535)"
44660702 36827 },
7aacca6f 36828 "realm" : {
7aacca6f
DM
36829 "description" : "Authentication domain ID",
36830 "format" : "pve-realm",
44660702 36831 "maxLength" : 32,
013dc89f
DM
36832 "type" : "string",
36833 "typetext" : "<string>"
44660702
DM
36834 },
36835 "secure" : {
36836 "description" : "Use secure LDAPS protocol.",
36837 "optional" : 1,
013dc89f
DM
36838 "type" : "boolean",
36839 "typetext" : "<boolean>"
44660702
DM
36840 },
36841 "server1" : {
36842 "description" : "Server IP address (or DNS name)",
36843 "format" : "address",
36844 "maxLength" : 256,
36845 "optional" : 1,
013dc89f
DM
36846 "type" : "string",
36847 "typetext" : "<string>"
44660702
DM
36848 },
36849 "server2" : {
36850 "description" : "Fallback Server IP address (or DNS name)",
36851 "format" : "address",
36852 "maxLength" : 256,
36853 "optional" : 1,
013dc89f
DM
36854 "type" : "string",
36855 "typetext" : "<string>"
44660702
DM
36856 },
36857 "tfa" : {
36858 "description" : "Use Two-factor authentication.",
36859 "format" : "pve-tfa-config",
36860 "maxLength" : 128,
36861 "optional" : 1,
013dc89f 36862 "type" : "string",
95895385 36863 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
36864 },
36865 "user_attr" : {
36866 "description" : "LDAP user attribute name",
36867 "maxLength" : 256,
36868 "optional" : 1,
36869 "pattern" : "\\S{2,}",
36870 "type" : "string"
2489d6df
WB
36871 },
36872 "verify" : {
36873 "default" : 0,
36874 "description" : "Verify the server's SSL certificate",
36875 "optional" : 1,
36876 "type" : "boolean",
36877 "typetext" : "<boolean>"
7aacca6f 36878 }
56122987 36879 },
44660702 36880 "type" : "object"
56122987 36881 },
7aacca6f
DM
36882 "permissions" : {
36883 "check" : [
36884 "perm",
36885 "/access/realm",
36886 [
44660702
DM
36887 "Realm.Allocate"
36888 ]
7aacca6f
DM
36889 ]
36890 },
44660702
DM
36891 "protected" : 1,
36892 "returns" : {
36893 "type" : "null"
36894 }
56122987 36895 }
44660702
DM
36896 },
36897 "leaf" : 1,
36898 "path" : "/access/domains/{realm}",
36899 "text" : "{realm}"
56122987 36900 }
7aacca6f 36901 ],
56122987
DM
36902 "info" : {
36903 "GET" : {
44660702
DM
36904 "description" : "Authentication domain index.",
36905 "method" : "GET",
36906 "name" : "index",
36907 "parameters" : {
36908 "additionalProperties" : 0
36909 },
36910 "permissions" : {
36911 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
36912 "user" : "world"
36913 },
56122987 36914 "returns" : {
56122987
DM
36915 "items" : {
36916 "properties" : {
7aacca6f 36917 "comment" : {
52e44c50 36918 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
36919 "optional" : 1,
36920 "type" : "string"
36921 },
56122987
DM
36922 "realm" : {
36923 "type" : "string"
36924 },
36925 "tfa" : {
7aacca6f 36926 "description" : "Two-factor authentication provider.",
56122987
DM
36927 "enum" : [
36928 "yubico",
36929 "oath"
36930 ],
44660702
DM
36931 "optional" : 1,
36932 "type" : "string"
56122987
DM
36933 }
36934 },
36935 "type" : "object"
44660702
DM
36936 },
36937 "links" : [
36938 {
36939 "href" : "{realm}",
36940 "rel" : "child"
36941 }
36942 ],
36943 "type" : "array"
36944 }
56122987
DM
36945 },
36946 "POST" : {
7aacca6f 36947 "description" : "Add an authentication server.",
44660702 36948 "method" : "POST",
7aacca6f 36949 "name" : "create",
56122987 36950 "parameters" : {
44660702 36951 "additionalProperties" : 0,
56122987 36952 "properties" : {
44660702
DM
36953 "base_dn" : {
36954 "description" : "LDAP base domain name",
56122987 36955 "maxLength" : 256,
44660702
DM
36956 "optional" : 1,
36957 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 36958 "type" : "string"
56122987 36959 },
4bd7df8b
DM
36960 "bind_dn" : {
36961 "description" : "LDAP bind domain name",
36962 "maxLength" : 256,
36963 "optional" : 1,
36964 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
36965 "type" : "string"
36966 },
2489d6df
WB
36967 "capath" : {
36968 "default" : "/etc/ssl/certs",
36969 "description" : "Path to the CA certificate store",
36970 "optional" : 1,
36971 "type" : "string",
36972 "typetext" : "<string>"
36973 },
36974 "cert" : {
36975 "description" : "Path to the client certificate",
36976 "optional" : 1,
36977 "type" : "string",
36978 "typetext" : "<string>"
36979 },
36980 "certkey" : {
36981 "description" : "Path to the client certificate key",
36982 "optional" : 1,
36983 "type" : "string",
36984 "typetext" : "<string>"
36985 },
44660702
DM
36986 "comment" : {
36987 "description" : "Description.",
36988 "maxLength" : 4096,
56122987 36989 "optional" : 1,
013dc89f
DM
36990 "type" : "string",
36991 "typetext" : "<string>"
56122987 36992 },
44660702
DM
36993 "default" : {
36994 "description" : "Use this as default realm",
7aacca6f 36995 "optional" : 1,
013dc89f
DM
36996 "type" : "boolean",
36997 "typetext" : "<boolean>"
56122987 36998 },
44660702
DM
36999 "domain" : {
37000 "description" : "AD domain name",
37001 "maxLength" : 256,
7aacca6f 37002 "optional" : 1,
44660702
DM
37003 "pattern" : "\\S+",
37004 "type" : "string"
56122987 37005 },
7aacca6f 37006 "port" : {
44660702 37007 "description" : "Server port.",
7aacca6f 37008 "maximum" : 65535,
44660702 37009 "minimum" : 1,
7aacca6f 37010 "optional" : 1,
4bd7df8b 37011 "type" : "integer",
013dc89f 37012 "typetext" : "<integer> (1 - 65535)"
56122987 37013 },
44660702
DM
37014 "realm" : {
37015 "description" : "Authentication domain ID",
37016 "format" : "pve-realm",
37017 "maxLength" : 32,
013dc89f
DM
37018 "type" : "string",
37019 "typetext" : "<string>"
44660702
DM
37020 },
37021 "secure" : {
37022 "description" : "Use secure LDAPS protocol.",
7aacca6f 37023 "optional" : 1,
013dc89f
DM
37024 "type" : "boolean",
37025 "typetext" : "<boolean>"
56122987 37026 },
44660702
DM
37027 "server1" : {
37028 "description" : "Server IP address (or DNS name)",
37029 "format" : "address",
37030 "maxLength" : 256,
37031 "optional" : 1,
013dc89f
DM
37032 "type" : "string",
37033 "typetext" : "<string>"
56122987 37034 },
44660702
DM
37035 "server2" : {
37036 "description" : "Fallback Server IP address (or DNS name)",
37037 "format" : "address",
7aacca6f 37038 "maxLength" : 256,
7aacca6f 37039 "optional" : 1,
013dc89f
DM
37040 "type" : "string",
37041 "typetext" : "<string>"
7aacca6f 37042 },
44660702
DM
37043 "tfa" : {
37044 "description" : "Use Two-factor authentication.",
37045 "format" : "pve-tfa-config",
37046 "maxLength" : 128,
37047 "optional" : 1,
013dc89f 37048 "type" : "string",
95895385 37049 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
37050 },
37051 "type" : {
37052 "description" : "Realm type.",
37053 "enum" : [
37054 "ad",
37055 "ldap",
37056 "pam",
37057 "pve"
37058 ],
37059 "type" : "string"
37060 },
37061 "user_attr" : {
37062 "description" : "LDAP user attribute name",
7aacca6f 37063 "maxLength" : 256,
7aacca6f 37064 "optional" : 1,
44660702
DM
37065 "pattern" : "\\S{2,}",
37066 "type" : "string"
2489d6df
WB
37067 },
37068 "verify" : {
37069 "default" : 0,
37070 "description" : "Verify the server's SSL certificate",
37071 "optional" : 1,
37072 "type" : "boolean",
37073 "typetext" : "<boolean>"
7aacca6f
DM
37074 }
37075 },
7aacca6f 37076 "type" : "object"
56122987 37077 },
7aacca6f
DM
37078 "permissions" : {
37079 "check" : [
37080 "perm",
37081 "/access/realm",
37082 [
37083 "Realm.Allocate"
37084 ]
37085 ]
44660702
DM
37086 },
37087 "protected" : 1,
37088 "returns" : {
37089 "type" : "null"
7aacca6f 37090 }
56122987 37091 }
7aacca6f 37092 },
44660702 37093 "leaf" : 0,
56122987 37094 "path" : "/access/domains",
44660702 37095 "text" : "domains"
56122987
DM
37096 },
37097 {
56122987 37098 "info" : {
44660702 37099 "GET" : {
2489d6df 37100 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
37101 "method" : "GET",
37102 "name" : "get_ticket",
37103 "parameters" : {
37104 "additionalProperties" : 0
37105 },
37106 "permissions" : {
37107 "user" : "world"
37108 },
37109 "returns" : {
37110 "type" : "null"
37111 }
37112 },
56122987 37113 "POST" : {
44660702 37114 "description" : "Create or verify authentication ticket.",
56122987 37115 "method" : "POST",
44660702
DM
37116 "name" : "create_ticket",
37117 "parameters" : {
37118 "additionalProperties" : 0,
56122987 37119 "properties" : {
44660702
DM
37120 "otp" : {
37121 "description" : "One-time password for Two-factor authentication.",
7aacca6f 37122 "optional" : 1,
013dc89f
DM
37123 "type" : "string",
37124 "typetext" : "<string>"
56122987 37125 },
7aacca6f
DM
37126 "password" : {
37127 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
37128 "type" : "string",
37129 "typetext" : "<string>"
7aacca6f 37130 },
44660702
DM
37131 "path" : {
37132 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 37133 "maxLength" : 64,
56122987 37134 "optional" : 1,
56122987 37135 "requires" : "privs",
013dc89f
DM
37136 "type" : "string",
37137 "typetext" : "<string>"
44660702
DM
37138 },
37139 "privs" : {
7aacca6f 37140 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
37141 "format" : "pve-priv-list",
37142 "maxLength" : 64,
56122987 37143 "optional" : 1,
44660702 37144 "requires" : "path",
013dc89f
DM
37145 "type" : "string",
37146 "typetext" : "<string>"
56122987
DM
37147 },
37148 "realm" : {
56122987 37149 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 37150 "format" : "pve-realm",
7aacca6f 37151 "maxLength" : 32,
44660702 37152 "optional" : 1,
013dc89f
DM
37153 "type" : "string",
37154 "typetext" : "<string>"
56122987
DM
37155 },
37156 "username" : {
37157 "description" : "User name",
44660702 37158 "maxLength" : 64,
013dc89f
DM
37159 "type" : "string",
37160 "typetext" : "<string>"
56122987 37161 }
44660702 37162 }
7aacca6f 37163 },
56122987 37164 "permissions" : {
44660702 37165 "description" : "You need to pass valid credientials.",
56122987
DM
37166 "user" : "world"
37167 },
44660702 37168 "protected" : 1,
7aacca6f 37169 "returns" : {
56122987 37170 "properties" : {
44660702
DM
37171 "CSRFPreventionToken" : {
37172 "optional" : 1,
37173 "type" : "string"
56122987 37174 },
e2d681b3
TL
37175 "clustername" : {
37176 "optional" : 1,
37177 "type" : "string"
37178 },
44660702
DM
37179 "ticket" : {
37180 "optional" : 1,
37181 "type" : "string"
37182 },
37183 "username" : {
56122987
DM
37184 "type" : "string"
37185 }
37186 },
44660702 37187 "type" : "object"
7aacca6f 37188 }
7aacca6f
DM
37189 }
37190 },
44660702
DM
37191 "leaf" : 1,
37192 "path" : "/access/ticket",
37193 "text" : "ticket"
7aacca6f 37194 },
56122987 37195 {
56122987 37196 "info" : {
7aacca6f 37197 "PUT" : {
44660702 37198 "description" : "Change user password.",
7aacca6f 37199 "method" : "PUT",
e2d681b3 37200 "name" : "change_password",
56122987
DM
37201 "parameters" : {
37202 "additionalProperties" : 0,
37203 "properties" : {
44660702
DM
37204 "password" : {
37205 "description" : "The new password.",
37206 "maxLength" : 64,
37207 "minLength" : 5,
013dc89f
DM
37208 "type" : "string",
37209 "typetext" : "<string>"
7aacca6f 37210 },
44660702
DM
37211 "userid" : {
37212 "description" : "User ID",
37213 "format" : "pve-userid",
37214 "maxLength" : 64,
013dc89f
DM
37215 "type" : "string",
37216 "typetext" : "<string>"
56122987 37217 }
7aacca6f 37218 }
56122987
DM
37219 },
37220 "permissions" : {
37221 "check" : [
44660702 37222 "or",
56122987 37223 [
44660702
DM
37224 "userid-param",
37225 "self"
37226 ],
37227 [
37228 "and",
37229 [
37230 "userid-param",
37231 "Realm.AllocateUser"
37232 ],
37233 [
37234 "userid-group",
37235 [
37236 "User.Modify"
37237 ]
37238 ]
56122987 37239 ]
7aacca6f 37240 ],
44660702 37241 "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 37242 },
44660702 37243 "protected" : 1,
7aacca6f
DM
37244 "returns" : {
37245 "type" : "null"
44660702
DM
37246 }
37247 }
37248 },
37249 "leaf" : 1,
37250 "path" : "/access/password",
37251 "text" : "password"
95895385
TL
37252 },
37253 {
37254 "info" : {
37255 "POST" : {
37256 "description" : "Finish a u2f challenge.",
37257 "method" : "POST",
37258 "name" : "verify_tfa",
37259 "parameters" : {
37260 "additionalProperties" : 0,
37261 "properties" : {
37262 "response" : {
37263 "description" : "The response to the current authentication challenge.",
37264 "type" : "string",
37265 "typetext" : "<string>"
37266 }
37267 }
37268 },
37269 "permissions" : {
37270 "user" : "all"
37271 },
37272 "protected" : 1,
37273 "returns" : {
37274 "properties" : {
37275 "ticket" : {
37276 "type" : "string"
37277 }
37278 },
37279 "type" : "object"
37280 }
37281 },
37282 "PUT" : {
37283 "description" : "Change user u2f authentication.",
37284 "method" : "PUT",
37285 "name" : "change_tfa",
37286 "parameters" : {
37287 "additionalProperties" : 0,
37288 "properties" : {
37289 "action" : {
37290 "description" : "The action to perform",
37291 "enum" : [
37292 "delete",
37293 "new",
37294 "confirm"
37295 ],
37296 "type" : "string"
37297 },
37298 "config" : {
37299 "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
37300 "format" : "pve-tfa-config",
37301 "maxLength" : 128,
37302 "optional" : 1,
37303 "type" : "string",
37304 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
37305 },
37306 "key" : {
37307 "description" : "When adding TOTP, the shared secret value.",
37308 "optional" : 1,
37309 "pattern" : "(?^:[A-Z2-7=]{16}|[A-Fa-f0-9]{40})",
37310 "type" : "string"
37311 },
37312 "password" : {
37313 "description" : "The current password.",
37314 "maxLength" : 64,
37315 "minLength" : 5,
37316 "optional" : 1,
37317 "type" : "string",
37318 "typetext" : "<string>"
37319 },
37320 "response" : {
37321 "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
37322 "optional" : 1,
37323 "type" : "string",
37324 "typetext" : "<string>"
37325 },
37326 "userid" : {
37327 "description" : "User ID",
37328 "format" : "pve-userid",
37329 "maxLength" : 64,
37330 "type" : "string",
37331 "typetext" : "<string>"
37332 }
37333 }
37334 },
37335 "permissions" : {
37336 "check" : [
37337 "or",
37338 [
37339 "userid-param",
37340 "self"
37341 ],
37342 [
37343 "and",
37344 [
37345 "userid-param",
37346 "Realm.AllocateUser"
37347 ],
37348 [
37349 "userid-group",
37350 [
37351 "User.Modify"
37352 ]
37353 ]
37354 ]
37355 ],
37356 "description" : "A user can change their own u2f or totp token."
37357 },
37358 "protected" : 1,
37359 "returns" : {
37360 "type" : "object"
37361 }
37362 }
37363 },
37364 "leaf" : 1,
37365 "path" : "/access/tfa",
37366 "text" : "tfa"
44660702
DM
37367 }
37368 ],
37369 "info" : {
37370 "GET" : {
37371 "description" : "Directory index.",
37372 "method" : "GET",
37373 "name" : "index",
37374 "parameters" : {
37375 "additionalProperties" : 0
37376 },
37377 "permissions" : {
37378 "user" : "all"
37379 },
37380 "returns" : {
37381 "items" : {
37382 "properties" : {
37383 "subdir" : {
37384 "type" : "string"
37385 }
7aacca6f 37386 },
44660702
DM
37387 "type" : "object"
37388 },
37389 "links" : [
37390 {
37391 "href" : "{subdir}",
37392 "rel" : "child"
37393 }
37394 ],
37395 "type" : "array"
37396 }
37397 }
37398 },
37399 "leaf" : 0,
37400 "path" : "/access",
37401 "text" : "access"
37402 },
37403 {
37404 "children" : [
37405 {
37406 "info" : {
37407 "DELETE" : {
7aacca6f 37408 "description" : "Delete pool.",
44660702
DM
37409 "method" : "DELETE",
37410 "name" : "delete_pool",
7aacca6f
DM
37411 "parameters" : {
37412 "additionalProperties" : 0,
37413 "properties" : {
37414 "poolid" : {
37415 "format" : "pve-poolid",
013dc89f
DM
37416 "type" : "string",
37417 "typetext" : "<string>"
7aacca6f
DM
37418 }
37419 }
37420 },
56122987
DM
37421 "permissions" : {
37422 "check" : [
37423 "perm",
37424 "/pool/{poolid}",
37425 [
37426 "Pool.Allocate"
37427 ]
44660702
DM
37428 ],
37429 "description" : "You can only delete empty pools (no members)."
37430 },
37431 "protected" : 1,
37432 "returns" : {
37433 "type" : "null"
7aacca6f
DM
37434 }
37435 },
37436 "GET" : {
37437 "description" : "Get pool configuration.",
44660702 37438 "method" : "GET",
7aacca6f 37439 "name" : "read_pool",
56122987 37440 "parameters" : {
44660702 37441 "additionalProperties" : 0,
56122987
DM
37442 "properties" : {
37443 "poolid" : {
44660702 37444 "format" : "pve-poolid",
013dc89f
DM
37445 "type" : "string",
37446 "typetext" : "<string>"
56122987 37447 }
44660702 37448 }
56122987 37449 },
56122987 37450 "permissions" : {
56122987
DM
37451 "check" : [
37452 "perm",
37453 "/pool/{poolid}",
37454 [
37455 "Pool.Allocate"
37456 ]
37457 ]
37458 },
7aacca6f 37459 "returns" : {
44660702 37460 "additionalProperties" : 0,
56122987 37461 "properties" : {
44660702
DM
37462 "comment" : {
37463 "optional" : 1,
37464 "type" : "string"
37465 },
7aacca6f 37466 "members" : {
7aacca6f
DM
37467 "items" : {
37468 "additionalProperties" : 1,
7aacca6f 37469 "properties" : {
7aacca6f
DM
37470 "id" : {
37471 "type" : "string"
37472 },
37473 "node" : {
37474 "type" : "string"
37475 },
44660702
DM
37476 "storage" : {
37477 "optional" : 1,
37478 "type" : "string"
37479 },
7aacca6f 37480 "type" : {
7aacca6f
DM
37481 "enum" : [
37482 "qemu",
37483 "lxc",
37484 "openvz",
37485 "storage"
44660702
DM
37486 ],
37487 "type" : "string"
37488 },
37489 "vmid" : {
37490 "optional" : 1,
37491 "type" : "integer"
7aacca6f 37492 }
44660702
DM
37493 },
37494 "type" : "object"
37495 },
37496 "type" : "array"
37497 }
37498 },
37499 "type" : "object"
37500 }
37501 },
37502 "PUT" : {
37503 "description" : "Update pool data.",
37504 "method" : "PUT",
37505 "name" : "update_pool",
37506 "parameters" : {
37507 "additionalProperties" : 0,
37508 "properties" : {
56122987
DM
37509 "comment" : {
37510 "optional" : 1,
013dc89f
DM
37511 "type" : "string",
37512 "typetext" : "<string>"
44660702
DM
37513 },
37514 "delete" : {
37515 "description" : "Remove vms/storage (instead of adding it).",
37516 "optional" : 1,
013dc89f
DM
37517 "type" : "boolean",
37518 "typetext" : "<boolean>"
44660702
DM
37519 },
37520 "poolid" : {
37521 "format" : "pve-poolid",
013dc89f
DM
37522 "type" : "string",
37523 "typetext" : "<string>"
44660702
DM
37524 },
37525 "storage" : {
37526 "description" : "List of storage IDs.",
37527 "format" : "pve-storage-id-list",
37528 "optional" : 1,
013dc89f
DM
37529 "type" : "string",
37530 "typetext" : "<string>"
44660702
DM
37531 },
37532 "vms" : {
37533 "description" : "List of virtual machines.",
37534 "format" : "pve-vmid-list",
37535 "optional" : 1,
013dc89f
DM
37536 "type" : "string",
37537 "typetext" : "<string>"
56122987 37538 }
44660702
DM
37539 }
37540 },
37541 "permissions" : {
37542 "check" : [
37543 "perm",
37544 "/pool/{poolid}",
37545 [
37546 "Pool.Allocate"
37547 ]
37548 ],
37549 "description" : "You also need the right to modify permissions on any object you add/delete."
37550 },
37551 "protected" : 1,
37552 "returns" : {
37553 "type" : "null"
56122987
DM
37554 }
37555 }
37556 },
44660702
DM
37557 "leaf" : 1,
37558 "path" : "/pools/{poolid}",
7aacca6f 37559 "text" : "{poolid}"
56122987 37560 }
7aacca6f 37561 ],
56122987
DM
37562 "info" : {
37563 "GET" : {
44660702
DM
37564 "description" : "Pool index.",
37565 "method" : "GET",
37566 "name" : "index",
37567 "parameters" : {
37568 "additionalProperties" : 0
37569 },
37570 "permissions" : {
37571 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
37572 "user" : "all"
37573 },
56122987 37574 "returns" : {
44660702
DM
37575 "items" : {
37576 "properties" : {
37577 "poolid" : {
37578 "type" : "string"
37579 }
56122987 37580 },
44660702
DM
37581 "type" : "object"
37582 },
37583 "links" : [
37584 {
37585 "href" : "{poolid}",
37586 "rel" : "child"
37587 }
37588 ],
37589 "type" : "array"
37590 }
37591 },
37592 "POST" : {
37593 "description" : "Create new pool.",
37594 "method" : "POST",
37595 "name" : "create_pool",
37596 "parameters" : {
37597 "additionalProperties" : 0,
37598 "properties" : {
37599 "comment" : {
37600 "optional" : 1,
013dc89f
DM
37601 "type" : "string",
37602 "typetext" : "<string>"
7aacca6f 37603 },
44660702
DM
37604 "poolid" : {
37605 "format" : "pve-poolid",
013dc89f
DM
37606 "type" : "string",
37607 "typetext" : "<string>"
56122987
DM
37608 }
37609 }
37610 },
56122987 37611 "permissions" : {
44660702
DM
37612 "check" : [
37613 "perm",
37614 "/pool/{poolid}",
37615 [
37616 "Pool.Allocate"
37617 ]
37618 ]
56122987 37619 },
44660702
DM
37620 "protected" : 1,
37621 "returns" : {
37622 "type" : "null"
37623 }
37624 }
37625 },
37626 "leaf" : 0,
37627 "path" : "/pools",
37628 "text" : "pools"
37629 },
37630 {
37631 "info" : {
37632 "GET" : {
37633 "description" : "API version details. The result also includes the global datacenter confguration.",
37634 "method" : "GET",
37635 "name" : "version",
7aacca6f
DM
37636 "parameters" : {
37637 "additionalProperties" : 0
37638 },
44660702
DM
37639 "permissions" : {
37640 "user" : "all"
37641 },
37642 "returns" : {
37643 "properties" : {
37644 "release" : {
37645 "type" : "string"
37646 },
37647 "repoid" : {
37648 "type" : "string"
37649 },
37650 "version" : {
37651 "type" : "string"
37652 }
37653 },
37654 "type" : "object"
37655 }
56122987
DM
37656 }
37657 },
44660702
DM
37658 "leaf" : 1,
37659 "path" : "/version",
56122987
DM
37660 "text" : "version"
37661 }
37662]
37663;
37664