]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
followup #1850: pvecm: referencing all nodes in etc/hosts is not necessarry
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
56122987
DM
1var pveapi = [
2 {
56122987 3 "children" : [
5d9c884c
DM
4 {
5 "children" : [
6 {
7 "info" : {
8 "DELETE" : {
9 "description" : "Mark replication job for removal.",
10 "method" : "DELETE",
11 "name" : "delete",
12 "parameters" : {
13 "additionalProperties" : 0,
14 "properties" : {
15 "force" : {
16 "default" : 0,
17 "description" : "Will remove the jobconfig entry, but will not cleanup.",
18 "optional" : 1,
19 "type" : "boolean",
20 "typetext" : "<boolean>"
21 },
22 "id" : {
23 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
24 "format" : "pve-replication-job-id",
25 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
26 "type" : "string"
27 },
28 "keep" : {
29 "default" : 0,
30 "description" : "Keep replicated data at target (do not remove).",
31 "optional" : 1,
32 "type" : "boolean",
33 "typetext" : "<boolean>"
34 }
35 }
36 },
37 "permissions" : {
38 "check" : [
39 "perm",
40 "/storage",
41 [
42 "Datastore.Allocate"
43 ]
44 ]
45 },
46 "protected" : 1,
47 "returns" : {
48 "type" : "null"
49 }
50 },
51 "GET" : {
52 "description" : "Read replication job configuration.",
53 "method" : "GET",
54 "name" : "read",
55 "parameters" : {
56 "additionalProperties" : 0,
57 "properties" : {
58 "id" : {
59 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
60 "format" : "pve-replication-job-id",
61 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
62 "type" : "string"
63 }
64 }
65 },
66 "permissions" : {
67 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
68 "user" : "all"
69 },
70 "returns" : {
71 "type" : "object"
72 }
73 },
74 "PUT" : {
75 "description" : "Update replication job configuration.",
76 "method" : "PUT",
77 "name" : "update",
78 "parameters" : {
79 "additionalProperties" : 0,
80 "properties" : {
81 "comment" : {
82 "description" : "Description.",
83 "maxLength" : 4096,
84 "optional" : 1,
85 "type" : "string",
86 "typetext" : "<string>"
87 },
88 "delete" : {
89 "description" : "A list of settings you want to delete.",
90 "format" : "pve-configid-list",
91 "maxLength" : 4096,
92 "optional" : 1,
93 "type" : "string",
94 "typetext" : "<string>"
95 },
96 "digest" : {
97 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
98 "maxLength" : 40,
99 "optional" : 1,
100 "type" : "string",
101 "typetext" : "<string>"
102 },
103 "disable" : {
104 "description" : "Flag to disable/deactivate the entry.",
105 "optional" : 1,
106 "type" : "boolean",
107 "typetext" : "<boolean>"
108 },
109 "id" : {
110 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
111 "format" : "pve-replication-job-id",
112 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
113 "type" : "string"
114 },
115 "rate" : {
116 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
117 "minimum" : 1,
118 "optional" : 1,
119 "type" : "number",
120 "typetext" : "<number> (1 - N)"
121 },
122 "remove_job" : {
123 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
124 "enum" : [
125 "local",
126 "full"
127 ],
128 "optional" : 1,
129 "type" : "string"
130 },
131 "schedule" : {
132 "default" : "*/15",
133 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
134 "format" : "pve-calendar-event",
135 "maxLength" : 128,
136 "optional" : 1,
137 "type" : "string",
138 "typetext" : "<string>"
a9a8e3d1
DM
139 },
140 "source" : {
141 "description" : "Source of the replication.",
142 "format" : "pve-node",
143 "optional" : 1,
144 "type" : "string",
145 "typetext" : "<string>"
5d9c884c
DM
146 }
147 },
148 "type" : "object"
149 },
150 "permissions" : {
151 "check" : [
152 "perm",
153 "/storage",
154 [
155 "Datastore.Allocate"
156 ]
157 ]
158 },
159 "protected" : 1,
160 "returns" : {
161 "type" : "null"
162 }
163 }
164 },
165 "leaf" : 1,
166 "path" : "/cluster/replication/{id}",
167 "text" : "{id}"
168 }
169 ],
170 "info" : {
171 "GET" : {
172 "description" : "List replication jobs.",
173 "method" : "GET",
174 "name" : "index",
175 "parameters" : {
176 "additionalProperties" : 0
177 },
178 "permissions" : {
179 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
180 "user" : "all"
181 },
182 "returns" : {
183 "items" : {
184 "properties" : {},
185 "type" : "object"
186 },
187 "links" : [
188 {
189 "href" : "{id}",
190 "rel" : "child"
191 }
192 ],
193 "type" : "array"
194 }
195 },
196 "POST" : {
197 "description" : "Create a new replication job",
198 "method" : "POST",
199 "name" : "create",
200 "parameters" : {
201 "additionalProperties" : 0,
202 "properties" : {
203 "comment" : {
204 "description" : "Description.",
205 "maxLength" : 4096,
206 "optional" : 1,
207 "type" : "string",
208 "typetext" : "<string>"
209 },
210 "disable" : {
211 "description" : "Flag to disable/deactivate the entry.",
212 "optional" : 1,
213 "type" : "boolean",
214 "typetext" : "<boolean>"
215 },
216 "id" : {
217 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
218 "format" : "pve-replication-job-id",
219 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
220 "type" : "string"
221 },
222 "rate" : {
223 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
224 "minimum" : 1,
225 "optional" : 1,
226 "type" : "number",
227 "typetext" : "<number> (1 - N)"
228 },
229 "remove_job" : {
230 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
231 "enum" : [
232 "local",
233 "full"
234 ],
235 "optional" : 1,
236 "type" : "string"
237 },
238 "schedule" : {
239 "default" : "*/15",
240 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
241 "format" : "pve-calendar-event",
242 "maxLength" : 128,
243 "optional" : 1,
244 "type" : "string",
245 "typetext" : "<string>"
246 },
a9a8e3d1
DM
247 "source" : {
248 "description" : "Source of the replication.",
249 "format" : "pve-node",
250 "optional" : 1,
251 "type" : "string",
252 "typetext" : "<string>"
253 },
5d9c884c
DM
254 "target" : {
255 "description" : "Target node.",
256 "format" : "pve-node",
257 "optional" : 0,
258 "type" : "string",
259 "typetext" : "<string>"
260 },
261 "type" : {
262 "description" : "Section type.",
263 "enum" : [
264 "local"
265 ],
266 "type" : "string"
267 }
268 },
269 "type" : "object"
270 },
271 "permissions" : {
272 "check" : [
273 "perm",
274 "/storage",
275 [
276 "Datastore.Allocate"
277 ]
278 ]
279 },
280 "protected" : 1,
281 "returns" : {
282 "type" : "null"
283 }
284 }
285 },
286 "leaf" : 0,
287 "path" : "/cluster/replication",
288 "text" : "replication"
289 },
32d876b5
DM
290 {
291 "children" : [
292 {
27a7acb2
DM
293 "children" : [
294 {
295 "info" : {
296 "DELETE" : {
297 "description" : "Removes a node from the cluster configuration.",
298 "method" : "DELETE",
299 "name" : "delnode",
300 "parameters" : {
301 "additionalProperties" : 0,
302 "properties" : {
303 "node" : {
304 "description" : "The cluster node name.",
305 "format" : "pve-node",
306 "type" : "string",
307 "typetext" : "<string>"
308 }
309 }
310 },
311 "protected" : 1,
312 "returns" : {
313 "type" : "null"
314 }
315 },
316 "POST" : {
317 "description" : "Adds a node to the cluster configuration.",
318 "method" : "POST",
319 "name" : "addnode",
320 "parameters" : {
321 "additionalProperties" : 0,
322 "properties" : {
323 "force" : {
324 "description" : "Do not throw error if node already exists.",
325 "optional" : 1,
326 "type" : "boolean",
327 "typetext" : "<boolean>"
328 },
329 "node" : {
330 "description" : "The cluster node name.",
331 "format" : "pve-node",
332 "type" : "string",
333 "typetext" : "<string>"
334 },
335 "nodeid" : {
336 "description" : "Node id for this node.",
337 "minimum" : 1,
338 "optional" : 1,
339 "type" : "integer",
340 "typetext" : "<integer> (1 - N)"
341 },
342 "ring0_addr" : {
343 "default" : "Hostname of the node",
344 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
345 "format" : "address",
346 "optional" : 1,
347 "type" : "string",
348 "typetext" : "<string>"
349 },
350 "ring1_addr" : {
351 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
352 "format" : "address",
353 "optional" : 1,
354 "type" : "string",
355 "typetext" : "<string>"
356 },
357 "votes" : {
358 "description" : "Number of votes for this node",
359 "minimum" : 0,
360 "optional" : 1,
361 "type" : "integer",
362 "typetext" : "<integer> (0 - N)"
363 }
364 }
365 },
366 "protected" : 1,
367 "returns" : {
368 "properties" : {
369 "corosync_authkey" : {
370 "type" : "string"
371 },
372 "corosync_conf" : {
373 "type" : "string"
374 }
375 },
376 "type" : "object"
377 }
378 }
379 },
380 "leaf" : 1,
381 "path" : "/cluster/config/nodes/{node}",
382 "text" : "{node}"
383 }
384 ],
32d876b5
DM
385 "info" : {
386 "GET" : {
387 "description" : "Corosync node list.",
388 "method" : "GET",
389 "name" : "nodes",
390 "parameters" : {
391 "additionalProperties" : 0
392 },
5d9c884c
DM
393 "permissions" : {
394 "check" : [
395 "perm",
396 "/",
397 [
398 "Sys.Audit"
399 ]
400 ]
401 },
32d876b5
DM
402 "returns" : {
403 "items" : {
404 "properties" : {
405 "node" : {
406 "type" : "string"
407 }
408 },
409 "type" : "object"
410 },
411 "links" : [
412 {
413 "href" : "{node}",
414 "rel" : "child"
415 }
416 ],
417 "type" : "array"
418 }
419 }
420 },
27a7acb2 421 "leaf" : 0,
32d876b5
DM
422 "path" : "/cluster/config/nodes",
423 "text" : "nodes"
424 },
27a7acb2
DM
425 {
426 "info" : {
427 "GET" : {
428 "description" : "Get information needed to join this cluster over the connected node.",
429 "method" : "GET",
430 "name" : "join_info",
431 "parameters" : {
432 "additionalProperties" : 0,
433 "properties" : {
434 "node" : {
435 "default" : "current connected node",
436 "description" : "The node for which the joinee gets the nodeinfo. ",
437 "format" : "pve-node",
438 "optional" : 1,
439 "type" : "string",
440 "typetext" : "<string>"
441 }
442 }
443 },
a9a8e3d1
DM
444 "permissions" : {
445 "check" : [
446 "perm",
447 "/",
448 [
449 "Sys.Audit"
450 ]
451 ]
452 },
27a7acb2
DM
453 "returns" : {
454 "additionalProperties" : 0,
455 "properties" : {
456 "config_digest" : {
457 "type" : "string"
458 },
459 "nodelist" : {
460 "items" : {
461 "additionalProperties" : 1,
462 "properties" : {
463 "name" : {
464 "description" : "The cluster node name.",
465 "format" : "pve-node",
466 "type" : "string"
467 },
468 "nodeid" : {
469 "description" : "Node id for this node.",
470 "minimum" : 1,
471 "optional" : 1,
472 "type" : "integer"
473 },
474 "pve_addr" : {
475 "format" : "ip",
476 "type" : "string"
477 },
478 "pve_fp" : {
479 "description" : "Certificate SHA 256 fingerprint.",
480 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
481 "type" : "string"
482 },
483 "quorum_votes" : {
484 "minimum" : 0,
485 "type" : "integer"
486 },
487 "ring0_addr" : {
488 "default" : "Hostname of the node",
489 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
490 "format" : "address",
491 "optional" : 1,
492 "type" : "string"
493 }
494 },
495 "type" : "object"
496 },
497 "type" : "array"
498 },
499 "preferred_node" : {
500 "description" : "The cluster node name.",
501 "format" : "pve-node",
502 "type" : "string"
503 },
504 "totem" : {
505 "type" : "object"
506 }
507 },
508 "type" : "object"
509 }
510 },
511 "POST" : {
512 "description" : "Joins this node into an existing cluster.",
513 "method" : "POST",
514 "name" : "join",
515 "parameters" : {
516 "additionalProperties" : 0,
517 "properties" : {
518 "fingerprint" : {
519 "description" : "Certificate SHA 256 fingerprint.",
520 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
521 "type" : "string"
522 },
523 "force" : {
524 "description" : "Do not throw error if node already exists.",
525 "optional" : 1,
526 "type" : "boolean",
527 "typetext" : "<boolean>"
528 },
529 "hostname" : {
530 "description" : "Hostname (or IP) of an existing cluster member.",
531 "type" : "string",
532 "typetext" : "<string>"
533 },
534 "nodeid" : {
535 "description" : "Node id for this node.",
536 "minimum" : 1,
537 "optional" : 1,
538 "type" : "integer",
539 "typetext" : "<integer> (1 - N)"
540 },
541 "password" : {
542 "description" : "Superuser (root) password of peer node.",
543 "maxLength" : 128,
544 "type" : "string",
545 "typetext" : "<string>"
546 },
547 "ring0_addr" : {
548 "default" : "IP resolved by node's hostname",
549 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
550 "format" : "address",
551 "optional" : 1,
552 "type" : "string",
553 "typetext" : "<string>"
554 },
555 "ring1_addr" : {
556 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
557 "format" : "address",
558 "optional" : 1,
559 "type" : "string",
560 "typetext" : "<string>"
561 },
562 "votes" : {
563 "description" : "Number of votes for this node",
564 "minimum" : 0,
565 "optional" : 1,
566 "type" : "integer",
567 "typetext" : "<integer> (0 - N)"
568 }
569 }
570 },
571 "protected" : 1,
572 "returns" : {
573 "type" : "string"
574 }
575 }
576 },
577 "leaf" : 1,
578 "path" : "/cluster/config/join",
579 "text" : "join"
580 },
32d876b5
DM
581 {
582 "info" : {
583 "GET" : {
584 "description" : "Get corosync totem protocol settings.",
585 "method" : "GET",
586 "name" : "totem",
587 "parameters" : {
588 "additionalProperties" : 0
589 },
5d9c884c
DM
590 "permissions" : {
591 "check" : [
592 "perm",
593 "/",
594 [
595 "Sys.Audit"
596 ]
597 ]
598 },
32d876b5 599 "returns" : {
32d876b5
DM
600 "type" : "object"
601 }
602 }
603 },
604 "leaf" : 1,
605 "path" : "/cluster/config/totem",
606 "text" : "totem"
607 }
608 ],
609 "info" : {
610 "GET" : {
611 "description" : "Directory index.",
612 "method" : "GET",
613 "name" : "index",
614 "parameters" : {
615 "additionalProperties" : 0
616 },
5d9c884c
DM
617 "permissions" : {
618 "check" : [
619 "perm",
620 "/",
621 [
622 "Sys.Audit"
623 ]
624 ]
625 },
32d876b5
DM
626 "returns" : {
627 "items" : {
628 "properties" : {},
629 "type" : "object"
630 },
631 "links" : [
632 {
633 "href" : "{name}",
634 "rel" : "child"
635 }
636 ],
637 "type" : "array"
638 }
27a7acb2
DM
639 },
640 "POST" : {
641 "description" : "Generate new cluster configuration.",
642 "method" : "POST",
643 "name" : "create",
644 "parameters" : {
645 "additionalProperties" : 0,
646 "properties" : {
647 "bindnet0_addr" : {
648 "description" : "This specifies the network address the corosync ring 0 executive should bind to and defaults to the local IP address of the node.",
649 "format" : "ip",
650 "optional" : 1,
651 "type" : "string",
652 "typetext" : "<string>"
653 },
654 "bindnet1_addr" : {
655 "description" : "This specifies the network address the corosync ring 1 executive should bind to and is optional.",
656 "format" : "ip",
657 "optional" : 1,
658 "type" : "string",
659 "typetext" : "<string>"
660 },
661 "clustername" : {
662 "description" : "The name of the cluster.",
663 "format" : "pve-node",
664 "maxLength" : 15,
665 "type" : "string",
666 "typetext" : "<string>"
667 },
668 "nodeid" : {
669 "description" : "Node id for this node.",
670 "minimum" : 1,
671 "optional" : 1,
672 "type" : "integer",
673 "typetext" : "<integer> (1 - N)"
674 },
675 "ring0_addr" : {
676 "default" : "Hostname of the node",
677 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
678 "format" : "address",
679 "optional" : 1,
680 "type" : "string",
681 "typetext" : "<string>"
682 },
683 "ring1_addr" : {
684 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
685 "format" : "address",
686 "optional" : 1,
687 "type" : "string",
688 "typetext" : "<string>"
689 },
690 "votes" : {
691 "description" : "Number of votes for this node.",
692 "minimum" : 1,
693 "optional" : 1,
694 "type" : "integer",
695 "typetext" : "<integer> (1 - N)"
696 }
697 }
698 },
699 "protected" : 1,
700 "returns" : {
701 "type" : "string"
702 }
32d876b5
DM
703 }
704 },
705 "leaf" : 0,
706 "path" : "/cluster/config",
707 "text" : "config"
708 },
56122987 709 {
56122987
DM
710 "children" : [
711 {
56122987
DM
712 "children" : [
713 {
44660702
DM
714 "children" : [
715 {
716 "info" : {
717 "DELETE" : {
718 "description" : "Delete rule.",
719 "method" : "DELETE",
720 "name" : "delete_rule",
721 "parameters" : {
722 "additionalProperties" : 0,
723 "properties" : {
724 "digest" : {
725 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
726 "maxLength" : 40,
727 "optional" : 1,
013dc89f
DM
728 "type" : "string",
729 "typetext" : "<string>"
44660702
DM
730 },
731 "group" : {
732 "description" : "Security Group name.",
4bd7df8b 733 "maxLength" : 18,
44660702
DM
734 "minLength" : 2,
735 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
736 "type" : "string"
737 },
738 "pos" : {
739 "description" : "Update rule at position <pos>.",
740 "minimum" : 0,
741 "optional" : 1,
4bd7df8b 742 "type" : "integer",
013dc89f 743 "typetext" : "<integer> (0 - N)"
44660702
DM
744 }
745 }
746 },
747 "permissions" : {
748 "check" : [
749 "perm",
750 "/",
751 [
752 "Sys.Modify"
753 ]
754 ]
755 },
756 "protected" : 1,
757 "proxyto" : null,
758 "returns" : {
759 "type" : "null"
7aacca6f
DM
760 }
761 },
44660702
DM
762 "GET" : {
763 "description" : "Get single rule data.",
764 "method" : "GET",
765 "name" : "get_rule",
766 "parameters" : {
767 "additionalProperties" : 0,
768 "properties" : {
769 "group" : {
770 "description" : "Security Group name.",
4bd7df8b 771 "maxLength" : 18,
44660702
DM
772 "minLength" : 2,
773 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
774 "type" : "string"
775 },
776 "pos" : {
777 "description" : "Update rule at position <pos>.",
778 "minimum" : 0,
779 "optional" : 1,
4bd7df8b 780 "type" : "integer",
013dc89f 781 "typetext" : "<integer> (0 - N)"
44660702 782 }
7aacca6f 783 }
56122987 784 },
44660702
DM
785 "permissions" : {
786 "check" : [
787 "perm",
788 "/",
789 [
790 "Sys.Audit"
791 ]
792 ]
793 },
794 "proxyto" : null,
795 "returns" : {
796 "properties" : {
797 "pos" : {
798 "type" : "integer"
799 }
800 },
801 "type" : "object"
56122987 802 }
44660702 803 },
7aacca6f 804 "PUT" : {
44660702
DM
805 "description" : "Modify rule data.",
806 "method" : "PUT",
807 "name" : "update_rule",
7aacca6f
DM
808 "parameters" : {
809 "additionalProperties" : 0,
810 "properties" : {
44660702
DM
811 "action" : {
812 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 813 "maxLength" : 20,
44660702 814 "minLength" : 2,
7aacca6f 815 "optional" : 1,
44660702 816 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
817 "type" : "string"
818 },
44660702 819 "comment" : {
e94f0d56 820 "description" : "Descriptive comment.",
7aacca6f 821 "optional" : 1,
013dc89f
DM
822 "type" : "string",
823 "typetext" : "<string>"
7aacca6f 824 },
44660702
DM
825 "delete" : {
826 "description" : "A list of settings you want to delete.",
827 "format" : "pve-configid-list",
7aacca6f 828 "optional" : 1,
013dc89f
DM
829 "type" : "string",
830 "typetext" : "<string>"
7aacca6f 831 },
44660702
DM
832 "dest" : {
833 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
834 "format" : "pve-fw-addr-spec",
7aacca6f 835 "optional" : 1,
013dc89f
DM
836 "type" : "string",
837 "typetext" : "<string>"
7aacca6f
DM
838 },
839 "digest" : {
840 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 841 "maxLength" : 40,
7aacca6f 842 "optional" : 1,
013dc89f
DM
843 "type" : "string",
844 "typetext" : "<string>"
7aacca6f 845 },
44660702
DM
846 "dport" : {
847 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
848 "format" : "pve-fw-dport-spec",
7aacca6f 849 "optional" : 1,
013dc89f
DM
850 "type" : "string",
851 "typetext" : "<string>"
7aacca6f 852 },
44660702 853 "enable" : {
e94f0d56 854 "description" : "Flag to enable/disable a rule.",
44660702 855 "minimum" : 0,
7aacca6f 856 "optional" : 1,
4bd7df8b 857 "type" : "integer",
013dc89f 858 "typetext" : "<integer> (0 - N)"
7aacca6f 859 },
44660702
DM
860 "group" : {
861 "description" : "Security Group name.",
4bd7df8b 862 "maxLength" : 18,
44660702
DM
863 "minLength" : 2,
864 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
865 "type" : "string"
866 },
867 "iface" : {
868 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
869 "format" : "pve-iface",
870 "maxLength" : 20,
871 "minLength" : 2,
7aacca6f 872 "optional" : 1,
013dc89f
DM
873 "type" : "string",
874 "typetext" : "<string>"
7aacca6f 875 },
44660702 876 "macro" : {
e94f0d56 877 "description" : "Use predefined standard macro.",
44660702
DM
878 "maxLength" : 128,
879 "optional" : 1,
013dc89f
DM
880 "type" : "string",
881 "typetext" : "<string>"
7aacca6f
DM
882 },
883 "moveto" : {
884 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 885 "minimum" : 0,
7aacca6f 886 "optional" : 1,
4bd7df8b 887 "type" : "integer",
013dc89f 888 "typetext" : "<integer> (0 - N)"
7aacca6f 889 },
44660702
DM
890 "pos" : {
891 "description" : "Update rule at position <pos>.",
892 "minimum" : 0,
893 "optional" : 1,
4bd7df8b 894 "type" : "integer",
013dc89f 895 "typetext" : "<integer> (0 - N)"
7aacca6f 896 },
44660702
DM
897 "proto" : {
898 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
899 "format" : "pve-fw-protocol-spec",
7aacca6f 900 "optional" : 1,
013dc89f
DM
901 "type" : "string",
902 "typetext" : "<string>"
44660702
DM
903 },
904 "source" : {
905 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
906 "format" : "pve-fw-addr-spec",
907 "optional" : 1,
013dc89f
DM
908 "type" : "string",
909 "typetext" : "<string>"
44660702
DM
910 },
911 "sport" : {
912 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
913 "format" : "pve-fw-sport-spec",
914 "optional" : 1,
013dc89f
DM
915 "type" : "string",
916 "typetext" : "<string>"
7aacca6f
DM
917 },
918 "type" : {
e94f0d56 919 "description" : "Rule type.",
7aacca6f
DM
920 "enum" : [
921 "in",
922 "out",
923 "group"
924 ],
925 "optional" : 1,
926 "type" : "string"
927 }
928 }
929 },
7aacca6f
DM
930 "permissions" : {
931 "check" : [
932 "perm",
933 "/",
934 [
935 "Sys.Modify"
936 ]
937 ]
938 },
44660702 939 "protected" : 1,
7aacca6f
DM
940 "proxyto" : null,
941 "returns" : {
942 "type" : "null"
943 }
7aacca6f
DM
944 }
945 },
44660702 946 "leaf" : 1,
7aacca6f 947 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 948 "text" : "{pos}"
7aacca6f
DM
949 }
950 ],
44660702
DM
951 "info" : {
952 "DELETE" : {
953 "description" : "Delete security group.",
954 "method" : "DELETE",
955 "name" : "delete_security_group",
956 "parameters" : {
957 "additionalProperties" : 0,
958 "properties" : {
959 "group" : {
960 "description" : "Security Group name.",
4bd7df8b 961 "maxLength" : 18,
44660702
DM
962 "minLength" : 2,
963 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
964 "type" : "string"
965 }
56122987 966 }
7aacca6f 967 },
44660702
DM
968 "permissions" : {
969 "check" : [
970 "perm",
971 "/",
972 [
973 "Sys.Modify"
974 ]
7aacca6f 975 ]
56122987 976 },
44660702
DM
977 "protected" : 1,
978 "returns" : {
979 "type" : "null"
56122987 980 }
7aacca6f 981 },
7aacca6f 982 "GET" : {
44660702 983 "description" : "List rules.",
7aacca6f 984 "method" : "GET",
44660702
DM
985 "name" : "get_rules",
986 "parameters" : {
987 "additionalProperties" : 0,
7aacca6f 988 "properties" : {
44660702
DM
989 "group" : {
990 "description" : "Security Group name.",
4bd7df8b 991 "maxLength" : 18,
44660702
DM
992 "minLength" : 2,
993 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
994 "type" : "string"
7aacca6f 995 }
44660702 996 }
7aacca6f
DM
997 },
998 "permissions" : {
999 "check" : [
1000 "perm",
1001 "/",
1002 [
1003 "Sys.Audit"
1004 ]
1005 ]
1006 },
44660702
DM
1007 "proxyto" : null,
1008 "returns" : {
1009 "items" : {
1010 "properties" : {
1011 "pos" : {
1012 "type" : "integer"
1013 }
1014 },
1015 "type" : "object"
1016 },
1017 "links" : [
1018 {
1019 "href" : "{pos}",
1020 "rel" : "child"
1021 }
1022 ],
1023 "type" : "array"
1024 }
1025 },
1026 "POST" : {
1027 "description" : "Create new rule.",
1028 "method" : "POST",
1029 "name" : "create_rule",
7aacca6f
DM
1030 "parameters" : {
1031 "additionalProperties" : 0,
1032 "properties" : {
44660702
DM
1033 "action" : {
1034 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1035 "maxLength" : 20,
56122987 1036 "minLength" : 2,
44660702
DM
1037 "optional" : 0,
1038 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1039 "type" : "string"
56122987 1040 },
44660702 1041 "comment" : {
e94f0d56 1042 "description" : "Descriptive comment.",
56122987 1043 "optional" : 1,
013dc89f
DM
1044 "type" : "string",
1045 "typetext" : "<string>"
56122987 1046 },
44660702
DM
1047 "dest" : {
1048 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
56122987
DM
1049 "format" : "pve-fw-addr-spec",
1050 "optional" : 1,
013dc89f
DM
1051 "type" : "string",
1052 "typetext" : "<string>"
56122987 1053 },
44660702
DM
1054 "digest" : {
1055 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1056 "maxLength" : 40,
7aacca6f 1057 "optional" : 1,
013dc89f
DM
1058 "type" : "string",
1059 "typetext" : "<string>"
56122987 1060 },
44660702
DM
1061 "dport" : {
1062 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1063 "format" : "pve-fw-dport-spec",
56122987 1064 "optional" : 1,
013dc89f
DM
1065 "type" : "string",
1066 "typetext" : "<string>"
56122987 1067 },
7aacca6f 1068 "enable" : {
e94f0d56 1069 "description" : "Flag to enable/disable a rule.",
44660702 1070 "minimum" : 0,
7aacca6f 1071 "optional" : 1,
4bd7df8b 1072 "type" : "integer",
013dc89f 1073 "typetext" : "<integer> (0 - N)"
56122987 1074 },
44660702
DM
1075 "group" : {
1076 "description" : "Security Group name.",
4bd7df8b 1077 "maxLength" : 18,
44660702 1078 "minLength" : 2,
7aacca6f 1079 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1080 "type" : "string"
1081 },
1082 "iface" : {
1083 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
1084 "format" : "pve-iface",
1085 "maxLength" : 20,
7aacca6f 1086 "minLength" : 2,
44660702 1087 "optional" : 1,
013dc89f
DM
1088 "type" : "string",
1089 "typetext" : "<string>"
56122987 1090 },
7aacca6f 1091 "macro" : {
e94f0d56 1092 "description" : "Use predefined standard macro.",
44660702 1093 "maxLength" : 128,
7aacca6f 1094 "optional" : 1,
013dc89f
DM
1095 "type" : "string",
1096 "typetext" : "<string>"
7aacca6f
DM
1097 },
1098 "pos" : {
1099 "description" : "Update rule at position <pos>.",
44660702 1100 "minimum" : 0,
56122987 1101 "optional" : 1,
4bd7df8b 1102 "type" : "integer",
013dc89f 1103 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1104 },
1105 "proto" : {
1106 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1107 "format" : "pve-fw-protocol-spec",
7aacca6f 1108 "optional" : 1,
013dc89f
DM
1109 "type" : "string",
1110 "typetext" : "<string>"
44660702
DM
1111 },
1112 "source" : {
1113 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1114 "format" : "pve-fw-addr-spec",
1115 "optional" : 1,
013dc89f
DM
1116 "type" : "string",
1117 "typetext" : "<string>"
44660702
DM
1118 },
1119 "sport" : {
1120 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1121 "format" : "pve-fw-sport-spec",
1122 "optional" : 1,
013dc89f
DM
1123 "type" : "string",
1124 "typetext" : "<string>"
44660702
DM
1125 },
1126 "type" : {
e94f0d56 1127 "description" : "Rule type.",
44660702
DM
1128 "enum" : [
1129 "in",
1130 "out",
1131 "group"
1132 ],
1133 "optional" : 0,
1134 "type" : "string"
56122987 1135 }
44660702 1136 }
56122987 1137 },
56122987
DM
1138 "permissions" : {
1139 "check" : [
1140 "perm",
1141 "/",
1142 [
1143 "Sys.Modify"
1144 ]
1145 ]
1146 },
44660702
DM
1147 "protected" : 1,
1148 "proxyto" : null,
56122987
DM
1149 "returns" : {
1150 "type" : "null"
7aacca6f 1151 }
44660702
DM
1152 }
1153 },
1154 "leaf" : 0,
1155 "path" : "/cluster/firewall/groups/{group}",
1156 "text" : "{group}"
1157 }
1158 ],
1159 "info" : {
1160 "GET" : {
1161 "description" : "List security groups.",
1162 "method" : "GET",
1163 "name" : "list_security_groups",
1164 "parameters" : {
1165 "additionalProperties" : 0
1166 },
1167 "permissions" : {
1168 "user" : "all"
1169 },
1170 "returns" : {
1171 "items" : {
1172 "properties" : {
1173 "comment" : {
1174 "optional" : 1,
1175 "type" : "string"
1176 },
1177 "digest" : {
1178 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1179 "maxLength" : 40,
1180 "optional" : 0,
1181 "type" : "string"
1182 },
1183 "group" : {
1184 "description" : "Security Group name.",
4bd7df8b 1185 "maxLength" : 18,
44660702
DM
1186 "minLength" : 2,
1187 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1188 "type" : "string"
1189 }
1190 },
1191 "type" : "object"
56122987 1192 },
44660702
DM
1193 "links" : [
1194 {
1195 "href" : "{group}",
1196 "rel" : "child"
1197 }
1198 ],
1199 "type" : "array"
1200 }
1201 },
1202 "POST" : {
1203 "description" : "Create new security group.",
1204 "method" : "POST",
1205 "name" : "create_security_group",
1206 "parameters" : {
1207 "additionalProperties" : 0,
1208 "properties" : {
1209 "comment" : {
1210 "optional" : 1,
013dc89f
DM
1211 "type" : "string",
1212 "typetext" : "<string>"
44660702
DM
1213 },
1214 "digest" : {
1215 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1216 "maxLength" : 40,
1217 "optional" : 1,
013dc89f
DM
1218 "type" : "string",
1219 "typetext" : "<string>"
44660702
DM
1220 },
1221 "group" : {
1222 "description" : "Security Group name.",
4bd7df8b 1223 "maxLength" : 18,
44660702
DM
1224 "minLength" : 2,
1225 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1226 "type" : "string"
1227 },
1228 "rename" : {
1229 "description" : "Rename/update an existing security group. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing group.",
4bd7df8b 1230 "maxLength" : 18,
44660702
DM
1231 "minLength" : 2,
1232 "optional" : 1,
1233 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1234 "type" : "string"
1235 }
1236 }
1237 },
1238 "permissions" : {
1239 "check" : [
1240 "perm",
1241 "/",
1242 [
1243 "Sys.Modify"
1244 ]
1245 ]
1246 },
1247 "protected" : 1,
1248 "returns" : {
1249 "type" : "null"
1250 }
1251 }
1252 },
1253 "leaf" : 0,
1254 "path" : "/cluster/firewall/groups",
1255 "text" : "groups"
1256 },
1257 {
1258 "children" : [
1259 {
1260 "info" : {
7aacca6f 1261 "DELETE" : {
44660702
DM
1262 "description" : "Delete rule.",
1263 "method" : "DELETE",
1264 "name" : "delete_rule",
1265 "parameters" : {
1266 "additionalProperties" : 0,
1267 "properties" : {
1268 "digest" : {
1269 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1270 "maxLength" : 40,
1271 "optional" : 1,
013dc89f
DM
1272 "type" : "string",
1273 "typetext" : "<string>"
44660702
DM
1274 },
1275 "pos" : {
1276 "description" : "Update rule at position <pos>.",
1277 "minimum" : 0,
1278 "optional" : 1,
4bd7df8b 1279 "type" : "integer",
013dc89f 1280 "typetext" : "<integer> (0 - N)"
44660702
DM
1281 }
1282 }
1283 },
56122987
DM
1284 "permissions" : {
1285 "check" : [
1286 "perm",
1287 "/",
1288 [
7aacca6f 1289 "Sys.Modify"
56122987
DM
1290 ]
1291 ]
1292 },
44660702 1293 "protected" : 1,
56122987
DM
1294 "proxyto" : null,
1295 "returns" : {
7aacca6f 1296 "type" : "null"
44660702
DM
1297 }
1298 },
1299 "GET" : {
1300 "description" : "Get single rule data.",
1301 "method" : "GET",
1302 "name" : "get_rule",
56122987
DM
1303 "parameters" : {
1304 "additionalProperties" : 0,
1305 "properties" : {
1306 "pos" : {
7aacca6f 1307 "description" : "Update rule at position <pos>.",
44660702 1308 "minimum" : 0,
56122987 1309 "optional" : 1,
4bd7df8b 1310 "type" : "integer",
013dc89f 1311 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1312 }
1313 }
1314 },
7aacca6f
DM
1315 "permissions" : {
1316 "check" : [
1317 "perm",
1318 "/",
1319 [
1320 "Sys.Audit"
1321 ]
1322 ]
56122987 1323 },
44660702
DM
1324 "proxyto" : null,
1325 "returns" : {
7aacca6f 1326 "properties" : {
44660702
DM
1327 "pos" : {
1328 "type" : "integer"
7aacca6f 1329 }
44660702
DM
1330 },
1331 "type" : "object"
1332 }
56122987 1333 },
44660702
DM
1334 "PUT" : {
1335 "description" : "Modify rule data.",
1336 "method" : "PUT",
1337 "name" : "update_rule",
7aacca6f
DM
1338 "parameters" : {
1339 "additionalProperties" : 0,
1340 "properties" : {
44660702
DM
1341 "action" : {
1342 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1343 "maxLength" : 20,
1344 "minLength" : 2,
1345 "optional" : 1,
1346 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1347 "type" : "string"
7aacca6f 1348 },
44660702 1349 "comment" : {
e94f0d56 1350 "description" : "Descriptive comment.",
44660702 1351 "optional" : 1,
013dc89f
DM
1352 "type" : "string",
1353 "typetext" : "<string>"
7aacca6f 1354 },
44660702
DM
1355 "delete" : {
1356 "description" : "A list of settings you want to delete.",
1357 "format" : "pve-configid-list",
1358 "optional" : 1,
013dc89f
DM
1359 "type" : "string",
1360 "typetext" : "<string>"
44660702
DM
1361 },
1362 "dest" : {
1363 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1364 "format" : "pve-fw-addr-spec",
1365 "optional" : 1,
013dc89f
DM
1366 "type" : "string",
1367 "typetext" : "<string>"
44660702
DM
1368 },
1369 "digest" : {
1370 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1371 "maxLength" : 40,
1372 "optional" : 1,
013dc89f
DM
1373 "type" : "string",
1374 "typetext" : "<string>"
44660702
DM
1375 },
1376 "dport" : {
1377 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1378 "format" : "pve-fw-dport-spec",
1379 "optional" : 1,
013dc89f
DM
1380 "type" : "string",
1381 "typetext" : "<string>"
44660702
DM
1382 },
1383 "enable" : {
e94f0d56 1384 "description" : "Flag to enable/disable a rule.",
44660702
DM
1385 "minimum" : 0,
1386 "optional" : 1,
4bd7df8b 1387 "type" : "integer",
013dc89f 1388 "typetext" : "<integer> (0 - N)"
44660702
DM
1389 },
1390 "iface" : {
1391 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
1392 "format" : "pve-iface",
1393 "maxLength" : 20,
7aacca6f 1394 "minLength" : 2,
44660702 1395 "optional" : 1,
013dc89f
DM
1396 "type" : "string",
1397 "typetext" : "<string>"
7aacca6f 1398 },
44660702 1399 "macro" : {
e94f0d56 1400 "description" : "Use predefined standard macro.",
44660702
DM
1401 "maxLength" : 128,
1402 "optional" : 1,
013dc89f
DM
1403 "type" : "string",
1404 "typetext" : "<string>"
44660702
DM
1405 },
1406 "moveto" : {
1407 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1408 "minimum" : 0,
1409 "optional" : 1,
4bd7df8b 1410 "type" : "integer",
013dc89f 1411 "typetext" : "<integer> (0 - N)"
44660702
DM
1412 },
1413 "pos" : {
1414 "description" : "Update rule at position <pos>.",
1415 "minimum" : 0,
1416 "optional" : 1,
4bd7df8b 1417 "type" : "integer",
013dc89f 1418 "typetext" : "<integer> (0 - N)"
44660702
DM
1419 },
1420 "proto" : {
1421 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1422 "format" : "pve-fw-protocol-spec",
1423 "optional" : 1,
013dc89f
DM
1424 "type" : "string",
1425 "typetext" : "<string>"
44660702
DM
1426 },
1427 "source" : {
1428 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1429 "format" : "pve-fw-addr-spec",
1430 "optional" : 1,
013dc89f
DM
1431 "type" : "string",
1432 "typetext" : "<string>"
44660702
DM
1433 },
1434 "sport" : {
1435 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1436 "format" : "pve-fw-sport-spec",
1437 "optional" : 1,
013dc89f
DM
1438 "type" : "string",
1439 "typetext" : "<string>"
44660702
DM
1440 },
1441 "type" : {
e94f0d56 1442 "description" : "Rule type.",
44660702
DM
1443 "enum" : [
1444 "in",
1445 "out",
1446 "group"
1447 ],
1448 "optional" : 1,
1449 "type" : "string"
7aacca6f 1450 }
56122987
DM
1451 }
1452 },
7aacca6f
DM
1453 "permissions" : {
1454 "check" : [
1455 "perm",
1456 "/",
1457 [
1458 "Sys.Modify"
1459 ]
1460 ]
1461 },
44660702
DM
1462 "protected" : 1,
1463 "proxyto" : null,
1464 "returns" : {
1465 "type" : "null"
1466 }
7aacca6f 1467 }
56122987 1468 },
44660702
DM
1469 "leaf" : 1,
1470 "path" : "/cluster/firewall/rules/{pos}",
1471 "text" : "{pos}"
7aacca6f
DM
1472 }
1473 ],
7aacca6f 1474 "info" : {
44660702
DM
1475 "GET" : {
1476 "description" : "List rules.",
1477 "method" : "GET",
1478 "name" : "get_rules",
7aacca6f 1479 "parameters" : {
44660702 1480 "additionalProperties" : 0
7aacca6f
DM
1481 },
1482 "permissions" : {
1483 "check" : [
1484 "perm",
1485 "/",
1486 [
44660702 1487 "Sys.Audit"
7aacca6f
DM
1488 ]
1489 ]
1490 },
44660702 1491 "proxyto" : null,
7aacca6f 1492 "returns" : {
7aacca6f
DM
1493 "items" : {
1494 "properties" : {
44660702
DM
1495 "pos" : {
1496 "type" : "integer"
7aacca6f
DM
1497 }
1498 },
1499 "type" : "object"
56122987 1500 },
7aacca6f
DM
1501 "links" : [
1502 {
44660702 1503 "href" : "{pos}",
7aacca6f
DM
1504 "rel" : "child"
1505 }
44660702
DM
1506 ],
1507 "type" : "array"
7aacca6f 1508 }
44660702 1509 },
7aacca6f 1510 "POST" : {
44660702 1511 "description" : "Create new rule.",
7aacca6f 1512 "method" : "POST",
44660702 1513 "name" : "create_rule",
7aacca6f
DM
1514 "parameters" : {
1515 "additionalProperties" : 0,
1516 "properties" : {
44660702
DM
1517 "action" : {
1518 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1519 "maxLength" : 20,
7aacca6f 1520 "minLength" : 2,
44660702
DM
1521 "optional" : 0,
1522 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1523 "type" : "string"
7aacca6f
DM
1524 },
1525 "comment" : {
e94f0d56 1526 "description" : "Descriptive comment.",
7aacca6f 1527 "optional" : 1,
013dc89f
DM
1528 "type" : "string",
1529 "typetext" : "<string>"
44660702
DM
1530 },
1531 "dest" : {
1532 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1533 "format" : "pve-fw-addr-spec",
1534 "optional" : 1,
013dc89f
DM
1535 "type" : "string",
1536 "typetext" : "<string>"
44660702
DM
1537 },
1538 "digest" : {
1539 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1540 "maxLength" : 40,
1541 "optional" : 1,
013dc89f
DM
1542 "type" : "string",
1543 "typetext" : "<string>"
44660702
DM
1544 },
1545 "dport" : {
1546 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1547 "format" : "pve-fw-dport-spec",
1548 "optional" : 1,
013dc89f
DM
1549 "type" : "string",
1550 "typetext" : "<string>"
44660702
DM
1551 },
1552 "enable" : {
e94f0d56 1553 "description" : "Flag to enable/disable a rule.",
44660702
DM
1554 "minimum" : 0,
1555 "optional" : 1,
4bd7df8b 1556 "type" : "integer",
013dc89f 1557 "typetext" : "<integer> (0 - N)"
44660702
DM
1558 },
1559 "iface" : {
1560 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
1561 "format" : "pve-iface",
1562 "maxLength" : 20,
1563 "minLength" : 2,
1564 "optional" : 1,
013dc89f
DM
1565 "type" : "string",
1566 "typetext" : "<string>"
44660702
DM
1567 },
1568 "macro" : {
e94f0d56 1569 "description" : "Use predefined standard macro.",
44660702
DM
1570 "maxLength" : 128,
1571 "optional" : 1,
013dc89f
DM
1572 "type" : "string",
1573 "typetext" : "<string>"
44660702
DM
1574 },
1575 "pos" : {
1576 "description" : "Update rule at position <pos>.",
1577 "minimum" : 0,
1578 "optional" : 1,
4bd7df8b 1579 "type" : "integer",
013dc89f 1580 "typetext" : "<integer> (0 - N)"
44660702
DM
1581 },
1582 "proto" : {
1583 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1584 "format" : "pve-fw-protocol-spec",
1585 "optional" : 1,
013dc89f
DM
1586 "type" : "string",
1587 "typetext" : "<string>"
44660702
DM
1588 },
1589 "source" : {
1590 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1591 "format" : "pve-fw-addr-spec",
1592 "optional" : 1,
013dc89f
DM
1593 "type" : "string",
1594 "typetext" : "<string>"
44660702
DM
1595 },
1596 "sport" : {
1597 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1598 "format" : "pve-fw-sport-spec",
1599 "optional" : 1,
013dc89f
DM
1600 "type" : "string",
1601 "typetext" : "<string>"
44660702
DM
1602 },
1603 "type" : {
e94f0d56 1604 "description" : "Rule type.",
44660702
DM
1605 "enum" : [
1606 "in",
1607 "out",
1608 "group"
1609 ],
1610 "optional" : 0,
1611 "type" : "string"
7aacca6f
DM
1612 }
1613 }
1614 },
1615 "permissions" : {
1616 "check" : [
1617 "perm",
1618 "/",
1619 [
1620 "Sys.Modify"
1621 ]
1622 ]
1623 },
44660702
DM
1624 "protected" : 1,
1625 "proxyto" : null,
7aacca6f 1626 "returns" : {
44660702
DM
1627 "type" : "null"
1628 }
1629 }
1630 },
1631 "leaf" : 0,
1632 "path" : "/cluster/firewall/rules",
1633 "text" : "rules"
1634 },
1635 {
1636 "children" : [
1637 {
1638 "children" : [
1639 {
1640 "info" : {
1641 "DELETE" : {
1642 "description" : "Remove IP or Network from IPSet.",
1643 "method" : "DELETE",
1644 "name" : "remove_ip",
1645 "parameters" : {
1646 "additionalProperties" : 0,
1647 "properties" : {
1648 "cidr" : {
1649 "description" : "Network/IP specification in CIDR format.",
1650 "format" : "IPorCIDRorAlias",
013dc89f
DM
1651 "type" : "string",
1652 "typetext" : "<string>"
44660702
DM
1653 },
1654 "digest" : {
1655 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1656 "maxLength" : 40,
1657 "optional" : 1,
013dc89f
DM
1658 "type" : "string",
1659 "typetext" : "<string>"
44660702
DM
1660 },
1661 "name" : {
1662 "description" : "IP set name.",
1663 "maxLength" : 64,
1664 "minLength" : 2,
1665 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1666 "type" : "string"
1667 }
1668 }
1669 },
1670 "permissions" : {
1671 "check" : [
1672 "perm",
1673 "/",
1674 [
1675 "Sys.Modify"
1676 ]
1677 ]
1678 },
1679 "protected" : 1,
1680 "returns" : {
1681 "type" : "null"
1682 }
7aacca6f 1683 },
44660702
DM
1684 "GET" : {
1685 "description" : "Read IP or Network settings from IPSet.",
1686 "method" : "GET",
1687 "name" : "read_ip",
1688 "parameters" : {
1689 "additionalProperties" : 0,
1690 "properties" : {
1691 "cidr" : {
1692 "description" : "Network/IP specification in CIDR format.",
1693 "format" : "IPorCIDRorAlias",
013dc89f
DM
1694 "type" : "string",
1695 "typetext" : "<string>"
44660702
DM
1696 },
1697 "name" : {
1698 "description" : "IP set name.",
1699 "maxLength" : 64,
1700 "minLength" : 2,
1701 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1702 "type" : "string"
1703 }
1704 }
1705 },
1706 "permissions" : {
1707 "check" : [
1708 "perm",
1709 "/",
1710 [
1711 "Sys.Audit"
1712 ]
1713 ]
1714 },
1715 "protected" : 1,
1716 "returns" : {
1717 "type" : "object"
1718 }
7aacca6f 1719 },
44660702
DM
1720 "PUT" : {
1721 "description" : "Update IP or Network settings",
1722 "method" : "PUT",
1723 "name" : "update_ip",
1724 "parameters" : {
1725 "additionalProperties" : 0,
1726 "properties" : {
1727 "cidr" : {
1728 "description" : "Network/IP specification in CIDR format.",
1729 "format" : "IPorCIDRorAlias",
013dc89f
DM
1730 "type" : "string",
1731 "typetext" : "<string>"
44660702
DM
1732 },
1733 "comment" : {
1734 "optional" : 1,
013dc89f
DM
1735 "type" : "string",
1736 "typetext" : "<string>"
44660702
DM
1737 },
1738 "digest" : {
1739 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1740 "maxLength" : 40,
1741 "optional" : 1,
013dc89f
DM
1742 "type" : "string",
1743 "typetext" : "<string>"
44660702
DM
1744 },
1745 "name" : {
1746 "description" : "IP set name.",
1747 "maxLength" : 64,
1748 "minLength" : 2,
1749 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1750 "type" : "string"
1751 },
1752 "nomatch" : {
1753 "optional" : 1,
013dc89f
DM
1754 "type" : "boolean",
1755 "typetext" : "<boolean>"
44660702
DM
1756 }
1757 }
1758 },
1759 "permissions" : {
1760 "check" : [
1761 "perm",
1762 "/",
1763 [
1764 "Sys.Modify"
1765 ]
1766 ]
1767 },
1768 "protected" : 1,
1769 "returns" : {
1770 "type" : "null"
1771 }
7aacca6f
DM
1772 }
1773 },
44660702
DM
1774 "leaf" : 1,
1775 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1776 "text" : "{cidr}"
7aacca6f 1777 }
44660702 1778 ],
7aacca6f
DM
1779 "info" : {
1780 "DELETE" : {
44660702
DM
1781 "description" : "Delete IPSet",
1782 "method" : "DELETE",
1783 "name" : "delete_ipset",
56122987 1784 "parameters" : {
44660702 1785 "additionalProperties" : 0,
56122987
DM
1786 "properties" : {
1787 "name" : {
44660702 1788 "description" : "IP set name.",
56122987 1789 "maxLength" : 64,
44660702 1790 "minLength" : 2,
56122987 1791 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 1792 "type" : "string"
56122987 1793 }
44660702 1794 }
7aacca6f 1795 },
56122987
DM
1796 "permissions" : {
1797 "check" : [
1798 "perm",
1799 "/",
1800 [
1801 "Sys.Modify"
1802 ]
1803 ]
1804 },
7aacca6f
DM
1805 "protected" : 1,
1806 "returns" : {
1807 "type" : "null"
44660702 1808 }
7aacca6f 1809 },
44660702
DM
1810 "GET" : {
1811 "description" : "List IPSet content",
1812 "method" : "GET",
1813 "name" : "get_ipset",
56122987
DM
1814 "parameters" : {
1815 "additionalProperties" : 0,
1816 "properties" : {
7aacca6f 1817 "name" : {
44660702 1818 "description" : "IP set name.",
7aacca6f 1819 "maxLength" : 64,
7aacca6f 1820 "minLength" : 2,
44660702 1821 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 1822 "type" : "string"
56122987 1823 }
7aacca6f 1824 }
56122987 1825 },
56122987
DM
1826 "permissions" : {
1827 "check" : [
1828 "perm",
1829 "/",
1830 [
44660702 1831 "Sys.Audit"
56122987
DM
1832 ]
1833 ]
44660702
DM
1834 },
1835 "returns" : {
1836 "items" : {
1837 "properties" : {
1838 "cidr" : {
1839 "type" : "string"
1840 },
1841 "comment" : {
1842 "optional" : 1,
1843 "type" : "string"
1844 },
1845 "digest" : {
1846 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1847 "maxLength" : 40,
1848 "optional" : 0,
1849 "type" : "string"
1850 },
1851 "nomatch" : {
1852 "optional" : 1,
1853 "type" : "boolean"
1854 }
1855 },
1856 "type" : "object"
1857 },
1858 "links" : [
1859 {
1860 "href" : "{cidr}",
1861 "rel" : "child"
1862 }
1863 ],
1864 "type" : "array"
7aacca6f
DM
1865 }
1866 },
44660702
DM
1867 "POST" : {
1868 "description" : "Add IP or Network to IPSet.",
1869 "method" : "POST",
1870 "name" : "create_ip",
56122987
DM
1871 "parameters" : {
1872 "additionalProperties" : 0,
1873 "properties" : {
44660702
DM
1874 "cidr" : {
1875 "description" : "Network/IP specification in CIDR format.",
1876 "format" : "IPorCIDRorAlias",
013dc89f
DM
1877 "type" : "string",
1878 "typetext" : "<string>"
44660702
DM
1879 },
1880 "comment" : {
1881 "optional" : 1,
013dc89f
DM
1882 "type" : "string",
1883 "typetext" : "<string>"
44660702
DM
1884 },
1885 "name" : {
1886 "description" : "IP set name.",
1887 "maxLength" : 64,
1888 "minLength" : 2,
1889 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1890 "type" : "string"
1891 },
1892 "nomatch" : {
1893 "optional" : 1,
013dc89f
DM
1894 "type" : "boolean",
1895 "typetext" : "<boolean>"
56122987
DM
1896 }
1897 }
1898 },
56122987
DM
1899 "permissions" : {
1900 "check" : [
1901 "perm",
1902 "/",
1903 [
44660702 1904 "Sys.Modify"
56122987
DM
1905 ]
1906 ]
1907 },
44660702 1908 "protected" : 1,
56122987 1909 "returns" : {
44660702
DM
1910 "type" : "null"
1911 }
56122987
DM
1912 }
1913 },
44660702
DM
1914 "leaf" : 0,
1915 "path" : "/cluster/firewall/ipset/{name}",
1916 "text" : "{name}"
56122987
DM
1917 }
1918 ],
56122987 1919 "info" : {
44660702
DM
1920 "GET" : {
1921 "description" : "List IPSets",
1922 "method" : "GET",
1923 "name" : "ipset_index",
56122987 1924 "parameters" : {
7aacca6f 1925 "additionalProperties" : 0
56122987 1926 },
56122987
DM
1927 "permissions" : {
1928 "check" : [
1929 "perm",
1930 "/",
1931 [
7aacca6f 1932 "Sys.Audit"
56122987
DM
1933 ]
1934 ]
1935 },
56122987
DM
1936 "returns" : {
1937 "items" : {
1938 "properties" : {
44660702
DM
1939 "comment" : {
1940 "optional" : 1,
1941 "type" : "string"
56122987 1942 },
44660702
DM
1943 "digest" : {
1944 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1945 "maxLength" : 40,
1946 "optional" : 0,
1947 "type" : "string"
1948 },
1949 "name" : {
1950 "description" : "IP set name.",
1951 "maxLength" : 64,
1952 "minLength" : 2,
1953 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1954 "type" : "string"
56122987
DM
1955 }
1956 },
1957 "type" : "object"
44660702
DM
1958 },
1959 "links" : [
1960 {
1961 "href" : "{name}",
1962 "rel" : "child"
1963 }
1964 ],
1965 "type" : "array"
56122987 1966 }
44660702
DM
1967 },
1968 "POST" : {
1969 "description" : "Create new IPSet",
1970 "method" : "POST",
1971 "name" : "create_ipset",
7aacca6f
DM
1972 "parameters" : {
1973 "additionalProperties" : 0,
1974 "properties" : {
44660702
DM
1975 "comment" : {
1976 "optional" : 1,
013dc89f
DM
1977 "type" : "string",
1978 "typetext" : "<string>"
44660702
DM
1979 },
1980 "digest" : {
1981 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1982 "maxLength" : 40,
1983 "optional" : 1,
013dc89f
DM
1984 "type" : "string",
1985 "typetext" : "<string>"
44660702
DM
1986 },
1987 "name" : {
1988 "description" : "IP set name.",
1989 "maxLength" : 64,
1990 "minLength" : 2,
1991 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1992 "type" : "string"
1993 },
1994 "rename" : {
1995 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
1996 "maxLength" : 64,
1997 "minLength" : 2,
1998 "optional" : 1,
1999 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2000 "type" : "string"
7aacca6f
DM
2001 }
2002 }
2003 },
56122987
DM
2004 "permissions" : {
2005 "check" : [
2006 "perm",
2007 "/",
2008 [
44660702 2009 "Sys.Modify"
56122987
DM
2010 ]
2011 ]
2012 },
44660702 2013 "protected" : 1,
56122987 2014 "returns" : {
44660702
DM
2015 "type" : "null"
2016 }
56122987 2017 }
7aacca6f 2018 },
44660702
DM
2019 "leaf" : 0,
2020 "path" : "/cluster/firewall/ipset",
2021 "text" : "ipset"
2022 },
56122987 2023 {
44660702
DM
2024 "children" : [
2025 {
2026 "info" : {
2027 "DELETE" : {
2028 "description" : "Remove IP or Network alias.",
2029 "method" : "DELETE",
2030 "name" : "remove_alias",
2031 "parameters" : {
2032 "additionalProperties" : 0,
2033 "properties" : {
2034 "digest" : {
2035 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2036 "maxLength" : 40,
2037 "optional" : 1,
013dc89f
DM
2038 "type" : "string",
2039 "typetext" : "<string>"
44660702
DM
2040 },
2041 "name" : {
2042 "description" : "Alias name.",
2043 "maxLength" : 64,
2044 "minLength" : 2,
2045 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2046 "type" : "string"
2047 }
2048 }
2049 },
2050 "permissions" : {
2051 "check" : [
2052 "perm",
2053 "/",
2054 [
2055 "Sys.Modify"
2056 ]
2057 ]
2058 },
2059 "protected" : 1,
2060 "returns" : {
2061 "type" : "null"
2062 }
2063 },
2064 "GET" : {
2065 "description" : "Read alias.",
2066 "method" : "GET",
2067 "name" : "read_alias",
2068 "parameters" : {
2069 "additionalProperties" : 0,
2070 "properties" : {
2071 "name" : {
2072 "description" : "Alias name.",
2073 "maxLength" : 64,
2074 "minLength" : 2,
2075 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2076 "type" : "string"
2077 }
2078 }
2079 },
2080 "permissions" : {
2081 "check" : [
2082 "perm",
2083 "/",
2084 [
2085 "Sys.Audit"
2086 ]
2087 ]
2088 },
2089 "returns" : {
2090 "type" : "object"
2091 }
2092 },
2093 "PUT" : {
2094 "description" : "Update IP or Network alias.",
2095 "method" : "PUT",
2096 "name" : "update_alias",
2097 "parameters" : {
2098 "additionalProperties" : 0,
2099 "properties" : {
2100 "cidr" : {
2101 "description" : "Network/IP specification in CIDR format.",
2102 "format" : "IPorCIDR",
013dc89f
DM
2103 "type" : "string",
2104 "typetext" : "<string>"
44660702
DM
2105 },
2106 "comment" : {
2107 "optional" : 1,
013dc89f
DM
2108 "type" : "string",
2109 "typetext" : "<string>"
44660702
DM
2110 },
2111 "digest" : {
2112 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2113 "maxLength" : 40,
2114 "optional" : 1,
013dc89f
DM
2115 "type" : "string",
2116 "typetext" : "<string>"
44660702
DM
2117 },
2118 "name" : {
2119 "description" : "Alias name.",
2120 "maxLength" : 64,
2121 "minLength" : 2,
2122 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2123 "type" : "string"
2124 },
2125 "rename" : {
2126 "description" : "Rename an existing alias.",
2127 "maxLength" : 64,
2128 "minLength" : 2,
2129 "optional" : 1,
2130 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2131 "type" : "string"
2132 }
2133 }
2134 },
2135 "permissions" : {
2136 "check" : [
2137 "perm",
2138 "/",
2139 [
2140 "Sys.Modify"
2141 ]
2142 ]
2143 },
2144 "protected" : 1,
2145 "returns" : {
2146 "type" : "null"
2147 }
2148 }
2149 },
2150 "leaf" : 1,
2151 "path" : "/cluster/firewall/aliases/{name}",
2152 "text" : "{name}"
2153 }
2154 ],
2155 "info" : {
2156 "GET" : {
2157 "description" : "List aliases",
2158 "method" : "GET",
2159 "name" : "get_aliases",
2160 "parameters" : {
2161 "additionalProperties" : 0
2162 },
2163 "permissions" : {
2164 "check" : [
2165 "perm",
2166 "/",
2167 [
2168 "Sys.Audit"
2169 ]
2170 ]
2171 },
2172 "returns" : {
2173 "items" : {
2174 "properties" : {
2175 "cidr" : {
2176 "type" : "string"
2177 },
2178 "comment" : {
2179 "optional" : 1,
2180 "type" : "string"
2181 },
2182 "digest" : {
2183 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2184 "maxLength" : 40,
2185 "optional" : 0,
2186 "type" : "string"
2187 },
2188 "name" : {
2189 "type" : "string"
2190 }
2191 },
2192 "type" : "object"
2193 },
2194 "links" : [
2195 {
2196 "href" : "{name}",
2197 "rel" : "child"
2198 }
2199 ],
2200 "type" : "array"
2201 }
2202 },
2203 "POST" : {
2204 "description" : "Create IP or Network Alias.",
2205 "method" : "POST",
2206 "name" : "create_alias",
56122987
DM
2207 "parameters" : {
2208 "additionalProperties" : 0,
2209 "properties" : {
44660702
DM
2210 "cidr" : {
2211 "description" : "Network/IP specification in CIDR format.",
2212 "format" : "IPorCIDR",
013dc89f
DM
2213 "type" : "string",
2214 "typetext" : "<string>"
44660702
DM
2215 },
2216 "comment" : {
2217 "optional" : 1,
013dc89f
DM
2218 "type" : "string",
2219 "typetext" : "<string>"
44660702
DM
2220 },
2221 "name" : {
2222 "description" : "Alias name.",
2223 "maxLength" : 64,
2224 "minLength" : 2,
2225 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2226 "type" : "string"
56122987
DM
2227 }
2228 }
2229 },
56122987
DM
2230 "permissions" : {
2231 "check" : [
2232 "perm",
2233 "/",
2234 [
2235 "Sys.Modify"
2236 ]
2237 ]
2238 },
44660702 2239 "protected" : 1,
56122987
DM
2240 "returns" : {
2241 "type" : "null"
2242 }
44660702
DM
2243 }
2244 },
2245 "leaf" : 0,
2246 "path" : "/cluster/firewall/aliases",
2247 "text" : "aliases"
2248 },
2249 {
2250 "info" : {
2251 "GET" : {
2252 "description" : "Get Firewall options.",
2253 "method" : "GET",
2254 "name" : "get_options",
2255 "parameters" : {
2256 "additionalProperties" : 0
7aacca6f 2257 },
56122987
DM
2258 "permissions" : {
2259 "check" : [
2260 "perm",
2261 "/",
2262 [
44660702 2263 "Sys.Audit"
56122987
DM
2264 ]
2265 ]
2266 },
44660702 2267 "returns" : {
56122987 2268 "properties" : {
5da3d723
TL
2269 "ebtables" : {
2270 "default" : 1,
2271 "description" : "Enable ebtables rules cluster wide.",
2272 "optional" : 1,
2273 "type" : "boolean"
2274 },
44660702
DM
2275 "enable" : {
2276 "description" : "Enable or disable the firewall cluster wide.",
2277 "minimum" : 0,
56122987 2278 "optional" : 1,
7aacca6f 2279 "type" : "integer"
56122987 2280 },
44660702
DM
2281 "policy_in" : {
2282 "description" : "Input policy.",
2283 "enum" : [
2284 "ACCEPT",
2285 "REJECT",
2286 "DROP"
2287 ],
56122987 2288 "optional" : 1,
44660702 2289 "type" : "string"
7aacca6f 2290 },
44660702
DM
2291 "policy_out" : {
2292 "description" : "Output policy.",
2293 "enum" : [
2294 "ACCEPT",
2295 "REJECT",
2296 "DROP"
2297 ],
7aacca6f 2298 "optional" : 1,
44660702
DM
2299 "type" : "string"
2300 }
2301 },
2302 "type" : "object"
2303 }
2304 },
2305 "PUT" : {
2306 "description" : "Set Firewall options.",
2307 "method" : "PUT",
2308 "name" : "set_options",
2309 "parameters" : {
2310 "additionalProperties" : 0,
2311 "properties" : {
2312 "delete" : {
2313 "description" : "A list of settings you want to delete.",
2314 "format" : "pve-configid-list",
56122987 2315 "optional" : 1,
013dc89f
DM
2316 "type" : "string",
2317 "typetext" : "<string>"
56122987 2318 },
44660702
DM
2319 "digest" : {
2320 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2321 "maxLength" : 40,
56122987 2322 "optional" : 1,
013dc89f
DM
2323 "type" : "string",
2324 "typetext" : "<string>"
56122987 2325 },
5da3d723
TL
2326 "ebtables" : {
2327 "default" : 1,
2328 "description" : "Enable ebtables rules cluster wide.",
2329 "optional" : 1,
2330 "type" : "boolean",
2331 "typetext" : "<boolean>"
2332 },
44660702
DM
2333 "enable" : {
2334 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2335 "minimum" : 0,
56122987 2336 "optional" : 1,
4bd7df8b 2337 "type" : "integer",
013dc89f 2338 "typetext" : "<integer> (0 - N)"
56122987 2339 },
44660702
DM
2340 "policy_in" : {
2341 "description" : "Input policy.",
56122987 2342 "enum" : [
44660702
DM
2343 "ACCEPT",
2344 "REJECT",
2345 "DROP"
56122987 2346 ],
56122987 2347 "optional" : 1,
44660702 2348 "type" : "string"
56122987 2349 },
44660702
DM
2350 "policy_out" : {
2351 "description" : "Output policy.",
56122987 2352 "enum" : [
44660702
DM
2353 "ACCEPT",
2354 "REJECT",
2355 "DROP"
56122987 2356 ],
7aacca6f 2357 "optional" : 1,
44660702 2358 "type" : "string"
56122987 2359 }
44660702
DM
2360 }
2361 },
2362 "permissions" : {
2363 "check" : [
2364 "perm",
2365 "/",
2366 [
2367 "Sys.Modify"
2368 ]
2369 ]
7aacca6f
DM
2370 },
2371 "protected" : 1,
44660702
DM
2372 "returns" : {
2373 "type" : "null"
2374 }
2375 }
2376 },
2377 "leaf" : 1,
2378 "path" : "/cluster/firewall/options",
2379 "text" : "options"
2380 },
2381 {
2382 "info" : {
7aacca6f 2383 "GET" : {
44660702 2384 "description" : "List available macros",
7aacca6f 2385 "method" : "GET",
44660702
DM
2386 "name" : "get_macros",
2387 "parameters" : {
2388 "additionalProperties" : 0
7aacca6f 2389 },
44660702
DM
2390 "permissions" : {
2391 "user" : "all"
2392 },
2393 "returns" : {
2394 "items" : {
2395 "properties" : {
2396 "descr" : {
2397 "description" : "More verbose description (if available).",
2398 "type" : "string"
2399 },
2400 "macro" : {
2401 "description" : "Macro name.",
2402 "type" : "string"
2403 }
2404 },
2405 "type" : "object"
2406 },
2407 "type" : "array"
2408 }
2409 }
2410 },
2411 "leaf" : 1,
2412 "path" : "/cluster/firewall/macros",
2413 "text" : "macros"
2414 },
2415 {
2416 "info" : {
2417 "GET" : {
2418 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2419 "method" : "GET",
2420 "name" : "refs",
7aacca6f 2421 "parameters" : {
44660702 2422 "additionalProperties" : 0,
7aacca6f 2423 "properties" : {
44660702
DM
2424 "type" : {
2425 "description" : "Only list references of specified type.",
2426 "enum" : [
2427 "alias",
2428 "ipset"
2429 ],
2430 "optional" : 1,
2431 "type" : "string"
7aacca6f 2432 }
44660702 2433 }
7aacca6f
DM
2434 },
2435 "permissions" : {
2436 "check" : [
2437 "perm",
2438 "/",
2439 [
2440 "Sys.Audit"
2441 ]
2442 ]
2443 },
44660702
DM
2444 "returns" : {
2445 "items" : {
2446 "properties" : {
2447 "comment" : {
2448 "optional" : 1,
2449 "type" : "string"
2450 },
2451 "name" : {
2452 "type" : "string"
2453 },
2454 "ref" : {
2455 "type" : "string"
2456 },
2457 "type" : {
2458 "enum" : [
2459 "alias",
2460 "ipset"
2461 ],
2462 "type" : "string"
2463 }
2464 },
2465 "type" : "object"
2466 },
2467 "type" : "array"
2468 }
56122987
DM
2469 }
2470 },
7aacca6f 2471 "leaf" : 1,
44660702
DM
2472 "path" : "/cluster/firewall/refs",
2473 "text" : "refs"
56122987
DM
2474 }
2475 ],
56122987 2476 "info" : {
44660702
DM
2477 "GET" : {
2478 "description" : "Directory index.",
2479 "method" : "GET",
2480 "name" : "index",
56122987 2481 "parameters" : {
56122987
DM
2482 "additionalProperties" : 0
2483 },
44660702
DM
2484 "permissions" : {
2485 "user" : "all"
2486 },
56122987 2487 "returns" : {
44660702
DM
2488 "items" : {
2489 "properties" : {},
2490 "type" : "object"
2491 },
7aacca6f
DM
2492 "links" : [
2493 {
44660702
DM
2494 "href" : "{name}",
2495 "rel" : "child"
7aacca6f
DM
2496 }
2497 ],
7aacca6f 2498 "type" : "array"
7aacca6f 2499 }
56122987
DM
2500 }
2501 },
44660702
DM
2502 "leaf" : 0,
2503 "path" : "/cluster/firewall",
2504 "text" : "firewall"
7aacca6f
DM
2505 },
2506 {
56122987
DM
2507 "children" : [
2508 {
56122987 2509 "info" : {
44660702
DM
2510 "DELETE" : {
2511 "description" : "Delete vzdump backup job definition.",
2512 "method" : "DELETE",
2513 "name" : "delete_job",
2514 "parameters" : {
2515 "additionalProperties" : 0,
2516 "properties" : {
2517 "id" : {
2518 "description" : "The job ID.",
2519 "maxLength" : 50,
013dc89f
DM
2520 "type" : "string",
2521 "typetext" : "<string>"
44660702
DM
2522 }
2523 }
2524 },
2525 "permissions" : {
2526 "check" : [
2527 "perm",
2528 "/",
2529 [
2530 "Sys.Modify"
2531 ]
2532 ]
2533 },
2534 "protected" : 1,
56122987
DM
2535 "returns" : {
2536 "type" : "null"
44660702
DM
2537 }
2538 },
2539 "GET" : {
2540 "description" : "Read vzdump backup job definition.",
2541 "method" : "GET",
2542 "name" : "read_job",
2543 "parameters" : {
2544 "additionalProperties" : 0,
2545 "properties" : {
2546 "id" : {
2547 "description" : "The job ID.",
2548 "maxLength" : 50,
013dc89f
DM
2549 "type" : "string",
2550 "typetext" : "<string>"
44660702
DM
2551 }
2552 }
56122987 2553 },
7aacca6f
DM
2554 "permissions" : {
2555 "check" : [
2556 "perm",
2557 "/",
2558 [
44660702 2559 "Sys.Audit"
7aacca6f
DM
2560 ]
2561 ]
2562 },
44660702
DM
2563 "returns" : {
2564 "type" : "object"
2565 }
2566 },
2567 "PUT" : {
2568 "description" : "Update vzdump backup job definition.",
2569 "method" : "PUT",
2570 "name" : "update_job",
56122987 2571 "parameters" : {
44660702 2572 "additionalProperties" : 0,
56122987 2573 "properties" : {
44660702
DM
2574 "all" : {
2575 "default" : 0,
2576 "description" : "Backup all known guest systems on this host.",
7aacca6f 2577 "optional" : 1,
013dc89f
DM
2578 "type" : "boolean",
2579 "typetext" : "<boolean>"
7aacca6f 2580 },
44660702
DM
2581 "bwlimit" : {
2582 "default" : 0,
2583 "description" : "Limit I/O bandwidth (KBytes per second).",
2584 "minimum" : 0,
2585 "optional" : 1,
4bd7df8b 2586 "type" : "integer",
013dc89f 2587 "typetext" : "<integer> (0 - N)"
44660702
DM
2588 },
2589 "compress" : {
2590 "default" : "0",
2591 "description" : "Compress dump file.",
7aacca6f 2592 "enum" : [
44660702
DM
2593 "0",
2594 "1",
2595 "gzip",
2596 "lzo"
7aacca6f 2597 ],
44660702
DM
2598 "optional" : 1,
2599 "type" : "string"
7aacca6f 2600 },
44660702
DM
2601 "delete" : {
2602 "description" : "A list of settings you want to delete.",
2603 "format" : "pve-configid-list",
7aacca6f 2604 "optional" : 1,
013dc89f
DM
2605 "type" : "string",
2606 "typetext" : "<string>"
56122987 2607 },
44660702
DM
2608 "dow" : {
2609 "description" : "Day of week selection.",
2610 "format" : "pve-day-of-week-list",
7aacca6f 2611 "optional" : 1,
013dc89f
DM
2612 "type" : "string",
2613 "typetext" : "<string>"
56122987 2614 },
44660702
DM
2615 "dumpdir" : {
2616 "description" : "Store resulting files to specified directory.",
56122987 2617 "optional" : 1,
013dc89f
DM
2618 "type" : "string",
2619 "typetext" : "<string>"
56122987 2620 },
44660702
DM
2621 "enabled" : {
2622 "default" : "1",
2623 "description" : "Enable or disable the job.",
2624 "optional" : 1,
013dc89f
DM
2625 "type" : "boolean",
2626 "typetext" : "<boolean>"
44660702
DM
2627 },
2628 "exclude" : {
2629 "description" : "Exclude specified guest systems (assumes --all)",
2630 "format" : "pve-vmid-list",
2631 "optional" : 1,
013dc89f
DM
2632 "type" : "string",
2633 "typetext" : "<string>"
44660702
DM
2634 },
2635 "exclude-path" : {
2636 "description" : "Exclude certain files/directories (shell globs).",
2637 "format" : "string-alist",
2638 "optional" : 1,
013dc89f
DM
2639 "type" : "string",
2640 "typetext" : "<string>"
44660702
DM
2641 },
2642 "id" : {
2643 "description" : "The job ID.",
2644 "maxLength" : 50,
013dc89f
DM
2645 "type" : "string",
2646 "typetext" : "<string>"
44660702
DM
2647 },
2648 "ionice" : {
2649 "default" : 7,
2650 "description" : "Set CFQ ionice priority.",
2651 "maximum" : 8,
2652 "minimum" : 0,
2653 "optional" : 1,
4bd7df8b 2654 "type" : "integer",
013dc89f 2655 "typetext" : "<integer> (0 - 8)"
44660702
DM
2656 },
2657 "lockwait" : {
2658 "default" : 180,
2659 "description" : "Maximal time to wait for the global lock (minutes).",
2660 "minimum" : 0,
2661 "optional" : 1,
4bd7df8b 2662 "type" : "integer",
013dc89f 2663 "typetext" : "<integer> (0 - N)"
44660702
DM
2664 },
2665 "mailnotification" : {
2666 "default" : "always",
2667 "description" : "Specify when to send an email",
56122987 2668 "enum" : [
44660702
DM
2669 "always",
2670 "failure"
56122987 2671 ],
44660702
DM
2672 "optional" : 1,
2673 "type" : "string"
2674 },
2675 "mailto" : {
2676 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2677 "format" : "string-list",
2678 "optional" : 1,
013dc89f
DM
2679 "type" : "string",
2680 "typetext" : "<string>"
44660702
DM
2681 },
2682 "maxfiles" : {
2683 "default" : 1,
2684 "description" : "Maximal number of backup files per guest system.",
2685 "minimum" : 1,
2686 "optional" : 1,
4bd7df8b 2687 "type" : "integer",
013dc89f 2688 "typetext" : "<integer> (1 - N)"
44660702
DM
2689 },
2690 "mode" : {
2691 "default" : "snapshot",
2692 "description" : "Backup mode.",
2693 "enum" : [
2694 "snapshot",
2695 "suspend",
2696 "stop"
2697 ],
2698 "optional" : 1,
2699 "type" : "string"
2700 },
2701 "node" : {
2702 "description" : "Only run if executed on this node.",
2703 "format" : "pve-node",
2704 "optional" : 1,
013dc89f
DM
2705 "type" : "string",
2706 "typetext" : "<string>"
44660702
DM
2707 },
2708 "pigz" : {
2709 "default" : 0,
2710 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2711 "optional" : 1,
013dc89f
DM
2712 "type" : "integer",
2713 "typetext" : "<integer>"
44660702
DM
2714 },
2715 "quiet" : {
2716 "default" : 0,
2717 "description" : "Be quiet.",
2718 "optional" : 1,
013dc89f
DM
2719 "type" : "boolean",
2720 "typetext" : "<boolean>"
44660702
DM
2721 },
2722 "remove" : {
2723 "default" : 1,
2724 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2725 "optional" : 1,
013dc89f
DM
2726 "type" : "boolean",
2727 "typetext" : "<boolean>"
44660702
DM
2728 },
2729 "script" : {
2730 "description" : "Use specified hook script.",
2731 "optional" : 1,
013dc89f
DM
2732 "type" : "string",
2733 "typetext" : "<string>"
44660702
DM
2734 },
2735 "size" : {
2736 "default" : 1024,
2737 "description" : "Unused, will be removed in a future release.",
2738 "minimum" : 500,
2739 "optional" : 1,
4bd7df8b 2740 "type" : "integer",
013dc89f 2741 "typetext" : "<integer> (500 - N)"
44660702
DM
2742 },
2743 "starttime" : {
2744 "description" : "Job Start time.",
2745 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 2746 "type" : "string",
44660702 2747 "typetext" : "HH:MM"
7aacca6f 2748 },
44660702
DM
2749 "stdexcludes" : {
2750 "default" : 1,
2751 "description" : "Exclude temporary files and logs.",
2752 "optional" : 1,
013dc89f
DM
2753 "type" : "boolean",
2754 "typetext" : "<boolean>"
44660702
DM
2755 },
2756 "stop" : {
2757 "default" : 0,
2758 "description" : "Stop runnig backup jobs on this host.",
2759 "optional" : 1,
013dc89f
DM
2760 "type" : "boolean",
2761 "typetext" : "<boolean>"
44660702
DM
2762 },
2763 "stopwait" : {
2764 "default" : 10,
2765 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2766 "minimum" : 0,
2767 "optional" : 1,
4bd7df8b 2768 "type" : "integer",
013dc89f 2769 "typetext" : "<integer> (0 - N)"
44660702
DM
2770 },
2771 "storage" : {
2772 "description" : "Store resulting file to this storage.",
2773 "format" : "pve-storage-id",
2774 "optional" : 1,
013dc89f
DM
2775 "type" : "string",
2776 "typetext" : "<string>"
56122987 2777 },
44660702
DM
2778 "tmpdir" : {
2779 "description" : "Store temporary files to specified directory.",
2780 "optional" : 1,
013dc89f
DM
2781 "type" : "string",
2782 "typetext" : "<string>"
44660702
DM
2783 },
2784 "vmid" : {
2785 "description" : "The ID of the guest system you want to backup.",
2786 "format" : "pve-vmid-list",
2787 "optional" : 1,
013dc89f
DM
2788 "type" : "string",
2789 "typetext" : "<string>"
56122987 2790 }
44660702 2791 }
56122987
DM
2792 },
2793 "permissions" : {
2794 "check" : [
2795 "perm",
2796 "/",
2797 [
44660702 2798 "Sys.Modify"
56122987
DM
2799 ]
2800 ]
2801 },
44660702
DM
2802 "protected" : 1,
2803 "returns" : {
2804 "type" : "null"
7aacca6f 2805 }
56122987
DM
2806 }
2807 },
44660702
DM
2808 "leaf" : 1,
2809 "path" : "/cluster/backup/{id}",
2810 "text" : "{id}"
2811 }
2812 ],
2813 "info" : {
2814 "GET" : {
2815 "description" : "List vzdump backup schedule.",
2816 "method" : "GET",
2817 "name" : "index",
2818 "parameters" : {
2819 "additionalProperties" : 0
2820 },
2821 "permissions" : {
2822 "check" : [
2823 "perm",
2824 "/",
2825 [
2826 "Sys.Audit"
2827 ]
2828 ]
2829 },
2830 "returns" : {
2831 "items" : {
2832 "properties" : {
2833 "id" : {
2834 "type" : "string"
2835 }
2836 },
2837 "type" : "object"
2838 },
2839 "links" : [
2840 {
2841 "href" : "{id}",
2842 "rel" : "child"
2843 }
2844 ],
2845 "type" : "array"
2846 }
2847 },
2848 "POST" : {
2849 "description" : "Create new vzdump backup job.",
2850 "method" : "POST",
2851 "name" : "create_job",
2852 "parameters" : {
2853 "additionalProperties" : 0,
2854 "properties" : {
2855 "all" : {
2856 "default" : 0,
2857 "description" : "Backup all known guest systems on this host.",
2858 "optional" : 1,
013dc89f
DM
2859 "type" : "boolean",
2860 "typetext" : "<boolean>"
44660702
DM
2861 },
2862 "bwlimit" : {
2863 "default" : 0,
2864 "description" : "Limit I/O bandwidth (KBytes per second).",
2865 "minimum" : 0,
2866 "optional" : 1,
4bd7df8b 2867 "type" : "integer",
013dc89f 2868 "typetext" : "<integer> (0 - N)"
44660702
DM
2869 },
2870 "compress" : {
2871 "default" : "0",
2872 "description" : "Compress dump file.",
2873 "enum" : [
2874 "0",
2875 "1",
2876 "gzip",
2877 "lzo"
2878 ],
2879 "optional" : 1,
2880 "type" : "string"
2881 },
2882 "dow" : {
2883 "default" : "mon,tue,wed,thu,fri,sat,sun",
2884 "description" : "Day of week selection.",
2885 "format" : "pve-day-of-week-list",
2886 "optional" : 1,
013dc89f
DM
2887 "type" : "string",
2888 "typetext" : "<string>"
44660702
DM
2889 },
2890 "dumpdir" : {
2891 "description" : "Store resulting files to specified directory.",
2892 "optional" : 1,
013dc89f
DM
2893 "type" : "string",
2894 "typetext" : "<string>"
44660702
DM
2895 },
2896 "enabled" : {
2897 "default" : "1",
2898 "description" : "Enable or disable the job.",
2899 "optional" : 1,
013dc89f
DM
2900 "type" : "boolean",
2901 "typetext" : "<boolean>"
44660702
DM
2902 },
2903 "exclude" : {
2904 "description" : "Exclude specified guest systems (assumes --all)",
2905 "format" : "pve-vmid-list",
2906 "optional" : 1,
013dc89f
DM
2907 "type" : "string",
2908 "typetext" : "<string>"
44660702
DM
2909 },
2910 "exclude-path" : {
2911 "description" : "Exclude certain files/directories (shell globs).",
2912 "format" : "string-alist",
2913 "optional" : 1,
013dc89f
DM
2914 "type" : "string",
2915 "typetext" : "<string>"
44660702
DM
2916 },
2917 "ionice" : {
2918 "default" : 7,
2919 "description" : "Set CFQ ionice priority.",
2920 "maximum" : 8,
2921 "minimum" : 0,
2922 "optional" : 1,
4bd7df8b 2923 "type" : "integer",
013dc89f 2924 "typetext" : "<integer> (0 - 8)"
44660702
DM
2925 },
2926 "lockwait" : {
2927 "default" : 180,
2928 "description" : "Maximal time to wait for the global lock (minutes).",
2929 "minimum" : 0,
2930 "optional" : 1,
4bd7df8b 2931 "type" : "integer",
013dc89f 2932 "typetext" : "<integer> (0 - N)"
44660702
DM
2933 },
2934 "mailnotification" : {
2935 "default" : "always",
2936 "description" : "Specify when to send an email",
2937 "enum" : [
2938 "always",
2939 "failure"
2940 ],
2941 "optional" : 1,
2942 "type" : "string"
2943 },
2944 "mailto" : {
2945 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2946 "format" : "string-list",
2947 "optional" : 1,
013dc89f
DM
2948 "type" : "string",
2949 "typetext" : "<string>"
44660702
DM
2950 },
2951 "maxfiles" : {
2952 "default" : 1,
2953 "description" : "Maximal number of backup files per guest system.",
2954 "minimum" : 1,
2955 "optional" : 1,
4bd7df8b 2956 "type" : "integer",
013dc89f 2957 "typetext" : "<integer> (1 - N)"
44660702
DM
2958 },
2959 "mode" : {
2960 "default" : "snapshot",
2961 "description" : "Backup mode.",
2962 "enum" : [
2963 "snapshot",
2964 "suspend",
2965 "stop"
2966 ],
2967 "optional" : 1,
2968 "type" : "string"
2969 },
2970 "node" : {
2971 "description" : "Only run if executed on this node.",
2972 "format" : "pve-node",
2973 "optional" : 1,
013dc89f
DM
2974 "type" : "string",
2975 "typetext" : "<string>"
44660702
DM
2976 },
2977 "pigz" : {
2978 "default" : 0,
2979 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2980 "optional" : 1,
013dc89f
DM
2981 "type" : "integer",
2982 "typetext" : "<integer>"
44660702
DM
2983 },
2984 "quiet" : {
2985 "default" : 0,
2986 "description" : "Be quiet.",
2987 "optional" : 1,
013dc89f
DM
2988 "type" : "boolean",
2989 "typetext" : "<boolean>"
44660702
DM
2990 },
2991 "remove" : {
2992 "default" : 1,
2993 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2994 "optional" : 1,
013dc89f
DM
2995 "type" : "boolean",
2996 "typetext" : "<boolean>"
44660702
DM
2997 },
2998 "script" : {
2999 "description" : "Use specified hook script.",
3000 "optional" : 1,
013dc89f
DM
3001 "type" : "string",
3002 "typetext" : "<string>"
44660702
DM
3003 },
3004 "size" : {
3005 "default" : 1024,
3006 "description" : "Unused, will be removed in a future release.",
3007 "minimum" : 500,
3008 "optional" : 1,
4bd7df8b 3009 "type" : "integer",
013dc89f 3010 "typetext" : "<integer> (500 - N)"
44660702
DM
3011 },
3012 "starttime" : {
3013 "description" : "Job Start time.",
3014 "pattern" : "\\d{1,2}:\\d{1,2}",
3015 "type" : "string",
3016 "typetext" : "HH:MM"
3017 },
3018 "stdexcludes" : {
3019 "default" : 1,
3020 "description" : "Exclude temporary files and logs.",
3021 "optional" : 1,
013dc89f
DM
3022 "type" : "boolean",
3023 "typetext" : "<boolean>"
44660702
DM
3024 },
3025 "stop" : {
3026 "default" : 0,
3027 "description" : "Stop runnig backup jobs on this host.",
3028 "optional" : 1,
013dc89f
DM
3029 "type" : "boolean",
3030 "typetext" : "<boolean>"
44660702
DM
3031 },
3032 "stopwait" : {
3033 "default" : 10,
3034 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3035 "minimum" : 0,
3036 "optional" : 1,
4bd7df8b 3037 "type" : "integer",
013dc89f 3038 "typetext" : "<integer> (0 - N)"
44660702
DM
3039 },
3040 "storage" : {
3041 "description" : "Store resulting file to this storage.",
3042 "format" : "pve-storage-id",
3043 "optional" : 1,
013dc89f
DM
3044 "type" : "string",
3045 "typetext" : "<string>"
44660702
DM
3046 },
3047 "tmpdir" : {
3048 "description" : "Store temporary files to specified directory.",
3049 "optional" : 1,
013dc89f
DM
3050 "type" : "string",
3051 "typetext" : "<string>"
44660702
DM
3052 },
3053 "vmid" : {
3054 "description" : "The ID of the guest system you want to backup.",
3055 "format" : "pve-vmid-list",
3056 "optional" : 1,
013dc89f
DM
3057 "type" : "string",
3058 "typetext" : "<string>"
44660702
DM
3059 }
3060 }
3061 },
3062 "permissions" : {
3063 "check" : [
3064 "perm",
3065 "/",
3066 [
3067 "Sys.Modify"
3068 ]
de0983cb
DM
3069 ],
3070 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3071 },
3072 "protected" : 1,
3073 "returns" : {
3074 "type" : "null"
3075 }
3076 }
3077 },
3078 "leaf" : 0,
3079 "path" : "/cluster/backup",
3080 "text" : "backup"
3081 },
3082 {
3083 "children" : [
3084 {
3085 "children" : [
3086 {
3087 "children" : [
56122987 3088 {
56122987
DM
3089 "info" : {
3090 "POST" : {
44660702
DM
3091 "description" : "Request resource migration (online) to another node.",
3092 "method" : "POST",
3093 "name" : "migrate",
56122987 3094 "parameters" : {
7aacca6f 3095 "additionalProperties" : 0,
56122987
DM
3096 "properties" : {
3097 "node" : {
7aacca6f 3098 "description" : "The cluster node name.",
44660702 3099 "format" : "pve-node",
013dc89f
DM
3100 "type" : "string",
3101 "typetext" : "<string>"
56122987
DM
3102 },
3103 "sid" : {
44660702 3104 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
56122987 3105 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3106 "type" : "string",
44660702 3107 "typetext" : "<type>:<name>"
56122987 3108 }
7aacca6f 3109 }
56122987 3110 },
56122987
DM
3111 "permissions" : {
3112 "check" : [
3113 "perm",
3114 "/",
3115 [
3116 "Sys.Console"
3117 ]
3118 ]
3119 },
7aacca6f 3120 "protected" : 1,
7aacca6f
DM
3121 "returns" : {
3122 "type" : "null"
44660702 3123 }
56122987 3124 }
44660702
DM
3125 },
3126 "leaf" : 1,
3127 "path" : "/cluster/ha/resources/{sid}/migrate",
3128 "text" : "migrate"
3129 },
3130 {
3131 "info" : {
3132 "POST" : {
3133 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3134 "method" : "POST",
3135 "name" : "relocate",
3136 "parameters" : {
3137 "additionalProperties" : 0,
3138 "properties" : {
3139 "node" : {
3140 "description" : "The cluster node name.",
3141 "format" : "pve-node",
013dc89f
DM
3142 "type" : "string",
3143 "typetext" : "<string>"
44660702
DM
3144 },
3145 "sid" : {
3146 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
3147 "format" : "pve-ha-resource-or-vm-id",
3148 "type" : "string",
3149 "typetext" : "<type>:<name>"
3150 }
3151 }
3152 },
3153 "permissions" : {
3154 "check" : [
3155 "perm",
3156 "/",
3157 [
3158 "Sys.Console"
3159 ]
3160 ]
3161 },
3162 "protected" : 1,
3163 "returns" : {
3164 "type" : "null"
3165 }
3166 }
3167 },
3168 "leaf" : 1,
3169 "path" : "/cluster/ha/resources/{sid}/relocate",
3170 "text" : "relocate"
3171 }
3172 ],
3173 "info" : {
3174 "DELETE" : {
3175 "description" : "Delete resource configuration.",
3176 "method" : "DELETE",
3177 "name" : "delete",
7aacca6f 3178 "parameters" : {
44660702 3179 "additionalProperties" : 0,
7aacca6f
DM
3180 "properties" : {
3181 "sid" : {
3182 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
44660702 3183 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3184 "type" : "string",
44660702
DM
3185 "typetext" : "<type>:<name>"
3186 }
3187 }
3188 },
3189 "permissions" : {
3190 "check" : [
3191 "perm",
3192 "/",
3193 [
3194 "Sys.Console"
3195 ]
3196 ]
3197 },
3198 "protected" : 1,
3199 "returns" : {
3200 "type" : "null"
3201 }
3202 },
3203 "GET" : {
3204 "description" : "Read resource configuration.",
3205 "method" : "GET",
3206 "name" : "read",
3207 "parameters" : {
3208 "additionalProperties" : 0,
3209 "properties" : {
3210 "sid" : {
3211 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
7aacca6f 3212 "format" : "pve-ha-resource-or-vm-id",
44660702 3213 "type" : "string",
7aacca6f
DM
3214 "typetext" : "<type>:<name>"
3215 }
44660702 3216 }
7aacca6f
DM
3217 },
3218 "permissions" : {
3219 "check" : [
3220 "perm",
3221 "/",
3222 [
3223 "Sys.Audit"
3224 ]
3225 ]
3226 },
44660702 3227 "returns" : {}
7aacca6f 3228 },
56122987 3229 "PUT" : {
44660702 3230 "description" : "Update resource configuration.",
7aacca6f 3231 "method" : "PUT",
44660702 3232 "name" : "update",
56122987
DM
3233 "parameters" : {
3234 "additionalProperties" : 0,
3235 "properties" : {
44660702
DM
3236 "comment" : {
3237 "description" : "Description.",
3238 "maxLength" : 4096,
56122987 3239 "optional" : 1,
013dc89f
DM
3240 "type" : "string",
3241 "typetext" : "<string>"
56122987 3242 },
7aacca6f
DM
3243 "delete" : {
3244 "description" : "A list of settings you want to delete.",
7aacca6f 3245 "format" : "pve-configid-list",
44660702
DM
3246 "maxLength" : 4096,
3247 "optional" : 1,
013dc89f
DM
3248 "type" : "string",
3249 "typetext" : "<string>"
56122987 3250 },
44660702
DM
3251 "digest" : {
3252 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3253 "maxLength" : 40,
3254 "optional" : 1,
013dc89f
DM
3255 "type" : "string",
3256 "typetext" : "<string>"
56122987 3257 },
44660702
DM
3258 "group" : {
3259 "description" : "The HA group identifier.",
3260 "format" : "pve-configid",
7aacca6f 3261 "optional" : 1,
013dc89f
DM
3262 "type" : "string",
3263 "typetext" : "<string>"
56122987
DM
3264 },
3265 "max_relocate" : {
7aacca6f 3266 "default" : 1,
56122987 3267 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3268 "minimum" : 0,
3269 "optional" : 1,
4bd7df8b 3270 "type" : "integer",
013dc89f 3271 "typetext" : "<integer> (0 - N)"
7aacca6f 3272 },
44660702
DM
3273 "max_restart" : {
3274 "default" : 1,
3275 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3276 "minimum" : 0,
7aacca6f 3277 "optional" : 1,
4bd7df8b 3278 "type" : "integer",
013dc89f 3279 "typetext" : "<integer> (0 - N)"
44660702
DM
3280 },
3281 "sid" : {
3282 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
3283 "format" : "pve-ha-resource-or-vm-id",
3284 "type" : "string",
3285 "typetext" : "<type>:<name>"
7aacca6f
DM
3286 },
3287 "state" : {
f13c1238
DM
3288 "default" : "started",
3289 "description" : "Requested resource state.",
7aacca6f 3290 "enum" : [
f13c1238
DM
3291 "started",
3292 "stopped",
7aacca6f 3293 "enabled",
2489d6df
WB
3294 "disabled",
3295 "ignored"
7aacca6f 3296 ],
7aacca6f 3297 "optional" : 1,
f13c1238 3298 "type" : "string",
2489d6df 3299 "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n"
56122987 3300 }
44660702
DM
3301 },
3302 "type" : "object"
56122987 3303 },
56122987
DM
3304 "permissions" : {
3305 "check" : [
3306 "perm",
3307 "/",
3308 [
3309 "Sys.Console"
3310 ]
3311 ]
3312 },
7aacca6f 3313 "protected" : 1,
56122987
DM
3314 "returns" : {
3315 "type" : "null"
3316 }
3317 }
3318 },
44660702 3319 "leaf" : 0,
7aacca6f 3320 "path" : "/cluster/ha/resources/{sid}",
44660702 3321 "text" : "{sid}"
56122987
DM
3322 }
3323 ],
7aacca6f
DM
3324 "info" : {
3325 "GET" : {
44660702
DM
3326 "description" : "List HA resources.",
3327 "method" : "GET",
3328 "name" : "index",
7aacca6f 3329 "parameters" : {
44660702
DM
3330 "additionalProperties" : 0,
3331 "properties" : {
3332 "type" : {
3333 "description" : "Only list resources of specific type",
3334 "enum" : [
3335 "ct",
3336 "vm"
3337 ],
3338 "optional" : 1,
3339 "type" : "string"
3340 }
3341 }
7aacca6f 3342 },
7aacca6f
DM
3343 "permissions" : {
3344 "check" : [
3345 "perm",
3346 "/",
3347 [
3348 "Sys.Audit"
3349 ]
3350 ]
3351 },
7aacca6f 3352 "returns" : {
7aacca6f 3353 "items" : {
7aacca6f 3354 "properties" : {
44660702 3355 "sid" : {
7aacca6f
DM
3356 "type" : "string"
3357 }
44660702
DM
3358 },
3359 "type" : "object"
7aacca6f
DM
3360 },
3361 "links" : [
3362 {
44660702 3363 "href" : "{sid}",
7aacca6f
DM
3364 "rel" : "child"
3365 }
44660702
DM
3366 ],
3367 "type" : "array"
7aacca6f
DM
3368 }
3369 },
3370 "POST" : {
44660702 3371 "description" : "Create a new HA resource.",
7aacca6f 3372 "method" : "POST",
44660702 3373 "name" : "create",
7aacca6f 3374 "parameters" : {
44660702 3375 "additionalProperties" : 0,
7aacca6f
DM
3376 "properties" : {
3377 "comment" : {
7aacca6f 3378 "description" : "Description.",
44660702 3379 "maxLength" : 4096,
7aacca6f 3380 "optional" : 1,
013dc89f
DM
3381 "type" : "string",
3382 "typetext" : "<string>"
7aacca6f 3383 },
44660702
DM
3384 "group" : {
3385 "description" : "The HA group identifier.",
3386 "format" : "pve-configid",
7aacca6f 3387 "optional" : 1,
013dc89f
DM
3388 "type" : "string",
3389 "typetext" : "<string>"
7aacca6f 3390 },
44660702
DM
3391 "max_relocate" : {
3392 "default" : 1,
3393 "description" : "Maximal number of service relocate tries when a service failes to start.",
3394 "minimum" : 0,
7aacca6f 3395 "optional" : 1,
4bd7df8b 3396 "type" : "integer",
013dc89f 3397 "typetext" : "<integer> (0 - N)"
7aacca6f 3398 },
44660702
DM
3399 "max_restart" : {
3400 "default" : 1,
3401 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3402 "minimum" : 0,
3403 "optional" : 1,
4bd7df8b 3404 "type" : "integer",
013dc89f 3405 "typetext" : "<integer> (0 - N)"
44660702
DM
3406 },
3407 "sid" : {
3408 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
3409 "format" : "pve-ha-resource-or-vm-id",
3410 "type" : "string",
3411 "typetext" : "<type>:<name>"
3412 },
3413 "state" : {
f13c1238
DM
3414 "default" : "started",
3415 "description" : "Requested resource state.",
7aacca6f 3416 "enum" : [
f13c1238
DM
3417 "started",
3418 "stopped",
44660702 3419 "enabled",
2489d6df
WB
3420 "disabled",
3421 "ignored"
7aacca6f 3422 ],
7aacca6f 3423 "optional" : 1,
f13c1238 3424 "type" : "string",
2489d6df 3425 "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n"
7aacca6f 3426 },
44660702
DM
3427 "type" : {
3428 "description" : "Resource type.",
3429 "enum" : [
3430 "ct",
3431 "vm"
3432 ],
3433 "optional" : 1,
3434 "type" : "string"
3435 }
7aacca6f 3436 },
44660702 3437 "type" : "object"
7aacca6f
DM
3438 },
3439 "permissions" : {
3440 "check" : [
3441 "perm",
3442 "/",
3443 [
3444 "Sys.Console"
3445 ]
3446 ]
3447 },
44660702
DM
3448 "protected" : 1,
3449 "returns" : {
3450 "type" : "null"
3451 }
7aacca6f
DM
3452 }
3453 },
44660702
DM
3454 "leaf" : 0,
3455 "path" : "/cluster/ha/resources",
3456 "text" : "resources"
3457 },
3458 {
56122987
DM
3459 "children" : [
3460 {
56122987 3461 "info" : {
44660702
DM
3462 "DELETE" : {
3463 "description" : "Delete ha group configuration.",
3464 "method" : "DELETE",
3465 "name" : "delete",
56122987 3466 "parameters" : {
7aacca6f 3467 "additionalProperties" : 0,
56122987 3468 "properties" : {
7aacca6f
DM
3469 "group" : {
3470 "description" : "The HA group identifier.",
44660702 3471 "format" : "pve-configid",
013dc89f
DM
3472 "type" : "string",
3473 "typetext" : "<string>"
56122987 3474 }
7aacca6f 3475 }
56122987 3476 },
56122987
DM
3477 "permissions" : {
3478 "check" : [
3479 "perm",
3480 "/",
3481 [
7aacca6f 3482 "Sys.Console"
56122987
DM
3483 ]
3484 ]
3485 },
44660702 3486 "protected" : 1,
7aacca6f
DM
3487 "returns" : {
3488 "type" : "null"
56122987
DM
3489 }
3490 },
44660702
DM
3491 "GET" : {
3492 "description" : "Read ha group configuration.",
3493 "method" : "GET",
3494 "name" : "read",
56122987 3495 "parameters" : {
44660702 3496 "additionalProperties" : 0,
56122987
DM
3497 "properties" : {
3498 "group" : {
3499 "description" : "The HA group identifier.",
44660702 3500 "format" : "pve-configid",
013dc89f
DM
3501 "type" : "string",
3502 "typetext" : "<string>"
56122987 3503 }
44660702 3504 }
56122987 3505 },
56122987
DM
3506 "permissions" : {
3507 "check" : [
3508 "perm",
3509 "/",
3510 [
44660702 3511 "Sys.Audit"
56122987
DM
3512 ]
3513 ]
3514 },
44660702 3515 "returns" : {}
7aacca6f 3516 },
44660702
DM
3517 "PUT" : {
3518 "description" : "Update ha group configuration.",
3519 "method" : "PUT",
3520 "name" : "update",
7aacca6f 3521 "parameters" : {
44660702 3522 "additionalProperties" : 0,
7aacca6f 3523 "properties" : {
44660702
DM
3524 "comment" : {
3525 "description" : "Description.",
3526 "maxLength" : 4096,
3527 "optional" : 1,
013dc89f
DM
3528 "type" : "string",
3529 "typetext" : "<string>"
44660702
DM
3530 },
3531 "delete" : {
3532 "description" : "A list of settings you want to delete.",
3533 "format" : "pve-configid-list",
3534 "maxLength" : 4096,
3535 "optional" : 1,
013dc89f
DM
3536 "type" : "string",
3537 "typetext" : "<string>"
44660702
DM
3538 },
3539 "digest" : {
3540 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3541 "maxLength" : 40,
3542 "optional" : 1,
013dc89f
DM
3543 "type" : "string",
3544 "typetext" : "<string>"
44660702 3545 },
7aacca6f
DM
3546 "group" : {
3547 "description" : "The HA group identifier.",
44660702 3548 "format" : "pve-configid",
013dc89f
DM
3549 "type" : "string",
3550 "typetext" : "<string>"
44660702
DM
3551 },
3552 "nodes" : {
f13c1238 3553 "description" : "List of cluster node names with optional priority.",
44660702
DM
3554 "format" : "pve-ha-group-node-list",
3555 "optional" : 1,
7aacca6f 3556 "type" : "string",
f13c1238
DM
3557 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3558 "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
44660702
DM
3559 },
3560 "nofailback" : {
3561 "default" : 0,
3562 "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.",
3563 "optional" : 1,
013dc89f
DM
3564 "type" : "boolean",
3565 "typetext" : "<boolean>"
44660702
DM
3566 },
3567 "restricted" : {
3568 "default" : 0,
c4808e75 3569 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3570 "optional" : 1,
013dc89f 3571 "type" : "boolean",
c4808e75
DM
3572 "typetext" : "<boolean>",
3573 "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
7aacca6f
DM
3574 }
3575 },
44660702 3576 "type" : "object"
7aacca6f 3577 },
7aacca6f
DM
3578 "permissions" : {
3579 "check" : [
3580 "perm",
3581 "/",
3582 [
44660702 3583 "Sys.Console"
7aacca6f
DM
3584 ]
3585 ]
3586 },
44660702
DM
3587 "protected" : 1,
3588 "returns" : {
3589 "type" : "null"
3590 }
56122987
DM
3591 }
3592 },
3593 "leaf" : 1,
44660702
DM
3594 "path" : "/cluster/ha/groups/{group}",
3595 "text" : "{group}"
56122987 3596 }
44660702
DM
3597 ],
3598 "info" : {
3599 "GET" : {
3600 "description" : "Get HA groups.",
3601 "method" : "GET",
3602 "name" : "index",
3603 "parameters" : {
3604 "additionalProperties" : 0
3605 },
3606 "permissions" : {
3607 "check" : [
3608 "perm",
3609 "/",
3610 [
3611 "Sys.Audit"
3612 ]
3613 ]
3614 },
3615 "returns" : {
3616 "items" : {
3617 "properties" : {
3618 "group" : {
3619 "type" : "string"
3620 }
3621 },
3622 "type" : "object"
3623 },
3624 "links" : [
3625 {
3626 "href" : "{group}",
3627 "rel" : "child"
3628 }
3629 ],
3630 "type" : "array"
3631 }
3632 },
3633 "POST" : {
3634 "description" : "Create a new HA group.",
3635 "method" : "POST",
3636 "name" : "create",
3637 "parameters" : {
3638 "additionalProperties" : 0,
3639 "properties" : {
3640 "comment" : {
3641 "description" : "Description.",
3642 "maxLength" : 4096,
3643 "optional" : 1,
013dc89f
DM
3644 "type" : "string",
3645 "typetext" : "<string>"
44660702
DM
3646 },
3647 "group" : {
3648 "description" : "The HA group identifier.",
3649 "format" : "pve-configid",
013dc89f
DM
3650 "type" : "string",
3651 "typetext" : "<string>"
44660702
DM
3652 },
3653 "nodes" : {
f13c1238 3654 "description" : "List of cluster node names with optional priority.",
44660702
DM
3655 "format" : "pve-ha-group-node-list",
3656 "optional" : 0,
3657 "type" : "string",
f13c1238
DM
3658 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3659 "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
44660702
DM
3660 },
3661 "nofailback" : {
3662 "default" : 0,
3663 "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.",
3664 "optional" : 1,
013dc89f
DM
3665 "type" : "boolean",
3666 "typetext" : "<boolean>"
44660702
DM
3667 },
3668 "restricted" : {
3669 "default" : 0,
c4808e75 3670 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3671 "optional" : 1,
013dc89f 3672 "type" : "boolean",
c4808e75
DM
3673 "typetext" : "<boolean>",
3674 "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
44660702
DM
3675 },
3676 "type" : {
3677 "description" : "Group type.",
3678 "enum" : [
3679 "group"
3680 ],
3681 "optional" : 1,
3682 "type" : "string"
3683 }
3684 },
3685 "type" : "object"
3686 },
3687 "permissions" : {
3688 "check" : [
3689 "perm",
3690 "/",
3691 [
3692 "Sys.Console"
3693 ]
3694 ]
3695 },
3696 "protected" : 1,
3697 "returns" : {
3698 "type" : "null"
3699 }
3700 }
3701 },
3702 "leaf" : 0,
3703 "path" : "/cluster/ha/groups",
3704 "text" : "groups"
7aacca6f
DM
3705 },
3706 {
7aacca6f
DM
3707 "children" : [
3708 {
3709 "info" : {
3710 "GET" : {
56122987 3711 "description" : "Get HA manger status.",
44660702 3712 "method" : "GET",
7aacca6f 3713 "name" : "status",
44660702
DM
3714 "parameters" : {
3715 "additionalProperties" : 0
3716 },
56122987
DM
3717 "permissions" : {
3718 "check" : [
3719 "perm",
3720 "/",
3721 [
3722 "Sys.Audit"
3723 ]
3724 ]
7aacca6f 3725 },
44660702
DM
3726 "returns" : {
3727 "type" : "array"
56122987
DM
3728 }
3729 }
7aacca6f 3730 },
7aacca6f 3731 "leaf" : 1,
44660702
DM
3732 "path" : "/cluster/ha/status/current",
3733 "text" : "current"
56122987
DM
3734 },
3735 {
3736 "info" : {
3737 "GET" : {
7aacca6f 3738 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3739 "method" : "GET",
3740 "name" : "manager_status",
7aacca6f
DM
3741 "parameters" : {
3742 "additionalProperties" : 0
3743 },
56122987
DM
3744 "permissions" : {
3745 "check" : [
3746 "perm",
3747 "/",
3748 [
3749 "Sys.Audit"
3750 ]
3751 ]
44660702
DM
3752 },
3753 "returns" : {
3754 "type" : "object"
7aacca6f 3755 }
56122987
DM
3756 }
3757 },
56122987 3758 "leaf" : 1,
44660702
DM
3759 "path" : "/cluster/ha/status/manager_status",
3760 "text" : "manager_status"
56122987
DM
3761 }
3762 ],
56122987
DM
3763 "info" : {
3764 "GET" : {
44660702 3765 "description" : "Directory index.",
7aacca6f 3766 "method" : "GET",
44660702
DM
3767 "name" : "index",
3768 "parameters" : {
3769 "additionalProperties" : 0
3770 },
3771 "permissions" : {
3772 "user" : "all"
3773 },
56122987 3774 "returns" : {
56122987
DM
3775 "items" : {
3776 "properties" : {},
3777 "type" : "object"
3778 },
3779 "links" : [
3780 {
44660702
DM
3781 "href" : "{name}",
3782 "rel" : "child"
56122987 3783 }
7aacca6f
DM
3784 ],
3785 "type" : "array"
44660702 3786 }
56122987 3787 }
7aacca6f 3788 },
44660702 3789 "leaf" : 0,
7aacca6f 3790 "path" : "/cluster/ha/status",
44660702 3791 "text" : "status"
56122987
DM
3792 }
3793 ],
56122987
DM
3794 "info" : {
3795 "GET" : {
7aacca6f 3796 "description" : "Directory index.",
44660702
DM
3797 "method" : "GET",
3798 "name" : "index",
3799 "parameters" : {
3800 "additionalProperties" : 0
3801 },
7aacca6f
DM
3802 "permissions" : {
3803 "check" : [
3804 "perm",
3805 "/",
3806 [
3807 "Sys.Audit"
3808 ]
3809 ]
3810 },
56122987 3811 "returns" : {
56122987 3812 "items" : {
7aacca6f
DM
3813 "properties" : {
3814 "id" : {
3815 "type" : "string"
3816 }
44660702
DM
3817 },
3818 "type" : "object"
7aacca6f
DM
3819 },
3820 "links" : [
3821 {
3822 "href" : "{id}",
3823 "rel" : "child"
3824 }
44660702
DM
3825 ],
3826 "type" : "array"
7aacca6f
DM
3827 }
3828 }
44660702
DM
3829 },
3830 "leaf" : 0,
3831 "path" : "/cluster/ha",
3832 "text" : "ha"
7aacca6f 3833 },
a9a8e3d1
DM
3834 {
3835 "children" : [
3836 {
3837 "children" : [
3838 {
3839 "info" : {
3840 "DELETE" : {
3841 "description" : "Deactivate existing ACME account at CA.",
3842 "method" : "DELETE",
3843 "name" : "deactivate_account",
3844 "parameters" : {
3845 "additionalProperties" : 0,
3846 "properties" : {
3847 "name" : {
3848 "default" : "default",
3849 "description" : "ACME account config file name.",
3850 "format" : "pve-configid",
3851 "format_description" : "name",
3852 "optional" : 1,
3853 "type" : "string",
3854 "typetext" : "<name>"
3855 }
3856 }
3857 },
3858 "protected" : 1,
3859 "returns" : {
3860 "type" : "string"
3861 }
3862 },
3863 "GET" : {
3864 "description" : "Return existing ACME account information.",
3865 "method" : "GET",
3866 "name" : "get_account",
3867 "parameters" : {
3868 "additionalProperties" : 0,
3869 "properties" : {
3870 "name" : {
3871 "default" : "default",
3872 "description" : "ACME account config file name.",
3873 "format" : "pve-configid",
3874 "format_description" : "name",
3875 "optional" : 1,
3876 "type" : "string",
3877 "typetext" : "<name>"
3878 }
3879 }
3880 },
3881 "protected" : 1,
3882 "returns" : {
3883 "additionalProperties" : 0,
3884 "properties" : {
3885 "account" : {
3886 "optional" : 1,
4d47f125 3887 "renderer" : "yaml",
a9a8e3d1
DM
3888 "type" : "object"
3889 },
3890 "directory" : {
3891 "description" : "URL of ACME CA directory endpoint.",
3892 "optional" : 1,
3893 "pattern" : "^https?://.*",
3894 "type" : "string"
3895 },
3896 "location" : {
3897 "optional" : 1,
3898 "type" : "string"
3899 },
3900 "tos" : {
3901 "optional" : 1,
3902 "type" : "string"
3903 }
3904 },
3905 "type" : "object"
3906 }
3907 },
3908 "PUT" : {
3909 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
3910 "method" : "PUT",
3911 "name" : "update_account",
3912 "parameters" : {
3913 "additionalProperties" : 0,
3914 "properties" : {
3915 "contact" : {
3916 "description" : "Contact email addresses.",
3917 "format" : "email-list",
3918 "optional" : 1,
3919 "type" : "string",
3920 "typetext" : "<string>"
3921 },
3922 "name" : {
3923 "default" : "default",
3924 "description" : "ACME account config file name.",
3925 "format" : "pve-configid",
3926 "format_description" : "name",
3927 "optional" : 1,
3928 "type" : "string",
3929 "typetext" : "<name>"
3930 }
3931 }
3932 },
3933 "protected" : 1,
3934 "returns" : {
3935 "type" : "string"
3936 }
3937 }
3938 },
3939 "leaf" : 1,
3940 "path" : "/cluster/acme/account/{name}",
3941 "text" : "{name}"
3942 }
3943 ],
3944 "info" : {
3945 "GET" : {
3946 "description" : "ACMEAccount index.",
3947 "method" : "GET",
3948 "name" : "account_index",
3949 "parameters" : {
3950 "additionalProperties" : 0
3951 },
3952 "permissions" : {
3953 "user" : "all"
3954 },
3955 "protected" : 1,
3956 "returns" : {
3957 "items" : {
3958 "properties" : {},
3959 "type" : "object"
3960 },
3961 "links" : [
3962 {
3963 "href" : "{name}",
3964 "rel" : "child"
3965 }
3966 ],
3967 "type" : "array"
3968 }
3969 },
3970 "POST" : {
3971 "description" : "Register a new ACME account with CA.",
3972 "method" : "POST",
3973 "name" : "register_account",
3974 "parameters" : {
3975 "additionalProperties" : 0,
3976 "properties" : {
3977 "contact" : {
3978 "description" : "Contact email addresses.",
3979 "format" : "email-list",
3980 "type" : "string",
3981 "typetext" : "<string>"
3982 },
3983 "directory" : {
3984 "default" : "https://acme-v02.api.letsencrypt.org/directory",
3985 "description" : "URL of ACME CA directory endpoint.",
3986 "optional" : 1,
3987 "pattern" : "^https?://.*",
3988 "type" : "string"
3989 },
3990 "name" : {
3991 "default" : "default",
3992 "description" : "ACME account config file name.",
3993 "format" : "pve-configid",
3994 "format_description" : "name",
3995 "optional" : 1,
3996 "type" : "string",
3997 "typetext" : "<name>"
3998 },
3999 "tos_url" : {
4000 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
4001 "optional" : 1,
4002 "type" : "string",
4003 "typetext" : "<string>"
4004 }
4005 }
4006 },
4007 "protected" : 1,
4008 "returns" : {
4009 "type" : "string"
4010 }
4011 }
4012 },
4013 "leaf" : 0,
4014 "path" : "/cluster/acme/account",
4015 "text" : "account"
4016 },
4017 {
4018 "info" : {
4019 "GET" : {
4020 "description" : "Retrieve ACME TermsOfService URL from CA.",
4021 "method" : "GET",
4022 "name" : "get_tos",
4023 "parameters" : {
4024 "additionalProperties" : 0,
4025 "properties" : {
4026 "directory" : {
4027 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4028 "description" : "URL of ACME CA directory endpoint.",
4029 "optional" : 1,
4030 "pattern" : "^https?://.*",
4031 "type" : "string"
4032 }
4033 }
4034 },
5da3d723
TL
4035 "permissions" : {
4036 "user" : "all"
4037 },
a9a8e3d1
DM
4038 "returns" : {
4039 "description" : "ACME TermsOfService URL.",
4040 "type" : "string"
4041 }
4042 }
4043 },
4044 "leaf" : 1,
4045 "path" : "/cluster/acme/tos",
4046 "text" : "tos"
4047 },
4048 {
4049 "info" : {
4050 "GET" : {
4051 "description" : "Get named known ACME directory endpoints.",
4052 "method" : "GET",
4053 "name" : "get_directories",
4054 "parameters" : {
4055 "additionalProperties" : 0
4056 },
5da3d723
TL
4057 "permissions" : {
4058 "user" : "all"
4059 },
a9a8e3d1
DM
4060 "returns" : {
4061 "items" : {
4062 "additionalProperties" : 0,
4063 "properties" : {
4064 "name" : {
4065 "type" : "string"
4066 },
4067 "url" : {
4068 "description" : "URL of ACME CA directory endpoint.",
4069 "pattern" : "^https?://.*",
4070 "type" : "string"
4071 }
4072 },
4073 "type" : "object"
4074 },
4075 "type" : "array"
4076 }
4077 }
4078 },
4079 "leaf" : 1,
4080 "path" : "/cluster/acme/directories",
4081 "text" : "directories"
4082 }
4083 ],
4084 "info" : {
4085 "GET" : {
4086 "description" : "ACMEAccount index.",
4087 "method" : "GET",
4088 "name" : "index",
4089 "parameters" : {
4090 "additionalProperties" : 0
4091 },
4092 "permissions" : {
4093 "user" : "all"
4094 },
4095 "returns" : {
4096 "items" : {
4097 "properties" : {},
4098 "type" : "object"
4099 },
4100 "links" : [
4101 {
4102 "href" : "{name}",
4103 "rel" : "child"
4104 }
4105 ],
4106 "type" : "array"
4107 }
4108 }
4109 },
4110 "leaf" : 0,
4111 "path" : "/cluster/acme",
4112 "text" : "acme"
4113 },
7aacca6f 4114 {
7aacca6f
DM
4115 "info" : {
4116 "GET" : {
4117 "description" : "Read cluster log",
44660702
DM
4118 "method" : "GET",
4119 "name" : "log",
56122987 4120 "parameters" : {
7aacca6f 4121 "additionalProperties" : 0,
56122987
DM
4122 "properties" : {
4123 "max" : {
7aacca6f 4124 "description" : "Maximum number of entries.",
44660702
DM
4125 "minimum" : 1,
4126 "optional" : 1,
4bd7df8b 4127 "type" : "integer",
013dc89f 4128 "typetext" : "<integer> (1 - N)"
56122987 4129 }
7aacca6f 4130 }
56122987 4131 },
44660702
DM
4132 "permissions" : {
4133 "user" : "all"
4134 },
7aacca6f 4135 "returns" : {
7aacca6f 4136 "items" : {
44660702
DM
4137 "properties" : {},
4138 "type" : "object"
4139 },
4140 "type" : "array"
7aacca6f 4141 }
56122987 4142 }
44660702
DM
4143 },
4144 "leaf" : 1,
4145 "path" : "/cluster/log",
4146 "text" : "log"
56122987
DM
4147 },
4148 {
56122987
DM
4149 "info" : {
4150 "GET" : {
44660702 4151 "description" : "Resources index (cluster wide).",
7aacca6f 4152 "method" : "GET",
7aacca6f 4153 "name" : "resources",
56122987
DM
4154 "parameters" : {
4155 "additionalProperties" : 0,
4156 "properties" : {
4157 "type" : {
4158 "enum" : [
4159 "vm",
4160 "storage",
4161 "node"
44660702
DM
4162 ],
4163 "optional" : 1,
4164 "type" : "string"
56122987
DM
4165 }
4166 }
4167 },
44660702
DM
4168 "permissions" : {
4169 "user" : "all"
4170 },
4171 "returns" : {
4172 "items" : {
4d47f125
TL
4173 "properties" : {
4174 "cpu" : {
4175 "description" : "CPU utilization (when type in node,qemu,lxc).",
4176 "optional" : 1,
4177 "renderer" : "fraction_as_percentage",
4178 "type" : "number"
4179 },
4180 "disk" : {
4181 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
4182 "optional" : 1,
4183 "renderer" : "bytes",
4184 "type" : "string"
4185 },
4186 "hastate" : {
4187 "description" : "HA service status (for HA managed VMs).",
4188 "optional" : 1,
4189 "type" : "string"
4190 },
4191 "id" : {
4192 "type" : "string"
4193 },
4194 "level" : {
4195 "description" : "Support level (when type == node).",
4196 "optional" : 1,
4197 "type" : "string"
4198 },
4199 "maxcpu" : {
4200 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
4201 "optional" : 1,
4202 "type" : "number"
4203 },
4204 "maxdisk" : {
4205 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
4206 "optional" : 1,
4207 "renderer" : "bytes",
4208 "type" : "integer"
4209 },
4210 "maxmem" : {
4211 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
4212 "optional" : 1,
4213 "renderer" : "bytes",
4214 "type" : "integer"
4215 },
4216 "mem" : {
4217 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
4218 "optional" : 1,
4219 "renderer" : "bytes",
4220 "type" : "string"
4221 },
4222 "node" : {
4223 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
4224 "format" : "pve-node",
4225 "optional" : 1,
4226 "type" : "string"
4227 },
4228 "pool" : {
4229 "description" : "The pool name (when type in pool,qemu,lxc).",
4230 "optional" : 1,
4231 "type" : "string"
4232 },
4233 "status" : {
4234 "description" : "Resource type dependent status.",
4235 "optional" : 1,
4236 "type" : "string"
4237 },
4238 "storage" : {
4239 "description" : "The storage identifier (when type == storage).",
4240 "format" : "pve-storage-id",
4241 "optional" : 1,
4242 "type" : "string"
4243 },
4244 "type" : {
4245 "description" : "Resource type.",
4246 "enum" : [
4247 "node",
4248 "storage",
4249 "pool",
4250 "qemu",
4251 "lxc",
4252 "openvz"
4253 ],
4254 "type" : "string"
4255 },
4256 "uptime" : {
4257 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
4258 "optional" : 1,
4259 "renderer" : "duration",
4260 "type" : "integer"
4261 }
4262 },
44660702
DM
4263 "type" : "object"
4264 },
4265 "type" : "array"
4266 }
56122987
DM
4267 }
4268 },
7aacca6f 4269 "leaf" : 1,
44660702
DM
4270 "path" : "/cluster/resources",
4271 "text" : "resources"
56122987
DM
4272 },
4273 {
56122987
DM
4274 "info" : {
4275 "GET" : {
7aacca6f 4276 "description" : "List recent tasks (cluster wide).",
44660702 4277 "method" : "GET",
7aacca6f 4278 "name" : "tasks",
56122987
DM
4279 "parameters" : {
4280 "additionalProperties" : 0
4281 },
44660702
DM
4282 "permissions" : {
4283 "user" : "all"
4284 },
56122987
DM
4285 "returns" : {
4286 "items" : {
4287 "properties" : {
4288 "upid" : {
4289 "type" : "string"
4290 }
44660702
DM
4291 },
4292 "type" : "object"
4293 },
4294 "type" : "array"
7aacca6f 4295 }
56122987
DM
4296 }
4297 },
7aacca6f 4298 "leaf" : 1,
44660702
DM
4299 "path" : "/cluster/tasks",
4300 "text" : "tasks"
56122987
DM
4301 },
4302 {
56122987 4303 "info" : {
7aacca6f 4304 "GET" : {
44660702
DM
4305 "description" : "Get datacenter options.",
4306 "method" : "GET",
4307 "name" : "get_options",
56122987 4308 "parameters" : {
7aacca6f
DM
4309 "additionalProperties" : 0
4310 },
4311 "permissions" : {
4312 "check" : [
4313 "perm",
4314 "/",
4315 [
4316 "Sys.Audit"
4317 ]
4318 ]
4319 },
7aacca6f 4320 "returns" : {
44660702 4321 "type" : "object"
7aacca6f
DM
4322 }
4323 },
4324 "PUT" : {
44660702
DM
4325 "description" : "Set datacenter options.",
4326 "method" : "PUT",
7aacca6f
DM
4327 "name" : "set_options",
4328 "parameters" : {
4329 "additionalProperties" : 0,
4330 "properties" : {
27a7acb2
DM
4331 "bwlimit" : {
4332 "description" : "Set bandwidth/io limits various operations.",
4333 "format" : {
4334 "clone" : {
4335 "description" : "bandwidth limit in MiB/s for cloning disks",
4336 "format_description" : "LIMIT",
4337 "minimum" : "0",
4338 "optional" : 1,
4339 "type" : "number"
4340 },
4341 "default" : {
4342 "description" : "default bandwidth limit in MiB/s",
4343 "format_description" : "LIMIT",
4344 "minimum" : "0",
4345 "optional" : 1,
4346 "type" : "number"
4347 },
4348 "migration" : {
4349 "description" : "bandwidth limit in MiB/s for migrating guests",
4350 "format_description" : "LIMIT",
4351 "minimum" : "0",
4352 "optional" : 1,
4353 "type" : "number"
4354 },
4355 "move" : {
4356 "description" : "bandwidth limit in MiB/s for moving disks",
4357 "format_description" : "LIMIT",
4358 "minimum" : "0",
4359 "optional" : 1,
4360 "type" : "number"
4361 },
4362 "restore" : {
4363 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
4364 "format_description" : "LIMIT",
4365 "minimum" : "0",
4366 "optional" : 1,
4367 "type" : "number"
4368 }
4369 },
4370 "optional" : 1,
4371 "type" : "string",
4372 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
4373 },
56122987 4374 "console" : {
a9a8e3d1 4375 "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC; deprecated and maps to html5), an external virt-viewer comtatible application (SPICE), an HTML5 based vnc viewer (noVNC), or an HTML5 based console client (xtermjs). If the selected viewer is not available (e.g. SPICE not activated for the VM), the fallback is noVNC.",
56122987
DM
4376 "enum" : [
4377 "applet",
4378 "vv",
a9a8e3d1
DM
4379 "html5",
4380 "xtermjs"
44660702
DM
4381 ],
4382 "optional" : 1,
4383 "type" : "string"
56122987 4384 },
7aacca6f 4385 "delete" : {
7aacca6f 4386 "description" : "A list of settings you want to delete.",
44660702 4387 "format" : "pve-configid-list",
7aacca6f 4388 "optional" : 1,
013dc89f
DM
4389 "type" : "string",
4390 "typetext" : "<string>"
7aacca6f 4391 },
44660702
DM
4392 "email_from" : {
4393 "description" : "Specify email address to send notification from (default is root@$hostname)",
4394 "format" : "email-opt",
7aacca6f 4395 "optional" : 1,
013dc89f
DM
4396 "type" : "string",
4397 "typetext" : "<string>"
44660702
DM
4398 },
4399 "fencing" : {
4400 "default" : "watchdog",
4401 "description" : "Set the fencing mode of the HA cluster. Hardware mode needs a valid configuration of fence devices in /etc/pve/ha/fence.cfg. With both all two modes are used.\n\nWARNING: 'hardware' and 'both' are EXPERIMENTAL & WIP",
7aacca6f 4402 "enum" : [
44660702
DM
4403 "watchdog",
4404 "hardware",
4405 "both"
7aacca6f 4406 ],
44660702
DM
4407 "optional" : 1,
4408 "type" : "string"
4409 },
4410 "http_proxy" : {
4411 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
4412 "optional" : 1,
4413 "pattern" : "http://.*",
4414 "type" : "string"
7aacca6f 4415 },
56122987 4416 "keyboard" : {
44660702 4417 "description" : "Default keybord layout for vnc server.",
56122987 4418 "enum" : [
44660702
DM
4419 "de",
4420 "de-ch",
7aacca6f 4421 "da",
56122987 4422 "en-gb",
44660702
DM
4423 "en-us",
4424 "es",
4425 "fi",
4426 "fr",
4427 "fr-be",
4428 "fr-ca",
4429 "fr-ch",
4430 "hu",
7aacca6f 4431 "is",
44660702
DM
4432 "it",
4433 "ja",
4434 "lt",
56122987 4435 "mk",
7aacca6f 4436 "nl",
56122987 4437 "no",
44660702 4438 "pl",
7aacca6f 4439 "pt",
44660702
DM
4440 "pt-br",
4441 "sv",
4442 "sl",
4443 "tr"
56122987 4444 ],
56122987
DM
4445 "optional" : 1,
4446 "type" : "string"
4447 },
44660702
DM
4448 "language" : {
4449 "description" : "Default GUI language.",
4450 "enum" : [
4d47f125
TL
4451 "zh_CN",
4452 "zh_TW",
4453 "ca",
44660702 4454 "en",
4d47f125
TL
4455 "eu",
4456 "fr",
4457 "de",
4458 "it",
4459 "es",
4460 "ja",
4461 "nb",
4462 "nn",
4463 "fa",
4464 "pl",
4465 "pt_BR",
4466 "ru",
4467 "sl",
4468 "sv",
4469 "tr"
44660702 4470 ],
56122987 4471 "optional" : 1,
44660702 4472 "type" : "string"
56122987 4473 },
4bd7df8b
DM
4474 "mac_prefix" : {
4475 "description" : "Prefix for autogenerated MAC addresses.",
4476 "optional" : 1,
4477 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
4478 "type" : "string"
4479 },
44660702
DM
4480 "max_workers" : {
4481 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
4482 "minimum" : 1,
56122987 4483 "optional" : 1,
4bd7df8b 4484 "type" : "integer",
013dc89f 4485 "typetext" : "<integer> (1 - N)"
56122987 4486 },
de0983cb
DM
4487 "migration" : {
4488 "description" : "For cluster wide migration settings.",
4489 "format" : {
4490 "network" : {
4491 "description" : "CIDR of the (sub) network that is used for migration.",
4492 "format" : "CIDR",
4493 "format_description" : "CIDR",
4494 "optional" : 1,
4495 "type" : "string"
4496 },
4497 "type" : {
4498 "default" : "secure",
4499 "default_key" : 1,
4500 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
4501 "enum" : [
4502 "secure",
4503 "insecure"
4504 ],
4505 "type" : "string"
4506 }
4507 },
4508 "optional" : 1,
4509 "type" : "string",
4510 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
4511 },
7aacca6f 4512 "migration_unsecure" : {
de0983cb 4513 "description" : "Migration is secure using SSH tunnel by default. For secure private networks you can disable it to speed up migration. Deprecated, use the 'migration' property instead!",
56122987 4514 "optional" : 1,
013dc89f
DM
4515 "type" : "boolean",
4516 "typetext" : "<boolean>"
56122987
DM
4517 }
4518 }
4519 },
44660702
DM
4520 "permissions" : {
4521 "check" : [
4522 "perm",
4523 "/",
4524 [
4525 "Sys.Modify"
4526 ]
4527 ]
4528 },
56122987 4529 "protected" : 1,
7aacca6f
DM
4530 "returns" : {
4531 "type" : "null"
44660702 4532 }
7aacca6f
DM
4533 }
4534 },
44660702
DM
4535 "leaf" : 1,
4536 "path" : "/cluster/options",
7aacca6f
DM
4537 "text" : "options"
4538 },
4539 {
7aacca6f 4540 "info" : {
56122987 4541 "GET" : {
44660702
DM
4542 "description" : "Get cluster status informations.",
4543 "method" : "GET",
4544 "name" : "get_status",
56122987
DM
4545 "parameters" : {
4546 "additionalProperties" : 0
4547 },
56122987
DM
4548 "permissions" : {
4549 "check" : [
4550 "perm",
4551 "/",
4552 [
4553 "Sys.Audit"
4554 ]
4555 ]
4556 },
7aacca6f 4557 "protected" : 1,
56122987 4558 "returns" : {
56122987 4559 "items" : {
56122987
DM
4560 "properties" : {
4561 "type" : {
4562 "type" : "string"
4563 }
44660702
DM
4564 },
4565 "type" : "object"
7aacca6f
DM
4566 },
4567 "type" : "array"
56122987
DM
4568 }
4569 }
4570 },
44660702 4571 "leaf" : 1,
7aacca6f 4572 "path" : "/cluster/status",
44660702 4573 "text" : "status"
56122987
DM
4574 },
4575 {
56122987
DM
4576 "info" : {
4577 "GET" : {
56122987 4578 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
4579 "method" : "GET",
4580 "name" : "nextid",
56122987 4581 "parameters" : {
44660702 4582 "additionalProperties" : 0,
56122987
DM
4583 "properties" : {
4584 "vmid" : {
44660702 4585 "description" : "The (unique) ID of the VM.",
56122987 4586 "format" : "pve-vmid",
7aacca6f 4587 "minimum" : 1,
7aacca6f 4588 "optional" : 1,
4bd7df8b 4589 "type" : "integer",
013dc89f 4590 "typetext" : "<integer> (1 - N)"
56122987 4591 }
44660702 4592 }
56122987 4593 },
7aacca6f
DM
4594 "permissions" : {
4595 "user" : "all"
44660702
DM
4596 },
4597 "returns" : {
4598 "description" : "The next free VMID.",
4599 "type" : "integer"
7aacca6f 4600 }
56122987
DM
4601 }
4602 },
7aacca6f 4603 "leaf" : 1,
44660702
DM
4604 "path" : "/cluster/nextid",
4605 "text" : "nextid"
56122987
DM
4606 }
4607 ],
44660702
DM
4608 "info" : {
4609 "GET" : {
4610 "description" : "Cluster index.",
4611 "method" : "GET",
4612 "name" : "index",
4613 "parameters" : {
4614 "additionalProperties" : 0
4615 },
4616 "permissions" : {
4617 "user" : "all"
4618 },
4619 "returns" : {
4620 "items" : {
4621 "properties" : {},
4622 "type" : "object"
4623 },
4624 "links" : [
4625 {
4626 "href" : "{name}",
4627 "rel" : "child"
4628 }
4629 ],
4630 "type" : "array"
4631 }
4632 }
4633 },
4634 "leaf" : 0,
4635 "path" : "/cluster",
7aacca6f 4636 "text" : "cluster"
56122987
DM
4637 },
4638 {
56122987
DM
4639 "children" : [
4640 {
7aacca6f
DM
4641 "children" : [
4642 {
4643 "children" : [
4644 {
56122987
DM
4645 "children" : [
4646 {
56122987
DM
4647 "children" : [
4648 {
4649 "children" : [
4650 {
56122987
DM
4651 "info" : {
4652 "DELETE" : {
44660702 4653 "description" : "Delete rule.",
7aacca6f 4654 "method" : "DELETE",
44660702 4655 "name" : "delete_rule",
56122987 4656 "parameters" : {
44660702 4657 "additionalProperties" : 0,
56122987 4658 "properties" : {
44660702
DM
4659 "digest" : {
4660 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4661 "maxLength" : 40,
4662 "optional" : 1,
013dc89f
DM
4663 "type" : "string",
4664 "typetext" : "<string>"
44660702 4665 },
56122987 4666 "node" : {
7aacca6f 4667 "description" : "The cluster node name.",
44660702 4668 "format" : "pve-node",
013dc89f
DM
4669 "type" : "string",
4670 "typetext" : "<string>"
7aacca6f 4671 },
56122987 4672 "pos" : {
7aacca6f 4673 "description" : "Update rule at position <pos>.",
44660702 4674 "minimum" : 0,
56122987 4675 "optional" : 1,
4bd7df8b 4676 "type" : "integer",
013dc89f 4677 "typetext" : "<integer> (0 - N)"
44660702
DM
4678 },
4679 "vmid" : {
4680 "description" : "The (unique) ID of the VM.",
4681 "format" : "pve-vmid",
4682 "minimum" : 1,
4bd7df8b 4683 "type" : "integer",
013dc89f 4684 "typetext" : "<integer> (1 - N)"
56122987 4685 }
44660702 4686 }
7aacca6f 4687 },
56122987
DM
4688 "permissions" : {
4689 "check" : [
4690 "perm",
4691 "/vms/{vmid}",
4692 [
4693 "VM.Config.Network"
4694 ]
4695 ]
4696 },
44660702
DM
4697 "protected" : 1,
4698 "proxyto" : null,
56122987
DM
4699 "returns" : {
4700 "type" : "null"
44660702
DM
4701 }
4702 },
4703 "GET" : {
4704 "description" : "Get single rule data.",
4705 "method" : "GET",
4706 "name" : "get_rule",
4707 "parameters" : {
4708 "additionalProperties" : 0,
4709 "properties" : {
4710 "node" : {
4711 "description" : "The cluster node name.",
4712 "format" : "pve-node",
013dc89f
DM
4713 "type" : "string",
4714 "typetext" : "<string>"
44660702
DM
4715 },
4716 "pos" : {
4717 "description" : "Update rule at position <pos>.",
4718 "minimum" : 0,
4719 "optional" : 1,
4bd7df8b 4720 "type" : "integer",
013dc89f 4721 "typetext" : "<integer> (0 - N)"
44660702
DM
4722 },
4723 "vmid" : {
4724 "description" : "The (unique) ID of the VM.",
4725 "format" : "pve-vmid",
4726 "minimum" : 1,
4bd7df8b 4727 "type" : "integer",
013dc89f 4728 "typetext" : "<integer> (1 - N)"
44660702
DM
4729 }
4730 }
56122987 4731 },
56122987
DM
4732 "permissions" : {
4733 "check" : [
4734 "perm",
4735 "/vms/{vmid}",
4736 [
44660702 4737 "VM.Audit"
56122987
DM
4738 ]
4739 ]
4740 },
56122987 4741 "proxyto" : null,
44660702
DM
4742 "returns" : {
4743 "properties" : {
4744 "pos" : {
4745 "type" : "integer"
4746 }
4747 },
4748 "type" : "object"
4749 }
4750 },
4751 "PUT" : {
7aacca6f
DM
4752 "description" : "Modify rule data.",
4753 "method" : "PUT",
44660702 4754 "name" : "update_rule",
56122987 4755 "parameters" : {
44660702 4756 "additionalProperties" : 0,
56122987 4757 "properties" : {
44660702
DM
4758 "action" : {
4759 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4760 "maxLength" : 20,
4761 "minLength" : 2,
56122987 4762 "optional" : 1,
44660702 4763 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
4764 "type" : "string"
4765 },
7aacca6f 4766 "comment" : {
e94f0d56 4767 "description" : "Descriptive comment.",
7aacca6f 4768 "optional" : 1,
013dc89f
DM
4769 "type" : "string",
4770 "typetext" : "<string>"
7aacca6f
DM
4771 },
4772 "delete" : {
7aacca6f 4773 "description" : "A list of settings you want to delete.",
44660702
DM
4774 "format" : "pve-configid-list",
4775 "optional" : 1,
013dc89f
DM
4776 "type" : "string",
4777 "typetext" : "<string>"
7aacca6f
DM
4778 },
4779 "dest" : {
44660702 4780 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
7aacca6f 4781 "format" : "pve-fw-addr-spec",
56122987 4782 "optional" : 1,
013dc89f
DM
4783 "type" : "string",
4784 "typetext" : "<string>"
56122987 4785 },
7aacca6f 4786 "digest" : {
44660702 4787 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 4788 "maxLength" : 40,
56122987 4789 "optional" : 1,
013dc89f
DM
4790 "type" : "string",
4791 "typetext" : "<string>"
44660702
DM
4792 },
4793 "dport" : {
4794 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
4795 "format" : "pve-fw-dport-spec",
4796 "optional" : 1,
013dc89f
DM
4797 "type" : "string",
4798 "typetext" : "<string>"
56122987 4799 },
7aacca6f 4800 "enable" : {
e94f0d56 4801 "description" : "Flag to enable/disable a rule.",
44660702 4802 "minimum" : 0,
56122987 4803 "optional" : 1,
4bd7df8b 4804 "type" : "integer",
013dc89f 4805 "typetext" : "<integer> (0 - N)"
7aacca6f 4806 },
44660702
DM
4807 "iface" : {
4808 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
4809 "format" : "pve-iface",
4810 "maxLength" : 20,
7aacca6f 4811 "minLength" : 2,
56122987 4812 "optional" : 1,
013dc89f
DM
4813 "type" : "string",
4814 "typetext" : "<string>"
56122987 4815 },
44660702 4816 "macro" : {
e94f0d56 4817 "description" : "Use predefined standard macro.",
44660702 4818 "maxLength" : 128,
56122987 4819 "optional" : 1,
013dc89f
DM
4820 "type" : "string",
4821 "typetext" : "<string>"
56122987 4822 },
44660702
DM
4823 "moveto" : {
4824 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
4825 "minimum" : 0,
56122987 4826 "optional" : 1,
4bd7df8b 4827 "type" : "integer",
013dc89f 4828 "typetext" : "<integer> (0 - N)"
56122987 4829 },
44660702
DM
4830 "node" : {
4831 "description" : "The cluster node name.",
4832 "format" : "pve-node",
013dc89f
DM
4833 "type" : "string",
4834 "typetext" : "<string>"
44660702
DM
4835 },
4836 "pos" : {
4837 "description" : "Update rule at position <pos>.",
4838 "minimum" : 0,
4839 "optional" : 1,
4bd7df8b 4840 "type" : "integer",
013dc89f 4841 "typetext" : "<integer> (0 - N)"
56122987 4842 },
44660702
DM
4843 "proto" : {
4844 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4845 "format" : "pve-fw-protocol-spec",
4846 "optional" : 1,
013dc89f
DM
4847 "type" : "string",
4848 "typetext" : "<string>"
7aacca6f 4849 },
44660702
DM
4850 "source" : {
4851 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
4852 "format" : "pve-fw-addr-spec",
56122987 4853 "optional" : 1,
013dc89f
DM
4854 "type" : "string",
4855 "typetext" : "<string>"
56122987
DM
4856 },
4857 "sport" : {
4858 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
44660702
DM
4859 "format" : "pve-fw-sport-spec",
4860 "optional" : 1,
013dc89f
DM
4861 "type" : "string",
4862 "typetext" : "<string>"
44660702
DM
4863 },
4864 "type" : {
e94f0d56 4865 "description" : "Rule type.",
44660702
DM
4866 "enum" : [
4867 "in",
4868 "out",
4869 "group"
4870 ],
56122987 4871 "optional" : 1,
56122987 4872 "type" : "string"
44660702
DM
4873 },
4874 "vmid" : {
4875 "description" : "The (unique) ID of the VM.",
4876 "format" : "pve-vmid",
4877 "minimum" : 1,
4bd7df8b 4878 "type" : "integer",
013dc89f 4879 "typetext" : "<integer> (1 - N)"
56122987 4880 }
44660702 4881 }
56122987 4882 },
56122987
DM
4883 "permissions" : {
4884 "check" : [
4885 "perm",
4886 "/vms/{vmid}",
4887 [
44660702 4888 "VM.Config.Network"
56122987
DM
4889 ]
4890 ]
7aacca6f 4891 },
44660702 4892 "protected" : 1,
7aacca6f 4893 "proxyto" : null,
7aacca6f 4894 "returns" : {
44660702
DM
4895 "type" : "null"
4896 }
56122987 4897 }
7aacca6f 4898 },
44660702 4899 "leaf" : 1,
7aacca6f 4900 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 4901 "text" : "{pos}"
56122987
DM
4902 }
4903 ],
56122987 4904 "info" : {
44660702
DM
4905 "GET" : {
4906 "description" : "List rules.",
4907 "method" : "GET",
4908 "name" : "get_rules",
4909 "parameters" : {
4910 "additionalProperties" : 0,
4911 "properties" : {
4912 "node" : {
4913 "description" : "The cluster node name.",
4914 "format" : "pve-node",
013dc89f
DM
4915 "type" : "string",
4916 "typetext" : "<string>"
44660702
DM
4917 },
4918 "vmid" : {
4919 "description" : "The (unique) ID of the VM.",
4920 "format" : "pve-vmid",
4921 "minimum" : 1,
4bd7df8b 4922 "type" : "integer",
013dc89f 4923 "typetext" : "<integer> (1 - N)"
44660702
DM
4924 }
4925 }
56122987 4926 },
56122987
DM
4927 "permissions" : {
4928 "check" : [
4929 "perm",
4930 "/vms/{vmid}",
4931 [
44660702 4932 "VM.Audit"
56122987
DM
4933 ]
4934 ]
7aacca6f 4935 },
44660702
DM
4936 "proxyto" : null,
4937 "returns" : {
4938 "items" : {
4939 "properties" : {
4940 "pos" : {
4941 "type" : "integer"
4942 }
4943 },
4944 "type" : "object"
4945 },
4946 "links" : [
4947 {
4948 "href" : "{pos}",
4949 "rel" : "child"
4950 }
4951 ],
4952 "type" : "array"
4953 }
4954 },
4955 "POST" : {
4956 "description" : "Create new rule.",
7aacca6f 4957 "method" : "POST",
44660702 4958 "name" : "create_rule",
56122987 4959 "parameters" : {
44660702 4960 "additionalProperties" : 0,
56122987 4961 "properties" : {
44660702
DM
4962 "action" : {
4963 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4964 "maxLength" : 20,
4965 "minLength" : 2,
4966 "optional" : 0,
4967 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4968 "type" : "string"
56122987 4969 },
44660702 4970 "comment" : {
e94f0d56 4971 "description" : "Descriptive comment.",
56122987 4972 "optional" : 1,
013dc89f
DM
4973 "type" : "string",
4974 "typetext" : "<string>"
56122987 4975 },
44660702
DM
4976 "dest" : {
4977 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
4978 "format" : "pve-fw-addr-spec",
4979 "optional" : 1,
013dc89f
DM
4980 "type" : "string",
4981 "typetext" : "<string>"
56122987 4982 },
44660702
DM
4983 "digest" : {
4984 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4985 "maxLength" : 40,
56122987 4986 "optional" : 1,
013dc89f
DM
4987 "type" : "string",
4988 "typetext" : "<string>"
56122987 4989 },
7aacca6f
DM
4990 "dport" : {
4991 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
44660702 4992 "format" : "pve-fw-dport-spec",
7aacca6f 4993 "optional" : 1,
013dc89f
DM
4994 "type" : "string",
4995 "typetext" : "<string>"
56122987
DM
4996 },
4997 "enable" : {
e94f0d56 4998 "description" : "Flag to enable/disable a rule.",
56122987 4999 "minimum" : 0,
44660702 5000 "optional" : 1,
4bd7df8b 5001 "type" : "integer",
013dc89f 5002 "typetext" : "<integer> (0 - N)"
56122987 5003 },
44660702
DM
5004 "iface" : {
5005 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
5006 "format" : "pve-iface",
5007 "maxLength" : 20,
7aacca6f 5008 "minLength" : 2,
44660702 5009 "optional" : 1,
013dc89f
DM
5010 "type" : "string",
5011 "typetext" : "<string>"
56122987 5012 },
44660702 5013 "macro" : {
e94f0d56 5014 "description" : "Use predefined standard macro.",
44660702 5015 "maxLength" : 128,
56122987 5016 "optional" : 1,
013dc89f
DM
5017 "type" : "string",
5018 "typetext" : "<string>"
7aacca6f 5019 },
44660702
DM
5020 "node" : {
5021 "description" : "The cluster node name.",
5022 "format" : "pve-node",
013dc89f
DM
5023 "type" : "string",
5024 "typetext" : "<string>"
44660702
DM
5025 },
5026 "pos" : {
5027 "description" : "Update rule at position <pos>.",
5028 "minimum" : 0,
5029 "optional" : 1,
4bd7df8b 5030 "type" : "integer",
013dc89f 5031 "typetext" : "<integer> (0 - N)"
44660702
DM
5032 },
5033 "proto" : {
5034 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5035 "format" : "pve-fw-protocol-spec",
7aacca6f 5036 "optional" : 1,
013dc89f
DM
5037 "type" : "string",
5038 "typetext" : "<string>"
7aacca6f
DM
5039 },
5040 "source" : {
5041 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
44660702 5042 "format" : "pve-fw-addr-spec",
7aacca6f 5043 "optional" : 1,
013dc89f
DM
5044 "type" : "string",
5045 "typetext" : "<string>"
7aacca6f 5046 },
44660702
DM
5047 "sport" : {
5048 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
5049 "format" : "pve-fw-sport-spec",
7aacca6f 5050 "optional" : 1,
013dc89f
DM
5051 "type" : "string",
5052 "typetext" : "<string>"
7aacca6f 5053 },
44660702 5054 "type" : {
e94f0d56 5055 "description" : "Rule type.",
44660702
DM
5056 "enum" : [
5057 "in",
5058 "out",
5059 "group"
5060 ],
5061 "optional" : 0,
5062 "type" : "string"
7aacca6f 5063 },
7aacca6f 5064 "vmid" : {
44660702 5065 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
5066 "format" : "pve-vmid",
5067 "minimum" : 1,
4bd7df8b 5068 "type" : "integer",
013dc89f 5069 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5070 }
5071 }
5072 },
56122987
DM
5073 "permissions" : {
5074 "check" : [
5075 "perm",
5076 "/vms/{vmid}",
5077 [
44660702 5078 "VM.Config.Network"
56122987
DM
5079 ]
5080 ]
5081 },
44660702
DM
5082 "protected" : 1,
5083 "proxyto" : null,
56122987 5084 "returns" : {
44660702
DM
5085 "type" : "null"
5086 }
56122987
DM
5087 }
5088 },
44660702 5089 "leaf" : 0,
7aacca6f 5090 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 5091 "text" : "rules"
56122987
DM
5092 },
5093 {
5094 "children" : [
5095 {
56122987 5096 "info" : {
44660702
DM
5097 "DELETE" : {
5098 "description" : "Remove IP or Network alias.",
5099 "method" : "DELETE",
5100 "name" : "remove_alias",
56122987 5101 "parameters" : {
44660702 5102 "additionalProperties" : 0,
56122987 5103 "properties" : {
44660702
DM
5104 "digest" : {
5105 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5106 "maxLength" : 40,
5107 "optional" : 1,
013dc89f
DM
5108 "type" : "string",
5109 "typetext" : "<string>"
56122987
DM
5110 },
5111 "name" : {
56122987 5112 "description" : "Alias name.",
44660702 5113 "maxLength" : 64,
7aacca6f 5114 "minLength" : 2,
44660702 5115 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
5116 "type" : "string"
5117 },
7aacca6f 5118 "node" : {
44660702 5119 "description" : "The cluster node name.",
7aacca6f 5120 "format" : "pve-node",
013dc89f
DM
5121 "type" : "string",
5122 "typetext" : "<string>"
44660702
DM
5123 },
5124 "vmid" : {
5125 "description" : "The (unique) ID of the VM.",
5126 "format" : "pve-vmid",
5127 "minimum" : 1,
4bd7df8b 5128 "type" : "integer",
013dc89f 5129 "typetext" : "<integer> (1 - N)"
56122987 5130 }
44660702 5131 }
56122987 5132 },
7aacca6f
DM
5133 "permissions" : {
5134 "check" : [
5135 "perm",
5136 "/vms/{vmid}",
5137 [
5138 "VM.Config.Network"
5139 ]
5140 ]
56122987 5141 },
44660702
DM
5142 "protected" : 1,
5143 "returns" : {
5144 "type" : "null"
5145 }
5146 },
5147 "GET" : {
5148 "description" : "Read alias.",
5149 "method" : "GET",
5150 "name" : "read_alias",
56122987 5151 "parameters" : {
44660702 5152 "additionalProperties" : 0,
56122987 5153 "properties" : {
56122987 5154 "name" : {
7aacca6f 5155 "description" : "Alias name.",
44660702 5156 "maxLength" : 64,
56122987 5157 "minLength" : 2,
44660702 5158 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 5159 "type" : "string"
7aacca6f
DM
5160 },
5161 "node" : {
5162 "description" : "The cluster node name.",
44660702 5163 "format" : "pve-node",
013dc89f
DM
5164 "type" : "string",
5165 "typetext" : "<string>"
44660702
DM
5166 },
5167 "vmid" : {
5168 "description" : "The (unique) ID of the VM.",
5169 "format" : "pve-vmid",
5170 "minimum" : 1,
4bd7df8b 5171 "type" : "integer",
013dc89f 5172 "typetext" : "<integer> (1 - N)"
56122987 5173 }
44660702 5174 }
56122987 5175 },
44660702
DM
5176 "permissions" : {
5177 "check" : [
5178 "perm",
5179 "/vms/{vmid}",
5180 [
5181 "VM.Audit"
5182 ]
5183 ]
56122987 5184 },
44660702
DM
5185 "returns" : {
5186 "type" : "object"
5187 }
7aacca6f 5188 },
44660702
DM
5189 "PUT" : {
5190 "description" : "Update IP or Network alias.",
5191 "method" : "PUT",
5192 "name" : "update_alias",
56122987
DM
5193 "parameters" : {
5194 "additionalProperties" : 0,
5195 "properties" : {
44660702
DM
5196 "cidr" : {
5197 "description" : "Network/IP specification in CIDR format.",
5198 "format" : "IPorCIDR",
013dc89f
DM
5199 "type" : "string",
5200 "typetext" : "<string>"
44660702
DM
5201 },
5202 "comment" : {
5203 "optional" : 1,
013dc89f
DM
5204 "type" : "string",
5205 "typetext" : "<string>"
56122987
DM
5206 },
5207 "digest" : {
44660702 5208 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
5209 "maxLength" : 40,
5210 "optional" : 1,
013dc89f
DM
5211 "type" : "string",
5212 "typetext" : "<string>"
56122987 5213 },
7aacca6f 5214 "name" : {
44660702 5215 "description" : "Alias name.",
56122987
DM
5216 "maxLength" : 64,
5217 "minLength" : 2,
5218 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5219 "type" : "string"
7aacca6f
DM
5220 },
5221 "node" : {
7aacca6f 5222 "description" : "The cluster node name.",
44660702 5223 "format" : "pve-node",
013dc89f
DM
5224 "type" : "string",
5225 "typetext" : "<string>"
44660702
DM
5226 },
5227 "rename" : {
5228 "description" : "Rename an existing alias.",
5229 "maxLength" : 64,
5230 "minLength" : 2,
5231 "optional" : 1,
5232 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5233 "type" : "string"
5234 },
5235 "vmid" : {
5236 "description" : "The (unique) ID of the VM.",
5237 "format" : "pve-vmid",
5238 "minimum" : 1,
4bd7df8b 5239 "type" : "integer",
013dc89f 5240 "typetext" : "<integer> (1 - N)"
56122987
DM
5241 }
5242 }
5243 },
7aacca6f
DM
5244 "permissions" : {
5245 "check" : [
5246 "perm",
5247 "/vms/{vmid}",
5248 [
5249 "VM.Config.Network"
5250 ]
5251 ]
5252 },
5253 "protected" : 1,
7aacca6f
DM
5254 "returns" : {
5255 "type" : "null"
44660702 5256 }
56122987
DM
5257 }
5258 },
44660702 5259 "leaf" : 1,
7aacca6f 5260 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 5261 "text" : "{name}"
56122987
DM
5262 }
5263 ],
5264 "info" : {
44660702
DM
5265 "GET" : {
5266 "description" : "List aliases",
5267 "method" : "GET",
5268 "name" : "get_aliases",
56122987 5269 "parameters" : {
44660702 5270 "additionalProperties" : 0,
56122987 5271 "properties" : {
7aacca6f 5272 "node" : {
7aacca6f 5273 "description" : "The cluster node name.",
44660702 5274 "format" : "pve-node",
013dc89f
DM
5275 "type" : "string",
5276 "typetext" : "<string>"
56122987 5277 },
44660702
DM
5278 "vmid" : {
5279 "description" : "The (unique) ID of the VM.",
5280 "format" : "pve-vmid",
5281 "minimum" : 1,
4bd7df8b 5282 "type" : "integer",
013dc89f 5283 "typetext" : "<integer> (1 - N)"
56122987 5284 }
44660702 5285 }
56122987 5286 },
56122987
DM
5287 "permissions" : {
5288 "check" : [
5289 "perm",
5290 "/vms/{vmid}",
5291 [
44660702 5292 "VM.Audit"
56122987
DM
5293 ]
5294 ]
5295 },
56122987
DM
5296 "returns" : {
5297 "items" : {
5298 "properties" : {
44660702 5299 "cidr" : {
56122987
DM
5300 "type" : "string"
5301 },
44660702
DM
5302 "comment" : {
5303 "optional" : 1,
7aacca6f 5304 "type" : "string"
56122987
DM
5305 },
5306 "digest" : {
56122987 5307 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5308 "maxLength" : 40,
56122987
DM
5309 "optional" : 0,
5310 "type" : "string"
5311 },
44660702 5312 "name" : {
56122987
DM
5313 "type" : "string"
5314 }
44660702
DM
5315 },
5316 "type" : "object"
56122987 5317 },
56122987
DM
5318 "links" : [
5319 {
5320 "href" : "{name}",
5321 "rel" : "child"
5322 }
44660702
DM
5323 ],
5324 "type" : "array"
5325 }
5326 },
5327 "POST" : {
5328 "description" : "Create IP or Network Alias.",
5329 "method" : "POST",
5330 "name" : "create_alias",
56122987 5331 "parameters" : {
7aacca6f 5332 "additionalProperties" : 0,
56122987 5333 "properties" : {
44660702
DM
5334 "cidr" : {
5335 "description" : "Network/IP specification in CIDR format.",
5336 "format" : "IPorCIDR",
013dc89f
DM
5337 "type" : "string",
5338 "typetext" : "<string>"
44660702
DM
5339 },
5340 "comment" : {
5341 "optional" : 1,
013dc89f
DM
5342 "type" : "string",
5343 "typetext" : "<string>"
44660702
DM
5344 },
5345 "name" : {
5346 "description" : "Alias name.",
5347 "maxLength" : 64,
5348 "minLength" : 2,
5349 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5350 "type" : "string"
56122987
DM
5351 },
5352 "node" : {
7aacca6f 5353 "description" : "The cluster node name.",
44660702 5354 "format" : "pve-node",
013dc89f
DM
5355 "type" : "string",
5356 "typetext" : "<string>"
44660702
DM
5357 },
5358 "vmid" : {
5359 "description" : "The (unique) ID of the VM.",
5360 "format" : "pve-vmid",
5361 "minimum" : 1,
4bd7df8b 5362 "type" : "integer",
013dc89f 5363 "typetext" : "<integer> (1 - N)"
56122987 5364 }
7aacca6f 5365 }
56122987 5366 },
44660702
DM
5367 "permissions" : {
5368 "check" : [
5369 "perm",
5370 "/vms/{vmid}",
5371 [
5372 "VM.Config.Network"
5373 ]
5374 ]
5375 },
5376 "protected" : 1,
5377 "returns" : {
5378 "type" : "null"
5379 }
56122987 5380 }
44660702
DM
5381 },
5382 "leaf" : 0,
5383 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
5384 "text" : "aliases"
56122987
DM
5385 },
5386 {
56122987
DM
5387 "children" : [
5388 {
7aacca6f
DM
5389 "children" : [
5390 {
5391 "info" : {
5392 "DELETE" : {
44660702 5393 "description" : "Remove IP or Network from IPSet.",
7aacca6f 5394 "method" : "DELETE",
44660702 5395 "name" : "remove_ip",
7aacca6f 5396 "parameters" : {
44660702 5397 "additionalProperties" : 0,
7aacca6f 5398 "properties" : {
44660702
DM
5399 "cidr" : {
5400 "description" : "Network/IP specification in CIDR format.",
5401 "format" : "IPorCIDRorAlias",
013dc89f
DM
5402 "type" : "string",
5403 "typetext" : "<string>"
44660702
DM
5404 },
5405 "digest" : {
5406 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5407 "maxLength" : 40,
5408 "optional" : 1,
013dc89f
DM
5409 "type" : "string",
5410 "typetext" : "<string>"
44660702 5411 },
7aacca6f 5412 "name" : {
7aacca6f 5413 "description" : "IP set name.",
44660702
DM
5414 "maxLength" : 64,
5415 "minLength" : 2,
7aacca6f 5416 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5417 "type" : "string"
7aacca6f
DM
5418 },
5419 "node" : {
5420 "description" : "The cluster node name.",
44660702 5421 "format" : "pve-node",
013dc89f
DM
5422 "type" : "string",
5423 "typetext" : "<string>"
7aacca6f
DM
5424 },
5425 "vmid" : {
44660702 5426 "description" : "The (unique) ID of the VM.",
7aacca6f 5427 "format" : "pve-vmid",
44660702 5428 "minimum" : 1,
4bd7df8b 5429 "type" : "integer",
013dc89f 5430 "typetext" : "<integer> (1 - N)"
7aacca6f 5431 }
44660702 5432 }
7aacca6f 5433 },
7aacca6f
DM
5434 "permissions" : {
5435 "check" : [
5436 "perm",
5437 "/vms/{vmid}",
5438 [
5439 "VM.Config.Network"
5440 ]
5441 ]
5442 },
5443 "protected" : 1,
44660702
DM
5444 "returns" : {
5445 "type" : "null"
5446 }
56122987 5447 },
44660702
DM
5448 "GET" : {
5449 "description" : "Read IP or Network settings from IPSet.",
5450 "method" : "GET",
5451 "name" : "read_ip",
7aacca6f 5452 "parameters" : {
44660702 5453 "additionalProperties" : 0,
7aacca6f 5454 "properties" : {
7aacca6f 5455 "cidr" : {
44660702 5456 "description" : "Network/IP specification in CIDR format.",
7aacca6f 5457 "format" : "IPorCIDRorAlias",
013dc89f
DM
5458 "type" : "string",
5459 "typetext" : "<string>"
7aacca6f
DM
5460 },
5461 "name" : {
7aacca6f 5462 "description" : "IP set name.",
44660702 5463 "maxLength" : 64,
7aacca6f 5464 "minLength" : 2,
44660702
DM
5465 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5466 "type" : "string"
7aacca6f 5467 },
44660702
DM
5468 "node" : {
5469 "description" : "The cluster node name.",
5470 "format" : "pve-node",
013dc89f
DM
5471 "type" : "string",
5472 "typetext" : "<string>"
7aacca6f 5473 },
44660702
DM
5474 "vmid" : {
5475 "description" : "The (unique) ID of the VM.",
5476 "format" : "pve-vmid",
5477 "minimum" : 1,
4bd7df8b 5478 "type" : "integer",
013dc89f 5479 "typetext" : "<integer> (1 - N)"
7aacca6f 5480 }
44660702 5481 }
7aacca6f 5482 },
44660702
DM
5483 "permissions" : {
5484 "check" : [
5485 "perm",
5486 "/vms/{vmid}",
5487 [
5488 "VM.Audit"
5489 ]
5490 ]
5491 },
5492 "protected" : 1,
7aacca6f 5493 "returns" : {
44660702 5494 "type" : "object"
7aacca6f 5495 }
56122987 5496 },
44660702
DM
5497 "PUT" : {
5498 "description" : "Update IP or Network settings",
5499 "method" : "PUT",
5500 "name" : "update_ip",
7aacca6f
DM
5501 "parameters" : {
5502 "additionalProperties" : 0,
5503 "properties" : {
44660702
DM
5504 "cidr" : {
5505 "description" : "Network/IP specification in CIDR format.",
5506 "format" : "IPorCIDRorAlias",
013dc89f
DM
5507 "type" : "string",
5508 "typetext" : "<string>"
44660702
DM
5509 },
5510 "comment" : {
5511 "optional" : 1,
013dc89f
DM
5512 "type" : "string",
5513 "typetext" : "<string>"
44660702
DM
5514 },
5515 "digest" : {
5516 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5517 "maxLength" : 40,
5518 "optional" : 1,
013dc89f
DM
5519 "type" : "string",
5520 "typetext" : "<string>"
44660702 5521 },
7aacca6f 5522 "name" : {
7aacca6f 5523 "description" : "IP set name.",
44660702 5524 "maxLength" : 64,
7aacca6f 5525 "minLength" : 2,
44660702
DM
5526 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5527 "type" : "string"
7aacca6f
DM
5528 },
5529 "node" : {
7aacca6f 5530 "description" : "The cluster node name.",
44660702 5531 "format" : "pve-node",
013dc89f
DM
5532 "type" : "string",
5533 "typetext" : "<string>"
7aacca6f 5534 },
44660702
DM
5535 "nomatch" : {
5536 "optional" : 1,
013dc89f
DM
5537 "type" : "boolean",
5538 "typetext" : "<boolean>"
7aacca6f
DM
5539 },
5540 "vmid" : {
5541 "description" : "The (unique) ID of the VM.",
44660702 5542 "format" : "pve-vmid",
7aacca6f 5543 "minimum" : 1,
4bd7df8b 5544 "type" : "integer",
013dc89f 5545 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5546 }
5547 }
5548 },
5549 "permissions" : {
5550 "check" : [
5551 "perm",
5552 "/vms/{vmid}",
5553 [
44660702 5554 "VM.Config.Network"
7aacca6f
DM
5555 ]
5556 ]
5557 },
7aacca6f 5558 "protected" : 1,
7aacca6f 5559 "returns" : {
44660702 5560 "type" : "null"
7aacca6f 5561 }
56122987 5562 }
7aacca6f 5563 },
7aacca6f 5564 "leaf" : 1,
44660702
DM
5565 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
5566 "text" : "{cidr}"
7aacca6f 5567 }
44660702
DM
5568 ],
5569 "info" : {
5570 "DELETE" : {
5571 "description" : "Delete IPSet",
5572 "method" : "DELETE",
5573 "name" : "delete_ipset",
5574 "parameters" : {
5575 "additionalProperties" : 0,
5576 "properties" : {
5577 "name" : {
5578 "description" : "IP set name.",
5579 "maxLength" : 64,
5580 "minLength" : 2,
5581 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5582 "type" : "string"
5583 },
5584 "node" : {
5585 "description" : "The cluster node name.",
5586 "format" : "pve-node",
013dc89f
DM
5587 "type" : "string",
5588 "typetext" : "<string>"
44660702
DM
5589 },
5590 "vmid" : {
5591 "description" : "The (unique) ID of the VM.",
5592 "format" : "pve-vmid",
5593 "minimum" : 1,
4bd7df8b 5594 "type" : "integer",
013dc89f 5595 "typetext" : "<integer> (1 - N)"
44660702
DM
5596 }
5597 }
7aacca6f 5598 },
44660702
DM
5599 "permissions" : {
5600 "check" : [
5601 "perm",
5602 "/vms/{vmid}",
5603 [
5604 "VM.Config.Network"
5605 ]
5606 ]
7aacca6f 5607 },
44660702
DM
5608 "protected" : 1,
5609 "returns" : {
5610 "type" : "null"
5611 }
5612 },
5613 "GET" : {
5614 "description" : "List IPSet content",
5615 "method" : "GET",
5616 "name" : "get_ipset",
5617 "parameters" : {
5618 "additionalProperties" : 0,
5619 "properties" : {
5620 "name" : {
5621 "description" : "IP set name.",
5622 "maxLength" : 64,
5623 "minLength" : 2,
5624 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5625 "type" : "string"
5626 },
5627 "node" : {
5628 "description" : "The cluster node name.",
5629 "format" : "pve-node",
013dc89f
DM
5630 "type" : "string",
5631 "typetext" : "<string>"
44660702
DM
5632 },
5633 "vmid" : {
5634 "description" : "The (unique) ID of the VM.",
5635 "format" : "pve-vmid",
5636 "minimum" : 1,
4bd7df8b 5637 "type" : "integer",
013dc89f 5638 "typetext" : "<integer> (1 - N)"
44660702
DM
5639 }
5640 }
7aacca6f 5641 },
44660702
DM
5642 "permissions" : {
5643 "check" : [
5644 "perm",
5645 "/vms/{vmid}",
5646 [
5647 "VM.Audit"
5648 ]
5649 ]
7aacca6f 5650 },
44660702
DM
5651 "returns" : {
5652 "items" : {
5653 "properties" : {
5654 "cidr" : {
5655 "type" : "string"
5656 },
5657 "comment" : {
5658 "optional" : 1,
5659 "type" : "string"
5660 },
5661 "digest" : {
5662 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5663 "maxLength" : 40,
5664 "optional" : 0,
5665 "type" : "string"
5666 },
5667 "nomatch" : {
5668 "optional" : 1,
5669 "type" : "boolean"
5670 }
5671 },
5672 "type" : "object"
5673 },
5674 "links" : [
5675 {
5676 "href" : "{cidr}",
5677 "rel" : "child"
5678 }
5679 ],
5680 "type" : "array"
56122987
DM
5681 }
5682 },
44660702
DM
5683 "POST" : {
5684 "description" : "Add IP or Network to IPSet.",
5685 "method" : "POST",
5686 "name" : "create_ip",
5687 "parameters" : {
5688 "additionalProperties" : 0,
5689 "properties" : {
5690 "cidr" : {
5691 "description" : "Network/IP specification in CIDR format.",
5692 "format" : "IPorCIDRorAlias",
013dc89f
DM
5693 "type" : "string",
5694 "typetext" : "<string>"
44660702
DM
5695 },
5696 "comment" : {
5697 "optional" : 1,
013dc89f
DM
5698 "type" : "string",
5699 "typetext" : "<string>"
44660702
DM
5700 },
5701 "name" : {
5702 "description" : "IP set name.",
5703 "maxLength" : 64,
5704 "minLength" : 2,
5705 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5706 "type" : "string"
5707 },
5708 "node" : {
5709 "description" : "The cluster node name.",
5710 "format" : "pve-node",
013dc89f
DM
5711 "type" : "string",
5712 "typetext" : "<string>"
44660702
DM
5713 },
5714 "nomatch" : {
5715 "optional" : 1,
013dc89f
DM
5716 "type" : "boolean",
5717 "typetext" : "<boolean>"
44660702
DM
5718 },
5719 "vmid" : {
5720 "description" : "The (unique) ID of the VM.",
5721 "format" : "pve-vmid",
5722 "minimum" : 1,
4bd7df8b 5723 "type" : "integer",
013dc89f 5724 "typetext" : "<integer> (1 - N)"
44660702
DM
5725 }
5726 }
5727 },
5728 "permissions" : {
5729 "check" : [
5730 "perm",
5731 "/vms/{vmid}",
5732 [
5733 "VM.Config.Network"
5734 ]
5735 ]
5736 },
5737 "protected" : 1,
5738 "returns" : {
5739 "type" : "null"
5740 }
5741 }
5742 },
5743 "leaf" : 0,
5744 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
5745 "text" : "{name}"
5746 }
5747 ],
5748 "info" : {
5749 "GET" : {
5750 "description" : "List IPSets",
5751 "method" : "GET",
5752 "name" : "ipset_index",
5753 "parameters" : {
5754 "additionalProperties" : 0,
5755 "properties" : {
5756 "node" : {
5757 "description" : "The cluster node name.",
5758 "format" : "pve-node",
013dc89f
DM
5759 "type" : "string",
5760 "typetext" : "<string>"
44660702
DM
5761 },
5762 "vmid" : {
5763 "description" : "The (unique) ID of the VM.",
5764 "format" : "pve-vmid",
5765 "minimum" : 1,
4bd7df8b 5766 "type" : "integer",
013dc89f 5767 "typetext" : "<integer> (1 - N)"
44660702
DM
5768 }
5769 }
56122987
DM
5770 },
5771 "permissions" : {
5772 "check" : [
5773 "perm",
5774 "/vms/{vmid}",
5775 [
44660702 5776 "VM.Audit"
56122987
DM
5777 ]
5778 ]
5779 },
7aacca6f 5780 "returns" : {
7aacca6f
DM
5781 "items" : {
5782 "properties" : {
7aacca6f
DM
5783 "comment" : {
5784 "optional" : 1,
5785 "type" : "string"
5786 },
5787 "digest" : {
7aacca6f 5788 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
5789 "maxLength" : 40,
5790 "optional" : 0,
5791 "type" : "string"
5792 },
5793 "name" : {
5794 "description" : "IP set name.",
5795 "maxLength" : 64,
5796 "minLength" : 2,
5797 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5798 "type" : "string"
7aacca6f
DM
5799 }
5800 },
5801 "type" : "object"
5802 },
5803 "links" : [
5804 {
44660702
DM
5805 "href" : "{name}",
5806 "rel" : "child"
7aacca6f 5807 }
44660702
DM
5808 ],
5809 "type" : "array"
5810 }
5811 },
5812 "POST" : {
5813 "description" : "Create new IPSet",
5814 "method" : "POST",
5815 "name" : "create_ipset",
56122987
DM
5816 "parameters" : {
5817 "additionalProperties" : 0,
5818 "properties" : {
44660702
DM
5819 "comment" : {
5820 "optional" : 1,
013dc89f
DM
5821 "type" : "string",
5822 "typetext" : "<string>"
56122987 5823 },
44660702
DM
5824 "digest" : {
5825 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5826 "maxLength" : 40,
5827 "optional" : 1,
013dc89f
DM
5828 "type" : "string",
5829 "typetext" : "<string>"
44660702
DM
5830 },
5831 "name" : {
5832 "description" : "IP set name.",
5833 "maxLength" : 64,
5834 "minLength" : 2,
5835 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5836 "type" : "string"
5837 },
5838 "node" : {
5839 "description" : "The cluster node name.",
5840 "format" : "pve-node",
013dc89f
DM
5841 "type" : "string",
5842 "typetext" : "<string>"
44660702
DM
5843 },
5844 "rename" : {
5845 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
5846 "maxLength" : 64,
5847 "minLength" : 2,
5848 "optional" : 1,
5849 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5850 "type" : "string"
5851 },
5852 "vmid" : {
5853 "description" : "The (unique) ID of the VM.",
5854 "format" : "pve-vmid",
5855 "minimum" : 1,
4bd7df8b 5856 "type" : "integer",
013dc89f 5857 "typetext" : "<integer> (1 - N)"
44660702
DM
5858 }
5859 }
5860 },
7aacca6f
DM
5861 "permissions" : {
5862 "check" : [
5863 "perm",
5864 "/vms/{vmid}",
5865 [
5866 "VM.Config.Network"
5867 ]
5868 ]
5869 },
44660702 5870 "protected" : 1,
56122987 5871 "returns" : {
7aacca6f 5872 "type" : "null"
44660702
DM
5873 }
5874 }
5875 },
5876 "leaf" : 0,
5877 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
5878 "text" : "ipset"
5879 },
5880 {
5881 "info" : {
5882 "GET" : {
5883 "description" : "Get VM firewall options.",
5884 "method" : "GET",
5885 "name" : "get_options",
7aacca6f
DM
5886 "parameters" : {
5887 "additionalProperties" : 0,
56122987 5888 "properties" : {
7aacca6f
DM
5889 "node" : {
5890 "description" : "The cluster node name.",
44660702 5891 "format" : "pve-node",
013dc89f
DM
5892 "type" : "string",
5893 "typetext" : "<string>"
7aacca6f 5894 },
44660702
DM
5895 "vmid" : {
5896 "description" : "The (unique) ID of the VM.",
5897 "format" : "pve-vmid",
5898 "minimum" : 1,
4bd7df8b 5899 "type" : "integer",
013dc89f 5900 "typetext" : "<integer> (1 - N)"
44660702
DM
5901 }
5902 }
5903 },
5904 "permissions" : {
5905 "check" : [
5906 "perm",
5907 "/vms/{vmid}",
5908 [
5909 "VM.Audit"
5910 ]
5911 ]
5912 },
5913 "proxyto" : "node",
5914 "returns" : {
5915 "properties" : {
5916 "dhcp" : {
5917 "description" : "Enable DHCP.",
56122987 5918 "optional" : 1,
44660702 5919 "type" : "boolean"
56122987 5920 },
44660702
DM
5921 "enable" : {
5922 "description" : "Enable/disable firewall rules.",
7aacca6f 5923 "optional" : 1,
44660702 5924 "type" : "boolean"
56122987 5925 },
44660702
DM
5926 "ipfilter" : {
5927 "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
7aacca6f 5928 "optional" : 1,
44660702 5929 "type" : "boolean"
7aacca6f 5930 },
56122987 5931 "log_level_in" : {
7aacca6f 5932 "description" : "Log level for incoming traffic.",
56122987
DM
5933 "enum" : [
5934 "emerg",
5935 "alert",
5936 "crit",
5937 "err",
5938 "warning",
5939 "notice",
5940 "info",
5941 "debug",
5942 "nolog"
5943 ],
56122987
DM
5944 "optional" : 1,
5945 "type" : "string"
5946 },
44660702
DM
5947 "log_level_out" : {
5948 "description" : "Log level for outgoing traffic.",
5949 "enum" : [
5950 "emerg",
5951 "alert",
5952 "crit",
5953 "err",
5954 "warning",
5955 "notice",
5956 "info",
5957 "debug",
5958 "nolog"
5959 ],
5960 "optional" : 1,
5961 "type" : "string"
5962 },
5963 "macfilter" : {
5964 "description" : "Enable/disable MAC address filter.",
56122987 5965 "optional" : 1,
7aacca6f 5966 "type" : "boolean"
56122987
DM
5967 },
5968 "ndp" : {
44660702 5969 "description" : "Enable NDP.",
56122987 5970 "optional" : 1,
44660702 5971 "type" : "boolean"
56122987
DM
5972 },
5973 "policy_in" : {
56122987
DM
5974 "description" : "Input policy.",
5975 "enum" : [
5976 "ACCEPT",
5977 "REJECT",
5978 "DROP"
44660702
DM
5979 ],
5980 "optional" : 1,
5981 "type" : "string"
56122987 5982 },
44660702
DM
5983 "policy_out" : {
5984 "description" : "Output policy.",
5985 "enum" : [
5986 "ACCEPT",
5987 "REJECT",
5988 "DROP"
5989 ],
5990 "optional" : 1,
5991 "type" : "string"
5992 },
5993 "radv" : {
5994 "description" : "Allow sending Router Advertisement.",
5995 "optional" : 1,
5996 "type" : "boolean"
5997 }
5998 },
5999 "type" : "object"
6000 }
6001 },
6002 "PUT" : {
6003 "description" : "Set Firewall options.",
6004 "method" : "PUT",
6005 "name" : "set_options",
6006 "parameters" : {
6007 "additionalProperties" : 0,
6008 "properties" : {
6009 "delete" : {
6010 "description" : "A list of settings you want to delete.",
6011 "format" : "pve-configid-list",
6012 "optional" : 1,
013dc89f
DM
6013 "type" : "string",
6014 "typetext" : "<string>"
44660702
DM
6015 },
6016 "dhcp" : {
6017 "description" : "Enable DHCP.",
7aacca6f 6018 "optional" : 1,
013dc89f
DM
6019 "type" : "boolean",
6020 "typetext" : "<boolean>"
7aacca6f
DM
6021 },
6022 "digest" : {
6023 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 6024 "maxLength" : 40,
7aacca6f 6025 "optional" : 1,
013dc89f
DM
6026 "type" : "string",
6027 "typetext" : "<string>"
7aacca6f
DM
6028 },
6029 "enable" : {
6030 "description" : "Enable/disable firewall rules.",
56122987 6031 "optional" : 1,
013dc89f
DM
6032 "type" : "boolean",
6033 "typetext" : "<boolean>"
7aacca6f 6034 },
44660702
DM
6035 "ipfilter" : {
6036 "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
6037 "optional" : 1,
013dc89f
DM
6038 "type" : "boolean",
6039 "typetext" : "<boolean>"
44660702
DM
6040 },
6041 "log_level_in" : {
6042 "description" : "Log level for incoming traffic.",
56122987
DM
6043 "enum" : [
6044 "emerg",
6045 "alert",
6046 "crit",
6047 "err",
6048 "warning",
6049 "notice",
6050 "info",
6051 "debug",
6052 "nolog"
7aacca6f 6053 ],
7aacca6f 6054 "optional" : 1,
44660702 6055 "type" : "string"
7aacca6f 6056 },
44660702
DM
6057 "log_level_out" : {
6058 "description" : "Log level for outgoing traffic.",
56122987
DM
6059 "enum" : [
6060 "emerg",
6061 "alert",
6062 "crit",
6063 "err",
6064 "warning",
6065 "notice",
6066 "info",
6067 "debug",
6068 "nolog"
6069 ],
56122987 6070 "optional" : 1,
44660702 6071 "type" : "string"
56122987
DM
6072 },
6073 "macfilter" : {
56122987 6074 "description" : "Enable/disable MAC address filter.",
7aacca6f 6075 "optional" : 1,
013dc89f
DM
6076 "type" : "boolean",
6077 "typetext" : "<boolean>"
56122987 6078 },
44660702
DM
6079 "ndp" : {
6080 "description" : "Enable NDP.",
6081 "optional" : 1,
013dc89f
DM
6082 "type" : "boolean",
6083 "typetext" : "<boolean>"
44660702
DM
6084 },
6085 "node" : {
6086 "description" : "The cluster node name.",
6087 "format" : "pve-node",
013dc89f
DM
6088 "type" : "string",
6089 "typetext" : "<string>"
44660702 6090 },
56122987 6091 "policy_in" : {
44660702 6092 "description" : "Input policy.",
56122987
DM
6093 "enum" : [
6094 "ACCEPT",
6095 "REJECT",
6096 "DROP"
7aacca6f 6097 ],
56122987 6098 "optional" : 1,
7aacca6f 6099 "type" : "string"
56122987 6100 },
44660702
DM
6101 "policy_out" : {
6102 "description" : "Output policy.",
6103 "enum" : [
6104 "ACCEPT",
6105 "REJECT",
6106 "DROP"
6107 ],
56122987 6108 "optional" : 1,
44660702 6109 "type" : "string"
56122987 6110 },
44660702
DM
6111 "radv" : {
6112 "description" : "Allow sending Router Advertisement.",
56122987 6113 "optional" : 1,
013dc89f
DM
6114 "type" : "boolean",
6115 "typetext" : "<boolean>"
7aacca6f
DM
6116 },
6117 "vmid" : {
6118 "description" : "The (unique) ID of the VM.",
44660702 6119 "format" : "pve-vmid",
7aacca6f 6120 "minimum" : 1,
4bd7df8b 6121 "type" : "integer",
013dc89f 6122 "typetext" : "<integer> (1 - N)"
56122987
DM
6123 }
6124 }
6125 },
56122987
DM
6126 "permissions" : {
6127 "check" : [
6128 "perm",
6129 "/vms/{vmid}",
6130 [
44660702 6131 "VM.Config.Network"
56122987
DM
6132 ]
6133 ]
7aacca6f 6134 },
44660702 6135 "protected" : 1,
7aacca6f 6136 "proxyto" : "node",
44660702
DM
6137 "returns" : {
6138 "type" : "null"
6139 }
56122987
DM
6140 }
6141 },
44660702 6142 "leaf" : 1,
7aacca6f 6143 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 6144 "text" : "options"
56122987
DM
6145 },
6146 {
56122987
DM
6147 "info" : {
6148 "GET" : {
44660702
DM
6149 "description" : "Read firewall log",
6150 "method" : "GET",
6151 "name" : "log",
6152 "parameters" : {
6153 "additionalProperties" : 0,
6154 "properties" : {
6155 "limit" : {
6156 "minimum" : 0,
6157 "optional" : 1,
4bd7df8b 6158 "type" : "integer",
013dc89f 6159 "typetext" : "<integer> (0 - N)"
56122987 6160 },
44660702
DM
6161 "node" : {
6162 "description" : "The cluster node name.",
6163 "format" : "pve-node",
013dc89f
DM
6164 "type" : "string",
6165 "typetext" : "<string>"
44660702
DM
6166 },
6167 "start" : {
6168 "minimum" : 0,
6169 "optional" : 1,
4bd7df8b 6170 "type" : "integer",
013dc89f 6171 "typetext" : "<integer> (0 - N)"
44660702
DM
6172 },
6173 "vmid" : {
6174 "description" : "The (unique) ID of the VM.",
6175 "format" : "pve-vmid",
6176 "minimum" : 1,
4bd7df8b 6177 "type" : "integer",
013dc89f 6178 "typetext" : "<integer> (1 - N)"
44660702
DM
6179 }
6180 }
7aacca6f 6181 },
7aacca6f
DM
6182 "permissions" : {
6183 "check" : [
6184 "perm",
6185 "/vms/{vmid}",
6186 [
6187 "VM.Console"
6188 ]
6189 ]
56122987 6190 },
7aacca6f 6191 "protected" : 1,
44660702
DM
6192 "proxyto" : "node",
6193 "returns" : {
6194 "items" : {
6195 "properties" : {
6196 "n" : {
6197 "description" : "Line number",
6198 "type" : "integer"
6199 },
6200 "t" : {
6201 "description" : "Line text",
6202 "type" : "string"
6203 }
56122987 6204 },
44660702 6205 "type" : "object"
7aacca6f 6206 },
44660702 6207 "type" : "array"
7aacca6f
DM
6208 }
6209 }
6210 },
44660702 6211 "leaf" : 1,
7aacca6f 6212 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 6213 "text" : "log"
7aacca6f
DM
6214 },
6215 {
7aacca6f
DM
6216 "info" : {
6217 "GET" : {
6218 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
6219 "method" : "GET",
6220 "name" : "refs",
56122987 6221 "parameters" : {
44660702 6222 "additionalProperties" : 0,
56122987
DM
6223 "properties" : {
6224 "node" : {
7aacca6f 6225 "description" : "The cluster node name.",
44660702 6226 "format" : "pve-node",
013dc89f
DM
6227 "type" : "string",
6228 "typetext" : "<string>"
56122987
DM
6229 },
6230 "type" : {
56122987
DM
6231 "description" : "Only list references of specified type.",
6232 "enum" : [
6233 "alias",
6234 "ipset"
7aacca6f 6235 ],
44660702
DM
6236 "optional" : 1,
6237 "type" : "string"
6238 },
6239 "vmid" : {
6240 "description" : "The (unique) ID of the VM.",
6241 "format" : "pve-vmid",
6242 "minimum" : 1,
4bd7df8b 6243 "type" : "integer",
013dc89f 6244 "typetext" : "<integer> (1 - N)"
56122987 6245 }
44660702
DM
6246 }
6247 },
6248 "permissions" : {
6249 "check" : [
6250 "perm",
6251 "/vms/{vmid}",
6252 [
6253 "VM.Audit"
6254 ]
6255 ]
56122987
DM
6256 },
6257 "returns" : {
56122987
DM
6258 "items" : {
6259 "properties" : {
44660702
DM
6260 "comment" : {
6261 "optional" : 1,
56122987
DM
6262 "type" : "string"
6263 },
6264 "name" : {
6265 "type" : "string"
6266 },
44660702
DM
6267 "type" : {
6268 "enum" : [
6269 "alias",
6270 "ipset"
6271 ],
7aacca6f 6272 "type" : "string"
56122987
DM
6273 }
6274 },
6275 "type" : "object"
7aacca6f
DM
6276 },
6277 "type" : "array"
6278 }
56122987 6279 }
44660702
DM
6280 },
6281 "leaf" : 1,
6282 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
6283 "text" : "refs"
56122987
DM
6284 }
6285 ],
56122987
DM
6286 "info" : {
6287 "GET" : {
44660702 6288 "description" : "Directory index.",
56122987 6289 "method" : "GET",
44660702 6290 "name" : "index",
56122987 6291 "parameters" : {
44660702 6292 "additionalProperties" : 0,
56122987
DM
6293 "properties" : {
6294 "node" : {
6295 "description" : "The cluster node name.",
44660702 6296 "format" : "pve-node",
013dc89f
DM
6297 "type" : "string",
6298 "typetext" : "<string>"
56122987
DM
6299 },
6300 "vmid" : {
44660702 6301 "description" : "The (unique) ID of the VM.",
56122987
DM
6302 "format" : "pve-vmid",
6303 "minimum" : 1,
4bd7df8b 6304 "type" : "integer",
013dc89f 6305 "typetext" : "<integer> (1 - N)"
56122987 6306 }
44660702 6307 }
56122987 6308 },
56122987 6309 "permissions" : {
27a7acb2
DM
6310 "user" : "all"
6311 },
6312 "returns" : {
6313 "items" : {
6314 "properties" : {},
6315 "type" : "object"
6316 },
6317 "links" : [
6318 {
6319 "href" : "{name}",
6320 "rel" : "child"
6321 }
6322 ],
6323 "type" : "array"
6324 }
6325 }
6326 },
6327 "leaf" : 0,
6328 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
6329 "text" : "firewall"
6330 },
6331 {
6332 "children" : [
6333 {
6334 "info" : {
6335 "POST" : {
6336 "description" : "Execute fsfreeze-freeze.",
6337 "method" : "POST",
6338 "name" : "fsfreeze-freeze",
6339 "parameters" : {
6340 "additionalProperties" : 0,
6341 "properties" : {
6342 "node" : {
6343 "description" : "The cluster node name.",
6344 "format" : "pve-node",
6345 "type" : "string",
6346 "typetext" : "<string>"
6347 },
6348 "vmid" : {
6349 "description" : "The (unique) ID of the VM.",
6350 "format" : "pve-vmid",
6351 "minimum" : 1,
6352 "type" : "integer",
6353 "typetext" : "<integer> (1 - N)"
6354 }
6355 }
6356 },
6357 "permissions" : {
6358 "check" : [
6359 "perm",
6360 "/vms/{vmid}",
6361 [
6362 "VM.Monitor"
6363 ]
6364 ]
6365 },
6366 "protected" : 1,
6367 "proxyto" : "node",
6368 "returns" : {
6369 "description" : "Returns an object with a single `result` property.",
6370 "type" : "object"
6371 }
6372 }
6373 },
6374 "leaf" : 1,
6375 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
6376 "text" : "fsfreeze-freeze"
6377 },
6378 {
6379 "info" : {
6380 "POST" : {
6381 "description" : "Execute fsfreeze-status.",
6382 "method" : "POST",
6383 "name" : "fsfreeze-status",
6384 "parameters" : {
6385 "additionalProperties" : 0,
6386 "properties" : {
6387 "node" : {
6388 "description" : "The cluster node name.",
6389 "format" : "pve-node",
6390 "type" : "string",
6391 "typetext" : "<string>"
6392 },
6393 "vmid" : {
6394 "description" : "The (unique) ID of the VM.",
6395 "format" : "pve-vmid",
6396 "minimum" : 1,
6397 "type" : "integer",
6398 "typetext" : "<integer> (1 - N)"
6399 }
6400 }
6401 },
6402 "permissions" : {
6403 "check" : [
6404 "perm",
6405 "/vms/{vmid}",
6406 [
6407 "VM.Monitor"
6408 ]
6409 ]
6410 },
6411 "protected" : 1,
6412 "proxyto" : "node",
6413 "returns" : {
6414 "description" : "Returns an object with a single `result` property.",
6415 "type" : "object"
6416 }
6417 }
6418 },
6419 "leaf" : 1,
6420 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
6421 "text" : "fsfreeze-status"
6422 },
6423 {
6424 "info" : {
6425 "POST" : {
6426 "description" : "Execute fsfreeze-thaw.",
6427 "method" : "POST",
6428 "name" : "fsfreeze-thaw",
6429 "parameters" : {
6430 "additionalProperties" : 0,
6431 "properties" : {
6432 "node" : {
6433 "description" : "The cluster node name.",
6434 "format" : "pve-node",
6435 "type" : "string",
6436 "typetext" : "<string>"
6437 },
6438 "vmid" : {
6439 "description" : "The (unique) ID of the VM.",
6440 "format" : "pve-vmid",
6441 "minimum" : 1,
6442 "type" : "integer",
6443 "typetext" : "<integer> (1 - N)"
6444 }
6445 }
6446 },
6447 "permissions" : {
6448 "check" : [
6449 "perm",
6450 "/vms/{vmid}",
6451 [
6452 "VM.Monitor"
6453 ]
6454 ]
6455 },
6456 "protected" : 1,
6457 "proxyto" : "node",
6458 "returns" : {
6459 "description" : "Returns an object with a single `result` property.",
6460 "type" : "object"
6461 }
6462 }
6463 },
6464 "leaf" : 1,
6465 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
6466 "text" : "fsfreeze-thaw"
6467 },
6468 {
6469 "info" : {
6470 "POST" : {
6471 "description" : "Execute fstrim.",
6472 "method" : "POST",
6473 "name" : "fstrim",
6474 "parameters" : {
6475 "additionalProperties" : 0,
6476 "properties" : {
6477 "node" : {
6478 "description" : "The cluster node name.",
6479 "format" : "pve-node",
6480 "type" : "string",
6481 "typetext" : "<string>"
6482 },
6483 "vmid" : {
6484 "description" : "The (unique) ID of the VM.",
6485 "format" : "pve-vmid",
6486 "minimum" : 1,
6487 "type" : "integer",
6488 "typetext" : "<integer> (1 - N)"
6489 }
6490 }
6491 },
6492 "permissions" : {
6493 "check" : [
6494 "perm",
6495 "/vms/{vmid}",
6496 [
6497 "VM.Monitor"
6498 ]
6499 ]
6500 },
6501 "protected" : 1,
6502 "proxyto" : "node",
6503 "returns" : {
6504 "description" : "Returns an object with a single `result` property.",
6505 "type" : "object"
6506 }
6507 }
6508 },
6509 "leaf" : 1,
6510 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
6511 "text" : "fstrim"
6512 },
6513 {
6514 "info" : {
6515 "GET" : {
6516 "description" : "Execute get-fsinfo.",
6517 "method" : "GET",
6518 "name" : "get-fsinfo",
6519 "parameters" : {
6520 "additionalProperties" : 0,
6521 "properties" : {
6522 "node" : {
6523 "description" : "The cluster node name.",
6524 "format" : "pve-node",
6525 "type" : "string",
6526 "typetext" : "<string>"
6527 },
6528 "vmid" : {
6529 "description" : "The (unique) ID of the VM.",
6530 "format" : "pve-vmid",
6531 "minimum" : 1,
6532 "type" : "integer",
6533 "typetext" : "<integer> (1 - N)"
6534 }
6535 }
6536 },
6537 "permissions" : {
6538 "check" : [
6539 "perm",
6540 "/vms/{vmid}",
6541 [
6542 "VM.Monitor"
6543 ]
6544 ]
6545 },
6546 "protected" : 1,
6547 "proxyto" : "node",
6548 "returns" : {
6549 "description" : "Returns an object with a single `result` property.",
6550 "type" : "object"
6551 }
6552 }
6553 },
6554 "leaf" : 1,
6555 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
6556 "text" : "get-fsinfo"
6557 },
6558 {
6559 "info" : {
6560 "GET" : {
6561 "description" : "Execute get-host-name.",
6562 "method" : "GET",
6563 "name" : "get-host-name",
6564 "parameters" : {
6565 "additionalProperties" : 0,
6566 "properties" : {
6567 "node" : {
6568 "description" : "The cluster node name.",
6569 "format" : "pve-node",
6570 "type" : "string",
6571 "typetext" : "<string>"
6572 },
6573 "vmid" : {
6574 "description" : "The (unique) ID of the VM.",
6575 "format" : "pve-vmid",
6576 "minimum" : 1,
6577 "type" : "integer",
6578 "typetext" : "<integer> (1 - N)"
6579 }
6580 }
6581 },
6582 "permissions" : {
6583 "check" : [
6584 "perm",
6585 "/vms/{vmid}",
6586 [
6587 "VM.Monitor"
6588 ]
6589 ]
6590 },
6591 "protected" : 1,
6592 "proxyto" : "node",
6593 "returns" : {
6594 "description" : "Returns an object with a single `result` property.",
6595 "type" : "object"
6596 }
6597 }
6598 },
6599 "leaf" : 1,
6600 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
6601 "text" : "get-host-name"
6602 },
6603 {
6604 "info" : {
6605 "GET" : {
6606 "description" : "Execute get-memory-block-info.",
6607 "method" : "GET",
6608 "name" : "get-memory-block-info",
6609 "parameters" : {
6610 "additionalProperties" : 0,
6611 "properties" : {
6612 "node" : {
6613 "description" : "The cluster node name.",
6614 "format" : "pve-node",
6615 "type" : "string",
6616 "typetext" : "<string>"
6617 },
6618 "vmid" : {
6619 "description" : "The (unique) ID of the VM.",
6620 "format" : "pve-vmid",
6621 "minimum" : 1,
6622 "type" : "integer",
6623 "typetext" : "<integer> (1 - N)"
6624 }
6625 }
6626 },
6627 "permissions" : {
6628 "check" : [
6629 "perm",
6630 "/vms/{vmid}",
6631 [
6632 "VM.Monitor"
6633 ]
6634 ]
6635 },
6636 "protected" : 1,
6637 "proxyto" : "node",
6638 "returns" : {
6639 "description" : "Returns an object with a single `result` property.",
6640 "type" : "object"
6641 }
6642 }
6643 },
6644 "leaf" : 1,
6645 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
6646 "text" : "get-memory-block-info"
6647 },
6648 {
6649 "info" : {
6650 "GET" : {
6651 "description" : "Execute get-memory-blocks.",
6652 "method" : "GET",
6653 "name" : "get-memory-blocks",
6654 "parameters" : {
6655 "additionalProperties" : 0,
6656 "properties" : {
6657 "node" : {
6658 "description" : "The cluster node name.",
6659 "format" : "pve-node",
6660 "type" : "string",
6661 "typetext" : "<string>"
6662 },
6663 "vmid" : {
6664 "description" : "The (unique) ID of the VM.",
6665 "format" : "pve-vmid",
6666 "minimum" : 1,
6667 "type" : "integer",
6668 "typetext" : "<integer> (1 - N)"
6669 }
6670 }
6671 },
6672 "permissions" : {
6673 "check" : [
6674 "perm",
6675 "/vms/{vmid}",
6676 [
6677 "VM.Monitor"
6678 ]
6679 ]
6680 },
6681 "protected" : 1,
6682 "proxyto" : "node",
6683 "returns" : {
6684 "description" : "Returns an object with a single `result` property.",
6685 "type" : "object"
6686 }
6687 }
6688 },
6689 "leaf" : 1,
6690 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
6691 "text" : "get-memory-blocks"
6692 },
6693 {
6694 "info" : {
6695 "GET" : {
6696 "description" : "Execute get-osinfo.",
6697 "method" : "GET",
6698 "name" : "get-osinfo",
6699 "parameters" : {
6700 "additionalProperties" : 0,
6701 "properties" : {
6702 "node" : {
6703 "description" : "The cluster node name.",
6704 "format" : "pve-node",
6705 "type" : "string",
6706 "typetext" : "<string>"
6707 },
6708 "vmid" : {
6709 "description" : "The (unique) ID of the VM.",
6710 "format" : "pve-vmid",
6711 "minimum" : 1,
6712 "type" : "integer",
6713 "typetext" : "<integer> (1 - N)"
6714 }
6715 }
6716 },
6717 "permissions" : {
6718 "check" : [
6719 "perm",
6720 "/vms/{vmid}",
6721 [
6722 "VM.Monitor"
6723 ]
6724 ]
6725 },
6726 "protected" : 1,
6727 "proxyto" : "node",
6728 "returns" : {
6729 "description" : "Returns an object with a single `result` property.",
6730 "type" : "object"
6731 }
6732 }
6733 },
6734 "leaf" : 1,
6735 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
6736 "text" : "get-osinfo"
6737 },
6738 {
6739 "info" : {
6740 "GET" : {
6741 "description" : "Execute get-time.",
6742 "method" : "GET",
6743 "name" : "get-time",
6744 "parameters" : {
6745 "additionalProperties" : 0,
6746 "properties" : {
6747 "node" : {
6748 "description" : "The cluster node name.",
6749 "format" : "pve-node",
6750 "type" : "string",
6751 "typetext" : "<string>"
6752 },
6753 "vmid" : {
6754 "description" : "The (unique) ID of the VM.",
6755 "format" : "pve-vmid",
6756 "minimum" : 1,
6757 "type" : "integer",
6758 "typetext" : "<integer> (1 - N)"
6759 }
6760 }
6761 },
6762 "permissions" : {
6763 "check" : [
6764 "perm",
6765 "/vms/{vmid}",
6766 [
6767 "VM.Monitor"
6768 ]
6769 ]
6770 },
6771 "protected" : 1,
6772 "proxyto" : "node",
6773 "returns" : {
6774 "description" : "Returns an object with a single `result` property.",
6775 "type" : "object"
6776 }
6777 }
6778 },
6779 "leaf" : 1,
6780 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
6781 "text" : "get-time"
6782 },
6783 {
6784 "info" : {
6785 "GET" : {
6786 "description" : "Execute get-timezone.",
6787 "method" : "GET",
6788 "name" : "get-timezone",
6789 "parameters" : {
6790 "additionalProperties" : 0,
6791 "properties" : {
6792 "node" : {
6793 "description" : "The cluster node name.",
6794 "format" : "pve-node",
6795 "type" : "string",
6796 "typetext" : "<string>"
6797 },
6798 "vmid" : {
6799 "description" : "The (unique) ID of the VM.",
6800 "format" : "pve-vmid",
6801 "minimum" : 1,
6802 "type" : "integer",
6803 "typetext" : "<integer> (1 - N)"
6804 }
6805 }
6806 },
6807 "permissions" : {
6808 "check" : [
6809 "perm",
6810 "/vms/{vmid}",
6811 [
6812 "VM.Monitor"
6813 ]
6814 ]
6815 },
6816 "protected" : 1,
6817 "proxyto" : "node",
6818 "returns" : {
6819 "description" : "Returns an object with a single `result` property.",
6820 "type" : "object"
6821 }
6822 }
6823 },
6824 "leaf" : 1,
6825 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
6826 "text" : "get-timezone"
6827 },
6828 {
6829 "info" : {
6830 "GET" : {
6831 "description" : "Execute get-users.",
6832 "method" : "GET",
6833 "name" : "get-users",
6834 "parameters" : {
6835 "additionalProperties" : 0,
6836 "properties" : {
6837 "node" : {
6838 "description" : "The cluster node name.",
6839 "format" : "pve-node",
6840 "type" : "string",
6841 "typetext" : "<string>"
6842 },
6843 "vmid" : {
6844 "description" : "The (unique) ID of the VM.",
6845 "format" : "pve-vmid",
6846 "minimum" : 1,
6847 "type" : "integer",
6848 "typetext" : "<integer> (1 - N)"
6849 }
6850 }
6851 },
6852 "permissions" : {
6853 "check" : [
6854 "perm",
6855 "/vms/{vmid}",
6856 [
6857 "VM.Monitor"
6858 ]
6859 ]
6860 },
6861 "protected" : 1,
6862 "proxyto" : "node",
6863 "returns" : {
6864 "description" : "Returns an object with a single `result` property.",
6865 "type" : "object"
6866 }
6867 }
6868 },
6869 "leaf" : 1,
6870 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
6871 "text" : "get-users"
6872 },
6873 {
6874 "info" : {
6875 "GET" : {
6876 "description" : "Execute get-vcpus.",
6877 "method" : "GET",
6878 "name" : "get-vcpus",
6879 "parameters" : {
6880 "additionalProperties" : 0,
6881 "properties" : {
6882 "node" : {
6883 "description" : "The cluster node name.",
6884 "format" : "pve-node",
6885 "type" : "string",
6886 "typetext" : "<string>"
6887 },
6888 "vmid" : {
6889 "description" : "The (unique) ID of the VM.",
6890 "format" : "pve-vmid",
6891 "minimum" : 1,
6892 "type" : "integer",
6893 "typetext" : "<integer> (1 - N)"
6894 }
6895 }
6896 },
6897 "permissions" : {
6898 "check" : [
6899 "perm",
6900 "/vms/{vmid}",
6901 [
6902 "VM.Monitor"
6903 ]
6904 ]
6905 },
6906 "protected" : 1,
6907 "proxyto" : "node",
6908 "returns" : {
6909 "description" : "Returns an object with a single `result` property.",
6910 "type" : "object"
6911 }
6912 }
6913 },
6914 "leaf" : 1,
6915 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
6916 "text" : "get-vcpus"
6917 },
6918 {
6919 "info" : {
6920 "GET" : {
6921 "description" : "Execute info.",
6922 "method" : "GET",
6923 "name" : "info",
6924 "parameters" : {
6925 "additionalProperties" : 0,
6926 "properties" : {
6927 "node" : {
6928 "description" : "The cluster node name.",
6929 "format" : "pve-node",
6930 "type" : "string",
6931 "typetext" : "<string>"
6932 },
6933 "vmid" : {
6934 "description" : "The (unique) ID of the VM.",
6935 "format" : "pve-vmid",
6936 "minimum" : 1,
6937 "type" : "integer",
6938 "typetext" : "<integer> (1 - N)"
6939 }
6940 }
6941 },
6942 "permissions" : {
6943 "check" : [
6944 "perm",
6945 "/vms/{vmid}",
6946 [
6947 "VM.Monitor"
6948 ]
6949 ]
6950 },
6951 "protected" : 1,
6952 "proxyto" : "node",
6953 "returns" : {
6954 "description" : "Returns an object with a single `result` property.",
6955 "type" : "object"
6956 }
6957 }
6958 },
6959 "leaf" : 1,
6960 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
6961 "text" : "info"
6962 },
6963 {
6964 "info" : {
6965 "GET" : {
6966 "description" : "Execute network-get-interfaces.",
6967 "method" : "GET",
6968 "name" : "network-get-interfaces",
6969 "parameters" : {
6970 "additionalProperties" : 0,
6971 "properties" : {
6972 "node" : {
6973 "description" : "The cluster node name.",
6974 "format" : "pve-node",
6975 "type" : "string",
6976 "typetext" : "<string>"
6977 },
6978 "vmid" : {
6979 "description" : "The (unique) ID of the VM.",
6980 "format" : "pve-vmid",
6981 "minimum" : 1,
6982 "type" : "integer",
6983 "typetext" : "<integer> (1 - N)"
6984 }
6985 }
6986 },
6987 "permissions" : {
6988 "check" : [
6989 "perm",
6990 "/vms/{vmid}",
6991 [
6992 "VM.Monitor"
6993 ]
6994 ]
6995 },
6996 "protected" : 1,
6997 "proxyto" : "node",
6998 "returns" : {
6999 "description" : "Returns an object with a single `result` property.",
7000 "type" : "object"
7001 }
7002 }
7003 },
7004 "leaf" : 1,
7005 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
7006 "text" : "network-get-interfaces"
7007 },
7008 {
7009 "info" : {
7010 "POST" : {
7011 "description" : "Execute ping.",
7012 "method" : "POST",
7013 "name" : "ping",
7014 "parameters" : {
7015 "additionalProperties" : 0,
7016 "properties" : {
7017 "node" : {
7018 "description" : "The cluster node name.",
7019 "format" : "pve-node",
7020 "type" : "string",
7021 "typetext" : "<string>"
7022 },
7023 "vmid" : {
7024 "description" : "The (unique) ID of the VM.",
7025 "format" : "pve-vmid",
7026 "minimum" : 1,
7027 "type" : "integer",
7028 "typetext" : "<integer> (1 - N)"
7029 }
7030 }
7031 },
7032 "permissions" : {
7033 "check" : [
7034 "perm",
7035 "/vms/{vmid}",
7036 [
7037 "VM.Monitor"
7038 ]
7039 ]
7040 },
7041 "protected" : 1,
7042 "proxyto" : "node",
7043 "returns" : {
7044 "description" : "Returns an object with a single `result` property.",
7045 "type" : "object"
7046 }
7047 }
7048 },
7049 "leaf" : 1,
7050 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
7051 "text" : "ping"
7052 },
7053 {
7054 "info" : {
7055 "POST" : {
7056 "description" : "Execute shutdown.",
7057 "method" : "POST",
7058 "name" : "shutdown",
7059 "parameters" : {
7060 "additionalProperties" : 0,
7061 "properties" : {
7062 "node" : {
7063 "description" : "The cluster node name.",
7064 "format" : "pve-node",
7065 "type" : "string",
7066 "typetext" : "<string>"
7067 },
7068 "vmid" : {
7069 "description" : "The (unique) ID of the VM.",
7070 "format" : "pve-vmid",
7071 "minimum" : 1,
7072 "type" : "integer",
7073 "typetext" : "<integer> (1 - N)"
7074 }
7075 }
7076 },
7077 "permissions" : {
7078 "check" : [
7079 "perm",
7080 "/vms/{vmid}",
7081 [
7082 "VM.Monitor"
7083 ]
7084 ]
7085 },
7086 "protected" : 1,
7087 "proxyto" : "node",
7088 "returns" : {
7089 "description" : "Returns an object with a single `result` property.",
7090 "type" : "object"
7091 }
7092 }
7093 },
7094 "leaf" : 1,
7095 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
7096 "text" : "shutdown"
7097 },
7098 {
7099 "info" : {
7100 "POST" : {
7101 "description" : "Execute suspend-disk.",
7102 "method" : "POST",
7103 "name" : "suspend-disk",
7104 "parameters" : {
7105 "additionalProperties" : 0,
7106 "properties" : {
7107 "node" : {
7108 "description" : "The cluster node name.",
7109 "format" : "pve-node",
7110 "type" : "string",
7111 "typetext" : "<string>"
7112 },
7113 "vmid" : {
7114 "description" : "The (unique) ID of the VM.",
7115 "format" : "pve-vmid",
7116 "minimum" : 1,
7117 "type" : "integer",
7118 "typetext" : "<integer> (1 - N)"
7119 }
7120 }
7121 },
7122 "permissions" : {
7123 "check" : [
7124 "perm",
7125 "/vms/{vmid}",
7126 [
7127 "VM.Monitor"
7128 ]
7129 ]
7130 },
7131 "protected" : 1,
7132 "proxyto" : "node",
7133 "returns" : {
7134 "description" : "Returns an object with a single `result` property.",
7135 "type" : "object"
7136 }
7137 }
7138 },
7139 "leaf" : 1,
7140 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
7141 "text" : "suspend-disk"
7142 },
7143 {
7144 "info" : {
7145 "POST" : {
7146 "description" : "Execute suspend-hybrid.",
7147 "method" : "POST",
7148 "name" : "suspend-hybrid",
7149 "parameters" : {
7150 "additionalProperties" : 0,
7151 "properties" : {
7152 "node" : {
7153 "description" : "The cluster node name.",
7154 "format" : "pve-node",
7155 "type" : "string",
7156 "typetext" : "<string>"
7157 },
7158 "vmid" : {
7159 "description" : "The (unique) ID of the VM.",
7160 "format" : "pve-vmid",
7161 "minimum" : 1,
7162 "type" : "integer",
7163 "typetext" : "<integer> (1 - N)"
7164 }
7165 }
7166 },
7167 "permissions" : {
7168 "check" : [
7169 "perm",
7170 "/vms/{vmid}",
7171 [
7172 "VM.Monitor"
7173 ]
7174 ]
7175 },
7176 "protected" : 1,
7177 "proxyto" : "node",
7178 "returns" : {
7179 "description" : "Returns an object with a single `result` property.",
7180 "type" : "object"
7181 }
7182 }
7183 },
7184 "leaf" : 1,
7185 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
7186 "text" : "suspend-hybrid"
7187 },
7188 {
7189 "info" : {
7190 "POST" : {
7191 "description" : "Execute suspend-ram.",
7192 "method" : "POST",
7193 "name" : "suspend-ram",
7194 "parameters" : {
7195 "additionalProperties" : 0,
7196 "properties" : {
7197 "node" : {
7198 "description" : "The cluster node name.",
7199 "format" : "pve-node",
7200 "type" : "string",
7201 "typetext" : "<string>"
7202 },
7203 "vmid" : {
7204 "description" : "The (unique) ID of the VM.",
7205 "format" : "pve-vmid",
7206 "minimum" : 1,
7207 "type" : "integer",
7208 "typetext" : "<integer> (1 - N)"
7209 }
7210 }
7211 },
7212 "permissions" : {
7213 "check" : [
7214 "perm",
7215 "/vms/{vmid}",
7216 [
7217 "VM.Monitor"
7218 ]
7219 ]
7220 },
7221 "protected" : 1,
7222 "proxyto" : "node",
7223 "returns" : {
7224 "description" : "Returns an object with a single `result` property.",
7225 "type" : "object"
7226 }
7227 }
7228 },
7229 "leaf" : 1,
7230 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
7231 "text" : "suspend-ram"
4d47f125
TL
7232 },
7233 {
7234 "info" : {
7235 "POST" : {
7236 "description" : "Sets the password for the given user to the given password",
7237 "method" : "POST",
7238 "name" : "set-user-password",
7239 "parameters" : {
7240 "additionalProperties" : 0,
7241 "properties" : {
7242 "crypted" : {
7243 "default" : 0,
7244 "description" : "set to 1 if the password has already been passed through crypt()",
7245 "optional" : 1,
7246 "type" : "boolean",
7247 "typetext" : "<boolean>"
7248 },
7249 "node" : {
7250 "description" : "The cluster node name.",
7251 "format" : "pve-node",
7252 "type" : "string",
7253 "typetext" : "<string>"
7254 },
7255 "password" : {
7256 "description" : "The new password.",
7257 "maxLength" : 64,
7258 "minLength" : 5,
7259 "type" : "string",
7260 "typetext" : "<string>"
7261 },
7262 "username" : {
7263 "description" : "The user to set the password for.",
7264 "type" : "string",
7265 "typetext" : "<string>"
7266 },
7267 "vmid" : {
7268 "description" : "The (unique) ID of the VM.",
7269 "format" : "pve-vmid",
7270 "minimum" : 1,
7271 "type" : "integer",
7272 "typetext" : "<integer> (1 - N)"
7273 }
7274 }
27a7acb2 7275 },
4d47f125
TL
7276 "permissions" : {
7277 "check" : [
7278 "perm",
7279 "/vms/{vmid}",
7280 [
7281 "VM.Monitor"
7282 ]
7283 ]
7284 },
7285 "protected" : 1,
7286 "proxyto" : "node",
7287 "returns" : {
7288 "description" : "Returns an object with a single `result` property.",
7289 "type" : "object"
27a7acb2
DM
7290 }
7291 }
7292 },
4d47f125
TL
7293 "leaf" : 1,
7294 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
7295 "text" : "set-user-password"
27a7acb2 7296 },
4d47f125
TL
7297 {
7298 "info" : {
7299 "POST" : {
7300 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
7301 "method" : "POST",
7302 "name" : "exec",
7303 "parameters" : {
7304 "additionalProperties" : 0,
7305 "properties" : {
7306 "command" : {
7307 "description" : "The command as a list of program + arguments",
7308 "format" : "string-alist",
7309 "type" : "string",
7310 "typetext" : "<string>"
7311 },
7312 "node" : {
7313 "description" : "The cluster node name.",
7314 "format" : "pve-node",
7315 "type" : "string",
7316 "typetext" : "<string>"
7317 },
7318 "vmid" : {
7319 "description" : "The (unique) ID of the VM.",
7320 "format" : "pve-vmid",
7321 "minimum" : 1,
7322 "type" : "integer",
7323 "typetext" : "<integer> (1 - N)"
7324 }
7325 }
27a7acb2 7326 },
4d47f125
TL
7327 "permissions" : {
7328 "check" : [
7329 "perm",
7330 "/vms/{vmid}",
7331 [
7332 "VM.Monitor"
7333 ]
7334 ]
27a7acb2 7335 },
4d47f125
TL
7336 "protected" : 1,
7337 "proxyto" : "node",
7338 "returns" : {
7339 "properties" : {
7340 "pid" : {
7341 "description" : "The PID of the process started by the guest-agent.",
7342 "type" : "integer"
7343 }
7344 },
7345 "type" : "object"
27a7acb2
DM
7346 }
7347 }
7348 },
4d47f125
TL
7349 "leaf" : 1,
7350 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
7351 "text" : "exec"
7352 },
7353 {
7354 "info" : {
7355 "GET" : {
7356 "description" : "Gets the status of the given pid started by the guest-agent",
7357 "method" : "GET",
7358 "name" : "exec-status",
7359 "parameters" : {
7360 "additionalProperties" : 0,
7361 "properties" : {
7362 "node" : {
7363 "description" : "The cluster node name.",
7364 "format" : "pve-node",
7365 "type" : "string",
7366 "typetext" : "<string>"
7367 },
7368 "pid" : {
7369 "description" : "The PID to query",
7370 "type" : "integer",
7371 "typetext" : "<integer>"
7372 },
7373 "vmid" : {
7374 "description" : "The (unique) ID of the VM.",
7375 "format" : "pve-vmid",
7376 "minimum" : 1,
7377 "type" : "integer",
7378 "typetext" : "<integer> (1 - N)"
7379 }
7380 }
56122987 7381 },
4d47f125
TL
7382 "permissions" : {
7383 "check" : [
7384 "perm",
7385 "/vms/{vmid}",
7386 [
7387 "VM.Monitor"
7388 ]
7389 ]
56122987 7390 },
4d47f125
TL
7391 "protected" : 1,
7392 "proxyto" : "node",
7393 "returns" : {
7394 "properties" : {
7395 "err-data" : {
7396 "description" : "stderr of the process",
7397 "optional" : 1,
7398 "type" : "string"
7399 },
7400 "err-truncated" : {
7401 "description" : "true if stderr was not fully captured",
7402 "optional" : 1,
7403 "type" : "boolean"
7404 },
7405 "exitcode" : {
7406 "description" : "process exit code if it was normally terminated.",
7407 "optional" : 1,
7408 "type" : "integer"
7409 },
7410 "exited" : {
7411 "description" : "Tells if the given command has exited yet.",
7412 "type" : "boolean"
7413 },
7414 "out-data" : {
7415 "description" : "stdout of the process",
7416 "optional" : 1,
7417 "type" : "string"
7418 },
7419 "out-truncated" : {
7420 "description" : "true if stdout was not fully captured",
7421 "optional" : 1,
7422 "type" : "boolean"
7423 },
7424 "signal" : {
7425 "description" : "signal number or exception code if the process was abnormally terminated.",
7426 "optional" : 1,
7427 "type" : "integer"
7428 }
7429 },
7430 "type" : "object"
56122987
DM
7431 }
7432 }
7433 },
4d47f125
TL
7434 "leaf" : 1,
7435 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
7436 "text" : "exec-status"
7437 },
7438 {
7439 "info" : {
7440 "GET" : {
7441 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
7442 "method" : "GET",
7443 "name" : "file-read",
7444 "parameters" : {
7445 "additionalProperties" : 0,
7446 "properties" : {
7447 "file" : {
7448 "description" : "The path to the file",
7449 "type" : "string",
7450 "typetext" : "<string>"
7451 },
7452 "node" : {
7453 "description" : "The cluster node name.",
7454 "format" : "pve-node",
7455 "type" : "string",
7456 "typetext" : "<string>"
7457 },
7458 "vmid" : {
7459 "description" : "The (unique) ID of the VM.",
7460 "format" : "pve-vmid",
7461 "minimum" : 1,
7462 "type" : "integer",
7463 "typetext" : "<integer> (1 - N)"
7464 }
7465 }
7466 },
7467 "permissions" : {
7468 "check" : [
7469 "perm",
7470 "/vms/{vmid}",
7471 [
7472 "VM.Monitor"
7473 ]
7474 ]
7475 },
7476 "protected" : 1,
7477 "proxyto" : "node",
7478 "returns" : {
7479 "description" : "Returns an object with a `content` property.",
7480 "properties" : {
7481 "content" : {
7482 "description" : "The content of the file, maximum 16777216",
7483 "type" : "string"
7484 },
7485 "truncated" : {
7486 "description" : "If set to 1, the output is truncated and not complete",
7487 "optional" : 1,
7488 "type" : "boolean"
7489 }
7490 },
7491 "type" : "object"
7492 }
7493 }
56122987 7494 },
4d47f125
TL
7495 "leaf" : 1,
7496 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
7497 "text" : "file-read"
7498 },
7499 {
7500 "info" : {
7501 "POST" : {
7502 "description" : "Writes the given file via guest agent.",
7503 "method" : "POST",
7504 "name" : "file-write",
7505 "parameters" : {
7506 "additionalProperties" : 0,
7507 "properties" : {
7508 "content" : {
7509 "description" : "The content to write into the file.",
7510 "maxLength" : 61440,
7511 "type" : "string",
7512 "typetext" : "<string>"
7513 },
7514 "file" : {
7515 "description" : "The path to the file.",
7516 "type" : "string",
7517 "typetext" : "<string>"
7518 },
7519 "node" : {
7520 "description" : "The cluster node name.",
7521 "format" : "pve-node",
7522 "type" : "string",
7523 "typetext" : "<string>"
7524 },
7525 "vmid" : {
7526 "description" : "The (unique) ID of the VM.",
7527 "format" : "pve-vmid",
7528 "minimum" : 1,
7529 "type" : "integer",
7530 "typetext" : "<integer> (1 - N)"
7531 }
7532 }
7533 },
7534 "permissions" : {
7535 "check" : [
7536 "perm",
7537 "/vms/{vmid}",
7538 [
7539 "VM.Monitor"
7540 ]
7541 ]
7542 },
7543 "protected" : 1,
7544 "proxyto" : "node",
7545 "returns" : {
7546 "type" : "null"
7aacca6f 7547 }
4d47f125
TL
7548 }
7549 },
7550 "leaf" : 1,
7551 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
7552 "text" : "file-write"
56122987 7553 }
4d47f125 7554 ],
7aacca6f 7555 "info" : {
56122987 7556 "GET" : {
4d47f125 7557 "description" : "Qemu Agent command index.",
44660702 7558 "method" : "GET",
4d47f125 7559 "name" : "index",
56122987 7560 "parameters" : {
4d47f125 7561 "additionalProperties" : 1,
56122987
DM
7562 "properties" : {
7563 "node" : {
44660702 7564 "description" : "The cluster node name.",
56122987 7565 "format" : "pve-node",
013dc89f
DM
7566 "type" : "string",
7567 "typetext" : "<string>"
56122987 7568 },
7aacca6f 7569 "vmid" : {
7aacca6f
DM
7570 "description" : "The (unique) ID of the VM.",
7571 "format" : "pve-vmid",
44660702 7572 "minimum" : 1,
4bd7df8b 7573 "type" : "integer",
013dc89f 7574 "typetext" : "<integer> (1 - N)"
56122987 7575 }
44660702 7576 }
56122987 7577 },
56122987 7578 "permissions" : {
4d47f125 7579 "user" : "all"
56122987 7580 },
4d47f125 7581 "proxyto" : "node",
7aacca6f 7582 "returns" : {
4d47f125 7583 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 7584 "items" : {
44660702
DM
7585 "properties" : {},
7586 "type" : "object"
7587 },
4d47f125
TL
7588 "links" : [
7589 {
7590 "href" : "{name}",
7591 "rel" : "child"
7592 }
7593 ],
44660702 7594 "type" : "array"
7aacca6f 7595 }
4d47f125
TL
7596 },
7597 "POST" : {
7598 "description" : "Execute Qemu Guest Agent commands.",
7599 "method" : "POST",
7600 "name" : "agent",
44660702
DM
7601 "parameters" : {
7602 "additionalProperties" : 0,
7603 "properties" : {
4d47f125
TL
7604 "command" : {
7605 "description" : "The QGA command.",
7606 "enum" : [
7607 "fsfreeze-freeze",
7608 "fsfreeze-status",
7609 "fsfreeze-thaw",
7610 "fstrim",
7611 "get-fsinfo",
7612 "get-host-name",
7613 "get-memory-block-info",
7614 "get-memory-blocks",
7615 "get-osinfo",
7616 "get-time",
7617 "get-timezone",
7618 "get-users",
7619 "get-vcpus",
7620 "info",
7621 "network-get-interfaces",
7622 "ping",
7623 "shutdown",
7624 "suspend-disk",
7625 "suspend-hybrid",
7626 "suspend-ram"
7627 ],
7628 "type" : "string"
7629 },
7630 "node" : {
7631 "description" : "The cluster node name.",
7632 "format" : "pve-node",
7633 "type" : "string",
7634 "typetext" : "<string>"
7635 },
7636 "vmid" : {
7637 "description" : "The (unique) ID of the VM.",
7638 "format" : "pve-vmid",
7639 "minimum" : 1,
7640 "type" : "integer",
7641 "typetext" : "<integer> (1 - N)"
7642 }
7643 }
7644 },
7645 "permissions" : {
7646 "check" : [
7647 "perm",
7648 "/vms/{vmid}",
7649 [
7650 "VM.Monitor"
7651 ]
7652 ]
7653 },
7654 "protected" : 1,
7655 "proxyto" : "node",
7656 "returns" : {
7657 "description" : "Returns an object with a single `result` property.",
7658 "type" : "object"
7659 }
7660 }
7661 },
7662 "leaf" : 0,
7663 "path" : "/nodes/{node}/qemu/{vmid}/agent",
7664 "text" : "agent"
7665 },
7666 {
7667 "info" : {
7668 "GET" : {
7669 "description" : "Read VM RRD statistics (returns PNG)",
7670 "method" : "GET",
7671 "name" : "rrd",
7672 "parameters" : {
7673 "additionalProperties" : 0,
7674 "properties" : {
7675 "cf" : {
7676 "description" : "The RRD consolidation function",
7677 "enum" : [
7678 "AVERAGE",
7679 "MAX"
7680 ],
44660702 7681 "optional" : 1,
4d47f125
TL
7682 "type" : "string"
7683 },
7684 "ds" : {
7685 "description" : "The list of datasources you want to display.",
7686 "format" : "pve-configid-list",
7687 "type" : "string",
7688 "typetext" : "<string>"
44660702
DM
7689 },
7690 "node" : {
7691 "description" : "The cluster node name.",
7692 "format" : "pve-node",
013dc89f
DM
7693 "type" : "string",
7694 "typetext" : "<string>"
44660702 7695 },
4d47f125
TL
7696 "timeframe" : {
7697 "description" : "Specify the time frame you are interested in.",
7698 "enum" : [
7699 "hour",
7700 "day",
7701 "week",
7702 "month",
7703 "year"
7704 ],
7705 "type" : "string"
7706 },
44660702
DM
7707 "vmid" : {
7708 "description" : "The (unique) ID of the VM.",
7709 "format" : "pve-vmid",
7710 "minimum" : 1,
4bd7df8b 7711 "type" : "integer",
013dc89f 7712 "typetext" : "<integer> (1 - N)"
44660702
DM
7713 }
7714 }
7aacca6f 7715 },
56122987
DM
7716 "permissions" : {
7717 "check" : [
7718 "perm",
7719 "/vms/{vmid}",
7720 [
44660702
DM
7721 "VM.Audit"
7722 ]
56122987
DM
7723 ]
7724 },
4d47f125 7725 "protected" : 1,
44660702
DM
7726 "returns" : {
7727 "properties" : {
4d47f125 7728 "filename" : {
44660702
DM
7729 "type" : "string"
7730 }
7731 },
7732 "type" : "object"
7733 }
4d47f125
TL
7734 }
7735 },
7736 "leaf" : 1,
7737 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
7738 "text" : "rrd"
7739 },
7740 {
7741 "info" : {
7742 "GET" : {
7743 "description" : "Read VM RRD statistics",
7744 "method" : "GET",
7745 "name" : "rrddata",
7746 "parameters" : {
7747 "additionalProperties" : 0,
7748 "properties" : {
7749 "cf" : {
7750 "description" : "The RRD consolidation function",
7751 "enum" : [
7752 "AVERAGE",
7753 "MAX"
7754 ],
7755 "optional" : 1,
7756 "type" : "string"
7757 },
7758 "node" : {
7759 "description" : "The cluster node name.",
7760 "format" : "pve-node",
7761 "type" : "string",
7762 "typetext" : "<string>"
7763 },
7764 "timeframe" : {
7765 "description" : "Specify the time frame you are interested in.",
7766 "enum" : [
7767 "hour",
7768 "day",
7769 "week",
7770 "month",
7771 "year"
7772 ],
7773 "type" : "string"
7774 },
7775 "vmid" : {
7776 "description" : "The (unique) ID of the VM.",
7777 "format" : "pve-vmid",
7778 "minimum" : 1,
7779 "type" : "integer",
7780 "typetext" : "<integer> (1 - N)"
7781 }
7782 }
7783 },
7784 "permissions" : {
7785 "check" : [
7786 "perm",
7787 "/vms/{vmid}",
7788 [
7789 "VM.Audit"
7790 ]
7791 ]
7792 },
7793 "protected" : 1,
7794 "returns" : {
7795 "items" : {
7796 "properties" : {},
7797 "type" : "object"
7798 },
7799 "type" : "array"
7800 }
7801 }
7802 },
7803 "leaf" : 1,
7804 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
7805 "text" : "rrddata"
7806 },
7807 {
7808 "info" : {
7809 "GET" : {
7810 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
7811 "method" : "GET",
7812 "name" : "vm_config",
56122987 7813 "parameters" : {
44660702 7814 "additionalProperties" : 0,
4d47f125
TL
7815 "properties" : {
7816 "current" : {
7817 "default" : 0,
7818 "description" : "Get current values (instead of pending values).",
7819 "optional" : 1,
7820 "type" : "boolean",
7821 "typetext" : "<boolean>"
7822 },
7823 "node" : {
7824 "description" : "The cluster node name.",
7825 "format" : "pve-node",
7826 "type" : "string",
7827 "typetext" : "<string>"
7828 },
7829 "vmid" : {
7830 "description" : "The (unique) ID of the VM.",
7831 "format" : "pve-vmid",
7832 "minimum" : 1,
7833 "type" : "integer",
7834 "typetext" : "<integer> (1 - N)"
7835 }
7836 }
7837 },
7838 "permissions" : {
7839 "check" : [
7840 "perm",
7841 "/vms/{vmid}",
7842 [
7843 "VM.Audit"
7844 ]
7845 ]
7846 },
7847 "proxyto" : "node",
7848 "returns" : {
7849 "description" : "The current VM configuration.",
56122987 7850 "properties" : {
44660702
DM
7851 "acpi" : {
7852 "default" : 1,
7853 "description" : "Enable/disable ACPI.",
7854 "optional" : 1,
4d47f125 7855 "type" : "boolean"
44660702
DM
7856 },
7857 "agent" : {
4d47f125
TL
7858 "description" : "Enable/disable Qemu GuestAgent and its properties.",
7859 "format" : {
7860 "enabled" : {
7861 "default" : 0,
7862 "default_key" : 1,
7863 "description" : "Enable/disable Qemu GuestAgent.",
7864 "type" : "boolean"
7865 },
7866 "fstrim_cloned_disks" : {
7867 "default" : 0,
7868 "description" : "Run fstrim after cloning/moving a disk.",
7869 "optional" : 1,
7870 "type" : "boolean"
7871 }
7872 },
7aacca6f 7873 "optional" : 1,
4d47f125 7874 "type" : "string"
7aacca6f 7875 },
44660702 7876 "args" : {
c2993fe5 7877 "description" : "Arbitrary arguments passed to kvm.",
44660702 7878 "optional" : 1,
c2993fe5
DM
7879 "type" : "string",
7880 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
7aacca6f 7881 },
44660702
DM
7882 "autostart" : {
7883 "default" : 0,
7884 "description" : "Automatic restart after crash (currently ignored).",
56122987 7885 "optional" : 1,
4d47f125 7886 "type" : "boolean"
56122987 7887 },
4d47f125
TL
7888 "balloon" : {
7889 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
7890 "minimum" : 0,
7aacca6f 7891 "optional" : 1,
4d47f125 7892 "type" : "integer"
7aacca6f 7893 },
44660702
DM
7894 "bios" : {
7895 "default" : "seabios",
7896 "description" : "Select BIOS implementation.",
7897 "enum" : [
7898 "seabios",
7899 "ovmf"
7900 ],
56122987 7901 "optional" : 1,
44660702 7902 "type" : "string"
7aacca6f 7903 },
44660702
DM
7904 "boot" : {
7905 "default" : "cdn",
7906 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7907 "optional" : 1,
7908 "pattern" : "[acdn]{1,4}",
7909 "type" : "string"
7910 },
7911 "bootdisk" : {
7912 "description" : "Enable booting from specified disk.",
7913 "format" : "pve-qm-bootdisk",
7914 "optional" : 1,
7915 "pattern" : "(ide|sata|scsi|virtio)\\d+",
7916 "type" : "string"
7917 },
7918 "cdrom" : {
7919 "description" : "This is an alias for option -ide2",
de0983cb 7920 "format" : "pve-qm-ide",
44660702 7921 "optional" : 1,
7aacca6f 7922 "type" : "string",
013dc89f 7923 "typetext" : "<volume>"
44660702 7924 },
27a7acb2
DM
7925 "cipassword" : {
7926 "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
7927 "optional" : 1,
4d47f125 7928 "type" : "string"
27a7acb2
DM
7929 },
7930 "citype" : {
7931 "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
7932 "enum" : [
7933 "configdrive2",
7934 "nocloud"
7935 ],
7936 "optional" : 1,
7937 "type" : "string"
7938 },
7939 "ciuser" : {
7940 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
7941 "optional" : 1,
4d47f125 7942 "type" : "string"
27a7acb2 7943 },
44660702
DM
7944 "cores" : {
7945 "default" : 1,
7946 "description" : "The number of cores per socket.",
7947 "minimum" : 1,
7aacca6f 7948 "optional" : 1,
4d47f125 7949 "type" : "integer"
7aacca6f 7950 },
44660702
DM
7951 "cpu" : {
7952 "description" : "Emulated CPU type.",
56122987 7953 "format" : {
44660702
DM
7954 "cputype" : {
7955 "default" : "kvm64",
7aacca6f 7956 "default_key" : 1,
44660702 7957 "description" : "Emulated CPU type.",
56122987 7958 "enum" : [
44660702
DM
7959 "486",
7960 "athlon",
f004f5b9 7961 "Broadwell",
35a75dd3 7962 "Broadwell-IBRS",
f004f5b9 7963 "Broadwell-noTSX",
35a75dd3 7964 "Broadwell-noTSX-IBRS",
f004f5b9 7965 "Conroe",
44660702 7966 "core2duo",
f004f5b9 7967 "coreduo",
27a7acb2
DM
7968 "EPYC",
7969 "EPYC-IBPB",
f004f5b9 7970 "Haswell",
35a75dd3 7971 "Haswell-IBRS",
f004f5b9 7972 "Haswell-noTSX",
35a75dd3 7973 "Haswell-noTSX-IBRS",
f004f5b9
DM
7974 "host",
7975 "IvyBridge",
35a75dd3 7976 "IvyBridge-IBRS",
44660702
DM
7977 "kvm32",
7978 "kvm64",
35a75dd3 7979 "max",
44660702 7980 "Nehalem",
35a75dd3 7981 "Nehalem-IBRS",
44660702
DM
7982 "Opteron_G1",
7983 "Opteron_G2",
7984 "Opteron_G3",
7985 "Opteron_G4",
7986 "Opteron_G5",
f004f5b9
DM
7987 "Penryn",
7988 "pentium",
7989 "pentium2",
7990 "pentium3",
7991 "phenom",
7992 "qemu32",
7993 "qemu64",
7994 "SandyBridge",
35a75dd3 7995 "SandyBridge-IBRS",
5d9c884c 7996 "Skylake-Client",
35a75dd3
DM
7997 "Skylake-Client-IBRS",
7998 "Skylake-Server",
7999 "Skylake-Server-IBRS",
8000 "Westmere",
8001 "Westmere-IBRS"
56122987 8002 ],
56122987
DM
8003 "type" : "string"
8004 },
35a75dd3 8005 "flags" : {
4d47f125 8006 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.",
35a75dd3
DM
8007 "format_description" : "+FLAG[;-FLAG...]",
8008 "optional" : 1,
4d47f125 8009 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
35a75dd3
DM
8010 "type" : "string"
8011 },
44660702
DM
8012 "hidden" : {
8013 "default" : 0,
8014 "description" : "Do not identify as a KVM virtual machine.",
56122987 8015 "optional" : 1,
44660702
DM
8016 "type" : "boolean"
8017 }
8018 },
8019 "optional" : 1,
4d47f125 8020 "type" : "string"
44660702
DM
8021 },
8022 "cpulimit" : {
8023 "default" : 0,
c2993fe5 8024 "description" : "Limit of CPU usage.",
44660702
DM
8025 "maximum" : 128,
8026 "minimum" : 0,
8027 "optional" : 1,
c2993fe5
DM
8028 "type" : "number",
8029 "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
44660702
DM
8030 },
8031 "cpuunits" : {
de0983cb 8032 "default" : 1024,
c2993fe5 8033 "description" : "CPU weight for a VM.",
2489d6df
WB
8034 "maximum" : 262144,
8035 "minimum" : 2,
44660702 8036 "optional" : 1,
c2993fe5 8037 "type" : "integer",
2489d6df 8038 "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
44660702 8039 },
44660702
DM
8040 "description" : {
8041 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
8042 "optional" : 1,
4d47f125 8043 "type" : "string"
44660702
DM
8044 },
8045 "digest" : {
4d47f125
TL
8046 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
8047 "type" : "string"
44660702 8048 },
4d47f125
TL
8049 "efidisk0" : {
8050 "description" : "Configure a Disk for storing EFI vars",
8051 "format" : {
8052 "file" : {
8053 "default_key" : 1,
8054 "description" : "The drive's backing volume.",
8055 "format" : "pve-volume-id-or-qm-path",
8056 "format_description" : "volume",
8057 "type" : "string"
8058 },
8059 "format" : {
8060 "description" : "The drive's backing file's data format.",
8061 "enum" : [
8062 "raw",
8063 "cow",
8064 "qcow",
8065 "qed",
8066 "qcow2",
8067 "vmdk",
8068 "cloop"
8069 ],
8070 "optional" : 1,
8071 "type" : "string"
8072 },
8073 "size" : {
8074 "description" : "Disk size. This is purely informational and has no effect.",
8075 "format" : "disk-size",
8076 "format_description" : "DiskSize",
8077 "optional" : 1,
8078 "type" : "string"
8079 },
8080 "volume" : {
8081 "alias" : "file"
8082 }
8083 },
44660702 8084 "optional" : 1,
4d47f125 8085 "type" : "string"
44660702
DM
8086 },
8087 "freeze" : {
8088 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
8089 "optional" : 1,
4d47f125 8090 "type" : "boolean"
44660702
DM
8091 },
8092 "hostpci[n]" : {
c2993fe5 8093 "description" : "Map host PCI devices into guest.",
44660702
DM
8094 "format" : "pve-qm-hostpci",
8095 "optional" : 1,
57b78691
DM
8096 "type" : "string",
8097 "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702
DM
8098 },
8099 "hotplug" : {
8100 "default" : "network,disk,usb",
8101 "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
8102 "format" : "pve-hotplug-features",
8103 "optional" : 1,
4d47f125 8104 "type" : "string"
44660702 8105 },
4bd7df8b
DM
8106 "hugepages" : {
8107 "description" : "Enable/disable hugepages memory.",
8108 "enum" : [
8109 "any",
8110 "2",
8111 "1024"
8112 ],
8113 "optional" : 1,
8114 "type" : "string"
8115 },
44660702
DM
8116 "ide[n]" : {
8117 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
8118 "format" : {
8119 "aio" : {
8120 "description" : "AIO type to use.",
8121 "enum" : [
8122 "native",
8123 "threads"
56122987 8124 ],
56122987 8125 "optional" : 1,
44660702 8126 "type" : "string"
56122987 8127 },
44660702
DM
8128 "backup" : {
8129 "description" : "Whether the drive should be included when making backups.",
56122987 8130 "optional" : 1,
44660702 8131 "type" : "boolean"
56122987 8132 },
7aacca6f 8133 "bps" : {
de0983cb 8134 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
8135 "format_description" : "bps",
8136 "optional" : 1,
8137 "type" : "integer"
8138 },
de0983cb
DM
8139 "bps_max_length" : {
8140 "description" : "Maximum length of I/O bursts in seconds.",
8141 "format_description" : "seconds",
8142 "minimum" : 1,
8143 "optional" : 1,
8144 "type" : "integer"
8145 },
44660702 8146 "bps_rd" : {
de0983cb 8147 "description" : "Maximum read speed in bytes per second.",
44660702 8148 "format_description" : "bps",
56122987 8149 "optional" : 1,
44660702 8150 "type" : "integer"
56122987 8151 },
de0983cb 8152 "bps_rd_length" : {
5d9c884c
DM
8153 "alias" : "bps_rd_max_length"
8154 },
8155 "bps_rd_max_length" : {
de0983cb
DM
8156 "description" : "Maximum length of read I/O bursts in seconds.",
8157 "format_description" : "seconds",
8158 "minimum" : 1,
8159 "optional" : 1,
8160 "type" : "integer"
8161 },
44660702 8162 "bps_wr" : {
de0983cb 8163 "description" : "Maximum write speed in bytes per second.",
44660702
DM
8164 "format_description" : "bps",
8165 "optional" : 1,
8166 "type" : "integer"
8167 },
de0983cb 8168 "bps_wr_length" : {
5d9c884c
DM
8169 "alias" : "bps_wr_max_length"
8170 },
8171 "bps_wr_max_length" : {
de0983cb
DM
8172 "description" : "Maximum length of write I/O bursts in seconds.",
8173 "format_description" : "seconds",
8174 "minimum" : 1,
8175 "optional" : 1,
8176 "type" : "integer"
8177 },
44660702
DM
8178 "cache" : {
8179 "description" : "The drive's cache mode",
8180 "enum" : [
8181 "none",
8182 "writethrough",
8183 "writeback",
8184 "unsafe",
8185 "directsync"
8186 ],
44660702
DM
8187 "optional" : 1,
8188 "type" : "string"
8189 },
8190 "cyls" : {
8191 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8192 "optional" : 1,
8193 "type" : "integer"
8194 },
8195 "detect_zeroes" : {
8196 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8197 "optional" : 1,
8198 "type" : "boolean"
8199 },
8200 "discard" : {
8201 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8202 "enum" : [
8203 "ignore",
8204 "on"
8205 ],
56122987 8206 "optional" : 1,
44660702
DM
8207 "type" : "string"
8208 },
8209 "file" : {
8210 "default_key" : 1,
8211 "description" : "The drive's backing volume.",
8212 "format" : "pve-volume-id-or-qm-path",
8213 "format_description" : "volume",
8214 "type" : "string"
56122987 8215 },
7aacca6f 8216 "format" : {
7aacca6f 8217 "description" : "The drive's backing file's data format.",
56122987 8218 "enum" : [
7aacca6f
DM
8219 "raw",
8220 "cow",
8221 "qcow",
8222 "qed",
8223 "qcow2",
8224 "vmdk",
8225 "cloop"
56122987
DM
8226 ],
8227 "optional" : 1,
56122987
DM
8228 "type" : "string"
8229 },
44660702
DM
8230 "heads" : {
8231 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8232 "optional" : 1,
8233 "type" : "integer"
7aacca6f 8234 },
44660702 8235 "iops" : {
de0983cb 8236 "description" : "Maximum r/w I/O in operations per second.",
44660702 8237 "format_description" : "iops",
56122987 8238 "optional" : 1,
44660702 8239 "type" : "integer"
56122987 8240 },
44660702 8241 "iops_max" : {
de0983cb 8242 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8243 "format_description" : "iops",
56122987 8244 "optional" : 1,
44660702 8245 "type" : "integer"
56122987 8246 },
de0983cb
DM
8247 "iops_max_length" : {
8248 "description" : "Maximum length of I/O bursts in seconds.",
8249 "format_description" : "seconds",
8250 "minimum" : 1,
8251 "optional" : 1,
8252 "type" : "integer"
8253 },
44660702 8254 "iops_rd" : {
de0983cb 8255 "description" : "Maximum read I/O in operations per second.",
44660702
DM
8256 "format_description" : "iops",
8257 "optional" : 1,
8258 "type" : "integer"
8259 },
de0983cb 8260 "iops_rd_length" : {
5d9c884c 8261 "alias" : "iops_rd_max_length"
de0983cb 8262 },
44660702 8263 "iops_rd_max" : {
de0983cb 8264 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 8265 "format_description" : "iops",
44660702
DM
8266 "optional" : 1,
8267 "type" : "integer"
8268 },
5d9c884c
DM
8269 "iops_rd_max_length" : {
8270 "description" : "Maximum length of read I/O bursts in seconds.",
8271 "format_description" : "seconds",
8272 "minimum" : 1,
8273 "optional" : 1,
8274 "type" : "integer"
8275 },
44660702 8276 "iops_wr" : {
de0983cb 8277 "description" : "Maximum write I/O in operations per second.",
44660702 8278 "format_description" : "iops",
56122987 8279 "optional" : 1,
7aacca6f 8280 "type" : "integer"
56122987 8281 },
de0983cb 8282 "iops_wr_length" : {
5d9c884c 8283 "alias" : "iops_wr_max_length"
de0983cb 8284 },
44660702 8285 "iops_wr_max" : {
de0983cb 8286 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8287 "format_description" : "iops",
7aacca6f 8288 "optional" : 1,
44660702 8289 "type" : "integer"
56122987 8290 },
5d9c884c
DM
8291 "iops_wr_max_length" : {
8292 "description" : "Maximum length of write I/O bursts in seconds.",
8293 "format_description" : "seconds",
8294 "minimum" : 1,
8295 "optional" : 1,
8296 "type" : "integer"
8297 },
44660702 8298 "mbps" : {
de0983cb 8299 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8300 "format_description" : "mbps",
8301 "optional" : 1,
8302 "type" : "number"
8303 },
8304 "mbps_max" : {
de0983cb 8305 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8306 "format_description" : "mbps",
8307 "optional" : 1,
8308 "type" : "number"
8309 },
8310 "mbps_rd" : {
de0983cb 8311 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8312 "format_description" : "mbps",
8313 "optional" : 1,
8314 "type" : "number"
8315 },
8316 "mbps_rd_max" : {
de0983cb 8317 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8318 "format_description" : "mbps",
8319 "optional" : 1,
8320 "type" : "number"
8321 },
8322 "mbps_wr" : {
de0983cb 8323 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8324 "format_description" : "mbps",
8325 "optional" : 1,
8326 "type" : "number"
8327 },
8328 "mbps_wr_max" : {
de0983cb 8329 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 8330 "format_description" : "mbps",
56122987 8331 "optional" : 1,
44660702 8332 "type" : "number"
56122987 8333 },
7aacca6f 8334 "media" : {
7aacca6f 8335 "default" : "disk",
7aacca6f
DM
8336 "description" : "The drive's media type.",
8337 "enum" : [
8338 "cdrom",
8339 "disk"
44660702 8340 ],
44660702
DM
8341 "optional" : 1,
8342 "type" : "string"
56122987 8343 },
44660702
DM
8344 "model" : {
8345 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
8346 "format" : "urlencoded",
8347 "format_description" : "model",
8348 "maxLength" : 120,
56122987 8349 "optional" : 1,
44660702 8350 "type" : "string"
56122987 8351 },
5d9c884c
DM
8352 "replicate" : {
8353 "default" : 1,
8354 "description" : "Whether the drive should considered for replication jobs.",
8355 "optional" : 1,
8356 "type" : "boolean"
8357 },
44660702
DM
8358 "rerror" : {
8359 "description" : "Read error action.",
8360 "enum" : [
8361 "ignore",
8362 "report",
8363 "stop"
8364 ],
56122987 8365 "optional" : 1,
44660702
DM
8366 "type" : "string"
8367 },
8368 "secs" : {
8369 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
8370 "optional" : 1,
8371 "type" : "integer"
8372 },
8373 "serial" : {
8374 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8375 "format" : "urlencoded",
8376 "format_description" : "serial",
8377 "maxLength" : 60,
8378 "optional" : 1,
8379 "type" : "string"
8380 },
27a7acb2
DM
8381 "shared" : {
8382 "default" : 0,
8383 "description" : "Mark this locally-managed volume as available on all nodes",
8384 "optional" : 1,
8385 "type" : "boolean",
8386 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
8387 },
44660702
DM
8388 "size" : {
8389 "description" : "Disk size. This is purely informational and has no effect.",
8390 "format" : "disk-size",
f004f5b9 8391 "format_description" : "DiskSize",
44660702
DM
8392 "optional" : 1,
8393 "type" : "string"
8394 },
8395 "snapshot" : {
27a7acb2 8396 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
44660702
DM
8397 "optional" : 1,
8398 "type" : "boolean"
8399 },
25203dc1
NC
8400 "ssd" : {
8401 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
8402 "optional" : 1,
8403 "type" : "boolean"
8404 },
44660702
DM
8405 "trans" : {
8406 "description" : "Force disk geometry bios translation mode.",
8407 "enum" : [
8408 "none",
8409 "lba",
8410 "auto"
8411 ],
44660702
DM
8412 "optional" : 1,
8413 "type" : "string"
8414 },
8415 "volume" : {
8416 "alias" : "file"
8417 },
8418 "werror" : {
8419 "description" : "Write error action.",
8420 "enum" : [
8421 "enospc",
8422 "ignore",
8423 "report",
8424 "stop"
8425 ],
44660702
DM
8426 "optional" : 1,
8427 "type" : "string"
56122987
DM
8428 }
8429 },
44660702 8430 "optional" : 1,
4d47f125 8431 "type" : "string"
27a7acb2
DM
8432 },
8433 "ipconfig[n]" : {
8434 "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",
8435 "format" : "pve-qm-ipconfig",
8436 "optional" : 1,
4d47f125 8437 "type" : "string"
56122987 8438 },
44660702 8439 "keyboard" : {
35a75dd3 8440 "default" : null,
5da3d723 8441 "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
8442 "enum" : [
8443 "de",
8444 "de-ch",
8445 "da",
8446 "en-gb",
8447 "en-us",
8448 "es",
8449 "fi",
8450 "fr",
8451 "fr-be",
8452 "fr-ca",
8453 "fr-ch",
8454 "hu",
8455 "is",
8456 "it",
8457 "ja",
8458 "lt",
8459 "mk",
8460 "nl",
8461 "no",
8462 "pl",
8463 "pt",
8464 "pt-br",
8465 "sv",
8466 "sl",
8467 "tr"
8468 ],
56122987 8469 "optional" : 1,
44660702
DM
8470 "type" : "string"
8471 },
8472 "kvm" : {
7aacca6f 8473 "default" : 1,
44660702
DM
8474 "description" : "Enable/disable KVM hardware virtualization.",
8475 "optional" : 1,
4d47f125 8476 "type" : "boolean"
56122987 8477 },
44660702
DM
8478 "localtime" : {
8479 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 8480 "optional" : 1,
4d47f125 8481 "type" : "boolean"
56122987 8482 },
44660702
DM
8483 "lock" : {
8484 "description" : "Lock/unlock the VM.",
8485 "enum" : [
8486 "migrate",
8487 "backup",
8488 "snapshot",
8489 "rollback"
8490 ],
7aacca6f 8491 "optional" : 1,
44660702
DM
8492 "type" : "string"
8493 },
8494 "machine" : {
4d47f125 8495 "description" : "Specifies the Qemu machine type.",
44660702
DM
8496 "maxLength" : 40,
8497 "optional" : 1,
8498 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
8499 "type" : "string"
8500 },
8501 "memory" : {
8502 "default" : 512,
8503 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
8504 "minimum" : 16,
8505 "optional" : 1,
4d47f125 8506 "type" : "integer"
44660702
DM
8507 },
8508 "migrate_downtime" : {
8509 "default" : 0.1,
8510 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
8511 "minimum" : 0,
8512 "optional" : 1,
4d47f125 8513 "type" : "number"
44660702
DM
8514 },
8515 "migrate_speed" : {
8516 "default" : 0,
8517 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
8518 "minimum" : 0,
8519 "optional" : 1,
4d47f125 8520 "type" : "integer"
44660702
DM
8521 },
8522 "name" : {
8523 "description" : "Set a name for the VM. Only used on the configuration web interface.",
8524 "format" : "dns-name",
8525 "optional" : 1,
4d47f125 8526 "type" : "string"
44660702 8527 },
27a7acb2
DM
8528 "nameserver" : {
8529 "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.",
8530 "format" : "address-list",
8531 "optional" : 1,
4d47f125 8532 "type" : "string"
27a7acb2 8533 },
44660702 8534 "net[n]" : {
c2993fe5 8535 "description" : "Specify network devices.",
f004f5b9
DM
8536 "format" : {
8537 "bridge" : {
c2993fe5 8538 "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
8539 "format_description" : "bridge",
8540 "optional" : 1,
8541 "type" : "string"
8542 },
8543 "e1000" : {
8544 "alias" : "macaddr",
8545 "keyAlias" : "model"
8546 },
8547 "e1000-82540em" : {
8548 "alias" : "macaddr",
8549 "keyAlias" : "model"
8550 },
8551 "e1000-82544gc" : {
8552 "alias" : "macaddr",
8553 "keyAlias" : "model"
8554 },
8555 "e1000-82545em" : {
8556 "alias" : "macaddr",
8557 "keyAlias" : "model"
8558 },
8559 "firewall" : {
8560 "description" : "Whether this interface should be protected by the firewall.",
8561 "optional" : 1,
8562 "type" : "boolean"
8563 },
8564 "i82551" : {
8565 "alias" : "macaddr",
8566 "keyAlias" : "model"
8567 },
8568 "i82557b" : {
8569 "alias" : "macaddr",
8570 "keyAlias" : "model"
8571 },
8572 "i82559er" : {
8573 "alias" : "macaddr",
8574 "keyAlias" : "model"
8575 },
8576 "link_down" : {
c2993fe5 8577 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
8578 "optional" : 1,
8579 "type" : "boolean"
8580 },
8581 "macaddr" : {
c2993fe5 8582 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 8583 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
8584 "optional" : 1,
8585 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
8586 "type" : "string"
8587 },
8588 "model" : {
8589 "default_key" : 1,
c2993fe5 8590 "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
8591 "enum" : [
8592 "rtl8139",
8593 "ne2k_pci",
8594 "e1000",
8595 "pcnet",
8596 "virtio",
8597 "ne2k_isa",
8598 "i82551",
8599 "i82557b",
8600 "i82559er",
8601 "vmxnet3",
8602 "e1000-82540em",
8603 "e1000-82544gc",
8604 "e1000-82545em"
8605 ],
f004f5b9
DM
8606 "type" : "string"
8607 },
8608 "ne2k_isa" : {
8609 "alias" : "macaddr",
8610 "keyAlias" : "model"
8611 },
8612 "ne2k_pci" : {
8613 "alias" : "macaddr",
8614 "keyAlias" : "model"
8615 },
8616 "pcnet" : {
8617 "alias" : "macaddr",
8618 "keyAlias" : "model"
8619 },
8620 "queues" : {
8621 "description" : "Number of packet queues to be used on the device.",
8622 "maximum" : 16,
8623 "minimum" : 0,
8624 "optional" : 1,
8625 "type" : "integer"
8626 },
8627 "rate" : {
c2993fe5 8628 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
8629 "minimum" : 0,
8630 "optional" : 1,
8631 "type" : "number"
8632 },
8633 "rtl8139" : {
8634 "alias" : "macaddr",
8635 "keyAlias" : "model"
8636 },
8637 "tag" : {
8638 "description" : "VLAN tag to apply to packets on this interface.",
8639 "maximum" : 4094,
c2993fe5 8640 "minimum" : 1,
f004f5b9
DM
8641 "optional" : 1,
8642 "type" : "integer"
8643 },
8644 "trunks" : {
8645 "description" : "VLAN trunks to pass through this interface.",
8646 "format_description" : "vlanid[;vlanid...]",
8647 "optional" : 1,
8648 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8649 "type" : "string"
8650 },
8651 "virtio" : {
8652 "alias" : "macaddr",
8653 "keyAlias" : "model"
8654 },
8655 "vmxnet3" : {
8656 "alias" : "macaddr",
8657 "keyAlias" : "model"
8658 }
8659 },
44660702 8660 "optional" : 1,
4d47f125 8661 "type" : "string"
44660702
DM
8662 },
8663 "numa" : {
8664 "default" : 0,
8665 "description" : "Enable/disable NUMA.",
8666 "optional" : 1,
4d47f125 8667 "type" : "boolean"
44660702
DM
8668 },
8669 "numa[n]" : {
c2993fe5 8670 "description" : "NUMA topology.",
56122987 8671 "format" : {
7aacca6f 8672 "cpus" : {
c2993fe5 8673 "description" : "CPUs accessing this NUMA node.",
44660702
DM
8674 "format_description" : "id[-id];...",
8675 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8676 "type" : "string"
7aacca6f
DM
8677 },
8678 "hostnodes" : {
c2993fe5 8679 "description" : "Host NUMA nodes to use.",
44660702 8680 "format_description" : "id[-id];...",
7aacca6f 8681 "optional" : 1,
7aacca6f 8682 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 8683 "type" : "string"
7aacca6f 8684 },
44660702 8685 "memory" : {
c2993fe5 8686 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 8687 "optional" : 1,
44660702
DM
8688 "type" : "number"
8689 },
8690 "policy" : {
c2993fe5 8691 "description" : "NUMA allocation policy.",
7aacca6f
DM
8692 "enum" : [
8693 "preferred",
8694 "bind",
8695 "interleave"
8696 ],
44660702
DM
8697 "optional" : 1,
8698 "type" : "string"
56122987 8699 }
44660702 8700 },
56122987 8701 "optional" : 1,
4d47f125 8702 "type" : "string"
56122987 8703 },
44660702 8704 "onboot" : {
7aacca6f 8705 "default" : 0,
44660702
DM
8706 "description" : "Specifies whether a VM will be started during system bootup.",
8707 "optional" : 1,
4d47f125 8708 "type" : "boolean"
7aacca6f
DM
8709 },
8710 "ostype" : {
c2993fe5 8711 "description" : "Specify guest operating system.",
7aacca6f
DM
8712 "enum" : [
8713 "other",
8714 "wxp",
8715 "w2k",
8716 "w2k3",
8717 "w2k8",
8718 "wvista",
8719 "win7",
8720 "win8",
32d876b5 8721 "win10",
7aacca6f
DM
8722 "l24",
8723 "l26",
8724 "solaris"
8725 ],
7aacca6f 8726 "optional" : 1,
c2993fe5 8727 "type" : "string",
35a75dd3 8728 "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 8729 },
44660702 8730 "parallel[n]" : {
c2993fe5 8731 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8732 "optional" : 1,
44660702 8733 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8734 "type" : "string",
8735 "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
8736 },
8737 "protection" : {
8738 "default" : 0,
c2993fe5 8739 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8740 "optional" : 1,
4d47f125 8741 "type" : "boolean"
7aacca6f 8742 },
44660702
DM
8743 "reboot" : {
8744 "default" : 1,
8745 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8746 "optional" : 1,
4d47f125 8747 "type" : "boolean"
44660702
DM
8748 },
8749 "sata[n]" : {
8750 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 8751 "format" : {
44660702
DM
8752 "aio" : {
8753 "description" : "AIO type to use.",
7aacca6f 8754 "enum" : [
44660702
DM
8755 "native",
8756 "threads"
7aacca6f 8757 ],
44660702
DM
8758 "optional" : 1,
8759 "type" : "string"
7aacca6f 8760 },
44660702
DM
8761 "backup" : {
8762 "description" : "Whether the drive should be included when making backups.",
56122987 8763 "optional" : 1,
7aacca6f 8764 "type" : "boolean"
44660702
DM
8765 },
8766 "bps" : {
de0983cb 8767 "description" : "Maximum r/w speed in bytes per second.",
44660702 8768 "format_description" : "bps",
7aacca6f 8769 "optional" : 1,
44660702 8770 "type" : "integer"
56122987 8771 },
de0983cb
DM
8772 "bps_max_length" : {
8773 "description" : "Maximum length of I/O bursts in seconds.",
8774 "format_description" : "seconds",
8775 "minimum" : 1,
8776 "optional" : 1,
8777 "type" : "integer"
8778 },
44660702 8779 "bps_rd" : {
de0983cb 8780 "description" : "Maximum read speed in bytes per second.",
44660702 8781 "format_description" : "bps",
56122987 8782 "optional" : 1,
44660702 8783 "type" : "integer"
56122987 8784 },
de0983cb 8785 "bps_rd_length" : {
5d9c884c
DM
8786 "alias" : "bps_rd_max_length"
8787 },
8788 "bps_rd_max_length" : {
de0983cb
DM
8789 "description" : "Maximum length of read I/O bursts in seconds.",
8790 "format_description" : "seconds",
8791 "minimum" : 1,
8792 "optional" : 1,
8793 "type" : "integer"
8794 },
44660702 8795 "bps_wr" : {
de0983cb 8796 "description" : "Maximum write speed in bytes per second.",
44660702 8797 "format_description" : "bps",
56122987 8798 "optional" : 1,
44660702 8799 "type" : "integer"
56122987 8800 },
de0983cb 8801 "bps_wr_length" : {
5d9c884c
DM
8802 "alias" : "bps_wr_max_length"
8803 },
8804 "bps_wr_max_length" : {
de0983cb
DM
8805 "description" : "Maximum length of write I/O bursts in seconds.",
8806 "format_description" : "seconds",
8807 "minimum" : 1,
8808 "optional" : 1,
8809 "type" : "integer"
8810 },
56122987 8811 "cache" : {
44660702 8812 "description" : "The drive's cache mode",
56122987
DM
8813 "enum" : [
8814 "none",
8815 "writethrough",
8816 "writeback",
8817 "unsafe",
8818 "directsync"
8819 ],
56122987 8820 "optional" : 1,
44660702 8821 "type" : "string"
56122987 8822 },
44660702
DM
8823 "cyls" : {
8824 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8825 "optional" : 1,
44660702 8826 "type" : "integer"
7aacca6f
DM
8827 },
8828 "detect_zeroes" : {
8829 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 8830 "optional" : 1,
44660702 8831 "type" : "boolean"
56122987 8832 },
44660702
DM
8833 "discard" : {
8834 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8835 "enum" : [
8836 "ignore",
8837 "on"
8838 ],
56122987 8839 "optional" : 1,
44660702 8840 "type" : "string"
7aacca6f 8841 },
44660702
DM
8842 "file" : {
8843 "default_key" : 1,
8844 "description" : "The drive's backing volume.",
8845 "format" : "pve-volume-id-or-qm-path",
8846 "format_description" : "volume",
8847 "type" : "string"
56122987 8848 },
7aacca6f 8849 "format" : {
44660702 8850 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8851 "enum" : [
8852 "raw",
8853 "cow",
8854 "qcow",
8855 "qed",
8856 "qcow2",
8857 "vmdk",
8858 "cloop"
8859 ],
7aacca6f 8860 "optional" : 1,
44660702 8861 "type" : "string"
56122987 8862 },
7aacca6f 8863 "heads" : {
7aacca6f 8864 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8865 "optional" : 1,
7aacca6f 8866 "type" : "integer"
56122987 8867 },
44660702 8868 "iops" : {
de0983cb 8869 "description" : "Maximum r/w I/O in operations per second.",
44660702 8870 "format_description" : "iops",
56122987 8871 "optional" : 1,
44660702 8872 "type" : "integer"
56122987 8873 },
44660702 8874 "iops_max" : {
de0983cb 8875 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8876 "format_description" : "iops",
56122987 8877 "optional" : 1,
44660702 8878 "type" : "integer"
56122987 8879 },
de0983cb
DM
8880 "iops_max_length" : {
8881 "description" : "Maximum length of I/O bursts in seconds.",
8882 "format_description" : "seconds",
8883 "minimum" : 1,
8884 "optional" : 1,
8885 "type" : "integer"
8886 },
44660702 8887 "iops_rd" : {
de0983cb 8888 "description" : "Maximum read I/O in operations per second.",
44660702 8889 "format_description" : "iops",
7aacca6f 8890 "optional" : 1,
44660702 8891 "type" : "integer"
56122987 8892 },
de0983cb 8893 "iops_rd_length" : {
5d9c884c 8894 "alias" : "iops_rd_max_length"
de0983cb 8895 },
44660702 8896 "iops_rd_max" : {
de0983cb 8897 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8898 "format_description" : "iops",
56122987 8899 "optional" : 1,
44660702 8900 "type" : "integer"
7aacca6f 8901 },
5d9c884c
DM
8902 "iops_rd_max_length" : {
8903 "description" : "Maximum length of read I/O bursts in seconds.",
8904 "format_description" : "seconds",
8905 "minimum" : 1,
8906 "optional" : 1,
8907 "type" : "integer"
8908 },
44660702 8909 "iops_wr" : {
de0983cb 8910 "description" : "Maximum write I/O in operations per second.",
44660702 8911 "format_description" : "iops",
56122987 8912 "optional" : 1,
44660702 8913 "type" : "integer"
56122987 8914 },
de0983cb 8915 "iops_wr_length" : {
5d9c884c 8916 "alias" : "iops_wr_max_length"
de0983cb 8917 },
56122987 8918 "iops_wr_max" : {
de0983cb 8919 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8920 "format_description" : "iops",
56122987 8921 "optional" : 1,
44660702 8922 "type" : "integer"
56122987 8923 },
5d9c884c
DM
8924 "iops_wr_max_length" : {
8925 "description" : "Maximum length of write I/O bursts in seconds.",
8926 "format_description" : "seconds",
8927 "minimum" : 1,
8928 "optional" : 1,
8929 "type" : "integer"
8930 },
44660702 8931 "mbps" : {
de0983cb 8932 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8933 "format_description" : "mbps",
56122987 8934 "optional" : 1,
44660702 8935 "type" : "number"
56122987 8936 },
44660702 8937 "mbps_max" : {
de0983cb 8938 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8939 "format_description" : "mbps",
8940 "optional" : 1,
8941 "type" : "number"
56122987 8942 },
44660702 8943 "mbps_rd" : {
de0983cb 8944 "description" : "Maximum read speed in megabytes per second.",
44660702 8945 "format_description" : "mbps",
56122987 8946 "optional" : 1,
44660702 8947 "type" : "number"
56122987 8948 },
44660702 8949 "mbps_rd_max" : {
de0983cb 8950 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 8951 "format_description" : "mbps",
56122987 8952 "optional" : 1,
44660702 8953 "type" : "number"
56122987 8954 },
44660702 8955 "mbps_wr" : {
de0983cb 8956 "description" : "Maximum write speed in megabytes per second.",
56122987 8957 "format_description" : "mbps",
44660702
DM
8958 "optional" : 1,
8959 "type" : "number"
56122987 8960 },
44660702 8961 "mbps_wr_max" : {
de0983cb 8962 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8963 "format_description" : "mbps",
8964 "optional" : 1,
8965 "type" : "number"
7aacca6f 8966 },
44660702
DM
8967 "media" : {
8968 "default" : "disk",
8969 "description" : "The drive's media type.",
8970 "enum" : [
8971 "cdrom",
8972 "disk"
8973 ],
56122987 8974 "optional" : 1,
44660702
DM
8975 "type" : "string"
8976 },
5d9c884c
DM
8977 "replicate" : {
8978 "default" : 1,
8979 "description" : "Whether the drive should considered for replication jobs.",
8980 "optional" : 1,
8981 "type" : "boolean"
8982 },
44660702
DM
8983 "rerror" : {
8984 "description" : "Read error action.",
7aacca6f 8985 "enum" : [
44660702
DM
8986 "ignore",
8987 "report",
8988 "stop"
8989 ],
7aacca6f 8990 "optional" : 1,
44660702 8991 "type" : "string"
56122987 8992 },
44660702
DM
8993 "secs" : {
8994 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8995 "optional" : 1,
44660702 8996 "type" : "integer"
56122987 8997 },
44660702
DM
8998 "serial" : {
8999 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9000 "format" : "urlencoded",
9001 "format_description" : "serial",
9002 "maxLength" : 60,
56122987 9003 "optional" : 1,
44660702 9004 "type" : "string"
56122987 9005 },
27a7acb2
DM
9006 "shared" : {
9007 "default" : 0,
9008 "description" : "Mark this locally-managed volume as available on all nodes",
9009 "optional" : 1,
9010 "type" : "boolean",
9011 "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!"
9012 },
44660702
DM
9013 "size" : {
9014 "description" : "Disk size. This is purely informational and has no effect.",
9015 "format" : "disk-size",
f004f5b9 9016 "format_description" : "DiskSize",
44660702
DM
9017 "optional" : 1,
9018 "type" : "string"
9019 },
9020 "snapshot" : {
27a7acb2 9021 "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 9022 "optional" : 1,
44660702
DM
9023 "type" : "boolean"
9024 },
25203dc1
NC
9025 "ssd" : {
9026 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9027 "optional" : 1,
9028 "type" : "boolean"
9029 },
44660702
DM
9030 "trans" : {
9031 "description" : "Force disk geometry bios translation mode.",
56122987 9032 "enum" : [
7aacca6f
DM
9033 "none",
9034 "lba",
9035 "auto"
56122987 9036 ],
44660702
DM
9037 "optional" : 1,
9038 "type" : "string"
56122987 9039 },
7aacca6f
DM
9040 "volume" : {
9041 "alias" : "file"
56122987 9042 },
44660702
DM
9043 "werror" : {
9044 "description" : "Write error action.",
9045 "enum" : [
9046 "enospc",
9047 "ignore",
9048 "report",
9049 "stop"
9050 ],
7aacca6f 9051 "optional" : 1,
44660702
DM
9052 "type" : "string"
9053 }
9054 },
9055 "optional" : 1,
4d47f125 9056 "type" : "string"
44660702
DM
9057 },
9058 "scsi[n]" : {
9059 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
9060 "format" : {
56122987 9061 "aio" : {
56122987
DM
9062 "description" : "AIO type to use.",
9063 "enum" : [
9064 "native",
9065 "threads"
9066 ],
7aacca6f 9067 "optional" : 1,
44660702 9068 "type" : "string"
56122987 9069 },
44660702
DM
9070 "backup" : {
9071 "description" : "Whether the drive should be included when making backups.",
56122987 9072 "optional" : 1,
44660702 9073 "type" : "boolean"
56122987 9074 },
44660702 9075 "bps" : {
de0983cb 9076 "description" : "Maximum r/w speed in bytes per second.",
44660702 9077 "format_description" : "bps",
56122987 9078 "optional" : 1,
44660702 9079 "type" : "integer"
56122987 9080 },
de0983cb
DM
9081 "bps_max_length" : {
9082 "description" : "Maximum length of I/O bursts in seconds.",
9083 "format_description" : "seconds",
9084 "minimum" : 1,
9085 "optional" : 1,
9086 "type" : "integer"
9087 },
44660702 9088 "bps_rd" : {
de0983cb 9089 "description" : "Maximum read speed in bytes per second.",
44660702 9090 "format_description" : "bps",
56122987 9091 "optional" : 1,
44660702 9092 "type" : "integer"
56122987 9093 },
de0983cb 9094 "bps_rd_length" : {
5d9c884c
DM
9095 "alias" : "bps_rd_max_length"
9096 },
9097 "bps_rd_max_length" : {
de0983cb
DM
9098 "description" : "Maximum length of read I/O bursts in seconds.",
9099 "format_description" : "seconds",
9100 "minimum" : 1,
9101 "optional" : 1,
9102 "type" : "integer"
9103 },
7aacca6f 9104 "bps_wr" : {
de0983cb 9105 "description" : "Maximum write speed in bytes per second.",
7aacca6f 9106 "format_description" : "bps",
56122987 9107 "optional" : 1,
44660702 9108 "type" : "integer"
56122987 9109 },
de0983cb 9110 "bps_wr_length" : {
5d9c884c
DM
9111 "alias" : "bps_wr_max_length"
9112 },
9113 "bps_wr_max_length" : {
de0983cb
DM
9114 "description" : "Maximum length of write I/O bursts in seconds.",
9115 "format_description" : "seconds",
9116 "minimum" : 1,
9117 "optional" : 1,
9118 "type" : "integer"
9119 },
44660702
DM
9120 "cache" : {
9121 "description" : "The drive's cache mode",
7aacca6f 9122 "enum" : [
44660702
DM
9123 "none",
9124 "writethrough",
9125 "writeback",
9126 "unsafe",
9127 "directsync"
7aacca6f 9128 ],
56122987 9129 "optional" : 1,
44660702 9130 "type" : "string"
56122987 9131 },
44660702
DM
9132 "cyls" : {
9133 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 9134 "optional" : 1,
44660702 9135 "type" : "integer"
56122987 9136 },
44660702
DM
9137 "detect_zeroes" : {
9138 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 9139 "optional" : 1,
44660702 9140 "type" : "boolean"
56122987 9141 },
44660702
DM
9142 "discard" : {
9143 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9144 "enum" : [
9145 "ignore",
9146 "on"
9147 ],
7aacca6f 9148 "optional" : 1,
44660702 9149 "type" : "string"
56122987 9150 },
44660702
DM
9151 "file" : {
9152 "default_key" : 1,
9153 "description" : "The drive's backing volume.",
9154 "format" : "pve-volume-id-or-qm-path",
9155 "format_description" : "volume",
9156 "type" : "string"
56122987 9157 },
7aacca6f 9158 "format" : {
44660702 9159 "description" : "The drive's backing file's data format.",
56122987 9160 "enum" : [
7aacca6f
DM
9161 "raw",
9162 "cow",
9163 "qcow",
9164 "qed",
9165 "qcow2",
9166 "vmdk",
9167 "cloop"
9168 ],
44660702
DM
9169 "optional" : 1,
9170 "type" : "string"
56122987 9171 },
44660702
DM
9172 "heads" : {
9173 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9174 "optional" : 1,
7aacca6f 9175 "type" : "integer"
56122987 9176 },
44660702 9177 "iops" : {
de0983cb 9178 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9179 "format_description" : "iops",
44660702
DM
9180 "optional" : 1,
9181 "type" : "integer"
7aacca6f 9182 },
44660702 9183 "iops_max" : {
de0983cb 9184 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9185 "format_description" : "iops",
56122987 9186 "optional" : 1,
44660702 9187 "type" : "integer"
7aacca6f 9188 },
de0983cb
DM
9189 "iops_max_length" : {
9190 "description" : "Maximum length of I/O bursts in seconds.",
9191 "format_description" : "seconds",
9192 "minimum" : 1,
9193 "optional" : 1,
9194 "type" : "integer"
9195 },
44660702 9196 "iops_rd" : {
de0983cb 9197 "description" : "Maximum read I/O in operations per second.",
44660702 9198 "format_description" : "iops",
7aacca6f 9199 "optional" : 1,
44660702 9200 "type" : "integer"
56122987 9201 },
de0983cb 9202 "iops_rd_length" : {
5d9c884c 9203 "alias" : "iops_rd_max_length"
de0983cb 9204 },
44660702 9205 "iops_rd_max" : {
de0983cb 9206 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
9207 "format_description" : "iops",
9208 "optional" : 1,
9209 "type" : "integer"
9210 },
5d9c884c
DM
9211 "iops_rd_max_length" : {
9212 "description" : "Maximum length of read I/O bursts in seconds.",
9213 "format_description" : "seconds",
9214 "minimum" : 1,
9215 "optional" : 1,
9216 "type" : "integer"
9217 },
44660702 9218 "iops_wr" : {
de0983cb 9219 "description" : "Maximum write I/O in operations per second.",
44660702 9220 "format_description" : "iops",
56122987 9221 "optional" : 1,
44660702
DM
9222 "type" : "integer"
9223 },
de0983cb 9224 "iops_wr_length" : {
5d9c884c 9225 "alias" : "iops_wr_max_length"
de0983cb 9226 },
44660702 9227 "iops_wr_max" : {
de0983cb 9228 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
9229 "format_description" : "iops",
9230 "optional" : 1,
9231 "type" : "integer"
56122987 9232 },
5d9c884c
DM
9233 "iops_wr_max_length" : {
9234 "description" : "Maximum length of write I/O bursts in seconds.",
9235 "format_description" : "seconds",
9236 "minimum" : 1,
9237 "optional" : 1,
9238 "type" : "integer"
9239 },
7aacca6f 9240 "iothread" : {
7aacca6f 9241 "description" : "Whether to use iothreads for this drive",
56122987 9242 "optional" : 1,
56122987
DM
9243 "type" : "boolean"
9244 },
44660702 9245 "mbps" : {
de0983cb 9246 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
9247 "format_description" : "mbps",
9248 "optional" : 1,
9249 "type" : "number"
9250 },
9251 "mbps_max" : {
de0983cb 9252 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9253 "format_description" : "mbps",
9254 "optional" : 1,
9255 "type" : "number"
9256 },
9257 "mbps_rd" : {
de0983cb 9258 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
9259 "format_description" : "mbps",
9260 "optional" : 1,
9261 "type" : "number"
9262 },
9263 "mbps_rd_max" : {
de0983cb 9264 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9265 "format_description" : "mbps",
9266 "optional" : 1,
9267 "type" : "number"
9268 },
9269 "mbps_wr" : {
de0983cb 9270 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
9271 "format_description" : "mbps",
9272 "optional" : 1,
9273 "type" : "number"
9274 },
9275 "mbps_wr_max" : {
de0983cb 9276 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9277 "format_description" : "mbps",
9278 "optional" : 1,
9279 "type" : "number"
9280 },
7aacca6f 9281 "media" : {
44660702
DM
9282 "default" : "disk",
9283 "description" : "The drive's media type.",
7aacca6f
DM
9284 "enum" : [
9285 "cdrom",
9286 "disk"
9287 ],
56122987 9288 "optional" : 1,
44660702
DM
9289 "type" : "string"
9290 },
9291 "queues" : {
9292 "description" : "Number of queues.",
44660702
DM
9293 "minimum" : 2,
9294 "optional" : 1,
9295 "type" : "integer"
9296 },
5d9c884c
DM
9297 "replicate" : {
9298 "default" : 1,
9299 "description" : "Whether the drive should considered for replication jobs.",
9300 "optional" : 1,
9301 "type" : "boolean"
9302 },
9303 "rerror" : {
9304 "description" : "Read error action.",
9305 "enum" : [
9306 "ignore",
9307 "report",
9308 "stop"
9309 ],
9310 "optional" : 1,
9311 "type" : "string"
9312 },
52e44c50
FG
9313 "scsiblock" : {
9314 "default" : 0,
9315 "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",
9316 "optional" : 1,
9317 "type" : "boolean"
9318 },
44660702
DM
9319 "secs" : {
9320 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9321 "optional" : 1,
9322 "type" : "integer"
9323 },
9324 "serial" : {
9325 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9326 "format" : "urlencoded",
9327 "format_description" : "serial",
9328 "maxLength" : 60,
9329 "optional" : 1,
9330 "type" : "string"
9331 },
27a7acb2
DM
9332 "shared" : {
9333 "default" : 0,
9334 "description" : "Mark this locally-managed volume as available on all nodes",
9335 "optional" : 1,
9336 "type" : "boolean",
9337 "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!"
9338 },
44660702
DM
9339 "size" : {
9340 "description" : "Disk size. This is purely informational and has no effect.",
9341 "format" : "disk-size",
f004f5b9 9342 "format_description" : "DiskSize",
44660702
DM
9343 "optional" : 1,
9344 "type" : "string"
56122987 9345 },
7aacca6f 9346 "snapshot" : {
27a7acb2 9347 "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 9348 "optional" : 1,
44660702 9349 "type" : "boolean"
7aacca6f 9350 },
25203dc1
NC
9351 "ssd" : {
9352 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9353 "optional" : 1,
9354 "type" : "boolean"
9355 },
44660702
DM
9356 "trans" : {
9357 "description" : "Force disk geometry bios translation mode.",
9358 "enum" : [
9359 "none",
9360 "lba",
9361 "auto"
9362 ],
44660702
DM
9363 "optional" : 1,
9364 "type" : "string"
9365 },
9366 "volume" : {
9367 "alias" : "file"
9368 },
9369 "werror" : {
9370 "description" : "Write error action.",
9371 "enum" : [
9372 "enospc",
9373 "ignore",
9374 "report",
9375 "stop"
9376 ],
56122987 9377 "optional" : 1,
44660702 9378 "type" : "string"
56122987 9379 }
44660702 9380 },
7aacca6f 9381 "optional" : 1,
4d47f125 9382 "type" : "string"
44660702
DM
9383 },
9384 "scsihw" : {
9385 "default" : "lsi",
c2993fe5 9386 "description" : "SCSI controller model",
7aacca6f 9387 "enum" : [
44660702
DM
9388 "lsi",
9389 "lsi53c810",
9390 "virtio-scsi-pci",
9391 "virtio-scsi-single",
9392 "megasas",
9393 "pvscsi"
7aacca6f 9394 ],
44660702
DM
9395 "optional" : 1,
9396 "type" : "string"
56122987 9397 },
27a7acb2
DM
9398 "searchdomain" : {
9399 "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.",
9400 "optional" : 1,
4d47f125 9401 "type" : "string"
27a7acb2 9402 },
44660702 9403 "serial[n]" : {
c2993fe5 9404 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 9405 "optional" : 1,
44660702 9406 "pattern" : "(/dev/.+|socket)",
c2993fe5 9407 "type" : "string",
57b78691 9408 "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 9409 },
44660702
DM
9410 "shares" : {
9411 "default" : 1000,
5da3d723 9412 "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
9413 "maximum" : 50000,
9414 "minimum" : 0,
56122987 9415 "optional" : 1,
4d47f125 9416 "type" : "integer"
56122987 9417 },
44660702
DM
9418 "smbios1" : {
9419 "description" : "Specify SMBIOS type 1 fields.",
9420 "format" : "pve-qm-smbios1",
9421 "maxLength" : 256,
56122987 9422 "optional" : 1,
4d47f125 9423 "type" : "string"
56122987 9424 },
44660702
DM
9425 "smp" : {
9426 "default" : 1,
9427 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 9428 "minimum" : 1,
7aacca6f 9429 "optional" : 1,
4d47f125 9430 "type" : "integer"
7aacca6f 9431 },
44660702
DM
9432 "sockets" : {
9433 "default" : 1,
9434 "description" : "The number of CPU sockets.",
9435 "minimum" : 1,
7aacca6f 9436 "optional" : 1,
4d47f125 9437 "type" : "integer"
56122987 9438 },
27a7acb2
DM
9439 "sshkeys" : {
9440 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
9441 "format" : "urlencoded",
9442 "optional" : 1,
4d47f125 9443 "type" : "string"
27a7acb2 9444 },
44660702
DM
9445 "startdate" : {
9446 "default" : "now",
9447 "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 9448 "optional" : 1,
44660702 9449 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 9450 "type" : "string",
44660702 9451 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 9452 },
7aacca6f 9453 "startup" : {
7aacca6f 9454 "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 9455 "format" : "pve-startup-order",
56122987 9456 "optional" : 1,
44660702
DM
9457 "type" : "string",
9458 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 9459 },
44660702 9460 "tablet" : {
7aacca6f 9461 "default" : 1,
c2993fe5 9462 "description" : "Enable/disable the USB tablet device.",
7aacca6f 9463 "optional" : 1,
c2993fe5
DM
9464 "type" : "boolean",
9465 "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 9466 },
44660702
DM
9467 "tdf" : {
9468 "default" : 0,
9469 "description" : "Enable/disable time drift fix.",
7aacca6f 9470 "optional" : 1,
4d47f125 9471 "type" : "boolean"
7aacca6f 9472 },
44660702
DM
9473 "template" : {
9474 "default" : 0,
9475 "description" : "Enable/disable Template.",
7aacca6f 9476 "optional" : 1,
4d47f125 9477 "type" : "boolean"
7aacca6f 9478 },
44660702 9479 "unused[n]" : {
c2993fe5 9480 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 9481 "format" : "pve-volume-id",
7aacca6f 9482 "optional" : 1,
4d47f125 9483 "type" : "string"
7aacca6f 9484 },
44660702 9485 "usb[n]" : {
c2993fe5 9486 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
9487 "format" : {
9488 "host" : {
9489 "default_key" : 1,
c2993fe5 9490 "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
9491 "format" : "pve-qm-usb-device",
9492 "format_description" : "HOSTUSBDEVICE|spice",
9493 "type" : "string"
9494 },
9495 "usb3" : {
c2993fe5
DM
9496 "default" : 0,
9497 "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
9498 "optional" : 1,
9499 "type" : "boolean"
9500 }
9501 },
7aacca6f 9502 "optional" : 1,
4d47f125 9503 "type" : "string"
56122987 9504 },
44660702
DM
9505 "vcpus" : {
9506 "default" : 0,
9507 "description" : "Number of hotplugged vcpus.",
9508 "minimum" : 1,
56122987 9509 "optional" : 1,
4d47f125 9510 "type" : "integer"
56122987 9511 },
44660702 9512 "vga" : {
c2993fe5 9513 "description" : "Select the VGA type.",
44660702 9514 "enum" : [
44660702 9515 "cirrus",
44660702 9516 "qxl",
4d47f125
TL
9517 "qxl2",
9518 "qxl3",
9519 "qxl4",
44660702
DM
9520 "serial0",
9521 "serial1",
9522 "serial2",
9523 "serial3",
4d47f125
TL
9524 "std",
9525 "virtio",
9526 "vmware"
44660702 9527 ],
56122987 9528 "optional" : 1,
c2993fe5
DM
9529 "type" : "string",
9530 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
56122987 9531 },
44660702
DM
9532 "virtio[n]" : {
9533 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 9534 "format" : {
44660702
DM
9535 "aio" : {
9536 "description" : "AIO type to use.",
56122987 9537 "enum" : [
44660702
DM
9538 "native",
9539 "threads"
56122987 9540 ],
56122987
DM
9541 "optional" : 1,
9542 "type" : "string"
9543 },
44660702
DM
9544 "backup" : {
9545 "description" : "Whether the drive should be included when making backups.",
44660702
DM
9546 "optional" : 1,
9547 "type" : "boolean"
7aacca6f 9548 },
44660702 9549 "bps" : {
de0983cb 9550 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
9551 "format_description" : "bps",
9552 "optional" : 1,
9553 "type" : "integer"
56122987 9554 },
de0983cb
DM
9555 "bps_max_length" : {
9556 "description" : "Maximum length of I/O bursts in seconds.",
9557 "format_description" : "seconds",
9558 "minimum" : 1,
9559 "optional" : 1,
9560 "type" : "integer"
9561 },
44660702 9562 "bps_rd" : {
de0983cb 9563 "description" : "Maximum read speed in bytes per second.",
44660702 9564 "format_description" : "bps",
56122987 9565 "optional" : 1,
44660702 9566 "type" : "integer"
56122987 9567 },
de0983cb 9568 "bps_rd_length" : {
5d9c884c
DM
9569 "alias" : "bps_rd_max_length"
9570 },
9571 "bps_rd_max_length" : {
de0983cb
DM
9572 "description" : "Maximum length of read I/O bursts in seconds.",
9573 "format_description" : "seconds",
9574 "minimum" : 1,
9575 "optional" : 1,
9576 "type" : "integer"
9577 },
44660702 9578 "bps_wr" : {
de0983cb 9579 "description" : "Maximum write speed in bytes per second.",
44660702 9580 "format_description" : "bps",
56122987 9581 "optional" : 1,
44660702
DM
9582 "type" : "integer"
9583 },
de0983cb 9584 "bps_wr_length" : {
5d9c884c
DM
9585 "alias" : "bps_wr_max_length"
9586 },
9587 "bps_wr_max_length" : {
de0983cb
DM
9588 "description" : "Maximum length of write I/O bursts in seconds.",
9589 "format_description" : "seconds",
9590 "minimum" : 1,
9591 "optional" : 1,
9592 "type" : "integer"
9593 },
44660702
DM
9594 "cache" : {
9595 "description" : "The drive's cache mode",
56122987 9596 "enum" : [
44660702
DM
9597 "none",
9598 "writethrough",
9599 "writeback",
9600 "unsafe",
9601 "directsync"
56122987 9602 ],
56122987 9603 "optional" : 1,
44660702 9604 "type" : "string"
56122987 9605 },
44660702
DM
9606 "cyls" : {
9607 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 9608 "optional" : 1,
44660702 9609 "type" : "integer"
7aacca6f 9610 },
44660702
DM
9611 "detect_zeroes" : {
9612 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9613 "optional" : 1,
9614 "type" : "boolean"
7aacca6f 9615 },
44660702
DM
9616 "discard" : {
9617 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9618 "enum" : [
9619 "ignore",
9620 "on"
9621 ],
56122987 9622 "optional" : 1,
44660702 9623 "type" : "string"
56122987
DM
9624 },
9625 "file" : {
7aacca6f 9626 "default_key" : 1,
44660702 9627 "description" : "The drive's backing volume.",
7aacca6f 9628 "format" : "pve-volume-id-or-qm-path",
44660702
DM
9629 "format_description" : "volume",
9630 "type" : "string"
7aacca6f
DM
9631 },
9632 "format" : {
7aacca6f
DM
9633 "description" : "The drive's backing file's data format.",
9634 "enum" : [
9635 "raw",
9636 "cow",
9637 "qcow",
9638 "qed",
9639 "qcow2",
9640 "vmdk",
9641 "cloop"
56122987
DM
9642 ],
9643 "optional" : 1,
56122987
DM
9644 "type" : "string"
9645 },
44660702
DM
9646 "heads" : {
9647 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9648 "optional" : 1,
44660702 9649 "type" : "integer"
56122987 9650 },
44660702 9651 "iops" : {
de0983cb 9652 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9653 "format_description" : "iops",
56122987 9654 "optional" : 1,
44660702 9655 "type" : "integer"
56122987 9656 },
44660702 9657 "iops_max" : {
de0983cb 9658 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9659 "format_description" : "iops",
56122987 9660 "optional" : 1,
56122987
DM
9661 "type" : "integer"
9662 },
de0983cb
DM
9663 "iops_max_length" : {
9664 "description" : "Maximum length of I/O bursts in seconds.",
9665 "format_description" : "seconds",
9666 "minimum" : 1,
9667 "optional" : 1,
9668 "type" : "integer"
9669 },
44660702 9670 "iops_rd" : {
de0983cb 9671 "description" : "Maximum read I/O in operations per second.",
44660702 9672 "format_description" : "iops",
56122987 9673 "optional" : 1,
44660702 9674 "type" : "integer"
56122987 9675 },
de0983cb 9676 "iops_rd_length" : {
5d9c884c 9677 "alias" : "iops_rd_max_length"
de0983cb 9678 },
44660702 9679 "iops_rd_max" : {
de0983cb 9680 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9681 "format_description" : "iops",
7aacca6f 9682 "optional" : 1,
44660702 9683 "type" : "integer"
56122987 9684 },
5d9c884c
DM
9685 "iops_rd_max_length" : {
9686 "description" : "Maximum length of read I/O bursts in seconds.",
9687 "format_description" : "seconds",
9688 "minimum" : 1,
9689 "optional" : 1,
9690 "type" : "integer"
9691 },
44660702 9692 "iops_wr" : {
de0983cb 9693 "description" : "Maximum write I/O in operations per second.",
44660702 9694 "format_description" : "iops",
7aacca6f 9695 "optional" : 1,
44660702 9696 "type" : "integer"
56122987 9697 },
de0983cb 9698 "iops_wr_length" : {
5d9c884c 9699 "alias" : "iops_wr_max_length"
de0983cb 9700 },
44660702 9701 "iops_wr_max" : {
de0983cb 9702 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9703 "format_description" : "iops",
56122987
DM
9704 "optional" : 1,
9705 "type" : "integer"
9706 },
5d9c884c
DM
9707 "iops_wr_max_length" : {
9708 "description" : "Maximum length of write I/O bursts in seconds.",
9709 "format_description" : "seconds",
9710 "minimum" : 1,
9711 "optional" : 1,
9712 "type" : "integer"
9713 },
44660702
DM
9714 "iothread" : {
9715 "description" : "Whether to use iothreads for this drive",
44660702
DM
9716 "optional" : 1,
9717 "type" : "boolean"
9718 },
9719 "mbps" : {
de0983cb 9720 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 9721 "format_description" : "mbps",
44660702
DM
9722 "optional" : 1,
9723 "type" : "number"
9724 },
9725 "mbps_max" : {
de0983cb 9726 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9727 "format_description" : "mbps",
9728 "optional" : 1,
9729 "type" : "number"
7aacca6f 9730 },
44660702 9731 "mbps_rd" : {
de0983cb 9732 "description" : "Maximum read speed in megabytes per second.",
44660702 9733 "format_description" : "mbps",
56122987 9734 "optional" : 1,
44660702 9735 "type" : "number"
56122987 9736 },
44660702 9737 "mbps_rd_max" : {
de0983cb 9738 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9739 "format_description" : "mbps",
7aacca6f 9740 "optional" : 1,
44660702 9741 "type" : "number"
56122987 9742 },
44660702 9743 "mbps_wr" : {
de0983cb 9744 "description" : "Maximum write speed in megabytes per second.",
44660702 9745 "format_description" : "mbps",
56122987 9746 "optional" : 1,
44660702 9747 "type" : "number"
56122987 9748 },
44660702 9749 "mbps_wr_max" : {
de0983cb 9750 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 9751 "format_description" : "mbps",
56122987 9752 "optional" : 1,
44660702 9753 "type" : "number"
56122987
DM
9754 },
9755 "media" : {
7aacca6f 9756 "default" : "disk",
44660702 9757 "description" : "The drive's media type.",
56122987
DM
9758 "enum" : [
9759 "cdrom",
9760 "disk"
9761 ],
44660702
DM
9762 "optional" : 1,
9763 "type" : "string"
56122987 9764 },
5d9c884c
DM
9765 "replicate" : {
9766 "default" : 1,
9767 "description" : "Whether the drive should considered for replication jobs.",
9768 "optional" : 1,
9769 "type" : "boolean"
9770 },
7aacca6f 9771 "rerror" : {
44660702 9772 "description" : "Read error action.",
56122987 9773 "enum" : [
7aacca6f
DM
9774 "ignore",
9775 "report",
9776 "stop"
56122987 9777 ],
56122987 9778 "optional" : 1,
44660702 9779 "type" : "string"
56122987 9780 },
44660702
DM
9781 "secs" : {
9782 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9783 "optional" : 1,
9784 "type" : "integer"
9785 },
9786 "serial" : {
9787 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9788 "format" : "urlencoded",
9789 "format_description" : "serial",
9790 "maxLength" : 60,
56122987 9791 "optional" : 1,
7aacca6f 9792 "type" : "string"
56122987 9793 },
27a7acb2
DM
9794 "shared" : {
9795 "default" : 0,
9796 "description" : "Mark this locally-managed volume as available on all nodes",
9797 "optional" : 1,
9798 "type" : "boolean",
9799 "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!"
9800 },
44660702
DM
9801 "size" : {
9802 "description" : "Disk size. This is purely informational and has no effect.",
9803 "format" : "disk-size",
f004f5b9 9804 "format_description" : "DiskSize",
56122987 9805 "optional" : 1,
44660702 9806 "type" : "string"
56122987 9807 },
44660702 9808 "snapshot" : {
27a7acb2 9809 "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 9810 "optional" : 1,
44660702 9811 "type" : "boolean"
56122987 9812 },
44660702
DM
9813 "trans" : {
9814 "description" : "Force disk geometry bios translation mode.",
9815 "enum" : [
9816 "none",
9817 "lba",
9818 "auto"
9819 ],
44660702
DM
9820 "optional" : 1,
9821 "type" : "string"
9822 },
9823 "volume" : {
9824 "alias" : "file"
9825 },
9826 "werror" : {
9827 "description" : "Write error action.",
9828 "enum" : [
9829 "enospc",
9830 "ignore",
9831 "report",
9832 "stop"
9833 ],
56122987 9834 "optional" : 1,
44660702 9835 "type" : "string"
56122987 9836 }
44660702 9837 },
56122987 9838 "optional" : 1,
4d47f125 9839 "type" : "string"
56122987 9840 },
4d47f125
TL
9841 "vmgenid" : {
9842 "default" : "1 (autogenerated)",
9843 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
9844 "format_description" : "UUID",
9845 "optional" : 1,
9846 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
9847 "type" : "string",
9848 "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 9849 },
2489d6df
WB
9850 "vmstatestorage" : {
9851 "description" : "Default storage for VM state volumes/files.",
9852 "format" : "pve-storage-id",
9853 "optional" : 1,
4d47f125 9854 "type" : "string"
2489d6df 9855 },
44660702 9856 "watchdog" : {
c2993fe5 9857 "description" : "Create a virtual hardware watchdog device.",
44660702 9858 "format" : "pve-qm-watchdog",
56122987 9859 "optional" : 1,
c2993fe5
DM
9860 "type" : "string",
9861 "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 9862 }
4d47f125
TL
9863 },
9864 "type" : "object"
44660702 9865 }
56122987 9866 },
4d47f125
TL
9867 "POST" : {
9868 "description" : "Set virtual machine options (asynchrounous API).",
9869 "method" : "POST",
9870 "name" : "update_vm_async",
56122987 9871 "parameters" : {
7aacca6f 9872 "additionalProperties" : 0,
56122987 9873 "properties" : {
44660702
DM
9874 "acpi" : {
9875 "default" : 1,
9876 "description" : "Enable/disable ACPI.",
7aacca6f 9877 "optional" : 1,
013dc89f
DM
9878 "type" : "boolean",
9879 "typetext" : "<boolean>"
7aacca6f 9880 },
44660702 9881 "agent" : {
4d47f125
TL
9882 "description" : "Enable/disable Qemu GuestAgent and its properties.",
9883 "format" : {
9884 "enabled" : {
9885 "default" : 0,
9886 "default_key" : 1,
9887 "description" : "Enable/disable Qemu GuestAgent.",
9888 "type" : "boolean"
9889 },
9890 "fstrim_cloned_disks" : {
9891 "default" : 0,
9892 "description" : "Run fstrim after cloning/moving a disk.",
9893 "optional" : 1,
9894 "type" : "boolean"
9895 }
9896 },
7aacca6f 9897 "optional" : 1,
4d47f125
TL
9898 "type" : "string",
9899 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 9900 },
44660702 9901 "args" : {
c2993fe5 9902 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 9903 "optional" : 1,
c2993fe5 9904 "type" : "string",
013dc89f 9905 "typetext" : "<string>",
c2993fe5 9906 "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 9907 },
44660702
DM
9908 "autostart" : {
9909 "default" : 0,
9910 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 9911 "optional" : 1,
013dc89f
DM
9912 "type" : "boolean",
9913 "typetext" : "<boolean>"
7aacca6f 9914 },
4d47f125
TL
9915 "background_delay" : {
9916 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
9917 "maximum" : 30,
9918 "minimum" : 1,
9919 "optional" : 1,
9920 "type" : "integer",
9921 "typetext" : "<integer> (1 - 30)"
9922 },
44660702
DM
9923 "balloon" : {
9924 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
9925 "minimum" : 0,
9926 "optional" : 1,
4bd7df8b 9927 "type" : "integer",
013dc89f 9928 "typetext" : "<integer> (0 - N)"
44660702
DM
9929 },
9930 "bios" : {
9931 "default" : "seabios",
9932 "description" : "Select BIOS implementation.",
7aacca6f 9933 "enum" : [
44660702
DM
9934 "seabios",
9935 "ovmf"
7aacca6f 9936 ],
56122987 9937 "optional" : 1,
7aacca6f
DM
9938 "type" : "string"
9939 },
44660702
DM
9940 "boot" : {
9941 "default" : "cdn",
9942 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 9943 "optional" : 1,
44660702
DM
9944 "pattern" : "[acdn]{1,4}",
9945 "type" : "string"
56122987 9946 },
44660702
DM
9947 "bootdisk" : {
9948 "description" : "Enable booting from specified disk.",
9949 "format" : "pve-qm-bootdisk",
9950 "optional" : 1,
9951 "pattern" : "(ide|sata|scsi|virtio)\\d+",
9952 "type" : "string"
9953 },
9954 "cdrom" : {
9955 "description" : "This is an alias for option -ide2",
de0983cb 9956 "format" : "pve-qm-ide",
56122987 9957 "optional" : 1,
7aacca6f 9958 "type" : "string",
013dc89f 9959 "typetext" : "<volume>"
44660702 9960 },
27a7acb2
DM
9961 "cipassword" : {
9962 "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.",
9963 "optional" : 1,
9964 "type" : "string",
9965 "typetext" : "<string>"
9966 },
9967 "citype" : {
9968 "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.",
9969 "enum" : [
9970 "configdrive2",
9971 "nocloud"
9972 ],
9973 "optional" : 1,
9974 "type" : "string"
9975 },
9976 "ciuser" : {
9977 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
9978 "optional" : 1,
9979 "type" : "string",
9980 "typetext" : "<string>"
9981 },
44660702
DM
9982 "cores" : {
9983 "default" : 1,
9984 "description" : "The number of cores per socket.",
9985 "minimum" : 1,
9986 "optional" : 1,
4bd7df8b 9987 "type" : "integer",
013dc89f 9988 "typetext" : "<integer> (1 - N)"
44660702
DM
9989 },
9990 "cpu" : {
9991 "description" : "Emulated CPU type.",
9992 "format" : {
9993 "cputype" : {
9994 "default" : "kvm64",
9995 "default_key" : 1,
9996 "description" : "Emulated CPU type.",
9997 "enum" : [
9998 "486",
9999 "athlon",
f004f5b9 10000 "Broadwell",
35a75dd3 10001 "Broadwell-IBRS",
f004f5b9 10002 "Broadwell-noTSX",
35a75dd3 10003 "Broadwell-noTSX-IBRS",
f004f5b9 10004 "Conroe",
44660702 10005 "core2duo",
f004f5b9 10006 "coreduo",
27a7acb2
DM
10007 "EPYC",
10008 "EPYC-IBPB",
f004f5b9 10009 "Haswell",
35a75dd3 10010 "Haswell-IBRS",
f004f5b9 10011 "Haswell-noTSX",
35a75dd3 10012 "Haswell-noTSX-IBRS",
f004f5b9
DM
10013 "host",
10014 "IvyBridge",
35a75dd3 10015 "IvyBridge-IBRS",
44660702
DM
10016 "kvm32",
10017 "kvm64",
35a75dd3 10018 "max",
44660702 10019 "Nehalem",
35a75dd3 10020 "Nehalem-IBRS",
44660702
DM
10021 "Opteron_G1",
10022 "Opteron_G2",
10023 "Opteron_G3",
10024 "Opteron_G4",
10025 "Opteron_G5",
f004f5b9
DM
10026 "Penryn",
10027 "pentium",
10028 "pentium2",
10029 "pentium3",
10030 "phenom",
10031 "qemu32",
10032 "qemu64",
10033 "SandyBridge",
35a75dd3 10034 "SandyBridge-IBRS",
5d9c884c 10035 "Skylake-Client",
35a75dd3
DM
10036 "Skylake-Client-IBRS",
10037 "Skylake-Server",
10038 "Skylake-Server-IBRS",
10039 "Westmere",
10040 "Westmere-IBRS"
44660702 10041 ],
44660702
DM
10042 "type" : "string"
10043 },
35a75dd3 10044 "flags" : {
4d47f125 10045 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.",
35a75dd3
DM
10046 "format_description" : "+FLAG[;-FLAG...]",
10047 "optional" : 1,
4d47f125 10048 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
35a75dd3
DM
10049 "type" : "string"
10050 },
44660702
DM
10051 "hidden" : {
10052 "default" : 0,
10053 "description" : "Do not identify as a KVM virtual machine.",
10054 "optional" : 1,
10055 "type" : "boolean"
10056 }
10057 },
10058 "optional" : 1,
4bd7df8b 10059 "type" : "string",
35a75dd3 10060 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702
DM
10061 },
10062 "cpulimit" : {
10063 "default" : 0,
c2993fe5 10064 "description" : "Limit of CPU usage.",
44660702
DM
10065 "maximum" : 128,
10066 "minimum" : 0,
10067 "optional" : 1,
c2993fe5 10068 "type" : "number",
013dc89f 10069 "typetext" : "<number> (0 - 128)",
c2993fe5 10070 "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
10071 },
10072 "cpuunits" : {
de0983cb 10073 "default" : 1024,
c2993fe5 10074 "description" : "CPU weight for a VM.",
2489d6df
WB
10075 "maximum" : 262144,
10076 "minimum" : 2,
44660702 10077 "optional" : 1,
c2993fe5 10078 "type" : "integer",
2489d6df
WB
10079 "typetext" : "<integer> (2 - 262144)",
10080 "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
10081 },
10082 "delete" : {
10083 "description" : "A list of settings you want to delete.",
10084 "format" : "pve-configid-list",
10085 "optional" : 1,
013dc89f
DM
10086 "type" : "string",
10087 "typetext" : "<string>"
44660702
DM
10088 },
10089 "description" : {
10090 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
10091 "optional" : 1,
013dc89f
DM
10092 "type" : "string",
10093 "typetext" : "<string>"
44660702
DM
10094 },
10095 "digest" : {
10096 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10097 "maxLength" : 40,
10098 "optional" : 1,
013dc89f
DM
10099 "type" : "string",
10100 "typetext" : "<string>"
44660702 10101 },
4d47f125
TL
10102 "efidisk0" : {
10103 "description" : "Configure a Disk for storing EFI vars",
10104 "format" : {
10105 "file" : {
10106 "default_key" : 1,
10107 "description" : "The drive's backing volume.",
10108 "format" : "pve-volume-id-or-qm-path",
10109 "format_description" : "volume",
10110 "type" : "string"
10111 },
10112 "format" : {
10113 "description" : "The drive's backing file's data format.",
10114 "enum" : [
10115 "raw",
10116 "cow",
10117 "qcow",
10118 "qed",
10119 "qcow2",
10120 "vmdk",
10121 "cloop"
10122 ],
10123 "optional" : 1,
10124 "type" : "string"
10125 },
10126 "size" : {
10127 "description" : "Disk size. This is purely informational and has no effect.",
10128 "format" : "disk-size",
10129 "format_description" : "DiskSize",
10130 "optional" : 1,
10131 "type" : "string"
10132 },
10133 "volume" : {
10134 "alias" : "file"
10135 }
10136 },
10137 "optional" : 1,
10138 "type" : "string",
10139 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
10140 },
44660702
DM
10141 "force" : {
10142 "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.",
10143 "optional" : 1,
10144 "requires" : "delete",
013dc89f
DM
10145 "type" : "boolean",
10146 "typetext" : "<boolean>"
44660702
DM
10147 },
10148 "freeze" : {
10149 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
10150 "optional" : 1,
013dc89f
DM
10151 "type" : "boolean",
10152 "typetext" : "<boolean>"
44660702
DM
10153 },
10154 "hostpci[n]" : {
c2993fe5 10155 "description" : "Map host PCI devices into guest.",
44660702
DM
10156 "format" : "pve-qm-hostpci",
10157 "optional" : 1,
57b78691 10158 "type" : "string",
52e44c50 10159 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 10160 "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 10161 },
7aacca6f 10162 "hotplug" : {
7aacca6f 10163 "default" : "network,disk,usb",
44660702
DM
10164 "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'.",
10165 "format" : "pve-hotplug-features",
56122987 10166 "optional" : 1,
013dc89f
DM
10167 "type" : "string",
10168 "typetext" : "<string>"
56122987 10169 },
4bd7df8b
DM
10170 "hugepages" : {
10171 "description" : "Enable/disable hugepages memory.",
10172 "enum" : [
10173 "any",
10174 "2",
10175 "1024"
10176 ],
10177 "optional" : 1,
10178 "type" : "string"
10179 },
56122987 10180 "ide[n]" : {
7aacca6f 10181 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 10182 "format" : {
44660702
DM
10183 "aio" : {
10184 "description" : "AIO type to use.",
10185 "enum" : [
10186 "native",
10187 "threads"
10188 ],
56122987 10189 "optional" : 1,
44660702 10190 "type" : "string"
56122987 10191 },
44660702
DM
10192 "backup" : {
10193 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10194 "optional" : 1,
10195 "type" : "boolean"
10196 },
10197 "bps" : {
de0983cb 10198 "description" : "Maximum r/w speed in bytes per second.",
44660702 10199 "format_description" : "bps",
56122987 10200 "optional" : 1,
44660702 10201 "type" : "integer"
56122987 10202 },
de0983cb
DM
10203 "bps_max_length" : {
10204 "description" : "Maximum length of I/O bursts in seconds.",
10205 "format_description" : "seconds",
10206 "minimum" : 1,
10207 "optional" : 1,
10208 "type" : "integer"
10209 },
44660702 10210 "bps_rd" : {
de0983cb 10211 "description" : "Maximum read speed in bytes per second.",
44660702 10212 "format_description" : "bps",
56122987 10213 "optional" : 1,
44660702 10214 "type" : "integer"
56122987 10215 },
de0983cb 10216 "bps_rd_length" : {
5d9c884c
DM
10217 "alias" : "bps_rd_max_length"
10218 },
10219 "bps_rd_max_length" : {
de0983cb
DM
10220 "description" : "Maximum length of read I/O bursts in seconds.",
10221 "format_description" : "seconds",
10222 "minimum" : 1,
10223 "optional" : 1,
10224 "type" : "integer"
10225 },
7aacca6f 10226 "bps_wr" : {
de0983cb 10227 "description" : "Maximum write speed in bytes per second.",
44660702
DM
10228 "format_description" : "bps",
10229 "optional" : 1,
10230 "type" : "integer"
7aacca6f 10231 },
de0983cb 10232 "bps_wr_length" : {
5d9c884c
DM
10233 "alias" : "bps_wr_max_length"
10234 },
10235 "bps_wr_max_length" : {
de0983cb
DM
10236 "description" : "Maximum length of write I/O bursts in seconds.",
10237 "format_description" : "seconds",
10238 "minimum" : 1,
10239 "optional" : 1,
10240 "type" : "integer"
10241 },
44660702
DM
10242 "cache" : {
10243 "description" : "The drive's cache mode",
10244 "enum" : [
10245 "none",
10246 "writethrough",
10247 "writeback",
10248 "unsafe",
10249 "directsync"
10250 ],
56122987 10251 "optional" : 1,
44660702
DM
10252 "type" : "string"
10253 },
10254 "cyls" : {
10255 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10256 "optional" : 1,
10257 "type" : "integer"
10258 },
10259 "detect_zeroes" : {
10260 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10261 "optional" : 1,
10262 "type" : "boolean"
56122987 10263 },
7aacca6f 10264 "discard" : {
7aacca6f 10265 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 10266 "enum" : [
7aacca6f
DM
10267 "ignore",
10268 "on"
56122987
DM
10269 ],
10270 "optional" : 1,
44660702 10271 "type" : "string"
7aacca6f 10272 },
44660702
DM
10273 "file" : {
10274 "default_key" : 1,
10275 "description" : "The drive's backing volume.",
10276 "format" : "pve-volume-id-or-qm-path",
10277 "format_description" : "volume",
10278 "type" : "string"
7aacca6f
DM
10279 },
10280 "format" : {
44660702 10281 "description" : "The drive's backing file's data format.",
7aacca6f
DM
10282 "enum" : [
10283 "raw",
10284 "cow",
10285 "qcow",
10286 "qed",
10287 "qcow2",
10288 "vmdk",
10289 "cloop"
10290 ],
7aacca6f 10291 "optional" : 1,
44660702 10292 "type" : "string"
56122987 10293 },
7aacca6f 10294 "heads" : {
44660702 10295 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10296 "optional" : 1,
44660702 10297 "type" : "integer"
7aacca6f 10298 },
44660702 10299 "iops" : {
de0983cb 10300 "description" : "Maximum r/w I/O in operations per second.",
44660702 10301 "format_description" : "iops",
7aacca6f 10302 "optional" : 1,
44660702 10303 "type" : "integer"
56122987 10304 },
44660702 10305 "iops_max" : {
de0983cb 10306 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10307 "format_description" : "iops",
56122987 10308 "optional" : 1,
44660702 10309 "type" : "integer"
56122987 10310 },
de0983cb
DM
10311 "iops_max_length" : {
10312 "description" : "Maximum length of I/O bursts in seconds.",
10313 "format_description" : "seconds",
10314 "minimum" : 1,
10315 "optional" : 1,
10316 "type" : "integer"
10317 },
44660702 10318 "iops_rd" : {
de0983cb 10319 "description" : "Maximum read I/O in operations per second.",
44660702 10320 "format_description" : "iops",
56122987 10321 "optional" : 1,
44660702 10322 "type" : "integer"
7aacca6f 10323 },
de0983cb 10324 "iops_rd_length" : {
5d9c884c 10325 "alias" : "iops_rd_max_length"
de0983cb 10326 },
44660702 10327 "iops_rd_max" : {
de0983cb 10328 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10329 "format_description" : "iops",
7aacca6f 10330 "optional" : 1,
44660702 10331 "type" : "integer"
7aacca6f 10332 },
5d9c884c
DM
10333 "iops_rd_max_length" : {
10334 "description" : "Maximum length of read I/O bursts in seconds.",
10335 "format_description" : "seconds",
10336 "minimum" : 1,
10337 "optional" : 1,
10338 "type" : "integer"
10339 },
44660702 10340 "iops_wr" : {
de0983cb 10341 "description" : "Maximum write I/O in operations per second.",
44660702 10342 "format_description" : "iops",
7aacca6f 10343 "optional" : 1,
44660702 10344 "type" : "integer"
56122987 10345 },
de0983cb 10346 "iops_wr_length" : {
5d9c884c 10347 "alias" : "iops_wr_max_length"
de0983cb 10348 },
44660702 10349 "iops_wr_max" : {
de0983cb 10350 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 10351 "format_description" : "iops",
7aacca6f 10352 "optional" : 1,
44660702 10353 "type" : "integer"
7aacca6f 10354 },
5d9c884c
DM
10355 "iops_wr_max_length" : {
10356 "description" : "Maximum length of write I/O bursts in seconds.",
10357 "format_description" : "seconds",
10358 "minimum" : 1,
10359 "optional" : 1,
10360 "type" : "integer"
10361 },
7aacca6f 10362 "mbps" : {
de0983cb 10363 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 10364 "format_description" : "mbps",
7aacca6f 10365 "optional" : 1,
44660702 10366 "type" : "number"
7aacca6f 10367 },
44660702 10368 "mbps_max" : {
de0983cb 10369 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 10370 "format_description" : "mbps",
7aacca6f 10371 "optional" : 1,
44660702 10372 "type" : "number"
7aacca6f 10373 },
44660702 10374 "mbps_rd" : {
de0983cb 10375 "description" : "Maximum read speed in megabytes per second.",
44660702 10376 "format_description" : "mbps",
7aacca6f 10377 "optional" : 1,
44660702 10378 "type" : "number"
7aacca6f 10379 },
44660702 10380 "mbps_rd_max" : {
de0983cb 10381 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
10382 "format_description" : "mbps",
10383 "optional" : 1,
10384 "type" : "number"
7aacca6f 10385 },
44660702 10386 "mbps_wr" : {
de0983cb 10387 "description" : "Maximum write speed in megabytes per second.",
44660702 10388 "format_description" : "mbps",
7aacca6f 10389 "optional" : 1,
44660702
DM
10390 "type" : "number"
10391 },
10392 "mbps_wr_max" : {
de0983cb 10393 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
10394 "format_description" : "mbps",
10395 "optional" : 1,
10396 "type" : "number"
10397 },
10398 "media" : {
10399 "default" : "disk",
10400 "description" : "The drive's media type.",
56122987 10401 "enum" : [
44660702
DM
10402 "cdrom",
10403 "disk"
56122987 10404 ],
44660702
DM
10405 "optional" : 1,
10406 "type" : "string"
56122987 10407 },
7aacca6f 10408 "model" : {
44660702 10409 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 10410 "format" : "urlencoded",
7aacca6f 10411 "format_description" : "model",
44660702 10412 "maxLength" : 120,
56122987 10413 "optional" : 1,
44660702 10414 "type" : "string"
56122987 10415 },
5d9c884c
DM
10416 "replicate" : {
10417 "default" : 1,
10418 "description" : "Whether the drive should considered for replication jobs.",
10419 "optional" : 1,
10420 "type" : "boolean"
10421 },
44660702
DM
10422 "rerror" : {
10423 "description" : "Read error action.",
10424 "enum" : [
10425 "ignore",
10426 "report",
10427 "stop"
10428 ],
56122987 10429 "optional" : 1,
44660702 10430 "type" : "string"
56122987 10431 },
44660702
DM
10432 "secs" : {
10433 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10434 "optional" : 1,
10435 "type" : "integer"
56122987 10436 },
44660702
DM
10437 "serial" : {
10438 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10439 "format" : "urlencoded",
10440 "format_description" : "serial",
10441 "maxLength" : 60,
56122987 10442 "optional" : 1,
44660702 10443 "type" : "string"
56122987 10444 },
27a7acb2
DM
10445 "shared" : {
10446 "default" : 0,
10447 "description" : "Mark this locally-managed volume as available on all nodes",
10448 "optional" : 1,
10449 "type" : "boolean",
10450 "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!"
10451 },
44660702
DM
10452 "size" : {
10453 "description" : "Disk size. This is purely informational and has no effect.",
10454 "format" : "disk-size",
f004f5b9 10455 "format_description" : "DiskSize",
56122987 10456 "optional" : 1,
44660702 10457 "type" : "string"
56122987 10458 },
44660702 10459 "snapshot" : {
27a7acb2 10460 "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 10461 "optional" : 1,
44660702 10462 "type" : "boolean"
56122987 10463 },
25203dc1
NC
10464 "ssd" : {
10465 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
10466 "optional" : 1,
10467 "type" : "boolean"
10468 },
44660702
DM
10469 "trans" : {
10470 "description" : "Force disk geometry bios translation mode.",
10471 "enum" : [
10472 "none",
10473 "lba",
10474 "auto"
10475 ],
56122987 10476 "optional" : 1,
44660702
DM
10477 "type" : "string"
10478 },
10479 "volume" : {
10480 "alias" : "file"
56122987 10481 },
7aacca6f 10482 "werror" : {
44660702 10483 "description" : "Write error action.",
7aacca6f
DM
10484 "enum" : [
10485 "enospc",
10486 "ignore",
10487 "report",
10488 "stop"
10489 ],
56122987 10490 "optional" : 1,
44660702 10491 "type" : "string"
7aacca6f 10492 }
44660702
DM
10493 },
10494 "optional" : 1,
4bd7df8b 10495 "type" : "string",
25203dc1 10496 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
27a7acb2
DM
10497 },
10498 "ipconfig[n]" : {
10499 "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",
10500 "format" : "pve-qm-ipconfig",
10501 "optional" : 1,
10502 "type" : "string",
10503 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 10504 },
44660702 10505 "keyboard" : {
35a75dd3 10506 "default" : null,
5da3d723 10507 "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
10508 "enum" : [
10509 "de",
10510 "de-ch",
10511 "da",
10512 "en-gb",
10513 "en-us",
10514 "es",
10515 "fi",
10516 "fr",
10517 "fr-be",
10518 "fr-ca",
10519 "fr-ch",
10520 "hu",
10521 "is",
10522 "it",
10523 "ja",
10524 "lt",
10525 "mk",
10526 "nl",
10527 "no",
10528 "pl",
10529 "pt",
10530 "pt-br",
10531 "sv",
10532 "sl",
10533 "tr"
10534 ],
7aacca6f 10535 "optional" : 1,
44660702 10536 "type" : "string"
7aacca6f 10537 },
44660702 10538 "kvm" : {
7aacca6f 10539 "default" : 1,
44660702 10540 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 10541 "optional" : 1,
013dc89f
DM
10542 "type" : "boolean",
10543 "typetext" : "<boolean>"
7aacca6f 10544 },
44660702
DM
10545 "localtime" : {
10546 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 10547 "optional" : 1,
013dc89f
DM
10548 "type" : "boolean",
10549 "typetext" : "<boolean>"
7aacca6f 10550 },
44660702
DM
10551 "lock" : {
10552 "description" : "Lock/unlock the VM.",
10553 "enum" : [
10554 "migrate",
10555 "backup",
10556 "snapshot",
10557 "rollback"
10558 ],
7aacca6f 10559 "optional" : 1,
44660702 10560 "type" : "string"
7aacca6f 10561 },
44660702 10562 "machine" : {
4d47f125 10563 "description" : "Specifies the Qemu machine type.",
44660702 10564 "maxLength" : 40,
7aacca6f 10565 "optional" : 1,
44660702
DM
10566 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
10567 "type" : "string"
7aacca6f 10568 },
44660702
DM
10569 "memory" : {
10570 "default" : 512,
10571 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
10572 "minimum" : 16,
7aacca6f 10573 "optional" : 1,
4bd7df8b 10574 "type" : "integer",
013dc89f 10575 "typetext" : "<integer> (16 - N)"
7aacca6f 10576 },
44660702
DM
10577 "migrate_downtime" : {
10578 "default" : 0.1,
10579 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
10580 "minimum" : 0,
7aacca6f 10581 "optional" : 1,
4bd7df8b 10582 "type" : "number",
013dc89f 10583 "typetext" : "<number> (0 - N)"
7aacca6f 10584 },
44660702 10585 "migrate_speed" : {
7aacca6f 10586 "default" : 0,
44660702
DM
10587 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
10588 "minimum" : 0,
10589 "optional" : 1,
4bd7df8b 10590 "type" : "integer",
013dc89f 10591 "typetext" : "<integer> (0 - N)"
7aacca6f 10592 },
44660702
DM
10593 "name" : {
10594 "description" : "Set a name for the VM. Only used on the configuration web interface.",
10595 "format" : "dns-name",
7aacca6f 10596 "optional" : 1,
013dc89f
DM
10597 "type" : "string",
10598 "typetext" : "<string>"
7aacca6f 10599 },
27a7acb2
DM
10600 "nameserver" : {
10601 "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.",
10602 "format" : "address-list",
10603 "optional" : 1,
10604 "type" : "string",
10605 "typetext" : "<string>"
10606 },
44660702 10607 "net[n]" : {
c2993fe5 10608 "description" : "Specify network devices.",
f004f5b9
DM
10609 "format" : {
10610 "bridge" : {
c2993fe5 10611 "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
10612 "format_description" : "bridge",
10613 "optional" : 1,
10614 "type" : "string"
10615 },
10616 "e1000" : {
10617 "alias" : "macaddr",
10618 "keyAlias" : "model"
10619 },
10620 "e1000-82540em" : {
10621 "alias" : "macaddr",
10622 "keyAlias" : "model"
10623 },
10624 "e1000-82544gc" : {
10625 "alias" : "macaddr",
10626 "keyAlias" : "model"
10627 },
10628 "e1000-82545em" : {
10629 "alias" : "macaddr",
10630 "keyAlias" : "model"
10631 },
10632 "firewall" : {
10633 "description" : "Whether this interface should be protected by the firewall.",
10634 "optional" : 1,
10635 "type" : "boolean"
10636 },
10637 "i82551" : {
10638 "alias" : "macaddr",
10639 "keyAlias" : "model"
10640 },
10641 "i82557b" : {
10642 "alias" : "macaddr",
10643 "keyAlias" : "model"
10644 },
10645 "i82559er" : {
10646 "alias" : "macaddr",
10647 "keyAlias" : "model"
10648 },
10649 "link_down" : {
c2993fe5 10650 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
10651 "optional" : 1,
10652 "type" : "boolean"
10653 },
10654 "macaddr" : {
c2993fe5 10655 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 10656 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
10657 "optional" : 1,
10658 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
10659 "type" : "string"
10660 },
10661 "model" : {
10662 "default_key" : 1,
c2993fe5 10663 "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
10664 "enum" : [
10665 "rtl8139",
10666 "ne2k_pci",
10667 "e1000",
10668 "pcnet",
10669 "virtio",
10670 "ne2k_isa",
10671 "i82551",
10672 "i82557b",
10673 "i82559er",
10674 "vmxnet3",
10675 "e1000-82540em",
10676 "e1000-82544gc",
10677 "e1000-82545em"
10678 ],
f004f5b9
DM
10679 "type" : "string"
10680 },
10681 "ne2k_isa" : {
10682 "alias" : "macaddr",
10683 "keyAlias" : "model"
10684 },
10685 "ne2k_pci" : {
10686 "alias" : "macaddr",
10687 "keyAlias" : "model"
10688 },
10689 "pcnet" : {
10690 "alias" : "macaddr",
10691 "keyAlias" : "model"
10692 },
10693 "queues" : {
10694 "description" : "Number of packet queues to be used on the device.",
10695 "maximum" : 16,
10696 "minimum" : 0,
10697 "optional" : 1,
10698 "type" : "integer"
10699 },
10700 "rate" : {
c2993fe5 10701 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
10702 "minimum" : 0,
10703 "optional" : 1,
10704 "type" : "number"
10705 },
10706 "rtl8139" : {
10707 "alias" : "macaddr",
10708 "keyAlias" : "model"
10709 },
10710 "tag" : {
10711 "description" : "VLAN tag to apply to packets on this interface.",
10712 "maximum" : 4094,
c2993fe5 10713 "minimum" : 1,
f004f5b9
DM
10714 "optional" : 1,
10715 "type" : "integer"
10716 },
10717 "trunks" : {
10718 "description" : "VLAN trunks to pass through this interface.",
10719 "format_description" : "vlanid[;vlanid...]",
10720 "optional" : 1,
10721 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10722 "type" : "string"
10723 },
10724 "virtio" : {
10725 "alias" : "macaddr",
10726 "keyAlias" : "model"
10727 },
10728 "vmxnet3" : {
10729 "alias" : "macaddr",
10730 "keyAlias" : "model"
10731 }
10732 },
7aacca6f 10733 "optional" : 1,
4bd7df8b 10734 "type" : "string",
013dc89f 10735 "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 10736 },
44660702
DM
10737 "node" : {
10738 "description" : "The cluster node name.",
10739 "format" : "pve-node",
013dc89f
DM
10740 "type" : "string",
10741 "typetext" : "<string>"
44660702
DM
10742 },
10743 "numa" : {
10744 "default" : 0,
10745 "description" : "Enable/disable NUMA.",
7aacca6f 10746 "optional" : 1,
013dc89f
DM
10747 "type" : "boolean",
10748 "typetext" : "<boolean>"
7aacca6f 10749 },
44660702 10750 "numa[n]" : {
c2993fe5 10751 "description" : "NUMA topology.",
44660702
DM
10752 "format" : {
10753 "cpus" : {
c2993fe5 10754 "description" : "CPUs accessing this NUMA node.",
44660702
DM
10755 "format_description" : "id[-id];...",
10756 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10757 "type" : "string"
10758 },
10759 "hostnodes" : {
c2993fe5 10760 "description" : "Host NUMA nodes to use.",
44660702
DM
10761 "format_description" : "id[-id];...",
10762 "optional" : 1,
10763 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10764 "type" : "string"
10765 },
10766 "memory" : {
c2993fe5 10767 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
10768 "optional" : 1,
10769 "type" : "number"
10770 },
10771 "policy" : {
c2993fe5 10772 "description" : "NUMA allocation policy.",
44660702
DM
10773 "enum" : [
10774 "preferred",
10775 "bind",
10776 "interleave"
10777 ],
44660702
DM
10778 "optional" : 1,
10779 "type" : "string"
10780 }
10781 },
7aacca6f 10782 "optional" : 1,
4bd7df8b
DM
10783 "type" : "string",
10784 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 10785 },
44660702
DM
10786 "onboot" : {
10787 "default" : 0,
10788 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 10789 "optional" : 1,
013dc89f
DM
10790 "type" : "boolean",
10791 "typetext" : "<boolean>"
7aacca6f 10792 },
44660702 10793 "ostype" : {
c2993fe5 10794 "description" : "Specify guest operating system.",
44660702
DM
10795 "enum" : [
10796 "other",
10797 "wxp",
10798 "w2k",
10799 "w2k3",
10800 "w2k8",
10801 "wvista",
10802 "win7",
10803 "win8",
32d876b5 10804 "win10",
44660702
DM
10805 "l24",
10806 "l26",
10807 "solaris"
10808 ],
7aacca6f 10809 "optional" : 1,
c2993fe5 10810 "type" : "string",
35a75dd3 10811 "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 10812 },
44660702 10813 "parallel[n]" : {
c2993fe5 10814 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 10815 "optional" : 1,
44660702 10816 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
10817 "type" : "string",
10818 "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 10819 },
44660702
DM
10820 "protection" : {
10821 "default" : 0,
c2993fe5 10822 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 10823 "optional" : 1,
013dc89f
DM
10824 "type" : "boolean",
10825 "typetext" : "<boolean>"
7aacca6f 10826 },
44660702
DM
10827 "reboot" : {
10828 "default" : 1,
10829 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 10830 "optional" : 1,
013dc89f
DM
10831 "type" : "boolean",
10832 "typetext" : "<boolean>"
7aacca6f 10833 },
44660702
DM
10834 "revert" : {
10835 "description" : "Revert a pending change.",
10836 "format" : "pve-configid-list",
7aacca6f 10837 "optional" : 1,
013dc89f
DM
10838 "type" : "string",
10839 "typetext" : "<string>"
7aacca6f 10840 },
44660702
DM
10841 "sata[n]" : {
10842 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 10843 "format" : {
44660702
DM
10844 "aio" : {
10845 "description" : "AIO type to use.",
10846 "enum" : [
10847 "native",
10848 "threads"
10849 ],
44660702
DM
10850 "optional" : 1,
10851 "type" : "string"
10852 },
10853 "backup" : {
10854 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10855 "optional" : 1,
10856 "type" : "boolean"
10857 },
10858 "bps" : {
de0983cb 10859 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 10860 "format_description" : "bps",
7aacca6f
DM
10861 "optional" : 1,
10862 "type" : "integer"
56122987 10863 },
de0983cb
DM
10864 "bps_max_length" : {
10865 "description" : "Maximum length of I/O bursts in seconds.",
10866 "format_description" : "seconds",
10867 "minimum" : 1,
10868 "optional" : 1,
10869 "type" : "integer"
10870 },
44660702 10871 "bps_rd" : {
de0983cb 10872 "description" : "Maximum read speed in bytes per second.",
44660702 10873 "format_description" : "bps",
7aacca6f 10874 "optional" : 1,
44660702 10875 "type" : "integer"
7aacca6f 10876 },
de0983cb 10877 "bps_rd_length" : {
5d9c884c
DM
10878 "alias" : "bps_rd_max_length"
10879 },
10880 "bps_rd_max_length" : {
de0983cb
DM
10881 "description" : "Maximum length of read I/O bursts in seconds.",
10882 "format_description" : "seconds",
10883 "minimum" : 1,
10884 "optional" : 1,
10885 "type" : "integer"
10886 },
44660702 10887 "bps_wr" : {
de0983cb 10888 "description" : "Maximum write speed in bytes per second.",
44660702 10889 "format_description" : "bps",
7aacca6f 10890 "optional" : 1,
44660702 10891 "type" : "integer"
7aacca6f 10892 },
de0983cb 10893 "bps_wr_length" : {
5d9c884c
DM
10894 "alias" : "bps_wr_max_length"
10895 },
10896 "bps_wr_max_length" : {
de0983cb
DM
10897 "description" : "Maximum length of write I/O bursts in seconds.",
10898 "format_description" : "seconds",
10899 "minimum" : 1,
10900 "optional" : 1,
10901 "type" : "integer"
10902 },
44660702
DM
10903 "cache" : {
10904 "description" : "The drive's cache mode",
10905 "enum" : [
10906 "none",
10907 "writethrough",
10908 "writeback",
10909 "unsafe",
10910 "directsync"
10911 ],
7aacca6f 10912 "optional" : 1,
44660702 10913 "type" : "string"
7aacca6f 10914 },
44660702
DM
10915 "cyls" : {
10916 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 10917 "optional" : 1,
44660702 10918 "type" : "integer"
7aacca6f 10919 },
44660702
DM
10920 "detect_zeroes" : {
10921 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 10922 "optional" : 1,
44660702 10923 "type" : "boolean"
7aacca6f 10924 },
44660702
DM
10925 "discard" : {
10926 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10927 "enum" : [
10928 "ignore",
10929 "on"
10930 ],
7aacca6f 10931 "optional" : 1,
44660702
DM
10932 "type" : "string"
10933 },
10934 "file" : {
10935 "default_key" : 1,
10936 "description" : "The drive's backing volume.",
10937 "format" : "pve-volume-id-or-qm-path",
10938 "format_description" : "volume",
10939 "type" : "string"
7aacca6f
DM
10940 },
10941 "format" : {
7aacca6f 10942 "description" : "The drive's backing file's data format.",
56122987
DM
10943 "enum" : [
10944 "raw",
10945 "cow",
10946 "qcow",
10947 "qed",
10948 "qcow2",
10949 "vmdk",
10950 "cloop"
10951 ],
10952 "optional" : 1,
7aacca6f 10953 "type" : "string"
56122987 10954 },
7aacca6f 10955 "heads" : {
7aacca6f 10956 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
10957 "optional" : 1,
10958 "type" : "integer"
56122987 10959 },
44660702 10960 "iops" : {
de0983cb 10961 "description" : "Maximum r/w I/O in operations per second.",
44660702 10962 "format_description" : "iops",
56122987 10963 "optional" : 1,
44660702 10964 "type" : "integer"
7aacca6f 10965 },
44660702 10966 "iops_max" : {
de0983cb 10967 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10968 "format_description" : "iops",
7aacca6f 10969 "optional" : 1,
44660702 10970 "type" : "integer"
56122987 10971 },
de0983cb
DM
10972 "iops_max_length" : {
10973 "description" : "Maximum length of I/O bursts in seconds.",
10974 "format_description" : "seconds",
10975 "minimum" : 1,
10976 "optional" : 1,
10977 "type" : "integer"
10978 },
44660702 10979 "iops_rd" : {
de0983cb 10980 "description" : "Maximum read I/O in operations per second.",
44660702 10981 "format_description" : "iops",
56122987 10982 "optional" : 1,
44660702 10983 "type" : "integer"
7aacca6f 10984 },
de0983cb 10985 "iops_rd_length" : {
5d9c884c 10986 "alias" : "iops_rd_max_length"
de0983cb 10987 },
44660702 10988 "iops_rd_max" : {
de0983cb 10989 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10990 "format_description" : "iops",
56122987 10991 "optional" : 1,
44660702 10992 "type" : "integer"
56122987 10993 },
5d9c884c
DM
10994 "iops_rd_max_length" : {
10995 "description" : "Maximum length of read I/O bursts in seconds.",
10996 "format_description" : "seconds",
10997 "minimum" : 1,
10998 "optional" : 1,
10999 "type" : "integer"
11000 },
44660702 11001 "iops_wr" : {
de0983cb 11002 "description" : "Maximum write I/O in operations per second.",
44660702
DM
11003 "format_description" : "iops",
11004 "optional" : 1,
11005 "type" : "integer"
56122987 11006 },
de0983cb 11007 "iops_wr_length" : {
5d9c884c 11008 "alias" : "iops_wr_max_length"
de0983cb 11009 },
44660702 11010 "iops_wr_max" : {
de0983cb 11011 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
11012 "format_description" : "iops",
11013 "optional" : 1,
11014 "type" : "integer"
11015 },
5d9c884c
DM
11016 "iops_wr_max_length" : {
11017 "description" : "Maximum length of write I/O bursts in seconds.",
11018 "format_description" : "seconds",
11019 "minimum" : 1,
11020 "optional" : 1,
11021 "type" : "integer"
11022 },
44660702 11023 "mbps" : {
de0983cb 11024 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
11025 "format_description" : "mbps",
11026 "optional" : 1,
11027 "type" : "number"
11028 },
11029 "mbps_max" : {
de0983cb 11030 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
11031 "format_description" : "mbps",
11032 "optional" : 1,
11033 "type" : "number"
11034 },
11035 "mbps_rd" : {
de0983cb 11036 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
11037 "format_description" : "mbps",
11038 "optional" : 1,
11039 "type" : "number"
11040 },
11041 "mbps_rd_max" : {
de0983cb 11042 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11043 "format_description" : "mbps",
11044 "optional" : 1,
11045 "type" : "number"
11046 },
11047 "mbps_wr" : {
de0983cb 11048 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11049 "format_description" : "mbps",
11050 "optional" : 1,
11051 "type" : "number"
11052 },
11053 "mbps_wr_max" : {
de0983cb 11054 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11055 "format_description" : "mbps",
11056 "optional" : 1,
11057 "type" : "number"
11058 },
11059 "media" : {
11060 "default" : "disk",
11061 "description" : "The drive's media type.",
11062 "enum" : [
11063 "cdrom",
11064 "disk"
11065 ],
56122987 11066 "optional" : 1,
44660702
DM
11067 "type" : "string"
11068 },
5d9c884c
DM
11069 "replicate" : {
11070 "default" : 1,
11071 "description" : "Whether the drive should considered for replication jobs.",
11072 "optional" : 1,
11073 "type" : "boolean"
11074 },
44660702 11075 "rerror" : {
7aacca6f
DM
11076 "description" : "Read error action.",
11077 "enum" : [
11078 "ignore",
11079 "report",
11080 "stop"
44660702 11081 ],
56122987 11082 "optional" : 1,
44660702 11083 "type" : "string"
56122987 11084 },
7aacca6f 11085 "secs" : {
44660702 11086 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11087 "optional" : 1,
44660702 11088 "type" : "integer"
56122987 11089 },
44660702
DM
11090 "serial" : {
11091 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11092 "format" : "urlencoded",
11093 "format_description" : "serial",
11094 "maxLength" : 60,
56122987 11095 "optional" : 1,
44660702 11096 "type" : "string"
56122987 11097 },
27a7acb2
DM
11098 "shared" : {
11099 "default" : 0,
11100 "description" : "Mark this locally-managed volume as available on all nodes",
11101 "optional" : 1,
11102 "type" : "boolean",
11103 "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!"
11104 },
44660702
DM
11105 "size" : {
11106 "description" : "Disk size. This is purely informational and has no effect.",
11107 "format" : "disk-size",
f004f5b9 11108 "format_description" : "DiskSize",
56122987 11109 "optional" : 1,
44660702 11110 "type" : "string"
56122987
DM
11111 },
11112 "snapshot" : {
27a7acb2 11113 "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 11114 "optional" : 1,
44660702 11115 "type" : "boolean"
56122987 11116 },
25203dc1
NC
11117 "ssd" : {
11118 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11119 "optional" : 1,
11120 "type" : "boolean"
11121 },
56122987 11122 "trans" : {
7aacca6f 11123 "description" : "Force disk geometry bios translation mode.",
56122987
DM
11124 "enum" : [
11125 "none",
11126 "lba",
11127 "auto"
11128 ],
11129 "optional" : 1,
44660702 11130 "type" : "string"
56122987 11131 },
44660702
DM
11132 "volume" : {
11133 "alias" : "file"
56122987 11134 },
7aacca6f 11135 "werror" : {
44660702 11136 "description" : "Write error action.",
56122987 11137 "enum" : [
7aacca6f 11138 "enospc",
56122987 11139 "ignore",
7aacca6f
DM
11140 "report",
11141 "stop"
11142 ],
7aacca6f 11143 "optional" : 1,
44660702
DM
11144 "type" : "string"
11145 }
11146 },
11147 "optional" : 1,
4bd7df8b 11148 "type" : "string",
25203dc1 11149 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
11150 },
11151 "scsi[n]" : {
11152 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
11153 "format" : {
11154 "aio" : {
7aacca6f 11155 "description" : "AIO type to use.",
56122987
DM
11156 "enum" : [
11157 "native",
11158 "threads"
44660702 11159 ],
56122987 11160 "optional" : 1,
44660702 11161 "type" : "string"
56122987 11162 },
7aacca6f 11163 "backup" : {
7aacca6f 11164 "description" : "Whether the drive should be included when making backups.",
7aacca6f 11165 "optional" : 1,
44660702 11166 "type" : "boolean"
56122987 11167 },
44660702 11168 "bps" : {
de0983cb 11169 "description" : "Maximum r/w speed in bytes per second.",
44660702 11170 "format_description" : "bps",
7aacca6f 11171 "optional" : 1,
44660702 11172 "type" : "integer"
7aacca6f 11173 },
de0983cb
DM
11174 "bps_max_length" : {
11175 "description" : "Maximum length of I/O bursts in seconds.",
11176 "format_description" : "seconds",
11177 "minimum" : 1,
11178 "optional" : 1,
11179 "type" : "integer"
11180 },
44660702 11181 "bps_rd" : {
de0983cb 11182 "description" : "Maximum read speed in bytes per second.",
44660702 11183 "format_description" : "bps",
56122987 11184 "optional" : 1,
44660702 11185 "type" : "integer"
56122987 11186 },
de0983cb 11187 "bps_rd_length" : {
5d9c884c
DM
11188 "alias" : "bps_rd_max_length"
11189 },
11190 "bps_rd_max_length" : {
de0983cb
DM
11191 "description" : "Maximum length of read I/O bursts in seconds.",
11192 "format_description" : "seconds",
11193 "minimum" : 1,
11194 "optional" : 1,
11195 "type" : "integer"
11196 },
44660702 11197 "bps_wr" : {
de0983cb 11198 "description" : "Maximum write speed in bytes per second.",
44660702 11199 "format_description" : "bps",
56122987 11200 "optional" : 1,
44660702 11201 "type" : "integer"
56122987 11202 },
de0983cb 11203 "bps_wr_length" : {
5d9c884c
DM
11204 "alias" : "bps_wr_max_length"
11205 },
11206 "bps_wr_max_length" : {
de0983cb
DM
11207 "description" : "Maximum length of write I/O bursts in seconds.",
11208 "format_description" : "seconds",
11209 "minimum" : 1,
11210 "optional" : 1,
11211 "type" : "integer"
11212 },
44660702
DM
11213 "cache" : {
11214 "description" : "The drive's cache mode",
11215 "enum" : [
11216 "none",
11217 "writethrough",
11218 "writeback",
11219 "unsafe",
11220 "directsync"
11221 ],
56122987 11222 "optional" : 1,
44660702
DM
11223 "type" : "string"
11224 },
11225 "cyls" : {
11226 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11227 "optional" : 1,
11228 "type" : "integer"
11229 },
11230 "detect_zeroes" : {
11231 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11232 "optional" : 1,
11233 "type" : "boolean"
11234 },
11235 "discard" : {
11236 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11237 "enum" : [
11238 "ignore",
11239 "on"
11240 ],
44660702
DM
11241 "optional" : 1,
11242 "type" : "string"
11243 },
11244 "file" : {
11245 "default_key" : 1,
11246 "description" : "The drive's backing volume.",
11247 "format" : "pve-volume-id-or-qm-path",
11248 "format_description" : "volume",
11249 "type" : "string"
56122987 11250 },
7aacca6f 11251 "format" : {
44660702 11252 "description" : "The drive's backing file's data format.",
7aacca6f
DM
11253 "enum" : [
11254 "raw",
11255 "cow",
11256 "qcow",
11257 "qed",
11258 "qcow2",
11259 "vmdk",
11260 "cloop"
11261 ],
56122987 11262 "optional" : 1,
44660702 11263 "type" : "string"
56122987 11264 },
44660702
DM
11265 "heads" : {
11266 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11267 "optional" : 1,
44660702 11268 "type" : "integer"
56122987 11269 },
44660702 11270 "iops" : {
de0983cb 11271 "description" : "Maximum r/w I/O in operations per second.",
44660702 11272 "format_description" : "iops",
7aacca6f 11273 "optional" : 1,
44660702 11274 "type" : "integer"
56122987 11275 },
44660702 11276 "iops_max" : {
de0983cb 11277 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 11278 "format_description" : "iops",
7aacca6f 11279 "optional" : 1,
44660702 11280 "type" : "integer"
56122987 11281 },
de0983cb
DM
11282 "iops_max_length" : {
11283 "description" : "Maximum length of I/O bursts in seconds.",
11284 "format_description" : "seconds",
11285 "minimum" : 1,
11286 "optional" : 1,
11287 "type" : "integer"
11288 },
44660702 11289 "iops_rd" : {
de0983cb 11290 "description" : "Maximum read I/O in operations per second.",
44660702 11291 "format_description" : "iops",
56122987 11292 "optional" : 1,
44660702 11293 "type" : "integer"
56122987 11294 },
de0983cb 11295 "iops_rd_length" : {
5d9c884c 11296 "alias" : "iops_rd_max_length"
de0983cb 11297 },
44660702 11298 "iops_rd_max" : {
de0983cb 11299 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11300 "format_description" : "iops",
56122987 11301 "optional" : 1,
44660702 11302 "type" : "integer"
56122987 11303 },
5d9c884c
DM
11304 "iops_rd_max_length" : {
11305 "description" : "Maximum length of read I/O bursts in seconds.",
11306 "format_description" : "seconds",
11307 "minimum" : 1,
11308 "optional" : 1,
11309 "type" : "integer"
11310 },
44660702 11311 "iops_wr" : {
de0983cb 11312 "description" : "Maximum write I/O in operations per second.",
44660702 11313 "format_description" : "iops",
56122987 11314 "optional" : 1,
44660702 11315 "type" : "integer"
56122987 11316 },
de0983cb 11317 "iops_wr_length" : {
5d9c884c 11318 "alias" : "iops_wr_max_length"
de0983cb 11319 },
44660702 11320 "iops_wr_max" : {
de0983cb 11321 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 11322 "format_description" : "iops",
44660702
DM
11323 "optional" : 1,
11324 "type" : "integer"
7aacca6f 11325 },
5d9c884c
DM
11326 "iops_wr_max_length" : {
11327 "description" : "Maximum length of write I/O bursts in seconds.",
11328 "format_description" : "seconds",
11329 "minimum" : 1,
11330 "optional" : 1,
11331 "type" : "integer"
11332 },
7aacca6f 11333 "iothread" : {
44660702 11334 "description" : "Whether to use iothreads for this drive",
56122987 11335 "optional" : 1,
44660702 11336 "type" : "boolean"
56122987 11337 },
44660702 11338 "mbps" : {
de0983cb 11339 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11340 "format_description" : "mbps",
56122987 11341 "optional" : 1,
44660702 11342 "type" : "number"
56122987 11343 },
44660702 11344 "mbps_max" : {
de0983cb 11345 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11346 "format_description" : "mbps",
56122987 11347 "optional" : 1,
44660702 11348 "type" : "number"
56122987 11349 },
44660702 11350 "mbps_rd" : {
de0983cb 11351 "description" : "Maximum read speed in megabytes per second.",
44660702 11352 "format_description" : "mbps",
7aacca6f 11353 "optional" : 1,
44660702 11354 "type" : "number"
56122987 11355 },
44660702 11356 "mbps_rd_max" : {
de0983cb 11357 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11358 "format_description" : "mbps",
7aacca6f 11359 "optional" : 1,
44660702 11360 "type" : "number"
7aacca6f 11361 },
44660702 11362 "mbps_wr" : {
de0983cb 11363 "description" : "Maximum write speed in megabytes per second.",
44660702 11364 "format_description" : "mbps",
56122987 11365 "optional" : 1,
44660702 11366 "type" : "number"
56122987 11367 },
44660702 11368 "mbps_wr_max" : {
de0983cb 11369 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11370 "format_description" : "mbps",
56122987 11371 "optional" : 1,
44660702
DM
11372 "type" : "number"
11373 },
11374 "media" : {
11375 "default" : "disk",
11376 "description" : "The drive's media type.",
7aacca6f 11377 "enum" : [
44660702
DM
11378 "cdrom",
11379 "disk"
7aacca6f 11380 ],
56122987 11381 "optional" : 1,
44660702 11382 "type" : "string"
56122987 11383 },
7aacca6f 11384 "queues" : {
44660702 11385 "description" : "Number of queues.",
7aacca6f 11386 "minimum" : 2,
7aacca6f
DM
11387 "optional" : 1,
11388 "type" : "integer"
56122987 11389 },
5d9c884c
DM
11390 "replicate" : {
11391 "default" : 1,
11392 "description" : "Whether the drive should considered for replication jobs.",
11393 "optional" : 1,
11394 "type" : "boolean"
11395 },
11396 "rerror" : {
11397 "description" : "Read error action.",
11398 "enum" : [
11399 "ignore",
11400 "report",
11401 "stop"
11402 ],
11403 "optional" : 1,
11404 "type" : "string"
11405 },
52e44c50
FG
11406 "scsiblock" : {
11407 "default" : 0,
11408 "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",
11409 "optional" : 1,
11410 "type" : "boolean"
11411 },
44660702
DM
11412 "secs" : {
11413 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11414 "optional" : 1,
44660702 11415 "type" : "integer"
56122987 11416 },
44660702
DM
11417 "serial" : {
11418 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11419 "format" : "urlencoded",
11420 "format_description" : "serial",
11421 "maxLength" : 60,
56122987 11422 "optional" : 1,
44660702 11423 "type" : "string"
56122987 11424 },
27a7acb2
DM
11425 "shared" : {
11426 "default" : 0,
11427 "description" : "Mark this locally-managed volume as available on all nodes",
11428 "optional" : 1,
11429 "type" : "boolean",
11430 "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!"
11431 },
44660702
DM
11432 "size" : {
11433 "description" : "Disk size. This is purely informational and has no effect.",
11434 "format" : "disk-size",
f004f5b9 11435 "format_description" : "DiskSize",
44660702
DM
11436 "optional" : 1,
11437 "type" : "string"
11438 },
11439 "snapshot" : {
27a7acb2 11440 "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 11441 "optional" : 1,
44660702
DM
11442 "type" : "boolean"
11443 },
25203dc1
NC
11444 "ssd" : {
11445 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11446 "optional" : 1,
11447 "type" : "boolean"
11448 },
44660702
DM
11449 "trans" : {
11450 "description" : "Force disk geometry bios translation mode.",
56122987 11451 "enum" : [
44660702
DM
11452 "none",
11453 "lba",
11454 "auto"
56122987 11455 ],
44660702
DM
11456 "optional" : 1,
11457 "type" : "string"
11458 },
11459 "volume" : {
11460 "alias" : "file"
56122987 11461 },
7aacca6f 11462 "werror" : {
7aacca6f
DM
11463 "description" : "Write error action.",
11464 "enum" : [
11465 "enospc",
11466 "ignore",
11467 "report",
11468 "stop"
44660702 11469 ],
56122987 11470 "optional" : 1,
7aacca6f 11471 "type" : "string"
56122987 11472 }
44660702 11473 },
56122987 11474 "optional" : 1,
4bd7df8b 11475 "type" : "string",
25203dc1 11476 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987
DM
11477 },
11478 "scsihw" : {
44660702 11479 "default" : "lsi",
c2993fe5 11480 "description" : "SCSI controller model",
56122987
DM
11481 "enum" : [
11482 "lsi",
11483 "lsi53c810",
11484 "virtio-scsi-pci",
11485 "virtio-scsi-single",
11486 "megasas",
11487 "pvscsi"
11488 ],
11489 "optional" : 1,
56122987
DM
11490 "type" : "string"
11491 },
27a7acb2
DM
11492 "searchdomain" : {
11493 "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.",
11494 "optional" : 1,
11495 "type" : "string",
11496 "typetext" : "<string>"
11497 },
44660702 11498 "serial[n]" : {
c2993fe5 11499 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 11500 "optional" : 1,
44660702 11501 "pattern" : "(/dev/.+|socket)",
c2993fe5 11502 "type" : "string",
57b78691 11503 "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 11504 },
44660702
DM
11505 "shares" : {
11506 "default" : 1000,
5da3d723 11507 "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
11508 "maximum" : 50000,
11509 "minimum" : 0,
7aacca6f 11510 "optional" : 1,
4bd7df8b 11511 "type" : "integer",
013dc89f 11512 "typetext" : "<integer> (0 - 50000)"
56122987 11513 },
7aacca6f
DM
11514 "skiplock" : {
11515 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 11516 "optional" : 1,
013dc89f
DM
11517 "type" : "boolean",
11518 "typetext" : "<boolean>"
56122987 11519 },
44660702
DM
11520 "smbios1" : {
11521 "description" : "Specify SMBIOS type 1 fields.",
11522 "format" : "pve-qm-smbios1",
11523 "maxLength" : 256,
56122987 11524 "optional" : 1,
4bd7df8b
DM
11525 "type" : "string",
11526 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 11527 },
44660702
DM
11528 "smp" : {
11529 "default" : 1,
11530 "description" : "The number of CPUs. Please use option -sockets instead.",
11531 "minimum" : 1,
56122987 11532 "optional" : 1,
4bd7df8b 11533 "type" : "integer",
013dc89f 11534 "typetext" : "<integer> (1 - N)"
56122987 11535 },
44660702
DM
11536 "sockets" : {
11537 "default" : 1,
11538 "description" : "The number of CPU sockets.",
11539 "minimum" : 1,
56122987 11540 "optional" : 1,
4bd7df8b 11541 "type" : "integer",
013dc89f 11542 "typetext" : "<integer> (1 - N)"
56122987 11543 },
27a7acb2
DM
11544 "sshkeys" : {
11545 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
11546 "format" : "urlencoded",
11547 "optional" : 1,
11548 "type" : "string",
11549 "typetext" : "<string>"
11550 },
44660702
DM
11551 "startdate" : {
11552 "default" : "now",
11553 "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'.",
11554 "optional" : 1,
11555 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 11556 "type" : "string",
44660702
DM
11557 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
11558 },
11559 "startup" : {
11560 "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.",
11561 "format" : "pve-startup-order",
7aacca6f 11562 "optional" : 1,
44660702
DM
11563 "type" : "string",
11564 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 11565 },
44660702
DM
11566 "tablet" : {
11567 "default" : 1,
c2993fe5 11568 "description" : "Enable/disable the USB tablet device.",
7aacca6f 11569 "optional" : 1,
c2993fe5 11570 "type" : "boolean",
013dc89f 11571 "typetext" : "<boolean>",
c2993fe5 11572 "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 11573 },
44660702
DM
11574 "tdf" : {
11575 "default" : 0,
11576 "description" : "Enable/disable time drift fix.",
7aacca6f 11577 "optional" : 1,
013dc89f
DM
11578 "type" : "boolean",
11579 "typetext" : "<boolean>"
7aacca6f 11580 },
44660702
DM
11581 "template" : {
11582 "default" : 0,
11583 "description" : "Enable/disable Template.",
7aacca6f 11584 "optional" : 1,
013dc89f
DM
11585 "type" : "boolean",
11586 "typetext" : "<boolean>"
7aacca6f 11587 },
44660702 11588 "unused[n]" : {
c2993fe5 11589 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 11590 "format" : "pve-volume-id",
7aacca6f 11591 "optional" : 1,
013dc89f
DM
11592 "type" : "string",
11593 "typetext" : "<string>"
7aacca6f 11594 },
44660702 11595 "usb[n]" : {
c2993fe5 11596 "description" : "Configure an USB device (n is 0 to 4).",
56122987 11597 "format" : {
44660702
DM
11598 "host" : {
11599 "default_key" : 1,
c2993fe5 11600 "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
11601 "format" : "pve-qm-usb-device",
11602 "format_description" : "HOSTUSBDEVICE|spice",
11603 "type" : "string"
7aacca6f 11604 },
44660702 11605 "usb3" : {
c2993fe5
DM
11606 "default" : 0,
11607 "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 11608 "optional" : 1,
44660702 11609 "type" : "boolean"
7aacca6f 11610 }
44660702 11611 },
7aacca6f 11612 "optional" : 1,
4bd7df8b
DM
11613 "type" : "string",
11614 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 11615 },
44660702 11616 "vcpus" : {
7aacca6f 11617 "default" : 0,
44660702
DM
11618 "description" : "Number of hotplugged vcpus.",
11619 "minimum" : 1,
7aacca6f 11620 "optional" : 1,
4bd7df8b 11621 "type" : "integer",
013dc89f 11622 "typetext" : "<integer> (1 - N)"
7aacca6f 11623 },
44660702 11624 "vga" : {
c2993fe5 11625 "description" : "Select the VGA type.",
44660702 11626 "enum" : [
44660702 11627 "cirrus",
44660702 11628 "qxl",
4d47f125
TL
11629 "qxl2",
11630 "qxl3",
11631 "qxl4",
44660702
DM
11632 "serial0",
11633 "serial1",
11634 "serial2",
11635 "serial3",
4d47f125
TL
11636 "std",
11637 "virtio",
11638 "vmware"
44660702 11639 ],
7aacca6f 11640 "optional" : 1,
c2993fe5
DM
11641 "type" : "string",
11642 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
7aacca6f 11643 },
44660702
DM
11644 "virtio[n]" : {
11645 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 11646 "format" : {
7aacca6f 11647 "aio" : {
7aacca6f 11648 "description" : "AIO type to use.",
56122987 11649 "enum" : [
7aacca6f
DM
11650 "native",
11651 "threads"
7aacca6f 11652 ],
44660702
DM
11653 "optional" : 1,
11654 "type" : "string"
56122987 11655 },
44660702
DM
11656 "backup" : {
11657 "description" : "Whether the drive should be included when making backups.",
56122987 11658 "optional" : 1,
44660702 11659 "type" : "boolean"
7aacca6f 11660 },
44660702 11661 "bps" : {
de0983cb 11662 "description" : "Maximum r/w speed in bytes per second.",
44660702 11663 "format_description" : "bps",
7aacca6f 11664 "optional" : 1,
44660702 11665 "type" : "integer"
56122987 11666 },
de0983cb
DM
11667 "bps_max_length" : {
11668 "description" : "Maximum length of I/O bursts in seconds.",
11669 "format_description" : "seconds",
11670 "minimum" : 1,
11671 "optional" : 1,
11672 "type" : "integer"
11673 },
56122987 11674 "bps_rd" : {
de0983cb 11675 "description" : "Maximum read speed in bytes per second.",
44660702 11676 "format_description" : "bps",
56122987 11677 "optional" : 1,
7aacca6f 11678 "type" : "integer"
56122987 11679 },
de0983cb 11680 "bps_rd_length" : {
5d9c884c
DM
11681 "alias" : "bps_rd_max_length"
11682 },
11683 "bps_rd_max_length" : {
de0983cb
DM
11684 "description" : "Maximum length of read I/O bursts in seconds.",
11685 "format_description" : "seconds",
11686 "minimum" : 1,
11687 "optional" : 1,
11688 "type" : "integer"
11689 },
44660702 11690 "bps_wr" : {
de0983cb 11691 "description" : "Maximum write speed in bytes per second.",
44660702 11692 "format_description" : "bps",
56122987 11693 "optional" : 1,
7aacca6f 11694 "type" : "integer"
56122987 11695 },
de0983cb 11696 "bps_wr_length" : {
5d9c884c
DM
11697 "alias" : "bps_wr_max_length"
11698 },
11699 "bps_wr_max_length" : {
de0983cb
DM
11700 "description" : "Maximum length of write I/O bursts in seconds.",
11701 "format_description" : "seconds",
11702 "minimum" : 1,
11703 "optional" : 1,
11704 "type" : "integer"
11705 },
7aacca6f 11706 "cache" : {
44660702 11707 "description" : "The drive's cache mode",
7aacca6f
DM
11708 "enum" : [
11709 "none",
11710 "writethrough",
11711 "writeback",
11712 "unsafe",
11713 "directsync"
11714 ],
56122987 11715 "optional" : 1,
44660702 11716 "type" : "string"
7aacca6f 11717 },
44660702
DM
11718 "cyls" : {
11719 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11720 "optional" : 1,
11721 "type" : "integer"
11722 },
11723 "detect_zeroes" : {
11724 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11725 "optional" : 1,
11726 "type" : "boolean"
11727 },
11728 "discard" : {
11729 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 11730 "enum" : [
44660702
DM
11731 "ignore",
11732 "on"
56122987
DM
11733 ],
11734 "optional" : 1,
44660702 11735 "type" : "string"
56122987 11736 },
44660702
DM
11737 "file" : {
11738 "default_key" : 1,
11739 "description" : "The drive's backing volume.",
11740 "format" : "pve-volume-id-or-qm-path",
11741 "format_description" : "volume",
11742 "type" : "string"
11743 },
11744 "format" : {
11745 "description" : "The drive's backing file's data format.",
11746 "enum" : [
11747 "raw",
11748 "cow",
11749 "qcow",
11750 "qed",
11751 "qcow2",
11752 "vmdk",
11753 "cloop"
11754 ],
56122987 11755 "optional" : 1,
44660702 11756 "type" : "string"
56122987 11757 },
44660702
DM
11758 "heads" : {
11759 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11760 "optional" : 1,
11761 "type" : "integer"
11762 },
11763 "iops" : {
de0983cb 11764 "description" : "Maximum r/w I/O in operations per second.",
44660702 11765 "format_description" : "iops",
56122987 11766 "optional" : 1,
44660702
DM
11767 "type" : "integer"
11768 },
11769 "iops_max" : {
de0983cb 11770 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
11771 "format_description" : "iops",
11772 "optional" : 1,
11773 "type" : "integer"
56122987 11774 },
de0983cb
DM
11775 "iops_max_length" : {
11776 "description" : "Maximum length of I/O bursts in seconds.",
11777 "format_description" : "seconds",
11778 "minimum" : 1,
11779 "optional" : 1,
11780 "type" : "integer"
11781 },
7aacca6f 11782 "iops_rd" : {
de0983cb 11783 "description" : "Maximum read I/O in operations per second.",
7aacca6f 11784 "format_description" : "iops",
7aacca6f 11785 "optional" : 1,
44660702 11786 "type" : "integer"
56122987 11787 },
de0983cb 11788 "iops_rd_length" : {
5d9c884c 11789 "alias" : "iops_rd_max_length"
de0983cb 11790 },
44660702 11791 "iops_rd_max" : {
de0983cb 11792 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
11793 "format_description" : "iops",
11794 "optional" : 1,
11795 "type" : "integer"
11796 },
5d9c884c
DM
11797 "iops_rd_max_length" : {
11798 "description" : "Maximum length of read I/O bursts in seconds.",
11799 "format_description" : "seconds",
11800 "minimum" : 1,
11801 "optional" : 1,
11802 "type" : "integer"
11803 },
44660702 11804 "iops_wr" : {
de0983cb 11805 "description" : "Maximum write I/O in operations per second.",
44660702
DM
11806 "format_description" : "iops",
11807 "optional" : 1,
11808 "type" : "integer"
11809 },
de0983cb 11810 "iops_wr_length" : {
5d9c884c 11811 "alias" : "iops_wr_max_length"
de0983cb 11812 },
44660702 11813 "iops_wr_max" : {
de0983cb 11814 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
11815 "format_description" : "iops",
11816 "optional" : 1,
11817 "type" : "integer"
11818 },
5d9c884c
DM
11819 "iops_wr_max_length" : {
11820 "description" : "Maximum length of write I/O bursts in seconds.",
11821 "format_description" : "seconds",
11822 "minimum" : 1,
11823 "optional" : 1,
11824 "type" : "integer"
11825 },
44660702
DM
11826 "iothread" : {
11827 "description" : "Whether to use iothreads for this drive",
44660702
DM
11828 "optional" : 1,
11829 "type" : "boolean"
11830 },
11831 "mbps" : {
de0983cb 11832 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11833 "format_description" : "mbps",
7aacca6f 11834 "optional" : 1,
44660702 11835 "type" : "number"
7aacca6f
DM
11836 },
11837 "mbps_max" : {
de0983cb 11838 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11839 "format_description" : "mbps",
56122987 11840 "optional" : 1,
44660702 11841 "type" : "number"
56122987 11842 },
44660702 11843 "mbps_rd" : {
de0983cb 11844 "description" : "Maximum read speed in megabytes per second.",
44660702 11845 "format_description" : "mbps",
56122987 11846 "optional" : 1,
44660702 11847 "type" : "number"
56122987 11848 },
44660702 11849 "mbps_rd_max" : {
de0983cb 11850 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11851 "format_description" : "mbps",
11852 "optional" : 1,
11853 "type" : "number"
11854 },
11855 "mbps_wr" : {
de0983cb 11856 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11857 "format_description" : "mbps",
11858 "optional" : 1,
11859 "type" : "number"
11860 },
11861 "mbps_wr_max" : {
de0983cb 11862 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11863 "format_description" : "mbps",
11864 "optional" : 1,
11865 "type" : "number"
11866 },
11867 "media" : {
11868 "default" : "disk",
11869 "description" : "The drive's media type.",
56122987 11870 "enum" : [
44660702
DM
11871 "cdrom",
11872 "disk"
56122987
DM
11873 ],
11874 "optional" : 1,
44660702 11875 "type" : "string"
56122987 11876 },
5d9c884c
DM
11877 "replicate" : {
11878 "default" : 1,
11879 "description" : "Whether the drive should considered for replication jobs.",
11880 "optional" : 1,
11881 "type" : "boolean"
11882 },
44660702
DM
11883 "rerror" : {
11884 "description" : "Read error action.",
11885 "enum" : [
11886 "ignore",
11887 "report",
11888 "stop"
11889 ],
56122987 11890 "optional" : 1,
44660702 11891 "type" : "string"
56122987 11892 },
44660702
DM
11893 "secs" : {
11894 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11895 "optional" : 1,
44660702 11896 "type" : "integer"
56122987 11897 },
7aacca6f
DM
11898 "serial" : {
11899 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 11900 "format" : "urlencoded",
44660702 11901 "format_description" : "serial",
7aacca6f 11902 "maxLength" : 60,
44660702
DM
11903 "optional" : 1,
11904 "type" : "string"
56122987 11905 },
27a7acb2
DM
11906 "shared" : {
11907 "default" : 0,
11908 "description" : "Mark this locally-managed volume as available on all nodes",
11909 "optional" : 1,
11910 "type" : "boolean",
11911 "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!"
11912 },
44660702
DM
11913 "size" : {
11914 "description" : "Disk size. This is purely informational and has no effect.",
11915 "format" : "disk-size",
f004f5b9 11916 "format_description" : "DiskSize",
44660702
DM
11917 "optional" : 1,
11918 "type" : "string"
56122987 11919 },
44660702 11920 "snapshot" : {
27a7acb2 11921 "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 11922 "optional" : 1,
44660702 11923 "type" : "boolean"
56122987 11924 },
44660702
DM
11925 "trans" : {
11926 "description" : "Force disk geometry bios translation mode.",
11927 "enum" : [
11928 "none",
11929 "lba",
11930 "auto"
11931 ],
7aacca6f 11932 "optional" : 1,
44660702 11933 "type" : "string"
7aacca6f 11934 },
44660702
DM
11935 "volume" : {
11936 "alias" : "file"
11937 },
11938 "werror" : {
11939 "description" : "Write error action.",
11940 "enum" : [
11941 "enospc",
11942 "ignore",
11943 "report",
11944 "stop"
11945 ],
7aacca6f 11946 "optional" : 1,
44660702 11947 "type" : "string"
56122987
DM
11948 }
11949 },
7aacca6f 11950 "optional" : 1,
4bd7df8b 11951 "type" : "string",
27a7acb2 11952 "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 11953 },
4d47f125
TL
11954 "vmgenid" : {
11955 "default" : "1 (autogenerated)",
11956 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
11957 "format_description" : "UUID",
11958 "optional" : 1,
11959 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
11960 "type" : "string",
11961 "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."
11962 },
44660702
DM
11963 "vmid" : {
11964 "description" : "The (unique) ID of the VM.",
11965 "format" : "pve-vmid",
11966 "minimum" : 1,
4bd7df8b 11967 "type" : "integer",
013dc89f 11968 "typetext" : "<integer> (1 - N)"
56122987 11969 },
2489d6df
WB
11970 "vmstatestorage" : {
11971 "description" : "Default storage for VM state volumes/files.",
11972 "format" : "pve-storage-id",
11973 "optional" : 1,
11974 "type" : "string",
11975 "typetext" : "<string>"
11976 },
44660702 11977 "watchdog" : {
c2993fe5 11978 "description" : "Create a virtual hardware watchdog device.",
44660702 11979 "format" : "pve-qm-watchdog",
56122987 11980 "optional" : 1,
c2993fe5 11981 "type" : "string",
013dc89f 11982 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 11983 "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 11984 }
7aacca6f 11985 }
56122987 11986 },
56122987
DM
11987 "permissions" : {
11988 "check" : [
11989 "perm",
11990 "/vms/{vmid}",
11991 [
11992 "VM.Config.Disk",
11993 "VM.Config.CDROM",
11994 "VM.Config.CPU",
11995 "VM.Config.Memory",
11996 "VM.Config.Network",
11997 "VM.Config.HWType",
11998 "VM.Config.Options"
11999 ],
12000 "any",
12001 1
12002 ]
12003 },
44660702 12004 "protected" : 1,
7aacca6f 12005 "proxyto" : "node",
56122987 12006 "returns" : {
4d47f125
TL
12007 "optional" : 1,
12008 "type" : "string"
7aacca6f 12009 }
4d47f125
TL
12010 },
12011 "PUT" : {
12012 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
12013 "method" : "PUT",
12014 "name" : "update_vm",
7aacca6f 12015 "parameters" : {
44660702 12016 "additionalProperties" : 0,
7aacca6f 12017 "properties" : {
4d47f125
TL
12018 "acpi" : {
12019 "default" : 1,
12020 "description" : "Enable/disable ACPI.",
12021 "optional" : 1,
12022 "type" : "boolean",
12023 "typetext" : "<boolean>"
7aacca6f 12024 },
4d47f125
TL
12025 "agent" : {
12026 "description" : "Enable/disable Qemu GuestAgent and its properties.",
12027 "format" : {
12028 "enabled" : {
12029 "default" : 0,
12030 "default_key" : 1,
12031 "description" : "Enable/disable Qemu GuestAgent.",
12032 "type" : "boolean"
12033 },
12034 "fstrim_cloned_disks" : {
12035 "default" : 0,
12036 "description" : "Run fstrim after cloning/moving a disk.",
12037 "optional" : 1,
12038 "type" : "boolean"
12039 }
44660702 12040 },
4d47f125
TL
12041 "optional" : 1,
12042 "type" : "string",
12043 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
44660702 12044 },
4d47f125
TL
12045 "args" : {
12046 "description" : "Arbitrary arguments passed to kvm.",
12047 "optional" : 1,
12048 "type" : "string",
12049 "typetext" : "<string>",
12050 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
12051 },
12052 "autostart" : {
12053 "default" : 0,
12054 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 12055 "optional" : 1,
013dc89f
DM
12056 "type" : "boolean",
12057 "typetext" : "<boolean>"
7aacca6f 12058 },
4d47f125
TL
12059 "balloon" : {
12060 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
12061 "minimum" : 0,
12062 "optional" : 1,
12063 "type" : "integer",
12064 "typetext" : "<integer> (0 - N)"
12065 },
12066 "bios" : {
12067 "default" : "seabios",
12068 "description" : "Select BIOS implementation.",
12069 "enum" : [
12070 "seabios",
12071 "ovmf"
12072 ],
12073 "optional" : 1,
12074 "type" : "string"
12075 },
12076 "boot" : {
12077 "default" : "cdn",
12078 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
12079 "optional" : 1,
12080 "pattern" : "[acdn]{1,4}",
12081 "type" : "string"
12082 },
12083 "bootdisk" : {
12084 "description" : "Enable booting from specified disk.",
12085 "format" : "pve-qm-bootdisk",
12086 "optional" : 1,
12087 "pattern" : "(ide|sata|scsi|virtio)\\d+",
12088 "type" : "string"
12089 },
12090 "cdrom" : {
12091 "description" : "This is an alias for option -ide2",
12092 "format" : "pve-qm-ide",
12093 "optional" : 1,
12094 "type" : "string",
12095 "typetext" : "<volume>"
12096 },
12097 "cipassword" : {
12098 "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.",
12099 "optional" : 1,
013dc89f
DM
12100 "type" : "string",
12101 "typetext" : "<string>"
44660702 12102 },
4d47f125
TL
12103 "citype" : {
12104 "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.",
12105 "enum" : [
12106 "configdrive2",
12107 "nocloud"
12108 ],
12109 "optional" : 1,
12110 "type" : "string"
12111 },
12112 "ciuser" : {
12113 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
12114 "optional" : 1,
013dc89f
DM
12115 "type" : "string",
12116 "typetext" : "<string>"
56122987 12117 },
4d47f125
TL
12118 "cores" : {
12119 "default" : 1,
12120 "description" : "The number of cores per socket.",
7aacca6f 12121 "minimum" : 1,
4d47f125 12122 "optional" : 1,
4bd7df8b 12123 "type" : "integer",
013dc89f 12124 "typetext" : "<integer> (1 - N)"
4d47f125
TL
12125 },
12126 "cpu" : {
12127 "description" : "Emulated CPU type.",
12128 "format" : {
12129 "cputype" : {
12130 "default" : "kvm64",
12131 "default_key" : 1,
12132 "description" : "Emulated CPU type.",
12133 "enum" : [
12134 "486",
12135 "athlon",
12136 "Broadwell",
12137 "Broadwell-IBRS",
12138 "Broadwell-noTSX",
12139 "Broadwell-noTSX-IBRS",
12140 "Conroe",
12141 "core2duo",
12142 "coreduo",
12143 "EPYC",
12144 "EPYC-IBPB",
12145 "Haswell",
12146 "Haswell-IBRS",
12147 "Haswell-noTSX",
12148 "Haswell-noTSX-IBRS",
12149 "host",
12150 "IvyBridge",
12151 "IvyBridge-IBRS",
12152 "kvm32",
12153 "kvm64",
12154 "max",
12155 "Nehalem",
12156 "Nehalem-IBRS",
12157 "Opteron_G1",
12158 "Opteron_G2",
12159 "Opteron_G3",
12160 "Opteron_G4",
12161 "Opteron_G5",
12162 "Penryn",
12163 "pentium",
12164 "pentium2",
12165 "pentium3",
12166 "phenom",
12167 "qemu32",
12168 "qemu64",
12169 "SandyBridge",
12170 "SandyBridge-IBRS",
12171 "Skylake-Client",
12172 "Skylake-Client-IBRS",
12173 "Skylake-Server",
12174 "Skylake-Server-IBRS",
12175 "Westmere",
12176 "Westmere-IBRS"
12177 ],
12178 "type" : "string"
12179 },
12180 "flags" : {
12181 "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'.",
12182 "format_description" : "+FLAG[;-FLAG...]",
12183 "optional" : 1,
12184 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
12185 "type" : "string"
12186 },
12187 "hidden" : {
12188 "default" : 0,
12189 "description" : "Do not identify as a KVM virtual machine.",
12190 "optional" : 1,
12191 "type" : "boolean"
12192 }
12193 },
12194 "optional" : 1,
013dc89f 12195 "type" : "string",
4d47f125 12196 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702 12197 },
4d47f125
TL
12198 "cpulimit" : {
12199 "default" : 0,
12200 "description" : "Limit of CPU usage.",
12201 "maximum" : 128,
12202 "minimum" : 0,
12203 "optional" : 1,
12204 "type" : "number",
12205 "typetext" : "<number> (0 - 128)",
12206 "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."
12207 },
12208 "cpuunits" : {
12209 "default" : 1024,
12210 "description" : "CPU weight for a VM.",
12211 "maximum" : 262144,
12212 "minimum" : 2,
12213 "optional" : 1,
4bd7df8b 12214 "type" : "integer",
4d47f125
TL
12215 "typetext" : "<integer> (2 - 262144)",
12216 "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 12217 },
4d47f125
TL
12218 "delete" : {
12219 "description" : "A list of settings you want to delete.",
12220 "format" : "pve-configid-list",
12221 "optional" : 1,
12222 "type" : "string",
12223 "typetext" : "<string>"
12224 },
12225 "description" : {
12226 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
12227 "optional" : 1,
12228 "type" : "string",
12229 "typetext" : "<string>"
12230 },
12231 "digest" : {
12232 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12233 "maxLength" : 40,
44660702 12234 "optional" : 1,
4d47f125
TL
12235 "type" : "string",
12236 "typetext" : "<string>"
12237 },
12238 "efidisk0" : {
12239 "description" : "Configure a Disk for storing EFI vars",
12240 "format" : {
12241 "file" : {
12242 "default_key" : 1,
12243 "description" : "The drive's backing volume.",
12244 "format" : "pve-volume-id-or-qm-path",
12245 "format_description" : "volume",
12246 "type" : "string"
12247 },
12248 "format" : {
12249 "description" : "The drive's backing file's data format.",
12250 "enum" : [
12251 "raw",
12252 "cow",
12253 "qcow",
12254 "qed",
12255 "qcow2",
12256 "vmdk",
12257 "cloop"
12258 ],
12259 "optional" : 1,
12260 "type" : "string"
12261 },
12262 "size" : {
12263 "description" : "Disk size. This is purely informational and has no effect.",
12264 "format" : "disk-size",
12265 "format_description" : "DiskSize",
12266 "optional" : 1,
12267 "type" : "string"
12268 },
12269 "volume" : {
12270 "alias" : "file"
12271 }
12272 },
12273 "optional" : 1,
12274 "type" : "string",
12275 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
12276 },
12277 "force" : {
12278 "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.",
12279 "optional" : 1,
12280 "requires" : "delete",
013dc89f
DM
12281 "type" : "boolean",
12282 "typetext" : "<boolean>"
56122987 12283 },
4d47f125
TL
12284 "freeze" : {
12285 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
12286 "optional" : 1,
12287 "type" : "boolean",
12288 "typetext" : "<boolean>"
7aacca6f 12289 },
4d47f125
TL
12290 "hostpci[n]" : {
12291 "description" : "Map host PCI devices into guest.",
12292 "format" : "pve-qm-hostpci",
12293 "optional" : 1,
12294 "type" : "string",
12295 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
12296 "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 12297 },
4d47f125
TL
12298 "hotplug" : {
12299 "default" : "network,disk,usb",
12300 "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'.",
12301 "format" : "pve-hotplug-features",
12302 "optional" : 1,
35a75dd3
DM
12303 "type" : "string",
12304 "typetext" : "<string>"
12305 },
4d47f125
TL
12306 "hugepages" : {
12307 "description" : "Enable/disable hugepages memory.",
35a75dd3 12308 "enum" : [
4d47f125
TL
12309 "any",
12310 "2",
12311 "1024"
35a75dd3
DM
12312 ],
12313 "optional" : 1,
12314 "type" : "string"
12315 },
4d47f125
TL
12316 "ide[n]" : {
12317 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
12318 "format" : {
12319 "aio" : {
12320 "description" : "AIO type to use.",
12321 "enum" : [
12322 "native",
12323 "threads"
12324 ],
44660702 12325 "optional" : 1,
44660702
DM
12326 "type" : "string"
12327 },
4d47f125
TL
12328 "backup" : {
12329 "description" : "Whether the drive should be included when making backups.",
56122987 12330 "optional" : 1,
4d47f125 12331 "type" : "boolean"
56122987 12332 },
4d47f125
TL
12333 "bps" : {
12334 "description" : "Maximum r/w speed in bytes per second.",
12335 "format_description" : "bps",
de0983cb 12336 "optional" : 1,
4d47f125 12337 "type" : "integer"
de0983cb 12338 },
4d47f125
TL
12339 "bps_max_length" : {
12340 "description" : "Maximum length of I/O bursts in seconds.",
12341 "format_description" : "seconds",
12342 "minimum" : 1,
de0983cb 12343 "optional" : 1,
4d47f125 12344 "type" : "integer"
7aacca6f 12345 },
4d47f125
TL
12346 "bps_rd" : {
12347 "description" : "Maximum read speed in bytes per second.",
12348 "format_description" : "bps",
7aacca6f 12349 "optional" : 1,
4d47f125 12350 "type" : "integer"
56122987 12351 },
4d47f125
TL
12352 "bps_rd_length" : {
12353 "alias" : "bps_rd_max_length"
12354 },
12355 "bps_rd_max_length" : {
12356 "description" : "Maximum length of read I/O bursts in seconds.",
12357 "format_description" : "seconds",
12358 "minimum" : 1,
56122987 12359 "optional" : 1,
4d47f125 12360 "type" : "integer"
56122987 12361 },
4d47f125
TL
12362 "bps_wr" : {
12363 "description" : "Maximum write speed in bytes per second.",
12364 "format_description" : "bps",
52e44c50 12365 "optional" : 1,
4d47f125 12366 "type" : "integer"
52e44c50 12367 },
4d47f125
TL
12368 "bps_wr_length" : {
12369 "alias" : "bps_wr_max_length"
12370 },
12371 "bps_wr_max_length" : {
12372 "description" : "Maximum length of write I/O bursts in seconds.",
12373 "format_description" : "seconds",
44660702 12374 "minimum" : 1,
56122987 12375 "optional" : 1,
4d47f125 12376 "type" : "integer"
56122987 12377 },
4d47f125
TL
12378 "cache" : {
12379 "description" : "The drive's cache mode",
12380 "enum" : [
12381 "none",
12382 "writethrough",
12383 "writeback",
12384 "unsafe",
12385 "directsync"
12386 ],
7aacca6f 12387 "optional" : 1,
4d47f125 12388 "type" : "string"
7aacca6f 12389 },
4d47f125
TL
12390 "cyls" : {
12391 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
12392 "optional" : 1,
12393 "type" : "integer"
56122987 12394 },
4d47f125
TL
12395 "detect_zeroes" : {
12396 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12397 "optional" : 1,
4d47f125 12398 "type" : "boolean"
56122987 12399 },
4d47f125
TL
12400 "discard" : {
12401 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12402 "enum" : [
12403 "ignore",
12404 "on"
12405 ],
56122987 12406 "optional" : 1,
4d47f125 12407 "type" : "string"
7aacca6f 12408 },
4d47f125
TL
12409 "file" : {
12410 "default_key" : 1,
12411 "description" : "The drive's backing volume.",
12412 "format" : "pve-volume-id-or-qm-path",
12413 "format_description" : "volume",
12414 "type" : "string"
56122987 12415 },
4d47f125
TL
12416 "format" : {
12417 "description" : "The drive's backing file's data format.",
12418 "enum" : [
12419 "raw",
12420 "cow",
12421 "qcow",
12422 "qed",
12423 "qcow2",
12424 "vmdk",
12425 "cloop"
12426 ],
7aacca6f 12427 "optional" : 1,
4d47f125 12428 "type" : "string"
7aacca6f 12429 },
4d47f125
TL
12430 "heads" : {
12431 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 12432 "optional" : 1,
4d47f125 12433 "type" : "integer"
56122987 12434 },
4d47f125
TL
12435 "iops" : {
12436 "description" : "Maximum r/w I/O in operations per second.",
12437 "format_description" : "iops",
44660702 12438 "optional" : 1,
4d47f125 12439 "type" : "integer"
44660702 12440 },
4d47f125
TL
12441 "iops_max" : {
12442 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
12443 "format_description" : "iops",
44660702 12444 "optional" : 1,
4d47f125 12445 "type" : "integer"
56122987 12446 },
4d47f125
TL
12447 "iops_max_length" : {
12448 "description" : "Maximum length of I/O bursts in seconds.",
12449 "format_description" : "seconds",
12450 "minimum" : 1,
7aacca6f 12451 "optional" : 1,
4d47f125 12452 "type" : "integer"
7aacca6f 12453 },
4d47f125
TL
12454 "iops_rd" : {
12455 "description" : "Maximum read I/O in operations per second.",
12456 "format_description" : "iops",
12457 "optional" : 1,
12458 "type" : "integer"
12459 },
12460 "iops_rd_length" : {
12461 "alias" : "iops_rd_max_length"
12462 },
12463 "iops_rd_max" : {
12464 "description" : "Maximum unthrottled read I/O pool in operations per second.",
12465 "format_description" : "iops",
12466 "optional" : 1,
12467 "type" : "integer"
12468 },
12469 "iops_rd_max_length" : {
12470 "description" : "Maximum length of read I/O bursts in seconds.",
12471 "format_description" : "seconds",
44660702 12472 "minimum" : 1,
4d47f125
TL
12473 "optional" : 1,
12474 "type" : "integer"
7aacca6f 12475 },
4d47f125
TL
12476 "iops_wr" : {
12477 "description" : "Maximum write I/O in operations per second.",
12478 "format_description" : "iops",
44660702 12479 "optional" : 1,
4d47f125 12480 "type" : "integer"
44660702 12481 },
4d47f125
TL
12482 "iops_wr_length" : {
12483 "alias" : "iops_wr_max_length"
12484 },
12485 "iops_wr_max" : {
12486 "description" : "Maximum unthrottled write I/O pool in operations per second.",
12487 "format_description" : "iops",
12488 "optional" : 1,
12489 "type" : "integer"
12490 },
12491 "iops_wr_max_length" : {
12492 "description" : "Maximum length of write I/O bursts in seconds.",
12493 "format_description" : "seconds",
44660702 12494 "minimum" : 1,
44660702 12495 "optional" : 1,
4d47f125 12496 "type" : "integer"
44660702 12497 },
4d47f125
TL
12498 "mbps" : {
12499 "description" : "Maximum r/w speed in megabytes per second.",
12500 "format_description" : "mbps",
12501 "optional" : 1,
12502 "type" : "number"
56122987 12503 },
4d47f125
TL
12504 "mbps_max" : {
12505 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
12506 "format_description" : "mbps",
12507 "optional" : 1,
12508 "type" : "number"
12509 },
12510 "mbps_rd" : {
12511 "description" : "Maximum read speed in megabytes per second.",
12512 "format_description" : "mbps",
12513 "optional" : 1,
12514 "type" : "number"
12515 },
12516 "mbps_rd_max" : {
12517 "description" : "Maximum unthrottled read pool in megabytes per second.",
12518 "format_description" : "mbps",
12519 "optional" : 1,
12520 "type" : "number"
12521 },
12522 "mbps_wr" : {
12523 "description" : "Maximum write speed in megabytes per second.",
12524 "format_description" : "mbps",
12525 "optional" : 1,
12526 "type" : "number"
12527 },
12528 "mbps_wr_max" : {
12529 "description" : "Maximum unthrottled write pool in megabytes per second.",
12530 "format_description" : "mbps",
12531 "optional" : 1,
12532 "type" : "number"
12533 },
12534 "media" : {
12535 "default" : "disk",
12536 "description" : "The drive's media type.",
12537 "enum" : [
12538 "cdrom",
12539 "disk"
12540 ],
12541 "optional" : 1,
12542 "type" : "string"
12543 },
12544 "model" : {
12545 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
12546 "format" : "urlencoded",
12547 "format_description" : "model",
12548 "maxLength" : 120,
12549 "optional" : 1,
12550 "type" : "string"
12551 },
12552 "replicate" : {
12553 "default" : 1,
12554 "description" : "Whether the drive should considered for replication jobs.",
12555 "optional" : 1,
12556 "type" : "boolean"
12557 },
12558 "rerror" : {
12559 "description" : "Read error action.",
12560 "enum" : [
12561 "ignore",
12562 "report",
12563 "stop"
12564 ],
12565 "optional" : 1,
12566 "type" : "string"
12567 },
12568 "secs" : {
12569 "description" : "Force the drive's physical geometry to have a specific sector count.",
12570 "optional" : 1,
12571 "type" : "integer"
12572 },
12573 "serial" : {
12574 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12575 "format" : "urlencoded",
12576 "format_description" : "serial",
12577 "maxLength" : 60,
12578 "optional" : 1,
12579 "type" : "string"
12580 },
12581 "shared" : {
12582 "default" : 0,
12583 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 12584 "optional" : 1,
013dc89f 12585 "type" : "boolean",
4d47f125 12586 "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 12587 },
4d47f125
TL
12588 "size" : {
12589 "description" : "Disk size. This is purely informational and has no effect.",
12590 "format" : "disk-size",
12591 "format_description" : "DiskSize",
12592 "optional" : 1,
12593 "type" : "string"
12594 },
12595 "snapshot" : {
12596 "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.",
12597 "optional" : 1,
12598 "type" : "boolean"
12599 },
25203dc1
NC
12600 "ssd" : {
12601 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12602 "optional" : 1,
12603 "type" : "boolean"
12604 },
4d47f125
TL
12605 "trans" : {
12606 "description" : "Force disk geometry bios translation mode.",
12607 "enum" : [
12608 "none",
12609 "lba",
12610 "auto"
12611 ],
12612 "optional" : 1,
12613 "type" : "string"
12614 },
12615 "volume" : {
12616 "alias" : "file"
12617 },
12618 "werror" : {
12619 "description" : "Write error action.",
12620 "enum" : [
12621 "enospc",
12622 "ignore",
12623 "report",
12624 "stop"
12625 ],
12626 "optional" : 1,
12627 "type" : "string"
12628 }
12629 },
12630 "optional" : 1,
013dc89f 12631 "type" : "string",
25203dc1 12632 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702 12633 },
4d47f125
TL
12634 "ipconfig[n]" : {
12635 "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",
12636 "format" : "pve-qm-ipconfig",
12637 "optional" : 1,
013dc89f 12638 "type" : "string",
4d47f125 12639 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 12640 },
4d47f125
TL
12641 "keyboard" : {
12642 "default" : null,
12643 "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.",
12644 "enum" : [
12645 "de",
12646 "de-ch",
12647 "da",
12648 "en-gb",
12649 "en-us",
12650 "es",
12651 "fi",
12652 "fr",
12653 "fr-be",
12654 "fr-ca",
12655 "fr-ch",
12656 "hu",
12657 "is",
12658 "it",
12659 "ja",
12660 "lt",
12661 "mk",
12662 "nl",
12663 "no",
12664 "pl",
12665 "pt",
12666 "pt-br",
12667 "sv",
12668 "sl",
12669 "tr"
12670 ],
12671 "optional" : 1,
12672 "type" : "string"
44660702 12673 },
4d47f125
TL
12674 "kvm" : {
12675 "default" : 1,
12676 "description" : "Enable/disable KVM hardware virtualization.",
44660702 12677 "optional" : 1,
013dc89f
DM
12678 "type" : "boolean",
12679 "typetext" : "<boolean>"
7aacca6f 12680 },
4d47f125
TL
12681 "localtime" : {
12682 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
12683 "optional" : 1,
12684 "type" : "boolean",
12685 "typetext" : "<boolean>"
12686 },
12687 "lock" : {
12688 "description" : "Lock/unlock the VM.",
56122987 12689 "enum" : [
4d47f125
TL
12690 "migrate",
12691 "backup",
56122987 12692 "snapshot",
4d47f125 12693 "rollback"
56122987 12694 ],
4d47f125 12695 "optional" : 1,
44660702
DM
12696 "type" : "string"
12697 },
4d47f125
TL
12698 "machine" : {
12699 "description" : "Specifies the Qemu machine type.",
12700 "maxLength" : 40,
12701 "optional" : 1,
12702 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
12703 "type" : "string"
12704 },
12705 "memory" : {
12706 "default" : 512,
12707 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
12708 "minimum" : 16,
12709 "optional" : 1,
12710 "type" : "integer",
12711 "typetext" : "<integer> (16 - N)"
12712 },
12713 "migrate_downtime" : {
12714 "default" : 0.1,
12715 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
12716 "minimum" : 0,
12717 "optional" : 1,
12718 "type" : "number",
12719 "typetext" : "<number> (0 - N)"
12720 },
12721 "migrate_speed" : {
12722 "default" : 0,
12723 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
12724 "minimum" : 0,
12725 "optional" : 1,
12726 "type" : "integer",
12727 "typetext" : "<integer> (0 - N)"
12728 },
12729 "name" : {
12730 "description" : "Set a name for the VM. Only used on the configuration web interface.",
12731 "format" : "dns-name",
12732 "optional" : 1,
013dc89f
DM
12733 "type" : "string",
12734 "typetext" : "<string>"
56122987 12735 },
4d47f125
TL
12736 "nameserver" : {
12737 "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.",
12738 "format" : "address-list",
7aacca6f 12739 "optional" : 1,
013dc89f
DM
12740 "type" : "string",
12741 "typetext" : "<string>"
7aacca6f 12742 },
4d47f125
TL
12743 "net[n]" : {
12744 "description" : "Specify network devices.",
12745 "format" : {
12746 "bridge" : {
12747 "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",
12748 "format_description" : "bridge",
12749 "optional" : 1,
12750 "type" : "string"
12751 },
12752 "e1000" : {
12753 "alias" : "macaddr",
12754 "keyAlias" : "model"
12755 },
12756 "e1000-82540em" : {
12757 "alias" : "macaddr",
12758 "keyAlias" : "model"
12759 },
12760 "e1000-82544gc" : {
12761 "alias" : "macaddr",
12762 "keyAlias" : "model"
12763 },
12764 "e1000-82545em" : {
12765 "alias" : "macaddr",
12766 "keyAlias" : "model"
12767 },
12768 "firewall" : {
12769 "description" : "Whether this interface should be protected by the firewall.",
12770 "optional" : 1,
12771 "type" : "boolean"
12772 },
12773 "i82551" : {
12774 "alias" : "macaddr",
12775 "keyAlias" : "model"
12776 },
12777 "i82557b" : {
12778 "alias" : "macaddr",
12779 "keyAlias" : "model"
12780 },
12781 "i82559er" : {
12782 "alias" : "macaddr",
12783 "keyAlias" : "model"
12784 },
12785 "link_down" : {
12786 "description" : "Whether this interface should be disconnected (like pulling the plug).",
12787 "optional" : 1,
12788 "type" : "boolean"
12789 },
12790 "macaddr" : {
12791 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
12792 "format_description" : "XX:XX:XX:XX:XX:XX",
12793 "optional" : 1,
12794 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
12795 "type" : "string"
12796 },
12797 "model" : {
12798 "default_key" : 1,
12799 "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'.",
12800 "enum" : [
12801 "rtl8139",
12802 "ne2k_pci",
12803 "e1000",
12804 "pcnet",
12805 "virtio",
12806 "ne2k_isa",
12807 "i82551",
12808 "i82557b",
12809 "i82559er",
12810 "vmxnet3",
12811 "e1000-82540em",
12812 "e1000-82544gc",
12813 "e1000-82545em"
12814 ],
12815 "type" : "string"
12816 },
12817 "ne2k_isa" : {
12818 "alias" : "macaddr",
12819 "keyAlias" : "model"
12820 },
12821 "ne2k_pci" : {
12822 "alias" : "macaddr",
12823 "keyAlias" : "model"
12824 },
12825 "pcnet" : {
12826 "alias" : "macaddr",
12827 "keyAlias" : "model"
12828 },
12829 "queues" : {
12830 "description" : "Number of packet queues to be used on the device.",
12831 "maximum" : 16,
12832 "minimum" : 0,
12833 "optional" : 1,
12834 "type" : "integer"
12835 },
12836 "rate" : {
12837 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
12838 "minimum" : 0,
12839 "optional" : 1,
12840 "type" : "number"
12841 },
12842 "rtl8139" : {
12843 "alias" : "macaddr",
12844 "keyAlias" : "model"
12845 },
12846 "tag" : {
12847 "description" : "VLAN tag to apply to packets on this interface.",
12848 "maximum" : 4094,
12849 "minimum" : 1,
12850 "optional" : 1,
12851 "type" : "integer"
12852 },
12853 "trunks" : {
12854 "description" : "VLAN trunks to pass through this interface.",
12855 "format_description" : "vlanid[;vlanid...]",
12856 "optional" : 1,
12857 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12858 "type" : "string"
12859 },
12860 "virtio" : {
12861 "alias" : "macaddr",
12862 "keyAlias" : "model"
12863 },
12864 "vmxnet3" : {
12865 "alias" : "macaddr",
12866 "keyAlias" : "model"
12867 }
44660702 12868 },
44660702 12869 "optional" : 1,
013dc89f 12870 "type" : "string",
4d47f125 12871 "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
12872 },
12873 "node" : {
12874 "description" : "The cluster node name.",
12875 "format" : "pve-node",
013dc89f
DM
12876 "type" : "string",
12877 "typetext" : "<string>"
7aacca6f 12878 },
4d47f125
TL
12879 "numa" : {
12880 "default" : 0,
12881 "description" : "Enable/disable NUMA.",
56122987 12882 "optional" : 1,
4d47f125
TL
12883 "type" : "boolean",
12884 "typetext" : "<boolean>"
56122987 12885 },
4d47f125
TL
12886 "numa[n]" : {
12887 "description" : "NUMA topology.",
12888 "format" : {
12889 "cpus" : {
12890 "description" : "CPUs accessing this NUMA node.",
12891 "format_description" : "id[-id];...",
12892 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12893 "type" : "string"
12894 },
12895 "hostnodes" : {
12896 "description" : "Host NUMA nodes to use.",
12897 "format_description" : "id[-id];...",
12898 "optional" : 1,
12899 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12900 "type" : "string"
12901 },
12902 "memory" : {
12903 "description" : "Amount of memory this NUMA node provides.",
12904 "optional" : 1,
12905 "type" : "number"
12906 },
12907 "policy" : {
12908 "description" : "NUMA allocation policy.",
12909 "enum" : [
12910 "preferred",
12911 "bind",
12912 "interleave"
12913 ],
12914 "optional" : 1,
12915 "type" : "string"
12916 }
12917 },
7aacca6f 12918 "optional" : 1,
013dc89f 12919 "type" : "string",
4d47f125 12920 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 12921 },
4d47f125 12922 "onboot" : {
44660702 12923 "default" : 0,
4d47f125 12924 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 12925 "optional" : 1,
013dc89f
DM
12926 "type" : "boolean",
12927 "typetext" : "<boolean>"
56122987 12928 },
4d47f125
TL
12929 "ostype" : {
12930 "description" : "Specify guest operating system.",
7aacca6f 12931 "enum" : [
4d47f125
TL
12932 "other",
12933 "wxp",
12934 "w2k",
12935 "w2k3",
12936 "w2k8",
12937 "wvista",
12938 "win7",
12939 "win8",
12940 "win10",
12941 "l24",
12942 "l26",
12943 "solaris"
7aacca6f
DM
12944 ],
12945 "optional" : 1,
013dc89f 12946 "type" : "string",
4d47f125 12947 "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 12948 },
4d47f125
TL
12949 "parallel[n]" : {
12950 "description" : "Map host parallel devices (n is 0 to 2).",
12951 "optional" : 1,
12952 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 12953 "type" : "string",
4d47f125 12954 "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 12955 },
4d47f125
TL
12956 "protection" : {
12957 "default" : 0,
12958 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 12959 "optional" : 1,
013dc89f
DM
12960 "type" : "boolean",
12961 "typetext" : "<boolean>"
44660702 12962 },
4d47f125
TL
12963 "reboot" : {
12964 "default" : 1,
12965 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 12966 "optional" : 1,
013dc89f
DM
12967 "type" : "boolean",
12968 "typetext" : "<boolean>"
56122987 12969 },
4d47f125
TL
12970 "revert" : {
12971 "description" : "Revert a pending change.",
12972 "format" : "pve-configid-list",
12973 "optional" : 1,
013dc89f
DM
12974 "type" : "string",
12975 "typetext" : "<string>"
56122987 12976 },
4d47f125
TL
12977 "sata[n]" : {
12978 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
12979 "format" : {
12980 "aio" : {
12981 "description" : "AIO type to use.",
12982 "enum" : [
12983 "native",
12984 "threads"
12985 ],
12986 "optional" : 1,
12987 "type" : "string"
12988 },
12989 "backup" : {
12990 "description" : "Whether the drive should be included when making backups.",
12991 "optional" : 1,
12992 "type" : "boolean"
12993 },
12994 "bps" : {
12995 "description" : "Maximum r/w speed in bytes per second.",
12996 "format_description" : "bps",
12997 "optional" : 1,
12998 "type" : "integer"
12999 },
13000 "bps_max_length" : {
13001 "description" : "Maximum length of I/O bursts in seconds.",
13002 "format_description" : "seconds",
13003 "minimum" : 1,
13004 "optional" : 1,
13005 "type" : "integer"
13006 },
13007 "bps_rd" : {
13008 "description" : "Maximum read speed in bytes per second.",
13009 "format_description" : "bps",
13010 "optional" : 1,
13011 "type" : "integer"
13012 },
13013 "bps_rd_length" : {
13014 "alias" : "bps_rd_max_length"
13015 },
13016 "bps_rd_max_length" : {
13017 "description" : "Maximum length of read I/O bursts in seconds.",
13018 "format_description" : "seconds",
13019 "minimum" : 1,
13020 "optional" : 1,
13021 "type" : "integer"
13022 },
13023 "bps_wr" : {
13024 "description" : "Maximum write speed in bytes per second.",
13025 "format_description" : "bps",
13026 "optional" : 1,
13027 "type" : "integer"
13028 },
13029 "bps_wr_length" : {
13030 "alias" : "bps_wr_max_length"
13031 },
13032 "bps_wr_max_length" : {
13033 "description" : "Maximum length of write I/O bursts in seconds.",
13034 "format_description" : "seconds",
13035 "minimum" : 1,
13036 "optional" : 1,
13037 "type" : "integer"
13038 },
13039 "cache" : {
13040 "description" : "The drive's cache mode",
13041 "enum" : [
13042 "none",
13043 "writethrough",
13044 "writeback",
13045 "unsafe",
13046 "directsync"
13047 ],
13048 "optional" : 1,
13049 "type" : "string"
13050 },
13051 "cyls" : {
13052 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13053 "optional" : 1,
13054 "type" : "integer"
13055 },
13056 "detect_zeroes" : {
13057 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13058 "optional" : 1,
13059 "type" : "boolean"
13060 },
13061 "discard" : {
13062 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13063 "enum" : [
13064 "ignore",
13065 "on"
13066 ],
13067 "optional" : 1,
13068 "type" : "string"
13069 },
13070 "file" : {
13071 "default_key" : 1,
13072 "description" : "The drive's backing volume.",
13073 "format" : "pve-volume-id-or-qm-path",
13074 "format_description" : "volume",
13075 "type" : "string"
13076 },
13077 "format" : {
13078 "description" : "The drive's backing file's data format.",
13079 "enum" : [
13080 "raw",
13081 "cow",
13082 "qcow",
13083 "qed",
13084 "qcow2",
13085 "vmdk",
13086 "cloop"
13087 ],
13088 "optional" : 1,
13089 "type" : "string"
13090 },
13091 "heads" : {
13092 "description" : "Force the drive's physical geometry to have a specific head count.",
13093 "optional" : 1,
13094 "type" : "integer"
13095 },
13096 "iops" : {
13097 "description" : "Maximum r/w I/O in operations per second.",
13098 "format_description" : "iops",
13099 "optional" : 1,
13100 "type" : "integer"
13101 },
13102 "iops_max" : {
13103 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13104 "format_description" : "iops",
13105 "optional" : 1,
13106 "type" : "integer"
13107 },
13108 "iops_max_length" : {
13109 "description" : "Maximum length of I/O bursts in seconds.",
13110 "format_description" : "seconds",
13111 "minimum" : 1,
13112 "optional" : 1,
13113 "type" : "integer"
13114 },
13115 "iops_rd" : {
13116 "description" : "Maximum read I/O in operations per second.",
13117 "format_description" : "iops",
13118 "optional" : 1,
13119 "type" : "integer"
13120 },
13121 "iops_rd_length" : {
13122 "alias" : "iops_rd_max_length"
13123 },
13124 "iops_rd_max" : {
13125 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13126 "format_description" : "iops",
13127 "optional" : 1,
13128 "type" : "integer"
13129 },
13130 "iops_rd_max_length" : {
13131 "description" : "Maximum length of read I/O bursts in seconds.",
13132 "format_description" : "seconds",
13133 "minimum" : 1,
13134 "optional" : 1,
13135 "type" : "integer"
13136 },
13137 "iops_wr" : {
13138 "description" : "Maximum write I/O in operations per second.",
13139 "format_description" : "iops",
13140 "optional" : 1,
13141 "type" : "integer"
13142 },
13143 "iops_wr_length" : {
13144 "alias" : "iops_wr_max_length"
13145 },
13146 "iops_wr_max" : {
13147 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13148 "format_description" : "iops",
13149 "optional" : 1,
13150 "type" : "integer"
13151 },
13152 "iops_wr_max_length" : {
13153 "description" : "Maximum length of write I/O bursts in seconds.",
13154 "format_description" : "seconds",
13155 "minimum" : 1,
13156 "optional" : 1,
13157 "type" : "integer"
13158 },
13159 "mbps" : {
13160 "description" : "Maximum r/w speed in megabytes per second.",
13161 "format_description" : "mbps",
13162 "optional" : 1,
13163 "type" : "number"
13164 },
13165 "mbps_max" : {
13166 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13167 "format_description" : "mbps",
13168 "optional" : 1,
13169 "type" : "number"
13170 },
13171 "mbps_rd" : {
13172 "description" : "Maximum read speed in megabytes per second.",
13173 "format_description" : "mbps",
13174 "optional" : 1,
13175 "type" : "number"
13176 },
13177 "mbps_rd_max" : {
13178 "description" : "Maximum unthrottled read pool in megabytes per second.",
13179 "format_description" : "mbps",
13180 "optional" : 1,
13181 "type" : "number"
13182 },
13183 "mbps_wr" : {
13184 "description" : "Maximum write speed in megabytes per second.",
13185 "format_description" : "mbps",
13186 "optional" : 1,
13187 "type" : "number"
13188 },
13189 "mbps_wr_max" : {
13190 "description" : "Maximum unthrottled write pool in megabytes per second.",
13191 "format_description" : "mbps",
13192 "optional" : 1,
13193 "type" : "number"
13194 },
13195 "media" : {
13196 "default" : "disk",
13197 "description" : "The drive's media type.",
13198 "enum" : [
13199 "cdrom",
13200 "disk"
13201 ],
13202 "optional" : 1,
13203 "type" : "string"
13204 },
13205 "replicate" : {
13206 "default" : 1,
13207 "description" : "Whether the drive should considered for replication jobs.",
13208 "optional" : 1,
13209 "type" : "boolean"
13210 },
13211 "rerror" : {
13212 "description" : "Read error action.",
13213 "enum" : [
13214 "ignore",
13215 "report",
13216 "stop"
13217 ],
13218 "optional" : 1,
13219 "type" : "string"
13220 },
13221 "secs" : {
13222 "description" : "Force the drive's physical geometry to have a specific sector count.",
13223 "optional" : 1,
13224 "type" : "integer"
13225 },
13226 "serial" : {
13227 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13228 "format" : "urlencoded",
13229 "format_description" : "serial",
13230 "maxLength" : 60,
13231 "optional" : 1,
13232 "type" : "string"
13233 },
13234 "shared" : {
13235 "default" : 0,
13236 "description" : "Mark this locally-managed volume as available on all nodes",
13237 "optional" : 1,
13238 "type" : "boolean",
13239 "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!"
13240 },
13241 "size" : {
13242 "description" : "Disk size. This is purely informational and has no effect.",
13243 "format" : "disk-size",
13244 "format_description" : "DiskSize",
13245 "optional" : 1,
13246 "type" : "string"
13247 },
13248 "snapshot" : {
13249 "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.",
13250 "optional" : 1,
13251 "type" : "boolean"
13252 },
25203dc1
NC
13253 "ssd" : {
13254 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13255 "optional" : 1,
13256 "type" : "boolean"
13257 },
4d47f125
TL
13258 "trans" : {
13259 "description" : "Force disk geometry bios translation mode.",
13260 "enum" : [
13261 "none",
13262 "lba",
13263 "auto"
13264 ],
13265 "optional" : 1,
13266 "type" : "string"
13267 },
13268 "volume" : {
13269 "alias" : "file"
13270 },
13271 "werror" : {
13272 "description" : "Write error action.",
13273 "enum" : [
13274 "enospc",
13275 "ignore",
13276 "report",
13277 "stop"
13278 ],
13279 "optional" : 1,
13280 "type" : "string"
13281 }
13282 },
13283 "optional" : 1,
13284 "type" : "string",
25203dc1 13285 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
4d47f125
TL
13286 },
13287 "scsi[n]" : {
13288 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
13289 "format" : {
13290 "aio" : {
13291 "description" : "AIO type to use.",
13292 "enum" : [
13293 "native",
13294 "threads"
13295 ],
13296 "optional" : 1,
13297 "type" : "string"
13298 },
13299 "backup" : {
13300 "description" : "Whether the drive should be included when making backups.",
13301 "optional" : 1,
13302 "type" : "boolean"
13303 },
13304 "bps" : {
13305 "description" : "Maximum r/w speed in bytes per second.",
13306 "format_description" : "bps",
13307 "optional" : 1,
13308 "type" : "integer"
13309 },
13310 "bps_max_length" : {
13311 "description" : "Maximum length of I/O bursts in seconds.",
13312 "format_description" : "seconds",
13313 "minimum" : 1,
13314 "optional" : 1,
13315 "type" : "integer"
13316 },
13317 "bps_rd" : {
13318 "description" : "Maximum read speed in bytes per second.",
13319 "format_description" : "bps",
13320 "optional" : 1,
13321 "type" : "integer"
13322 },
13323 "bps_rd_length" : {
13324 "alias" : "bps_rd_max_length"
13325 },
13326 "bps_rd_max_length" : {
13327 "description" : "Maximum length of read I/O bursts in seconds.",
13328 "format_description" : "seconds",
13329 "minimum" : 1,
13330 "optional" : 1,
13331 "type" : "integer"
13332 },
13333 "bps_wr" : {
13334 "description" : "Maximum write speed in bytes per second.",
13335 "format_description" : "bps",
13336 "optional" : 1,
13337 "type" : "integer"
13338 },
13339 "bps_wr_length" : {
13340 "alias" : "bps_wr_max_length"
13341 },
13342 "bps_wr_max_length" : {
13343 "description" : "Maximum length of write I/O bursts in seconds.",
13344 "format_description" : "seconds",
13345 "minimum" : 1,
13346 "optional" : 1,
13347 "type" : "integer"
13348 },
13349 "cache" : {
13350 "description" : "The drive's cache mode",
13351 "enum" : [
13352 "none",
13353 "writethrough",
13354 "writeback",
13355 "unsafe",
13356 "directsync"
13357 ],
13358 "optional" : 1,
13359 "type" : "string"
13360 },
13361 "cyls" : {
13362 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13363 "optional" : 1,
13364 "type" : "integer"
13365 },
13366 "detect_zeroes" : {
13367 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13368 "optional" : 1,
13369 "type" : "boolean"
13370 },
13371 "discard" : {
13372 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13373 "enum" : [
13374 "ignore",
13375 "on"
13376 ],
13377 "optional" : 1,
13378 "type" : "string"
13379 },
13380 "file" : {
13381 "default_key" : 1,
13382 "description" : "The drive's backing volume.",
13383 "format" : "pve-volume-id-or-qm-path",
13384 "format_description" : "volume",
13385 "type" : "string"
13386 },
13387 "format" : {
13388 "description" : "The drive's backing file's data format.",
13389 "enum" : [
13390 "raw",
13391 "cow",
13392 "qcow",
13393 "qed",
13394 "qcow2",
13395 "vmdk",
13396 "cloop"
13397 ],
13398 "optional" : 1,
13399 "type" : "string"
13400 },
13401 "heads" : {
13402 "description" : "Force the drive's physical geometry to have a specific head count.",
13403 "optional" : 1,
13404 "type" : "integer"
13405 },
13406 "iops" : {
13407 "description" : "Maximum r/w I/O in operations per second.",
13408 "format_description" : "iops",
13409 "optional" : 1,
13410 "type" : "integer"
13411 },
13412 "iops_max" : {
13413 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13414 "format_description" : "iops",
13415 "optional" : 1,
13416 "type" : "integer"
13417 },
13418 "iops_max_length" : {
13419 "description" : "Maximum length of I/O bursts in seconds.",
13420 "format_description" : "seconds",
13421 "minimum" : 1,
13422 "optional" : 1,
13423 "type" : "integer"
13424 },
13425 "iops_rd" : {
13426 "description" : "Maximum read I/O in operations per second.",
13427 "format_description" : "iops",
13428 "optional" : 1,
13429 "type" : "integer"
13430 },
13431 "iops_rd_length" : {
13432 "alias" : "iops_rd_max_length"
13433 },
13434 "iops_rd_max" : {
13435 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13436 "format_description" : "iops",
13437 "optional" : 1,
13438 "type" : "integer"
13439 },
13440 "iops_rd_max_length" : {
13441 "description" : "Maximum length of read I/O bursts in seconds.",
13442 "format_description" : "seconds",
13443 "minimum" : 1,
13444 "optional" : 1,
13445 "type" : "integer"
13446 },
13447 "iops_wr" : {
13448 "description" : "Maximum write I/O in operations per second.",
13449 "format_description" : "iops",
13450 "optional" : 1,
13451 "type" : "integer"
13452 },
13453 "iops_wr_length" : {
13454 "alias" : "iops_wr_max_length"
13455 },
13456 "iops_wr_max" : {
13457 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13458 "format_description" : "iops",
13459 "optional" : 1,
13460 "type" : "integer"
13461 },
13462 "iops_wr_max_length" : {
13463 "description" : "Maximum length of write I/O bursts in seconds.",
13464 "format_description" : "seconds",
13465 "minimum" : 1,
13466 "optional" : 1,
13467 "type" : "integer"
13468 },
13469 "iothread" : {
13470 "description" : "Whether to use iothreads for this drive",
13471 "optional" : 1,
13472 "type" : "boolean"
13473 },
13474 "mbps" : {
13475 "description" : "Maximum r/w speed in megabytes per second.",
13476 "format_description" : "mbps",
13477 "optional" : 1,
13478 "type" : "number"
13479 },
13480 "mbps_max" : {
13481 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13482 "format_description" : "mbps",
13483 "optional" : 1,
13484 "type" : "number"
13485 },
13486 "mbps_rd" : {
13487 "description" : "Maximum read speed in megabytes per second.",
13488 "format_description" : "mbps",
13489 "optional" : 1,
13490 "type" : "number"
13491 },
13492 "mbps_rd_max" : {
13493 "description" : "Maximum unthrottled read pool in megabytes per second.",
13494 "format_description" : "mbps",
13495 "optional" : 1,
13496 "type" : "number"
13497 },
13498 "mbps_wr" : {
13499 "description" : "Maximum write speed in megabytes per second.",
13500 "format_description" : "mbps",
13501 "optional" : 1,
13502 "type" : "number"
13503 },
13504 "mbps_wr_max" : {
13505 "description" : "Maximum unthrottled write pool in megabytes per second.",
13506 "format_description" : "mbps",
13507 "optional" : 1,
13508 "type" : "number"
13509 },
13510 "media" : {
13511 "default" : "disk",
13512 "description" : "The drive's media type.",
13513 "enum" : [
13514 "cdrom",
13515 "disk"
13516 ],
13517 "optional" : 1,
13518 "type" : "string"
13519 },
13520 "queues" : {
13521 "description" : "Number of queues.",
13522 "minimum" : 2,
13523 "optional" : 1,
13524 "type" : "integer"
13525 },
13526 "replicate" : {
13527 "default" : 1,
13528 "description" : "Whether the drive should considered for replication jobs.",
13529 "optional" : 1,
13530 "type" : "boolean"
13531 },
13532 "rerror" : {
13533 "description" : "Read error action.",
13534 "enum" : [
13535 "ignore",
13536 "report",
13537 "stop"
13538 ],
13539 "optional" : 1,
13540 "type" : "string"
13541 },
13542 "scsiblock" : {
13543 "default" : 0,
13544 "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",
13545 "optional" : 1,
13546 "type" : "boolean"
13547 },
13548 "secs" : {
13549 "description" : "Force the drive's physical geometry to have a specific sector count.",
13550 "optional" : 1,
13551 "type" : "integer"
13552 },
13553 "serial" : {
13554 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13555 "format" : "urlencoded",
13556 "format_description" : "serial",
13557 "maxLength" : 60,
13558 "optional" : 1,
13559 "type" : "string"
13560 },
13561 "shared" : {
13562 "default" : 0,
13563 "description" : "Mark this locally-managed volume as available on all nodes",
13564 "optional" : 1,
13565 "type" : "boolean",
13566 "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!"
13567 },
13568 "size" : {
13569 "description" : "Disk size. This is purely informational and has no effect.",
13570 "format" : "disk-size",
13571 "format_description" : "DiskSize",
13572 "optional" : 1,
13573 "type" : "string"
13574 },
13575 "snapshot" : {
13576 "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.",
13577 "optional" : 1,
13578 "type" : "boolean"
13579 },
25203dc1
NC
13580 "ssd" : {
13581 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13582 "optional" : 1,
13583 "type" : "boolean"
13584 },
4d47f125
TL
13585 "trans" : {
13586 "description" : "Force disk geometry bios translation mode.",
13587 "enum" : [
13588 "none",
13589 "lba",
13590 "auto"
13591 ],
13592 "optional" : 1,
13593 "type" : "string"
13594 },
13595 "volume" : {
13596 "alias" : "file"
13597 },
13598 "werror" : {
13599 "description" : "Write error action.",
13600 "enum" : [
13601 "enospc",
13602 "ignore",
13603 "report",
13604 "stop"
13605 ],
13606 "optional" : 1,
13607 "type" : "string"
13608 }
13609 },
13610 "optional" : 1,
13611 "type" : "string",
25203dc1 13612 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
4d47f125
TL
13613 },
13614 "scsihw" : {
13615 "default" : "lsi",
13616 "description" : "SCSI controller model",
13617 "enum" : [
13618 "lsi",
13619 "lsi53c810",
13620 "virtio-scsi-pci",
13621 "virtio-scsi-single",
13622 "megasas",
13623 "pvscsi"
13624 ],
13625 "optional" : 1,
13626 "type" : "string"
13627 },
13628 "searchdomain" : {
13629 "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.",
13630 "optional" : 1,
13631 "type" : "string",
13632 "typetext" : "<string>"
13633 },
13634 "serial[n]" : {
13635 "description" : "Create a serial device inside the VM (n is 0 to 3)",
13636 "optional" : 1,
13637 "pattern" : "(/dev/.+|socket)",
13638 "type" : "string",
13639 "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"
13640 },
13641 "shares" : {
13642 "default" : 1000,
13643 "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.",
13644 "maximum" : 50000,
13645 "minimum" : 0,
13646 "optional" : 1,
13647 "type" : "integer",
13648 "typetext" : "<integer> (0 - 50000)"
13649 },
13650 "skiplock" : {
13651 "description" : "Ignore locks - only root is allowed to use this option.",
13652 "optional" : 1,
13653 "type" : "boolean",
13654 "typetext" : "<boolean>"
13655 },
13656 "smbios1" : {
13657 "description" : "Specify SMBIOS type 1 fields.",
13658 "format" : "pve-qm-smbios1",
13659 "maxLength" : 256,
13660 "optional" : 1,
13661 "type" : "string",
13662 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
13663 },
13664 "smp" : {
13665 "default" : 1,
13666 "description" : "The number of CPUs. Please use option -sockets instead.",
13667 "minimum" : 1,
13668 "optional" : 1,
13669 "type" : "integer",
13670 "typetext" : "<integer> (1 - N)"
13671 },
13672 "sockets" : {
13673 "default" : 1,
13674 "description" : "The number of CPU sockets.",
13675 "minimum" : 1,
13676 "optional" : 1,
13677 "type" : "integer",
13678 "typetext" : "<integer> (1 - N)"
13679 },
13680 "sshkeys" : {
13681 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
13682 "format" : "urlencoded",
13683 "optional" : 1,
13684 "type" : "string",
13685 "typetext" : "<string>"
13686 },
13687 "startdate" : {
13688 "default" : "now",
13689 "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'.",
13690 "optional" : 1,
13691 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
13692 "type" : "string",
13693 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
13694 },
13695 "startup" : {
13696 "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.",
13697 "format" : "pve-startup-order",
13698 "optional" : 1,
13699 "type" : "string",
13700 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
13701 },
13702 "tablet" : {
13703 "default" : 1,
13704 "description" : "Enable/disable the USB tablet device.",
13705 "optional" : 1,
13706 "type" : "boolean",
13707 "typetext" : "<boolean>",
13708 "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)."
13709 },
13710 "tdf" : {
13711 "default" : 0,
13712 "description" : "Enable/disable time drift fix.",
13713 "optional" : 1,
13714 "type" : "boolean",
13715 "typetext" : "<boolean>"
13716 },
13717 "template" : {
13718 "default" : 0,
13719 "description" : "Enable/disable Template.",
13720 "optional" : 1,
13721 "type" : "boolean",
13722 "typetext" : "<boolean>"
13723 },
13724 "unused[n]" : {
13725 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
13726 "format" : "pve-volume-id",
13727 "optional" : 1,
13728 "type" : "string",
13729 "typetext" : "<string>"
13730 },
13731 "usb[n]" : {
13732 "description" : "Configure an USB device (n is 0 to 4).",
13733 "format" : {
13734 "host" : {
13735 "default_key" : 1,
13736 "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",
13737 "format" : "pve-qm-usb-device",
13738 "format_description" : "HOSTUSBDEVICE|spice",
13739 "type" : "string"
13740 },
13741 "usb3" : {
13742 "default" : 0,
13743 "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).",
13744 "optional" : 1,
13745 "type" : "boolean"
13746 }
13747 },
13748 "optional" : 1,
13749 "type" : "string",
13750 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
13751 },
13752 "vcpus" : {
13753 "default" : 0,
13754 "description" : "Number of hotplugged vcpus.",
13755 "minimum" : 1,
13756 "optional" : 1,
13757 "type" : "integer",
13758 "typetext" : "<integer> (1 - N)"
13759 },
13760 "vga" : {
13761 "description" : "Select the VGA type.",
13762 "enum" : [
13763 "cirrus",
13764 "qxl",
13765 "qxl2",
13766 "qxl3",
13767 "qxl4",
13768 "serial0",
13769 "serial1",
13770 "serial2",
13771 "serial3",
13772 "std",
13773 "virtio",
13774 "vmware"
13775 ],
13776 "optional" : 1,
13777 "type" : "string",
13778 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
13779 },
13780 "virtio[n]" : {
13781 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
13782 "format" : {
13783 "aio" : {
13784 "description" : "AIO type to use.",
13785 "enum" : [
13786 "native",
13787 "threads"
13788 ],
13789 "optional" : 1,
13790 "type" : "string"
13791 },
13792 "backup" : {
13793 "description" : "Whether the drive should be included when making backups.",
13794 "optional" : 1,
13795 "type" : "boolean"
13796 },
13797 "bps" : {
13798 "description" : "Maximum r/w speed in bytes per second.",
13799 "format_description" : "bps",
13800 "optional" : 1,
13801 "type" : "integer"
13802 },
13803 "bps_max_length" : {
13804 "description" : "Maximum length of I/O bursts in seconds.",
13805 "format_description" : "seconds",
13806 "minimum" : 1,
13807 "optional" : 1,
13808 "type" : "integer"
13809 },
13810 "bps_rd" : {
13811 "description" : "Maximum read speed in bytes per second.",
13812 "format_description" : "bps",
13813 "optional" : 1,
13814 "type" : "integer"
13815 },
13816 "bps_rd_length" : {
13817 "alias" : "bps_rd_max_length"
13818 },
13819 "bps_rd_max_length" : {
13820 "description" : "Maximum length of read I/O bursts in seconds.",
13821 "format_description" : "seconds",
13822 "minimum" : 1,
13823 "optional" : 1,
13824 "type" : "integer"
13825 },
13826 "bps_wr" : {
13827 "description" : "Maximum write speed in bytes per second.",
13828 "format_description" : "bps",
13829 "optional" : 1,
13830 "type" : "integer"
13831 },
13832 "bps_wr_length" : {
13833 "alias" : "bps_wr_max_length"
13834 },
13835 "bps_wr_max_length" : {
13836 "description" : "Maximum length of write I/O bursts in seconds.",
13837 "format_description" : "seconds",
13838 "minimum" : 1,
13839 "optional" : 1,
13840 "type" : "integer"
13841 },
13842 "cache" : {
13843 "description" : "The drive's cache mode",
13844 "enum" : [
13845 "none",
13846 "writethrough",
13847 "writeback",
13848 "unsafe",
13849 "directsync"
13850 ],
13851 "optional" : 1,
13852 "type" : "string"
13853 },
13854 "cyls" : {
13855 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13856 "optional" : 1,
13857 "type" : "integer"
13858 },
13859 "detect_zeroes" : {
13860 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13861 "optional" : 1,
13862 "type" : "boolean"
13863 },
13864 "discard" : {
13865 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13866 "enum" : [
13867 "ignore",
13868 "on"
13869 ],
13870 "optional" : 1,
13871 "type" : "string"
13872 },
13873 "file" : {
13874 "default_key" : 1,
13875 "description" : "The drive's backing volume.",
13876 "format" : "pve-volume-id-or-qm-path",
13877 "format_description" : "volume",
13878 "type" : "string"
13879 },
13880 "format" : {
13881 "description" : "The drive's backing file's data format.",
13882 "enum" : [
13883 "raw",
13884 "cow",
13885 "qcow",
13886 "qed",
13887 "qcow2",
13888 "vmdk",
13889 "cloop"
13890 ],
13891 "optional" : 1,
13892 "type" : "string"
13893 },
13894 "heads" : {
13895 "description" : "Force the drive's physical geometry to have a specific head count.",
13896 "optional" : 1,
13897 "type" : "integer"
13898 },
13899 "iops" : {
13900 "description" : "Maximum r/w I/O in operations per second.",
13901 "format_description" : "iops",
13902 "optional" : 1,
13903 "type" : "integer"
13904 },
13905 "iops_max" : {
13906 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13907 "format_description" : "iops",
13908 "optional" : 1,
13909 "type" : "integer"
13910 },
13911 "iops_max_length" : {
13912 "description" : "Maximum length of I/O bursts in seconds.",
13913 "format_description" : "seconds",
13914 "minimum" : 1,
13915 "optional" : 1,
13916 "type" : "integer"
13917 },
13918 "iops_rd" : {
13919 "description" : "Maximum read I/O in operations per second.",
13920 "format_description" : "iops",
13921 "optional" : 1,
13922 "type" : "integer"
13923 },
13924 "iops_rd_length" : {
13925 "alias" : "iops_rd_max_length"
13926 },
13927 "iops_rd_max" : {
13928 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13929 "format_description" : "iops",
13930 "optional" : 1,
13931 "type" : "integer"
13932 },
13933 "iops_rd_max_length" : {
13934 "description" : "Maximum length of read I/O bursts in seconds.",
13935 "format_description" : "seconds",
13936 "minimum" : 1,
13937 "optional" : 1,
13938 "type" : "integer"
13939 },
13940 "iops_wr" : {
13941 "description" : "Maximum write I/O in operations per second.",
13942 "format_description" : "iops",
13943 "optional" : 1,
13944 "type" : "integer"
13945 },
13946 "iops_wr_length" : {
13947 "alias" : "iops_wr_max_length"
13948 },
13949 "iops_wr_max" : {
13950 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13951 "format_description" : "iops",
13952 "optional" : 1,
13953 "type" : "integer"
13954 },
13955 "iops_wr_max_length" : {
13956 "description" : "Maximum length of write I/O bursts in seconds.",
13957 "format_description" : "seconds",
13958 "minimum" : 1,
13959 "optional" : 1,
13960 "type" : "integer"
13961 },
13962 "iothread" : {
13963 "description" : "Whether to use iothreads for this drive",
13964 "optional" : 1,
13965 "type" : "boolean"
13966 },
13967 "mbps" : {
13968 "description" : "Maximum r/w speed in megabytes per second.",
13969 "format_description" : "mbps",
13970 "optional" : 1,
13971 "type" : "number"
13972 },
13973 "mbps_max" : {
13974 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13975 "format_description" : "mbps",
13976 "optional" : 1,
13977 "type" : "number"
13978 },
13979 "mbps_rd" : {
13980 "description" : "Maximum read speed in megabytes per second.",
13981 "format_description" : "mbps",
13982 "optional" : 1,
13983 "type" : "number"
13984 },
13985 "mbps_rd_max" : {
13986 "description" : "Maximum unthrottled read pool in megabytes per second.",
13987 "format_description" : "mbps",
13988 "optional" : 1,
13989 "type" : "number"
13990 },
13991 "mbps_wr" : {
13992 "description" : "Maximum write speed in megabytes per second.",
13993 "format_description" : "mbps",
13994 "optional" : 1,
13995 "type" : "number"
13996 },
13997 "mbps_wr_max" : {
13998 "description" : "Maximum unthrottled write pool in megabytes per second.",
13999 "format_description" : "mbps",
14000 "optional" : 1,
14001 "type" : "number"
14002 },
14003 "media" : {
14004 "default" : "disk",
14005 "description" : "The drive's media type.",
14006 "enum" : [
14007 "cdrom",
14008 "disk"
14009 ],
14010 "optional" : 1,
14011 "type" : "string"
14012 },
14013 "replicate" : {
14014 "default" : 1,
14015 "description" : "Whether the drive should considered for replication jobs.",
14016 "optional" : 1,
14017 "type" : "boolean"
14018 },
14019 "rerror" : {
14020 "description" : "Read error action.",
14021 "enum" : [
14022 "ignore",
14023 "report",
14024 "stop"
14025 ],
14026 "optional" : 1,
14027 "type" : "string"
14028 },
14029 "secs" : {
14030 "description" : "Force the drive's physical geometry to have a specific sector count.",
14031 "optional" : 1,
14032 "type" : "integer"
14033 },
14034 "serial" : {
14035 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14036 "format" : "urlencoded",
14037 "format_description" : "serial",
14038 "maxLength" : 60,
14039 "optional" : 1,
14040 "type" : "string"
14041 },
14042 "shared" : {
14043 "default" : 0,
14044 "description" : "Mark this locally-managed volume as available on all nodes",
14045 "optional" : 1,
14046 "type" : "boolean",
14047 "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!"
14048 },
14049 "size" : {
14050 "description" : "Disk size. This is purely informational and has no effect.",
14051 "format" : "disk-size",
14052 "format_description" : "DiskSize",
14053 "optional" : 1,
14054 "type" : "string"
14055 },
14056 "snapshot" : {
14057 "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.",
14058 "optional" : 1,
14059 "type" : "boolean"
14060 },
14061 "trans" : {
14062 "description" : "Force disk geometry bios translation mode.",
14063 "enum" : [
14064 "none",
14065 "lba",
14066 "auto"
14067 ],
14068 "optional" : 1,
14069 "type" : "string"
14070 },
14071 "volume" : {
14072 "alias" : "file"
14073 },
14074 "werror" : {
14075 "description" : "Write error action.",
14076 "enum" : [
14077 "enospc",
14078 "ignore",
14079 "report",
14080 "stop"
14081 ],
14082 "optional" : 1,
14083 "type" : "string"
14084 }
14085 },
14086 "optional" : 1,
14087 "type" : "string",
14088 "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>]"
14089 },
14090 "vmgenid" : {
14091 "default" : "1 (autogenerated)",
14092 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
14093 "format_description" : "UUID",
14094 "optional" : 1,
14095 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
14096 "type" : "string",
14097 "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."
14098 },
14099 "vmid" : {
14100 "description" : "The (unique) ID of the VM.",
14101 "format" : "pve-vmid",
14102 "minimum" : 1,
14103 "type" : "integer",
14104 "typetext" : "<integer> (1 - N)"
14105 },
14106 "vmstatestorage" : {
14107 "description" : "Default storage for VM state volumes/files.",
14108 "format" : "pve-storage-id",
14109 "optional" : 1,
14110 "type" : "string",
14111 "typetext" : "<string>"
14112 },
14113 "watchdog" : {
14114 "description" : "Create a virtual hardware watchdog device.",
14115 "format" : "pve-qm-watchdog",
14116 "optional" : 1,
14117 "type" : "string",
14118 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
14119 "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)"
14120 }
14121 }
14122 },
14123 "permissions" : {
14124 "check" : [
14125 "perm",
14126 "/vms/{vmid}",
14127 [
14128 "VM.Config.Disk",
14129 "VM.Config.CDROM",
14130 "VM.Config.CPU",
14131 "VM.Config.Memory",
14132 "VM.Config.Network",
14133 "VM.Config.HWType",
14134 "VM.Config.Options"
14135 ],
14136 "any",
14137 1
14138 ]
14139 },
14140 "protected" : 1,
14141 "proxyto" : "node",
14142 "returns" : {
14143 "type" : "null"
14144 }
14145 }
14146 },
14147 "leaf" : 1,
14148 "path" : "/nodes/{node}/qemu/{vmid}/config",
14149 "text" : "config"
14150 },
14151 {
14152 "info" : {
14153 "GET" : {
14154 "description" : "Get virtual machine configuration, including pending changes.",
14155 "method" : "GET",
14156 "name" : "vm_pending",
14157 "parameters" : {
14158 "additionalProperties" : 0,
14159 "properties" : {
14160 "node" : {
14161 "description" : "The cluster node name.",
14162 "format" : "pve-node",
14163 "type" : "string",
14164 "typetext" : "<string>"
14165 },
14166 "vmid" : {
14167 "description" : "The (unique) ID of the VM.",
14168 "format" : "pve-vmid",
14169 "minimum" : 1,
14170 "type" : "integer",
14171 "typetext" : "<integer> (1 - N)"
14172 }
14173 }
14174 },
14175 "permissions" : {
14176 "check" : [
14177 "perm",
14178 "/vms/{vmid}",
14179 [
14180 "VM.Audit"
14181 ]
14182 ]
14183 },
14184 "proxyto" : "node",
14185 "returns" : {
14186 "items" : {
14187 "properties" : {
14188 "delete" : {
14189 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
14190 "maximum" : 2,
14191 "minimum" : 0,
14192 "optional" : 1,
14193 "type" : "integer"
14194 },
14195 "key" : {
14196 "description" : "Configuration option name.",
14197 "type" : "string"
14198 },
14199 "pending" : {
14200 "description" : "Pending value.",
14201 "optional" : 1,
14202 "type" : "string"
14203 },
14204 "value" : {
14205 "description" : "Current value.",
14206 "optional" : 1,
14207 "type" : "string"
14208 }
14209 },
14210 "type" : "object"
14211 },
14212 "type" : "array"
14213 }
14214 }
14215 },
14216 "leaf" : 1,
14217 "path" : "/nodes/{node}/qemu/{vmid}/pending",
14218 "text" : "pending"
14219 },
14220 {
14221 "info" : {
14222 "PUT" : {
14223 "description" : "Unlink/delete disk images.",
14224 "method" : "PUT",
14225 "name" : "unlink",
14226 "parameters" : {
14227 "additionalProperties" : 0,
14228 "properties" : {
14229 "force" : {
14230 "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.",
14231 "optional" : 1,
14232 "type" : "boolean",
14233 "typetext" : "<boolean>"
14234 },
14235 "idlist" : {
14236 "description" : "A list of disk IDs you want to delete.",
14237 "format" : "pve-configid-list",
14238 "type" : "string",
14239 "typetext" : "<string>"
14240 },
14241 "node" : {
14242 "description" : "The cluster node name.",
14243 "format" : "pve-node",
14244 "type" : "string",
14245 "typetext" : "<string>"
14246 },
14247 "vmid" : {
14248 "description" : "The (unique) ID of the VM.",
14249 "format" : "pve-vmid",
14250 "minimum" : 1,
14251 "type" : "integer",
14252 "typetext" : "<integer> (1 - N)"
14253 }
14254 }
14255 },
14256 "permissions" : {
14257 "check" : [
14258 "perm",
14259 "/vms/{vmid}",
14260 [
14261 "VM.Config.Disk"
14262 ]
14263 ]
14264 },
14265 "protected" : 1,
14266 "proxyto" : "node",
14267 "returns" : {
14268 "type" : "null"
14269 }
14270 }
14271 },
14272 "leaf" : 1,
14273 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
14274 "text" : "unlink"
14275 },
14276 {
14277 "info" : {
14278 "POST" : {
14279 "description" : "Creates a TCP VNC proxy connections.",
14280 "method" : "POST",
14281 "name" : "vncproxy",
14282 "parameters" : {
14283 "additionalProperties" : 0,
14284 "properties" : {
14285 "node" : {
14286 "description" : "The cluster node name.",
14287 "format" : "pve-node",
14288 "type" : "string",
14289 "typetext" : "<string>"
14290 },
14291 "vmid" : {
14292 "description" : "The (unique) ID of the VM.",
14293 "format" : "pve-vmid",
14294 "minimum" : 1,
14295 "type" : "integer",
14296 "typetext" : "<integer> (1 - N)"
14297 },
14298 "websocket" : {
14299 "description" : "starts websockify instead of vncproxy",
14300 "optional" : 1,
14301 "type" : "boolean",
14302 "typetext" : "<boolean>"
14303 }
14304 }
14305 },
14306 "permissions" : {
14307 "check" : [
14308 "perm",
14309 "/vms/{vmid}",
14310 [
14311 "VM.Console"
14312 ]
14313 ]
14314 },
14315 "protected" : 1,
14316 "returns" : {
14317 "additionalProperties" : 0,
14318 "properties" : {
14319 "cert" : {
14320 "type" : "string"
14321 },
14322 "port" : {
14323 "type" : "integer"
14324 },
14325 "ticket" : {
14326 "type" : "string"
14327 },
14328 "upid" : {
14329 "type" : "string"
14330 },
14331 "user" : {
14332 "type" : "string"
14333 }
14334 }
14335 }
14336 }
14337 },
14338 "leaf" : 1,
14339 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
14340 "text" : "vncproxy"
14341 },
14342 {
14343 "info" : {
14344 "POST" : {
14345 "description" : "Creates a TCP proxy connections.",
14346 "method" : "POST",
14347 "name" : "termproxy",
14348 "parameters" : {
14349 "additionalProperties" : 0,
14350 "properties" : {
14351 "node" : {
14352 "description" : "The cluster node name.",
14353 "format" : "pve-node",
14354 "type" : "string",
14355 "typetext" : "<string>"
14356 },
14357 "serial" : {
14358 "description" : "opens a serial terminal (defaults to display)",
14359 "enum" : [
14360 "serial0",
14361 "serial1",
14362 "serial2",
14363 "serial3"
14364 ],
14365 "optional" : 1,
14366 "type" : "string"
14367 },
14368 "vmid" : {
14369 "description" : "The (unique) ID of the VM.",
14370 "format" : "pve-vmid",
14371 "minimum" : 1,
14372 "type" : "integer",
14373 "typetext" : "<integer> (1 - N)"
14374 }
14375 }
14376 },
14377 "permissions" : {
14378 "check" : [
14379 "perm",
14380 "/vms/{vmid}",
14381 [
14382 "VM.Console"
14383 ]
14384 ]
14385 },
14386 "protected" : 1,
14387 "returns" : {
14388 "additionalProperties" : 0,
14389 "properties" : {
14390 "port" : {
14391 "type" : "integer"
14392 },
14393 "ticket" : {
14394 "type" : "string"
14395 },
14396 "upid" : {
14397 "type" : "string"
14398 },
14399 "user" : {
14400 "type" : "string"
14401 }
14402 }
14403 }
14404 }
14405 },
14406 "leaf" : 1,
14407 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
14408 "text" : "termproxy"
14409 },
14410 {
14411 "info" : {
14412 "GET" : {
14413 "description" : "Opens a weksocket for VNC traffic.",
14414 "method" : "GET",
14415 "name" : "vncwebsocket",
14416 "parameters" : {
14417 "additionalProperties" : 0,
14418 "properties" : {
14419 "node" : {
14420 "description" : "The cluster node name.",
14421 "format" : "pve-node",
14422 "type" : "string",
14423 "typetext" : "<string>"
14424 },
14425 "port" : {
14426 "description" : "Port number returned by previous vncproxy call.",
14427 "maximum" : 5999,
14428 "minimum" : 5900,
14429 "type" : "integer",
14430 "typetext" : "<integer> (5900 - 5999)"
14431 },
14432 "vmid" : {
14433 "description" : "The (unique) ID of the VM.",
14434 "format" : "pve-vmid",
14435 "minimum" : 1,
14436 "type" : "integer",
14437 "typetext" : "<integer> (1 - N)"
14438 },
14439 "vncticket" : {
14440 "description" : "Ticket from previous call to vncproxy.",
14441 "maxLength" : 512,
14442 "type" : "string",
14443 "typetext" : "<string>"
14444 }
14445 }
14446 },
14447 "permissions" : {
14448 "check" : [
14449 "perm",
14450 "/vms/{vmid}",
14451 [
14452 "VM.Console"
14453 ]
14454 ],
14455 "description" : "You also need to pass a valid ticket (vncticket)."
14456 },
14457 "returns" : {
14458 "properties" : {
14459 "port" : {
14460 "type" : "string"
14461 }
14462 },
14463 "type" : "object"
14464 }
14465 }
14466 },
14467 "leaf" : 1,
14468 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
14469 "text" : "vncwebsocket"
14470 },
14471 {
14472 "info" : {
14473 "POST" : {
14474 "description" : "Returns a SPICE configuration to connect to the VM.",
14475 "method" : "POST",
14476 "name" : "spiceproxy",
14477 "parameters" : {
14478 "additionalProperties" : 0,
14479 "properties" : {
14480 "node" : {
14481 "description" : "The cluster node name.",
14482 "format" : "pve-node",
14483 "type" : "string",
14484 "typetext" : "<string>"
14485 },
14486 "proxy" : {
14487 "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).",
14488 "format" : "address",
14489 "optional" : 1,
14490 "type" : "string",
14491 "typetext" : "<string>"
14492 },
14493 "vmid" : {
14494 "description" : "The (unique) ID of the VM.",
14495 "format" : "pve-vmid",
14496 "minimum" : 1,
14497 "type" : "integer",
14498 "typetext" : "<integer> (1 - N)"
14499 }
14500 }
14501 },
14502 "permissions" : {
14503 "check" : [
14504 "perm",
14505 "/vms/{vmid}",
14506 [
14507 "VM.Console"
14508 ]
14509 ]
14510 },
14511 "protected" : 1,
14512 "proxyto" : "node",
14513 "returns" : {
14514 "additionalProperties" : 1,
14515 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
14516 "properties" : {
14517 "host" : {
14518 "type" : "string"
14519 },
14520 "password" : {
14521 "type" : "string"
14522 },
14523 "proxy" : {
14524 "type" : "string"
14525 },
14526 "tls-port" : {
14527 "type" : "integer"
14528 },
14529 "type" : {
14530 "type" : "string"
14531 }
14532 }
14533 }
14534 }
14535 },
14536 "leaf" : 1,
14537 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
14538 "text" : "spiceproxy"
14539 },
14540 {
14541 "children" : [
14542 {
14543 "info" : {
14544 "GET" : {
14545 "description" : "Get virtual machine status.",
14546 "method" : "GET",
14547 "name" : "vm_status",
14548 "parameters" : {
14549 "additionalProperties" : 0,
14550 "properties" : {
14551 "node" : {
14552 "description" : "The cluster node name.",
14553 "format" : "pve-node",
14554 "type" : "string",
14555 "typetext" : "<string>"
14556 },
14557 "vmid" : {
14558 "description" : "The (unique) ID of the VM.",
14559 "format" : "pve-vmid",
14560 "minimum" : 1,
14561 "type" : "integer",
14562 "typetext" : "<integer> (1 - N)"
14563 }
14564 }
14565 },
14566 "permissions" : {
14567 "check" : [
14568 "perm",
14569 "/vms/{vmid}",
14570 [
14571 "VM.Audit"
14572 ]
14573 ]
14574 },
14575 "protected" : 1,
14576 "proxyto" : "node",
14577 "returns" : {
14578 "properties" : {
14579 "agent" : {
14580 "description" : "Qemu GuestAgent enabled in config.",
14581 "optional" : 1,
14582 "type" : "boolean"
14583 },
14584 "cpus" : {
14585 "description" : "Maximum usable CPUs.",
14586 "optional" : 1,
14587 "type" : "number"
14588 },
14589 "ha" : {
14590 "description" : "HA manager service status.",
14591 "type" : "object"
14592 },
14593 "maxdisk" : {
14594 "description" : "Root disk size in bytes.",
14595 "optional" : 1,
14596 "renderer" : "bytes",
14597 "type" : "integer"
14598 },
14599 "maxmem" : {
14600 "description" : "Maximum memory in bytes.",
14601 "optional" : 1,
14602 "renderer" : "bytes",
14603 "type" : "integer"
14604 },
14605 "name" : {
14606 "description" : "VM name.",
14607 "optional" : 1,
14608 "type" : "string"
14609 },
14610 "pid" : {
14611 "description" : "PID of running qemu process.",
14612 "optional" : 1,
14613 "type" : "integer"
14614 },
14615 "qmpstatus" : {
14616 "description" : "Qemu QMP agent status.",
14617 "optional" : 1,
14618 "type" : "string"
14619 },
14620 "spice" : {
14621 "description" : "Qemu VGA configuration supports spice.",
14622 "optional" : 1,
14623 "type" : "boolean"
14624 },
14625 "status" : {
14626 "description" : "Qemu process status.",
14627 "enum" : [
14628 "stopped",
14629 "running"
14630 ],
14631 "type" : "string"
14632 },
14633 "uptime" : {
14634 "description" : "Uptime.",
14635 "optional" : 1,
14636 "renderer" : "duration",
14637 "type" : "integer"
14638 },
14639 "vmid" : {
14640 "description" : "The (unique) ID of the VM.",
14641 "format" : "pve-vmid",
14642 "minimum" : 1,
14643 "type" : "integer"
14644 }
14645 },
14646 "type" : "object"
14647 }
14648 }
14649 },
14650 "leaf" : 1,
14651 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
14652 "text" : "current"
14653 },
14654 {
14655 "info" : {
14656 "POST" : {
14657 "description" : "Start virtual machine.",
14658 "method" : "POST",
14659 "name" : "vm_start",
14660 "parameters" : {
14661 "additionalProperties" : 0,
14662 "properties" : {
14663 "machine" : {
14664 "description" : "Specifies the Qemu machine type.",
14665 "maxLength" : 40,
14666 "optional" : 1,
14667 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
14668 "type" : "string"
14669 },
14670 "migratedfrom" : {
14671 "description" : "The cluster node name.",
14672 "format" : "pve-node",
14673 "optional" : 1,
14674 "type" : "string",
14675 "typetext" : "<string>"
14676 },
14677 "migration_network" : {
14678 "description" : "CIDR of the (sub) network that is used for migration.",
14679 "format" : "CIDR",
14680 "optional" : 1,
14681 "type" : "string",
14682 "typetext" : "<string>"
14683 },
14684 "migration_type" : {
14685 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
14686 "enum" : [
14687 "secure",
14688 "insecure"
14689 ],
14690 "optional" : 1,
14691 "type" : "string"
14692 },
14693 "node" : {
14694 "description" : "The cluster node name.",
14695 "format" : "pve-node",
14696 "type" : "string",
14697 "typetext" : "<string>"
14698 },
14699 "skiplock" : {
14700 "description" : "Ignore locks - only root is allowed to use this option.",
14701 "optional" : 1,
14702 "type" : "boolean",
14703 "typetext" : "<boolean>"
14704 },
14705 "stateuri" : {
14706 "description" : "Some command save/restore state from this location.",
14707 "maxLength" : 128,
14708 "optional" : 1,
14709 "type" : "string",
14710 "typetext" : "<string>"
14711 },
14712 "targetstorage" : {
14713 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
14714 "optional" : 1,
14715 "type" : "string",
14716 "typetext" : "<string>"
14717 },
14718 "vmid" : {
14719 "description" : "The (unique) ID of the VM.",
14720 "format" : "pve-vmid",
14721 "minimum" : 1,
14722 "type" : "integer",
14723 "typetext" : "<integer> (1 - N)"
14724 }
14725 }
14726 },
14727 "permissions" : {
14728 "check" : [
14729 "perm",
14730 "/vms/{vmid}",
14731 [
14732 "VM.PowerMgmt"
14733 ]
14734 ]
14735 },
14736 "protected" : 1,
14737 "proxyto" : "node",
14738 "returns" : {
14739 "type" : "string"
14740 }
14741 }
14742 },
14743 "leaf" : 1,
14744 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
14745 "text" : "start"
14746 },
14747 {
14748 "info" : {
14749 "POST" : {
14750 "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",
14751 "method" : "POST",
14752 "name" : "vm_stop",
14753 "parameters" : {
14754 "additionalProperties" : 0,
14755 "properties" : {
14756 "keepActive" : {
14757 "default" : 0,
14758 "description" : "Do not deactivate storage volumes.",
14759 "optional" : 1,
14760 "type" : "boolean",
14761 "typetext" : "<boolean>"
14762 },
14763 "migratedfrom" : {
14764 "description" : "The cluster node name.",
14765 "format" : "pve-node",
14766 "optional" : 1,
14767 "type" : "string",
14768 "typetext" : "<string>"
14769 },
14770 "node" : {
14771 "description" : "The cluster node name.",
14772 "format" : "pve-node",
14773 "type" : "string",
14774 "typetext" : "<string>"
14775 },
14776 "skiplock" : {
14777 "description" : "Ignore locks - only root is allowed to use this option.",
14778 "optional" : 1,
14779 "type" : "boolean",
14780 "typetext" : "<boolean>"
14781 },
14782 "timeout" : {
14783 "description" : "Wait maximal timeout seconds.",
14784 "minimum" : 0,
14785 "optional" : 1,
14786 "type" : "integer",
14787 "typetext" : "<integer> (0 - N)"
14788 },
14789 "vmid" : {
14790 "description" : "The (unique) ID of the VM.",
14791 "format" : "pve-vmid",
14792 "minimum" : 1,
14793 "type" : "integer",
14794 "typetext" : "<integer> (1 - N)"
14795 }
14796 }
14797 },
14798 "permissions" : {
14799 "check" : [
14800 "perm",
14801 "/vms/{vmid}",
14802 [
14803 "VM.PowerMgmt"
14804 ]
14805 ]
14806 },
14807 "protected" : 1,
14808 "proxyto" : "node",
14809 "returns" : {
14810 "type" : "string"
14811 }
14812 }
14813 },
14814 "leaf" : 1,
14815 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
14816 "text" : "stop"
14817 },
14818 {
14819 "info" : {
14820 "POST" : {
14821 "description" : "Reset virtual machine.",
14822 "method" : "POST",
14823 "name" : "vm_reset",
14824 "parameters" : {
14825 "additionalProperties" : 0,
14826 "properties" : {
14827 "node" : {
14828 "description" : "The cluster node name.",
14829 "format" : "pve-node",
14830 "type" : "string",
14831 "typetext" : "<string>"
14832 },
14833 "skiplock" : {
14834 "description" : "Ignore locks - only root is allowed to use this option.",
14835 "optional" : 1,
14836 "type" : "boolean",
14837 "typetext" : "<boolean>"
14838 },
14839 "vmid" : {
14840 "description" : "The (unique) ID of the VM.",
14841 "format" : "pve-vmid",
14842 "minimum" : 1,
14843 "type" : "integer",
14844 "typetext" : "<integer> (1 - N)"
14845 }
14846 }
14847 },
14848 "permissions" : {
14849 "check" : [
14850 "perm",
14851 "/vms/{vmid}",
14852 [
14853 "VM.PowerMgmt"
14854 ]
14855 ]
14856 },
14857 "protected" : 1,
14858 "proxyto" : "node",
14859 "returns" : {
14860 "type" : "string"
14861 }
14862 }
14863 },
14864 "leaf" : 1,
14865 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
14866 "text" : "reset"
14867 },
14868 {
14869 "info" : {
14870 "POST" : {
14871 "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.",
14872 "method" : "POST",
14873 "name" : "vm_shutdown",
14874 "parameters" : {
14875 "additionalProperties" : 0,
14876 "properties" : {
14877 "forceStop" : {
14878 "default" : 0,
14879 "description" : "Make sure the VM stops.",
14880 "optional" : 1,
14881 "type" : "boolean",
14882 "typetext" : "<boolean>"
14883 },
14884 "keepActive" : {
14885 "default" : 0,
14886 "description" : "Do not deactivate storage volumes.",
14887 "optional" : 1,
14888 "type" : "boolean",
14889 "typetext" : "<boolean>"
14890 },
14891 "node" : {
14892 "description" : "The cluster node name.",
14893 "format" : "pve-node",
14894 "type" : "string",
14895 "typetext" : "<string>"
14896 },
14897 "skiplock" : {
14898 "description" : "Ignore locks - only root is allowed to use this option.",
14899 "optional" : 1,
14900 "type" : "boolean",
14901 "typetext" : "<boolean>"
14902 },
14903 "timeout" : {
14904 "description" : "Wait maximal timeout seconds.",
14905 "minimum" : 0,
14906 "optional" : 1,
14907 "type" : "integer",
14908 "typetext" : "<integer> (0 - N)"
14909 },
14910 "vmid" : {
14911 "description" : "The (unique) ID of the VM.",
14912 "format" : "pve-vmid",
14913 "minimum" : 1,
14914 "type" : "integer",
14915 "typetext" : "<integer> (1 - N)"
14916 }
14917 }
14918 },
14919 "permissions" : {
14920 "check" : [
14921 "perm",
14922 "/vms/{vmid}",
14923 [
14924 "VM.PowerMgmt"
14925 ]
14926 ]
14927 },
14928 "protected" : 1,
14929 "proxyto" : "node",
14930 "returns" : {
14931 "type" : "string"
14932 }
14933 }
14934 },
14935 "leaf" : 1,
14936 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
14937 "text" : "shutdown"
14938 },
14939 {
14940 "info" : {
14941 "POST" : {
14942 "description" : "Suspend virtual machine.",
14943 "method" : "POST",
14944 "name" : "vm_suspend",
14945 "parameters" : {
14946 "additionalProperties" : 0,
14947 "properties" : {
14948 "node" : {
14949 "description" : "The cluster node name.",
14950 "format" : "pve-node",
14951 "type" : "string",
14952 "typetext" : "<string>"
14953 },
14954 "skiplock" : {
14955 "description" : "Ignore locks - only root is allowed to use this option.",
14956 "optional" : 1,
14957 "type" : "boolean",
14958 "typetext" : "<boolean>"
14959 },
14960 "vmid" : {
14961 "description" : "The (unique) ID of the VM.",
14962 "format" : "pve-vmid",
14963 "minimum" : 1,
14964 "type" : "integer",
14965 "typetext" : "<integer> (1 - N)"
14966 }
14967 }
14968 },
14969 "permissions" : {
14970 "check" : [
14971 "perm",
14972 "/vms/{vmid}",
14973 [
14974 "VM.PowerMgmt"
14975 ]
14976 ]
14977 },
14978 "protected" : 1,
14979 "proxyto" : "node",
14980 "returns" : {
14981 "type" : "string"
14982 }
14983 }
14984 },
14985 "leaf" : 1,
14986 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
14987 "text" : "suspend"
14988 },
14989 {
14990 "info" : {
14991 "POST" : {
14992 "description" : "Resume virtual machine.",
14993 "method" : "POST",
14994 "name" : "vm_resume",
14995 "parameters" : {
14996 "additionalProperties" : 0,
14997 "properties" : {
14998 "nocheck" : {
14999 "optional" : 1,
15000 "type" : "boolean",
15001 "typetext" : "<boolean>"
15002 },
15003 "node" : {
15004 "description" : "The cluster node name.",
15005 "format" : "pve-node",
15006 "type" : "string",
15007 "typetext" : "<string>"
15008 },
15009 "skiplock" : {
15010 "description" : "Ignore locks - only root is allowed to use this option.",
15011 "optional" : 1,
15012 "type" : "boolean",
15013 "typetext" : "<boolean>"
15014 },
15015 "vmid" : {
15016 "description" : "The (unique) ID of the VM.",
15017 "format" : "pve-vmid",
15018 "minimum" : 1,
15019 "type" : "integer",
15020 "typetext" : "<integer> (1 - N)"
15021 }
15022 }
15023 },
15024 "permissions" : {
15025 "check" : [
15026 "perm",
15027 "/vms/{vmid}",
15028 [
15029 "VM.PowerMgmt"
15030 ]
15031 ]
15032 },
15033 "protected" : 1,
15034 "proxyto" : "node",
15035 "returns" : {
15036 "type" : "string"
15037 }
15038 }
15039 },
15040 "leaf" : 1,
15041 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
15042 "text" : "resume"
15043 }
15044 ],
15045 "info" : {
15046 "GET" : {
15047 "description" : "Directory index",
15048 "method" : "GET",
15049 "name" : "vmcmdidx",
15050 "parameters" : {
15051 "additionalProperties" : 0,
15052 "properties" : {
15053 "node" : {
15054 "description" : "The cluster node name.",
15055 "format" : "pve-node",
15056 "type" : "string",
15057 "typetext" : "<string>"
15058 },
15059 "vmid" : {
15060 "description" : "The (unique) ID of the VM.",
15061 "format" : "pve-vmid",
15062 "minimum" : 1,
15063 "type" : "integer",
15064 "typetext" : "<integer> (1 - N)"
15065 }
15066 }
15067 },
15068 "permissions" : {
15069 "user" : "all"
15070 },
15071 "proxyto" : "node",
15072 "returns" : {
15073 "items" : {
15074 "properties" : {
15075 "subdir" : {
15076 "type" : "string"
15077 }
15078 },
15079 "type" : "object"
15080 },
15081 "links" : [
15082 {
15083 "href" : "{subdir}",
15084 "rel" : "child"
15085 }
15086 ],
15087 "type" : "array"
15088 }
15089 }
15090 },
15091 "leaf" : 0,
15092 "path" : "/nodes/{node}/qemu/{vmid}/status",
15093 "text" : "status"
15094 },
15095 {
15096 "info" : {
15097 "PUT" : {
15098 "description" : "Send key event to virtual machine.",
15099 "method" : "PUT",
15100 "name" : "vm_sendkey",
15101 "parameters" : {
15102 "additionalProperties" : 0,
15103 "properties" : {
15104 "key" : {
15105 "description" : "The key (qemu monitor encoding).",
15106 "type" : "string",
15107 "typetext" : "<string>"
15108 },
15109 "node" : {
15110 "description" : "The cluster node name.",
15111 "format" : "pve-node",
15112 "type" : "string",
15113 "typetext" : "<string>"
15114 },
15115 "skiplock" : {
15116 "description" : "Ignore locks - only root is allowed to use this option.",
15117 "optional" : 1,
15118 "type" : "boolean",
15119 "typetext" : "<boolean>"
15120 },
15121 "vmid" : {
15122 "description" : "The (unique) ID of the VM.",
15123 "format" : "pve-vmid",
15124 "minimum" : 1,
15125 "type" : "integer",
15126 "typetext" : "<integer> (1 - N)"
15127 }
15128 }
15129 },
15130 "permissions" : {
15131 "check" : [
15132 "perm",
15133 "/vms/{vmid}",
15134 [
15135 "VM.Console"
15136 ]
15137 ]
15138 },
15139 "protected" : 1,
15140 "proxyto" : "node",
15141 "returns" : {
15142 "type" : "null"
15143 }
15144 }
15145 },
15146 "leaf" : 1,
15147 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
15148 "text" : "sendkey"
15149 },
15150 {
15151 "info" : {
15152 "GET" : {
15153 "description" : "Check if feature for virtual machine is available.",
15154 "method" : "GET",
15155 "name" : "vm_feature",
15156 "parameters" : {
15157 "additionalProperties" : 0,
15158 "properties" : {
15159 "feature" : {
15160 "description" : "Feature to check.",
15161 "enum" : [
15162 "snapshot",
15163 "clone",
15164 "copy"
15165 ],
15166 "type" : "string"
15167 },
15168 "node" : {
15169 "description" : "The cluster node name.",
15170 "format" : "pve-node",
15171 "type" : "string",
15172 "typetext" : "<string>"
15173 },
15174 "snapname" : {
15175 "description" : "The name of the snapshot.",
15176 "format" : "pve-configid",
15177 "maxLength" : 40,
15178 "optional" : 1,
15179 "type" : "string",
15180 "typetext" : "<string>"
15181 },
15182 "vmid" : {
15183 "description" : "The (unique) ID of the VM.",
15184 "format" : "pve-vmid",
15185 "minimum" : 1,
15186 "type" : "integer",
15187 "typetext" : "<integer> (1 - N)"
15188 }
15189 }
15190 },
15191 "permissions" : {
15192 "check" : [
15193 "perm",
15194 "/vms/{vmid}",
15195 [
15196 "VM.Audit"
15197 ]
15198 ]
15199 },
15200 "protected" : 1,
15201 "proxyto" : "node",
15202 "returns" : {
15203 "properties" : {
15204 "hasFeature" : {
15205 "type" : "boolean"
15206 },
15207 "nodes" : {
15208 "items" : {
15209 "type" : "string"
15210 },
15211 "type" : "array"
15212 }
15213 },
15214 "type" : "object"
15215 }
15216 }
15217 },
15218 "leaf" : 1,
15219 "path" : "/nodes/{node}/qemu/{vmid}/feature",
15220 "text" : "feature"
15221 },
15222 {
15223 "info" : {
15224 "POST" : {
15225 "description" : "Create a copy of virtual machine/template.",
15226 "method" : "POST",
15227 "name" : "clone_vm",
15228 "parameters" : {
15229 "additionalProperties" : 0,
15230 "properties" : {
15231 "description" : {
15232 "description" : "Description for the new VM.",
15233 "optional" : 1,
15234 "type" : "string",
15235 "typetext" : "<string>"
15236 },
15237 "format" : {
15238 "description" : "Target format for file storage. Only valid for full clone.",
15239 "enum" : [
15240 "raw",
15241 "qcow2",
15242 "vmdk"
15243 ],
15244 "optional" : 1,
15245 "type" : "string"
15246 },
15247 "full" : {
15248 "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.",
15249 "optional" : 1,
15250 "type" : "boolean",
15251 "typetext" : "<boolean>"
15252 },
15253 "name" : {
15254 "description" : "Set a name for the new VM.",
15255 "format" : "dns-name",
15256 "optional" : 1,
15257 "type" : "string",
15258 "typetext" : "<string>"
15259 },
15260 "newid" : {
15261 "description" : "VMID for the clone.",
15262 "format" : "pve-vmid",
15263 "minimum" : 1,
15264 "type" : "integer",
15265 "typetext" : "<integer> (1 - N)"
15266 },
15267 "node" : {
15268 "description" : "The cluster node name.",
15269 "format" : "pve-node",
15270 "type" : "string",
15271 "typetext" : "<string>"
15272 },
15273 "pool" : {
15274 "description" : "Add the new VM to the specified pool.",
15275 "format" : "pve-poolid",
15276 "optional" : 1,
15277 "type" : "string",
15278 "typetext" : "<string>"
15279 },
15280 "snapname" : {
15281 "description" : "The name of the snapshot.",
15282 "format" : "pve-configid",
15283 "maxLength" : 40,
15284 "optional" : 1,
15285 "type" : "string",
15286 "typetext" : "<string>"
15287 },
15288 "storage" : {
15289 "description" : "Target storage for full clone.",
15290 "format" : "pve-storage-id",
15291 "optional" : 1,
15292 "type" : "string",
15293 "typetext" : "<string>"
15294 },
15295 "target" : {
15296 "description" : "Target node. Only allowed if the original VM is on shared storage.",
15297 "format" : "pve-node",
15298 "optional" : 1,
15299 "type" : "string",
15300 "typetext" : "<string>"
15301 },
15302 "vmid" : {
15303 "description" : "The (unique) ID of the VM.",
15304 "format" : "pve-vmid",
15305 "minimum" : 1,
15306 "type" : "integer",
15307 "typetext" : "<integer> (1 - N)"
15308 }
15309 }
15310 },
15311 "permissions" : {
15312 "check" : [
15313 "and",
15314 [
15315 "perm",
15316 "/vms/{vmid}",
15317 [
15318 "VM.Clone"
15319 ]
15320 ],
15321 [
15322 "or",
15323 [
15324 "perm",
15325 "/vms/{newid}",
15326 [
15327 "VM.Allocate"
15328 ]
15329 ],
15330 [
15331 "perm",
15332 "/pool/{pool}",
15333 [
15334 "VM.Allocate"
15335 ],
15336 "require_param",
15337 "pool"
15338 ]
15339 ]
15340 ],
15341 "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."
15342 },
15343 "protected" : 1,
15344 "proxyto" : "node",
15345 "returns" : {
15346 "type" : "string"
15347 }
15348 }
15349 },
15350 "leaf" : 1,
15351 "path" : "/nodes/{node}/qemu/{vmid}/clone",
15352 "text" : "clone"
15353 },
15354 {
15355 "info" : {
15356 "POST" : {
15357 "description" : "Move volume to different storage.",
15358 "method" : "POST",
15359 "name" : "move_vm_disk",
15360 "parameters" : {
15361 "additionalProperties" : 0,
15362 "properties" : {
15363 "delete" : {
15364 "default" : 0,
15365 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
15366 "optional" : 1,
15367 "type" : "boolean",
15368 "typetext" : "<boolean>"
15369 },
15370 "digest" : {
15371 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15372 "maxLength" : 40,
15373 "optional" : 1,
15374 "type" : "string",
15375 "typetext" : "<string>"
15376 },
15377 "disk" : {
15378 "description" : "The disk you want to move.",
15379 "enum" : [
15380 "ide0",
15381 "ide1",
15382 "ide2",
15383 "ide3",
15384 "scsi0",
15385 "scsi1",
15386 "scsi2",
15387 "scsi3",
15388 "scsi4",
15389 "scsi5",
15390 "scsi6",
15391 "scsi7",
15392 "scsi8",
15393 "scsi9",
15394 "scsi10",
15395 "scsi11",
15396 "scsi12",
15397 "scsi13",
15398 "virtio0",
15399 "virtio1",
15400 "virtio2",
15401 "virtio3",
15402 "virtio4",
15403 "virtio5",
15404 "virtio6",
15405 "virtio7",
15406 "virtio8",
15407 "virtio9",
15408 "virtio10",
15409 "virtio11",
15410 "virtio12",
15411 "virtio13",
15412 "virtio14",
15413 "virtio15",
15414 "sata0",
15415 "sata1",
15416 "sata2",
15417 "sata3",
15418 "sata4",
15419 "sata5",
15420 "efidisk0"
15421 ],
15422 "type" : "string"
15423 },
15424 "format" : {
15425 "description" : "Target Format.",
15426 "enum" : [
15427 "raw",
15428 "qcow2",
15429 "vmdk"
15430 ],
15431 "optional" : 1,
15432 "type" : "string"
15433 },
15434 "node" : {
15435 "description" : "The cluster node name.",
15436 "format" : "pve-node",
15437 "type" : "string",
15438 "typetext" : "<string>"
15439 },
15440 "storage" : {
15441 "description" : "Target storage.",
15442 "format" : "pve-storage-id",
15443 "type" : "string",
15444 "typetext" : "<string>"
15445 },
15446 "vmid" : {
15447 "description" : "The (unique) ID of the VM.",
15448 "format" : "pve-vmid",
15449 "minimum" : 1,
15450 "type" : "integer",
15451 "typetext" : "<integer> (1 - N)"
15452 }
15453 }
15454 },
15455 "permissions" : {
15456 "check" : [
15457 "and",
15458 [
15459 "perm",
15460 "/vms/{vmid}",
15461 [
15462 "VM.Config.Disk"
15463 ]
15464 ],
15465 [
15466 "perm",
15467 "/storage/{storage}",
15468 [
15469 "Datastore.AllocateSpace"
15470 ]
15471 ]
15472 ],
15473 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
15474 },
15475 "protected" : 1,
15476 "proxyto" : "node",
15477 "returns" : {
15478 "description" : "the task ID.",
15479 "type" : "string"
15480 }
15481 }
15482 },
15483 "leaf" : 1,
15484 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
15485 "text" : "move_disk"
15486 },
15487 {
15488 "info" : {
15489 "POST" : {
15490 "description" : "Migrate virtual machine. Creates a new migration task.",
15491 "method" : "POST",
15492 "name" : "migrate_vm",
15493 "parameters" : {
15494 "additionalProperties" : 0,
15495 "properties" : {
15496 "force" : {
15497 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
15498 "optional" : 1,
15499 "type" : "boolean",
15500 "typetext" : "<boolean>"
15501 },
15502 "migration_network" : {
15503 "description" : "CIDR of the (sub) network that is used for migration.",
15504 "format" : "CIDR",
15505 "optional" : 1,
15506 "type" : "string",
15507 "typetext" : "<string>"
15508 },
15509 "migration_type" : {
15510 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
15511 "enum" : [
15512 "secure",
15513 "insecure"
15514 ],
15515 "optional" : 1,
15516 "type" : "string"
15517 },
15518 "node" : {
15519 "description" : "The cluster node name.",
15520 "format" : "pve-node",
15521 "type" : "string",
15522 "typetext" : "<string>"
15523 },
15524 "online" : {
15525 "description" : "Use online/live migration.",
15526 "optional" : 1,
15527 "type" : "boolean",
15528 "typetext" : "<boolean>"
15529 },
15530 "target" : {
15531 "description" : "Target node.",
15532 "format" : "pve-node",
15533 "type" : "string",
15534 "typetext" : "<string>"
15535 },
15536 "targetstorage" : {
15537 "description" : "Default target storage.",
15538 "format" : "pve-storage-id",
15539 "optional" : 1,
52e44c50
FG
15540 "type" : "string",
15541 "typetext" : "<string>"
15542 },
7aacca6f 15543 "vmid" : {
7aacca6f 15544 "description" : "The (unique) ID of the VM.",
44660702 15545 "format" : "pve-vmid",
7aacca6f 15546 "minimum" : 1,
4bd7df8b 15547 "type" : "integer",
013dc89f 15548 "typetext" : "<integer> (1 - N)"
52e44c50
FG
15549 },
15550 "with-local-disks" : {
15551 "description" : "Enable live storage migration for local disk",
15552 "optional" : 1,
15553 "type" : "boolean",
15554 "typetext" : "<boolean>"
56122987 15555 }
44660702
DM
15556 }
15557 },
15558 "permissions" : {
15559 "check" : [
15560 "perm",
15561 "/vms/{vmid}",
15562 [
15563 "VM.Migrate"
15564 ]
15565 ]
56122987
DM
15566 },
15567 "protected" : 1,
44660702
DM
15568 "proxyto" : "node",
15569 "returns" : {
15570 "description" : "the task ID.",
15571 "type" : "string"
15572 }
56122987 15573 }
7aacca6f 15574 },
44660702
DM
15575 "leaf" : 1,
15576 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 15577 "text" : "migrate"
56122987
DM
15578 },
15579 {
15580 "info" : {
15581 "POST" : {
44660702 15582 "description" : "Execute Qemu monitor commands.",
56122987 15583 "method" : "POST",
44660702 15584 "name" : "monitor",
56122987 15585 "parameters" : {
7aacca6f 15586 "additionalProperties" : 0,
56122987 15587 "properties" : {
44660702
DM
15588 "command" : {
15589 "description" : "The monitor command.",
013dc89f
DM
15590 "type" : "string",
15591 "typetext" : "<string>"
44660702 15592 },
56122987 15593 "node" : {
44660702 15594 "description" : "The cluster node name.",
7aacca6f 15595 "format" : "pve-node",
013dc89f
DM
15596 "type" : "string",
15597 "typetext" : "<string>"
56122987
DM
15598 },
15599 "vmid" : {
44660702 15600 "description" : "The (unique) ID of the VM.",
56122987 15601 "format" : "pve-vmid",
7aacca6f 15602 "minimum" : 1,
4bd7df8b 15603 "type" : "integer",
013dc89f 15604 "typetext" : "<integer> (1 - N)"
56122987 15605 }
7aacca6f 15606 }
56122987 15607 },
56122987
DM
15608 "permissions" : {
15609 "check" : [
15610 "perm",
15611 "/vms/{vmid}",
15612 [
15613 "VM.Monitor"
15614 ]
32d876b5
DM
15615 ],
15616 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 15617 },
44660702
DM
15618 "protected" : 1,
15619 "proxyto" : "node",
15620 "returns" : {
15621 "type" : "string"
15622 }
56122987 15623 }
44660702
DM
15624 },
15625 "leaf" : 1,
15626 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
15627 "text" : "monitor"
56122987
DM
15628 },
15629 {
56122987
DM
15630 "info" : {
15631 "PUT" : {
44660702
DM
15632 "description" : "Extend volume size.",
15633 "method" : "PUT",
15634 "name" : "resize_vm",
56122987 15635 "parameters" : {
44660702 15636 "additionalProperties" : 0,
56122987 15637 "properties" : {
44660702
DM
15638 "digest" : {
15639 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15640 "maxLength" : 40,
15641 "optional" : 1,
013dc89f
DM
15642 "type" : "string",
15643 "typetext" : "<string>"
56122987 15644 },
56122987
DM
15645 "disk" : {
15646 "description" : "The disk you want to resize.",
15647 "enum" : [
15648 "ide0",
15649 "ide1",
15650 "ide2",
15651 "ide3",
15652 "scsi0",
15653 "scsi1",
15654 "scsi2",
15655 "scsi3",
15656 "scsi4",
15657 "scsi5",
15658 "scsi6",
15659 "scsi7",
15660 "scsi8",
15661 "scsi9",
15662 "scsi10",
15663 "scsi11",
15664 "scsi12",
15665 "scsi13",
15666 "virtio0",
15667 "virtio1",
15668 "virtio2",
15669 "virtio3",
15670 "virtio4",
15671 "virtio5",
15672 "virtio6",
15673 "virtio7",
15674 "virtio8",
15675 "virtio9",
15676 "virtio10",
15677 "virtio11",
15678 "virtio12",
15679 "virtio13",
15680 "virtio14",
15681 "virtio15",
15682 "sata0",
15683 "sata1",
15684 "sata2",
15685 "sata3",
15686 "sata4",
2c0dde61
DM
15687 "sata5",
15688 "efidisk0"
44660702
DM
15689 ],
15690 "type" : "string"
56122987 15691 },
44660702
DM
15692 "node" : {
15693 "description" : "The cluster node name.",
15694 "format" : "pve-node",
013dc89f
DM
15695 "type" : "string",
15696 "typetext" : "<string>"
7aacca6f 15697 },
44660702 15698 "size" : {
5d9c884c 15699 "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
15700 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
15701 "type" : "string"
56122987
DM
15702 },
15703 "skiplock" : {
15704 "description" : "Ignore locks - only root is allowed to use this option.",
15705 "optional" : 1,
013dc89f
DM
15706 "type" : "boolean",
15707 "typetext" : "<boolean>"
56122987
DM
15708 },
15709 "vmid" : {
7aacca6f 15710 "description" : "The (unique) ID of the VM.",
56122987 15711 "format" : "pve-vmid",
44660702 15712 "minimum" : 1,
4bd7df8b 15713 "type" : "integer",
013dc89f 15714 "typetext" : "<integer> (1 - N)"
56122987
DM
15715 }
15716 }
15717 },
15718 "permissions" : {
15719 "check" : [
15720 "perm",
15721 "/vms/{vmid}",
15722 [
44660702 15723 "VM.Config.Disk"
56122987
DM
15724 ]
15725 ]
15726 },
7aacca6f 15727 "protected" : 1,
7aacca6f 15728 "proxyto" : "node",
44660702
DM
15729 "returns" : {
15730 "type" : "null"
15731 }
7aacca6f
DM
15732 }
15733 },
44660702
DM
15734 "leaf" : 1,
15735 "path" : "/nodes/{node}/qemu/{vmid}/resize",
15736 "text" : "resize"
15737 },
15738 {
56122987
DM
15739 "children" : [
15740 {
15741 "children" : [
15742 {
56122987 15743 "info" : {
44660702
DM
15744 "GET" : {
15745 "description" : "Get snapshot configuration",
15746 "method" : "GET",
15747 "name" : "get_snapshot_config",
56122987 15748 "parameters" : {
44660702 15749 "additionalProperties" : 0,
56122987 15750 "properties" : {
56122987 15751 "node" : {
44660702 15752 "description" : "The cluster node name.",
56122987 15753 "format" : "pve-node",
013dc89f
DM
15754 "type" : "string",
15755 "typetext" : "<string>"
7aacca6f
DM
15756 },
15757 "snapname" : {
44660702 15758 "description" : "The name of the snapshot.",
7aacca6f 15759 "format" : "pve-configid",
44660702 15760 "maxLength" : 40,
013dc89f
DM
15761 "type" : "string",
15762 "typetext" : "<string>"
7aacca6f
DM
15763 },
15764 "vmid" : {
44660702 15765 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15766 "format" : "pve-vmid",
15767 "minimum" : 1,
4bd7df8b 15768 "type" : "integer",
013dc89f 15769 "typetext" : "<integer> (1 - N)"
56122987 15770 }
44660702 15771 }
56122987
DM
15772 },
15773 "permissions" : {
15774 "check" : [
15775 "perm",
15776 "/vms/{vmid}",
15777 [
2489d6df
WB
15778 "VM.Snapshot",
15779 "VM.Snapshot.Rollback"
15780 ],
15781 "any",
15782 1
56122987
DM
15783 ]
15784 },
44660702 15785 "proxyto" : "node",
56122987 15786 "returns" : {
44660702 15787 "type" : "object"
7aacca6f
DM
15788 }
15789 },
44660702
DM
15790 "PUT" : {
15791 "description" : "Update snapshot metadata.",
15792 "method" : "PUT",
15793 "name" : "update_snapshot_config",
56122987 15794 "parameters" : {
44660702 15795 "additionalProperties" : 0,
56122987 15796 "properties" : {
44660702
DM
15797 "description" : {
15798 "description" : "A textual description or comment.",
15799 "optional" : 1,
013dc89f
DM
15800 "type" : "string",
15801 "typetext" : "<string>"
44660702 15802 },
56122987 15803 "node" : {
7aacca6f 15804 "description" : "The cluster node name.",
44660702 15805 "format" : "pve-node",
013dc89f
DM
15806 "type" : "string",
15807 "typetext" : "<string>"
56122987 15808 },
56122987
DM
15809 "snapname" : {
15810 "description" : "The name of the snapshot.",
44660702 15811 "format" : "pve-configid",
7aacca6f 15812 "maxLength" : 40,
013dc89f
DM
15813 "type" : "string",
15814 "typetext" : "<string>"
7aacca6f
DM
15815 },
15816 "vmid" : {
15817 "description" : "The (unique) ID of the VM.",
44660702 15818 "format" : "pve-vmid",
7aacca6f 15819 "minimum" : 1,
4bd7df8b 15820 "type" : "integer",
013dc89f 15821 "typetext" : "<integer> (1 - N)"
56122987 15822 }
44660702 15823 }
56122987 15824 },
7aacca6f
DM
15825 "permissions" : {
15826 "check" : [
15827 "perm",
15828 "/vms/{vmid}",
15829 [
15830 "VM.Snapshot"
15831 ]
15832 ]
44660702
DM
15833 },
15834 "protected" : 1,
15835 "proxyto" : "node",
15836 "returns" : {
15837 "type" : "null"
7aacca6f 15838 }
56122987
DM
15839 }
15840 },
44660702 15841 "leaf" : 1,
7aacca6f 15842 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 15843 "text" : "config"
56122987
DM
15844 },
15845 {
56122987
DM
15846 "info" : {
15847 "POST" : {
44660702 15848 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 15849 "method" : "POST",
44660702 15850 "name" : "rollback",
56122987
DM
15851 "parameters" : {
15852 "additionalProperties" : 0,
15853 "properties" : {
44660702
DM
15854 "node" : {
15855 "description" : "The cluster node name.",
15856 "format" : "pve-node",
013dc89f
DM
15857 "type" : "string",
15858 "typetext" : "<string>"
44660702 15859 },
56122987 15860 "snapname" : {
44660702 15861 "description" : "The name of the snapshot.",
56122987
DM
15862 "format" : "pve-configid",
15863 "maxLength" : 40,
013dc89f
DM
15864 "type" : "string",
15865 "typetext" : "<string>"
7aacca6f 15866 },
56122987 15867 "vmid" : {
7aacca6f 15868 "description" : "The (unique) ID of the VM.",
44660702 15869 "format" : "pve-vmid",
56122987 15870 "minimum" : 1,
4bd7df8b 15871 "type" : "integer",
013dc89f 15872 "typetext" : "<integer> (1 - N)"
56122987
DM
15873 }
15874 }
15875 },
7aacca6f 15876 "permissions" : {
56122987
DM
15877 "check" : [
15878 "perm",
15879 "/vms/{vmid}",
15880 [
2489d6df
WB
15881 "VM.Snapshot",
15882 "VM.Snapshot.Rollback"
15883 ],
15884 "any",
15885 1
56122987
DM
15886 ]
15887 },
44660702 15888 "protected" : 1,
7aacca6f 15889 "proxyto" : "node",
44660702
DM
15890 "returns" : {
15891 "description" : "the task ID.",
15892 "type" : "string"
15893 }
56122987
DM
15894 }
15895 },
44660702
DM
15896 "leaf" : 1,
15897 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 15898 "text" : "rollback"
56122987 15899 }
44660702
DM
15900 ],
15901 "info" : {
15902 "DELETE" : {
15903 "description" : "Delete a VM snapshot.",
15904 "method" : "DELETE",
15905 "name" : "delsnapshot",
15906 "parameters" : {
15907 "additionalProperties" : 0,
15908 "properties" : {
15909 "force" : {
15910 "description" : "For removal from config file, even if removing disk snapshots fails.",
15911 "optional" : 1,
013dc89f
DM
15912 "type" : "boolean",
15913 "typetext" : "<boolean>"
44660702
DM
15914 },
15915 "node" : {
15916 "description" : "The cluster node name.",
15917 "format" : "pve-node",
013dc89f
DM
15918 "type" : "string",
15919 "typetext" : "<string>"
44660702
DM
15920 },
15921 "snapname" : {
15922 "description" : "The name of the snapshot.",
15923 "format" : "pve-configid",
15924 "maxLength" : 40,
013dc89f
DM
15925 "type" : "string",
15926 "typetext" : "<string>"
44660702
DM
15927 },
15928 "vmid" : {
15929 "description" : "The (unique) ID of the VM.",
15930 "format" : "pve-vmid",
15931 "minimum" : 1,
4bd7df8b 15932 "type" : "integer",
013dc89f 15933 "typetext" : "<integer> (1 - N)"
44660702
DM
15934 }
15935 }
15936 },
15937 "permissions" : {
15938 "check" : [
15939 "perm",
15940 "/vms/{vmid}",
15941 [
15942 "VM.Snapshot"
15943 ]
15944 ]
15945 },
15946 "protected" : 1,
15947 "proxyto" : "node",
15948 "returns" : {
15949 "description" : "the task ID.",
15950 "type" : "string"
15951 }
15952 },
15953 "GET" : {
15954 "description" : "",
15955 "method" : "GET",
15956 "name" : "snapshot_cmd_idx",
15957 "parameters" : {
15958 "additionalProperties" : 0,
15959 "properties" : {
15960 "node" : {
15961 "description" : "The cluster node name.",
15962 "format" : "pve-node",
013dc89f
DM
15963 "type" : "string",
15964 "typetext" : "<string>"
44660702
DM
15965 },
15966 "snapname" : {
15967 "description" : "The name of the snapshot.",
15968 "format" : "pve-configid",
15969 "maxLength" : 40,
013dc89f
DM
15970 "type" : "string",
15971 "typetext" : "<string>"
44660702
DM
15972 },
15973 "vmid" : {
15974 "description" : "The (unique) ID of the VM.",
15975 "format" : "pve-vmid",
15976 "minimum" : 1,
4bd7df8b 15977 "type" : "integer",
013dc89f 15978 "typetext" : "<integer> (1 - N)"
44660702
DM
15979 }
15980 }
15981 },
15982 "permissions" : {
15983 "user" : "all"
15984 },
15985 "returns" : {
15986 "items" : {
15987 "properties" : {},
15988 "type" : "object"
15989 },
15990 "links" : [
15991 {
15992 "href" : "{cmd}",
15993 "rel" : "child"
15994 }
15995 ],
15996 "type" : "array"
15997 }
15998 }
15999 },
16000 "leaf" : 0,
16001 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
16002 "text" : "{snapname}"
56122987
DM
16003 }
16004 ],
44660702
DM
16005 "info" : {
16006 "GET" : {
16007 "description" : "List all snapshots.",
16008 "method" : "GET",
16009 "name" : "snapshot_list",
16010 "parameters" : {
16011 "additionalProperties" : 0,
16012 "properties" : {
16013 "node" : {
16014 "description" : "The cluster node name.",
16015 "format" : "pve-node",
013dc89f
DM
16016 "type" : "string",
16017 "typetext" : "<string>"
44660702
DM
16018 },
16019 "vmid" : {
16020 "description" : "The (unique) ID of the VM.",
16021 "format" : "pve-vmid",
16022 "minimum" : 1,
4bd7df8b 16023 "type" : "integer",
013dc89f 16024 "typetext" : "<integer> (1 - N)"
44660702
DM
16025 }
16026 }
16027 },
16028 "permissions" : {
16029 "check" : [
16030 "perm",
16031 "/vms/{vmid}",
16032 [
16033 "VM.Audit"
16034 ]
16035 ]
16036 },
16037 "protected" : 1,
16038 "proxyto" : "node",
16039 "returns" : {
16040 "items" : {
4d47f125
TL
16041 "properties" : {
16042 "description" : {
16043 "description" : "Snapshot description.",
16044 "type" : "string"
16045 },
16046 "name" : {
16047 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
16048 "type" : "string"
16049 },
16050 "parent" : {
16051 "description" : "Parent snapshot identifier.",
16052 "optional" : 1,
16053 "type" : "string"
16054 },
16055 "snaptime" : {
16056 "description" : "Snapshot creation time",
16057 "optional" : 1,
16058 "renderer" : "timestamp",
16059 "type" : "integer"
16060 },
16061 "vmstate" : {
16062 "description" : "Snapshot includes RAM.",
16063 "optional" : 1,
16064 "type" : "boolean"
16065 }
16066 },
44660702
DM
16067 "type" : "object"
16068 },
16069 "links" : [
16070 {
16071 "href" : "{name}",
16072 "rel" : "child"
16073 }
16074 ],
16075 "type" : "array"
16076 }
16077 },
16078 "POST" : {
16079 "description" : "Snapshot a VM.",
16080 "method" : "POST",
16081 "name" : "snapshot",
16082 "parameters" : {
16083 "additionalProperties" : 0,
16084 "properties" : {
16085 "description" : {
16086 "description" : "A textual description or comment.",
16087 "optional" : 1,
013dc89f
DM
16088 "type" : "string",
16089 "typetext" : "<string>"
44660702
DM
16090 },
16091 "node" : {
16092 "description" : "The cluster node name.",
16093 "format" : "pve-node",
013dc89f
DM
16094 "type" : "string",
16095 "typetext" : "<string>"
44660702
DM
16096 },
16097 "snapname" : {
16098 "description" : "The name of the snapshot.",
16099 "format" : "pve-configid",
16100 "maxLength" : 40,
013dc89f
DM
16101 "type" : "string",
16102 "typetext" : "<string>"
44660702
DM
16103 },
16104 "vmid" : {
16105 "description" : "The (unique) ID of the VM.",
16106 "format" : "pve-vmid",
16107 "minimum" : 1,
4bd7df8b 16108 "type" : "integer",
013dc89f 16109 "typetext" : "<integer> (1 - N)"
44660702
DM
16110 },
16111 "vmstate" : {
16112 "description" : "Save the vmstate",
16113 "optional" : 1,
013dc89f
DM
16114 "type" : "boolean",
16115 "typetext" : "<boolean>"
44660702
DM
16116 }
16117 }
16118 },
16119 "permissions" : {
16120 "check" : [
16121 "perm",
16122 "/vms/{vmid}",
16123 [
16124 "VM.Snapshot"
16125 ]
16126 ]
16127 },
16128 "protected" : 1,
16129 "proxyto" : "node",
16130 "returns" : {
16131 "description" : "the task ID.",
16132 "type" : "string"
16133 }
16134 }
16135 },
16136 "leaf" : 0,
16137 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 16138 "text" : "snapshot"
56122987
DM
16139 },
16140 {
56122987
DM
16141 "info" : {
16142 "POST" : {
44660702
DM
16143 "description" : "Create a Template.",
16144 "method" : "POST",
56122987 16145 "name" : "template",
56122987 16146 "parameters" : {
7aacca6f 16147 "additionalProperties" : 0,
56122987 16148 "properties" : {
56122987 16149 "disk" : {
56122987
DM
16150 "description" : "If you want to convert only 1 disk to base image.",
16151 "enum" : [
16152 "ide0",
16153 "ide1",
16154 "ide2",
16155 "ide3",
16156 "scsi0",
16157 "scsi1",
16158 "scsi2",
16159 "scsi3",
16160 "scsi4",
16161 "scsi5",
16162 "scsi6",
16163 "scsi7",
16164 "scsi8",
16165 "scsi9",
16166 "scsi10",
16167 "scsi11",
16168 "scsi12",
16169 "scsi13",
16170 "virtio0",
16171 "virtio1",
16172 "virtio2",
16173 "virtio3",
16174 "virtio4",
16175 "virtio5",
16176 "virtio6",
16177 "virtio7",
16178 "virtio8",
16179 "virtio9",
16180 "virtio10",
16181 "virtio11",
16182 "virtio12",
16183 "virtio13",
16184 "virtio14",
16185 "virtio15",
16186 "sata0",
16187 "sata1",
16188 "sata2",
16189 "sata3",
16190 "sata4",
2c0dde61
DM
16191 "sata5",
16192 "efidisk0"
56122987 16193 ],
7aacca6f 16194 "optional" : 1,
56122987
DM
16195 "type" : "string"
16196 },
44660702
DM
16197 "node" : {
16198 "description" : "The cluster node name.",
16199 "format" : "pve-node",
013dc89f
DM
16200 "type" : "string",
16201 "typetext" : "<string>"
44660702
DM
16202 },
16203 "vmid" : {
16204 "description" : "The (unique) ID of the VM.",
7aacca6f 16205 "format" : "pve-vmid",
44660702 16206 "minimum" : 1,
4bd7df8b 16207 "type" : "integer",
013dc89f 16208 "typetext" : "<integer> (1 - N)"
56122987 16209 }
7aacca6f 16210 }
56122987 16211 },
7aacca6f
DM
16212 "permissions" : {
16213 "check" : [
16214 "perm",
16215 "/vms/{vmid}",
16216 [
16217 "VM.Allocate"
16218 ]
16219 ],
16220 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
16221 },
44660702 16222 "protected" : 1,
7aacca6f 16223 "proxyto" : "node",
7aacca6f
DM
16224 "returns" : {
16225 "type" : "null"
16226 }
56122987
DM
16227 }
16228 },
44660702 16229 "leaf" : 1,
7aacca6f 16230 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 16231 "text" : "template"
56122987
DM
16232 }
16233 ],
7aacca6f 16234 "info" : {
44660702
DM
16235 "DELETE" : {
16236 "description" : "Destroy the vm (also delete all used/owned volumes).",
16237 "method" : "DELETE",
16238 "name" : "destroy_vm",
7aacca6f 16239 "parameters" : {
44660702 16240 "additionalProperties" : 0,
7aacca6f
DM
16241 "properties" : {
16242 "node" : {
44660702 16243 "description" : "The cluster node name.",
7aacca6f 16244 "format" : "pve-node",
013dc89f
DM
16245 "type" : "string",
16246 "typetext" : "<string>"
44660702
DM
16247 },
16248 "skiplock" : {
16249 "description" : "Ignore locks - only root is allowed to use this option.",
16250 "optional" : 1,
013dc89f
DM
16251 "type" : "boolean",
16252 "typetext" : "<boolean>"
7aacca6f
DM
16253 },
16254 "vmid" : {
44660702 16255 "description" : "The (unique) ID of the VM.",
7aacca6f 16256 "format" : "pve-vmid",
44660702 16257 "minimum" : 1,
4bd7df8b 16258 "type" : "integer",
013dc89f 16259 "typetext" : "<integer> (1 - N)"
7aacca6f 16260 }
44660702 16261 }
7aacca6f 16262 },
7aacca6f
DM
16263 "permissions" : {
16264 "check" : [
16265 "perm",
16266 "/vms/{vmid}",
16267 [
16268 "VM.Allocate"
16269 ]
16270 ]
16271 },
44660702
DM
16272 "protected" : 1,
16273 "proxyto" : "node",
7aacca6f
DM
16274 "returns" : {
16275 "type" : "string"
44660702
DM
16276 }
16277 },
16278 "GET" : {
16279 "description" : "Directory index",
16280 "method" : "GET",
16281 "name" : "vmdiridx",
7aacca6f 16282 "parameters" : {
44660702 16283 "additionalProperties" : 0,
7aacca6f 16284 "properties" : {
7aacca6f 16285 "node" : {
7aacca6f 16286 "description" : "The cluster node name.",
44660702 16287 "format" : "pve-node",
013dc89f
DM
16288 "type" : "string",
16289 "typetext" : "<string>"
44660702
DM
16290 },
16291 "vmid" : {
16292 "description" : "The (unique) ID of the VM.",
16293 "format" : "pve-vmid",
16294 "minimum" : 1,
4bd7df8b 16295 "type" : "integer",
013dc89f 16296 "typetext" : "<integer> (1 - N)"
7aacca6f 16297 }
44660702 16298 }
7aacca6f 16299 },
44660702
DM
16300 "permissions" : {
16301 "user" : "all"
16302 },
16303 "proxyto" : "node",
16304 "returns" : {
16305 "items" : {
16306 "properties" : {
16307 "subdir" : {
16308 "type" : "string"
16309 }
16310 },
16311 "type" : "object"
16312 },
16313 "links" : [
16314 {
16315 "href" : "{subdir}",
16316 "rel" : "child"
16317 }
16318 ],
16319 "type" : "array"
16320 }
7aacca6f 16321 }
44660702
DM
16322 },
16323 "leaf" : 0,
16324 "path" : "/nodes/{node}/qemu/{vmid}",
16325 "text" : "{vmid}"
56122987
DM
16326 }
16327 ],
16328 "info" : {
44660702
DM
16329 "GET" : {
16330 "description" : "Virtual machine index (per node).",
16331 "method" : "GET",
16332 "name" : "vmlist",
56122987 16333 "parameters" : {
44660702 16334 "additionalProperties" : 0,
56122987 16335 "properties" : {
44660702
DM
16336 "full" : {
16337 "description" : "Determine the full status of active VMs.",
56122987 16338 "optional" : 1,
013dc89f
DM
16339 "type" : "boolean",
16340 "typetext" : "<boolean>"
56122987 16341 },
44660702
DM
16342 "node" : {
16343 "description" : "The cluster node name.",
16344 "format" : "pve-node",
013dc89f
DM
16345 "type" : "string",
16346 "typetext" : "<string>"
44660702
DM
16347 }
16348 }
16349 },
16350 "permissions" : {
16351 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
16352 "user" : "all"
16353 },
16354 "protected" : 1,
16355 "proxyto" : "node",
16356 "returns" : {
16357 "items" : {
4d47f125
TL
16358 "properties" : {
16359 "cpus" : {
16360 "description" : "Maximum usable CPUs.",
16361 "optional" : 1,
16362 "type" : "number"
16363 },
16364 "maxdisk" : {
16365 "description" : "Root disk size in bytes.",
16366 "optional" : 1,
16367 "renderer" : "bytes",
16368 "type" : "integer"
16369 },
16370 "maxmem" : {
16371 "description" : "Maximum memory in bytes.",
16372 "optional" : 1,
16373 "renderer" : "bytes",
16374 "type" : "integer"
16375 },
16376 "name" : {
16377 "description" : "VM name.",
16378 "optional" : 1,
16379 "type" : "string"
16380 },
16381 "pid" : {
16382 "description" : "PID of running qemu process.",
16383 "optional" : 1,
16384 "type" : "integer"
16385 },
16386 "qmpstatus" : {
16387 "description" : "Qemu QMP agent status.",
16388 "optional" : 1,
16389 "type" : "string"
16390 },
16391 "status" : {
16392 "description" : "Qemu process status.",
16393 "enum" : [
16394 "stopped",
16395 "running"
16396 ],
16397 "type" : "string"
16398 },
16399 "uptime" : {
16400 "description" : "Uptime.",
16401 "optional" : 1,
16402 "renderer" : "duration",
16403 "type" : "integer"
16404 },
16405 "vmid" : {
16406 "description" : "The (unique) ID of the VM.",
16407 "format" : "pve-vmid",
16408 "minimum" : 1,
16409 "type" : "integer"
16410 }
16411 },
44660702
DM
16412 "type" : "object"
16413 },
16414 "links" : [
16415 {
16416 "href" : "{vmid}",
16417 "rel" : "child"
16418 }
16419 ],
16420 "type" : "array"
16421 }
16422 },
16423 "POST" : {
16424 "description" : "Create or restore a virtual machine.",
16425 "method" : "POST",
16426 "name" : "create_vm",
16427 "parameters" : {
16428 "additionalProperties" : 0,
16429 "properties" : {
7aacca6f 16430 "acpi" : {
7aacca6f 16431 "default" : 1,
44660702 16432 "description" : "Enable/disable ACPI.",
56122987 16433 "optional" : 1,
013dc89f
DM
16434 "type" : "boolean",
16435 "typetext" : "<boolean>"
56122987 16436 },
44660702 16437 "agent" : {
4d47f125
TL
16438 "description" : "Enable/disable Qemu GuestAgent and its properties.",
16439 "format" : {
16440 "enabled" : {
16441 "default" : 0,
16442 "default_key" : 1,
16443 "description" : "Enable/disable Qemu GuestAgent.",
16444 "type" : "boolean"
16445 },
16446 "fstrim_cloned_disks" : {
16447 "default" : 0,
16448 "description" : "Run fstrim after cloning/moving a disk.",
16449 "optional" : 1,
16450 "type" : "boolean"
16451 }
16452 },
7aacca6f 16453 "optional" : 1,
4d47f125
TL
16454 "type" : "string",
16455 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
56122987 16456 },
44660702
DM
16457 "archive" : {
16458 "description" : "The backup file.",
16459 "maxLength" : 255,
56122987 16460 "optional" : 1,
013dc89f
DM
16461 "type" : "string",
16462 "typetext" : "<string>"
56122987 16463 },
44660702 16464 "args" : {
c2993fe5 16465 "description" : "Arbitrary arguments passed to kvm.",
56122987 16466 "optional" : 1,
c2993fe5 16467 "type" : "string",
013dc89f 16468 "typetext" : "<string>",
c2993fe5 16469 "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 16470 },
44660702 16471 "autostart" : {
7aacca6f 16472 "default" : 0,
44660702
DM
16473 "description" : "Automatic restart after crash (currently ignored).",
16474 "optional" : 1,
013dc89f
DM
16475 "type" : "boolean",
16476 "typetext" : "<boolean>"
7aacca6f 16477 },
44660702
DM
16478 "balloon" : {
16479 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
16480 "minimum" : 0,
56122987 16481 "optional" : 1,
4bd7df8b 16482 "type" : "integer",
013dc89f 16483 "typetext" : "<integer> (0 - N)"
56122987 16484 },
44660702
DM
16485 "bios" : {
16486 "default" : "seabios",
16487 "description" : "Select BIOS implementation.",
16488 "enum" : [
16489 "seabios",
16490 "ovmf"
16491 ],
56122987 16492 "optional" : 1,
44660702 16493 "type" : "string"
56122987 16494 },
44660702
DM
16495 "boot" : {
16496 "default" : "cdn",
16497 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 16498 "optional" : 1,
44660702
DM
16499 "pattern" : "[acdn]{1,4}",
16500 "type" : "string"
56122987 16501 },
7aacca6f
DM
16502 "bootdisk" : {
16503 "description" : "Enable booting from specified disk.",
44660702
DM
16504 "format" : "pve-qm-bootdisk",
16505 "optional" : 1,
7aacca6f 16506 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
16507 "type" : "string"
16508 },
27a7acb2
DM
16509 "bwlimit" : {
16510 "description" : "Override i/o bandwidth limit (in KiB/s).",
16511 "minimum" : "0",
16512 "optional" : 1,
16513 "type" : "integer",
16514 "typetext" : "<integer> (0 - N)"
16515 },
44660702
DM
16516 "cdrom" : {
16517 "description" : "This is an alias for option -ide2",
de0983cb 16518 "format" : "pve-qm-ide",
56122987 16519 "optional" : 1,
44660702 16520 "type" : "string",
013dc89f 16521 "typetext" : "<volume>"
56122987 16522 },
27a7acb2
DM
16523 "cipassword" : {
16524 "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.",
16525 "optional" : 1,
16526 "type" : "string",
16527 "typetext" : "<string>"
16528 },
16529 "citype" : {
16530 "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.",
16531 "enum" : [
16532 "configdrive2",
16533 "nocloud"
16534 ],
16535 "optional" : 1,
16536 "type" : "string"
16537 },
16538 "ciuser" : {
16539 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
16540 "optional" : 1,
16541 "type" : "string",
16542 "typetext" : "<string>"
16543 },
44660702
DM
16544 "cores" : {
16545 "default" : 1,
16546 "description" : "The number of cores per socket.",
7aacca6f 16547 "minimum" : 1,
44660702 16548 "optional" : 1,
4bd7df8b 16549 "type" : "integer",
013dc89f 16550 "typetext" : "<integer> (1 - N)"
7aacca6f 16551 },
44660702
DM
16552 "cpu" : {
16553 "description" : "Emulated CPU type.",
16554 "format" : {
16555 "cputype" : {
16556 "default" : "kvm64",
16557 "default_key" : 1,
16558 "description" : "Emulated CPU type.",
16559 "enum" : [
16560 "486",
16561 "athlon",
f004f5b9 16562 "Broadwell",
35a75dd3 16563 "Broadwell-IBRS",
f004f5b9 16564 "Broadwell-noTSX",
35a75dd3 16565 "Broadwell-noTSX-IBRS",
f004f5b9 16566 "Conroe",
44660702 16567 "core2duo",
f004f5b9 16568 "coreduo",
27a7acb2
DM
16569 "EPYC",
16570 "EPYC-IBPB",
f004f5b9 16571 "Haswell",
35a75dd3 16572 "Haswell-IBRS",
f004f5b9 16573 "Haswell-noTSX",
35a75dd3 16574 "Haswell-noTSX-IBRS",
f004f5b9
DM
16575 "host",
16576 "IvyBridge",
35a75dd3 16577 "IvyBridge-IBRS",
44660702
DM
16578 "kvm32",
16579 "kvm64",
35a75dd3 16580 "max",
44660702 16581 "Nehalem",
35a75dd3 16582 "Nehalem-IBRS",
44660702
DM
16583 "Opteron_G1",
16584 "Opteron_G2",
16585 "Opteron_G3",
16586 "Opteron_G4",
16587 "Opteron_G5",
f004f5b9
DM
16588 "Penryn",
16589 "pentium",
16590 "pentium2",
16591 "pentium3",
16592 "phenom",
16593 "qemu32",
16594 "qemu64",
16595 "SandyBridge",
35a75dd3 16596 "SandyBridge-IBRS",
5d9c884c 16597 "Skylake-Client",
35a75dd3
DM
16598 "Skylake-Client-IBRS",
16599 "Skylake-Server",
16600 "Skylake-Server-IBRS",
16601 "Westmere",
16602 "Westmere-IBRS"
44660702 16603 ],
44660702
DM
16604 "type" : "string"
16605 },
35a75dd3 16606 "flags" : {
4d47f125 16607 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.",
35a75dd3
DM
16608 "format_description" : "+FLAG[;-FLAG...]",
16609 "optional" : 1,
4d47f125 16610 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
35a75dd3
DM
16611 "type" : "string"
16612 },
44660702
DM
16613 "hidden" : {
16614 "default" : 0,
16615 "description" : "Do not identify as a KVM virtual machine.",
16616 "optional" : 1,
16617 "type" : "boolean"
16618 }
16619 },
56122987 16620 "optional" : 1,
4bd7df8b 16621 "type" : "string",
35a75dd3 16622 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
56122987 16623 },
44660702 16624 "cpulimit" : {
7aacca6f 16625 "default" : 0,
c2993fe5 16626 "description" : "Limit of CPU usage.",
44660702
DM
16627 "maximum" : 128,
16628 "minimum" : 0,
7aacca6f 16629 "optional" : 1,
c2993fe5 16630 "type" : "number",
013dc89f 16631 "typetext" : "<number> (0 - 128)",
c2993fe5 16632 "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
16633 },
16634 "cpuunits" : {
de0983cb 16635 "default" : 1024,
c2993fe5 16636 "description" : "CPU weight for a VM.",
2489d6df
WB
16637 "maximum" : 262144,
16638 "minimum" : 2,
44660702 16639 "optional" : 1,
c2993fe5 16640 "type" : "integer",
2489d6df
WB
16641 "typetext" : "<integer> (2 - 262144)",
16642 "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
16643 },
16644 "description" : {
16645 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 16646 "optional" : 1,
013dc89f
DM
16647 "type" : "string",
16648 "typetext" : "<string>"
44660702 16649 },
4d47f125
TL
16650 "efidisk0" : {
16651 "description" : "Configure a Disk for storing EFI vars",
16652 "format" : {
16653 "file" : {
16654 "default_key" : 1,
16655 "description" : "The drive's backing volume.",
16656 "format" : "pve-volume-id-or-qm-path",
16657 "format_description" : "volume",
16658 "type" : "string"
16659 },
16660 "format" : {
16661 "description" : "The drive's backing file's data format.",
16662 "enum" : [
16663 "raw",
16664 "cow",
16665 "qcow",
16666 "qed",
16667 "qcow2",
16668 "vmdk",
16669 "cloop"
16670 ],
16671 "optional" : 1,
16672 "type" : "string"
16673 },
16674 "size" : {
16675 "description" : "Disk size. This is purely informational and has no effect.",
16676 "format" : "disk-size",
16677 "format_description" : "DiskSize",
16678 "optional" : 1,
16679 "type" : "string"
16680 },
16681 "volume" : {
16682 "alias" : "file"
16683 }
16684 },
16685 "optional" : 1,
16686 "type" : "string",
16687 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
16688 },
44660702
DM
16689 "force" : {
16690 "description" : "Allow to overwrite existing VM.",
16691 "optional" : 1,
16692 "requires" : "archive",
013dc89f
DM
16693 "type" : "boolean",
16694 "typetext" : "<boolean>"
44660702
DM
16695 },
16696 "freeze" : {
16697 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
16698 "optional" : 1,
013dc89f
DM
16699 "type" : "boolean",
16700 "typetext" : "<boolean>"
44660702
DM
16701 },
16702 "hostpci[n]" : {
c2993fe5 16703 "description" : "Map host PCI devices into guest.",
44660702
DM
16704 "format" : "pve-qm-hostpci",
16705 "optional" : 1,
57b78691 16706 "type" : "string",
52e44c50 16707 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 16708 "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
16709 },
16710 "hotplug" : {
16711 "default" : "network,disk,usb",
16712 "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'.",
16713 "format" : "pve-hotplug-features",
16714 "optional" : 1,
013dc89f
DM
16715 "type" : "string",
16716 "typetext" : "<string>"
7aacca6f 16717 },
4bd7df8b
DM
16718 "hugepages" : {
16719 "description" : "Enable/disable hugepages memory.",
16720 "enum" : [
16721 "any",
16722 "2",
16723 "1024"
16724 ],
16725 "optional" : 1,
16726 "type" : "string"
16727 },
7aacca6f 16728 "ide[n]" : {
44660702 16729 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 16730 "format" : {
44660702
DM
16731 "aio" : {
16732 "description" : "AIO type to use.",
16733 "enum" : [
16734 "native",
16735 "threads"
16736 ],
44660702
DM
16737 "optional" : 1,
16738 "type" : "string"
16739 },
16740 "backup" : {
16741 "description" : "Whether the drive should be included when making backups.",
44660702
DM
16742 "optional" : 1,
16743 "type" : "boolean"
16744 },
16745 "bps" : {
de0983cb 16746 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 16747 "format_description" : "bps",
56122987 16748 "optional" : 1,
44660702 16749 "type" : "integer"
56122987 16750 },
de0983cb
DM
16751 "bps_max_length" : {
16752 "description" : "Maximum length of I/O bursts in seconds.",
16753 "format_description" : "seconds",
16754 "minimum" : 1,
16755 "optional" : 1,
16756 "type" : "integer"
16757 },
44660702 16758 "bps_rd" : {
de0983cb 16759 "description" : "Maximum read speed in bytes per second.",
44660702 16760 "format_description" : "bps",
56122987 16761 "optional" : 1,
44660702 16762 "type" : "integer"
56122987 16763 },
de0983cb 16764 "bps_rd_length" : {
5d9c884c
DM
16765 "alias" : "bps_rd_max_length"
16766 },
16767 "bps_rd_max_length" : {
de0983cb
DM
16768 "description" : "Maximum length of read I/O bursts in seconds.",
16769 "format_description" : "seconds",
16770 "minimum" : 1,
16771 "optional" : 1,
16772 "type" : "integer"
16773 },
44660702 16774 "bps_wr" : {
de0983cb 16775 "description" : "Maximum write speed in bytes per second.",
44660702 16776 "format_description" : "bps",
56122987 16777 "optional" : 1,
44660702 16778 "type" : "integer"
56122987 16779 },
de0983cb 16780 "bps_wr_length" : {
5d9c884c
DM
16781 "alias" : "bps_wr_max_length"
16782 },
16783 "bps_wr_max_length" : {
de0983cb
DM
16784 "description" : "Maximum length of write I/O bursts in seconds.",
16785 "format_description" : "seconds",
16786 "minimum" : 1,
16787 "optional" : 1,
16788 "type" : "integer"
16789 },
44660702
DM
16790 "cache" : {
16791 "description" : "The drive's cache mode",
56122987 16792 "enum" : [
7aacca6f 16793 "none",
44660702
DM
16794 "writethrough",
16795 "writeback",
16796 "unsafe",
16797 "directsync"
56122987 16798 ],
56122987 16799 "optional" : 1,
44660702 16800 "type" : "string"
56122987 16801 },
44660702
DM
16802 "cyls" : {
16803 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
16804 "optional" : 1,
16805 "type" : "integer"
7aacca6f 16806 },
44660702
DM
16807 "detect_zeroes" : {
16808 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 16809 "optional" : 1,
44660702 16810 "type" : "boolean"
56122987 16811 },
44660702
DM
16812 "discard" : {
16813 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
16814 "enum" : [
16815 "ignore",
16816 "on"
16817 ],
56122987 16818 "optional" : 1,
44660702 16819 "type" : "string"
56122987 16820 },
7aacca6f 16821 "file" : {
44660702 16822 "default_key" : 1,
7aacca6f 16823 "description" : "The drive's backing volume.",
7aacca6f
DM
16824 "format" : "pve-volume-id-or-qm-path",
16825 "format_description" : "volume",
7aacca6f 16826 "type" : "string"
56122987 16827 },
44660702
DM
16828 "format" : {
16829 "description" : "The drive's backing file's data format.",
56122987 16830 "enum" : [
44660702
DM
16831 "raw",
16832 "cow",
16833 "qcow",
16834 "qed",
16835 "qcow2",
16836 "vmdk",
16837 "cloop"
7aacca6f 16838 ],
7aacca6f
DM
16839 "optional" : 1,
16840 "type" : "string"
56122987 16841 },
44660702
DM
16842 "heads" : {
16843 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 16844 "optional" : 1,
44660702 16845 "type" : "integer"
56122987 16846 },
44660702 16847 "iops" : {
de0983cb 16848 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 16849 "format_description" : "iops",
56122987 16850 "optional" : 1,
44660702 16851 "type" : "integer"
56122987 16852 },
44660702 16853 "iops_max" : {
de0983cb 16854 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 16855 "format_description" : "iops",
56122987 16856 "optional" : 1,
44660702 16857 "type" : "integer"
56122987 16858 },
de0983cb
DM
16859 "iops_max_length" : {
16860 "description" : "Maximum length of I/O bursts in seconds.",
16861 "format_description" : "seconds",
16862 "minimum" : 1,
16863 "optional" : 1,
16864 "type" : "integer"
16865 },
7aacca6f 16866 "iops_rd" : {
de0983cb 16867 "description" : "Maximum read I/O in operations per second.",
44660702
DM
16868 "format_description" : "iops",
16869 "optional" : 1,
16870 "type" : "integer"
7aacca6f 16871 },
de0983cb 16872 "iops_rd_length" : {
5d9c884c 16873 "alias" : "iops_rd_max_length"
de0983cb 16874 },
44660702 16875 "iops_rd_max" : {
de0983cb 16876 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 16877 "format_description" : "iops",
56122987 16878 "optional" : 1,
44660702 16879 "type" : "integer"
56122987 16880 },
5d9c884c
DM
16881 "iops_rd_max_length" : {
16882 "description" : "Maximum length of read I/O bursts in seconds.",
16883 "format_description" : "seconds",
16884 "minimum" : 1,
16885 "optional" : 1,
16886 "type" : "integer"
16887 },
44660702 16888 "iops_wr" : {
de0983cb 16889 "description" : "Maximum write I/O in operations per second.",
44660702 16890 "format_description" : "iops",
56122987 16891 "optional" : 1,
44660702 16892 "type" : "integer"
7aacca6f 16893 },
de0983cb 16894 "iops_wr_length" : {
5d9c884c 16895 "alias" : "iops_wr_max_length"
de0983cb 16896 },
44660702 16897 "iops_wr_max" : {
de0983cb 16898 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 16899 "format_description" : "iops",
7aacca6f 16900 "optional" : 1,
44660702 16901 "type" : "integer"
56122987 16902 },
5d9c884c
DM
16903 "iops_wr_max_length" : {
16904 "description" : "Maximum length of write I/O bursts in seconds.",
16905 "format_description" : "seconds",
16906 "minimum" : 1,
16907 "optional" : 1,
16908 "type" : "integer"
16909 },
44660702 16910 "mbps" : {
de0983cb 16911 "description" : "Maximum r/w speed in megabytes per second.",
44660702 16912 "format_description" : "mbps",
7aacca6f 16913 "optional" : 1,
44660702 16914 "type" : "number"
56122987 16915 },
44660702 16916 "mbps_max" : {
de0983cb 16917 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 16918 "format_description" : "mbps",
56122987 16919 "optional" : 1,
44660702 16920 "type" : "number"
56122987 16921 },
44660702 16922 "mbps_rd" : {
de0983cb 16923 "description" : "Maximum read speed in megabytes per second.",
44660702 16924 "format_description" : "mbps",
7aacca6f 16925 "optional" : 1,
44660702 16926 "type" : "number"
7aacca6f 16927 },
44660702 16928 "mbps_rd_max" : {
de0983cb 16929 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 16930 "format_description" : "mbps",
56122987 16931 "optional" : 1,
44660702 16932 "type" : "number"
56122987 16933 },
44660702 16934 "mbps_wr" : {
de0983cb 16935 "description" : "Maximum write speed in megabytes per second.",
44660702 16936 "format_description" : "mbps",
7aacca6f 16937 "optional" : 1,
44660702 16938 "type" : "number"
56122987 16939 },
44660702 16940 "mbps_wr_max" : {
de0983cb 16941 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 16942 "format_description" : "mbps",
56122987 16943 "optional" : 1,
44660702 16944 "type" : "number"
7aacca6f
DM
16945 },
16946 "media" : {
44660702
DM
16947 "default" : "disk",
16948 "description" : "The drive's media type.",
56122987 16949 "enum" : [
7aacca6f
DM
16950 "cdrom",
16951 "disk"
56122987 16952 ],
56122987 16953 "optional" : 1,
44660702 16954 "type" : "string"
56122987 16955 },
44660702
DM
16956 "model" : {
16957 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
16958 "format" : "urlencoded",
16959 "format_description" : "model",
16960 "maxLength" : 120,
56122987 16961 "optional" : 1,
44660702 16962 "type" : "string"
56122987 16963 },
5d9c884c
DM
16964 "replicate" : {
16965 "default" : 1,
16966 "description" : "Whether the drive should considered for replication jobs.",
16967 "optional" : 1,
16968 "type" : "boolean"
16969 },
7aacca6f 16970 "rerror" : {
7aacca6f
DM
16971 "description" : "Read error action.",
16972 "enum" : [
16973 "ignore",
16974 "report",
16975 "stop"
44660702 16976 ],
44660702
DM
16977 "optional" : 1,
16978 "type" : "string"
56122987 16979 },
44660702
DM
16980 "secs" : {
16981 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 16982 "optional" : 1,
44660702
DM
16983 "type" : "integer"
16984 },
16985 "serial" : {
16986 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
16987 "format" : "urlencoded",
16988 "format_description" : "serial",
16989 "maxLength" : 60,
16990 "optional" : 1,
16991 "type" : "string"
16992 },
27a7acb2
DM
16993 "shared" : {
16994 "default" : 0,
16995 "description" : "Mark this locally-managed volume as available on all nodes",
16996 "optional" : 1,
16997 "type" : "boolean",
16998 "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!"
16999 },
44660702
DM
17000 "size" : {
17001 "description" : "Disk size. This is purely informational and has no effect.",
17002 "format" : "disk-size",
f004f5b9 17003 "format_description" : "DiskSize",
44660702
DM
17004 "optional" : 1,
17005 "type" : "string"
7aacca6f
DM
17006 },
17007 "snapshot" : {
27a7acb2 17008 "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 17009 "optional" : 1,
44660702 17010 "type" : "boolean"
7aacca6f 17011 },
25203dc1
NC
17012 "ssd" : {
17013 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17014 "optional" : 1,
17015 "type" : "boolean"
17016 },
44660702
DM
17017 "trans" : {
17018 "description" : "Force disk geometry bios translation mode.",
17019 "enum" : [
17020 "none",
17021 "lba",
17022 "auto"
17023 ],
7aacca6f 17024 "optional" : 1,
44660702
DM
17025 "type" : "string"
17026 },
17027 "volume" : {
17028 "alias" : "file"
17029 },
17030 "werror" : {
17031 "description" : "Write error action.",
17032 "enum" : [
17033 "enospc",
17034 "ignore",
17035 "report",
17036 "stop"
17037 ],
44660702
DM
17038 "optional" : 1,
17039 "type" : "string"
56122987
DM
17040 }
17041 },
56122987 17042 "optional" : 1,
4bd7df8b 17043 "type" : "string",
25203dc1 17044 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
27a7acb2
DM
17045 },
17046 "ipconfig[n]" : {
17047 "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",
17048 "format" : "pve-qm-ipconfig",
17049 "optional" : 1,
17050 "type" : "string",
17051 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 17052 },
56122987 17053 "keyboard" : {
35a75dd3 17054 "default" : null,
5da3d723 17055 "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 17056 "enum" : [
44660702
DM
17057 "de",
17058 "de-ch",
7aacca6f 17059 "da",
56122987 17060 "en-gb",
44660702
DM
17061 "en-us",
17062 "es",
17063 "fi",
17064 "fr",
17065 "fr-be",
17066 "fr-ca",
17067 "fr-ch",
17068 "hu",
7aacca6f 17069 "is",
44660702
DM
17070 "it",
17071 "ja",
17072 "lt",
56122987 17073 "mk",
7aacca6f 17074 "nl",
56122987 17075 "no",
44660702 17076 "pl",
7aacca6f 17077 "pt",
44660702
DM
17078 "pt-br",
17079 "sv",
17080 "sl",
17081 "tr"
56122987 17082 ],
44660702
DM
17083 "optional" : 1,
17084 "type" : "string"
56122987 17085 },
44660702
DM
17086 "kvm" : {
17087 "default" : 1,
17088 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 17089 "optional" : 1,
013dc89f
DM
17090 "type" : "boolean",
17091 "typetext" : "<boolean>"
7aacca6f 17092 },
44660702
DM
17093 "localtime" : {
17094 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 17095 "optional" : 1,
013dc89f
DM
17096 "type" : "boolean",
17097 "typetext" : "<boolean>"
44660702
DM
17098 },
17099 "lock" : {
17100 "description" : "Lock/unlock the VM.",
7aacca6f
DM
17101 "enum" : [
17102 "migrate",
17103 "backup",
17104 "snapshot",
17105 "rollback"
17106 ],
44660702
DM
17107 "optional" : 1,
17108 "type" : "string"
56122987 17109 },
44660702 17110 "machine" : {
4d47f125 17111 "description" : "Specifies the Qemu machine type.",
44660702
DM
17112 "maxLength" : 40,
17113 "optional" : 1,
17114 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
17115 "type" : "string"
17116 },
17117 "memory" : {
17118 "default" : 512,
17119 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
17120 "minimum" : 16,
17121 "optional" : 1,
4bd7df8b 17122 "type" : "integer",
013dc89f 17123 "typetext" : "<integer> (16 - N)"
44660702
DM
17124 },
17125 "migrate_downtime" : {
17126 "default" : 0.1,
17127 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
17128 "minimum" : 0,
17129 "optional" : 1,
4bd7df8b 17130 "type" : "number",
013dc89f 17131 "typetext" : "<number> (0 - N)"
44660702
DM
17132 },
17133 "migrate_speed" : {
56122987 17134 "default" : 0,
44660702
DM
17135 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
17136 "minimum" : 0,
56122987 17137 "optional" : 1,
4bd7df8b 17138 "type" : "integer",
013dc89f 17139 "typetext" : "<integer> (0 - N)"
56122987 17140 },
27a7acb2
DM
17141 "name" : {
17142 "description" : "Set a name for the VM. Only used on the configuration web interface.",
17143 "format" : "dns-name",
17144 "optional" : 1,
17145 "type" : "string",
17146 "typetext" : "<string>"
17147 },
17148 "nameserver" : {
17149 "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.",
17150 "format" : "address-list",
44660702 17151 "optional" : 1,
013dc89f
DM
17152 "type" : "string",
17153 "typetext" : "<string>"
44660702
DM
17154 },
17155 "net[n]" : {
c2993fe5 17156 "description" : "Specify network devices.",
f004f5b9
DM
17157 "format" : {
17158 "bridge" : {
c2993fe5 17159 "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
17160 "format_description" : "bridge",
17161 "optional" : 1,
17162 "type" : "string"
17163 },
17164 "e1000" : {
17165 "alias" : "macaddr",
17166 "keyAlias" : "model"
17167 },
17168 "e1000-82540em" : {
17169 "alias" : "macaddr",
17170 "keyAlias" : "model"
17171 },
17172 "e1000-82544gc" : {
17173 "alias" : "macaddr",
17174 "keyAlias" : "model"
17175 },
17176 "e1000-82545em" : {
17177 "alias" : "macaddr",
17178 "keyAlias" : "model"
17179 },
17180 "firewall" : {
17181 "description" : "Whether this interface should be protected by the firewall.",
17182 "optional" : 1,
17183 "type" : "boolean"
17184 },
17185 "i82551" : {
17186 "alias" : "macaddr",
17187 "keyAlias" : "model"
17188 },
17189 "i82557b" : {
17190 "alias" : "macaddr",
17191 "keyAlias" : "model"
17192 },
17193 "i82559er" : {
17194 "alias" : "macaddr",
17195 "keyAlias" : "model"
17196 },
17197 "link_down" : {
c2993fe5 17198 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
17199 "optional" : 1,
17200 "type" : "boolean"
17201 },
17202 "macaddr" : {
c2993fe5 17203 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 17204 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
17205 "optional" : 1,
17206 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
17207 "type" : "string"
17208 },
17209 "model" : {
17210 "default_key" : 1,
c2993fe5 17211 "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
17212 "enum" : [
17213 "rtl8139",
17214 "ne2k_pci",
17215 "e1000",
17216 "pcnet",
17217 "virtio",
17218 "ne2k_isa",
17219 "i82551",
17220 "i82557b",
17221 "i82559er",
17222 "vmxnet3",
17223 "e1000-82540em",
17224 "e1000-82544gc",
17225 "e1000-82545em"
17226 ],
f004f5b9
DM
17227 "type" : "string"
17228 },
17229 "ne2k_isa" : {
17230 "alias" : "macaddr",
17231 "keyAlias" : "model"
17232 },
17233 "ne2k_pci" : {
17234 "alias" : "macaddr",
17235 "keyAlias" : "model"
17236 },
17237 "pcnet" : {
17238 "alias" : "macaddr",
17239 "keyAlias" : "model"
17240 },
17241 "queues" : {
17242 "description" : "Number of packet queues to be used on the device.",
17243 "maximum" : 16,
17244 "minimum" : 0,
17245 "optional" : 1,
17246 "type" : "integer"
17247 },
17248 "rate" : {
c2993fe5 17249 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
17250 "minimum" : 0,
17251 "optional" : 1,
17252 "type" : "number"
17253 },
17254 "rtl8139" : {
17255 "alias" : "macaddr",
17256 "keyAlias" : "model"
17257 },
17258 "tag" : {
17259 "description" : "VLAN tag to apply to packets on this interface.",
17260 "maximum" : 4094,
c2993fe5 17261 "minimum" : 1,
f004f5b9
DM
17262 "optional" : 1,
17263 "type" : "integer"
17264 },
17265 "trunks" : {
17266 "description" : "VLAN trunks to pass through this interface.",
17267 "format_description" : "vlanid[;vlanid...]",
17268 "optional" : 1,
17269 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17270 "type" : "string"
17271 },
17272 "virtio" : {
17273 "alias" : "macaddr",
17274 "keyAlias" : "model"
17275 },
17276 "vmxnet3" : {
17277 "alias" : "macaddr",
17278 "keyAlias" : "model"
17279 }
17280 },
44660702 17281 "optional" : 1,
4bd7df8b 17282 "type" : "string",
013dc89f 17283 "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
17284 },
17285 "node" : {
17286 "description" : "The cluster node name.",
17287 "format" : "pve-node",
013dc89f
DM
17288 "type" : "string",
17289 "typetext" : "<string>"
44660702
DM
17290 },
17291 "numa" : {
7aacca6f 17292 "default" : 0,
44660702
DM
17293 "description" : "Enable/disable NUMA.",
17294 "optional" : 1,
013dc89f
DM
17295 "type" : "boolean",
17296 "typetext" : "<boolean>"
56122987 17297 },
7aacca6f 17298 "numa[n]" : {
c2993fe5 17299 "description" : "NUMA topology.",
7aacca6f 17300 "format" : {
44660702 17301 "cpus" : {
c2993fe5 17302 "description" : "CPUs accessing this NUMA node.",
44660702
DM
17303 "format_description" : "id[-id];...",
17304 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17305 "type" : "string"
17306 },
7aacca6f 17307 "hostnodes" : {
c2993fe5 17308 "description" : "Host NUMA nodes to use.",
44660702 17309 "format_description" : "id[-id];...",
7aacca6f 17310 "optional" : 1,
44660702
DM
17311 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17312 "type" : "string"
7aacca6f 17313 },
44660702 17314 "memory" : {
c2993fe5 17315 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
17316 "optional" : 1,
17317 "type" : "number"
7aacca6f
DM
17318 },
17319 "policy" : {
c2993fe5 17320 "description" : "NUMA allocation policy.",
7aacca6f
DM
17321 "enum" : [
17322 "preferred",
17323 "bind",
17324 "interleave"
17325 ],
7aacca6f 17326 "optional" : 1,
44660702 17327 "type" : "string"
7aacca6f
DM
17328 }
17329 },
56122987 17330 "optional" : 1,
4bd7df8b
DM
17331 "type" : "string",
17332 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 17333 },
44660702
DM
17334 "onboot" : {
17335 "default" : 0,
17336 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 17337 "optional" : 1,
013dc89f
DM
17338 "type" : "boolean",
17339 "typetext" : "<boolean>"
56122987
DM
17340 },
17341 "ostype" : {
c2993fe5 17342 "description" : "Specify guest operating system.",
56122987
DM
17343 "enum" : [
17344 "other",
17345 "wxp",
17346 "w2k",
17347 "w2k3",
17348 "w2k8",
17349 "wvista",
17350 "win7",
17351 "win8",
32d876b5 17352 "win10",
56122987
DM
17353 "l24",
17354 "l26",
17355 "solaris"
44660702 17356 ],
56122987 17357 "optional" : 1,
c2993fe5 17358 "type" : "string",
35a75dd3 17359 "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 17360 },
44660702 17361 "parallel[n]" : {
c2993fe5 17362 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 17363 "optional" : 1,
44660702 17364 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
17365 "type" : "string",
17366 "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 17367 },
44660702
DM
17368 "pool" : {
17369 "description" : "Add the VM to the specified pool.",
17370 "format" : "pve-poolid",
56122987 17371 "optional" : 1,
013dc89f
DM
17372 "type" : "string",
17373 "typetext" : "<string>"
56122987 17374 },
44660702
DM
17375 "protection" : {
17376 "default" : 0,
c2993fe5 17377 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 17378 "optional" : 1,
013dc89f
DM
17379 "type" : "boolean",
17380 "typetext" : "<boolean>"
56122987 17381 },
44660702 17382 "reboot" : {
7aacca6f 17383 "default" : 1,
44660702
DM
17384 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
17385 "optional" : 1,
013dc89f
DM
17386 "type" : "boolean",
17387 "typetext" : "<boolean>"
56122987 17388 },
56122987 17389 "sata[n]" : {
44660702 17390 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 17391 "format" : {
7aacca6f 17392 "aio" : {
44660702 17393 "description" : "AIO type to use.",
56122987 17394 "enum" : [
7aacca6f
DM
17395 "native",
17396 "threads"
56122987 17397 ],
7aacca6f 17398 "optional" : 1,
44660702 17399 "type" : "string"
7aacca6f
DM
17400 },
17401 "backup" : {
7aacca6f 17402 "description" : "Whether the drive should be included when making backups.",
7aacca6f 17403 "optional" : 1,
44660702 17404 "type" : "boolean"
56122987 17405 },
44660702 17406 "bps" : {
de0983cb 17407 "description" : "Maximum r/w speed in bytes per second.",
44660702 17408 "format_description" : "bps",
7aacca6f 17409 "optional" : 1,
44660702 17410 "type" : "integer"
56122987 17411 },
de0983cb
DM
17412 "bps_max_length" : {
17413 "description" : "Maximum length of I/O bursts in seconds.",
17414 "format_description" : "seconds",
17415 "minimum" : 1,
17416 "optional" : 1,
17417 "type" : "integer"
17418 },
44660702 17419 "bps_rd" : {
de0983cb 17420 "description" : "Maximum read speed in bytes per second.",
44660702 17421 "format_description" : "bps",
56122987 17422 "optional" : 1,
44660702 17423 "type" : "integer"
7aacca6f 17424 },
de0983cb 17425 "bps_rd_length" : {
5d9c884c
DM
17426 "alias" : "bps_rd_max_length"
17427 },
17428 "bps_rd_max_length" : {
de0983cb
DM
17429 "description" : "Maximum length of read I/O bursts in seconds.",
17430 "format_description" : "seconds",
17431 "minimum" : 1,
17432 "optional" : 1,
17433 "type" : "integer"
17434 },
44660702 17435 "bps_wr" : {
de0983cb 17436 "description" : "Maximum write speed in bytes per second.",
44660702 17437 "format_description" : "bps",
56122987 17438 "optional" : 1,
44660702 17439 "type" : "integer"
56122987 17440 },
de0983cb 17441 "bps_wr_length" : {
5d9c884c
DM
17442 "alias" : "bps_wr_max_length"
17443 },
17444 "bps_wr_max_length" : {
de0983cb
DM
17445 "description" : "Maximum length of write I/O bursts in seconds.",
17446 "format_description" : "seconds",
17447 "minimum" : 1,
17448 "optional" : 1,
17449 "type" : "integer"
17450 },
7aacca6f 17451 "cache" : {
7aacca6f
DM
17452 "description" : "The drive's cache mode",
17453 "enum" : [
17454 "none",
17455 "writethrough",
17456 "writeback",
17457 "unsafe",
17458 "directsync"
17459 ],
44660702
DM
17460 "optional" : 1,
17461 "type" : "string"
56122987 17462 },
44660702
DM
17463 "cyls" : {
17464 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 17465 "optional" : 1,
7aacca6f 17466 "type" : "integer"
56122987 17467 },
7aacca6f
DM
17468 "detect_zeroes" : {
17469 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 17470 "optional" : 1,
7aacca6f 17471 "type" : "boolean"
56122987 17472 },
44660702
DM
17473 "discard" : {
17474 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17475 "enum" : [
17476 "ignore",
17477 "on"
17478 ],
56122987 17479 "optional" : 1,
44660702 17480 "type" : "string"
56122987 17481 },
44660702
DM
17482 "file" : {
17483 "default_key" : 1,
17484 "description" : "The drive's backing volume.",
17485 "format" : "pve-volume-id-or-qm-path",
17486 "format_description" : "volume",
17487 "type" : "string"
56122987
DM
17488 },
17489 "format" : {
44660702 17490 "description" : "The drive's backing file's data format.",
56122987
DM
17491 "enum" : [
17492 "raw",
17493 "cow",
17494 "qcow",
17495 "qed",
17496 "qcow2",
17497 "vmdk",
17498 "cloop"
17499 ],
56122987 17500 "optional" : 1,
44660702 17501 "type" : "string"
56122987 17502 },
7aacca6f 17503 "heads" : {
7aacca6f 17504 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
17505 "optional" : 1,
17506 "type" : "integer"
56122987 17507 },
44660702 17508 "iops" : {
de0983cb 17509 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
17510 "format_description" : "iops",
17511 "optional" : 1,
17512 "type" : "integer"
56122987 17513 },
44660702 17514 "iops_max" : {
de0983cb 17515 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 17516 "format_description" : "iops",
56122987 17517 "optional" : 1,
44660702 17518 "type" : "integer"
56122987 17519 },
de0983cb
DM
17520 "iops_max_length" : {
17521 "description" : "Maximum length of I/O bursts in seconds.",
17522 "format_description" : "seconds",
17523 "minimum" : 1,
17524 "optional" : 1,
17525 "type" : "integer"
17526 },
44660702 17527 "iops_rd" : {
de0983cb 17528 "description" : "Maximum read I/O in operations per second.",
44660702 17529 "format_description" : "iops",
56122987 17530 "optional" : 1,
44660702 17531 "type" : "integer"
56122987 17532 },
de0983cb 17533 "iops_rd_length" : {
5d9c884c 17534 "alias" : "iops_rd_max_length"
de0983cb 17535 },
44660702 17536 "iops_rd_max" : {
de0983cb 17537 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 17538 "format_description" : "iops",
56122987 17539 "optional" : 1,
44660702 17540 "type" : "integer"
56122987 17541 },
5d9c884c
DM
17542 "iops_rd_max_length" : {
17543 "description" : "Maximum length of read I/O bursts in seconds.",
17544 "format_description" : "seconds",
17545 "minimum" : 1,
17546 "optional" : 1,
17547 "type" : "integer"
17548 },
44660702 17549 "iops_wr" : {
de0983cb 17550 "description" : "Maximum write I/O in operations per second.",
44660702 17551 "format_description" : "iops",
7aacca6f 17552 "optional" : 1,
44660702 17553 "type" : "integer"
7aacca6f 17554 },
de0983cb 17555 "iops_wr_length" : {
5d9c884c 17556 "alias" : "iops_wr_max_length"
de0983cb 17557 },
44660702 17558 "iops_wr_max" : {
de0983cb 17559 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 17560 "format_description" : "iops",
56122987 17561 "optional" : 1,
7aacca6f 17562 "type" : "integer"
56122987 17563 },
5d9c884c
DM
17564 "iops_wr_max_length" : {
17565 "description" : "Maximum length of write I/O bursts in seconds.",
17566 "format_description" : "seconds",
17567 "minimum" : 1,
17568 "optional" : 1,
17569 "type" : "integer"
17570 },
44660702 17571 "mbps" : {
de0983cb 17572 "description" : "Maximum r/w speed in megabytes per second.",
44660702 17573 "format_description" : "mbps",
56122987 17574 "optional" : 1,
44660702 17575 "type" : "number"
56122987 17576 },
44660702 17577 "mbps_max" : {
de0983cb 17578 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 17579 "format_description" : "mbps",
7aacca6f 17580 "optional" : 1,
44660702 17581 "type" : "number"
7aacca6f 17582 },
44660702 17583 "mbps_rd" : {
de0983cb 17584 "description" : "Maximum read speed in megabytes per second.",
44660702 17585 "format_description" : "mbps",
7aacca6f 17586 "optional" : 1,
44660702 17587 "type" : "number"
7aacca6f 17588 },
44660702 17589 "mbps_rd_max" : {
de0983cb 17590 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 17591 "format_description" : "mbps",
7aacca6f 17592 "optional" : 1,
44660702 17593 "type" : "number"
7aacca6f 17594 },
44660702 17595 "mbps_wr" : {
de0983cb 17596 "description" : "Maximum write speed in megabytes per second.",
44660702 17597 "format_description" : "mbps",
7aacca6f 17598 "optional" : 1,
44660702 17599 "type" : "number"
7aacca6f
DM
17600 },
17601 "mbps_wr_max" : {
de0983cb 17602 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 17603 "format_description" : "mbps",
7aacca6f 17604 "optional" : 1,
44660702 17605 "type" : "number"
7aacca6f 17606 },
44660702
DM
17607 "media" : {
17608 "default" : "disk",
17609 "description" : "The drive's media type.",
56122987 17610 "enum" : [
44660702
DM
17611 "cdrom",
17612 "disk"
56122987 17613 ],
56122987 17614 "optional" : 1,
44660702 17615 "type" : "string"
56122987 17616 },
5d9c884c
DM
17617 "replicate" : {
17618 "default" : 1,
17619 "description" : "Whether the drive should considered for replication jobs.",
17620 "optional" : 1,
17621 "type" : "boolean"
17622 },
44660702
DM
17623 "rerror" : {
17624 "description" : "Read error action.",
7aacca6f
DM
17625 "enum" : [
17626 "ignore",
44660702
DM
17627 "report",
17628 "stop"
7aacca6f 17629 ],
56122987 17630 "optional" : 1,
44660702 17631 "type" : "string"
56122987 17632 },
44660702
DM
17633 "secs" : {
17634 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 17635 "optional" : 1,
44660702 17636 "type" : "integer"
56122987 17637 },
44660702
DM
17638 "serial" : {
17639 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17640 "format" : "urlencoded",
17641 "format_description" : "serial",
17642 "maxLength" : 60,
17643 "optional" : 1,
17644 "type" : "string"
7aacca6f 17645 },
27a7acb2
DM
17646 "shared" : {
17647 "default" : 0,
17648 "description" : "Mark this locally-managed volume as available on all nodes",
17649 "optional" : 1,
17650 "type" : "boolean",
17651 "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!"
17652 },
7aacca6f
DM
17653 "size" : {
17654 "description" : "Disk size. This is purely informational and has no effect.",
44660702 17655 "format" : "disk-size",
f004f5b9 17656 "format_description" : "DiskSize",
56122987 17657 "optional" : 1,
44660702 17658 "type" : "string"
56122987 17659 },
44660702 17660 "snapshot" : {
27a7acb2 17661 "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 17662 "optional" : 1,
44660702 17663 "type" : "boolean"
56122987 17664 },
25203dc1
NC
17665 "ssd" : {
17666 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17667 "optional" : 1,
17668 "type" : "boolean"
17669 },
44660702
DM
17670 "trans" : {
17671 "description" : "Force disk geometry bios translation mode.",
56122987 17672 "enum" : [
44660702
DM
17673 "none",
17674 "lba",
17675 "auto"
7aacca6f 17676 ],
44660702
DM
17677 "optional" : 1,
17678 "type" : "string"
17679 },
17680 "volume" : {
17681 "alias" : "file"
56122987
DM
17682 },
17683 "werror" : {
56122987
DM
17684 "description" : "Write error action.",
17685 "enum" : [
17686 "enospc",
17687 "ignore",
17688 "report",
17689 "stop"
17690 ],
56122987 17691 "optional" : 1,
44660702
DM
17692 "type" : "string"
17693 }
17694 },
17695 "optional" : 1,
4bd7df8b 17696 "type" : "string",
25203dc1 17697 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
17698 },
17699 "scsi[n]" : {
17700 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
17701 "format" : {
17702 "aio" : {
17703 "description" : "AIO type to use.",
17704 "enum" : [
17705 "native",
17706 "threads"
17707 ],
44660702
DM
17708 "optional" : 1,
17709 "type" : "string"
56122987 17710 },
7aacca6f 17711 "backup" : {
44660702 17712 "description" : "Whether the drive should be included when making backups.",
7aacca6f 17713 "optional" : 1,
44660702 17714 "type" : "boolean"
7aacca6f 17715 },
44660702 17716 "bps" : {
de0983cb 17717 "description" : "Maximum r/w speed in bytes per second.",
44660702 17718 "format_description" : "bps",
7aacca6f 17719 "optional" : 1,
44660702 17720 "type" : "integer"
7aacca6f 17721 },
de0983cb
DM
17722 "bps_max_length" : {
17723 "description" : "Maximum length of I/O bursts in seconds.",
17724 "format_description" : "seconds",
17725 "minimum" : 1,
17726 "optional" : 1,
17727 "type" : "integer"
17728 },
44660702 17729 "bps_rd" : {
de0983cb 17730 "description" : "Maximum read speed in bytes per second.",
44660702 17731 "format_description" : "bps",
56122987 17732 "optional" : 1,
44660702 17733 "type" : "integer"
56122987 17734 },
de0983cb 17735 "bps_rd_length" : {
5d9c884c
DM
17736 "alias" : "bps_rd_max_length"
17737 },
17738 "bps_rd_max_length" : {
de0983cb
DM
17739 "description" : "Maximum length of read I/O bursts in seconds.",
17740 "format_description" : "seconds",
17741 "minimum" : 1,
17742 "optional" : 1,
17743 "type" : "integer"
17744 },
44660702 17745 "bps_wr" : {
de0983cb 17746 "description" : "Maximum write speed in bytes per second.",
44660702 17747 "format_description" : "bps",
7aacca6f 17748 "optional" : 1,
44660702 17749 "type" : "integer"
56122987 17750 },
de0983cb 17751 "bps_wr_length" : {
5d9c884c
DM
17752 "alias" : "bps_wr_max_length"
17753 },
17754 "bps_wr_max_length" : {
de0983cb
DM
17755 "description" : "Maximum length of write I/O bursts in seconds.",
17756 "format_description" : "seconds",
17757 "minimum" : 1,
17758 "optional" : 1,
17759 "type" : "integer"
17760 },
44660702
DM
17761 "cache" : {
17762 "description" : "The drive's cache mode",
7aacca6f
DM
17763 "enum" : [
17764 "none",
44660702
DM
17765 "writethrough",
17766 "writeback",
17767 "unsafe",
17768 "directsync"
7aacca6f 17769 ],
56122987 17770 "optional" : 1,
44660702 17771 "type" : "string"
56122987 17772 },
7aacca6f
DM
17773 "cyls" : {
17774 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
17775 "optional" : 1,
44660702 17776 "type" : "integer"
7aacca6f 17777 },
44660702
DM
17778 "detect_zeroes" : {
17779 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 17780 "optional" : 1,
44660702 17781 "type" : "boolean"
56122987 17782 },
44660702
DM
17783 "discard" : {
17784 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 17785 "enum" : [
44660702
DM
17786 "ignore",
17787 "on"
7aacca6f 17788 ],
7aacca6f 17789 "optional" : 1,
44660702 17790 "type" : "string"
56122987
DM
17791 },
17792 "file" : {
7aacca6f
DM
17793 "default_key" : 1,
17794 "description" : "The drive's backing volume.",
44660702
DM
17795 "format" : "pve-volume-id-or-qm-path",
17796 "format_description" : "volume",
7aacca6f 17797 "type" : "string"
56122987 17798 },
7aacca6f 17799 "format" : {
44660702 17800 "description" : "The drive's backing file's data format.",
56122987 17801 "enum" : [
7aacca6f
DM
17802 "raw",
17803 "cow",
17804 "qcow",
17805 "qed",
17806 "qcow2",
17807 "vmdk",
17808 "cloop"
56122987 17809 ],
44660702
DM
17810 "optional" : 1,
17811 "type" : "string"
56122987 17812 },
44660702
DM
17813 "heads" : {
17814 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
17815 "optional" : 1,
17816 "type" : "integer"
17817 },
17818 "iops" : {
de0983cb 17819 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 17820 "format_description" : "iops",
56122987 17821 "optional" : 1,
44660702 17822 "type" : "integer"
56122987 17823 },
44660702 17824 "iops_max" : {
de0983cb 17825 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 17826 "format_description" : "iops",
7aacca6f 17827 "optional" : 1,
44660702 17828 "type" : "integer"
56122987 17829 },
de0983cb
DM
17830 "iops_max_length" : {
17831 "description" : "Maximum length of I/O bursts in seconds.",
17832 "format_description" : "seconds",
17833 "minimum" : 1,
17834 "optional" : 1,
17835 "type" : "integer"
17836 },
44660702 17837 "iops_rd" : {
de0983cb 17838 "description" : "Maximum read I/O in operations per second.",
44660702 17839 "format_description" : "iops",
56122987 17840 "optional" : 1,
44660702 17841 "type" : "integer"
56122987 17842 },
de0983cb 17843 "iops_rd_length" : {
5d9c884c 17844 "alias" : "iops_rd_max_length"
de0983cb 17845 },
44660702 17846 "iops_rd_max" : {
de0983cb 17847 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
17848 "format_description" : "iops",
17849 "optional" : 1,
17850 "type" : "integer"
56122987 17851 },
5d9c884c
DM
17852 "iops_rd_max_length" : {
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 "iops_wr" : {
de0983cb 17860 "description" : "Maximum write I/O in operations per second.",
44660702 17861 "format_description" : "iops",
56122987 17862 "optional" : 1,
44660702 17863 "type" : "integer"
56122987 17864 },
de0983cb 17865 "iops_wr_length" : {
5d9c884c 17866 "alias" : "iops_wr_max_length"
de0983cb 17867 },
44660702 17868 "iops_wr_max" : {
de0983cb 17869 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 17870 "format_description" : "iops",
56122987 17871 "optional" : 1,
56122987
DM
17872 "type" : "integer"
17873 },
5d9c884c
DM
17874 "iops_wr_max_length" : {
17875 "description" : "Maximum length of write I/O bursts in seconds.",
17876 "format_description" : "seconds",
17877 "minimum" : 1,
17878 "optional" : 1,
17879 "type" : "integer"
17880 },
44660702
DM
17881 "iothread" : {
17882 "description" : "Whether to use iothreads for this drive",
44660702
DM
17883 "optional" : 1,
17884 "type" : "boolean"
17885 },
17886 "mbps" : {
de0983cb 17887 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
17888 "format_description" : "mbps",
17889 "optional" : 1,
17890 "type" : "number"
17891 },
7aacca6f 17892 "mbps_max" : {
de0983cb 17893 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 17894 "format_description" : "mbps",
56122987 17895 "optional" : 1,
44660702 17896 "type" : "number"
56122987 17897 },
44660702 17898 "mbps_rd" : {
de0983cb 17899 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
17900 "format_description" : "mbps",
17901 "optional" : 1,
17902 "type" : "number"
56122987 17903 },
44660702 17904 "mbps_rd_max" : {
de0983cb 17905 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 17906 "format_description" : "mbps",
56122987 17907 "optional" : 1,
44660702 17908 "type" : "number"
56122987 17909 },
44660702 17910 "mbps_wr" : {
de0983cb 17911 "description" : "Maximum write speed in megabytes per second.",
44660702 17912 "format_description" : "mbps",
56122987 17913 "optional" : 1,
44660702 17914 "type" : "number"
56122987 17915 },
44660702 17916 "mbps_wr_max" : {
de0983cb 17917 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 17918 "format_description" : "mbps",
7aacca6f 17919 "optional" : 1,
44660702 17920 "type" : "number"
56122987 17921 },
7aacca6f 17922 "media" : {
44660702 17923 "default" : "disk",
7aacca6f
DM
17924 "description" : "The drive's media type.",
17925 "enum" : [
17926 "cdrom",
17927 "disk"
17928 ],
56122987 17929 "optional" : 1,
44660702 17930 "type" : "string"
56122987 17931 },
44660702
DM
17932 "queues" : {
17933 "description" : "Number of queues.",
44660702
DM
17934 "minimum" : 2,
17935 "optional" : 1,
17936 "type" : "integer"
56122987 17937 },
5d9c884c
DM
17938 "replicate" : {
17939 "default" : 1,
17940 "description" : "Whether the drive should considered for replication jobs.",
17941 "optional" : 1,
17942 "type" : "boolean"
17943 },
17944 "rerror" : {
17945 "description" : "Read error action.",
17946 "enum" : [
17947 "ignore",
17948 "report",
17949 "stop"
17950 ],
17951 "optional" : 1,
17952 "type" : "string"
17953 },
52e44c50
FG
17954 "scsiblock" : {
17955 "default" : 0,
17956 "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",
17957 "optional" : 1,
17958 "type" : "boolean"
17959 },
7aacca6f 17960 "secs" : {
7aacca6f 17961 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
17962 "optional" : 1,
17963 "type" : "integer"
17964 },
17965 "serial" : {
17966 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17967 "format" : "urlencoded",
17968 "format_description" : "serial",
17969 "maxLength" : 60,
17970 "optional" : 1,
17971 "type" : "string"
17972 },
27a7acb2
DM
17973 "shared" : {
17974 "default" : 0,
17975 "description" : "Mark this locally-managed volume as available on all nodes",
17976 "optional" : 1,
17977 "type" : "boolean",
17978 "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!"
17979 },
44660702
DM
17980 "size" : {
17981 "description" : "Disk size. This is purely informational and has no effect.",
17982 "format" : "disk-size",
f004f5b9 17983 "format_description" : "DiskSize",
44660702
DM
17984 "optional" : 1,
17985 "type" : "string"
17986 },
17987 "snapshot" : {
27a7acb2 17988 "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
17989 "optional" : 1,
17990 "type" : "boolean"
17991 },
25203dc1
NC
17992 "ssd" : {
17993 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17994 "optional" : 1,
17995 "type" : "boolean"
17996 },
44660702
DM
17997 "trans" : {
17998 "description" : "Force disk geometry bios translation mode.",
17999 "enum" : [
18000 "none",
18001 "lba",
18002 "auto"
18003 ],
44660702
DM
18004 "optional" : 1,
18005 "type" : "string"
18006 },
18007 "volume" : {
18008 "alias" : "file"
18009 },
18010 "werror" : {
18011 "description" : "Write error action.",
18012 "enum" : [
18013 "enospc",
18014 "ignore",
18015 "report",
18016 "stop"
18017 ],
44660702
DM
18018 "optional" : 1,
18019 "type" : "string"
56122987
DM
18020 }
18021 },
7aacca6f 18022 "optional" : 1,
4bd7df8b 18023 "type" : "string",
25203dc1 18024 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 18025 },
44660702
DM
18026 "scsihw" : {
18027 "default" : "lsi",
c2993fe5 18028 "description" : "SCSI controller model",
44660702
DM
18029 "enum" : [
18030 "lsi",
18031 "lsi53c810",
18032 "virtio-scsi-pci",
18033 "virtio-scsi-single",
18034 "megasas",
18035 "pvscsi"
18036 ],
7aacca6f 18037 "optional" : 1,
44660702 18038 "type" : "string"
7aacca6f 18039 },
27a7acb2
DM
18040 "searchdomain" : {
18041 "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.",
18042 "optional" : 1,
18043 "type" : "string",
18044 "typetext" : "<string>"
18045 },
44660702 18046 "serial[n]" : {
c2993fe5 18047 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
18048 "optional" : 1,
18049 "pattern" : "(/dev/.+|socket)",
c2993fe5 18050 "type" : "string",
57b78691 18051 "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
18052 },
18053 "shares" : {
18054 "default" : 1000,
5da3d723 18055 "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
18056 "maximum" : 50000,
18057 "minimum" : 0,
18058 "optional" : 1,
4bd7df8b 18059 "type" : "integer",
013dc89f 18060 "typetext" : "<integer> (0 - 50000)"
44660702
DM
18061 },
18062 "smbios1" : {
18063 "description" : "Specify SMBIOS type 1 fields.",
18064 "format" : "pve-qm-smbios1",
18065 "maxLength" : 256,
7aacca6f 18066 "optional" : 1,
4bd7df8b
DM
18067 "type" : "string",
18068 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
18069 },
18070 "smp" : {
44660702 18071 "default" : 1,
7aacca6f 18072 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 18073 "minimum" : 1,
56122987 18074 "optional" : 1,
4bd7df8b 18075 "type" : "integer",
013dc89f 18076 "typetext" : "<integer> (1 - N)"
44660702
DM
18077 },
18078 "sockets" : {
7aacca6f 18079 "default" : 1,
44660702
DM
18080 "description" : "The number of CPU sockets.",
18081 "minimum" : 1,
18082 "optional" : 1,
4bd7df8b 18083 "type" : "integer",
013dc89f 18084 "typetext" : "<integer> (1 - N)"
7aacca6f 18085 },
27a7acb2
DM
18086 "sshkeys" : {
18087 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
18088 "format" : "urlencoded",
18089 "optional" : 1,
18090 "type" : "string",
18091 "typetext" : "<string>"
18092 },
5da3d723
TL
18093 "start" : {
18094 "default" : 0,
18095 "description" : "Start VM after it was created successfully.",
18096 "optional" : 1,
18097 "type" : "boolean",
18098 "typetext" : "<boolean>"
18099 },
44660702
DM
18100 "startdate" : {
18101 "default" : "now",
18102 "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'.",
18103 "optional" : 1,
18104 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
18105 "type" : "string",
18106 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
18107 },
18108 "startup" : {
18109 "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.",
18110 "format" : "pve-startup-order",
18111 "optional" : 1,
18112 "type" : "string",
18113 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
18114 },
18115 "storage" : {
18116 "description" : "Default storage.",
18117 "format" : "pve-storage-id",
7aacca6f 18118 "optional" : 1,
013dc89f
DM
18119 "type" : "string",
18120 "typetext" : "<string>"
56122987 18121 },
44660702
DM
18122 "tablet" : {
18123 "default" : 1,
c2993fe5 18124 "description" : "Enable/disable the USB tablet device.",
56122987 18125 "optional" : 1,
c2993fe5 18126 "type" : "boolean",
013dc89f 18127 "typetext" : "<boolean>",
c2993fe5 18128 "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
18129 },
18130 "tdf" : {
18131 "default" : 0,
18132 "description" : "Enable/disable time drift fix.",
18133 "optional" : 1,
013dc89f
DM
18134 "type" : "boolean",
18135 "typetext" : "<boolean>"
7aacca6f
DM
18136 },
18137 "template" : {
7aacca6f 18138 "default" : 0,
44660702 18139 "description" : "Enable/disable Template.",
7aacca6f 18140 "optional" : 1,
013dc89f
DM
18141 "type" : "boolean",
18142 "typetext" : "<boolean>"
7aacca6f 18143 },
44660702
DM
18144 "unique" : {
18145 "description" : "Assign a unique random ethernet address.",
7aacca6f 18146 "optional" : 1,
44660702 18147 "requires" : "archive",
013dc89f
DM
18148 "type" : "boolean",
18149 "typetext" : "<boolean>"
56122987 18150 },
44660702 18151 "unused[n]" : {
c2993fe5 18152 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 18153 "format" : "pve-volume-id",
7aacca6f 18154 "optional" : 1,
013dc89f
DM
18155 "type" : "string",
18156 "typetext" : "<string>"
44660702
DM
18157 },
18158 "usb[n]" : {
c2993fe5 18159 "description" : "Configure an USB device (n is 0 to 4).",
56122987 18160 "format" : {
7aacca6f
DM
18161 "host" : {
18162 "default_key" : 1,
c2993fe5 18163 "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 18164 "format" : "pve-qm-usb-device",
44660702
DM
18165 "format_description" : "HOSTUSBDEVICE|spice",
18166 "type" : "string"
7aacca6f 18167 },
56122987 18168 "usb3" : {
c2993fe5
DM
18169 "default" : 0,
18170 "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 18171 "optional" : 1,
56122987 18172 "type" : "boolean"
7aacca6f 18173 }
56122987 18174 },
56122987 18175 "optional" : 1,
4bd7df8b
DM
18176 "type" : "string",
18177 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 18178 },
44660702
DM
18179 "vcpus" : {
18180 "default" : 0,
18181 "description" : "Number of hotplugged vcpus.",
18182 "minimum" : 1,
56122987 18183 "optional" : 1,
4bd7df8b 18184 "type" : "integer",
013dc89f 18185 "typetext" : "<integer> (1 - N)"
7aacca6f 18186 },
44660702 18187 "vga" : {
c2993fe5 18188 "description" : "Select the VGA type.",
44660702 18189 "enum" : [
44660702 18190 "cirrus",
44660702 18191 "qxl",
4d47f125
TL
18192 "qxl2",
18193 "qxl3",
18194 "qxl4",
44660702
DM
18195 "serial0",
18196 "serial1",
18197 "serial2",
18198 "serial3",
4d47f125
TL
18199 "std",
18200 "virtio",
18201 "vmware"
44660702
DM
18202 ],
18203 "optional" : 1,
c2993fe5
DM
18204 "type" : "string",
18205 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
7aacca6f 18206 },
44660702
DM
18207 "virtio[n]" : {
18208 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
18209 "format" : {
18210 "aio" : {
18211 "description" : "AIO type to use.",
18212 "enum" : [
18213 "native",
18214 "threads"
18215 ],
44660702
DM
18216 "optional" : 1,
18217 "type" : "string"
18218 },
18219 "backup" : {
18220 "description" : "Whether the drive should be included when making backups.",
44660702
DM
18221 "optional" : 1,
18222 "type" : "boolean"
18223 },
18224 "bps" : {
de0983cb 18225 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
18226 "format_description" : "bps",
18227 "optional" : 1,
18228 "type" : "integer"
18229 },
de0983cb
DM
18230 "bps_max_length" : {
18231 "description" : "Maximum length of I/O bursts in seconds.",
18232 "format_description" : "seconds",
18233 "minimum" : 1,
18234 "optional" : 1,
18235 "type" : "integer"
18236 },
44660702 18237 "bps_rd" : {
de0983cb 18238 "description" : "Maximum read speed in bytes per second.",
44660702
DM
18239 "format_description" : "bps",
18240 "optional" : 1,
18241 "type" : "integer"
18242 },
de0983cb 18243 "bps_rd_length" : {
5d9c884c
DM
18244 "alias" : "bps_rd_max_length"
18245 },
18246 "bps_rd_max_length" : {
de0983cb
DM
18247 "description" : "Maximum length of read I/O bursts in seconds.",
18248 "format_description" : "seconds",
18249 "minimum" : 1,
18250 "optional" : 1,
18251 "type" : "integer"
18252 },
44660702 18253 "bps_wr" : {
de0983cb 18254 "description" : "Maximum write speed in bytes per second.",
44660702
DM
18255 "format_description" : "bps",
18256 "optional" : 1,
18257 "type" : "integer"
18258 },
de0983cb 18259 "bps_wr_length" : {
5d9c884c
DM
18260 "alias" : "bps_wr_max_length"
18261 },
18262 "bps_wr_max_length" : {
de0983cb
DM
18263 "description" : "Maximum length of write I/O bursts in seconds.",
18264 "format_description" : "seconds",
18265 "minimum" : 1,
18266 "optional" : 1,
18267 "type" : "integer"
18268 },
44660702
DM
18269 "cache" : {
18270 "description" : "The drive's cache mode",
18271 "enum" : [
18272 "none",
18273 "writethrough",
18274 "writeback",
18275 "unsafe",
18276 "directsync"
18277 ],
44660702
DM
18278 "optional" : 1,
18279 "type" : "string"
18280 },
18281 "cyls" : {
18282 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
18283 "optional" : 1,
18284 "type" : "integer"
18285 },
18286 "detect_zeroes" : {
18287 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
18288 "optional" : 1,
18289 "type" : "boolean"
18290 },
18291 "discard" : {
18292 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
18293 "enum" : [
18294 "ignore",
18295 "on"
18296 ],
44660702
DM
18297 "optional" : 1,
18298 "type" : "string"
18299 },
18300 "file" : {
18301 "default_key" : 1,
18302 "description" : "The drive's backing volume.",
18303 "format" : "pve-volume-id-or-qm-path",
18304 "format_description" : "volume",
18305 "type" : "string"
18306 },
18307 "format" : {
18308 "description" : "The drive's backing file's data format.",
18309 "enum" : [
18310 "raw",
18311 "cow",
18312 "qcow",
18313 "qed",
18314 "qcow2",
18315 "vmdk",
18316 "cloop"
18317 ],
44660702
DM
18318 "optional" : 1,
18319 "type" : "string"
18320 },
18321 "heads" : {
18322 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
18323 "optional" : 1,
18324 "type" : "integer"
18325 },
18326 "iops" : {
de0983cb 18327 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
18328 "format_description" : "iops",
18329 "optional" : 1,
18330 "type" : "integer"
18331 },
18332 "iops_max" : {
de0983cb 18333 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
18334 "format_description" : "iops",
18335 "optional" : 1,
18336 "type" : "integer"
18337 },
de0983cb
DM
18338 "iops_max_length" : {
18339 "description" : "Maximum length of I/O bursts in seconds.",
18340 "format_description" : "seconds",
18341 "minimum" : 1,
18342 "optional" : 1,
18343 "type" : "integer"
18344 },
44660702 18345 "iops_rd" : {
de0983cb 18346 "description" : "Maximum read I/O in operations per second.",
44660702
DM
18347 "format_description" : "iops",
18348 "optional" : 1,
18349 "type" : "integer"
18350 },
de0983cb 18351 "iops_rd_length" : {
5d9c884c 18352 "alias" : "iops_rd_max_length"
de0983cb 18353 },
44660702 18354 "iops_rd_max" : {
de0983cb 18355 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
18356 "format_description" : "iops",
18357 "optional" : 1,
18358 "type" : "integer"
18359 },
5d9c884c
DM
18360 "iops_rd_max_length" : {
18361 "description" : "Maximum length of read I/O bursts in seconds.",
18362 "format_description" : "seconds",
18363 "minimum" : 1,
18364 "optional" : 1,
18365 "type" : "integer"
18366 },
44660702 18367 "iops_wr" : {
de0983cb 18368 "description" : "Maximum write I/O in operations per second.",
44660702
DM
18369 "format_description" : "iops",
18370 "optional" : 1,
18371 "type" : "integer"
18372 },
de0983cb 18373 "iops_wr_length" : {
5d9c884c 18374 "alias" : "iops_wr_max_length"
de0983cb 18375 },
44660702 18376 "iops_wr_max" : {
de0983cb 18377 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
18378 "format_description" : "iops",
18379 "optional" : 1,
18380 "type" : "integer"
18381 },
5d9c884c
DM
18382 "iops_wr_max_length" : {
18383 "description" : "Maximum length of write I/O bursts in seconds.",
18384 "format_description" : "seconds",
18385 "minimum" : 1,
18386 "optional" : 1,
18387 "type" : "integer"
18388 },
44660702
DM
18389 "iothread" : {
18390 "description" : "Whether to use iothreads for this drive",
44660702
DM
18391 "optional" : 1,
18392 "type" : "boolean"
18393 },
18394 "mbps" : {
de0983cb 18395 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
18396 "format_description" : "mbps",
18397 "optional" : 1,
18398 "type" : "number"
18399 },
18400 "mbps_max" : {
de0983cb 18401 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
18402 "format_description" : "mbps",
18403 "optional" : 1,
18404 "type" : "number"
18405 },
18406 "mbps_rd" : {
de0983cb 18407 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
18408 "format_description" : "mbps",
18409 "optional" : 1,
18410 "type" : "number"
18411 },
18412 "mbps_rd_max" : {
de0983cb 18413 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
18414 "format_description" : "mbps",
18415 "optional" : 1,
18416 "type" : "number"
18417 },
18418 "mbps_wr" : {
de0983cb 18419 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
18420 "format_description" : "mbps",
18421 "optional" : 1,
18422 "type" : "number"
18423 },
18424 "mbps_wr_max" : {
de0983cb 18425 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
18426 "format_description" : "mbps",
18427 "optional" : 1,
18428 "type" : "number"
18429 },
18430 "media" : {
18431 "default" : "disk",
18432 "description" : "The drive's media type.",
18433 "enum" : [
18434 "cdrom",
18435 "disk"
18436 ],
44660702
DM
18437 "optional" : 1,
18438 "type" : "string"
18439 },
5d9c884c
DM
18440 "replicate" : {
18441 "default" : 1,
18442 "description" : "Whether the drive should considered for replication jobs.",
18443 "optional" : 1,
18444 "type" : "boolean"
18445 },
44660702
DM
18446 "rerror" : {
18447 "description" : "Read error action.",
18448 "enum" : [
18449 "ignore",
18450 "report",
18451 "stop"
18452 ],
44660702
DM
18453 "optional" : 1,
18454 "type" : "string"
18455 },
18456 "secs" : {
18457 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
18458 "optional" : 1,
18459 "type" : "integer"
18460 },
18461 "serial" : {
18462 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18463 "format" : "urlencoded",
18464 "format_description" : "serial",
18465 "maxLength" : 60,
18466 "optional" : 1,
18467 "type" : "string"
18468 },
27a7acb2
DM
18469 "shared" : {
18470 "default" : 0,
18471 "description" : "Mark this locally-managed volume as available on all nodes",
18472 "optional" : 1,
18473 "type" : "boolean",
18474 "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!"
18475 },
44660702
DM
18476 "size" : {
18477 "description" : "Disk size. This is purely informational and has no effect.",
18478 "format" : "disk-size",
f004f5b9 18479 "format_description" : "DiskSize",
44660702
DM
18480 "optional" : 1,
18481 "type" : "string"
18482 },
18483 "snapshot" : {
27a7acb2 18484 "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
18485 "optional" : 1,
18486 "type" : "boolean"
18487 },
18488 "trans" : {
18489 "description" : "Force disk geometry bios translation mode.",
18490 "enum" : [
18491 "none",
18492 "lba",
18493 "auto"
18494 ],
44660702
DM
18495 "optional" : 1,
18496 "type" : "string"
18497 },
18498 "volume" : {
18499 "alias" : "file"
18500 },
18501 "werror" : {
18502 "description" : "Write error action.",
18503 "enum" : [
18504 "enospc",
18505 "ignore",
18506 "report",
18507 "stop"
18508 ],
44660702
DM
18509 "optional" : 1,
18510 "type" : "string"
18511 }
18512 },
18513 "optional" : 1,
4bd7df8b 18514 "type" : "string",
27a7acb2 18515 "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 18516 },
4d47f125
TL
18517 "vmgenid" : {
18518 "default" : "1 (autogenerated)",
18519 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
18520 "format_description" : "UUID",
18521 "optional" : 1,
18522 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
18523 "type" : "string",
18524 "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."
18525 },
44660702
DM
18526 "vmid" : {
18527 "description" : "The (unique) ID of the VM.",
18528 "format" : "pve-vmid",
18529 "minimum" : 1,
4bd7df8b 18530 "type" : "integer",
013dc89f 18531 "typetext" : "<integer> (1 - N)"
44660702 18532 },
2489d6df
WB
18533 "vmstatestorage" : {
18534 "description" : "Default storage for VM state volumes/files.",
18535 "format" : "pve-storage-id",
18536 "optional" : 1,
18537 "type" : "string",
18538 "typetext" : "<string>"
18539 },
44660702 18540 "watchdog" : {
c2993fe5 18541 "description" : "Create a virtual hardware watchdog device.",
44660702 18542 "format" : "pve-qm-watchdog",
7aacca6f 18543 "optional" : 1,
c2993fe5 18544 "type" : "string",
013dc89f 18545 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 18546 "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 18547 }
44660702 18548 }
56122987 18549 },
56122987 18550 "permissions" : {
44660702
DM
18551 "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.",
18552 "user" : "all"
56122987 18553 },
44660702
DM
18554 "protected" : 1,
18555 "proxyto" : "node",
56122987 18556 "returns" : {
44660702 18557 "type" : "string"
7aacca6f 18558 }
56122987 18559 }
7aacca6f 18560 },
44660702 18561 "leaf" : 0,
7aacca6f 18562 "path" : "/nodes/{node}/qemu",
44660702 18563 "text" : "qemu"
56122987
DM
18564 },
18565 {
18566 "children" : [
18567 {
56122987
DM
18568 "children" : [
18569 {
56122987 18570 "info" : {
44660702
DM
18571 "GET" : {
18572 "description" : "Get container configuration.",
18573 "method" : "GET",
18574 "name" : "vm_config",
18575 "parameters" : {
18576 "additionalProperties" : 0,
18577 "properties" : {
18578 "node" : {
18579 "description" : "The cluster node name.",
18580 "format" : "pve-node",
013dc89f 18581 "type" : "string",
4d47f125
TL
18582 "typetext" : "<string>"
18583 },
18584 "vmid" : {
18585 "description" : "The (unique) ID of the VM.",
18586 "format" : "pve-vmid",
18587 "minimum" : 1,
18588 "type" : "integer",
18589 "typetext" : "<integer> (1 - N)"
18590 }
18591 }
18592 },
18593 "permissions" : {
18594 "check" : [
18595 "perm",
18596 "/vms/{vmid}",
18597 [
18598 "VM.Audit"
18599 ]
18600 ]
18601 },
18602 "proxyto" : "node",
18603 "returns" : {
18604 "properties" : {
18605 "arch" : {
18606 "default" : "amd64",
18607 "description" : "OS architecture type.",
18608 "enum" : [
18609 "amd64",
18610 "i386",
18611 "arm64",
18612 "armhf"
18613 ],
18614 "optional" : 1,
18615 "type" : "string"
18616 },
18617 "cmode" : {
18618 "default" : "tty",
18619 "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).",
18620 "enum" : [
18621 "shell",
18622 "console",
18623 "tty"
18624 ],
18625 "optional" : 1,
18626 "type" : "string"
18627 },
18628 "console" : {
18629 "default" : 1,
18630 "description" : "Attach a console device (/dev/console) to the container.",
18631 "optional" : 1,
18632 "type" : "boolean"
18633 },
18634 "cores" : {
18635 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
18636 "maximum" : 128,
18637 "minimum" : 1,
18638 "optional" : 1,
18639 "type" : "integer"
18640 },
18641 "cpulimit" : {
18642 "default" : 0,
18643 "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.",
18644 "maximum" : 128,
18645 "minimum" : 0,
18646 "optional" : 1,
18647 "type" : "number"
18648 },
18649 "cpuunits" : {
18650 "default" : 1024,
18651 "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.",
18652 "maximum" : 500000,
18653 "minimum" : 0,
18654 "optional" : 1,
18655 "type" : "integer"
18656 },
18657 "description" : {
18658 "description" : "Container description. Only used on the configuration web interface.",
18659 "optional" : 1,
18660 "type" : "string"
18661 },
18662 "digest" : {
18663 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
18664 "type" : "string"
18665 },
18666 "features" : {
18667 "description" : "Allow containers access to advanced features.",
18668 "format" : {
18669 "keyctl" : {
18670 "default" : 0,
18671 "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.",
18672 "optional" : 1,
18673 "type" : "boolean"
18674 },
18675 "mount" : {
18676 "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.",
18677 "format_description" : "fstype;fstype;...",
18678 "optional" : 1,
18679 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
18680 "type" : "string"
18681 },
18682 "nesting" : {
18683 "default" : 0,
18684 "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.",
18685 "optional" : 1,
18686 "type" : "boolean"
18687 }
18688 },
18689 "optional" : 1,
18690 "type" : "string"
18691 },
18692 "hostname" : {
18693 "description" : "Set a host name for the container.",
18694 "format" : "dns-name",
18695 "maxLength" : 255,
18696 "optional" : 1,
18697 "type" : "string"
18698 },
18699 "lock" : {
18700 "description" : "Lock/unlock the VM.",
18701 "enum" : [
18702 "backup",
18703 "disk",
18704 "migrate",
18705 "mounted",
18706 "rollback",
18707 "snapshot",
18708 "snapshot-delete"
18709 ],
18710 "optional" : 1,
18711 "type" : "string"
18712 },
18713 "lxc" : {
18714 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
18715 "items" : {
18716 "items" : {
18717 "type" : "string"
18718 },
18719 "type" : "array"
18720 },
18721 "optional" : 1,
18722 "type" : "array"
18723 },
18724 "memory" : {
18725 "default" : 512,
18726 "description" : "Amount of RAM for the VM in MB.",
18727 "minimum" : 16,
18728 "optional" : 1,
18729 "type" : "integer"
18730 },
18731 "mp[n]" : {
18732 "description" : "Use volume as container mount point.",
18733 "format" : {
18734 "acl" : {
18735 "description" : "Explicitly enable or disable ACL support.",
18736 "optional" : 1,
18737 "type" : "boolean"
18738 },
18739 "backup" : {
18740 "description" : "Whether to include the mount point in backups.",
18741 "optional" : 1,
18742 "type" : "boolean",
18743 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
18744 },
18745 "mp" : {
18746 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
18747 "format" : "pve-lxc-mp-string",
18748 "format_description" : "Path",
18749 "type" : "string",
18750 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
18751 },
18752 "quota" : {
18753 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
18754 "optional" : 1,
18755 "type" : "boolean"
18756 },
18757 "replicate" : {
18758 "default" : 1,
18759 "description" : "Will include this volume to a storage replica job.",
18760 "optional" : 1,
18761 "type" : "boolean"
18762 },
18763 "ro" : {
18764 "description" : "Read-only mount point",
18765 "optional" : 1,
18766 "type" : "boolean"
18767 },
18768 "shared" : {
18769 "default" : 0,
18770 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
18771 "optional" : 1,
18772 "type" : "boolean",
18773 "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!"
18774 },
18775 "size" : {
18776 "description" : "Volume size (read only value).",
18777 "format" : "disk-size",
18778 "format_description" : "DiskSize",
18779 "optional" : 1,
18780 "type" : "string"
18781 },
18782 "volume" : {
18783 "default_key" : 1,
18784 "description" : "Volume, device or directory to mount into the container.",
18785 "format" : "pve-lxc-mp-string",
18786 "format_description" : "volume",
18787 "type" : "string"
18788 }
18789 },
18790 "optional" : 1,
18791 "type" : "string"
18792 },
18793 "nameserver" : {
18794 "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.",
18795 "format" : "address-list",
18796 "optional" : 1,
18797 "type" : "string"
18798 },
18799 "net[n]" : {
18800 "description" : "Specifies network interfaces for the container.",
18801 "format" : {
18802 "bridge" : {
18803 "description" : "Bridge to attach the network device to.",
18804 "format_description" : "bridge",
18805 "optional" : 1,
18806 "pattern" : "[-_.\\w\\d]+",
18807 "type" : "string"
18808 },
18809 "firewall" : {
18810 "description" : "Controls whether this interface's firewall rules should be used.",
18811 "optional" : 1,
18812 "type" : "boolean"
18813 },
18814 "gw" : {
18815 "description" : "Default gateway for IPv4 traffic.",
18816 "format" : "ipv4",
18817 "format_description" : "GatewayIPv4",
18818 "optional" : 1,
18819 "type" : "string"
18820 },
18821 "gw6" : {
18822 "description" : "Default gateway for IPv6 traffic.",
18823 "format" : "ipv6",
18824 "format_description" : "GatewayIPv6",
18825 "optional" : 1,
18826 "type" : "string"
18827 },
18828 "hwaddr" : {
18829 "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)",
18830 "format_description" : "XX:XX:XX:XX:XX:XX",
18831 "optional" : 1,
18832 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
18833 "type" : "string"
18834 },
18835 "ip" : {
18836 "description" : "IPv4 address in CIDR format.",
18837 "format" : "pve-ipv4-config",
18838 "format_description" : "(IPv4/CIDR|dhcp|manual)",
18839 "optional" : 1,
18840 "type" : "string"
18841 },
18842 "ip6" : {
18843 "description" : "IPv6 address in CIDR format.",
18844 "format" : "pve-ipv6-config",
18845 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
18846 "optional" : 1,
18847 "type" : "string"
18848 },
18849 "mtu" : {
18850 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
18851 "minimum" : 64,
18852 "optional" : 1,
18853 "type" : "integer"
18854 },
18855 "name" : {
18856 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
18857 "format_description" : "string",
18858 "pattern" : "[-_.\\w\\d]+",
18859 "type" : "string"
18860 },
18861 "rate" : {
18862 "description" : "Apply rate limiting to the interface",
18863 "format_description" : "mbps",
18864 "optional" : 1,
18865 "type" : "number"
18866 },
18867 "tag" : {
18868 "description" : "VLAN tag for this interface.",
18869 "maximum" : 4094,
18870 "minimum" : 1,
18871 "optional" : 1,
18872 "type" : "integer"
18873 },
18874 "trunks" : {
18875 "description" : "VLAN ids to pass through the interface",
18876 "format_description" : "vlanid[;vlanid...]",
18877 "optional" : 1,
18878 "pattern" : "(?^:\\d+(?:;\\d+)*)",
18879 "type" : "string"
18880 },
18881 "type" : {
18882 "description" : "Network interface type.",
18883 "enum" : [
18884 "veth"
18885 ],
18886 "optional" : 1,
18887 "type" : "string"
18888 }
18889 },
18890 "optional" : 1,
18891 "type" : "string"
18892 },
18893 "onboot" : {
18894 "default" : 0,
18895 "description" : "Specifies whether a VM will be started during system bootup.",
18896 "optional" : 1,
18897 "type" : "boolean"
18898 },
18899 "ostype" : {
18900 "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.",
18901 "enum" : [
18902 "debian",
18903 "ubuntu",
18904 "centos",
18905 "fedora",
18906 "opensuse",
18907 "archlinux",
18908 "alpine",
18909 "gentoo",
18910 "unmanaged"
18911 ],
18912 "optional" : 1,
18913 "type" : "string"
18914 },
18915 "protection" : {
18916 "default" : 0,
18917 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
18918 "optional" : 1,
18919 "type" : "boolean"
18920 },
18921 "rootfs" : {
18922 "description" : "Use volume as container root.",
18923 "format" : {
18924 "acl" : {
18925 "description" : "Explicitly enable or disable ACL support.",
18926 "optional" : 1,
18927 "type" : "boolean"
18928 },
18929 "quota" : {
18930 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
18931 "optional" : 1,
18932 "type" : "boolean"
18933 },
18934 "replicate" : {
18935 "default" : 1,
18936 "description" : "Will include this volume to a storage replica job.",
18937 "optional" : 1,
18938 "type" : "boolean"
18939 },
18940 "ro" : {
18941 "description" : "Read-only mount point",
18942 "optional" : 1,
18943 "type" : "boolean"
18944 },
18945 "shared" : {
18946 "default" : 0,
18947 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
18948 "optional" : 1,
18949 "type" : "boolean",
18950 "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!"
18951 },
18952 "size" : {
18953 "description" : "Volume size (read only value).",
18954 "format" : "disk-size",
18955 "format_description" : "DiskSize",
18956 "optional" : 1,
18957 "type" : "string"
18958 },
18959 "volume" : {
18960 "default_key" : 1,
18961 "description" : "Volume, device or directory to mount into the container.",
18962 "format" : "pve-lxc-mp-string",
18963 "format_description" : "volume",
18964 "type" : "string"
18965 }
18966 },
18967 "optional" : 1,
18968 "type" : "string"
18969 },
18970 "searchdomain" : {
18971 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
18972 "format" : "dns-name-list",
18973 "optional" : 1,
18974 "type" : "string"
18975 },
18976 "startup" : {
18977 "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.",
18978 "format" : "pve-startup-order",
18979 "optional" : 1,
18980 "type" : "string",
18981 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
18982 },
18983 "swap" : {
18984 "default" : 512,
18985 "description" : "Amount of SWAP for the VM in MB.",
18986 "minimum" : 0,
18987 "optional" : 1,
18988 "type" : "integer"
18989 },
18990 "template" : {
18991 "default" : 0,
18992 "description" : "Enable/disable Template.",
18993 "optional" : 1,
18994 "type" : "boolean"
44660702 18995 },
4d47f125
TL
18996 "tty" : {
18997 "default" : 2,
18998 "description" : "Specify the number of tty available to the container",
18999 "maximum" : 6,
19000 "minimum" : 0,
19001 "optional" : 1,
19002 "type" : "integer"
19003 },
19004 "unprivileged" : {
19005 "default" : 0,
19006 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
19007 "optional" : 1,
19008 "type" : "boolean"
19009 },
19010 "unused[n]" : {
19011 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
19012 "format" : "pve-volume-id",
19013 "optional" : 1,
44660702
DM
19014 "type" : "string"
19015 }
19016 },
19017 "type" : "object"
19018 }
19019 },
56122987 19020 "PUT" : {
44660702
DM
19021 "description" : "Set container options.",
19022 "method" : "PUT",
19023 "name" : "update_vm",
56122987 19024 "parameters" : {
44660702 19025 "additionalProperties" : 0,
56122987 19026 "properties" : {
44660702
DM
19027 "arch" : {
19028 "default" : "amd64",
19029 "description" : "OS architecture type.",
19030 "enum" : [
19031 "amd64",
4d47f125
TL
19032 "i386",
19033 "arm64",
19034 "armhf"
44660702 19035 ],
7aacca6f 19036 "optional" : 1,
44660702
DM
19037 "type" : "string"
19038 },
19039 "cmode" : {
7aacca6f 19040 "default" : "tty",
44660702 19041 "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
19042 "enum" : [
19043 "shell",
19044 "console",
19045 "tty"
19046 ],
44660702
DM
19047 "optional" : 1,
19048 "type" : "string"
7aacca6f 19049 },
44660702
DM
19050 "console" : {
19051 "default" : 1,
19052 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 19053 "optional" : 1,
013dc89f
DM
19054 "type" : "boolean",
19055 "typetext" : "<boolean>"
7aacca6f 19056 },
de0983cb
DM
19057 "cores" : {
19058 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
19059 "maximum" : 128,
19060 "minimum" : 1,
19061 "optional" : 1,
19062 "type" : "integer",
013dc89f 19063 "typetext" : "<integer> (1 - 128)"
de0983cb 19064 },
44660702
DM
19065 "cpulimit" : {
19066 "default" : 0,
19067 "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.",
19068 "maximum" : 128,
7aacca6f 19069 "minimum" : 0,
7aacca6f 19070 "optional" : 1,
4bd7df8b 19071 "type" : "number",
013dc89f 19072 "typetext" : "<number> (0 - 128)"
7aacca6f 19073 },
44660702
DM
19074 "cpuunits" : {
19075 "default" : 1024,
19076 "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.",
19077 "maximum" : 500000,
19078 "minimum" : 0,
19079 "optional" : 1,
4bd7df8b 19080 "type" : "integer",
013dc89f 19081 "typetext" : "<integer> (0 - 500000)"
7aacca6f 19082 },
44660702
DM
19083 "delete" : {
19084 "description" : "A list of settings you want to delete.",
19085 "format" : "pve-configid-list",
7aacca6f 19086 "optional" : 1,
013dc89f
DM
19087 "type" : "string",
19088 "typetext" : "<string>"
7aacca6f 19089 },
44660702
DM
19090 "description" : {
19091 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 19092 "optional" : 1,
013dc89f
DM
19093 "type" : "string",
19094 "typetext" : "<string>"
7aacca6f 19095 },
44660702
DM
19096 "digest" : {
19097 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19098 "maxLength" : 40,
7aacca6f 19099 "optional" : 1,
013dc89f
DM
19100 "type" : "string",
19101 "typetext" : "<string>"
7aacca6f 19102 },
4d47f125
TL
19103 "features" : {
19104 "description" : "Allow containers access to advanced features.",
19105 "format" : {
19106 "keyctl" : {
19107 "default" : 0,
19108 "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.",
19109 "optional" : 1,
19110 "type" : "boolean"
19111 },
19112 "mount" : {
19113 "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.",
19114 "format_description" : "fstype;fstype;...",
19115 "optional" : 1,
19116 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
19117 "type" : "string"
19118 },
19119 "nesting" : {
19120 "default" : 0,
19121 "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.",
19122 "optional" : 1,
19123 "type" : "boolean"
19124 }
19125 },
19126 "optional" : 1,
19127 "type" : "string",
19128 "typetext" : "[keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
19129 },
44660702
DM
19130 "hostname" : {
19131 "description" : "Set a host name for the container.",
19132 "format" : "dns-name",
19133 "maxLength" : 255,
56122987 19134 "optional" : 1,
013dc89f
DM
19135 "type" : "string",
19136 "typetext" : "<string>"
44660702
DM
19137 },
19138 "lock" : {
19139 "description" : "Lock/unlock the VM.",
19140 "enum" : [
44660702 19141 "backup",
4d47f125
TL
19142 "disk",
19143 "migrate",
19144 "mounted",
19145 "rollback",
44660702 19146 "snapshot",
4d47f125 19147 "snapshot-delete"
44660702
DM
19148 ],
19149 "optional" : 1,
19150 "type" : "string"
19151 },
19152 "memory" : {
19153 "default" : 512,
19154 "description" : "Amount of RAM for the VM in MB.",
19155 "minimum" : 16,
19156 "optional" : 1,
4bd7df8b 19157 "type" : "integer",
013dc89f 19158 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
19159 },
19160 "mp[n]" : {
c2993fe5 19161 "description" : "Use volume as container mount point.",
7aacca6f 19162 "format" : {
7aacca6f
DM
19163 "acl" : {
19164 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 19165 "optional" : 1,
44660702 19166 "type" : "boolean"
7aacca6f
DM
19167 },
19168 "backup" : {
de0983cb 19169 "description" : "Whether to include the mount point in backups.",
7aacca6f 19170 "optional" : 1,
4bd7df8b 19171 "type" : "boolean",
de0983cb 19172 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
19173 },
19174 "mp" : {
de0983cb 19175 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 19176 "format" : "pve-lxc-mp-string",
44660702 19177 "format_description" : "Path",
4bd7df8b 19178 "type" : "string",
de0983cb 19179 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 19180 },
5d9c884c
DM
19181 "quota" : {
19182 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
19183 "optional" : 1,
19184 "type" : "boolean"
19185 },
19186 "replicate" : {
19187 "default" : 1,
19188 "description" : "Will include this volume to a storage replica job.",
44660702
DM
19189 "optional" : 1,
19190 "type" : "boolean"
19191 },
19192 "ro" : {
de0983cb 19193 "description" : "Read-only mount point",
44660702
DM
19194 "optional" : 1,
19195 "type" : "boolean"
19196 },
de0983cb
DM
19197 "shared" : {
19198 "default" : 0,
19199 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19200 "optional" : 1,
19201 "type" : "boolean",
19202 "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!"
19203 },
44660702
DM
19204 "size" : {
19205 "description" : "Volume size (read only value).",
19206 "format" : "disk-size",
19207 "format_description" : "DiskSize",
19208 "optional" : 1,
19209 "type" : "string"
19210 },
19211 "volume" : {
19212 "default_key" : 1,
19213 "description" : "Volume, device or directory to mount into the container.",
19214 "format" : "pve-lxc-mp-string",
19215 "format_description" : "volume",
19216 "type" : "string"
19217 }
19218 },
7aacca6f 19219 "optional" : 1,
4bd7df8b 19220 "type" : "string",
5d9c884c 19221 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 19222 },
44660702
DM
19223 "nameserver" : {
19224 "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.",
19225 "format" : "address-list",
56122987 19226 "optional" : 1,
013dc89f
DM
19227 "type" : "string",
19228 "typetext" : "<string>"
56122987
DM
19229 },
19230 "net[n]" : {
44660702 19231 "description" : "Specifies network interfaces for the container.",
56122987 19232 "format" : {
44660702
DM
19233 "bridge" : {
19234 "description" : "Bridge to attach the network device to.",
f004f5b9 19235 "format_description" : "bridge",
56122987 19236 "optional" : 1,
44660702
DM
19237 "pattern" : "[-_.\\w\\d]+",
19238 "type" : "string"
56122987 19239 },
44660702
DM
19240 "firewall" : {
19241 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 19242 "optional" : 1,
44660702 19243 "type" : "boolean"
56122987 19244 },
44660702
DM
19245 "gw" : {
19246 "description" : "Default gateway for IPv4 traffic.",
19247 "format" : "ipv4",
19248 "format_description" : "GatewayIPv4",
56122987 19249 "optional" : 1,
44660702 19250 "type" : "string"
56122987
DM
19251 },
19252 "gw6" : {
7aacca6f 19253 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
19254 "format" : "ipv6",
19255 "format_description" : "GatewayIPv6",
7aacca6f 19256 "optional" : 1,
56122987
DM
19257 "type" : "string"
19258 },
44660702 19259 "hwaddr" : {
f004f5b9
DM
19260 "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)",
19261 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
19262 "optional" : 1,
19263 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
19264 "type" : "string"
19265 },
19266 "ip" : {
19267 "description" : "IPv4 address in CIDR format.",
19268 "format" : "pve-ipv4-config",
2489d6df 19269 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 19270 "optional" : 1,
44660702 19271 "type" : "string"
56122987 19272 },
7aacca6f 19273 "ip6" : {
7aacca6f
DM
19274 "description" : "IPv6 address in CIDR format.",
19275 "format" : "pve-ipv6-config",
2489d6df 19276 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 19277 "optional" : 1,
44660702 19278 "type" : "string"
56122987 19279 },
44660702
DM
19280 "mtu" : {
19281 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 19282 "minimum" : 64,
56122987 19283 "optional" : 1,
44660702 19284 "type" : "integer"
56122987
DM
19285 },
19286 "name" : {
44660702 19287 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 19288 "format_description" : "string",
56122987 19289 "pattern" : "[-_.\\w\\d]+",
44660702 19290 "type" : "string"
56122987 19291 },
44660702
DM
19292 "rate" : {
19293 "description" : "Apply rate limiting to the interface",
19294 "format_description" : "mbps",
56122987 19295 "optional" : 1,
44660702 19296 "type" : "number"
7aacca6f 19297 },
44660702
DM
19298 "tag" : {
19299 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
19300 "maximum" : 4094,
19301 "minimum" : 1,
56122987 19302 "optional" : 1,
7aacca6f 19303 "type" : "integer"
56122987 19304 },
44660702
DM
19305 "trunks" : {
19306 "description" : "VLAN ids to pass through the interface",
19307 "format_description" : "vlanid[;vlanid...]",
19308 "optional" : 1,
19309 "pattern" : "(?^:\\d+(?:;\\d+)*)",
19310 "type" : "string"
19311 },
19312 "type" : {
19313 "description" : "Network interface type.",
19314 "enum" : [
19315 "veth"
19316 ],
56122987 19317 "optional" : 1,
44660702 19318 "type" : "string"
56122987
DM
19319 }
19320 },
7aacca6f 19321 "optional" : 1,
4bd7df8b 19322 "type" : "string",
2489d6df 19323 "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 19324 },
44660702
DM
19325 "node" : {
19326 "description" : "The cluster node name.",
19327 "format" : "pve-node",
013dc89f
DM
19328 "type" : "string",
19329 "typetext" : "<string>"
56122987 19330 },
44660702
DM
19331 "onboot" : {
19332 "default" : 0,
19333 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 19334 "optional" : 1,
013dc89f
DM
19335 "type" : "boolean",
19336 "typetext" : "<boolean>"
56122987 19337 },
44660702
DM
19338 "ostype" : {
19339 "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.",
19340 "enum" : [
19341 "debian",
19342 "ubuntu",
19343 "centos",
19344 "fedora",
19345 "opensuse",
19346 "archlinux",
19347 "alpine",
57b78691 19348 "gentoo",
44660702
DM
19349 "unmanaged"
19350 ],
56122987 19351 "optional" : 1,
44660702 19352 "type" : "string"
56122987 19353 },
44660702
DM
19354 "protection" : {
19355 "default" : 0,
19356 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 19357 "optional" : 1,
013dc89f
DM
19358 "type" : "boolean",
19359 "typetext" : "<boolean>"
56122987 19360 },
7aacca6f
DM
19361 "rootfs" : {
19362 "description" : "Use volume as container root.",
56122987
DM
19363 "format" : {
19364 "acl" : {
44660702 19365 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
19366 "optional" : 1,
19367 "type" : "boolean"
56122987 19368 },
44660702
DM
19369 "quota" : {
19370 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
19371 "optional" : 1,
19372 "type" : "boolean"
19373 },
5d9c884c
DM
19374 "replicate" : {
19375 "default" : 1,
19376 "description" : "Will include this volume to a storage replica job.",
19377 "optional" : 1,
19378 "type" : "boolean"
19379 },
44660702 19380 "ro" : {
de0983cb 19381 "description" : "Read-only mount point",
56122987 19382 "optional" : 1,
44660702
DM
19383 "type" : "boolean"
19384 },
de0983cb
DM
19385 "shared" : {
19386 "default" : 0,
19387 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19388 "optional" : 1,
19389 "type" : "boolean",
19390 "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!"
19391 },
44660702 19392 "size" : {
7aacca6f 19393 "description" : "Volume size (read only value).",
44660702 19394 "format" : "disk-size",
56122987 19395 "format_description" : "DiskSize",
56122987 19396 "optional" : 1,
44660702 19397 "type" : "string"
7aacca6f
DM
19398 },
19399 "volume" : {
7aacca6f
DM
19400 "default_key" : 1,
19401 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
19402 "format" : "pve-lxc-mp-string",
19403 "format_description" : "volume",
7aacca6f 19404 "type" : "string"
56122987 19405 }
44660702
DM
19406 },
19407 "optional" : 1,
4bd7df8b 19408 "type" : "string",
5d9c884c 19409 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
19410 },
19411 "searchdomain" : {
19412 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
19413 "format" : "dns-name-list",
19414 "optional" : 1,
013dc89f
DM
19415 "type" : "string",
19416 "typetext" : "<string>"
44660702
DM
19417 },
19418 "startup" : {
19419 "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.",
19420 "format" : "pve-startup-order",
19421 "optional" : 1,
19422 "type" : "string",
19423 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
19424 },
19425 "swap" : {
19426 "default" : 512,
19427 "description" : "Amount of SWAP for the VM in MB.",
19428 "minimum" : 0,
19429 "optional" : 1,
4bd7df8b 19430 "type" : "integer",
013dc89f 19431 "typetext" : "<integer> (0 - N)"
56122987 19432 },
56122987 19433 "template" : {
44660702 19434 "default" : 0,
7aacca6f 19435 "description" : "Enable/disable Template.",
56122987 19436 "optional" : 1,
013dc89f
DM
19437 "type" : "boolean",
19438 "typetext" : "<boolean>"
56122987 19439 },
44660702
DM
19440 "tty" : {
19441 "default" : 2,
19442 "description" : "Specify the number of tty available to the container",
19443 "maximum" : 6,
19444 "minimum" : 0,
19445 "optional" : 1,
4bd7df8b 19446 "type" : "integer",
013dc89f 19447 "typetext" : "<integer> (0 - 6)"
56122987 19448 },
44660702
DM
19449 "unprivileged" : {
19450 "default" : 0,
19451 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 19452 "optional" : 1,
013dc89f
DM
19453 "type" : "boolean",
19454 "typetext" : "<boolean>"
56122987 19455 },
44660702 19456 "unused[n]" : {
c2993fe5 19457 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 19458 "format" : "pve-volume-id",
56122987 19459 "optional" : 1,
013dc89f
DM
19460 "type" : "string",
19461 "typetext" : "<string>"
44660702
DM
19462 },
19463 "vmid" : {
19464 "description" : "The (unique) ID of the VM.",
19465 "format" : "pve-vmid",
19466 "minimum" : 1,
4bd7df8b 19467 "type" : "integer",
013dc89f 19468 "typetext" : "<integer> (1 - N)"
56122987 19469 }
44660702 19470 }
56122987 19471 },
56122987
DM
19472 "permissions" : {
19473 "check" : [
19474 "perm",
19475 "/vms/{vmid}",
19476 [
19477 "VM.Config.Disk",
19478 "VM.Config.CPU",
19479 "VM.Config.Memory",
19480 "VM.Config.Network",
19481 "VM.Config.Options"
19482 ],
19483 "any",
19484 1
52e44c50
FG
19485 ],
19486 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 19487 },
44660702
DM
19488 "protected" : 1,
19489 "proxyto" : "node",
56122987
DM
19490 "returns" : {
19491 "type" : "null"
7aacca6f 19492 }
56122987 19493 }
7aacca6f 19494 },
44660702 19495 "leaf" : 1,
7aacca6f 19496 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 19497 "text" : "config"
56122987
DM
19498 },
19499 {
56122987
DM
19500 "children" : [
19501 {
19502 "info" : {
19503 "GET" : {
44660702 19504 "description" : "Get virtual machine status.",
7aacca6f 19505 "method" : "GET",
44660702 19506 "name" : "vm_status",
56122987 19507 "parameters" : {
44660702 19508 "additionalProperties" : 0,
56122987 19509 "properties" : {
56122987 19510 "node" : {
44660702 19511 "description" : "The cluster node name.",
56122987 19512 "format" : "pve-node",
013dc89f
DM
19513 "type" : "string",
19514 "typetext" : "<string>"
7aacca6f
DM
19515 },
19516 "vmid" : {
19517 "description" : "The (unique) ID of the VM.",
44660702 19518 "format" : "pve-vmid",
7aacca6f 19519 "minimum" : 1,
4bd7df8b 19520 "type" : "integer",
013dc89f 19521 "typetext" : "<integer> (1 - N)"
56122987 19522 }
44660702 19523 }
7aacca6f
DM
19524 },
19525 "permissions" : {
19526 "check" : [
19527 "perm",
19528 "/vms/{vmid}",
19529 [
4d47f125
TL
19530 "VM.Audit"
19531 ]
19532 ]
19533 },
19534 "protected" : 1,
19535 "proxyto" : "node",
19536 "returns" : {
19537 "properties" : {
19538 "cpus" : {
19539 "description" : "Maximum usable CPUs.",
19540 "optional" : 1,
19541 "type" : "number"
19542 },
19543 "ha" : {
19544 "description" : "HA manager service status.",
19545 "type" : "object"
19546 },
19547 "maxdisk" : {
19548 "description" : "Root disk size in bytes.",
19549 "optional" : 1,
19550 "renderer" : "bytes",
19551 "type" : "integer"
19552 },
19553 "maxmem" : {
19554 "description" : "Maximum memory in bytes.",
19555 "optional" : 1,
19556 "renderer" : "bytes",
19557 "type" : "integer"
19558 },
19559 "maxswap" : {
19560 "description" : "Maximum SWAP memory in bytes.",
19561 "optional" : 1,
19562 "renderer" : "bytes",
19563 "type" : "integer"
19564 },
19565 "name" : {
19566 "description" : "Container name.",
19567 "optional" : 1,
19568 "type" : "string"
19569 },
19570 "status" : {
19571 "description" : "LXC Container status.",
19572 "enum" : [
19573 "stopped",
19574 "running"
19575 ],
19576 "type" : "string"
19577 },
19578 "uptime" : {
19579 "description" : "Uptime.",
19580 "optional" : 1,
19581 "renderer" : "duration",
19582 "type" : "integer"
19583 },
19584 "vmid" : {
19585 "description" : "The (unique) ID of the VM.",
19586 "format" : "pve-vmid",
19587 "minimum" : 1,
19588 "type" : "integer"
19589 }
19590 },
19591 "type" : "object"
19592 }
19593 }
19594 },
19595 "leaf" : 1,
19596 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
19597 "text" : "current"
19598 },
19599 {
19600 "info" : {
19601 "POST" : {
19602 "description" : "Start the container.",
19603 "method" : "POST",
19604 "name" : "vm_start",
19605 "parameters" : {
19606 "additionalProperties" : 0,
19607 "properties" : {
19608 "node" : {
19609 "description" : "The cluster node name.",
19610 "format" : "pve-node",
19611 "type" : "string",
19612 "typetext" : "<string>"
19613 },
19614 "skiplock" : {
19615 "description" : "Ignore locks - only root is allowed to use this option.",
19616 "optional" : 1,
19617 "type" : "boolean",
19618 "typetext" : "<boolean>"
19619 },
19620 "vmid" : {
19621 "description" : "The (unique) ID of the VM.",
19622 "format" : "pve-vmid",
19623 "minimum" : 1,
19624 "type" : "integer",
19625 "typetext" : "<integer> (1 - N)"
19626 }
19627 }
19628 },
19629 "permissions" : {
19630 "check" : [
19631 "perm",
19632 "/vms/{vmid}",
19633 [
19634 "VM.PowerMgmt"
19635 ]
19636 ]
19637 },
19638 "protected" : 1,
19639 "proxyto" : "node",
19640 "returns" : {
19641 "type" : "string"
19642 }
19643 }
19644 },
19645 "leaf" : 1,
19646 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
19647 "text" : "start"
19648 },
19649 {
19650 "info" : {
19651 "POST" : {
19652 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
19653 "method" : "POST",
19654 "name" : "vm_stop",
19655 "parameters" : {
19656 "additionalProperties" : 0,
19657 "properties" : {
19658 "node" : {
19659 "description" : "The cluster node name.",
19660 "format" : "pve-node",
19661 "type" : "string",
19662 "typetext" : "<string>"
19663 },
19664 "skiplock" : {
19665 "description" : "Ignore locks - only root is allowed to use this option.",
19666 "optional" : 1,
19667 "type" : "boolean",
19668 "typetext" : "<boolean>"
19669 },
19670 "vmid" : {
19671 "description" : "The (unique) ID of the VM.",
19672 "format" : "pve-vmid",
19673 "minimum" : 1,
19674 "type" : "integer",
19675 "typetext" : "<integer> (1 - N)"
19676 }
19677 }
19678 },
19679 "permissions" : {
19680 "check" : [
19681 "perm",
19682 "/vms/{vmid}",
19683 [
19684 "VM.PowerMgmt"
19685 ]
19686 ]
19687 },
19688 "protected" : 1,
19689 "proxyto" : "node",
19690 "returns" : {
19691 "type" : "string"
19692 }
19693 }
19694 },
19695 "leaf" : 1,
19696 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
19697 "text" : "stop"
19698 },
19699 {
19700 "info" : {
19701 "POST" : {
19702 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
19703 "method" : "POST",
19704 "name" : "vm_shutdown",
19705 "parameters" : {
19706 "additionalProperties" : 0,
19707 "properties" : {
19708 "forceStop" : {
19709 "default" : 0,
19710 "description" : "Make sure the Container stops.",
19711 "optional" : 1,
19712 "type" : "boolean",
19713 "typetext" : "<boolean>"
19714 },
19715 "node" : {
19716 "description" : "The cluster node name.",
19717 "format" : "pve-node",
19718 "type" : "string",
19719 "typetext" : "<string>"
19720 },
19721 "timeout" : {
19722 "default" : 60,
19723 "description" : "Wait maximal timeout seconds.",
19724 "minimum" : 0,
19725 "optional" : 1,
19726 "type" : "integer",
19727 "typetext" : "<integer> (0 - N)"
19728 },
19729 "vmid" : {
19730 "description" : "The (unique) ID of the VM.",
19731 "format" : "pve-vmid",
19732 "minimum" : 1,
19733 "type" : "integer",
19734 "typetext" : "<integer> (1 - N)"
19735 }
19736 }
19737 },
19738 "permissions" : {
19739 "check" : [
19740 "perm",
19741 "/vms/{vmid}",
19742 [
19743 "VM.PowerMgmt"
7aacca6f
DM
19744 ]
19745 ]
19746 },
44660702 19747 "protected" : 1,
7aacca6f 19748 "proxyto" : "node",
44660702 19749 "returns" : {
4d47f125 19750 "type" : "string"
44660702 19751 }
56122987
DM
19752 }
19753 },
44660702 19754 "leaf" : 1,
4d47f125
TL
19755 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
19756 "text" : "shutdown"
56122987
DM
19757 },
19758 {
56122987
DM
19759 "info" : {
19760 "POST" : {
4d47f125 19761 "description" : "Suspend the container.",
44660702 19762 "method" : "POST",
4d47f125 19763 "name" : "vm_suspend",
56122987
DM
19764 "parameters" : {
19765 "additionalProperties" : 0,
19766 "properties" : {
56122987 19767 "node" : {
7aacca6f 19768 "description" : "The cluster node name.",
44660702 19769 "format" : "pve-node",
013dc89f
DM
19770 "type" : "string",
19771 "typetext" : "<string>"
56122987
DM
19772 },
19773 "vmid" : {
7aacca6f 19774 "description" : "The (unique) ID of the VM.",
44660702 19775 "format" : "pve-vmid",
56122987 19776 "minimum" : 1,
4bd7df8b 19777 "type" : "integer",
013dc89f 19778 "typetext" : "<integer> (1 - N)"
56122987
DM
19779 }
19780 }
19781 },
19782 "permissions" : {
19783 "check" : [
19784 "perm",
19785 "/vms/{vmid}",
19786 [
19787 "VM.PowerMgmt"
19788 ]
19789 ]
19790 },
44660702 19791 "protected" : 1,
7aacca6f 19792 "proxyto" : "node",
44660702
DM
19793 "returns" : {
19794 "type" : "string"
19795 }
19796 }
19797 },
19798 "leaf" : 1,
4d47f125
TL
19799 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
19800 "text" : "suspend"
44660702
DM
19801 },
19802 {
19803 "info" : {
19804 "POST" : {
4d47f125 19805 "description" : "Resume the container.",
7aacca6f 19806 "method" : "POST",
4d47f125 19807 "name" : "vm_resume",
7aacca6f 19808 "parameters" : {
44660702 19809 "additionalProperties" : 0,
7aacca6f 19810 "properties" : {
44660702
DM
19811 "node" : {
19812 "description" : "The cluster node name.",
19813 "format" : "pve-node",
013dc89f
DM
19814 "type" : "string",
19815 "typetext" : "<string>"
44660702 19816 },
7aacca6f 19817 "vmid" : {
44660702 19818 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
19819 "format" : "pve-vmid",
19820 "minimum" : 1,
4bd7df8b 19821 "type" : "integer",
013dc89f 19822 "typetext" : "<integer> (1 - N)"
7aacca6f 19823 }
44660702
DM
19824 }
19825 },
19826 "permissions" : {
19827 "check" : [
19828 "perm",
19829 "/vms/{vmid}",
19830 [
19831 "VM.PowerMgmt"
19832 ]
19833 ]
7aacca6f 19834 },
44660702
DM
19835 "protected" : 1,
19836 "proxyto" : "node",
19837 "returns" : {
19838 "type" : "string"
19839 }
56122987 19840 }
7aacca6f 19841 },
7aacca6f 19842 "leaf" : 1,
4d47f125
TL
19843 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
19844 "text" : "resume"
19845 }
19846 ],
19847 "info" : {
19848 "GET" : {
19849 "description" : "Directory index",
19850 "method" : "GET",
19851 "name" : "vmcmdidx",
19852 "parameters" : {
19853 "additionalProperties" : 0,
19854 "properties" : {
19855 "node" : {
19856 "description" : "The cluster node name.",
19857 "format" : "pve-node",
19858 "type" : "string",
19859 "typetext" : "<string>"
19860 },
19861 "vmid" : {
19862 "description" : "The (unique) ID of the VM.",
19863 "format" : "pve-vmid",
19864 "minimum" : 1,
19865 "type" : "integer",
19866 "typetext" : "<integer> (1 - N)"
19867 }
19868 }
19869 },
19870 "permissions" : {
19871 "user" : "all"
19872 },
19873 "proxyto" : "node",
19874 "returns" : {
19875 "items" : {
19876 "properties" : {
19877 "subdir" : {
19878 "type" : "string"
19879 }
19880 },
19881 "type" : "object"
19882 },
19883 "links" : [
19884 {
19885 "href" : "{subdir}",
19886 "rel" : "child"
19887 }
19888 ],
19889 "type" : "array"
19890 }
19891 }
19892 },
19893 "leaf" : 0,
19894 "path" : "/nodes/{node}/lxc/{vmid}/status",
19895 "text" : "status"
19896 },
19897 {
19898 "children" : [
56122987 19899 {
4d47f125
TL
19900 "children" : [
19901 {
19902 "info" : {
19903 "POST" : {
19904 "description" : "Rollback LXC state to specified snapshot.",
19905 "method" : "POST",
19906 "name" : "rollback",
19907 "parameters" : {
19908 "additionalProperties" : 0,
19909 "properties" : {
19910 "node" : {
19911 "description" : "The cluster node name.",
19912 "format" : "pve-node",
19913 "type" : "string",
19914 "typetext" : "<string>"
19915 },
19916 "snapname" : {
19917 "description" : "The name of the snapshot.",
19918 "format" : "pve-configid",
19919 "maxLength" : 40,
19920 "type" : "string",
19921 "typetext" : "<string>"
19922 },
19923 "vmid" : {
19924 "description" : "The (unique) ID of the VM.",
19925 "format" : "pve-vmid",
19926 "minimum" : 1,
19927 "type" : "integer",
19928 "typetext" : "<integer> (1 - N)"
19929 }
19930 }
19931 },
19932 "permissions" : {
19933 "check" : [
19934 "perm",
19935 "/vms/{vmid}",
19936 [
19937 "VM.Snapshot",
19938 "VM.Snapshot.Rollback"
19939 ],
19940 "any",
19941 1
19942 ]
19943 },
19944 "protected" : 1,
19945 "proxyto" : "node",
19946 "returns" : {
19947 "description" : "the task ID.",
19948 "type" : "string"
19949 }
19950 }
19951 },
19952 "leaf" : 1,
19953 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
19954 "text" : "rollback"
19955 },
19956 {
19957 "info" : {
19958 "GET" : {
19959 "description" : "Get snapshot configuration",
19960 "method" : "GET",
19961 "name" : "get_snapshot_config",
19962 "parameters" : {
19963 "additionalProperties" : 0,
19964 "properties" : {
19965 "node" : {
19966 "description" : "The cluster node name.",
19967 "format" : "pve-node",
19968 "type" : "string",
19969 "typetext" : "<string>"
19970 },
19971 "snapname" : {
19972 "description" : "The name of the snapshot.",
19973 "format" : "pve-configid",
19974 "maxLength" : 40,
19975 "type" : "string",
19976 "typetext" : "<string>"
19977 },
19978 "vmid" : {
19979 "description" : "The (unique) ID of the VM.",
19980 "format" : "pve-vmid",
19981 "minimum" : 1,
19982 "type" : "integer",
19983 "typetext" : "<integer> (1 - N)"
19984 }
19985 }
19986 },
19987 "permissions" : {
19988 "check" : [
19989 "perm",
19990 "/vms/{vmid}",
19991 [
19992 "VM.Snapshot",
19993 "VM.Snapshot.Rollback"
19994 ],
19995 "any",
19996 1
19997 ]
19998 },
19999 "proxyto" : "node",
20000 "returns" : {
20001 "type" : "object"
20002 }
20003 },
20004 "PUT" : {
20005 "description" : "Update snapshot metadata.",
20006 "method" : "PUT",
20007 "name" : "update_snapshot_config",
20008 "parameters" : {
20009 "additionalProperties" : 0,
20010 "properties" : {
20011 "description" : {
20012 "description" : "A textual description or comment.",
20013 "optional" : 1,
20014 "type" : "string",
20015 "typetext" : "<string>"
20016 },
20017 "node" : {
20018 "description" : "The cluster node name.",
20019 "format" : "pve-node",
20020 "type" : "string",
20021 "typetext" : "<string>"
20022 },
20023 "snapname" : {
20024 "description" : "The name of the snapshot.",
20025 "format" : "pve-configid",
20026 "maxLength" : 40,
20027 "type" : "string",
20028 "typetext" : "<string>"
20029 },
20030 "vmid" : {
20031 "description" : "The (unique) ID of the VM.",
20032 "format" : "pve-vmid",
20033 "minimum" : 1,
20034 "type" : "integer",
20035 "typetext" : "<integer> (1 - N)"
20036 }
20037 }
20038 },
20039 "permissions" : {
20040 "check" : [
20041 "perm",
20042 "/vms/{vmid}",
20043 [
20044 "VM.Snapshot"
20045 ]
20046 ]
20047 },
20048 "protected" : 1,
20049 "proxyto" : "node",
20050 "returns" : {
20051 "type" : "null"
20052 }
20053 }
20054 },
20055 "leaf" : 1,
20056 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
20057 "text" : "config"
20058 }
20059 ],
56122987 20060 "info" : {
4d47f125
TL
20061 "DELETE" : {
20062 "description" : "Delete a LXC snapshot.",
20063 "method" : "DELETE",
20064 "name" : "delsnapshot",
56122987 20065 "parameters" : {
44660702 20066 "additionalProperties" : 0,
56122987 20067 "properties" : {
4d47f125
TL
20068 "force" : {
20069 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 20070 "optional" : 1,
013dc89f
DM
20071 "type" : "boolean",
20072 "typetext" : "<boolean>"
44660702
DM
20073 },
20074 "node" : {
20075 "description" : "The cluster node name.",
20076 "format" : "pve-node",
013dc89f
DM
20077 "type" : "string",
20078 "typetext" : "<string>"
7aacca6f 20079 },
4d47f125
TL
20080 "snapname" : {
20081 "description" : "The name of the snapshot.",
20082 "format" : "pve-configid",
20083 "maxLength" : 40,
20084 "type" : "string",
20085 "typetext" : "<string>"
56122987
DM
20086 },
20087 "vmid" : {
7aacca6f 20088 "description" : "The (unique) ID of the VM.",
44660702
DM
20089 "format" : "pve-vmid",
20090 "minimum" : 1,
4bd7df8b 20091 "type" : "integer",
013dc89f 20092 "typetext" : "<integer> (1 - N)"
56122987 20093 }
44660702 20094 }
56122987
DM
20095 },
20096 "permissions" : {
20097 "check" : [
20098 "perm",
20099 "/vms/{vmid}",
20100 [
4d47f125 20101 "VM.Snapshot"
56122987
DM
20102 ]
20103 ]
20104 },
44660702
DM
20105 "protected" : 1,
20106 "proxyto" : "node",
7aacca6f 20107 "returns" : {
4d47f125 20108 "description" : "the task ID.",
7aacca6f
DM
20109 "type" : "string"
20110 }
4d47f125
TL
20111 },
20112 "GET" : {
20113 "description" : "",
20114 "method" : "GET",
20115 "name" : "snapshot_cmd_idx",
56122987
DM
20116 "parameters" : {
20117 "additionalProperties" : 0,
20118 "properties" : {
44660702
DM
20119 "node" : {
20120 "description" : "The cluster node name.",
20121 "format" : "pve-node",
013dc89f
DM
20122 "type" : "string",
20123 "typetext" : "<string>"
44660702 20124 },
4d47f125
TL
20125 "snapname" : {
20126 "description" : "The name of the snapshot.",
20127 "format" : "pve-configid",
20128 "maxLength" : 40,
013dc89f
DM
20129 "type" : "string",
20130 "typetext" : "<string>"
56122987
DM
20131 },
20132 "vmid" : {
7aacca6f 20133 "description" : "The (unique) ID of the VM.",
56122987 20134 "format" : "pve-vmid",
44660702 20135 "minimum" : 1,
4bd7df8b 20136 "type" : "integer",
013dc89f 20137 "typetext" : "<integer> (1 - N)"
56122987 20138 }
44660702
DM
20139 }
20140 },
20141 "permissions" : {
4d47f125 20142 "user" : "all"
56122987 20143 },
44660702 20144 "returns" : {
4d47f125
TL
20145 "items" : {
20146 "properties" : {},
20147 "type" : "object"
20148 },
20149 "links" : [
20150 {
20151 "href" : "{cmd}",
20152 "rel" : "child"
20153 }
20154 ],
20155 "type" : "array"
44660702 20156 }
7aacca6f
DM
20157 }
20158 },
4d47f125
TL
20159 "leaf" : 0,
20160 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
20161 "text" : "{snapname}"
7aacca6f
DM
20162 }
20163 ],
20164 "info" : {
20165 "GET" : {
4d47f125 20166 "description" : "List all snapshots.",
44660702 20167 "method" : "GET",
4d47f125 20168 "name" : "list",
7aacca6f
DM
20169 "parameters" : {
20170 "additionalProperties" : 0,
20171 "properties" : {
20172 "node" : {
20173 "description" : "The cluster node name.",
44660702 20174 "format" : "pve-node",
013dc89f
DM
20175 "type" : "string",
20176 "typetext" : "<string>"
56122987 20177 },
7aacca6f 20178 "vmid" : {
44660702 20179 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20180 "format" : "pve-vmid",
20181 "minimum" : 1,
4bd7df8b 20182 "type" : "integer",
013dc89f 20183 "typetext" : "<integer> (1 - N)"
7aacca6f 20184 }
56122987
DM
20185 }
20186 },
44660702 20187 "permissions" : {
4d47f125
TL
20188 "check" : [
20189 "perm",
20190 "/vms/{vmid}",
20191 [
20192 "VM.Audit"
20193 ]
20194 ]
44660702 20195 },
4d47f125 20196 "protected" : 1,
44660702 20197 "proxyto" : "node",
7aacca6f 20198 "returns" : {
7aacca6f
DM
20199 "items" : {
20200 "properties" : {
4d47f125
TL
20201 "description" : {
20202 "description" : "Snapshot description.",
7aacca6f 20203 "type" : "string"
4d47f125
TL
20204 },
20205 "name" : {
20206 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
20207 "type" : "string"
20208 },
20209 "parent" : {
20210 "description" : "Parent snapshot identifier.",
20211 "optional" : 1,
20212 "type" : "string"
20213 },
20214 "snaptime" : {
20215 "description" : "Snapshot creation time",
20216 "optional" : 1,
20217 "renderer" : "timestamp",
20218 "type" : "integer"
7aacca6f
DM
20219 }
20220 },
20221 "type" : "object"
20222 },
20223 "links" : [
20224 {
4d47f125 20225 "href" : "{name}",
44660702 20226 "rel" : "child"
7aacca6f 20227 }
44660702
DM
20228 ],
20229 "type" : "array"
7aacca6f 20230 }
4d47f125
TL
20231 },
20232 "POST" : {
20233 "description" : "Snapshot a container.",
20234 "method" : "POST",
20235 "name" : "snapshot",
20236 "parameters" : {
20237 "additionalProperties" : 0,
20238 "properties" : {
20239 "description" : {
20240 "description" : "A textual description or comment.",
20241 "optional" : 1,
20242 "type" : "string",
20243 "typetext" : "<string>"
20244 },
20245 "node" : {
20246 "description" : "The cluster node name.",
20247 "format" : "pve-node",
20248 "type" : "string",
20249 "typetext" : "<string>"
20250 },
20251 "snapname" : {
20252 "description" : "The name of the snapshot.",
20253 "format" : "pve-configid",
20254 "maxLength" : 40,
20255 "type" : "string",
20256 "typetext" : "<string>"
20257 },
20258 "vmid" : {
20259 "description" : "The (unique) ID of the VM.",
20260 "format" : "pve-vmid",
20261 "minimum" : 1,
20262 "type" : "integer",
20263 "typetext" : "<integer> (1 - N)"
20264 }
20265 }
20266 },
20267 "permissions" : {
20268 "check" : [
20269 "perm",
20270 "/vms/{vmid}",
20271 [
20272 "VM.Snapshot"
20273 ]
20274 ]
20275 },
20276 "protected" : 1,
20277 "proxyto" : "node",
20278 "returns" : {
20279 "description" : "the task ID.",
20280 "type" : "string"
20281 }
7aacca6f 20282 }
44660702
DM
20283 },
20284 "leaf" : 0,
4d47f125
TL
20285 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
20286 "text" : "snapshot"
7aacca6f
DM
20287 },
20288 {
7aacca6f 20289 "children" : [
56122987 20290 {
7aacca6f
DM
20291 "children" : [
20292 {
20293 "info" : {
4d47f125
TL
20294 "DELETE" : {
20295 "description" : "Delete rule.",
20296 "method" : "DELETE",
20297 "name" : "delete_rule",
7aacca6f 20298 "parameters" : {
44660702 20299 "additionalProperties" : 0,
7aacca6f 20300 "properties" : {
4d47f125
TL
20301 "digest" : {
20302 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20303 "maxLength" : 40,
20304 "optional" : 1,
20305 "type" : "string",
20306 "typetext" : "<string>"
20307 },
44660702
DM
20308 "node" : {
20309 "description" : "The cluster node name.",
20310 "format" : "pve-node",
013dc89f
DM
20311 "type" : "string",
20312 "typetext" : "<string>"
44660702 20313 },
4d47f125
TL
20314 "pos" : {
20315 "description" : "Update rule at position <pos>.",
20316 "minimum" : 0,
20317 "optional" : 1,
20318 "type" : "integer",
20319 "typetext" : "<integer> (0 - N)"
7aacca6f 20320 },
7aacca6f 20321 "vmid" : {
44660702 20322 "description" : "The (unique) ID of the VM.",
7aacca6f 20323 "format" : "pve-vmid",
44660702 20324 "minimum" : 1,
4bd7df8b 20325 "type" : "integer",
013dc89f 20326 "typetext" : "<integer> (1 - N)"
7aacca6f 20327 }
44660702
DM
20328 }
20329 },
20330 "permissions" : {
20331 "check" : [
20332 "perm",
20333 "/vms/{vmid}",
20334 [
4d47f125
TL
20335 "VM.Config.Network"
20336 ]
44660702 20337 ]
7aacca6f 20338 },
44660702 20339 "protected" : 1,
4d47f125 20340 "proxyto" : null,
44660702 20341 "returns" : {
4d47f125 20342 "type" : "null"
44660702 20343 }
4d47f125 20344 },
7aacca6f 20345 "GET" : {
4d47f125 20346 "description" : "Get single rule data.",
44660702 20347 "method" : "GET",
4d47f125 20348 "name" : "get_rule",
7aacca6f
DM
20349 "parameters" : {
20350 "additionalProperties" : 0,
4d47f125
TL
20351 "properties" : {
20352 "node" : {
20353 "description" : "The cluster node name.",
20354 "format" : "pve-node",
013dc89f
DM
20355 "type" : "string",
20356 "typetext" : "<string>"
44660702 20357 },
4d47f125
TL
20358 "pos" : {
20359 "description" : "Update rule at position <pos>.",
20360 "minimum" : 0,
20361 "optional" : 1,
20362 "type" : "integer",
20363 "typetext" : "<integer> (0 - N)"
20364 },
44660702
DM
20365 "vmid" : {
20366 "description" : "The (unique) ID of the VM.",
20367 "format" : "pve-vmid",
20368 "minimum" : 1,
4bd7df8b 20369 "type" : "integer",
013dc89f 20370 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
20371 }
20372 }
20373 },
20374 "permissions" : {
20375 "check" : [
20376 "perm",
20377 "/vms/{vmid}",
20378 [
4d47f125
TL
20379 "VM.Audit"
20380 ]
7aacca6f
DM
20381 ]
20382 },
4d47f125 20383 "proxyto" : null,
44660702 20384 "returns" : {
4d47f125
TL
20385 "properties" : {
20386 "pos" : {
20387 "type" : "integer"
20388 }
20389 },
44660702
DM
20390 "type" : "object"
20391 }
7aacca6f
DM
20392 },
20393 "PUT" : {
4d47f125 20394 "description" : "Modify rule data.",
44660702 20395 "method" : "PUT",
4d47f125 20396 "name" : "update_rule",
7aacca6f
DM
20397 "parameters" : {
20398 "additionalProperties" : 0,
20399 "properties" : {
4d47f125
TL
20400 "action" : {
20401 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
20402 "maxLength" : 20,
20403 "minLength" : 2,
20404 "optional" : 1,
20405 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20406 "type" : "string"
20407 },
20408 "comment" : {
20409 "description" : "Descriptive comment.",
20410 "optional" : 1,
20411 "type" : "string",
20412 "typetext" : "<string>"
20413 },
20414 "delete" : {
20415 "description" : "A list of settings you want to delete.",
20416 "format" : "pve-configid-list",
20417 "optional" : 1,
20418 "type" : "string",
20419 "typetext" : "<string>"
20420 },
20421 "dest" : {
20422 "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.",
20423 "format" : "pve-fw-addr-spec",
20424 "optional" : 1,
20425 "type" : "string",
20426 "typetext" : "<string>"
20427 },
20428 "digest" : {
20429 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20430 "maxLength" : 40,
20431 "optional" : 1,
20432 "type" : "string",
20433 "typetext" : "<string>"
20434 },
20435 "dport" : {
20436 "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.",
20437 "format" : "pve-fw-dport-spec",
20438 "optional" : 1,
20439 "type" : "string",
20440 "typetext" : "<string>"
20441 },
20442 "enable" : {
20443 "description" : "Flag to enable/disable a rule.",
20444 "minimum" : 0,
20445 "optional" : 1,
20446 "type" : "integer",
20447 "typetext" : "<integer> (0 - N)"
20448 },
20449 "iface" : {
20450 "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.",
20451 "format" : "pve-iface",
20452 "maxLength" : 20,
20453 "minLength" : 2,
20454 "optional" : 1,
20455 "type" : "string",
20456 "typetext" : "<string>"
20457 },
20458 "macro" : {
20459 "description" : "Use predefined standard macro.",
20460 "maxLength" : 128,
44660702 20461 "optional" : 1,
013dc89f
DM
20462 "type" : "string",
20463 "typetext" : "<string>"
44660702 20464 },
4d47f125
TL
20465 "moveto" : {
20466 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
20467 "minimum" : 0,
20468 "optional" : 1,
20469 "type" : "integer",
20470 "typetext" : "<integer> (0 - N)"
20471 },
7aacca6f 20472 "node" : {
7aacca6f 20473 "description" : "The cluster node name.",
44660702 20474 "format" : "pve-node",
013dc89f
DM
20475 "type" : "string",
20476 "typetext" : "<string>"
7aacca6f 20477 },
4d47f125
TL
20478 "pos" : {
20479 "description" : "Update rule at position <pos>.",
20480 "minimum" : 0,
20481 "optional" : 1,
20482 "type" : "integer",
20483 "typetext" : "<integer> (0 - N)"
20484 },
20485 "proto" : {
20486 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
20487 "format" : "pve-fw-protocol-spec",
20488 "optional" : 1,
20489 "type" : "string",
20490 "typetext" : "<string>"
20491 },
20492 "source" : {
20493 "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.",
20494 "format" : "pve-fw-addr-spec",
20495 "optional" : 1,
20496 "type" : "string",
20497 "typetext" : "<string>"
20498 },
20499 "sport" : {
20500 "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.",
20501 "format" : "pve-fw-sport-spec",
20502 "optional" : 1,
013dc89f
DM
20503 "type" : "string",
20504 "typetext" : "<string>"
7aacca6f 20505 },
4d47f125
TL
20506 "type" : {
20507 "description" : "Rule type.",
20508 "enum" : [
20509 "in",
20510 "out",
20511 "group"
20512 ],
20513 "optional" : 1,
20514 "type" : "string"
20515 },
7aacca6f 20516 "vmid" : {
44660702 20517 "description" : "The (unique) ID of the VM.",
7aacca6f 20518 "format" : "pve-vmid",
44660702 20519 "minimum" : 1,
4bd7df8b 20520 "type" : "integer",
013dc89f 20521 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
20522 }
20523 }
20524 },
7aacca6f
DM
20525 "permissions" : {
20526 "check" : [
20527 "perm",
20528 "/vms/{vmid}",
20529 [
4d47f125 20530 "VM.Config.Network"
7aacca6f
DM
20531 ]
20532 ]
20533 },
4d47f125
TL
20534 "protected" : 1,
20535 "proxyto" : null,
20536 "returns" : {
20537 "type" : "null"
20538 }
20539 }
20540 },
20541 "leaf" : 1,
20542 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
20543 "text" : "{pos}"
20544 }
20545 ],
20546 "info" : {
20547 "GET" : {
20548 "description" : "List rules.",
20549 "method" : "GET",
20550 "name" : "get_rules",
20551 "parameters" : {
20552 "additionalProperties" : 0,
20553 "properties" : {
20554 "node" : {
20555 "description" : "The cluster node name.",
20556 "format" : "pve-node",
20557 "type" : "string",
20558 "typetext" : "<string>"
20559 },
20560 "vmid" : {
20561 "description" : "The (unique) ID of the VM.",
20562 "format" : "pve-vmid",
20563 "minimum" : 1,
20564 "type" : "integer",
20565 "typetext" : "<integer> (1 - N)"
20566 }
20567 }
20568 },
20569 "permissions" : {
20570 "check" : [
20571 "perm",
20572 "/vms/{vmid}",
20573 [
20574 "VM.Audit"
20575 ]
20576 ]
20577 },
20578 "proxyto" : null,
20579 "returns" : {
20580 "items" : {
20581 "properties" : {
20582 "pos" : {
20583 "type" : "integer"
20584 }
20585 },
20586 "type" : "object"
20587 },
20588 "links" : [
20589 {
20590 "href" : "{pos}",
20591 "rel" : "child"
20592 }
20593 ],
20594 "type" : "array"
20595 }
20596 },
20597 "POST" : {
20598 "description" : "Create new rule.",
20599 "method" : "POST",
20600 "name" : "create_rule",
20601 "parameters" : {
20602 "additionalProperties" : 0,
20603 "properties" : {
20604 "action" : {
20605 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
20606 "maxLength" : 20,
20607 "minLength" : 2,
20608 "optional" : 0,
20609 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20610 "type" : "string"
20611 },
20612 "comment" : {
20613 "description" : "Descriptive comment.",
20614 "optional" : 1,
20615 "type" : "string",
20616 "typetext" : "<string>"
20617 },
20618 "dest" : {
20619 "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.",
20620 "format" : "pve-fw-addr-spec",
20621 "optional" : 1,
20622 "type" : "string",
20623 "typetext" : "<string>"
20624 },
20625 "digest" : {
20626 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20627 "maxLength" : 40,
20628 "optional" : 1,
20629 "type" : "string",
20630 "typetext" : "<string>"
20631 },
20632 "dport" : {
20633 "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.",
20634 "format" : "pve-fw-dport-spec",
20635 "optional" : 1,
20636 "type" : "string",
20637 "typetext" : "<string>"
20638 },
20639 "enable" : {
20640 "description" : "Flag to enable/disable a rule.",
20641 "minimum" : 0,
20642 "optional" : 1,
20643 "type" : "integer",
20644 "typetext" : "<integer> (0 - N)"
20645 },
20646 "iface" : {
20647 "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.",
20648 "format" : "pve-iface",
20649 "maxLength" : 20,
20650 "minLength" : 2,
20651 "optional" : 1,
20652 "type" : "string",
20653 "typetext" : "<string>"
20654 },
20655 "macro" : {
20656 "description" : "Use predefined standard macro.",
20657 "maxLength" : 128,
44660702 20658 "optional" : 1,
4d47f125
TL
20659 "type" : "string",
20660 "typetext" : "<string>"
44660702
DM
20661 },
20662 "node" : {
20663 "description" : "The cluster node name.",
20664 "format" : "pve-node",
013dc89f
DM
20665 "type" : "string",
20666 "typetext" : "<string>"
7aacca6f 20667 },
4d47f125
TL
20668 "pos" : {
20669 "description" : "Update rule at position <pos>.",
20670 "minimum" : 0,
20671 "optional" : 1,
20672 "type" : "integer",
20673 "typetext" : "<integer> (0 - N)"
20674 },
20675 "proto" : {
20676 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
20677 "format" : "pve-fw-protocol-spec",
20678 "optional" : 1,
20679 "type" : "string",
20680 "typetext" : "<string>"
20681 },
20682 "source" : {
20683 "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.",
20684 "format" : "pve-fw-addr-spec",
20685 "optional" : 1,
013dc89f
DM
20686 "type" : "string",
20687 "typetext" : "<string>"
44660702 20688 },
4d47f125
TL
20689 "sport" : {
20690 "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.",
20691 "format" : "pve-fw-sport-spec",
20692 "optional" : 1,
20693 "type" : "string",
20694 "typetext" : "<string>"
20695 },
20696 "type" : {
20697 "description" : "Rule type.",
20698 "enum" : [
20699 "in",
20700 "out",
20701 "group"
20702 ],
20703 "optional" : 0,
20704 "type" : "string"
20705 },
44660702
DM
20706 "vmid" : {
20707 "description" : "The (unique) ID of the VM.",
20708 "format" : "pve-vmid",
20709 "minimum" : 1,
4bd7df8b 20710 "type" : "integer",
013dc89f 20711 "typetext" : "<integer> (1 - N)"
56122987 20712 }
44660702 20713 }
7aacca6f 20714 },
56122987
DM
20715 "permissions" : {
20716 "check" : [
20717 "perm",
20718 "/vms/{vmid}",
20719 [
4d47f125 20720 "VM.Config.Network"
56122987
DM
20721 ]
20722 ]
20723 },
44660702 20724 "protected" : 1,
4d47f125 20725 "proxyto" : null,
44660702 20726 "returns" : {
4d47f125 20727 "type" : "null"
44660702
DM
20728 }
20729 }
20730 },
20731 "leaf" : 0,
4d47f125
TL
20732 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
20733 "text" : "rules"
7aacca6f 20734 },
56122987 20735 {
56122987
DM
20736 "children" : [
20737 {
56122987 20738 "info" : {
44660702 20739 "DELETE" : {
4d47f125 20740 "description" : "Remove IP or Network alias.",
44660702 20741 "method" : "DELETE",
4d47f125 20742 "name" : "remove_alias",
56122987 20743 "parameters" : {
44660702 20744 "additionalProperties" : 0,
56122987 20745 "properties" : {
44660702
DM
20746 "digest" : {
20747 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20748 "maxLength" : 40,
7aacca6f 20749 "optional" : 1,
013dc89f
DM
20750 "type" : "string",
20751 "typetext" : "<string>"
7aacca6f 20752 },
4d47f125
TL
20753 "name" : {
20754 "description" : "Alias name.",
20755 "maxLength" : 64,
20756 "minLength" : 2,
20757 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20758 "type" : "string"
20759 },
7aacca6f 20760 "node" : {
44660702 20761 "description" : "The cluster node name.",
7aacca6f 20762 "format" : "pve-node",
013dc89f
DM
20763 "type" : "string",
20764 "typetext" : "<string>"
44660702 20765 },
44660702
DM
20766 "vmid" : {
20767 "description" : "The (unique) ID of the VM.",
20768 "format" : "pve-vmid",
20769 "minimum" : 1,
4bd7df8b 20770 "type" : "integer",
013dc89f 20771 "typetext" : "<integer> (1 - N)"
56122987 20772 }
44660702 20773 }
56122987 20774 },
56122987
DM
20775 "permissions" : {
20776 "check" : [
20777 "perm",
20778 "/vms/{vmid}",
20779 [
44660702 20780 "VM.Config.Network"
56122987
DM
20781 ]
20782 ]
20783 },
44660702 20784 "protected" : 1,
44660702
DM
20785 "returns" : {
20786 "type" : "null"
20787 }
7aacca6f 20788 },
44660702 20789 "GET" : {
4d47f125 20790 "description" : "Read alias.",
44660702 20791 "method" : "GET",
4d47f125 20792 "name" : "read_alias",
56122987 20793 "parameters" : {
44660702 20794 "additionalProperties" : 0,
56122987 20795 "properties" : {
4d47f125
TL
20796 "name" : {
20797 "description" : "Alias name.",
20798 "maxLength" : 64,
20799 "minLength" : 2,
20800 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20801 "type" : "string"
20802 },
7aacca6f 20803 "node" : {
7aacca6f 20804 "description" : "The cluster node name.",
44660702 20805 "format" : "pve-node",
013dc89f
DM
20806 "type" : "string",
20807 "typetext" : "<string>"
56122987 20808 },
7aacca6f 20809 "vmid" : {
44660702 20810 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20811 "format" : "pve-vmid",
20812 "minimum" : 1,
4bd7df8b 20813 "type" : "integer",
013dc89f 20814 "typetext" : "<integer> (1 - N)"
56122987 20815 }
44660702 20816 }
56122987 20817 },
7aacca6f
DM
20818 "permissions" : {
20819 "check" : [
20820 "perm",
20821 "/vms/{vmid}",
20822 [
44660702 20823 "VM.Audit"
7aacca6f
DM
20824 ]
20825 ]
20826 },
7aacca6f 20827 "returns" : {
44660702 20828 "type" : "object"
7aacca6f 20829 }
56122987 20830 },
44660702 20831 "PUT" : {
4d47f125 20832 "description" : "Update IP or Network alias.",
44660702 20833 "method" : "PUT",
4d47f125 20834 "name" : "update_alias",
56122987
DM
20835 "parameters" : {
20836 "additionalProperties" : 0,
20837 "properties" : {
4d47f125
TL
20838 "cidr" : {
20839 "description" : "Network/IP specification in CIDR format.",
20840 "format" : "IPorCIDR",
013dc89f
DM
20841 "type" : "string",
20842 "typetext" : "<string>"
44660702 20843 },
4d47f125 20844 "comment" : {
44660702 20845 "optional" : 1,
013dc89f
DM
20846 "type" : "string",
20847 "typetext" : "<string>"
44660702
DM
20848 },
20849 "digest" : {
20850 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20851 "maxLength" : 40,
20852 "optional" : 1,
013dc89f
DM
20853 "type" : "string",
20854 "typetext" : "<string>"
44660702 20855 },
4d47f125
TL
20856 "name" : {
20857 "description" : "Alias name.",
20858 "maxLength" : 64,
44660702 20859 "minLength" : 2,
4d47f125
TL
20860 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20861 "type" : "string"
44660702 20862 },
7aacca6f
DM
20863 "node" : {
20864 "description" : "The cluster node name.",
44660702 20865 "format" : "pve-node",
013dc89f
DM
20866 "type" : "string",
20867 "typetext" : "<string>"
56122987 20868 },
4d47f125
TL
20869 "rename" : {
20870 "description" : "Rename an existing alias.",
20871 "maxLength" : 64,
20872 "minLength" : 2,
7aacca6f 20873 "optional" : 1,
4d47f125 20874 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
20875 "type" : "string"
20876 },
20877 "vmid" : {
20878 "description" : "The (unique) ID of the VM.",
20879 "format" : "pve-vmid",
20880 "minimum" : 1,
4bd7df8b 20881 "type" : "integer",
013dc89f 20882 "typetext" : "<integer> (1 - N)"
56122987
DM
20883 }
20884 }
20885 },
56122987
DM
20886 "permissions" : {
20887 "check" : [
20888 "perm",
20889 "/vms/{vmid}",
20890 [
7aacca6f 20891 "VM.Config.Network"
56122987
DM
20892 ]
20893 ]
20894 },
44660702 20895 "protected" : 1,
56122987 20896 "returns" : {
7aacca6f
DM
20897 "type" : "null"
20898 }
56122987 20899 }
44660702
DM
20900 },
20901 "leaf" : 1,
4d47f125
TL
20902 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
20903 "text" : "{name}"
56122987
DM
20904 }
20905 ],
20906 "info" : {
7aacca6f 20907 "GET" : {
4d47f125 20908 "description" : "List aliases",
44660702 20909 "method" : "GET",
4d47f125 20910 "name" : "get_aliases",
7aacca6f 20911 "parameters" : {
44660702 20912 "additionalProperties" : 0,
7aacca6f
DM
20913 "properties" : {
20914 "node" : {
7aacca6f 20915 "description" : "The cluster node name.",
44660702 20916 "format" : "pve-node",
013dc89f
DM
20917 "type" : "string",
20918 "typetext" : "<string>"
7aacca6f
DM
20919 },
20920 "vmid" : {
20921 "description" : "The (unique) ID of the VM.",
44660702 20922 "format" : "pve-vmid",
7aacca6f 20923 "minimum" : 1,
4bd7df8b 20924 "type" : "integer",
013dc89f 20925 "typetext" : "<integer> (1 - N)"
7aacca6f 20926 }
44660702 20927 }
56122987 20928 },
56122987
DM
20929 "permissions" : {
20930 "check" : [
20931 "perm",
20932 "/vms/{vmid}",
20933 [
7aacca6f 20934 "VM.Audit"
56122987
DM
20935 ]
20936 ]
20937 },
7aacca6f 20938 "returns" : {
7aacca6f
DM
20939 "items" : {
20940 "properties" : {
4d47f125
TL
20941 "cidr" : {
20942 "type" : "string"
20943 },
20944 "comment" : {
20945 "optional" : 1,
20946 "type" : "string"
20947 },
20948 "digest" : {
20949 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20950 "maxLength" : 40,
20951 "optional" : 0,
20952 "type" : "string"
20953 },
20954 "name" : {
20955 "type" : "string"
7aacca6f
DM
20956 }
20957 },
20958 "type" : "object"
20959 },
20960 "links" : [
20961 {
4d47f125 20962 "href" : "{name}",
44660702 20963 "rel" : "child"
7aacca6f 20964 }
44660702
DM
20965 ],
20966 "type" : "array"
20967 }
7aacca6f
DM
20968 },
20969 "POST" : {
4d47f125 20970 "description" : "Create IP or Network Alias.",
44660702 20971 "method" : "POST",
4d47f125 20972 "name" : "create_alias",
56122987 20973 "parameters" : {
44660702 20974 "additionalProperties" : 0,
56122987 20975 "properties" : {
4d47f125
TL
20976 "cidr" : {
20977 "description" : "Network/IP specification in CIDR format.",
20978 "format" : "IPorCIDR",
013dc89f 20979 "type" : "string",
4d47f125
TL
20980 "typetext" : "<string>"
20981 },
20982 "comment" : {
44660702 20983 "optional" : 1,
013dc89f
DM
20984 "type" : "string",
20985 "typetext" : "<string>"
7aacca6f 20986 },
4d47f125
TL
20987 "name" : {
20988 "description" : "Alias name.",
20989 "maxLength" : 64,
20990 "minLength" : 2,
20991 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
20992 "type" : "string"
20993 },
4d47f125
TL
20994 "node" : {
20995 "description" : "The cluster node name.",
20996 "format" : "pve-node",
20997 "type" : "string",
20998 "typetext" : "<string>"
20999 },
44660702
DM
21000 "vmid" : {
21001 "description" : "The (unique) ID of the VM.",
21002 "format" : "pve-vmid",
21003 "minimum" : 1,
4bd7df8b 21004 "type" : "integer",
013dc89f 21005 "typetext" : "<integer> (1 - N)"
44660702
DM
21006 }
21007 }
21008 },
21009 "permissions" : {
21010 "check" : [
21011 "perm",
21012 "/vms/{vmid}",
21013 [
21014 "VM.Config.Network"
21015 ]
21016 ]
21017 },
21018 "protected" : 1,
44660702
DM
21019 "returns" : {
21020 "type" : "null"
21021 }
21022 }
21023 },
21024 "leaf" : 0,
4d47f125
TL
21025 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
21026 "text" : "aliases"
44660702
DM
21027 },
21028 {
21029 "children" : [
21030 {
4d47f125
TL
21031 "children" : [
21032 {
21033 "info" : {
21034 "DELETE" : {
21035 "description" : "Remove IP or Network from IPSet.",
21036 "method" : "DELETE",
21037 "name" : "remove_ip",
21038 "parameters" : {
21039 "additionalProperties" : 0,
21040 "properties" : {
21041 "cidr" : {
21042 "description" : "Network/IP specification in CIDR format.",
21043 "format" : "IPorCIDRorAlias",
21044 "type" : "string",
21045 "typetext" : "<string>"
21046 },
21047 "digest" : {
21048 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21049 "maxLength" : 40,
21050 "optional" : 1,
21051 "type" : "string",
21052 "typetext" : "<string>"
21053 },
21054 "name" : {
21055 "description" : "IP set name.",
21056 "maxLength" : 64,
21057 "minLength" : 2,
21058 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21059 "type" : "string"
21060 },
21061 "node" : {
21062 "description" : "The cluster node name.",
21063 "format" : "pve-node",
21064 "type" : "string",
21065 "typetext" : "<string>"
21066 },
21067 "vmid" : {
21068 "description" : "The (unique) ID of the VM.",
21069 "format" : "pve-vmid",
21070 "minimum" : 1,
21071 "type" : "integer",
21072 "typetext" : "<integer> (1 - N)"
21073 }
21074 }
21075 },
21076 "permissions" : {
21077 "check" : [
21078 "perm",
21079 "/vms/{vmid}",
21080 [
21081 "VM.Config.Network"
21082 ]
21083 ]
21084 },
21085 "protected" : 1,
21086 "returns" : {
21087 "type" : "null"
21088 }
21089 },
21090 "GET" : {
21091 "description" : "Read IP or Network settings from IPSet.",
21092 "method" : "GET",
21093 "name" : "read_ip",
21094 "parameters" : {
21095 "additionalProperties" : 0,
21096 "properties" : {
21097 "cidr" : {
21098 "description" : "Network/IP specification in CIDR format.",
21099 "format" : "IPorCIDRorAlias",
21100 "type" : "string",
21101 "typetext" : "<string>"
21102 },
21103 "name" : {
21104 "description" : "IP set name.",
21105 "maxLength" : 64,
21106 "minLength" : 2,
21107 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21108 "type" : "string"
21109 },
21110 "node" : {
21111 "description" : "The cluster node name.",
21112 "format" : "pve-node",
21113 "type" : "string",
21114 "typetext" : "<string>"
21115 },
21116 "vmid" : {
21117 "description" : "The (unique) ID of the VM.",
21118 "format" : "pve-vmid",
21119 "minimum" : 1,
21120 "type" : "integer",
21121 "typetext" : "<integer> (1 - N)"
21122 }
21123 }
21124 },
21125 "permissions" : {
21126 "check" : [
21127 "perm",
21128 "/vms/{vmid}",
21129 [
21130 "VM.Audit"
21131 ]
21132 ]
21133 },
21134 "protected" : 1,
21135 "returns" : {
21136 "type" : "object"
21137 }
21138 },
21139 "PUT" : {
21140 "description" : "Update IP or Network settings",
21141 "method" : "PUT",
21142 "name" : "update_ip",
21143 "parameters" : {
21144 "additionalProperties" : 0,
21145 "properties" : {
21146 "cidr" : {
21147 "description" : "Network/IP specification in CIDR format.",
21148 "format" : "IPorCIDRorAlias",
21149 "type" : "string",
21150 "typetext" : "<string>"
21151 },
21152 "comment" : {
21153 "optional" : 1,
21154 "type" : "string",
21155 "typetext" : "<string>"
21156 },
21157 "digest" : {
21158 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21159 "maxLength" : 40,
21160 "optional" : 1,
21161 "type" : "string",
21162 "typetext" : "<string>"
21163 },
21164 "name" : {
21165 "description" : "IP set name.",
21166 "maxLength" : 64,
21167 "minLength" : 2,
21168 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21169 "type" : "string"
21170 },
21171 "node" : {
21172 "description" : "The cluster node name.",
21173 "format" : "pve-node",
21174 "type" : "string",
21175 "typetext" : "<string>"
21176 },
21177 "nomatch" : {
21178 "optional" : 1,
21179 "type" : "boolean",
21180 "typetext" : "<boolean>"
21181 },
21182 "vmid" : {
21183 "description" : "The (unique) ID of the VM.",
21184 "format" : "pve-vmid",
21185 "minimum" : 1,
21186 "type" : "integer",
21187 "typetext" : "<integer> (1 - N)"
21188 }
21189 }
21190 },
21191 "permissions" : {
21192 "check" : [
21193 "perm",
21194 "/vms/{vmid}",
21195 [
21196 "VM.Config.Network"
21197 ]
21198 ]
21199 },
21200 "protected" : 1,
21201 "returns" : {
21202 "type" : "null"
21203 }
21204 }
21205 },
21206 "leaf" : 1,
21207 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
21208 "text" : "{cidr}"
21209 }
21210 ],
44660702
DM
21211 "info" : {
21212 "DELETE" : {
4d47f125 21213 "description" : "Delete IPSet",
44660702 21214 "method" : "DELETE",
4d47f125 21215 "name" : "delete_ipset",
56122987 21216 "parameters" : {
44660702 21217 "additionalProperties" : 0,
56122987 21218 "properties" : {
7aacca6f 21219 "name" : {
4d47f125 21220 "description" : "IP set name.",
7aacca6f 21221 "maxLength" : 64,
7aacca6f
DM
21222 "minLength" : 2,
21223 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21224 "type" : "string"
7aacca6f
DM
21225 },
21226 "node" : {
44660702 21227 "description" : "The cluster node name.",
56122987 21228 "format" : "pve-node",
013dc89f
DM
21229 "type" : "string",
21230 "typetext" : "<string>"
7aacca6f 21231 },
56122987 21232 "vmid" : {
44660702 21233 "description" : "The (unique) ID of the VM.",
56122987 21234 "format" : "pve-vmid",
44660702 21235 "minimum" : 1,
4bd7df8b 21236 "type" : "integer",
013dc89f 21237 "typetext" : "<integer> (1 - N)"
56122987 21238 }
44660702 21239 }
56122987 21240 },
56122987
DM
21241 "permissions" : {
21242 "check" : [
21243 "perm",
21244 "/vms/{vmid}",
21245 [
7aacca6f 21246 "VM.Config.Network"
56122987
DM
21247 ]
21248 ]
21249 },
44660702 21250 "protected" : 1,
56122987 21251 "returns" : {
7aacca6f 21252 "type" : "null"
44660702 21253 }
56122987 21254 },
44660702 21255 "GET" : {
4d47f125 21256 "description" : "List IPSet content",
44660702 21257 "method" : "GET",
4d47f125 21258 "name" : "get_ipset",
44660702
DM
21259 "parameters" : {
21260 "additionalProperties" : 0,
21261 "properties" : {
21262 "name" : {
4d47f125 21263 "description" : "IP set name.",
44660702
DM
21264 "maxLength" : 64,
21265 "minLength" : 2,
21266 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21267 "type" : "string"
21268 },
21269 "node" : {
21270 "description" : "The cluster node name.",
21271 "format" : "pve-node",
013dc89f
DM
21272 "type" : "string",
21273 "typetext" : "<string>"
44660702
DM
21274 },
21275 "vmid" : {
21276 "description" : "The (unique) ID of the VM.",
21277 "format" : "pve-vmid",
21278 "minimum" : 1,
4bd7df8b 21279 "type" : "integer",
013dc89f 21280 "typetext" : "<integer> (1 - N)"
44660702 21281 }
4d47f125
TL
21282 }
21283 },
21284 "permissions" : {
21285 "check" : [
21286 "perm",
21287 "/vms/{vmid}",
21288 [
21289 "VM.Audit"
21290 ]
21291 ]
21292 },
21293 "returns" : {
21294 "items" : {
21295 "properties" : {
21296 "cidr" : {
21297 "type" : "string"
21298 },
21299 "comment" : {
21300 "optional" : 1,
21301 "type" : "string"
21302 },
21303 "digest" : {
21304 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21305 "maxLength" : 40,
21306 "optional" : 0,
21307 "type" : "string"
21308 },
21309 "nomatch" : {
21310 "optional" : 1,
21311 "type" : "boolean"
21312 }
21313 },
21314 "type" : "object"
21315 },
21316 "links" : [
21317 {
21318 "href" : "{cidr}",
21319 "rel" : "child"
21320 }
21321 ],
21322 "type" : "array"
44660702
DM
21323 }
21324 },
4d47f125
TL
21325 "POST" : {
21326 "description" : "Add IP or Network to IPSet.",
21327 "method" : "POST",
21328 "name" : "create_ip",
56122987
DM
21329 "parameters" : {
21330 "additionalProperties" : 0,
21331 "properties" : {
44660702
DM
21332 "cidr" : {
21333 "description" : "Network/IP specification in CIDR format.",
4d47f125 21334 "format" : "IPorCIDRorAlias",
013dc89f
DM
21335 "type" : "string",
21336 "typetext" : "<string>"
44660702
DM
21337 },
21338 "comment" : {
21339 "optional" : 1,
013dc89f
DM
21340 "type" : "string",
21341 "typetext" : "<string>"
44660702 21342 },
56122987 21343 "name" : {
4d47f125 21344 "description" : "IP set name.",
44660702
DM
21345 "maxLength" : 64,
21346 "minLength" : 2,
7aacca6f 21347 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21348 "type" : "string"
56122987
DM
21349 },
21350 "node" : {
21351 "description" : "The cluster node name.",
44660702 21352 "format" : "pve-node",
013dc89f
DM
21353 "type" : "string",
21354 "typetext" : "<string>"
44660702 21355 },
4d47f125 21356 "nomatch" : {
44660702 21357 "optional" : 1,
4d47f125
TL
21358 "type" : "boolean",
21359 "typetext" : "<boolean>"
56122987 21360 },
7aacca6f 21361 "vmid" : {
7aacca6f 21362 "description" : "The (unique) ID of the VM.",
44660702 21363 "format" : "pve-vmid",
7aacca6f 21364 "minimum" : 1,
4bd7df8b 21365 "type" : "integer",
013dc89f 21366 "typetext" : "<integer> (1 - N)"
56122987
DM
21367 }
21368 }
21369 },
44660702
DM
21370 "permissions" : {
21371 "check" : [
21372 "perm",
21373 "/vms/{vmid}",
21374 [
21375 "VM.Config.Network"
21376 ]
21377 ]
7aacca6f 21378 },
44660702
DM
21379 "protected" : 1,
21380 "returns" : {
21381 "type" : "null"
7aacca6f
DM
21382 }
21383 }
21384 },
4d47f125
TL
21385 "leaf" : 0,
21386 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
21387 "text" : "{name}"
21388 }
21389 ],
21390 "info" : {
21391 "GET" : {
4d47f125 21392 "description" : "List IPSets",
44660702 21393 "method" : "GET",
4d47f125 21394 "name" : "ipset_index",
56122987
DM
21395 "parameters" : {
21396 "additionalProperties" : 0,
21397 "properties" : {
21398 "node" : {
44660702 21399 "description" : "The cluster node name.",
56122987 21400 "format" : "pve-node",
013dc89f
DM
21401 "type" : "string",
21402 "typetext" : "<string>"
56122987
DM
21403 },
21404 "vmid" : {
7aacca6f 21405 "description" : "The (unique) ID of the VM.",
44660702 21406 "format" : "pve-vmid",
7aacca6f 21407 "minimum" : 1,
4bd7df8b 21408 "type" : "integer",
013dc89f 21409 "typetext" : "<integer> (1 - N)"
56122987
DM
21410 }
21411 }
21412 },
44660702
DM
21413 "permissions" : {
21414 "check" : [
21415 "perm",
21416 "/vms/{vmid}",
21417 [
21418 "VM.Audit"
21419 ]
21420 ]
21421 },
56122987
DM
21422 "returns" : {
21423 "items" : {
56122987 21424 "properties" : {
44660702
DM
21425 "comment" : {
21426 "optional" : 1,
56122987
DM
21427 "type" : "string"
21428 },
56122987 21429 "digest" : {
56122987 21430 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
21431 "maxLength" : 40,
21432 "optional" : 0,
21433 "type" : "string"
21434 },
21435 "name" : {
4d47f125
TL
21436 "description" : "IP set name.",
21437 "maxLength" : 64,
21438 "minLength" : 2,
21439 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 21440 "type" : "string"
56122987 21441 }
44660702
DM
21442 },
21443 "type" : "object"
21444 },
21445 "links" : [
21446 {
21447 "href" : "{name}",
21448 "rel" : "child"
56122987 21449 }
4d47f125
TL
21450 ],
21451 "type" : "array"
21452 }
21453 },
21454 "POST" : {
21455 "description" : "Create new IPSet",
21456 "method" : "POST",
21457 "name" : "create_ipset",
21458 "parameters" : {
21459 "additionalProperties" : 0,
21460 "properties" : {
21461 "comment" : {
21462 "optional" : 1,
21463 "type" : "string",
21464 "typetext" : "<string>"
21465 },
21466 "digest" : {
21467 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21468 "maxLength" : 40,
21469 "optional" : 1,
21470 "type" : "string",
21471 "typetext" : "<string>"
21472 },
21473 "name" : {
21474 "description" : "IP set name.",
21475 "maxLength" : 64,
21476 "minLength" : 2,
21477 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21478 "type" : "string"
21479 },
21480 "node" : {
21481 "description" : "The cluster node name.",
21482 "format" : "pve-node",
21483 "type" : "string",
21484 "typetext" : "<string>"
21485 },
21486 "rename" : {
21487 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
21488 "maxLength" : 64,
21489 "minLength" : 2,
21490 "optional" : 1,
21491 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21492 "type" : "string"
21493 },
21494 "vmid" : {
21495 "description" : "The (unique) ID of the VM.",
21496 "format" : "pve-vmid",
21497 "minimum" : 1,
21498 "type" : "integer",
21499 "typetext" : "<integer> (1 - N)"
21500 }
21501 }
21502 },
21503 "permissions" : {
21504 "check" : [
21505 "perm",
21506 "/vms/{vmid}",
21507 [
21508 "VM.Config.Network"
21509 ]
21510 ]
21511 },
21512 "protected" : 1,
21513 "returns" : {
21514 "type" : "null"
21515 }
21516 }
21517 },
21518 "leaf" : 0,
21519 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
21520 "text" : "ipset"
21521 },
21522 {
21523 "info" : {
21524 "GET" : {
21525 "description" : "Get VM firewall options.",
21526 "method" : "GET",
21527 "name" : "get_options",
21528 "parameters" : {
21529 "additionalProperties" : 0,
21530 "properties" : {
21531 "node" : {
21532 "description" : "The cluster node name.",
21533 "format" : "pve-node",
21534 "type" : "string",
21535 "typetext" : "<string>"
21536 },
21537 "vmid" : {
21538 "description" : "The (unique) ID of the VM.",
21539 "format" : "pve-vmid",
21540 "minimum" : 1,
21541 "type" : "integer",
21542 "typetext" : "<integer> (1 - N)"
21543 }
21544 }
21545 },
21546 "permissions" : {
21547 "check" : [
21548 "perm",
21549 "/vms/{vmid}",
21550 [
21551 "VM.Audit"
21552 ]
21553 ]
21554 },
21555 "proxyto" : "node",
21556 "returns" : {
21557 "properties" : {
21558 "dhcp" : {
21559 "description" : "Enable DHCP.",
21560 "optional" : 1,
21561 "type" : "boolean"
21562 },
21563 "enable" : {
21564 "description" : "Enable/disable firewall rules.",
21565 "optional" : 1,
21566 "type" : "boolean"
21567 },
21568 "ipfilter" : {
21569 "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.",
21570 "optional" : 1,
21571 "type" : "boolean"
21572 },
21573 "log_level_in" : {
21574 "description" : "Log level for incoming traffic.",
21575 "enum" : [
21576 "emerg",
21577 "alert",
21578 "crit",
21579 "err",
21580 "warning",
21581 "notice",
21582 "info",
21583 "debug",
21584 "nolog"
21585 ],
21586 "optional" : 1,
21587 "type" : "string"
21588 },
21589 "log_level_out" : {
21590 "description" : "Log level for outgoing traffic.",
21591 "enum" : [
21592 "emerg",
21593 "alert",
21594 "crit",
21595 "err",
21596 "warning",
21597 "notice",
21598 "info",
21599 "debug",
21600 "nolog"
21601 ],
21602 "optional" : 1,
21603 "type" : "string"
21604 },
21605 "macfilter" : {
21606 "description" : "Enable/disable MAC address filter.",
21607 "optional" : 1,
21608 "type" : "boolean"
21609 },
21610 "ndp" : {
21611 "description" : "Enable NDP.",
21612 "optional" : 1,
21613 "type" : "boolean"
21614 },
21615 "policy_in" : {
21616 "description" : "Input policy.",
21617 "enum" : [
21618 "ACCEPT",
21619 "REJECT",
21620 "DROP"
21621 ],
21622 "optional" : 1,
21623 "type" : "string"
21624 },
21625 "policy_out" : {
21626 "description" : "Output policy.",
21627 "enum" : [
21628 "ACCEPT",
21629 "REJECT",
21630 "DROP"
21631 ],
21632 "optional" : 1,
21633 "type" : "string"
21634 },
21635 "radv" : {
21636 "description" : "Allow sending Router Advertisement.",
21637 "optional" : 1,
21638 "type" : "boolean"
21639 }
21640 },
21641 "type" : "object"
7aacca6f
DM
21642 }
21643 },
4d47f125
TL
21644 "PUT" : {
21645 "description" : "Set Firewall options.",
21646 "method" : "PUT",
21647 "name" : "set_options",
7aacca6f
DM
21648 "parameters" : {
21649 "additionalProperties" : 0,
21650 "properties" : {
4d47f125
TL
21651 "delete" : {
21652 "description" : "A list of settings you want to delete.",
21653 "format" : "pve-configid-list",
7aacca6f 21654 "optional" : 1,
013dc89f
DM
21655 "type" : "string",
21656 "typetext" : "<string>"
7aacca6f 21657 },
4d47f125
TL
21658 "dhcp" : {
21659 "description" : "Enable DHCP.",
21660 "optional" : 1,
21661 "type" : "boolean",
21662 "typetext" : "<boolean>"
7aacca6f 21663 },
4d47f125
TL
21664 "digest" : {
21665 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21666 "maxLength" : 40,
21667 "optional" : 1,
013dc89f
DM
21668 "type" : "string",
21669 "typetext" : "<string>"
7aacca6f 21670 },
4d47f125
TL
21671 "enable" : {
21672 "description" : "Enable/disable firewall rules.",
21673 "optional" : 1,
21674 "type" : "boolean",
21675 "typetext" : "<boolean>"
21676 },
21677 "ipfilter" : {
21678 "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.",
21679 "optional" : 1,
21680 "type" : "boolean",
21681 "typetext" : "<boolean>"
56122987 21682 },
4d47f125
TL
21683 "log_level_in" : {
21684 "description" : "Log level for incoming traffic.",
21685 "enum" : [
21686 "emerg",
21687 "alert",
21688 "crit",
21689 "err",
21690 "warning",
21691 "notice",
21692 "info",
21693 "debug",
21694 "nolog"
21695 ],
21696 "optional" : 1,
21697 "type" : "string"
44660702 21698 },
4d47f125
TL
21699 "log_level_out" : {
21700 "description" : "Log level for outgoing traffic.",
21701 "enum" : [
21702 "emerg",
21703 "alert",
21704 "crit",
21705 "err",
21706 "warning",
21707 "notice",
21708 "info",
21709 "debug",
21710 "nolog"
21711 ],
21712 "optional" : 1,
21713 "type" : "string"
44660702 21714 },
4d47f125
TL
21715 "macfilter" : {
21716 "description" : "Enable/disable MAC address filter.",
21717 "optional" : 1,
21718 "type" : "boolean",
21719 "typetext" : "<boolean>"
7aacca6f 21720 },
4d47f125
TL
21721 "ndp" : {
21722 "description" : "Enable NDP.",
21723 "optional" : 1,
21724 "type" : "boolean",
21725 "typetext" : "<boolean>"
7aacca6f 21726 },
4d47f125
TL
21727 "node" : {
21728 "description" : "The cluster node name.",
21729 "format" : "pve-node",
21730 "type" : "string",
21731 "typetext" : "<string>"
21732 },
21733 "policy_in" : {
21734 "description" : "Input policy.",
21735 "enum" : [
21736 "ACCEPT",
21737 "REJECT",
21738 "DROP"
44660702 21739 ],
4d47f125
TL
21740 "optional" : 1,
21741 "type" : "string"
21742 },
21743 "policy_out" : {
21744 "description" : "Output policy.",
21745 "enum" : [
21746 "ACCEPT",
21747 "REJECT",
21748 "DROP"
21749 ],
21750 "optional" : 1,
21751 "type" : "string"
21752 },
21753 "radv" : {
21754 "description" : "Allow sending Router Advertisement.",
21755 "optional" : 1,
21756 "type" : "boolean",
21757 "typetext" : "<boolean>"
21758 },
21759 "vmid" : {
21760 "description" : "The (unique) ID of the VM.",
21761 "format" : "pve-vmid",
21762 "minimum" : 1,
21763 "type" : "integer",
21764 "typetext" : "<integer> (1 - N)"
44660702 21765 }
4d47f125
TL
21766 }
21767 },
21768 "permissions" : {
21769 "check" : [
21770 "perm",
21771 "/vms/{vmid}",
21772 [
21773 "VM.Config.Network"
21774 ]
21775 ]
21776 },
21777 "protected" : 1,
21778 "proxyto" : "node",
21779 "returns" : {
21780 "type" : "null"
21781 }
21782 }
21783 },
21784 "leaf" : 1,
21785 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
21786 "text" : "options"
21787 },
21788 {
21789 "info" : {
21790 "GET" : {
21791 "description" : "Read firewall log",
21792 "method" : "GET",
21793 "name" : "log",
21794 "parameters" : {
21795 "additionalProperties" : 0,
21796 "properties" : {
21797 "limit" : {
21798 "minimum" : 0,
21799 "optional" : 1,
21800 "type" : "integer",
21801 "typetext" : "<integer> (0 - N)"
44660702 21802 },
4d47f125
TL
21803 "node" : {
21804 "description" : "The cluster node name.",
21805 "format" : "pve-node",
21806 "type" : "string",
21807 "typetext" : "<string>"
44660702 21808 },
4d47f125
TL
21809 "start" : {
21810 "minimum" : 0,
21811 "optional" : 1,
21812 "type" : "integer",
21813 "typetext" : "<integer> (0 - N)"
21814 },
21815 "vmid" : {
21816 "description" : "The (unique) ID of the VM.",
21817 "format" : "pve-vmid",
21818 "minimum" : 1,
21819 "type" : "integer",
21820 "typetext" : "<integer> (1 - N)"
44660702
DM
21821 }
21822 }
21823 },
4d47f125
TL
21824 "permissions" : {
21825 "check" : [
21826 "perm",
21827 "/vms/{vmid}",
21828 [
21829 "VM.Console"
21830 ]
21831 ]
21832 },
21833 "protected" : 1,
21834 "proxyto" : "node",
21835 "returns" : {
21836 "items" : {
21837 "properties" : {
21838 "n" : {
21839 "description" : "Line number",
21840 "type" : "integer"
21841 },
21842 "t" : {
21843 "description" : "Line text",
21844 "type" : "string"
21845 }
21846 },
21847 "type" : "object"
21848 },
21849 "type" : "array"
21850 }
44660702 21851 }
4d47f125
TL
21852 },
21853 "leaf" : 1,
21854 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
21855 "text" : "log"
21856 },
21857 {
44660702
DM
21858 "info" : {
21859 "GET" : {
4d47f125 21860 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 21861 "method" : "GET",
4d47f125 21862 "name" : "refs",
44660702
DM
21863 "parameters" : {
21864 "additionalProperties" : 0,
21865 "properties" : {
21866 "node" : {
21867 "description" : "The cluster node name.",
21868 "format" : "pve-node",
013dc89f
DM
21869 "type" : "string",
21870 "typetext" : "<string>"
44660702 21871 },
4d47f125
TL
21872 "type" : {
21873 "description" : "Only list references of specified type.",
21874 "enum" : [
21875 "alias",
21876 "ipset"
21877 ],
21878 "optional" : 1,
21879 "type" : "string"
21880 },
44660702
DM
21881 "vmid" : {
21882 "description" : "The (unique) ID of the VM.",
21883 "format" : "pve-vmid",
21884 "minimum" : 1,
4bd7df8b 21885 "type" : "integer",
013dc89f 21886 "typetext" : "<integer> (1 - N)"
44660702
DM
21887 }
21888 }
21889 },
4d47f125
TL
21890 "permissions" : {
21891 "check" : [
21892 "perm",
21893 "/vms/{vmid}",
21894 [
21895 "VM.Audit"
21896 ]
21897 ]
21898 },
21899 "returns" : {
21900 "items" : {
21901 "properties" : {
21902 "comment" : {
21903 "optional" : 1,
21904 "type" : "string"
21905 },
21906 "name" : {
21907 "type" : "string"
21908 },
21909 "type" : {
21910 "enum" : [
21911 "alias",
21912 "ipset"
21913 ],
21914 "type" : "string"
21915 }
21916 },
21917 "type" : "object"
21918 },
21919 "type" : "array"
21920 }
21921 }
21922 },
21923 "leaf" : 1,
21924 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
21925 "text" : "refs"
21926 }
21927 ],
21928 "info" : {
21929 "GET" : {
21930 "description" : "Directory index.",
21931 "method" : "GET",
21932 "name" : "index",
21933 "parameters" : {
21934 "additionalProperties" : 0,
21935 "properties" : {
21936 "node" : {
21937 "description" : "The cluster node name.",
21938 "format" : "pve-node",
21939 "type" : "string",
21940 "typetext" : "<string>"
21941 },
21942 "vmid" : {
21943 "description" : "The (unique) ID of the VM.",
21944 "format" : "pve-vmid",
21945 "minimum" : 1,
21946 "type" : "integer",
21947 "typetext" : "<integer> (1 - N)"
21948 }
21949 }
21950 },
21951 "permissions" : {
21952 "user" : "all"
21953 },
21954 "returns" : {
21955 "items" : {
21956 "properties" : {},
21957 "type" : "object"
21958 },
21959 "links" : [
21960 {
21961 "href" : "{name}",
21962 "rel" : "child"
21963 }
21964 ],
21965 "type" : "array"
21966 }
21967 }
21968 },
21969 "leaf" : 0,
21970 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
21971 "text" : "firewall"
21972 },
21973 {
21974 "info" : {
21975 "GET" : {
21976 "description" : "Read VM RRD statistics (returns PNG)",
21977 "method" : "GET",
21978 "name" : "rrd",
21979 "parameters" : {
21980 "additionalProperties" : 0,
21981 "properties" : {
21982 "cf" : {
21983 "description" : "The RRD consolidation function",
21984 "enum" : [
21985 "AVERAGE",
21986 "MAX"
21987 ],
21988 "optional" : 1,
21989 "type" : "string"
21990 },
21991 "ds" : {
21992 "description" : "The list of datasources you want to display.",
21993 "format" : "pve-configid-list",
21994 "type" : "string",
21995 "typetext" : "<string>"
21996 },
21997 "node" : {
21998 "description" : "The cluster node name.",
21999 "format" : "pve-node",
22000 "type" : "string",
22001 "typetext" : "<string>"
22002 },
22003 "timeframe" : {
22004 "description" : "Specify the time frame you are interested in.",
22005 "enum" : [
22006 "hour",
22007 "day",
22008 "week",
22009 "month",
22010 "year"
22011 ],
22012 "type" : "string"
22013 },
22014 "vmid" : {
22015 "description" : "The (unique) ID of the VM.",
22016 "format" : "pve-vmid",
22017 "minimum" : 1,
22018 "type" : "integer",
22019 "typetext" : "<integer> (1 - N)"
22020 }
22021 }
22022 },
22023 "permissions" : {
22024 "check" : [
22025 "perm",
22026 "/vms/{vmid}",
22027 [
22028 "VM.Audit"
22029 ]
22030 ]
22031 },
22032 "protected" : 1,
22033 "returns" : {
22034 "properties" : {
22035 "filename" : {
22036 "type" : "string"
22037 }
22038 },
22039 "type" : "object"
22040 }
22041 }
22042 },
22043 "leaf" : 1,
22044 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
22045 "text" : "rrd"
22046 },
22047 {
22048 "info" : {
22049 "GET" : {
22050 "description" : "Read VM RRD statistics",
22051 "method" : "GET",
22052 "name" : "rrddata",
22053 "parameters" : {
22054 "additionalProperties" : 0,
22055 "properties" : {
22056 "cf" : {
22057 "description" : "The RRD consolidation function",
22058 "enum" : [
22059 "AVERAGE",
22060 "MAX"
22061 ],
22062 "optional" : 1,
22063 "type" : "string"
22064 },
22065 "node" : {
22066 "description" : "The cluster node name.",
22067 "format" : "pve-node",
22068 "type" : "string",
22069 "typetext" : "<string>"
44660702 22070 },
4d47f125
TL
22071 "timeframe" : {
22072 "description" : "Specify the time frame you are interested in.",
22073 "enum" : [
22074 "hour",
22075 "day",
22076 "week",
22077 "month",
22078 "year"
44660702 22079 ],
4d47f125
TL
22080 "type" : "string"
22081 },
22082 "vmid" : {
22083 "description" : "The (unique) ID of the VM.",
22084 "format" : "pve-vmid",
22085 "minimum" : 1,
22086 "type" : "integer",
22087 "typetext" : "<integer> (1 - N)"
44660702 22088 }
4d47f125
TL
22089 }
22090 },
22091 "permissions" : {
22092 "check" : [
22093 "perm",
22094 "/vms/{vmid}",
22095 [
22096 "VM.Audit"
22097 ]
22098 ]
22099 },
22100 "protected" : 1,
22101 "returns" : {
22102 "items" : {
22103 "properties" : {},
22104 "type" : "object"
44660702 22105 },
4d47f125
TL
22106 "type" : "array"
22107 }
22108 }
22109 },
22110 "leaf" : 1,
22111 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
22112 "text" : "rrddata"
22113 },
22114 {
22115 "info" : {
22116 "POST" : {
22117 "description" : "Creates a TCP VNC proxy connections.",
22118 "method" : "POST",
22119 "name" : "vncproxy",
22120 "parameters" : {
22121 "additionalProperties" : 0,
22122 "properties" : {
22123 "height" : {
22124 "description" : "sets the height of the console in pixels.",
22125 "maximum" : 2160,
22126 "minimum" : 16,
22127 "optional" : 1,
22128 "type" : "integer",
22129 "typetext" : "<integer> (16 - 2160)"
44660702 22130 },
4d47f125
TL
22131 "node" : {
22132 "description" : "The cluster node name.",
22133 "format" : "pve-node",
22134 "type" : "string",
22135 "typetext" : "<string>"
44660702 22136 },
4d47f125
TL
22137 "vmid" : {
22138 "description" : "The (unique) ID of the VM.",
22139 "format" : "pve-vmid",
22140 "minimum" : 1,
22141 "type" : "integer",
22142 "typetext" : "<integer> (1 - N)"
22143 },
22144 "websocket" : {
22145 "description" : "use websocket instead of standard VNC.",
22146 "optional" : 1,
22147 "type" : "boolean",
22148 "typetext" : "<boolean>"
22149 },
22150 "width" : {
22151 "description" : "sets the width of the console in pixels.",
22152 "maximum" : 4096,
22153 "minimum" : 16,
22154 "optional" : 1,
22155 "type" : "integer",
22156 "typetext" : "<integer> (16 - 4096)"
56122987
DM
22157 }
22158 }
44660702 22159 },
4d47f125
TL
22160 "permissions" : {
22161 "check" : [
22162 "perm",
22163 "/vms/{vmid}",
22164 [
22165 "VM.Console"
22166 ]
22167 ]
22168 },
22169 "protected" : 1,
22170 "returns" : {
22171 "additionalProperties" : 0,
22172 "properties" : {
22173 "cert" : {
22174 "type" : "string"
44660702 22175 },
4d47f125
TL
22176 "port" : {
22177 "type" : "integer"
22178 },
22179 "ticket" : {
22180 "type" : "string"
22181 },
22182 "upid" : {
22183 "type" : "string"
22184 },
22185 "user" : {
22186 "type" : "string"
22187 }
22188 }
22189 }
22190 }
22191 },
22192 "leaf" : 1,
22193 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
22194 "text" : "vncproxy"
22195 },
22196 {
22197 "info" : {
22198 "POST" : {
22199 "description" : "Creates a TCP proxy connection.",
22200 "method" : "POST",
22201 "name" : "termproxy",
22202 "parameters" : {
22203 "additionalProperties" : 0,
22204 "properties" : {
22205 "node" : {
22206 "description" : "The cluster node name.",
22207 "format" : "pve-node",
22208 "type" : "string",
22209 "typetext" : "<string>"
44660702 22210 },
4d47f125
TL
22211 "vmid" : {
22212 "description" : "The (unique) ID of the VM.",
22213 "format" : "pve-vmid",
22214 "minimum" : 1,
22215 "type" : "integer",
22216 "typetext" : "<integer> (1 - N)"
44660702 22217 }
4d47f125
TL
22218 }
22219 },
22220 "permissions" : {
22221 "check" : [
22222 "perm",
22223 "/vms/{vmid}",
22224 [
22225 "VM.Console"
22226 ]
22227 ]
22228 },
22229 "protected" : 1,
22230 "returns" : {
22231 "additionalProperties" : 0,
22232 "properties" : {
22233 "port" : {
22234 "type" : "integer"
56122987 22235 },
4d47f125
TL
22236 "ticket" : {
22237 "type" : "string"
7aacca6f 22238 },
4d47f125
TL
22239 "upid" : {
22240 "type" : "string"
22241 },
22242 "user" : {
22243 "type" : "string"
22244 }
22245 }
22246 }
22247 }
22248 },
22249 "leaf" : 1,
22250 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
22251 "text" : "termproxy"
22252 },
22253 {
22254 "info" : {
22255 "GET" : {
22256 "description" : "Opens a weksocket for VNC traffic.",
22257 "method" : "GET",
22258 "name" : "vncwebsocket",
22259 "parameters" : {
22260 "additionalProperties" : 0,
22261 "properties" : {
22262 "node" : {
22263 "description" : "The cluster node name.",
22264 "format" : "pve-node",
22265 "type" : "string",
22266 "typetext" : "<string>"
22267 },
22268 "port" : {
22269 "description" : "Port number returned by previous vncproxy call.",
22270 "maximum" : 5999,
22271 "minimum" : 5900,
22272 "type" : "integer",
22273 "typetext" : "<integer> (5900 - 5999)"
22274 },
22275 "vmid" : {
22276 "description" : "The (unique) ID of the VM.",
22277 "format" : "pve-vmid",
22278 "minimum" : 1,
22279 "type" : "integer",
22280 "typetext" : "<integer> (1 - N)"
22281 },
22282 "vncticket" : {
22283 "description" : "Ticket from previous call to vncproxy.",
22284 "maxLength" : 512,
22285 "type" : "string",
22286 "typetext" : "<string>"
56122987
DM
22287 }
22288 }
22289 },
4d47f125
TL
22290 "permissions" : {
22291 "check" : [
22292 "perm",
22293 "/vms/{vmid}",
22294 [
22295 "VM.Console"
22296 ]
22297 ],
22298 "description" : "You also need to pass a valid ticket (vncticket)."
22299 },
22300 "returns" : {
22301 "properties" : {
22302 "port" : {
22303 "type" : "string"
22304 }
22305 },
22306 "type" : "object"
22307 }
22308 }
22309 },
22310 "leaf" : 1,
22311 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
22312 "text" : "vncwebsocket"
22313 },
22314 {
22315 "info" : {
22316 "POST" : {
22317 "description" : "Returns a SPICE configuration to connect to the CT.",
22318 "method" : "POST",
22319 "name" : "spiceproxy",
22320 "parameters" : {
22321 "additionalProperties" : 0,
22322 "properties" : {
22323 "node" : {
22324 "description" : "The cluster node name.",
22325 "format" : "pve-node",
22326 "type" : "string",
22327 "typetext" : "<string>"
56122987 22328 },
4d47f125
TL
22329 "proxy" : {
22330 "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).",
22331 "format" : "address",
22332 "optional" : 1,
22333 "type" : "string",
22334 "typetext" : "<string>"
44660702 22335 },
4d47f125
TL
22336 "vmid" : {
22337 "description" : "The (unique) ID of the VM.",
22338 "format" : "pve-vmid",
22339 "minimum" : 1,
22340 "type" : "integer",
22341 "typetext" : "<integer> (1 - N)"
44660702 22342 }
56122987
DM
22343 }
22344 },
4d47f125
TL
22345 "permissions" : {
22346 "check" : [
22347 "perm",
22348 "/vms/{vmid}",
22349 [
22350 "VM.Console"
22351 ]
22352 ]
22353 },
22354 "protected" : 1,
22355 "proxyto" : "node",
22356 "returns" : {
22357 "additionalProperties" : 1,
22358 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
22359 "properties" : {
22360 "host" : {
22361 "type" : "string"
22362 },
22363 "password" : {
22364 "type" : "string"
22365 },
22366 "proxy" : {
22367 "type" : "string"
22368 },
22369 "tls-port" : {
22370 "type" : "integer"
22371 },
22372 "type" : {
22373 "type" : "string"
22374 }
22375 }
22376 }
22377 }
22378 },
22379 "leaf" : 1,
22380 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
22381 "text" : "spiceproxy"
22382 },
22383 {
22384 "info" : {
22385 "POST" : {
22386 "description" : "Migrate the container to another node. Creates a new migration task.",
22387 "method" : "POST",
22388 "name" : "migrate_vm",
22389 "parameters" : {
22390 "additionalProperties" : 0,
22391 "properties" : {
22392 "force" : {
22393 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
22394 "optional" : 1,
22395 "type" : "boolean",
22396 "typetext" : "<boolean>"
56122987 22397 },
4d47f125
TL
22398 "node" : {
22399 "description" : "The cluster node name.",
22400 "format" : "pve-node",
22401 "type" : "string",
22402 "typetext" : "<string>"
44660702 22403 },
4d47f125
TL
22404 "online" : {
22405 "description" : "Use online/live migration.",
22406 "optional" : 1,
22407 "type" : "boolean",
22408 "typetext" : "<boolean>"
22409 },
22410 "restart" : {
22411 "description" : "Use restart migration",
22412 "optional" : 1,
22413 "type" : "boolean",
22414 "typetext" : "<boolean>"
22415 },
22416 "target" : {
22417 "description" : "Target node.",
22418 "format" : "pve-node",
22419 "type" : "string",
22420 "typetext" : "<string>"
22421 },
22422 "timeout" : {
22423 "default" : 180,
22424 "description" : "Timeout in seconds for shutdown for restart migration",
22425 "optional" : 1,
22426 "type" : "integer",
22427 "typetext" : "<integer>"
22428 },
22429 "vmid" : {
22430 "description" : "The (unique) ID of the VM.",
22431 "format" : "pve-vmid",
22432 "minimum" : 1,
22433 "type" : "integer",
22434 "typetext" : "<integer> (1 - N)"
56122987
DM
22435 }
22436 }
22437 },
4d47f125
TL
22438 "permissions" : {
22439 "check" : [
22440 "perm",
22441 "/vms/{vmid}",
22442 [
22443 "VM.Migrate"
22444 ]
22445 ]
22446 },
22447 "protected" : 1,
22448 "proxyto" : "node",
22449 "returns" : {
22450 "description" : "the task ID.",
22451 "type" : "string"
22452 }
56122987 22453 }
4d47f125
TL
22454 },
22455 "leaf" : 1,
22456 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
22457 "text" : "migrate"
22458 },
22459 {
56122987
DM
22460 "info" : {
22461 "GET" : {
4d47f125 22462 "description" : "Check if feature for virtual machine is available.",
44660702 22463 "method" : "GET",
4d47f125 22464 "name" : "vm_feature",
56122987 22465 "parameters" : {
44660702 22466 "additionalProperties" : 0,
56122987 22467 "properties" : {
4d47f125
TL
22468 "feature" : {
22469 "description" : "Feature to check.",
22470 "enum" : [
22471 "snapshot",
22472 "clone",
22473 "copy"
22474 ],
22475 "type" : "string"
22476 },
56122987 22477 "node" : {
44660702 22478 "description" : "The cluster node name.",
56122987 22479 "format" : "pve-node",
013dc89f
DM
22480 "type" : "string",
22481 "typetext" : "<string>"
44660702 22482 },
4d47f125
TL
22483 "snapname" : {
22484 "description" : "The name of the snapshot.",
22485 "format" : "pve-configid",
22486 "maxLength" : 40,
22487 "optional" : 1,
22488 "type" : "string",
22489 "typetext" : "<string>"
22490 },
44660702
DM
22491 "vmid" : {
22492 "description" : "The (unique) ID of the VM.",
22493 "format" : "pve-vmid",
22494 "minimum" : 1,
4bd7df8b 22495 "type" : "integer",
013dc89f 22496 "typetext" : "<integer> (1 - N)"
56122987 22497 }
44660702
DM
22498 }
22499 },
22500 "permissions" : {
4d47f125
TL
22501 "check" : [
22502 "perm",
22503 "/vms/{vmid}",
22504 [
22505 "VM.Audit"
22506 ]
22507 ]
56122987 22508 },
4d47f125
TL
22509 "protected" : 1,
22510 "proxyto" : "node",
56122987 22511 "returns" : {
4d47f125
TL
22512 "properties" : {
22513 "hasFeature" : {
22514 "type" : "boolean"
22515 }
7aacca6f 22516 },
4d47f125
TL
22517 "type" : "object"
22518 }
22519 }
22520 },
22521 "leaf" : 1,
22522 "path" : "/nodes/{node}/lxc/{vmid}/feature",
22523 "text" : "feature"
22524 },
22525 {
22526 "info" : {
22527 "POST" : {
22528 "description" : "Create a Template.",
22529 "method" : "POST",
22530 "name" : "template",
22531 "parameters" : {
22532 "additionalProperties" : 0,
22533 "properties" : {
22534 "node" : {
22535 "description" : "The cluster node name.",
22536 "format" : "pve-node",
22537 "type" : "string",
22538 "typetext" : "<string>"
22539 },
22540 "vmid" : {
22541 "description" : "The (unique) ID of the VM.",
22542 "format" : "pve-vmid",
22543 "minimum" : 1,
22544 "type" : "integer",
22545 "typetext" : "<integer> (1 - N)"
56122987 22546 }
4d47f125
TL
22547 }
22548 },
22549 "permissions" : {
22550 "check" : [
22551 "perm",
22552 "/vms/{vmid}",
22553 [
22554 "VM.Allocate"
22555 ]
44660702 22556 ],
4d47f125
TL
22557 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
22558 },
22559 "protected" : 1,
22560 "proxyto" : "node",
22561 "returns" : {
22562 "type" : "null"
56122987
DM
22563 }
22564 }
22565 },
4d47f125
TL
22566 "leaf" : 1,
22567 "path" : "/nodes/{node}/lxc/{vmid}/template",
22568 "text" : "template"
56122987
DM
22569 },
22570 {
56122987 22571 "info" : {
4d47f125
TL
22572 "POST" : {
22573 "description" : "Create a container clone/copy",
22574 "method" : "POST",
22575 "name" : "clone_vm",
56122987 22576 "parameters" : {
7aacca6f 22577 "additionalProperties" : 0,
56122987 22578 "properties" : {
4d47f125
TL
22579 "description" : {
22580 "description" : "Description for the new CT.",
44660702 22581 "optional" : 1,
4d47f125
TL
22582 "type" : "string",
22583 "typetext" : "<string>"
44660702 22584 },
4d47f125
TL
22585 "full" : {
22586 "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.",
22587 "optional" : 1,
22588 "type" : "boolean",
22589 "typetext" : "<boolean>"
22590 },
22591 "hostname" : {
22592 "description" : "Set a hostname for the new CT.",
22593 "format" : "dns-name",
22594 "optional" : 1,
013dc89f
DM
22595 "type" : "string",
22596 "typetext" : "<string>"
44660702 22597 },
4d47f125
TL
22598 "newid" : {
22599 "description" : "VMID for the clone.",
22600 "format" : "pve-vmid",
22601 "minimum" : 1,
22602 "type" : "integer",
22603 "typetext" : "<integer> (1 - N)"
22604 },
7aacca6f
DM
22605 "node" : {
22606 "description" : "The cluster node name.",
44660702 22607 "format" : "pve-node",
013dc89f
DM
22608 "type" : "string",
22609 "typetext" : "<string>"
56122987 22610 },
4d47f125
TL
22611 "pool" : {
22612 "description" : "Add the new CT to the specified pool.",
22613 "format" : "pve-poolid",
22614 "optional" : 1,
22615 "type" : "string",
22616 "typetext" : "<string>"
22617 },
22618 "snapname" : {
22619 "description" : "The name of the snapshot.",
22620 "format" : "pve-configid",
22621 "maxLength" : 40,
22622 "optional" : 1,
22623 "type" : "string",
22624 "typetext" : "<string>"
22625 },
22626 "storage" : {
22627 "description" : "Target storage for full clone.",
22628 "format" : "pve-storage-id",
22629 "optional" : 1,
22630 "type" : "string",
22631 "typetext" : "<string>"
22632 },
22633 "target" : {
22634 "description" : "Target node. Only allowed if the original VM is on shared storage.",
22635 "format" : "pve-node",
22636 "optional" : 1,
22637 "type" : "string",
22638 "typetext" : "<string>"
22639 },
7aacca6f 22640 "vmid" : {
44660702 22641 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
22642 "format" : "pve-vmid",
22643 "minimum" : 1,
4bd7df8b 22644 "type" : "integer",
013dc89f 22645 "typetext" : "<integer> (1 - N)"
56122987 22646 }
7aacca6f
DM
22647 }
22648 },
22649 "permissions" : {
22650 "check" : [
4d47f125 22651 "and",
7aacca6f 22652 [
4d47f125
TL
22653 "perm",
22654 "/vms/{vmid}",
22655 [
22656 "VM.Clone"
22657 ]
22658 ],
22659 [
22660 "or",
22661 [
22662 "perm",
22663 "/vms/{newid}",
22664 [
22665 "VM.Allocate"
22666 ]
22667 ],
22668 [
22669 "perm",
22670 "/pool/{pool}",
22671 [
22672 "VM.Allocate"
22673 ],
22674 "require_param",
22675 "pool"
22676 ]
7aacca6f 22677 ]
4d47f125
TL
22678 ],
22679 "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 22680 },
44660702 22681 "protected" : 1,
4d47f125 22682 "proxyto" : "node",
7aacca6f 22683 "returns" : {
4d47f125 22684 "type" : "string"
7aacca6f 22685 }
56122987 22686 }
7aacca6f 22687 },
44660702 22688 "leaf" : 1,
4d47f125
TL
22689 "path" : "/nodes/{node}/lxc/{vmid}/clone",
22690 "text" : "clone"
56122987
DM
22691 },
22692 {
56122987 22693 "info" : {
4d47f125
TL
22694 "PUT" : {
22695 "description" : "Resize a container mount point.",
22696 "method" : "PUT",
22697 "name" : "resize_vm",
56122987 22698 "parameters" : {
7aacca6f 22699 "additionalProperties" : 0,
56122987 22700 "properties" : {
4d47f125
TL
22701 "digest" : {
22702 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22703 "maxLength" : 40,
22704 "optional" : 1,
22705 "type" : "string",
22706 "typetext" : "<string>"
22707 },
22708 "disk" : {
22709 "description" : "The disk you want to resize.",
44660702 22710 "enum" : [
4d47f125
TL
22711 "rootfs",
22712 "mp0",
22713 "mp1",
22714 "mp2",
22715 "mp3",
22716 "mp4",
22717 "mp5",
22718 "mp6",
22719 "mp7",
22720 "mp8",
22721 "mp9",
22722 "mp10",
22723 "mp11",
22724 "mp12",
22725 "mp13",
22726 "mp14",
22727 "mp15",
22728 "mp16",
22729 "mp17",
22730 "mp18",
22731 "mp19",
22732 "mp20",
22733 "mp21",
22734 "mp22",
22735 "mp23",
22736 "mp24",
22737 "mp25",
22738 "mp26",
22739 "mp27",
22740 "mp28",
22741 "mp29",
22742 "mp30",
22743 "mp31",
22744 "mp32",
22745 "mp33",
22746 "mp34",
22747 "mp35",
22748 "mp36",
22749 "mp37",
22750 "mp38",
22751 "mp39",
22752 "mp40",
22753 "mp41",
22754 "mp42",
22755 "mp43",
22756 "mp44",
22757 "mp45",
22758 "mp46",
22759 "mp47",
22760 "mp48",
22761 "mp49",
22762 "mp50",
22763 "mp51",
22764 "mp52",
22765 "mp53",
22766 "mp54",
22767 "mp55",
22768 "mp56",
22769 "mp57",
22770 "mp58",
22771 "mp59",
22772 "mp60",
22773 "mp61",
22774 "mp62",
22775 "mp63",
22776 "mp64",
22777 "mp65",
22778 "mp66",
22779 "mp67",
22780 "mp68",
22781 "mp69",
22782 "mp70",
22783 "mp71",
22784 "mp72",
22785 "mp73",
22786 "mp74",
22787 "mp75",
22788 "mp76",
22789 "mp77",
22790 "mp78",
22791 "mp79",
22792 "mp80",
22793 "mp81",
22794 "mp82",
22795 "mp83",
22796 "mp84",
22797 "mp85",
22798 "mp86",
22799 "mp87",
22800 "mp88",
22801 "mp89",
22802 "mp90",
22803 "mp91",
22804 "mp92",
22805 "mp93",
22806 "mp94",
22807 "mp95",
22808 "mp96",
22809 "mp97",
22810 "mp98",
22811 "mp99",
22812 "mp100",
22813 "mp101",
22814 "mp102",
22815 "mp103",
22816 "mp104",
22817 "mp105",
22818 "mp106",
22819 "mp107",
22820 "mp108",
22821 "mp109",
22822 "mp110",
22823 "mp111",
22824 "mp112",
22825 "mp113",
22826 "mp114",
22827 "mp115",
22828 "mp116",
22829 "mp117",
22830 "mp118",
22831 "mp119",
22832 "mp120",
22833 "mp121",
22834 "mp122",
22835 "mp123",
22836 "mp124",
22837 "mp125",
22838 "mp126",
22839 "mp127",
22840 "mp128",
22841 "mp129",
22842 "mp130",
22843 "mp131",
22844 "mp132",
22845 "mp133",
22846 "mp134",
22847 "mp135",
22848 "mp136",
22849 "mp137",
22850 "mp138",
22851 "mp139",
22852 "mp140",
22853 "mp141",
22854 "mp142",
22855 "mp143",
22856 "mp144",
22857 "mp145",
22858 "mp146",
22859 "mp147",
22860 "mp148",
22861 "mp149",
22862 "mp150",
22863 "mp151",
22864 "mp152",
22865 "mp153",
22866 "mp154",
22867 "mp155",
22868 "mp156",
22869 "mp157",
22870 "mp158",
22871 "mp159",
22872 "mp160",
22873 "mp161",
22874 "mp162",
22875 "mp163",
22876 "mp164",
22877 "mp165",
22878 "mp166",
22879 "mp167",
22880 "mp168",
22881 "mp169",
22882 "mp170",
22883 "mp171",
22884 "mp172",
22885 "mp173",
22886 "mp174",
22887 "mp175",
22888 "mp176",
22889 "mp177",
22890 "mp178",
22891 "mp179",
22892 "mp180",
22893 "mp181",
22894 "mp182",
22895 "mp183",
22896 "mp184",
22897 "mp185",
22898 "mp186",
22899 "mp187",
22900 "mp188",
22901 "mp189",
22902 "mp190",
22903 "mp191",
22904 "mp192",
22905 "mp193",
22906 "mp194",
22907 "mp195",
22908 "mp196",
22909 "mp197",
22910 "mp198",
22911 "mp199",
22912 "mp200",
22913 "mp201",
22914 "mp202",
22915 "mp203",
22916 "mp204",
22917 "mp205",
22918 "mp206",
22919 "mp207",
22920 "mp208",
22921 "mp209",
22922 "mp210",
22923 "mp211",
22924 "mp212",
22925 "mp213",
22926 "mp214",
22927 "mp215",
22928 "mp216",
22929 "mp217",
22930 "mp218",
22931 "mp219",
22932 "mp220",
22933 "mp221",
22934 "mp222",
22935 "mp223",
22936 "mp224",
22937 "mp225",
22938 "mp226",
22939 "mp227",
22940 "mp228",
22941 "mp229",
22942 "mp230",
22943 "mp231",
22944 "mp232",
22945 "mp233",
22946 "mp234",
22947 "mp235",
22948 "mp236",
22949 "mp237",
22950 "mp238",
22951 "mp239",
22952 "mp240",
22953 "mp241",
22954 "mp242",
22955 "mp243",
22956 "mp244",
22957 "mp245",
22958 "mp246",
22959 "mp247",
22960 "mp248",
22961 "mp249",
22962 "mp250",
22963 "mp251",
22964 "mp252",
22965 "mp253",
22966 "mp254",
22967 "mp255"
44660702 22968 ],
44660702
DM
22969 "type" : "string"
22970 },
7aacca6f 22971 "node" : {
44660702 22972 "description" : "The cluster node name.",
7aacca6f 22973 "format" : "pve-node",
013dc89f
DM
22974 "type" : "string",
22975 "typetext" : "<string>"
7aacca6f 22976 },
4d47f125
TL
22977 "size" : {
22978 "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.",
22979 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 22980 "type" : "string"
7aacca6f
DM
22981 },
22982 "vmid" : {
22983 "description" : "The (unique) ID of the VM.",
44660702 22984 "format" : "pve-vmid",
7aacca6f 22985 "minimum" : 1,
4bd7df8b 22986 "type" : "integer",
013dc89f 22987 "typetext" : "<integer> (1 - N)"
56122987 22988 }
56122987
DM
22989 }
22990 },
56122987
DM
22991 "permissions" : {
22992 "check" : [
22993 "perm",
22994 "/vms/{vmid}",
22995 [
4d47f125
TL
22996 "VM.Config.Disk"
22997 ],
22998 "any",
22999 1
56122987
DM
23000 ]
23001 },
7aacca6f 23002 "protected" : 1,
4d47f125 23003 "proxyto" : "node",
7aacca6f 23004 "returns" : {
4d47f125
TL
23005 "description" : "the task ID.",
23006 "type" : "string"
44660702 23007 }
56122987
DM
23008 }
23009 },
44660702 23010 "leaf" : 1,
4d47f125
TL
23011 "path" : "/nodes/{node}/lxc/{vmid}/resize",
23012 "text" : "resize"
56122987
DM
23013 },
23014 {
23015 "info" : {
23016 "POST" : {
4d47f125 23017 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 23018 "method" : "POST",
4d47f125 23019 "name" : "move_volume",
7aacca6f 23020 "parameters" : {
44660702 23021 "additionalProperties" : 0,
7aacca6f 23022 "properties" : {
4d47f125
TL
23023 "delete" : {
23024 "default" : 0,
23025 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 23026 "optional" : 1,
4d47f125
TL
23027 "type" : "boolean",
23028 "typetext" : "<boolean>"
23029 },
23030 "digest" : {
23031 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23032 "maxLength" : 40,
23033 "optional" : 1,
23034 "type" : "string",
23035 "typetext" : "<string>"
5d9c884c 23036 },
44660702
DM
23037 "node" : {
23038 "description" : "The cluster node name.",
23039 "format" : "pve-node",
013dc89f
DM
23040 "type" : "string",
23041 "typetext" : "<string>"
44660702 23042 },
4d47f125
TL
23043 "storage" : {
23044 "description" : "Target Storage.",
23045 "format" : "pve-storage-id",
23046 "type" : "string",
23047 "typetext" : "<string>"
23048 },
7aacca6f 23049 "vmid" : {
44660702 23050 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23051 "format" : "pve-vmid",
23052 "minimum" : 1,
4bd7df8b 23053 "type" : "integer",
013dc89f 23054 "typetext" : "<integer> (1 - N)"
7aacca6f 23055 },
4d47f125
TL
23056 "volume" : {
23057 "description" : "Volume which will be moved.",
23058 "enum" : [
23059 "rootfs",
23060 "mp0",
23061 "mp1",
23062 "mp2",
23063 "mp3",
23064 "mp4",
23065 "mp5",
23066 "mp6",
23067 "mp7",
23068 "mp8",
23069 "mp9",
23070 "mp10",
23071 "mp11",
23072 "mp12",
23073 "mp13",
23074 "mp14",
23075 "mp15",
23076 "mp16",
23077 "mp17",
23078 "mp18",
23079 "mp19",
23080 "mp20",
23081 "mp21",
23082 "mp22",
23083 "mp23",
23084 "mp24",
23085 "mp25",
23086 "mp26",
23087 "mp27",
23088 "mp28",
23089 "mp29",
23090 "mp30",
23091 "mp31",
23092 "mp32",
23093 "mp33",
23094 "mp34",
23095 "mp35",
23096 "mp36",
23097 "mp37",
23098 "mp38",
23099 "mp39",
23100 "mp40",
23101 "mp41",
23102 "mp42",
23103 "mp43",
23104 "mp44",
23105 "mp45",
23106 "mp46",
23107 "mp47",
23108 "mp48",
23109 "mp49",
23110 "mp50",
23111 "mp51",
23112 "mp52",
23113 "mp53",
23114 "mp54",
23115 "mp55",
23116 "mp56",
23117 "mp57",
23118 "mp58",
23119 "mp59",
23120 "mp60",
23121 "mp61",
23122 "mp62",
23123 "mp63",
23124 "mp64",
23125 "mp65",
23126 "mp66",
23127 "mp67",
23128 "mp68",
23129 "mp69",
23130 "mp70",
23131 "mp71",
23132 "mp72",
23133 "mp73",
23134 "mp74",
23135 "mp75",
23136 "mp76",
23137 "mp77",
23138 "mp78",
23139 "mp79",
23140 "mp80",
23141 "mp81",
23142 "mp82",
23143 "mp83",
23144 "mp84",
23145 "mp85",
23146 "mp86",
23147 "mp87",
23148 "mp88",
23149 "mp89",
23150 "mp90",
23151 "mp91",
23152 "mp92",
23153 "mp93",
23154 "mp94",
23155 "mp95",
23156 "mp96",
23157 "mp97",
23158 "mp98",
23159 "mp99",
23160 "mp100",
23161 "mp101",
23162 "mp102",
23163 "mp103",
23164 "mp104",
23165 "mp105",
23166 "mp106",
23167 "mp107",
23168 "mp108",
23169 "mp109",
23170 "mp110",
23171 "mp111",
23172 "mp112",
23173 "mp113",
23174 "mp114",
23175 "mp115",
23176 "mp116",
23177 "mp117",
23178 "mp118",
23179 "mp119",
23180 "mp120",
23181 "mp121",
23182 "mp122",
23183 "mp123",
23184 "mp124",
23185 "mp125",
23186 "mp126",
23187 "mp127",
23188 "mp128",
23189 "mp129",
23190 "mp130",
23191 "mp131",
23192 "mp132",
23193 "mp133",
23194 "mp134",
23195 "mp135",
23196 "mp136",
23197 "mp137",
23198 "mp138",
23199 "mp139",
23200 "mp140",
23201 "mp141",
23202 "mp142",
23203 "mp143",
23204 "mp144",
23205 "mp145",
23206 "mp146",
23207 "mp147",
23208 "mp148",
23209 "mp149",
23210 "mp150",
23211 "mp151",
23212 "mp152",
23213 "mp153",
23214 "mp154",
23215 "mp155",
23216 "mp156",
23217 "mp157",
23218 "mp158",
23219 "mp159",
23220 "mp160",
23221 "mp161",
23222 "mp162",
23223 "mp163",
23224 "mp164",
23225 "mp165",
23226 "mp166",
23227 "mp167",
23228 "mp168",
23229 "mp169",
23230 "mp170",
23231 "mp171",
23232 "mp172",
23233 "mp173",
23234 "mp174",
23235 "mp175",
23236 "mp176",
23237 "mp177",
23238 "mp178",
23239 "mp179",
23240 "mp180",
23241 "mp181",
23242 "mp182",
23243 "mp183",
23244 "mp184",
23245 "mp185",
23246 "mp186",
23247 "mp187",
23248 "mp188",
23249 "mp189",
23250 "mp190",
23251 "mp191",
23252 "mp192",
23253 "mp193",
23254 "mp194",
23255 "mp195",
23256 "mp196",
23257 "mp197",
23258 "mp198",
23259 "mp199",
23260 "mp200",
23261 "mp201",
23262 "mp202",
23263 "mp203",
23264 "mp204",
23265 "mp205",
23266 "mp206",
23267 "mp207",
23268 "mp208",
23269 "mp209",
23270 "mp210",
23271 "mp211",
23272 "mp212",
23273 "mp213",
23274 "mp214",
23275 "mp215",
23276 "mp216",
23277 "mp217",
23278 "mp218",
23279 "mp219",
23280 "mp220",
23281 "mp221",
23282 "mp222",
23283 "mp223",
23284 "mp224",
23285 "mp225",
23286 "mp226",
23287 "mp227",
23288 "mp228",
23289 "mp229",
23290 "mp230",
23291 "mp231",
23292 "mp232",
23293 "mp233",
23294 "mp234",
23295 "mp235",
23296 "mp236",
23297 "mp237",
23298 "mp238",
23299 "mp239",
23300 "mp240",
23301 "mp241",
23302 "mp242",
23303 "mp243",
23304 "mp244",
23305 "mp245",
23306 "mp246",
23307 "mp247",
23308 "mp248",
23309 "mp249",
23310 "mp250",
23311 "mp251",
23312 "mp252",
23313 "mp253",
23314 "mp254",
23315 "mp255"
23316 ],
23317 "type" : "string"
7aacca6f 23318 }
44660702 23319 }
7aacca6f 23320 },
56122987
DM
23321 "permissions" : {
23322 "check" : [
4d47f125 23323 "and",
56122987 23324 [
4d47f125
TL
23325 "perm",
23326 "/vms/{vmid}",
23327 [
23328 "VM.Config.Disk"
23329 ]
23330 ],
23331 [
23332 "perm",
23333 "/storage/{storage}",
23334 [
23335 "Datastore.AllocateSpace"
23336 ]
56122987 23337 ]
4d47f125
TL
23338 ],
23339 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
23340 },
23341 "protected" : 1,
23342 "proxyto" : "node",
23343 "returns" : {
23344 "type" : "string"
23345 }
23346 }
23347 },
23348 "leaf" : 1,
23349 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
23350 "text" : "move_volume"
23351 }
23352 ],
23353 "info" : {
23354 "DELETE" : {
23355 "description" : "Destroy the container (also delete all uses files).",
23356 "method" : "DELETE",
23357 "name" : "destroy_vm",
23358 "parameters" : {
23359 "additionalProperties" : 0,
23360 "properties" : {
23361 "node" : {
23362 "description" : "The cluster node name.",
23363 "format" : "pve-node",
23364 "type" : "string",
23365 "typetext" : "<string>"
23366 },
23367 "vmid" : {
23368 "description" : "The (unique) ID of the VM.",
23369 "format" : "pve-vmid",
23370 "minimum" : 1,
23371 "type" : "integer",
23372 "typetext" : "<integer> (1 - N)"
23373 }
23374 }
23375 },
23376 "permissions" : {
23377 "check" : [
23378 "perm",
23379 "/vms/{vmid}",
23380 [
23381 "VM.Allocate"
23382 ]
23383 ]
23384 },
23385 "protected" : 1,
23386 "proxyto" : "node",
23387 "returns" : {
23388 "type" : "string"
23389 }
23390 },
23391 "GET" : {
23392 "description" : "Directory index",
23393 "method" : "GET",
23394 "name" : "vmdiridx",
23395 "parameters" : {
23396 "additionalProperties" : 0,
23397 "properties" : {
23398 "node" : {
23399 "description" : "The cluster node name.",
23400 "format" : "pve-node",
23401 "type" : "string",
23402 "typetext" : "<string>"
56122987 23403 },
4d47f125
TL
23404 "vmid" : {
23405 "description" : "The (unique) ID of the VM.",
23406 "format" : "pve-vmid",
23407 "minimum" : 1,
23408 "type" : "integer",
23409 "typetext" : "<integer> (1 - N)"
56122987
DM
23410 }
23411 }
23412 },
4d47f125
TL
23413 "permissions" : {
23414 "user" : "all"
23415 },
23416 "proxyto" : "node",
23417 "returns" : {
23418 "items" : {
23419 "properties" : {
23420 "subdir" : {
23421 "type" : "string"
35a75dd3
DM
23422 }
23423 },
4d47f125
TL
23424 "type" : "object"
23425 },
23426 "links" : [
23427 {
23428 "href" : "{subdir}",
23429 "rel" : "child"
35a75dd3 23430 }
4d47f125
TL
23431 ],
23432 "type" : "array"
23433 }
23434 }
23435 },
23436 "leaf" : 0,
23437 "path" : "/nodes/{node}/lxc/{vmid}",
23438 "text" : "{vmid}"
23439 }
23440 ],
23441 "info" : {
23442 "GET" : {
23443 "description" : "LXC container index (per node).",
23444 "method" : "GET",
23445 "name" : "vmlist",
23446 "parameters" : {
23447 "additionalProperties" : 0,
23448 "properties" : {
23449 "node" : {
23450 "description" : "The cluster node name.",
23451 "format" : "pve-node",
23452 "type" : "string",
23453 "typetext" : "<string>"
23454 }
23455 }
23456 },
23457 "permissions" : {
23458 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
23459 "user" : "all"
23460 },
23461 "protected" : 1,
23462 "proxyto" : "node",
23463 "returns" : {
23464 "items" : {
23465 "properties" : {
23466 "cpus" : {
23467 "description" : "Maximum usable CPUs.",
23468 "optional" : 1,
23469 "type" : "number"
23470 },
23471 "maxdisk" : {
23472 "description" : "Root disk size in bytes.",
23473 "optional" : 1,
23474 "renderer" : "bytes",
23475 "type" : "integer"
23476 },
23477 "maxmem" : {
23478 "description" : "Maximum memory in bytes.",
23479 "optional" : 1,
23480 "renderer" : "bytes",
23481 "type" : "integer"
23482 },
23483 "maxswap" : {
23484 "description" : "Maximum SWAP memory in bytes.",
23485 "optional" : 1,
23486 "renderer" : "bytes",
23487 "type" : "integer"
23488 },
23489 "name" : {
23490 "description" : "Container name.",
23491 "optional" : 1,
23492 "type" : "string"
23493 },
23494 "status" : {
23495 "description" : "LXC Container status.",
23496 "enum" : [
23497 "stopped",
23498 "running"
23499 ],
23500 "type" : "string"
23501 },
23502 "uptime" : {
23503 "description" : "Uptime.",
23504 "optional" : 1,
23505 "renderer" : "duration",
23506 "type" : "integer"
23507 },
23508 "vmid" : {
23509 "description" : "The (unique) ID of the VM.",
23510 "format" : "pve-vmid",
23511 "minimum" : 1,
23512 "type" : "integer"
35a75dd3
DM
23513 }
23514 },
4d47f125 23515 "type" : "object"
35a75dd3 23516 },
4d47f125
TL
23517 "links" : [
23518 {
23519 "href" : "{vmid}",
23520 "rel" : "child"
23521 }
23522 ],
23523 "type" : "array"
23524 }
23525 },
23526 "POST" : {
23527 "description" : "Create or restore a container.",
23528 "method" : "POST",
23529 "name" : "create_vm",
23530 "parameters" : {
23531 "additionalProperties" : 0,
23532 "properties" : {
23533 "arch" : {
23534 "default" : "amd64",
23535 "description" : "OS architecture type.",
23536 "enum" : [
23537 "amd64",
23538 "i386",
23539 "arm64",
23540 "armhf"
23541 ],
23542 "optional" : 1,
23543 "type" : "string"
23544 },
23545 "bwlimit" : {
23546 "description" : "Override i/o bandwidth limit (in KiB/s).",
23547 "minimum" : "0",
23548 "optional" : 1,
23549 "type" : "number",
23550 "typetext" : "<number> (0 - N)"
23551 },
23552 "cmode" : {
23553 "default" : "tty",
23554 "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).",
23555 "enum" : [
23556 "shell",
23557 "console",
23558 "tty"
23559 ],
23560 "optional" : 1,
23561 "type" : "string"
23562 },
23563 "console" : {
23564 "default" : 1,
23565 "description" : "Attach a console device (/dev/console) to the container.",
23566 "optional" : 1,
23567 "type" : "boolean",
23568 "typetext" : "<boolean>"
23569 },
23570 "cores" : {
23571 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
23572 "maximum" : 128,
23573 "minimum" : 1,
23574 "optional" : 1,
23575 "type" : "integer",
23576 "typetext" : "<integer> (1 - 128)"
23577 },
23578 "cpulimit" : {
23579 "default" : 0,
23580 "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.",
23581 "maximum" : 128,
23582 "minimum" : 0,
23583 "optional" : 1,
23584 "type" : "number",
23585 "typetext" : "<number> (0 - 128)"
23586 },
23587 "cpuunits" : {
23588 "default" : 1024,
23589 "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.",
23590 "maximum" : 500000,
23591 "minimum" : 0,
23592 "optional" : 1,
23593 "type" : "integer",
23594 "typetext" : "<integer> (0 - 500000)"
23595 },
23596 "description" : {
23597 "description" : "Container description. Only used on the configuration web interface.",
23598 "optional" : 1,
23599 "type" : "string",
23600 "typetext" : "<string>"
23601 },
23602 "features" : {
23603 "description" : "Allow containers access to advanced features.",
23604 "format" : {
23605 "keyctl" : {
23606 "default" : 0,
23607 "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.",
23608 "optional" : 1,
23609 "type" : "boolean"
7aacca6f 23610 },
4d47f125
TL
23611 "mount" : {
23612 "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.",
23613 "format_description" : "fstype;fstype;...",
23614 "optional" : 1,
23615 "pattern" : "(?^:[a-zA-Z0-9; ]+)",
23616 "type" : "string"
56122987 23617 },
4d47f125
TL
23618 "nesting" : {
23619 "default" : 0,
23620 "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.",
23621 "optional" : 1,
23622 "type" : "boolean"
44660702 23623 }
4d47f125
TL
23624 },
23625 "optional" : 1,
23626 "type" : "string",
23627 "typetext" : "[keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 23628 },
4d47f125
TL
23629 "force" : {
23630 "description" : "Allow to overwrite existing container.",
23631 "optional" : 1,
23632 "type" : "boolean",
23633 "typetext" : "<boolean>"
23634 },
23635 "hostname" : {
23636 "description" : "Set a host name for the container.",
23637 "format" : "dns-name",
23638 "maxLength" : 255,
23639 "optional" : 1,
23640 "type" : "string",
23641 "typetext" : "<string>"
23642 },
23643 "ignore-unpack-errors" : {
23644 "description" : "Ignore errors when extracting the template.",
23645 "optional" : 1,
23646 "type" : "boolean",
23647 "typetext" : "<boolean>"
23648 },
23649 "lock" : {
23650 "description" : "Lock/unlock the VM.",
23651 "enum" : [
23652 "backup",
23653 "disk",
23654 "migrate",
23655 "mounted",
23656 "rollback",
23657 "snapshot",
23658 "snapshot-delete"
23659 ],
23660 "optional" : 1,
23661 "type" : "string"
23662 },
23663 "memory" : {
23664 "default" : 512,
23665 "description" : "Amount of RAM for the VM in MB.",
23666 "minimum" : 16,
23667 "optional" : 1,
23668 "type" : "integer",
23669 "typetext" : "<integer> (16 - N)"
23670 },
23671 "mp[n]" : {
23672 "description" : "Use volume as container mount point.",
23673 "format" : {
23674 "acl" : {
23675 "description" : "Explicitly enable or disable ACL support.",
23676 "optional" : 1,
23677 "type" : "boolean"
56122987 23678 },
4d47f125
TL
23679 "backup" : {
23680 "description" : "Whether to include the mount point in backups.",
23681 "optional" : 1,
23682 "type" : "boolean",
23683 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 23684 },
4d47f125
TL
23685 "mp" : {
23686 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
23687 "format" : "pve-lxc-mp-string",
23688 "format_description" : "Path",
23689 "type" : "string",
23690 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 23691 },
4d47f125
TL
23692 "quota" : {
23693 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
23694 "optional" : 1,
23695 "type" : "boolean"
23696 },
23697 "replicate" : {
23698 "default" : 1,
23699 "description" : "Will include this volume to a storage replica job.",
23700 "optional" : 1,
23701 "type" : "boolean"
23702 },
23703 "ro" : {
23704 "description" : "Read-only mount point",
23705 "optional" : 1,
23706 "type" : "boolean"
23707 },
23708 "shared" : {
23709 "default" : 0,
23710 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
23711 "optional" : 1,
23712 "type" : "boolean",
23713 "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 23714 },
4d47f125
TL
23715 "size" : {
23716 "description" : "Volume size (read only value).",
23717 "format" : "disk-size",
23718 "format_description" : "DiskSize",
23719 "optional" : 1,
23720 "type" : "string"
23721 },
23722 "volume" : {
23723 "default_key" : 1,
23724 "description" : "Volume, device or directory to mount into the container.",
23725 "format" : "pve-lxc-mp-string",
23726 "format_description" : "volume",
44660702
DM
23727 "type" : "string"
23728 }
4d47f125
TL
23729 },
23730 "optional" : 1,
23731 "type" : "string",
23732 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 23733 },
4d47f125
TL
23734 "nameserver" : {
23735 "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.",
23736 "format" : "address-list",
23737 "optional" : 1,
23738 "type" : "string",
23739 "typetext" : "<string>"
23740 },
23741 "net[n]" : {
23742 "description" : "Specifies network interfaces for the container.",
23743 "format" : {
23744 "bridge" : {
23745 "description" : "Bridge to attach the network device to.",
23746 "format_description" : "bridge",
23747 "optional" : 1,
23748 "pattern" : "[-_.\\w\\d]+",
23749 "type" : "string"
56122987 23750 },
4d47f125
TL
23751 "firewall" : {
23752 "description" : "Controls whether this interface's firewall rules should be used.",
23753 "optional" : 1,
23754 "type" : "boolean"
56122987 23755 },
4d47f125
TL
23756 "gw" : {
23757 "description" : "Default gateway for IPv4 traffic.",
23758 "format" : "ipv4",
23759 "format_description" : "GatewayIPv4",
23760 "optional" : 1,
23761 "type" : "string"
23762 },
23763 "gw6" : {
23764 "description" : "Default gateway for IPv6 traffic.",
23765 "format" : "ipv6",
23766 "format_description" : "GatewayIPv6",
23767 "optional" : 1,
23768 "type" : "string"
23769 },
23770 "hwaddr" : {
23771 "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)",
23772 "format_description" : "XX:XX:XX:XX:XX:XX",
23773 "optional" : 1,
23774 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
23775 "type" : "string"
23776 },
23777 "ip" : {
23778 "description" : "IPv4 address in CIDR format.",
23779 "format" : "pve-ipv4-config",
23780 "format_description" : "(IPv4/CIDR|dhcp|manual)",
23781 "optional" : 1,
23782 "type" : "string"
23783 },
23784 "ip6" : {
23785 "description" : "IPv6 address in CIDR format.",
23786 "format" : "pve-ipv6-config",
23787 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
23788 "optional" : 1,
23789 "type" : "string"
23790 },
23791 "mtu" : {
23792 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
23793 "minimum" : 64,
23794 "optional" : 1,
23795 "type" : "integer"
23796 },
23797 "name" : {
23798 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
23799 "format_description" : "string",
23800 "pattern" : "[-_.\\w\\d]+",
23801 "type" : "string"
23802 },
23803 "rate" : {
23804 "description" : "Apply rate limiting to the interface",
23805 "format_description" : "mbps",
23806 "optional" : 1,
23807 "type" : "number"
23808 },
23809 "tag" : {
23810 "description" : "VLAN tag for this interface.",
23811 "maximum" : 4094,
23812 "minimum" : 1,
23813 "optional" : 1,
23814 "type" : "integer"
23815 },
23816 "trunks" : {
23817 "description" : "VLAN ids to pass through the interface",
23818 "format_description" : "vlanid[;vlanid...]",
23819 "optional" : 1,
23820 "pattern" : "(?^:\\d+(?:;\\d+)*)",
23821 "type" : "string"
23822 },
23823 "type" : {
23824 "description" : "Network interface type.",
23825 "enum" : [
23826 "veth"
23827 ],
23828 "optional" : 1,
23829 "type" : "string"
7aacca6f 23830 }
4d47f125
TL
23831 },
23832 "optional" : 1,
23833 "type" : "string",
23834 "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 23835 },
4d47f125
TL
23836 "node" : {
23837 "description" : "The cluster node name.",
23838 "format" : "pve-node",
23839 "type" : "string",
23840 "typetext" : "<string>"
23841 },
23842 "onboot" : {
23843 "default" : 0,
23844 "description" : "Specifies whether a VM will be started during system bootup.",
23845 "optional" : 1,
23846 "type" : "boolean",
23847 "typetext" : "<boolean>"
23848 },
23849 "ostemplate" : {
23850 "description" : "The OS template or backup file.",
23851 "maxLength" : 255,
23852 "type" : "string",
23853 "typetext" : "<string>"
23854 },
23855 "ostype" : {
23856 "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.",
23857 "enum" : [
23858 "debian",
23859 "ubuntu",
23860 "centos",
23861 "fedora",
23862 "opensuse",
23863 "archlinux",
23864 "alpine",
23865 "gentoo",
23866 "unmanaged"
23867 ],
23868 "optional" : 1,
23869 "type" : "string"
23870 },
23871 "password" : {
23872 "description" : "Sets root password inside container.",
23873 "minLength" : 5,
23874 "optional" : 1,
23875 "type" : "string",
23876 "typetext" : "<string>"
23877 },
23878 "pool" : {
23879 "description" : "Add the VM to the specified pool.",
23880 "format" : "pve-poolid",
23881 "optional" : 1,
23882 "type" : "string",
23883 "typetext" : "<string>"
23884 },
23885 "protection" : {
23886 "default" : 0,
23887 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
23888 "optional" : 1,
23889 "type" : "boolean",
23890 "typetext" : "<boolean>"
23891 },
23892 "restore" : {
23893 "description" : "Mark this as restore task.",
23894 "optional" : 1,
23895 "type" : "boolean",
23896 "typetext" : "<boolean>"
23897 },
23898 "rootfs" : {
23899 "description" : "Use volume as container root.",
23900 "format" : {
23901 "acl" : {
23902 "description" : "Explicitly enable or disable ACL support.",
23903 "optional" : 1,
23904 "type" : "boolean"
56122987 23905 },
4d47f125
TL
23906 "quota" : {
23907 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
23908 "optional" : 1,
23909 "type" : "boolean"
7aacca6f 23910 },
4d47f125
TL
23911 "replicate" : {
23912 "default" : 1,
23913 "description" : "Will include this volume to a storage replica job.",
23914 "optional" : 1,
23915 "type" : "boolean"
23916 },
23917 "ro" : {
23918 "description" : "Read-only mount point",
23919 "optional" : 1,
23920 "type" : "boolean"
23921 },
23922 "shared" : {
23923 "default" : 0,
23924 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
23925 "optional" : 1,
23926 "type" : "boolean",
23927 "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!"
23928 },
23929 "size" : {
23930 "description" : "Volume size (read only value).",
23931 "format" : "disk-size",
23932 "format_description" : "DiskSize",
23933 "optional" : 1,
23934 "type" : "string"
23935 },
23936 "volume" : {
23937 "default_key" : 1,
23938 "description" : "Volume, device or directory to mount into the container.",
23939 "format" : "pve-lxc-mp-string",
23940 "format_description" : "volume",
23941 "type" : "string"
56122987 23942 }
4d47f125
TL
23943 },
23944 "optional" : 1,
23945 "type" : "string",
23946 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 23947 },
4d47f125
TL
23948 "searchdomain" : {
23949 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
23950 "format" : "dns-name-list",
23951 "optional" : 1,
23952 "type" : "string",
23953 "typetext" : "<string>"
23954 },
23955 "ssh-public-keys" : {
23956 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
23957 "optional" : 1,
23958 "type" : "string",
23959 "typetext" : "<string>"
23960 },
23961 "start" : {
23962 "default" : 0,
23963 "description" : "Start the CT after its creation finished successfully.",
23964 "optional" : 1,
23965 "type" : "boolean",
23966 "typetext" : "<boolean>"
23967 },
23968 "startup" : {
23969 "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.",
23970 "format" : "pve-startup-order",
23971 "optional" : 1,
23972 "type" : "string",
23973 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
23974 },
23975 "storage" : {
23976 "default" : "local",
23977 "description" : "Default Storage.",
23978 "format" : "pve-storage-id",
23979 "optional" : 1,
23980 "type" : "string",
23981 "typetext" : "<string>"
23982 },
23983 "swap" : {
23984 "default" : 512,
23985 "description" : "Amount of SWAP for the VM in MB.",
23986 "minimum" : 0,
23987 "optional" : 1,
23988 "type" : "integer",
23989 "typetext" : "<integer> (0 - N)"
23990 },
23991 "template" : {
23992 "default" : 0,
23993 "description" : "Enable/disable Template.",
23994 "optional" : 1,
23995 "type" : "boolean",
23996 "typetext" : "<boolean>"
23997 },
23998 "tty" : {
23999 "default" : 2,
24000 "description" : "Specify the number of tty available to the container",
24001 "maximum" : 6,
24002 "minimum" : 0,
24003 "optional" : 1,
24004 "type" : "integer",
24005 "typetext" : "<integer> (0 - 6)"
24006 },
24007 "unprivileged" : {
24008 "default" : 0,
24009 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
24010 "optional" : 1,
24011 "type" : "boolean",
24012 "typetext" : "<boolean>"
24013 },
24014 "unused[n]" : {
24015 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
24016 "format" : "pve-volume-id",
24017 "optional" : 1,
24018 "type" : "string",
24019 "typetext" : "<string>"
24020 },
24021 "vmid" : {
24022 "description" : "The (unique) ID of the VM.",
24023 "format" : "pve-vmid",
24024 "minimum" : 1,
24025 "type" : "integer",
24026 "typetext" : "<integer> (1 - N)"
24027 }
24028 }
24029 },
24030 "permissions" : {
24031 "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.",
24032 "user" : "all"
24033 },
24034 "protected" : 1,
24035 "proxyto" : "node",
24036 "returns" : {
24037 "type" : "string"
24038 }
24039 }
24040 },
24041 "leaf" : 0,
24042 "path" : "/nodes/{node}/lxc",
24043 "text" : "lxc"
24044 },
24045 {
24046 "children" : [
24047 {
24048 "children" : [
56122987 24049 {
4d47f125
TL
24050 "children" : [
24051 {
24052 "info" : {
24053 "POST" : {
24054 "description" : "ceph osd in",
24055 "method" : "POST",
24056 "name" : "in",
24057 "parameters" : {
24058 "additionalProperties" : 0,
24059 "properties" : {
24060 "node" : {
24061 "description" : "The cluster node name.",
24062 "format" : "pve-node",
24063 "type" : "string",
24064 "typetext" : "<string>"
24065 },
24066 "osdid" : {
24067 "description" : "OSD ID",
24068 "type" : "integer",
24069 "typetext" : "<integer>"
24070 }
24071 }
27a7acb2 24072 },
4d47f125
TL
24073 "permissions" : {
24074 "check" : [
24075 "perm",
24076 "/",
24077 [
24078 "Sys.Modify"
24079 ]
24080 ]
44660702 24081 },
4d47f125
TL
24082 "protected" : 1,
24083 "proxyto" : "node",
24084 "returns" : {
24085 "type" : "null"
7aacca6f
DM
24086 }
24087 }
56122987 24088 },
4d47f125
TL
24089 "leaf" : 1,
24090 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
24091 "text" : "in"
24092 },
24093 {
24094 "info" : {
24095 "POST" : {
24096 "description" : "ceph osd out",
24097 "method" : "POST",
24098 "name" : "out",
24099 "parameters" : {
24100 "additionalProperties" : 0,
24101 "properties" : {
24102 "node" : {
24103 "description" : "The cluster node name.",
24104 "format" : "pve-node",
24105 "type" : "string",
24106 "typetext" : "<string>"
24107 },
24108 "osdid" : {
24109 "description" : "OSD ID",
24110 "type" : "integer",
24111 "typetext" : "<integer>"
24112 }
24113 }
24114 },
24115 "permissions" : {
24116 "check" : [
56122987 24117 "perm",
4d47f125 24118 "/",
56122987 24119 [
4d47f125 24120 "Sys.Modify"
56122987 24121 ]
56122987 24122 ]
44660702 24123 },
4d47f125
TL
24124 "protected" : 1,
24125 "proxyto" : "node",
24126 "returns" : {
24127 "type" : "null"
56122987 24128 }
44660702 24129 }
56122987 24130 },
4d47f125
TL
24131 "leaf" : 1,
24132 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
24133 "text" : "out"
56122987 24134 }
4d47f125 24135 ],
27a7acb2 24136 "info" : {
4d47f125
TL
24137 "DELETE" : {
24138 "description" : "Destroy OSD",
24139 "method" : "DELETE",
24140 "name" : "destroyosd",
27a7acb2
DM
24141 "parameters" : {
24142 "additionalProperties" : 0,
24143 "properties" : {
4d47f125 24144 "cleanup" : {
27a7acb2 24145 "default" : 0,
4d47f125 24146 "description" : "If set, we remove partition table entries.",
27a7acb2 24147 "optional" : 1,
4d47f125
TL
24148 "type" : "boolean",
24149 "typetext" : "<boolean>"
24150 },
24151 "node" : {
24152 "description" : "The cluster node name.",
24153 "format" : "pve-node",
24154 "type" : "string",
24155 "typetext" : "<string>"
24156 },
24157 "osdid" : {
24158 "description" : "OSD ID",
24159 "type" : "integer",
24160 "typetext" : "<integer>"
24161 }
24162 }
27a7acb2
DM
24163 },
24164 "protected" : 1,
24165 "proxyto" : "node",
24166 "returns" : {
24167 "type" : "string"
24168 }
24169 }
24170 },
4d47f125
TL
24171 "leaf" : 0,
24172 "path" : "/nodes/{node}/ceph/osd/{osdid}",
24173 "text" : "{osdid}"
56122987
DM
24174 }
24175 ],
24176 "info" : {
4d47f125
TL
24177 "GET" : {
24178 "description" : "Get Ceph osd list/tree.",
24179 "method" : "GET",
24180 "name" : "index",
44660702
DM
24181 "parameters" : {
24182 "additionalProperties" : 0,
24183 "properties" : {
24184 "node" : {
24185 "description" : "The cluster node name.",
24186 "format" : "pve-node",
013dc89f
DM
24187 "type" : "string",
24188 "typetext" : "<string>"
44660702
DM
24189 }
24190 }
24191 },
7aacca6f
DM
24192 "permissions" : {
24193 "check" : [
24194 "perm",
4d47f125 24195 "/",
7aacca6f 24196 [
4d47f125
TL
24197 "Sys.Audit",
24198 "Datastore.Audit"
24199 ],
24200 "any",
24201 1
24202 ]
24203 },
24204 "protected" : 1,
24205 "proxyto" : "node",
24206 "returns" : {
24207 "type" : "object"
24208 }
24209 },
24210 "POST" : {
24211 "description" : "Create OSD",
24212 "method" : "POST",
24213 "name" : "createosd",
24214 "parameters" : {
24215 "additionalProperties" : 0,
24216 "properties" : {
24217 "bluestore" : {
24218 "default" : 1,
24219 "description" : "Use bluestore instead of filestore. This is the default.",
44660702 24220 "optional" : 1,
4bd7df8b 24221 "type" : "boolean",
4d47f125 24222 "typetext" : "<boolean>"
44660702 24223 },
4d47f125
TL
24224 "dev" : {
24225 "description" : "Block device name.",
4bd7df8b 24226 "type" : "string",
4d47f125 24227 "typetext" : "<string>"
44660702 24228 },
4d47f125
TL
24229 "fstype" : {
24230 "default" : "xfs",
24231 "description" : "File system type (filestore only).",
24232 "enum" : [
24233 "xfs",
24234 "ext4"
24235 ],
7aacca6f 24236 "optional" : 1,
4d47f125 24237 "type" : "string"
44660702 24238 },
4d47f125
TL
24239 "journal_dev" : {
24240 "description" : "Block device name for journal (filestore) or block.db (bluestore).",
5d9c884c 24241 "optional" : 1,
4d47f125
TL
24242 "type" : "string",
24243 "typetext" : "<string>"
5d9c884c 24244 },
4d47f125
TL
24245 "node" : {
24246 "description" : "The cluster node name.",
24247 "format" : "pve-node",
24248 "type" : "string",
24249 "typetext" : "<string>"
7aacca6f 24250 },
4d47f125
TL
24251 "wal_dev" : {
24252 "description" : "Block device name for block.wal (bluestore only).",
de0983cb 24253 "optional" : 1,
4d47f125
TL
24254 "type" : "string",
24255 "typetext" : "<string>"
24256 }
24257 }
24258 },
24259 "protected" : 1,
24260 "proxyto" : "node",
24261 "returns" : {
24262 "type" : "string"
24263 }
24264 }
24265 },
24266 "leaf" : 0,
24267 "path" : "/nodes/{node}/ceph/osd",
24268 "text" : "osd"
24269 },
24270 {
24271 "info" : {
24272 "GET" : {
24273 "description" : "List local disks.",
24274 "method" : "GET",
24275 "name" : "disks",
24276 "parameters" : {
24277 "additionalProperties" : 0,
24278 "properties" : {
24279 "node" : {
24280 "description" : "The cluster node name.",
24281 "format" : "pve-node",
24282 "type" : "string",
24283 "typetext" : "<string>"
de0983cb 24284 },
4d47f125
TL
24285 "type" : {
24286 "description" : "Only list specific types of disks.",
24287 "enum" : [
24288 "unused",
24289 "journal_disks"
24290 ],
7aacca6f
DM
24291 "optional" : 1,
24292 "type" : "string"
56122987 24293 }
4d47f125 24294 }
56122987 24295 },
4d47f125
TL
24296 "permissions" : {
24297 "check" : [
24298 "perm",
24299 "/",
24300 [
24301 "Sys.Audit",
24302 "Datastore.Audit"
24303 ],
24304 "any",
24305 1
24306 ]
56122987 24307 },
4d47f125
TL
24308 "protected" : 1,
24309 "proxyto" : "node",
24310 "returns" : {
24311 "items" : {
24312 "properties" : {
24313 "dev" : {
24314 "type" : "string"
24315 },
24316 "gpt" : {
24317 "type" : "boolean"
24318 },
24319 "model" : {
24320 "optional" : 1,
24321 "type" : "string"
24322 },
24323 "osdid" : {
24324 "type" : "integer"
24325 },
24326 "serial" : {
24327 "optional" : 1,
24328 "type" : "string"
24329 },
24330 "size" : {
24331 "type" : "integer"
24332 },
24333 "used" : {
24334 "optional" : 1,
24335 "type" : "string"
24336 },
24337 "vendor" : {
24338 "optional" : 1,
24339 "type" : "string"
24340 }
7aacca6f 24341 },
4d47f125
TL
24342 "type" : "object"
24343 },
24344 "type" : "array"
24345 }
24346 }
24347 },
24348 "leaf" : 1,
24349 "path" : "/nodes/{node}/ceph/disks",
24350 "text" : "disks"
24351 },
24352 {
24353 "info" : {
24354 "GET" : {
24355 "description" : "Get Ceph configuration.",
24356 "method" : "GET",
24357 "name" : "config",
24358 "parameters" : {
24359 "additionalProperties" : 0,
24360 "properties" : {
24361 "node" : {
24362 "description" : "The cluster node name.",
24363 "format" : "pve-node",
24364 "type" : "string",
24365 "typetext" : "<string>"
24366 }
24367 }
24368 },
24369 "permissions" : {
24370 "check" : [
24371 "perm",
24372 "/",
24373 [
24374 "Sys.Audit",
24375 "Datastore.Audit"
24376 ],
24377 "any",
24378 1
24379 ]
24380 },
24381 "returns" : {
24382 "type" : "string"
24383 }
24384 }
24385 },
24386 "leaf" : 1,
24387 "path" : "/nodes/{node}/ceph/config",
24388 "text" : "config"
24389 },
24390 {
24391 "children" : [
24392 {
24393 "info" : {
24394 "DELETE" : {
24395 "description" : "Destroy Ceph Monitor and Manager.",
24396 "method" : "DELETE",
24397 "name" : "destroymon",
24398 "parameters" : {
24399 "additionalProperties" : 0,
24400 "properties" : {
24401 "exclude-manager" : {
24402 "default" : 0,
24403 "description" : "When set, removes only the monitor, not the manager",
24404 "optional" : 1,
24405 "type" : "boolean",
24406 "typetext" : "<boolean>"
24407 },
24408 "monid" : {
24409 "description" : "Monitor ID",
24410 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24411 "type" : "string"
24412 },
24413 "node" : {
24414 "description" : "The cluster node name.",
24415 "format" : "pve-node",
24416 "type" : "string",
24417 "typetext" : "<string>"
24418 }
24419 }
7aacca6f 24420 },
4d47f125
TL
24421 "permissions" : {
24422 "check" : [
24423 "perm",
24424 "/",
24425 [
24426 "Sys.Modify"
24427 ]
24428 ]
7aacca6f 24429 },
4d47f125
TL
24430 "protected" : 1,
24431 "proxyto" : "node",
24432 "returns" : {
44660702 24433 "type" : "string"
4d47f125
TL
24434 }
24435 }
24436 },
24437 "leaf" : 1,
24438 "path" : "/nodes/{node}/ceph/mon/{monid}",
24439 "text" : "{monid}"
24440 }
24441 ],
24442 "info" : {
24443 "GET" : {
24444 "description" : "Get Ceph monitor list.",
24445 "method" : "GET",
24446 "name" : "listmon",
24447 "parameters" : {
24448 "additionalProperties" : 0,
24449 "properties" : {
24450 "node" : {
24451 "description" : "The cluster node name.",
24452 "format" : "pve-node",
24453 "type" : "string",
24454 "typetext" : "<string>"
24455 }
24456 }
24457 },
24458 "permissions" : {
24459 "check" : [
24460 "perm",
24461 "/",
24462 [
24463 "Sys.Audit",
24464 "Datastore.Audit"
24465 ],
24466 "any",
24467 1
24468 ]
24469 },
24470 "protected" : 1,
24471 "proxyto" : "node",
24472 "returns" : {
24473 "items" : {
24474 "properties" : {
24475 "addr" : {
24476 "type" : "string"
24477 },
24478 "name" : {
24479 "type" : "string"
24480 }
7aacca6f 24481 },
4d47f125
TL
24482 "type" : "object"
24483 },
24484 "links" : [
24485 {
24486 "href" : "{name}",
24487 "rel" : "child"
24488 }
24489 ],
24490 "type" : "array"
24491 }
24492 },
24493 "POST" : {
24494 "description" : "Create Ceph Monitor and Manager",
24495 "method" : "POST",
24496 "name" : "createmon",
24497 "parameters" : {
24498 "additionalProperties" : 0,
24499 "properties" : {
24500 "exclude-manager" : {
24501 "default" : 0,
24502 "description" : "When set, only a monitor will be created.",
44660702 24503 "optional" : 1,
4d47f125
TL
24504 "type" : "boolean",
24505 "typetext" : "<boolean>"
44660702 24506 },
4d47f125
TL
24507 "id" : {
24508 "description" : "The ID for the monitor, when omitted the same as the nodename",
44660702 24509 "optional" : 1,
4d47f125 24510 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
44660702
DM
24511 "type" : "string"
24512 },
4d47f125
TL
24513 "mon-address" : {
24514 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
24515 "format" : "ip",
44660702 24516 "optional" : 1,
4d47f125
TL
24517 "type" : "string",
24518 "typetext" : "<string>"
44660702 24519 },
4d47f125
TL
24520 "node" : {
24521 "description" : "The cluster node name.",
24522 "format" : "pve-node",
24523 "type" : "string",
24524 "typetext" : "<string>"
7aacca6f 24525 }
4d47f125 24526 }
44660702 24527 },
4d47f125
TL
24528 "permissions" : {
24529 "check" : [
24530 "perm",
24531 "/",
24532 [
24533 "Sys.Modify"
24534 ]
24535 ]
56122987 24536 },
4d47f125
TL
24537 "protected" : 1,
24538 "proxyto" : "node",
24539 "returns" : {
7aacca6f 24540 "type" : "string"
4d47f125
TL
24541 }
24542 }
24543 },
24544 "leaf" : 0,
24545 "path" : "/nodes/{node}/ceph/mon",
24546 "text" : "mon"
24547 },
24548 {
24549 "info" : {
24550 "POST" : {
24551 "description" : "Create initial ceph default configuration and setup symlinks.",
24552 "method" : "POST",
24553 "name" : "init",
24554 "parameters" : {
24555 "additionalProperties" : 0,
24556 "properties" : {
24557 "disable_cephx" : {
24558 "default" : 0,
24559 "description" : "Disable cephx authentification.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
56122987 24560 "optional" : 1,
4d47f125
TL
24561 "type" : "boolean",
24562 "typetext" : "<boolean>"
56122987 24563 },
4d47f125
TL
24564 "min_size" : {
24565 "default" : 2,
24566 "description" : "Minimum number of available replicas per object to allow I/O",
24567 "maximum" : 7,
24568 "minimum" : 1,
7aacca6f 24569 "optional" : 1,
4d47f125
TL
24570 "type" : "integer",
24571 "typetext" : "<integer> (1 - 7)"
7aacca6f 24572 },
4d47f125
TL
24573 "network" : {
24574 "description" : "Use specific network for all ceph related traffic",
24575 "format" : "CIDR",
24576 "maxLength" : 128,
5d9c884c 24577 "optional" : 1,
4d47f125
TL
24578 "type" : "string",
24579 "typetext" : "<string>"
5d9c884c 24580 },
4d47f125
TL
24581 "node" : {
24582 "description" : "The cluster node name.",
24583 "format" : "pve-node",
24584 "type" : "string",
24585 "typetext" : "<string>"
7aacca6f 24586 },
4d47f125
TL
24587 "pg_bits" : {
24588 "default" : 6,
24589 "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.",
24590 "maximum" : 14,
24591 "minimum" : 6,
de0983cb 24592 "optional" : 1,
4d47f125
TL
24593 "type" : "integer",
24594 "typetext" : "<integer> (6 - 14)"
de0983cb 24595 },
44660702 24596 "size" : {
4d47f125
TL
24597 "default" : 3,
24598 "description" : "Targeted number of replicas per object",
24599 "maximum" : 7,
24600 "minimum" : 1,
7aacca6f 24601 "optional" : 1,
4d47f125
TL
24602 "type" : "integer",
24603 "typetext" : "<integer> (1 - 7)"
56122987 24604 }
4d47f125 24605 }
44660702 24606 },
4d47f125
TL
24607 "permissions" : {
24608 "check" : [
24609 "perm",
24610 "/",
24611 [
24612 "Sys.Modify"
24613 ]
24614 ]
5da3d723 24615 },
4d47f125
TL
24616 "protected" : 1,
24617 "proxyto" : "node",
24618 "returns" : {
24619 "type" : "null"
24620 }
24621 }
24622 },
24623 "leaf" : 1,
24624 "path" : "/nodes/{node}/ceph/init",
24625 "text" : "init"
24626 },
24627 {
24628 "children" : [
24629 {
24630 "info" : {
24631 "DELETE" : {
24632 "description" : "Destroy Ceph Manager.",
24633 "method" : "DELETE",
24634 "name" : "destroymgr",
24635 "parameters" : {
24636 "additionalProperties" : 0,
24637 "properties" : {
24638 "id" : {
24639 "description" : "The ID of the manager",
24640 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24641 "type" : "string"
24642 },
24643 "node" : {
24644 "description" : "The cluster node name.",
24645 "format" : "pve-node",
24646 "type" : "string",
24647 "typetext" : "<string>"
24648 }
24649 }
24650 },
24651 "permissions" : {
24652 "check" : [
24653 "perm",
24654 "/",
24655 [
24656 "Sys.Modify"
24657 ]
24658 ]
24659 },
24660 "protected" : 1,
24661 "proxyto" : "node",
24662 "returns" : {
24663 "type" : "string"
24664 }
24665 }
7aacca6f 24666 },
4d47f125
TL
24667 "leaf" : 1,
24668 "path" : "/nodes/{node}/ceph/mgr/{id}",
24669 "text" : "{id}"
24670 }
24671 ],
24672 "info" : {
24673 "POST" : {
24674 "description" : "Create Ceph Manager",
24675 "method" : "POST",
24676 "name" : "createmgr",
24677 "parameters" : {
24678 "additionalProperties" : 0,
24679 "properties" : {
24680 "id" : {
24681 "description" : "The ID for the manager, when omitted the same as the nodename",
24682 "optional" : 1,
24683 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
24684 "type" : "string"
24685 },
24686 "node" : {
24687 "description" : "The cluster node name.",
24688 "format" : "pve-node",
24689 "type" : "string",
24690 "typetext" : "<string>"
24691 }
24692 }
7aacca6f 24693 },
4d47f125
TL
24694 "permissions" : {
24695 "check" : [
24696 "perm",
24697 "/",
24698 [
24699 "Sys.Modify"
24700 ]
24701 ]
44660702 24702 },
4d47f125
TL
24703 "protected" : 1,
24704 "proxyto" : "node",
24705 "returns" : {
24706 "type" : "string"
24707 }
24708 }
24709 },
24710 "leaf" : 0,
24711 "path" : "/nodes/{node}/ceph/mgr",
24712 "text" : "mgr"
24713 },
24714 {
24715 "info" : {
24716 "POST" : {
24717 "description" : "Stop ceph services.",
24718 "method" : "POST",
24719 "name" : "stop",
24720 "parameters" : {
24721 "additionalProperties" : 0,
24722 "properties" : {
24723 "node" : {
24724 "description" : "The cluster node name.",
24725 "format" : "pve-node",
24726 "type" : "string",
24727 "typetext" : "<string>"
24728 },
24729 "service" : {
24730 "description" : "Ceph service name.",
24731 "optional" : 1,
24732 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
24733 "type" : "string"
24734 }
24735 }
7aacca6f 24736 },
4d47f125
TL
24737 "permissions" : {
24738 "check" : [
24739 "perm",
24740 "/",
24741 [
24742 "Sys.Modify"
24743 ]
24744 ]
7aacca6f 24745 },
4d47f125
TL
24746 "protected" : 1,
24747 "proxyto" : "node",
24748 "returns" : {
24749 "type" : "string"
24750 }
24751 }
24752 },
24753 "leaf" : 1,
24754 "path" : "/nodes/{node}/ceph/stop",
24755 "text" : "stop"
24756 },
24757 {
24758 "info" : {
24759 "POST" : {
24760 "description" : "Start ceph services.",
24761 "method" : "POST",
24762 "name" : "start",
24763 "parameters" : {
24764 "additionalProperties" : 0,
24765 "properties" : {
24766 "node" : {
24767 "description" : "The cluster node name.",
24768 "format" : "pve-node",
24769 "type" : "string",
24770 "typetext" : "<string>"
24771 },
24772 "service" : {
24773 "description" : "Ceph service name.",
24774 "optional" : 1,
24775 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
24776 "type" : "string"
24777 }
24778 }
44660702 24779 },
4d47f125
TL
24780 "permissions" : {
24781 "check" : [
24782 "perm",
24783 "/",
24784 [
24785 "Sys.Modify"
24786 ]
24787 ]
44660702 24788 },
4d47f125
TL
24789 "protected" : 1,
24790 "proxyto" : "node",
24791 "returns" : {
24792 "type" : "string"
44660702 24793 }
7aacca6f
DM
24794 }
24795 },
4d47f125
TL
24796 "leaf" : 1,
24797 "path" : "/nodes/{node}/ceph/start",
24798 "text" : "start"
24799 },
24800 {
24801 "info" : {
24802 "GET" : {
24803 "description" : "Get ceph status.",
24804 "method" : "GET",
24805 "name" : "status",
24806 "parameters" : {
24807 "additionalProperties" : 0,
24808 "properties" : {
24809 "node" : {
24810 "description" : "The cluster node name.",
24811 "format" : "pve-node",
24812 "type" : "string",
24813 "typetext" : "<string>"
24814 }
24815 }
24816 },
24817 "permissions" : {
24818 "check" : [
24819 "perm",
24820 "/",
24821 [
24822 "Sys.Audit",
24823 "Datastore.Audit"
24824 ],
24825 "any",
24826 1
24827 ]
24828 },
24829 "protected" : 1,
24830 "proxyto" : "node",
24831 "returns" : {
24832 "type" : "object"
24833 }
24834 }
44660702 24835 },
4d47f125
TL
24836 "leaf" : 1,
24837 "path" : "/nodes/{node}/ceph/status",
24838 "text" : "status"
24839 },
44660702 24840 {
56122987
DM
24841 "children" : [
24842 {
44660702
DM
24843 "info" : {
24844 "DELETE" : {
4d47f125 24845 "description" : "Destroy pool",
44660702 24846 "method" : "DELETE",
4d47f125 24847 "name" : "destroypool",
44660702
DM
24848 "parameters" : {
24849 "additionalProperties" : 0,
24850 "properties" : {
4d47f125 24851 "force" : {
44660702 24852 "default" : 0,
4d47f125 24853 "description" : "If true, destroys pool even if in use",
44660702 24854 "optional" : 1,
013dc89f
DM
24855 "type" : "boolean",
24856 "typetext" : "<boolean>"
7aacca6f 24857 },
4d47f125
TL
24858 "name" : {
24859 "description" : "The name of the pool. It must be unique.",
24860 "type" : "string",
24861 "typetext" : "<string>"
24862 },
44660702
DM
24863 "node" : {
24864 "description" : "The cluster node name.",
24865 "format" : "pve-node",
013dc89f
DM
24866 "type" : "string",
24867 "typetext" : "<string>"
56122987 24868 },
4d47f125
TL
24869 "remove_storages" : {
24870 "default" : 0,
24871 "description" : "Remove all pveceph-managed storages configured for this pool",
24872 "optional" : 1,
24873 "type" : "boolean",
24874 "typetext" : "<boolean>"
44660702 24875 }
56122987
DM
24876 }
24877 },
4d47f125
TL
24878 "permissions" : {
24879 "check" : [
24880 "perm",
24881 "/",
24882 [
24883 "Sys.Modify"
24884 ]
24885 ]
24886 },
44660702
DM
24887 "protected" : 1,
24888 "proxyto" : "node",
24889 "returns" : {
24890 "type" : "string"
24891 }
24892 }
24893 },
4d47f125
TL
24894 "leaf" : 1,
24895 "path" : "/nodes/{node}/ceph/pools/{name}",
24896 "text" : "{name}"
44660702
DM
24897 }
24898 ],
24899 "info" : {
24900 "GET" : {
4d47f125 24901 "description" : "List all pools.",
44660702 24902 "method" : "GET",
4d47f125 24903 "name" : "lspools",
44660702
DM
24904 "parameters" : {
24905 "additionalProperties" : 0,
24906 "properties" : {
24907 "node" : {
24908 "description" : "The cluster node name.",
24909 "format" : "pve-node",
013dc89f
DM
24910 "type" : "string",
24911 "typetext" : "<string>"
44660702
DM
24912 }
24913 }
24914 },
24915 "permissions" : {
24916 "check" : [
24917 "perm",
24918 "/",
24919 [
24920 "Sys.Audit",
24921 "Datastore.Audit"
24922 ],
24923 "any",
24924 1
24925 ]
24926 },
24927 "protected" : 1,
24928 "proxyto" : "node",
24929 "returns" : {
4d47f125
TL
24930 "items" : {
24931 "properties" : {
24932 "pool" : {
24933 "type" : "integer"
24934 },
24935 "pool_name" : {
24936 "type" : "string"
24937 },
24938 "size" : {
24939 "type" : "integer"
24940 }
24941 },
24942 "type" : "object"
24943 },
24944 "links" : [
24945 {
24946 "href" : "{pool_name}",
24947 "rel" : "child"
24948 }
24949 ],
24950 "type" : "array"
44660702
DM
24951 }
24952 },
24953 "POST" : {
4d47f125 24954 "description" : "Create POOL",
44660702 24955 "method" : "POST",
4d47f125 24956 "name" : "createpool",
44660702
DM
24957 "parameters" : {
24958 "additionalProperties" : 0,
24959 "properties" : {
4d47f125
TL
24960 "add_storages" : {
24961 "description" : "Configure VM and CT storages using the new pool.",
5d9c884c
DM
24962 "optional" : 1,
24963 "type" : "boolean",
24964 "typetext" : "<boolean>"
24965 },
4d47f125
TL
24966 "application" : {
24967 "description" : "The application of the pool, 'rbd' by default.",
44660702 24968 "enum" : [
4d47f125
TL
24969 "rbd",
24970 "cephfs",
24971 "rgw"
44660702
DM
24972 ],
24973 "optional" : 1,
24974 "type" : "string"
24975 },
4d47f125
TL
24976 "crush_rule" : {
24977 "description" : "The rule to use for mapping object placement in the cluster.",
24978 "optional" : 1,
24979 "type" : "string",
24980 "typetext" : "<string>"
24981 },
24982 "min_size" : {
24983 "default" : 2,
24984 "description" : "Minimum number of replicas per object",
24985 "maximum" : 7,
24986 "minimum" : 1,
44660702 24987 "optional" : 1,
4d47f125
TL
24988 "type" : "integer",
24989 "typetext" : "<integer> (1 - 7)"
24990 },
24991 "name" : {
24992 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
24993 "type" : "string",
24994 "typetext" : "<string>"
44660702
DM
24995 },
24996 "node" : {
24997 "description" : "The cluster node name.",
24998 "format" : "pve-node",
013dc89f
DM
24999 "type" : "string",
25000 "typetext" : "<string>"
2489d6df 25001 },
4d47f125
TL
25002 "pg_num" : {
25003 "default" : 64,
25004 "description" : "Number of placement groups.",
25005 "maximum" : 32768,
25006 "minimum" : 8,
2489d6df 25007 "optional" : 1,
4d47f125
TL
25008 "type" : "integer",
25009 "typetext" : "<integer> (8 - 32768)"
25010 },
25011 "size" : {
25012 "default" : 3,
25013 "description" : "Number of replicas per object",
25014 "maximum" : 7,
25015 "minimum" : 1,
25016 "optional" : 1,
25017 "type" : "integer",
25018 "typetext" : "<integer> (1 - 7)"
44660702 25019 }
56122987 25020 }
44660702 25021 },
4d47f125
TL
25022 "permissions" : {
25023 "check" : [
25024 "perm",
25025 "/",
25026 [
25027 "Sys.Modify"
25028 ]
25029 ]
25030 },
44660702
DM
25031 "protected" : 1,
25032 "proxyto" : "node",
25033 "returns" : {
25034 "type" : "string"
25035 }
56122987 25036 }
44660702 25037 },
7aacca6f 25038 "leaf" : 0,
4d47f125
TL
25039 "path" : "/nodes/{node}/ceph/pools",
25040 "text" : "pools"
7aacca6f
DM
25041 },
25042 {
4d47f125
TL
25043 "children" : [
25044 {
25045 "info" : {
25046 "DELETE" : {
25047 "description" : "Unset a ceph flag",
25048 "method" : "DELETE",
25049 "name" : "unset_flag",
25050 "parameters" : {
25051 "additionalProperties" : 0,
25052 "properties" : {
25053 "flag" : {
25054 "description" : "The ceph flag to set/unset",
25055 "enum" : [
25056 "full",
25057 "pause",
25058 "noup",
25059 "nodown",
25060 "noout",
25061 "noin",
25062 "nobackfill",
25063 "norebalance",
25064 "norecover",
25065 "noscrub",
25066 "nodeep-scrub",
25067 "notieragent"
25068 ],
25069 "type" : "string"
25070 },
25071 "node" : {
25072 "description" : "The cluster node name.",
25073 "format" : "pve-node",
25074 "type" : "string",
25075 "typetext" : "<string>"
25076 }
25077 }
25078 },
25079 "permissions" : {
25080 "check" : [
25081 "perm",
25082 "/",
25083 [
25084 "Sys.Modify"
25085 ]
25086 ]
25087 },
25088 "protected" : 1,
25089 "proxyto" : "node",
25090 "returns" : {
25091 "type" : "null"
25092 }
25093 },
25094 "POST" : {
25095 "description" : "Set a ceph flag",
25096 "method" : "POST",
25097 "name" : "set_flag",
25098 "parameters" : {
25099 "additionalProperties" : 0,
25100 "properties" : {
25101 "flag" : {
25102 "description" : "The ceph flag to set/unset",
25103 "enum" : [
25104 "full",
25105 "pause",
25106 "noup",
25107 "nodown",
25108 "noout",
25109 "noin",
25110 "nobackfill",
25111 "norebalance",
25112 "norecover",
25113 "noscrub",
25114 "nodeep-scrub",
25115 "notieragent"
25116 ],
25117 "type" : "string"
25118 },
25119 "node" : {
25120 "description" : "The cluster node name.",
25121 "format" : "pve-node",
25122 "type" : "string",
25123 "typetext" : "<string>"
25124 }
25125 }
25126 },
25127 "permissions" : {
25128 "check" : [
25129 "perm",
25130 "/",
25131 [
25132 "Sys.Modify"
25133 ]
25134 ]
25135 },
25136 "protected" : 1,
25137 "proxyto" : "node",
25138 "returns" : {
25139 "type" : "null"
25140 }
25141 }
25142 },
25143 "leaf" : 1,
25144 "path" : "/nodes/{node}/ceph/flags/{flag}",
25145 "text" : "{flag}"
25146 }
25147 ],
56122987
DM
25148 "info" : {
25149 "GET" : {
4d47f125 25150 "description" : "get all set ceph flags",
44660702 25151 "method" : "GET",
4d47f125 25152 "name" : "get_flags",
44660702
DM
25153 "parameters" : {
25154 "additionalProperties" : 0,
25155 "properties" : {
25156 "node" : {
25157 "description" : "The cluster node name.",
25158 "format" : "pve-node",
013dc89f
DM
25159 "type" : "string",
25160 "typetext" : "<string>"
44660702
DM
25161 }
25162 }
25163 },
56122987
DM
25164 "permissions" : {
25165 "check" : [
25166 "perm",
25167 "/",
25168 [
4d47f125
TL
25169 "Sys.Audit"
25170 ]
56122987 25171 ]
4d47f125
TL
25172 },
25173 "protected" : 1,
25174 "proxyto" : "node",
25175 "returns" : {
25176 "type" : "string"
44660702 25177 }
56122987 25178 }
44660702 25179 },
4d47f125
TL
25180 "leaf" : 0,
25181 "path" : "/nodes/{node}/ceph/flags",
25182 "text" : "flags"
56122987
DM
25183 },
25184 {
56122987
DM
25185 "info" : {
25186 "GET" : {
4d47f125 25187 "description" : "Get OSD crush map",
44660702 25188 "method" : "GET",
4d47f125 25189 "name" : "crush",
56122987 25190 "parameters" : {
7aacca6f 25191 "additionalProperties" : 0,
56122987 25192 "properties" : {
56122987 25193 "node" : {
7aacca6f 25194 "description" : "The cluster node name.",
44660702 25195 "format" : "pve-node",
013dc89f
DM
25196 "type" : "string",
25197 "typetext" : "<string>"
56122987 25198 }
7aacca6f 25199 }
56122987 25200 },
56122987
DM
25201 "permissions" : {
25202 "check" : [
25203 "perm",
25204 "/",
25205 [
25206 "Sys.Audit",
25207 "Datastore.Audit"
25208 ],
25209 "any",
25210 1
25211 ]
44660702 25212 },
4d47f125
TL
25213 "protected" : 1,
25214 "proxyto" : "node",
44660702
DM
25215 "returns" : {
25216 "type" : "string"
7aacca6f
DM
25217 }
25218 }
44660702
DM
25219 },
25220 "leaf" : 1,
4d47f125
TL
25221 "path" : "/nodes/{node}/ceph/crush",
25222 "text" : "crush"
7aacca6f
DM
25223 },
25224 {
7aacca6f
DM
25225 "info" : {
25226 "GET" : {
4d47f125 25227 "description" : "Read ceph log",
7aacca6f 25228 "method" : "GET",
4d47f125 25229 "name" : "log",
7aacca6f
DM
25230 "parameters" : {
25231 "additionalProperties" : 0,
25232 "properties" : {
4d47f125
TL
25233 "limit" : {
25234 "minimum" : 0,
25235 "optional" : 1,
25236 "type" : "integer",
25237 "typetext" : "<integer> (0 - N)"
25238 },
7aacca6f 25239 "node" : {
7aacca6f 25240 "description" : "The cluster node name.",
44660702 25241 "format" : "pve-node",
013dc89f
DM
25242 "type" : "string",
25243 "typetext" : "<string>"
4d47f125
TL
25244 },
25245 "start" : {
25246 "minimum" : 0,
25247 "optional" : 1,
25248 "type" : "integer",
25249 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
25250 }
25251 }
25252 },
44660702
DM
25253 "permissions" : {
25254 "check" : [
25255 "perm",
4d47f125 25256 "/nodes/{node}",
44660702 25257 [
4d47f125
TL
25258 "Sys.Syslog"
25259 ]
44660702
DM
25260 ]
25261 },
7aacca6f 25262 "protected" : 1,
44660702 25263 "proxyto" : "node",
7aacca6f
DM
25264 "returns" : {
25265 "items" : {
25266 "properties" : {
4d47f125
TL
25267 "n" : {
25268 "description" : "Line number",
25269 "type" : "integer"
56122987 25270 },
4d47f125
TL
25271 "t" : {
25272 "description" : "Line text",
56122987
DM
25273 "type" : "string"
25274 }
7aacca6f
DM
25275 },
25276 "type" : "object"
56122987
DM
25277 },
25278 "type" : "array"
44660702 25279 }
4d47f125
TL
25280 }
25281 },
25282 "leaf" : 1,
25283 "path" : "/nodes/{node}/ceph/log",
25284 "text" : "log"
25285 },
25286 {
25287 "info" : {
25288 "GET" : {
25289 "description" : "List ceph rules.",
25290 "method" : "GET",
25291 "name" : "rules",
44660702
DM
25292 "parameters" : {
25293 "additionalProperties" : 0,
25294 "properties" : {
25295 "node" : {
25296 "description" : "The cluster node name.",
25297 "format" : "pve-node",
013dc89f
DM
25298 "type" : "string",
25299 "typetext" : "<string>"
44660702
DM
25300 }
25301 }
25302 },
7aacca6f
DM
25303 "permissions" : {
25304 "check" : [
25305 "perm",
25306 "/",
25307 [
4d47f125
TL
25308 "Sys.Audit",
25309 "Datastore.Audit"
25310 ],
25311 "any",
25312 1
7aacca6f
DM
25313 ]
25314 },
44660702 25315 "protected" : 1,
7aacca6f 25316 "proxyto" : "node",
56122987 25317 "returns" : {
4d47f125
TL
25318 "items" : {
25319 "properties" : {},
25320 "type" : "object"
25321 },
25322 "links" : [
25323 {
25324 "href" : "{name}",
25325 "rel" : "child"
25326 }
25327 ],
25328 "type" : "array"
44660702 25329 }
56122987 25330 }
44660702 25331 },
4d47f125
TL
25332 "leaf" : 1,
25333 "path" : "/nodes/{node}/ceph/rules",
25334 "text" : "rules"
25335 }
25336 ],
25337 "info" : {
25338 "GET" : {
25339 "description" : "Directory index.",
25340 "method" : "GET",
25341 "name" : "index",
25342 "parameters" : {
25343 "additionalProperties" : 0,
25344 "properties" : {
25345 "node" : {
25346 "description" : "The cluster node name.",
25347 "format" : "pve-node",
25348 "type" : "string",
25349 "typetext" : "<string>"
25350 }
25351 }
25352 },
25353 "permissions" : {
25354 "check" : [
25355 "perm",
25356 "/",
25357 [
25358 "Sys.Audit",
25359 "Datastore.Audit"
25360 ],
25361 "any",
25362 1
25363 ]
25364 },
25365 "returns" : {
25366 "items" : {
25367 "properties" : {},
25368 "type" : "object"
25369 },
25370 "links" : [
25371 {
25372 "href" : "{name}",
25373 "rel" : "child"
25374 }
25375 ],
25376 "type" : "array"
25377 }
25378 }
25379 },
25380 "leaf" : 0,
25381 "path" : "/nodes/{node}/ceph",
25382 "text" : "ceph"
25383 },
25384 {
25385 "children" : [
56122987
DM
25386 {
25387 "info" : {
4d47f125
TL
25388 "GET" : {
25389 "description" : "Extract configuration from vzdump backup archive.",
25390 "method" : "GET",
25391 "name" : "extractconfig",
25392 "parameters" : {
25393 "additionalProperties" : 0,
25394 "properties" : {
44660702
DM
25395 "node" : {
25396 "description" : "The cluster node name.",
25397 "format" : "pve-node",
013dc89f
DM
25398 "type" : "string",
25399 "typetext" : "<string>"
44660702 25400 },
4d47f125
TL
25401 "volume" : {
25402 "description" : "Volume identifier",
25403 "type" : "string",
25404 "typetext" : "<string>"
44660702
DM
25405 }
25406 }
7aacca6f 25407 },
56122987 25408 "permissions" : {
4d47f125
TL
25409 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
25410 "user" : "all"
56122987 25411 },
7aacca6f 25412 "protected" : 1,
44660702
DM
25413 "proxyto" : "node",
25414 "returns" : {
4d47f125 25415 "type" : "string"
7aacca6f
DM
25416 }
25417 }
25418 },
7aacca6f 25419 "leaf" : 1,
4d47f125
TL
25420 "path" : "/nodes/{node}/vzdump/extractconfig",
25421 "text" : "extractconfig"
25422 }
25423 ],
25424 "info" : {
25425 "POST" : {
25426 "description" : "Create backup.",
25427 "method" : "POST",
25428 "name" : "vzdump",
25429 "parameters" : {
25430 "additionalProperties" : 0,
25431 "properties" : {
25432 "all" : {
25433 "default" : 0,
25434 "description" : "Backup all known guest systems on this host.",
25435 "optional" : 1,
25436 "type" : "boolean",
25437 "typetext" : "<boolean>"
25438 },
25439 "bwlimit" : {
25440 "default" : 0,
25441 "description" : "Limit I/O bandwidth (KBytes per second).",
25442 "minimum" : 0,
25443 "optional" : 1,
25444 "type" : "integer",
25445 "typetext" : "<integer> (0 - N)"
25446 },
25447 "compress" : {
25448 "default" : "0",
25449 "description" : "Compress dump file.",
25450 "enum" : [
25451 "0",
25452 "1",
25453 "gzip",
25454 "lzo"
25455 ],
25456 "optional" : 1,
25457 "type" : "string"
25458 },
25459 "dumpdir" : {
25460 "description" : "Store resulting files to specified directory.",
25461 "optional" : 1,
25462 "type" : "string",
25463 "typetext" : "<string>"
25464 },
25465 "exclude" : {
25466 "description" : "Exclude specified guest systems (assumes --all)",
25467 "format" : "pve-vmid-list",
25468 "optional" : 1,
25469 "type" : "string",
25470 "typetext" : "<string>"
25471 },
25472 "exclude-path" : {
25473 "description" : "Exclude certain files/directories (shell globs).",
25474 "format" : "string-alist",
25475 "optional" : 1,
25476 "type" : "string",
25477 "typetext" : "<string>"
25478 },
25479 "ionice" : {
25480 "default" : 7,
25481 "description" : "Set CFQ ionice priority.",
25482 "maximum" : 8,
25483 "minimum" : 0,
25484 "optional" : 1,
25485 "type" : "integer",
25486 "typetext" : "<integer> (0 - 8)"
25487 },
25488 "lockwait" : {
25489 "default" : 180,
25490 "description" : "Maximal time to wait for the global lock (minutes).",
25491 "minimum" : 0,
25492 "optional" : 1,
25493 "type" : "integer",
25494 "typetext" : "<integer> (0 - N)"
25495 },
25496 "mailnotification" : {
25497 "default" : "always",
25498 "description" : "Specify when to send an email",
25499 "enum" : [
25500 "always",
25501 "failure"
25502 ],
25503 "optional" : 1,
25504 "type" : "string"
25505 },
25506 "mailto" : {
25507 "description" : "Comma-separated list of email addresses that should receive email notifications.",
25508 "format" : "string-list",
25509 "optional" : 1,
25510 "type" : "string",
25511 "typetext" : "<string>"
25512 },
25513 "maxfiles" : {
25514 "default" : 1,
25515 "description" : "Maximal number of backup files per guest system.",
25516 "minimum" : 1,
25517 "optional" : 1,
25518 "type" : "integer",
25519 "typetext" : "<integer> (1 - N)"
25520 },
25521 "mode" : {
25522 "default" : "snapshot",
25523 "description" : "Backup mode.",
25524 "enum" : [
25525 "snapshot",
25526 "suspend",
25527 "stop"
25528 ],
25529 "optional" : 1,
25530 "type" : "string"
25531 },
25532 "node" : {
25533 "description" : "Only run if executed on this node.",
25534 "format" : "pve-node",
25535 "optional" : 1,
25536 "type" : "string",
25537 "typetext" : "<string>"
25538 },
25539 "pigz" : {
25540 "default" : 0,
25541 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
25542 "optional" : 1,
25543 "type" : "integer",
25544 "typetext" : "<integer>"
25545 },
25546 "quiet" : {
25547 "default" : 0,
25548 "description" : "Be quiet.",
25549 "optional" : 1,
25550 "type" : "boolean",
25551 "typetext" : "<boolean>"
25552 },
25553 "remove" : {
25554 "default" : 1,
25555 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
25556 "optional" : 1,
25557 "type" : "boolean",
25558 "typetext" : "<boolean>"
25559 },
25560 "script" : {
25561 "description" : "Use specified hook script.",
25562 "optional" : 1,
25563 "type" : "string",
25564 "typetext" : "<string>"
25565 },
25566 "size" : {
25567 "default" : 1024,
25568 "description" : "Unused, will be removed in a future release.",
25569 "minimum" : 500,
25570 "optional" : 1,
25571 "type" : "integer",
25572 "typetext" : "<integer> (500 - N)"
25573 },
25574 "stdexcludes" : {
25575 "default" : 1,
25576 "description" : "Exclude temporary files and logs.",
25577 "optional" : 1,
25578 "type" : "boolean",
25579 "typetext" : "<boolean>"
25580 },
25581 "stdout" : {
25582 "description" : "Write tar to stdout, not to a file.",
25583 "optional" : 1,
25584 "type" : "boolean",
25585 "typetext" : "<boolean>"
25586 },
25587 "stop" : {
25588 "default" : 0,
25589 "description" : "Stop runnig backup jobs on this host.",
25590 "optional" : 1,
25591 "type" : "boolean",
25592 "typetext" : "<boolean>"
25593 },
25594 "stopwait" : {
25595 "default" : 10,
25596 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
25597 "minimum" : 0,
25598 "optional" : 1,
25599 "type" : "integer",
25600 "typetext" : "<integer> (0 - N)"
25601 },
25602 "storage" : {
25603 "description" : "Store resulting file to this storage.",
25604 "format" : "pve-storage-id",
25605 "optional" : 1,
25606 "type" : "string",
25607 "typetext" : "<string>"
25608 },
25609 "tmpdir" : {
25610 "description" : "Store temporary files to specified directory.",
25611 "optional" : 1,
25612 "type" : "string",
25613 "typetext" : "<string>"
25614 },
25615 "vmid" : {
25616 "description" : "The ID of the guest system you want to backup.",
25617 "format" : "pve-vmid-list",
25618 "optional" : 1,
25619 "type" : "string",
25620 "typetext" : "<string>"
25621 }
25622 }
25623 },
25624 "permissions" : {
25625 "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.",
25626 "user" : "all"
25627 },
25628 "protected" : 1,
25629 "proxyto" : "node",
25630 "returns" : {
25631 "type" : "string"
25632 }
25633 }
25634 },
25635 "leaf" : 0,
25636 "path" : "/nodes/{node}/vzdump",
25637 "text" : "vzdump"
25638 },
25639 {
25640 "children" : [
2489d6df
WB
25641 {
25642 "children" : [
25643 {
25644 "info" : {
4d47f125
TL
25645 "GET" : {
25646 "description" : "Read service properties",
25647 "method" : "GET",
25648 "name" : "service_state",
2489d6df
WB
25649 "parameters" : {
25650 "additionalProperties" : 0,
25651 "properties" : {
2489d6df
WB
25652 "node" : {
25653 "description" : "The cluster node name.",
25654 "format" : "pve-node",
25655 "type" : "string",
25656 "typetext" : "<string>"
4d47f125
TL
25657 },
25658 "service" : {
25659 "description" : "Service ID",
25660 "enum" : [
25661 "pveproxy",
25662 "pvedaemon",
25663 "spiceproxy",
25664 "pvestatd",
25665 "pve-cluster",
25666 "corosync",
25667 "pve-firewall",
25668 "pvefw-logger",
25669 "pve-ha-crm",
25670 "pve-ha-lrm",
25671 "sshd",
25672 "syslog",
25673 "cron",
25674 "postfix",
25675 "ksmtuned",
25676 "systemd-timesyncd"
25677 ],
25678 "type" : "string"
2489d6df
WB
25679 }
25680 }
25681 },
25682 "permissions" : {
25683 "check" : [
25684 "perm",
4d47f125 25685 "/nodes/{node}",
2489d6df 25686 [
4d47f125 25687 "Sys.Audit"
2489d6df
WB
25688 ]
25689 ]
25690 },
25691 "protected" : 1,
25692 "proxyto" : "node",
25693 "returns" : {
4d47f125 25694 "type" : "object"
2489d6df
WB
25695 }
25696 }
25697 },
25698 "leaf" : 1,
4d47f125
TL
25699 "path" : "/nodes/{node}/services/{service}/state",
25700 "text" : "state"
25701 },
25702 {
25703 "info" : {
25704 "POST" : {
25705 "description" : "Start service.",
25706 "method" : "POST",
25707 "name" : "service_start",
25708 "parameters" : {
25709 "additionalProperties" : 0,
25710 "properties" : {
25711 "node" : {
25712 "description" : "The cluster node name.",
25713 "format" : "pve-node",
25714 "type" : "string",
25715 "typetext" : "<string>"
25716 },
25717 "service" : {
25718 "description" : "Service ID",
25719 "enum" : [
25720 "pveproxy",
25721 "pvedaemon",
25722 "spiceproxy",
25723 "pvestatd",
25724 "pve-cluster",
25725 "corosync",
25726 "pve-firewall",
25727 "pvefw-logger",
25728 "pve-ha-crm",
25729 "pve-ha-lrm",
25730 "sshd",
25731 "syslog",
25732 "cron",
25733 "postfix",
25734 "ksmtuned",
25735 "systemd-timesyncd"
25736 ],
25737 "type" : "string"
25738 }
25739 }
7aacca6f 25740 },
4d47f125
TL
25741 "permissions" : {
25742 "check" : [
25743 "perm",
25744 "/nodes/{node}",
25745 [
25746 "Sys.Modify"
25747 ]
25748 ]
7aacca6f 25749 },
4d47f125
TL
25750 "protected" : 1,
25751 "proxyto" : "node",
25752 "returns" : {
25753 "type" : "string"
25754 }
25755 }
56122987 25756 },
4d47f125
TL
25757 "leaf" : 1,
25758 "path" : "/nodes/{node}/services/{service}/start",
25759 "text" : "start"
25760 },
44660702
DM
25761 {
25762 "info" : {
4d47f125
TL
25763 "POST" : {
25764 "description" : "Stop service.",
25765 "method" : "POST",
25766 "name" : "service_stop",
44660702
DM
25767 "parameters" : {
25768 "additionalProperties" : 0,
25769 "properties" : {
44660702
DM
25770 "node" : {
25771 "description" : "The cluster node name.",
25772 "format" : "pve-node",
013dc89f
DM
25773 "type" : "string",
25774 "typetext" : "<string>"
2489d6df 25775 },
4d47f125
TL
25776 "service" : {
25777 "description" : "Service ID",
25778 "enum" : [
25779 "pveproxy",
25780 "pvedaemon",
25781 "spiceproxy",
25782 "pvestatd",
25783 "pve-cluster",
25784 "corosync",
25785 "pve-firewall",
25786 "pvefw-logger",
25787 "pve-ha-crm",
25788 "pve-ha-lrm",
25789 "sshd",
25790 "syslog",
25791 "cron",
25792 "postfix",
25793 "ksmtuned",
25794 "systemd-timesyncd"
25795 ],
25796 "type" : "string"
44660702
DM
25797 }
25798 }
25799 },
25800 "permissions" : {
25801 "check" : [
25802 "perm",
4d47f125 25803 "/nodes/{node}",
44660702
DM
25804 [
25805 "Sys.Modify"
25806 ]
25807 ]
25808 },
25809 "protected" : 1,
25810 "proxyto" : "node",
25811 "returns" : {
2489d6df 25812 "type" : "string"
44660702
DM
25813 }
25814 }
25815 },
25816 "leaf" : 1,
4d47f125
TL
25817 "path" : "/nodes/{node}/services/{service}/stop",
25818 "text" : "stop"
7aacca6f 25819 },
32d876b5
DM
25820 {
25821 "info" : {
4d47f125
TL
25822 "POST" : {
25823 "description" : "Restart service.",
25824 "method" : "POST",
25825 "name" : "service_restart",
32d876b5
DM
25826 "parameters" : {
25827 "additionalProperties" : 0,
25828 "properties" : {
4d47f125
TL
25829 "node" : {
25830 "description" : "The cluster node name.",
25831 "format" : "pve-node",
25832 "type" : "string",
25833 "typetext" : "<string>"
25834 },
25835 "service" : {
25836 "description" : "Service ID",
32d876b5 25837 "enum" : [
4d47f125
TL
25838 "pveproxy",
25839 "pvedaemon",
25840 "spiceproxy",
25841 "pvestatd",
25842 "pve-cluster",
25843 "corosync",
25844 "pve-firewall",
25845 "pvefw-logger",
25846 "pve-ha-crm",
25847 "pve-ha-lrm",
25848 "sshd",
25849 "syslog",
25850 "cron",
25851 "postfix",
25852 "ksmtuned",
25853 "systemd-timesyncd"
32d876b5
DM
25854 ],
25855 "type" : "string"
32d876b5
DM
25856 }
25857 }
25858 },
25859 "permissions" : {
25860 "check" : [
25861 "perm",
4d47f125 25862 "/nodes/{node}",
32d876b5
DM
25863 [
25864 "Sys.Modify"
25865 ]
25866 ]
25867 },
25868 "protected" : 1,
25869 "proxyto" : "node",
25870 "returns" : {
4d47f125 25871 "type" : "string"
32d876b5 25872 }
4d47f125
TL
25873 }
25874 },
25875 "leaf" : 1,
25876 "path" : "/nodes/{node}/services/{service}/restart",
25877 "text" : "restart"
25878 },
25879 {
25880 "info" : {
32d876b5 25881 "POST" : {
4d47f125 25882 "description" : "Reload service.",
32d876b5 25883 "method" : "POST",
4d47f125 25884 "name" : "service_reload",
32d876b5
DM
25885 "parameters" : {
25886 "additionalProperties" : 0,
25887 "properties" : {
32d876b5
DM
25888 "node" : {
25889 "description" : "The cluster node name.",
25890 "format" : "pve-node",
25891 "type" : "string",
25892 "typetext" : "<string>"
4d47f125
TL
25893 },
25894 "service" : {
25895 "description" : "Service ID",
25896 "enum" : [
25897 "pveproxy",
25898 "pvedaemon",
25899 "spiceproxy",
25900 "pvestatd",
25901 "pve-cluster",
25902 "corosync",
25903 "pve-firewall",
25904 "pvefw-logger",
25905 "pve-ha-crm",
25906 "pve-ha-lrm",
25907 "sshd",
25908 "syslog",
25909 "cron",
25910 "postfix",
25911 "ksmtuned",
25912 "systemd-timesyncd"
25913 ],
25914 "type" : "string"
32d876b5
DM
25915 }
25916 }
25917 },
25918 "permissions" : {
25919 "check" : [
25920 "perm",
4d47f125 25921 "/nodes/{node}",
32d876b5
DM
25922 [
25923 "Sys.Modify"
25924 ]
25925 ]
25926 },
25927 "protected" : 1,
25928 "proxyto" : "node",
25929 "returns" : {
4d47f125 25930 "type" : "string"
32d876b5
DM
25931 }
25932 }
25933 },
25934 "leaf" : 1,
4d47f125
TL
25935 "path" : "/nodes/{node}/services/{service}/reload",
25936 "text" : "reload"
32d876b5
DM
25937 }
25938 ],
25939 "info" : {
25940 "GET" : {
4d47f125 25941 "description" : "Directory index",
44660702 25942 "method" : "GET",
4d47f125 25943 "name" : "srvcmdidx",
44660702
DM
25944 "parameters" : {
25945 "additionalProperties" : 0,
25946 "properties" : {
44660702
DM
25947 "node" : {
25948 "description" : "The cluster node name.",
25949 "format" : "pve-node",
013dc89f
DM
25950 "type" : "string",
25951 "typetext" : "<string>"
44660702 25952 },
4d47f125
TL
25953 "service" : {
25954 "description" : "Service ID",
25955 "enum" : [
25956 "pveproxy",
25957 "pvedaemon",
25958 "spiceproxy",
25959 "pvestatd",
25960 "pve-cluster",
25961 "corosync",
25962 "pve-firewall",
25963 "pvefw-logger",
25964 "pve-ha-crm",
25965 "pve-ha-lrm",
25966 "sshd",
25967 "syslog",
25968 "cron",
25969 "postfix",
25970 "ksmtuned",
25971 "systemd-timesyncd"
25972 ],
25973 "type" : "string"
44660702 25974 }
7aacca6f 25975 }
56122987 25976 },
56122987
DM
25977 "permissions" : {
25978 "check" : [
25979 "perm",
7aacca6f 25980 "/nodes/{node}",
56122987 25981 [
4d47f125 25982 "Sys.Audit"
56122987
DM
25983 ]
25984 ]
25985 },
44660702
DM
25986 "returns" : {
25987 "items" : {
25988 "properties" : {
4d47f125 25989 "subdir" : {
44660702
DM
25990 "type" : "string"
25991 }
56122987 25992 },
44660702 25993 "type" : "object"
56122987 25994 },
2489d6df
WB
25995 "links" : [
25996 {
4d47f125 25997 "href" : "{subdir}",
2489d6df
WB
25998 "rel" : "child"
25999 }
26000 ],
26001 "type" : "array"
26002 }
26003 }
4d47f125
TL
26004 },
26005 "leaf" : 0,
26006 "path" : "/nodes/{node}/services/{service}",
26007 "text" : "{service}"
7aacca6f
DM
26008 }
26009 ],
44660702
DM
26010 "info" : {
26011 "GET" : {
4d47f125 26012 "description" : "Service list.",
44660702
DM
26013 "method" : "GET",
26014 "name" : "index",
26015 "parameters" : {
26016 "additionalProperties" : 0,
26017 "properties" : {
26018 "node" : {
26019 "description" : "The cluster node name.",
26020 "format" : "pve-node",
013dc89f
DM
26021 "type" : "string",
26022 "typetext" : "<string>"
44660702
DM
26023 }
26024 }
26025 },
26026 "permissions" : {
26027 "check" : [
26028 "perm",
4d47f125 26029 "/nodes/{node}",
44660702 26030 [
4d47f125
TL
26031 "Sys.Audit"
26032 ]
44660702
DM
26033 ]
26034 },
4d47f125
TL
26035 "protected" : 1,
26036 "proxyto" : "node",
44660702
DM
26037 "returns" : {
26038 "items" : {
26039 "properties" : {},
26040 "type" : "object"
26041 },
26042 "links" : [
26043 {
4d47f125 26044 "href" : "{service}",
44660702
DM
26045 "rel" : "child"
26046 }
26047 ],
26048 "type" : "array"
26049 }
26050 }
26051 },
7aacca6f 26052 "leaf" : 0,
4d47f125
TL
26053 "path" : "/nodes/{node}/services",
26054 "text" : "services"
7aacca6f
DM
26055 },
26056 {
7aacca6f 26057 "info" : {
4d47f125
TL
26058 "GET" : {
26059 "description" : "Read subscription info.",
26060 "method" : "GET",
26061 "name" : "get",
7aacca6f 26062 "parameters" : {
44660702 26063 "additionalProperties" : 0,
7aacca6f 26064 "properties" : {
44660702 26065 "node" : {
4d47f125 26066 "description" : "The cluster node name.",
44660702 26067 "format" : "pve-node",
013dc89f
DM
26068 "type" : "string",
26069 "typetext" : "<string>"
4d47f125
TL
26070 }
26071 }
26072 },
26073 "permissions" : {
26074 "user" : "all"
26075 },
26076 "proxyto" : "node",
26077 "returns" : {
26078 "type" : "object"
26079 }
26080 },
26081 "POST" : {
26082 "description" : "Update subscription info.",
26083 "method" : "POST",
26084 "name" : "update",
26085 "parameters" : {
26086 "additionalProperties" : 0,
26087 "properties" : {
26088 "force" : {
26089 "default" : 0,
26090 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 26091 "optional" : 1,
4d47f125
TL
26092 "type" : "boolean",
26093 "typetext" : "<boolean>"
44660702 26094 },
4d47f125
TL
26095 "node" : {
26096 "description" : "The cluster node name.",
26097 "format" : "pve-node",
013dc89f
DM
26098 "type" : "string",
26099 "typetext" : "<string>"
4d47f125
TL
26100 }
26101 }
26102 },
26103 "permissions" : {
26104 "check" : [
26105 "perm",
26106 "/nodes/{node}",
26107 [
26108 "Sys.Modify"
26109 ]
26110 ]
26111 },
26112 "protected" : 1,
26113 "proxyto" : "node",
26114 "returns" : {
26115 "type" : "null"
26116 }
26117 },
26118 "PUT" : {
26119 "description" : "Set subscription key.",
26120 "method" : "PUT",
26121 "name" : "set",
26122 "parameters" : {
26123 "additionalProperties" : 0,
26124 "properties" : {
26125 "key" : {
26126 "description" : "Proxmox VE subscription key",
26127 "maxLength" : 32,
26128 "pattern" : "pve([124])([cbsp])-[0-9a-f]{10}",
26129 "type" : "string"
7aacca6f 26130 },
4d47f125
TL
26131 "node" : {
26132 "description" : "The cluster node name.",
26133 "format" : "pve-node",
013dc89f
DM
26134 "type" : "string",
26135 "typetext" : "<string>"
7aacca6f 26136 }
7aacca6f
DM
26137 }
26138 },
7aacca6f 26139 "permissions" : {
4d47f125
TL
26140 "check" : [
26141 "perm",
26142 "/nodes/{node}",
26143 [
26144 "Sys.Modify"
26145 ]
26146 ]
7aacca6f 26147 },
44660702 26148 "protected" : 1,
7aacca6f 26149 "proxyto" : "node",
7aacca6f 26150 "returns" : {
4d47f125 26151 "type" : "null"
7aacca6f
DM
26152 }
26153 }
26154 },
4d47f125
TL
26155 "leaf" : 1,
26156 "path" : "/nodes/{node}/subscription",
26157 "text" : "subscription"
44660702
DM
26158 },
26159 {
7aacca6f
DM
26160 "children" : [
26161 {
4d47f125
TL
26162 "info" : {
26163 "DELETE" : {
26164 "description" : "Delete network device configuration",
26165 "method" : "DELETE",
26166 "name" : "delete_network",
26167 "parameters" : {
26168 "additionalProperties" : 0,
26169 "properties" : {
26170 "iface" : {
26171 "description" : "Network interface name.",
26172 "format" : "pve-iface",
26173 "maxLength" : 20,
26174 "minLength" : 2,
26175 "type" : "string",
26176 "typetext" : "<string>"
7aacca6f 26177 },
4d47f125
TL
26178 "node" : {
26179 "description" : "The cluster node name.",
26180 "format" : "pve-node",
26181 "type" : "string",
26182 "typetext" : "<string>"
44660702
DM
26183 }
26184 }
26185 },
4d47f125
TL
26186 "permissions" : {
26187 "check" : [
26188 "perm",
26189 "/nodes/{node}",
26190 [
26191 "Sys.Modify"
26192 ]
26193 ]
26194 },
26195 "protected" : 1,
26196 "proxyto" : "node",
26197 "returns" : {
26198 "type" : "null"
26199 }
26200 },
26201 "GET" : {
26202 "description" : "Read network device configuration",
26203 "method" : "GET",
26204 "name" : "network_config",
26205 "parameters" : {
26206 "additionalProperties" : 0,
26207 "properties" : {
26208 "iface" : {
26209 "description" : "Network interface name.",
26210 "format" : "pve-iface",
26211 "maxLength" : 20,
26212 "minLength" : 2,
26213 "type" : "string",
26214 "typetext" : "<string>"
56122987 26215 },
4d47f125
TL
26216 "node" : {
26217 "description" : "The cluster node name.",
26218 "format" : "pve-node",
26219 "type" : "string",
26220 "typetext" : "<string>"
44660702
DM
26221 }
26222 }
26223 },
4d47f125
TL
26224 "permissions" : {
26225 "check" : [
26226 "perm",
26227 "/nodes/{node}",
26228 [
26229 "Sys.Audit"
26230 ]
26231 ]
26232 },
26233 "proxyto" : "node",
26234 "returns" : {
26235 "properties" : {
26236 "method" : {
26237 "type" : "string"
44660702 26238 },
4d47f125 26239 "type" : {
44660702
DM
26240 "type" : "string"
26241 }
4d47f125
TL
26242 },
26243 "type" : "object"
26244 }
56122987 26245 },
4d47f125
TL
26246 "PUT" : {
26247 "description" : "Update network device configuration",
26248 "method" : "PUT",
26249 "name" : "update_network",
26250 "parameters" : {
26251 "additionalProperties" : 0,
26252 "properties" : {
26253 "address" : {
26254 "description" : "IP address.",
26255 "format" : "ipv4",
26256 "optional" : 1,
26257 "requires" : "netmask",
26258 "type" : "string",
26259 "typetext" : "<string>"
26260 },
26261 "address6" : {
26262 "description" : "IP address.",
26263 "format" : "ipv6",
26264 "optional" : 1,
26265 "requires" : "netmask6",
26266 "type" : "string",
26267 "typetext" : "<string>"
26268 },
26269 "autostart" : {
26270 "description" : "Automatically start interface on boot.",
26271 "optional" : 1,
26272 "type" : "boolean",
26273 "typetext" : "<boolean>"
26274 },
26275 "bond_mode" : {
26276 "description" : "Bonding mode.",
26277 "enum" : [
26278 "balance-rr",
26279 "active-backup",
26280 "balance-xor",
26281 "broadcast",
26282 "802.3ad",
26283 "balance-tlb",
26284 "balance-alb",
26285 "balance-slb",
26286 "lacp-balance-slb",
26287 "lacp-balance-tcp"
26288 ],
26289 "optional" : 1,
26290 "type" : "string"
26291 },
26292 "bond_xmit_hash_policy" : {
26293 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
26294 "enum" : [
26295 "layer2",
26296 "layer2+3",
26297 "layer3+4"
26298 ],
26299 "optional" : 1,
26300 "type" : "string"
26301 },
26302 "bridge_ports" : {
26303 "description" : "Specify the iterfaces you want to add to your bridge.",
26304 "format" : "pve-iface-list",
26305 "optional" : 1,
26306 "type" : "string",
26307 "typetext" : "<string>"
26308 },
26309 "bridge_vlan_aware" : {
26310 "description" : "Enable bridge vlan support.",
26311 "optional" : 1,
26312 "type" : "boolean",
26313 "typetext" : "<boolean>"
26314 },
26315 "comments" : {
26316 "description" : "Comments",
26317 "optional" : 1,
26318 "type" : "string",
26319 "typetext" : "<string>"
26320 },
26321 "comments6" : {
26322 "description" : "Comments",
26323 "optional" : 1,
26324 "type" : "string",
26325 "typetext" : "<string>"
26326 },
26327 "delete" : {
26328 "description" : "A list of settings you want to delete.",
26329 "format" : "pve-configid-list",
26330 "optional" : 1,
26331 "type" : "string",
26332 "typetext" : "<string>"
26333 },
26334 "gateway" : {
26335 "description" : "Default gateway address.",
26336 "format" : "ipv4",
26337 "optional" : 1,
26338 "type" : "string",
26339 "typetext" : "<string>"
26340 },
26341 "gateway6" : {
26342 "description" : "Default ipv6 gateway address.",
26343 "format" : "ipv6",
26344 "optional" : 1,
26345 "type" : "string",
26346 "typetext" : "<string>"
26347 },
26348 "iface" : {
26349 "description" : "Network interface name.",
26350 "format" : "pve-iface",
26351 "maxLength" : 20,
26352 "minLength" : 2,
26353 "type" : "string",
26354 "typetext" : "<string>"
56122987 26355 },
4d47f125
TL
26356 "netmask" : {
26357 "description" : "Network mask.",
26358 "format" : "ipv4mask",
26359 "optional" : 1,
26360 "requires" : "address",
26361 "type" : "string",
26362 "typetext" : "<string>"
26363 },
26364 "netmask6" : {
26365 "description" : "Network mask.",
26366 "maximum" : 128,
26367 "minimum" : 0,
26368 "optional" : 1,
26369 "requires" : "address6",
26370 "type" : "integer",
26371 "typetext" : "<integer> (0 - 128)"
56122987 26372 },
44660702
DM
26373 "node" : {
26374 "description" : "The cluster node name.",
26375 "format" : "pve-node",
013dc89f
DM
26376 "type" : "string",
26377 "typetext" : "<string>"
44660702 26378 },
4d47f125
TL
26379 "ovs_bonds" : {
26380 "description" : "Specify the interfaces used by the bonding device.",
26381 "format" : "pve-iface-list",
26382 "optional" : 1,
26383 "type" : "string",
26384 "typetext" : "<string>"
26385 },
26386 "ovs_bridge" : {
26387 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
26388 "format" : "pve-iface",
26389 "optional" : 1,
26390 "type" : "string",
26391 "typetext" : "<string>"
26392 },
26393 "ovs_options" : {
26394 "description" : "OVS interface options.",
26395 "maxLength" : 1024,
26396 "optional" : 1,
26397 "type" : "string",
26398 "typetext" : "<string>"
26399 },
26400 "ovs_ports" : {
26401 "description" : "Specify the iterfaces you want to add to your bridge.",
26402 "format" : "pve-iface-list",
26403 "optional" : 1,
26404 "type" : "string",
26405 "typetext" : "<string>"
26406 },
26407 "ovs_tag" : {
26408 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
26409 "maximum" : 4094,
26410 "minimum" : 1,
26411 "optional" : 1,
26412 "type" : "integer",
26413 "typetext" : "<integer> (1 - 4094)"
26414 },
26415 "slaves" : {
26416 "description" : "Specify the interfaces used by the bonding device.",
26417 "format" : "pve-iface-list",
26418 "optional" : 1,
26419 "type" : "string",
26420 "typetext" : "<string>"
26421 },
26422 "type" : {
26423 "description" : "Network interface type",
44660702 26424 "enum" : [
4d47f125
TL
26425 "bridge",
26426 "bond",
26427 "eth",
26428 "alias",
26429 "vlan",
26430 "OVSBridge",
26431 "OVSBond",
26432 "OVSPort",
26433 "OVSIntPort",
26434 "unknown"
44660702
DM
26435 ],
26436 "type" : "string"
26437 }
26438 }
26439 },
26440 "permissions" : {
26441 "check" : [
26442 "perm",
26443 "/nodes/{node}",
26444 [
4d47f125 26445 "Sys.Modify"
44660702
DM
26446 ]
26447 ]
26448 },
4d47f125
TL
26449 "protected" : 1,
26450 "proxyto" : "node",
44660702 26451 "returns" : {
4d47f125 26452 "type" : "null"
44660702
DM
26453 }
26454 }
26455 },
4d47f125
TL
26456 "leaf" : 1,
26457 "path" : "/nodes/{node}/network/{iface}",
26458 "text" : "{iface}"
44660702
DM
26459 }
26460 ],
26461 "info" : {
4d47f125
TL
26462 "DELETE" : {
26463 "description" : "Revert network configuration changes.",
26464 "method" : "DELETE",
26465 "name" : "revert_network_changes",
44660702
DM
26466 "parameters" : {
26467 "additionalProperties" : 0,
26468 "properties" : {
26469 "node" : {
26470 "description" : "The cluster node name.",
26471 "format" : "pve-node",
013dc89f
DM
26472 "type" : "string",
26473 "typetext" : "<string>"
44660702
DM
26474 }
26475 }
26476 },
26477 "permissions" : {
26478 "check" : [
26479 "perm",
26480 "/nodes/{node}",
26481 [
4d47f125 26482 "Sys.Modify"
44660702
DM
26483 ]
26484 ]
26485 },
26486 "protected" : 1,
26487 "proxyto" : "node",
4d47f125
TL
26488 "returns" : {
26489 "type" : "null"
26490 }
26491 },
26492 "GET" : {
26493 "description" : "List available networks",
26494 "method" : "GET",
26495 "name" : "index",
26496 "parameters" : {
26497 "additionalProperties" : 0,
26498 "properties" : {
26499 "node" : {
26500 "description" : "The cluster node name.",
26501 "format" : "pve-node",
26502 "type" : "string",
26503 "typetext" : "<string>"
26504 },
26505 "type" : {
26506 "description" : "Only list specific interface types.",
26507 "enum" : [
26508 "bridge",
26509 "bond",
26510 "eth",
26511 "alias",
26512 "vlan",
26513 "OVSBridge",
26514 "OVSBond",
26515 "OVSPort",
26516 "OVSIntPort",
26517 "any_bridge"
26518 ],
26519 "optional" : 1,
26520 "type" : "string"
26521 }
26522 }
26523 },
26524 "permissions" : {
26525 "user" : "all"
26526 },
26527 "proxyto" : "node",
44660702
DM
26528 "returns" : {
26529 "items" : {
26530 "properties" : {},
26531 "type" : "object"
26532 },
26533 "links" : [
26534 {
4d47f125 26535 "href" : "{iface}",
44660702 26536 "rel" : "child"
56122987 26537 }
44660702
DM
26538 ],
26539 "type" : "array"
26540 }
4d47f125
TL
26541 },
26542 "POST" : {
26543 "description" : "Create network device configuration",
26544 "method" : "POST",
26545 "name" : "create_network",
7aacca6f 26546 "parameters" : {
44660702 26547 "additionalProperties" : 0,
7aacca6f 26548 "properties" : {
4d47f125
TL
26549 "address" : {
26550 "description" : "IP address.",
26551 "format" : "ipv4",
26552 "optional" : 1,
26553 "requires" : "netmask",
26554 "type" : "string",
26555 "typetext" : "<string>"
26556 },
26557 "address6" : {
26558 "description" : "IP address.",
26559 "format" : "ipv6",
26560 "optional" : 1,
26561 "requires" : "netmask6",
26562 "type" : "string",
26563 "typetext" : "<string>"
26564 },
26565 "autostart" : {
26566 "description" : "Automatically start interface on boot.",
26567 "optional" : 1,
26568 "type" : "boolean",
26569 "typetext" : "<boolean>"
26570 },
26571 "bond_mode" : {
26572 "description" : "Bonding mode.",
26573 "enum" : [
26574 "balance-rr",
26575 "active-backup",
26576 "balance-xor",
26577 "broadcast",
26578 "802.3ad",
26579 "balance-tlb",
26580 "balance-alb",
26581 "balance-slb",
26582 "lacp-balance-slb",
26583 "lacp-balance-tcp"
26584 ],
26585 "optional" : 1,
26586 "type" : "string"
26587 },
26588 "bond_xmit_hash_policy" : {
26589 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
26590 "enum" : [
26591 "layer2",
26592 "layer2+3",
26593 "layer3+4"
26594 ],
26595 "optional" : 1,
26596 "type" : "string"
26597 },
26598 "bridge_ports" : {
26599 "description" : "Specify the iterfaces you want to add to your bridge.",
26600 "format" : "pve-iface-list",
26601 "optional" : 1,
013dc89f
DM
26602 "type" : "string",
26603 "typetext" : "<string>"
4d47f125
TL
26604 },
26605 "bridge_vlan_aware" : {
26606 "description" : "Enable bridge vlan support.",
44660702 26607 "optional" : 1,
013dc89f
DM
26608 "type" : "boolean",
26609 "typetext" : "<boolean>"
44660702 26610 },
4d47f125
TL
26611 "comments" : {
26612 "description" : "Comments",
26613 "optional" : 1,
26614 "type" : "string",
26615 "typetext" : "<string>"
26616 },
26617 "comments6" : {
26618 "description" : "Comments",
26619 "optional" : 1,
26620 "type" : "string",
26621 "typetext" : "<string>"
26622 },
26623 "gateway" : {
26624 "description" : "Default gateway address.",
26625 "format" : "ipv4",
26626 "optional" : 1,
26627 "type" : "string",
26628 "typetext" : "<string>"
26629 },
26630 "gateway6" : {
26631 "description" : "Default ipv6 gateway address.",
26632 "format" : "ipv6",
26633 "optional" : 1,
26634 "type" : "string",
26635 "typetext" : "<string>"
26636 },
26637 "iface" : {
26638 "description" : "Network interface name.",
26639 "format" : "pve-iface",
26640 "maxLength" : 20,
26641 "minLength" : 2,
26642 "type" : "string",
26643 "typetext" : "<string>"
26644 },
26645 "netmask" : {
26646 "description" : "Network mask.",
26647 "format" : "ipv4mask",
26648 "optional" : 1,
26649 "requires" : "address",
26650 "type" : "string",
26651 "typetext" : "<string>"
26652 },
26653 "netmask6" : {
26654 "description" : "Network mask.",
26655 "maximum" : 128,
26656 "minimum" : 0,
26657 "optional" : 1,
26658 "requires" : "address6",
26659 "type" : "integer",
26660 "typetext" : "<integer> (0 - 128)"
26661 },
7aacca6f 26662 "node" : {
7aacca6f 26663 "description" : "The cluster node name.",
44660702 26664 "format" : "pve-node",
013dc89f
DM
26665 "type" : "string",
26666 "typetext" : "<string>"
4d47f125
TL
26667 },
26668 "ovs_bonds" : {
26669 "description" : "Specify the interfaces used by the bonding device.",
26670 "format" : "pve-iface-list",
26671 "optional" : 1,
26672 "type" : "string",
26673 "typetext" : "<string>"
26674 },
26675 "ovs_bridge" : {
26676 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
26677 "format" : "pve-iface",
26678 "optional" : 1,
26679 "type" : "string",
26680 "typetext" : "<string>"
26681 },
26682 "ovs_options" : {
26683 "description" : "OVS interface options.",
26684 "maxLength" : 1024,
26685 "optional" : 1,
26686 "type" : "string",
26687 "typetext" : "<string>"
26688 },
26689 "ovs_ports" : {
26690 "description" : "Specify the iterfaces you want to add to your bridge.",
26691 "format" : "pve-iface-list",
26692 "optional" : 1,
26693 "type" : "string",
26694 "typetext" : "<string>"
26695 },
26696 "ovs_tag" : {
26697 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
26698 "maximum" : 4094,
26699 "minimum" : 1,
26700 "optional" : 1,
26701 "type" : "integer",
26702 "typetext" : "<integer> (1 - 4094)"
26703 },
26704 "slaves" : {
26705 "description" : "Specify the interfaces used by the bonding device.",
26706 "format" : "pve-iface-list",
26707 "optional" : 1,
26708 "type" : "string",
26709 "typetext" : "<string>"
26710 },
26711 "type" : {
26712 "description" : "Network interface type",
26713 "enum" : [
26714 "bridge",
26715 "bond",
26716 "eth",
26717 "alias",
26718 "vlan",
26719 "OVSBridge",
26720 "OVSBond",
26721 "OVSPort",
26722 "OVSIntPort",
26723 "unknown"
26724 ],
26725 "type" : "string"
7aacca6f
DM
26726 }
26727 }
26728 },
35a75dd3
DM
26729 "permissions" : {
26730 "check" : [
26731 "perm",
26732 "/nodes/{node}",
26733 [
26734 "Sys.Modify"
26735 ]
26736 ]
26737 },
7aacca6f 26738 "protected" : 1,
7aacca6f 26739 "proxyto" : "node",
44660702
DM
26740 "returns" : {
26741 "type" : "null"
26742 }
26743 },
26744 "PUT" : {
4d47f125 26745 "description" : "Reload network configuration",
44660702 26746 "method" : "PUT",
4d47f125 26747 "name" : "reload_network_config",
7aacca6f
DM
26748 "parameters" : {
26749 "additionalProperties" : 0,
26750 "properties" : {
7aacca6f 26751 "node" : {
7aacca6f 26752 "description" : "The cluster node name.",
44660702 26753 "format" : "pve-node",
013dc89f
DM
26754 "type" : "string",
26755 "typetext" : "<string>"
7aacca6f
DM
26756 }
26757 }
26758 },
35a75dd3
DM
26759 "permissions" : {
26760 "check" : [
26761 "perm",
26762 "/nodes/{node}",
26763 [
26764 "Sys.Modify"
26765 ]
26766 ]
26767 },
44660702
DM
26768 "protected" : 1,
26769 "proxyto" : "node",
7aacca6f 26770 "returns" : {
4d47f125 26771 "type" : "string"
44660702 26772 }
7aacca6f
DM
26773 }
26774 },
4d47f125
TL
26775 "leaf" : 0,
26776 "path" : "/nodes/{node}/network",
26777 "text" : "network"
7aacca6f
DM
26778 },
26779 {
7aacca6f
DM
26780 "children" : [
26781 {
4d47f125
TL
26782 "children" : [
26783 {
26784 "info" : {
26785 "GET" : {
26786 "description" : "Read task log.",
26787 "method" : "GET",
26788 "name" : "read_task_log",
26789 "parameters" : {
26790 "additionalProperties" : 0,
26791 "properties" : {
26792 "limit" : {
26793 "default" : 50,
26794 "minimum" : 0,
26795 "optional" : 1,
26796 "type" : "integer",
26797 "typetext" : "<integer> (0 - N)"
26798 },
26799 "node" : {
26800 "description" : "The cluster node name.",
26801 "format" : "pve-node",
26802 "type" : "string",
26803 "typetext" : "<string>"
26804 },
26805 "start" : {
26806 "default" : 0,
26807 "minimum" : 0,
26808 "optional" : 1,
26809 "type" : "integer",
26810 "typetext" : "<integer> (0 - N)"
26811 },
26812 "upid" : {
26813 "type" : "string",
26814 "typetext" : "<string>"
26815 }
26816 }
26817 },
26818 "permissions" : {
26819 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
26820 "user" : "all"
26821 },
26822 "protected" : 1,
26823 "proxyto" : "node",
26824 "returns" : {
26825 "items" : {
26826 "properties" : {
26827 "n" : {
26828 "description" : "Line number",
26829 "type" : "integer"
26830 },
26831 "t" : {
26832 "description" : "Line text",
26833 "type" : "string"
26834 }
26835 },
26836 "type" : "object"
26837 },
26838 "type" : "array"
26839 }
26840 }
26841 },
26842 "leaf" : 1,
26843 "path" : "/nodes/{node}/tasks/{upid}/log",
26844 "text" : "log"
26845 },
26846 {
26847 "info" : {
26848 "GET" : {
26849 "description" : "Read task status.",
26850 "method" : "GET",
26851 "name" : "read_task_status",
26852 "parameters" : {
26853 "additionalProperties" : 0,
26854 "properties" : {
26855 "node" : {
26856 "description" : "The cluster node name.",
26857 "format" : "pve-node",
26858 "type" : "string",
26859 "typetext" : "<string>"
26860 },
26861 "upid" : {
26862 "type" : "string",
26863 "typetext" : "<string>"
26864 }
26865 }
26866 },
26867 "permissions" : {
26868 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
26869 "user" : "all"
26870 },
26871 "protected" : 1,
26872 "proxyto" : "node",
26873 "returns" : {
26874 "properties" : {
26875 "pid" : {
26876 "type" : "integer"
26877 },
26878 "status" : {
26879 "enum" : [
26880 "running",
26881 "stopped"
26882 ],
26883 "type" : "string"
26884 }
26885 },
26886 "type" : "object"
26887 }
26888 }
26889 },
26890 "leaf" : 1,
26891 "path" : "/nodes/{node}/tasks/{upid}/status",
26892 "text" : "status"
26893 }
26894 ],
56122987 26895 "info" : {
7aacca6f 26896 "DELETE" : {
4d47f125 26897 "description" : "Stop a task.",
44660702 26898 "method" : "DELETE",
4d47f125 26899 "name" : "stop_task",
44660702
DM
26900 "parameters" : {
26901 "additionalProperties" : 0,
26902 "properties" : {
44660702
DM
26903 "node" : {
26904 "description" : "The cluster node name.",
26905 "format" : "pve-node",
013dc89f
DM
26906 "type" : "string",
26907 "typetext" : "<string>"
4d47f125
TL
26908 },
26909 "upid" : {
26910 "type" : "string",
26911 "typetext" : "<string>"
44660702
DM
26912 }
26913 }
7aacca6f
DM
26914 },
26915 "permissions" : {
4d47f125
TL
26916 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
26917 "user" : "all"
7aacca6f 26918 },
44660702 26919 "protected" : 1,
7aacca6f 26920 "proxyto" : "node",
44660702
DM
26921 "returns" : {
26922 "type" : "null"
26923 }
26924 },
26925 "GET" : {
4d47f125 26926 "description" : "",
44660702 26927 "method" : "GET",
4d47f125 26928 "name" : "upid_index",
7aacca6f
DM
26929 "parameters" : {
26930 "additionalProperties" : 0,
26931 "properties" : {
7aacca6f 26932 "node" : {
44660702 26933 "description" : "The cluster node name.",
7aacca6f 26934 "format" : "pve-node",
013dc89f
DM
26935 "type" : "string",
26936 "typetext" : "<string>"
7aacca6f 26937 },
4d47f125
TL
26938 "upid" : {
26939 "type" : "string",
26940 "typetext" : "<string>"
7aacca6f
DM
26941 }
26942 }
26943 },
7aacca6f 26944 "permissions" : {
4d47f125 26945 "user" : "all"
7aacca6f
DM
26946 },
26947 "returns" : {
4d47f125
TL
26948 "items" : {
26949 "properties" : {},
26950 "type" : "object"
26951 },
26952 "links" : [
26953 {
26954 "href" : "{name}",
26955 "rel" : "child"
26956 }
26957 ],
26958 "type" : "array"
44660702 26959 }
7aacca6f
DM
26960 }
26961 },
4d47f125
TL
26962 "leaf" : 0,
26963 "path" : "/nodes/{node}/tasks/{upid}",
26964 "text" : "{upid}"
7aacca6f
DM
26965 }
26966 ],
7aacca6f 26967 "info" : {
44660702 26968 "GET" : {
4d47f125 26969 "description" : "Read task list for one node (finished tasks).",
44660702 26970 "method" : "GET",
4d47f125 26971 "name" : "node_tasks",
44660702
DM
26972 "parameters" : {
26973 "additionalProperties" : 0,
26974 "properties" : {
4d47f125
TL
26975 "errors" : {
26976 "default" : 0,
7aacca6f 26977 "optional" : 1,
4d47f125
TL
26978 "type" : "boolean",
26979 "typetext" : "<boolean>"
7aacca6f 26980 },
4d47f125
TL
26981 "limit" : {
26982 "default" : 50,
26983 "description" : "Only list this amount of tasks.",
26984 "minimum" : 0,
44660702 26985 "optional" : 1,
4d47f125
TL
26986 "type" : "integer",
26987 "typetext" : "<integer> (0 - N)"
26988 },
26989 "node" : {
26990 "description" : "The cluster node name.",
26991 "format" : "pve-node",
013dc89f
DM
26992 "type" : "string",
26993 "typetext" : "<string>"
44660702 26994 },
4d47f125
TL
26995 "start" : {
26996 "default" : 0,
26997 "description" : "List tasks beginning from this offset.",
26998 "minimum" : 0,
44660702 26999 "optional" : 1,
4d47f125
TL
27000 "type" : "integer",
27001 "typetext" : "<integer> (0 - N)"
44660702 27002 },
4d47f125
TL
27003 "userfilter" : {
27004 "description" : "Only list tasks from this user.",
44660702 27005 "optional" : 1,
013dc89f
DM
27006 "type" : "string",
27007 "typetext" : "<string>"
44660702 27008 },
4d47f125
TL
27009 "vmid" : {
27010 "description" : "Only list tasks for this VM.",
27011 "format" : "pve-vmid",
44660702
DM
27012 "minimum" : 1,
27013 "optional" : 1,
4bd7df8b 27014 "type" : "integer",
4d47f125
TL
27015 "typetext" : "<integer> (1 - N)"
27016 }
27017 }
27018 },
27019 "permissions" : {
27020 "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).",
27021 "user" : "all"
27022 },
27023 "proxyto" : "node",
27024 "returns" : {
27025 "items" : {
27026 "properties" : {
27027 "endtime" : {
27028 "optional" : 1,
27029 "title" : "Endtime",
27030 "type" : "integer"
27031 },
27032 "id" : {
27033 "optional" : 1,
27034 "title" : "ID",
27035 "type" : "string"
27036 },
27037 "node" : {
27038 "optional" : 1,
27039 "title" : "Node",
27040 "type" : "string"
27041 },
27042 "pid" : {
27043 "optional" : 1,
27044 "title" : "PID",
27045 "type" : "integer"
27046 },
27047 "pstart" : {
27048 "optional" : 1,
27049 "type" : "integer"
27050 },
27051 "starttime" : {
27052 "optional" : 1,
27053 "title" : "Starttime",
27054 "type" : "integer"
27055 },
27056 "status" : {
27057 "optional" : 1,
27058 "title" : "Status",
27059 "type" : "string"
27060 },
27061 "type" : {
27062 "optional" : 1,
27063 "title" : "Type",
27064 "type" : "string"
27065 },
27066 "upid" : {
27067 "title" : "UPID",
27068 "type" : "string"
27069 },
27070 "user" : {
27071 "optional" : 1,
27072 "title" : "User",
27073 "type" : "string"
27074 }
44660702 27075 },
4d47f125
TL
27076 "type" : "object"
27077 },
27078 "links" : [
27079 {
27080 "href" : "{upid}",
27081 "rel" : "child"
27082 }
27083 ],
27084 "type" : "array"
27085 }
27086 }
27087 },
27088 "leaf" : 0,
27089 "path" : "/nodes/{node}/tasks",
27090 "text" : "tasks"
27091 },
27092 {
27093 "children" : [
27094 {
27095 "info" : {
27096 "GET" : {
27097 "description" : "Scan zfs pool list on local node.",
27098 "method" : "GET",
27099 "name" : "zfsscan",
27100 "parameters" : {
27101 "additionalProperties" : 0,
27102 "properties" : {
27103 "node" : {
27104 "description" : "The cluster node name.",
27105 "format" : "pve-node",
27106 "type" : "string",
27107 "typetext" : "<string>"
27108 }
27109 }
44660702 27110 },
4d47f125
TL
27111 "permissions" : {
27112 "check" : [
27113 "perm",
27114 "/storage",
27115 [
27116 "Datastore.Allocate"
27117 ]
27118 ]
27119 },
27120 "protected" : 1,
27121 "proxyto" : "node",
27122 "returns" : {
27123 "items" : {
27124 "properties" : {
27125 "pool" : {
27126 "description" : "ZFS pool name.",
27127 "type" : "string"
27128 }
27129 },
27130 "type" : "object"
27131 },
27132 "type" : "array"
27133 }
27134 }
27135 },
27136 "leaf" : 1,
27137 "path" : "/nodes/{node}/scan/zfs",
27138 "text" : "zfs"
27139 },
27140 {
27141 "info" : {
27142 "GET" : {
27143 "description" : "Scan remote NFS server.",
27144 "method" : "GET",
27145 "name" : "nfsscan",
27146 "parameters" : {
27147 "additionalProperties" : 0,
27148 "properties" : {
27149 "node" : {
27150 "description" : "The cluster node name.",
27151 "format" : "pve-node",
27152 "type" : "string",
27153 "typetext" : "<string>"
27154 },
27155 "server" : {
27156 "description" : "The server address (name or IP).",
27157 "format" : "pve-storage-server",
27158 "type" : "string",
27159 "typetext" : "<string>"
27160 }
27161 }
27162 },
27163 "permissions" : {
27164 "check" : [
27165 "perm",
27166 "/storage",
27167 [
27168 "Datastore.Allocate"
27169 ]
27170 ]
27171 },
27172 "protected" : 1,
27173 "proxyto" : "node",
27174 "returns" : {
27175 "items" : {
27176 "properties" : {
27177 "options" : {
27178 "description" : "NFS export options.",
27179 "type" : "string"
27180 },
27181 "path" : {
27182 "description" : "The exported path.",
27183 "type" : "string"
27184 }
27185 },
27186 "type" : "object"
27187 },
27188 "type" : "array"
27189 }
27190 }
27191 },
27192 "leaf" : 1,
27193 "path" : "/nodes/{node}/scan/nfs",
27194 "text" : "nfs"
27195 },
27196 {
27197 "info" : {
27198 "GET" : {
27199 "description" : "Scan remote CIFS server.",
27200 "method" : "GET",
27201 "name" : "cifsscan",
27202 "parameters" : {
27203 "additionalProperties" : 0,
27204 "properties" : {
27205 "domain" : {
27206 "description" : "SMB domain (Workgroup).",
27207 "optional" : 1,
27208 "type" : "string",
27209 "typetext" : "<string>"
27210 },
27211 "node" : {
27212 "description" : "The cluster node name.",
27213 "format" : "pve-node",
27214 "type" : "string",
27215 "typetext" : "<string>"
27216 },
27217 "password" : {
27218 "description" : "User password.",
27219 "optional" : 1,
27220 "type" : "string",
27221 "typetext" : "<string>"
27222 },
27223 "server" : {
27224 "description" : "The server address (name or IP).",
27225 "format" : "pve-storage-server",
27226 "type" : "string",
27227 "typetext" : "<string>"
27228 },
27229 "username" : {
27230 "description" : "User name.",
27231 "optional" : 1,
27232 "type" : "string",
27233 "typetext" : "<string>"
27234 }
27235 }
27236 },
27237 "permissions" : {
27238 "check" : [
27239 "perm",
27240 "/storage",
27241 [
27242 "Datastore.Allocate"
27243 ]
27244 ]
27245 },
27246 "protected" : 1,
27247 "proxyto" : "node",
27248 "returns" : {
27249 "items" : {
27250 "properties" : {
27251 "description" : {
27252 "description" : "Descriptive text from server.",
27253 "type" : "string"
27254 },
27255 "share" : {
27256 "description" : "The cifs share name.",
27257 "type" : "string"
27258 }
27259 },
27260 "type" : "object"
27261 },
27262 "type" : "array"
56122987 27263 }
44660702 27264 }
56122987 27265 },
4d47f125
TL
27266 "leaf" : 1,
27267 "path" : "/nodes/{node}/scan/cifs",
27268 "text" : "cifs"
27269 },
44660702 27270 {
4d47f125
TL
27271 "info" : {
27272 "GET" : {
27273 "description" : "Scan remote GlusterFS server.",
27274 "method" : "GET",
27275 "name" : "glusterfsscan",
27276 "parameters" : {
27277 "additionalProperties" : 0,
27278 "properties" : {
27279 "node" : {
27280 "description" : "The cluster node name.",
27281 "format" : "pve-node",
27282 "type" : "string",
27283 "typetext" : "<string>"
7aacca6f 27284 },
4d47f125
TL
27285 "server" : {
27286 "description" : "The server address (name or IP).",
27287 "format" : "pve-storage-server",
27288 "type" : "string",
27289 "typetext" : "<string>"
44660702 27290 }
7aacca6f 27291 }
56122987 27292 },
4d47f125
TL
27293 "permissions" : {
27294 "check" : [
27295 "perm",
27296 "/storage",
27297 [
27298 "Datastore.Allocate"
27299 ]
27300 ]
27301 },
27302 "protected" : 1,
27303 "proxyto" : "node",
27304 "returns" : {
27305 "items" : {
27306 "properties" : {
27307 "volname" : {
27308 "description" : "The volume name.",
27309 "type" : "string"
7aacca6f
DM
27310 }
27311 },
4d47f125
TL
27312 "type" : "object"
27313 },
27314 "type" : "array"
27315 }
27316 }
27317 },
27318 "leaf" : 1,
27319 "path" : "/nodes/{node}/scan/glusterfs",
27320 "text" : "glusterfs"
27321 },
27322 {
27323 "info" : {
27324 "GET" : {
27325 "description" : "Scan remote iSCSI server.",
27326 "method" : "GET",
27327 "name" : "iscsiscan",
27328 "parameters" : {
27329 "additionalProperties" : 0,
27330 "properties" : {
27331 "node" : {
27332 "description" : "The cluster node name.",
27333 "format" : "pve-node",
27334 "type" : "string",
27335 "typetext" : "<string>"
56122987 27336 },
4d47f125
TL
27337 "portal" : {
27338 "description" : "The iSCSI portal (IP or DNS name with optional port).",
27339 "format" : "pve-storage-portal-dns",
27340 "type" : "string",
27341 "typetext" : "<string>"
27342 }
27343 }
27344 },
27345 "permissions" : {
27346 "check" : [
27347 "perm",
27348 "/storage",
27349 [
27350 "Datastore.Allocate"
27351 ]
27352 ]
27353 },
27354 "protected" : 1,
27355 "proxyto" : "node",
27356 "returns" : {
27357 "items" : {
27358 "properties" : {
27359 "portal" : {
27360 "description" : "The iSCSI portal name.",
27361 "type" : "string"
7aacca6f 27362 },
4d47f125
TL
27363 "target" : {
27364 "description" : "The iSCSI target name.",
27365 "type" : "string"
27366 }
27367 },
27368 "type" : "object"
27369 },
27370 "type" : "array"
27371 }
27372 }
27373 },
27374 "leaf" : 1,
27375 "path" : "/nodes/{node}/scan/iscsi",
27376 "text" : "iscsi"
27377 },
27378 {
27379 "info" : {
27380 "GET" : {
27381 "description" : "List local LVM volume groups.",
27382 "method" : "GET",
27383 "name" : "lvmscan",
27384 "parameters" : {
27385 "additionalProperties" : 0,
27386 "properties" : {
27387 "node" : {
27388 "description" : "The cluster node name.",
27389 "format" : "pve-node",
27390 "type" : "string",
27391 "typetext" : "<string>"
56122987 27392 }
7aacca6f 27393 }
44660702 27394 },
4d47f125
TL
27395 "permissions" : {
27396 "check" : [
27397 "perm",
27398 "/storage",
27399 [
27400 "Datastore.Allocate"
27401 ]
27402 ]
27403 },
27404 "protected" : 1,
27405 "proxyto" : "node",
27406 "returns" : {
27407 "items" : {
27408 "properties" : {
27409 "vg" : {
27410 "description" : "The LVM logical volume group name.",
27411 "type" : "string"
27412 }
27413 },
27414 "type" : "object"
27415 },
27416 "type" : "array"
27417 }
56122987 27418 }
4d47f125
TL
27419 },
27420 "leaf" : 1,
27421 "path" : "/nodes/{node}/scan/lvm",
27422 "text" : "lvm"
27423 },
27424 {
44660702 27425 "info" : {
4d47f125
TL
27426 "GET" : {
27427 "description" : "List local LVM Thin Pools.",
27428 "method" : "GET",
27429 "name" : "lvmthinscan",
44660702
DM
27430 "parameters" : {
27431 "additionalProperties" : 0,
27432 "properties" : {
27433 "node" : {
27434 "description" : "The cluster node name.",
27435 "format" : "pve-node",
013dc89f
DM
27436 "type" : "string",
27437 "typetext" : "<string>"
44660702 27438 },
4d47f125
TL
27439 "vg" : {
27440 "maxLength" : 100,
27441 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
27442 "type" : "string"
44660702 27443 }
7aacca6f 27444 }
44660702
DM
27445 },
27446 "permissions" : {
4d47f125
TL
27447 "check" : [
27448 "perm",
27449 "/storage",
27450 [
27451 "Datastore.Allocate"
27452 ]
27453 ]
44660702
DM
27454 },
27455 "protected" : 1,
27456 "proxyto" : "node",
27457 "returns" : {
4d47f125
TL
27458 "items" : {
27459 "properties" : {
27460 "lv" : {
27461 "description" : "The LVM Thin Pool name (LVM logical volume).",
27462 "type" : "string"
27463 }
27464 },
27465 "type" : "object"
27466 },
27467 "type" : "array"
7aacca6f 27468 }
4d47f125
TL
27469 }
27470 },
27471 "leaf" : 1,
27472 "path" : "/nodes/{node}/scan/lvmthin",
27473 "text" : "lvmthin"
27474 },
27475 {
27476 "info" : {
44660702 27477 "GET" : {
4d47f125 27478 "description" : "List local USB devices.",
44660702 27479 "method" : "GET",
4d47f125 27480 "name" : "usbscan",
44660702
DM
27481 "parameters" : {
27482 "additionalProperties" : 0,
27483 "properties" : {
27484 "node" : {
27485 "description" : "The cluster node name.",
27486 "format" : "pve-node",
013dc89f
DM
27487 "type" : "string",
27488 "typetext" : "<string>"
44660702
DM
27489 }
27490 }
27491 },
27492 "permissions" : {
4d47f125
TL
27493 "check" : [
27494 "perm",
27495 "/",
27496 [
27497 "Sys.Modify"
27498 ]
27499 ]
44660702 27500 },
4d47f125
TL
27501 "protected" : 1,
27502 "proxyto" : "node",
44660702
DM
27503 "returns" : {
27504 "items" : {
4d47f125
TL
27505 "properties" : {
27506 "busnum" : {
27507 "type" : "integer"
27508 },
27509 "class" : {
27510 "type" : "integer"
27511 },
27512 "devnum" : {
27513 "type" : "integer"
27514 },
27515 "level" : {
27516 "type" : "integer"
27517 },
27518 "manufacturer" : {
27519 "optional" : 1,
27520 "type" : "string"
27521 },
27522 "port" : {
27523 "type" : "integer"
27524 },
27525 "prodid" : {
27526 "type" : "string"
27527 },
27528 "product" : {
27529 "optional" : 1,
27530 "type" : "string"
27531 },
27532 "serial" : {
27533 "optional" : 1,
27534 "type" : "string"
27535 },
27536 "speed" : {
27537 "type" : "string"
27538 },
27539 "usbpath" : {
27540 "optional" : 1,
27541 "type" : "string"
27542 },
27543 "vendid" : {
27544 "type" : "string"
27545 }
27546 },
44660702
DM
27547 "type" : "object"
27548 },
44660702 27549 "type" : "array"
56122987 27550 }
44660702 27551 }
56122987 27552 },
4d47f125
TL
27553 "leaf" : 1,
27554 "path" : "/nodes/{node}/scan/usb",
27555 "text" : "usb"
44660702
DM
27556 }
27557 ],
27558 "info" : {
27559 "GET" : {
4d47f125 27560 "description" : "Index of available scan methods",
44660702 27561 "method" : "GET",
4d47f125 27562 "name" : "index",
56122987 27563 "parameters" : {
7aacca6f 27564 "additionalProperties" : 0,
56122987 27565 "properties" : {
56122987
DM
27566 "node" : {
27567 "description" : "The cluster node name.",
44660702 27568 "format" : "pve-node",
013dc89f
DM
27569 "type" : "string",
27570 "typetext" : "<string>"
56122987
DM
27571 }
27572 }
27573 },
7aacca6f
DM
27574 "permissions" : {
27575 "user" : "all"
27576 },
56122987
DM
27577 "returns" : {
27578 "items" : {
27579 "properties" : {
4d47f125 27580 "method" : {
56122987
DM
27581 "type" : "string"
27582 }
27583 },
27584 "type" : "object"
27585 },
56122987
DM
27586 "links" : [
27587 {
4d47f125 27588 "href" : "{method}",
44660702 27589 "rel" : "child"
56122987 27590 }
44660702
DM
27591 ],
27592 "type" : "array"
56122987
DM
27593 }
27594 }
27595 },
44660702 27596 "leaf" : 0,
4d47f125
TL
27597 "path" : "/nodes/{node}/scan",
27598 "text" : "scan"
44660702
DM
27599 },
27600 {
56122987
DM
27601 "children" : [
27602 {
4d47f125
TL
27603 "children" : [
27604 {
27605 "children" : [
27606 {
27607 "info" : {
27608 "DELETE" : {
27609 "description" : "Delete volume",
27610 "method" : "DELETE",
27611 "name" : "delete",
27612 "parameters" : {
27613 "additionalProperties" : 0,
27614 "properties" : {
27615 "node" : {
27616 "description" : "The cluster node name.",
27617 "format" : "pve-node",
27618 "type" : "string",
27619 "typetext" : "<string>"
27620 },
27621 "storage" : {
27622 "description" : "The storage identifier.",
27623 "format" : "pve-storage-id",
27624 "optional" : 1,
27625 "type" : "string",
27626 "typetext" : "<string>"
27627 },
27628 "volume" : {
27629 "description" : "Volume identifier",
27630 "type" : "string",
27631 "typetext" : "<string>"
27632 }
27633 }
27634 },
27635 "permissions" : {
27636 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
27637 "user" : "all"
27638 },
27639 "protected" : 1,
27640 "proxyto" : "node",
27641 "returns" : {
27642 "type" : "null"
27643 }
27644 },
27645 "GET" : {
27646 "description" : "Get volume attributes",
27647 "method" : "GET",
27648 "name" : "info",
27649 "parameters" : {
27650 "additionalProperties" : 0,
27651 "properties" : {
27652 "node" : {
27653 "description" : "The cluster node name.",
27654 "format" : "pve-node",
27655 "type" : "string",
27656 "typetext" : "<string>"
27657 },
27658 "storage" : {
27659 "description" : "The storage identifier.",
27660 "format" : "pve-storage-id",
27661 "optional" : 1,
27662 "type" : "string",
27663 "typetext" : "<string>"
27664 },
27665 "volume" : {
27666 "description" : "Volume identifier",
27667 "type" : "string",
27668 "typetext" : "<string>"
27669 }
27670 }
27671 },
27672 "permissions" : {
27673 "description" : "You need read access for the volume.",
27674 "user" : "all"
27675 },
27676 "protected" : 1,
27677 "proxyto" : "node",
27678 "returns" : {
27679 "type" : "object"
27680 }
27681 },
27682 "POST" : {
27683 "description" : "Copy a volume. This is experimental code - do not use.",
27684 "method" : "POST",
27685 "name" : "copy",
27686 "parameters" : {
27687 "additionalProperties" : 0,
27688 "properties" : {
27689 "node" : {
27690 "description" : "The cluster node name.",
27691 "format" : "pve-node",
27692 "type" : "string",
27693 "typetext" : "<string>"
27694 },
27695 "storage" : {
27696 "description" : "The storage identifier.",
27697 "format" : "pve-storage-id",
27698 "optional" : 1,
27699 "type" : "string",
27700 "typetext" : "<string>"
27701 },
27702 "target" : {
27703 "description" : "Target volume identifier",
27704 "type" : "string",
27705 "typetext" : "<string>"
27706 },
27707 "target_node" : {
27708 "description" : "Target node. Default is local node.",
27709 "format" : "pve-node",
27710 "optional" : 1,
27711 "type" : "string",
27712 "typetext" : "<string>"
27713 },
27714 "volume" : {
27715 "description" : "Source volume identifier",
27716 "type" : "string",
27717 "typetext" : "<string>"
27718 }
27719 }
27720 },
27721 "protected" : 1,
27722 "proxyto" : "node",
27723 "returns" : {
27724 "type" : "string"
27725 }
27726 }
27727 },
27728 "leaf" : 1,
27729 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
27730 "text" : "{volume}"
44660702 27731 }
4d47f125
TL
27732 ],
27733 "info" : {
27734 "GET" : {
27735 "description" : "List storage content.",
27736 "method" : "GET",
27737 "name" : "index",
27738 "parameters" : {
27739 "additionalProperties" : 0,
27740 "properties" : {
27741 "content" : {
27742 "description" : "Only list content of this type.",
27743 "format" : "pve-storage-content",
27744 "optional" : 1,
27745 "type" : "string",
27746 "typetext" : "<string>"
27747 },
27748 "node" : {
27749 "description" : "The cluster node name.",
27750 "format" : "pve-node",
27751 "type" : "string",
27752 "typetext" : "<string>"
27753 },
27754 "storage" : {
27755 "description" : "The storage identifier.",
27756 "format" : "pve-storage-id",
27757 "type" : "string",
27758 "typetext" : "<string>"
27759 },
27760 "vmid" : {
27761 "description" : "Only list images for this VM",
27762 "format" : "pve-vmid",
27763 "minimum" : 1,
27764 "optional" : 1,
27765 "type" : "integer",
27766 "typetext" : "<integer> (1 - N)"
27767 }
56122987 27768 }
44660702 27769 },
4d47f125
TL
27770 "permissions" : {
27771 "check" : [
27772 "perm",
27773 "/storage/{storage}",
27774 [
27775 "Datastore.Audit",
27776 "Datastore.AllocateSpace"
27777 ],
27778 "any",
27779 1
27780 ]
7aacca6f 27781 },
4d47f125
TL
27782 "protected" : 1,
27783 "proxyto" : "node",
27784 "returns" : {
27785 "items" : {
27786 "properties" : {
27787 "format" : {
27788 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
27789 "type" : "string"
27790 },
27791 "parent" : {
27792 "description" : "Volume identifier of parent (for linked cloned).",
27793 "optional" : 1,
27794 "type" : "string"
27795 },
27796 "size" : {
27797 "description" : "Volume size in bytes.",
27798 "renderer" : "bytes",
27799 "type" : "integer"
27800 },
27801 "used" : {
27802 "description" : "Used space. Please note that most storage plugins does not report anything useful here.",
27803 "optional" : 1,
27804 "renderer" : "bytes",
27805 "type" : "integer"
27806 },
27807 "vmid" : {
27808 "description" : "Associated Owner VMID.",
27809 "optional" : 1,
27810 "type" : "integer"
27811 },
27812 "volid" : {
27813 "description" : "Volume identifier.",
27814 "type" : "string"
27815 }
27816 },
27817 "type" : "object"
44660702 27818 },
4d47f125
TL
27819 "links" : [
27820 {
27821 "href" : "{volid}",
27822 "rel" : "child"
27823 }
27824 ],
27825 "type" : "array"
27826 }
27827 },
27828 "POST" : {
27829 "description" : "Allocate disk images.",
27830 "method" : "POST",
27831 "name" : "create",
27832 "parameters" : {
27833 "additionalProperties" : 0,
27834 "properties" : {
27835 "filename" : {
27836 "description" : "The name of the file to create.",
27837 "type" : "string",
27838 "typetext" : "<string>"
27839 },
27840 "format" : {
27841 "enum" : [
27842 "raw",
27843 "qcow2",
27844 "subvol"
27845 ],
27846 "optional" : 1,
27847 "requires" : "size",
27848 "type" : "string"
27849 },
27850 "node" : {
27851 "description" : "The cluster node name.",
27852 "format" : "pve-node",
27853 "type" : "string",
27854 "typetext" : "<string>"
27855 },
27856 "size" : {
27857 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
27858 "pattern" : "\\d+[MG]?",
27859 "type" : "string"
27860 },
27861 "storage" : {
27862 "description" : "The storage identifier.",
27863 "format" : "pve-storage-id",
27864 "type" : "string",
27865 "typetext" : "<string>"
27866 },
27867 "vmid" : {
27868 "description" : "Specify owner VM",
27869 "format" : "pve-vmid",
27870 "minimum" : 1,
27871 "type" : "integer",
27872 "typetext" : "<integer> (1 - N)"
27873 }
44660702
DM
27874 }
27875 },
4d47f125
TL
27876 "permissions" : {
27877 "check" : [
27878 "perm",
27879 "/storage/{storage}",
27880 [
27881 "Datastore.AllocateSpace"
27882 ]
27883 ]
27a7acb2 27884 },
4d47f125
TL
27885 "protected" : 1,
27886 "proxyto" : "node",
27887 "returns" : {
27888 "description" : "Volume identifier",
27889 "type" : "string"
27a7acb2
DM
27890 }
27891 }
27892 },
4d47f125
TL
27893 "leaf" : 0,
27894 "path" : "/nodes/{node}/storage/{storage}/content",
27895 "text" : "content"
27896 },
27897 {
27898 "info" : {
27899 "GET" : {
27900 "description" : "Read storage status.",
27901 "method" : "GET",
27902 "name" : "read_status",
27903 "parameters" : {
27904 "additionalProperties" : 0,
27905 "properties" : {
27906 "node" : {
27907 "description" : "The cluster node name.",
27908 "format" : "pve-node",
27909 "type" : "string",
27910 "typetext" : "<string>"
27911 },
27912 "storage" : {
27913 "description" : "The storage identifier.",
27914 "format" : "pve-storage-id",
27915 "type" : "string",
27916 "typetext" : "<string>"
27917 }
27a7acb2
DM
27918 }
27919 },
4d47f125
TL
27920 "permissions" : {
27921 "check" : [
27922 "perm",
27923 "/storage/{storage}",
27924 [
27925 "Datastore.Audit",
27926 "Datastore.AllocateSpace"
27927 ],
27928 "any",
27929 1
27930 ]
7aacca6f 27931 },
4d47f125
TL
27932 "protected" : 1,
27933 "proxyto" : "node",
27934 "returns" : {
27935 "type" : "object"
56122987 27936 }
44660702
DM
27937 }
27938 },
4d47f125
TL
27939 "leaf" : 1,
27940 "path" : "/nodes/{node}/storage/{storage}/status",
27941 "text" : "status"
27942 },
27943 {
27944 "info" : {
27945 "GET" : {
27946 "description" : "Read storage RRD statistics (returns PNG).",
27947 "method" : "GET",
27948 "name" : "rrd",
27949 "parameters" : {
27950 "additionalProperties" : 0,
27951 "properties" : {
27952 "cf" : {
27953 "description" : "The RRD consolidation function",
27954 "enum" : [
27955 "AVERAGE",
27956 "MAX"
27957 ],
27958 "optional" : 1,
27959 "type" : "string"
27960 },
27961 "ds" : {
27962 "description" : "The list of datasources you want to display.",
27963 "format" : "pve-configid-list",
27964 "type" : "string",
27965 "typetext" : "<string>"
27966 },
27967 "node" : {
27968 "description" : "The cluster node name.",
27969 "format" : "pve-node",
27970 "type" : "string",
27971 "typetext" : "<string>"
27972 },
27973 "storage" : {
27974 "description" : "The storage identifier.",
27975 "format" : "pve-storage-id",
27976 "type" : "string",
27977 "typetext" : "<string>"
27978 },
27979 "timeframe" : {
27980 "description" : "Specify the time frame you are interested in.",
27981 "enum" : [
27982 "hour",
27983 "day",
27984 "week",
27985 "month",
27986 "year"
27987 ],
27988 "type" : "string"
27989 }
44660702
DM
27990 }
27991 },
4d47f125
TL
27992 "permissions" : {
27993 "check" : [
27994 "perm",
27995 "/storage/{storage}",
27996 [
27997 "Datastore.Audit",
27998 "Datastore.AllocateSpace"
27999 ],
28000 "any",
28001 1
28002 ]
28003 },
28004 "protected" : 1,
28005 "proxyto" : "node",
28006 "returns" : {
28007 "properties" : {
28008 "filename" : {
28009 "type" : "string"
28010 }
28011 },
28012 "type" : "object"
44660702
DM
28013 }
28014 }
28015 },
4d47f125
TL
28016 "leaf" : 1,
28017 "path" : "/nodes/{node}/storage/{storage}/rrd",
28018 "text" : "rrd"
28019 },
28020 {
28021 "info" : {
28022 "GET" : {
28023 "description" : "Read storage RRD statistics.",
28024 "method" : "GET",
28025 "name" : "rrddata",
28026 "parameters" : {
28027 "additionalProperties" : 0,
28028 "properties" : {
28029 "cf" : {
28030 "description" : "The RRD consolidation function",
28031 "enum" : [
28032 "AVERAGE",
28033 "MAX"
28034 ],
28035 "optional" : 1,
28036 "type" : "string"
28037 },
28038 "node" : {
28039 "description" : "The cluster node name.",
28040 "format" : "pve-node",
28041 "type" : "string",
28042 "typetext" : "<string>"
28043 },
28044 "storage" : {
28045 "description" : "The storage identifier.",
28046 "format" : "pve-storage-id",
28047 "type" : "string",
28048 "typetext" : "<string>"
28049 },
28050 "timeframe" : {
28051 "description" : "Specify the time frame you are interested in.",
28052 "enum" : [
28053 "hour",
28054 "day",
28055 "week",
28056 "month",
28057 "year"
28058 ],
28059 "type" : "string"
28060 }
56122987
DM
28061 }
28062 },
4d47f125
TL
28063 "permissions" : {
28064 "check" : [
28065 "perm",
28066 "/storage/{storage}",
28067 [
28068 "Datastore.Audit",
28069 "Datastore.AllocateSpace"
28070 ],
28071 "any",
28072 1
28073 ]
28074 },
28075 "protected" : 1,
28076 "proxyto" : "node",
28077 "returns" : {
28078 "items" : {
28079 "properties" : {},
28080 "type" : "object"
28081 },
28082 "type" : "array"
56122987 28083 }
7aacca6f 28084 }
56122987 28085 },
4d47f125
TL
28086 "leaf" : 1,
28087 "path" : "/nodes/{node}/storage/{storage}/rrddata",
28088 "text" : "rrddata"
28089 },
28090 {
28091 "info" : {
28092 "POST" : {
28093 "description" : "Upload templates and ISO images.",
28094 "method" : "POST",
28095 "name" : "upload",
28096 "parameters" : {
28097 "additionalProperties" : 0,
28098 "properties" : {
28099 "content" : {
28100 "description" : "Content type.",
28101 "format" : "pve-storage-content",
28102 "type" : "string",
28103 "typetext" : "<string>"
28104 },
28105 "filename" : {
28106 "description" : "The name of the file to create.",
28107 "type" : "string",
28108 "typetext" : "<string>"
28109 },
28110 "node" : {
28111 "description" : "The cluster node name.",
28112 "format" : "pve-node",
28113 "type" : "string",
28114 "typetext" : "<string>"
28115 },
28116 "storage" : {
28117 "description" : "The storage identifier.",
28118 "format" : "pve-storage-id",
28119 "type" : "string",
28120 "typetext" : "<string>"
28121 },
28122 "tmpfilename" : {
28123 "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trustet port on localhost.",
28124 "optional" : 1,
28125 "type" : "string",
28126 "typetext" : "<string>"
28127 }
44660702
DM
28128 }
28129 },
4d47f125
TL
28130 "permissions" : {
28131 "check" : [
28132 "perm",
28133 "/storage/{storage}",
28134 [
28135 "Datastore.AllocateTemplate"
28136 ]
28137 ]
56122987 28138 },
4d47f125
TL
28139 "protected" : 1,
28140 "returns" : {
44660702 28141 "type" : "string"
56122987 28142 }
44660702 28143 }
56122987 28144 },
4d47f125
TL
28145 "leaf" : 1,
28146 "path" : "/nodes/{node}/storage/{storage}/upload",
28147 "text" : "upload"
56122987 28148 }
4d47f125 28149 ],
56122987
DM
28150 "info" : {
28151 "GET" : {
4d47f125 28152 "description" : "",
44660702 28153 "method" : "GET",
4d47f125 28154 "name" : "diridx",
44660702
DM
28155 "parameters" : {
28156 "additionalProperties" : 0,
28157 "properties" : {
28158 "node" : {
28159 "description" : "The cluster node name.",
28160 "format" : "pve-node",
013dc89f
DM
28161 "type" : "string",
28162 "typetext" : "<string>"
4d47f125
TL
28163 },
28164 "storage" : {
28165 "description" : "The storage identifier.",
28166 "format" : "pve-storage-id",
28167 "type" : "string",
28168 "typetext" : "<string>"
44660702
DM
28169 }
28170 }
28171 },
7aacca6f
DM
28172 "permissions" : {
28173 "check" : [
28174 "perm",
4d47f125 28175 "/storage/{storage}",
7aacca6f 28176 [
4d47f125
TL
28177 "Datastore.Audit",
28178 "Datastore.AllocateSpace"
28179 ],
28180 "any",
28181 1
7aacca6f
DM
28182 ]
28183 },
56122987
DM
28184 "returns" : {
28185 "items" : {
28186 "properties" : {
4d47f125 28187 "subdir" : {
44660702 28188 "type" : "string"
56122987
DM
28189 }
28190 },
28191 "type" : "object"
7aacca6f 28192 },
4d47f125
TL
28193 "links" : [
28194 {
28195 "href" : "{subdir}",
28196 "rel" : "child"
28197 }
28198 ],
7aacca6f 28199 "type" : "array"
44660702
DM
28200 }
28201 }
28202 },
4d47f125
TL
28203 "leaf" : 0,
28204 "path" : "/nodes/{node}/storage/{storage}",
28205 "text" : "{storage}"
44660702
DM
28206 }
28207 ],
28208 "info" : {
28209 "GET" : {
4d47f125 28210 "description" : "Get status for all datastores.",
44660702
DM
28211 "method" : "GET",
28212 "name" : "index",
28213 "parameters" : {
28214 "additionalProperties" : 0,
28215 "properties" : {
4d47f125
TL
28216 "content" : {
28217 "description" : "Only list stores which support this content type.",
28218 "format" : "pve-storage-content-list",
28219 "optional" : 1,
28220 "type" : "string",
28221 "typetext" : "<string>"
28222 },
28223 "enabled" : {
28224 "default" : 0,
28225 "description" : "Only list stores which are enabled (not disabled in config).",
28226 "optional" : 1,
28227 "type" : "boolean",
28228 "typetext" : "<boolean>"
28229 },
28230 "format" : {
28231 "default" : 0,
28232 "description" : "Include information about formats",
28233 "optional" : 1,
28234 "type" : "boolean",
28235 "typetext" : "<boolean>"
28236 },
44660702
DM
28237 "node" : {
28238 "description" : "The cluster node name.",
28239 "format" : "pve-node",
013dc89f
DM
28240 "type" : "string",
28241 "typetext" : "<string>"
4d47f125
TL
28242 },
28243 "storage" : {
28244 "description" : "Only list status for specified storage",
28245 "format" : "pve-storage-id",
28246 "optional" : 1,
28247 "type" : "string",
28248 "typetext" : "<string>"
28249 },
28250 "target" : {
28251 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
28252 "format" : "pve-node",
28253 "optional" : 1,
28254 "type" : "string",
28255 "typetext" : "<string>"
44660702
DM
28256 }
28257 }
28258 },
4d47f125
TL
28259 "permissions" : {
28260 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
28261 "user" : "all"
28262 },
28263 "protected" : 1,
28264 "proxyto" : "node",
28265 "returns" : {
28266 "items" : {
28267 "properties" : {
28268 "active" : {
28269 "description" : "Set when storage is accessible.",
28270 "optional" : 1,
28271 "type" : "boolean"
28272 },
28273 "avail" : {
28274 "description" : "Available storage space in bytes.",
28275 "optional" : 1,
28276 "renderer" : "bytes",
28277 "type" : "integer"
28278 },
28279 "content" : {
28280 "description" : "Allowed storage content types.",
28281 "format" : "pve-storage-content-list",
28282 "type" : "string"
28283 },
28284 "enabled" : {
28285 "description" : "Set when storage is enabled (not disabled).",
28286 "optional" : 1,
28287 "type" : "boolean"
28288 },
28289 "shared" : {
28290 "description" : "Shared flag from storage configuration.",
28291 "optional" : 1,
28292 "type" : "boolean"
28293 },
28294 "storage" : {
28295 "description" : "The storage identifier.",
28296 "format" : "pve-storage-id",
28297 "type" : "string"
28298 },
28299 "total" : {
28300 "description" : "Total storage space in bytes.",
28301 "optional" : 1,
28302 "renderer" : "bytes",
28303 "type" : "integer"
28304 },
28305 "type" : {
28306 "description" : "Storage type.",
28307 "type" : "string"
28308 },
28309 "used" : {
28310 "description" : "Used storage space in bytes.",
28311 "optional" : 1,
28312 "renderer" : "bytes",
28313 "type" : "integer"
28314 },
28315 "used_fraction" : {
28316 "description" : "Used fraction (used/total).",
28317 "optional" : 1,
28318 "renderer" : "fraction_as_percentage",
28319 "type" : "number"
7aacca6f 28320 }
4d47f125
TL
28321 },
28322 "type" : "object"
28323 },
28324 "links" : [
28325 {
28326 "href" : "{storage}",
28327 "rel" : "child"
28328 }
28329 ],
28330 "type" : "array"
28331 }
28332 }
28333 },
28334 "leaf" : 0,
28335 "path" : "/nodes/{node}/storage",
28336 "text" : "storage"
28337 },
28338 {
28339 "children" : [
28340 {
28341 "info" : {
28342 "GET" : {
28343 "description" : "List LVM Volume Groups",
28344 "method" : "GET",
28345 "name" : "index",
28346 "parameters" : {
28347 "additionalProperties" : 0,
28348 "properties" : {
28349 "node" : {
28350 "description" : "The cluster node name.",
28351 "format" : "pve-node",
28352 "type" : "string",
28353 "typetext" : "<string>"
28354 }
28355 }
28356 },
28357 "permissions" : {
28358 "check" : [
28359 "perm",
28360 "/",
28361 [
28362 "Sys.Audit",
28363 "Datastore.Audit"
28364 ],
28365 "any",
28366 1
28367 ]
28368 },
28369 "protected" : 1,
28370 "proxyto" : "node",
28371 "returns" : {
28372 "properties" : {
28373 "children" : {
44660702
DM
28374 "items" : {
28375 "properties" : {
4d47f125
TL
28376 "children" : {
28377 "description" : "The underlying physical volumes",
28378 "items" : {
28379 "properties" : {
28380 "free" : {
28381 "description" : "The free bytes in the physical volume",
28382 "type" : "integer"
28383 },
28384 "leaf" : {
28385 "type" : "boolean"
28386 },
28387 "name" : {
28388 "description" : "The name of the physical volume",
28389 "type" : "string"
28390 },
28391 "size" : {
28392 "description" : "The size of the physical volume in bytes",
28393 "type" : "integer"
28394 }
28395 },
28396 "type" : "object"
28397 },
28398 "optional" : 1,
28399 "type" : "array"
28400 },
28401 "free" : {
28402 "description" : "The free bytes in the volume group",
28403 "type" : "integer"
28404 },
28405 "leaf" : {
28406 "type" : "boolean"
28407 },
28408 "name" : {
28409 "description" : "The name of the volume group",
44660702 28410 "type" : "string"
4d47f125
TL
28411 },
28412 "size" : {
28413 "description" : "The size of the volume group in bytes",
28414 "type" : "integer"
44660702
DM
28415 }
28416 },
28417 "type" : "object"
28418 },
44660702 28419 "type" : "array"
4d47f125
TL
28420 },
28421 "leaf" : {
28422 "type" : "boolean"
44660702
DM
28423 }
28424 },
4d47f125
TL
28425 "type" : "object"
28426 }
28427 },
28428 "POST" : {
28429 "description" : "Create an LVM Volume Group",
28430 "method" : "POST",
28431 "name" : "create",
28432 "parameters" : {
28433 "additionalProperties" : 0,
28434 "properties" : {
28435 "add_storage" : {
28436 "default" : 0,
28437 "description" : "Configure storage using the Volume Group",
28438 "optional" : 1,
28439 "type" : "boolean",
28440 "typetext" : "<boolean>"
44660702 28441 },
4d47f125
TL
28442 "device" : {
28443 "description" : "The block device you want to create the volume group on",
28444 "type" : "string",
28445 "typetext" : "<string>"
44660702 28446 },
4d47f125
TL
28447 "name" : {
28448 "description" : "The storage identifier.",
28449 "format" : "pve-storage-id",
28450 "type" : "string",
28451 "typetext" : "<string>"
28452 },
28453 "node" : {
28454 "description" : "The cluster node name.",
28455 "format" : "pve-node",
28456 "type" : "string",
28457 "typetext" : "<string>"
28458 }
28459 }
28460 },
28461 "permissions" : {
28462 "check" : [
28463 "perm",
28464 "/",
28465 [
28466 "Sys.Modify",
28467 "Datastore.Allocate"
28468 ]
28469 ]
28470 },
28471 "protected" : 1,
28472 "proxyto" : "node",
28473 "returns" : {
28474 "type" : "string"
28475 }
28476 }
28477 },
28478 "leaf" : 1,
28479 "path" : "/nodes/{node}/disks/lvm",
28480 "text" : "lvm"
28481 },
28482 {
28483 "info" : {
28484 "GET" : {
28485 "description" : "List LVM thinpools",
28486 "method" : "GET",
28487 "name" : "index",
28488 "parameters" : {
28489 "additionalProperties" : 0,
28490 "properties" : {
28491 "node" : {
28492 "description" : "The cluster node name.",
28493 "format" : "pve-node",
28494 "type" : "string",
28495 "typetext" : "<string>"
44660702
DM
28496 }
28497 }
28498 },
4d47f125
TL
28499 "permissions" : {
28500 "check" : [
28501 "perm",
28502 "/",
28503 [
28504 "Sys.Audit",
28505 "Datastore.Audit"
28506 ],
28507 "any",
28508 1
28509 ]
28510 },
28511 "protected" : 1,
28512 "proxyto" : "node",
28513 "returns" : {
28514 "items" : {
28515 "properties" : {
28516 "lv" : {
28517 "description" : "The name of the thinpool.",
28518 "type" : "string"
28519 },
28520 "lv_size" : {
28521 "description" : "The size of the thinpool in bytes.",
28522 "type" : "integer"
28523 },
28524 "metadata_size" : {
28525 "description" : "The size of the metadata lv in bytes.",
28526 "type" : "integer"
28527 },
28528 "metadata_used" : {
28529 "description" : "The used bytes of the metadata lv.",
28530 "type" : "integer"
28531 },
28532 "used" : {
28533 "description" : "The used bytes of the thinpool.",
28534 "type" : "integer"
44660702
DM
28535 }
28536 },
4d47f125
TL
28537 "type" : "object"
28538 },
28539 "type" : "array"
28540 }
28541 },
28542 "POST" : {
28543 "description" : "Create an LVM thinpool",
28544 "method" : "POST",
28545 "name" : "create",
28546 "parameters" : {
28547 "additionalProperties" : 0,
28548 "properties" : {
28549 "add_storage" : {
28550 "default" : 0,
28551 "description" : "Configure storage using the thinpool.",
28552 "optional" : 1,
28553 "type" : "boolean",
28554 "typetext" : "<boolean>"
56122987 28555 },
4d47f125
TL
28556 "device" : {
28557 "description" : "The block device you want to create the thinpool on.",
28558 "type" : "string",
28559 "typetext" : "<string>"
28560 },
28561 "name" : {
28562 "description" : "The storage identifier.",
28563 "format" : "pve-storage-id",
28564 "type" : "string",
28565 "typetext" : "<string>"
28566 },
28567 "node" : {
28568 "description" : "The cluster node name.",
28569 "format" : "pve-node",
28570 "type" : "string",
28571 "typetext" : "<string>"
44660702 28572 }
56122987
DM
28573 }
28574 },
4d47f125
TL
28575 "permissions" : {
28576 "check" : [
28577 "perm",
28578 "/",
28579 [
28580 "Sys.Modify",
28581 "Datastore.Allocate"
28582 ]
28583 ]
28584 },
28585 "protected" : 1,
28586 "proxyto" : "node",
28587 "returns" : {
28588 "type" : "string"
28589 }
28590 }
28591 },
28592 "leaf" : 1,
28593 "path" : "/nodes/{node}/disks/lvmthin",
28594 "text" : "lvmthin"
28595 },
28596 {
28597 "info" : {
28598 "GET" : {
28599 "description" : "PVE Managed Directory storages.",
28600 "method" : "GET",
28601 "name" : "index",
28602 "parameters" : {
28603 "additionalProperties" : 0,
28604 "properties" : {
28605 "node" : {
28606 "description" : "The cluster node name.",
28607 "format" : "pve-node",
28608 "type" : "string",
28609 "typetext" : "<string>"
28610 }
28611 }
28612 },
28613 "permissions" : {
28614 "check" : [
28615 "perm",
28616 "/",
28617 [
28618 "Sys.Audit",
28619 "Datastore.Audit"
28620 ],
28621 "any",
28622 1
28623 ]
28624 },
28625 "protected" : 1,
28626 "proxyto" : "node",
28627 "returns" : {
28628 "items" : {
28629 "properties" : {
28630 "device" : {
28631 "description" : "The mounted device.",
28632 "type" : "string"
28633 },
28634 "options" : {
28635 "description" : "The mount options.",
28636 "type" : "string"
28637 },
28638 "path" : {
28639 "description" : "The mount path.",
28640 "type" : "string"
28641 },
28642 "type" : {
28643 "description" : "The filesystem type.",
28644 "type" : "string"
28645 },
28646 "unitfile" : {
28647 "description" : "The path of the mount unit.",
28648 "type" : "string"
44660702 28649 }
56122987 28650 },
4d47f125
TL
28651 "type" : "object"
28652 },
28653 "type" : "array"
28654 }
28655 },
28656 "POST" : {
28657 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
28658 "method" : "POST",
28659 "name" : "create",
28660 "parameters" : {
28661 "additionalProperties" : 0,
28662 "properties" : {
28663 "add_storage" : {
28664 "default" : 0,
28665 "description" : "Configure storage using the directory.",
28666 "optional" : 1,
28667 "type" : "boolean",
28668 "typetext" : "<boolean>"
28669 },
28670 "device" : {
28671 "description" : "The block device you want to create the filesystem on.",
28672 "type" : "string",
28673 "typetext" : "<string>"
28674 },
28675 "filesystem" : {
28676 "default" : "ext4",
28677 "description" : "The desired filesystem.",
28678 "enum" : [
28679 "ext4",
28680 "xfs"
28681 ],
28682 "optional" : 1,
28683 "type" : "string"
56122987 28684 },
4d47f125
TL
28685 "name" : {
28686 "description" : "The storage identifier.",
28687 "format" : "pve-storage-id",
28688 "type" : "string",
28689 "typetext" : "<string>"
28690 },
28691 "node" : {
28692 "description" : "The cluster node name.",
28693 "format" : "pve-node",
28694 "type" : "string",
28695 "typetext" : "<string>"
7aacca6f 28696 }
56122987
DM
28697 }
28698 },
4d47f125
TL
28699 "permissions" : {
28700 "check" : [
28701 "perm",
28702 "/",
28703 [
28704 "Sys.Modify",
28705 "Datastore.Allocate"
28706 ]
28707 ]
28708 },
28709 "protected" : 1,
28710 "proxyto" : "node",
28711 "returns" : {
28712 "type" : "string"
28713 }
28714 }
28715 },
28716 "leaf" : 1,
28717 "path" : "/nodes/{node}/disks/directory",
28718 "text" : "directory"
28719 },
28720 {
28721 "children" : [
56122987 28722 {
56122987
DM
28723 "info" : {
28724 "GET" : {
4d47f125 28725 "description" : "Get details about a zpool.",
44660702 28726 "method" : "GET",
4d47f125 28727 "name" : "detail",
56122987 28728 "parameters" : {
44660702 28729 "additionalProperties" : 0,
56122987 28730 "properties" : {
4d47f125
TL
28731 "name" : {
28732 "description" : "The storage identifier.",
28733 "format" : "pve-storage-id",
28734 "type" : "string",
28735 "typetext" : "<string>"
44660702 28736 },
7aacca6f 28737 "node" : {
7aacca6f 28738 "description" : "The cluster node name.",
44660702 28739 "format" : "pve-node",
013dc89f
DM
28740 "type" : "string",
28741 "typetext" : "<string>"
56122987 28742 }
44660702 28743 }
7aacca6f 28744 },
7aacca6f
DM
28745 "permissions" : {
28746 "check" : [
28747 "perm",
4d47f125 28748 "/",
7aacca6f 28749 [
4d47f125
TL
28750 "Sys.Audit",
28751 "Datastore.Audit"
7aacca6f
DM
28752 ],
28753 "any",
28754 1
28755 ]
28756 },
44660702
DM
28757 "protected" : 1,
28758 "proxyto" : "node",
7aacca6f 28759 "returns" : {
56122987 28760 "properties" : {
4d47f125
TL
28761 "action" : {
28762 "description" : "Information about the recommended action to fix the state.",
28763 "optional" : 1,
28764 "type" : "string"
56122987 28765 },
4d47f125
TL
28766 "children" : {
28767 "description" : "The tree of the vdevs. Depending on the configuration of the zpool, they can be nested.",
28768 "items" : {
28769 "properties" : {
28770 "cksum" : {
28771 "type" : "number"
28772 },
28773 "msg" : {
28774 "description" : "An optional message about the vdev.",
28775 "type" : "string"
28776 },
28777 "name" : {
28778 "description" : "The name of the vdev.",
28779 "type" : "string"
28780 },
28781 "read" : {
28782 "type" : "number"
28783 },
28784 "state" : {
28785 "description" : "The state of the vdev.",
28786 "type" : "string"
28787 },
28788 "write" : {
28789 "type" : "number"
28790 }
28791 },
28792 "type" : "object"
28793 },
28794 "type" : "array"
56122987 28795 },
4d47f125
TL
28796 "name" : {
28797 "description" : "The name of the zpool.",
28798 "type" : "string"
44660702 28799 },
4d47f125
TL
28800 "scan" : {
28801 "description" : "Information about the errors on the zpool.",
28802 "type" : "string"
44660702 28803 },
4d47f125
TL
28804 "state" : {
28805 "description" : "The state of the zpool.",
28806 "type" : "string"
28807 },
28808 "status" : {
28809 "description" : "Information about the state of the zpool.",
44660702 28810 "optional" : 1,
4d47f125 28811 "type" : "string"
56122987 28812 }
4d47f125
TL
28813 },
28814 "type" : "object"
44660702
DM
28815 }
28816 }
28817 },
28818 "leaf" : 1,
4d47f125
TL
28819 "path" : "/nodes/{node}/disks/zfs/{name}",
28820 "text" : "{name}"
44660702
DM
28821 }
28822 ],
28823 "info" : {
28824 "GET" : {
4d47f125 28825 "description" : "List Zpools.",
44660702 28826 "method" : "GET",
4d47f125 28827 "name" : "index",
44660702
DM
28828 "parameters" : {
28829 "additionalProperties" : 0,
28830 "properties" : {
28831 "node" : {
28832 "description" : "The cluster node name.",
28833 "format" : "pve-node",
013dc89f
DM
28834 "type" : "string",
28835 "typetext" : "<string>"
4d47f125
TL
28836 }
28837 }
28838 },
28839 "permissions" : {
28840 "check" : [
28841 "perm",
28842 "/",
28843 [
28844 "Sys.Audit",
28845 "Datastore.Audit"
28846 ],
28847 "any",
28848 1
28849 ]
28850 },
28851 "protected" : 1,
28852 "proxyto" : "node",
28853 "returns" : {
28854 "items" : {
28855 "properties" : {
28856 "alloc" : {
28857 "description" : "",
28858 "type" : "integer"
28859 },
28860 "dedup" : {
28861 "description" : "",
28862 "type" : "number"
28863 },
28864 "frag" : {
28865 "description" : "",
28866 "type" : "integer"
28867 },
28868 "free" : {
28869 "description" : "",
28870 "type" : "integer"
28871 },
28872 "health" : {
28873 "description" : "",
28874 "type" : "string"
28875 },
28876 "name" : {
28877 "description" : "",
28878 "type" : "string"
28879 },
28880 "size" : {
28881 "description" : "",
28882 "type" : "integer"
28883 }
28884 },
28885 "type" : "object"
28886 },
28887 "links" : [
28888 {
28889 "href" : "{name}",
28890 "rel" : "child"
28891 }
28892 ],
28893 "type" : "array"
28894 }
28895 },
28896 "POST" : {
28897 "description" : "Create a ZFS pool.",
28898 "method" : "POST",
28899 "name" : "create",
28900 "parameters" : {
28901 "additionalProperties" : 0,
28902 "properties" : {
28903 "add_storage" : {
28904 "default" : 0,
28905 "description" : "Configure storage using the zpool.",
28906 "optional" : 1,
28907 "type" : "boolean",
28908 "typetext" : "<boolean>"
28909 },
28910 "ashift" : {
28911 "default" : 12,
28912 "description" : "Pool sector size exponent.",
28913 "maximum" : 16,
28914 "minimum" : 9,
28915 "optional" : 1,
28916 "type" : "integer",
28917 "typetext" : "<integer> (9 - 16)"
28918 },
28919 "compression" : {
28920 "default" : "on",
28921 "description" : "The compression algorithm to use.",
28922 "enum" : [
28923 "on",
28924 "off",
28925 "gzip",
28926 "lz4",
28927 "lzjb",
28928 "zle"
28929 ],
28930 "optional" : 1,
28931 "type" : "string"
28932 },
28933 "devices" : {
28934 "description" : "The block devices you want to create the zpool on.",
28935 "format" : "string-list",
28936 "type" : "string",
28937 "typetext" : "<string>"
44660702 28938 },
4d47f125 28939 "name" : {
44660702
DM
28940 "description" : "The storage identifier.",
28941 "format" : "pve-storage-id",
013dc89f
DM
28942 "type" : "string",
28943 "typetext" : "<string>"
4d47f125
TL
28944 },
28945 "node" : {
28946 "description" : "The cluster node name.",
28947 "format" : "pve-node",
28948 "type" : "string",
28949 "typetext" : "<string>"
28950 },
28951 "raidlevel" : {
28952 "description" : "The RAID level to use.",
28953 "enum" : [
28954 "single",
28955 "mirror",
28956 "raid10",
28957 "raidz",
28958 "raidz2",
28959 "raidz3"
28960 ],
28961 "type" : "string"
56122987
DM
28962 }
28963 }
44660702
DM
28964 },
28965 "permissions" : {
28966 "check" : [
28967 "perm",
4d47f125 28968 "/",
44660702 28969 [
4d47f125
TL
28970 "Sys.Modify",
28971 "Datastore.Allocate"
28972 ]
44660702
DM
28973 ]
28974 },
4d47f125
TL
28975 "protected" : 1,
28976 "proxyto" : "node",
44660702 28977 "returns" : {
4d47f125 28978 "type" : "string"
56122987
DM
28979 }
28980 }
44660702
DM
28981 },
28982 "leaf" : 0,
4d47f125
TL
28983 "path" : "/nodes/{node}/disks/zfs",
28984 "text" : "zfs"
28985 },
2c0dde61
DM
28986 {
28987 "info" : {
28988 "GET" : {
28989 "description" : "List local disks.",
28990 "method" : "GET",
28991 "name" : "list",
28992 "parameters" : {
28993 "additionalProperties" : 0,
28994 "properties" : {
28995 "node" : {
28996 "description" : "The cluster node name.",
28997 "format" : "pve-node",
013dc89f
DM
28998 "type" : "string",
28999 "typetext" : "<string>"
4d47f125
TL
29000 },
29001 "skipsmart" : {
29002 "default" : 0,
29003 "description" : "Skip smart checks.",
29004 "optional" : 1,
29005 "type" : "boolean",
29006 "typetext" : "<boolean>"
29007 },
29008 "type" : {
29009 "description" : "Only list specific types of disks.",
29010 "enum" : [
29011 "unused",
29012 "journal_disks"
29013 ],
29014 "optional" : 1,
29015 "type" : "string"
2c0dde61
DM
29016 }
29017 }
29018 },
29019 "permissions" : {
29020 "check" : [
29021 "perm",
29022 "/",
29023 [
29024 "Sys.Audit",
29025 "Datastore.Audit"
29026 ],
29027 "any",
29028 1
29029 ]
29030 },
29031 "protected" : 1,
29032 "proxyto" : "node",
29033 "returns" : {
29034 "items" : {
29035 "properties" : {
29036 "devpath" : {
29037 "description" : "The device path",
29038 "type" : "string"
29039 },
29040 "gpt" : {
29041 "type" : "boolean"
29042 },
29043 "health" : {
29044 "optional" : 1,
29045 "type" : "string"
29046 },
29047 "model" : {
29048 "optional" : 1,
29049 "type" : "string"
29050 },
29051 "osdid" : {
29052 "type" : "integer"
29053 },
29054 "serial" : {
29055 "optional" : 1,
29056 "type" : "string"
29057 },
29058 "size" : {
29059 "type" : "integer"
29060 },
29061 "used" : {
29062 "optional" : 1,
29063 "type" : "string"
29064 },
29065 "vendor" : {
29066 "optional" : 1,
29067 "type" : "string"
29068 },
29069 "wwn" : {
29070 "optional" : 1,
29071 "type" : "string"
29072 }
29073 },
29074 "type" : "object"
29075 },
29076 "type" : "array"
29077 }
29078 }
29079 },
29080 "leaf" : 1,
29081 "path" : "/nodes/{node}/disks/list",
29082 "text" : "list"
29083 },
29084 {
29085 "info" : {
29086 "GET" : {
29087 "description" : "Get SMART Health of a disk.",
29088 "method" : "GET",
29089 "name" : "smart",
29090 "parameters" : {
29091 "additionalProperties" : 0,
29092 "properties" : {
29093 "disk" : {
29094 "description" : "Block device name",
29095 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
29096 "type" : "string"
29097 },
29098 "healthonly" : {
29099 "description" : "If true returns only the health status",
29100 "optional" : 1,
013dc89f
DM
29101 "type" : "boolean",
29102 "typetext" : "<boolean>"
2c0dde61
DM
29103 },
29104 "node" : {
29105 "description" : "The cluster node name.",
29106 "format" : "pve-node",
013dc89f
DM
29107 "type" : "string",
29108 "typetext" : "<string>"
2c0dde61
DM
29109 }
29110 }
29111 },
29112 "permissions" : {
29113 "check" : [
29114 "perm",
29115 "/",
29116 [
29117 "Sys.Audit",
29118 "Datastore.Audit"
29119 ],
29120 "any",
29121 1
29122 ]
29123 },
29124 "protected" : 1,
29125 "proxyto" : "node",
29126 "returns" : {
de0983cb
DM
29127 "properties" : {
29128 "attributes" : {
29129 "optional" : 1,
29130 "type" : "array"
29131 },
29132 "health" : {
29133 "type" : "string"
29134 },
29135 "text" : {
29136 "optional" : 1,
29137 "type" : "string"
29138 },
29139 "type" : {
29140 "optional" : 1,
29141 "type" : "string"
29142 }
29143 },
2c0dde61
DM
29144 "type" : "object"
29145 }
29146 }
29147 },
29148 "leaf" : 1,
29149 "path" : "/nodes/{node}/disks/smart",
29150 "text" : "smart"
29151 },
29152 {
29153 "info" : {
29154 "POST" : {
29155 "description" : "Initialize Disk with GPT",
29156 "method" : "POST",
29157 "name" : "initgpt",
29158 "parameters" : {
29159 "additionalProperties" : 0,
29160 "properties" : {
29161 "disk" : {
29162 "description" : "Block device name",
29163 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
29164 "type" : "string"
29165 },
29166 "node" : {
29167 "description" : "The cluster node name.",
29168 "format" : "pve-node",
013dc89f
DM
29169 "type" : "string",
29170 "typetext" : "<string>"
2c0dde61
DM
29171 },
29172 "uuid" : {
29173 "description" : "UUID for the GPT table",
29174 "maxLength" : 36,
29175 "optional" : 1,
29176 "pattern" : "[a-fA-F0-9\\-]+",
29177 "type" : "string"
29178 }
29179 }
29180 },
29181 "permissions" : {
29182 "check" : [
29183 "perm",
29184 "/",
29185 [
29186 "Sys.Modify"
29187 ]
29188 ]
29189 },
29190 "protected" : 1,
29191 "proxyto" : "node",
29192 "returns" : {
29193 "type" : "string"
29194 }
29195 }
29196 },
29197 "leaf" : 1,
29198 "path" : "/nodes/{node}/disks/initgpt",
29199 "text" : "initgpt"
29200 }
29201 ],
29202 "info" : {
29203 "GET" : {
29204 "description" : "Node index.",
29205 "method" : "GET",
29206 "name" : "index",
29207 "parameters" : {
29208 "additionalProperties" : 0,
29209 "properties" : {
29210 "node" : {
29211 "description" : "The cluster node name.",
29212 "format" : "pve-node",
013dc89f
DM
29213 "type" : "string",
29214 "typetext" : "<string>"
2c0dde61
DM
29215 }
29216 }
29217 },
29218 "permissions" : {
29219 "user" : "all"
29220 },
29221 "proxyto" : "node",
29222 "returns" : {
29223 "items" : {
29224 "properties" : {},
29225 "type" : "object"
29226 },
29227 "links" : [
29228 {
29229 "href" : "{name}",
29230 "rel" : "child"
29231 }
29232 ],
29233 "type" : "array"
29234 }
29235 }
29236 },
29237 "leaf" : 0,
29238 "path" : "/nodes/{node}/disks",
29239 "text" : "disks"
29240 },
56122987 29241 {
56122987
DM
29242 "children" : [
29243 {
29244 "info" : {
44660702
DM
29245 "GET" : {
29246 "description" : "List available updates.",
29247 "method" : "GET",
29248 "name" : "list_updates",
29249 "parameters" : {
29250 "additionalProperties" : 0,
29251 "properties" : {
29252 "node" : {
29253 "description" : "The cluster node name.",
29254 "format" : "pve-node",
013dc89f
DM
29255 "type" : "string",
29256 "typetext" : "<string>"
44660702
DM
29257 }
29258 }
7aacca6f
DM
29259 },
29260 "permissions" : {
29261 "check" : [
29262 "perm",
29263 "/nodes/{node}",
29264 [
29265 "Sys.Modify"
29266 ]
29267 ]
29268 },
44660702 29269 "protected" : 1,
56122987 29270 "proxyto" : "node",
44660702
DM
29271 "returns" : {
29272 "items" : {
29273 "properties" : {},
29274 "type" : "object"
29275 },
29276 "type" : "array"
29277 }
29278 },
29279 "POST" : {
29280 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
29281 "method" : "POST",
29282 "name" : "update_database",
56122987
DM
29283 "parameters" : {
29284 "additionalProperties" : 0,
29285 "properties" : {
44660702
DM
29286 "node" : {
29287 "description" : "The cluster node name.",
29288 "format" : "pve-node",
013dc89f
DM
29289 "type" : "string",
29290 "typetext" : "<string>"
44660702 29291 },
56122987 29292 "notify" : {
56122987 29293 "default" : 0,
44660702
DM
29294 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
29295 "optional" : 1,
013dc89f
DM
29296 "type" : "boolean",
29297 "typetext" : "<boolean>"
56122987
DM
29298 },
29299 "quiet" : {
56122987 29300 "default" : 0,
44660702 29301 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 29302 "optional" : 1,
013dc89f
DM
29303 "type" : "boolean",
29304 "typetext" : "<boolean>"
56122987 29305 }
7aacca6f
DM
29306 }
29307 },
29308 "permissions" : {
29309 "check" : [
29310 "perm",
29311 "/nodes/{node}",
29312 [
29313 "Sys.Modify"
29314 ]
29315 ]
29316 },
44660702
DM
29317 "protected" : 1,
29318 "proxyto" : "node",
29319 "returns" : {
29320 "type" : "string"
29321 }
56122987
DM
29322 }
29323 },
7aacca6f 29324 "leaf" : 1,
44660702
DM
29325 "path" : "/nodes/{node}/apt/update",
29326 "text" : "update"
56122987
DM
29327 },
29328 {
56122987
DM
29329 "info" : {
29330 "GET" : {
44660702 29331 "description" : "Get package changelogs.",
56122987 29332 "method" : "GET",
7aacca6f 29333 "name" : "changelog",
56122987 29334 "parameters" : {
44660702 29335 "additionalProperties" : 0,
56122987
DM
29336 "properties" : {
29337 "name" : {
29338 "description" : "Package name.",
013dc89f
DM
29339 "type" : "string",
29340 "typetext" : "<string>"
56122987 29341 },
44660702
DM
29342 "node" : {
29343 "description" : "The cluster node name.",
29344 "format" : "pve-node",
013dc89f
DM
29345 "type" : "string",
29346 "typetext" : "<string>"
44660702 29347 },
56122987 29348 "version" : {
7aacca6f 29349 "description" : "Package version.",
44660702 29350 "optional" : 1,
013dc89f
DM
29351 "type" : "string",
29352 "typetext" : "<string>"
56122987 29353 }
44660702 29354 }
56122987 29355 },
44660702
DM
29356 "permissions" : {
29357 "check" : [
29358 "perm",
29359 "/nodes/{node}",
29360 [
29361 "Sys.Modify"
29362 ]
29363 ]
29364 },
29365 "proxyto" : "node",
29366 "returns" : {
29367 "type" : "string"
29368 }
56122987
DM
29369 }
29370 },
44660702
DM
29371 "leaf" : 1,
29372 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 29373 "text" : "changelog"
56122987
DM
29374 },
29375 {
56122987
DM
29376 "info" : {
29377 "GET" : {
44660702
DM
29378 "description" : "Get package information for important Proxmox packages.",
29379 "method" : "GET",
7aacca6f
DM
29380 "name" : "versions",
29381 "parameters" : {
44660702 29382 "additionalProperties" : 0,
7aacca6f
DM
29383 "properties" : {
29384 "node" : {
44660702 29385 "description" : "The cluster node name.",
7aacca6f 29386 "format" : "pve-node",
013dc89f
DM
29387 "type" : "string",
29388 "typetext" : "<string>"
7aacca6f 29389 }
44660702 29390 }
7aacca6f 29391 },
56122987
DM
29392 "permissions" : {
29393 "check" : [
29394 "perm",
29395 "/nodes/{node}",
29396 [
29397 "Sys.Audit"
29398 ]
29399 ]
29400 },
7aacca6f 29401 "proxyto" : "node",
56122987
DM
29402 "returns" : {
29403 "items" : {
7aacca6f
DM
29404 "properties" : {},
29405 "type" : "object"
44660702
DM
29406 },
29407 "type" : "array"
56122987
DM
29408 }
29409 }
29410 },
44660702 29411 "leaf" : 1,
7aacca6f 29412 "path" : "/nodes/{node}/apt/versions",
44660702 29413 "text" : "versions"
56122987
DM
29414 }
29415 ],
56122987
DM
29416 "info" : {
29417 "GET" : {
44660702 29418 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 29419 "method" : "GET",
44660702 29420 "name" : "index",
7aacca6f
DM
29421 "parameters" : {
29422 "additionalProperties" : 0,
29423 "properties" : {
29424 "node" : {
44660702 29425 "description" : "The cluster node name.",
7aacca6f 29426 "format" : "pve-node",
013dc89f
DM
29427 "type" : "string",
29428 "typetext" : "<string>"
7aacca6f
DM
29429 }
29430 }
29431 },
7aacca6f
DM
29432 "permissions" : {
29433 "user" : "all"
29434 },
44660702
DM
29435 "returns" : {
29436 "items" : {
29437 "properties" : {
29438 "id" : {
29439 "type" : "string"
29440 }
29441 },
29442 "type" : "object"
29443 },
29444 "links" : [
29445 {
29446 "href" : "{id}",
29447 "rel" : "child"
29448 }
29449 ],
29450 "type" : "array"
29451 }
56122987 29452 }
7aacca6f 29453 },
44660702 29454 "leaf" : 0,
7aacca6f 29455 "path" : "/nodes/{node}/apt",
44660702 29456 "text" : "apt"
56122987
DM
29457 },
29458 {
56122987
DM
29459 "children" : [
29460 {
29461 "children" : [
29462 {
56122987
DM
29463 "info" : {
29464 "DELETE" : {
44660702 29465 "description" : "Delete rule.",
7aacca6f 29466 "method" : "DELETE",
44660702 29467 "name" : "delete_rule",
56122987
DM
29468 "parameters" : {
29469 "additionalProperties" : 0,
29470 "properties" : {
56122987
DM
29471 "digest" : {
29472 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 29473 "maxLength" : 40,
56122987 29474 "optional" : 1,
013dc89f
DM
29475 "type" : "string",
29476 "typetext" : "<string>"
56122987 29477 },
44660702
DM
29478 "node" : {
29479 "description" : "The cluster node name.",
29480 "format" : "pve-node",
013dc89f
DM
29481 "type" : "string",
29482 "typetext" : "<string>"
44660702 29483 },
7aacca6f 29484 "pos" : {
7aacca6f 29485 "description" : "Update rule at position <pos>.",
44660702
DM
29486 "minimum" : 0,
29487 "optional" : 1,
4bd7df8b 29488 "type" : "integer",
013dc89f 29489 "typetext" : "<integer> (0 - N)"
56122987
DM
29490 }
29491 }
29492 },
44660702
DM
29493 "permissions" : {
29494 "check" : [
29495 "perm",
29496 "/nodes/{node}",
29497 [
29498 "Sys.Modify"
29499 ]
29500 ]
29501 },
29502 "protected" : 1,
29503 "proxyto" : "node",
56122987
DM
29504 "returns" : {
29505 "type" : "null"
44660702
DM
29506 }
29507 },
29508 "GET" : {
29509 "description" : "Get single rule data.",
29510 "method" : "GET",
29511 "name" : "get_rule",
29512 "parameters" : {
29513 "additionalProperties" : 0,
29514 "properties" : {
29515 "node" : {
29516 "description" : "The cluster node name.",
29517 "format" : "pve-node",
013dc89f
DM
29518 "type" : "string",
29519 "typetext" : "<string>"
44660702
DM
29520 },
29521 "pos" : {
29522 "description" : "Update rule at position <pos>.",
29523 "minimum" : 0,
29524 "optional" : 1,
4bd7df8b 29525 "type" : "integer",
013dc89f 29526 "typetext" : "<integer> (0 - N)"
44660702
DM
29527 }
29528 }
56122987 29529 },
56122987
DM
29530 "permissions" : {
29531 "check" : [
29532 "perm",
29533 "/nodes/{node}",
29534 [
44660702 29535 "Sys.Audit"
56122987
DM
29536 ]
29537 ]
44660702
DM
29538 },
29539 "proxyto" : "node",
29540 "returns" : {
29541 "properties" : {
29542 "pos" : {
29543 "type" : "integer"
29544 }
29545 },
29546 "type" : "object"
7aacca6f 29547 }
56122987
DM
29548 },
29549 "PUT" : {
44660702
DM
29550 "description" : "Modify rule data.",
29551 "method" : "PUT",
56122987 29552 "name" : "update_rule",
56122987 29553 "parameters" : {
44660702 29554 "additionalProperties" : 0,
56122987 29555 "properties" : {
44660702
DM
29556 "action" : {
29557 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
29558 "maxLength" : 20,
29559 "minLength" : 2,
56122987 29560 "optional" : 1,
44660702
DM
29561 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
29562 "type" : "string"
56122987 29563 },
7aacca6f 29564 "comment" : {
e94f0d56 29565 "description" : "Descriptive comment.",
56122987 29566 "optional" : 1,
013dc89f
DM
29567 "type" : "string",
29568 "typetext" : "<string>"
56122987 29569 },
44660702
DM
29570 "delete" : {
29571 "description" : "A list of settings you want to delete.",
29572 "format" : "pve-configid-list",
56122987 29573 "optional" : 1,
013dc89f
DM
29574 "type" : "string",
29575 "typetext" : "<string>"
56122987 29576 },
44660702
DM
29577 "dest" : {
29578 "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.",
29579 "format" : "pve-fw-addr-spec",
56122987 29580 "optional" : 1,
013dc89f
DM
29581 "type" : "string",
29582 "typetext" : "<string>"
56122987 29583 },
44660702
DM
29584 "digest" : {
29585 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
29586 "maxLength" : 40,
56122987 29587 "optional" : 1,
013dc89f
DM
29588 "type" : "string",
29589 "typetext" : "<string>"
56122987 29590 },
7aacca6f 29591 "dport" : {
7aacca6f 29592 "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
29593 "format" : "pve-fw-dport-spec",
29594 "optional" : 1,
013dc89f
DM
29595 "type" : "string",
29596 "typetext" : "<string>"
7aacca6f 29597 },
44660702 29598 "enable" : {
e94f0d56 29599 "description" : "Flag to enable/disable a rule.",
44660702 29600 "minimum" : 0,
56122987 29601 "optional" : 1,
4bd7df8b 29602 "type" : "integer",
013dc89f 29603 "typetext" : "<integer> (0 - N)"
56122987 29604 },
7aacca6f 29605 "iface" : {
44660702 29606 "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 29607 "format" : "pve-iface",
44660702 29608 "maxLength" : 20,
56122987 29609 "minLength" : 2,
44660702 29610 "optional" : 1,
013dc89f
DM
29611 "type" : "string",
29612 "typetext" : "<string>"
56122987 29613 },
44660702 29614 "macro" : {
e94f0d56 29615 "description" : "Use predefined standard macro.",
44660702
DM
29616 "maxLength" : 128,
29617 "optional" : 1,
013dc89f
DM
29618 "type" : "string",
29619 "typetext" : "<string>"
44660702
DM
29620 },
29621 "moveto" : {
29622 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
29623 "minimum" : 0,
7aacca6f 29624 "optional" : 1,
4bd7df8b 29625 "type" : "integer",
013dc89f 29626 "typetext" : "<integer> (0 - N)"
44660702
DM
29627 },
29628 "node" : {
29629 "description" : "The cluster node name.",
29630 "format" : "pve-node",
013dc89f
DM
29631 "type" : "string",
29632 "typetext" : "<string>"
56122987
DM
29633 },
29634 "pos" : {
44660702 29635 "description" : "Update rule at position <pos>.",
7aacca6f 29636 "minimum" : 0,
7aacca6f 29637 "optional" : 1,
4bd7df8b 29638 "type" : "integer",
013dc89f 29639 "typetext" : "<integer> (0 - N)"
7aacca6f 29640 },
44660702
DM
29641 "proto" : {
29642 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
29643 "format" : "pve-fw-protocol-spec",
7aacca6f 29644 "optional" : 1,
013dc89f
DM
29645 "type" : "string",
29646 "typetext" : "<string>"
7aacca6f 29647 },
44660702
DM
29648 "source" : {
29649 "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.",
29650 "format" : "pve-fw-addr-spec",
56122987 29651 "optional" : 1,
013dc89f
DM
29652 "type" : "string",
29653 "typetext" : "<string>"
7aacca6f 29654 },
44660702
DM
29655 "sport" : {
29656 "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.",
29657 "format" : "pve-fw-sport-spec",
29658 "optional" : 1,
013dc89f
DM
29659 "type" : "string",
29660 "typetext" : "<string>"
44660702
DM
29661 },
29662 "type" : {
e94f0d56 29663 "description" : "Rule type.",
44660702
DM
29664 "enum" : [
29665 "in",
29666 "out",
29667 "group"
29668 ],
29669 "optional" : 1,
29670 "type" : "string"
56122987 29671 }
44660702 29672 }
56122987 29673 },
56122987
DM
29674 "permissions" : {
29675 "check" : [
29676 "perm",
29677 "/nodes/{node}",
29678 [
29679 "Sys.Modify"
29680 ]
29681 ]
7aacca6f 29682 },
44660702 29683 "protected" : 1,
7aacca6f 29684 "proxyto" : "node",
7aacca6f
DM
29685 "returns" : {
29686 "type" : "null"
56122987
DM
29687 }
29688 }
7aacca6f 29689 },
44660702 29690 "leaf" : 1,
7aacca6f 29691 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 29692 "text" : "{pos}"
56122987
DM
29693 }
29694 ],
56122987
DM
29695 "info" : {
29696 "GET" : {
44660702
DM
29697 "description" : "List rules.",
29698 "method" : "GET",
29699 "name" : "get_rules",
29700 "parameters" : {
29701 "additionalProperties" : 0,
29702 "properties" : {
29703 "node" : {
29704 "description" : "The cluster node name.",
29705 "format" : "pve-node",
013dc89f
DM
29706 "type" : "string",
29707 "typetext" : "<string>"
44660702
DM
29708 }
29709 }
29710 },
29711 "permissions" : {
29712 "check" : [
29713 "perm",
29714 "/nodes/{node}",
29715 [
29716 "Sys.Audit"
29717 ]
29718 ]
29719 },
29720 "proxyto" : "node",
56122987 29721 "returns" : {
56122987
DM
29722 "items" : {
29723 "properties" : {
29724 "pos" : {
29725 "type" : "integer"
29726 }
44660702
DM
29727 },
29728 "type" : "object"
56122987 29729 },
7aacca6f
DM
29730 "links" : [
29731 {
29732 "href" : "{pos}",
29733 "rel" : "child"
29734 }
29735 ],
29736 "type" : "array"
44660702 29737 }
56122987
DM
29738 },
29739 "POST" : {
44660702 29740 "description" : "Create new rule.",
7aacca6f
DM
29741 "method" : "POST",
29742 "name" : "create_rule",
56122987 29743 "parameters" : {
44660702 29744 "additionalProperties" : 0,
56122987 29745 "properties" : {
7aacca6f 29746 "action" : {
7aacca6f 29747 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 29748 "maxLength" : 20,
7aacca6f
DM
29749 "minLength" : 2,
29750 "optional" : 0,
44660702
DM
29751 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
29752 "type" : "string"
56122987 29753 },
44660702 29754 "comment" : {
e94f0d56 29755 "description" : "Descriptive comment.",
56122987 29756 "optional" : 1,
013dc89f
DM
29757 "type" : "string",
29758 "typetext" : "<string>"
56122987 29759 },
44660702
DM
29760 "dest" : {
29761 "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.",
29762 "format" : "pve-fw-addr-spec",
7aacca6f 29763 "optional" : 1,
013dc89f
DM
29764 "type" : "string",
29765 "typetext" : "<string>"
56122987 29766 },
44660702
DM
29767 "digest" : {
29768 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
29769 "maxLength" : 40,
29770 "optional" : 1,
013dc89f
DM
29771 "type" : "string",
29772 "typetext" : "<string>"
56122987 29773 },
44660702
DM
29774 "dport" : {
29775 "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.",
29776 "format" : "pve-fw-dport-spec",
7aacca6f 29777 "optional" : 1,
013dc89f
DM
29778 "type" : "string",
29779 "typetext" : "<string>"
56122987 29780 },
44660702 29781 "enable" : {
e94f0d56 29782 "description" : "Flag to enable/disable a rule.",
44660702
DM
29783 "minimum" : 0,
29784 "optional" : 1,
4bd7df8b 29785 "type" : "integer",
013dc89f 29786 "typetext" : "<integer> (0 - N)"
44660702 29787 },
7aacca6f 29788 "iface" : {
44660702 29789 "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 29790 "format" : "pve-iface",
56122987 29791 "maxLength" : 20,
7aacca6f 29792 "minLength" : 2,
7aacca6f 29793 "optional" : 1,
013dc89f
DM
29794 "type" : "string",
29795 "typetext" : "<string>"
56122987 29796 },
44660702 29797 "macro" : {
e94f0d56 29798 "description" : "Use predefined standard macro.",
44660702 29799 "maxLength" : 128,
7aacca6f 29800 "optional" : 1,
013dc89f
DM
29801 "type" : "string",
29802 "typetext" : "<string>"
56122987 29803 },
44660702
DM
29804 "node" : {
29805 "description" : "The cluster node name.",
29806 "format" : "pve-node",
013dc89f
DM
29807 "type" : "string",
29808 "typetext" : "<string>"
44660702
DM
29809 },
29810 "pos" : {
29811 "description" : "Update rule at position <pos>.",
29812 "minimum" : 0,
29813 "optional" : 1,
4bd7df8b 29814 "type" : "integer",
013dc89f 29815 "typetext" : "<integer> (0 - N)"
44660702
DM
29816 },
29817 "proto" : {
29818 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
29819 "format" : "pve-fw-protocol-spec",
56122987 29820 "optional" : 1,
013dc89f
DM
29821 "type" : "string",
29822 "typetext" : "<string>"
56122987 29823 },
7aacca6f 29824 "source" : {
7aacca6f 29825 "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
29826 "format" : "pve-fw-addr-spec",
29827 "optional" : 1,
013dc89f
DM
29828 "type" : "string",
29829 "typetext" : "<string>"
7aacca6f 29830 },
44660702
DM
29831 "sport" : {
29832 "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.",
29833 "format" : "pve-fw-sport-spec",
7aacca6f 29834 "optional" : 1,
013dc89f
DM
29835 "type" : "string",
29836 "typetext" : "<string>"
44660702
DM
29837 },
29838 "type" : {
e94f0d56 29839 "description" : "Rule type.",
44660702
DM
29840 "enum" : [
29841 "in",
29842 "out",
29843 "group"
29844 ],
29845 "optional" : 0,
29846 "type" : "string"
56122987 29847 }
44660702 29848 }
7aacca6f 29849 },
56122987
DM
29850 "permissions" : {
29851 "check" : [
29852 "perm",
29853 "/nodes/{node}",
29854 [
29855 "Sys.Modify"
29856 ]
29857 ]
29858 },
44660702
DM
29859 "protected" : 1,
29860 "proxyto" : "node",
29861 "returns" : {
29862 "type" : "null"
29863 }
56122987
DM
29864 }
29865 },
44660702 29866 "leaf" : 0,
7aacca6f 29867 "path" : "/nodes/{node}/firewall/rules",
44660702 29868 "text" : "rules"
56122987
DM
29869 },
29870 {
56122987 29871 "info" : {
44660702
DM
29872 "GET" : {
29873 "description" : "Get host firewall options.",
29874 "method" : "GET",
29875 "name" : "get_options",
56122987 29876 "parameters" : {
7aacca6f 29877 "additionalProperties" : 0,
56122987 29878 "properties" : {
44660702
DM
29879 "node" : {
29880 "description" : "The cluster node name.",
29881 "format" : "pve-node",
013dc89f
DM
29882 "type" : "string",
29883 "typetext" : "<string>"
44660702
DM
29884 }
29885 }
29886 },
29887 "permissions" : {
29888 "check" : [
29889 "perm",
29890 "/nodes/{node}",
29891 [
29892 "Sys.Audit"
29893 ]
29894 ]
29895 },
29896 "proxyto" : "node",
29897 "returns" : {
29898 "properties" : {
29899 "enable" : {
29900 "description" : "Enable host firewall rules.",
7aacca6f 29901 "optional" : 1,
44660702 29902 "type" : "boolean"
7aacca6f 29903 },
44660702
DM
29904 "log_level_in" : {
29905 "description" : "Log level for incoming traffic.",
56122987
DM
29906 "enum" : [
29907 "emerg",
29908 "alert",
29909 "crit",
29910 "err",
29911 "warning",
29912 "notice",
29913 "info",
29914 "debug",
29915 "nolog"
29916 ],
56122987 29917 "optional" : 1,
44660702
DM
29918 "type" : "string"
29919 },
29920 "log_level_out" : {
29921 "description" : "Log level for outgoing traffic.",
56122987
DM
29922 "enum" : [
29923 "emerg",
29924 "alert",
29925 "crit",
29926 "err",
29927 "warning",
29928 "notice",
29929 "info",
29930 "debug",
29931 "nolog"
29932 ],
44660702
DM
29933 "optional" : 1,
29934 "type" : "string"
29935 },
29936 "ndp" : {
29937 "description" : "Enable NDP.",
29938 "optional" : 1,
29939 "type" : "boolean"
29940 },
29941 "nf_conntrack_max" : {
29942 "description" : "Maximum number of tracked connections.",
29943 "minimum" : 32768,
29944 "optional" : 1,
29945 "type" : "integer"
29946 },
29947 "nf_conntrack_tcp_timeout_established" : {
29948 "description" : "Conntrack established timeout.",
29949 "minimum" : 7875,
29950 "optional" : 1,
29951 "type" : "integer"
29952 },
29953 "nosmurfs" : {
29954 "description" : "Enable SMURFS filter.",
29955 "optional" : 1,
29956 "type" : "boolean"
56122987 29957 },
7aacca6f 29958 "smurf_log_level" : {
44660702 29959 "description" : "Log level for SMURFS filter.",
56122987
DM
29960 "enum" : [
29961 "emerg",
29962 "alert",
29963 "crit",
29964 "err",
29965 "warning",
29966 "notice",
29967 "info",
29968 "debug",
29969 "nolog"
7aacca6f 29970 ],
7aacca6f
DM
29971 "optional" : 1,
29972 "type" : "string"
56122987 29973 },
44660702
DM
29974 "tcp_flags_log_level" : {
29975 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
29976 "enum" : [
29977 "emerg",
29978 "alert",
29979 "crit",
29980 "err",
29981 "warning",
29982 "notice",
29983 "info",
29984 "debug",
29985 "nolog"
29986 ],
44660702
DM
29987 "optional" : 1,
29988 "type" : "string"
7aacca6f 29989 },
44660702
DM
29990 "tcpflags" : {
29991 "description" : "Filter illegal combinations of TCP flags.",
56122987 29992 "optional" : 1,
44660702 29993 "type" : "boolean"
56122987 29994 }
44660702
DM
29995 },
29996 "type" : "object"
7aacca6f 29997 }
56122987 29998 },
44660702
DM
29999 "PUT" : {
30000 "description" : "Set Firewall options.",
30001 "method" : "PUT",
30002 "name" : "set_options",
7aacca6f 30003 "parameters" : {
44660702 30004 "additionalProperties" : 0,
7aacca6f 30005 "properties" : {
44660702
DM
30006 "delete" : {
30007 "description" : "A list of settings you want to delete.",
30008 "format" : "pve-configid-list",
7aacca6f 30009 "optional" : 1,
013dc89f
DM
30010 "type" : "string",
30011 "typetext" : "<string>"
56122987 30012 },
44660702
DM
30013 "digest" : {
30014 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
30015 "maxLength" : 40,
30016 "optional" : 1,
013dc89f
DM
30017 "type" : "string",
30018 "typetext" : "<string>"
56122987 30019 },
44660702
DM
30020 "enable" : {
30021 "description" : "Enable host firewall rules.",
7aacca6f 30022 "optional" : 1,
013dc89f
DM
30023 "type" : "boolean",
30024 "typetext" : "<boolean>"
44660702
DM
30025 },
30026 "log_level_in" : {
30027 "description" : "Log level for incoming traffic.",
56122987
DM
30028 "enum" : [
30029 "emerg",
30030 "alert",
30031 "crit",
30032 "err",
30033 "warning",
30034 "notice",
30035 "info",
30036 "debug",
30037 "nolog"
44660702 30038 ],
7aacca6f 30039 "optional" : 1,
44660702 30040 "type" : "string"
7aacca6f 30041 },
44660702
DM
30042 "log_level_out" : {
30043 "description" : "Log level for outgoing traffic.",
56122987
DM
30044 "enum" : [
30045 "emerg",
30046 "alert",
30047 "crit",
30048 "err",
30049 "warning",
30050 "notice",
30051 "info",
30052 "debug",
30053 "nolog"
30054 ],
30055 "optional" : 1,
7aacca6f 30056 "type" : "string"
56122987 30057 },
44660702
DM
30058 "ndp" : {
30059 "description" : "Enable NDP.",
7aacca6f 30060 "optional" : 1,
013dc89f
DM
30061 "type" : "boolean",
30062 "typetext" : "<boolean>"
44660702
DM
30063 },
30064 "nf_conntrack_max" : {
30065 "description" : "Maximum number of tracked connections.",
30066 "minimum" : 32768,
30067 "optional" : 1,
4bd7df8b 30068 "type" : "integer",
013dc89f 30069 "typetext" : "<integer> (32768 - N)"
44660702
DM
30070 },
30071 "nf_conntrack_tcp_timeout_established" : {
30072 "description" : "Conntrack established timeout.",
30073 "minimum" : 7875,
30074 "optional" : 1,
4bd7df8b 30075 "type" : "integer",
013dc89f 30076 "typetext" : "<integer> (7875 - N)"
44660702
DM
30077 },
30078 "node" : {
30079 "description" : "The cluster node name.",
30080 "format" : "pve-node",
013dc89f
DM
30081 "type" : "string",
30082 "typetext" : "<string>"
44660702
DM
30083 },
30084 "nosmurfs" : {
30085 "description" : "Enable SMURFS filter.",
30086 "optional" : 1,
013dc89f
DM
30087 "type" : "boolean",
30088 "typetext" : "<boolean>"
44660702
DM
30089 },
30090 "smurf_log_level" : {
30091 "description" : "Log level for SMURFS filter.",
56122987
DM
30092 "enum" : [
30093 "emerg",
30094 "alert",
30095 "crit",
30096 "err",
30097 "warning",
30098 "notice",
30099 "info",
30100 "debug",
30101 "nolog"
44660702
DM
30102 ],
30103 "optional" : 1,
30104 "type" : "string"
56122987 30105 },
44660702
DM
30106 "tcp_flags_log_level" : {
30107 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
30108 "enum" : [
30109 "emerg",
30110 "alert",
30111 "crit",
30112 "err",
30113 "warning",
30114 "notice",
30115 "info",
30116 "debug",
30117 "nolog"
30118 ],
44660702
DM
30119 "optional" : 1,
30120 "type" : "string"
7aacca6f 30121 },
44660702
DM
30122 "tcpflags" : {
30123 "description" : "Filter illegal combinations of TCP flags.",
56122987 30124 "optional" : 1,
013dc89f
DM
30125 "type" : "boolean",
30126 "typetext" : "<boolean>"
56122987 30127 }
7aacca6f 30128 }
56122987 30129 },
44660702
DM
30130 "permissions" : {
30131 "check" : [
30132 "perm",
30133 "/nodes/{node}",
30134 [
30135 "Sys.Modify"
30136 ]
30137 ]
30138 },
30139 "protected" : 1,
30140 "proxyto" : "node",
30141 "returns" : {
30142 "type" : "null"
30143 }
7aacca6f
DM
30144 }
30145 },
44660702
DM
30146 "leaf" : 1,
30147 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
30148 "text" : "options"
30149 },
30150 {
7aacca6f
DM
30151 "info" : {
30152 "GET" : {
44660702
DM
30153 "description" : "Read firewall log",
30154 "method" : "GET",
7aacca6f 30155 "name" : "log",
56122987 30156 "parameters" : {
44660702 30157 "additionalProperties" : 0,
56122987 30158 "properties" : {
7aacca6f 30159 "limit" : {
44660702 30160 "minimum" : 0,
7aacca6f 30161 "optional" : 1,
4bd7df8b 30162 "type" : "integer",
013dc89f 30163 "typetext" : "<integer> (0 - N)"
7aacca6f 30164 },
56122987 30165 "node" : {
7aacca6f 30166 "description" : "The cluster node name.",
44660702 30167 "format" : "pve-node",
013dc89f
DM
30168 "type" : "string",
30169 "typetext" : "<string>"
44660702
DM
30170 },
30171 "start" : {
30172 "minimum" : 0,
30173 "optional" : 1,
4bd7df8b 30174 "type" : "integer",
013dc89f 30175 "typetext" : "<integer> (0 - N)"
56122987 30176 }
44660702 30177 }
7aacca6f 30178 },
56122987
DM
30179 "permissions" : {
30180 "check" : [
30181 "perm",
30182 "/nodes/{node}",
30183 [
30184 "Sys.Syslog"
30185 ]
30186 ]
30187 },
44660702
DM
30188 "protected" : 1,
30189 "proxyto" : "node",
56122987
DM
30190 "returns" : {
30191 "items" : {
56122987 30192 "properties" : {
56122987 30193 "n" : {
44660702
DM
30194 "description" : "Line number",
30195 "type" : "integer"
7aacca6f
DM
30196 },
30197 "t" : {
44660702
DM
30198 "description" : "Line text",
30199 "type" : "string"
56122987 30200 }
44660702
DM
30201 },
30202 "type" : "object"
56122987
DM
30203 },
30204 "type" : "array"
7aacca6f 30205 }
56122987
DM
30206 }
30207 },
44660702
DM
30208 "leaf" : 1,
30209 "path" : "/nodes/{node}/firewall/log",
7aacca6f 30210 "text" : "log"
56122987
DM
30211 }
30212 ],
30213 "info" : {
30214 "GET" : {
44660702
DM
30215 "description" : "Directory index.",
30216 "method" : "GET",
30217 "name" : "index",
56122987 30218 "parameters" : {
44660702 30219 "additionalProperties" : 0,
56122987
DM
30220 "properties" : {
30221 "node" : {
30222 "description" : "The cluster node name.",
44660702 30223 "format" : "pve-node",
013dc89f
DM
30224 "type" : "string",
30225 "typetext" : "<string>"
56122987 30226 }
44660702 30227 }
56122987 30228 },
7aacca6f
DM
30229 "permissions" : {
30230 "user" : "all"
30231 },
56122987
DM
30232 "returns" : {
30233 "items" : {
30234 "properties" : {},
30235 "type" : "object"
30236 },
56122987
DM
30237 "links" : [
30238 {
44660702
DM
30239 "href" : "{name}",
30240 "rel" : "child"
56122987 30241 }
44660702
DM
30242 ],
30243 "type" : "array"
30244 }
56122987 30245 }
7aacca6f 30246 },
44660702 30247 "leaf" : 0,
7aacca6f 30248 "path" : "/nodes/{node}/firewall",
44660702 30249 "text" : "firewall"
56122987 30250 },
5d9c884c
DM
30251 {
30252 "children" : [
30253 {
30254 "children" : [
30255 {
30256 "info" : {
30257 "GET" : {
30258 "description" : "Get replication job status.",
30259 "method" : "GET",
30260 "name" : "job_status",
30261 "parameters" : {
30262 "additionalProperties" : 0,
30263 "properties" : {
30264 "id" : {
30265 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
30266 "format" : "pve-replication-job-id",
30267 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
30268 "type" : "string"
30269 },
30270 "node" : {
30271 "description" : "The cluster node name.",
30272 "format" : "pve-node",
30273 "type" : "string",
30274 "typetext" : "<string>"
30275 }
30276 }
30277 },
30278 "permissions" : {
30279 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
30280 "user" : "all"
30281 },
30282 "protected" : 1,
30283 "proxyto" : "node",
30284 "returns" : {
5d9c884c
DM
30285 "type" : "object"
30286 }
30287 }
30288 },
30289 "leaf" : 1,
30290 "path" : "/nodes/{node}/replication/{id}/status",
30291 "text" : "status"
30292 },
30293 {
30294 "info" : {
30295 "GET" : {
30296 "description" : "Read replication job log.",
30297 "method" : "GET",
30298 "name" : "read_job_log",
30299 "parameters" : {
30300 "additionalProperties" : 0,
30301 "properties" : {
30302 "id" : {
30303 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
30304 "format" : "pve-replication-job-id",
30305 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
30306 "type" : "string"
30307 },
30308 "limit" : {
30309 "minimum" : 0,
30310 "optional" : 1,
30311 "type" : "integer",
30312 "typetext" : "<integer> (0 - N)"
30313 },
30314 "node" : {
30315 "description" : "The cluster node name.",
30316 "format" : "pve-node",
30317 "type" : "string",
30318 "typetext" : "<string>"
30319 },
30320 "start" : {
30321 "minimum" : 0,
30322 "optional" : 1,
30323 "type" : "integer",
30324 "typetext" : "<integer> (0 - N)"
30325 }
30326 }
30327 },
30328 "permissions" : {
30329 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
30330 "user" : "all"
30331 },
30332 "protected" : 1,
30333 "proxyto" : "node",
30334 "returns" : {
30335 "items" : {
30336 "properties" : {
30337 "n" : {
30338 "description" : "Line number",
30339 "type" : "integer"
30340 },
30341 "t" : {
30342 "description" : "Line text",
30343 "type" : "string"
30344 }
30345 },
30346 "type" : "object"
30347 },
30348 "type" : "array"
30349 }
30350 }
30351 },
30352 "leaf" : 1,
30353 "path" : "/nodes/{node}/replication/{id}/log",
30354 "text" : "log"
30355 },
30356 {
30357 "info" : {
30358 "POST" : {
30359 "description" : "Schedule replication job to start as soon as possible.",
30360 "method" : "POST",
30361 "name" : "schedule_now",
30362 "parameters" : {
30363 "additionalProperties" : 0,
30364 "properties" : {
30365 "id" : {
30366 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
30367 "format" : "pve-replication-job-id",
30368 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
30369 "type" : "string"
30370 },
30371 "node" : {
30372 "description" : "The cluster node name.",
30373 "format" : "pve-node",
30374 "type" : "string",
30375 "typetext" : "<string>"
30376 }
30377 }
30378 },
30379 "permissions" : {
30380 "check" : [
30381 "perm",
30382 "/storage",
30383 [
30384 "Datastore.Allocate"
30385 ]
30386 ]
30387 },
30388 "protected" : 1,
30389 "proxyto" : "node",
30390 "returns" : {
30391 "type" : "string"
30392 }
30393 }
30394 },
30395 "leaf" : 1,
30396 "path" : "/nodes/{node}/replication/{id}/schedule_now",
30397 "text" : "schedule_now"
30398 }
30399 ],
30400 "info" : {
30401 "GET" : {
30402 "description" : "Directory index.",
30403 "method" : "GET",
30404 "name" : "index",
30405 "parameters" : {
30406 "additionalProperties" : 0,
30407 "properties" : {
30408 "id" : {
30409 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
30410 "format" : "pve-replication-job-id",
30411 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
30412 "type" : "string"
30413 },
30414 "node" : {
30415 "description" : "The cluster node name.",
30416 "format" : "pve-node",
30417 "type" : "string",
30418 "typetext" : "<string>"
30419 }
30420 }
30421 },
30422 "permissions" : {
30423 "user" : "all"
30424 },
30425 "returns" : {
30426 "items" : {
30427 "properties" : {},
30428 "type" : "object"
30429 },
30430 "links" : [
30431 {
30432 "href" : "{name}",
30433 "rel" : "child"
30434 }
30435 ],
30436 "type" : "array"
30437 }
30438 }
30439 },
30440 "leaf" : 0,
30441 "path" : "/nodes/{node}/replication/{id}",
30442 "text" : "{id}"
30443 }
30444 ],
30445 "info" : {
30446 "GET" : {
30447 "description" : "List status of all replication jobs on this node.",
30448 "method" : "GET",
30449 "name" : "status",
30450 "parameters" : {
30451 "additionalProperties" : 0,
30452 "properties" : {
30453 "guest" : {
30454 "description" : "Only list replication jobs for this guest.",
30455 "format" : "pve-vmid",
30456 "minimum" : 1,
30457 "optional" : 1,
30458 "type" : "integer",
30459 "typetext" : "<integer> (1 - N)"
30460 },
30461 "node" : {
30462 "description" : "The cluster node name.",
30463 "format" : "pve-node",
30464 "type" : "string",
30465 "typetext" : "<string>"
30466 }
30467 }
30468 },
30469 "permissions" : {
30470 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
30471 "user" : "all"
30472 },
30473 "protected" : 1,
30474 "proxyto" : "node",
30475 "returns" : {
30476 "items" : {
30477 "properties" : {
30478 "id" : {
30479 "type" : "string"
30480 }
30481 },
30482 "type" : "object"
30483 },
30484 "links" : [
30485 {
30486 "href" : "{id}",
30487 "rel" : "child"
30488 }
30489 ],
30490 "type" : "array"
30491 }
30492 }
30493 },
30494 "leaf" : 0,
30495 "path" : "/nodes/{node}/replication",
30496 "text" : "replication"
30497 },
a9a8e3d1
DM
30498 {
30499 "children" : [
30500 {
30501 "children" : [
30502 {
30503 "info" : {
30504 "DELETE" : {
30505 "description" : "Revoke existing certificate from CA.",
30506 "method" : "DELETE",
30507 "name" : "revoke_certificate",
30508 "parameters" : {
30509 "additionalProperties" : 0,
30510 "properties" : {
30511 "node" : {
30512 "description" : "The cluster node name.",
30513 "format" : "pve-node",
30514 "type" : "string",
30515 "typetext" : "<string>"
30516 }
30517 }
30518 },
30519 "protected" : 1,
30520 "proxyto" : "node",
30521 "returns" : {
30522 "type" : "string"
30523 }
30524 },
30525 "POST" : {
30526 "description" : "Order a new certificate from ACME-compatible CA.",
30527 "method" : "POST",
30528 "name" : "new_certificate",
30529 "parameters" : {
30530 "additionalProperties" : 0,
30531 "properties" : {
30532 "force" : {
30533 "default" : 0,
30534 "description" : "Overwrite existing custom certificate.",
30535 "optional" : 1,
30536 "type" : "boolean",
30537 "typetext" : "<boolean>"
30538 },
30539 "node" : {
30540 "description" : "The cluster node name.",
30541 "format" : "pve-node",
30542 "type" : "string",
30543 "typetext" : "<string>"
30544 }
30545 }
30546 },
30547 "protected" : 1,
30548 "proxyto" : "node",
30549 "returns" : {
30550 "type" : "string"
30551 }
30552 },
30553 "PUT" : {
30554 "description" : "Renew existing certificate from CA.",
30555 "method" : "PUT",
30556 "name" : "renew_certificate",
30557 "parameters" : {
30558 "additionalProperties" : 0,
30559 "properties" : {
30560 "force" : {
30561 "default" : 0,
30562 "description" : "Force renewal even if expiry is more than 30 days away.",
30563 "optional" : 1,
30564 "type" : "boolean",
30565 "typetext" : "<boolean>"
30566 },
30567 "node" : {
30568 "description" : "The cluster node name.",
30569 "format" : "pve-node",
30570 "type" : "string",
30571 "typetext" : "<string>"
30572 }
30573 }
30574 },
30575 "protected" : 1,
30576 "proxyto" : "node",
30577 "returns" : {
30578 "type" : "string"
30579 }
30580 }
30581 },
30582 "leaf" : 1,
30583 "path" : "/nodes/{node}/certificates/acme/certificate",
30584 "text" : "certificate"
30585 }
30586 ],
30587 "info" : {
30588 "GET" : {
30589 "description" : "ACME index.",
30590 "method" : "GET",
30591 "name" : "index",
30592 "parameters" : {
30593 "additionalProperties" : 0,
30594 "properties" : {
30595 "node" : {
30596 "description" : "The cluster node name.",
30597 "format" : "pve-node",
30598 "type" : "string",
30599 "typetext" : "<string>"
30600 }
30601 }
30602 },
30603 "permissions" : {
30604 "user" : "all"
30605 },
30606 "returns" : {
30607 "items" : {
30608 "properties" : {},
30609 "type" : "object"
30610 },
30611 "links" : [
30612 {
30613 "href" : "{name}",
30614 "rel" : "child"
30615 }
30616 ],
30617 "type" : "array"
30618 }
30619 }
30620 },
30621 "leaf" : 0,
30622 "path" : "/nodes/{node}/certificates/acme",
30623 "text" : "acme"
30624 },
30625 {
30626 "info" : {
30627 "GET" : {
30628 "description" : "Get information about node's certificates.",
30629 "method" : "GET",
30630 "name" : "info",
30631 "parameters" : {
30632 "additionalProperties" : 0,
30633 "properties" : {
30634 "node" : {
30635 "description" : "The cluster node name.",
30636 "format" : "pve-node",
30637 "type" : "string",
30638 "typetext" : "<string>"
30639 }
30640 }
30641 },
30642 "permissions" : {
30643 "user" : "all"
30644 },
30645 "proxyto" : "node",
30646 "returns" : {
30647 "items" : {
30648 "properties" : {
30649 "filename" : {
30650 "optional" : 1,
30651 "type" : "string"
30652 },
30653 "fingerprint" : {
30654 "description" : "Certificate SHA 256 fingerprint.",
30655 "optional" : 1,
30656 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
30657 "type" : "string"
30658 },
30659 "issuer" : {
30660 "description" : "Certificate issuer name.",
30661 "optional" : 1,
30662 "type" : "string"
30663 },
30664 "notafter" : {
30665 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
30666 "optional" : 1,
4d47f125 30667 "renderer" : "timestamp",
a9a8e3d1
DM
30668 "type" : "integer"
30669 },
30670 "notbefore" : {
30671 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
30672 "optional" : 1,
4d47f125 30673 "renderer" : "timestamp",
a9a8e3d1
DM
30674 "type" : "integer"
30675 },
30676 "pem" : {
30677 "description" : "Certificate in PEM format",
30678 "format" : "pem-certificate",
30679 "optional" : 1,
30680 "type" : "string"
30681 },
30682 "san" : {
30683 "description" : "List of Certificate's SubjectAlternativeName entries.",
30684 "items" : {
30685 "type" : "string"
30686 },
30687 "optional" : 1,
4d47f125 30688 "renderer" : "yaml",
a9a8e3d1
DM
30689 "type" : "array"
30690 },
30691 "subject" : {
30692 "description" : "Certificate subject name.",
30693 "optional" : 1,
30694 "type" : "string"
30695 }
30696 },
30697 "type" : "object"
30698 },
30699 "type" : "array"
30700 }
30701 }
30702 },
30703 "leaf" : 1,
30704 "path" : "/nodes/{node}/certificates/info",
30705 "text" : "info"
30706 },
30707 {
30708 "info" : {
30709 "DELETE" : {
30710 "description" : "DELETE custom certificate chain and key.",
30711 "method" : "DELETE",
30712 "name" : "remove_custom_cert",
30713 "parameters" : {
30714 "additionalProperties" : 0,
30715 "properties" : {
30716 "node" : {
30717 "description" : "The cluster node name.",
30718 "format" : "pve-node",
30719 "type" : "string",
30720 "typetext" : "<string>"
30721 },
30722 "restart" : {
30723 "default" : 0,
30724 "description" : "Restart pveproxy.",
30725 "optional" : 1,
30726 "type" : "boolean",
30727 "typetext" : "<boolean>"
30728 }
30729 }
30730 },
30731 "protected" : 1,
30732 "proxyto" : "node",
30733 "returns" : {
30734 "type" : "null"
30735 }
30736 },
30737 "POST" : {
30738 "description" : "Upload or update custom certificate chain and key.",
30739 "method" : "POST",
30740 "name" : "upload_custom_cert",
30741 "parameters" : {
30742 "additionalProperties" : 0,
30743 "properties" : {
30744 "certificates" : {
30745 "description" : "PEM encoded certificate (chain).",
30746 "format" : "pem-certificate-chain",
30747 "type" : "string",
30748 "typetext" : "<string>"
30749 },
30750 "force" : {
30751 "default" : 0,
30752 "description" : "Overwrite existing custom or ACME certificate files.",
30753 "optional" : 1,
30754 "type" : "boolean",
30755 "typetext" : "<boolean>"
30756 },
30757 "key" : {
30758 "description" : "PEM encoded private key.",
30759 "format" : "pem-string",
30760 "optional" : 1,
30761 "type" : "string",
30762 "typetext" : "<string>"
30763 },
30764 "node" : {
30765 "description" : "The cluster node name.",
30766 "format" : "pve-node",
30767 "type" : "string",
30768 "typetext" : "<string>"
30769 },
30770 "restart" : {
30771 "default" : 0,
30772 "description" : "Restart pveproxy.",
30773 "optional" : 1,
30774 "type" : "boolean",
30775 "typetext" : "<boolean>"
30776 }
30777 }
30778 },
30779 "protected" : 1,
30780 "proxyto" : "node",
30781 "returns" : {
30782 "properties" : {
30783 "filename" : {
30784 "optional" : 1,
30785 "type" : "string"
30786 },
30787 "fingerprint" : {
30788 "description" : "Certificate SHA 256 fingerprint.",
30789 "optional" : 1,
30790 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
30791 "type" : "string"
30792 },
30793 "issuer" : {
30794 "description" : "Certificate issuer name.",
30795 "optional" : 1,
30796 "type" : "string"
30797 },
30798 "notafter" : {
30799 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
30800 "optional" : 1,
4d47f125 30801 "renderer" : "timestamp",
a9a8e3d1
DM
30802 "type" : "integer"
30803 },
30804 "notbefore" : {
30805 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
30806 "optional" : 1,
4d47f125 30807 "renderer" : "timestamp",
a9a8e3d1
DM
30808 "type" : "integer"
30809 },
30810 "pem" : {
30811 "description" : "Certificate in PEM format",
30812 "format" : "pem-certificate",
30813 "optional" : 1,
30814 "type" : "string"
30815 },
30816 "san" : {
30817 "description" : "List of Certificate's SubjectAlternativeName entries.",
30818 "items" : {
30819 "type" : "string"
30820 },
30821 "optional" : 1,
4d47f125 30822 "renderer" : "yaml",
a9a8e3d1
DM
30823 "type" : "array"
30824 },
30825 "subject" : {
30826 "description" : "Certificate subject name.",
30827 "optional" : 1,
30828 "type" : "string"
30829 }
30830 },
30831 "type" : "object"
30832 }
30833 }
30834 },
30835 "leaf" : 1,
30836 "path" : "/nodes/{node}/certificates/custom",
30837 "text" : "custom"
30838 }
30839 ],
30840 "info" : {
30841 "GET" : {
30842 "description" : "Node index.",
30843 "method" : "GET",
30844 "name" : "index",
30845 "parameters" : {
30846 "additionalProperties" : 0,
30847 "properties" : {
30848 "node" : {
30849 "description" : "The cluster node name.",
30850 "format" : "pve-node",
30851 "type" : "string",
30852 "typetext" : "<string>"
30853 }
30854 }
30855 },
30856 "permissions" : {
30857 "user" : "all"
30858 },
30859 "returns" : {
30860 "items" : {
30861 "properties" : {},
30862 "type" : "object"
30863 },
30864 "links" : [
30865 {
30866 "href" : "{name}",
30867 "rel" : "child"
30868 }
30869 ],
30870 "type" : "array"
30871 }
30872 }
30873 },
30874 "leaf" : 0,
30875 "path" : "/nodes/{node}/certificates",
30876 "text" : "certificates"
30877 },
30878 {
30879 "info" : {
30880 "GET" : {
30881 "description" : "Get node configuration options.",
30882 "method" : "GET",
30883 "name" : "get_config",
30884 "parameters" : {
30885 "additionalProperties" : 0,
30886 "properties" : {
30887 "node" : {
30888 "description" : "The cluster node name.",
30889 "format" : "pve-node",
30890 "type" : "string",
30891 "typetext" : "<string>"
30892 }
30893 }
30894 },
30895 "permissions" : {
30896 "check" : [
30897 "perm",
30898 "/",
30899 [
30900 "Sys.Audit"
30901 ]
30902 ]
30903 },
30904 "proxyto" : "node",
30905 "returns" : {
a9a8e3d1
DM
30906 "type" : "object"
30907 }
30908 },
30909 "PUT" : {
30910 "description" : "Set node configuration options.",
30911 "method" : "PUT",
30912 "name" : "set_options",
30913 "parameters" : {
30914 "additionalProperties" : 0,
30915 "properties" : {
30916 "acme" : {
30917 "description" : "Node specific ACME settings.",
30918 "format" : {
30919 "account" : {
30920 "default" : "default",
30921 "description" : "ACME account config file name.",
30922 "format" : "pve-configid",
30923 "format_description" : "name",
30924 "optional" : 1,
30925 "type" : "string"
30926 },
30927 "domains" : {
30928 "description" : "List of domains for this node's ACME certificate",
30929 "format" : "pve-acme-domain-list",
30930 "format_description" : "domain[;domain;...]",
30931 "type" : "string"
30932 }
30933 },
30934 "optional" : 1,
30935 "type" : "string",
30936 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
30937 },
30938 "delete" : {
30939 "description" : "A list of settings you want to delete.",
30940 "format" : "pve-configid-list",
30941 "optional" : 1,
30942 "type" : "string",
30943 "typetext" : "<string>"
30944 },
30945 "description" : {
30946 "description" : "Node description/comment.",
30947 "optional" : 1,
30948 "type" : "string",
30949 "typetext" : "<string>"
30950 },
30951 "digest" : {
30952 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
30953 "maxLength" : 40,
30954 "optional" : 1,
30955 "type" : "string",
30956 "typetext" : "<string>"
30957 },
30958 "node" : {
30959 "description" : "The cluster node name.",
30960 "format" : "pve-node",
30961 "type" : "string",
30962 "typetext" : "<string>"
30963 }
30964 }
30965 },
30966 "permissions" : {
30967 "check" : [
30968 "perm",
30969 "/",
30970 [
30971 "Sys.Modify"
30972 ]
30973 ]
30974 },
30975 "protected" : 1,
30976 "proxyto" : "node",
30977 "returns" : {
30978 "type" : "null"
30979 }
30980 }
30981 },
30982 "leaf" : 1,
30983 "path" : "/nodes/{node}/config",
30984 "text" : "config"
30985 },
56122987 30986 {
56122987
DM
30987 "info" : {
30988 "GET" : {
44660702
DM
30989 "description" : "API version details",
30990 "method" : "GET",
30991 "name" : "version",
56122987 30992 "parameters" : {
44660702 30993 "additionalProperties" : 0,
56122987
DM
30994 "properties" : {
30995 "node" : {
56122987 30996 "description" : "The cluster node name.",
44660702 30997 "format" : "pve-node",
013dc89f
DM
30998 "type" : "string",
30999 "typetext" : "<string>"
56122987 31000 }
44660702 31001 }
56122987 31002 },
56122987 31003 "permissions" : {
7aacca6f 31004 "user" : "all"
56122987 31005 },
56122987 31006 "proxyto" : "node",
56122987 31007 "returns" : {
56122987 31008 "properties" : {
44660702 31009 "release" : {
56122987
DM
31010 "type" : "string"
31011 },
44660702 31012 "repoid" : {
7aacca6f
DM
31013 "type" : "string"
31014 },
31015 "version" : {
31016 "type" : "string"
31017 }
44660702
DM
31018 },
31019 "type" : "object"
7aacca6f 31020 }
56122987
DM
31021 }
31022 },
56122987 31023 "leaf" : 1,
44660702
DM
31024 "path" : "/nodes/{node}/version",
31025 "text" : "version"
56122987
DM
31026 },
31027 {
56122987
DM
31028 "info" : {
31029 "GET" : {
7aacca6f 31030 "description" : "Read node status",
44660702 31031 "method" : "GET",
7aacca6f 31032 "name" : "status",
56122987 31033 "parameters" : {
44660702 31034 "additionalProperties" : 0,
56122987
DM
31035 "properties" : {
31036 "node" : {
7aacca6f 31037 "description" : "The cluster node name.",
44660702 31038 "format" : "pve-node",
013dc89f
DM
31039 "type" : "string",
31040 "typetext" : "<string>"
56122987 31041 }
44660702 31042 }
56122987 31043 },
56122987
DM
31044 "permissions" : {
31045 "check" : [
31046 "perm",
31047 "/nodes/{node}",
31048 [
31049 "Sys.Audit"
31050 ]
31051 ]
44660702
DM
31052 },
31053 "proxyto" : "node",
31054 "returns" : {
44660702 31055 "type" : "object"
7aacca6f
DM
31056 }
31057 },
31058 "POST" : {
44660702
DM
31059 "description" : "Reboot or shutdown a node.",
31060 "method" : "POST",
7aacca6f 31061 "name" : "node_cmd",
56122987 31062 "parameters" : {
44660702 31063 "additionalProperties" : 0,
56122987 31064 "properties" : {
7aacca6f
DM
31065 "command" : {
31066 "description" : "Specify the command.",
56122987 31067 "enum" : [
7aacca6f
DM
31068 "reboot",
31069 "shutdown"
56122987
DM
31070 ],
31071 "type" : "string"
44660702
DM
31072 },
31073 "node" : {
31074 "description" : "The cluster node name.",
31075 "format" : "pve-node",
013dc89f
DM
31076 "type" : "string",
31077 "typetext" : "<string>"
56122987 31078 }
44660702 31079 }
7aacca6f 31080 },
7aacca6f
DM
31081 "permissions" : {
31082 "check" : [
31083 "perm",
31084 "/nodes/{node}",
31085 [
31086 "Sys.PowerMgmt"
31087 ]
31088 ]
31089 },
44660702 31090 "protected" : 1,
7aacca6f 31091 "proxyto" : "node",
7aacca6f
DM
31092 "returns" : {
31093 "type" : "null"
56122987
DM
31094 }
31095 }
31096 },
7aacca6f 31097 "leaf" : 1,
44660702
DM
31098 "path" : "/nodes/{node}/status",
31099 "text" : "status"
56122987
DM
31100 },
31101 {
56122987
DM
31102 "info" : {
31103 "GET" : {
44660702
DM
31104 "description" : "Read tap/vm network device interface counters",
31105 "method" : "GET",
31106 "name" : "netstat",
31107 "parameters" : {
31108 "additionalProperties" : 0,
31109 "properties" : {
31110 "node" : {
31111 "description" : "The cluster node name.",
31112 "format" : "pve-node",
013dc89f
DM
31113 "type" : "string",
31114 "typetext" : "<string>"
44660702 31115 }
56122987
DM
31116 }
31117 },
31118 "permissions" : {
31119 "check" : [
31120 "perm",
31121 "/nodes/{node}",
31122 [
7aacca6f 31123 "Sys.Audit"
56122987
DM
31124 ]
31125 ]
31126 },
7aacca6f 31127 "proxyto" : "node",
44660702
DM
31128 "returns" : {
31129 "items" : {
31130 "properties" : {},
31131 "type" : "object"
31132 },
31133 "type" : "array"
31134 }
7aacca6f
DM
31135 }
31136 },
44660702
DM
31137 "leaf" : 1,
31138 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
31139 "text" : "netstat"
31140 },
31141 {
31142 "info" : {
31143 "POST" : {
7aacca6f 31144 "description" : "Execute multiple commands in order.",
7aacca6f 31145 "method" : "POST",
7aacca6f 31146 "name" : "execute",
56122987
DM
31147 "parameters" : {
31148 "additionalProperties" : 0,
31149 "properties" : {
7aacca6f
DM
31150 "commands" : {
31151 "description" : "JSON encoded array of commands.",
013dc89f
DM
31152 "type" : "string",
31153 "typetext" : "<string>"
56122987
DM
31154 },
31155 "node" : {
44660702 31156 "description" : "The cluster node name.",
56122987 31157 "format" : "pve-node",
013dc89f
DM
31158 "type" : "string",
31159 "typetext" : "<string>"
56122987
DM
31160 }
31161 }
44660702
DM
31162 },
31163 "permissions" : {
31164 "check" : [
31165 "perm",
31166 "/nodes/{node}",
31167 [
31168 "Sys.Audit"
31169 ]
31170 ]
31171 },
31172 "protected" : 1,
31173 "proxyto" : "node",
31174 "returns" : {
44660702 31175 "type" : "array"
56122987
DM
31176 }
31177 }
31178 },
56122987 31179 "leaf" : 1,
44660702
DM
31180 "path" : "/nodes/{node}/execute",
31181 "text" : "execute"
56122987
DM
31182 },
31183 {
31184 "info" : {
7aacca6f 31185 "GET" : {
44660702
DM
31186 "description" : "Read node RRD statistics (returns PNG)",
31187 "method" : "GET",
7aacca6f 31188 "name" : "rrd",
56122987 31189 "parameters" : {
7aacca6f 31190 "additionalProperties" : 0,
56122987 31191 "properties" : {
44660702
DM
31192 "cf" : {
31193 "description" : "The RRD consolidation function",
31194 "enum" : [
31195 "AVERAGE",
31196 "MAX"
31197 ],
31198 "optional" : 1,
31199 "type" : "string"
31200 },
7aacca6f 31201 "ds" : {
7aacca6f 31202 "description" : "The list of datasources you want to display.",
44660702 31203 "format" : "pve-configid-list",
013dc89f
DM
31204 "type" : "string",
31205 "typetext" : "<string>"
44660702
DM
31206 },
31207 "node" : {
31208 "description" : "The cluster node name.",
31209 "format" : "pve-node",
013dc89f
DM
31210 "type" : "string",
31211 "typetext" : "<string>"
7aacca6f
DM
31212 },
31213 "timeframe" : {
31214 "description" : "Specify the time frame you are interested in.",
31215 "enum" : [
31216 "hour",
31217 "day",
31218 "week",
31219 "month",
31220 "year"
31221 ],
31222 "type" : "string"
56122987 31223 }
7aacca6f 31224 }
56122987 31225 },
56122987 31226 "permissions" : {
56122987
DM
31227 "check" : [
31228 "perm",
31229 "/nodes/{node}",
31230 [
7aacca6f 31231 "Sys.Audit"
56122987
DM
31232 ]
31233 ]
31234 },
7aacca6f 31235 "protected" : 1,
56122987 31236 "returns" : {
56122987 31237 "properties" : {
7aacca6f 31238 "filename" : {
56122987
DM
31239 "type" : "string"
31240 }
44660702
DM
31241 },
31242 "type" : "object"
31243 }
56122987
DM
31244 }
31245 },
44660702 31246 "leaf" : 1,
7aacca6f 31247 "path" : "/nodes/{node}/rrd",
44660702 31248 "text" : "rrd"
56122987
DM
31249 },
31250 {
31251 "info" : {
7aacca6f 31252 "GET" : {
44660702
DM
31253 "description" : "Read node RRD statistics",
31254 "method" : "GET",
7aacca6f 31255 "name" : "rrddata",
56122987 31256 "parameters" : {
44660702 31257 "additionalProperties" : 0,
56122987 31258 "properties" : {
7aacca6f 31259 "cf" : {
7aacca6f
DM
31260 "description" : "The RRD consolidation function",
31261 "enum" : [
31262 "AVERAGE",
31263 "MAX"
44660702
DM
31264 ],
31265 "optional" : 1,
31266 "type" : "string"
56122987
DM
31267 },
31268 "node" : {
44660702 31269 "description" : "The cluster node name.",
56122987 31270 "format" : "pve-node",
013dc89f
DM
31271 "type" : "string",
31272 "typetext" : "<string>"
56122987 31273 },
7aacca6f 31274 "timeframe" : {
7aacca6f
DM
31275 "description" : "Specify the time frame you are interested in.",
31276 "enum" : [
31277 "hour",
31278 "day",
31279 "week",
31280 "month",
31281 "year"
44660702
DM
31282 ],
31283 "type" : "string"
56122987 31284 }
56122987
DM
31285 }
31286 },
56122987
DM
31287 "permissions" : {
31288 "check" : [
31289 "perm",
31290 "/nodes/{node}",
31291 [
44660702 31292 "Sys.Audit"
56122987
DM
31293 ]
31294 ]
7aacca6f 31295 },
44660702 31296 "protected" : 1,
56122987 31297 "returns" : {
7aacca6f 31298 "items" : {
44660702 31299 "properties" : {},
7aacca6f
DM
31300 "type" : "object"
31301 },
31302 "type" : "array"
44660702
DM
31303 }
31304 }
31305 },
31306 "leaf" : 1,
31307 "path" : "/nodes/{node}/rrddata",
31308 "text" : "rrddata"
31309 },
31310 {
31311 "info" : {
31312 "GET" : {
31313 "description" : "Read system log",
31314 "method" : "GET",
31315 "name" : "syslog",
56122987 31316 "parameters" : {
44660702 31317 "additionalProperties" : 0,
56122987 31318 "properties" : {
44660702
DM
31319 "limit" : {
31320 "minimum" : 0,
7aacca6f 31321 "optional" : 1,
4bd7df8b 31322 "type" : "integer",
013dc89f 31323 "typetext" : "<integer> (0 - N)"
7aacca6f 31324 },
56122987 31325 "node" : {
7aacca6f 31326 "description" : "The cluster node name.",
44660702 31327 "format" : "pve-node",
013dc89f
DM
31328 "type" : "string",
31329 "typetext" : "<string>"
56122987 31330 },
35a75dd3
DM
31331 "service" : {
31332 "description" : "Service ID",
31333 "maxLength" : 128,
31334 "optional" : 1,
31335 "type" : "string",
31336 "typetext" : "<string>"
31337 },
44660702
DM
31338 "since" : {
31339 "description" : "Display all log since this date-time string.",
31340 "optional" : 1,
31341 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
31342 "type" : "string"
31343 },
31344 "start" : {
7aacca6f
DM
31345 "minimum" : 0,
31346 "optional" : 1,
4bd7df8b 31347 "type" : "integer",
013dc89f 31348 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
31349 },
31350 "until" : {
31351 "description" : "Display all log until this date-time string.",
7aacca6f 31352 "optional" : 1,
44660702 31353 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
31354 "type" : "string"
31355 }
44660702 31356 }
56122987 31357 },
44660702
DM
31358 "permissions" : {
31359 "check" : [
31360 "perm",
31361 "/nodes/{node}",
31362 [
31363 "Sys.Syslog"
31364 ]
31365 ]
31366 },
31367 "protected" : 1,
31368 "proxyto" : "node",
31369 "returns" : {
31370 "items" : {
31371 "properties" : {
31372 "n" : {
31373 "description" : "Line number",
31374 "type" : "integer"
31375 },
31376 "t" : {
31377 "description" : "Line text",
31378 "type" : "string"
31379 }
31380 },
31381 "type" : "object"
31382 },
31383 "type" : "array"
31384 }
56122987
DM
31385 }
31386 },
44660702
DM
31387 "leaf" : 1,
31388 "path" : "/nodes/{node}/syslog",
7aacca6f 31389 "text" : "syslog"
56122987
DM
31390 },
31391 {
56122987
DM
31392 "info" : {
31393 "POST" : {
44660702
DM
31394 "description" : "Creates a VNC Shell proxy.",
31395 "method" : "POST",
31396 "name" : "vncshell",
31397 "parameters" : {
31398 "additionalProperties" : 0,
56122987 31399 "properties" : {
5d9c884c
DM
31400 "height" : {
31401 "description" : "sets the height of the console in pixels.",
31402 "maximum" : 2160,
31403 "minimum" : 16,
31404 "optional" : 1,
31405 "type" : "integer",
31406 "typetext" : "<integer> (16 - 2160)"
31407 },
44660702
DM
31408 "node" : {
31409 "description" : "The cluster node name.",
31410 "format" : "pve-node",
013dc89f
DM
31411 "type" : "string",
31412 "typetext" : "<string>"
7aacca6f 31413 },
44660702
DM
31414 "upgrade" : {
31415 "default" : 0,
31416 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
31417 "optional" : 1,
013dc89f
DM
31418 "type" : "boolean",
31419 "typetext" : "<boolean>"
7aacca6f 31420 },
44660702
DM
31421 "websocket" : {
31422 "description" : "use websocket instead of standard vnc.",
31423 "optional" : 1,
013dc89f
DM
31424 "type" : "boolean",
31425 "typetext" : "<boolean>"
5d9c884c
DM
31426 },
31427 "width" : {
31428 "description" : "sets the width of the console in pixels.",
31429 "maximum" : 4096,
31430 "minimum" : 16,
31431 "optional" : 1,
31432 "type" : "integer",
31433 "typetext" : "<integer> (16 - 4096)"
56122987 31434 }
44660702 31435 }
56122987 31436 },
56122987
DM
31437 "permissions" : {
31438 "check" : [
31439 "perm",
7aacca6f 31440 "/nodes/{node}",
56122987 31441 [
7aacca6f 31442 "Sys.Console"
56122987 31443 ]
44660702
DM
31444 ],
31445 "description" : "Restricted to users on realm 'pam'"
56122987 31446 },
44660702
DM
31447 "protected" : 1,
31448 "returns" : {
31449 "additionalProperties" : 0,
56122987 31450 "properties" : {
44660702
DM
31451 "cert" : {
31452 "type" : "string"
7aacca6f 31453 },
44660702
DM
31454 "port" : {
31455 "type" : "integer"
7aacca6f 31456 },
44660702
DM
31457 "ticket" : {
31458 "type" : "string"
31459 },
31460 "upid" : {
31461 "type" : "string"
31462 },
31463 "user" : {
31464 "type" : "string"
56122987 31465 }
44660702
DM
31466 }
31467 }
56122987
DM
31468 }
31469 },
7aacca6f 31470 "leaf" : 1,
44660702
DM
31471 "path" : "/nodes/{node}/vncshell",
31472 "text" : "vncshell"
56122987 31473 },
35a75dd3
DM
31474 {
31475 "info" : {
31476 "POST" : {
31477 "description" : "Creates a VNC Shell proxy.",
31478 "method" : "POST",
31479 "name" : "termproxy",
31480 "parameters" : {
31481 "additionalProperties" : 0,
31482 "properties" : {
31483 "node" : {
31484 "description" : "The cluster node name.",
31485 "format" : "pve-node",
31486 "type" : "string",
31487 "typetext" : "<string>"
31488 },
31489 "upgrade" : {
31490 "default" : 0,
31491 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
31492 "optional" : 1,
31493 "type" : "boolean",
31494 "typetext" : "<boolean>"
31495 }
31496 }
31497 },
31498 "permissions" : {
31499 "check" : [
31500 "perm",
31501 "/nodes/{node}",
31502 [
31503 "Sys.Console"
31504 ]
31505 ],
31506 "description" : "Restricted to users on realm 'pam'"
31507 },
31508 "protected" : 1,
31509 "returns" : {
31510 "additionalProperties" : 0,
31511 "properties" : {
31512 "port" : {
31513 "type" : "integer"
31514 },
31515 "ticket" : {
31516 "type" : "string"
31517 },
31518 "upid" : {
31519 "type" : "string"
31520 },
31521 "user" : {
31522 "type" : "string"
31523 }
31524 }
31525 }
31526 }
31527 },
31528 "leaf" : 1,
31529 "path" : "/nodes/{node}/termproxy",
31530 "text" : "termproxy"
31531 },
56122987
DM
31532 {
31533 "info" : {
31534 "GET" : {
7aacca6f 31535 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
31536 "method" : "GET",
31537 "name" : "vncwebsocket",
56122987 31538 "parameters" : {
44660702 31539 "additionalProperties" : 0,
56122987
DM
31540 "properties" : {
31541 "node" : {
31542 "description" : "The cluster node name.",
44660702 31543 "format" : "pve-node",
013dc89f
DM
31544 "type" : "string",
31545 "typetext" : "<string>"
7aacca6f
DM
31546 },
31547 "port" : {
7aacca6f
DM
31548 "description" : "Port number returned by previous vncproxy call.",
31549 "maximum" : 5999,
44660702 31550 "minimum" : 5900,
4bd7df8b 31551 "type" : "integer",
013dc89f 31552 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
31553 },
31554 "vncticket" : {
31555 "description" : "Ticket from previous call to vncproxy.",
31556 "maxLength" : 512,
013dc89f
DM
31557 "type" : "string",
31558 "typetext" : "<string>"
56122987 31559 }
44660702 31560 }
56122987 31561 },
56122987
DM
31562 "permissions" : {
31563 "check" : [
31564 "perm",
31565 "/nodes/{node}",
31566 [
7aacca6f 31567 "Sys.Console"
56122987 31568 ]
44660702
DM
31569 ],
31570 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
31571 },
31572 "returns" : {
31573 "properties" : {
31574 "port" : {
31575 "type" : "string"
31576 }
31577 },
31578 "type" : "object"
7aacca6f 31579 }
56122987
DM
31580 }
31581 },
44660702 31582 "leaf" : 1,
7aacca6f 31583 "path" : "/nodes/{node}/vncwebsocket",
44660702 31584 "text" : "vncwebsocket"
56122987
DM
31585 },
31586 {
31587 "info" : {
31588 "POST" : {
44660702 31589 "description" : "Creates a SPICE shell.",
7aacca6f 31590 "method" : "POST",
44660702 31591 "name" : "spiceshell",
56122987 31592 "parameters" : {
7aacca6f 31593 "additionalProperties" : 0,
56122987 31594 "properties" : {
7aacca6f 31595 "node" : {
44660702 31596 "description" : "The cluster node name.",
56122987 31597 "format" : "pve-node",
013dc89f
DM
31598 "type" : "string",
31599 "typetext" : "<string>"
7aacca6f 31600 },
44660702 31601 "proxy" : {
4d47f125 31602 "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
31603 "format" : "address",
31604 "optional" : 1,
013dc89f
DM
31605 "type" : "string",
31606 "typetext" : "<string>"
7aacca6f 31607 },
44660702
DM
31608 "upgrade" : {
31609 "default" : 0,
31610 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
31611 "optional" : 1,
013dc89f
DM
31612 "type" : "boolean",
31613 "typetext" : "<boolean>"
56122987 31614 }
7aacca6f 31615 }
56122987 31616 },
56122987
DM
31617 "permissions" : {
31618 "check" : [
31619 "perm",
7aacca6f 31620 "/nodes/{node}",
56122987 31621 [
7aacca6f 31622 "Sys.Console"
56122987 31623 ]
7aacca6f
DM
31624 ],
31625 "description" : "Restricted to users on realm 'pam'"
44660702
DM
31626 },
31627 "protected" : 1,
31628 "proxyto" : "node",
31629 "returns" : {
31630 "additionalProperties" : 1,
31631 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
31632 "properties" : {
31633 "host" : {
31634 "type" : "string"
31635 },
31636 "password" : {
31637 "type" : "string"
31638 },
31639 "proxy" : {
31640 "type" : "string"
31641 },
31642 "tls-port" : {
31643 "type" : "integer"
31644 },
31645 "type" : {
31646 "type" : "string"
31647 }
31648 }
7aacca6f 31649 }
56122987
DM
31650 }
31651 },
56122987 31652 "leaf" : 1,
44660702
DM
31653 "path" : "/nodes/{node}/spiceshell",
31654 "text" : "spiceshell"
56122987
DM
31655 },
31656 {
56122987 31657 "info" : {
7aacca6f 31658 "GET" : {
44660702 31659 "description" : "Read DNS settings.",
7aacca6f 31660 "method" : "GET",
44660702
DM
31661 "name" : "dns",
31662 "parameters" : {
7aacca6f
DM
31663 "additionalProperties" : 0,
31664 "properties" : {
44660702
DM
31665 "node" : {
31666 "description" : "The cluster node name.",
31667 "format" : "pve-node",
013dc89f
DM
31668 "type" : "string",
31669 "typetext" : "<string>"
7aacca6f
DM
31670 }
31671 }
31672 },
7aacca6f
DM
31673 "permissions" : {
31674 "check" : [
31675 "perm",
31676 "/nodes/{node}",
31677 [
31678 "Sys.Audit"
31679 ]
31680 ]
31681 },
44660702
DM
31682 "proxyto" : "node",
31683 "returns" : {
56122987
DM
31684 "additionalProperties" : 0,
31685 "properties" : {
44660702
DM
31686 "dns1" : {
31687 "description" : "First name server IP address.",
31688 "optional" : 1,
31689 "type" : "string"
31690 },
31691 "dns2" : {
31692 "description" : "Second name server IP address.",
31693 "optional" : 1,
31694 "type" : "string"
31695 },
31696 "dns3" : {
31697 "description" : "Third name server IP address.",
31698 "optional" : 1,
31699 "type" : "string"
31700 },
31701 "search" : {
31702 "description" : "Search domain for host-name lookup.",
31703 "optional" : 1,
31704 "type" : "string"
7aacca6f 31705 }
44660702
DM
31706 },
31707 "type" : "object"
31708 }
7aacca6f
DM
31709 },
31710 "PUT" : {
44660702
DM
31711 "description" : "Write DNS settings.",
31712 "method" : "PUT",
7aacca6f
DM
31713 "name" : "update_dns",
31714 "parameters" : {
31715 "additionalProperties" : 0,
31716 "properties" : {
44660702
DM
31717 "dns1" : {
31718 "description" : "First name server IP address.",
31719 "format" : "ip",
31720 "optional" : 1,
013dc89f
DM
31721 "type" : "string",
31722 "typetext" : "<string>"
7aacca6f 31723 },
44660702
DM
31724 "dns2" : {
31725 "description" : "Second name server IP address.",
31726 "format" : "ip",
7aacca6f 31727 "optional" : 1,
013dc89f
DM
31728 "type" : "string",
31729 "typetext" : "<string>"
7aacca6f 31730 },
44660702
DM
31731 "dns3" : {
31732 "description" : "Third name server IP address.",
31733 "format" : "ip",
7aacca6f 31734 "optional" : 1,
013dc89f
DM
31735 "type" : "string",
31736 "typetext" : "<string>"
7aacca6f
DM
31737 },
31738 "node" : {
44660702 31739 "description" : "The cluster node name.",
56122987 31740 "format" : "pve-node",
013dc89f
DM
31741 "type" : "string",
31742 "typetext" : "<string>"
7aacca6f 31743 },
44660702
DM
31744 "search" : {
31745 "description" : "Search domain for host-name lookup.",
013dc89f
DM
31746 "type" : "string",
31747 "typetext" : "<string>"
56122987
DM
31748 }
31749 }
31750 },
31751 "permissions" : {
31752 "check" : [
31753 "perm",
7aacca6f 31754 "/nodes/{node}",
56122987 31755 [
7aacca6f 31756 "Sys.Modify"
56122987
DM
31757 ]
31758 ]
31759 },
44660702 31760 "protected" : 1,
7aacca6f 31761 "proxyto" : "node",
56122987 31762 "returns" : {
7aacca6f
DM
31763 "type" : "null"
31764 }
56122987 31765 }
44660702
DM
31766 },
31767 "leaf" : 1,
31768 "path" : "/nodes/{node}/dns",
31769 "text" : "dns"
56122987
DM
31770 },
31771 {
31772 "info" : {
7aacca6f 31773 "GET" : {
7aacca6f 31774 "description" : "Read server time and time zone settings.",
44660702
DM
31775 "method" : "GET",
31776 "name" : "time",
56122987 31777 "parameters" : {
44660702 31778 "additionalProperties" : 0,
56122987
DM
31779 "properties" : {
31780 "node" : {
44660702 31781 "description" : "The cluster node name.",
56122987 31782 "format" : "pve-node",
013dc89f
DM
31783 "type" : "string",
31784 "typetext" : "<string>"
56122987 31785 }
44660702 31786 }
56122987
DM
31787 },
31788 "permissions" : {
31789 "check" : [
31790 "perm",
7aacca6f 31791 "/nodes/{node}",
56122987 31792 [
7aacca6f 31793 "Sys.Audit"
56122987
DM
31794 ]
31795 ]
44660702
DM
31796 },
31797 "proxyto" : "node",
31798 "returns" : {
31799 "additionalProperties" : 0,
31800 "properties" : {
31801 "localtime" : {
31802 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
31803 "minimum" : 1297163644,
4d47f125 31804 "renderer" : "timestamp_gmt",
44660702
DM
31805 "type" : "integer"
31806 },
31807 "time" : {
31808 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
31809 "minimum" : 1297163644,
4d47f125 31810 "renderer" : "timestamp",
44660702
DM
31811 "type" : "integer"
31812 },
31813 "timezone" : {
31814 "description" : "Time zone",
31815 "type" : "string"
31816 }
31817 },
31818 "type" : "object"
7aacca6f
DM
31819 }
31820 },
31821 "PUT" : {
7aacca6f 31822 "description" : "Set time zone.",
44660702
DM
31823 "method" : "PUT",
31824 "name" : "set_timezone",
31825 "parameters" : {
31826 "additionalProperties" : 0,
31827 "properties" : {
31828 "node" : {
31829 "description" : "The cluster node name.",
31830 "format" : "pve-node",
013dc89f
DM
31831 "type" : "string",
31832 "typetext" : "<string>"
44660702
DM
31833 },
31834 "timezone" : {
31835 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
31836 "type" : "string",
31837 "typetext" : "<string>"
44660702
DM
31838 }
31839 }
31840 },
7aacca6f
DM
31841 "permissions" : {
31842 "check" : [
31843 "perm",
31844 "/nodes/{node}",
31845 [
31846 "Sys.Modify"
31847 ]
31848 ]
56122987 31849 },
7aacca6f 31850 "protected" : 1,
44660702
DM
31851 "proxyto" : "node",
31852 "returns" : {
31853 "type" : "null"
31854 }
7aacca6f
DM
31855 }
31856 },
7aacca6f 31857 "leaf" : 1,
44660702
DM
31858 "path" : "/nodes/{node}/time",
31859 "text" : "time"
7aacca6f
DM
31860 },
31861 {
31862 "info" : {
44660702
DM
31863 "GET" : {
31864 "description" : "Get list of appliances.",
31865 "method" : "GET",
31866 "name" : "aplinfo",
7aacca6f
DM
31867 "parameters" : {
31868 "additionalProperties" : 0,
31869 "properties" : {
7aacca6f 31870 "node" : {
44660702 31871 "description" : "The cluster node name.",
7aacca6f 31872 "format" : "pve-node",
013dc89f
DM
31873 "type" : "string",
31874 "typetext" : "<string>"
7aacca6f
DM
31875 }
31876 }
56122987 31877 },
7aacca6f 31878 "permissions" : {
44660702 31879 "user" : "all"
56122987 31880 },
44660702 31881 "proxyto" : "node",
7aacca6f
DM
31882 "returns" : {
31883 "items" : {
44660702
DM
31884 "properties" : {},
31885 "type" : "object"
7aacca6f
DM
31886 },
31887 "type" : "array"
44660702
DM
31888 }
31889 },
31890 "POST" : {
31891 "description" : "Download appliance templates.",
31892 "method" : "POST",
31893 "name" : "apl_download",
7aacca6f
DM
31894 "parameters" : {
31895 "additionalProperties" : 0,
31896 "properties" : {
31897 "node" : {
7aacca6f 31898 "description" : "The cluster node name.",
44660702 31899 "format" : "pve-node",
013dc89f
DM
31900 "type" : "string",
31901 "typetext" : "<string>"
44660702
DM
31902 },
31903 "storage" : {
4bd7df8b 31904 "description" : "The storage where the template will be stored",
44660702 31905 "format" : "pve-storage-id",
013dc89f
DM
31906 "type" : "string",
31907 "typetext" : "<string>"
44660702
DM
31908 },
31909 "template" : {
31910 "description" : "The template wich will downloaded",
31911 "maxLength" : 255,
013dc89f
DM
31912 "type" : "string",
31913 "typetext" : "<string>"
7aacca6f
DM
31914 }
31915 }
56122987 31916 },
7aacca6f 31917 "permissions" : {
44660702
DM
31918 "check" : [
31919 "perm",
31920 "/storage/{storage}",
31921 [
31922 "Datastore.AllocateTemplate"
31923 ]
31924 ]
31925 },
31926 "protected" : 1,
31927 "proxyto" : "node",
31928 "returns" : {
31929 "type" : "string"
7aacca6f
DM
31930 }
31931 }
31932 },
7aacca6f 31933 "leaf" : 1,
44660702
DM
31934 "path" : "/nodes/{node}/aplinfo",
31935 "text" : "aplinfo"
7aacca6f
DM
31936 },
31937 {
31938 "info" : {
31939 "GET" : {
44660702
DM
31940 "description" : "Gather various systems information about a node",
31941 "method" : "GET",
31942 "name" : "report",
7aacca6f 31943 "parameters" : {
44660702 31944 "additionalProperties" : 0,
7aacca6f
DM
31945 "properties" : {
31946 "node" : {
7aacca6f 31947 "description" : "The cluster node name.",
44660702 31948 "format" : "pve-node",
013dc89f
DM
31949 "type" : "string",
31950 "typetext" : "<string>"
7aacca6f 31951 }
44660702 31952 }
56122987 31953 },
7aacca6f
DM
31954 "permissions" : {
31955 "check" : [
31956 "perm",
31957 "/nodes/{node}",
31958 [
31959 "Sys.Audit"
31960 ]
31961 ]
56122987 31962 },
44660702 31963 "protected" : 1,
7aacca6f
DM
31964 "proxyto" : "node",
31965 "returns" : {
56122987 31966 "type" : "string"
7aacca6f
DM
31967 }
31968 }
31969 },
7aacca6f 31970 "leaf" : 1,
44660702
DM
31971 "path" : "/nodes/{node}/report",
31972 "text" : "report"
7aacca6f
DM
31973 },
31974 {
7aacca6f
DM
31975 "info" : {
31976 "POST" : {
44660702 31977 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 31978 "method" : "POST",
44660702 31979 "name" : "startall",
7aacca6f 31980 "parameters" : {
44660702 31981 "additionalProperties" : 0,
7aacca6f
DM
31982 "properties" : {
31983 "force" : {
44660702 31984 "description" : "force if onboot=0.",
7aacca6f 31985 "optional" : 1,
013dc89f
DM
31986 "type" : "boolean",
31987 "typetext" : "<boolean>"
7aacca6f
DM
31988 },
31989 "node" : {
7aacca6f 31990 "description" : "The cluster node name.",
44660702 31991 "format" : "pve-node",
013dc89f
DM
31992 "type" : "string",
31993 "typetext" : "<string>"
52e44c50
FG
31994 },
31995 "vms" : {
31996 "description" : "Only consider Guests with these IDs.",
31997 "format" : "pve-vmid-list",
31998 "optional" : 1,
31999 "type" : "string",
32000 "typetext" : "<string>"
7aacca6f 32001 }
44660702 32002 }
56122987 32003 },
7aacca6f
DM
32004 "permissions" : {
32005 "check" : [
32006 "perm",
32007 "/",
32008 [
32009 "VM.PowerMgmt"
32010 ]
32011 ]
44660702
DM
32012 },
32013 "protected" : 1,
32014 "proxyto" : "node",
32015 "returns" : {
32016 "type" : "string"
7aacca6f
DM
32017 }
32018 }
32019 },
44660702 32020 "leaf" : 1,
7aacca6f 32021 "path" : "/nodes/{node}/startall",
44660702 32022 "text" : "startall"
7aacca6f
DM
32023 },
32024 {
7aacca6f
DM
32025 "info" : {
32026 "POST" : {
32027 "description" : "Stop all VMs and Containers.",
44660702
DM
32028 "method" : "POST",
32029 "name" : "stopall",
7aacca6f 32030 "parameters" : {
44660702 32031 "additionalProperties" : 0,
7aacca6f
DM
32032 "properties" : {
32033 "node" : {
44660702 32034 "description" : "The cluster node name.",
7aacca6f 32035 "format" : "pve-node",
013dc89f
DM
32036 "type" : "string",
32037 "typetext" : "<string>"
52e44c50
FG
32038 },
32039 "vms" : {
32040 "description" : "Only consider Guests with these IDs.",
32041 "format" : "pve-vmid-list",
32042 "optional" : 1,
32043 "type" : "string",
32044 "typetext" : "<string>"
7aacca6f 32045 }
44660702 32046 }
56122987 32047 },
7aacca6f
DM
32048 "permissions" : {
32049 "check" : [
32050 "perm",
32051 "/",
32052 [
44660702 32053 "VM.PowerMgmt"
7aacca6f
DM
32054 ]
32055 ]
56122987 32056 },
44660702 32057 "protected" : 1,
7aacca6f 32058 "proxyto" : "node",
44660702
DM
32059 "returns" : {
32060 "type" : "string"
32061 }
32062 }
56122987 32063 },
44660702
DM
32064 "leaf" : 1,
32065 "path" : "/nodes/{node}/stopall",
32066 "text" : "stopall"
32067 },
32068 {
32069 "info" : {
32070 "POST" : {
32071 "description" : "Migrate all VMs and Containers.",
32072 "method" : "POST",
32073 "name" : "migrateall",
32074 "parameters" : {
32075 "additionalProperties" : 0,
32076 "properties" : {
32077 "maxworkers" : {
32078 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
32079 "minimum" : 1,
32080 "optional" : 1,
4bd7df8b 32081 "type" : "integer",
013dc89f 32082 "typetext" : "<integer> (1 - N)"
44660702
DM
32083 },
32084 "node" : {
32085 "description" : "The cluster node name.",
32086 "format" : "pve-node",
013dc89f
DM
32087 "type" : "string",
32088 "typetext" : "<string>"
44660702
DM
32089 },
32090 "target" : {
32091 "description" : "Target node.",
32092 "format" : "pve-node",
013dc89f
DM
32093 "type" : "string",
32094 "typetext" : "<string>"
52e44c50
FG
32095 },
32096 "vms" : {
32097 "description" : "Only consider Guests with these IDs.",
32098 "format" : "pve-vmid-list",
32099 "optional" : 1,
32100 "type" : "string",
32101 "typetext" : "<string>"
44660702
DM
32102 }
32103 }
32104 },
32105 "permissions" : {
32106 "check" : [
32107 "perm",
32108 "/",
32109 [
32110 "VM.Migrate"
32111 ]
32112 ]
32113 },
32114 "protected" : 1,
32115 "proxyto" : "node",
32116 "returns" : {
32117 "type" : "string"
32118 }
32119 }
56122987 32120 },
44660702
DM
32121 "leaf" : 1,
32122 "path" : "/nodes/{node}/migrateall",
32123 "text" : "migrateall"
4d47f125
TL
32124 },
32125 {
32126 "info" : {
32127 "GET" : {
32128 "description" : "Get the content of /etc/hosts.",
32129 "method" : "GET",
32130 "name" : "get_etc_hosts",
32131 "parameters" : {
32132 "additionalProperties" : 0,
32133 "properties" : {
32134 "node" : {
32135 "description" : "The cluster node name.",
32136 "format" : "pve-node",
32137 "type" : "string",
32138 "typetext" : "<string>"
32139 }
32140 }
32141 },
32142 "permissions" : {
32143 "check" : [
32144 "perm",
32145 "/",
32146 [
32147 "Sys.Audit"
32148 ]
32149 ]
32150 },
32151 "protected" : 1,
32152 "proxyto" : "node",
32153 "returns" : {
32154 "properties" : {
32155 "data" : {
32156 "description" : "The content of /etc/hosts.",
32157 "type" : "string"
32158 },
32159 "digest" : {
32160 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32161 "maxLength" : 40,
32162 "optional" : 1,
32163 "type" : "string"
32164 }
32165 },
32166 "type" : "object"
32167 }
32168 },
32169 "POST" : {
32170 "description" : "Write /etc/hosts.",
32171 "method" : "POST",
32172 "name" : "write_etc_hosts",
32173 "parameters" : {
32174 "additionalProperties" : 0,
32175 "properties" : {
32176 "data" : {
32177 "description" : "The target content of /etc/hosts.",
32178 "type" : "string",
32179 "typetext" : "<string>"
32180 },
32181 "digest" : {
32182 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
32183 "maxLength" : 40,
32184 "optional" : 1,
32185 "type" : "string",
32186 "typetext" : "<string>"
32187 },
32188 "node" : {
32189 "description" : "The cluster node name.",
32190 "format" : "pve-node",
32191 "type" : "string",
32192 "typetext" : "<string>"
32193 }
32194 }
32195 },
32196 "permissions" : {
32197 "check" : [
32198 "perm",
32199 "/nodes/{node}",
32200 [
32201 "Sys.Modify"
32202 ]
32203 ]
32204 },
32205 "protected" : 1,
32206 "proxyto" : "node",
32207 "returns" : {
32208 "type" : "null"
32209 }
32210 }
32211 },
32212 "leaf" : 1,
32213 "path" : "/nodes/{node}/hosts",
32214 "text" : "hosts"
44660702
DM
32215 }
32216 ],
32217 "info" : {
32218 "GET" : {
32219 "description" : "Node index.",
32220 "method" : "GET",
32221 "name" : "index",
32222 "parameters" : {
32223 "additionalProperties" : 0,
32224 "properties" : {
32225 "node" : {
32226 "description" : "The cluster node name.",
32227 "format" : "pve-node",
013dc89f
DM
32228 "type" : "string",
32229 "typetext" : "<string>"
44660702
DM
32230 }
32231 }
56122987 32232 },
44660702
DM
32233 "permissions" : {
32234 "user" : "all"
56122987 32235 },
44660702
DM
32236 "returns" : {
32237 "items" : {
32238 "properties" : {},
32239 "type" : "object"
32240 },
32241 "links" : [
32242 {
32243 "href" : "{name}",
32244 "rel" : "child"
32245 }
56122987 32246 ],
44660702 32247 "type" : "array"
7aacca6f
DM
32248 }
32249 }
32250 },
44660702
DM
32251 "leaf" : 0,
32252 "path" : "/nodes/{node}",
32253 "text" : "{node}"
32254 }
32255 ],
32256 "info" : {
7aacca6f 32257 "GET" : {
44660702 32258 "description" : "Cluster node index.",
7aacca6f 32259 "method" : "GET",
44660702 32260 "name" : "index",
7aacca6f 32261 "parameters" : {
7aacca6f
DM
32262 "additionalProperties" : 0
32263 },
32264 "permissions" : {
7aacca6f
DM
32265 "user" : "all"
32266 },
44660702
DM
32267 "returns" : {
32268 "items" : {
4d47f125
TL
32269 "properties" : {
32270 "cpu" : {
32271 "description" : "CPU utilization.",
32272 "optional" : 1,
32273 "renderer" : "fraction_as_percentage",
32274 "type" : "number"
32275 },
32276 "level" : {
32277 "description" : "Support level.",
32278 "optional" : 1,
32279 "type" : "string"
32280 },
32281 "maxcpu" : {
32282 "description" : "Number of available CPUs.",
32283 "optional" : 1,
32284 "type" : "integer"
32285 },
32286 "maxmem" : {
32287 "description" : "Number of available memory in bytes.",
32288 "optional" : 1,
32289 "renderer" : "bytes",
32290 "type" : "integer"
32291 },
32292 "mem" : {
32293 "description" : "Used memory in bytes.",
32294 "optional" : 1,
32295 "renderer" : "bytes",
32296 "type" : "string"
32297 },
32298 "node" : {
32299 "description" : "The cluster node name.",
32300 "format" : "pve-node",
32301 "type" : "string"
32302 },
32303 "ssl_fingerprint" : {
32304 "description" : "The SSL fingerprint for the node certificate.",
32305 "optional" : 1,
32306 "type" : "string"
32307 },
32308 "status" : {
32309 "description" : "Node status.",
32310 "enum" : [
32311 "unknown",
32312 "online",
32313 "offline"
32314 ],
32315 "type" : "string"
32316 },
32317 "uptime" : {
32318 "description" : "Node uptime in seconds.",
32319 "optional" : 1,
32320 "renderer" : "duration",
32321 "type" : "integer"
32322 }
32323 },
44660702
DM
32324 "type" : "object"
32325 },
32326 "links" : [
32327 {
32328 "href" : "{node}",
32329 "rel" : "child"
32330 }
32331 ],
32332 "type" : "array"
32333 }
7aacca6f
DM
32334 }
32335 },
44660702
DM
32336 "leaf" : 0,
32337 "path" : "/nodes",
32338 "text" : "nodes"
32339 },
32340 {
7aacca6f
DM
32341 "children" : [
32342 {
7aacca6f 32343 "info" : {
44660702
DM
32344 "DELETE" : {
32345 "description" : "Delete storage configuration.",
32346 "method" : "DELETE",
32347 "name" : "delete",
7aacca6f
DM
32348 "parameters" : {
32349 "additionalProperties" : 0,
32350 "properties" : {
32351 "storage" : {
7aacca6f 32352 "description" : "The storage identifier.",
44660702 32353 "format" : "pve-storage-id",
013dc89f
DM
32354 "type" : "string",
32355 "typetext" : "<string>"
7aacca6f
DM
32356 }
32357 }
56122987 32358 },
7aacca6f
DM
32359 "permissions" : {
32360 "check" : [
32361 "perm",
32362 "/storage",
32363 [
32364 "Datastore.Allocate"
32365 ]
32366 ]
56122987 32367 },
44660702
DM
32368 "protected" : 1,
32369 "returns" : {
32370 "type" : "null"
32371 }
32372 },
32373 "GET" : {
32374 "description" : "Read storage configuration.",
32375 "method" : "GET",
32376 "name" : "read",
7aacca6f
DM
32377 "parameters" : {
32378 "additionalProperties" : 0,
32379 "properties" : {
32380 "storage" : {
44660702 32381 "description" : "The storage identifier.",
7aacca6f 32382 "format" : "pve-storage-id",
013dc89f
DM
32383 "type" : "string",
32384 "typetext" : "<string>"
7aacca6f
DM
32385 }
32386 }
32387 },
44660702
DM
32388 "permissions" : {
32389 "check" : [
32390 "perm",
32391 "/storage/{storage}",
32392 [
32393 "Datastore.Allocate"
32394 ]
32395 ]
32396 },
5da3d723
TL
32397 "returns" : {
32398 "type" : "object"
32399 }
7aacca6f
DM
32400 },
32401 "PUT" : {
44660702
DM
32402 "description" : "Update storage configuration.",
32403 "method" : "PUT",
32404 "name" : "update",
32405 "parameters" : {
32406 "additionalProperties" : 0,
32407 "properties" : {
32408 "blocksize" : {
32409 "description" : "block size",
7aacca6f 32410 "optional" : 1,
013dc89f
DM
32411 "type" : "string",
32412 "typetext" : "<string>"
7aacca6f 32413 },
27a7acb2
DM
32414 "bwlimit" : {
32415 "description" : "Set bandwidth/io limits various operations.",
32416 "format" : {
32417 "clone" : {
32418 "description" : "bandwidth limit in MiB/s for cloning disks",
32419 "format_description" : "LIMIT",
32420 "minimum" : "0",
32421 "optional" : 1,
32422 "type" : "number"
32423 },
32424 "default" : {
32425 "description" : "default bandwidth limit in MiB/s",
32426 "format_description" : "LIMIT",
32427 "minimum" : "0",
32428 "optional" : 1,
32429 "type" : "number"
32430 },
32431 "migration" : {
32432 "description" : "bandwidth limit in MiB/s for migrating guests",
32433 "format_description" : "LIMIT",
32434 "minimum" : "0",
32435 "optional" : 1,
32436 "type" : "number"
32437 },
32438 "move" : {
32439 "description" : "bandwidth limit in MiB/s for moving disks",
32440 "format_description" : "LIMIT",
32441 "minimum" : "0",
32442 "optional" : 1,
32443 "type" : "number"
32444 },
32445 "restore" : {
32446 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
32447 "format_description" : "LIMIT",
32448 "minimum" : "0",
32449 "optional" : 1,
32450 "type" : "number"
32451 }
32452 },
32453 "optional" : 1,
32454 "type" : "string",
32455 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
32456 },
44660702
DM
32457 "comstar_hg" : {
32458 "description" : "host group for comstar views",
32459 "optional" : 1,
013dc89f
DM
32460 "type" : "string",
32461 "typetext" : "<string>"
7aacca6f 32462 },
44660702
DM
32463 "comstar_tg" : {
32464 "description" : "target group for comstar views",
7aacca6f 32465 "optional" : 1,
013dc89f
DM
32466 "type" : "string",
32467 "typetext" : "<string>"
7aacca6f 32468 },
44660702
DM
32469 "content" : {
32470 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
32471 "format" : "pve-storage-content-list",
7aacca6f 32472 "optional" : 1,
013dc89f
DM
32473 "type" : "string",
32474 "typetext" : "<string>"
7aacca6f 32475 },
44660702
DM
32476 "delete" : {
32477 "description" : "A list of settings you want to delete.",
32478 "format" : "pve-configid-list",
32479 "maxLength" : 4096,
7aacca6f 32480 "optional" : 1,
013dc89f
DM
32481 "type" : "string",
32482 "typetext" : "<string>"
7aacca6f
DM
32483 },
32484 "digest" : {
44660702 32485 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 32486 "maxLength" : 40,
7aacca6f 32487 "optional" : 1,
013dc89f
DM
32488 "type" : "string",
32489 "typetext" : "<string>"
7aacca6f 32490 },
44660702
DM
32491 "disable" : {
32492 "description" : "Flag to disable the storage.",
32493 "optional" : 1,
013dc89f
DM
32494 "type" : "boolean",
32495 "typetext" : "<boolean>"
7aacca6f 32496 },
27a7acb2
DM
32497 "domain" : {
32498 "description" : "CIFS domain.",
32499 "maxLength" : 256,
32500 "optional" : 1,
32501 "type" : "string",
32502 "typetext" : "<string>"
32503 },
7aacca6f
DM
32504 "format" : {
32505 "description" : "Default image format.",
44660702 32506 "format" : "pve-storage-format",
7aacca6f 32507 "optional" : 1,
013dc89f
DM
32508 "type" : "string",
32509 "typetext" : "<string>"
7aacca6f 32510 },
5da3d723
TL
32511 "fuse" : {
32512 "description" : "Mount CephFS through FUSE.",
32513 "optional" : 1,
32514 "type" : "boolean",
32515 "typetext" : "<boolean>"
32516 },
2c0dde61
DM
32517 "is_mountpoint" : {
32518 "default" : "no",
2489d6df 32519 "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 32520 "optional" : 1,
2489d6df
WB
32521 "type" : "string",
32522 "typetext" : "<string>"
2c0dde61 32523 },
44660702
DM
32524 "krbd" : {
32525 "description" : "Access rbd through krbd kernel module.",
7aacca6f 32526 "optional" : 1,
013dc89f
DM
32527 "type" : "boolean",
32528 "typetext" : "<boolean>"
7aacca6f 32529 },
4d47f125
TL
32530 "lio_tpg" : {
32531 "description" : "target portal group for Linux LIO targets",
32532 "optional" : 1,
32533 "type" : "string",
32534 "typetext" : "<string>"
32535 },
44660702
DM
32536 "maxfiles" : {
32537 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
32538 "minimum" : 0,
32539 "optional" : 1,
4bd7df8b 32540 "type" : "integer",
013dc89f 32541 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
32542 },
32543 "mkdir" : {
32544 "default" : "yes",
32545 "description" : "Create the directory if it doesn't exist.",
32546 "optional" : 1,
013dc89f
DM
32547 "type" : "boolean",
32548 "typetext" : "<boolean>"
7aacca6f 32549 },
2489d6df
WB
32550 "monhost" : {
32551 "description" : "IP addresses of monitors (for external clusters).",
32552 "format" : "pve-storage-portal-dns-list",
32553 "optional" : 1,
32554 "type" : "string",
32555 "typetext" : "<string>"
32556 },
7aacca6f 32557 "nodes" : {
44660702 32558 "description" : "List of cluster node names.",
7aacca6f
DM
32559 "format" : "pve-node-list",
32560 "optional" : 1,
013dc89f
DM
32561 "type" : "string",
32562 "typetext" : "<string>"
7aacca6f 32563 },
44660702
DM
32564 "nowritecache" : {
32565 "description" : "disable write caching on the target",
7aacca6f 32566 "optional" : 1,
013dc89f
DM
32567 "type" : "boolean",
32568 "typetext" : "<boolean>"
7aacca6f
DM
32569 },
32570 "options" : {
7aacca6f 32571 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
32572 "format" : "pve-storage-options",
32573 "optional" : 1,
013dc89f
DM
32574 "type" : "string",
32575 "typetext" : "<string>"
44660702 32576 },
27a7acb2
DM
32577 "password" : {
32578 "description" : "Password for CIFS share.",
32579 "maxLength" : 256,
32580 "optional" : 1,
32581 "type" : "string",
32582 "typetext" : "<string>"
32583 },
44660702
DM
32584 "pool" : {
32585 "description" : "Pool.",
32586 "optional" : 1,
013dc89f
DM
32587 "type" : "string",
32588 "typetext" : "<string>"
44660702
DM
32589 },
32590 "redundancy" : {
32591 "default" : 2,
32592 "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.",
32593 "maximum" : 16,
32594 "minimum" : 1,
32595 "optional" : 1,
4bd7df8b 32596 "type" : "integer",
013dc89f 32597 "typetext" : "<integer> (1 - 16)"
44660702
DM
32598 },
32599 "saferemove" : {
32600 "description" : "Zero-out data when removing LVs.",
32601 "optional" : 1,
013dc89f
DM
32602 "type" : "boolean",
32603 "typetext" : "<boolean>"
7aacca6f
DM
32604 },
32605 "saferemove_throughput" : {
44660702 32606 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 32607 "optional" : 1,
013dc89f
DM
32608 "type" : "string",
32609 "typetext" : "<string>"
7aacca6f 32610 },
44660702
DM
32611 "server" : {
32612 "description" : "Server IP or DNS name.",
32613 "format" : "pve-storage-server",
7aacca6f 32614 "optional" : 1,
013dc89f
DM
32615 "type" : "string",
32616 "typetext" : "<string>"
7aacca6f 32617 },
44660702
DM
32618 "server2" : {
32619 "description" : "Backup volfile server IP or DNS name.",
32620 "format" : "pve-storage-server",
7aacca6f 32621 "optional" : 1,
44660702 32622 "requires" : "server",
013dc89f
DM
32623 "type" : "string",
32624 "typetext" : "<string>"
44660702
DM
32625 },
32626 "shared" : {
32627 "description" : "Mark storage as shared.",
32628 "optional" : 1,
013dc89f
DM
32629 "type" : "boolean",
32630 "typetext" : "<boolean>"
44660702 32631 },
27a7acb2 32632 "smbversion" : {
5da3d723
TL
32633 "description" : "SMB protocol version",
32634 "enum" : [
32635 "2.0",
32636 "2.1",
32637 "3.0"
32638 ],
27a7acb2 32639 "optional" : 1,
5da3d723 32640 "type" : "string"
27a7acb2 32641 },
44660702
DM
32642 "sparse" : {
32643 "description" : "use sparse volumes",
32644 "optional" : 1,
013dc89f
DM
32645 "type" : "boolean",
32646 "typetext" : "<boolean>"
44660702
DM
32647 },
32648 "storage" : {
32649 "description" : "The storage identifier.",
32650 "format" : "pve-storage-id",
013dc89f
DM
32651 "type" : "string",
32652 "typetext" : "<string>"
44660702 32653 },
5da3d723
TL
32654 "subdir" : {
32655 "description" : "Subdir to mount.",
32656 "format" : "pve-storage-path",
32657 "optional" : 1,
32658 "type" : "string",
32659 "typetext" : "<string>"
32660 },
4bd7df8b
DM
32661 "tagged_only" : {
32662 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
32663 "optional" : 1,
013dc89f
DM
32664 "type" : "boolean",
32665 "typetext" : "<boolean>"
4bd7df8b 32666 },
44660702
DM
32667 "transport" : {
32668 "description" : "Gluster transport: tcp or rdma",
32669 "enum" : [
32670 "tcp",
32671 "rdma",
32672 "unix"
32673 ],
32674 "optional" : 1,
32675 "type" : "string"
7aacca6f
DM
32676 },
32677 "username" : {
32678 "description" : "RBD Id.",
44660702 32679 "optional" : 1,
013dc89f
DM
32680 "type" : "string",
32681 "typetext" : "<string>"
7aacca6f 32682 }
44660702
DM
32683 },
32684 "type" : "object"
32685 },
32686 "permissions" : {
32687 "check" : [
32688 "perm",
32689 "/storage",
32690 [
32691 "Datastore.Allocate"
32692 ]
32693 ]
32694 },
32695 "protected" : 1,
32696 "returns" : {
32697 "type" : "null"
32698 }
32699 }
32700 },
32701 "leaf" : 1,
32702 "path" : "/storage/{storage}",
32703 "text" : "{storage}"
32704 }
32705 ],
32706 "info" : {
32707 "GET" : {
32708 "description" : "Storage index.",
32709 "method" : "GET",
32710 "name" : "index",
32711 "parameters" : {
32712 "additionalProperties" : 0,
32713 "properties" : {
32714 "type" : {
32715 "description" : "Only list storage of specific type",
32716 "enum" : [
5da3d723 32717 "cephfs",
27a7acb2 32718 "cifs",
44660702
DM
32719 "dir",
32720 "drbd",
32721 "glusterfs",
32722 "iscsi",
32723 "iscsidirect",
32724 "lvm",
32725 "lvmthin",
32726 "nfs",
32727 "rbd",
32728 "sheepdog",
32729 "zfs",
32730 "zfspool"
32731 ],
32732 "optional" : 1,
32733 "type" : "string"
32734 }
32735 }
32736 },
32737 "permissions" : {
32738 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
32739 "user" : "all"
32740 },
32741 "returns" : {
32742 "items" : {
32743 "properties" : {
32744 "storage" : {
32745 "type" : "string"
7aacca6f 32746 }
56122987 32747 },
44660702
DM
32748 "type" : "object"
32749 },
32750 "links" : [
32751 {
32752 "href" : "{storage}",
32753 "rel" : "child"
32754 }
32755 ],
32756 "type" : "array"
32757 }
32758 },
32759 "POST" : {
32760 "description" : "Create a new storage.",
32761 "method" : "POST",
32762 "name" : "create",
32763 "parameters" : {
32764 "additionalProperties" : 0,
32765 "properties" : {
32766 "authsupported" : {
32767 "description" : "Authsupported.",
32768 "optional" : 1,
013dc89f
DM
32769 "type" : "string",
32770 "typetext" : "<string>"
44660702
DM
32771 },
32772 "base" : {
32773 "description" : "Base volume. This volume is automatically activated.",
32774 "format" : "pve-volume-id",
32775 "optional" : 1,
013dc89f
DM
32776 "type" : "string",
32777 "typetext" : "<string>"
44660702
DM
32778 },
32779 "blocksize" : {
32780 "description" : "block size",
32781 "optional" : 1,
013dc89f
DM
32782 "type" : "string",
32783 "typetext" : "<string>"
44660702 32784 },
27a7acb2
DM
32785 "bwlimit" : {
32786 "description" : "Set bandwidth/io limits various operations.",
32787 "format" : {
32788 "clone" : {
32789 "description" : "bandwidth limit in MiB/s for cloning disks",
32790 "format_description" : "LIMIT",
32791 "minimum" : "0",
32792 "optional" : 1,
32793 "type" : "number"
32794 },
32795 "default" : {
32796 "description" : "default bandwidth limit in MiB/s",
32797 "format_description" : "LIMIT",
32798 "minimum" : "0",
32799 "optional" : 1,
32800 "type" : "number"
32801 },
32802 "migration" : {
32803 "description" : "bandwidth limit in MiB/s for migrating guests",
32804 "format_description" : "LIMIT",
32805 "minimum" : "0",
32806 "optional" : 1,
32807 "type" : "number"
32808 },
32809 "move" : {
32810 "description" : "bandwidth limit in MiB/s for moving disks",
32811 "format_description" : "LIMIT",
32812 "minimum" : "0",
32813 "optional" : 1,
32814 "type" : "number"
32815 },
32816 "restore" : {
32817 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
32818 "format_description" : "LIMIT",
32819 "minimum" : "0",
32820 "optional" : 1,
32821 "type" : "number"
32822 }
32823 },
32824 "optional" : 1,
32825 "type" : "string",
32826 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
32827 },
44660702
DM
32828 "comstar_hg" : {
32829 "description" : "host group for comstar views",
32830 "optional" : 1,
013dc89f
DM
32831 "type" : "string",
32832 "typetext" : "<string>"
44660702
DM
32833 },
32834 "comstar_tg" : {
32835 "description" : "target group for comstar views",
32836 "optional" : 1,
013dc89f
DM
32837 "type" : "string",
32838 "typetext" : "<string>"
44660702
DM
32839 },
32840 "content" : {
32841 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
32842 "format" : "pve-storage-content-list",
32843 "optional" : 1,
013dc89f
DM
32844 "type" : "string",
32845 "typetext" : "<string>"
44660702
DM
32846 },
32847 "disable" : {
32848 "description" : "Flag to disable the storage.",
32849 "optional" : 1,
013dc89f
DM
32850 "type" : "boolean",
32851 "typetext" : "<boolean>"
44660702 32852 },
27a7acb2
DM
32853 "domain" : {
32854 "description" : "CIFS domain.",
32855 "maxLength" : 256,
32856 "optional" : 1,
32857 "type" : "string",
32858 "typetext" : "<string>"
32859 },
44660702
DM
32860 "export" : {
32861 "description" : "NFS export path.",
32862 "format" : "pve-storage-path",
32863 "optional" : 1,
013dc89f
DM
32864 "type" : "string",
32865 "typetext" : "<string>"
44660702
DM
32866 },
32867 "format" : {
32868 "description" : "Default image format.",
32869 "format" : "pve-storage-format",
32870 "optional" : 1,
013dc89f
DM
32871 "type" : "string",
32872 "typetext" : "<string>"
44660702 32873 },
5da3d723
TL
32874 "fuse" : {
32875 "description" : "Mount CephFS through FUSE.",
32876 "optional" : 1,
32877 "type" : "boolean",
32878 "typetext" : "<boolean>"
32879 },
2c0dde61
DM
32880 "is_mountpoint" : {
32881 "default" : "no",
2489d6df 32882 "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 32883 "optional" : 1,
2489d6df
WB
32884 "type" : "string",
32885 "typetext" : "<string>"
2c0dde61 32886 },
44660702
DM
32887 "iscsiprovider" : {
32888 "description" : "iscsi provider",
32889 "optional" : 1,
013dc89f
DM
32890 "type" : "string",
32891 "typetext" : "<string>"
44660702
DM
32892 },
32893 "krbd" : {
32894 "description" : "Access rbd through krbd kernel module.",
32895 "optional" : 1,
013dc89f
DM
32896 "type" : "boolean",
32897 "typetext" : "<boolean>"
56122987 32898 },
4d47f125
TL
32899 "lio_tpg" : {
32900 "description" : "target portal group for Linux LIO targets",
32901 "optional" : 1,
32902 "type" : "string",
32903 "typetext" : "<string>"
32904 },
44660702
DM
32905 "maxfiles" : {
32906 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
32907 "minimum" : 0,
32908 "optional" : 1,
4bd7df8b 32909 "type" : "integer",
013dc89f 32910 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
32911 },
32912 "mkdir" : {
32913 "default" : "yes",
32914 "description" : "Create the directory if it doesn't exist.",
32915 "optional" : 1,
013dc89f
DM
32916 "type" : "boolean",
32917 "typetext" : "<boolean>"
7aacca6f 32918 },
44660702 32919 "monhost" : {
2489d6df 32920 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 32921 "format" : "pve-storage-portal-dns-list",
44660702 32922 "optional" : 1,
013dc89f
DM
32923 "type" : "string",
32924 "typetext" : "<string>"
7aacca6f 32925 },
44660702
DM
32926 "nodes" : {
32927 "description" : "List of cluster node names.",
32928 "format" : "pve-node-list",
32929 "optional" : 1,
013dc89f
DM
32930 "type" : "string",
32931 "typetext" : "<string>"
7aacca6f 32932 },
44660702
DM
32933 "nowritecache" : {
32934 "description" : "disable write caching on the target",
32935 "optional" : 1,
013dc89f
DM
32936 "type" : "boolean",
32937 "typetext" : "<boolean>"
44660702
DM
32938 },
32939 "options" : {
32940 "description" : "NFS mount options (see 'man nfs')",
32941 "format" : "pve-storage-options",
32942 "optional" : 1,
013dc89f
DM
32943 "type" : "string",
32944 "typetext" : "<string>"
44660702 32945 },
27a7acb2
DM
32946 "password" : {
32947 "description" : "Password for CIFS share.",
32948 "maxLength" : 256,
32949 "optional" : 1,
32950 "type" : "string",
32951 "typetext" : "<string>"
32952 },
44660702
DM
32953 "path" : {
32954 "description" : "File system path.",
32955 "format" : "pve-storage-path",
32956 "optional" : 1,
013dc89f
DM
32957 "type" : "string",
32958 "typetext" : "<string>"
44660702
DM
32959 },
32960 "pool" : {
32961 "description" : "Pool.",
32962 "optional" : 1,
013dc89f
DM
32963 "type" : "string",
32964 "typetext" : "<string>"
44660702
DM
32965 },
32966 "portal" : {
32967 "description" : "iSCSI portal (IP or DNS name with optional port).",
32968 "format" : "pve-storage-portal-dns",
32969 "optional" : 1,
013dc89f
DM
32970 "type" : "string",
32971 "typetext" : "<string>"
44660702
DM
32972 },
32973 "redundancy" : {
32974 "default" : 2,
32975 "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.",
32976 "maximum" : 16,
32977 "minimum" : 1,
32978 "optional" : 1,
4bd7df8b 32979 "type" : "integer",
013dc89f 32980 "typetext" : "<integer> (1 - 16)"
44660702
DM
32981 },
32982 "saferemove" : {
32983 "description" : "Zero-out data when removing LVs.",
32984 "optional" : 1,
013dc89f
DM
32985 "type" : "boolean",
32986 "typetext" : "<boolean>"
44660702
DM
32987 },
32988 "saferemove_throughput" : {
32989 "description" : "Wipe throughput (cstream -t parameter value).",
32990 "optional" : 1,
013dc89f
DM
32991 "type" : "string",
32992 "typetext" : "<string>"
44660702
DM
32993 },
32994 "server" : {
32995 "description" : "Server IP or DNS name.",
32996 "format" : "pve-storage-server",
32997 "optional" : 1,
013dc89f
DM
32998 "type" : "string",
32999 "typetext" : "<string>"
44660702
DM
33000 },
33001 "server2" : {
33002 "description" : "Backup volfile server IP or DNS name.",
33003 "format" : "pve-storage-server",
33004 "optional" : 1,
33005 "requires" : "server",
013dc89f
DM
33006 "type" : "string",
33007 "typetext" : "<string>"
44660702 33008 },
27a7acb2
DM
33009 "share" : {
33010 "description" : "CIFS share.",
33011 "optional" : 1,
33012 "type" : "string",
33013 "typetext" : "<string>"
33014 },
44660702
DM
33015 "shared" : {
33016 "description" : "Mark storage as shared.",
33017 "optional" : 1,
013dc89f
DM
33018 "type" : "boolean",
33019 "typetext" : "<boolean>"
44660702 33020 },
27a7acb2 33021 "smbversion" : {
5da3d723
TL
33022 "description" : "SMB protocol version",
33023 "enum" : [
33024 "2.0",
33025 "2.1",
33026 "3.0"
33027 ],
27a7acb2 33028 "optional" : 1,
5da3d723 33029 "type" : "string"
27a7acb2 33030 },
44660702
DM
33031 "sparse" : {
33032 "description" : "use sparse volumes",
33033 "optional" : 1,
013dc89f
DM
33034 "type" : "boolean",
33035 "typetext" : "<boolean>"
44660702
DM
33036 },
33037 "storage" : {
33038 "description" : "The storage identifier.",
33039 "format" : "pve-storage-id",
013dc89f
DM
33040 "type" : "string",
33041 "typetext" : "<string>"
44660702 33042 },
5da3d723
TL
33043 "subdir" : {
33044 "description" : "Subdir to mount.",
33045 "format" : "pve-storage-path",
33046 "optional" : 1,
33047 "type" : "string",
33048 "typetext" : "<string>"
33049 },
4bd7df8b
DM
33050 "tagged_only" : {
33051 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
33052 "optional" : 1,
013dc89f
DM
33053 "type" : "boolean",
33054 "typetext" : "<boolean>"
4bd7df8b 33055 },
44660702
DM
33056 "target" : {
33057 "description" : "iSCSI target.",
33058 "optional" : 1,
013dc89f
DM
33059 "type" : "string",
33060 "typetext" : "<string>"
44660702
DM
33061 },
33062 "thinpool" : {
33063 "description" : "LVM thin pool LV name.",
33064 "format" : "pve-storage-vgname",
33065 "optional" : 1,
013dc89f
DM
33066 "type" : "string",
33067 "typetext" : "<string>"
44660702
DM
33068 },
33069 "transport" : {
33070 "description" : "Gluster transport: tcp or rdma",
33071 "enum" : [
33072 "tcp",
33073 "rdma",
33074 "unix"
7aacca6f 33075 ],
44660702
DM
33076 "optional" : 1,
33077 "type" : "string"
56122987 33078 },
44660702
DM
33079 "type" : {
33080 "description" : "Storage type.",
33081 "enum" : [
5da3d723 33082 "cephfs",
27a7acb2 33083 "cifs",
44660702
DM
33084 "dir",
33085 "drbd",
33086 "glusterfs",
33087 "iscsi",
33088 "iscsidirect",
33089 "lvm",
33090 "lvmthin",
33091 "nfs",
33092 "rbd",
33093 "sheepdog",
33094 "zfs",
33095 "zfspool"
33096 ],
33097 "type" : "string"
56122987 33098 },
44660702
DM
33099 "username" : {
33100 "description" : "RBD Id.",
33101 "optional" : 1,
013dc89f
DM
33102 "type" : "string",
33103 "typetext" : "<string>"
7aacca6f 33104 },
44660702
DM
33105 "vgname" : {
33106 "description" : "Volume group name.",
33107 "format" : "pve-storage-vgname",
33108 "optional" : 1,
013dc89f
DM
33109 "type" : "string",
33110 "typetext" : "<string>"
44660702
DM
33111 },
33112 "volume" : {
33113 "description" : "Glusterfs Volume.",
33114 "optional" : 1,
013dc89f
DM
33115 "type" : "string",
33116 "typetext" : "<string>"
44660702
DM
33117 }
33118 },
33119 "type" : "object"
33120 },
33121 "permissions" : {
33122 "check" : [
33123 "perm",
33124 "/storage",
33125 [
33126 "Datastore.Allocate"
33127 ]
33128 ]
56122987 33129 },
44660702
DM
33130 "protected" : 1,
33131 "returns" : {
33132 "type" : "null"
33133 }
33134 }
33135 },
33136 "leaf" : 0,
33137 "path" : "/storage",
33138 "text" : "storage"
33139 },
33140 {
33141 "children" : [
33142 {
56122987
DM
33143 "children" : [
33144 {
56122987 33145 "info" : {
44660702
DM
33146 "DELETE" : {
33147 "description" : "Delete user.",
33148 "method" : "DELETE",
33149 "name" : "delete_user",
56122987 33150 "parameters" : {
7aacca6f 33151 "additionalProperties" : 0,
56122987 33152 "properties" : {
56122987 33153 "userid" : {
56122987
DM
33154 "description" : "User ID",
33155 "format" : "pve-userid",
44660702 33156 "maxLength" : 64,
013dc89f
DM
33157 "type" : "string",
33158 "typetext" : "<string>"
56122987 33159 }
7aacca6f 33160 }
56122987 33161 },
56122987
DM
33162 "permissions" : {
33163 "check" : [
44660702 33164 "and",
56122987 33165 [
44660702
DM
33166 "userid-param",
33167 "Realm.AllocateUser"
56122987 33168 ],
44660702
DM
33169 [
33170 "userid-group",
33171 [
33172 "User.Modify"
33173 ]
33174 ]
56122987 33175 ]
7aacca6f 33176 },
44660702 33177 "protected" : 1,
56122987
DM
33178 "returns" : {
33179 "type" : "null"
44660702 33180 }
7aacca6f 33181 },
44660702
DM
33182 "GET" : {
33183 "description" : "Get user configuration.",
33184 "method" : "GET",
33185 "name" : "read_user",
56122987
DM
33186 "parameters" : {
33187 "additionalProperties" : 0,
33188 "properties" : {
33189 "userid" : {
44660702 33190 "description" : "User ID",
56122987 33191 "format" : "pve-userid",
44660702 33192 "maxLength" : 64,
013dc89f
DM
33193 "type" : "string",
33194 "typetext" : "<string>"
56122987
DM
33195 }
33196 }
33197 },
56122987
DM
33198 "permissions" : {
33199 "check" : [
44660702 33200 "userid-group",
56122987 33201 [
44660702
DM
33202 "User.Modify",
33203 "Sys.Audit"
56122987
DM
33204 ]
33205 ]
33206 },
56122987 33207 "returns" : {
7aacca6f 33208 "additionalProperties" : 0,
56122987 33209 "properties" : {
44660702
DM
33210 "comment" : {
33211 "optional" : 1,
33212 "type" : "string"
56122987 33213 },
44660702
DM
33214 "email" : {
33215 "optional" : 1,
33216 "type" : "string"
7aacca6f
DM
33217 },
33218 "enable" : {
33219 "type" : "boolean"
33220 },
44660702
DM
33221 "expire" : {
33222 "optional" : 1,
33223 "type" : "integer"
33224 },
33225 "firstname" : {
56122987
DM
33226 "optional" : 1,
33227 "type" : "string"
33228 },
44660702
DM
33229 "groups" : {
33230 "type" : "array"
56122987 33231 },
44660702
DM
33232 "keys" : {
33233 "optional" : 1,
33234 "type" : "string"
7aacca6f 33235 },
44660702
DM
33236 "lastname" : {
33237 "optional" : 1,
33238 "type" : "string"
56122987 33239 }
7aacca6f 33240 }
44660702
DM
33241 }
33242 },
33243 "PUT" : {
33244 "description" : "Update user configuration.",
33245 "method" : "PUT",
33246 "name" : "update_user",
56122987 33247 "parameters" : {
44660702 33248 "additionalProperties" : 0,
56122987 33249 "properties" : {
44660702
DM
33250 "append" : {
33251 "optional" : 1,
33252 "requires" : "groups",
013dc89f
DM
33253 "type" : "boolean",
33254 "typetext" : "<boolean>"
44660702
DM
33255 },
33256 "comment" : {
33257 "optional" : 1,
013dc89f
DM
33258 "type" : "string",
33259 "typetext" : "<string>"
44660702
DM
33260 },
33261 "email" : {
33262 "format" : "email-opt",
33263 "optional" : 1,
013dc89f
DM
33264 "type" : "string",
33265 "typetext" : "<string>"
44660702
DM
33266 },
33267 "enable" : {
33268 "description" : "Enable/disable the account.",
33269 "optional" : 1,
013dc89f
DM
33270 "type" : "boolean",
33271 "typetext" : "<boolean>"
44660702
DM
33272 },
33273 "expire" : {
33274 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
33275 "minimum" : 0,
33276 "optional" : 1,
4bd7df8b 33277 "type" : "integer",
013dc89f 33278 "typetext" : "<integer> (0 - N)"
44660702
DM
33279 },
33280 "firstname" : {
33281 "optional" : 1,
013dc89f
DM
33282 "type" : "string",
33283 "typetext" : "<string>"
44660702
DM
33284 },
33285 "groups" : {
33286 "format" : "pve-groupid-list",
33287 "optional" : 1,
013dc89f
DM
33288 "type" : "string",
33289 "typetext" : "<string>"
44660702
DM
33290 },
33291 "keys" : {
33292 "description" : "Keys for two factor auth (yubico).",
33293 "optional" : 1,
013dc89f
DM
33294 "type" : "string",
33295 "typetext" : "<string>"
44660702
DM
33296 },
33297 "lastname" : {
33298 "optional" : 1,
013dc89f
DM
33299 "type" : "string",
33300 "typetext" : "<string>"
44660702 33301 },
56122987 33302 "userid" : {
56122987
DM
33303 "description" : "User ID",
33304 "format" : "pve-userid",
44660702 33305 "maxLength" : 64,
013dc89f
DM
33306 "type" : "string",
33307 "typetext" : "<string>"
56122987 33308 }
44660702 33309 }
56122987 33310 },
56122987
DM
33311 "permissions" : {
33312 "check" : [
33313 "userid-group",
33314 [
44660702
DM
33315 "User.Modify"
33316 ],
33317 "groups_param",
33318 1
56122987
DM
33319 ]
33320 },
44660702
DM
33321 "protected" : 1,
33322 "returns" : {
33323 "type" : "null"
33324 }
56122987
DM
33325 }
33326 },
44660702
DM
33327 "leaf" : 1,
33328 "path" : "/access/users/{userid}",
7aacca6f 33329 "text" : "{userid}"
56122987 33330 }
7aacca6f 33331 ],
56122987 33332 "info" : {
7aacca6f 33333 "GET" : {
44660702
DM
33334 "description" : "User index.",
33335 "method" : "GET",
7aacca6f 33336 "name" : "index",
56122987 33337 "parameters" : {
44660702
DM
33338 "additionalProperties" : 0,
33339 "properties" : {
33340 "enabled" : {
33341 "description" : "Optional filter for enable property.",
33342 "optional" : 1,
013dc89f
DM
33343 "type" : "boolean",
33344 "typetext" : "<boolean>"
44660702
DM
33345 }
33346 }
33347 },
33348 "permissions" : {
33349 "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.",
33350 "user" : "all"
56122987 33351 },
7aacca6f 33352 "returns" : {
7aacca6f
DM
33353 "items" : {
33354 "properties" : {
44660702 33355 "userid" : {
7aacca6f
DM
33356 "type" : "string"
33357 }
33358 },
33359 "type" : "object"
33360 },
44660702
DM
33361 "links" : [
33362 {
33363 "href" : "{userid}",
33364 "rel" : "child"
33365 }
33366 ],
7aacca6f
DM
33367 "type" : "array"
33368 }
33369 },
33370 "POST" : {
44660702 33371 "description" : "Create new user.",
7aacca6f 33372 "method" : "POST",
44660702 33373 "name" : "create_user",
56122987 33374 "parameters" : {
7aacca6f
DM
33375 "additionalProperties" : 0,
33376 "properties" : {
44660702
DM
33377 "comment" : {
33378 "optional" : 1,
013dc89f
DM
33379 "type" : "string",
33380 "typetext" : "<string>"
7aacca6f 33381 },
44660702
DM
33382 "email" : {
33383 "format" : "email-opt",
33384 "optional" : 1,
013dc89f
DM
33385 "type" : "string",
33386 "typetext" : "<string>"
44660702
DM
33387 },
33388 "enable" : {
33389 "default" : 1,
33390 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
33391 "optional" : 1,
013dc89f
DM
33392 "type" : "boolean",
33393 "typetext" : "<boolean>"
44660702
DM
33394 },
33395 "expire" : {
33396 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
33397 "minimum" : 0,
33398 "optional" : 1,
4bd7df8b 33399 "type" : "integer",
013dc89f 33400 "typetext" : "<integer> (0 - N)"
44660702
DM
33401 },
33402 "firstname" : {
33403 "optional" : 1,
013dc89f
DM
33404 "type" : "string",
33405 "typetext" : "<string>"
44660702
DM
33406 },
33407 "groups" : {
33408 "format" : "pve-groupid-list",
33409 "optional" : 1,
013dc89f
DM
33410 "type" : "string",
33411 "typetext" : "<string>"
44660702
DM
33412 },
33413 "keys" : {
33414 "description" : "Keys for two factor auth (yubico).",
33415 "optional" : 1,
013dc89f
DM
33416 "type" : "string",
33417 "typetext" : "<string>"
44660702
DM
33418 },
33419 "lastname" : {
7aacca6f 33420 "optional" : 1,
013dc89f
DM
33421 "type" : "string",
33422 "typetext" : "<string>"
44660702
DM
33423 },
33424 "password" : {
33425 "description" : "Initial password.",
33426 "maxLength" : 64,
33427 "minLength" : 5,
33428 "optional" : 1,
013dc89f
DM
33429 "type" : "string",
33430 "typetext" : "<string>"
44660702
DM
33431 },
33432 "userid" : {
33433 "description" : "User ID",
33434 "format" : "pve-userid",
33435 "maxLength" : 64,
013dc89f
DM
33436 "type" : "string",
33437 "typetext" : "<string>"
56122987 33438 }
7aacca6f 33439 }
56122987 33440 },
44660702
DM
33441 "permissions" : {
33442 "check" : [
33443 "and",
33444 [
33445 "userid-param",
33446 "Realm.AllocateUser"
33447 ],
33448 [
33449 "userid-group",
33450 [
33451 "User.Modify"
33452 ],
33453 "groups_param",
33454 1
33455 ]
33456 ],
33457 "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."
33458 },
33459 "protected" : 1,
33460 "returns" : {
33461 "type" : "null"
33462 }
56122987
DM
33463 }
33464 },
44660702
DM
33465 "leaf" : 0,
33466 "path" : "/access/users",
33467 "text" : "users"
33468 },
33469 {
56122987
DM
33470 "children" : [
33471 {
56122987
DM
33472 "info" : {
33473 "DELETE" : {
44660702
DM
33474 "description" : "Delete group.",
33475 "method" : "DELETE",
33476 "name" : "delete_group",
33477 "parameters" : {
33478 "additionalProperties" : 0,
33479 "properties" : {
33480 "groupid" : {
33481 "format" : "pve-groupid",
013dc89f
DM
33482 "type" : "string",
33483 "typetext" : "<string>"
44660702
DM
33484 }
33485 }
33486 },
7aacca6f
DM
33487 "permissions" : {
33488 "check" : [
33489 "perm",
33490 "/access/groups",
33491 [
33492 "Group.Allocate"
33493 ]
33494 ]
33495 },
7aacca6f 33496 "protected" : 1,
7aacca6f
DM
33497 "returns" : {
33498 "type" : "null"
44660702 33499 }
7aacca6f 33500 },
44660702
DM
33501 "GET" : {
33502 "description" : "Get group configuration.",
33503 "method" : "GET",
33504 "name" : "read_group",
33505 "parameters" : {
33506 "additionalProperties" : 0,
33507 "properties" : {
33508 "groupid" : {
33509 "format" : "pve-groupid",
013dc89f
DM
33510 "type" : "string",
33511 "typetext" : "<string>"
44660702
DM
33512 }
33513 }
56122987 33514 },
7aacca6f
DM
33515 "permissions" : {
33516 "check" : [
33517 "perm",
33518 "/access/groups",
33519 [
44660702 33520 "Sys.Audit",
7aacca6f 33521 "Group.Allocate"
44660702
DM
33522 ],
33523 "any",
33524 1
7aacca6f
DM
33525 ]
33526 },
7aacca6f 33527 "returns" : {
44660702 33528 "additionalProperties" : 0,
7aacca6f
DM
33529 "properties" : {
33530 "comment" : {
44660702
DM
33531 "optional" : 1,
33532 "type" : "string"
7aacca6f
DM
33533 },
33534 "members" : {
33535 "items" : {
33536 "type" : "string"
33537 },
33538 "type" : "array"
33539 }
33540 },
44660702
DM
33541 "type" : "object"
33542 }
33543 },
33544 "PUT" : {
33545 "description" : "Update group data.",
33546 "method" : "PUT",
33547 "name" : "update_group",
56122987 33548 "parameters" : {
44660702 33549 "additionalProperties" : 0,
56122987 33550 "properties" : {
44660702
DM
33551 "comment" : {
33552 "optional" : 1,
013dc89f
DM
33553 "type" : "string",
33554 "typetext" : "<string>"
44660702 33555 },
56122987
DM
33556 "groupid" : {
33557 "format" : "pve-groupid",
013dc89f
DM
33558 "type" : "string",
33559 "typetext" : "<string>"
56122987 33560 }
44660702 33561 }
56122987 33562 },
56122987
DM
33563 "permissions" : {
33564 "check" : [
33565 "perm",
33566 "/access/groups",
33567 [
33568 "Group.Allocate"
44660702 33569 ]
56122987
DM
33570 ]
33571 },
44660702
DM
33572 "protected" : 1,
33573 "returns" : {
33574 "type" : "null"
33575 }
7aacca6f
DM
33576 }
33577 },
7aacca6f 33578 "leaf" : 1,
44660702
DM
33579 "path" : "/access/groups/{groupid}",
33580 "text" : "{groupid}"
33581 }
33582 ],
33583 "info" : {
33584 "GET" : {
33585 "description" : "Group index.",
33586 "method" : "GET",
33587 "name" : "index",
33588 "parameters" : {
33589 "additionalProperties" : 0
33590 },
33591 "permissions" : {
33592 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
33593 "user" : "all"
33594 },
33595 "returns" : {
33596 "items" : {
33597 "properties" : {
33598 "groupid" : {
33599 "type" : "string"
33600 }
33601 },
33602 "type" : "object"
33603 },
33604 "links" : [
33605 {
33606 "href" : "{groupid}",
33607 "rel" : "child"
33608 }
33609 ],
33610 "type" : "array"
33611 }
33612 },
33613 "POST" : {
33614 "description" : "Create new group.",
33615 "method" : "POST",
33616 "name" : "create_group",
33617 "parameters" : {
33618 "additionalProperties" : 0,
33619 "properties" : {
33620 "comment" : {
33621 "optional" : 1,
013dc89f
DM
33622 "type" : "string",
33623 "typetext" : "<string>"
44660702
DM
33624 },
33625 "groupid" : {
33626 "format" : "pve-groupid",
013dc89f
DM
33627 "type" : "string",
33628 "typetext" : "<string>"
44660702
DM
33629 }
33630 }
33631 },
33632 "permissions" : {
33633 "check" : [
33634 "perm",
33635 "/access/groups",
33636 [
33637 "Group.Allocate"
33638 ]
33639 ]
33640 },
33641 "protected" : 1,
33642 "returns" : {
33643 "type" : "null"
33644 }
7aacca6f 33645 }
44660702 33646 },
7aacca6f 33647 "leaf" : 0,
44660702
DM
33648 "path" : "/access/groups",
33649 "text" : "groups"
7aacca6f
DM
33650 },
33651 {
33652 "children" : [
33653 {
7aacca6f 33654 "info" : {
7aacca6f 33655 "DELETE" : {
7aacca6f 33656 "description" : "Delete role.",
44660702 33657 "method" : "DELETE",
7aacca6f 33658 "name" : "delete_role",
56122987
DM
33659 "parameters" : {
33660 "additionalProperties" : 0,
33661 "properties" : {
7aacca6f
DM
33662 "roleid" : {
33663 "format" : "pve-roleid",
013dc89f
DM
33664 "type" : "string",
33665 "typetext" : "<string>"
56122987
DM
33666 }
33667 }
33668 },
56122987
DM
33669 "permissions" : {
33670 "check" : [
33671 "perm",
7aacca6f 33672 "/access",
56122987 33673 [
7aacca6f
DM
33674 "Sys.Modify"
33675 ]
56122987 33676 ]
44660702
DM
33677 },
33678 "protected" : 1,
33679 "returns" : {
33680 "type" : "null"
56122987
DM
33681 }
33682 },
44660702
DM
33683 "GET" : {
33684 "description" : "Get role configuration.",
33685 "method" : "GET",
33686 "name" : "read_role",
33687 "parameters" : {
33688 "additionalProperties" : 0,
33689 "properties" : {
33690 "roleid" : {
33691 "format" : "pve-roleid",
013dc89f
DM
33692 "type" : "string",
33693 "typetext" : "<string>"
44660702
DM
33694 }
33695 }
33696 },
7aacca6f 33697 "permissions" : {
44660702 33698 "user" : "all"
56122987 33699 },
44660702
DM
33700 "returns" : {}
33701 },
33702 "PUT" : {
33703 "description" : "Create new role.",
33704 "method" : "PUT",
33705 "name" : "update_role",
56122987
DM
33706 "parameters" : {
33707 "additionalProperties" : 0,
33708 "properties" : {
7aacca6f 33709 "append" : {
44660702 33710 "optional" : 1,
7aacca6f 33711 "requires" : "privs",
013dc89f
DM
33712 "type" : "boolean",
33713 "typetext" : "<boolean>"
7aacca6f
DM
33714 },
33715 "privs" : {
33716 "format" : "pve-priv-list",
013dc89f
DM
33717 "type" : "string",
33718 "typetext" : "<string>"
44660702
DM
33719 },
33720 "roleid" : {
33721 "format" : "pve-roleid",
013dc89f
DM
33722 "type" : "string",
33723 "typetext" : "<string>"
56122987
DM
33724 }
33725 }
33726 },
44660702
DM
33727 "permissions" : {
33728 "check" : [
33729 "perm",
33730 "/access",
33731 [
33732 "Sys.Modify"
33733 ]
33734 ]
33735 },
56122987 33736 "protected" : 1,
7aacca6f
DM
33737 "returns" : {
33738 "type" : "null"
56122987
DM
33739 }
33740 }
33741 },
44660702 33742 "leaf" : 1,
7aacca6f 33743 "path" : "/access/roles/{roleid}",
44660702 33744 "text" : "{roleid}"
56122987
DM
33745 }
33746 ],
56122987 33747 "info" : {
7aacca6f
DM
33748 "GET" : {
33749 "description" : "Role index.",
44660702 33750 "method" : "GET",
7aacca6f 33751 "name" : "index",
56122987 33752 "parameters" : {
56122987
DM
33753 "additionalProperties" : 0
33754 },
7aacca6f
DM
33755 "permissions" : {
33756 "user" : "all"
33757 },
56122987 33758 "returns" : {
7aacca6f 33759 "items" : {
7aacca6f
DM
33760 "properties" : {
33761 "roleid" : {
33762 "type" : "string"
33763 }
44660702
DM
33764 },
33765 "type" : "object"
33766 },
33767 "links" : [
33768 {
33769 "href" : "{roleid}",
33770 "rel" : "child"
7aacca6f 33771 }
44660702
DM
33772 ],
33773 "type" : "array"
33774 }
7aacca6f
DM
33775 },
33776 "POST" : {
33777 "description" : "Create new role.",
44660702
DM
33778 "method" : "POST",
33779 "name" : "create_role",
7aacca6f
DM
33780 "parameters" : {
33781 "additionalProperties" : 0,
33782 "properties" : {
7aacca6f
DM
33783 "privs" : {
33784 "format" : "pve-priv-list",
33785 "optional" : 1,
013dc89f
DM
33786 "type" : "string",
33787 "typetext" : "<string>"
44660702
DM
33788 },
33789 "roleid" : {
33790 "format" : "pve-roleid",
013dc89f
DM
33791 "type" : "string",
33792 "typetext" : "<string>"
7aacca6f
DM
33793 }
33794 }
33795 },
44660702
DM
33796 "permissions" : {
33797 "check" : [
33798 "perm",
33799 "/access",
33800 [
33801 "Sys.Modify"
33802 ]
33803 ]
33804 },
33805 "protected" : 1,
7aacca6f
DM
33806 "returns" : {
33807 "type" : "null"
33808 }
33809 }
33810 },
44660702 33811 "leaf" : 0,
7aacca6f 33812 "path" : "/access/roles",
44660702 33813 "text" : "roles"
7aacca6f
DM
33814 },
33815 {
33816 "info" : {
56122987 33817 "GET" : {
44660702
DM
33818 "description" : "Get Access Control List (ACLs).",
33819 "method" : "GET",
33820 "name" : "read_acl",
7aacca6f
DM
33821 "parameters" : {
33822 "additionalProperties" : 0
33823 },
44660702
DM
33824 "permissions" : {
33825 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
33826 "user" : "all"
33827 },
56122987 33828 "returns" : {
56122987 33829 "items" : {
44660702 33830 "additionalProperties" : 0,
56122987 33831 "properties" : {
7aacca6f
DM
33832 "path" : {
33833 "type" : "string"
33834 },
44660702
DM
33835 "propagate" : {
33836 "type" : "boolean"
33837 },
33838 "roleid" : {
33839 "type" : "string"
33840 },
7aacca6f
DM
33841 "type" : {
33842 "enum" : [
33843 "user",
33844 "group"
33845 ],
33846 "type" : "string"
33847 },
7aacca6f
DM
33848 "ugid" : {
33849 "type" : "string"
56122987 33850 }
7aacca6f 33851 },
44660702 33852 "type" : "object"
7aacca6f
DM
33853 },
33854 "type" : "array"
44660702 33855 }
7aacca6f
DM
33856 },
33857 "PUT" : {
44660702
DM
33858 "description" : "Update Access Control List (add or remove permissions).",
33859 "method" : "PUT",
7aacca6f
DM
33860 "name" : "update_acl",
33861 "parameters" : {
33862 "additionalProperties" : 0,
33863 "properties" : {
33864 "delete" : {
44660702 33865 "description" : "Remove permissions (instead of adding it).",
7aacca6f 33866 "optional" : 1,
013dc89f
DM
33867 "type" : "boolean",
33868 "typetext" : "<boolean>"
7aacca6f 33869 },
44660702
DM
33870 "groups" : {
33871 "description" : "List of groups.",
33872 "format" : "pve-groupid-list",
7aacca6f 33873 "optional" : 1,
013dc89f
DM
33874 "type" : "string",
33875 "typetext" : "<string>"
7aacca6f
DM
33876 },
33877 "path" : {
33878 "description" : "Access control path",
013dc89f
DM
33879 "type" : "string",
33880 "typetext" : "<string>"
7aacca6f 33881 },
7aacca6f 33882 "propagate" : {
44660702 33883 "default" : 1,
7aacca6f 33884 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 33885 "optional" : 1,
013dc89f
DM
33886 "type" : "boolean",
33887 "typetext" : "<boolean>"
7aacca6f 33888 },
44660702
DM
33889 "roles" : {
33890 "description" : "List of roles.",
33891 "format" : "pve-roleid-list",
013dc89f
DM
33892 "type" : "string",
33893 "typetext" : "<string>"
44660702
DM
33894 },
33895 "users" : {
33896 "description" : "List of users.",
33897 "format" : "pve-userid-list",
7aacca6f 33898 "optional" : 1,
013dc89f
DM
33899 "type" : "string",
33900 "typetext" : "<string>"
56122987
DM
33901 }
33902 }
33903 },
56122987 33904 "permissions" : {
7aacca6f
DM
33905 "check" : [
33906 "perm-modify",
33907 "{path}"
33908 ]
33909 },
7aacca6f
DM
33910 "protected" : 1,
33911 "returns" : {
33912 "type" : "null"
44660702 33913 }
56122987
DM
33914 }
33915 },
7aacca6f 33916 "leaf" : 1,
44660702
DM
33917 "path" : "/access/acl",
33918 "text" : "acl"
7aacca6f
DM
33919 },
33920 {
56122987
DM
33921 "children" : [
33922 {
56122987 33923 "info" : {
44660702
DM
33924 "DELETE" : {
33925 "description" : "Delete an authentication server.",
33926 "method" : "DELETE",
33927 "name" : "delete",
33928 "parameters" : {
33929 "additionalProperties" : 0,
33930 "properties" : {
33931 "realm" : {
33932 "description" : "Authentication domain ID",
33933 "format" : "pve-realm",
33934 "maxLength" : 32,
013dc89f
DM
33935 "type" : "string",
33936 "typetext" : "<string>"
56122987 33937 }
44660702 33938 }
56122987 33939 },
56122987
DM
33940 "permissions" : {
33941 "check" : [
33942 "perm",
7aacca6f 33943 "/access/realm",
56122987 33944 [
7aacca6f 33945 "Realm.Allocate"
56122987
DM
33946 ]
33947 ]
33948 },
7aacca6f 33949 "protected" : 1,
7aacca6f
DM
33950 "returns" : {
33951 "type" : "null"
44660702 33952 }
7aacca6f 33953 },
44660702
DM
33954 "GET" : {
33955 "description" : "Get auth server configuration.",
33956 "method" : "GET",
33957 "name" : "read",
56122987 33958 "parameters" : {
44660702 33959 "additionalProperties" : 0,
56122987 33960 "properties" : {
7aacca6f 33961 "realm" : {
44660702 33962 "description" : "Authentication domain ID",
7aacca6f
DM
33963 "format" : "pve-realm",
33964 "maxLength" : 32,
013dc89f
DM
33965 "type" : "string",
33966 "typetext" : "<string>"
56122987 33967 }
44660702 33968 }
7aacca6f 33969 },
7aacca6f
DM
33970 "permissions" : {
33971 "check" : [
33972 "perm",
33973 "/access/realm",
33974 [
44660702
DM
33975 "Realm.Allocate",
33976 "Sys.Audit"
33977 ],
33978 "any",
33979 1
7aacca6f 33980 ]
44660702
DM
33981 },
33982 "returns" : {}
7aacca6f 33983 },
44660702
DM
33984 "PUT" : {
33985 "description" : "Update authentication server settings.",
33986 "method" : "PUT",
33987 "name" : "update",
7aacca6f 33988 "parameters" : {
44660702 33989 "additionalProperties" : 0,
7aacca6f 33990 "properties" : {
44660702
DM
33991 "base_dn" : {
33992 "description" : "LDAP base domain name",
33993 "maxLength" : 256,
33994 "optional" : 1,
33995 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
33996 "type" : "string"
33997 },
4bd7df8b
DM
33998 "bind_dn" : {
33999 "description" : "LDAP bind domain name",
34000 "maxLength" : 256,
34001 "optional" : 1,
34002 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
34003 "type" : "string"
34004 },
2489d6df
WB
34005 "capath" : {
34006 "default" : "/etc/ssl/certs",
34007 "description" : "Path to the CA certificate store",
34008 "optional" : 1,
34009 "type" : "string",
34010 "typetext" : "<string>"
34011 },
34012 "cert" : {
34013 "description" : "Path to the client certificate",
34014 "optional" : 1,
34015 "type" : "string",
34016 "typetext" : "<string>"
34017 },
34018 "certkey" : {
34019 "description" : "Path to the client certificate key",
34020 "optional" : 1,
34021 "type" : "string",
34022 "typetext" : "<string>"
34023 },
44660702
DM
34024 "comment" : {
34025 "description" : "Description.",
34026 "maxLength" : 4096,
34027 "optional" : 1,
013dc89f
DM
34028 "type" : "string",
34029 "typetext" : "<string>"
44660702
DM
34030 },
34031 "default" : {
34032 "description" : "Use this as default realm",
34033 "optional" : 1,
013dc89f
DM
34034 "type" : "boolean",
34035 "typetext" : "<boolean>"
44660702
DM
34036 },
34037 "delete" : {
34038 "description" : "A list of settings you want to delete.",
34039 "format" : "pve-configid-list",
34040 "maxLength" : 4096,
34041 "optional" : 1,
013dc89f
DM
34042 "type" : "string",
34043 "typetext" : "<string>"
44660702
DM
34044 },
34045 "digest" : {
34046 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34047 "maxLength" : 40,
34048 "optional" : 1,
013dc89f
DM
34049 "type" : "string",
34050 "typetext" : "<string>"
44660702
DM
34051 },
34052 "domain" : {
34053 "description" : "AD domain name",
34054 "maxLength" : 256,
34055 "optional" : 1,
34056 "pattern" : "\\S+",
34057 "type" : "string"
34058 },
34059 "port" : {
34060 "description" : "Server port.",
34061 "maximum" : 65535,
34062 "minimum" : 1,
34063 "optional" : 1,
4bd7df8b 34064 "type" : "integer",
013dc89f 34065 "typetext" : "<integer> (1 - 65535)"
44660702 34066 },
7aacca6f 34067 "realm" : {
7aacca6f
DM
34068 "description" : "Authentication domain ID",
34069 "format" : "pve-realm",
44660702 34070 "maxLength" : 32,
013dc89f
DM
34071 "type" : "string",
34072 "typetext" : "<string>"
44660702
DM
34073 },
34074 "secure" : {
34075 "description" : "Use secure LDAPS protocol.",
34076 "optional" : 1,
013dc89f
DM
34077 "type" : "boolean",
34078 "typetext" : "<boolean>"
44660702
DM
34079 },
34080 "server1" : {
34081 "description" : "Server IP address (or DNS name)",
34082 "format" : "address",
34083 "maxLength" : 256,
34084 "optional" : 1,
013dc89f
DM
34085 "type" : "string",
34086 "typetext" : "<string>"
44660702
DM
34087 },
34088 "server2" : {
34089 "description" : "Fallback Server IP address (or DNS name)",
34090 "format" : "address",
34091 "maxLength" : 256,
34092 "optional" : 1,
013dc89f
DM
34093 "type" : "string",
34094 "typetext" : "<string>"
44660702
DM
34095 },
34096 "tfa" : {
34097 "description" : "Use Two-factor authentication.",
34098 "format" : "pve-tfa-config",
34099 "maxLength" : 128,
34100 "optional" : 1,
013dc89f
DM
34101 "type" : "string",
34102 "typetext" : "<string>"
44660702
DM
34103 },
34104 "user_attr" : {
34105 "description" : "LDAP user attribute name",
34106 "maxLength" : 256,
34107 "optional" : 1,
34108 "pattern" : "\\S{2,}",
34109 "type" : "string"
2489d6df
WB
34110 },
34111 "verify" : {
34112 "default" : 0,
34113 "description" : "Verify the server's SSL certificate",
34114 "optional" : 1,
34115 "type" : "boolean",
34116 "typetext" : "<boolean>"
7aacca6f 34117 }
56122987 34118 },
44660702 34119 "type" : "object"
56122987 34120 },
7aacca6f
DM
34121 "permissions" : {
34122 "check" : [
34123 "perm",
34124 "/access/realm",
34125 [
44660702
DM
34126 "Realm.Allocate"
34127 ]
7aacca6f
DM
34128 ]
34129 },
44660702
DM
34130 "protected" : 1,
34131 "returns" : {
34132 "type" : "null"
34133 }
56122987 34134 }
44660702
DM
34135 },
34136 "leaf" : 1,
34137 "path" : "/access/domains/{realm}",
34138 "text" : "{realm}"
56122987 34139 }
7aacca6f 34140 ],
56122987
DM
34141 "info" : {
34142 "GET" : {
44660702
DM
34143 "description" : "Authentication domain index.",
34144 "method" : "GET",
34145 "name" : "index",
34146 "parameters" : {
34147 "additionalProperties" : 0
34148 },
34149 "permissions" : {
34150 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
34151 "user" : "world"
34152 },
56122987 34153 "returns" : {
56122987
DM
34154 "items" : {
34155 "properties" : {
7aacca6f 34156 "comment" : {
52e44c50 34157 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
34158 "optional" : 1,
34159 "type" : "string"
34160 },
56122987
DM
34161 "realm" : {
34162 "type" : "string"
34163 },
34164 "tfa" : {
7aacca6f 34165 "description" : "Two-factor authentication provider.",
56122987
DM
34166 "enum" : [
34167 "yubico",
34168 "oath"
34169 ],
44660702
DM
34170 "optional" : 1,
34171 "type" : "string"
56122987
DM
34172 }
34173 },
34174 "type" : "object"
44660702
DM
34175 },
34176 "links" : [
34177 {
34178 "href" : "{realm}",
34179 "rel" : "child"
34180 }
34181 ],
34182 "type" : "array"
34183 }
56122987
DM
34184 },
34185 "POST" : {
7aacca6f 34186 "description" : "Add an authentication server.",
44660702 34187 "method" : "POST",
7aacca6f 34188 "name" : "create",
56122987 34189 "parameters" : {
44660702 34190 "additionalProperties" : 0,
56122987 34191 "properties" : {
44660702
DM
34192 "base_dn" : {
34193 "description" : "LDAP base domain name",
56122987 34194 "maxLength" : 256,
44660702
DM
34195 "optional" : 1,
34196 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 34197 "type" : "string"
56122987 34198 },
4bd7df8b
DM
34199 "bind_dn" : {
34200 "description" : "LDAP bind domain name",
34201 "maxLength" : 256,
34202 "optional" : 1,
34203 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
34204 "type" : "string"
34205 },
2489d6df
WB
34206 "capath" : {
34207 "default" : "/etc/ssl/certs",
34208 "description" : "Path to the CA certificate store",
34209 "optional" : 1,
34210 "type" : "string",
34211 "typetext" : "<string>"
34212 },
34213 "cert" : {
34214 "description" : "Path to the client certificate",
34215 "optional" : 1,
34216 "type" : "string",
34217 "typetext" : "<string>"
34218 },
34219 "certkey" : {
34220 "description" : "Path to the client certificate key",
34221 "optional" : 1,
34222 "type" : "string",
34223 "typetext" : "<string>"
34224 },
44660702
DM
34225 "comment" : {
34226 "description" : "Description.",
34227 "maxLength" : 4096,
56122987 34228 "optional" : 1,
013dc89f
DM
34229 "type" : "string",
34230 "typetext" : "<string>"
56122987 34231 },
44660702
DM
34232 "default" : {
34233 "description" : "Use this as default realm",
7aacca6f 34234 "optional" : 1,
013dc89f
DM
34235 "type" : "boolean",
34236 "typetext" : "<boolean>"
56122987 34237 },
44660702
DM
34238 "domain" : {
34239 "description" : "AD domain name",
34240 "maxLength" : 256,
7aacca6f 34241 "optional" : 1,
44660702
DM
34242 "pattern" : "\\S+",
34243 "type" : "string"
56122987 34244 },
7aacca6f 34245 "port" : {
44660702 34246 "description" : "Server port.",
7aacca6f 34247 "maximum" : 65535,
44660702 34248 "minimum" : 1,
7aacca6f 34249 "optional" : 1,
4bd7df8b 34250 "type" : "integer",
013dc89f 34251 "typetext" : "<integer> (1 - 65535)"
56122987 34252 },
44660702
DM
34253 "realm" : {
34254 "description" : "Authentication domain ID",
34255 "format" : "pve-realm",
34256 "maxLength" : 32,
013dc89f
DM
34257 "type" : "string",
34258 "typetext" : "<string>"
44660702
DM
34259 },
34260 "secure" : {
34261 "description" : "Use secure LDAPS protocol.",
7aacca6f 34262 "optional" : 1,
013dc89f
DM
34263 "type" : "boolean",
34264 "typetext" : "<boolean>"
56122987 34265 },
44660702
DM
34266 "server1" : {
34267 "description" : "Server IP address (or DNS name)",
34268 "format" : "address",
34269 "maxLength" : 256,
34270 "optional" : 1,
013dc89f
DM
34271 "type" : "string",
34272 "typetext" : "<string>"
56122987 34273 },
44660702
DM
34274 "server2" : {
34275 "description" : "Fallback Server IP address (or DNS name)",
34276 "format" : "address",
7aacca6f 34277 "maxLength" : 256,
7aacca6f 34278 "optional" : 1,
013dc89f
DM
34279 "type" : "string",
34280 "typetext" : "<string>"
7aacca6f 34281 },
44660702
DM
34282 "tfa" : {
34283 "description" : "Use Two-factor authentication.",
34284 "format" : "pve-tfa-config",
34285 "maxLength" : 128,
34286 "optional" : 1,
013dc89f
DM
34287 "type" : "string",
34288 "typetext" : "<string>"
44660702
DM
34289 },
34290 "type" : {
34291 "description" : "Realm type.",
34292 "enum" : [
34293 "ad",
34294 "ldap",
34295 "pam",
34296 "pve"
34297 ],
34298 "type" : "string"
34299 },
34300 "user_attr" : {
34301 "description" : "LDAP user attribute name",
7aacca6f 34302 "maxLength" : 256,
7aacca6f 34303 "optional" : 1,
44660702
DM
34304 "pattern" : "\\S{2,}",
34305 "type" : "string"
2489d6df
WB
34306 },
34307 "verify" : {
34308 "default" : 0,
34309 "description" : "Verify the server's SSL certificate",
34310 "optional" : 1,
34311 "type" : "boolean",
34312 "typetext" : "<boolean>"
7aacca6f
DM
34313 }
34314 },
7aacca6f 34315 "type" : "object"
56122987 34316 },
7aacca6f
DM
34317 "permissions" : {
34318 "check" : [
34319 "perm",
34320 "/access/realm",
34321 [
34322 "Realm.Allocate"
34323 ]
34324 ]
44660702
DM
34325 },
34326 "protected" : 1,
34327 "returns" : {
34328 "type" : "null"
7aacca6f 34329 }
56122987 34330 }
7aacca6f 34331 },
44660702 34332 "leaf" : 0,
56122987 34333 "path" : "/access/domains",
44660702 34334 "text" : "domains"
56122987
DM
34335 },
34336 {
56122987 34337 "info" : {
44660702 34338 "GET" : {
2489d6df 34339 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
34340 "method" : "GET",
34341 "name" : "get_ticket",
34342 "parameters" : {
34343 "additionalProperties" : 0
34344 },
34345 "permissions" : {
34346 "user" : "world"
34347 },
34348 "returns" : {
34349 "type" : "null"
34350 }
34351 },
56122987 34352 "POST" : {
44660702 34353 "description" : "Create or verify authentication ticket.",
56122987 34354 "method" : "POST",
44660702
DM
34355 "name" : "create_ticket",
34356 "parameters" : {
34357 "additionalProperties" : 0,
56122987 34358 "properties" : {
44660702
DM
34359 "otp" : {
34360 "description" : "One-time password for Two-factor authentication.",
7aacca6f 34361 "optional" : 1,
013dc89f
DM
34362 "type" : "string",
34363 "typetext" : "<string>"
56122987 34364 },
7aacca6f
DM
34365 "password" : {
34366 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
34367 "type" : "string",
34368 "typetext" : "<string>"
7aacca6f 34369 },
44660702
DM
34370 "path" : {
34371 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 34372 "maxLength" : 64,
56122987 34373 "optional" : 1,
56122987 34374 "requires" : "privs",
013dc89f
DM
34375 "type" : "string",
34376 "typetext" : "<string>"
44660702
DM
34377 },
34378 "privs" : {
7aacca6f 34379 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
34380 "format" : "pve-priv-list",
34381 "maxLength" : 64,
56122987 34382 "optional" : 1,
44660702 34383 "requires" : "path",
013dc89f
DM
34384 "type" : "string",
34385 "typetext" : "<string>"
56122987
DM
34386 },
34387 "realm" : {
56122987 34388 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 34389 "format" : "pve-realm",
7aacca6f 34390 "maxLength" : 32,
44660702 34391 "optional" : 1,
013dc89f
DM
34392 "type" : "string",
34393 "typetext" : "<string>"
56122987
DM
34394 },
34395 "username" : {
34396 "description" : "User name",
44660702 34397 "maxLength" : 64,
013dc89f
DM
34398 "type" : "string",
34399 "typetext" : "<string>"
56122987 34400 }
44660702 34401 }
7aacca6f 34402 },
56122987 34403 "permissions" : {
44660702 34404 "description" : "You need to pass valid credientials.",
56122987
DM
34405 "user" : "world"
34406 },
44660702 34407 "protected" : 1,
7aacca6f 34408 "returns" : {
56122987 34409 "properties" : {
44660702
DM
34410 "CSRFPreventionToken" : {
34411 "optional" : 1,
34412 "type" : "string"
56122987 34413 },
44660702
DM
34414 "ticket" : {
34415 "optional" : 1,
34416 "type" : "string"
34417 },
34418 "username" : {
56122987
DM
34419 "type" : "string"
34420 }
34421 },
44660702 34422 "type" : "object"
7aacca6f 34423 }
7aacca6f
DM
34424 }
34425 },
44660702
DM
34426 "leaf" : 1,
34427 "path" : "/access/ticket",
34428 "text" : "ticket"
7aacca6f 34429 },
56122987 34430 {
56122987 34431 "info" : {
7aacca6f 34432 "PUT" : {
44660702 34433 "description" : "Change user password.",
7aacca6f 34434 "method" : "PUT",
44660702 34435 "name" : "change_passsword",
56122987
DM
34436 "parameters" : {
34437 "additionalProperties" : 0,
34438 "properties" : {
44660702
DM
34439 "password" : {
34440 "description" : "The new password.",
34441 "maxLength" : 64,
34442 "minLength" : 5,
013dc89f
DM
34443 "type" : "string",
34444 "typetext" : "<string>"
7aacca6f 34445 },
44660702
DM
34446 "userid" : {
34447 "description" : "User ID",
34448 "format" : "pve-userid",
34449 "maxLength" : 64,
013dc89f
DM
34450 "type" : "string",
34451 "typetext" : "<string>"
56122987 34452 }
7aacca6f 34453 }
56122987
DM
34454 },
34455 "permissions" : {
34456 "check" : [
44660702 34457 "or",
56122987 34458 [
44660702
DM
34459 "userid-param",
34460 "self"
34461 ],
34462 [
34463 "and",
34464 [
34465 "userid-param",
34466 "Realm.AllocateUser"
34467 ],
34468 [
34469 "userid-group",
34470 [
34471 "User.Modify"
34472 ]
34473 ]
56122987 34474 ]
7aacca6f 34475 ],
44660702 34476 "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 34477 },
44660702 34478 "protected" : 1,
7aacca6f
DM
34479 "returns" : {
34480 "type" : "null"
44660702
DM
34481 }
34482 }
34483 },
34484 "leaf" : 1,
34485 "path" : "/access/password",
34486 "text" : "password"
34487 }
34488 ],
34489 "info" : {
34490 "GET" : {
34491 "description" : "Directory index.",
34492 "method" : "GET",
34493 "name" : "index",
34494 "parameters" : {
34495 "additionalProperties" : 0
34496 },
34497 "permissions" : {
34498 "user" : "all"
34499 },
34500 "returns" : {
34501 "items" : {
34502 "properties" : {
34503 "subdir" : {
34504 "type" : "string"
34505 }
7aacca6f 34506 },
44660702
DM
34507 "type" : "object"
34508 },
34509 "links" : [
34510 {
34511 "href" : "{subdir}",
34512 "rel" : "child"
34513 }
34514 ],
34515 "type" : "array"
34516 }
34517 }
34518 },
34519 "leaf" : 0,
34520 "path" : "/access",
34521 "text" : "access"
34522 },
34523 {
34524 "children" : [
34525 {
34526 "info" : {
34527 "DELETE" : {
7aacca6f 34528 "description" : "Delete pool.",
44660702
DM
34529 "method" : "DELETE",
34530 "name" : "delete_pool",
7aacca6f
DM
34531 "parameters" : {
34532 "additionalProperties" : 0,
34533 "properties" : {
34534 "poolid" : {
34535 "format" : "pve-poolid",
013dc89f
DM
34536 "type" : "string",
34537 "typetext" : "<string>"
7aacca6f
DM
34538 }
34539 }
34540 },
56122987
DM
34541 "permissions" : {
34542 "check" : [
34543 "perm",
34544 "/pool/{poolid}",
34545 [
34546 "Pool.Allocate"
34547 ]
44660702
DM
34548 ],
34549 "description" : "You can only delete empty pools (no members)."
34550 },
34551 "protected" : 1,
34552 "returns" : {
34553 "type" : "null"
7aacca6f
DM
34554 }
34555 },
34556 "GET" : {
34557 "description" : "Get pool configuration.",
44660702 34558 "method" : "GET",
7aacca6f 34559 "name" : "read_pool",
56122987 34560 "parameters" : {
44660702 34561 "additionalProperties" : 0,
56122987
DM
34562 "properties" : {
34563 "poolid" : {
44660702 34564 "format" : "pve-poolid",
013dc89f
DM
34565 "type" : "string",
34566 "typetext" : "<string>"
56122987 34567 }
44660702 34568 }
56122987 34569 },
56122987 34570 "permissions" : {
56122987
DM
34571 "check" : [
34572 "perm",
34573 "/pool/{poolid}",
34574 [
34575 "Pool.Allocate"
34576 ]
34577 ]
34578 },
7aacca6f 34579 "returns" : {
44660702 34580 "additionalProperties" : 0,
56122987 34581 "properties" : {
44660702
DM
34582 "comment" : {
34583 "optional" : 1,
34584 "type" : "string"
34585 },
7aacca6f 34586 "members" : {
7aacca6f
DM
34587 "items" : {
34588 "additionalProperties" : 1,
7aacca6f 34589 "properties" : {
7aacca6f
DM
34590 "id" : {
34591 "type" : "string"
34592 },
34593 "node" : {
34594 "type" : "string"
34595 },
44660702
DM
34596 "storage" : {
34597 "optional" : 1,
34598 "type" : "string"
34599 },
7aacca6f 34600 "type" : {
7aacca6f
DM
34601 "enum" : [
34602 "qemu",
34603 "lxc",
34604 "openvz",
34605 "storage"
44660702
DM
34606 ],
34607 "type" : "string"
34608 },
34609 "vmid" : {
34610 "optional" : 1,
34611 "type" : "integer"
7aacca6f 34612 }
44660702
DM
34613 },
34614 "type" : "object"
34615 },
34616 "type" : "array"
34617 }
34618 },
34619 "type" : "object"
34620 }
34621 },
34622 "PUT" : {
34623 "description" : "Update pool data.",
34624 "method" : "PUT",
34625 "name" : "update_pool",
34626 "parameters" : {
34627 "additionalProperties" : 0,
34628 "properties" : {
56122987
DM
34629 "comment" : {
34630 "optional" : 1,
013dc89f
DM
34631 "type" : "string",
34632 "typetext" : "<string>"
44660702
DM
34633 },
34634 "delete" : {
34635 "description" : "Remove vms/storage (instead of adding it).",
34636 "optional" : 1,
013dc89f
DM
34637 "type" : "boolean",
34638 "typetext" : "<boolean>"
44660702
DM
34639 },
34640 "poolid" : {
34641 "format" : "pve-poolid",
013dc89f
DM
34642 "type" : "string",
34643 "typetext" : "<string>"
44660702
DM
34644 },
34645 "storage" : {
34646 "description" : "List of storage IDs.",
34647 "format" : "pve-storage-id-list",
34648 "optional" : 1,
013dc89f
DM
34649 "type" : "string",
34650 "typetext" : "<string>"
44660702
DM
34651 },
34652 "vms" : {
34653 "description" : "List of virtual machines.",
34654 "format" : "pve-vmid-list",
34655 "optional" : 1,
013dc89f
DM
34656 "type" : "string",
34657 "typetext" : "<string>"
56122987 34658 }
44660702
DM
34659 }
34660 },
34661 "permissions" : {
34662 "check" : [
34663 "perm",
34664 "/pool/{poolid}",
34665 [
34666 "Pool.Allocate"
34667 ]
34668 ],
34669 "description" : "You also need the right to modify permissions on any object you add/delete."
34670 },
34671 "protected" : 1,
34672 "returns" : {
34673 "type" : "null"
56122987
DM
34674 }
34675 }
34676 },
44660702
DM
34677 "leaf" : 1,
34678 "path" : "/pools/{poolid}",
7aacca6f 34679 "text" : "{poolid}"
56122987 34680 }
7aacca6f 34681 ],
56122987
DM
34682 "info" : {
34683 "GET" : {
44660702
DM
34684 "description" : "Pool index.",
34685 "method" : "GET",
34686 "name" : "index",
34687 "parameters" : {
34688 "additionalProperties" : 0
34689 },
34690 "permissions" : {
34691 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
34692 "user" : "all"
34693 },
56122987 34694 "returns" : {
44660702
DM
34695 "items" : {
34696 "properties" : {
34697 "poolid" : {
34698 "type" : "string"
34699 }
56122987 34700 },
44660702
DM
34701 "type" : "object"
34702 },
34703 "links" : [
34704 {
34705 "href" : "{poolid}",
34706 "rel" : "child"
34707 }
34708 ],
34709 "type" : "array"
34710 }
34711 },
34712 "POST" : {
34713 "description" : "Create new pool.",
34714 "method" : "POST",
34715 "name" : "create_pool",
34716 "parameters" : {
34717 "additionalProperties" : 0,
34718 "properties" : {
34719 "comment" : {
34720 "optional" : 1,
013dc89f
DM
34721 "type" : "string",
34722 "typetext" : "<string>"
7aacca6f 34723 },
44660702
DM
34724 "poolid" : {
34725 "format" : "pve-poolid",
013dc89f
DM
34726 "type" : "string",
34727 "typetext" : "<string>"
56122987
DM
34728 }
34729 }
34730 },
56122987 34731 "permissions" : {
44660702
DM
34732 "check" : [
34733 "perm",
34734 "/pool/{poolid}",
34735 [
34736 "Pool.Allocate"
34737 ]
34738 ]
56122987 34739 },
44660702
DM
34740 "protected" : 1,
34741 "returns" : {
34742 "type" : "null"
34743 }
34744 }
34745 },
34746 "leaf" : 0,
34747 "path" : "/pools",
34748 "text" : "pools"
34749 },
34750 {
34751 "info" : {
34752 "GET" : {
34753 "description" : "API version details. The result also includes the global datacenter confguration.",
34754 "method" : "GET",
34755 "name" : "version",
7aacca6f
DM
34756 "parameters" : {
34757 "additionalProperties" : 0
34758 },
44660702
DM
34759 "permissions" : {
34760 "user" : "all"
34761 },
34762 "returns" : {
34763 "properties" : {
34764 "release" : {
34765 "type" : "string"
34766 },
34767 "repoid" : {
34768 "type" : "string"
34769 },
34770 "version" : {
34771 "type" : "string"
34772 }
34773 },
34774 "type" : "object"
34775 }
56122987
DM
34776 }
34777 },
44660702
DM
34778 "leaf" : 1,
34779 "path" : "/version",
56122987
DM
34780 "text" : "version"
34781 }
34782]
34783;
34784